Repository: only-cliches/NoProto Branch: master Commit: 827ebb964480 Files: 475 Total size: 157.8 MB Directory structure: gitextract_swrs5c9q/ ├── .gitignore ├── .idea/ │ ├── .gitignore │ ├── NoProto.iml │ ├── modules.xml │ └── vcs.xml ├── LICENSE ├── README.md ├── bench/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── bench.fbs │ ├── bench_fb.rs │ ├── bench_pb.proto │ ├── bench_pb.rs │ ├── main.rs │ ├── run_bench_abomonation.rs │ ├── run_bench_avro.rs │ ├── run_bench_bincode.rs │ ├── run_bench_bson.rs │ ├── run_bench_flatbuffers.rs │ ├── run_bench_flexbuffers.rs │ ├── run_bench_json.rs │ ├── run_bench_messagepack.rs │ ├── run_bench_messagepack_rs.rs │ ├── run_bench_no_proto.rs │ ├── run_bench_postcard.rs │ ├── run_bench_prost.rs │ ├── run_bench_protocol_buffers.rs │ ├── run_bench_rawbson.rs │ ├── run_bench_rkyv.rs │ └── run_bench_serde_json.rs ├── examples/ │ └── quick.rs ├── idl.graphql ├── no_proto_js/ │ ├── Cargo.toml │ ├── out.txt │ └── src/ │ ├── buffer.rs │ ├── collection/ │ │ ├── list.rs │ │ ├── map.rs │ │ ├── mod.rs │ │ ├── table.rs │ │ └── tuple.rs │ ├── error.rs │ ├── format.rs │ ├── hashmap.rs │ ├── json_flex.rs │ ├── lib.rs │ ├── lib_wasm.rs │ ├── memory.rs │ ├── pointer/ │ │ ├── any.rs │ │ ├── bool.rs │ │ ├── bytes.rs │ │ ├── date.rs │ │ ├── dec.rs │ │ ├── geo.rs │ │ ├── mod.rs │ │ ├── numbers.rs │ │ ├── option.rs │ │ ├── string.rs │ │ ├── ulid.rs │ │ └── uuid.rs │ ├── rpc.rs │ ├── schema.rs │ └── utils.rs ├── no_proto_rs/ │ ├── .idea/ │ │ ├── .gitignore │ │ ├── modules.xml │ │ ├── no_proto_rs.iml │ │ └── vcs.xml │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── buffer/ │ │ └── mod.rs │ ├── collection/ │ │ ├── list.rs │ │ ├── map.rs │ │ ├── mod.rs │ │ ├── struc.rs │ │ └── tuple.rs │ ├── error.rs │ ├── format.rs │ ├── json_flex.rs │ ├── lib.rs │ ├── map.rs │ ├── memory.rs │ ├── pointer/ │ │ ├── any.rs │ │ ├── bool.rs │ │ ├── bytes.rs │ │ ├── date.rs │ │ ├── dec.rs │ │ ├── geo.rs │ │ ├── mod.rs │ │ ├── numbers.rs │ │ ├── option.rs │ │ ├── portal.rs │ │ ├── string.rs │ │ ├── ulid.rs │ │ ├── union.rs │ │ └── uuid.rs │ ├── schema/ │ │ ├── args.rs │ │ ├── ast.rs │ │ ├── mod.rs │ │ ├── parser.rs │ │ └── tests.rs │ ├── types.rs │ ├── utils.rs │ └── values/ │ └── mod.rs └── no_proto_rs_old/ ├── .idea/ │ ├── .gitignore │ ├── modules.xml │ ├── no_proto_rs.iml │ └── vcs.xml ├── CHANGELOG.md ├── Cargo.toml ├── README.md ├── src/ │ ├── buffer.rs │ ├── collection/ │ │ ├── list.rs │ │ ├── map.rs │ │ ├── mod.rs │ │ ├── struc.rs │ │ └── tuple.rs │ ├── error.rs │ ├── format.rs │ ├── hashmap.rs │ ├── idl.rs │ ├── json_flex.rs │ ├── lib.rs │ ├── memory.rs │ ├── new_idl.rs │ ├── pointer/ │ │ ├── any.rs │ │ ├── bool.rs │ │ ├── bytes.rs │ │ ├── date.rs │ │ ├── dec.rs │ │ ├── geo.rs │ │ ├── mod.rs │ │ ├── numbers.rs │ │ ├── option.rs │ │ ├── portal.rs │ │ ├── string.rs │ │ ├── ulid.rs │ │ ├── union.rs │ │ └── uuid.rs │ ├── rpc.rs │ ├── schema.rs │ └── utils.rs └── target/ ├── .rustc_info.json ├── CACHEDIR.TAG ├── debug/ │ ├── .cargo-lock │ ├── .fingerprint/ │ │ ├── no_proto-087b92dbcadb4e9e/ │ │ │ ├── dep-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ ├── lib-no_proto.json │ │ │ └── output-lib-no_proto │ │ ├── no_proto-1f12470dc8aab137/ │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ ├── lib-no_proto.json │ │ │ └── output-lib-no_proto │ │ ├── no_proto-2620c8dfffee77c5/ │ │ │ ├── invoked.timestamp │ │ │ └── output-lib-no_proto │ │ ├── no_proto-2b9c306cf5e321b2/ │ │ │ └── invoked.timestamp │ │ ├── no_proto-3cb4c0b2e234d1a3/ │ │ │ └── invoked.timestamp │ │ ├── no_proto-42633ea97bf6e77b/ │ │ │ ├── dep-test-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── output-test-lib-no_proto │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-441091bf4a4eb675/ │ │ │ ├── dep-test-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── output-test-lib-no_proto │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-45445c9cceb28ae6/ │ │ │ ├── dep-test-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── output-test-lib-no_proto │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-56746ab113abb4bf/ │ │ │ ├── invoked.timestamp │ │ │ ├── output-test-lib-no_proto │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-7ecb4680266c38b6/ │ │ │ ├── dep-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ ├── lib-no_proto.json │ │ │ └── output-lib-no_proto │ │ ├── no_proto-8d483704a5a1fdf6/ │ │ │ ├── dep-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ ├── lib-no_proto.json │ │ │ └── output-lib-no_proto │ │ ├── no_proto-aa3c6589db10b605/ │ │ │ ├── dep-test-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-ae791f23982352cd/ │ │ │ ├── invoked.timestamp │ │ │ └── output-test-lib-no_proto │ │ ├── no_proto-ba940134b4c1a3ac/ │ │ │ ├── dep-test-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── output-test-lib-no_proto │ │ │ ├── test-lib-no_proto │ │ │ └── test-lib-no_proto.json │ │ ├── no_proto-c73899fa9d5a4e2e/ │ │ │ ├── invoked.timestamp │ │ │ └── output-test-lib-no_proto │ │ ├── no_proto-d8cf3dffddd77550/ │ │ │ ├── dep-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ ├── lib-no_proto.json │ │ │ └── output-lib-no_proto │ │ └── no_proto-efe2ce7d02f8f240/ │ │ ├── dep-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── lib-no_proto │ │ └── lib-no_proto.json │ └── deps/ │ ├── libno_proto-2b9c306cf5e321b2.rmeta │ ├── libno_proto-3cb4c0b2e234d1a3.rmeta │ ├── libno_proto-aa3c6589db10b605.rmeta │ ├── libno_proto-efe2ce7d02f8f240.rmeta │ ├── no_proto-087b92dbcadb4e9e.d │ ├── no_proto-1f12470dc8aab137.d │ ├── no_proto-2620c8dfffee77c5.d │ ├── no_proto-2b9c306cf5e321b2.d │ ├── no_proto-3cb4c0b2e234d1a3.d │ ├── no_proto-42633ea97bf6e77b.d │ ├── no_proto-441091bf4a4eb675.d │ ├── no_proto-45445c9cceb28ae6.d │ ├── no_proto-56746ab113abb4bf.d │ ├── no_proto-7ecb4680266c38b6.d │ ├── no_proto-8d483704a5a1fdf6.d │ ├── no_proto-aa3c6589db10b605.d │ ├── no_proto-ae791f23982352cd.d │ ├── no_proto-ba940134b4c1a3ac.d │ ├── no_proto-c73899fa9d5a4e2e.d │ ├── no_proto-d8cf3dffddd77550.d │ └── no_proto-efe2ce7d02f8f240.d ├── package/ │ ├── no_proto-0.9.60/ │ │ ├── .cargo_vcs_info.json │ │ ├── CHANGELOG.md │ │ ├── Cargo.toml │ │ ├── Cargo.toml.orig │ │ ├── README.md │ │ ├── src/ │ │ │ ├── buffer.rs │ │ │ ├── collection/ │ │ │ │ ├── list.rs │ │ │ │ ├── map.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── struc.rs │ │ │ │ └── tuple.rs │ │ │ ├── error.rs │ │ │ ├── format.rs │ │ │ ├── hashmap.rs │ │ │ ├── idl.rs │ │ │ ├── json_flex.rs │ │ │ ├── lib.rs │ │ │ ├── memory.rs │ │ │ ├── pointer/ │ │ │ │ ├── any.rs │ │ │ │ ├── bool.rs │ │ │ │ ├── bytes.rs │ │ │ │ ├── date.rs │ │ │ │ ├── dec.rs │ │ │ │ ├── geo.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── numbers.rs │ │ │ │ ├── option.rs │ │ │ │ ├── portal.rs │ │ │ │ ├── string.rs │ │ │ │ ├── ulid.rs │ │ │ │ ├── union.rs │ │ │ │ └── uuid.rs │ │ │ ├── rpc.rs │ │ │ ├── schema.rs │ │ │ └── utils.rs │ │ └── target/ │ │ ├── .rustc_info.json │ │ ├── CACHEDIR.TAG │ │ └── debug/ │ │ ├── .cargo-lock │ │ ├── .fingerprint/ │ │ │ └── no_proto-d6c73808cf700296/ │ │ │ ├── dep-lib-no_proto │ │ │ ├── invoked.timestamp │ │ │ ├── lib-no_proto │ │ │ └── lib-no_proto.json │ │ ├── deps/ │ │ │ ├── libno_proto-d6c73808cf700296.rlib │ │ │ ├── libno_proto-d6c73808cf700296.rmeta │ │ │ └── no_proto-d6c73808cf700296.d │ │ ├── incremental/ │ │ │ └── no_proto-3qu5d9195s2fa/ │ │ │ └── s-fx3rzdmmjm-18bks5k-2wqptzkhpfymz/ │ │ │ ├── 100zvx8sqgms7yao.o │ │ │ ├── 11iag95g9k1r5eyg.o │ │ │ ├── 11tt942yw3gl6w6j.o │ │ │ ├── 11ubkt5vvp9qbq43.o │ │ │ ├── 11vzpm5hf9bu8ymh.o │ │ │ ├── 12n00tmiwnwxw4x5.o │ │ │ ├── 12pwx2d3uqq2r7o3.o │ │ │ ├── 13dgwjju0yyewxmu.o │ │ │ ├── 14ro4lhdo34go3qh.o │ │ │ ├── 14uydr737kwwqz1q.o │ │ │ ├── 15bz6fbntl54m71v.o │ │ │ ├── 15mh39nwjbcwzr96.o │ │ │ ├── 17egp2whd2dugblv.o │ │ │ ├── 18yyw1f532xcx611.o │ │ │ ├── 1a6vq3jdbzpyqqzz.o │ │ │ ├── 1bc3iz38mizgeurh.o │ │ │ ├── 1bdkg9t4p7aa49mg.o │ │ │ ├── 1cv9jk54xzbnkwwe.o │ │ │ ├── 1gr7eaghjq6kh66w.o │ │ │ ├── 1h9is57o6ueyr5yf.o │ │ │ ├── 1hr8wozsrc0odsce.o │ │ │ ├── 1kqemq46qhw91gde.o │ │ │ ├── 1mm6jxl26kv2w5w.o │ │ │ ├── 1oymp58xviu6kmdu.o │ │ │ ├── 1p4tcqfz5qu64k1n.o │ │ │ ├── 1tgdp93nk518p6lb.o │ │ │ ├── 1u5en7gmon0stbjq.o │ │ │ ├── 1uk09aus98x1fcdw.o │ │ │ ├── 1zmfcdjd6gq5f76m.o │ │ │ ├── 1zp47p9gvxkhg8rm.o │ │ │ ├── 2041j4rd2c9vdtto.o │ │ │ ├── 21x8hkxtjr93ocqa.o │ │ │ ├── 22ksb9qfaojzkllm.o │ │ │ ├── 23mytnugnofvpc1k.o │ │ │ ├── 24g6fdg97fut59vz.o │ │ │ ├── 25kqzwyxydzzmmfc.o │ │ │ ├── 26rbdnzkddcfjn80.o │ │ │ ├── 26z5s3uj6mgqu27o.o │ │ │ ├── 273mtih8297mnhl.o │ │ │ ├── 29rn58rlaxsmsdhh.o │ │ │ ├── 2d92zzp7r2f2srg5.o │ │ │ ├── 2h8memxx5w2ab8xa.o │ │ │ ├── 2hzk6pkxh20qeyvo.o │ │ │ ├── 2let3agjhes8hszq.o │ │ │ ├── 2m4tz6iais3g6j8b.o │ │ │ ├── 2nbyu8u7q9z8a7yq.o │ │ │ ├── 2o5vtcg93b721b5w.o │ │ │ ├── 2ob9m2ejmx9ta2kw.o │ │ │ ├── 2oyschmdm8g4u3bq.o │ │ │ ├── 2py65dwypimh54kd.o │ │ │ ├── 2qnpbkpws3t61kd0.o │ │ │ ├── 2rfgf26q748w8nda.o │ │ │ ├── 2x7m2uim8dwt9ryx.o │ │ │ ├── 2z4qe9ekl19e0nd6.o │ │ │ ├── 2zoqal84hc1awxga.o │ │ │ ├── 31k2qrnb96tdgzub.o │ │ │ ├── 33jdmgjoup032j7d.o │ │ │ ├── 33vm7ej7323a41w3.o │ │ │ ├── 34sbj8qjnibb5vzk.o │ │ │ ├── 35zi6bk0xq2t2a4r.o │ │ │ ├── 38p7zh4prhcgtpym.o │ │ │ ├── 39gs90pwr4ahejjs.o │ │ │ ├── 39pt1bds4zeun3zv.o │ │ │ ├── 3aw9xzy9urdgk277.o │ │ │ ├── 3ca4z7optpq48sgf.o │ │ │ ├── 3cqm8mc5s3w3jwbm.o │ │ │ ├── 3dvo9vke2xp54az4.o │ │ │ ├── 3f4h6h5a8u4psnxj.o │ │ │ ├── 3fidzw8bo2xkn9qk.o │ │ │ ├── 3funw30c4u8qcptj.o │ │ │ ├── 3gpl5n74vl16dp1l.o │ │ │ ├── 3hr6jjpend1fbnpx.o │ │ │ ├── 3j5v6eqri4apvf0y.o │ │ │ ├── 3jt1l7j0355uw8y8.o │ │ │ ├── 3oe7o7pbwk6wbcfq.o │ │ │ ├── 3ojb2ffhbpjvxt53.o │ │ │ ├── 3p7m31na2sy1q3i2.o │ │ │ ├── 3powsrsng6z9nwos.o │ │ │ ├── 3qbp8vjygwoqyuuh.o │ │ │ ├── 3skfd8w031qa9kff.o │ │ │ ├── 3tf22gdcijvxj3y4.o │ │ │ ├── 3ui1enrtka3f8psq.o │ │ │ ├── 3vfw8hbs6041fe5s.o │ │ │ ├── 3wooguttztqa99fa.o │ │ │ ├── 3x9u5md7ioqd1e07.o │ │ │ ├── 3xtms7x4n7yzohz7.o │ │ │ ├── 3y20ttprujzichlw.o │ │ │ ├── 40hh2p17ds70ezmq.o │ │ │ ├── 40nsve19lm6mu2h9.o │ │ │ ├── 43db2joh49ui8n4n.o │ │ │ ├── 45r51elk92slqab3.o │ │ │ ├── 46qflx5rbs9omtev.o │ │ │ ├── 4730d2pomhow1bi0.o │ │ │ ├── 48nf0owqn4lpindz.o │ │ │ ├── 49twenxbswx7duz3.o │ │ │ ├── 49u03kk1zzywsaaw.o │ │ │ ├── 4bgapmze4epxook3.o │ │ │ ├── 4cpa7sdc6cgp7t19.o │ │ │ ├── 4ep2v5goyyhunnwj.o │ │ │ ├── 4gglmv630h9orj05.o │ │ │ ├── 4h3hqc86r40b5z6e.o │ │ │ ├── 4i606q14g552vn2l.o │ │ │ ├── 4jclbqt2cp5gyk1i.o │ │ │ ├── 4jw1mhh26n6aug1p.o │ │ │ ├── 4jz9pkgivbifer3j.o │ │ │ ├── 4mi6ryztsb1jfj0x.o │ │ │ ├── 4mwzhnescddvwetf.o │ │ │ ├── 4mxmeblapqty0l6p.o │ │ │ ├── 4n1s6swmhxaydea4.o │ │ │ ├── 4p3iqe3zrx2b52d0.o │ │ │ ├── 4q35ka4r1s48t9pt.o │ │ │ ├── 4r4p190yu5mccdal.o │ │ │ ├── 4rfmo4m0kaajsqjm.o │ │ │ ├── 4rl82w5reifn9kgp.o │ │ │ ├── 4sdnuqssdshysvt4.o │ │ │ ├── 4subn6gdy3a0ggvs.o │ │ │ ├── 4trz4jwr83gq0uh0.o │ │ │ ├── 4vjpv8hbj9h5ja0m.o │ │ │ ├── 4x7qrrsbv2eizn8m.o │ │ │ ├── 4y3x960eu0904pon.o │ │ │ ├── 4y4otpmmjho1x33s.o │ │ │ ├── 4ytyxcz7xcz75hww.o │ │ │ ├── 4zxqm4gbs67z9dxz.o │ │ │ ├── 54hxyp93wpr3w2xh.o │ │ │ ├── 57hmggqjfsqr1v09.o │ │ │ ├── 58epi6n1rcquht6l.o │ │ │ ├── 5biabrm9k90uk13i.o │ │ │ ├── 5c530q0vz0vjt9g4.o │ │ │ ├── 5c692wk1ti7iqhe4.o │ │ │ ├── 5cb1xx7shw45lknz.o │ │ │ ├── 5cjucmbxyynp2r67.o │ │ │ ├── 5dbl5mjj8wkpsjgf.o │ │ │ ├── 5evzxbtdt4l764qw.o │ │ │ ├── 5frn0tcv0iny5pki.o │ │ │ ├── 6xxtzj7rzihpmdx.o │ │ │ ├── d4arbz7m98pdqoh.o │ │ │ ├── ddj6ocdj6r4403e.o │ │ │ ├── ecne6g4n0c28n94.o │ │ │ ├── h5cwo8s7wezxhxn.o │ │ │ ├── hgb5w3f9ivs0xca.o │ │ │ ├── i4kyy20hoy1k0d2.o │ │ │ ├── kymb80dlee7p7mg.o │ │ │ ├── ng7tjeh1zyosfsj.o │ │ │ ├── oxm053hhs2ij6im.o │ │ │ ├── peyndyzl8jkh94k.o │ │ │ ├── r6z7oj1jfl0jxqt.o │ │ │ ├── s8m0rdhqo3uso4f.o │ │ │ ├── td46wacb1m1wq8h.o │ │ │ ├── yq9ovk1sauo3ske.o │ │ │ ├── z0p1vtjbuwd9uz9.o │ │ │ └── zxwh8vegkl4qe5j.o │ │ ├── libno_proto.d │ │ └── libno_proto.rlib │ └── no_proto-0.9.60.crate └── rls/ ├── .rustc_info.json ├── CACHEDIR.TAG └── debug/ ├── .cargo-lock ├── .fingerprint/ │ ├── no_proto-087b92dbcadb4e9e/ │ │ ├── dep-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── lib-no_proto │ │ └── lib-no_proto.json │ ├── no_proto-42633ea97bf6e77b/ │ │ ├── dep-test-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── test-lib-no_proto │ │ └── test-lib-no_proto.json │ ├── no_proto-441091bf4a4eb675/ │ │ ├── dep-test-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── test-lib-no_proto │ │ └── test-lib-no_proto.json │ ├── no_proto-45445c9cceb28ae6/ │ │ ├── dep-test-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── test-lib-no_proto │ │ └── test-lib-no_proto.json │ ├── no_proto-7ecb4680266c38b6/ │ │ ├── dep-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── lib-no_proto │ │ └── lib-no_proto.json │ ├── no_proto-8d483704a5a1fdf6/ │ │ ├── dep-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── lib-no_proto │ │ └── lib-no_proto.json │ ├── no_proto-aa3c6589db10b605/ │ │ ├── dep-test-lib-no_proto │ │ ├── invoked.timestamp │ │ ├── test-lib-no_proto │ │ └── test-lib-no_proto.json │ └── no_proto-efe2ce7d02f8f240/ │ ├── dep-lib-no_proto │ ├── invoked.timestamp │ ├── lib-no_proto │ └── lib-no_proto.json └── deps/ ├── libno_proto-aa3c6589db10b605.rmeta ├── libno_proto-efe2ce7d02f8f240.rmeta ├── no_proto-087b92dbcadb4e9e.d ├── no_proto-42633ea97bf6e77b.d ├── no_proto-441091bf4a4eb675.d ├── no_proto-45445c9cceb28ae6.d ├── no_proto-7ecb4680266c38b6.d ├── no_proto-8d483704a5a1fdf6.d ├── no_proto-aa3c6589db10b605.d ├── no_proto-efe2ce7d02f8f240.d └── save-analysis/ ├── libno_proto-087b92dbcadb4e9e.json └── no_proto-441091bf4a4eb675.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ no_proto_rs/target **/*.rs.bk no_proto_rs/Cargo.lock test.json bench/target/**/* no_proto_js/target/**/* target/**/* ================================================ FILE: .idea/.gitignore ================================================ # Default ignored files /shelf/ /workspace.xml # Datasource local storage ignored files /dataSources/ /dataSources.local.xml # Editor-based HTTP Client requests /httpRequests/ ================================================ FILE: .idea/NoProto.iml ================================================ ================================================ FILE: .idea/modules.xml ================================================ ================================================ FILE: .idea/vcs.xml ================================================ ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2020 Scott Lott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ ## NoProto: Flexible, Fast & Compact Serialization with RPC [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) ### Features **Lightweight**
- Zero dependencies - `no_std` support, WASM ready - Most compact non compiling storage format **Stable**
- Safely accept untrusted buffers - Passes Miri compiler safety checks - Panic and unwrap free **Easy**
- Extensive Documentation & Testing - Full interop with JSON, Import and Export JSON values - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format **Fast**
- Zero copy deserialization - Most updates are append only - Deserialization is incrimental **Powerful**
- Native byte-wise sorting - Supports recursive data types - Supports most common native data types - Supports collections (list, map, struct & tuple) - Supports arbitrary nesting of collection types - Schemas support default values and non destructive updates - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). ### Why ANOTHER Serialization Format? 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats: **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema. **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. NoProto takes the performance advantages of compiled formats and implements them in a flexible format. 2. NoProto is a **key-value database focused format**: **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types. **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) ### Comparison With Other Formats
Compared to Apache Avro - Far more space efficient
- Significantly faster serialization & deserialization
- All values are optional (no void or null type)
- Supports more native types (like unsigned ints)
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Protocol Buffers - Comparable serialization & deserialization performance
- Updating buffers is an order of magnitude faster
- Schemas are dynamic at runtime, no compilation step
- All values are optional
- Supports more types and better nested type support
- Byte-wise sorting is first class operation
- Updates without deserializng/serializing
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.

Compared to JSON / BSON - Far more space efficient
- Significantly faster serialization & deserialization
- Deserializtion is zero copy
- Has schemas / type safe
- Supports byte-wise sorting
- Supports raw bytes & other native types
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Flatbuffers / Bincode - Data types can change or be created at runtime
- Updating buffers is an order of magnitude faster
- Supports byte-wise sorting
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.


| Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | |------------------|-----------|------------|---------|----------|-------------------| | **Runtime Libs** | | | | | | | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | | **Compiled Libs**| | | | | | | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | | Bincode | ✓ | ? | ✓ | ✓ | ✗ | | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | | Veriform | ✗ | ? | ✗ | ✗ | ✗ | # Quick Example ```rust use no_proto::error::NP_Error; use no_proto::NP_Factory; // An ES6 like IDL is used to describe schema for the factory // Each factory represents a single schema // One factory can be used to serialize/deserialize any number of buffers let user_factory = NP_Factory::new(r#" struct({ fields: { name: string(), age: u16({ default: 0 }), tags: list({ of: string() }) }}) "#)?; // create a new empty buffer let mut user_buffer = user_factory.new_buffer(None); // optional capacity // set the "name" field user_buffer.set(&["name"], "Billy Joel")?; // read the "name" field let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // set a nested value, the first tag in the tag list user_buffer.set(&["tags", "0"], "first tag")?; // read the first tag from the tag list let tag = user_buffer.get::<&str>(&["tags", "0"])?; assert_eq!(tag, Some("first tag")); // close buffer and get internal bytes let user_bytes: Vec = user_buffer.finish().bytes(); // open the buffer again let user_buffer = user_factory.open_buffer(user_bytes); // read the "name" field again let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // get the age field let age = user_buffer.get::(&["age"])?; // returns default value from schema assert_eq!(age, Some(0u16)); // close again let user_bytes: Vec = user_buffer.finish().bytes(); // we can now save user_bytes to disk, // send it over the network, or whatever else is needed with the data # Ok::<(), NP_Error>(()) ``` ## Guided Learning / Next Steps: 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. ## Benchmarks While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. **Legend**: Ops / Millisecond, higher is better | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| | **Runtime Libs** | | | | | | | | *NoProto* | | | | | | | | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | | Apache Avro | | | | | | | | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | | FlexBuffers | | | | | | | | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | | JSON | | | | | | | | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | | BSON | | | | | | | | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | | MessagePack | | | | | | | | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | | **Compiled Libs** | | | | | | | | Flatbuffers | | | | | | | | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | | Bincode | | | | | | | | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | | Postcard | | | | | | | | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | | Protocol Buffers | | | | | | | | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | | Abomonation | | | | | | | | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | | Rkyv | | | | | | | | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. - **Decode All**: Deserialize the test object from the `Vec` into all fields. - **Decode 1**: Deserialize the test object from the `Vec` into one field. - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. ## NoProto Strengths If your use case fits any of the points below, NoProto might be a good choice for your application. 1. Flexible At Runtime
If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). 2. Safely Accept Untrusted Data
The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. 3. Extremely Fast Updates
If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. 4. All Fields Optional, Insert/Update In Any Order
Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. 5. Incremental Deserializing
You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. 6. Bytewise Sorting
Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. 7. `no_std` Support
If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. 8. Stable
NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. 9. CPU Independent
All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. ### When to use Flatbuffers / Bincode / CapN Proto If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. ### When to use JSON / BSON / MessagePack If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. ## Limitations - Structs and Tuples cannot have more than 255 items. - Lists and Maps cannot have more than 2^16 (~64k) items. - You cannot nest more than 255 levels deep. - Struct field names cannot be longer than 255 UTF8 bytes. - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. - Map keys cannot be larger than 255 UTF8 bytes. - Buffers cannot be larger than 2^32 bytes or ~4GB. ## Unsafe This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. ---------------------- MIT License Copyright (c) 2021 Scott Lott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bench/Cargo.toml ================================================ [package] name = "bench" version = "0.1.0" authors = ["scottlott"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] abomonation = "0.7.3" abomonation_derive = "0.5.0" avro-rs = "0.12.0" bincode = "1.3.1" bson = "1.1.0" bytes = "1.0.0" flatbuffers = "0.7.0" flate2 = "1.0.19" flexbuffers = "0.2.1" json = "0.12.4" messagepack-rs = "0.8.0" no_proto = { path = "../no_proto_rs" } postcard = { version = "0.5.2", features = ["use-std"] } prost = "0.7.0" protobuf = "2.18.1" rand = "0.7.3" rawbson = "0.2.0" rkyv = "0.3.0" rmp = "0.8.9" rmp-serde = "0.15.1" rmpv = "0.4.6" serde = "1.0.118" serde_json = "1.0.61" [target.x86_64-apple-darwin] rustflags = ["-Ctarget-cpu=native"] ================================================ FILE: bench/README.md ================================================ # NoProto Benchmarks The benchmarks in this folder are used to record performance progress and provide entirely subjective comparisons to other similar projects. All libraries are working with an object that contains the same data and fields. Data types are matched as much as possible. ### Size Benchmark The example object is encoded once, and it's size in bytes is recorded as well as it's size in bytes with zlib compression. ### Encode Benchmark The example object is encoded/serialized into the format supported by the various libraries. Specifically, the benchmark measures how long it takes to get an owned `Vec` out of the library. ### Decode All Benchmark A single object is encoded, then the library decodes that object into it's parts 1,000,000 times. Copying of the original buffer is only perfomed if it's needed by the library to complete decoding. This measures how long it takes to go from a `Vec` to a shared immutable reference to all properties/values in the object. ### Decode One Benchmark A single object is encoded, then the library decodes a single property of that object 1,000,000 times. Copying of the original buffer is only perfomed if it's needed by the library to complete decoding. This measures how long it takes to go from a `Vec` to a shared immutable reference of a single value in the object. ### Update One Benchmark A single object is encoded, then the library should decode, update one property on the object then re encode the object 1,000,000 times. The benchmark measures how long it takes to get from a deserialized buffer into another deserialized buffer with a single update performed in the new buffer. Benchmarks can be ran with `cargo run --release`. ## Benchmark Rules It's challenging to provide a level playing field for every library and implementation. As much as possible, the following guidelines are followed with building the benchmarks: 1. **Allocation is avoided wherever possible.** With serialization and deserialization the cost of allocation is usually the most expensive part of encoding or decoding a message. If a library provides an API that avoids allocation, that one is used where possible. 2. **Dynamic Array types must be used**. Some libraries can avoid allocation by using a fixed size array in the benchmark, isntead of a dynamic one. Since almost every library/format supports lists that can change in size, this optimization is not allowed even if it's possible. The spirit of the benchmark is to test how quickly a dynamically sized array of items can be encoded/decoded, not a fixed size array (even though a fixed size is used). # Benchmarks Histry ## Feb 8, 2021 ### 0.9.4 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 308b, zlib: 198b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Postcard: size: 128b, zlib: 119b Protobuf: size: 154b, zlib: 141b MessagePack: size: 311b, zlib: 193b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 337b Flexbuffers: size: 490b, zlib: 309b Abomonation: size: 261b, zlib: 160b Rkyv: size: 180b, zlib: 154b Raw BSON: size: 414b, zlib: 216b MessagePack: size: 296b, zlib: 187b Serde JSON: size: 446b, zlib: 198b ======== ENCODE BENCHMARK ======== NoProto: 1393 ops/ms 1.00 Flatbuffers: 3165 ops/ms 2.27 Bincode: 6757 ops/ms 4.84 Postcard: 3067 ops/ms 2.20 Protobuf: 953 ops/ms 0.68 MessagePack: 661 ops/ms 0.47 JSON: 609 ops/ms 0.44 BSON: 129 ops/ms 0.09 Prost: 1464 ops/ms 1.05 Avro: 156 ops/ms 0.11 Flexbuffers: 444 ops/ms 0.32 Abomonation: 2342 ops/ms 1.68 Rkyv: 1605 ops/ms 1.15 Raw BSON: 130 ops/ms 0.09 MessagePack: 152 ops/ms 0.11 Serde JSON: 938 ops/ms 0.67 ======== DECODE BENCHMARK ======== NoProto: 1883 ops/ms 1.00 Flatbuffers: 16393 ops/ms 8.57 Bincode: 9259 ops/ms 4.90 Postcard: 7519 ops/ms 3.99 Protobuf: 1305 ops/ms 0.69 MessagePack: 623 ops/ms 0.33 JSON: 481 ops/ms 0.26 BSON: 116 ops/ms 0.06 Prost: 2020 ops/ms 1.07 Avro: 57 ops/ms 0.03 Flexbuffers: 962 ops/ms 0.51 Abomonation: 125000 ops/ms 61.66 Rkyv: 37037 ops/ms 19.16 Raw BSON: 1117 ops/ms 0.59 MessagePack: 266 ops/ms 0.14 Serde JSON: 646 ops/ms 0.34 ====== DECODE ONE BENCHMARK ====== NoProto: 55556 ops/ms 1.00 Flatbuffers: 250000 ops/ms 3.88 Bincode: 10000 ops/ms 0.18 Postcard: 7937 ops/ms 0.14 Protobuf: 1312 ops/ms 0.02 MessagePack: 832 ops/ms 0.02 JSON: 607 ops/ms 0.01 BSON: 123 ops/ms 0.00 Prost: 2232 ops/ms 0.04 Avro: 56 ops/ms 0.00 Flexbuffers: 24390 ops/ms 0.44 Abomonation: 500000 ops/ms 7.54 Rkyv: 200000 ops/ms 3.36 Raw BSON: 17857 ops/ms 0.32 MessagePack: 284 ops/ms 0.01 Serde JSON: 644 ops/ms 0.01 ====== UPDATE ONE BENCHMARK ====== NoProto: 9524 ops/ms 1.00 Flatbuffers: 2532 ops/ms 0.27 Bincode: 4115 ops/ms 0.43 Postcard: 2469 ops/ms 0.26 Protobuf: 529 ops/ms 0.06 MessagePack: 202 ops/ms 0.02 JSON: 439 ops/ms 0.05 BSON: 90 ops/ms 0.01 Prost: 1040 ops/ms 0.11 Avro: 40 ops/ms 0.00 Flexbuffers: 294 ops/ms 0.03 Abomonation: 2183 ops/ms 0.23 Rkyv: 1531 ops/ms 0.16 Raw BSON: 89 ops/ms 0.01 MessagePack: 138 ops/ms 0.01 Serde JSON: 403 ops/ms 0.04 ``` ## Feb 7, 2021 ### 0.9.3 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 209b, zlib: 167b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Postcard: size: 128b, zlib: 119b Protobuf: size: 154b, zlib: 141b MessagePack: size: 311b, zlib: 193b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 339b Flexbuffers: size: 490b, zlib: 309b Abomonation: size: 261b, zlib: 163b Rkyv: size: 180b, zlib: 152b Raw BSON: size: 414b, zlib: 216b MessagePack: size: 296b, zlib: 187b Serde JSON: size: 446b, zlib: 198b ======== ENCODE BENCHMARK ======== NoProto: 1258 ops/ms 1.00 Flatbuffers: 3086 ops/ms 2.45 Bincode: 6849 ops/ms 5.44 Postcard: 2841 ops/ms 2.26 Protobuf: 956 ops/ms 0.76 MessagePack: 661 ops/ms 0.53 JSON: 616 ops/ms 0.49 BSON: 129 ops/ms 0.10 Prost: 1570 ops/ms 1.25 Avro: 155 ops/ms 0.12 Flexbuffers: 455 ops/ms 0.36 Abomonation: 2347 ops/ms 1.86 Rkyv: 1684 ops/ms 1.34 Raw BSON: 129 ops/ms 0.10 MessagePack: 149 ops/ms 0.12 Serde JSON: 929 ops/ms 0.74 ======== DECODE BENCHMARK ======== NoProto: 1901 ops/ms 1.00 Flatbuffers: 16393 ops/ms 8.54 Bincode: 9524 ops/ms 4.98 Postcard: 7634 ops/ms 4.00 Protobuf: 1269 ops/ms 0.67 MessagePack: 657 ops/ms 0.35 JSON: 497 ops/ms 0.26 BSON: 116 ops/ms 0.06 Prost: 2096 ops/ms 1.10 Avro: 56 ops/ms 0.03 Flexbuffers: 955 ops/ms 0.50 Abomonation: 125000 ops/ms 61.13 Rkyv: 37037 ops/ms 19.34 Raw BSON: 1134 ops/ms 0.60 MessagePack: 263 ops/ms 0.14 Serde JSON: 640 ops/ms 0.34 ====== DECODE ONE BENCHMARK ====== NoProto: 55556 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.03 Bincode: 10204 ops/ms 0.19 Postcard: 7937 ops/ms 0.15 Protobuf: 1252 ops/ms 0.02 MessagePack: 879 ops/ms 0.02 JSON: 619 ops/ms 0.01 BSON: 124 ops/ms 0.00 Prost: 2151 ops/ms 0.04 Avro: 57 ops/ms 0.00 Flexbuffers: 24390 ops/ms 0.45 Abomonation: 500000 ops/ms 7.56 Rkyv: 200000 ops/ms 3.31 Raw BSON: 17857 ops/ms 0.33 MessagePack: 283 ops/ms 0.01 Serde JSON: 650 ops/ms 0.01 ====== UPDATE ONE BENCHMARK ====== NoProto: 12821 ops/ms 1.00 Flatbuffers: 2551 ops/ms 0.20 Bincode: 4310 ops/ms 0.34 Postcard: 2273 ops/ms 0.18 Protobuf: 533 ops/ms 0.04 MessagePack: 213 ops/ms 0.02 JSON: 456 ops/ms 0.04 BSON: 90 ops/ms 0.01 Prost: 1079 ops/ms 0.08 Avro: 41 ops/ms 0.00 Flexbuffers: 297 ops/ms 0.02 Abomonation: 2041 ops/ms 0.16 Rkyv: 1560 ops/ms 0.12 Raw BSON: 90 ops/ms 0.01 MessagePack: 135 ops/ms 0.01 Serde JSON: 405 ops/ms 0.03 ``` ## Jan 13, 2021 ### 0.9.1 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 209b, zlib: 167b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Protobuf: size: 154b, zlib: 141b MessagePack: size: 311b, zlib: 193b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 336b Flexbuffers: size: 490b, zlib: 309b Abomonation: size: 261b, zlib: 159b Rkyv: size: 180b, zlib: 151b Raw BSON: size: 414b, zlib: 216b MessagePack: size: 296b, zlib: 187b Serde JSON: size: 446b, zlib: 198b ======== ENCODE BENCHMARK ======== NoProto: 998 ops/ms 1.00 Flatbuffers: 3205 ops/ms 3.21 Bincode: 6135 ops/ms 6.15 Protobuf: 1011 ops/ms 1.01 MessagePack: 681 ops/ms 0.68 JSON: 622 ops/ms 0.62 BSON: 130 ops/ms 0.13 Prost: 1548 ops/ms 1.55 Avro: 158 ops/ms 0.16 Flexbuffers: 447 ops/ms 0.45 Abomonation: 2710 ops/ms 2.71 Rkyv: 1658 ops/ms 1.66 Raw BSON: 128 ops/ms 0.13 MessagePack: 151 ops/ms 0.15 Serde JSON: 948 ops/ms 0.95 ======== DECODE BENCHMARK ======== NoProto: 1645 ops/ms 1.00 Flatbuffers: 16393 ops/ms 9.95 Bincode: 9804 ops/ms 5.93 Protobuf: 1294 ops/ms 0.79 MessagePack: 627 ops/ms 0.38 JSON: 491 ops/ms 0.30 BSON: 115 ops/ms 0.07 Prost: 2075 ops/ms 1.26 Avro: 57 ops/ms 0.03 Flexbuffers: 950 ops/ms 0.58 Abomonation: 125000 ops/ms 71.37 Rkyv: 37037 ops/ms 22.23 Raw BSON: 1130 ops/ms 0.69 MessagePack: 246 ops/ms 0.15 Serde JSON: 650 ops/ms 0.39 ====== DECODE ONE BENCHMARK ====== NoProto: 45455 ops/ms 1.00 Flatbuffers: 200000 ops/ms 3.97 Bincode: 10417 ops/ms 0.23 Protobuf: 1266 ops/ms 0.03 MessagePack: 833 ops/ms 0.02 JSON: 606 ops/ms 0.01 BSON: 122 ops/ms 0.00 Prost: 2151 ops/ms 0.05 Avro: 56 ops/ms 0.00 Flexbuffers: 25000 ops/ms 0.54 Abomonation: 500000 ops/ms 9.05 Rkyv: 200000 ops/ms 4.06 Raw BSON: 17544 ops/ms 0.39 MessagePack: 263 ops/ms 0.01 Serde JSON: 648 ops/ms 0.01 ====== UPDATE ONE BENCHMARK ====== NoProto: 11905 ops/ms 1.00 Flatbuffers: 2500 ops/ms 0.21 Bincode: 4329 ops/ms 0.36 Protobuf: 539 ops/ms 0.05 MessagePack: 209 ops/ms 0.02 JSON: 441 ops/ms 0.04 BSON: 90 ops/ms 0.01 Prost: 1072 ops/ms 0.09 Avro: 41 ops/ms 0.00 Flexbuffers: 294 ops/ms 0.02 Abomonation: 2288 ops/ms 0.19 Rkyv: 1672 ops/ms 0.14 Raw BSON: 90 ops/ms 0.01 MessagePack: 130 ops/ms 0.01 Serde JSON: 407 ops/ms 0.03 ``` ## Jan 12, 2021 ### 0.9.1 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 209b, zlib: 167b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Protobuf: size: 154b, zlib: 141b MessagePack: size: 296b, zlib: 187b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 337b Flexbuffers: size: 490b, zlib: 309b Raw BSON: size: 414b, zlib: 216b ======== ENCODE BENCHMARK ======== NoProto: 1032 ops/ms 1.00 Flatbuffers: 3195 ops/ms 3.09 Bincode: 6135 ops/ms 5.94 Protobuf: 981 ops/ms 0.95 MessagePack: 156 ops/ms 0.15 JSON: 618 ops/ms 0.60 BSON: 131 ops/ms 0.13 Prost: 1567 ops/ms 1.52 Avro: 158 ops/ms 0.15 Flexbuffers: 447 ops/ms 0.43 Raw BSON: 130 ops/ms 0.13 ======== DECODE BENCHMARK ======== NoProto: 1608 ops/ms 1.00 Flatbuffers: 16393 ops/ms 10.15 Bincode: 9804 ops/ms 6.07 Protobuf: 1245 ops/ms 0.77 MessagePack: 253 ops/ms 0.16 JSON: 489 ops/ms 0.30 BSON: 117 ops/ms 0.07 Prost: 2105 ops/ms 1.31 Avro: 58 ops/ms 0.04 Flexbuffers: 943 ops/ms 0.59 Raw BSON: 441 ops/ms 0.27 ====== DECODE ONE BENCHMARK ====== NoProto: 47619 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.58 Bincode: 10204 ops/ms 0.22 Protobuf: 1264 ops/ms 0.03 MessagePack: 264 ops/ms 0.01 JSON: 587 ops/ms 0.01 BSON: 125 ops/ms 0.00 Prost: 2304 ops/ms 0.05 Avro: 57 ops/ms 0.00 Flexbuffers: 25000 ops/ms 0.54 Raw BSON: 18519 ops/ms 0.41 ====== UPDATE ONE BENCHMARK ====== NoProto: 11628 ops/ms 1.00 Flatbuffers: 2506 ops/ms 0.22 Bincode: 4525 ops/ms 0.39 Protobuf: 546 ops/ms 0.05 MessagePack: 134 ops/ms 0.01 JSON: 433 ops/ms 0.04 BSON: 91 ops/ms 0.01 Prost: 1064 ops/ms 0.09 Avro: 40 ops/ms 0.00 Flexbuffers: 294 ops/ms 0.03 Raw BSON: 90 ops/ms 0.01 ``` ## Jan 10, 2021 ### v0.9.0 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 209b, zlib: 167b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Protobuf: size: 154b, zlib: 141b MessagePack: size: 296b, zlib: 187b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 337b Flexbuffers: size: 490b, zlib: 309b ======== ENCODE BENCHMARK ======== NoProto: 920 ops/ms 1.00 Flatbuffers: 1062 ops/ms 1.15 Bincode: 5882 ops/ms 6.37 Protobuf: 876 ops/ms 0.95 MessagePack: 136 ops/ms 0.15 JSON: 546 ops/ms 0.59 BSON: 115 ops/ms 0.13 Prost: 1361 ops/ms 1.48 Avro: 140 ops/ms 0.15 Flexbuffers: 399 ops/ms 0.43 ======== DECODE BENCHMARK ======== NoProto: 1397 ops/ms 1.00 Flatbuffers: 14925 ops/ms 10.68 Bincode: 8621 ops/ms 6.17 Protobuf: 1140 ops/ms 0.82 MessagePack: 223 ops/ms 0.16 JSON: 436 ops/ms 0.31 BSON: 103 ops/ms 0.07 Prost: 1855 ops/ms 1.33 Avro: 51 ops/ms 0.04 Flexbuffers: 843 ops/ms 0.60 ====== DECODE ONE BENCHMARK ====== NoProto: 41667 ops/ms 1.00 Flatbuffers: 250000 ops/ms 5.01 Bincode: 9174 ops/ms 0.23 Protobuf: 1155 ops/ms 0.03 MessagePack: 236 ops/ms 0.01 JSON: 533 ops/ms 0.01 BSON: 109 ops/ms 0.00 Prost: 1942 ops/ms 0.05 Avro: 51 ops/ms 0.00 Flexbuffers: 22727 ops/ms 0.56 ====== UPDATE ONE BENCHMARK ====== NoProto: 10526 ops/ms 1.00 Flatbuffers: 1057 ops/ms 0.10 Bincode: 4000 ops/ms 0.38 Protobuf: 474 ops/ms 0.05 MessagePack: 121 ops/ms 0.01 JSON: 400 ops/ms 0.04 BSON: 80 ops/ms 0.01 Prost: 966 ops/ms 0.09 Avro: 37 ops/ms 0.00 Flexbuffers: 265 ops/ms 0.03 ``` ## Jan 4, 2021 ### v0.7.4 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 208b, zlib: 166b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Protobuf: size: 154b, zlib: 141b MessagePack: size: 296b, zlib: 187b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b Avro: size: 702b, zlib: 336b Flexbuffers: size: 490b, zlib: 309b ======== ENCODE BENCHMARK ======== NoProto: 1057 ops/ms 1.00 Flatbuffers: 1046 ops/ms 0.99 Bincode: 5882 ops/ms 5.55 Protobuf: 859 ops/ms 0.81 MessagePack: 135 ops/ms 0.13 JSON: 550 ops/ms 0.52 BSON: 115 ops/ms 0.11 Prost: 1225 ops/ms 1.16 Avro: 138 ops/ms 0.13 Flexbuffers: 401 ops/ms 0.38 ======== DECODE BENCHMARK ======== NoProto: 1437 ops/ms 1.00 Flatbuffers: 14706 ops/ms 10.21 Bincode: 8772 ops/ms 6.08 Protobuf: 1140 ops/ms 0.79 MessagePack: 222 ops/ms 0.15 JSON: 438 ops/ms 0.31 BSON: 103 ops/ms 0.07 Prost: 1866 ops/ms 1.30 Avro: 51 ops/ms 0.04 Flexbuffers: 855 ops/ms 0.60 ====== DECODE ONE BENCHMARK ====== NoProto: 47619 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.55 Bincode: 9524 ops/ms 0.21 Protobuf: 1163 ops/ms 0.03 MessagePack: 237 ops/ms 0.01 JSON: 544 ops/ms 0.01 BSON: 109 ops/ms 0.00 Prost: 1984 ops/ms 0.04 Avro: 52 ops/ms 0.00 Flexbuffers: 23256 ops/ms 0.50 ====== UPDATE ONE BENCHMARK ====== NoProto: 12195 ops/ms 1.00 Flatbuffers: 1065 ops/ms 0.09 Bincode: 4016 ops/ms 0.33 Protobuf: 480 ops/ms 0.04 MessagePack: 119 ops/ms 0.01 JSON: 396 ops/ms 0.03 BSON: 80 ops/ms 0.01 Prost: 962 ops/ms 0.08 Avro: 37 ops/ms 0.00 Flexbuffers: 264 ops/ms 0.02 ``` ## Dec 27, 2020 ### v0.7.1 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 208b, zlib: 166b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b Protobuf: size: 154b, zlib: 141b MessagePack: size: 296b, zlib: 187b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b Prost: size: 154b, zlib: 142b ======== ENCODE BENCHMARK ======== NoProto: 1170 ops/ms 1.00 Flatbuffers: 1188 ops/ms 1.02 Bincode: 6250 ops/ms 5.33 Protobuf: 986 ops/ms 0.84 MessagePack: 155 ops/ms 0.13 JSON: 607 ops/ms 0.52 BSON: 129 ops/ms 0.11 Prost: 1558 ops/ms 1.33 ======== DECODE BENCHMARK ======== NoProto: 1634 ops/ms 1.00 Flatbuffers: 15873 ops/ms 9.59 Bincode: 9804 ops/ms 5.98 Protobuf: 1274 ops/ms 0.78 MessagePack: 262 ops/ms 0.16 JSON: 476 ops/ms 0.29 BSON: 120 ops/ms 0.07 Prost: 2049 ops/ms 1.25 ====== DECODE ONE BENCHMARK ====== NoProto: 50000 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.27 Bincode: 10526 ops/ms 0.21 Protobuf: 1245 ops/ms 0.03 MessagePack: 281 ops/ms 0.01 JSON: 599 ops/ms 0.01 BSON: 130 ops/ms 0.00 Prost: 2193 ops/ms 0.05 ====== UPDATE ONE BENCHMARK ====== NoProto: 13333 ops/ms 1.00 Flatbuffers: 1208 ops/ms 0.09 Bincode: 4484 ops/ms 0.34 Protobuf: 531 ops/ms 0.04 MessagePack: 138 ops/ms 0.01 JSON: 444 ops/ms 0.03 BSON: 95 ops/ms 0.01 Prost: 1089 ops/ms 0.08 ``` ## Dec 25, 2020 ### v0.7.1 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 209b, zlib: 167b Flatbuffers: size: 264b, zlib: 181b Bincode: size: 163b, zlib: 129b ProtoBuf: size: 154b, zlib: 141b MessagePack: size: 296b, zlib: 187b JSON: size: 439b, zlib: 184b BSON: size: 414b, zlib: 216b ======== ENCODE BENCHMARK ======== NoProto: 1209 ops/ms 1.00 Flatbuffers: 1189 ops/ms 0.98 Bincode: 6250 ops/ms 5.15 ProtoBuf: 958 ops/ms 0.79 MessagePack: 154 ops/ms 0.13 JSON: 606 ops/ms 0.50 BSON: 127 ops/ms 0.10 ======== DECODE BENCHMARK ======== NoProto: 1653 ops/ms 1.00 Flatbuffers: 15625 ops/ms 9.38 Bincode: 9434 ops/ms 5.68 ProtoBuf: 1263 ops/ms 0.76 MessagePack: 242 ops/ms 0.15 JSON: 471 ops/ms 0.29 BSON: 122 ops/ms 0.07 ====== DECODE ONE BENCHMARK ====== NoProto: 50000 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.15 Bincode: 10309 ops/ms 0.21 ProtoBuf: 1285 ops/ms 0.03 MessagePack: 271 ops/ms 0.01 JSON: 605 ops/ms 0.01 BSON: 132 ops/ms 0.00 ====== UPDATE ONE BENCHMARK ====== NoProto: 14085 ops/ms 1.00 Flatbuffers: 1200 ops/ms 0.09 Bincode: 4367 ops/ms 0.31 ProtoBuf: 556 ops/ms 0.04 MessagePack: 136 ops/ms 0.01 JSON: 445 ops/ms 0.03 BSON: 96 ops/ms 0.01 ``` ## Dec 21, 2020 ### v0.7.1 M1 Macbook Air with 8GB RAM (Native) ``` ========= SIZE BENCHMARK ========= NoProto: size: 284b, zlib: 229b Flatbuffers: size: 336b, zlib: 214b ProtoBuf: size: 220b, zlib: 163b MessagePack: size: 431b, zlib: 245b JSON: size: 673b, zlib: 246b BSON: size: 600b, zlib: 279b ======== ENCODE BENCHMARK ======== NoProto: 822 ops/ms 1.00 Flatbuffers: 1209 ops/ms 1.47 ProtoBuf: 723 ops/ms 0.88 MessagePack: 99 ops/ms 0.12 JSON: 436 ops/ms 0.53 BSON: 82 ops/ms 0.10 ======== DECODE BENCHMARK ======== NoProto: 1105 ops/ms 1.00 Flatbuffers: 14925 ops/ms 13.45 ProtoBuf: 881 ops/ms 0.80 MessagePack: 163 ops/ms 0.15 JSON: 299 ops/ms 0.27 BSON: 78 ops/ms 0.07 ====== DECODE ONE BENCHMARK ====== NoProto: 52632 ops/ms 1.00 Flatbuffers: 250000 ops/ms 4.17 ProtoBuf: 902 ops/ms 0.02 MessagePack: 171 ops/ms 0.00 JSON: 374 ops/ms 0.01 BSON: 83 ops/ms 0.00 ====== UPDATE ONE BENCHMARK ====== NoProto: 10638 ops/ms 1.00 Flatbuffers: 1176 ops/ms 0.11 ProtoBuf: 384 ops/ms 0.04 MessagePack: 91 ops/ms 0.01 JSON: 287 ops/ms 0.03 BSON: 62 ops/ms 0.01 ``` ## Dec 20, 2020 ### v0.7.0 3.4Ghz i5 2017 21.5" iMac with 32 GB RAM ``` ========= SIZE BENCHMARK ========= NoProto: size: 284b, zlib: 229b ProtoBuf: size: 220b, zlib: 163b MessagePack: size: 431b, zlib: 245b JSON: size: 673b, zlib: 246b BSON: size: 600b, zlib: 279b ======== ENCODE BENCHMARK ======== NoProto: 312 ops/ms 1.00 ProtoBuf: 270 ops/ms 0.87 MessagePack: 38 ops/ms 0.12 JSON: 167 ops/ms 0.54 BSON: 28 ops/ms 0.09 ======== DECODE BENCHMARK ======== NoProto: 469 ops/ms 1.00 ProtoBuf: 390 ops/ms 0.83 MessagePack: 70 ops/ms 0.15 JSON: 134 ops/ms 0.28 BSON: 34 ops/ms 0.07 ====== DECODE ONE BENCHMARK ====== NoProto: 27027 ops/ms 1.00 ProtoBuf: 400 ops/ms 0.02 MessagePack: 80 ops/ms 0.00 JSON: 167 ops/ms 0.01 BSON: 35 ops/ms 0.00 ====== UPDATE ONE BENCHMARK ====== NoProto: 3953 ops/ms 1.00 ProtoBuf: 167 ops/ms 0.04 MessagePack: 35 ops/ms 0.01 JSON: 127 ops/ms 0.03 BSON: 26 ops/ms 0.01 ``` ## Dec 15, 2020 ### v0.6.1 3.4Ghz i5 2017 21.5" iMac with 32 GB RAM ``` ========= SIZE BENCHMARK ========= NoProto: size: 284b, zlib: 229b ProtoBuf: size: 220b, zlib: 163b MessagePack: size: 431b, zlib: 245b JSON: size: 673b, zlib: 246b BSON: size: 600b, zlib: 279b ======== ENCODE BENCHMARK ======== NoProto: 272 ops/ms 1.00 ProtoBuf: 266 ops/ms 0.98 MessagePack: 33 ops/ms 0.12 JSON: 186 ops/ms 0.68 BSON: 28 ops/ms 0.10 ======== DECODE BENCHMARK ======== NoProto: 375 ops/ms 1.00 ProtoBuf: 365 ops/ms 0.97 MessagePack: 63 ops/ms 0.17 JSON: 127 ops/ms 0.29 BSON: 28 ops/ms 0.07 ====== DECODE ONE BENCHMARK ====== NoProto: 5051 ops/ms 1.00 ProtoBuf: 366 ops/ms 0.07 MessagePack: 68 ops/ms 0.01 JSON: 153 ops/ms 0.03 BSON: 30 ops/ms 0.01 ====== UPDATE ONE BENCHMARK ====== NoProto: 4098 ops/ms 1.00 ProtoBuf: 160 ops/ms 0.04 MessagePack: 31 ops/ms 0.01 JSON: 115 ops/ms 0.03 BSON: 22 ops/ms 0.01 ``` ## Dec 13, 2020 ### v0.6.0 3.4Ghz i5 2017 21.5" iMac with 32 GB RAM ``` ====== SIZE BENCHMARK ====== NoProto: size: 283b, zlib: 226b 1x Flatbuffers: size: 336b, zlib: 214b 1.2x ProtoBuf: size: 220b, zlib: 163b 0.8x MessagePack: size: 431b, zlib: 245b 1.5x JSON: size: 673b, zlib: 246b 2.4x BSON: size: 600b, zlib: 279b 2.1x ====== ENCODE BENCHMARK ====== NoProto: 3.536623s (283 ops/ms) Flatbuffers: 1.942583s (514 ops/ms) ProtoBuf: 3.551301s (281 ops/ms) MessagePack: 28.050727s (35 ops/ms) JSON: 5.436352s (184 ops/ms) BSON: 36.564978s (27 ops/ms) ====== DECODE BENCHMARK ====== NoProto: 2.496591s (400 ops/ms) Flatbuffers: 320.065ms (3,124 ops/ms) ProtoBuf: 2.888706s (346 ops/ms) MessagePack: 16.576576s (60.3 ops/ms) JSON: 8.957872s (111 ops/ms) BSON: 32.770133s (30.5 ops/ms) ====== DECODE ONE BENCHMARK ====== NoProto: 206.966ms (4,831 ops/ms) Flatbuffers: 13.127ms (76,178 ops/ms) ProtoBuf: 2.715129s (368 ops/ms) MessagePack: 14.300117s (69 ops/ms) JSON: 7.836841s (127 ops/ms) BSON: 37.513607s (26 ops/ms) ====== UPDATE ONE BENCHMARK ====== NoProto: 264.399ms (3,782 ops/ms) Flatbuffers: 3.086538s (324 ops/ms) ProtoBuf: 10.119442s (99 ops/ms) MessagePack: 35.322739s (28 ops/ms) JSON: 9.749246s (102 ops/ms) BSON: 48.0097s (21 ops/ms) ``` ## Dec 1, 2020 ### v0.5.1 Macbook Air M1 with 8GB (Rosetta) ``` ====== SIZE BENCHMARK ====== NoProto: size: 408b, zlib: 321b Flatbuffers: size: 336b, zlib: 214b ProtoBuf: size: 220b, zlib: 163b ====== ENCODE BENCHMARK ====== NoProto: 5.707984s (175 ops/ms) Flatbuffers: 1.556862s (642 ops/ms) ProtoBuf: 2.209196s (452 ops/ms) ====== DECODE BENCHMARK ====== NoProto: 9.161315s (109 ops/ms) Flatbuffers: 105.914ms (9,441 ops/ms) ProtoBuf: 1.691681s (591 ops/ms) ====== UPDATE BENCHMARK ====== NoProto: 602.446ms (1,659 ops/ms) Flatbuffers: 1.512228s (661 ops/ms) ProtoBuf: 3.791677s (263 ops/ms) ``` ================================================ FILE: bench/src/bench.fbs ================================================ // Copyright 2015 Google Inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // trying to represent a typical mix of datatypes: // 1 array of 3 elements, each element: 1 string, 3 nested objects, 9 scalars // root element has the array, additional string and an enum namespace benchfb; enum Enum : short { Apples, Pears, Bananas } struct Bar { time:int; ratio:float; size:ushort; } table FooBar { sibling:Bar; name:string; rating:double; postfix:ubyte; } table FooBarContainer { list:[FooBar]; // 3 copies of the above initialized:bool; fruit:Enum; location:string; } root_type FooBarContainer; ================================================ FILE: bench/src/bench_fb.rs ================================================ // automatically generated by the FlatBuffers compiler, do not modify extern crate flatbuffers; #[allow(unused_imports, dead_code)] pub mod benchfb { use std::mem; use std::cmp::Ordering; extern crate flatbuffers; use self::flatbuffers::EndianScalar; #[allow(non_camel_case_types)] #[repr(i16)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] pub enum Enum { Apples = 0, Pears = 1, Bananas = 2, } pub const ENUM_MIN_ENUM: i16 = 0; pub const ENUM_MAX_ENUM: i16 = 2; impl<'a> flatbuffers::Follow<'a> for Enum { type Inner = Self; #[inline] fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { flatbuffers::read_scalar_at::(buf, loc) } } impl flatbuffers::EndianScalar for Enum { #[inline] fn to_little_endian(self) -> Self { let n = i16::to_le(self as i16); let p = &n as *const i16 as *const Enum; unsafe { *p } } #[inline] fn from_little_endian(self) -> Self { let n = i16::from_le(self as i16); let p = &n as *const i16 as *const Enum; unsafe { *p } } } impl flatbuffers::Push for Enum { type Output = Enum; #[inline] fn push(&self, dst: &mut [u8], _rest: &[u8]) { flatbuffers::emplace_scalar::(dst, *self); } } #[allow(non_camel_case_types)] pub const ENUM_VALUES_ENUM:[Enum; 3] = [ Enum::Apples, Enum::Pears, Enum::Bananas ]; #[allow(non_camel_case_types)] pub const ENUM_NAMES_ENUM:[&'static str; 3] = [ "Apples", "Pears", "Bananas" ]; pub fn enum_name_enum(e: Enum) -> &'static str { let index = e as i16; ENUM_NAMES_ENUM[index as usize] } // struct Bar, aligned to 4 #[repr(C, align(4))] #[derive(Clone, Copy, Debug, PartialEq)] pub struct Bar { time_: i32, ratio_: f32, size__: u16, padding0__: u16, } // pub struct Bar impl flatbuffers::SafeSliceAccess for Bar {} impl<'a> flatbuffers::Follow<'a> for Bar { type Inner = &'a Bar; #[inline] fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { <&'a Bar>::follow(buf, loc) } } impl<'a> flatbuffers::Follow<'a> for &'a Bar { type Inner = &'a Bar; #[inline] fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { flatbuffers::follow_cast_ref::(buf, loc) } } impl<'b> flatbuffers::Push for Bar { type Output = Bar; #[inline] fn push(&self, dst: &mut [u8], _rest: &[u8]) { let src = unsafe { ::std::slice::from_raw_parts(self as *const Bar as *const u8, Self::size()) }; dst.copy_from_slice(src); } } impl<'b> flatbuffers::Push for &'b Bar { type Output = Bar; #[inline] fn push(&self, dst: &mut [u8], _rest: &[u8]) { let src = unsafe { ::std::slice::from_raw_parts(*self as *const Bar as *const u8, Self::size()) }; dst.copy_from_slice(src); } } impl Bar { pub fn new<'a>(_time: i32, _ratio: f32, _size_: u16) -> Self { Bar { time_: _time.to_little_endian(), ratio_: _ratio.to_little_endian(), size__: _size_.to_little_endian(), padding0__: 0, } } pub fn time<'a>(&'a self) -> i32 { self.time_.from_little_endian() } pub fn ratio<'a>(&'a self) -> f32 { self.ratio_.from_little_endian() } pub fn size_<'a>(&'a self) -> u16 { self.size__.from_little_endian() } } pub enum FooBarOffset {} #[derive(Copy, Clone, Debug, PartialEq)] pub struct FooBar<'a> { pub _tab: flatbuffers::Table<'a>, } impl<'a> flatbuffers::Follow<'a> for FooBar<'a> { type Inner = FooBar<'a>; #[inline] fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { Self { _tab: flatbuffers::Table { buf: buf, loc: loc }, } } } impl<'a> FooBar<'a> { #[inline] pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self { FooBar { _tab: table, } } #[allow(unused_mut)] pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, args: &'args FooBarArgs<'args>) -> flatbuffers::WIPOffset> { let mut builder = FooBarBuilder::new(_fbb); builder.add_rating(args.rating); if let Some(x) = args.name { builder.add_name(x); } if let Some(x) = args.sibling { builder.add_sibling(x); } builder.add_postfix(args.postfix); builder.finish() } pub const VT_SIBLING: flatbuffers::VOffsetT = 4; pub const VT_NAME: flatbuffers::VOffsetT = 6; pub const VT_RATING: flatbuffers::VOffsetT = 8; pub const VT_POSTFIX: flatbuffers::VOffsetT = 10; #[inline] pub fn sibling(&self) -> Option<&'a Bar> { self._tab.get::(FooBar::VT_SIBLING, None) } #[inline] pub fn name(&self) -> Option<&'a str> { self._tab.get::>(FooBar::VT_NAME, None) } #[inline] pub fn rating(&self) -> f64 { self._tab.get::(FooBar::VT_RATING, Some(0.0)).unwrap() } #[inline] pub fn postfix(&self) -> u8 { self._tab.get::(FooBar::VT_POSTFIX, Some(0)).unwrap() } } pub struct FooBarArgs<'a> { pub sibling: Option<&'a Bar>, pub name: Option>, pub rating: f64, pub postfix: u8, } impl<'a> Default for FooBarArgs<'a> { #[inline] fn default() -> Self { FooBarArgs { sibling: None, name: None, rating: 0.0, postfix: 0, } } } pub struct FooBarBuilder<'a: 'b, 'b> { fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>, start_: flatbuffers::WIPOffset, } impl<'a: 'b, 'b> FooBarBuilder<'a, 'b> { #[inline] pub fn add_sibling(&mut self, sibling: &'b Bar) { self.fbb_.push_slot_always::<&Bar>(FooBar::VT_SIBLING, sibling); } #[inline] pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) { self.fbb_.push_slot_always::>(FooBar::VT_NAME, name); } #[inline] pub fn add_rating(&mut self, rating: f64) { self.fbb_.push_slot::(FooBar::VT_RATING, rating, 0.0); } #[inline] pub fn add_postfix(&mut self, postfix: u8) { self.fbb_.push_slot::(FooBar::VT_POSTFIX, postfix, 0); } #[inline] pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FooBarBuilder<'a, 'b> { let start = _fbb.start_table(); FooBarBuilder { fbb_: _fbb, start_: start, } } #[inline] pub fn finish(self) -> flatbuffers::WIPOffset> { let o = self.fbb_.end_table(self.start_); flatbuffers::WIPOffset::new(o.value()) } } pub enum FooBarContainerOffset {} #[derive(Copy, Clone, Debug, PartialEq)] pub struct FooBarContainer<'a> { pub _tab: flatbuffers::Table<'a>, } impl<'a> flatbuffers::Follow<'a> for FooBarContainer<'a> { type Inner = FooBarContainer<'a>; #[inline] fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { Self { _tab: flatbuffers::Table { buf: buf, loc: loc }, } } } impl<'a> FooBarContainer<'a> { #[inline] pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self { FooBarContainer { _tab: table, } } #[allow(unused_mut)] pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, args: &'args FooBarContainerArgs<'args>) -> flatbuffers::WIPOffset> { let mut builder = FooBarContainerBuilder::new(_fbb); if let Some(x) = args.location { builder.add_location(x); } if let Some(x) = args.list { builder.add_list(x); } builder.add_fruit(args.fruit); builder.add_initialized(args.initialized); builder.finish() } pub const VT_LIST: flatbuffers::VOffsetT = 4; pub const VT_INITIALIZED: flatbuffers::VOffsetT = 6; pub const VT_FRUIT: flatbuffers::VOffsetT = 8; pub const VT_LOCATION: flatbuffers::VOffsetT = 10; #[inline] pub fn list(&self) -> Option>>> { self._tab.get::>>>>(FooBarContainer::VT_LIST, None) } #[inline] pub fn initialized(&self) -> bool { self._tab.get::(FooBarContainer::VT_INITIALIZED, Some(false)).unwrap() } #[inline] pub fn fruit(&self) -> Enum { self._tab.get::(FooBarContainer::VT_FRUIT, Some(Enum::Apples)).unwrap() } #[inline] pub fn location(&self) -> Option<&'a str> { self._tab.get::>(FooBarContainer::VT_LOCATION, None) } } pub struct FooBarContainerArgs<'a> { pub list: Option>>>>, pub initialized: bool, pub fruit: Enum, pub location: Option>, } impl<'a> Default for FooBarContainerArgs<'a> { #[inline] fn default() -> Self { FooBarContainerArgs { list: None, initialized: false, fruit: Enum::Apples, location: None, } } } pub struct FooBarContainerBuilder<'a: 'b, 'b> { fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>, start_: flatbuffers::WIPOffset, } impl<'a: 'b, 'b> FooBarContainerBuilder<'a, 'b> { #[inline] pub fn add_list(&mut self, list: flatbuffers::WIPOffset>>>) { self.fbb_.push_slot_always::>(FooBarContainer::VT_LIST, list); } #[inline] pub fn add_initialized(&mut self, initialized: bool) { self.fbb_.push_slot::(FooBarContainer::VT_INITIALIZED, initialized, false); } #[inline] pub fn add_fruit(&mut self, fruit: Enum) { self.fbb_.push_slot::(FooBarContainer::VT_FRUIT, fruit, Enum::Apples); } #[inline] pub fn add_location(&mut self, location: flatbuffers::WIPOffset<&'b str>) { self.fbb_.push_slot_always::>(FooBarContainer::VT_LOCATION, location); } #[inline] pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FooBarContainerBuilder<'a, 'b> { let start = _fbb.start_table(); FooBarContainerBuilder { fbb_: _fbb, start_: start, } } #[inline] pub fn finish(self) -> flatbuffers::WIPOffset> { let o = self.fbb_.end_table(self.start_); flatbuffers::WIPOffset::new(o.value()) } } #[inline] pub fn get_root_as_foo_bar_container<'a>(buf: &'a [u8]) -> FooBarContainer<'a> { flatbuffers::get_root::>(buf) } #[inline] pub fn get_size_prefixed_root_as_foo_bar_container<'a>(buf: &'a [u8]) -> FooBarContainer<'a> { flatbuffers::get_size_prefixed_root::>(buf) } #[inline] pub fn finish_foo_bar_container_buffer<'a, 'b>( fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset>) { fbb.finish(root, None); } #[inline] pub fn finish_size_prefixed_foo_bar_container_buffer<'a, 'b>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset>) { fbb.finish_size_prefixed(root, None); } } // pub mod benchfb ================================================ FILE: bench/src/bench_pb.proto ================================================ // Copyright 2015 Google Inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // trying to represent a typical mix of datatypes: // 1 array of 3 elements, each element: 1 string, 3 nested objects, 9 scalars // root element has the array, additional string and an enum syntax = "proto2"; package benchpb; enum Enum { Apples = 0; Pears = 1; Bananas = 2; } message Bar { required int32 time = 2; required float ratio = 3; required uint32 size = 4; } message FooBar { optional Bar sibling = 1; optional string name = 2; optional double rating = 3; optional uint32 postfix = 4; } message FooBarContainer { repeated FooBar list = 1; // 3 copies of the above optional bool initialized = 2; optional Enum fruit = 3; optional string location = 4; } ================================================ FILE: bench/src/bench_pb.rs ================================================ // This file is generated by rust-protobuf 2.18.1. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] #![allow(unused_attributes)] #![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] #![allow(missing_docs)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `bench_pb.proto` /// Generated files are compatible only with the same version /// of protobuf runtime. // const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_18_1; #[derive(PartialEq,Clone,Default)] pub struct Bar { // message fields time: ::std::option::Option, ratio: ::std::option::Option, size: ::std::option::Option, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, } impl<'a> ::std::default::Default for &'a Bar { fn default() -> &'a Bar { ::default_instance() } } impl Bar { pub fn new() -> Bar { ::std::default::Default::default() } // required int32 time = 2; pub fn get_time(&self) -> i32 { self.time.unwrap_or(0) } pub fn clear_time(&mut self) { self.time = ::std::option::Option::None; } pub fn has_time(&self) -> bool { self.time.is_some() } // Param is passed by value, moved pub fn set_time(&mut self, v: i32) { self.time = ::std::option::Option::Some(v); } // required float ratio = 3; pub fn get_ratio(&self) -> f32 { self.ratio.unwrap_or(0.) } pub fn clear_ratio(&mut self) { self.ratio = ::std::option::Option::None; } pub fn has_ratio(&self) -> bool { self.ratio.is_some() } // Param is passed by value, moved pub fn set_ratio(&mut self, v: f32) { self.ratio = ::std::option::Option::Some(v); } // required uint32 size = 4; pub fn get_size(&self) -> u32 { self.size.unwrap_or(0) } pub fn clear_size(&mut self) { self.size = ::std::option::Option::None; } pub fn has_size(&self) -> bool { self.size.is_some() } // Param is passed by value, moved pub fn set_size(&mut self, v: u32) { self.size = ::std::option::Option::Some(v); } } impl ::protobuf::Message for Bar { fn is_initialized(&self) -> bool { if self.time.is_none() { return false; } if self.ratio.is_none() { return false; } if self.size.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { 2 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_int32()?; self.time = ::std::option::Option::Some(tmp); }, 3 => { if wire_type != ::protobuf::wire_format::WireTypeFixed32 { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_float()?; self.ratio = ::std::option::Option::Some(tmp); }, 4 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint32()?; self.size = ::std::option::Option::Some(tmp); }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; if let Some(v) = self.time { my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint); } if let Some(v) = self.ratio { my_size += 5; } if let Some(v) = self.size { my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint); } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if let Some(v) = self.time { os.write_int32(2, v)?; } if let Some(v) = self.ratio { os.write_float(3, v)?; } if let Some(v) = self.size { os.write_uint32(4, v)?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } fn get_cached_size(&self) -> u32 { self.cached_size.get() } fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { &self.unknown_fields } fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { &mut self.unknown_fields } fn as_any(&self) -> &dyn (::std::any::Any) { self as &dyn (::std::any::Any) } fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { Self::descriptor_static() } fn new() -> Bar { Bar::new() } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( "time", |m: &Bar| { &m.time }, |m: &mut Bar| { &mut m.time }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFloat>( "ratio", |m: &Bar| { &m.ratio }, |m: &mut Bar| { &mut m.ratio }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( "size", |m: &Bar| { &m.size }, |m: &mut Bar| { &mut m.size }, )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "Bar", fields, file_descriptor_proto() ) }) } fn default_instance() -> &'static Bar { static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; instance.get(Bar::new) } } impl ::protobuf::Clear for Bar { fn clear(&mut self) { self.time = ::std::option::Option::None; self.ratio = ::std::option::Option::None; self.size = ::std::option::Option::None; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for Bar { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for Bar { fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { ::protobuf::reflect::ReflectValueRef::Message(self) } } #[derive(PartialEq,Clone,Default)] pub struct FooBar { // message fields pub sibling: ::protobuf::SingularPtrField, name: ::protobuf::SingularField<::std::string::String>, rating: ::std::option::Option, postfix: ::std::option::Option, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, } impl<'a> ::std::default::Default for &'a FooBar { fn default() -> &'a FooBar { ::default_instance() } } impl FooBar { pub fn new() -> FooBar { ::std::default::Default::default() } // optional .benchpb.Bar sibling = 1; pub fn get_sibling(&self) -> &Bar { self.sibling.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_sibling(&mut self) { self.sibling.clear(); } pub fn has_sibling(&self) -> bool { self.sibling.is_some() } // Param is passed by value, moved pub fn set_sibling(&mut self, v: Bar) { self.sibling = ::protobuf::SingularPtrField::some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_sibling(&mut self) -> &mut Bar { if self.sibling.is_none() { self.sibling.set_default(); } self.sibling.as_mut().unwrap() } // Take field pub fn take_sibling(&mut self) -> Bar { self.sibling.take().unwrap_or_else(|| Bar::new()) } // optional string name = 2; pub fn get_name(&self) -> &str { match self.name.as_ref() { Some(v) => &v, None => "", } } pub fn clear_name(&mut self) { self.name.clear(); } pub fn has_name(&self) -> bool { self.name.is_some() } // Param is passed by value, moved pub fn set_name(&mut self, v: ::std::string::String) { self.name = ::protobuf::SingularField::some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_name(&mut self) -> &mut ::std::string::String { if self.name.is_none() { self.name.set_default(); } self.name.as_mut().unwrap() } // Take field pub fn take_name(&mut self) -> ::std::string::String { self.name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional double rating = 3; pub fn get_rating(&self) -> f64 { self.rating.unwrap_or(0.) } pub fn clear_rating(&mut self) { self.rating = ::std::option::Option::None; } pub fn has_rating(&self) -> bool { self.rating.is_some() } // Param is passed by value, moved pub fn set_rating(&mut self, v: f64) { self.rating = ::std::option::Option::Some(v); } // optional uint32 postfix = 4; pub fn get_postfix(&self) -> u32 { self.postfix.unwrap_or(0) } pub fn clear_postfix(&mut self) { self.postfix = ::std::option::Option::None; } pub fn has_postfix(&self) -> bool { self.postfix.is_some() } // Param is passed by value, moved pub fn set_postfix(&mut self, v: u32) { self.postfix = ::std::option::Option::Some(v); } } impl ::protobuf::Message for FooBar { fn is_initialized(&self) -> bool { for v in &self.sibling { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { 1 => { ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.sibling)?; }, 2 => { ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?; }, 3 => { if wire_type != ::protobuf::wire_format::WireTypeFixed64 { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_double()?; self.rating = ::std::option::Option::Some(tmp); }, 4 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint32()?; self.postfix = ::std::option::Option::Some(tmp); }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; if let Some(ref v) = self.sibling.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; } if let Some(ref v) = self.name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.rating { my_size += 9; } if let Some(v) = self.postfix { my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint); } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if let Some(ref v) = self.sibling.as_ref() { os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; } if let Some(ref v) = self.name.as_ref() { os.write_string(2, &v)?; } if let Some(v) = self.rating { os.write_double(3, v)?; } if let Some(v) = self.postfix { os.write_uint32(4, v)?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } fn get_cached_size(&self) -> u32 { self.cached_size.get() } fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { &self.unknown_fields } fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { &mut self.unknown_fields } fn as_any(&self) -> &dyn (::std::any::Any) { self as &dyn (::std::any::Any) } fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { Self::descriptor_static() } fn new() -> FooBar { FooBar::new() } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "sibling", |m: &FooBar| { &m.sibling }, |m: &mut FooBar| { &mut m.sibling }, )); fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( "name", |m: &FooBar| { &m.name }, |m: &mut FooBar| { &mut m.name }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeDouble>( "rating", |m: &FooBar| { &m.rating }, |m: &mut FooBar| { &mut m.rating }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( "postfix", |m: &FooBar| { &m.postfix }, |m: &mut FooBar| { &mut m.postfix }, )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "FooBar", fields, file_descriptor_proto() ) }) } fn default_instance() -> &'static FooBar { static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; instance.get(FooBar::new) } } impl ::protobuf::Clear for FooBar { fn clear(&mut self) { self.sibling.clear(); self.name.clear(); self.rating = ::std::option::Option::None; self.postfix = ::std::option::Option::None; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for FooBar { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for FooBar { fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { ::protobuf::reflect::ReflectValueRef::Message(self) } } #[derive(PartialEq,Clone,Default)] pub struct FooBarContainer { // message fields pub list: ::protobuf::RepeatedField, initialized: ::std::option::Option, fruit: ::std::option::Option, location: ::protobuf::SingularField<::std::string::String>, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, } impl<'a> ::std::default::Default for &'a FooBarContainer { fn default() -> &'a FooBarContainer { ::default_instance() } } impl FooBarContainer { pub fn new() -> FooBarContainer { ::std::default::Default::default() } // repeated .benchpb.FooBar list = 1; pub fn get_list(&self) -> &[FooBar] { &self.list } pub fn clear_list(&mut self) { self.list.clear(); } // Param is passed by value, moved pub fn set_list(&mut self, v: ::protobuf::RepeatedField) { self.list = v; } // Mutable pointer to the field. pub fn mut_list(&mut self) -> &mut ::protobuf::RepeatedField { &mut self.list } // Take field pub fn take_list(&mut self) -> ::protobuf::RepeatedField { ::std::mem::replace(&mut self.list, ::protobuf::RepeatedField::new()) } // optional bool initialized = 2; pub fn get_initialized(&self) -> bool { self.initialized.unwrap_or(false) } pub fn clear_initialized(&mut self) { self.initialized = ::std::option::Option::None; } pub fn has_initialized(&self) -> bool { self.initialized.is_some() } // Param is passed by value, moved pub fn set_initialized(&mut self, v: bool) { self.initialized = ::std::option::Option::Some(v); } // optional .benchpb.Enum fruit = 3; pub fn get_fruit(&self) -> Enum { self.fruit.unwrap_or(Enum::Apples) } pub fn clear_fruit(&mut self) { self.fruit = ::std::option::Option::None; } pub fn has_fruit(&self) -> bool { self.fruit.is_some() } // Param is passed by value, moved pub fn set_fruit(&mut self, v: Enum) { self.fruit = ::std::option::Option::Some(v); } // optional string location = 4; pub fn get_location(&self) -> &str { match self.location.as_ref() { Some(v) => &v, None => "", } } pub fn clear_location(&mut self) { self.location.clear(); } pub fn has_location(&self) -> bool { self.location.is_some() } // Param is passed by value, moved pub fn set_location(&mut self, v: ::std::string::String) { self.location = ::protobuf::SingularField::some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_location(&mut self) -> &mut ::std::string::String { if self.location.is_none() { self.location.set_default(); } self.location.as_mut().unwrap() } // Take field pub fn take_location(&mut self) -> ::std::string::String { self.location.take().unwrap_or_else(|| ::std::string::String::new()) } } impl ::protobuf::Message for FooBarContainer { fn is_initialized(&self) -> bool { for v in &self.list { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { 1 => { ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.list)?; }, 2 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_bool()?; self.initialized = ::std::option::Option::Some(tmp); }, 3 => { ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.fruit, 3, &mut self.unknown_fields)? }, 4 => { ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.location)?; }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; for value in &self.list { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; }; if let Some(v) = self.initialized { my_size += 2; } if let Some(v) = self.fruit { my_size += ::protobuf::rt::enum_size(3, v); } if let Some(ref v) = self.location.as_ref() { my_size += ::protobuf::rt::string_size(4, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { for v in &self.list { os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; }; if let Some(v) = self.initialized { os.write_bool(2, v)?; } if let Some(v) = self.fruit { os.write_enum(3, ::protobuf::ProtobufEnum::value(&v))?; } if let Some(ref v) = self.location.as_ref() { os.write_string(4, &v)?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } fn get_cached_size(&self) -> u32 { self.cached_size.get() } fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { &self.unknown_fields } fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { &mut self.unknown_fields } fn as_any(&self) -> &dyn (::std::any::Any) { self as &dyn (::std::any::Any) } fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { Self::descriptor_static() } fn new() -> FooBarContainer { FooBarContainer::new() } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "list", |m: &FooBarContainer| { &m.list }, |m: &mut FooBarContainer| { &mut m.list }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>( "initialized", |m: &FooBarContainer| { &m.initialized }, |m: &mut FooBarContainer| { &mut m.initialized }, )); fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( "fruit", |m: &FooBarContainer| { &m.fruit }, |m: &mut FooBarContainer| { &mut m.fruit }, )); fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( "location", |m: &FooBarContainer| { &m.location }, |m: &mut FooBarContainer| { &mut m.location }, )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "FooBarContainer", fields, file_descriptor_proto() ) }) } fn default_instance() -> &'static FooBarContainer { static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; instance.get(FooBarContainer::new) } } impl ::protobuf::Clear for FooBarContainer { fn clear(&mut self) { self.list.clear(); self.initialized = ::std::option::Option::None; self.fruit = ::std::option::Option::None; self.location.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for FooBarContainer { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for FooBarContainer { fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { ::protobuf::reflect::ReflectValueRef::Message(self) } } #[derive(Clone,PartialEq,Eq,Debug,Hash)] pub enum Enum { Apples = 0, Pears = 1, Bananas = 2, } impl ::protobuf::ProtobufEnum for Enum { fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(Enum::Apples), 1 => ::std::option::Option::Some(Enum::Pears), 2 => ::std::option::Option::Some(Enum::Bananas), _ => ::std::option::Option::None } } fn values() -> &'static [Self] { static values: &'static [Enum] = &[ Enum::Apples, Enum::Pears, Enum::Bananas, ]; values } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; descriptor.get(|| { ::protobuf::reflect::EnumDescriptor::new_pb_name::("Enum", file_descriptor_proto()) }) } } impl ::std::marker::Copy for Enum { } impl ::std::default::Default for Enum { fn default() -> Self { Enum::Apples } } impl ::protobuf::reflect::ProtobufValue for Enum { fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } static file_descriptor_proto_data: &'static [u8] = b"\ \n\x0ebench_pb.proto\x12\x07benchpb\"C\n\x03Bar\x12\x12\n\x04time\x18\ \x02\x20\x02(\x05R\x04time\x12\x14\n\x05ratio\x18\x03\x20\x02(\x02R\x05r\ atio\x12\x12\n\x04size\x18\x04\x20\x02(\rR\x04size\"v\n\x06FooBar\x12&\n\ \x07sibling\x18\x01\x20\x01(\x0b2\x0c.benchpb.BarR\x07sibling\x12\x12\n\ \x04name\x18\x02\x20\x01(\tR\x04name\x12\x16\n\x06rating\x18\x03\x20\x01\ (\x01R\x06rating\x12\x18\n\x07postfix\x18\x04\x20\x01(\rR\x07postfix\"\ \x99\x01\n\x0fFooBarContainer\x12#\n\x04list\x18\x01\x20\x03(\x0b2\x0f.b\ enchpb.FooBarR\x04list\x12\x20\n\x0binitialized\x18\x02\x20\x01(\x08R\ \x0binitialized\x12#\n\x05fruit\x18\x03\x20\x01(\x0e2\r.benchpb.EnumR\ \x05fruit\x12\x1a\n\x08location\x18\x04\x20\x01(\tR\x08location**\n\x04E\ num\x12\n\n\x06Apples\x10\0\x12\t\n\x05Pears\x10\x01\x12\x0b\n\x07Banana\ s\x10\x02J\x8c\x0e\n\x06\x12\x04\x13\0+\x01\n\x8d\x06\n\x01\x0c\x12\x03\ \x13\0\x122\xc7\x04\x20Copyright\x202015\x20Google\x20Inc.\x20All\x20rig\ hts\x20reserved.\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\ \x20Version\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20us\ e\x20this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20Licens\ e.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\ \n\n\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\ \x20Unless\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\ \x20in\x20writing,\x20software\n\x20distributed\x20under\x20the\x20Licen\ se\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHO\ UT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20\ express\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20sp\ ecific\x20language\x20governing\x20permissions\x20and\n\x20limitations\ \x20under\x20the\x20License.\n2\xb8\x01\x20trying\x20to\x20represent\x20\ a\x20typical\x20mix\x20of\x20datatypes:\n\x201\x20array\x20of\x203\x20el\ ements,\x20each\x20element:\x201\x20string,\x203\x20nested\x20objects,\ \x209\x20scalars\n\x20root\x20element\x20has\x20the\x20array,\x20additio\ nal\x20string\x20and\x20an\x20enum\n\n\x08\n\x01\x02\x12\x03\x15\0\x10\n\ \t\n\x02\x05\0\x12\x03\x17\01\n\n\n\x03\x05\0\x01\x12\x03\x17\x05\t\n\ \x0b\n\x04\x05\0\x02\0\x12\x03\x17\x0c\x17\n\x0c\n\x05\x05\0\x02\0\x01\ \x12\x03\x17\x0c\x12\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x17\x15\x16\n\ \x0b\n\x04\x05\0\x02\x01\x12\x03\x17\x18\"\n\x0c\n\x05\x05\0\x02\x01\x01\ \x12\x03\x17\x18\x1d\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x17\x20!\n\ \x0b\n\x04\x05\0\x02\x02\x12\x03\x17#/\n\x0c\n\x05\x05\0\x02\x02\x01\x12\ \x03\x17#*\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x17-.\n\n\n\x02\x04\0\ \x12\x04\x19\0\x1d\x01\n\n\n\x03\x04\0\x01\x12\x03\x19\x08\x0b\n\x0b\n\ \x04\x04\0\x02\0\x12\x03\x1a\x02\x1a\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\ \x1a\x02\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x1a\x0b\x10\n\x0c\n\x05\ \x04\0\x02\0\x01\x12\x03\x1a\x11\x15\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\ \x1a\x18\x19\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x1b\x02\x1b\n\x0c\n\x05\ \x04\0\x02\x01\x04\x12\x03\x1b\x02\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\ \x03\x1b\x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1b\x11\x16\n\x0c\ \n\x05\x04\0\x02\x01\x03\x12\x03\x1b\x19\x1a\n\x0b\n\x04\x04\0\x02\x02\ \x12\x03\x1c\x02\x1b\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\x1c\x02\n\n\ \x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x1c\x0b\x11\n\x0c\n\x05\x04\0\x02\ \x02\x01\x12\x03\x1c\x12\x16\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x1c\ \x19\x1a\n\n\n\x02\x04\x01\x12\x04\x1f\0$\x01\n\n\n\x03\x04\x01\x01\x12\ \x03\x1f\x08\x0e\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x20\x02\x1b\n\x0c\n\ \x05\x04\x01\x02\0\x04\x12\x03\x20\x02\n\n\x0c\n\x05\x04\x01\x02\0\x06\ \x12\x03\x20\x0b\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x20\x0f\x16\n\ \x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x20\x19\x1a\n\x0b\n\x04\x04\x01\x02\ \x01\x12\x03!\x02\x1b\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03!\x02\n\n\ \x0c\n\x05\x04\x01\x02\x01\x05\x12\x03!\x0b\x11\n\x0c\n\x05\x04\x01\x02\ \x01\x01\x12\x03!\x12\x16\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!\x19\ \x1a\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\"\x02\x1d\n\x0c\n\x05\x04\x01\ \x02\x02\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\"\ \x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\"\x12\x18\n\x0c\n\x05\ \x04\x01\x02\x02\x03\x12\x03\"\x1b\x1c\n\x0b\n\x04\x04\x01\x02\x03\x12\ \x03#\x02\x1e\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03#\x02\n\n\x0c\n\x05\ \x04\x01\x02\x03\x05\x12\x03#\x0b\x11\n\x0c\n\x05\x04\x01\x02\x03\x01\ \x12\x03#\x12\x19\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03#\x1c\x1d\n\n\n\ \x02\x04\x02\x12\x04&\0+\x01\n\n\n\x03\x04\x02\x01\x12\x03&\x08\x17\n$\n\ \x04\x04\x02\x02\0\x12\x03'\x02\x1b\"\x17\x203\x20copies\x20of\x20the\ \x20above\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03'\x02\n\n\x0c\n\x05\x04\ \x02\x02\0\x06\x12\x03'\x0b\x11\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03'\ \x12\x16\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03'\x19\x1a\n\x0b\n\x04\x04\ \x02\x02\x01\x12\x03(\x02\x20\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03(\ \x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03(\x0b\x0f\n\x0c\n\x05\x04\ \x02\x02\x01\x01\x12\x03(\x10\x1b\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\ \x03(\x1e\x1f\n\x0b\n\x04\x04\x02\x02\x02\x12\x03)\x02\x1a\n\x0c\n\x05\ \x04\x02\x02\x02\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\ \x03)\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03)\x10\x15\n\x0c\n\ \x05\x04\x02\x02\x02\x03\x12\x03)\x18\x19\n\x0b\n\x04\x04\x02\x02\x03\ \x12\x03*\x02\x1f\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x03*\x02\n\n\x0c\n\ \x05\x04\x02\x02\x03\x05\x12\x03*\x0b\x11\n\x0c\n\x05\x04\x02\x02\x03\ \x01\x12\x03*\x12\x1a\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03*\x1d\x1e\ "; static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { file_descriptor_proto_lazy.get(|| { parse_descriptor_proto() }) } ================================================ FILE: bench/src/main.rs ================================================ use crate::run_bench_rawbson::RawBSONBench; use crate::run_bench_rkyv::RkyvBench; use run_bench_json::JSONBench; use run_bench_messagepack::MessagePackBench; use run_bench_messagepack_rs::MessagePackRSBench; use run_bench_serde_json::SerdeJSONBench; use crate::run_bench_protocol_buffers::ProtocolBufferBench; use crate::run_bench_no_proto::NoProtoBench; use crate::run_bench_flatbuffers::FlatBufferBench; use crate::run_bench_bson::BSONBench; use crate::run_bench_bincode::BincodeBench; use crate::run_bench_postcard::PostcardBench; use crate::run_bench_avro::AvroBench; use crate::run_bench_prost::ProstBench; use crate::run_bench_flexbuffers::FlexBench; use crate::run_bench_abomonation::AbomBench; pub const LOOPS: usize = 1_000_000; mod bench_fb; mod bench_pb; extern crate protobuf; extern crate flatbuffers; #[macro_use] extern crate json; extern crate bson; extern crate rmp; extern crate serde; extern crate bincode; #[macro_use] extern crate abomonation; mod run_bench_no_proto; mod run_bench_protocol_buffers; mod run_bench_flatbuffers; mod run_bench_messagepack; mod run_bench_messagepack_rs; mod run_bench_json; mod run_bench_bson; mod run_bench_bincode; mod run_bench_postcard; mod run_bench_prost; mod run_bench_avro; mod run_bench_flexbuffers; mod run_bench_rawbson; mod run_bench_rkyv; mod run_bench_abomonation; mod run_bench_serde_json; /* 1,000,000 iterations 0.4.2 - 144s 0.5.0 - 6s */ fn main() { NoProtoBench::setup_bench(); AvroBench::setup_bench(); FlatBufferBench::setup_bench(); let np_lib = " [no_proto](https://crates.io/crates/no_proto) "; let fb_lib = " [flatbuffers](https://crates.io/crates/flatbuffers) "; let bn_lib = " [bincode](https://crates.io/crates/bincode) "; let pc_lib = " [postcard](https://crates.io/crates/postcard) "; let pb_lib = " [protobuf](https://crates.io/crates/protobuf) "; let msg_lib = " [rmp](https://crates.io/crates/rmp) "; let json_lib = " [json](https://crates.io/crates/json) "; let bson_lib = " [bson](https://crates.io/crates/bson) "; let pro_lib = " [prost](https://crates.io/crates/prost) "; let avro_lib = " [avro-rs](https://crates.io/crates/avro-rs) "; let flx_lib = " [flexbuffers](https://crates.io/crates/flexbuffers) "; let abo_lib = " [abomonation](https://crates.io/crates/abomonation) "; let rkyv_lib = " [rkyv](https://crates.io/crates/rkyv) "; let rbso_lib = " [rawbson](https://crates.io/crates/rawbson) "; let msg2_lib = " [messagepack-rs](https://crates.io/crates/messagepack-rs)"; let json2_lib = " [serde_json](https://crates.io/crates/serde_json) "; println!("\n========= SIZE BENCHMARK ========="); let np_size = NoProtoBench::size_bench(); let fb_size = FlatBufferBench::size_bench(); let bn_size = BincodeBench::size_bench(); let pc_size = PostcardBench::size_bench(); let pb_size = ProtocolBufferBench::size_bench(); let msg_size = MessagePackBench::size_bench(); let json_size = JSONBench::size_bench(); let bson_size = BSONBench::size_bench(); let pro_size = ProstBench::size_bench(); let avro_size = AvroBench::size_bench(); let flx_size = FlexBench::size_bench(); let abo_size = AbomBench::size_bench(); let rkyv_size = RkyvBench::size_bench(); let rbso_size = RawBSONBench::size_bench(); let msg2_size = MessagePackRSBench::size_bench(); let json2_size = SerdeJSONBench::size_bench(); println!("\n======== ENCODE BENCHMARK ========"); let (base, np_enc) = NoProtoBench::encode_bench().unwrap(); let fb_enc = FlatBufferBench::encode_bench(base); let bn_enc = BincodeBench::encode_bench(base); let pc_enc = PostcardBench::encode_bench(base); let pb_enc = ProtocolBufferBench::encode_bench(base); let msg_enc = MessagePackBench::encode_bench(base); let json_enc = JSONBench::encode_bench(base); let bson_enc = BSONBench::encode_bench(base); let pro_enc = ProstBench::encode_bench(base); let avro_enc = AvroBench::encode_bench(base); let flx_enc = FlexBench::encode_bench(base); let abo_enc = AbomBench::encode_bench(base); let rkyv_enc = RkyvBench::encode_bench(base); let rbso_enc = RawBSONBench::encode_bench(base); let msg2_enc = MessagePackRSBench::encode_bench(base); let json2_enc = SerdeJSONBench::encode_bench(base); println!("\n======== DECODE BENCHMARK ========"); let (base, np_dec) = NoProtoBench::decode_bench().unwrap(); let fb_dec = FlatBufferBench::decode_bench(base); let bn_dec = BincodeBench::decode_bench(base); let pc_dec = PostcardBench::decode_bench(base); let pb_dec = ProtocolBufferBench::decode_bench(base); let msg_dec = MessagePackBench::decode_bench(base); let json_dec = JSONBench::decode_bench(base); let bson_dec = BSONBench::decode_bench(base); let pro_dec = ProstBench::decode_bench(base); let avro_dec = AvroBench::decode_bench(base); let flx_dec = FlexBench::decode_bench(base); let abo_dec = AbomBench::decode_bench(base); let rkyv_dec = RkyvBench::decode_bench(base); let rbso_dec = RawBSONBench::decode_bench(base); let msg2_dec = MessagePackRSBench::decode_bench(base); let json2_dec = SerdeJSONBench::decode_bench(base); println!("\n====== DECODE ONE BENCHMARK ======"); let (base, np_dec1) = NoProtoBench::decode_one_bench().unwrap(); let fb_dec1 = FlatBufferBench::decode_one_bench(base); let bn_dec1 = BincodeBench::decode_one_bench(base); let pc_dec1 = PostcardBench::decode_one_bench(base); let pb_dec1 = ProtocolBufferBench::decode_one_bench(base); let msg_dec1 = MessagePackBench::decode_one_bench(base); let json_dec1 = JSONBench::decode_one_bench(base); let bson_dec1 = BSONBench::decode_one_bench(base); let pro_dec1 = ProstBench::decode_one_bench(base); let avro_dec1 = AvroBench::decode_one_bench(base); let flx_dec1 = FlexBench::decode_one_bench(base); let abo_dec1 = AbomBench::decode_one_bench(base); let rkyv_dec1 = RkyvBench::decode_one_bench(base); let rbso_dec1 = RawBSONBench::decode_one_bench(base); let msg2_dec1 = MessagePackRSBench::decode_one_bench(base); let json2_dec1 = SerdeJSONBench::decode_one_bench(base); println!("\n====== UPDATE ONE BENCHMARK ======"); let (base, np_up) = NoProtoBench::update_bench().unwrap(); let fb_up = FlatBufferBench::update_bench(base); let bn_up = BincodeBench::update_bench(base); let pc_up = PostcardBench::update_bench(base); let pb_up = ProtocolBufferBench::update_bench(base); let msg_up = MessagePackBench::update_bench(base); let json_up = JSONBench::update_bench(base); let bson_up = BSONBench::update_bench(base); let pro_up = ProstBench::update_bench(base); let avro_up = AvroBench::update_bench(base); let flx_up = FlexBench::update_bench(base); let abo_up = AbomBench::update_bench(base); let rkyv_up = RkyvBench::update_bench(base); let rbso_up = RawBSONBench::update_bench(base); let msg2_up = MessagePackRSBench::update_bench(base); let json2_up = SerdeJSONBench::update_bench(base); println!("\n\n"); println!("//! | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) |"); println!("//! |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------|"); println!("//! | **Runtime Libs** | | | | | | |"); println!("//! | *NoProto* | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", np_lib, np_enc, np_dec, np_dec1, np_up, np_size.0, np_size.1); println!("//! | Apache Avro | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", avro_lib, avro_enc, avro_dec, avro_dec1, avro_up, avro_size.0, avro_size.1); println!("//! | FlexBuffers | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", flx_lib, flx_enc, flx_dec, flx_dec1, flx_up, flx_size.0, flx_size.1); println!("//! | JSON | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", json_lib, json_enc, json_dec, json_dec1, json_up, json_size.0, json_size.1); println!("//! | {} | {} | {} | {} | {} | {} | {} |", json2_lib, json2_enc, json2_dec, json2_dec1, json2_up, json2_size.0, json2_size.1); println!("//! | BSON | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", bson_lib, bson_enc, bson_dec, bson_dec1, bson_up, bson_size.0, bson_size.1); println!("//! | {} | {} | {} | {} | {} | {} | {} |", rbso_lib, rbso_enc, rbso_dec, rbso_dec1, rbso_up, rbso_size.0, rbso_size.1); println!("//! | MessagePack | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", msg_lib, msg_enc, msg_dec, msg_dec1, msg_up, msg_size.0, msg_size.1); println!("//! | {} | {} | {} | {} | {} | {} | {} |", msg2_lib, msg2_enc, msg2_dec, msg2_dec1, msg2_up, msg2_size.0, msg2_size.1); println!("//! | **Compiled Libs** | | | | | | |"); println!("//! | Flatbuffers | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", fb_lib, fb_enc, fb_dec, fb_dec1, fb_up, fb_size.0, fb_size.1); println!("//! | Bincode | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", bn_lib, bn_enc, bn_dec, bn_dec1, bn_up, bn_size.0, bn_size.1); println!("//! | Postcard | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", pc_lib, pc_enc, pc_dec, pc_dec1, pc_up, pc_size.0, pc_size.1); println!("//! | Protocol Buffers | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", pb_lib, pb_enc, pb_dec, pb_dec1, pb_up, pb_size.0, pb_size.1); println!("//! | {} | {} | {} | {} | {} | {} | {} |", pro_lib, pro_enc, pro_dec, pro_dec1, pro_up, pro_size.0, pro_size.1); println!("//! | Abomonation | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", abo_lib, abo_enc, abo_dec, abo_dec1, abo_up, abo_size.0, abo_size.1); println!("//! | Rkyv | | | | | | |"); println!("//! | {} | {} | {} | {} | {} | {} | {} |", rkyv_lib, rkyv_enc, rkyv_dec, rkyv_dec1, rkyv_up, rkyv_size.0, rkyv_size.1); } ================================================ FILE: bench/src/run_bench_abomonation.rs ================================================ use crate::LOOPS; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use abomonation::{encode, decode}; use abomonation_derive::*; #[derive(Abomonation, PartialEq, Eq, Debug, Clone)] enum Fruit { Apples, Pears, Bananas } #[derive(Abomonation, PartialEq, Debug, Clone)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Abomonation, PartialEq, Debug, Clone)] struct FooBar { sibling: Bar, name: String, rating: f64, postfix: char } #[derive(Abomonation, PartialEq, Debug, Clone)] struct FooBarContainer { list: Vec, initialized: bool, fruit: Fruit, location: String } pub struct AbomBench(); impl AbomBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Abomonation: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 261); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Abomonation: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: String::from("Hello, world!"), rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: String::from("http://arstechnica.com"), fruit: Fruit::Apples, initialized: true, list: vector }; let mut bytes = Vec::new(); unsafe { encode(&foobar_c, &mut bytes).unwrap(); }; bytes } pub fn update_bench(base: u128) -> String { let mut buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { if let Some((result, _remaining)) = unsafe { decode::(&mut buffer) } { let mut result2 = result.clone(); result2.list[0].name = String::from("bob"); let mut bytes = Vec::new(); unsafe { encode(&result2, &mut bytes).unwrap() }; assert_eq!(bytes.len(), 251); } else { panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Abomonation: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let mut buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { if let Some((result, _remaining)) = unsafe { decode::(&mut buffer) } { assert_eq!(result.location, "http://arstechnica.com"); } else { panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Abomonation: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let mut buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: &FooBarContainer = if let Some((result, _remaining)) = unsafe { decode::(&mut buffer) } { result } else { panic!() }; let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location, "http://arstechnica.com"); assert_eq!(decoded.fruit, Fruit::Apples); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Abomonation: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_avro.rs ================================================ use crate::LOOPS; use avro_rs::{ types::Record, types::Value, Codec, Days, Decimal, Duration, Error, Millis, Months, Reader, Schema, Writer, }; use flate2::write::ZlibEncoder; use flate2::Compression; use serde::{Deserialize, Serialize}; use std::io::prelude::*; use std::time::SystemTime; #[repr(i32)] enum Fruit { Apples, Pears, Bananas, } pub struct AvroBench(); impl AvroBench { pub fn setup_bench() -> u128 { let start = SystemTime::now(); let factory = Self::get_schema(); let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Avro: setup: {:?}", time.as_micros() as f64 / 1000f64); time.as_micros() } fn get_schema() -> Schema { let foo_bar_container = r#" { "name": "FooBarContainer", "type": "record", "fields": [ {"name": "initialized", "type": "boolean"}, {"name": "fruit", "type": "int"}, {"name": "location", "type": "string"}, {"name": "list" ,"type": "array", "items": { "name": "FooBar", "type": "record", "fields": [ {"name": "name", "type": "string"}, {"name": "rating", "type": "float"}, {"name": "postfix", "type": "string"}, {"name": "sibling", "type": "record", "fields": [ {"name": "time", "type": "int"}, {"name": "ratio", "type": "float"}, {"name": "size", "type": "int"} ] } ] }} ] }"#; Schema::parse_str(foo_bar_container).unwrap() } pub fn size_bench() -> (usize, usize) { let schema = Self::get_schema(); let encoded = Self::encode_single(&schema); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!( "Avro: size: {}b, zlib: {}b", encoded.len(), compressed.len() ); return (encoded.len(), compressed.len()); } pub fn encode_bench(base: u128) -> String { let schema = Self::get_schema(); let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(&schema); assert_eq!(buffer.len(), 702); } let time = SystemTime::now() .duration_since(start) .expect("Time went backwards"); println!( "Avro: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64) ); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single(schema: &Schema) -> Vec { let mut foobar_c: Vec<(String, Value)> = Vec::new(); foobar_c.push((String::from("initialized"), Value::Boolean(true))); foobar_c.push((String::from("fruit"), Value::Int(Fruit::Apples as i32))); foobar_c.push(( String::from("location"), Value::String(String::from("http://arstechnica.com")), )); let mut vector: Vec = Vec::new(); for x in 0..3 { let mut bar: Vec<(String, Value)> = Vec::new(); bar.push((String::from("time"), Value::Int(123456 + (x as i32)))); bar.push((String::from("ratio"), Value::Float(3.14159 + (x as f32)))); bar.push((String::from("size"), Value::Int(10000 + (x as i32)))); let mut foobar: Vec<(String, Value)> = Vec::new(); foobar.push(( String::from("name"), Value::String(String::from("Hello, world!")), )); foobar.push(( String::from("rating"), Value::Float(3.1415432432445543543 + (x as f32)), )); foobar.push((String::from("postfix"), Value::String(String::from("!")))); foobar.push((String::from("sibling"), Value::Record(bar))); vector.push(Value::Record(foobar)); } foobar_c.push((String::from("list"), Value::Array(vector))); let mut writer = Writer::new(&schema, Vec::new()); writer.append(Value::Record(foobar_c)).unwrap(); writer.into_inner().unwrap() } pub fn update_bench(base: u128) -> String { let schema = Self::get_schema(); let buffer = Self::encode_single(&schema); let start = SystemTime::now(); for _x in 0..LOOPS { let reader = Reader::new(&buffer[..]).unwrap(); let mut foobar_c: Vec<(String, Value)> = Vec::new(); for val in reader { if let Value::Record(data) = val.unwrap() { data.iter().for_each(|(key, data)| { match key.as_str() { "list" => { let mut vector: Vec = Vec::new(); if let Value::Array(list) = data { list.iter().enumerate().for_each(|(i, foo_bar)| { if i == 0 { if let Value::Record(foo_bar) = foo_bar { let mut new_foobar: Vec<(String, Value)> = Vec::new(); foo_bar.iter().for_each(|(key, value)| { match key.as_str() { "name" => { new_foobar.push(( String::from("name"), Value::String(String::from("bob")), )); } _ => { new_foobar .push((key.clone(), value.clone())); } } }); vector.push(Value::Record(new_foobar)); } else { panic!() } } else { vector.push(foo_bar.clone()); } }); } else { panic!() } foobar_c.push((String::from("list"), Value::Array(vector))); } _ => { foobar_c.push((key.clone(), data.clone())); } }; }); } } let mut writer = Writer::new(&schema, Vec::new()); writer.append(Value::Record(foobar_c)).unwrap(); let finished = writer.into_inner().unwrap(); assert_eq!(finished.len(), 692); } let time = SystemTime::now() .duration_since(start) .expect("Time went backwards"); println!( "Avro: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64) ); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let schema = Self::get_schema(); let start = SystemTime::now(); let buffer = Self::encode_single(&schema); for _x in 0..LOOPS { let mut found = false; let reader = Reader::new(&buffer[..]).unwrap(); for val in reader { if let Value::Record(data) = val.unwrap() { data.iter().for_each(|(key, data)| { if key == "location" { if let Value::String(x) = data { found = true; assert_eq!("http://arstechnica.com", x); } } }); } } assert!(found == true); } let time = SystemTime::now() .duration_since(start) .expect("Time went backwards"); println!( "Avro: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64) ); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let schema = Self::get_schema(); let buffer = Self::encode_single(&schema); let start = SystemTime::now(); for _x in 0..LOOPS { let mut loops = 0; let reader = Reader::new(&buffer[..]).unwrap(); for val in reader { if let Value::Record(data) = val.unwrap() { data.iter().for_each(|(key, data)| { match key.as_str() { "location" => { if let Value::String(x) = data { assert_eq!("http://arstechnica.com", x); } else { panic!() } } "initialized" => { if let Value::Boolean(x) = data { assert_eq!(true, *x); } else { panic!() } } "fruit" => { if let Value::Int(x) = data { assert_eq!(Fruit::Apples as i32, *x); } else { panic!() } } "list" => { if let Value::Array(list) = data { list.iter().for_each(|foo_bar| { if let Value::Record(foo_bar) = foo_bar { let mut key_count = 0; foo_bar.iter().for_each(|(key, value)| { key_count += 1; match key.as_str() { "name" => { if let Value::String(x) = value { assert_eq!("Hello, world!", x); } else { panic!() } } "rating" => { if let Value::Float(x) = value { assert_eq!( 3.1415432432445543543 + (loops as f32), *x ); } else { panic!() } } "postfix" => { if let Value::String(x) = value { assert_eq!("!", x); } else { panic!() } } "sibling" => { if let Value::Record(sibling) = value { let mut foo_key_count = 0; sibling.iter().for_each( |(skey, svalue)| { foo_key_count += 1; match skey.as_str() { "time" => { assert_eq!( Value::Int( 123456 + (loops as i32) ), *svalue ); } "ratio" => { assert_eq!( Value::Float( 3.14159 + (loops as f32) ), *svalue ); } "size" => { assert_eq!( Value::Int( 10000 + (loops as i32) ), *svalue ); } _ => panic!(), } }, ); assert_eq!(foo_key_count, 3); } else { panic!() } } _ => panic!(), } }); assert_eq!(key_count, 4); } else { panic!() } loops += 1; }); } else { panic!() } } _ => panic!(), }; }); } } assert!(loops == 3); } let time = SystemTime::now() .duration_since(start) .expect("Time went backwards"); println!( "Avro: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64) ); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_bincode.rs ================================================ use crate::LOOPS; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use serde::{Serialize, Deserialize}; use bincode; #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)] enum Fruit { Apples, Pears, Bananas } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBar<'fb> { sibling: Bar, name: &'fb str, rating: f64, postfix: char } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBarContainer<'con> { list: Vec>, initialized: bool, fruit: Fruit, location: &'con str } pub struct BincodeBench(); impl BincodeBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Bincode: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 163); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Bincode: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: "Hello, world!", rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: "http://arstechnica.com", fruit: Fruit::Apples, initialized: true, list: vector }; bincode::serialize(&foobar_c).unwrap() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut decoded: FooBarContainer = bincode::deserialize(&buffer[..]).unwrap(); decoded.list[0].name = "bob"; let encoded = bincode::serialize(&decoded).unwrap(); assert_eq!(encoded.len(), 153); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Bincode: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = bincode::deserialize(&buffer[..]).unwrap(); assert_eq!(decoded.location, "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Bincode: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = bincode::deserialize(&buffer[..]).unwrap(); let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location, "http://arstechnica.com"); assert_eq!(decoded.fruit, Fruit::Apples); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Bincode: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_bson.rs ================================================ use crate::LOOPS; use std::{io::prelude::*}; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use bson::*; pub struct BSONBench(); impl BSONBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("BSON: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 414); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut bson_object = doc!{ "fruit": 2i32, "initialized": true, "location": "http://arstechnica.com", "list": [] }; for x in 0..3 { let list = bson_object.get_array_mut("list").unwrap(); list.push(bson!({ "name": "Hello, World!", "rating": 3.1415432432445543543 + (x as f64), "postfix": "!", "sibling": { "time": 123456 + (x as i32), "ratio": 3.14159f64, "size": 10000 + (x as i32) } })); } let mut byte_array : Vec = vec![]; bson_object.to_writer(&mut byte_array).unwrap(); return byte_array } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut container = Document::from_reader(&mut std::io::Cursor::new(buffer.clone())).unwrap(); let list = container.get_array_mut("list").unwrap(); let first_list = list[0].as_document_mut().unwrap(); first_list.insert("name", "bob"); let mut byte_array : Vec = vec![]; container.to_writer(&mut byte_array).unwrap(); assert_eq!(byte_array.len(), 404); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = Document::from_reader(&mut std::io::Cursor::new(buffer.clone())).unwrap(); assert_eq!(container.get_str("location").unwrap(), "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = Document::from_reader(&mut std::io::Cursor::new(buffer.clone())).unwrap(); assert_eq!(container.get_str("location").unwrap(), "http://arstechnica.com"); assert_eq!(container.get_i32("fruit").unwrap(), 2i32); assert_eq!(container.get_bool("initialized").unwrap(), true); let mut loops = 0; container.get_array("list").unwrap().iter().enumerate().for_each(|(x, bson)| { loops += 1; let foobar = bson.as_document().unwrap(); assert_eq!(foobar.get_str("name").unwrap(), "Hello, World!"); assert_eq!(foobar.get_f64("rating").unwrap(), 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.get_str("postfix").unwrap(), "!"); let sibling = foobar.get_document("sibling").unwrap(); assert_eq!(sibling.get_i32("time").unwrap(), 123456 + (x as i32)); assert_eq!(sibling.get_f64("ratio").unwrap(), 3.14159f64); assert_eq!(sibling.get_i32("size").unwrap(), 10000 + (x as i32)); }); assert!(loops == 3); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_flatbuffers.rs ================================================ use crate::LOOPS; use crate::bench_fb::benchfb::get_root_as_foo_bar_container; use crate::bench_fb::benchfb::FooBarContainerArgs as FooBarContainerArgsFB; use crate::bench_fb::benchfb::FooBarContainer as FooBarContainerFB; use crate::bench_fb::benchfb::FooBarArgs as FooBarArgsFB; use crate::bench_fb::benchfb::FooBar as FooBarFB; use crate::bench_fb::benchfb::Bar as BarFB; use crate::bench_fb::benchfb::Enum as EnumFB; use flatbuffers::FlatBufferBuilder; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; pub struct FlatBufferBench(); impl FlatBufferBench { pub fn setup_bench() -> u128 { let start = SystemTime::now(); let factory = FlatBufferBuilder::new(); let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flatbuffers: setup: {:?}", time.as_micros() as f64 / 1000f64); time.as_micros() } pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(&mut FlatBufferBuilder::new()); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Flatbuffers: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); let mut fbb = FlatBufferBuilder::new(); for _x in 0..LOOPS { let buffer = Self::encode_single(&mut fbb); assert_eq!(buffer.len(), 264); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flatbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single(fbb: &mut FlatBufferBuilder) -> Vec { fbb.reset(); let mut vector = Vec::new(); for x in 0..3 { let bar = BarFB::new(123456 + (x as i32), 3.14159 + (x as f32), 10000 + (x as u16)); let name = fbb.create_string("Hello, World!"); let foobar_args = FooBarArgsFB { name: Some(name), sibling: Some(&bar), rating: 3.1415432432445543543 + (x as f64), postfix: "!".as_bytes()[0]}; let foobar = FooBarFB::create(fbb, &foobar_args); vector.push(foobar); } let location = fbb.create_string("http://arstechnica.com"); let foobarvec = fbb.create_vector(&vector[..]); let foobarcontainer_args = FooBarContainerArgsFB { fruit: EnumFB::Apples, initialized: true, location: Some(location), list: Some(foobarvec) }; let foobarcontainer = FooBarContainerFB::create(fbb, &foobarcontainer_args); fbb.finish(foobarcontainer, None); fbb.finished_data().to_vec() } pub fn update_bench(base: u128) -> String { let mut fbb: FlatBufferBuilder = FlatBufferBuilder::new(); let buffer = Self::encode_single(&mut fbb); let start = SystemTime::now(); for _x in 0..LOOPS { let container = get_root_as_foo_bar_container(&buffer[..]); fbb.reset(); let mut vector = Vec::new(); container.list().unwrap().iter().enumerate().for_each(|(idx, foobar)| { let old_bar = foobar.sibling().unwrap(); let bar = BarFB::new(old_bar.time(), old_bar.ratio(), old_bar.size_()); let name = if idx == 0 { // our update fbb.create_string("bob") } else { fbb.create_string(foobar.name().unwrap()) }; let foobar_args = FooBarArgsFB { name: Some(name), sibling: Some(&bar), rating: foobar.rating(), postfix: foobar.postfix()}; let foobar = FooBarFB::create(&mut fbb, &foobar_args); vector.push(foobar); }); let location = fbb.create_string(container.location().unwrap()); let foobarvec = fbb.create_vector(&vector[..]); let foobarcontainer_args = FooBarContainerArgsFB { fruit: container.fruit(), initialized: container.initialized(), location: Some(location), list: Some(foobarvec) }; let foobarcontainer = FooBarContainerFB::create(&mut fbb, &foobarcontainer_args); fbb.finish(foobarcontainer, None); let finished = fbb.finished_data().to_vec(); assert_eq!(finished.len(), 248); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flatbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(&mut FlatBufferBuilder::new()); let start = SystemTime::now(); for _x in 0..LOOPS { let container = get_root_as_foo_bar_container(&buffer[..]); assert_eq!(container.location(), Some("http://arstechnica.com")); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flatbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(&mut FlatBufferBuilder::new()); let start = SystemTime::now(); for _x in 0..LOOPS { let container = get_root_as_foo_bar_container(&buffer[..]); let mut loops = 0; container.list().unwrap().iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = foobar.sibling().unwrap(); assert_eq!(old_bar.time(), 123456 + (x as i32)); assert_eq!(old_bar.ratio(), 3.14159 + (x as f32)); assert_eq!(old_bar.size_(), 10000 + (x as u16)); assert_eq!(foobar.name(), Some("Hello, World!")); assert_eq!(foobar.rating(), 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix(), "!".as_bytes()[0]); }); assert!(loops == 3); assert_eq!(container.location(), Some("http://arstechnica.com")); assert_eq!(container.fruit(), EnumFB::Apples); assert_eq!(container.initialized(), true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flatbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_flexbuffers.rs ================================================ use crate::LOOPS; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use serde::{Serialize, Deserialize}; use flexbuffers::{self, Reader}; #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)] enum Fruit { Apples, Pears, Bananas } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBar<'fb> { sibling: Bar, name: &'fb str, rating: f64, postfix: char } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBarContainer<'con> { list: Vec>, initialized: bool, fruit: Fruit, location: &'con str } pub struct FlexBench(); impl FlexBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Flexbuffers: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 490); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flexbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: "Hello, world!", rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: "http://arstechnica.com", fruit: Fruit::Apples, initialized: true, list: vector }; let mut s = flexbuffers::FlexbufferSerializer::new(); foobar_c.serialize(&mut s).unwrap(); s.view().to_vec() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let reader = flexbuffers::Reader::get_root(&buffer[..]).unwrap(); let mut decoded: FooBarContainer = FooBarContainer::deserialize(reader).unwrap().clone(); decoded.list[0].name = "bob"; let mut s = flexbuffers::FlexbufferSerializer::new(); decoded.serialize(&mut s).unwrap(); assert_eq!(s.view().to_vec().len(), 482); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flexbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let root = Reader::get_root(&buffer[..]).unwrap(); let decoded = root.as_map(); assert_eq!(decoded.idx("location").as_str(), "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flexbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let reader = flexbuffers::Reader::get_root(&buffer[..]).unwrap(); let decoded: FooBarContainer = FooBarContainer::deserialize(reader).unwrap(); let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location, "http://arstechnica.com"); assert_eq!(decoded.fruit, Fruit::Apples); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Flexbuffers: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_json.rs ================================================ use crate::LOOPS; use std::{io::prelude::*, str::{from_utf8_unchecked}}; use flate2::Compression; use flate2::write::ZlibEncoder; use json::{JsonValue}; use std::time::{SystemTime}; pub struct JSONBench(); impl JSONBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("JSON: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 439); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut json_object = object!{ fruit: 2, initialized: true, location: "http://arstechnica.com", list: [] }; for x in 0..3 { json_object["list"][x] = object!{ name: "Hello, World!", rating: 3.1415432432445543543 + (x as f64), postfix: "!", sibling: { time: 123456 + (x as i32), ratio: 3.14159, size: 10000 + (x as u16) } }; } json_object.dump().as_bytes().to_vec() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut container = json::parse(unsafe { from_utf8_unchecked(&buffer) }).unwrap(); container["list"][0]["name"] = JsonValue::String(String::from("bob")); assert_eq!(container.dump().len(), 429); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = json::parse(unsafe { from_utf8_unchecked(&buffer) }).unwrap(); assert_eq!(container["location"], JsonValue::String(String::from("http://arstechnica.com"))); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); let hello_world = JsonValue::String(String::from("Hello, World!")); let ars_technica = JsonValue::String(String::from("http://arstechnica.com")); for _x in 0..LOOPS { let container = json::parse(unsafe { from_utf8_unchecked(&buffer) }).unwrap(); assert_eq!(container["location"], ars_technica); assert_eq!(container["fruit"].as_f64(), Some(2.0f64)); assert_eq!(container["initialized"], JsonValue::Boolean(true)); let mut loops = 0; if let JsonValue::Array(list) = &container["list"] { list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; assert_eq!(foobar["name"], hello_world); assert_eq!(foobar["rating"].as_f64().unwrap(), 3.1415432432445543543 + (x as f64)); assert_eq!(foobar["postfix"], JsonValue::String(String::from("!"))); let sibling = &foobar["sibling"]; assert_eq!(sibling["time"].as_f64().unwrap(), 123456f64 + (x as f64)); assert_eq!(sibling["ratio"].as_f64().unwrap(), 3.14159); assert_eq!(sibling["size"].as_f64().unwrap(), 10000f64 + (x as f64)); }); } assert!(loops == 3); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_messagepack.rs ================================================ use crate::LOOPS; use std::io::{BufReader, Cursor}; use std::collections::BTreeMap; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use std::collections::HashMap; use rmp::{encode, decode}; use rmpv::{ValueRef::*, decode::read_value_ref}; use rmpv::encode::write_value_ref; pub struct MessagePackBench(); impl MessagePackBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("MessagePack: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> std::string::String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 311); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector = Vec::new(); for x in 0..3 { let bar = Map(vec![ (String("time".into()), Integer((123456 + (x as i32)).into())), (String("ratio".into()), F32((3.14159 + (x as f32)).into())), (String("size".into()), Integer((10000 + (x as u16)).into())) ]); let foobar = Map(vec![ (String("name".into()), String("Hello, World!".into())), (String("sibling".into()), bar), (String("rating".into()), F64((3.1415432432445543543 + (x as f64)).into())), (String("postfix".into()), String("!".into())) ]); vector.push(foobar); } let value = Map(vec![ (String("fruit".into()), Integer(2u8.into())), (String("initialized".into()), Boolean(true)), (String("location".into()), String("http://arstechnica.com".into())), (String("list".into()), Array(vector)) ]); let mut bytes: Vec = Vec::new(); write_value_ref(&mut bytes, &value).unwrap(); bytes } pub fn update_bench(base: u128) -> std::string::String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut container = read_value_ref(&mut &buffer[..]).unwrap().to_owned(); match &mut container { rmpv::Value::Map(foobarcontainer) => { if let rmpv::Value::Array(list) = Self::find_mut(foobarcontainer, "list") { list.iter_mut().enumerate().for_each(|(x, value)| { if x == 0 { if let rmpv::Value::Map(foobar) = value { let value = Self::find_mut(foobar, "name"); *value = rmpv::Value::String("bob".into()); } else { panic!() } } }); } else { panic!() } }, _ => panic!() } let mut bytes: Vec = Vec::new(); rmpv::encode::write_value(&mut bytes, &container).unwrap(); assert_eq!(bytes.len(), 301); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> std::string::String { let buffer = Self::encode_single(); let start = SystemTime::now(); let location = String("location".into()); let url = String("http://arstechnica.com".into()); for _x in 0..LOOPS { let container = read_value_ref(&mut &buffer[..]).unwrap(); match &container { Map(foobarcontainer) => { let location = foobarcontainer.iter().position(|(key, _value)| { key == &location }).unwrap(); assert_eq!(&foobarcontainer[location].1, &url); }, _ => panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] pub fn find<'find>(container: &'find Vec<(rmpv::ValueRef, rmpv::ValueRef)>, key: &str) -> &'find rmpv::ValueRef<'find> { let k = String(key.into()); let idx = container.iter().position(|(key, _value)| { key == &k }).unwrap(); &container[idx].1 } #[inline(always)] pub fn find_mut<'find>(container: &'find mut Vec<(rmpv::Value, rmpv::Value)>, key: &str) -> &'find mut rmpv::Value { let k = rmpv::Value::String(key.into()); let idx = container.iter().position(|(key, _value)| { key == &k }).unwrap(); &mut container[idx].1 } pub fn decode_bench(base: u128) -> std::string::String { let buffer = Self::encode_single(); let start = SystemTime::now(); let hello_world = String("Hello, World!".into()); let ars_technica = String("http://arstechnica.com".into()); for _x in 0..LOOPS { let container = read_value_ref(&mut &buffer[..]).unwrap(); match &container { Map(foobarcontainer) => { assert_eq!(Self::find(foobarcontainer, "location"), &ars_technica); assert_eq!(Self::find(foobarcontainer, "fruit"), &Integer(2u8.into())); assert_eq!(Self::find(foobarcontainer, "initialized"), &Boolean(true)); let mut loops = 0; if let Array(list) = Self::find(foobarcontainer, "list") { list.iter().enumerate().for_each(|(x, value)| { loops += 1; if let Map(foobar) = value { assert_eq!(Self::find(foobar, "name"), &hello_world); assert_eq!(Self::find(foobar, "rating"), &F64((3.1415432432445543543 + (x as f64)).into())); assert_eq!(Self::find(foobar, "postfix"), &String("!".into())); if let Map(bar) = Self::find(foobar, "sibling") { assert_eq!(Self::find(bar, "time"), &Integer((123456 + (x as i32)).into())); assert_eq!(Self::find(bar, "ratio"), &F32((3.14159 + (x as f32)).into())); assert_eq!(Self::find(bar, "size"), &Integer((10000 + (x as u16)).into())); } else { panic!() } } else { panic!() } }); } else { panic!() } assert!(loops == 3); }, _ => panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_messagepack_rs.rs ================================================ use crate::LOOPS; use messagepack_rs::{deserializable::Deserializable, serializable::Serializable, value::Value}; use std::io::{BufReader, Cursor}; use std::collections::BTreeMap; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; pub struct MessagePackRSBench(); impl MessagePackRSBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("MessagePack: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 296); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector = Vec::new(); for x in 0..3 { let mut bar = BTreeMap::new(); bar.insert(String::from("time"), Value::from(123456 + (x as i32))); bar.insert(String::from("ratio"), Value::from(3.14159 + (x as f32))); bar.insert(String::from("size"), Value::from(10000 + (x as u16))); let mut foobar = BTreeMap::new(); foobar.insert(String::from("name"), Value::from("Hello, World!")); foobar.insert(String::from("sibling"), Value::from(bar)); foobar.insert(String::from("rating"), Value::from(3.1415432432445543543 + (x as f64))); foobar.insert(String::from("postfix"), Value::from("!".as_bytes()[0])); vector.push(Value::from(foobar)); } let mut foobarcontainer = BTreeMap::new(); foobarcontainer.insert(String::from("fruit"), Value::from(2u8)); foobarcontainer.insert(String::from("initialized"), Value::from(true)); foobarcontainer.insert(String::from("location"), Value::from("http://arstechnica.com")); foobarcontainer.insert(String::from("list"), Value::from(vector)); Value::from(foobarcontainer).serialize().unwrap() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut container = Value::deserialize(&mut BufReader::new(Cursor::new(buffer.clone()))).unwrap(); match &mut container { Value::Map(foobarcontainer) => { if let Value::Array(list) = foobarcontainer.get_mut("list").unwrap() { list.iter_mut().enumerate().for_each(|(x, value)| { if x == 0 { if let Value::Map(foobar) = value { foobar.insert(String::from("name"), Value::from("bob")); } else { panic!() } } }); } else { panic!() } }, _ => panic!() } assert_eq!(container.serialize().unwrap().len(), 286); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = Value::deserialize(&mut BufReader::new(Cursor::new(buffer.clone()))).unwrap(); match &container { Value::Map(foobarcontainer) => { if let Value::String(location) = foobarcontainer.get("location").unwrap() { assert_eq!(location, &String::from("http://arstechnica.com")); } else { panic!() } }, _ => panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); let hello_world = String::from("Hello, World!"); let ars_technica = String::from("http://arstechnica.com"); for _x in 0..LOOPS { let container = Value::deserialize(&mut BufReader::new(Cursor::new(buffer.clone()))).unwrap(); match &container { Value::Map(foobarcontainer) => { if let Value::String(location) = foobarcontainer.get("location").unwrap() { assert_eq!(location, &ars_technica); } else { panic!() } if let Value::UInt8(fruit) = foobarcontainer.get("fruit").unwrap() { assert_eq!(fruit, &2u8); } else { panic!() } if let Value::Bool(init) = foobarcontainer.get("initialized").unwrap() { assert_eq!(init, &true); } else { panic!() } let mut loops = 0; if let Value::Array(list) = foobarcontainer.get("list").unwrap() { list.iter().enumerate().for_each(|(x, value)| { loops += 1; if let Value::Map(foobar) = value { if let Value::String(name) = foobar.get("name").unwrap() { assert_eq!(name, &hello_world); } else { panic!() } if let Value::Float64(rating) = foobar.get("rating").unwrap() { assert_eq!(rating, &(3.1415432432445543543 + (x as f64))); } else { panic!() } if let Value::UInt8(postfix) = foobar.get("postfix").unwrap() { assert_eq!(postfix, &"!".as_bytes()[0]); } else { panic!() } if let Value::Map(bar) = foobar.get("sibling").unwrap() { if let Value::UInt8(time) = bar.get("time").unwrap() { assert_eq!(time, &(64 + x as u8)); } else { panic!(); } if let Value::Float32(ratio) = bar.get("ratio").unwrap() { assert_eq!(ratio, &(3.14159 + (x as f32))); } else { panic!() } if let Value::UInt16(size) = bar.get("size").unwrap() { assert_eq!(size, &(10000 + (x as u16))); } else { panic!() } } else { panic!() } } else { panic!() } }); } else { panic!() } assert!(loops == 3); }, _ => panic!() } } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("MessagePack: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_no_proto.rs ================================================ use crate::LOOPS; use no_proto::{error::NP_Error}; use no_proto::NP_Factory; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; static SCHEMA: [u8; 135] = [21u8, 4, 4, 108, 105, 115, 116, 0, 83, 23, 21, 4, 4, 110, 97, 109, 101, 0, 6, 2, 0, 0, 0, 0, 0, 6, 114, 97, 116, 105, 110, 103, 0, 2, 12, 0, 7, 112, 111, 115, 116, 102, 105, 120, 0, 6, 2, 0, 0, 1, 0, 0, 7, 115, 105, 98, 108, 105, 110, 103, 0, 30, 21, 3, 4, 116, 105, 109, 101, 0, 2, 10, 0, 5, 114, 97, 116, 105, 111, 0, 2, 12, 0, 4, 115, 105, 122, 101, 0, 2, 9, 0, 11, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 0, 2, 15, 0, 8, 108, 111, 99, 97, 116, 105, 111, 110, 0, 6, 2, 0, 0, 0, 0, 0, 5, 102, 114, 117, 105, 116, 0, 2, 8, 0]; pub struct NoProtoBench(); impl NoProtoBench { pub fn setup_bench() -> u128 { let start = SystemTime::now(); let factory = Self::get_factory().unwrap(); let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("NoProto: setup: {:?}", time.as_micros() as f64 / 1000f64); time.as_micros() } pub fn size_bench() -> (usize, usize) { let factory = NoProtoBench::get_factory().unwrap(); let encoded = Self::encode_single(&factory).unwrap(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("NoProto: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench() -> Result<(u128, String), NP_Error> { let factory = NoProtoBench::get_factory()?; let start = SystemTime::now(); for _x in 0..LOOPS { let new_buffer = NoProtoBench::encode_single(&factory)?; assert_eq!(new_buffer.len(), 308); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("NoProto: {:>9.0} ops/ms 1.00", LOOPS as f64 / time.as_millis() as f64); Ok((time.as_micros(), format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64))) } pub fn update_bench() -> Result<(u128, String), NP_Error> { let factory = NoProtoBench::get_factory()?; let new_buffer = NoProtoBench::encode_single(&factory)?; let start = SystemTime::now(); for _x in 0..LOOPS { let mut new_buff = factory.open_buffer(new_buffer.clone()); new_buff.set(&["list", "0", "name"], "bob")?; // new_buff.compact(None)?; assert_eq!(new_buff.finish().bytes().len(), 308); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("NoProto: {:>9.0} ops/ms 1.00", LOOPS as f64 / time.as_millis() as f64); Ok((time.as_micros(), format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64))) } #[inline(always)] fn get_factory() -> Result { // NP_Factory::new_bytes(&SCHEMA) NP_Factory::new(r#" struct({fields: { list: list({of: struct({fields: { name: string(), rating: float(), postfix: string({size: 1}), sibling: struct({fields: { time: u32(), ratio: float(), size: u16() }}) }})}), initialized: bool(), location: string(), fruit: u8() }}) "#) // NP_Factory::new_json(r#"{ // "type": "table", // "columns": [ // ["list", {"type": "list", "of": { // "type": "table", // "columns": [ // ["name", {"type": "string"}], // ["rating", {"type": "float"}], // ["postfix", {"type": "string", "size": 1}], // ["sibling", {"type": "table", "columns": [ // ["time", {"type": "u32"}], // ["ratio", {"type": "float"}], // ["size", {"type": "u16"}] // ]}] // ] // }}], // ["initialized", {"type": "bool"}], // ["location", {"type": "string"}], // ["fruit", {"type": "u8"}] // ] // }"#) } pub fn decode_one_bench() -> Result<(u128, String), NP_Error> { let factory = NoProtoBench::get_factory()?; let new_buffer = NoProtoBench::encode_single(&factory)?; let start = SystemTime::now(); for _x in 0..LOOPS { let new_buff = factory.open_buffer_ref(&new_buffer); assert_eq!(new_buff.get(&["location"])?, Some("http://arstechnica.com")); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("NoProto: {:>9.0} ops/ms 1.00", LOOPS as f64 / time.as_millis() as f64); Ok((time.as_micros(), format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64))) } pub fn decode_bench() -> Result<(u128, String), NP_Error> { let factory = NoProtoBench::get_factory()?; let new_buffer = NoProtoBench::encode_single(&factory)?; let start = SystemTime::now(); for _x in 0..LOOPS { let mut new_buff = factory.open_buffer_ref(&new_buffer); assert_eq!(new_buff.get(&["initialized"])?, Some(true)); assert_eq!(new_buff.get(&["location"])?, Some("http://arstechnica.com")); assert_eq!(new_buff.get(&["fruit"])?, Some(2u8)); let mut loops = 0; for (x1, x) in [("0", 0), ("1", 1), ("2", 2)].iter() { loops += 1; new_buff.cursor_to_root(); new_buff.move_cursor(&["list", x1])?; assert_eq!(new_buff.get(&["name"])?, Some("Hello, world!")); assert_eq!(new_buff.get(&["rating"])?, Some(3.1415432432445543543 + (*x as f32))); assert_eq!(new_buff.get(&["postfix"])?, Some("!")); new_buff.move_cursor(&["sibling"])?; assert_eq!(new_buff.get(&["time"])?, Some(123456 + (*x as u32))); assert_eq!(new_buff.get(&["ratio"])?, Some(3.14159 + (*x as f32))); assert_eq!(new_buff.get(&["size"])?, Some(10000 + (*x as u16))); } assert!(loops == 3); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("NoProto: {:>9.0} ops/ms 1.00", LOOPS as f64 / time.as_millis() as f64); Ok((time.as_micros(), format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64))) } #[inline(always)] pub fn encode_single(factory: &NP_Factory) ->Result, NP_Error> { let mut new_buffer = factory.new_buffer(None); new_buffer.set(&["initialized"], true)?; new_buffer.set(&["location"], "http://arstechnica.com")?; new_buffer.set(&["fruit"], 2u8)?; for (x1, x) in [("0", 0), ("1", 1), ("2", 2)].iter() { new_buffer.cursor_to_root(); new_buffer.move_cursor(&["list", x1])?; new_buffer.set(&["name"], "Hello, world!")?; new_buffer.set(&["rating"], 3.1415432432445543543 + (*x as f32))?; new_buffer.set(&["postfix"], "!")?; new_buffer.move_cursor(&["sibling"])?; new_buffer.set(&["time"], 123456 + (*x as u32))?; new_buffer.set(&["ratio"], 3.14159 + (*x as f32))?; new_buffer.set(&["size"], 10000 + (*x as u16))?; } Ok(new_buffer.finish().bytes()) } } ================================================ FILE: bench/src/run_bench_postcard.rs ================================================ use crate::LOOPS; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use serde::{Serialize, Deserialize}; use postcard; #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)] enum Fruit { Apples, Pears, Bananas } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBar<'fb> { sibling: Bar, name: &'fb str, rating: f64, postfix: char } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBarContainer<'con> { list: Vec>, initialized: bool, fruit: Fruit, location: &'con str } pub struct PostcardBench(); impl PostcardBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Postcard: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 128); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Postcard: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: "Hello, world!", rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: "http://arstechnica.com", fruit: Fruit::Apples, initialized: true, list: vector }; postcard::to_stdvec(&foobar_c).unwrap() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut decoded: FooBarContainer = postcard::from_bytes(&buffer[..]).unwrap(); decoded.list[0].name = "bob"; let encoded = postcard::to_stdvec(&decoded).unwrap(); assert_eq!(encoded.len(), 118); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Postcard: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = postcard::from_bytes(&buffer[..]).unwrap(); assert_eq!(decoded.location, "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Postcard: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let mut buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = postcard::from_bytes(&buffer[..]).unwrap(); let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location, "http://arstechnica.com"); assert_eq!(decoded.fruit, Fruit::Apples); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Postcard: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_prost.rs ================================================ use crate::LOOPS; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use prost::*; #[derive(Clone, PartialEq, ::prost::Message)] pub struct Bar { #[prost(int32, required, tag="2")] pub time: i32, #[prost(float, required, tag="3")] pub ratio: f32, #[prost(uint32, required, tag="4")] pub size: u32, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct FooBar { #[prost(message, optional, tag="1")] pub sibling: ::core::option::Option, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(double, optional, tag="3")] pub rating: ::core::option::Option, #[prost(uint32, optional, tag="4")] pub postfix: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct FooBarContainer { /// 3 copies of the above #[prost(message, repeated, tag="1")] pub list: ::prost::alloc::vec::Vec, #[prost(bool, optional, tag="2")] pub initialized: ::core::option::Option, #[prost(enumeration="Enum", optional, tag="3")] pub fruit: ::core::option::Option, #[prost(string, optional, tag="4")] pub location: ::core::option::Option<::prost::alloc::string::String>, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum Enum { Apples = 0, Pears = 1, Bananas = 2, } pub struct ProstBench(); impl ProstBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Prost: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 154); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Prost: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u32) }; let foobar = FooBar { sibling: Some(bar), name: Some(String::from("Hello, world!")), rating: Some(3.1415432432445543543 + (x as f64)), postfix: Some("!".as_bytes()[0] as u32) }; vector.push(foobar); } let foobar_c = FooBarContainer { location: Some(String::from("http://arstechnica.com")), fruit: Some(Enum::Apples as i32), initialized: Some(true), list: vector }; let mut bytes = Vec::new(); foobar_c.encode(&mut bytes).unwrap(); bytes } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut decoded: FooBarContainer = FooBarContainer::decode(&buffer[..]).unwrap(); decoded.list[0].name = Some(String::from("bob")); let mut bytes = Vec::new(); decoded.encode(&mut bytes).unwrap(); assert_eq!(bytes.len(), 144); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Prost: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let start = SystemTime::now(); let buffer = Self::encode_single(); let value = Some(String::from("http://arstechnica.com")); for _x in 0..LOOPS { let decoded: FooBarContainer = FooBarContainer::decode(&buffer[..]).unwrap(); assert_eq!(decoded.location, value); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Prost: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); let hello_world = Some(String::from("Hello, world!")); let ars_technica = Some(String::from("http://arstechnica.com")); for _x in 0..LOOPS { let decoded: FooBarContainer = FooBarContainer::decode(&buffer[..]).unwrap(); let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; match foobar.sibling.as_ref() { Some(old_bar) => { assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u32)); }, None => panic!() } assert_eq!(foobar.name, hello_world); assert_eq!(foobar.rating, Some(3.1415432432445543543 + (x as f64))); assert_eq!(foobar.postfix, Some("!".as_bytes()[0] as u32)); }); assert!(loops == 3); assert_eq!(decoded.location, ars_technica); assert_eq!(decoded.fruit, Some(Enum::Apples as i32)); assert_eq!(decoded.initialized, Some(true)); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Prost: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_protocol_buffers.rs ================================================ use crate::LOOPS; use crate::bench_pb::FooBarContainer; use crate::bench_pb::FooBar; use crate::bench_pb::Bar; use crate::bench_pb::Enum; use crate::protobuf::Message; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; pub struct ProtocolBufferBench(); impl ProtocolBufferBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Protobuf: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()); } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 154); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Protobuf: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut foobarcontainer = FooBarContainer::new(); let mut foobarlist: protobuf::RepeatedField = protobuf::RepeatedField::new(); for y in 0..3 { let mut foobar = FooBar::new(); foobar.set_name(String::from("Hello, World!")); foobar.set_rating(3.1415432432445543543 + y as f64); foobar.set_postfix("!".as_bytes()[0] as u32); let mut bar = Bar::new(); bar.set_time(123456 + y as i32); bar.set_ratio(3.14159f32 + y as f32); bar.set_size(10000 + y as u32); foobar.set_sibling(bar); foobarlist.push(foobar); } foobarcontainer.set_location(String::from("http://arstechnica.com")); foobarcontainer.set_initialized(true); foobarcontainer.set_fruit(Enum::Apples); foobarcontainer.set_list(foobarlist); let mut bytes: Vec = Vec::new(); let mut message = protobuf::CodedOutputStream::vec(&mut bytes); foobarcontainer.compute_size(); foobarcontainer.write_to_with_cached_sizes(&mut message).unwrap(); message.flush().unwrap(); bytes } pub fn update_bench(base: u128) -> String { let start = SystemTime::now(); let buffer = Self::encode_single(); for _x in 0..LOOPS { let old_foo_bar: FooBarContainer = protobuf::parse_from_bytes(&buffer).unwrap(); let mut foobarcontainer = FooBarContainer::new(); let mut foobarlist: protobuf::RepeatedField = protobuf::RepeatedField::new(); old_foo_bar.get_list().iter().enumerate().for_each(|(idx, old_foo_b)| { let mut foobar = FooBar::new(); if idx == 0 { // our update foobar.set_name(String::from("bob")); } else { foobar.set_name(old_foo_b.get_name().to_string()); } foobar.set_rating(old_foo_b.get_rating()); foobar.set_postfix(old_foo_b.get_postfix()); let old_bar = old_foo_b.get_sibling(); let mut bar = Bar::new(); bar.set_time(old_bar.get_time()); bar.set_ratio(old_bar.get_ratio()); bar.set_size(old_bar.get_size()); foobar.set_sibling(bar); foobarlist.push(foobar); }); foobarcontainer.set_location(old_foo_bar.get_location().to_string()); foobarcontainer.set_initialized(old_foo_bar.get_initialized()); foobarcontainer.set_fruit(old_foo_bar.get_fruit()); foobarcontainer.set_list(foobarlist); let mut bytes: Vec = Vec::new(); let mut message = protobuf::CodedOutputStream::vec(&mut bytes); foobarcontainer.compute_size(); foobarcontainer.write_to_with_cached_sizes(&mut message).unwrap(); message.flush().unwrap(); assert_eq!(bytes.len(), 144); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Protobuf: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let start = SystemTime::now(); let buffer = Self::encode_single(); for _x in 0..LOOPS { let old_foo_bar: FooBarContainer = protobuf::parse_from_bytes(&buffer).unwrap(); assert_eq!(old_foo_bar.get_location(), "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Protobuf: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let start = SystemTime::now(); let buffer = Self::encode_single(); for _x in 0..LOOPS { let old_foo_bar: FooBarContainer = protobuf::parse_from_bytes(&buffer).unwrap(); let mut loops = 0; old_foo_bar.get_list().iter().enumerate().for_each(|(y, old_foo_b)| { loops += 1; assert_eq!(old_foo_b.get_name(), "Hello, World!"); assert_eq!(old_foo_b.get_rating(), 3.1415432432445543543 + y as f64); assert_eq!(old_foo_b.get_postfix(), "!".as_bytes()[0] as u32); let old_bar = old_foo_b.get_sibling(); assert_eq!(old_bar.get_time(), 123456 + y as i32); assert_eq!(old_bar.get_ratio(), 3.14159f32 + y as f32); assert_eq!(old_bar.get_size(), 10000 + y as u32); }); assert!(loops == 3); assert_eq!(old_foo_bar.get_location(), "http://arstechnica.com"); assert_eq!(old_foo_bar.get_initialized(), true); assert_eq!(old_foo_bar.get_fruit(), Enum::Apples); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Protobuf: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_rawbson.rs ================================================ use crate::LOOPS; use std::{io::prelude::*}; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use rawbson::{ Doc, elem, }; use bson::*; pub struct RawBSONBench(); impl RawBSONBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Raw BSON: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 414); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Raw BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut bson_object = doc!{ "fruit": 2i32, "initialized": true, "location": "http://arstechnica.com", "list": [] }; for x in 0..3 { let list = bson_object.get_array_mut("list").unwrap(); list.push(bson!({ "name": "Hello, World!", "rating": 3.1415432432445543543 + (x as f64), "postfix": "!", "sibling": { "time": 123456 + (x as i32), "ratio": 3.14159f64, "size": 10000 + (x as i32) } })); } let mut byte_array : Vec = vec![]; bson_object.to_writer(&mut byte_array).unwrap(); return byte_array } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut container = Document::from_reader(&mut std::io::Cursor::new(buffer.clone())).unwrap(); let list = container.get_array_mut("list").unwrap(); let first_list = list[0].as_document_mut().unwrap(); first_list.insert("name", "bob"); let mut byte_array : Vec = vec![]; container.to_writer(&mut byte_array).unwrap(); assert_eq!(byte_array.len(), 404); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Raw BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = Doc::new(&buffer[..]).unwrap(); assert_eq!(container.get_str("location").unwrap().unwrap(), "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Raw BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let container = Doc::new(&buffer[..]).unwrap(); assert_eq!(container.get_str("location").unwrap().unwrap(), "http://arstechnica.com"); assert_eq!(container.get_i32("fruit").unwrap().unwrap(), 2i32); assert_eq!(container.get_bool("initialized").unwrap().unwrap(), true); let mut loops = 0; container.get_array("list").unwrap().unwrap().into_iter().enumerate().for_each(|(x, foobar)| { loops += 1; let foobar = foobar.unwrap().as_document().unwrap(); assert_eq!(foobar.get_str("name").unwrap().unwrap(), "Hello, World!"); assert_eq!(foobar.get_f64("rating").unwrap().unwrap(), 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.get_str("postfix").unwrap().unwrap(), "!"); let sibling = foobar.get_document("sibling").unwrap().unwrap(); assert_eq!(sibling.get_i32("time").unwrap().unwrap(), 123456 + (x as i32)); assert_eq!(sibling.get_f64("ratio").unwrap().unwrap(), 3.14159f64); assert_eq!(sibling.get_i32("size").unwrap().unwrap(), 10000 + (x as i32)); }); for x in 0..3 { } assert!(loops == 3); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Raw BSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_rkyv.rs ================================================ use crate::{LOOPS}; use std::io::{Write, prelude::*}; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use rkyv::{Aligned, Archive, ArchiveBuffer, ArchiveWriter, Archived, Unarchive, Write as RkWrite, archived_ref, archived_value, archived_value_mut}; #[derive(Archive, PartialEq, Debug, Clone, Unarchive)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Archive, PartialEq, Debug, Clone, Unarchive)] struct FooBar { sibling: Bar, name: String, rating: f64, postfix: char } #[derive(Archive, PartialEq, Debug, Clone, Unarchive)] struct FooBarContainer { list: Vec, initialized: bool, fruit: u8, location: String } pub struct RkyvBench(); impl RkyvBench { pub fn size_bench() -> (usize, usize) { let (encoded, pos) = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Rkyv: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let (buffer, pos) = Self::encode_single(); assert_eq!(buffer.len(), 180); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Rkyv: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> (Vec, usize) { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: String::from("Hello, world!"), rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: String::from("http://arstechnica.com"), fruit: 2, initialized: true, list: vector }; let mut writer = ArchiveWriter::new(Vec::new()); let pos = writer.archive(&foobar_c).expect("failed to archive test"); (writer.into_inner(), pos) } pub fn update_bench(base: u128) -> String { let (buffer, pos) = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut decoded: FooBarContainer = unsafe { archived_value::(&buffer[..], pos) }.unarchive(); decoded.list[0].name = String::from("bob"); let mut writer = ArchiveWriter::new(Vec::new()); let pos = writer.archive(&decoded).expect("failed to archive test"); assert_eq!(writer.into_inner().len(), 172); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Rkyv: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let (buffer, pos) = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded = unsafe { archived_value::(&buffer[..], pos) }; assert_eq!(decoded.location, "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Rkyv: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let (buffer, pos) = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded = unsafe { archived_value::(&buffer[..], pos) }; let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location.as_str(), "http://arstechnica.com"); assert_eq!(decoded.fruit, 2); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Rkyv: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: bench/src/run_bench_serde_json.rs ================================================ use crate::LOOPS; use serde_json::Result; use std::io::prelude::*; use flate2::Compression; use flate2::write::ZlibEncoder; use std::time::{SystemTime}; use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)] enum Fruit { Apples, Pears, Bananas } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct Bar { time: i32, ratio: f32, size: u16 } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBar { sibling: Bar, name: String, rating: f64, postfix: char } #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] struct FooBarContainer { list: Vec, initialized: bool, fruit: Fruit, location: String } pub struct SerdeJSONBench(); impl SerdeJSONBench { pub fn size_bench() -> (usize, usize) { let encoded = Self::encode_single(); let mut e = ZlibEncoder::new(Vec::new(), Compression::default()); e.write(&encoded[..]).unwrap(); let compressed = e.finish().unwrap(); println!("Serde JSON: size: {}b, zlib: {}b", encoded.len(), compressed.len()); return (encoded.len(), compressed.len()) } pub fn encode_bench(base: u128) -> String { let start = SystemTime::now(); for _x in 0..LOOPS { let buffer = Self::encode_single(); assert_eq!(buffer.len(), 446); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Serde JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } #[inline(always)] fn encode_single() -> Vec { let mut vector: Vec = Vec::new(); for x in 0..3 { let bar = Bar { time: 123456 + (x as i32), ratio: 3.14159 + (x as f32), size: 10000 + (x as u16) }; let foobar = FooBar { sibling: bar, name: String::from("Hello, world!"), rating: 3.1415432432445543543 + (x as f64), postfix: '!' }; vector.push(foobar); } let foobar_c = FooBarContainer { location: String::from("http://arstechnica.com"), fruit: Fruit::Apples, initialized: true, list: vector }; serde_json::to_string(&foobar_c).unwrap().as_bytes().to_vec() } pub fn update_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let mut decoded: FooBarContainer = serde_json::from_reader(&buffer[..]).unwrap(); decoded.list[0].name = String::from("bob"); let encoded = serde_json::to_string(&decoded).unwrap().as_bytes().to_vec(); assert_eq!(encoded.len(), 436); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Serde JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_one_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = serde_json::from_reader(&buffer[..]).unwrap(); assert_eq!(decoded.location, "http://arstechnica.com"); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Serde JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } pub fn decode_bench(base: u128) -> String { let buffer = Self::encode_single(); let start = SystemTime::now(); for _x in 0..LOOPS { let decoded: FooBarContainer = serde_json::from_reader(&buffer[..]).unwrap(); let mut loops = 0; decoded.list.iter().enumerate().for_each(|(x, foobar)| { loops += 1; let old_bar = &foobar.sibling; assert_eq!(old_bar.time, 123456 + (x as i32)); assert_eq!(old_bar.ratio, 3.14159 + (x as f32)); assert_eq!(old_bar.size, 10000 + (x as u16)); assert_eq!(foobar.name, "Hello, world!"); assert_eq!(foobar.rating, 3.1415432432445543543 + (x as f64)); assert_eq!(foobar.postfix, '!'); }); assert!(loops == 3); assert_eq!(decoded.location, "http://arstechnica.com"); assert_eq!(decoded.fruit, Fruit::Apples); assert_eq!(decoded.initialized, true); } let time = SystemTime::now().duration_since(start).expect("Time went backwards"); println!("Serde JSON: {:>9.0} ops/ms {:.2}", LOOPS as f64 / time.as_millis() as f64, (base as f64 / time.as_micros() as f64)); format!("{:>6.0}", LOOPS as f64 / time.as_millis() as f64) } } ================================================ FILE: examples/quick.rs ================================================ use no_proto::{error::NP_Error, NP_Factory}; fn main() -> Result<(), NP_Error> { // JSON is used to describe schema for the factory // Each factory represents a single schema // One factory can be used to serialize/deserialize any number of buffers let user_factory = NP_Factory::new(r#"{ "type": "table", "columns": [ ["name", {"type": "string"}], ["age", {"type": "u16", "default": 0}], ["tags", {"type": "list", "of": { "type": "string" }}] ] }"#)?; println!("\n= Quick Example =\n"); // create a new empty buffer let user_buffer = user_factory // optional capacity, optional address size (u16 by default) .empty_buffer(None); // close buffer and get internal bytes let user_bytes: Vec = user_buffer.close(); // show bytes (empty) println!("bytes: {:?}", user_bytes); // open the buffer again let mut user_buffer = user_factory.open_buffer(user_bytes); // set an internal value of the buffer, set the "name" column user_buffer.set(&["name"], "Billy Joel")?; // get an internal value of the buffer from the "name" column let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); println!("\nname: {}", name.unwrap()); // show bytes let user_bytes: Vec = user_buffer.close(); println!("bytes: {:?}", user_bytes); let mut user_buffer = user_factory.open_buffer(user_bytes); user_buffer.compact(None)?; // assign nested internal values, sets the first tag element user_buffer.set(&["tags", "0"], "first tag")?; // get nested internal value, first tag from the tag list let tag = user_buffer.get::<&str>(&["tags", "0"])?; assert_eq!(tag, Some("first tag")); println!("\ntag: {}", tag.unwrap()); // show bytes let user_bytes: Vec = user_buffer.close(); println!("bytes: {:?}", user_bytes); let user_buffer = user_factory.open_buffer(user_bytes); // get nested internal value, the age field let age = user_buffer.get::(&["age"])?; // returns default value from schema assert_eq!(age, Some(0u16)); println!("\nage: {}", age.unwrap()); // close again let user_bytes: Vec = user_buffer.close(); // we can now save user_bytes to disk, // send it over the network, or whatever else is needed with the data println!("bytes: {:?}", user_bytes); Ok(()) } ================================================ FILE: idl.graphql ================================================ # WIP IDL ideas... spec { id: "My Schema", author: "Scoot Loot", version: 1.2 } import "../file" # comment struct self::position () { x: X, y: X } struct user { name: string (default: "Billy"), age: u32, email: Option, other_user: struct { name: String, email: String }, position: self::position, posts: list { post } } Vec> myType; struct post { title: string, content: string } impl user () { fn get_user() -> Result } list self::user_list () { string } union self::union () { opt1: string opt2: string2 } enum myEnum () { red, orange, yellow } enum Option (dflt: None) { None Some(X) } enum Result (id: 12, dflt: Unset) { Unset Ok(X), Err(Y), Something { value: u32, another: u32 } } string namedString (id: 2, size: 20, default: 'hello') tuple someTuple (id: 3, sorted: true) { string, string, string } // // this is a comment // struct({fiels: { // name: string({default: "default value here", size: 20}), // tags: list({of: string()}), // tuple: tuple({sorted: true, values: [string(), string(), string()]}), // map: map({values: string()}), // // another comment // enum: option({default: "red", choices: ["red", "blue", "orange"]}), // p: portal({to: "map"}), // nested: struct({fiels: { // name: string(), // value: u32({default: 20}), // geo: geo({size: 4, default: {lat: 20, lng: 20.28}}), // }}) // }}); // rpc_spec({ // name: "Test API", // author: "hello", // version: "1.0.0", // spec: (self, mod) => { // msg("send_name", struct()); // rpc("your_face", fn(self.send_name), option(self.send_name)); // rpc("your_face", fn(self.argument), result(self.send_name, self.error)); // rpc("your_face", fn(self.argument), empty()); // mod("mod_name", (self) => { // }); // } // }); // struct({ // name: string(), // age: u16({default: 0}), // tags: list({of: string()}) // }); //! let user_factory = NP_Factory::new(r#"{ //! "type": "struct", //! "fields": [ //! ["name", {"type": "string"}], //! ["age", {"type": "u16", "default": 0}], //! ["tags", {"type": "list", "of": { //! "type": "string" //! }}] //! ] //! }"#)?; ================================================ FILE: no_proto_js/Cargo.toml ================================================ [package] name = "no_proto_js" version = "0.1.0" authors = ["Scott Lott "] edition = "2018" [package.metadata.wasm-pack.profile.release] wasm-opt = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] crate-type = ["cdylib"] [dependencies] wasm-bindgen = "0.2" wee_alloc = "0.4.5" [profile.release] lto = true opt-level = 'z' ================================================ FILE: no_proto_js/out.txt ================================================ (module (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_i32_i32_i64_i64_i32_=>_none (func (param i32 i32 i32 i32 i32 i64 i64 i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_none (func)) (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) (type $i32_i64_=>_none (func (param i32 i64))) (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) (type $i32_=>_i64 (func (param i32) (result i64))) (type $f64_=>_f64 (func (param f64) (result f64))) (type $i32_i32_i32_i32_i64_i64_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i64 i64 i32 i32 i32 i32))) (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) (type $i32_i64_i64_=>_none (func (param i32 i64 i64))) (type $i32_i64_i64_i64_i64_=>_none (func (param i32 i64 i64 i64 i64))) (type $i32_f64_=>_none (func (param i32 f64))) (type $i32_i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32 i32) (result i32))) (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) (type $i32_=>_f64 (func (param i32) (result f64))) (type $i32_i32_i64_f64_=>_f64 (func (param i32 i32 i64 f64) (result f64))) (import "./no_proto_js_bg.js" "__wbindgen_throw" (func $wasm_bindgen::__wbindgen_throw::h14423dcd903c052c (param i32 i32))) (memory $0 17) (data (i32.const 1048576) "/Users/scottlott/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/str/pattern.rs\00\00\00\10\00s\00\00\00\b0\01\00\00&\00\00\00src/json_flex.rs\84\00\10\00\10\00\00\00@\00\00\00\10\00\00\00\84\00\10\00\10\00\00\00A\00\00\00\11\00\00\00\84\00\10\00\10\00\00\00N\00\00\00\10\00\00\00\84\00\10\00\10\00\00\00O\00\00\00\"\00\00\00\84\00\10\00\10\00\00\00\t\02\00\00\17\00\00\00 \00\00\00nullJSON Parse ErrorfalsetrueJSON Parse Error: Unknown chain from Arraycapacity overflowP\01\10\00\1c\00\00\00\19\02\00\00\05\00\00\00library/alloc/src/raw_vec.rsassertion failed: e >= table::MIN_E\00\9a\1a\10\00)\00\00\00\11\00\00\00\05\00\00\00<\a8\ab)).\b6\e0&I\0b\ba\d9\dcq\8co\1b\8e(\10T\8e\afK\a2\b12\14\e9q\dbo\05\af\9f\ac1\'\89\ca\c6\9a\c7\17\fep\ab}x\81\b9\9d=M\d6N\eb\f0\93\82F\f0\85\"&\ed8#Xl\a7\aao(\07,nG\d1\caEy\84\db\a4\cc\82=\97\97e\12\ce\7f\a3\0c}\fd\fe\96\c1_\ccO\dc\bc\be\fc\b1w\ff\b1\t6\f7=\cf\aa\9f\1e\8c\03u\0d\83\95\c7%oD\d2\d0\e3z\f9w\c5j\83b\ce\ec\9b\d5vE$\fb\01\e8\c2\8a\d4V\edy\02\a2\f3\d7DV4\8cAE\98\0c\d6kA\ef\91V\be\8f\cb\c6\11k6\ec\ed9?\1c\eb\02\a2\b3\94\08O\e3\a5\83\8a\e0\b9\ca\"\\\8f$\adX\e8\be\95\99\d96l7\91.\fb\ff\8fDG\85\b5\f9\f9\ff\b3\15\99\e6\e2<\fc\7f\90\ad\1f\d0\8dK\fb\9f\f4\98\'D\b1\1d\fa\c71\7f1\95\ddR\fc\1c\7f\ef>}\8ag;\e4^\ab\8e\1c\adAJ\9d6V\b2c\d8hN\"\e2uO>\87\02\e2\aaZS\e3\0d\a9\83\9aU1(\\Q\d3\92\80\d5\1e\99\d9\12\84\b6\e0\8af\ff\8f\17\a5\e4\98-@\ffs]\ce\8e\7f\1c\88\7fh\fa\80r\9f#j\9f\029\a1O\87\acDGC\87\c9\"\a9\d7\15\19\14\e9\fb\b5\c9\a6\ad\8f\acq\9d#|\10\99\b3\17\ce\c4+\9bT\7f\a0\9d\01\f6\fb\e0\94O\84\02\c1\99:\19zc%C1\c0\88\9fX\bc\ee\93=\f0\b5c\b75u|&\96\a3<%\83\92\1b\b0\bb\cb\8b\ee#w\"\9c\ea_\17uv\8a\95\a1\927]\12\14\ed\faI\b7\85\f4\16Y\a8y\1c\e5\d3X\ae7\t\cc1\8f\08\ef\99\85\0b?\fe\b2\c9j\00g\ce\ce\bd\df\beB`\00A\a1\d6\8bmSx@\91I\cc\aeIh\96\90\f5[\7f\da-\01^zy\99\8f\88y\81\f5\d8\d7\7f\b3\aa\d7\e12\cf\cd_`\d5&\cd\7f\a1\e0;\\\85p\c0\df\c9\d8J\b3\a6\8c\b0W\fc\8e\1d`\d0W\ce\b6]y\12<\82\ed\81$\b5\17\17\cb\a2i\a2m\a2\dd\dc}\cb\03\0b\t\0b\15T]\fe\e2\a6\e5&\8dT\fa\9e\9a\10\9fp\b0\e9\b8\c6\c1\d4\c6\8c\1c$g\f8\f8D\fc\d7\91v@\9b7V\fbM6\94\10\c2\c4+z\e1C\b9\94\f2[[\ecl\ca\f3\9c\971r\'\08\bd0\84\bd\beN1J\ec<\e5\ec7\d1^\ae\13F\0f\94\84\85\f6\99\98\17\13\b9\e5&t\c0~\ddW\e7O\98H8o\ea\96\90c\beZ\06\0b\a5\bc\b4\fcm\f1\c7M\ce\eb\e1\bd\e4\f6\9c\f0`3\8d\ed\9d4\c4,9\80\b0h\c5A\f5wG\a0\dca\1bI\f9\aa,\e4\899b\9b\b7\d57]\ac\c7:\82%\cb\85t\d7\bddq\f7\9e\d3\a8\86\ec\bdM\b5\86\08S\a8g-\a1b\a8\cag\d2`\bc\a4=\a9\de\80\83x\eb\0d\8dS\16a\a4VfQp\e8[y\cd\f6\df2Fq\d9k\80\f4\97\bf\97\cd\cf\86\a0\f0}\af\fd\c0\83\a8\c8l]\1b=\b1\a4\d2\fad\1a1\c6\ee\a6\c3\9c\fd`\bdw\aa\90\f4\c3<\b9\ac\15\d5\b4\f1\f4\c5\f3\8b-\05\11\17\99\b7\f0\eexF\d5\\\bf\e5\ac*\17\98\n4\ef\0f\acz\0e\9f\86\80\95\13W\19\d2F\a8\e0\ba\d7\ac\9f\86X\d2\98\e9\06\cc#Tw\83\ff\91\08\bf,)Ud\7f\b6\ca\eewsj=\1f\e4>\f5*\88b\86\93\8e\8e\b25*\fbg8\b21\1f\c3\f4\f9\81\c6\de\7f\f3\f98<\11<\8b_p8G\8b\15\0b\aev\8c\06\19\ee\da\8d\d9\ca\17\a4\cf\d4\a8\f8\87\bc\1d\8d\03\n\d3\f6\a9+ep\84\cc\87t\d4;?\c6\d2\df\d4\c8\84\n\cfw\c7\17\n\fb\a5\cc\c2U\b9\9d\ccy\cf\c0\99\d5\93\e2\1f\ac\810\00\cb8\db\'\17\a2<\c0\fd\06\d2\f1\9c\caK0\bd\88F.D\fd/>v\15\ec\9cJ\9e\ba\cd\d3\1a\'D\dd\c5)\c1\88\e10\95T\f7\bax\f5\8c>\dd\94\9a\e8\d620\8e\14:\c1\a2\8c?\bc\b1\99\88\f1\e5\b7\a7\15\0f`\f5\96\de\a5\11\db\12\b8\b2\bcV\0f\d6\91\17f\df\eb\96\c9%\bb\ce\9fk\93\fb;\efi\c2\87F\b8\fa\nk\04\b3)X\e6\dc\e6\c2\e2\0f\1a\f7\8f\93\a0s\db\93\e0\f4\b3\b8\88P\d2\b8\18\f2\e0sUr\83sO\97\8c\d0\eaNdP#\bd\af\84\a5b}$l\ac\dbr\a7]\ce\96\c3K\89O\11\f5\81|\b4\9e\ab\a3Ur\a2\9ba\86\d6\86u\87E\01\fd\13\86\e7R\e9\96A\fc\98\a7\a1\a7\a3\fcQ;\7f\d1\c5H\e6=\13\85\ef\82\f6\da_\0dXf\ab\a3\b3\d1\b7\10\ee?\96\cc \c6\e5\94\e9\cf\bb\ff\d4\9b\0f\fd\f1a\d5\9f\c9\82S|n\ba\ca\c7{ch\1b\ni\bd\f9->!Q\a6a\16\9c\b8\8di\e5\0f\fa\1b\c3&\f1\c3\de\93\f8\e2\f3\b8v:k\\\dbm\98f\14\t\863R\89\be\7fY\8bg\c0\a6+\ee\f0\17\b7@8H\db\94\ec\dd\e4PF\1a\12\baf\15\1e\e5\d7\a0\96\e8`\cd2\ef\86$^\91\b8\80\ff\aa\a8\ad\b5\b5\e6`\bf\d5\12\19#\e3\90\9c\97\c5\ab\ef\f5\8d\b4\83\fd\b6\96ks\b1\a1\e4\bcd|F\d0\dd\e4\0e\f6\be\0d,\a2\8a\9e\92\b3.\11\b7J\adEw`z\d5d\9d\d8\8bJ|l\05_b\87.]\9b\c7\c6\f6:\a9y4\82yx\b4\89\d3\cc`\f1K\cb\106\84\ff\b8\ed\1e\fe\94C\a5>\'\a9\a6=z\94\ce\87\b8)\88f\cc\1c\81\a9&4*\80\ffc\a1S0\c14`\ff\bc\c9h|\f1A8?,\fc\c1\ed6)\83\a7\9b\9d1\a9\84\f3c\91\02\c5}\d3e\f0\bc5C\f6.\a4?\16\96\01\ea\99:\8d\cf\9b\fb\81d\c0\88p\c3\82z\a2}\f0U&\ba\91\8c\85N\96\eb\af(\b6\ef&\e2\bb\e5\db\b2\a3\ab\b0\da\eao\c9OFk\ae\c8\92\cb\bb\e3\17\06\daz\b7\be\aa\dc\9d\87\90Y\e5\b7\ea\a9\c2T\faW\8fdeT\f3\e9\f8-\b3\bd~)p$w\f9\df6\ef\19\c6v\ea\fb\8b\04k\a0w\14\e5\fa\ae\c5\85\88\95Y\9e\b9\da\9bSu\fd\f7\02\b4\88\82\a8\d2\fc\b5\03\e1\aa\a2R\07|\a3D\99\d5\a5\93\84-\e6\ca\7f\85\8f\b8\e5\b8\9f\bd\df\a6\b2&\1f\a7\07\ad\97\d00xs\c8$\cc^\82;V\90\fa-\7f\f6\a2\cak4y\f9\1e\b4\cb\bd\86\81\d7\b7&\a1\fe6\f4\b0\e62\b8$\9fD1]\a0?\e6\ed\c6\94}t\88\cf_\a9\f8}\ceH\b5\e1\dbi\9b\1c\02\9b\"\daRD\c2\a3\c2A\ab\90g\d5\f2\a6\19\tk\ba`\c5\97\0f`\cb\05\e9\b8\b6\bd\138>G#g$\ed\0c\e3\86\0cv\c06\94\cf\9b\a8\8f\93pD\b9\c3\c2\92s\b8\8c\95\e7\ba\b9;H\f3w\bd\90(\a8J\1a\f0\d5\ec\b42R\dd l\0b(\e2_S\8a\94#\07Y\8d7\e8\acy\ecH\af\b0E\"\18\98\'\1b\db\dck\15\0f\bf\f8\f0\08\8a\c6\da\d2\ee6-\8b\acw\91\87\aa\84\f8\ad\d7\eb\ba\94\eaR\bb\cc\86\a5\e99\a5\'\ea\7f\a8\0fd\88\8e\b1\e4\9f\d2\89>\15\f9\ee\ee\a3\83+\8eZ\b7\aa\ea\8c\a4\b611eU%\b0\cd\12\bf>_U\17\8e\80\d6n\0e\b7*\9d\b1\a0\8c\n\d2du\04\de\c8/\8d\06\be\92\85\15\fb=\18\c4\b6{s\ed\9cM\1eu\a4Z\d0(\c4\e0e\92Mq\043\f5\ac\7f{\d0\c6\e2?\99\97_\9a\84x\db\8f\bf}\f7\c0\a5V\d2s\ef\ae\9a\98\'vc\a8\95Y\c1~\b1S|\12\bb\b0q\de\9dh\1b\d7\e9\0e\07\abb!q&\92\d1\c8U\bbi\0d\b0\b6\06;+*\c4\10\\\e4\e3\04[\9az\8a\b9\8e\1c\c6\f1@\19\edg\b2\a37.\91_\e8\01\df\c6\e2\bc\ba;1a\8bx\1bl\a9\8a}9\aeV\"\c7S\ed\dc\c7\d9uu\\T\14\ea\1c\88\d3\92si\99$$\aa\88w\d0\c3\bf-\ad\d4\b5Jb\da\97<\ec\84b\dd\fa\d0\bdK\'\a6\ba\949E\ad\1e\b1\cf\f5\fcCK,\b3\ce\812\fc\14^\f7_B\a2>;\9a5\f5\f7\d2\ca\0e\ca\00\83\f2\b5\87\fdH~\e0\91\b7\d1t\9e\db\9dXv%\06\12\c6Q\c5\ee\d3\ae\87\96\f7S;uD\cd\14\be\9a\'\8a\92\95\00\9am\c1\b1,\f7\ba\80\00\c9\f1\ef{\datP\a0\1d\97\eb\1a\11\92d\08\e5\bc\a5a\95\b6}J\1e\ec\07]\1d\92\8e\ee\92\93I\b4\a462\aaw\b8[\e1M\c4\be\94\95\e6\d9\ac\b0:\f7|\1d\90\0f\d8\\\t5\dc$\b4\13\0e\b4KB\13.\e1\cc\88Po\t\cc\bc\8c\ff\aa$\cb\0b\ff\eb\af\bf\d5\ed\bd\ce\fe\e6\db\97\a5\b46A_p\89\fd\cea\84\11w\cc\ab\bcBz\e5\d5\94\bf\d6\b6il\af\05\bd7\86#\84G\1bG\ac\c5\a7,e\19\e2X\17\b7\d1;\dfO\8d\97n\12\83\n\d7\a3p=\n\d7\a3\cd\cc\cc\cc\cc\cc\cc\cc\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\a0\00\00\00\00\00\00\00\c8\00\00\00\00\00\00\00\fa\00\00\00\00\00\00@\9c\00\00\00\00\00\00P\c3\00\00\00\00\00\00$\f4\00\00\00\00\00\80\96\98\00\00\00\00\00 \bc\be\00\00\00\00\00(k\ee\00\00\00\00\00\f9\02\95\00\00\00\00@\b7C\ba\00\00\00\00\10\a5\d4\e8\00\00\00\00*\e7\84\91\00\00\00\80\f4 \e6\b5\00\00\00\a01\a9_\e3\00\00\00\04\bf\c9\1b\8e\00\00\00\c5.\bc\a2\b1\00\00@v:k\0b\de\00\00\e8\89\04#\c7\8a\00\00b\ac\c5\ebx\ad\00\80z\17\b7&\d7\d8\00\90\acn2x\86\87\00\b4W\n?\16h\a9\00\a1\ed\cc\ce\1b\c2\d3\a0\84\14@aQY\84\c8\a5\19\90\b9\a5o\a5:\0f \f4\'\8f\cb\ce\84\t\94\f8x9?\81\e5\0b\b96\d7\07\8f\a1\dfNg\04\cd\c9\f2\c9\96\"\81E@|o\fc\9e\b5p+\a8\ad\c5\9d\05\e3L6\12\197\c5\c7\1b\e0\c3V\df\84\f6\\\11l:\96\0b\13\9a\b3\15\07\c9{\ce\97\c0 \dbH\bb\1a\c2\bd\f0\f4\88\0d\b5P\99v\961\ebP\e2\a4?\14\bc\fd%\e5\1a\8eO\19\eb\be7\cf\d0\b8\d1\ef\92\ae\05\03\05\'\c6\ab\b7\19\c7C\c6\b0\b7\96\e5p\\\ea{\ce2~\8f\8c\f3\e4\1a\82\bf]\b3o0\9e\a1b/5\e0E\de\02\a5\9d=!\8c\d7\95C\0e\05\8d)\afL{\d4QF\f0\f3\da\10\cd$\f3+v\d8\88T\00\ee\ef\b6\93\0e\abh\80\e9\ab\a48\d2\d5A\f0q\ebfc\a3\85RlN\a6@<\0c\a7f\07\e2\cfPK\cf\d0\a0D\ed\81\12\8f\81\82\c8\95h\"\d7\f2!\a3:\bb\02\eb\8co\ea\cb\08j\c3%p\0b\e5\feE\"\9a\17&\'O\9f\d6\aa\80\9d\ef\f0\"\c7\8c\d5\e0\84+\ad\eb\f8w\85\0c3;L\93\9b\d5\a6\cf\ffI\1fx\c2\8b\90\c3\7f\1c\'\16\f3W:\da\cfq\d8\ed\97\ec\c8\d0C\8eN\e9\bd\'\fb\c4\d41\a2c\ed\f9\1c\fb$_E^\947\e49\ee\b6\d6u\b9D]\c8\a9dL\d3\e7K:\1d\ea\be\0f\e4\90\dd\88\a4\a4\ae\13\1d\b5\15\ab\cdM\9aXd\e2\ed\8a\a0p`\b7~\8d\a8\ad\c8\8c8e\de\b0\12\d9\fa\af\86\fe\15\dd\ab\c7\fc-\14\bf-\8a\96\f9{9\d9.\b9\ac\fc\f7\da\87\8fz\e7\d7\fd\da\e8\b4\99\ac\f0\86\bd\11#\"\c0\d7\ac\a8,\d6\ab*\b0\0d\d8\d2\dbe\ab\1a\8e\08\c7\83R?V\a1\b1\ca\b8\a4\'\cf\ab\t^\fd\e6\cdxa\0b\c6Z^\b0\80\d69\8ew\f1u\dc\a0L\c8q\d5m\93\13\c9_:\ceJIxX\fb{\e4\c0\ce-K\17\9d\9a\1dqB\f9\1d]\c4\01e\0d\93wet\f5 _\e8\bbj\bfh\99\e9v\e2jE\ef\c2\bf\a3\14\9b\c5\16\ab\b3\ef\e6\ec\80;\eeJ\d0\95\1f(a\ca\a9]D\bb\'r\f9<\14u\15\eaX\e7\1b\a6,iM\92.\e1\a2\cfw\c3\e0\b6z\99\8b\c3U\f4\98\e4\ec?7\9a\b5\98\df\8e\e7\0f\c5\00\e3~\97\b2\e1S\f6\c0\9b^=\dfm\f4\99X![\86\8b\88q\c0\ae\e9\f1g\ae\ea\8dp\1ad\ee\01\da\b2X\86\90\fe4A\88\df\ee\a74>\82Q\aa\96\ea\d1\c1\cd\e2\e5\d4\9e2#\99\c0\ad\0f\85F\ffk\bf0\99S\a6\17\ffF\ef|\7f\e8\cfn_\8c\15\aeO\f1\81Jw\ef\9a\99\a3m\a2\1cU\ab\01\80\0c\t\cbc*\16\02\a0O\cb\fd~\daM\01\c4\11\9f\9e\1eQ\a1\015\d6F\c6e\a5\tB\c2\8b\d8\f7_\07FiYW\e7\9a7\89\97\c3/-\a1\c1\85k}\b4{x\t\f23c\cePM\ebE\97\00\fc\01\a5 f\17\bd\00{B\ce\a8?]\ec\e0\8c\e9\80\c9G\ba\93\18\f0#\e1\bb\d9\a8\b8\1e\ecl\d9*\10\d3\e6\93\13\e4\c7\1a\eaC\90w\18\ddy\a1\e4T\b4\95^T\d8\c9\1dj\e1\1d\bb4\'\9eR\e2\8c\e4\e9\01\b1E\e7\1a\b0]dB\1d\17\a1!\dc\ba~Ir\ae\04\95\89i\de\db\0e\daE\fa\ab\03\d6\92\92P\d7\f8\d6\c2\c5\9b[\92\86[\863\b7\82\f26h\f2\a7\ffd#\afD\02\ef\d1\1f\1fv\edja5\83\e7\a6\d3\a8\c5\b9\02\a4\a1\90\08\137h\03\cdeZ\e5k\"!\"\80\fe\b0\de\06k\a9*\a0=]\96\c8\c5S5\c8\8d\f4\bb:\b7\a8B\fa\d8x\b5\84r\a9i\9c\0e\d7\e2%\cf\13\84\c3\d1\8c[\ef\c2\18e\f4\038\99\d5y/\bf\98\04\86\ffJX\fb\ee\be\85g\bf].\ba\aa\ee\b3\a0\97\fa\\\b4*\95\e0\88=9tau\ba\17\eb\8cG\d1\b9\12\e9\ef\12\b8\cc\"\b4\ab\91\aa\17\e6\7f+\a1\16\b6\95\9d\df_vI\9c\e3}\c2\eb\fb\e9\adA\8e\1c\b3\e6zd\19\d2\b1\e3_\a0\99\bd\9fF\de\ee;\04\80\d6#\ec\8a\eaJ\05 \cc,\a7\ad\a4\9d\06(\ff\f7\10\d9\87\"\04y\ff\9a\aa\87(+EW\bfA\95\a9\f2u\16-/\92\fa\d3\b7\t.|]\9b|\84%\8c9\db4\c2\9b\a5/\ef\07\12\c2\b2\02\cf}\f5DK\b9\afa\81\dc2\16\9e\a7\1b\ba\a1\93\bf\9b\85\91\a2(\cax\af\02\e75\cb\b2\fc\ab\ada\b0\01\bf\ef\9d\16\19z\1c\c2\aek\c5\\\9f\98\a3r\9a\c6\f6\99c?\a6\87 <\9a\80<\cf\8f\a9(\cb\c0\9f\0b\c3\f3\d3\f2\fd\f0D\e7Yx\c4\b7\9e\96\15ap\96\b5eF\bcZy\0c\fc\"\ffW\eb\d8\cb\87\ddu\ff\16\93\ce\be\e9TS\bf\dc\b7\82.$*(\ef\d3\e5\11\9dV\1ayu\a4\8fUD\ec`\d7\92\8d\b3kU\'9\8d\f7p\e0c\95\b8C\b8\9aF\8c\bb\ba\a6TfAX\afji\d0\e9\bfQ.\db\e2A\"\f2\17\f3\fc\88[\d2\aa\ee\dd/<\ab\f2\86Uj\d5;\0b\d6Wtube\05\c7\85m\d1\12\bb\be\c68\a7\c8\85\d7in\f8\06\d1\9d\b3&\02E[\a4\82\84`\b0B\16rM\a3\a5x\\\d3\9b\ce \cc\ce\963\c8B\02)\ffA> \bdi\a1y\9f\d1Mh,\c4\tX\c7Fa\8275\0c.\f9\cc|\b1B\a1\c7\bc\9b\fe\db]\93\89\f9\ab\c2\feR5\f8\eb\f7V\f3\dfS!{\f3Z\16\98\d6\a8\e9Y\b0\f1\1b\be\0c\13dp\1c\ee\a2\ed\e8\8b>\c6\d1\d4\85\94\e1.\ce7\06J\a7\b9\9a\ba\c1\c5\87\1c\11\e8\a0\14\99\db\d4\b1\n\91\c8Y\7f\12J^M\b5:0\1f\97\dc\b5\a0\e2$~s\de\a9q\a4\8d\ad]\10V\14\8e\0d\b1\19u\94k\99\f1P\dd0\c9<\e3\ff\96R\8a{\fb\0b\dc\bf<\e7\acZ\fa\0e\d3\ef\0b!\d8x\\\e9\e3u\a7\14\87\96\b3\e3\\S\d1\d9\a8|\a0\1c4\a8E\10\d3N\e4\91 \89+\ea\83a]\b6hk\b6\e4\a4\b9\f4\e3B\06\e4\1d\ce\f4x\ce\e9\83\ae\d2\801\17B\e4$Z\07\a1\fd\9cR\1d\ae0I\c9\02B\02E\02H\02L\02O\02R\02V\02Y\02\\\02`\02c\02f\02i\02m\02p\02s\02w\02z\02}\02\81\02\84\02\87\02\8b\02\8e\02\91\02\95\02\98\02\9b\02\9f\02\a2\02\a5\02\a9\02\ac\02\af\02\b3\02\b6\02\b9\02\bd\02\c0\02\c3\02\c7\02\ca\02\cd\02\d0\02\d4\02\d7\02\da\02\de\02\e1\02\e4\02\e8\02\eb\02\ee\02\f2\02\f5\02\f8\02\fc\02\ff\02\02\03\06\03\t\03\0c\03\10\03\13\03\16\03\1a\03\1d\03 \03$\03\'\03*\03-\031\034\037\03;\03>\03A\03E\03H\03K\03O\03R\03U\03Y\03\\\03_\03c\03f\03i\03m\03p\03s\03w\03z\03}\03\81\03\84\03\87\03\8b\03\8e\03\91\03\94\03\98\03\9b\03\9e\03\a2\03\a5\03\a8\03\ac\03\af\03\b2\03\b6\03\00\00\a0\19\10\00 \00\00\00\c0\19\10\00\12\00\00\00 \00\00\00\00\00\00\00\01\00\00\00!\00\00\00index out of bounds: the len is but the index is 00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899library/core/src/num/dec2flt/algorithm.rsassertion failed: digits < 40\f0\1a\10\00\1e\00\00\00\e3\01\00\00\01\00\00\00library/core/src/num/bignum.rs\00\00 \1b\10\00\10\00\00\000\1b\10\00\"\00\00\00range end index out of range for slice of length assertion failed: x.bit_length() < 64\00\98\1b\10\00#\00\00\00A\00\00\00\05\00\00\00\98\1b\10\00#\00\00\00C\00\00\00\16\00\00\00library/core/src/num/dec2flt/num.rsassertion failed: end - start <= 64\00\00\98\1b\10\00#\00\00\00K\00\00\00\05\00\00\00\00\1c\10\00%\00\00\00W\00\00\00\07\00\00\00library/core/src/num/dec2flt/parse.rslibrary/core/src/num/dec2flt/rawfp.rs\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D%\1c\10\00%\00\00\00\e8\00\00\00\t\00\00\00big_to_fp: unexpectedly, input is zero\00\00%\1c\10\00%\00\00\004\01\00\00\05\00\00\00invalid float literalcannot parse float from empty string\00\00\00\ac\1d\10\00#\00\00\00\db\00\00\00#\00\00\00\ac\1d\10\00#\00\00\00\dc\00\00\00#\00\00\00library/core/src/num/dec2flt/mod.rs[...]4\1e\10\00\0b\00\00\00z(\10\00\16\00\00\00s\1e\10\00\01\00\00\00X(\10\00\0e\00\00\00f(\10\00\04\00\00\00j(\10\00\10\00\00\00s\1e\10\00\01\00\00\004\1e\10\00\0b\00\00\00?\1e\10\00&\00\00\00e\1e\10\00\08\00\00\00m\1e\10\00\06\00\00\00s\1e\10\00\01\00\00\00byte index is not a char boundary; it is inside (bytes ) of ``\b7\1e\10\00\02\00\00\00\9c\1e\10\00\1b\00\00\00c\04\00\00$\00\00\00\9c\1e\10\00\1b\00\00\00Y\04\00\00\11\00\00\00library/core/src/fmt/mod.rs..\00\00\00\f2\1e\10\00\1b\00\00\00T\00\00\00\14\00\00\000x\00\00\e0\1e\10\00\12\00\00\000\1b\10\00\"\00\00\00range start index library/core/src/fmt/num.rs\00\01\03\05\05\06\06\03\07\06\08\08\t\11\n\1c\0b\19\0c\14\0d\10\0e\0d\0f\04\10\03\12\12\13\t\16\01\17\05\18\02\19\03\1a\07\1c\02\1d\01\1f\16 \03+\03,\02-\0b.\010\031\022\01\a7\02\a9\02\aa\04\ab\08\fa\02\fb\05\fd\04\fe\03\ff\t\00v$\10\00%\00\00\00\n\00\00\00\1c\00\00\00\adxy\8b\8d\a20WX\8b\8c\90\1c\1d\dd\0e\0fKL\fb\fc./?\\]_\b5\e2\84\8d\8e\91\92\a9\b1\ba\bb\c5\c6\c9\ca\de\e4\e5\ff\00\04\11\12)147:;=IJ]\84\8e\92\a9\b1\b4\ba\bb\c6\ca\ce\cf\e4\e5\00\04\0d\0e\11\12)14:;EFIJ^de\84\91\9b\9d\c9\ce\cf\0d\11)EIWde\8d\91\a9\b4\ba\bb\c5\c9\df\e4\e5\f0\0d\11EIde\80\84\b2\bc\be\bf\d5\d7\f0\f1\83\85\8b\a4\a6\be\bf\c5\c7\ce\cf\da\dbH\98\bd\cd\c6\ce\cfINOWY^_\89\8e\8f\b1\b6\b7\bf\c1\c6\c7\d7\11\16\17[\\\f6\f7\fe\ff\80\0dmq\de\df\0e\0f\1fno\1c\1d_}~\ae\af\bb\bc\fa\16\17\1e\1fFGNOXZ\\^~\7f\b5\c5\d4\d5\dc\f0\f1\f5rs\8ftu\96/_&./\a7\af\b7\bf\c7\cf\d7\df\9a@\97\980\8f\1f\c0\c1\ce\ffNOZ[\07\08\0f\10\'/\ee\efno7=?BE\90\91\fe\ffSgu\c8\c9\d0\d1\d8\d9\e7\fe\ff\00 _\"\82\df\04\82D\08\1b\04\06\11\81\ac\0e\80\ab5(\0b\80\e0\03\19\08\01\04/\044\04\07\03\01\07\06\07\11\nP\0f\12\07U\07\03\04\1c\n\t\03\08\03\07\03\02\03\03\03\0c\04\05\03\0b\06\01\0e\15\05:\03\11\07\06\05\10\07W\07\02\07\15\0dP\04C\03-\03\01\04\11\06\0f\0c:\04\1d%_ m\04j%\80\c8\05\82\b0\03\1a\06\82\fd\03Y\07\15\0b\17\t\14\0c\14\0cj\06\n\06\1a\06Y\07+\05F\n,\04\0c\04\01\031\0b,\04\1a\06\0b\03\80\ac\06\n\06!?L\04-\03t\08<\03\0f\03<\078\08+\05\82\ff\11\18\08/\11-\03 \10!\0f\80\8c\04\82\97\19\0b\15\88\94\05/\05;\07\02\0e\18\t\80\b3-t\0c\80\d6\1a\0c\05\80\ff\05\80\df\0c\ee\0d\03\84\8d\037\t\81\\\14\80\b8\08\80\cb*8\03\n\068\08F\08\0c\06t\0b\1e\03Z\04Y\t\80\83\18\1c\n\16\tL\04\80\8a\06\ab\a4\0c\17\041\a1\04\81\da&\07\0c\05\05\80\a5\11\81m\10x(*\06L\04\80\8d\04\80\be\03\1b\03\0f\0d\00v$\10\00%\00\00\00\1a\00\00\006\00\00\00\00\06\01\01\03\01\04\02\08\08\t\02\n\05\0b\02\0e\04\10\01\11\02\12\05\13\11\14\01\15\02\17\02\19\0d\1c\05\1d\08$\01j\03k\02\bc\02\d1\02\d4\0c\d5\t\d6\02\d7\02\da\01\e0\05\e1\02\e8\02\ee \f0\04\f8\02\f9\02\fa\02\fb\01\0c\';>NO\8f\9e\9e\9f\06\07\t6=>V\f3\d0\d1\04\14\1867VW\7f\aa\ae\af\bd5\e0\12\87\89\8e\9e\04\0d\0e\11\12)14:EFIJNOde\\\b6\b7\1b\1c\07\08\n\0b\14\1769:\a8\a9\d8\d9\t7\90\91\a8\07\n;>fi\8f\92o_\ee\efZb\9a\9b\'(U\9d\a0\a1\a3\a4\a7\a8\ad\ba\bc\c4\06\0b\0c\15\1d:?EQ\a6\a7\cc\cd\a0\07\19\1a\"%>?\c5\c6\04 #%&(38:HJLPSUVXZ\\^`cefksx}\7f\8a\a4\aa\af\b0\c0\d0\ae\afy\ccno\93^\"{\05\03\04-\03f\03\01/.\80\82\1d\031\0f\1c\04$\t\1e\05+\05D\04\0e*\80\aa\06$\04$\04(\084\0b\01\80\90\817\t\16\n\08\80\989\03c\08\t0\16\05!\03\1b\05\01@8\04K\05/\04\n\07\t\07@ \'\04\0c\t6\03:\05\1a\07\04\0c\07PI73\0d3\07.\08\n\81&RN(\08*V\1c\14\17\tN\04\1e\0fC\0e\19\07\n\06H\08\'\tu\0b?A*\06;\05\n\06Q\06\01\05\10\03\05\80\8bb\1eH\08\n\80\a6^\"E\0b\n\06\0d\139\07\n6,\04\10\80\c0\00\00\00\00p\00\07\00-\01\01\01\02\01\02\01\01H\0b0\15\10\01e\07\02\06\02\02\01\04#\01\1e\1b[\0b:\t\t\01\18\04\01\t\01\03\01\05+\03w\0f\01 7\01\01\01\04\08\04\01\03\07\n\02\1d\01:\01\01\01\02\04\08\01\t\01\n\02\1a\01\02\029\01\04\02\04\02\02\03\03\01\1e\02\03\01\0b\029\01\04\05\01\02\04\01\14\02\16\06\01\01:\01\01\02\01\04\08\01\07\03\n\02\1e\01;\01\01\01\0c\01\t\01(\01\03\019\03\05\03\01\04\07\02\0b\02\1d\01:\01\02\01\02\01\03\01\05\02\07\02\0b\02\1c\029\02\01\01\02\04\08\01\t\01\n\02\1d\01H\01\04\01\02\03\01\01\08\01Q\01\02\07\0c\08b\01\02\t\0b\06J\02\1b\01\01\01\01\017\0e\01\05\01\02\05\0b\01$\t\01f\04\01\06\01\02\02\02\19\02\04\03\10\04\0d\01\02\02\06\01\0f\01\00\03\00\03\1d\03\1d\02\1e\02@\02\01\07\08\01\02\0b\t\01-\03w\02\"\01v\03\04\02\t\01\06\03\db\02\02\01:\01\01\07\01\01\01\01\02\08\06\n\02\010\11?\040\07\01\01\05\01(\t\0c\02 \04\02\02\01\038\01\01\02\03\01\01\03:\08\02\02\98\03\01\0d\01\07\04\01\06\01\03\02\c6:\01\05\00\01\c3!\00\03\8d\01` \00\06i\02\00\04\01\n \02P\02\00\01\03\01\04\01\19\02\05\01\97\02\1a\12\0d\01&\08\19\0b.\030\01\02\04\02\02\'\01C\06\02\02\02\02\0c\01\08\01/\013\01\01\03\02\02\05\02\01\01*\02\08\01\ee\01\02\01\04\01\00\01\00\10\10\10\00\02\00\01\e2\01\95\05\00\03\01\02\05\04(\03\04\01\a5\02\00\04\00\02\99\0b\b0\016\0f8\031\04\02\02E\03$\05\01\08>\01\0c\024\t\n\04\02\01_\03\02\01\01\02\06\01\a0\01\03\08\15\029\02\01\01\01\01\16\01\0e\07\03\05\c3\08\02\03\01\01\17\01Q\01\02\06\01\01\02\01\01\02\01\02\eb\01\02\04\06\02\01\02\1b\02U\08\02\01\01\02j\01\01\01\02\06\01\01e\03\02\04\01\05\00\t\01\02\f5\01\n\02\01\01\04\01\90\04\02\02\04\01 \n(\06\02\04\08\01\t\06\02\03.\0d\01\02\00\07\01\06\01\01R\16\02\07\01\02\01\02z\06\03\01\01\02\01\07\01\01H\02\03\01\01\01\00\02\00\05;\07\00\01?\04Q\01\00\02\00\01\01\03\04\05\08\08\02\07\1e\04\94\03\007\042\08\01\0e\01\16\05\01\0f\00\07\01\11\02\07\01\02\01\05\00\07\00\04\00\07m\07\00`\80\f0\00\00\00\000(\10\00(\00\00\00K\00\00\00(\00\00\000(\10\00(\00\00\00W\00\00\00\16\00\00\00library/core/src/unicode/unicode_data.rsbegin <= end ( <= ) when slicing ` is out of bounds of `assertion failed: noborrownumber too small to fit in target typenumber too large to fit in target typeinvalid digit found in stringcannot parse integer from empty stringnumber would be zero for non-zero type\00|0\10\00\00\00\00\00p)\10\00\02\00\00\00: \00\00\c8)\10\00\1f\00\00\00\b0\01\00\00&\00\00\00\a8)\10\00 \00\00\000\00\00\00!\00\00\00\a8)\10\00 \00\00\001\00\00\00\12\00\00\00library/core/src/fmt/builders.rslibrary/core/src/str/pattern.rs\00\f8)\10\00 \00\00\00R\00\00\00\05\00\00\00library/core/src/slice/memchr.rs { , {\n \00\00\00\0c\00\00\00\04\00\00\00\"\00\00\00#\00\00\00$\00\00\00,\n\00\00 \00\00\00\04\00\00\00\04\00\00\00%\00\00\00&\00\00\00\'\00\00\00 }}\00\9c\1e\10\00\1b\00\00\00\fb\07\00\00\16\00\00\00\9c\1e\10\00\1b\00\00\00\f4\07\00\00\1e\00\00\00\80\16\00\00\00 \01\000`\01\010q\02\t\05\12\01d\01\1a\01\00\01\00\0b\1d\02\05\01/\01\00\01\00assertion failed: !d.is_zero()\00 \00\00\00\04\00\00\00\04\00\00\00(\00\00\00()ErrorLayoutErrprivate\00)\00\00\00\00\00\00\00\01\00\00\00*\00\00\00\04+\10\00t\00\00\00\n\01\00\009\00\00\00/Users/scottlott/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/alloc/layout.rs+\00\00\00\04\00\00\00\04\00\00\00,\00\00\00-\00\00\00.\00\00\00next_float: argument is NaN\00\bc+\10\00y\00\00\00_\01\00\00\10\00\00\00/Users/scottlott/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/num/dec2flt/rawfp.rsprev_float: argument is infinite\00\00\00\bc+\10\00y\00\00\00J\01\00\00\15\00\00\00prev_float: argument is NaN\00\bc+\10\00y\00\00\00K\01\00\00\10\00\00\00prev_float: argument is subnormal\00\00\00\bc+\10\00y\00\00\00L\01\00\00\16\00\00\00prev_float: argument is zero\bc+\10\00y\00\00\00M\01\00\00\11\00\00\004-\10\00\16\00\00\00T-\10\00\n\00\00\00\bc+\10\00y\00\00\00\fd\00\00\00\t\00\00\004-\10\00\16\00\00\00J-\10\00\n\00\00\00\bc+\10\00y\00\00\00\01\01\00\00\t\00\00\00fp_to_float: exponent too small too largeencode_subnormal: not actually subnormal\00\00\bc+\10\00y\00\00\00,\01\00\00\05\00\00\00inf\00\df-\10\00w\00\00\00&\01\00\00\19\00\00\00\df-\10\00w\00\00\00)\01\00\00\1b\00\00\00\df-\10\00w\00\00\00/\01\00\00\1f\00\00\00\df-\10\00w\00\00\004\01\00\00\1d\00\00\00NaN/Users/scottlott/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/num/dec2flt/mod.rscalled `Result::unwrap()` on an `Err` value\00\00\00/\00\00\00\0c\00\00\00\04\00\00\000\00\00\00\a4.\10\00\n\00\00\00K\01\00\00<\00\00\00src/lib.rsMissing Value in option!\00\00|0\10\00\00\00\00\00a Display implementation returned an error unexpectedly\001\00\00\00\00\00\00\00\01\00\00\002\00\00\00(/\10\00o\00\00\00\a1\08\00\00\0e\00\00\00/Users/scottlott/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/string.rsNP_Errormessage\00\003\00\00\00\04\00\00\00\04\00\00\004\00\00\00called `Option::unwrap()` on a `None` value\00\f4/\10\00\1c\00\00\00\da\01\00\00\1e\00\00\00library/std/src/panicking.rsnull pointer passed to rustrecursive use of an object detected which would lead to unsafe aliasing in rust\00\005\00\00\00\00\00\00\00\01\00\00\006\00\00\007\00\00\008\00\00\009\00\00\00\04\00\00\00\04\00\00\00:\00\00\00;\00\00\00<\00\00\00=\00\00\00\00\00\00\00\01\00\00\006\00\00\007\00\00\008\00\00\00") (table $0 62 62 funcref) (elem (i32.const 1) $core::fmt::num::imp::::fmt::hd561e3b5e34208ae $std::alloc::default_alloc_error_hook::hbb6d06b7bdeaa91f $no_proto_js::json_flex::json_decode::func::hc3d89694b7eb0879 $no_proto_js::json_flex::json_decode::func::he7763ccf0cc3e5fc $no_proto_js::json_flex::json_decode::func::h3280f70a1a0f1538 $no_proto_js::json_flex::json_decode::func::hd7d273aa7da5c14d $no_proto_js::json_flex::json_decode::func::h88230b15df8381ab $no_proto_js::json_flex::json_decode::func::h60fbe3d0f42ba110 $no_proto_js::json_flex::json_decode::func::hfc45a12610bd3f2a $no_proto_js::json_flex::json_decode::func::h2312e9945c16d145 $no_proto_js::json_flex::json_decode::func::h9aa28653016b53a2 $no_proto_js::json_flex::json_decode::func::h23b859e3f0f6fedb $no_proto_js::json_flex::json_decode::func::h3e3160e80178fa59 $no_proto_js::json_flex::json_decode::func::h4302235e5d1c4feb $no_proto_js::json_flex::json_decode::func::hc5144a2ad4f0f8dc $no_proto_js::json_flex::json_decode::func::h1e2c4ab4d322f861 $no_proto_js::json_flex::json_decode::func::hfb4c68a8763ba35b $no_proto_js::json_flex::json_decode::func::hf40a3c6eee627e96 $no_proto_js::json_flex::json_decode::func::h3cb0784ef6149c92 $no_proto_js::json_flex::json_decode::func::hd110ca9f6c6017a9 $no_proto_js::json_flex::json_decode::func::h1e6f4f90ba36485f $no_proto_js::json_flex::json_decode::func::h92b706b926ba37f8 $no_proto_js::json_flex::json_decode::func::h447251335fe0c8ef $core::fmt::num::imp::::fmt::hfae5fbf15f5bb234 $<&T\20as\20core::fmt::Display>::fmt::h283d139920eae5ae $<&T\20as\20core::fmt::Display>::fmt::h5b93fcafe437f0dd $<&T\20as\20core::fmt::Display>::fmt::h007e0d6beaeda957 $\20as\20core::fmt::Debug>::fmt::h63f8d8607f5d7b8e $::fmt::h6c19820accaada88 $core::ops::function::FnOnce::call_once::h390ea4377328b82d $<&T\20as\20core::fmt::Debug>::fmt::he81b86a5bbf53c3e $core::ptr::drop_in_place::h03a4ec563db69d56 $::type_id::h0362c57cdfadaca7 $::write_str::h321957978316f55b $core::fmt::Write::write_char::he8823860aba4c233 $core::fmt::Write::write_fmt::h5bfb9e814317fff8 $<&mut\20W\20as\20core::fmt::Write>::write_str::h8ac3aa69e0663a79 $<&mut\20W\20as\20core::fmt::Write>::write_char::hfba45291f71b64f9 $<&mut\20W\20as\20core::fmt::Write>::write_fmt::hff4bf8fb7188e977 $<&T\20as\20core::fmt::Debug>::fmt::h8d390f40912aa2a1 $core::ptr::drop_in_place::h8a6409b3020380bd $::fmt::h887d69ebef9cfcfe $core::ptr::drop_in_place::h769196292a827628 $<&mut\20W\20as\20core::fmt::Write>::write_str::hddecb258ce7d4915 $<&mut\20W\20as\20core::fmt::Write>::write_char::hd85f8d8b4ea0a1f3 $<&mut\20W\20as\20core::fmt::Write>::write_fmt::h2dbd7725edd452be $core::ptr::drop_in_place::hafd11a4a6d489b53 $::fmt::hd0a34fb96b167e69 $core::ptr::drop_in_place::h0e5faf2cf480468b $::fmt::hf256f065b358e9c8 $core::ptr::drop_in_place::h87d67fe74a414611 $<&T\20as\20core::fmt::Debug>::fmt::hb7f473183b6c77b2 $core::ptr::drop_in_place::h899bb420a8b98e2c $::new_cell_for_free_list::h0c04f2610c72f4be $::min_cell_size::ha2975c534d26c3c3 $::should_merge_adjacent_free_cells::h0582f607e09fe8cd $core::ptr::drop_in_place::hc0d245b0befc4ed6.365 $::new_cell_for_free_list::hd1aa804d330bbf31 $::min_cell_size::h86b8b509c7163b0e $::should_merge_adjacent_free_cells::h36ff1a26ee42cfe1 $core::ptr::drop_in_place::h899bb420a8b98e2c.364) (global $global$0 (mut i32) (i32.const 1048576)) (export "memory" (memory $0)) (export "__wbg_np_factory_free" (func $__wbg_np_factory_free)) (export "np_factory_new" (func $np_factory_new)) (export "np_factory_new_compiled" (func $np_factory_new_compiled)) (export "np_factory_compile_schema" (func $np_factory_compile_schema)) (export "__wbindgen_malloc" (func $__wbindgen_malloc)) (export "__wbindgen_realloc" (func $__wbindgen_realloc)) (export "__wbindgen_export_2" (global $global$0)) (export "__wbindgen_free" (func $__wbindgen_free)) (func $no_proto_js::json_flex::json_decode::hfc4f88b81a751040 (; 1 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) (local $17 i32) (local $18 i32) (local $19 i32) (local $20 i32) (local $21 i32) (local $22 i64) (local $23 i64) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 368) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (br_if $label$9 (i32.eqz (local.tee $3 (call $__rust_alloc (i32.const 16) (i32.const 8) ) ) ) ) (i32.store (local.get $3) (i32.const 5) ) (i64.store offset=4 align=4 (local.get $3) (i64.load offset=288 align=4 (local.get $2) ) ) (i32.store (i32.add (local.get $3) (i32.const 12) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (local.set $4 (i32.const 0) ) (i32.store offset=104 (local.get $2) (i32.const 0) ) (i64.store offset=96 (local.get $2) (i64.const 4) ) (i32.store offset=120 (local.get $2) (i32.const 0) ) (i64.store offset=112 (local.get $2) (i64.const 4) ) (i32.store offset=136 (local.get $2) (i32.const 0) ) (i64.store offset=128 (local.get $2) (i64.const 8) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 160) ) (i32.const 1060988) (i32.const 0) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 176) ) (i32.const 1060988) (i32.const 0) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 192) ) (i32.const 1060988) (i32.const 0) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 208) ) (i32.const 1060988) (i32.const 0) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 224) ) (i32.const 1060988) (i32.const 0) ) (i32.store offset=356 (local.get $2) (i32.add (local.tee $5 (i32.load (local.get $1) ) ) (i32.load offset=8 (local.get $1) ) ) ) (i32.store offset=352 (local.get $2) (local.get $5) ) (block $label$10 (block $label$11 (block $label$12 (block $label$13 (br_if $label$13 (i32.eq (local.tee $5 (call $::next::h4672746d73b58812 (i32.add (local.get $2) (i32.const 352) ) ) ) (i32.const 1114112) ) ) (call $core::alloc::layout::Layout::array::h666bf8f1b402ea69 (i32.add (local.get $2) (i32.const 88) ) (i32.add (i32.shr_u (i32.add (i32.sub (local.tee $6 (i32.load offset=356 (local.get $2) ) ) (local.tee $7 (i32.load offset=352 (local.get $2) ) ) ) (i32.const 3) ) (i32.const 2) ) (i32.const 1) ) ) (br_if $label$10 (i32.eqz (local.tee $8 (i32.load offset=92 (local.get $2) ) ) ) ) (br_if $label$10 (i32.le_s (local.tee $9 (i32.load offset=88 (local.get $2) ) ) (i32.const -1) ) ) (call $::alloc::hbd6aa0d1925f7b82 (i32.add (local.get $2) (i32.const 80) ) (local.get $9) (local.get $8) ) (br_if $label$11 (i32.eqz (local.tee $10 (i32.load offset=80 (local.get $2) ) ) ) ) (local.set $8 (i32.load offset=84 (local.get $2) ) ) (i32.store (local.get $10) (local.get $5) ) (i32.store offset=296 (local.get $2) (i32.const 1) ) (i32.store offset=288 (local.get $2) (local.get $10) ) (i32.store offset=292 (local.get $2) (i32.shr_u (local.get $8) (i32.const 2) ) ) (i32.store offset=276 (local.get $2) (local.get $6) ) (i32.store offset=272 (local.get $2) (local.get $7) ) (local.set $5 (i32.const 4) ) (local.set $6 (i32.const 1) ) (block $label$14 (loop $label$15 (br_if $label$14 (i32.eq (local.tee $7 (call $::next::h4672746d73b58812 (i32.add (local.get $2) (i32.const 272) ) ) ) (i32.const 1114112) ) ) (block $label$16 (br_if $label$16 (i32.ne (local.get $6) (i32.load offset=292 (local.get $2) ) ) ) (call $alloc::vec::Vec::reserve::h25a374cf9b3816f4 (i32.add (local.get $2) (i32.const 288) ) (i32.add (i32.shr_u (i32.add (i32.sub (i32.load offset=276 (local.get $2) ) (i32.load offset=272 (local.get $2) ) ) (i32.const 3) ) (i32.const 2) ) (i32.const 1) ) ) (local.set $10 (i32.load offset=288 (local.get $2) ) ) ) (i32.store (i32.add (local.get $10) (local.get $5) ) (local.get $7) ) (i32.store offset=296 (local.get $2) (local.tee $6 (i32.add (local.get $6) (i32.const 1) ) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 4) ) ) (br $label$15) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 240) ) (i32.const 8) ) (local.tee $4 (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=240 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$12) ) (i32.store offset=248 (local.get $2) (i32.const 0) ) (i64.store offset=240 (local.get $2) (i64.const 4) ) ) (local.set $11 (i32.add (local.get $3) (i32.const 4) ) ) (local.set $12 (i32.or (i32.add (local.get $2) (i32.const 288) ) (i32.const 4) ) ) (local.set $5 (i32.const 32) ) (local.set $14 (i32.add (local.tee $13 (i32.or (i32.add (local.get $2) (i32.const 288) ) (i32.const 1) ) ) (i32.const 7) ) ) (local.set $10 (i32.const 0) ) (local.set $15 (i32.const 0) ) (local.set $16 (i32.const 0) ) (local.set $6 (i32.const 32) ) (local.set $7 (i32.const 32) ) (local.set $8 (i32.const 0) ) (loop $label$17 (local.set $9 (local.get $6) ) (local.set $17 (local.get $5) ) (block $label$18 (block $label$19 (block $label$20 (block $label$21 (block $label$22 (block $label$23 (block $label$24 (block $label$25 (block $label$26 (block $label$27 (block $label$28 (block $label$29 (block $label$30 (block $label$31 (block $label$32 (block $label$33 (block $label$34 (block $label$35 (block $label$36 (block $label$37 (block $label$38 (block $label$39 (block $label$40 (block $label$41 (block $label$42 (block $label$43 (block $label$44 (block $label$45 (block $label$46 (block $label$47 (block $label$48 (block $label$49 (block $label$50 (block $label$51 (block $label$52 (block $label$53 (block $label$54 (block $label$55 (block $label$56 (block $label$57 (block $label$58 (block $label$59 (block $label$60 (block $label$61 (block $label$62 (block $label$63 (block $label$64 (block $label$65 (block $label$66 (block $label$67 (block $label$68 (block $label$69 (block $label$70 (block $label$71 (block $label$72 (block $label$73 (block $label$74 (block $label$75 (block $label$76 (block $label$77 (br_if $label$77 (i32.eqz (i32.and (local.get $16) (i32.const 1) ) ) ) (i32.store (local.get $0) (i32.const 0) ) (i32.store offset=4 (local.get $0) (local.get $3) ) (call $core::ptr::drop_in_place::hdc334d1ef8c963f0 (i32.add (local.get $2) (i32.const 240) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 176) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (br_if $label$76 (i32.and (local.get $15) (i32.const 1) ) ) (br $label$2) ) (br_if $label$75 (i32.le_u (local.tee $5 (i32.load offset=248 (local.get $2) ) ) (local.get $8) ) ) (local.set $5 (i32.load (i32.add (i32.load offset=240 (local.get $2) ) (local.get $10) ) ) ) (local.set $6 (i32.add (local.get $2) (i32.const 160) ) ) (block $label$78 (block $label$79 (block $label$80 (block $label$81 (block $label$82 (block $label$83 (br_table $label$82 $label$78 $label$78 $label$78 $label$78 $label$79 $label$81 $label$78 $label$78 $label$79 $label$83 (local.tee $16 (i32.add (local.get $7) (i32.const -110) ) ) ) ) (br_if $label$80 (i32.eq (local.get $7) (i32.const 48) ) ) (br_if $label$78 (i32.ne (local.get $7) (i32.const 102) ) ) (local.set $6 (i32.add (local.get $2) (i32.const 208) ) ) (br $label$79) ) (local.set $6 (i32.add (local.get $2) (i32.const 176) ) ) (br $label$79) ) (local.set $6 (i32.add (local.get $2) (i32.const 192) ) ) (br $label$79) ) (local.set $6 (i32.add (local.get $2) (i32.const 224) ) ) ) (call $alloc::string::String::push::h91b2efd5d5771ece (local.get $6) (local.get $5) ) ) (local.set $6 (local.get $9) ) (block $label$84 (block $label$85 (block $label$86 (block $label$87 (block $label$88 (block $label$89 (block $label$90 (block $label$91 (block $label$92 (block $label$93 (block $label$94 (br_table $label$91 $label$18 $label$18 $label$18 $label$18 $label$90 $label$18 $label$18 $label$18 $label$18 $label$92 $label$88 $label$18 $label$18 $label$89 $label$89 $label$89 $label$89 $label$89 $label$89 $label$89 $label$89 $label$89 $label$89 $label$93 $label$94 (i32.add (local.get $5) (i32.const -34) ) ) ) (local.set $6 (local.get $9) ) (block $label$95 (block $label$96 (block $label$97 (block $label$98 (block $label$99 (br_table $label$98 $label$18 $label$97 $label$99 (i32.add (local.get $5) (i32.const -91) ) ) ) (local.set $6 (local.get $9) ) (block $label$100 (br_table $label$96 $label$18 $label$95 $label$100 (i32.add (local.get $5) (i32.const -123) ) ) ) (br_if $label$86 (i32.eq (local.get $5) (i32.const 102) ) ) (br_if $label$85 (i32.eq (local.get $5) (i32.const 110) ) ) (br_if $label$87 (i32.eq (local.get $5) (i32.const 116) ) ) (local.set $6 (local.get $9) ) (br $label$18) ) (local.set $6 (i32.const 91) ) (block $label$101 (br_table $label$18 $label$101 $label$101 $label$101 $label$18 $label$101 (i32.add (local.get $7) (i32.const -115) ) ) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 97) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.const 0) ) (block $label$102 (block $label$103 (block $label$104 (br_if $label$104 (i32.ne (i32.load (local.get $3) ) (i32.const 5) ) ) (call $core::ptr::drop_in_place::h26222354075eb354 (local.get $3) ) (i64.store offset=8 align=4 (local.get $3) (i64.const 0) ) (i64.store (local.get $3) (i64.const 34359738372) ) (br $label$103) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 3) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$102 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) ) (local.set $7 (i32.const 97) ) (br $label$18) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (local.set $6 (i32.const 93) ) (block $label$105 (block $label$106 (block $label$107 (block $label$108 (block $label$109 (block $label$110 (block $label$111 (br_table $label$106 $label$110 $label$110 $label$110 $label$110 $label$18 $label$109 $label$110 $label$110 $label$18 $label$111 (local.get $16) ) ) (br_if $label$107 (i32.eq (local.get $7) (i32.const 48) ) ) (br_if $label$105 (i32.eq (local.get $7) (i32.const 97) ) ) (br_if $label$108 (i32.eq (local.get $7) (i32.const 102) ) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048837) (i32.const 42) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 192) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$74 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 8) ) (i32.load offset=192 (local.get $2) ) (i32.load offset=200 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=8 (local.get $2) ) (i32.load offset=12 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store offset=200 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$73 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 192) ) (i32.const 1048833) (i32.const 4) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 4) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$112 (block $label$113 (block $label$114 (br_if $label$114 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$115 (block $label$116 (br_if $label$116 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$115) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$72 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$113 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$112) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$7) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$71 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$117 (block $label$118 (br_if $label$118 (local.tee $17 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$117) ) (i32.store offset=136 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $17) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$119 (br_if $label$119 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 192) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 208) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$70 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 16) ) (i32.load offset=208 (local.get $2) ) (i32.load offset=216 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=16 (local.get $2) ) (i32.load offset=20 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store offset=216 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$69 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 208) ) (i32.const 1048828) (i32.const 5) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 5) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$120 (block $label$121 (block $label$122 (br_if $label$122 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$123 (block $label$124 (br_if $label$124 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$123) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$68 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$121 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$120) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$7) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$67 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$125 (block $label$126 (br_if $label$126 (local.tee $17 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$125) ) (i32.store offset=136 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $17) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$127 (br_if $label$127 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 208) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 224) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$66 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 24) ) (i32.load offset=224 (local.get $2) ) (i32.load offset=232 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=24 (local.get $2) ) (i32.load offset=28 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store offset=232 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$65 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 224) ) (i32.const 1048808) (i32.const 4) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 6) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$128 (block $label$129 (block $label$130 (br_if $label$130 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$131 (block $label$132 (br_if $label$132 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$131) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$64 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$129 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$128) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$7) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$63 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$133 (block $label$134 (br_if $label$134 (local.tee $17 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$133) ) (i32.store offset=136 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $17) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$135 (br_if $label$135 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 224) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 176) ) (i32.const 8) ) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=176 (local.get $2) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 7) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$136 (block $label$137 (block $label$138 (br_if $label$138 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 176) ) (i32.const 1060988) (i32.const 0) ) (block $label$139 (block $label$140 (br_if $label$140 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$139) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$62 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$137 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$136) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$8) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$61 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$141 (block $label$142 (br_if $label$142 (local.tee $17 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$141) ) (i32.store offset=136 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $17) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$18 (i32.ne (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (block $label$143 (br_if $label$143 (i32.ne (local.get $9) (i32.const 44) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 8) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$143 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (block $label$144 (block $label$145 (br_if $label$145 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$144) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$60 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$146 (block $label$147 (br_if $label$147 (local.tee $17 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$146) ) (i32.store offset=136 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $17) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$18 (i32.ne (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (local.set $6 (i32.const 123) ) (block $label$148 (block $label$149 (br_table $label$18 $label$148 $label$148 $label$149 $label$18 $label$148 (i32.add (local.get $7) (i32.const -115) ) ) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 100) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 9) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$19 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 100) ) (br_if $label$20 (i32.eq (i32.load (local.get $3) ) (i32.const 5) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 10) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$19 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (local.set $6 (i32.const 125) ) (block $label$150 (block $label$151 (block $label$152 (block $label$153 (block $label$154 (block $label$155 (block $label$156 (block $label$157 (block $label$158 (br_table $label$153 $label$157 $label$157 $label$157 $label$157 $label$18 $label$156 $label$157 $label$152 $label$18 $label$158 (local.get $16) ) ) (br_if $label$154 (i32.eq (local.get $7) (i32.const 48) ) ) (br_if $label$155 (i32.eq (local.get $7) (i32.const 102) ) ) ) (block $label$159 (block $label$160 (br_if $label$160 (i32.eqz (local.tee $7 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) (i32.load (i32.add (local.tee $7 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $7) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $7) ) ) (br $label$159) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $7 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$39 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $7) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br_if $label$151 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$150) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 192) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $7 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$59 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 32) ) (i32.load offset=192 (local.get $2) ) (i32.load offset=200 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=32 (local.get $2) ) (i32.load offset=36 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store offset=200 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$58 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 192) ) (i32.const 1048833) (i32.const 4) ) ) (block $label$161 (block $label$162 (br_if $label$162 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$161) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$57 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$163 (br_if $label$163 (i32.ne (i32.load (select (local.tee $20 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $19 (i32.add (local.tee $16 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $16) ) ) (i32.const 118) ) ) (block $label$164 (block $label$165 (br_if $label$165 (local.get $16) ) (local.set $16 (i32.const 1114112) ) (br $label$164) ) (i32.store offset=104 (local.get $2) (local.get $19) ) (local.set $16 (i32.load (local.get $20) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$56 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 11) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$163 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 192) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$166 (block $label$167 (br_if $label$167 (i32.eqz (local.tee $16 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.tee $16 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $16) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $16) ) ) (br $label$166) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.get $7) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$55 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (block $label$168 (block $label$169 (br_if $label$169 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$168) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$170 (br_if $label$170 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 208) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $7 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$54 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 40) ) (i32.load offset=208 (local.get $2) ) (i32.load offset=216 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=40 (local.get $2) ) (i32.load offset=44 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store offset=216 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$53 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 208) ) (i32.const 1048828) (i32.const 5) ) ) (block $label$171 (block $label$172 (br_if $label$172 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$171) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$52 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$173 (br_if $label$173 (i32.ne (i32.load (select (local.tee $20 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $19 (i32.add (local.tee $16 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $16) ) ) (i32.const 118) ) ) (block $label$174 (block $label$175 (br_if $label$175 (local.get $16) ) (local.set $16 (i32.const 1114112) ) (br $label$174) ) (i32.store offset=104 (local.get $2) (local.get $19) ) (local.set $16 (i32.load (local.get $20) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$51 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 12) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$173 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 208) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$176 (block $label$177 (br_if $label$177 (i32.eqz (local.tee $16 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.tee $16 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $16) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $16) ) ) (br $label$176) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.get $7) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$50 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (block $label$178 (block $label$179 (br_if $label$179 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$178) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$180 (br_if $label$180 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 224) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $7 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$49 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 48) ) (i32.load offset=224 (local.get $2) ) (i32.load offset=232 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=48 (local.get $2) ) (i32.load offset=52 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store offset=232 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br_if $label$48 (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 224) ) (i32.const 1048808) (i32.const 4) ) ) (block $label$181 (block $label$182 (br_if $label$182 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$181) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$47 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$183 (br_if $label$183 (i32.ne (i32.load (select (local.tee $20 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $19 (i32.add (local.tee $16 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $16) ) ) (i32.const 118) ) ) (block $label$184 (block $label$185 (br_if $label$185 (local.get $16) ) (local.set $16 (i32.const 1114112) ) (br $label$184) ) (i32.store offset=104 (local.get $2) (local.get $19) ) (local.set $16 (i32.load (local.get $20) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$46 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 13) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$183 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 224) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$186 (block $label$187 (br_if $label$187 (i32.eqz (local.tee $16 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.tee $16 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $16) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $16) ) ) (br $label$186) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.get $7) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$45 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (block $label$188 (block $label$189 (br_if $label$189 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$188) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$190 (br_if $label$190 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (block $label$191 (block $label$192 (br_if $label$192 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$191) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $7 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$44 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$193 (br_if $label$193 (i32.ne (i32.load (select (local.tee $19 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $18 (i32.add (local.tee $16 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $16) ) ) (i32.const 118) ) ) (block $label$194 (block $label$195 (br_if $label$195 (local.get $16) ) (local.set $16 (i32.const 1114112) ) (br $label$194) ) (i32.store offset=104 (local.get $2) (local.get $18) ) (local.set $16 (i32.load (local.get $19) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$43 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 176) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 14) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$193 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 176) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 176) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=176 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$196 (block $label$197 (br_if $label$197 (i32.eqz (local.tee $16 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.tee $16 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $16) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $16) ) ) (br $label$196) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.get $7) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$42 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (block $label$198 (block $label$199 (br_if $label$199 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$198) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$200 (br_if $label$200 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (block $label$201 (block $label$202 (br_if $label$202 (i32.eqz (local.tee $7 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) (i32.load (i32.add (local.tee $7 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $7) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $7) ) ) (br $label$201) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.tee $7 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$41 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $9) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (block $label$203 (block $label$204 (br_if $label$204 (local.tee $9 (i32.load offset=104 (local.get $2) ) ) ) (local.set $9 (i32.const 1114112) ) (br $label$203) ) (i32.store offset=104 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (local.set $9 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $9) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $9) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$40 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$205 (block $label$206 (br_if $label$206 (local.tee $16 (i32.load offset=104 (local.get $2) ) ) ) (local.set $16 (i32.const 1114112) ) (br $label$205) ) (i32.store offset=104 (local.get $2) (local.tee $16 (i32.add (local.get $16) (i32.const -1) ) ) ) (local.set $16 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $16) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $16) ) (i32.store (local.get $9) (i32.load (local.get $7) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$207 (br_if $label$207 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$208 (br_if $label$208 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (local.set $6 (i32.const 58) ) (br_if $label$18 (i32.ne (local.get $7) (i32.const 100) ) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 118) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 160) ) ) (br_if $label$84 (i32.and (local.get $15) (i32.const 1) ) ) (br $label$21) ) (local.set $6 (i32.const 44) ) (block $label$209 (block $label$210 (block $label$211 (block $label$212 (block $label$213 (block $label$214 (block $label$215 (block $label$216 (block $label$217 (block $label$218 (block $label$219 (block $label$220 (block $label$221 (block $label$222 (br_table $label$221 $label$18 $label$209 $label$222 (i32.add (local.get $7) (i32.const -116) ) ) ) (br_if $label$219 (i32.eq (local.get $7) (i32.const 48) ) ) (br_if $label$218 (i32.eq (local.get $7) (i32.const 97) ) ) (br_if $label$220 (i32.eq (local.get $7) (i32.const 102) ) ) (br_if $label$18 (i32.ne (local.get $7) (i32.const 110) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store (local.tee $19 (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 176) ) (i32.const 8) ) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=176 (local.get $2) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 15) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$215 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 176) ) (i32.const 1060988) (i32.const 0) ) (br_if $label$217 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$216) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 192) ) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$38 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 56) ) (i32.load offset=192 (local.get $2) ) (i32.load offset=200 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=56 (local.get $2) ) (i32.load offset=60 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store offset=200 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$223 (br_if $label$223 (i32.eqz (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 192) ) (i32.const 1048833) (i32.const 4) ) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (local.tee $19 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 16) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$224 (br_if $label$224 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (block $label$225 (block $label$226 (br_if $label$226 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$225) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$37 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$227 (block $label$228 (br_if $label$228 (i32.eq (local.tee $7 (i32.load (select (local.tee $21 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $20 (i32.add (local.tee $17 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $17) ) ) ) (i32.const 118) ) ) (block $label$229 (block $label$230 (br_if $label$230 (local.tee $9 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$229) ) (i32.store offset=136 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $9) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (local.set $22 (i64.load offset=296 (local.get $2) ) ) (br_if $label$227 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.add (local.get $22) (i64.const 1) ) ) (br $label$22) ) (block $label$231 (block $label$232 (br_if $label$232 (local.get $17) ) (local.set $7 (i32.const 1114112) ) (br $label$231) ) (i32.store offset=104 (local.get $2) (local.get $20) ) (local.set $7 (i32.load (local.get $21) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$36 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$233 (block $label$234 (br_if $label$234 (i32.eqz (local.tee $17 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (i32.store (local.get $16) (i32.load (i32.add (local.tee $17 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $17) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $17) ) ) (br $label$233) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.get $19) (i32.load (local.get $9) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$235 (br_if $label$235 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $19) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br $label$22) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i32.store offset=4 (local.get $0) (i32.load offset=292 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $22) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 208) ) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$35 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 64) ) (i32.load offset=208 (local.get $2) ) (i32.load offset=216 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=64 (local.get $2) ) (i32.load offset=68 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store offset=216 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$236 (br_if $label$236 (i32.eqz (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 208) ) (i32.const 1048828) (i32.const 5) ) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (local.tee $19 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 17) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$237 (br_if $label$237 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (block $label$238 (block $label$239 (br_if $label$239 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$238) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$34 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$240 (block $label$241 (br_if $label$241 (i32.eq (local.tee $7 (i32.load (select (local.tee $21 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $20 (i32.add (local.tee $17 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $17) ) ) ) (i32.const 118) ) ) (block $label$242 (block $label$243 (br_if $label$243 (local.tee $9 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$242) ) (i32.store offset=136 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $9) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (local.set $22 (i64.load offset=296 (local.get $2) ) ) (br_if $label$240 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.add (local.get $22) (i64.const 1) ) ) (br $label$23) ) (block $label$244 (block $label$245 (br_if $label$245 (local.get $17) ) (local.set $7 (i32.const 1114112) ) (br $label$244) ) (i32.store offset=104 (local.get $2) (local.get $20) ) (local.set $7 (i32.load (local.get $21) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$33 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$246 (block $label$247 (br_if $label$247 (i32.eqz (local.tee $17 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (i32.store (local.get $16) (i32.load (i32.add (local.tee $17 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $17) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $17) ) ) (br $label$246) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.get $19) (i32.load (local.get $9) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$248 (br_if $label$248 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $19) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br $label$23) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i32.store offset=4 (local.get $0) (i32.load offset=292 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $22) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 224) ) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$32 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $2) (i32.const 72) ) (i32.load offset=224 (local.get $2) ) (i32.load offset=232 (local.get $2) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.load offset=72 (local.get $2) ) (i32.load offset=76 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store offset=232 (local.get $2) (i32.load (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (block $label$249 (br_if $label$249 (i32.eqz (call $>::ne::h2447bc43163523ff (i32.add (local.get $2) (i32.const 224) ) (i32.const 1048808) (i32.const 4) ) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (block $label$250 (block $label$251 (br_if $label$251 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$250) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$252 (block $label$253 (br_if $label$253 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (local.tee $19 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 18) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$252 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 256) ) ) (br $label$7) ) (block $label$254 (block $label$255 (br_if $label$255 (i32.eq (local.tee $7 (i32.load (select (local.tee $21 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $20 (i32.add (local.tee $17 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $17) ) ) ) (i32.const 118) ) ) (block $label$256 (block $label$257 (br_if $label$257 (local.tee $9 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$256) ) (i32.store offset=136 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $9) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (local.set $22 (i64.load offset=296 (local.get $2) ) ) (br_if $label$254 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.add (local.get $22) (i64.const 1) ) ) (br $label$24) ) (block $label$258 (block $label$259 (br_if $label$259 (local.get $17) ) (local.set $7 (i32.const 1114112) ) (br $label$258) ) (i32.store offset=104 (local.get $2) (local.get $20) ) (local.set $7 (i32.load (local.get $21) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$31 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$260 (block $label$261 (br_if $label$261 (i32.eqz (local.tee $17 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (i32.store (local.get $16) (i32.load (i32.add (local.tee $17 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $17) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $17) ) ) (br $label$260) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.get $19) (i32.load (local.get $9) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$262 (br_if $label$262 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $19) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br $label$24) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i32.store offset=4 (local.get $0) (i32.load offset=292 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $22) ) (br $label$6) ) (block $label$263 (block $label$264 (br_if $label$264 (local.tee $6 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$263) ) (i32.store offset=136 (local.get $2) (local.tee $6 (i32.add (local.get $6) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $6) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (local.set $22 (i64.load offset=296 (local.get $2) ) ) (br_if $label$30 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.add (local.get $22) (i64.const 1) ) ) (local.set $6 (i32.const 44) ) (local.set $7 (i32.const 97) ) (block $label$265 (br_if $label$265 (i32.eq (local.get $9) (i32.const 44) ) ) (br_if $label$18 (i32.ne (local.get $9) (i32.const 91) ) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store offset=336 (local.get $2) (i32.const 0) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 19) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$18 (i32.ne (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $18 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $17 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$214 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$211 (i32.eq (local.tee $7 (i32.load (select (local.tee $21 (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.tee $20 (i32.add (local.tee $9 (i32.load offset=104 (local.get $2) ) ) (i32.const -1) ) ) (i32.const 2) ) ) ) (i32.const 1048804) (local.get $9) ) ) ) (i32.const 118) ) ) (br_if $label$213 (local.tee $9 (i32.load offset=136 (local.get $2) ) ) ) (local.set $22 (i64.const 0) ) (br $label$212) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$8) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i32.store offset=136 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (local.set $23 (i64.load (i32.add (i32.load offset=128 (local.get $2) ) (i32.shl (local.get $9) (i32.const 3) ) ) ) ) (local.set $22 (i64.const 1) ) ) (call $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (i32.add (local.get $2) (i32.const 288) ) (local.get $22) (local.get $23) ) (local.set $22 (i64.load offset=296 (local.get $2) ) ) (br_if $label$210 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::vec::Vec::push::hfabd193d6c33320c (i32.add (local.get $2) (i32.const 128) ) (i64.add (local.get $22) (i64.const 1) ) ) (br $label$18) ) (block $label$266 (block $label$267 (br_if $label$267 (local.get $9) ) (local.set $7 (i32.const 1114112) ) (br $label$266) ) (i32.store offset=104 (local.get $2) (local.get $20) ) (local.set $7 (i32.load (local.get $21) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.get $18) (i32.load (local.get $17) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$268 (block $label$269 (br_if $label$269 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$270 (block $label$271 (br_if $label$271 (i32.eqz (local.tee $9 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (i32.store (local.get $18) (i32.load (i32.add (local.tee $9 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $9) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $9) ) ) (br $label$270) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.get $16) (i32.load (local.get $17) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$268 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $19) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$7) ) (i32.store offset=4 (local.get $0) (i32.load offset=292 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $22) ) (br $label$7) ) (block $label$272 (block $label$273 (br_if $label$273 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$272) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$29 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (local.set $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (block $label$274 (block $label$275 (br_if $label$275 (i32.eqz (local.tee $17 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (i32.store (local.get $16) (i32.load (i32.add (local.tee $17 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $17) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $17) ) ) (br $label$274) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (local.get $9) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$276 (br_if $label$276 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $16) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (block $label$277 (br_if $label$277 (i32.eq (local.get $7) (i32.const 119) ) ) (local.set $7 (i32.const 119) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 119) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $6 (i32.const 34) ) (br $label$18) ) (local.set $7 (i32.const 119) ) (local.set $6 (i32.const 34) ) (br_if $label$18 (i32.eq (local.get $17) (i32.const 92) ) ) (block $label$278 (block $label$279 (br_if $label$279 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$278) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $16 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$28 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$19 (i32.eq (local.tee $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (i32.const 100) ) ) (block $label$280 (br_if $label$280 (i32.ne (local.get $7) (i32.const 118) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 20) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$281 (br_if $label$281 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 118) ) (br $label$18) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 160) ) ) ) (i32.store (local.get $9) (i32.load (local.get $16) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$27 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$282 (block $label$283 (br_if $label$283 (i32.ne (i32.load (local.get $3) ) (i32.const 5) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 160) ) ) (call $core::ptr::drop_in_place::h26222354075eb354 (local.get $3) ) (i32.store (local.get $3) (i32.const 0) ) (i64.store align=4 (local.get $11) (i64.load offset=288 align=4 (local.get $2) ) ) (i32.store (i32.add (local.get $11) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (br $label$282) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=160 (local.get $2) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 21) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$5 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (block $label$284 (br_if $label$284 (i32.eq (local.get $7) (i32.const 115) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 115) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 115) ) (local.set $6 (i32.const 39) ) (br $label$18) ) (local.set $7 (i32.const 115) ) (local.set $6 (i32.const 39) ) (br_if $label$18 (i32.eq (local.get $17) (i32.const 92) ) ) (block $label$285 (block $label$286 (br_if $label$286 (local.tee $7 (i32.load offset=104 (local.get $2) ) ) ) (local.set $7 (i32.const 1114112) ) (br $label$285) ) (i32.store offset=104 (local.get $2) (local.tee $7 (i32.add (local.get $7) (i32.const -1) ) ) ) (local.set $7 (i32.load (i32.add (i32.load offset=96 (local.get $2) ) (i32.shl (local.get $7) (i32.const 2) ) ) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (local.get $7) ) (i32.store (local.tee $16 (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) ) (i32.load (local.tee $9 (i32.add (local.get $12) (i32.const 8) ) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$26 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$287 (block $label$288 (block $label$289 (block $label$290 (block $label$291 (br_if $label$291 (i32.eq (local.tee $7 (i32.load (select (i32.add (i32.add (i32.shl (local.tee $7 (i32.load offset=104 (local.get $2) ) ) (i32.const 2) ) (i32.load offset=96 (local.get $2) ) ) (i32.const -4) ) (i32.const 1048804) (local.get $7) ) ) ) (i32.const 118) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 160) ) ) ) (i32.store (local.get $16) (i32.load (local.get $9) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$290 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (br_if $label$289 (i32.ne (i32.load (local.get $3) ) (i32.const 5) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 160) ) ) (call $core::ptr::drop_in_place::h26222354075eb354 (local.get $3) ) (i32.store (local.get $3) (i32.const 0) ) (i64.store align=4 (local.get $11) (i64.load offset=288 align=4 (local.get $2) ) ) (i32.store (i32.add (local.get $11) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (br $label$288) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (local.tee $7 (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 22) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (block $label$292 (block $label$293 (br_if $label$293 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (block $label$294 (block $label$295 (br_if $label$295 (i32.eqz (local.tee $17 (i32.load offset=120 (local.get $2) ) ) ) ) (i32.store offset=120 (local.get $2) (local.tee $17 (i32.add (local.get $17) (i32.const -1) ) ) ) (i32.store (local.get $16) (i32.load (i32.add (local.tee $17 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $17) (i32.const 12) ) ) ) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $17) ) ) (br $label$294) ) (i32.store offset=272 (local.get $2) (i32.const 0) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 272) ) ) (i32.store (local.get $7) (i32.load (local.get $9) ) ) (i64.store offset=352 (local.get $2) (i64.load align=4 (local.get $12) ) ) (br_if $label$292 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (local.get $7) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=352 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 336) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 118) ) (br $label$18) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 256) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 128) ) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $2) (i32.const 320) ) (i32.add (local.get $2) (i32.const 112) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 336) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) ) ) (i64.store offset=336 (local.get $2) (i64.load offset=160 (local.get $2) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 352) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 256) ) (i32.const 8) ) ) ) (i64.store offset=352 (local.get $2) (i64.load offset=256 (local.get $2) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $2) (i32.const 288) ) (local.get $3) (i32.add (local.get $2) (i32.const 304) ) (i32.add (local.get $2) (i32.const 320) ) (i64.const 0) (i64.const 0) (local.get $17) (i32.const 23) (i32.add (local.get $2) (i32.const 336) ) (i32.add (local.get $2) (i32.const 352) ) ) (i64.store offset=272 (local.get $2) (i64.load align=1 (local.get $13) ) ) (i64.store offset=279 align=1 (local.get $2) (i64.load align=1 (local.get $14) ) ) (br_if $label$287 (i32.eq (i32.load8_u offset=288 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) (br $label$4) ) (local.set $6 (local.get $5) ) (block $label$296 (block $label$297 (br_table $label$18 $label$296 $label$296 $label$296 $label$18 $label$297 (i32.add (local.get $7) (i32.const -115) ) ) ) (br_if $label$25 (i32.eq (local.get $7) (i32.const 110) ) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 176) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 176) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=176 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 110) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 110) ) (call $alloc::string::String::push::h91b2efd5d5771ece (i32.add (local.get $2) (i32.const 176) ) (local.get $5) ) (br $label$25) ) (local.set $6 (i32.const 45) ) (block $label$298 (block $label$299 (br_table $label$18 $label$298 $label$298 $label$298 $label$18 $label$299 (i32.add (local.get $7) (i32.const -115) ) ) ) (br_if $label$18 (i32.eq (local.get $7) (i32.const 110) ) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 176) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 176) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=176 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 110) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 110) ) (local.set $6 (i32.const 45) ) (call $alloc::string::String::push::h91b2efd5d5771ece (i32.add (local.get $2) (i32.const 176) ) (i32.const 45) ) (br $label$18) ) (local.set $6 (i32.const 116) ) (block $label$300 (block $label$301 (br_table $label$18 $label$300 $label$300 $label$300 $label$18 $label$301 (i32.add (local.get $7) (i32.const -115) ) ) ) (br_if $label$18 (i32.eq (local.get $7) (i32.const 110) ) ) ) (local.set $6 (i32.const 116) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 116) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 192) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (call $alloc::string::String::push::h91b2efd5d5771ece (i32.add (local.get $2) (i32.const 192) ) (i32.const 116) ) (local.set $7 (i32.const 116) ) (br $label$18) ) (local.set $6 (i32.const 102) ) (block $label$302 (block $label$303 (br_table $label$18 $label$302 $label$302 $label$302 $label$18 $label$303 (i32.add (local.get $7) (i32.const -115) ) ) ) (br_if $label$18 (i32.eq (local.get $7) (i32.const 110) ) ) ) (local.set $6 (i32.const 102) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 102) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 208) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (call $alloc::string::String::push::h91b2efd5d5771ece (i32.add (local.get $2) (i32.const 208) ) (i32.const 102) ) (local.set $7 (i32.const 102) ) (br $label$18) ) (local.set $6 (i32.const 110) ) (block $label$304 (block $label$305 (br_table $label$18 $label$304 $label$304 $label$304 $label$18 $label$305 (i32.add (local.get $7) (i32.const -115) ) ) ) (br_if $label$18 (i32.eq (local.get $7) (i32.const 110) ) ) ) (local.set $7 (i32.const 48) ) (call $alloc::vec::Vec::push::h9e2687f5393e789b (i32.add (local.get $2) (i32.const 96) ) (i32.const 48) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 224) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $6 (i32.const 110) ) (call $alloc::string::String::push::h91b2efd5d5771ece (i32.add (local.get $2) (i32.const 224) ) (i32.const 110) ) (br $label$18) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 144) ) ) (br $label$21) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 144) ) ) (br $label$2) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $8) (local.get $5) (i32.const 1048788) ) (unreachable) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$7) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $2) (i32.const 288) ) (i32.const 1048812) (i32.const 16) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 296) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=288 (local.get $2) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=352 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 360) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i32.store offset=4 (local.get $0) (i32.load offset=292 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $22) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (br $label$6) ) (local.set $6 (local.get $5) ) (br $label$18) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 224) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=224 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 208) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=208 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 192) ) (i32.const 8) ) (i32.load (local.get $18) ) ) (i64.store offset=192 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (br $label$18) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 144) ) (i32.const 8) ) (i32.load (local.tee $7 (i32.add (i32.add (local.get $2) (i32.const 288) ) (i32.const 8) ) ) ) ) (i64.store offset=144 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $2) (i32.const 288) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $2) (i32.const 144) ) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 272) ) (i32.const 8) ) (i32.load (i32.add (local.get $12) (i32.const 8) ) ) ) (i64.store offset=272 (local.get $2) (i64.load align=4 (local.get $12) ) ) (block $label$306 (br_if $label$306 (i32.eq (i32.load offset=288 (local.get $2) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 288) ) (i32.add (local.get $2) (i32.const 144) ) ) (block $label$307 (br_if $label$307 (i32.ne (local.tee $9 (i32.load offset=120 (local.get $2) ) ) (i32.load offset=116 (local.get $2) ) ) ) (call $alloc::vec::Vec::reserve::h1f19ebcf0c7f7960 (i32.add (local.get $2) (i32.const 112) ) (i32.const 1) ) (local.set $9 (i32.load offset=120 (local.get $2) ) ) ) (i64.store align=4 (local.tee $9 (i32.add (i32.load offset=112 (local.get $2) ) (i32.mul (local.get $9) (i32.const 12) ) ) ) (i64.load offset=288 (local.get $2) ) ) (i32.store (i32.add (local.get $9) (i32.const 8) ) (i32.load (local.get $7) ) ) (local.set $15 (i32.const 1) ) (i32.store offset=120 (local.get $2) (i32.add (i32.load offset=120 (local.get $2) ) (i32.const 1) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $2) (i32.const 288) ) (i32.const 1060988) (i32.const 0) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 160) ) (i32.const 8) ) (i32.load (local.get $7) ) ) (i64.store offset=160 (local.get $2) (i64.load offset=288 (local.get $2) ) ) (local.set $7 (i32.const 118) ) (br $label$18) ) (i64.store offset=4 align=4 (local.get $0) (i64.load offset=272 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 280) ) ) ) (local.set $6 (i32.const 1) ) (local.set $15 (i32.const 1) ) (br $label$3) ) (call $core::ptr::drop_in_place::h26222354075eb354 (local.get $3) ) (i64.store offset=8 align=4 (local.get $3) (i64.const 0) ) (i64.store (local.get $3) (i64.const 34359738371) ) ) (local.set $7 (i32.const 100) ) ) (local.set $10 (i32.add (local.get $10) (i32.const 4) ) ) (local.set $16 (i32.ge_u (local.tee $8 (i32.add (local.get $8) (i32.const 1) ) ) (local.get $4) ) ) (br $label$17) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $9) (local.get $8) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (call_indirect (type $i32_i32_=>_none) (i32.const 16) (i32.const 8) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (local.set $5 (i32.const 0) ) (br $label$6) ) (local.set $5 (i32.const 1) ) ) (local.set $6 (i32.const 1) ) (br $label$3) ) (i64.store offset=4 align=1 (local.get $0) (i64.load offset=275 align=1 (local.get $2) ) ) (local.set $5 (i32.const 1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $2) (i32.const 283) ) ) ) ) (local.set $6 (i32.const 0) ) ) (call $core::ptr::drop_in_place::hdc334d1ef8c963f0 (i32.add (local.get $2) (i32.const 240) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 224) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 208) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 192) ) ) (block $label$308 (br_if $label$308 (i32.eqz (local.get $5) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 176) ) ) ) (block $label$309 (br_if $label$309 (i32.eqz (local.get $6) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 160) ) ) ) (block $label$310 (br_if $label$310 (i32.eqz (i32.and (local.get $15) (i32.const 1) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 144) ) ) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (i32.add (local.get $2) (i32.const 128) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (i32.add (local.get $2) (i32.const 112) ) ) (call $core::ptr::drop_in_place::hdc334d1ef8c963f0 (i32.add (local.get $2) (i32.const 96) ) ) (call $core::ptr::drop_in_place::h26222354075eb354 (local.get $3) ) (call $__rust_dealloc (local.get $3) (i32.const 16) (i32.const 8) ) (br $label$1) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (i32.add (local.get $2) (i32.const 128) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (i32.add (local.get $2) (i32.const 112) ) ) (call $core::ptr::drop_in_place::hdc334d1ef8c963f0 (i32.add (local.get $2) (i32.const 96) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $1) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 368) ) ) ) (func $core::num::dec2flt::dec2flt::hc98b654b772c316b (; 2 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) (local $17 i32) (local $18 i32) (local $19 i32) (local $20 i32) (local $21 i32) (local $22 i32) (local $23 i64) (local $24 i64) (local $25 i64) (local $26 i64) (local $27 i64) (local $28 i64) (local $29 f64) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 2096) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (block $label$10 (block $label$11 (block $label$12 (block $label$13 (br_if $label$13 (i32.eqz (local.get $2) ) ) (local.set $4 (i32.const 0) ) (block $label$14 (block $label$15 (block $label$16 (br_table $label$16 $label$14 $label$15 $label$14 (i32.add (i32.load8_u (local.get $1) ) (i32.const -43) ) ) ) (block $label$17 (br_if $label$17 (i32.eq (local.get $2) (i32.const 1) ) ) (br_if $label$9 (i32.le_s (i32.load8_s offset=1 (local.get $1) ) (i32.const -65) ) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) (br $label$14) ) (local.set $4 (i32.const 1) ) (block $label$18 (br_if $label$18 (i32.eq (local.get $2) (i32.const 1) ) ) (br_if $label$8 (i32.le_s (i32.load8_s offset=1 (local.get $1) ) (i32.const -65) ) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) ) (br_if $label$11 (i32.eqz (local.get $2) ) ) (local.set $5 (i32.const 0) ) (block $label$19 (loop $label$20 (block $label$21 (br_if $label$21 (i32.lt_u (i32.and (i32.add (i32.load8_u (i32.add (local.get $1) (local.get $5) ) ) (i32.const -48) ) (i32.const 255) ) (i32.const 10) ) ) (br_if $label$19 (i32.le_u (local.get $5) (local.get $2) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $5) (local.get $2) (i32.const 1055728) ) (unreachable) ) (br_if $label$20 (i32.ne (local.get $2) (local.tee $5 (i32.add (local.get $5) (i32.const 1) ) ) ) ) ) (local.set $5 (local.get $2) ) ) (local.set $6 (i32.add (local.get $1) (local.get $5) ) ) (local.set $23 (i64.const 0) ) (br_if $label$7 (i32.eqz (local.tee $7 (i32.sub (local.get $2) (local.get $5) ) ) ) ) (block $label$22 (br_if $label$22 (i32.eq (local.tee $8 (i32.load8_u (local.get $6) ) ) (i32.const 46) ) ) (block $label$23 (br_if $label$23 (i32.eq (local.get $8) (i32.const 101) ) ) (br_if $label$11 (i32.ne (local.get $8) (i32.const 69) ) ) ) (br_if $label$11 (i32.eqz (local.get $5) ) ) (br_if $label$11 (i32.eqz (local.tee $9 (i32.add (local.get $7) (i32.const -1) ) ) ) ) (local.set $10 (i32.const 1) ) (local.set $11 (i32.const 0) ) (block $label$24 (block $label$25 (block $label$26 (br_table $label$26 $label$24 $label$25 $label$24 (i32.add (i32.load8_u (local.tee $8 (i32.add (local.get $6) (i32.const 1) ) ) ) (i32.const -43) ) ) ) (local.set $11 (i32.const 1) ) ) (br_if $label$11 (i32.eqz (local.tee $9 (i32.add (local.get $7) (i32.const -2) ) ) ) ) (local.set $8 (i32.add (local.get $6) (i32.const 2) ) ) (local.set $10 (local.get $11) ) ) (local.set $7 (i32.const 0) ) (block $label$27 (block $label$28 (loop $label$29 (block $label$30 (br_if $label$30 (i32.lt_u (i32.and (i32.add (i32.load8_u (i32.add (local.get $8) (local.get $7) ) ) (i32.const -48) ) (i32.const 255) ) (i32.const 10) ) ) (br_if $label$28 (i32.le_u (local.get $7) (local.get $9) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (local.get $9) (i32.const 1055728) ) (unreachable) ) (br_if $label$29 (i32.ne (local.get $9) (local.tee $7 (i32.add (local.get $7) (i32.const 1) ) ) ) ) (br $label$27) ) ) (br_if $label$11 (i32.ne (local.get $9) (local.get $7) ) ) ) (br_if $label$11 (i32.eqz (local.get $9) ) ) (block $label$31 (loop $label$32 (block $label$33 (br_if $label$33 (i32.eq (local.tee $2 (i32.load8_u (local.get $8) ) ) (i32.const 48) ) ) (br_if $label$10 (i32.gt_u (local.get $9) (i32.const 17) ) ) (local.set $23 (i64.and (i64.extend_i32_u (i32.add (local.get $2) (i32.const -48) ) ) (i64.const 255) ) ) (br_if $label$31 (i32.eq (local.get $9) (i32.const 1) ) ) (local.set $2 (i32.const 1) ) (loop $label$34 (local.set $23 (i64.add (i64.mul (local.get $23) (i64.const 10) ) (i64.and (i64.extend_i32_u (i32.add (i32.load8_u (i32.add (local.get $8) (local.get $2) ) ) (i32.const -48) ) ) (i64.const 255) ) ) ) (br_if $label$34 (i32.ne (local.get $9) (local.tee $2 (i32.add (local.get $2) (i32.const 1) ) ) ) ) (br $label$31) ) ) (local.set $8 (i32.add (local.get $8) (i32.const 1) ) ) (br_if $label$32 (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) ) (local.set $23 (i64.const 0) ) ) (local.set $23 (select (local.get $23) (i64.sub (i64.const 0) (local.get $23) ) (local.get $10) ) ) (br $label$7) ) (local.set $8 (i32.add (local.get $6) (i32.const 1) ) ) (br_if $label$12 (i32.eqz (local.tee $9 (i32.add (local.get $7) (i32.const -1) ) ) ) ) (local.set $7 (i32.const 0) ) (block $label$35 (loop $label$36 (block $label$37 (br_if $label$37 (i32.lt_u (i32.and (i32.add (i32.load8_u (i32.add (local.get $8) (local.get $7) ) ) (i32.const -48) ) (i32.const 255) ) (i32.const 10) ) ) (br_if $label$35 (i32.le_u (local.get $7) (local.get $9) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (local.get $9) (i32.const 1055728) ) (unreachable) ) (br_if $label$36 (i32.ne (local.get $9) (local.tee $7 (i32.add (local.get $7) (i32.const 1) ) ) ) ) ) (local.set $7 (local.get $9) ) ) (br_if $label$11 (i32.eqz (i32.or (local.get $7) (local.get $5) ) ) ) (br_if $label$6 (i32.eqz (local.tee $9 (i32.sub (local.get $9) (local.get $7) ) ) ) ) (br_if $label$11 (i32.ne (i32.or (i32.load8_u (local.tee $11 (i32.add (local.get $8) (local.get $7) ) ) ) (i32.const 32) ) (i32.const 101) ) ) (br_if $label$11 (i32.eqz (local.tee $10 (i32.add (local.get $9) (i32.const -1) ) ) ) ) (local.set $12 (i32.const 1) ) (local.set $13 (i32.const 0) ) (block $label$38 (block $label$39 (block $label$40 (br_table $label$40 $label$38 $label$39 $label$38 (i32.add (i32.load8_u (local.tee $11 (i32.add (local.get $11) (i32.const 1) ) ) ) (i32.const -43) ) ) ) (local.set $13 (i32.const 1) ) ) (br_if $label$11 (i32.eqz (local.tee $10 (i32.add (local.get $9) (i32.const -2) ) ) ) ) (local.set $11 (i32.add (local.get $11) (i32.const 1) ) ) (local.set $12 (local.get $13) ) ) (local.set $9 (i32.const 0) ) (block $label$41 (block $label$42 (loop $label$43 (block $label$44 (br_if $label$44 (i32.lt_u (i32.and (i32.add (i32.load8_u (i32.add (local.get $11) (local.get $9) ) ) (i32.const -48) ) (i32.const 255) ) (i32.const 10) ) ) (br_if $label$42 (i32.le_u (local.get $9) (local.get $10) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $9) (local.get $10) (i32.const 1055728) ) (unreachable) ) (br_if $label$43 (i32.ne (local.get $10) (local.tee $9 (i32.add (local.get $9) (i32.const 1) ) ) ) ) (br $label$41) ) ) (br_if $label$11 (i32.ne (local.get $10) (local.get $9) ) ) ) (br_if $label$11 (i32.eqz (local.get $10) ) ) (block $label$45 (block $label$46 (loop $label$47 (block $label$48 (br_if $label$48 (i32.eq (local.tee $2 (i32.load8_u (local.get $11) ) ) (i32.const 48) ) ) (br_if $label$45 (i32.gt_u (local.get $10) (i32.const 17) ) ) (local.set $23 (i64.and (i64.extend_i32_u (i32.add (local.get $2) (i32.const -48) ) ) (i64.const 255) ) ) (br_if $label$46 (i32.eq (local.get $10) (i32.const 1) ) ) (local.set $2 (i32.const 1) ) (loop $label$49 (local.set $23 (i64.add (i64.mul (local.get $23) (i64.const 10) ) (i64.and (i64.extend_i32_u (i32.add (i32.load8_u (i32.add (local.get $11) (local.get $2) ) ) (i32.const -48) ) ) (i64.const 255) ) ) ) (br_if $label$49 (i32.ne (local.get $10) (local.tee $2 (i32.add (local.get $2) (i32.const 1) ) ) ) ) (br $label$46) ) ) (local.set $11 (i32.add (local.get $11) (i32.const 1) ) ) (br_if $label$47 (local.tee $10 (i32.add (local.get $10) (i32.const -1) ) ) ) ) (local.set $23 (i64.const 0) ) ) (local.set $23 (select (local.get $23) (i64.sub (i64.const 0) (local.get $23) ) (local.get $12) ) ) (br $label$6) ) (local.set $29 (f64.const 0) ) (br_if $label$2 (i32.eqz (local.get $12) ) ) (br $label$4) ) (i32.store16 (local.get $0) (i32.const 1) ) (br $label$1) ) (local.set $7 (i32.const 0) ) (br_if $label$6 (local.get $5) ) ) (local.set $29 (f64.const inf) ) (br_if $label$2 (call $core::str::traits::::eq::hc7aee230a22dd852.201 (local.get $1) (local.get $2) (i32.const 1060248) ) ) (local.set $29 (f64.const nan:0x8000000000000) ) (br_if $label$2 (call $core::str::traits::::eq::hc7aee230a22dd852.201 (local.get $1) (local.get $2) (i32.const 1060316) ) ) (br $label$5) ) (local.set $29 (f64.const 0) ) (br_if $label$4 (local.get $10) ) (br $label$2) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $1) (local.get $2) (i32.const 1) (local.get $2) (i32.const 1056140) ) (unreachable) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $1) (local.get $2) (i32.const 1) (local.get $2) (i32.const 1056156) ) (unreachable) ) (local.set $7 (i32.const 0) ) (local.set $8 (i32.const 1060988) ) ) (i32.store8 offset=1940 (local.get $3) (i32.const 0) ) (i32.store offset=1928 (local.get $3) (local.get $1) ) (i32.store offset=1936 (local.get $3) (i32.const 1060988) ) (i32.store offset=1932 (local.get $3) (local.get $6) ) (call $core::slice::\20for\20\5bT\5d>::index::h90a5fdd579b01001 (i32.add (local.get $3) (i32.const 72) ) (local.get $1) (local.get $5) (call $core::iter::traits::iterator::Iterator::count::h1f1535c3adef8ed6 (i32.add (local.get $3) (i32.const 1928) ) ) (i32.const 1060252) ) (local.set $9 (i32.load offset=76 (local.get $3) ) ) (local.set $5 (i32.load offset=72 (local.get $3) ) ) (i32.store8 offset=1940 (local.get $3) (i32.const 0) ) (i32.store offset=1932 (local.get $3) (i32.add (local.get $8) (local.get $7) ) ) (i32.store offset=1928 (local.get $3) (local.get $8) ) (i32.store offset=1936 (local.get $3) (i32.const 1060988) ) (call $core::slice::\20for\20\5bT\5d>::index::hce75ccb8a6c9f9a0 (i32.add (local.get $3) (i32.const 64) ) (local.get $8) (local.get $7) (i32.sub (local.get $7) (call $core::iter::traits::iterator::Iterator::count::h07f1f0497036649a (i32.add (local.get $3) (i32.const 1928) ) ) ) (i32.const 1060268) ) (local.set $6 (i32.load offset=68 (local.get $3) ) ) (local.set $1 (i32.load offset=64 (local.get $3) ) ) (block $label$50 (block $label$51 (br_if $label$51 (i32.eqz (local.get $9) ) ) (br_if $label$50 (local.get $6) ) (local.set $6 (i32.const 0) ) (i32.store8 offset=1940 (local.get $3) (i32.const 0) ) (i32.store offset=1928 (local.get $3) (local.get $5) ) (i32.store offset=1936 (local.get $3) (i32.const 1060988) ) (i32.store offset=1932 (local.get $3) (i32.add (local.get $5) (local.get $9) ) ) (call $core::slice::\20for\20\5bT\5d>::index::hce75ccb8a6c9f9a0 (i32.add (local.get $3) (i32.const 56) ) (local.get $5) (local.get $9) (i32.sub (local.get $9) (local.tee $2 (call $core::iter::traits::iterator::Iterator::count::h07f1f0497036649a (i32.add (local.get $3) (i32.const 1928) ) ) ) ) (i32.const 1060300) ) (br_if $label$3 (i32.eqz (local.tee $9 (i32.load offset=60 (local.get $3) ) ) ) ) (local.set $23 (i64.add (local.get $23) (i64.extend_i32_u (local.get $2) ) ) ) (local.set $5 (i32.load offset=56 (local.get $3) ) ) (br $label$50) ) (local.set $9 (i32.const 0) ) (i32.store8 offset=1940 (local.get $3) (i32.const 0) ) (i32.store offset=1928 (local.get $3) (local.get $1) ) (i32.store offset=1936 (local.get $3) (i32.const 1060988) ) (i32.store offset=1932 (local.get $3) (i32.add (local.get $1) (local.get $6) ) ) (call $core::slice::\20for\20\5bT\5d>::index::h90a5fdd579b01001 (i32.add (local.get $3) (i32.const 48) ) (local.get $1) (local.get $6) (local.tee $2 (call $core::iter::traits::iterator::Iterator::count::h1f1535c3adef8ed6 (i32.add (local.get $3) (i32.const 1928) ) ) ) (i32.const 1060284) ) (br_if $label$3 (i32.eqz (local.tee $6 (i32.load offset=52 (local.get $3) ) ) ) ) (local.set $23 (i64.sub (local.get $23) (i64.extend_i32_u (local.get $2) ) ) ) (local.set $1 (i32.load offset=48 (local.get $3) ) ) ) (block $label$52 (br_if $label$52 (i64.le_u (i64.add (local.tee $25 (i64.add (local.get $23) (local.tee $24 (i64.extend_i32_u (local.get $9) ) ) ) ) (i64.const 326) ) (i64.const 636) ) ) (local.set $29 (select (f64.const inf) (f64.const 0) (i64.gt_s (local.get $25) (i64.const 310) ) ) ) (br $label$2) ) (local.set $25 (i64.sub (local.get $23) (local.tee $26 (i64.extend_i32_u (local.get $6) ) ) ) ) (block $label$53 (br_if $label$53 (i32.gt_u (i32.add (local.get $6) (local.get $9) ) (i32.const 16) ) ) (br_if $label$53 (i64.gt_s (i64.xor (i64.add (local.get $25) (local.tee $23 (i64.shr_s (local.get $25) (i64.const 63) ) ) ) (local.get $23) ) (i64.const 22) ) ) (local.set $23 (i64.const 0) ) (local.set $27 (i64.sub (i64.const 0) (local.get $25) ) ) (local.set $10 (i32.add (local.get $1) (local.get $6) ) ) (local.set $11 (i32.add (local.get $5) (local.get $9) ) ) (local.set $7 (local.get $1) ) (local.set $2 (local.get $5) ) (block $label$54 (loop $label$55 (block $label$56 (block $label$57 (br_if $label$57 (i32.eqz (local.get $2) ) ) (br_if $label$57 (i32.eq (local.get $11) (local.get $2) ) ) (local.set $8 (i32.add (local.get $2) (i32.const 1) ) ) (br $label$56) ) (br_if $label$54 (i32.eqz (local.get $7) ) ) (br_if $label$54 (i32.eq (local.get $10) (local.get $7) ) ) (local.set $8 (i32.const 0) ) (local.set $2 (local.get $7) ) (local.set $7 (i32.add (local.get $7) (i32.const 1) ) ) ) (local.set $23 (i64.add (i64.mul (local.get $23) (i64.const 10) ) (i64.and (i64.extend_i32_u (i32.add (i32.load8_u (local.get $2) ) (i32.const -48) ) ) (i64.const 255) ) ) ) (local.set $2 (local.get $8) ) (br $label$55) ) ) (br_if $label$53 (i64.gt_u (local.get $23) (i64.const 9007199254740991) ) ) (local.set $29 (f64.convert_i64_u (local.get $23) ) ) (block $label$58 (br_if $label$58 (i64.gt_s (local.get $25) (i64.const -1) ) ) (local.set $29 (f64.div (local.get $29) (call $::short_fast_pow10::h109a3969d9d06750 (i32.wrap_i64 (local.get $27) ) ) ) ) (br $label$2) ) (local.set $29 (f64.mul (call $::short_fast_pow10::h109a3969d9d06750 (i32.wrap_i64 (local.get $25) ) ) (local.get $29) ) ) (br $label$2) ) (br_if $label$5 (i64.gt_u (local.tee $24 (i64.add (i64.add (local.get $26) (local.get $24) ) (select (local.get $25) (i64.sub (i64.const 17) (local.get $25) ) (i64.gt_s (local.get $25) (i64.const -1) ) ) ) ) (i64.const 375) ) ) (i32.store offset=80 (local.get $3) (i32.const 1) ) (local.set $11 (call $memset (i32.or (i32.add (local.get $3) (i32.const 80) ) (i32.const 4) ) (i32.const 0) (i32.const 160) ) ) (local.set $13 (i32.add (local.get $1) (local.get $6) ) ) (local.set $10 (i32.add (local.get $5) (local.get $9) ) ) (local.set $12 (i32.add (local.get $3) (i32.const 88) ) ) (local.set $8 (i32.const 1) ) (block $label$59 (block $label$60 (block $label$61 (block $label$62 (loop $label$63 (block $label$64 (block $label$65 (br_if $label$65 (i32.eqz (local.get $5) ) ) (br_if $label$65 (i32.eq (local.get $10) (local.get $5) ) ) (local.set $9 (i32.add (local.get $5) (i32.const 1) ) ) (local.set $6 (local.get $1) ) (br $label$64) ) (br_if $label$62 (i32.eqz (local.get $1) ) ) (br_if $label$62 (i32.eq (local.get $13) (local.get $1) ) ) (local.set $6 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $9 (i32.const 0) ) (local.set $5 (local.get $1) ) ) (br_if $label$60 (i32.ge_u (local.get $8) (i32.const 41) ) ) (local.set $1 (i32.and (i32.add (i32.load8_u (local.get $5) ) (i32.const -48) ) (i32.const 255) ) ) (local.set $7 (i32.add (i32.add (i32.add (local.get $3) (i32.const 80) ) (local.tee $2 (i32.shl (local.get $8) (i32.const 2) ) ) ) (i32.const 4) ) ) (local.set $23 (i64.const 0) ) (local.set $5 (local.get $11) ) (loop $label$66 (i64.store32 (local.get $5) (local.tee $23 (i64.add (i64.mul (i64.load32_u (local.get $5) ) (i64.const 10) ) (local.get $23) ) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 4) ) ) (local.set $23 (i64.shr_u (local.get $23) (i64.const 32) ) ) (br_if $label$66 (local.tee $2 (i32.add (local.get $2) (i32.const -4) ) ) ) ) (block $label$67 (br_if $label$67 (i32.eqz (local.tee $5 (i32.wrap_i64 (local.get $23) ) ) ) ) (br_if $label$61 (i32.gt_u (local.get $8) (i32.const 39) ) ) (i32.store (local.get $7) (local.get $5) ) (local.set $8 (i32.add (local.get $8) (i32.const 1) ) ) ) (i32.store offset=80 (local.get $3) (local.get $8) ) (i32.store offset=84 (local.get $3) (local.tee $1 (i32.add (local.tee $5 (i32.load offset=84 (local.get $3) ) ) (local.get $1) ) ) ) (local.set $2 (i32.const 1) ) (block $label$68 (block $label$69 (br_if $label$69 (i32.ge_u (local.get $1) (local.get $5) ) ) (local.set $2 (i32.const 1) ) (local.set $5 (local.get $12) ) (loop $label$70 (br_if $label$68 (i32.eq (local.get $2) (i32.const 40) ) ) (i32.store (local.get $5) (local.tee $7 (i32.add (local.tee $1 (i32.load (local.get $5) ) ) (i32.const 1) ) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 4) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 1) ) ) (br_if $label$70 (i32.lt_u (local.get $7) (local.get $1) ) ) ) ) (local.set $5 (local.get $9) ) (local.set $1 (local.get $6) ) (br_if $label$63 (i32.le_u (local.get $2) (local.get $8) ) ) (i32.store offset=80 (local.get $3) (local.get $2) ) (local.set $8 (local.get $2) ) (local.set $5 (local.get $9) ) (local.set $1 (local.get $6) ) (br $label$63) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (local.set $11 (i32.shr_s (i32.shl (local.tee $5 (i32.wrap_i64 (local.get $25) ) ) (i32.const 16) ) (i32.const 16) ) ) (block $label$71 (br_if $label$71 (i32.gt_u (i32.and (local.tee $6 (i32.add (local.get $5) (i32.const 305) ) ) (i32.const 65535) ) (i32.const 610) ) ) (br_if $label$59 (i64.lt_u (local.get $24) (i64.const 306) ) ) ) (i32.store offset=248 (local.get $3) (local.get $8) ) (drop (call $memcpy (i32.or (i32.add (local.get $3) (i32.const 248) ) (i32.const 4) ) (i32.or (i32.add (local.get $3) (i32.const 80) ) (i32.const 4) ) (i32.const 160) ) ) (local.set $5 (i32.shr_s (i32.shl (i32.xor (i32.add (local.get $11) (local.tee $5 (i32.shr_s (local.get $11) (i32.const 31) ) ) ) (local.get $5) ) (i32.const 16) ) (i32.const 16) ) ) (block $label$72 (block $label$73 (br_if $label$73 (i32.lt_s (local.get $11) (i32.const 0) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 248) ) (local.get $5) ) (local.get $5) ) ) (i64.store offset=416 (local.get $3) (i64.const 4294967297) ) (drop (call $memset (i32.add (local.get $3) (i32.const 424) ) (i32.const 0) (i32.const 156) ) ) (br $label$72) ) (i64.store offset=416 (local.get $3) (i64.const 4294967297) ) (drop (call $memset (i32.add (local.get $3) (i32.const 424) ) (i32.const 0) (i32.const 156) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 416) ) (local.get $5) ) (local.get $5) ) ) ) (local.set $7 (i32.sub (call $core::num::bignum::Big32x40::bit_length::hf8e69dbeda59a24a (i32.add (local.get $3) (i32.const 248) ) ) (call $core::num::bignum::Big32x40::bit_length::hf8e69dbeda59a24a (i32.add (local.get $3) (i32.const 416) ) ) ) ) (local.set $14 (i32.const 0) ) (local.set $2 (i32.const 0) ) (local.set $5 (i32.const 0) ) (loop $label$74 (block $label$75 (block $label$76 (block $label$77 (block $label$78 (block $label$79 (block $label$80 (block $label$81 (block $label$82 (block $label$83 (block $label$84 (block $label$85 (block $label$86 (block $label$87 (block $label$88 (block $label$89 (block $label$90 (br_if $label$90 (i32.eq (local.tee $1 (i32.and (local.get $14) (i32.const 65535) ) ) (i32.const 971) ) ) (br_if $label$90 (i32.eq (local.get $1) (i32.const 64462) ) ) (br_if $label$89 (i32.lt_s (local.tee $1 (i32.shr_s (i32.shl (i32.add (i32.sub (local.get $7) (local.get $2) ) (local.get $5) ) (i32.const 16) ) (i32.const 16) ) ) (i32.const 52) ) ) (br_if $label$90 (i32.le_s (local.get $1) (i32.const 54) ) ) (local.set $1 (i32.const 1) ) (local.set $2 (i32.add (local.get $2) (i32.const 1) ) ) (br $label$75) ) (local.set $13 (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 248) ) (i32.shr_s (i32.shl (local.get $5) (i32.const 16) ) (i32.const 16) ) ) ) (local.set $15 (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 416) ) (i32.shr_s (i32.shl (local.get $2) (i32.const 16) ) (i32.const 16) ) ) ) (i32.store offset=584 (local.get $3) (i32.const 1) ) (local.set $16 (call $memset (i32.or (i32.add (local.get $3) (i32.const 584) ) (i32.const 4) ) (i32.const 0) (i32.const 160) ) ) (i32.store offset=752 (local.get $3) (i32.const 1) ) (local.set $17 (call $memset (i32.or (i32.add (local.get $3) (i32.const 752) ) (i32.const 4) ) (i32.const 0) (i32.const 160) ) ) (call $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (i32.add (local.get $3) (i32.const 920) ) (i64.const 4503599627370496) ) (call $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (i32.add (local.get $3) (i32.const 1088) ) (i64.const 9007199254740991) ) (local.set $18 (i32.add (local.get $15) (i32.const 4) ) ) (local.set $19 (i32.add (i32.add (local.get $3) (i32.const 584) ) (i32.const 8) ) ) (local.set $20 (i32.add (i32.add (local.get $3) (i32.const 416) ) (i32.const 8) ) ) (loop $label$91 (br_if $label$88 (i32.ge_u (local.tee $7 (i32.load (local.get $15) ) ) (i32.const 41) ) ) (local.set $5 (i32.shl (local.get $7) (i32.const 2) ) ) (local.set $2 (local.get $18) ) (loop $label$92 (br_if $label$87 (i32.eqz (local.get $5) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -4) ) ) (local.set $1 (i32.load (local.get $2) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (br_if $label$92 (i32.eqz (local.get $1) ) ) ) (drop (call $memset (local.get $17) (i32.const 0) (i32.const 160) ) ) (drop (call $memset (local.get $16) (i32.const 0) (i32.const 160) ) ) (i32.store offset=752 (local.get $3) (i32.const 1) ) (i32.store offset=584 (local.get $3) (local.get $7) ) (br_if $label$86 (i32.gt_u (local.tee $1 (i32.load (local.get $13) ) ) (i32.const 40) ) ) (block $label$93 (br_if $label$93 (i32.eqz (local.get $1) ) ) (local.set $7 (i32.add (i32.shr_u (i32.add (local.tee $5 (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const -4) ) (i32.const 2) ) (i32.const 1) ) ) (local.set $2 (i32.const 0) ) (block $label$94 (loop $label$95 (br_if $label$94 (i32.load (i32.add (i32.add (local.get $3) (i32.const 248) ) (local.get $5) ) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 1) ) ) (br_if $label$95 (local.tee $5 (i32.add (local.get $5) (i32.const -4) ) ) ) ) (local.set $2 (local.get $7) ) ) (local.set $5 (i32.sub (local.get $1) (local.get $2) ) ) (br_if $label$85 (i32.lt_u (local.get $1) (local.get $2) ) ) (br_if $label$93 (i32.eqz (local.get $5) ) ) (local.set $6 (i32.or (i32.sub (i32.shl (local.get $1) (i32.const 5) ) (i32.shl (local.get $2) (i32.const 5) ) ) (i32.const 1) ) ) (loop $label$96 (local.set $2 (i32.shr_u (local.tee $5 (i32.add (local.get $6) (i32.const -2) ) ) (i32.const 5) ) ) (br_if $label$84 (i32.ge_u (local.get $5) (i32.const 1280) ) ) (local.set $6 (i32.add (local.get $6) (i32.const -1) ) ) (br_if $label$96 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (local.get $13) (i32.shl (local.get $2) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $5) (i32.const 31) ) ) (i32.const 1) ) ) ) ) (local.set $21 (i32.const 1) ) (loop $label$97 (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 584) ) (i32.const 1) ) ) (local.set $10 (i32.shr_u (local.tee $6 (i32.add (local.get $6) (i32.const -1) ) ) (i32.const 5) ) ) (br_if $label$83 (i32.ge_u (local.get $6) (i32.const 1280) ) ) (i32.store offset=588 (local.get $3) (local.tee $7 (i32.or (i32.and (i32.shr_u (i32.load (i32.add (i32.add (local.get $13) (local.tee $12 (i32.shl (local.get $10) (i32.const 2) ) ) ) (i32.const 4) ) ) (local.tee $22 (i32.and (local.get $6) (i32.const 31) ) ) ) (i32.const 1) ) (i32.load offset=588 (local.get $3) ) ) ) ) (br_if $label$82 (i32.ge_u (local.tee $11 (select (local.tee $5 (i32.load offset=584 (local.get $3) ) ) (local.tee $2 (i32.load (local.get $15) ) ) (i32.gt_u (local.get $5) (local.get $2) ) ) ) (i32.const 41) ) ) (local.set $5 (i32.shl (local.get $11) (i32.const 2) ) ) (block $label$98 (loop $label$99 (block $label$100 (br_if $label$100 (local.get $5) ) (local.set $2 (select (i32.const -1) (i32.const 0) (local.get $5) ) ) (br $label$98) ) (local.set $2 (i32.add (i32.add (local.get $3) (i32.const 416) ) (local.get $5) ) ) (local.set $1 (i32.add (i32.add (local.get $3) (i32.const 584) ) (local.get $5) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -4) ) ) (br_if $label$99 (i32.eqz (local.tee $2 (select (i32.const -1) (i32.ne (local.tee $1 (i32.load (local.get $1) ) ) (local.tee $2 (i32.load (local.get $2) ) ) ) (i32.lt_u (local.get $1) (local.get $2) ) ) ) ) ) ) ) (block $label$101 (br_if $label$101 (i32.gt_u (i32.and (local.get $2) (i32.const 255) ) (i32.const 1) ) ) (block $label$102 (br_if $label$102 (i32.eqz (local.get $11) ) ) (i32.store offset=588 (local.get $3) (local.tee $2 (i32.sub (local.get $7) (local.tee $5 (i32.load (local.get $18) ) ) ) ) ) (local.set $7 (i32.or (i32.lt_u (local.tee $5 (i32.add (local.get $7) (i32.xor (local.get $5) (i32.const -1) ) ) ) (local.get $7) ) (i32.lt_u (local.get $2) (local.get $5) ) ) ) (block $label$103 (br_if $label$103 (i32.eq (local.get $11) (i32.const 1) ) ) (local.set $8 (i32.add (local.get $11) (i32.const -1) ) ) (local.set $5 (local.get $19) ) (local.set $2 (local.get $20) ) (loop $label$104 (i32.store (local.get $5) (local.tee $7 (i32.add (local.tee $1 (i32.add (local.tee $9 (i32.load (local.get $5) ) ) (i32.xor (i32.load (local.get $2) ) (i32.const -1) ) ) ) (i32.and (local.get $7) (i32.const 1) ) ) ) ) (local.set $7 (i32.or (i32.lt_u (local.get $1) (local.get $9) ) (i32.lt_u (local.get $7) (local.get $1) ) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 4) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (br_if $label$104 (local.tee $8 (i32.add (local.get $8) (i32.const -1) ) ) ) ) ) (br_if $label$81 (i32.eqz (local.get $7) ) ) ) (i32.store offset=584 (local.get $3) (local.get $11) ) (block $label$105 (br_if $label$105 (i32.eqz (i32.and (local.get $21) (i32.const 1) ) ) ) (i32.store offset=752 (local.get $3) (i32.add (local.get $10) (i32.const 1) ) ) ) (i32.store (local.tee $5 (i32.add (i32.add (i32.add (local.get $3) (i32.const 752) ) (local.get $12) ) (i32.const 4) ) ) (i32.or (i32.load (local.get $5) ) (i32.shl (i32.const 1) (local.get $22) ) ) ) (local.set $21 (i32.const 0) ) ) (br_if $label$97 (local.get $6) ) ) ) (block $label$106 (block $label$107 (br_if $label$107 (i32.eq (i32.and (local.get $14) (i32.const 65535) ) (i32.const 64462) ) ) (br_if $label$4 (i32.gt_s (i32.shr_s (i32.shl (local.get $14) (i32.const 16) ) (i32.const 16) ) (i32.const 971) ) ) (local.set $5 (i32.const 65535) ) (local.set $2 (local.get $13) ) (br_if $label$106 (call $core::cmp::PartialOrd::lt::he4b3502d512bb221 (i32.add (local.get $3) (i32.const 752) ) (i32.add (local.get $3) (i32.const 920) ) ) ) (local.set $5 (i32.const 1) ) (local.set $2 (local.get $15) ) (br_if $label$106 (call $core::cmp::PartialOrd::gt::h49cf97622991f4a8 (i32.add (local.get $3) (i32.const 752) ) (i32.add (local.get $3) (i32.const 1088) ) ) ) (local.set $23 (call $core::num::dec2flt::num::to_u64::ha94f854aeeb0a484 (i32.add (local.get $3) (i32.const 752) ) ) ) (br $label$76) ) (block $label$108 (br_if $label$108 (i32.eqz (call $core::cmp::PartialOrd::ge::h5bcf90b30a11ac7b (i32.add (local.get $3) (i32.const 752) ) (i32.add (local.get $3) (i32.const 920) ) ) ) ) (br_if $label$108 (i32.eqz (call $core::cmp::PartialOrd::le::hdeb79496e232fcb6 (i32.add (local.get $3) (i32.const 752) ) (i32.add (local.get $3) (i32.const 1088) ) ) ) ) (local.set $14 (i32.const 64462) ) (local.set $23 (call $core::num::dec2flt::num::to_u64::ha94f854aeeb0a484 (i32.add (local.get $3) (i32.const 752) ) ) ) (br $label$76) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1256) ) (i32.add (local.get $3) (i32.const 752) ) (i32.const 164) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1424) ) (i32.add (local.get $3) (i32.const 416) ) (i32.const 164) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1592) ) (i32.add (local.get $3) (i32.const 584) ) (i32.const 164) ) ) (call $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (i32.add (local.get $3) (i32.const 1928) ) (i64.const 4503599627370496) ) (block $label$109 (block $label$110 (block $label$111 (br_if $label$111 (call $core::cmp::PartialOrd::lt::he4b3502d512bb221 (i32.add (local.get $3) (i32.const 1256) ) (i32.add (local.get $3) (i32.const 1928) ) ) ) (local.set $1 (i32.add (local.tee $7 (call $core::num::bignum::Big32x40::bit_length::hf8e69dbeda59a24a (i32.add (local.get $3) (i32.const 1256) ) ) ) (i32.const -53) ) ) (local.set $23 (i64.const 0) ) (block $label$112 (br_if $label$112 (i32.lt_u (local.get $7) (i32.const 53) ) ) (local.set $23 (i64.const 0) ) (local.set $5 (local.get $7) ) (loop $label$113 (local.set $2 (i32.shr_u (local.tee $5 (i32.add (local.get $5) (i32.const -1) ) ) (i32.const 5) ) ) (br_if $label$80 (i32.ge_u (local.get $5) (i32.const 1280) ) ) (local.set $23 (i64.or (i64.shl (local.get $23) (i64.const 1) ) (i64.extend_i32_u (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 1256) ) (i32.shl (local.get $2) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $5) (i32.const 31) ) ) (i32.const 1) ) ) ) ) (br_if $label$113 (i32.gt_u (local.get $5) (local.get $1) ) ) ) ) (local.set $29 (f64.reinterpret_i64 (i64.or (i64.shl (i64.extend_i32_u (i32.add (local.get $7) (i32.const 4044) ) ) (i64.const 52) ) (i64.and (local.get $23) (i64.const -4503599627370497) ) ) ) ) (br_if $label$2 (i32.eqz (local.get $1) ) ) (local.set $5 (i32.shr_u (local.tee $7 (i32.add (local.get $7) (i32.const -54) ) ) (i32.const 5) ) ) (br_if $label$79 (i32.ge_u (local.get $7) (i32.const 1280) ) ) (br_if $label$2 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 1256) ) (i32.shl (local.get $5) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $7) (i32.const 31) ) ) (i32.const 1) ) ) ) (local.set $5 (i32.const 0) ) (loop $label$114 (br_if $label$110 (i32.eq (local.get $7) (local.get $5) ) ) (local.set $2 (i32.and (local.get $5) (i32.const 31) ) ) (local.set $1 (i32.shr_u (local.get $5) (i32.const 3) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 1) ) ) (br_if $label$114 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 1256) ) (i32.and (local.get $1) (i32.const 536870908) ) ) (i32.const 4) ) ) (local.get $2) ) (i32.const 1) ) ) ) (br $label$109) ) ) (br_if $label$78 (i64.ge_u (local.tee $23 (call $core::num::dec2flt::num::to_u64::ha94f854aeeb0a484 (i32.add (local.get $3) (i32.const 1256) ) ) ) (i64.const 4503599627370496) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 1424) ) (i32.const 164) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1928) ) (i32.add (local.get $3) (i32.const 1592) ) (i32.const 164) ) ) (local.set $29 (call $core::num::dec2flt::algorithm::round_by_remainder::h0a149f113746ceff (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 1928) ) (local.get $23) (f64.reinterpret_i64 (local.get $23) ) ) ) (br $label$2) ) (br_if $label$77 (i32.ge_u (local.tee $5 (i32.load offset=1592 (local.get $3) ) ) (i32.const 41) ) ) (local.set $23 (i64.and (local.get $23) (i64.const 1) ) ) (local.set $5 (i32.shl (local.get $5) (i32.const 2) ) ) (local.set $2 (i32.or (i32.add (local.get $3) (i32.const 1592) ) (i32.const 4) ) ) (block $label$115 (loop $label$116 (br_if $label$115 (i32.eqz (local.get $5) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -4) ) ) (local.set $1 (i32.load (local.get $2) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (br_if $label$116 (i32.eqz (local.get $1) ) ) (br $label$109) ) ) (br_if $label$2 (i64.eqz (local.get $23) ) ) ) (local.set $29 (call $core::num::dec2flt::rawfp::next_float::h9f67489b491e3a1a (local.get $29) ) ) (br $label$2) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (local.get $2) (i32.const 1) ) ) (local.set $14 (i32.add (local.get $14) (local.get $5) ) ) (br $label$91) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 1) ) ) (local.set $1 (i32.const 65535) ) (br $label$75) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1059485) (i32.const 30) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $5) (local.get $1) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $10) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $11) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1058960) (i32.const 26) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $5) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060190) (i32.const 40) (i32.const 1060232) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $5) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 416) ) (i32.const 164) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1928) ) (i32.add (local.get $3) (i32.const 584) ) (i32.const 164) ) ) (local.set $29 (call $core::num::dec2flt::algorithm::round_by_remainder::h0a149f113746ceff (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 1928) ) (local.get $23) (f64.reinterpret_i64 (i64.or (i64.shl (i64.extend_i32_u (i32.add (local.get $14) (i32.const 1075) ) ) (i64.const 52) ) (i64.and (local.get $23) (i64.const -4503599627370497) ) ) ) ) ) (br $label$2) ) (local.set $14 (i32.add (local.get $14) (local.get $1) ) ) (br $label$74) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $8) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (i32.add (local.get $3) (i32.const 1928) ) (i64.const 9007199254740991) ) (local.set $5 (call $core::cmp::PartialOrd::le::hdeb79496e232fcb6 (i32.add (local.get $3) (i32.const 80) ) (i32.add (local.get $3) (i32.const 1928) ) ) ) (block $label$117 (br_if $label$117 (i32.ge_u (local.tee $7 (i32.load offset=80 (local.get $3) ) ) (i32.const 41) ) ) (block $label$118 (block $label$119 (block $label$120 (block $label$121 (block $label$122 (block $label$123 (block $label$124 (block $label$125 (block $label$126 (br_if $label$126 (i32.eqz (local.get $7) ) ) (local.set $26 (select (select (i64.const 0) (i64.const 3) (local.tee $2 (i32.gt_s (local.get $11) (i32.const -1) ) ) ) (select (i64.const 1) (i64.const 4) (local.get $2) ) (local.get $5) ) ) (local.set $1 (i32.add (i32.shr_u (i32.add (local.tee $5 (i32.shl (local.get $7) (i32.const 2) ) ) (i32.const -4) ) (i32.const 2) ) (i32.const 1) ) ) (local.set $2 (i32.const 0) ) (block $label$127 (loop $label$128 (br_if $label$127 (i32.load (i32.add (i32.add (local.get $3) (i32.const 80) ) (local.get $5) ) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 1) ) ) (br_if $label$128 (local.tee $5 (i32.add (local.get $5) (i32.const -4) ) ) ) ) (local.set $2 (local.get $1) ) ) (local.set $5 (i32.sub (local.get $7) (local.get $2) ) ) (br_if $label$118 (i32.lt_u (local.get $7) (local.get $2) ) ) (br_if $label$126 (i32.eqz (local.get $5) ) ) (local.set $5 (i32.or (i32.sub (i32.shl (local.get $7) (i32.const 5) ) (i32.shl (local.get $2) (i32.const 5) ) ) (i32.const 1) ) ) (loop $label$129 (local.set $1 (i32.shr_u (local.tee $2 (i32.add (local.get $5) (i32.const -2) ) ) (i32.const 5) ) ) (br_if $label$119 (i32.ge_u (local.get $2) (i32.const 1280) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -1) ) ) (br_if $label$129 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 80) ) (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $2) (i32.const 31) ) ) (i32.const 1) ) ) ) ) (br_if $label$120 (i32.gt_u (i32.sub (local.get $5) (local.tee $8 (select (i32.const 0) (local.tee $2 (i32.add (local.get $5) (i32.const -64) ) ) (i32.gt_u (local.get $2) (local.get $5) ) ) ) ) (i32.const 64) ) ) (local.set $23 (i64.const 0) ) (block $label$130 (br_if $label$130 (i32.le_u (local.get $5) (local.get $8) ) ) (local.set $2 (i32.add (local.get $5) (i32.const -1) ) ) (local.set $23 (i64.const 0) ) (loop $label$131 (local.set $1 (i32.shr_u (local.get $2) (i32.const 5) ) ) (br_if $label$121 (i32.ge_u (local.get $2) (i32.const 1280) ) ) (local.set $23 (i64.or (i64.shl (local.get $23) (i64.const 1) ) (i64.extend_i32_u (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 80) ) (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $2) (i32.const 31) ) ) (i32.const 1) ) ) ) ) (local.set $1 (i32.gt_u (local.get $2) (local.get $8) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) (br_if $label$131 (local.get $1) ) ) ) (local.set $25 (i64.shl (local.tee $24 (select (i64.shl (local.tee $25 (select (i64.shl (local.tee $25 (select (i64.shl (local.tee $25 (select (i64.shl (local.tee $25 (select (i64.shl (local.get $23) (i64.const 32) ) (local.get $23) (local.tee $2 (i64.lt_u (local.get $23) (i64.const 4294967296) ) ) ) ) (i64.const 16) ) (local.get $25) (local.tee $1 (i64.lt_u (local.get $25) (i64.const 281474976710656) ) ) ) ) (i64.const 8) ) (local.get $25) (local.tee $9 (i64.lt_u (local.get $25) (i64.const 72057594037927936) ) ) ) ) (i64.const 4) ) (local.get $25) (local.tee $10 (i64.lt_u (local.get $25) (i64.const 1152921504606846976) ) ) ) ) (i64.const 2) ) (local.get $25) (local.tee $13 (i64.lt_u (local.get $25) (i64.const 4611686018427387904) ) ) ) ) (i64.shr_u (i64.xor (local.get $24) (i64.const -1) ) (i64.const 63) ) ) ) (local.set $10 (i32.add (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (local.tee $12 (i32.add (local.get $8) (i32.const -32) ) ) (local.get $8) (local.get $2) ) ) (i32.const -16) ) (local.get $2) (local.get $1) ) ) (i32.const -8) ) (local.get $2) (local.get $9) ) ) (i32.const -4) ) (local.get $2) (local.get $10) ) ) (i32.const -2) ) (local.get $2) (local.get $13) ) (i32.xor (i32.wrap_i64 (i64.shr_s (local.get $24) (i64.const 63) ) ) (i32.const -1) ) ) ) (br_if $label$123 (i32.lt_u (local.get $5) (i32.const 65) ) ) (local.set $5 (i32.shr_u (local.tee $9 (i32.add (local.get $8) (i32.const -1) ) ) (i32.const 5) ) ) (br_if $label$122 (i32.ge_u (local.get $9) (i32.const 1280) ) ) (br_if $label$123 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 80) ) (i32.shl (local.get $5) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $9) (i32.const 31) ) ) (i32.const 1) ) ) ) (local.set $5 (i32.const 0) ) (loop $label$132 (br_if $label$125 (i32.eq (local.get $9) (local.get $5) ) ) (local.set $2 (i32.and (local.get $5) (i32.const 31) ) ) (local.set $1 (i32.shr_u (local.get $5) (i32.const 3) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 1) ) ) (br_if $label$132 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (i32.add (local.get $3) (i32.const 80) ) (i32.and (local.get $1) (i32.const 536870908) ) ) (i32.const 4) ) ) (local.get $2) ) (i32.const 1) ) ) ) (br $label$124) ) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1056024) (i32.const 38) (i32.const 1056064) ) (unreachable) ) (br_if $label$123 (i64.eqz (i64.and (local.get $23) (i64.const 1) ) ) ) ) (block $label$133 (br_if $label$133 (i64.ge_u (local.tee $25 (i64.add (local.get $23) (i64.const 1) ) ) (local.get $23) ) ) (local.set $10 (i32.add (local.get $8) (i32.const 1) ) ) (local.set $25 (i64.const -9223372036854775808) ) (br $label$123) ) (local.set $25 (i64.shl (local.tee $23 (select (i64.shl (local.tee $23 (select (i64.shl (local.tee $23 (select (i64.shl (local.tee $23 (select (i64.shl (local.tee $23 (select (i64.shl (local.get $25) (i64.const 32) ) (local.get $25) (local.tee $5 (i64.lt_u (local.get $25) (i64.const 4294967296) ) ) ) ) (i64.const 16) ) (local.get $23) (local.tee $2 (i64.lt_u (local.get $23) (i64.const 281474976710656) ) ) ) ) (i64.const 8) ) (local.get $23) (local.tee $1 (i64.lt_u (local.get $23) (i64.const 72057594037927936) ) ) ) ) (i64.const 4) ) (local.get $23) (local.tee $9 (i64.lt_u (local.get $23) (i64.const 1152921504606846976) ) ) ) ) (i64.const 2) ) (local.get $23) (local.tee $10 (i64.lt_u (local.get $23) (i64.const 4611686018427387904) ) ) ) ) (i64.shr_u (i64.xor (local.get $23) (i64.const -1) ) (i64.const 63) ) ) ) (local.set $10 (i32.add (select (i32.add (local.tee $5 (select (i32.add (local.tee $5 (select (i32.add (local.tee $5 (select (i32.add (local.tee $5 (select (local.get $12) (local.get $8) (local.get $5) ) ) (i32.const -16) ) (local.get $5) (local.get $2) ) ) (i32.const -8) ) (local.get $5) (local.get $1) ) ) (i32.const -4) ) (local.get $5) (local.get $9) ) ) (i32.const -2) ) (local.get $5) (local.get $10) ) (i32.xor (i32.wrap_i64 (i64.shr_s (local.get $23) (i64.const 63) ) ) (i32.const -1) ) ) ) ) (block $label$134 (br_if $label$134 (i32.lt_s (local.get $11) (i32.const -305) ) ) (call $core::num::diy_float::Fp::normalize::hcdf791db850d27a8 (i32.add (local.get $3) (i32.const 32) ) (i64.add (i64.add (i64.add (i64.shr_u (local.tee $28 (i64.mul (local.tee $24 (i64.and (local.tee $23 (i64.load (i32.add (i32.shl (local.tee $5 (i32.shr_s (i32.shl (local.get $6) (i32.const 16) ) (i32.const 16) ) ) (i32.const 3) ) (i32.const 1048992) ) ) ) (i64.const 4294967295) ) ) (local.tee $27 (i64.shr_u (local.get $25) (i64.const 32) ) ) ) ) (i64.const 32) ) (i64.mul (local.tee $23 (i64.shr_u (local.get $23) (i64.const 32) ) ) (local.get $27) ) ) (i64.shr_u (local.tee $23 (i64.mul (local.get $23) (local.tee $25 (i64.and (local.get $25) (i64.const 4294967295) ) ) ) ) (i64.const 32) ) ) (i64.shr_u (i64.add (i64.add (i64.add (i64.and (local.get $28) (i64.const 4294967295) ) (i64.shr_u (i64.mul (local.get $24) (local.get $25) ) (i64.const 32) ) ) (i64.and (local.get $23) (i64.const 4294967295) ) ) (i64.const 2147483648) ) (i64.const 32) ) ) (i32.add (i32.add (local.get $10) (i32.load16_u (i32.add (i32.shl (local.get $5) (i32.const 1) ) (i32.const 1053880) ) ) ) (i32.const 64) ) ) (call $core::num::diy_float::Fp::normalize::hcdf791db850d27a8 (i32.add (local.get $3) (i32.const 16) ) (local.tee $25 (i64.load offset=32 (local.get $3) ) ) (i32.load16_u offset=40 (local.get $3) ) ) (local.set $23 (i64.load offset=16 (local.get $3) ) ) (i32.store16 offset=1592 (local.get $3) (local.tee $2 (i32.add (local.tee $5 (i32.load16_u offset=24 (local.get $3) ) ) (i32.const 63) ) ) ) (block $label$135 (br_if $label$135 (i32.gt_s (local.tee $2 (i32.shr_s (i32.shl (local.get $2) (i32.const 16) ) (i32.const 16) ) ) (i32.const 1023) ) ) (block $label$136 (br_if $label$136 (i32.le_s (local.get $2) (i32.const -1022) ) ) (local.set $24 (i64.xor (i64.add (local.tee $25 (i64.add (i64.and (local.get $25) (i64.const 2047) ) (i64.const -1024) ) ) (local.tee $25 (i64.shr_s (local.get $25) (i64.const 63) ) ) ) (local.get $25) ) ) (local.set $2 (i32.add (local.get $5) (i32.const 11) ) ) (local.set $25 (i64.shr_u (local.get $23) (i64.const 11) ) ) (block $label$137 (br_if $label$137 (i64.eqz (i64.and (local.get $23) (i64.const 1024) ) ) ) (br_if $label$137 (i64.eq (i64.and (local.get $23) (i64.const 4095) ) (i64.const 1024) ) ) (block $label$138 (br_if $label$138 (i64.eq (local.get $25) (i64.const 9007199254740991) ) ) (local.set $25 (i64.add (local.get $25) (i64.const 1) ) ) (br $label$137) ) (local.set $2 (i32.add (local.get $5) (i32.const 12) ) ) (local.set $25 (i64.const 4503599627370496) ) ) (local.set $29 (f64.reinterpret_i64 (i64.or (i64.shl (i64.extend_i32_u (i32.add (local.get $2) (i32.const 1075) ) ) (i64.const 52) ) (i64.and (local.get $25) (i64.const -4503599627370497) ) ) ) ) (br_if $label$2 (i64.gt_s (local.get $24) (local.get $26) ) ) (local.set $2 (i32.shr_s (i32.shl (i32.xor (i32.add (local.get $11) (local.tee $5 (i32.shr_s (local.get $11) (i32.const 31) ) ) ) (local.get $5) ) (i32.const 16) ) (i32.const 16) ) ) (local.set $10 (i32.or (i32.add (local.get $3) (i32.const 1592) ) (i32.const 4) ) ) (local.set $13 (i32.or (i32.add (local.get $3) (i32.const 1928) ) (i32.const 4) ) ) (local.set $8 (i32.or (i32.add (local.get $3) (i32.const 1424) ) (i32.const 4) ) ) (local.set $9 (i32.or (i32.add (local.get $3) (i32.const 1256) ) (i32.const 4) ) ) (local.set $6 (i32.or (i32.add (local.get $3) (i32.const 80) ) (i32.const 4) ) ) (local.set $11 (i32.gt_s (local.get $11) (i32.const -1) ) ) (loop $label$139 (call $::unpack::h8252f087f2ee4dcb (local.get $3) (local.get $29) ) (local.set $5 (i32.load16_s offset=8 (local.get $3) ) ) (local.set $23 (i64.load (local.get $3) ) ) (i32.store offset=1256 (local.get $3) (local.get $7) ) (drop (call $memcpy (local.get $9) (local.get $6) (i32.const 160) ) ) (call $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (i32.add (local.get $3) (i32.const 1424) ) (local.get $23) ) (local.set $1 (i32.shr_s (i32.shl (i32.xor (i32.add (local.get $5) (local.tee $1 (i32.shr_s (local.get $5) (i32.const 31) ) ) ) (local.get $1) ) (i32.const 16) ) (i32.const 16) ) ) (block $label$140 (block $label$141 (block $label$142 (br_if $label$142 (local.get $11) ) (br_if $label$141 (i32.gt_s (local.get $5) (i32.const -1) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 1256) ) (i32.sub (local.get $1) (local.tee $5 (select (local.get $1) (local.get $2) (i32.gt_u (local.get $2) (local.get $1) ) ) ) ) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 1424) ) (local.get $2) ) (i32.sub (local.get $2) (local.get $5) ) ) ) (br $label$140) ) (block $label$143 (br_if $label$143 (i32.gt_s (local.get $5) (i32.const -1) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 1256) ) (local.get $2) ) (i32.add (local.get $1) (local.get $2) ) ) ) (br $label$140) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 1256) ) (local.get $2) ) (i32.sub (local.get $2) (local.tee $5 (select (local.get $1) (local.get $2) (i32.gt_u (local.get $2) (local.get $1) ) ) ) ) ) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 1424) ) (i32.sub (local.get $1) (local.get $5) ) ) ) (br $label$140) ) (drop (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (i32.add (local.get $3) (i32.const 1424) ) (local.get $2) ) (i32.add (local.get $1) (local.get $2) ) ) ) ) (i64.store32 offset=1088 (local.get $3) (local.get $23) ) (i64.store32 offset=1092 (local.get $3) (i64.shr_u (local.get $23) (i64.const 32) ) ) (block $label$144 (block $label$145 (br_if $label$145 (call $core::cmp::PartialOrd::ge::h5bcf90b30a11ac7b (i32.add (local.get $3) (i32.const 1256) ) (i32.add (local.get $3) (i32.const 1424) ) ) ) (i32.store offset=1928 (local.get $3) (i32.load offset=1424 (local.get $3) ) ) (drop (call $memcpy (local.get $13) (local.get $8) (i32.const 160) ) ) (local.set $5 (i32.const 1) ) (drop (call $core::num::bignum::Big32x40::mul_digits::h0efb00c497307cb1 (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::sub::h452934b6c2529701 (i32.add (local.get $3) (i32.const 1928) ) (i32.add (local.get $3) (i32.const 1256) ) ) (i32.const 1) ) (i32.add (local.get $3) (i32.const 1088) ) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 1928) ) (i32.const 164) ) ) (br $label$144) ) (drop (call $core::num::bignum::Big32x40::mul_digits::h0efb00c497307cb1 (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (call $core::num::bignum::Big32x40::sub::h452934b6c2529701 (i32.add (local.get $3) (i32.const 1256) ) (i32.add (local.get $3) (i32.const 1424) ) ) (i32.const 1) ) (i32.add (local.get $3) (i32.const 1088) ) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1760) ) (i32.add (local.get $3) (i32.const 1256) ) (i32.const 164) ) ) (local.set $5 (i32.const 0) ) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1592) ) (i32.add (local.get $3) (i32.const 1760) ) (i32.const 164) ) ) (block $label$146 (block $label$147 (block $label$148 (block $label$149 (block $label$150 (br_if $label$150 (call $core::cmp::PartialOrd::lt::he4b3502d512bb221 (i32.add (local.get $3) (i32.const 1592) ) (i32.add (local.get $3) (i32.const 1424) ) ) ) (br_if $label$149 (i32.eqz (call $bcmp (local.get $10) (local.get $8) (i32.const 160) ) ) ) (br $label$148) ) (drop (call $memcpy (i32.add (local.get $3) (i32.const 1928) ) (i32.add (local.get $3) (i32.const 1592) ) (i32.const 164) ) ) (local.set $1 (call $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (i32.add (local.get $3) (i32.const 1928) ) (i32.const 1) ) ) (br_if $label$2 (i32.or (i64.ne (local.get $23) (i64.const 4503599627370496) ) (i32.xor (local.get $5) (i32.const 1) ) ) ) (br_if $label$147 (call $core::cmp::PartialOrd::gt::h49cf97622991f4a8 (local.get $1) (i32.add (local.get $3) (i32.const 1424) ) ) ) (br $label$2) ) (br_if $label$148 (i32.eqz (i64.eqz (i64.and (local.get $23) (i64.const 1) ) ) ) ) (br_if $label$2 (i32.or (i64.ne (local.get $23) (i64.const 4503599627370496) ) (i32.xor (local.get $5) (i32.const 1) ) ) ) (br $label$147) ) (br_if $label$147 (local.get $5) ) (local.set $29 (call $core::num::dec2flt::rawfp::next_float::h9f67489b491e3a1a (local.get $29) ) ) (br $label$146) ) (local.set $29 (call $core::num::dec2flt::rawfp::prev_float::h6b8d66125a9c1482 (local.get $29) ) ) ) (local.set $7 (i32.load offset=80 (local.get $3) ) ) (br $label$139) ) ) (i32.store (i32.add (local.get $3) (i32.const 1948) ) (i32.const 1) ) (i64.store offset=1932 align=4 (local.get $3) (i64.const 2) ) (i32.store offset=1928 (local.get $3) (i32.const 1060116) ) (i32.store offset=1764 (local.get $3) (i32.const 24) ) (i32.store offset=1944 (local.get $3) (i32.add (local.get $3) (i32.const 1760) ) ) (i32.store offset=1760 (local.get $3) (i32.add (local.get $3) (i32.const 1592) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $3) (i32.const 1928) ) (i32.const 1060132) ) (unreachable) ) (i32.store (i32.add (local.get $3) (i32.const 1948) ) (i32.const 1) ) (i64.store offset=1932 align=4 (local.get $3) (i64.const 2) ) (i32.store offset=1928 (local.get $3) (i32.const 1060084) ) (i32.store offset=1764 (local.get $3) (i32.const 24) ) (i32.store offset=1944 (local.get $3) (i32.add (local.get $3) (i32.const 1760) ) ) (i32.store offset=1760 (local.get $3) (i32.add (local.get $3) (i32.const 1592) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $3) (i32.const 1928) ) (i32.const 1060100) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1048940) (i32.const 35) (i32.const 1048976) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $5) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1055675) (i32.const 35) (i32.const 1055712) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $5) (local.get $7) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (i32.store16 (local.get $0) (i32.const 257) ) (br $label$1) ) (local.set $29 (f64.const inf) ) (br $label$2) ) (local.set $29 (f64.const 0) ) ) (block $label$151 (br_if $label$151 (i32.eqz (local.get $4) ) ) (i32.store8 (local.get $0) (i32.const 0) ) (f64.store (i32.add (local.get $0) (i32.const 8) ) (f64.neg (local.get $29) ) ) (br $label$1) ) (i32.store8 (local.get $0) (i32.const 0) ) (f64.store (i32.add (local.get $0) (i32.const 8) ) (local.get $29) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 2096) ) ) ) (func $no_proto_js::json_flex::json_decode::func::hc5144a2ad4f0f8dc (; 3 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i64) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 112) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (block $label$10 (br_table $label$9 $label$10 $label$8 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 96) ) (i32.add (local.get $8) (i32.const 80) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) (i32.load (local.tee $10 (i32.add (local.get $8) (i32.const 108) ) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=100 align=4 (local.get $8) ) ) (block $label$11 (block $label$12 (block $label$13 (block $label$14 (block $label$15 (block $label$16 (br_if $label$16 (i32.eq (i32.load offset=96 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) (i32.load (local.get $2) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=64 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 32) ) (i32.add (local.get $8) (i32.const 48) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 48) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 96) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $9) (i32.load (local.get $10) ) ) (i64.store offset=80 (local.get $8) (i64.load offset=100 align=4 (local.get $8) ) ) (br_if $label$15 (i32.eq (i32.load offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $9 (i32.add (local.get $1) (i32.const 4) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $8) (i32.const 8) ) (i32.load offset=32 (local.get $8) ) (i32.load offset=40 (local.get $8) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $8) (i32.const 96) ) (i32.load offset=8 (local.get $8) ) (i32.load offset=12 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store offset=40 (local.get $8) (local.tee $2 (i32.load (local.tee $10 (i32.add (local.get $8) (i32.const 104) ) ) ) ) ) (i64.store offset=32 (local.get $8) (local.tee $11 (i64.load offset=96 (local.get $8) ) ) ) (br_if $label$14 (call $core::str::::find::hd5cf84aec0e23f71 (local.tee $1 (i32.wrap_i64 (local.get $11) ) ) (local.get $2) ) ) (call $core::num::::from_str::hd1bf1d67e683c878 (i32.add (local.get $8) (i32.const 96) ) (local.get $1) (local.get $2) ) (br_if $label$11 (i32.eq (i32.load8_u offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (local.get $10) ) ) (i32.store offset=80 (local.get $8) (i32.const 1) ) (i64.store offset=88 (local.get $8) (local.get $11) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (local.get $9) (i32.add (local.get $8) (i32.const 80) ) ) (br $label$13) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=80 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) ) (local.set $0 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$3) ) (call $core::num::dec2flt::dec2flt::hc98b654b772c316b (i32.add (local.get $8) (i32.const 96) ) (local.get $1) (local.get $2) ) (br_if $label$12 (i32.eq (i32.load8_u offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (local.get $10) ) ) (i32.store offset=80 (local.get $8) (i32.const 2) ) (i64.store offset=88 (local.get $8) (local.get $11) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (local.get $9) (i32.add (local.get $8) (i32.const 80) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$4) ) (call $>::from::hff684c45a9202164 (local.get $0) (i32.ne (i32.and (i32.load8_u offset=97 (local.get $8) ) (i32.const 255) ) (i32.const 0) ) ) (local.set $0 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$3) ) (call $>::from::h2cadccf0b1b1ad3d (local.get $0) (i32.load8_u offset=97 (local.get $8) ) ) (local.set $0 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$3) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 96) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=100 (local.get $8) ) ) (br_if $label$7 (i32.eq (i32.load offset=96 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 16) ) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 96) ) (i32.add (local.get $8) (i32.const 80) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 12) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=100 align=4 (local.get $8) ) ) (block $label$17 (block $label$18 (br_if $label$18 (i32.eq (i32.load offset=96 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=64 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 32) ) (i32.add (local.get $8) (i32.const 48) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 48) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 96) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $8) (i32.const 108) ) ) ) (i64.store offset=80 (local.get $8) (i64.load offset=100 align=4 (local.get $8) ) ) (block $label$19 (block $label$20 (block $label$21 (block $label$22 (block $label$23 (br_if $label$23 (i32.eq (i32.load offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $9 (i32.add (local.get $1) (i32.const 4) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (local.get $8) (i32.load offset=32 (local.get $8) ) (i32.load offset=40 (local.get $8) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $8) (i32.const 96) ) (i32.load (local.get $8) ) (i32.load offset=4 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store offset=40 (local.get $8) (local.tee $2 (i32.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) ) (i64.store offset=32 (local.get $8) (local.tee $11 (i64.load offset=96 (local.get $8) ) ) ) (br_if $label$22 (call $core::str::::find::hd5cf84aec0e23f71 (local.tee $1 (i32.wrap_i64 (local.get $11) ) ) (local.get $2) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $core::num::::from_str::hd1bf1d67e683c878 (i32.add (local.get $8) (i32.const 96) ) (local.get $1) (local.get $2) ) (br_if $label$19 (i32.eq (i32.load8_u offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) (i32.store offset=80 (local.get $8) (i32.const 1) ) (i64.store offset=88 (local.get $8) (local.get $11) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (local.get $9) (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 80) ) ) (br $label$21) ) (i64.store align=4 (local.get $0) (i64.load offset=80 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$17) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $core::num::dec2flt::dec2flt::hc98b654b772c316b (i32.add (local.get $8) (i32.const 96) ) (local.get $1) (local.get $2) ) (br_if $label$20 (i32.eq (i32.load8_u offset=96 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) (i32.store offset=80 (local.get $8) (i32.const 2) ) (i64.store offset=88 (local.get $8) (local.get $11) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (local.get $9) (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 80) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$4) ) (call $>::from::hff684c45a9202164 (local.get $0) (i32.ne (i32.and (i32.load8_u offset=97 (local.get $8) ) (i32.const 255) ) (i32.const 0) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) (br $label$5) ) (call $>::from::h2cadccf0b1b1ad3d (local.get $0) (i32.load8_u offset=97 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) (br $label$5) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$2) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$6) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (br $label$1) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$2) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 112) ) ) ) (func $core::str::slice_error_fail::h79cd848d344ccbb2 (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $5 (i32.sub (global.get $global$0) (i32.const 112) ) ) ) (i32.store offset=12 (local.get $5) (local.get $3) ) (i32.store offset=8 (local.get $5) (local.get $2) ) (local.set $6 (i32.const 1) ) (local.set $7 (local.get $1) ) (block $label$1 (br_if $label$1 (i32.lt_u (local.get $1) (i32.const 257) ) ) (local.set $8 (i32.sub (i32.const 0) (local.get $1) ) ) (local.set $9 (i32.const 256) ) (loop $label$2 (block $label$3 (br_if $label$3 (i32.ge_u (local.get $9) (local.get $1) ) ) (local.set $6 (i32.const 0) ) (br_if $label$3 (i32.le_s (i32.load8_s (i32.add (local.get $0) (local.get $9) ) ) (i32.const -65) ) ) (local.set $7 (local.get $9) ) (br $label$1) ) (local.set $7 (i32.add (local.get $9) (i32.const -1) ) ) (local.set $6 (i32.const 0) ) (br_if $label$1 (i32.eq (local.get $9) (i32.const 1) ) ) (local.set $10 (i32.add (local.get $8) (local.get $9) ) ) (local.set $9 (local.get $7) ) (br_if $label$2 (i32.ne (local.get $10) (i32.const 1) ) ) ) ) (i32.store offset=20 (local.get $5) (local.get $7) ) (i32.store offset=16 (local.get $5) (local.get $0) ) (i32.store offset=28 (local.get $5) (select (i32.const 0) (i32.const 5) (local.get $6) ) ) (i32.store offset=24 (local.get $5) (select (i32.const 1060988) (i32.const 1056207) (local.get $6) ) ) (block $label$4 (block $label$5 (block $label$6 (block $label$7 (br_if $label$7 (local.tee $6 (i32.gt_u (local.get $2) (local.get $1) ) ) ) (br_if $label$7 (i32.gt_u (local.get $3) (local.get $1) ) ) (br_if $label$6 (i32.gt_u (local.get $2) (local.get $3) ) ) (block $label$8 (block $label$9 (br_if $label$9 (i32.eqz (local.get $2) ) ) (br_if $label$9 (i32.eq (local.get $1) (local.get $2) ) ) (br_if $label$8 (i32.le_u (local.get $1) (local.get $2) ) ) (br_if $label$8 (i32.lt_s (i32.load8_s (i32.add (local.get $0) (local.get $2) ) ) (i32.const -64) ) ) ) (local.set $2 (local.get $3) ) ) (i32.store offset=32 (local.get $5) (local.get $2) ) (block $label$10 (block $label$11 (br_if $label$11 (i32.eqz (local.get $2) ) ) (br_if $label$10 (i32.ne (local.get $2) (local.get $1) ) ) ) (local.set $6 (local.get $2) ) (br $label$5) ) (local.set $9 (i32.add (local.get $1) (i32.const 1) ) ) (loop $label$12 (block $label$13 (br_if $label$13 (i32.ge_u (local.get $2) (local.get $1) ) ) (br_if $label$13 (i32.lt_s (i32.load8_s (i32.add (local.get $0) (local.get $2) ) ) (i32.const -64) ) ) (local.set $9 (i32.add (local.get $5) (i32.const 36) ) ) (local.set $6 (local.get $2) ) (br $label$4) ) (local.set $6 (i32.add (local.get $2) (i32.const -1) ) ) (br_if $label$5 (i32.eq (local.get $2) (i32.const 1) ) ) (local.set $3 (i32.eq (local.get $9) (local.get $2) ) ) (local.set $2 (local.get $6) ) (br_if $label$5 (local.get $3) ) (br $label$12) ) ) (i32.store offset=40 (local.get $5) (select (local.get $2) (local.get $3) (local.get $6) ) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 48) ) (i32.const 20) ) (i32.const 3) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 72) ) (i32.const 20) ) (i32.const 27) ) (i32.store (i32.add (local.get $5) (i32.const 84) ) (i32.const 27) ) (i64.store offset=52 align=4 (local.get $5) (i64.const 3) ) (i32.store offset=48 (local.get $5) (i32.const 1056212) ) (i32.store offset=76 (local.get $5) (i32.const 1) ) (i32.store offset=64 (local.get $5) (i32.add (local.get $5) (i32.const 72) ) ) (i32.store offset=88 (local.get $5) (i32.add (local.get $5) (i32.const 24) ) ) (i32.store offset=80 (local.get $5) (i32.add (local.get $5) (i32.const 16) ) ) (i32.store offset=72 (local.get $5) (i32.add (local.get $5) (i32.const 40) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $5) (i32.const 48) ) (local.get $4) ) (unreachable) ) (i32.store (i32.add (local.get $5) (i32.const 100) ) (i32.const 27) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 72) ) (i32.const 20) ) (i32.const 27) ) (i32.store (i32.add (local.get $5) (i32.const 84) ) (i32.const 1) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 48) ) (i32.const 20) ) (i32.const 4) ) (i64.store offset=52 align=4 (local.get $5) (i64.const 4) ) (i32.store offset=48 (local.get $5) (i32.const 1056236) ) (i32.store offset=76 (local.get $5) (i32.const 1) ) (i32.store offset=64 (local.get $5) (i32.add (local.get $5) (i32.const 72) ) ) (i32.store offset=96 (local.get $5) (i32.add (local.get $5) (i32.const 24) ) ) (i32.store offset=88 (local.get $5) (i32.add (local.get $5) (i32.const 16) ) ) (i32.store offset=80 (local.get $5) (i32.add (local.get $5) (i32.const 12) ) ) (i32.store offset=72 (local.get $5) (i32.add (local.get $5) (i32.const 8) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $5) (i32.const 48) ) (local.get $4) ) (unreachable) ) (local.set $9 (i32.add (local.get $5) (i32.const 36) ) ) ) (block $label$14 (br_if $label$14 (i32.eq (local.get $6) (local.get $1) ) ) (local.set $3 (i32.const 1) ) (block $label$15 (block $label$16 (block $label$17 (block $label$18 (br_if $label$18 (i32.gt_s (local.tee $2 (i32.load8_s (local.tee $7 (i32.add (local.get $0) (local.get $6) ) ) ) ) (i32.const -1) ) ) (local.set $3 (i32.const 0) ) (local.set $0 (local.tee $1 (i32.add (local.get $0) (local.get $1) ) ) ) (block $label$19 (br_if $label$19 (i32.eq (i32.add (local.get $7) (i32.const 1) ) (local.get $1) ) ) (local.set $0 (i32.add (local.get $7) (i32.const 2) ) ) (local.set $3 (i32.and (i32.load8_u offset=1 (local.get $7) ) (i32.const 63) ) ) ) (local.set $7 (i32.and (local.get $2) (i32.const 31) ) ) (br_if $label$17 (i32.gt_u (i32.and (local.get $2) (i32.const 255) ) (i32.const 223) ) ) (local.set $2 (i32.or (local.get $3) (i32.shl (local.get $7) (i32.const 6) ) ) ) (br $label$16) ) (i32.store offset=36 (local.get $5) (i32.and (local.get $2) (i32.const 255) ) ) (local.set $1 (i32.add (local.get $5) (i32.const 40) ) ) (br $label$15) ) (local.set $8 (i32.const 0) ) (local.set $10 (local.get $1) ) (block $label$20 (br_if $label$20 (i32.eq (local.get $0) (local.get $1) ) ) (local.set $10 (i32.add (local.get $0) (i32.const 1) ) ) (local.set $8 (i32.and (i32.load8_u (local.get $0) ) (i32.const 63) ) ) ) (local.set $3 (i32.or (local.get $8) (i32.shl (local.get $3) (i32.const 6) ) ) ) (block $label$21 (br_if $label$21 (i32.ge_u (i32.and (local.get $2) (i32.const 255) ) (i32.const 240) ) ) (local.set $2 (i32.or (local.get $3) (i32.shl (local.get $7) (i32.const 12) ) ) ) (br $label$16) ) (local.set $2 (i32.const 0) ) (block $label$22 (br_if $label$22 (i32.eq (local.get $10) (local.get $1) ) ) (local.set $2 (i32.and (i32.load8_u (local.get $10) ) (i32.const 63) ) ) ) (br_if $label$14 (i32.eq (local.tee $2 (i32.or (i32.or (i32.shl (local.get $3) (i32.const 6) ) (i32.and (i32.shl (local.get $7) (i32.const 18) ) (i32.const 1835008) ) ) (local.get $2) ) ) (i32.const 1114112) ) ) ) (i32.store offset=36 (local.get $5) (local.get $2) ) (local.set $3 (i32.const 1) ) (local.set $1 (i32.add (local.get $5) (i32.const 40) ) ) (br_if $label$15 (i32.lt_u (local.get $2) (i32.const 128) ) ) (local.set $3 (i32.const 2) ) (br_if $label$15 (i32.lt_u (local.get $2) (i32.const 2048) ) ) (local.set $3 (select (i32.const 3) (i32.const 4) (i32.lt_u (local.get $2) (i32.const 65536) ) ) ) ) (i32.store offset=40 (local.get $5) (local.get $6) ) (i32.store offset=44 (local.get $5) (i32.add (local.get $3) (local.get $6) ) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 48) ) (i32.const 20) ) (i32.const 5) ) (i32.store (i32.add (local.get $5) (i32.const 108) ) (i32.const 27) ) (i32.store (i32.add (local.get $5) (i32.const 100) ) (i32.const 27) ) (i32.store (i32.add (i32.add (local.get $5) (i32.const 72) ) (i32.const 20) ) (i32.const 28) ) (i32.store (i32.add (local.get $5) (i32.const 84) ) (i32.const 29) ) (i64.store offset=52 align=4 (local.get $5) (i64.const 5) ) (i32.store offset=48 (local.get $5) (i32.const 1056268) ) (i32.store offset=88 (local.get $5) (local.get $1) ) (i32.store offset=80 (local.get $5) (local.get $9) ) (i32.store offset=76 (local.get $5) (i32.const 1) ) (i32.store offset=64 (local.get $5) (i32.add (local.get $5) (i32.const 72) ) ) (i32.store offset=104 (local.get $5) (i32.add (local.get $5) (i32.const 24) ) ) (i32.store offset=96 (local.get $5) (i32.add (local.get $5) (i32.const 16) ) ) (i32.store offset=72 (local.get $5) (i32.add (local.get $5) (i32.const 32) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $5) (i32.const 48) ) (local.get $4) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060792) (i32.const 43) (local.get $4) ) (unreachable) ) (func $<&T\20as\20core::fmt::Debug>::fmt::hb7f473183b6c77b2 (; 5 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i64) (local.set $2 (i32.load offset=8 (local.tee $0 (i32.load (local.get $0) ) ) ) ) (local.set $3 (i32.load (local.get $0) ) ) (local.set $4 (i32.const 1) ) (block $label$1 (block $label$2 (br_if $label$2 (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 34) (i32.load offset=16 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) ) ) (block $label$3 (block $label$4 (br_if $label$4 (local.get $2) ) (local.set $5 (i32.const 0) ) (br $label$3) ) (local.set $6 (i32.add (local.get $3) (local.get $2) ) ) (local.set $5 (i32.const 0) ) (local.set $7 (local.get $3) ) (local.set $8 (local.get $3) ) (local.set $9 (i32.const 0) ) (block $label$5 (loop $label$6 (local.set $0 (i32.add (local.get $7) (i32.const 1) ) ) (block $label$7 (block $label$8 (block $label$9 (br_if $label$9 (i32.gt_s (local.tee $10 (i32.load8_s (local.get $7) ) ) (i32.const -1) ) ) (block $label$10 (block $label$11 (br_if $label$11 (i32.ne (local.get $0) (local.get $6) ) ) (local.set $11 (i32.const 0) ) (local.set $7 (local.get $6) ) (br $label$10) ) (local.set $11 (i32.and (i32.load8_u offset=1 (local.get $7) ) (i32.const 63) ) ) (local.set $7 (local.tee $0 (i32.add (local.get $7) (i32.const 2) ) ) ) ) (local.set $4 (i32.and (local.get $10) (i32.const 31) ) ) (block $label$12 (br_if $label$12 (i32.gt_u (local.tee $10 (i32.and (local.get $10) (i32.const 255) ) ) (i32.const 223) ) ) (local.set $11 (i32.or (local.get $11) (i32.shl (local.get $4) (i32.const 6) ) ) ) (br $label$8) ) (block $label$13 (block $label$14 (br_if $label$14 (i32.ne (local.get $7) (local.get $6) ) ) (local.set $12 (i32.const 0) ) (local.set $13 (local.get $6) ) (br $label$13) ) (local.set $12 (i32.and (i32.load8_u (local.get $7) ) (i32.const 63) ) ) (local.set $13 (local.tee $0 (i32.add (local.get $7) (i32.const 1) ) ) ) ) (local.set $11 (i32.or (local.get $12) (i32.shl (local.get $11) (i32.const 6) ) ) ) (block $label$15 (br_if $label$15 (i32.ge_u (local.get $10) (i32.const 240) ) ) (local.set $11 (i32.or (local.get $11) (i32.shl (local.get $4) (i32.const 12) ) ) ) (br $label$8) ) (block $label$16 (block $label$17 (br_if $label$17 (i32.ne (local.get $13) (local.get $6) ) ) (local.set $10 (i32.const 0) ) (local.set $7 (local.get $0) ) (br $label$16) ) (local.set $7 (i32.add (local.get $13) (i32.const 1) ) ) (local.set $10 (i32.and (i32.load8_u (local.get $13) ) (i32.const 63) ) ) ) (br_if $label$7 (i32.ne (local.tee $11 (i32.or (i32.or (i32.shl (local.get $11) (i32.const 6) ) (i32.and (i32.shl (local.get $4) (i32.const 18) ) (i32.const 1835008) ) ) (local.get $10) ) ) (i32.const 1114112) ) ) (br $label$5) ) (local.set $11 (i32.and (local.get $10) (i32.const 255) ) ) ) (local.set $7 (local.get $0) ) ) (local.set $0 (i32.const 2) ) (local.set $13 (i32.const 116) ) (block $label$18 (block $label$19 (block $label$20 (block $label$21 (block $label$22 (block $label$23 (block $label$24 (br_table $label$19 $label$22 $label$21 $label$21 $label$23 $label$24 (i32.add (local.get $11) (i32.const -9) ) ) ) (block $label$25 (br_if $label$25 (i32.eq (local.get $11) (i32.const 34) ) ) (br_if $label$25 (i32.eq (local.get $11) (i32.const 39) ) ) (br_if $label$21 (i32.ne (local.get $11) (i32.const 92) ) ) ) (br $label$20) ) (local.set $13 (i32.const 114) ) (br $label$19) ) (local.set $13 (i32.const 110) ) (br $label$19) ) (block $label$26 (br_if $label$26 (call $core::unicode::unicode_data::grapheme_extend::lookup::h0008ea879fb9f01d (local.get $11) ) ) (br_if $label$18 (call $core::unicode::printable::is_printable::h8ce15518a3a94c0e (local.get $11) ) ) ) (local.set $14 (i64.or (i64.extend_i32_u (i32.xor (i32.shr_u (i32.clz (i32.or (local.get $11) (i32.const 1) ) ) (i32.const 2) ) (i32.const 7) ) ) (i64.const 21474836480) ) ) (local.set $0 (i32.const 3) ) ) (local.set $13 (local.get $11) ) ) (block $label$27 (block $label$28 (br_if $label$28 (i32.lt_u (local.get $9) (local.get $5) ) ) (block $label$29 (br_if $label$29 (i32.eqz (local.get $5) ) ) (br_if $label$29 (i32.eq (local.get $5) (local.get $2) ) ) (br_if $label$28 (i32.ge_u (local.get $5) (local.get $2) ) ) (br_if $label$28 (i32.le_s (i32.load8_s (i32.add (local.get $3) (local.get $5) ) ) (i32.const -65) ) ) ) (block $label$30 (br_if $label$30 (i32.eqz (local.get $9) ) ) (br_if $label$30 (i32.eq (local.get $9) (local.get $2) ) ) (br_if $label$28 (i32.ge_u (local.get $9) (local.get $2) ) ) (br_if $label$28 (i32.le_s (i32.load8_s (i32.add (local.get $3) (local.get $9) ) ) (i32.const -65) ) ) ) (br_if $label$27 (i32.eqz (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.add (local.get $3) (local.get $5) ) (i32.sub (local.get $9) (local.get $5) ) (i32.load offset=12 (i32.load offset=28 (local.get $1) ) ) ) ) ) (return (i32.const 1) ) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $3) (local.get $2) (local.get $5) (local.get $9) (i32.const 1059432) ) (unreachable) ) (loop $label$31 (local.set $10 (local.get $0) ) (local.set $4 (i32.const 1) ) (local.set $5 (i32.const 92) ) (local.set $0 (i32.const 1) ) (block $label$32 (block $label$33 (block $label$34 (block $label$35 (block $label$36 (block $label$37 (br_table $label$35 $label$36 $label$32 $label$37 $label$35 (local.get $10) ) ) (block $label$38 (block $label$39 (block $label$40 (block $label$41 (br_table $label$35 $label$38 $label$39 $label$40 $label$41 $label$34 $label$35 (i32.and (i32.wrap_i64 (i64.shr_u (local.get $14) (i64.const 32) ) ) (i32.const 255) ) ) ) (local.set $14 (i64.or (i64.and (local.get $14) (i64.const -1095216660481) ) (i64.const 12884901888) ) ) (local.set $0 (i32.const 3) ) (local.set $5 (i32.const 117) ) (br $label$32) ) (local.set $14 (i64.or (i64.and (local.get $14) (i64.const -1095216660481) ) (i64.const 8589934592) ) ) (local.set $0 (i32.const 3) ) (local.set $5 (i32.const 123) ) (br $label$32) ) (local.set $5 (i32.add (select (i32.const 48) (i32.const 87) (i32.lt_u (local.tee $5 (i32.and (i32.shr_u (local.get $13) (i32.and (i32.shl (local.tee $0 (i32.wrap_i64 (local.get $14) ) ) (i32.const 2) ) (i32.const 28) ) ) (i32.const 15) ) ) (i32.const 10) ) ) (local.get $5) ) ) (block $label$42 (br_if $label$42 (i32.eqz (local.get $0) ) ) (local.set $14 (i64.or (i64.and (i64.add (local.get $14) (i64.const -1) ) (i64.const 4294967295) ) (i64.and (local.get $14) (i64.const -4294967296) ) ) ) (br $label$33) ) (local.set $14 (i64.or (i64.and (local.get $14) (i64.const -1095216660481) ) (i64.const 4294967296) ) ) (br $label$33) ) (local.set $14 (i64.and (local.get $14) (i64.const -1095216660481) ) ) (local.set $0 (i32.const 3) ) (local.set $5 (i32.const 125) ) (br $label$32) ) (local.set $0 (i32.const 0) ) (local.set $5 (local.get $13) ) (br $label$32) ) (local.set $0 (i32.const 1) ) (block $label$43 (br_if $label$43 (i32.lt_u (local.get $11) (i32.const 128) ) ) (local.set $0 (i32.const 2) ) (br_if $label$43 (i32.lt_u (local.get $11) (i32.const 2048) ) ) (local.set $0 (select (i32.const 3) (i32.const 4) (i32.lt_u (local.get $11) (i32.const 65536) ) ) ) ) (local.set $5 (i32.add (local.get $0) (local.get $9) ) ) (br $label$18) ) (local.set $14 (i64.or (i64.and (local.get $14) (i64.const -1095216660481) ) (i64.const 17179869184) ) ) ) (local.set $0 (i32.const 3) ) ) (br_if $label$2 (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (local.get $5) (i32.load offset=16 (i32.load offset=28 (local.get $1) ) ) ) ) (br $label$31) ) ) (local.set $9 (i32.add (i32.sub (local.get $9) (local.get $8) ) (local.get $7) ) ) (local.set $8 (local.get $7) ) (br_if $label$6 (i32.ne (local.get $6) (local.get $7) ) ) ) ) (br_if $label$3 (i32.eqz (local.get $5) ) ) (br_if $label$3 (i32.eq (local.get $5) (local.get $2) ) ) (br_if $label$1 (i32.ge_u (local.get $5) (local.get $2) ) ) (br_if $label$1 (i32.le_s (i32.load8_s (i32.add (local.get $3) (local.get $5) ) ) (i32.const -65) ) ) ) (local.set $4 (i32.const 1) ) (br_if $label$2 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.add (local.get $3) (local.get $5) ) (i32.sub (local.get $2) (local.get $5) ) (i32.load offset=12 (i32.load offset=28 (local.get $1) ) ) ) ) (local.set $4 (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 34) (i32.load offset=16 (i32.load offset=28 (local.get $1) ) ) ) ) ) (return (local.get $4) ) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $3) (local.get $2) (local.get $5) (local.get $2) (i32.const 1059416) ) (unreachable) ) (func $core::fmt::Formatter::pad::h4ee6062b9849beff (; 6 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local.set $3 (i32.load offset=16 (local.get $0) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.eq (local.tee $4 (i32.load offset=8 (local.get $0) ) ) (i32.const 1) ) ) (br_if $label$3 (i32.eq (local.get $3) (i32.const 1) ) ) (local.set $3 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $1) (local.get $2) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) (br $label$1) ) (br_if $label$2 (i32.ne (local.get $3) (i32.const 1) ) ) ) (block $label$5 (block $label$6 (br_if $label$6 (local.get $2) ) (local.set $2 (i32.const 0) ) (br $label$5) ) (local.set $5 (i32.add (local.get $1) (local.get $2) ) ) (local.set $6 (i32.add (i32.load (i32.add (local.get $0) (i32.const 20) ) ) (i32.const 1) ) ) (local.set $7 (i32.const 0) ) (local.set $3 (local.get $1) ) (local.set $8 (local.get $1) ) (loop $label$7 (local.set $9 (i32.add (local.get $3) (i32.const 1) ) ) (block $label$8 (block $label$9 (block $label$10 (br_if $label$10 (i32.gt_s (local.tee $10 (i32.load8_s (local.get $3) ) ) (i32.const -1) ) ) (block $label$11 (block $label$12 (br_if $label$12 (i32.ne (local.get $9) (local.get $5) ) ) (local.set $11 (i32.const 0) ) (local.set $3 (local.get $5) ) (br $label$11) ) (local.set $11 (i32.and (i32.load8_u offset=1 (local.get $3) ) (i32.const 63) ) ) (local.set $3 (local.tee $9 (i32.add (local.get $3) (i32.const 2) ) ) ) ) (local.set $12 (i32.and (local.get $10) (i32.const 31) ) ) (block $label$13 (br_if $label$13 (i32.gt_u (local.tee $10 (i32.and (local.get $10) (i32.const 255) ) ) (i32.const 223) ) ) (local.set $10 (i32.or (local.get $11) (i32.shl (local.get $12) (i32.const 6) ) ) ) (br $label$9) ) (block $label$14 (block $label$15 (br_if $label$15 (i32.ne (local.get $3) (local.get $5) ) ) (local.set $13 (i32.const 0) ) (local.set $14 (local.get $5) ) (br $label$14) ) (local.set $13 (i32.and (i32.load8_u (local.get $3) ) (i32.const 63) ) ) (local.set $14 (local.tee $9 (i32.add (local.get $3) (i32.const 1) ) ) ) ) (local.set $11 (i32.or (local.get $13) (i32.shl (local.get $11) (i32.const 6) ) ) ) (block $label$16 (br_if $label$16 (i32.ge_u (local.get $10) (i32.const 240) ) ) (local.set $10 (i32.or (local.get $11) (i32.shl (local.get $12) (i32.const 12) ) ) ) (br $label$9) ) (block $label$17 (block $label$18 (br_if $label$18 (i32.ne (local.get $14) (local.get $5) ) ) (local.set $10 (i32.const 0) ) (local.set $3 (local.get $9) ) (br $label$17) ) (local.set $3 (i32.add (local.get $14) (i32.const 1) ) ) (local.set $10 (i32.and (i32.load8_u (local.get $14) ) (i32.const 63) ) ) ) (br_if $label$8 (i32.ne (local.tee $10 (i32.or (i32.or (i32.shl (local.get $11) (i32.const 6) ) (i32.and (i32.shl (local.get $12) (i32.const 18) ) (i32.const 1835008) ) ) (local.get $10) ) ) (i32.const 1114112) ) ) (br $label$5) ) (local.set $10 (i32.and (local.get $10) (i32.const 255) ) ) ) (local.set $3 (local.get $9) ) ) (block $label$19 (br_if $label$19 (i32.eqz (local.tee $6 (i32.add (local.get $6) (i32.const -1) ) ) ) ) (local.set $7 (i32.add (i32.sub (local.get $7) (local.get $8) ) (local.get $3) ) ) (local.set $8 (local.get $3) ) (br_if $label$7 (i32.ne (local.get $5) (local.get $3) ) ) (br $label$5) ) ) (br_if $label$5 (i32.eq (local.get $10) (i32.const 1114112) ) ) (block $label$20 (block $label$21 (br_if $label$21 (i32.eqz (local.get $7) ) ) (br_if $label$21 (i32.eq (local.get $7) (local.get $2) ) ) (local.set $3 (i32.const 0) ) (br_if $label$20 (i32.ge_u (local.get $7) (local.get $2) ) ) (br_if $label$20 (i32.lt_s (i32.load8_s (i32.add (local.get $1) (local.get $7) ) ) (i32.const -64) ) ) ) (local.set $3 (local.get $1) ) ) (local.set $2 (select (local.get $7) (local.get $2) (local.get $3) ) ) (local.set $1 (select (local.get $3) (local.get $1) (local.get $3) ) ) ) (br_if $label$2 (i32.eq (local.get $4) (i32.const 1) ) ) (return (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $1) (local.get $2) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) ) (block $label$22 (block $label$23 (block $label$24 (br_if $label$24 (i32.eqz (local.get $2) ) ) (local.set $9 (i32.const 0) ) (local.set $10 (local.get $2) ) (local.set $3 (local.get $1) ) (loop $label$25 (local.set $9 (i32.add (local.get $9) (i32.eq (i32.and (i32.load8_u (local.get $3) ) (i32.const 192) ) (i32.const 128) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$25 (local.tee $10 (i32.add (local.get $10) (i32.const -1) ) ) ) ) (br_if $label$23 (i32.ge_u (i32.sub (local.get $2) (local.get $9) ) (local.tee $6 (i32.load offset=12 (local.get $0) ) ) ) ) (local.set $9 (i32.const 0) ) (local.set $10 (local.get $2) ) (local.set $3 (local.get $1) ) (loop $label$26 (local.set $9 (i32.add (local.get $9) (i32.eq (i32.and (i32.load8_u (local.get $3) ) (i32.const 192) ) (i32.const 128) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$26 (local.tee $10 (i32.add (local.get $10) (i32.const -1) ) ) ) (br $label$22) ) ) (local.set $9 (i32.const 0) ) (br_if $label$22 (local.tee $6 (i32.load offset=12 (local.get $0) ) ) ) ) (return (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $1) (local.get $2) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) ) (local.set $3 (i32.const 0) ) (local.set $10 (local.tee $6 (i32.add (i32.sub (local.get $9) (local.get $2) ) (local.get $6) ) ) ) (block $label$27 (block $label$28 (block $label$29 (br_table $label$27 $label$28 $label$29 $label$28 $label$27 (i32.and (select (i32.const 0) (local.tee $9 (i32.load8_u offset=32 (local.get $0) ) ) (i32.eq (local.get $9) (i32.const 3) ) ) (i32.const 3) ) ) ) (local.set $3 (i32.shr_u (local.get $6) (i32.const 1) ) ) (local.set $10 (i32.shr_u (i32.add (local.get $6) (i32.const 1) ) (i32.const 1) ) ) (br $label$27) ) (local.set $10 (i32.const 0) ) (local.set $3 (local.get $6) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (block $label$30 (loop $label$31 (br_if $label$30 (i32.eqz (local.tee $3 (i32.add (local.get $3) (i32.const -1) ) ) ) ) (br_if $label$31 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (i32.load offset=4 (local.get $0) ) (i32.load offset=16 (i32.load offset=28 (local.get $0) ) ) ) ) ) ) (return (i32.const 1) ) ) (local.set $9 (i32.load offset=4 (local.get $0) ) ) (local.set $3 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $1) (local.get $2) (i32.load offset=12 (i32.load offset=28 (local.get $0) ) ) ) ) (local.set $3 (i32.add (local.get $10) (i32.const 1) ) ) (local.set $10 (i32.load offset=28 (local.get $0) ) ) (local.set $0 (i32.load offset=24 (local.get $0) ) ) (loop $label$32 (block $label$33 (br_if $label$33 (local.tee $3 (i32.add (local.get $3) (i32.const -1) ) ) ) (return (i32.const 0) ) ) (br_if $label$32 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (local.get $0) (local.get $9) (i32.load offset=16 (local.get $10) ) ) ) ) ) (return (i32.const 1) ) ) (local.get $3) ) (func $no_proto_js::json_flex::json_decode::func::h4302235e5d1c4feb (; 7 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i64) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 112) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (br_if $label$9 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 80) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=84 (local.get $8) ) ) (block $label$10 (block $label$11 (block $label$12 (block $label$13 (br_if $label$13 (i32.eq (i32.load offset=80 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 16) ) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=64 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 80) ) (i32.add (local.get $8) (i32.const 64) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 12) ) ) ) (i64.store offset=96 (local.get $8) (i64.load offset=84 align=4 (local.get $8) ) ) (br_if $label$8 (i32.eq (i32.load offset=80 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=96 (local.get $8) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 80) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $8) (i32.const 92) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=84 align=4 (local.get $8) ) ) (br_if $label$12 (i32.eq (i32.load offset=80 (local.get $8) ) (i32.const 1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 4) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $8) (i32.const 8) ) (i32.load offset=32 (local.get $8) ) (i32.load offset=40 (local.get $8) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $8) (i32.const 80) ) (i32.load offset=8 (local.get $8) ) (i32.load offset=12 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store offset=40 (local.get $8) (local.tee $2 (i32.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) ) ) (i64.store offset=32 (local.get $8) (local.tee $10 (i64.load offset=80 (local.get $8) ) ) ) (br_if $label$11 (call $core::str::::find::hd5cf84aec0e23f71 (i32.wrap_i64 (local.get $10) ) (local.get $2) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 96) ) (i32.add (local.get $8) (i32.const 32) ) ) (call $core::num::::from_str::hd1bf1d67e683c878 (i32.add (local.get $8) (i32.const 80) ) (i32.load offset=96 (local.get $8) ) (i32.load offset=104 (local.get $8) ) ) (br_if $label$6 (i32.eq (i32.load8_u offset=80 (local.get $8) ) (i32.const 1) ) ) (local.set $10 (i64.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) ) (i32.store offset=64 (local.get $8) (i32.const 1) ) (i64.store offset=72 (local.get $8) (local.get $10) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (local.get $1) (i32.add (local.get $8) (i32.const 48) ) (i32.add (local.get $8) (i32.const 64) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 96) ) ) (br $label$10) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (br $label$7) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 96) ) (i32.add (local.get $8) (i32.const 32) ) ) (call $core::num::dec2flt::dec2flt::hc98b654b772c316b (i32.add (local.get $8) (i32.const 80) ) (i32.load offset=96 (local.get $8) ) (i32.load offset=104 (local.get $8) ) ) (br_if $label$5 (i32.eq (i32.load8_u offset=80 (local.get $8) ) (i32.const 1) ) ) (local.set $10 (i64.load (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) ) ) (i32.store offset=64 (local.get $8) (i32.const 2) ) (i64.store offset=72 (local.get $8) (local.get $10) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (local.get $1) (i32.add (local.get $8) (i32.const 48) ) (i32.add (local.get $8) (i32.const 64) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 96) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$3) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=96 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 96) ) (i32.const 8) ) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$3) ) (call $>::from::h2cadccf0b1b1ad3d (local.get $0) (i32.load8_u offset=81 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 96) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 48) ) ) (br $label$4) ) (call $>::from::hff684c45a9202164 (local.get $0) (i32.ne (i32.and (i32.load8_u offset=81 (local.get $8) ) (i32.const 255) ) (i32.const 0) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 96) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 48) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (br $label$1) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 112) ) ) ) (func $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (; 8 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i64) (param $5 i64) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) (global.set $global$0 (local.tee $10 (i32.sub (global.get $global$0) (i32.const 96) ) ) ) (local.set $11 (i32.const 1) ) (local.set $12 (i32.const 0) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (br_table $label$8 $label$9 $label$3 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (br_if $label$6 (i32.le_u (i32.load offset=8 (local.get $2) ) (local.tee $11 (i32.wrap_i64 (local.get $4) ) ) ) ) (br_if $label$7 (i32.le_u (i32.load (i32.add (local.get $1) (i32.const 12) ) ) (local.tee $11 (i32.load (i32.add (i32.load (local.get $2) ) (i32.shl (local.get $11) (i32.const 3) ) ) ) ) ) ) (local.set $12 (i32.load offset=4 (local.get $1) ) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $10) (i32.const 32) ) (local.get $2) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $10) (i32.const 48) ) (local.get $3) ) (call $\20as\20core::clone::Clone>::clone::h08ee588c4e592678 (i32.add (local.get $10) (i32.const 64) ) (local.get $8) ) (i32.store (i32.add (i32.add (local.get $10) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $9) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $10) (i64.load align=4 (local.get $9) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $10) (i32.const 16) ) (i32.add (local.get $12) (i32.shl (local.get $11) (i32.const 4) ) ) (i32.add (local.get $10) (i32.const 32) ) (i32.add (local.get $10) (i32.const 48) ) (i64.add (local.get $4) (i64.const 1) ) (local.get $5) (local.get $6) (local.get $7) (i32.add (local.get $10) (i32.const 64) ) (i32.add (local.get $10) (i32.const 80) ) ) (i64.store (local.get $10) (i64.load offset=17 align=1 (local.get $10) ) ) (i64.store offset=7 align=1 (local.get $10) (i64.load align=1 (i32.add (i32.add (local.get $10) (i32.const 16) ) (i32.const 8) ) ) ) (local.set $11 (i32.const 1) ) (br_if $label$4 (i32.ne (i32.load8_u offset=16 (local.get $10) ) (i32.const 1) ) ) (i32.store8 (local.get $0) (i32.const 1) ) (i64.store align=1 (i32.add (local.get $0) (i32.const 4) ) (i64.load offset=3 align=1 (local.get $10) ) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $10) (i32.const 11) ) ) ) (br $label$2) ) (br_if $label$7 (i32.le_u (i32.load offset=8 (local.get $3) ) (local.tee $11 (i32.wrap_i64 (local.get $5) ) ) ) ) (local.set $13 (i32.add (local.get $1) (i32.const 4) ) ) (local.set $14 (i32.load (i32.add (local.get $1) (i32.const 12) ) ) ) (local.set $15 (i32.load offset=8 (local.tee $11 (i32.add (i32.load (local.get $3) ) (i32.mul (local.get $11) (i32.const 12) ) ) ) ) ) (local.set $16 (i32.load (local.get $11) ) ) (local.set $11 (i32.const 0) ) (loop $label$10 (br_if $label$7 (i32.eq (local.get $14) (local.get $11) ) ) (local.set $12 (call $\20as\20core::ops::index::Index>::index::hb7cf59f2cabe3ab2 (local.get $13) (local.get $11) (i32.const 1048756) ) ) (local.set $11 (i32.add (local.get $11) (i32.const 1) ) ) (br_if $label$10 (i32.eqz (call $core::str::traits::::eq::hc7aee230a22dd852 (i32.load (local.get $12) ) (i32.load offset=8 (local.get $12) ) (local.get $16) (local.get $15) ) ) ) ) (local.set $11 (call $\20as\20core::ops::index::IndexMut>::index_mut::hfdb945aa662df6e7 (local.get $13) (i32.add (local.get $11) (i32.const -1) ) (i32.const 1048772) ) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (i32.add (local.get $10) (i32.const 32) ) (local.get $2) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $10) (i32.const 48) ) (local.get $3) ) (call $\20as\20core::clone::Clone>::clone::h08ee588c4e592678 (i32.add (local.get $10) (i32.const 64) ) (local.get $8) ) (i32.store (i32.add (i32.add (local.get $10) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $9) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $10) (i64.load align=4 (local.get $9) ) ) (call $no_proto_js::json_flex::recursive::h7e8e1c723ca95a7e (i32.add (local.get $10) (i32.const 16) ) (i32.add (local.get $11) (i32.const 16) ) (i32.add (local.get $10) (i32.const 32) ) (i32.add (local.get $10) (i32.const 48) ) (local.get $4) (i64.add (local.get $5) (i64.const 1) ) (local.get $6) (local.get $7) (i32.add (local.get $10) (i32.const 64) ) (i32.add (local.get $10) (i32.const 80) ) ) (i64.store (local.get $10) (i64.load offset=17 align=1 (local.get $10) ) ) (i64.store offset=7 align=1 (local.get $10) (i64.load align=1 (i32.add (i32.add (local.get $10) (i32.const 16) ) (i32.const 8) ) ) ) (local.set $11 (i32.const 1) ) (br_if $label$4 (i32.ne (i32.load8_u offset=16 (local.get $10) ) (i32.const 1) ) ) (i32.store8 (local.get $0) (i32.const 1) ) (i64.store align=1 (i32.add (local.get $0) (i32.const 4) ) (i64.load offset=3 align=1 (local.get $10) ) ) (i32.store align=1 (i32.add (local.get $0) (i32.const 12) ) (i32.load align=1 (i32.add (local.get $10) (i32.const 11) ) ) ) (br $label$2) ) (i32.store (i32.add (i32.add (local.get $10) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $10) (i64.load align=4 (local.get $8) ) ) (call $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (local.get $10) (local.get $2) ) (call $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (i32.add (local.get $10) (i32.const 16) ) (local.get $3) ) (call_indirect (type $i32_i32_i32_i32_i32_i64_i64_i32_=>_none) (i32.add (local.get $10) (i32.const 64) ) (local.get $1) (i32.add (local.get $10) (i32.const 80) ) (local.get $10) (i32.add (local.get $10) (i32.const 16) ) (local.get $4) (local.get $5) (local.get $6) (local.get $7) ) (br_if $label$5 (local.tee $11 (i32.load offset=64 (local.get $10) ) ) ) (local.set $11 (i32.const 0) ) (local.set $12 (i32.const 0) ) (br $label$3) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (i32.add (local.get $10) (i32.const 16) ) (i32.const 1060526) (i32.const 24) ) (local.set $11 (i32.load offset=16 (local.get $10) ) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (i64.load offset=20 align=4 (local.get $10) ) ) (i32.store (i32.add (local.get $0) (i32.const 4) ) (local.get $11) ) (i32.store8 (local.get $0) (i32.const 1) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $9) ) (br $label$2) ) (local.set $4 (i64.load offset=68 align=4 (local.get $10) ) ) (i32.store8 (local.get $0) (i32.const 1) ) (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) (local.get $4) ) (i32.store (i32.add (local.get $0) (i32.const 4) ) (local.get $11) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $9) ) (br $label$1) ) (local.set $12 (i32.const 1) ) ) (i32.store8 (local.get $0) (i32.const 0) ) (i32.store8 offset=1 (local.get $0) (local.get $11) ) (block $label$11 (br_if $label$11 (local.get $12) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $9) ) ) (br_if $label$1 (i32.eqz (local.get $11) ) ) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $8) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $3) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $2) ) (global.set $global$0 (i32.add (local.get $10) (i32.const 96) ) ) ) (func $core::unicode::printable::is_printable::h8ce15518a3a94c0e (; 9 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (block $label$10 (br_if $label$10 (i32.lt_u (local.get $0) (i32.const 65536) ) ) (br_if $label$9 (i32.lt_u (local.get $0) (i32.const 131072) ) ) (local.set $1 (i32.const 0) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -201547) ) (i32.const 716213) ) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -195102) ) (i32.const 1506) ) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -191457) ) (i32.const 3103) ) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -183970) ) (i32.const 14) ) ) (br_if $label$2 (i32.eq (i32.and (local.get $0) (i32.const 2097150) ) (i32.const 178206) ) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -173790) ) (i32.const 34) ) ) (br_if $label$2 (i32.lt_u (i32.add (local.get $0) (i32.const -177973) ) (i32.const 11) ) ) (return (i32.lt_u (local.get $0) (i32.const 918000) ) ) ) (local.set $2 (i32.shr_u (i32.and (local.get $0) (i32.const 65280) ) (i32.const 8) ) ) (local.set $3 (i32.const 1056525) ) (local.set $4 (i32.const 0) ) (local.set $5 (i32.and (local.get $0) (i32.const 255) ) ) (loop $label$11 (local.set $6 (i32.add (local.get $3) (i32.const 2) ) ) (local.set $7 (i32.add (local.get $4) (local.tee $1 (i32.load8_u offset=1 (local.get $3) ) ) ) ) (block $label$12 (br_if $label$12 (i32.eq (local.tee $3 (i32.load8_u (local.get $3) ) ) (local.get $2) ) ) (br_if $label$3 (i32.gt_u (local.get $3) (local.get $2) ) ) (local.set $4 (local.get $7) ) (local.set $3 (local.get $6) ) (br_if $label$11 (i32.ne (local.get $6) (i32.const 1056607) ) ) (br $label$3) ) (br_if $label$8 (i32.lt_u (local.get $7) (local.get $4) ) ) (br_if $label$7 (i32.gt_u (local.get $7) (i32.const 290) ) ) (local.set $3 (i32.add (local.get $4) (i32.const 1056624) ) ) (block $label$13 (loop $label$14 (br_if $label$13 (i32.eqz (local.get $1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -1) ) ) (local.set $4 (i32.load8_u (local.get $3) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$14 (i32.ne (local.get $4) (local.get $5) ) ) ) (local.set $1 (i32.const 0) ) (br $label$2) ) (local.set $4 (local.get $7) ) (local.set $3 (local.get $6) ) (br_if $label$11 (i32.ne (local.get $6) (i32.const 1056607) ) ) (br $label$3) ) ) (local.set $2 (i32.shr_u (i32.and (local.get $0) (i32.const 65280) ) (i32.const 8) ) ) (local.set $3 (i32.const 1057240) ) (local.set $4 (i32.const 0) ) (local.set $5 (i32.and (local.get $0) (i32.const 255) ) ) (loop $label$15 (local.set $6 (i32.add (local.get $3) (i32.const 2) ) ) (local.set $7 (i32.add (local.get $4) (local.tee $1 (i32.load8_u offset=1 (local.get $3) ) ) ) ) (block $label$16 (br_if $label$16 (i32.eq (local.tee $3 (i32.load8_u (local.get $3) ) ) (local.get $2) ) ) (br_if $label$4 (i32.gt_u (local.get $3) (local.get $2) ) ) (local.set $4 (local.get $7) ) (local.set $3 (local.get $6) ) (br_if $label$15 (i32.ne (local.get $6) (i32.const 1057316) ) ) (br $label$4) ) (br_if $label$6 (i32.lt_u (local.get $7) (local.get $4) ) ) (br_if $label$5 (i32.gt_u (local.get $7) (i32.const 175) ) ) (local.set $3 (i32.add (local.get $4) (i32.const 1057316) ) ) (block $label$17 (loop $label$18 (br_if $label$17 (i32.eqz (local.get $1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -1) ) ) (local.set $4 (i32.load8_u (local.get $3) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$18 (i32.ne (local.get $4) (local.get $5) ) ) ) (local.set $1 (i32.const 0) ) (br $label$2) ) (local.set $4 (local.get $7) ) (local.set $3 (local.get $6) ) (br_if $label$15 (i32.ne (local.get $6) (i32.const 1057316) ) ) (br $label$4) ) ) (call $core::slice::slice_index_order_fail::h604d37dc72f0cca0 (local.get $4) (local.get $7) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (i32.const 290) (i32.const 1056608) ) (unreachable) ) (call $core::slice::slice_index_order_fail::h604d37dc72f0cca0 (local.get $4) (local.get $7) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $7) (i32.const 175) (i32.const 1056608) ) (unreachable) ) (local.set $5 (i32.and (local.get $0) (i32.const 65535) ) ) (local.set $3 (i32.const 1057491) ) (local.set $1 (i32.const 1) ) (block $label$19 (loop $label$20 (local.set $0 (i32.add (local.get $3) (i32.const 1) ) ) (block $label$21 (block $label$22 (br_if $label$22 (i32.lt_s (local.tee $7 (i32.shr_s (i32.shl (local.tee $4 (i32.load8_u (local.get $3) ) ) (i32.const 24) ) (i32.const 24) ) ) (i32.const 0) ) ) (local.set $3 (local.get $0) ) (br $label$21) ) (br_if $label$19 (i32.eq (local.get $0) (i32.const 1057910) ) ) (local.set $4 (i32.or (i32.shl (i32.and (local.get $7) (i32.const 127) ) (i32.const 8) ) (i32.load8_u offset=1 (local.get $3) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 2) ) ) ) (br_if $label$2 (i32.lt_s (local.tee $5 (i32.sub (local.get $5) (local.get $4) ) ) (i32.const 0) ) ) (local.set $1 (i32.xor (local.get $1) (i32.const 1) ) ) (br_if $label$20 (i32.ne (local.get $3) (i32.const 1057910) ) ) (br $label$2) ) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060792) (i32.const 43) (i32.const 1057224) ) (unreachable) ) (local.set $5 (i32.and (local.get $0) (i32.const 65535) ) ) (local.set $3 (i32.const 1056914) ) (local.set $1 (i32.const 1) ) (loop $label$23 (local.set $0 (i32.add (local.get $3) (i32.const 1) ) ) (block $label$24 (block $label$25 (br_if $label$25 (i32.lt_s (local.tee $7 (i32.shr_s (i32.shl (local.tee $4 (i32.load8_u (local.get $3) ) ) (i32.const 24) ) (i32.const 24) ) ) (i32.const 0) ) ) (local.set $3 (local.get $0) ) (br $label$24) ) (br_if $label$1 (i32.eq (local.get $0) (i32.const 1057223) ) ) (local.set $4 (i32.or (i32.shl (i32.and (local.get $7) (i32.const 127) ) (i32.const 8) ) (i32.load8_u offset=1 (local.get $3) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 2) ) ) ) (br_if $label$2 (i32.lt_s (local.tee $5 (i32.sub (local.get $5) (local.get $4) ) ) (i32.const 0) ) ) (local.set $1 (i32.xor (local.get $1) (i32.const 1) ) ) (br_if $label$23 (i32.ne (local.get $3) (i32.const 1057223) ) ) ) ) (return (i32.and (local.get $1) (i32.const 1) ) ) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060792) (i32.const 43) (i32.const 1057224) ) (unreachable) ) (func $core::str::::trim::hc8020c4edbe7c218 (; 10 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local.set $3 (i32.add (local.get $1) (local.get $2) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (local.get $2) ) (local.set $4 (i32.const 0) ) (local.set $2 (local.get $1) ) (local.set $5 (i32.const 0) ) (br $label$2) ) (local.set $5 (i32.const 0) ) (local.set $2 (local.get $1) ) (loop $label$4 (local.set $6 (local.get $2) ) (local.set $7 (local.get $5) ) (local.set $5 (i32.add (local.get $2) (i32.const 1) ) ) (block $label$5 (block $label$6 (block $label$7 (br_if $label$7 (i32.gt_s (local.tee $8 (i32.load8_s (local.get $2) ) ) (i32.const -1) ) ) (block $label$8 (block $label$9 (br_if $label$9 (i32.ne (local.get $5) (local.get $3) ) ) (local.set $9 (i32.const 0) ) (local.set $2 (local.get $3) ) (br $label$8) ) (local.set $9 (i32.and (i32.load8_u offset=1 (local.get $2) ) (i32.const 63) ) ) (local.set $2 (local.tee $5 (i32.add (local.get $2) (i32.const 2) ) ) ) ) (local.set $10 (i32.and (local.get $8) (i32.const 31) ) ) (block $label$10 (br_if $label$10 (i32.gt_u (local.tee $8 (i32.and (local.get $8) (i32.const 255) ) ) (i32.const 223) ) ) (local.set $8 (i32.or (local.get $9) (i32.shl (local.get $10) (i32.const 6) ) ) ) (br $label$6) ) (block $label$11 (block $label$12 (br_if $label$12 (i32.ne (local.get $2) (local.get $3) ) ) (local.set $4 (i32.const 0) ) (local.set $2 (local.get $5) ) (local.set $5 (local.get $3) ) (br $label$11) ) (local.set $4 (i32.and (i32.load8_u (local.get $2) ) (i32.const 63) ) ) (local.set $5 (local.tee $2 (i32.add (local.get $2) (i32.const 1) ) ) ) ) (local.set $9 (i32.or (local.get $4) (i32.shl (local.get $9) (i32.const 6) ) ) ) (block $label$13 (br_if $label$13 (i32.ge_u (local.get $8) (i32.const 240) ) ) (local.set $8 (i32.or (local.get $9) (i32.shl (local.get $10) (i32.const 12) ) ) ) (br $label$5) ) (local.set $4 (i32.const 0) ) (local.set $8 (i32.const 0) ) (block $label$14 (br_if $label$14 (i32.eq (local.get $5) (local.get $3) ) ) (local.set $2 (i32.add (local.get $5) (i32.const 1) ) ) (local.set $8 (i32.and (i32.load8_u (local.get $5) ) (i32.const 63) ) ) ) (br_if $label$5 (i32.ne (local.tee $8 (i32.or (i32.or (i32.shl (local.get $9) (i32.const 6) ) (i32.and (i32.shl (local.get $10) (i32.const 18) ) (i32.const 1835008) ) ) (local.get $8) ) ) (i32.const 1114112) ) ) (local.set $5 (local.get $7) ) (br $label$2) ) (local.set $8 (i32.and (local.get $8) (i32.const 255) ) ) ) (local.set $2 (local.get $5) ) ) (local.set $5 (i32.add (i32.sub (local.get $2) (local.get $6) ) (local.get $7) ) ) (block $label$15 (br_if $label$15 (i32.lt_u (i32.add (local.get $8) (i32.const -9) ) (i32.const 5) ) ) (br_if $label$15 (i32.eq (local.get $8) (i32.const 32) ) ) (block $label$16 (br_if $label$16 (i32.ge_u (local.get $8) (i32.const 128) ) ) (local.set $4 (local.get $5) ) (br $label$1) ) (br_if $label$15 (call $core::unicode::unicode_data::white_space::lookup::h0e72692c71b55f4a (local.get $8) ) ) (local.set $4 (local.get $5) ) (br $label$1) ) (br_if $label$4 (i32.ne (local.get $3) (local.get $2) ) ) ) (local.set $4 (i32.const 0) ) ) (local.set $7 (i32.const 0) ) ) (block $label$17 (br_if $label$17 (i32.eq (local.get $3) (local.get $2) ) ) (local.set $10 (i32.sub (local.get $3) (local.get $2) ) ) (loop $label$18 (block $label$19 (block $label$20 (br_if $label$20 (i32.lt_s (local.tee $9 (i32.shr_s (i32.shl (local.tee $8 (i32.load8_u (local.tee $6 (i32.add (local.get $3) (i32.const -1) ) ) ) ) (i32.const 24) ) (i32.const 24) ) ) (i32.const 0) ) ) (local.set $3 (local.get $6) ) (br $label$19) ) (block $label$21 (block $label$22 (br_if $label$22 (i32.ne (local.get $6) (local.get $2) ) ) (local.set $8 (i32.const 0) ) (local.set $3 (local.get $6) ) (br $label$21) ) (block $label$23 (br_if $label$23 (i32.eq (i32.and (local.tee $8 (i32.load8_u (local.tee $6 (i32.add (local.get $3) (i32.const -2) ) ) ) ) (i32.const 192) ) (i32.const 128) ) ) (local.set $8 (i32.and (local.get $8) (i32.const 31) ) ) (local.set $3 (local.get $6) ) (br $label$21) ) (block $label$24 (block $label$25 (br_if $label$25 (i32.ne (local.get $6) (local.get $2) ) ) (local.set $11 (i32.const 0) ) (local.set $3 (local.get $6) ) (br $label$24) ) (block $label$26 (br_if $label$26 (i32.eq (i32.and (local.tee $11 (i32.load8_u (local.tee $6 (i32.add (local.get $3) (i32.const -3) ) ) ) ) (i32.const 192) ) (i32.const 128) ) ) (local.set $11 (i32.and (local.get $11) (i32.const 15) ) ) (local.set $3 (local.get $6) ) (br $label$24) ) (block $label$27 (block $label$28 (br_if $label$28 (i32.ne (local.get $6) (local.get $2) ) ) (local.set $12 (i32.const 0) ) (local.set $3 (local.get $6) ) (br $label$27) ) (local.set $12 (i32.shl (i32.and (i32.load8_u (local.tee $3 (i32.add (local.get $3) (i32.const -4) ) ) ) (i32.const 7) ) (i32.const 6) ) ) ) (local.set $11 (i32.or (local.get $12) (i32.and (local.get $11) (i32.const 63) ) ) ) ) (local.set $8 (i32.or (i32.shl (local.get $11) (i32.const 6) ) (i32.and (local.get $8) (i32.const 63) ) ) ) ) (br_if $label$17 (i32.eq (local.tee $8 (i32.or (i32.shl (local.get $8) (i32.const 6) ) (i32.and (local.get $9) (i32.const 63) ) ) ) (i32.const 1114112) ) ) ) (block $label$29 (block $label$30 (br_if $label$30 (i32.lt_u (i32.add (local.get $8) (i32.const -9) ) (i32.const 5) ) ) (br_if $label$30 (i32.eq (local.get $8) (i32.const 32) ) ) (br_if $label$29 (i32.lt_u (local.get $8) (i32.const 128) ) ) (br_if $label$29 (i32.eqz (call $core::unicode::unicode_data::white_space::lookup::h0e72692c71b55f4a (local.get $8) ) ) ) ) (local.set $10 (i32.sub (local.get $3) (local.get $2) ) ) (br_if $label$18 (i32.ne (local.get $3) (local.get $2) ) ) (br $label$17) ) ) (local.set $4 (i32.add (local.get $10) (local.get $5) ) ) ) (i32.store offset=4 (local.get $0) (i32.sub (local.get $4) (local.get $7) ) ) (i32.store (local.get $0) (i32.add (local.get $1) (local.get $7) ) ) ) (func $core::num::bignum::Big32x40::mul_digits::h0efb00c497307cb1 (; 11 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i64) (local $17 i64) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 160) ) ) ) (local.set $3 (call $memset (local.get $2) (i32.const 0) (i32.const 160) ) ) (block $label$1 (br_if $label$1 (i32.ge_u (local.tee $4 (i32.load (local.get $0) ) ) (i32.const 41) ) ) (local.set $5 (i32.add (local.get $0) (i32.const 4) ) ) (block $label$2 (block $label$3 (br_if $label$3 (i32.lt_u (local.get $4) (i32.const 2) ) ) (local.set $6 (i32.shl (local.get $4) (i32.const 2) ) ) (local.set $7 (i32.add (local.get $4) (i32.const 1) ) ) (local.set $8 (i32.add (local.get $1) (i32.const 8) ) ) (local.set $9 (i32.const 0) ) (local.set $10 (i32.const 0) ) (block $label$4 (loop $label$5 (local.set $11 (i32.add (local.get $3) (i32.shl (local.get $9) (i32.const 2) ) ) ) (loop $label$6 (local.set $12 (local.get $9) ) (local.set $2 (local.get $11) ) (br_if $label$2 (i32.eq (local.get $1) (local.get $8) ) ) (local.set $11 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $9 (i32.add (local.get $12) (i32.const 1) ) ) (local.set $13 (i32.load (local.get $1) ) ) (local.set $1 (local.tee $14 (i32.add (local.get $1) (i32.const 4) ) ) ) (br_if $label$6 (i32.eqz (local.get $13) ) ) ) (local.set $1 (i32.const 0) ) (local.set $15 (i32.sub (i32.const 0) (select (i32.const 0) (local.tee $11 (i32.sub (i32.const 40) (local.get $12) ) ) (i32.gt_u (local.get $11) (i32.const 40) ) ) ) ) (local.set $16 (i64.extend_i32_u (local.get $13) ) ) (local.set $17 (i64.const 0) ) (local.set $13 (local.get $6) ) (local.set $11 (local.get $5) ) (block $label$7 (loop $label$8 (br_if $label$7 (i32.eq (local.get $15) (local.get $1) ) ) (i64.store32 (local.get $2) (local.tee $17 (i64.add (i64.add (local.get $17) (i64.load32_u (local.get $2) ) ) (i64.mul (i64.load32_u (local.get $11) ) (local.get $16) ) ) ) ) (local.set $17 (i64.shr_u (local.get $17) (i64.const 32) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -1) ) ) (local.set $11 (i32.add (local.get $11) (i32.const 4) ) ) (br_if $label$8 (local.tee $13 (i32.add (local.get $13) (i32.const -4) ) ) ) ) (local.set $2 (local.get $4) ) (block $label$9 (br_if $label$9 (i32.eqz (local.tee $1 (i32.wrap_i64 (local.get $17) ) ) ) ) (br_if $label$4 (i32.gt_u (local.tee $2 (i32.add (local.get $12) (local.get $4) ) ) (i32.const 39) ) ) (i32.store (i32.add (local.get $3) (i32.shl (local.get $2) (i32.const 2) ) ) (local.get $1) ) (local.set $2 (local.get $7) ) ) (local.set $10 (select (local.tee $2 (i32.add (local.get $2) (local.get $12) ) ) (local.get $10) (i32.lt_u (local.get $10) (local.get $2) ) ) ) (local.set $1 (local.get $14) ) (br $label$5) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.add (i32.xor (local.get $1) (i32.const -1) ) (local.get $9) ) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (local.set $14 (i32.add (i32.add (local.get $0) (i32.shl (local.get $4) (i32.const 2) ) ) (i32.const 4) ) ) (local.set $12 (i32.const 0) ) (local.set $11 (local.get $5) ) (local.set $10 (i32.const 0) ) (block $label$10 (loop $label$11 (local.set $9 (i32.add (local.get $3) (i32.shl (local.get $12) (i32.const 2) ) ) ) (loop $label$12 (local.set $13 (local.get $12) ) (local.set $2 (local.get $9) ) (br_if $label$2 (i32.eq (local.get $11) (local.get $14) ) ) (local.set $9 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $12 (i32.add (local.get $13) (i32.const 1) ) ) (local.set $8 (i32.load (local.get $11) ) ) (local.set $11 (local.tee $15 (i32.add (local.get $11) (i32.const 4) ) ) ) (br_if $label$12 (i32.eqz (local.get $8) ) ) ) (local.set $11 (i32.const 0) ) (local.set $4 (i32.sub (i32.const 0) (select (i32.const 0) (local.tee $9 (i32.sub (i32.const 40) (local.get $13) ) ) (i32.gt_u (local.get $9) (i32.const 40) ) ) ) ) (local.set $16 (i64.extend_i32_u (local.get $8) ) ) (local.set $17 (i64.const 0) ) (local.set $9 (i32.const 0) ) (block $label$13 (loop $label$14 (br_if $label$13 (i32.eq (local.get $4) (local.get $9) ) ) (i64.store32 (local.get $2) (local.tee $17 (i64.add (i64.add (local.get $17) (i64.load32_u (local.get $2) ) ) (i64.mul (i64.load32_u (i32.add (local.get $1) (local.get $11) ) ) (local.get $16) ) ) ) ) (local.set $17 (i64.shr_u (local.get $17) (i64.const 32) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $9 (i32.add (local.get $9) (i32.const -1) ) ) (br_if $label$14 (i32.ne (local.tee $11 (i32.add (local.get $11) (i32.const 4) ) ) (i32.const 8) ) ) ) (block $label$15 (block $label$16 (br_if $label$16 (local.tee $2 (i32.wrap_i64 (local.get $17) ) ) ) (local.set $2 (i32.const 2) ) (br $label$15) ) (br_if $label$10 (i32.gt_u (local.tee $11 (i32.add (local.get $13) (i32.const 2) ) ) (i32.const 39) ) ) (i32.store (i32.add (local.get $3) (i32.shl (local.get $11) (i32.const 2) ) ) (local.get $2) ) (local.set $2 (i32.const 3) ) ) (local.set $10 (select (local.tee $2 (i32.add (local.get $2) (local.get $13) ) ) (local.get $10) (i32.lt_u (local.get $10) (local.get $2) ) ) ) (local.set $11 (local.get $15) ) (br $label$11) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.add (i32.xor (local.get $9) (i32.const -1) ) (local.get $12) ) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $11) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (drop (call $memcpy (local.get $5) (local.get $3) (i32.const 160) ) ) (i32.store (local.get $0) (local.get $10) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 160) ) ) (return (local.get $0) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $4) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (func $core::fmt::Formatter::pad_integral::hebe846fc0fc861a5 (; 12 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (local.get $1) ) ) (local.set $7 (select (i32.const 43) (i32.const 1114112) (local.tee $1 (i32.and (local.tee $6 (i32.load (local.get $0) ) ) (i32.const 1) ) ) ) ) (local.set $8 (i32.add (local.get $1) (local.get $5) ) ) (br $label$1) ) (local.set $8 (i32.add (local.get $5) (i32.const 1) ) ) (local.set $6 (i32.load (local.get $0) ) ) (local.set $7 (i32.const 45) ) ) (block $label$3 (block $label$4 (br_if $label$4 (i32.and (local.get $6) (i32.const 4) ) ) (local.set $2 (i32.const 0) ) (br $label$3) ) (local.set $9 (i32.const 0) ) (block $label$5 (br_if $label$5 (i32.eqz (local.get $3) ) ) (local.set $10 (local.get $3) ) (local.set $1 (local.get $2) ) (loop $label$6 (local.set $9 (i32.add (local.get $9) (i32.eq (i32.and (i32.load8_u (local.get $1) ) (i32.const 192) ) (i32.const 128) ) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (br_if $label$6 (local.tee $10 (i32.add (local.get $10) (i32.const -1) ) ) ) ) ) (local.set $8 (i32.sub (i32.add (local.get $8) (local.get $3) ) (local.get $9) ) ) ) (local.set $1 (i32.const 1) ) (block $label$7 (block $label$8 (br_if $label$8 (i32.eq (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) (br_if $label$7 (call $core::fmt::Formatter::pad_integral::write_prefix::hf51a2fedc67d5aa1 (local.get $0) (local.get $7) (local.get $2) (local.get $3) ) ) (local.set $1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $4) (local.get $5) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) (br $label$7) ) (block $label$9 (br_if $label$9 (i32.gt_u (local.tee $9 (i32.load (i32.add (local.get $0) (i32.const 12) ) ) ) (local.get $8) ) ) (br_if $label$7 (call $core::fmt::Formatter::pad_integral::write_prefix::hf51a2fedc67d5aa1 (local.get $0) (local.get $7) (local.get $2) (local.get $3) ) ) (return (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $4) (local.get $5) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) ) (block $label$10 (block $label$11 (block $label$12 (block $label$13 (block $label$14 (br_if $label$14 (i32.eqz (i32.and (local.get $6) (i32.const 8) ) ) ) (local.set $6 (i32.load offset=4 (local.get $0) ) ) (i32.store offset=4 (local.get $0) (i32.const 48) ) (local.set $11 (i32.load8_u offset=32 (local.get $0) ) ) (local.set $1 (i32.const 1) ) (i32.store8 offset=32 (local.get $0) (i32.const 1) ) (br_if $label$7 (call $core::fmt::Formatter::pad_integral::write_prefix::hf51a2fedc67d5aa1 (local.get $0) (local.get $7) (local.get $2) (local.get $3) ) ) (local.set $1 (i32.const 0) ) (local.set $3 (local.tee $10 (i32.sub (local.get $9) (local.get $8) ) ) ) (br_table $label$11 $label$12 $label$13 $label$12 $label$11 (i32.and (select (i32.const 1) (local.tee $9 (i32.load8_u offset=32 (local.get $0) ) ) (i32.eq (local.get $9) (i32.const 3) ) ) (i32.const 3) ) ) ) (local.set $1 (i32.const 0) ) (local.set $8 (local.tee $9 (i32.sub (local.get $9) (local.get $8) ) ) ) (block $label$15 (block $label$16 (block $label$17 (br_table $label$15 $label$16 $label$17 $label$16 $label$15 (i32.and (select (i32.const 1) (local.tee $10 (i32.load8_u offset=32 (local.get $0) ) ) (i32.eq (local.get $10) (i32.const 3) ) ) (i32.const 3) ) ) ) (local.set $1 (i32.shr_u (local.get $9) (i32.const 1) ) ) (local.set $8 (i32.shr_u (i32.add (local.get $9) (i32.const 1) ) (i32.const 1) ) ) (br $label$15) ) (local.set $8 (i32.const 0) ) (local.set $1 (local.get $9) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (loop $label$18 (br_if $label$10 (i32.eqz (local.tee $1 (i32.add (local.get $1) (i32.const -1) ) ) ) ) (br_if $label$18 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (i32.load offset=4 (local.get $0) ) (i32.load offset=16 (i32.load offset=28 (local.get $0) ) ) ) ) ) ) (return (i32.const 1) ) ) (local.set $1 (i32.shr_u (local.get $10) (i32.const 1) ) ) (local.set $3 (i32.shr_u (i32.add (local.get $10) (i32.const 1) ) (i32.const 1) ) ) (br $label$11) ) (local.set $3 (i32.const 0) ) (local.set $1 (local.get $10) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (block $label$19 (loop $label$20 (br_if $label$19 (i32.eqz (local.tee $1 (i32.add (local.get $1) (i32.const -1) ) ) ) ) (br_if $label$20 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (i32.load offset=4 (local.get $0) ) (i32.load offset=16 (i32.load offset=28 (local.get $0) ) ) ) ) ) ) (return (i32.const 1) ) ) (local.set $10 (i32.load offset=4 (local.get $0) ) ) (local.set $1 (i32.const 1) ) (br_if $label$7 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $4) (local.get $5) (i32.load offset=12 (i32.load offset=28 (local.get $0) ) ) ) ) (local.set $9 (i32.add (local.get $3) (i32.const 1) ) ) (local.set $3 (i32.load offset=28 (local.get $0) ) ) (local.set $2 (i32.load offset=24 (local.get $0) ) ) (block $label$21 (loop $label$22 (br_if $label$21 (i32.eqz (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) ) (local.set $1 (i32.const 1) ) (br_if $label$7 (call_indirect (type $i32_i32_=>_i32) (local.get $2) (local.get $10) (i32.load offset=16 (local.get $3) ) ) ) (br $label$22) ) ) (i32.store8 offset=32 (local.get $0) (local.get $11) ) (i32.store offset=4 (local.get $0) (local.get $6) ) (return (i32.const 0) ) ) (local.set $10 (i32.load offset=4 (local.get $0) ) ) (local.set $1 (i32.const 1) ) (br_if $label$7 (call $core::fmt::Formatter::pad_integral::write_prefix::hf51a2fedc67d5aa1 (local.get $0) (local.get $7) (local.get $2) (local.get $3) ) ) (br_if $label$7 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $4) (local.get $5) (i32.load offset=12 (i32.load offset=28 (local.get $0) ) ) ) ) (local.set $9 (i32.add (local.get $8) (i32.const 1) ) ) (local.set $3 (i32.load offset=28 (local.get $0) ) ) (local.set $0 (i32.load offset=24 (local.get $0) ) ) (loop $label$23 (block $label$24 (br_if $label$24 (local.tee $9 (i32.add (local.get $9) (i32.const -1) ) ) ) (return (i32.const 0) ) ) (local.set $1 (i32.const 1) ) (br_if $label$23 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (local.get $0) (local.get $10) (i32.load offset=16 (local.get $3) ) ) ) ) ) ) (local.get $1) ) (func $core::fmt::write::hfcb8d6ce1f04d65f (; 13 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store (i32.add (local.get $3) (i32.const 36) ) (local.get $1) ) (i32.store8 offset=40 (local.get $3) (i32.const 3) ) (i64.store offset=8 (local.get $3) (i64.const 137438953472) ) (i32.store offset=32 (local.get $3) (local.get $0) ) (i32.store offset=24 (local.get $3) (i32.const 0) ) (i32.store offset=16 (local.get $3) (i32.const 0) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_if $label$5 (i32.eqz (local.tee $4 (i32.load offset=8 (local.get $2) ) ) ) ) (local.set $5 (i32.load (local.get $2) ) ) (br_if $label$4 (i32.eqz (local.tee $8 (select (local.tee $6 (i32.load offset=4 (local.get $2) ) ) (local.tee $7 (i32.load (i32.add (local.get $2) (i32.const 12) ) ) ) (i32.gt_u (local.get $7) (local.get $6) ) ) ) ) ) (br_if $label$2 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $0) (i32.load (local.get $5) ) (i32.load offset=4 (local.get $5) ) (i32.load offset=12 (local.get $1) ) ) ) (local.set $0 (i32.add (local.get $5) (i32.const 8) ) ) (local.set $9 (i32.load (i32.add (local.get $2) (i32.const 20) ) ) ) (local.set $10 (i32.load offset=16 (local.get $2) ) ) (local.set $11 (local.get $8) ) (loop $label$6 (i32.store8 offset=40 (local.get $3) (i32.load8_u (i32.add (local.get $4) (i32.const 28) ) ) ) (i64.store offset=8 (local.get $3) (i64.rotl (i64.load align=4 (i32.add (local.get $4) (i32.const 4) ) ) (i64.const 32) ) ) (local.set $2 (i32.load (i32.add (local.get $4) (i32.const 24) ) ) ) (local.set $7 (i32.const 0) ) (local.set $1 (i32.const 0) ) (block $label$7 (block $label$8 (block $label$9 (br_table $label$8 $label$9 $label$7 $label$8 (i32.load (i32.add (local.get $4) (i32.const 20) ) ) ) ) (block $label$10 (br_if $label$10 (i32.lt_u (local.get $2) (local.get $9) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (local.get $9) (i32.const 1056380) ) (unreachable) ) (local.set $12 (i32.shl (local.get $2) (i32.const 3) ) ) (local.set $1 (i32.const 0) ) (br_if $label$7 (i32.ne (i32.load offset=4 (local.tee $12 (i32.add (local.get $10) (local.get $12) ) ) ) (i32.const 30) ) ) (local.set $2 (i32.load (i32.load (local.get $12) ) ) ) ) (local.set $1 (i32.const 1) ) ) (i32.store offset=20 (local.get $3) (local.get $2) ) (i32.store offset=16 (local.get $3) (local.get $1) ) (local.set $2 (i32.load (i32.add (local.get $4) (i32.const 16) ) ) ) (block $label$11 (block $label$12 (block $label$13 (br_table $label$12 $label$13 $label$11 $label$12 (i32.load (i32.add (local.get $4) (i32.const 12) ) ) ) ) (block $label$14 (br_if $label$14 (i32.lt_u (local.get $2) (local.get $9) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (local.get $9) (i32.const 1056380) ) (unreachable) ) (local.set $1 (i32.shl (local.get $2) (i32.const 3) ) ) (br_if $label$11 (i32.ne (i32.load offset=4 (local.tee $1 (i32.add (local.get $10) (local.get $1) ) ) ) (i32.const 30) ) ) (local.set $2 (i32.load (i32.load (local.get $1) ) ) ) ) (local.set $7 (i32.const 1) ) ) (i32.store offset=28 (local.get $3) (local.get $2) ) (i32.store offset=24 (local.get $3) (local.get $7) ) (block $label$15 (br_if $label$15 (i32.ge_u (local.tee $2 (i32.load (local.get $4) ) ) (local.get $9) ) ) (br_if $label$2 (call_indirect (type $i32_i32_=>_i32) (i32.load (local.tee $2 (i32.add (local.get $10) (i32.shl (local.get $2) (i32.const 3) ) ) ) ) (i32.add (local.get $3) (i32.const 8) ) (i32.load offset=4 (local.get $2) ) ) ) (br_if $label$3 (i32.eqz (local.tee $11 (i32.add (local.get $11) (i32.const -1) ) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const 32) ) ) (local.set $2 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $1 (i32.load (local.get $0) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 8) ) ) (br_if $label$6 (i32.eqz (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=32 (local.get $3) ) (local.get $1) (i32.load (local.get $2) ) (i32.load offset=12 (i32.load offset=36 (local.get $3) ) ) ) ) ) (br $label$2) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $2) (local.get $9) (i32.const 1056396) ) (unreachable) ) (local.set $5 (i32.load (local.get $2) ) ) (br_if $label$4 (i32.eqz (local.tee $8 (select (local.tee $6 (i32.load offset=4 (local.get $2) ) ) (local.tee $4 (i32.load (i32.add (local.get $2) (i32.const 20) ) ) ) (i32.gt_u (local.get $4) (local.get $6) ) ) ) ) ) (local.set $4 (i32.load offset=16 (local.get $2) ) ) (br_if $label$2 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $0) (i32.load (local.get $5) ) (i32.load offset=4 (local.get $5) ) (i32.load offset=12 (local.get $1) ) ) ) (local.set $0 (i32.add (local.get $5) (i32.const 8) ) ) (local.set $2 (local.get $8) ) (loop $label$16 (br_if $label$2 (call_indirect (type $i32_i32_=>_i32) (i32.load (local.get $4) ) (i32.add (local.get $3) (i32.const 8) ) (i32.load (i32.add (local.get $4) (i32.const 4) ) ) ) ) (br_if $label$3 (i32.eqz (local.tee $2 (i32.add (local.get $2) (i32.const -1) ) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const 8) ) ) (local.set $1 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $7 (i32.load (local.get $0) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 8) ) ) (br_if $label$16 (i32.eqz (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=32 (local.get $3) ) (local.get $7) (i32.load (local.get $1) ) (i32.load offset=12 (i32.load offset=36 (local.get $3) ) ) ) ) ) (br $label$2) ) ) (local.set $8 (i32.const 0) ) ) (block $label$17 (br_if $label$17 (i32.le_u (local.get $6) (local.get $8) ) ) (br_if $label$2 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=32 (local.get $3) ) (i32.load (local.tee $4 (i32.add (local.get $5) (i32.shl (local.get $8) (i32.const 3) ) ) ) ) (i32.load offset=4 (local.get $4) ) (i32.load offset=12 (i32.load offset=36 (local.get $3) ) ) ) ) ) (local.set $4 (i32.const 0) ) (br $label$1) ) (local.set $4 (i32.const 1) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 48) ) ) (local.get $4) ) (func $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (; 14 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 80) ) ) ) (local.set $4 (i32.load offset=8 (local.get $0) ) ) (local.set $5 (i32.const 0) ) (block $label$1 (block $label$2 (loop $label$3 (block $label$4 (br_if $label$4 (i32.ne (local.get $4) (local.get $5) ) ) (i32.store (local.tee $4 (i32.add (i32.add (local.get $3) (i32.const 16) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store (local.tee $6 (i32.add (i32.add (local.get $3) (i32.const 16) ) (i32.const 24) ) ) (i64.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $3) (i64.load align=4 (local.get $1) ) ) (i64.store offset=32 (local.get $3) (i64.load (local.get $2) ) ) (block $label$5 (block $label$6 (block $label$7 (br_if $label$7 (i32.ne (local.tee $5 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (br_if $label$6 (i32.lt_u (local.tee $7 (i32.add (local.get $5) (i32.const 1) ) ) (local.get $5) ) ) (block $label$8 (block $label$9 (br_if $label$9 (i32.eq (i32.and (local.tee $7 (select (local.tee $7 (select (local.tee $1 (i32.shl (local.get $5) (i32.const 1) ) ) (local.get $7) (i32.gt_u (local.get $1) (local.get $7) ) ) ) (i32.const 4) (i32.gt_u (local.get $7) (i32.const 4) ) ) ) (i32.const 134217727) ) (local.get $7) ) ) (local.set $7 (i32.const 0) ) (br $label$8) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $3) (i32.const 8) ) (i32.shl (local.get $7) (i32.const 5) ) (i32.const 8) ) (local.set $5 (i32.load offset=4 (local.get $0) ) ) (local.set $7 (i32.load offset=12 (local.get $3) ) ) (local.set $1 (i32.load offset=8 (local.get $3) ) ) ) (block $label$10 (block $label$11 (br_if $label$11 (i32.eqz (local.get $5) ) ) (i32.store (i32.add (i32.add (local.get $3) (i32.const 64) ) (i32.const 8) ) (i32.const 8) ) (i32.store offset=68 (local.get $3) (i32.shl (local.get $5) (i32.const 5) ) ) (i32.store offset=64 (local.get $3) (i32.load (local.get $0) ) ) (br $label$10) ) (i32.store offset=64 (local.get $3) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $3) (i32.const 48) ) (local.get $1) (local.get $7) (i32.add (local.get $3) (i32.const 64) ) ) (local.set $5 (i32.load (i32.add (local.get $3) (i32.const 56) ) ) ) (local.set $7 (i32.load offset=52 (local.get $3) ) ) (br_if $label$5 (i32.eq (i32.load offset=48 (local.get $3) ) (i32.const 1) ) ) (i32.store (local.get $0) (local.get $7) ) (i32.store offset=4 (local.get $0) (i32.shr_u (local.get $5) (i32.const 5) ) ) (local.set $5 (i32.load offset=8 (local.get $0) ) ) ) (i64.store (local.tee $5 (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $5) (i32.const 5) ) ) ) (i64.load offset=16 (local.get $3) ) ) (i64.store (i32.add (local.get $5) (i32.const 24) ) (i64.load (local.get $6) ) ) (i64.store (i32.add (local.get $5) (i32.const 16) ) (i64.load (i32.add (i32.add (local.get $3) (i32.const 16) ) (i32.const 16) ) ) ) (i64.store (i32.add (local.get $5) (i32.const 8) ) (i64.load (local.get $4) ) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) (br $label$2) ) (local.set $5 (i32.const 0) ) ) (br_if $label$1 (i32.eqz (local.get $5) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $7) (local.get $5) (select (local.tee $1 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $1) ) ) (unreachable) ) (local.set $7 (call $\20as\20core::ops::index::Index>::index::hb7cf59f2cabe3ab2 (local.get $0) (local.get $5) (i32.const 1048724) ) ) (local.set $5 (i32.add (local.get $5) (i32.const 1) ) ) (br_if $label$3 (i32.eqz (call $core::str::traits::::eq::hc7aee230a22dd852 (i32.load (local.get $7) ) (i32.load offset=8 (local.get $7) ) (i32.load (local.get $1) ) (i32.load offset=8 (local.get $1) ) ) ) ) ) (i32.store (local.tee $7 (i32.add (i32.add (local.get $3) (i32.const 16) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store (local.tee $4 (i32.add (i32.add (local.get $3) (i32.const 16) ) (i32.const 24) ) ) (i64.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $3) (i64.load align=4 (local.get $1) ) ) (i64.store offset=32 (local.get $3) (i64.load (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.tee $5 (call $\20as\20core::ops::index::IndexMut>::index_mut::hfdb945aa662df6e7 (local.get $0) (i32.add (local.get $5) (i32.const -1) ) (i32.const 1048740) ) ) ) (call $core::ptr::drop_in_place::h26222354075eb354 (i32.add (local.get $5) (i32.const 16) ) ) (i64.store (i32.add (local.get $5) (i32.const 24) ) (i64.load (local.get $4) ) ) (i64.store offset=16 (local.get $5) (i64.load offset=32 (local.get $3) ) ) (i64.store (i32.add (local.get $5) (i32.const 8) ) (i64.load (local.get $7) ) ) (i64.store (local.get $5) (i64.load offset=16 (local.get $3) ) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 80) ) ) (return) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $no_proto_js::json_flex::json_decode::func::h88230b15df8381ab (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i64) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 80) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.tee $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=32 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 48) ) (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) (i32.load (local.tee $10 (i32.add (local.get $8) (i32.const 60) ) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (block $label$10 (br_if $label$10 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (local.get $2) ) ) (i64.store offset=16 (local.get $8) (i64.load offset=64 (local.get $8) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 48) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 16) ) ) ) (i32.store (local.get $9) (i32.load (local.get $10) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (br_if $label$9 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 4) ) ) (call $core::str::::trim::hc8020c4edbe7c218 (i32.add (local.get $8) (i32.const 8) ) (i32.load offset=16 (local.get $8) ) (i32.load offset=24 (local.get $8) ) ) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (i32.add (local.get $8) (i32.const 48) ) (i32.load offset=8 (local.get $8) ) (i32.load offset=12 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (i32.store offset=24 (local.get $8) (local.tee $2 (i32.load (local.tee $9 (i32.add (local.get $8) (i32.const 56) ) ) ) ) ) (i64.store offset=16 (local.get $8) (local.tee $11 (i64.load offset=48 (local.get $8) ) ) ) (br_if $label$8 (call $core::str::::find::hd5cf84aec0e23f71 (i32.wrap_i64 (local.get $11) ) (local.get $2) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 16) ) ) (call $core::num::::from_str::hd1bf1d67e683c878 (i32.add (local.get $8) (i32.const 48) ) (i32.load offset=64 (local.get $8) ) (i32.load offset=72 (local.get $8) ) ) (br_if $label$5 (i32.eq (i32.load8_u offset=48 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (local.get $9) ) ) (i32.store offset=32 (local.get $8) (i32.const 1) ) (i64.store offset=40 (local.get $8) (local.get $11) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (local.get $1) (i32.add (local.get $8) (i32.const 32) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) (br $label$7) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=32 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (local.set $2 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$3) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 16) ) ) (call $core::num::dec2flt::dec2flt::hc98b654b772c316b (i32.add (local.get $8) (i32.const 48) ) (i32.load offset=64 (local.get $8) ) (i32.load offset=72 (local.get $8) ) ) (br_if $label$6 (i32.eq (i32.load8_u offset=48 (local.get $8) ) (i32.const 1) ) ) (local.set $11 (i64.load (local.get $9) ) ) (i32.store offset=32 (local.get $8) (i32.const 2) ) (i64.store offset=40 (local.get $8) (local.get $11) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (local.get $1) (i32.add (local.get $8) (i32.const 32) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$2) ) (call $>::from::hff684c45a9202164 (local.get $0) (i32.ne (i32.and (i32.load8_u offset=49 (local.get $8) ) (i32.const 255) ) (i32.const 0) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) (local.set $2 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$3) ) (call $>::from::h2cadccf0b1b1ad3d (local.get $0) (i32.load8_u offset=49 (local.get $8) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 64) ) ) (local.set $2 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$3) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (br $label$1) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $2) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 80) ) ) ) (func $core::num::bignum::Big32x40::mul_pow2::h1035a602d3364573 (; 16 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (block $label$1 (br_if $label$1 (i32.gt_u (local.get $1) (i32.const 1279) ) ) (local.set $2 (i32.shr_u (local.get $1) (i32.const 5) ) ) (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (br_if $label$8 (i32.eqz (local.tee $3 (i32.load (local.get $0) ) ) ) ) (local.set $4 (i32.add (local.get $3) (i32.const -1) ) ) (local.set $5 (i32.add (local.get $0) (i32.shl (local.get $3) (i32.const 2) ) ) ) (local.set $3 (i32.add (local.get $0) (i32.shl (i32.add (local.get $3) (local.get $2) ) (i32.const 2) ) ) ) (loop $label$9 (br_if $label$7 (i32.gt_u (local.get $4) (i32.const 39) ) ) (br_if $label$6 (i32.gt_u (local.tee $6 (i32.add (local.get $2) (local.get $4) ) ) (i32.const 39) ) ) (i32.store (local.get $3) (i32.load (local.get $5) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -4) ) ) (local.set $3 (i32.add (local.get $3) (i32.const -4) ) ) (br_if $label$9 (i32.ne (local.tee $4 (i32.add (local.get $4) (i32.const -1) ) ) (i32.const -1) ) ) ) ) (block $label$10 (br_if $label$10 (i32.eqz (local.get $2) ) ) (local.set $5 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $3 (i32.shl (local.get $2) (i32.const 2) ) ) (local.set $4 (i32.const 0) ) (loop $label$11 (br_if $label$5 (i32.eq (local.get $4) (i32.const 160) ) ) (i32.store (i32.add (local.get $5) (local.get $4) ) (i32.const 0) ) (br_if $label$11 (i32.ne (local.get $3) (local.tee $4 (i32.add (local.get $4) (i32.const 4) ) ) ) ) ) ) (local.set $5 (i32.add (local.tee $4 (i32.load (local.get $0) ) ) (local.get $2) ) ) (block $label$12 (br_if $label$12 (local.tee $6 (i32.and (local.get $1) (i32.const 31) ) ) ) (i32.store (local.get $0) (local.get $5) ) (return (local.get $0) ) ) (br_if $label$4 (i32.gt_u (local.tee $3 (i32.add (local.get $5) (i32.const -1) ) ) (i32.const 39) ) ) (local.set $7 (local.get $5) ) (block $label$13 (br_if $label$13 (i32.eqz (local.tee $8 (i32.shr_u (local.tee $3 (i32.load (i32.add (i32.add (local.get $0) (i32.shl (local.get $3) (i32.const 2) ) ) (i32.const 4) ) ) ) (local.tee $1 (i32.and (i32.sub (i32.const 0) (local.get $1) ) (i32.const 31) ) ) ) ) ) ) (br_if $label$3 (i32.gt_u (local.get $5) (i32.const 39) ) ) (i32.store (i32.add (i32.add (local.get $0) (i32.shl (local.get $5) (i32.const 2) ) ) (i32.const 4) ) (local.get $8) ) (local.set $7 (i32.add (local.get $5) (i32.const 1) ) ) ) (block $label$14 (br_if $label$14 (i32.ge_u (local.tee $8 (i32.add (local.get $2) (i32.const 1) ) ) (local.get $5) ) ) (local.set $4 (i32.add (i32.add (i32.shl (i32.add (local.get $4) (local.get $2) ) (i32.const 2) ) (local.get $0) ) (i32.const -4) ) ) (loop $label$15 (br_if $label$2 (i32.gt_u (i32.add (local.get $5) (i32.const -2) ) (i32.const 39) ) ) (i32.store (i32.add (local.get $4) (i32.const 4) ) (i32.or (i32.shl (local.get $3) (local.get $6) ) (i32.shr_u (local.tee $3 (i32.load (local.get $4) ) ) (local.get $1) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const -4) ) ) (br_if $label$15 (i32.lt_u (local.get $8) (local.tee $5 (i32.add (local.get $5) (i32.const -1) ) ) ) ) ) ) (i32.store (local.tee $4 (i32.add (i32.add (local.get $0) (i32.shl (local.get $2) (i32.const 2) ) ) (i32.const 4) ) ) (i32.shl (i32.load (local.get $4) ) (local.get $6) ) ) (i32.store (local.get $0) (local.get $7) ) (return (local.get $0) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $4) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $6) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $3) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $5) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const -1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1055427) (i32.const 29) (i32.const 1055456) ) (unreachable) ) (func $::write_str::h321957978316f55b (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (local.get $2) ) (local.set $4 (i32.const 0) ) (br $label$1) ) (local.set $5 (i32.add (local.get $3) (i32.const 40) ) ) (block $label$3 (block $label$4 (block $label$5 (loop $label$6 (block $label$7 (br_if $label$7 (i32.eqz (i32.load8_u (i32.load offset=8 (local.get $0) ) ) ) ) (br_if $label$3 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load (local.get $0) ) (i32.const 1059186) (i32.const 4) (i32.load offset=12 (i32.load offset=4 (local.get $0) ) ) ) ) ) (i32.store offset=40 (local.get $3) (i32.const 10) ) (i64.store offset=32 (local.get $3) (i64.const 4294967306) ) (i32.store offset=28 (local.get $3) (local.get $2) ) (i32.store offset=24 (local.get $3) (i32.const 0) ) (i32.store offset=20 (local.get $3) (local.get $2) ) (i32.store offset=16 (local.get $3) (local.get $1) ) (call $core::slice::memchr::memchr::hc379602bfd4b6f02 (i32.add (local.get $3) (i32.const 8) ) (i32.const 10) (local.get $1) (local.get $2) ) (block $label$8 (block $label$9 (block $label$10 (block $label$11 (br_if $label$11 (i32.ne (i32.load offset=8 (local.get $3) ) (i32.const 1) ) ) (local.set $4 (i32.load offset=12 (local.get $3) ) ) (loop $label$12 (i32.store offset=24 (local.get $3) (local.tee $4 (i32.add (i32.add (local.get $4) (i32.load offset=24 (local.get $3) ) ) (i32.const 1) ) ) ) (block $label$13 (block $label$14 (br_if $label$14 (i32.ge_u (local.get $4) (local.tee $6 (i32.load offset=36 (local.get $3) ) ) ) ) (local.set $7 (i32.load offset=20 (local.get $3) ) ) (br $label$13) ) (br_if $label$13 (i32.lt_u (local.tee $7 (i32.load offset=20 (local.get $3) ) ) (local.get $4) ) ) (br_if $label$5 (i32.ge_u (local.get $6) (i32.const 5) ) ) (br_if $label$9 (i32.eq (local.tee $9 (i32.add (i32.load offset=16 (local.get $3) ) (local.tee $8 (i32.sub (local.get $4) (local.get $6) ) ) ) ) (local.get $5) ) ) (br_if $label$9 (i32.eqz (call $bcmp (local.get $9) (local.get $5) (local.get $6) ) ) ) ) (br_if $label$10 (i32.lt_u (local.tee $9 (i32.load offset=28 (local.get $3) ) ) (local.get $4) ) ) (br_if $label$10 (i32.lt_u (local.get $7) (local.get $9) ) ) (call $core::slice::memchr::memchr::hc379602bfd4b6f02 (local.get $3) (i32.load8_u (i32.add (i32.add (local.get $6) (i32.add (local.get $3) (i32.const 16) ) ) (i32.const 23) ) ) (i32.add (i32.load offset=16 (local.get $3) ) (local.get $4) ) (i32.sub (local.get $9) (local.get $4) ) ) (local.set $4 (i32.load offset=4 (local.get $3) ) ) (br_if $label$12 (i32.eq (i32.load (local.get $3) ) (i32.const 1) ) ) ) ) (i32.store offset=24 (local.get $3) (i32.load offset=28 (local.get $3) ) ) ) (i32.store8 (i32.load offset=8 (local.get $0) ) (i32.const 0) ) (local.set $4 (local.get $2) ) (br $label$8) ) (i32.store8 (i32.load offset=8 (local.get $0) ) (i32.const 1) ) (local.set $4 (i32.add (local.get $8) (i32.const 1) ) ) ) (local.set $9 (i32.load offset=4 (local.get $0) ) ) (local.set $6 (i32.load (local.get $0) ) ) (block $label$15 (block $label$16 (block $label$17 (br_if $label$17 (i32.eqz (local.get $4) ) ) (br_if $label$17 (i32.eq (local.get $2) (local.get $4) ) ) (block $label$18 (br_if $label$18 (i32.le_u (local.get $2) (local.get $4) ) ) (br_if $label$16 (i32.gt_s (i32.load8_s (local.tee $7 (i32.add (local.get $1) (local.get $4) ) ) ) (i32.const -65) ) ) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $1) (local.get $2) (i32.const 0) (local.get $4) (i32.const 1059208) ) (unreachable) ) (br_if $label$3 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $6) (local.get $1) (local.get $4) (i32.load offset=12 (local.get $9) ) ) ) (br $label$15) ) (br_if $label$3 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $6) (local.get $1) (local.get $4) (i32.load offset=12 (local.get $9) ) ) ) (br_if $label$4 (i32.le_s (i32.load8_s (local.get $7) ) (i32.const -65) ) ) ) (local.set $1 (i32.add (local.get $1) (local.get $4) ) ) (br_if $label$6 (local.tee $2 (i32.sub (local.get $2) (local.get $4) ) ) ) ) (local.set $4 (i32.const 0) ) (br $label$1) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $6) (i32.const 4) (i32.const 1059192) ) (unreachable) ) (call $core::str::slice_error_fail::h79cd848d344ccbb2 (local.get $1) (local.get $2) (local.get $4) (local.get $2) (i32.const 1059224) ) (unreachable) ) (local.set $4 (i32.const 1) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 48) ) ) (local.get $4) ) (func $no_proto_js::json_flex::json_decode::func::hd110ca9f6c6017a9 (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 80) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_if $label$5 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 48) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=52 (local.get $8) ) ) (block $label$6 (block $label$7 (block $label$8 (br_if $label$8 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=64 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 48) ) (i32.add (local.get $8) (i32.const 64) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 12) ) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (br_if $label$7 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (local.tee $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) ) (i64.store offset=16 (local.get $8) (i64.load offset=32 (local.get $8) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 48) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 16) ) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) (i32.load (local.tee $10 (i32.add (local.get $8) (i32.const 60) ) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (br_if $label$6 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=32 (local.get $8) (i64.load (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 16) ) ) (i32.store (local.get $10) (i32.load (local.get $2) ) ) (i32.store offset=48 (local.get $8) (i32.const 0) ) (i64.store offset=52 align=4 (local.get $8) (i64.load offset=64 (local.get $8) ) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) (i32.add (local.get $8) (i32.const 48) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$3) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=32 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (br $label$4) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$4) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$2) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $8) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (br $label$1) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 80) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h92b706b926ba37f8 (; 19 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 80) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_if $label$5 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 48) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=52 (local.get $8) ) ) (block $label$6 (block $label$7 (block $label$8 (br_if $label$8 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=64 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 48) ) (i32.add (local.get $8) (i32.const 64) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 12) ) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (br_if $label$7 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (local.tee $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) ) (i64.store offset=16 (local.get $8) (i64.load offset=32 (local.get $8) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (i32.add (local.get $8) (i32.const 48) ) (call $alloc::string::String::pop::ha45b97d794fc650f (i32.add (local.get $8) (i32.const 16) ) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 8) ) ) (i32.load (local.tee $10 (i32.add (local.get $8) (i32.const 60) ) ) ) ) (i64.store offset=64 (local.get $8) (i64.load offset=52 align=4 (local.get $8) ) ) (br_if $label$6 (i32.eq (i32.load offset=48 (local.get $8) ) (i32.const 1) ) ) (i32.store (local.get $9) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=32 (local.get $8) (i64.load (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 16) ) ) (i32.store (local.get $10) (i32.load (local.get $2) ) ) (i32.store offset=48 (local.get $8) (i32.const 0) ) (i64.store offset=52 align=4 (local.get $8) (i64.load offset=64 (local.get $8) ) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) (i32.add (local.get $8) (i32.const 48) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$3) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$2) ) (i64.store align=4 (local.get $0) (i64.load offset=32 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (br $label$4) ) (i64.store align=4 (local.get $0) (i64.load offset=64 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 16) ) ) (br $label$4) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$2) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $8) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (br $label$1) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 80) ) ) ) (func $wee_alloc::alloc_first_fit::h43afa3d343f3a65a (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local.set $5 (i32.add (local.get $1) (i32.const -1) ) ) (local.set $6 (i32.shl (local.get $0) (i32.const 2) ) ) (local.set $7 (i32.const 0) ) (local.set $8 (i32.sub (i32.const 0) (local.get $1) ) ) (local.set $1 (i32.load (local.get $2) ) ) (block $label$1 (loop $label$2 (br_if $label$1 (i32.eqz (local.get $1) ) ) (block $label$3 (loop $label$4 (block $label$5 (br_if $label$5 (i32.and (local.tee $9 (i32.load offset=8 (local.get $1) ) ) (i32.const 1) ) ) (br_if $label$3 (i32.lt_u (i32.sub (local.tee $10 (i32.and (i32.load (local.get $1) ) (i32.const -4) ) ) (local.tee $9 (i32.add (local.get $1) (i32.const 8) ) ) ) (local.get $6) ) ) (block $label$6 (block $label$7 (br_if $label$7 (i32.le_u (i32.add (i32.add (local.get $9) (i32.shl (call_indirect (type $i32_i32_=>_i32) (local.get $3) (local.get $0) (i32.load offset=16 (local.get $4) ) ) (i32.const 2) ) ) (i32.const 8) ) (local.tee $10 (i32.and (i32.sub (local.get $10) (local.get $6) ) (local.get $8) ) ) ) ) (br_if $label$3 (i32.and (local.get $5) (local.get $9) ) ) (i32.store (local.get $2) (i32.and (i32.load offset=8 (local.get $1) ) (i32.const -4) ) ) (i32.store (local.get $1) (i32.or (i32.load (local.get $1) ) (i32.const 1) ) ) (local.set $9 (local.get $1) ) (br $label$6) ) (i32.store (local.get $10) (i32.const 0) ) (i64.store align=4 (local.tee $9 (i32.add (local.get $10) (i32.const -8) ) ) (i64.const 0) ) (i32.store (local.get $9) (i32.and (i32.load (local.get $1) ) (i32.const -4) ) ) (block $label$8 (br_if $label$8 (i32.eqz (local.tee $6 (i32.and (local.tee $2 (i32.load (local.get $1) ) ) (i32.const -4) ) ) ) ) (br_if $label$8 (i32.eqz (local.tee $2 (select (i32.const 0) (local.get $6) (i32.and (local.get $2) (i32.const 2) ) ) ) ) ) (i32.store offset=4 (local.get $2) (i32.or (i32.and (i32.load offset=4 (local.get $2) ) (i32.const 3) ) (local.get $9) ) ) ) (i32.store offset=4 (local.get $9) (i32.or (i32.and (i32.load offset=4 (local.get $9) ) (i32.const 3) ) (local.get $1) ) ) (i32.store offset=8 (local.get $1) (i32.and (i32.load offset=8 (local.get $1) ) (i32.const -2) ) ) (i32.store (local.get $1) (local.tee $6 (i32.or (i32.and (local.tee $2 (i32.load (local.get $1) ) ) (i32.const 3) ) (local.get $9) ) ) ) (block $label$9 (br_if $label$9 (i32.eqz (i32.and (local.get $2) (i32.const 2) ) ) ) (i32.store (local.get $1) (i32.and (local.get $6) (i32.const -3) ) ) (i32.store (local.get $9) (i32.or (i32.load (local.get $9) ) (i32.const 2) ) ) ) (i32.store (local.get $9) (i32.or (i32.load (local.get $9) ) (i32.const 1) ) ) ) (local.set $7 (i32.add (local.get $9) (i32.const 8) ) ) (br $label$1) ) (i32.store offset=8 (local.get $1) (i32.and (local.get $9) (i32.const -2) ) ) (block $label$10 (block $label$11 (br_if $label$11 (local.tee $9 (i32.and (i32.load offset=4 (local.get $1) ) (i32.const -4) ) ) ) (local.set $9 (i32.const 0) ) (br $label$10) ) (local.set $9 (select (i32.const 0) (local.get $9) (i32.and (i32.load8_u (local.get $9) ) (i32.const 1) ) ) ) ) (call $wee_alloc::neighbors::Neighbors::remove::h6b7cfe31ea6fd286 (local.get $1) ) (block $label$12 (br_if $label$12 (i32.eqz (i32.and (i32.load8_u (local.get $1) ) (i32.const 2) ) ) ) (i32.store (local.get $9) (i32.or (i32.load (local.get $9) ) (i32.const 2) ) ) ) (i32.store (local.get $2) (local.get $9) ) (local.set $1 (local.get $9) ) (br $label$4) ) ) (i32.store (local.get $2) (local.tee $1 (i32.load offset=8 (local.get $1) ) ) ) (br $label$2) ) ) (local.get $7) ) (func $::fmt::h6c19820accaada88 (; 21 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i64) (local.set $2 (i32.const 1) ) (block $label$1 (br_if $label$1 (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 39) (i32.load offset=16 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) ) ) (local.set $3 (i32.const 116) ) (local.set $4 (i32.const 2) ) (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (br_table $label$2 $label$6 $label$4 $label$4 $label$7 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$4 $label$3 $label$4 $label$4 $label$4 $label$4 $label$3 $label$5 (i32.add (local.tee $0 (i32.load (local.get $0) ) ) (i32.const -9) ) ) ) (local.set $3 (i32.const 114) ) (local.set $4 (i32.const 2) ) (br $label$2) ) (local.set $3 (i32.const 110) ) (local.set $4 (i32.const 2) ) (br $label$2) ) (br_if $label$3 (i32.eq (local.get $0) (i32.const 92) ) ) ) (block $label$8 (block $label$9 (block $label$10 (br_if $label$10 (i32.eqz (call $core::unicode::unicode_data::grapheme_extend::lookup::h0008ea879fb9f01d (local.get $0) ) ) ) (local.set $6 (i64.or (i64.extend_i32_u (i32.xor (i32.shr_u (i32.clz (i32.or (local.get $0) (i32.const 1) ) ) (i32.const 2) ) (i32.const 7) ) ) (i64.const 21474836480) ) ) (br $label$9) ) (block $label$11 (br_if $label$11 (i32.eqz (call $core::unicode::printable::is_printable::h8ce15518a3a94c0e (local.get $0) ) ) ) (local.set $4 (i32.const 1) ) (br $label$8) ) (local.set $6 (i64.or (i64.extend_i32_u (i32.xor (i32.shr_u (i32.clz (i32.or (local.get $0) (i32.const 1) ) ) (i32.const 2) ) (i32.const 7) ) ) (i64.const 21474836480) ) ) ) (local.set $4 (i32.const 3) ) ) (local.set $3 (local.get $0) ) (br $label$2) ) (local.set $3 (local.get $0) ) (local.set $4 (i32.const 2) ) ) (loop $label$12 (local.set $5 (local.get $4) ) (local.set $0 (i32.const 92) ) (local.set $2 (i32.const 1) ) (local.set $4 (i32.const 1) ) (block $label$13 (block $label$14 (block $label$15 (block $label$16 (block $label$17 (block $label$18 (br_table $label$16 $label$17 $label$13 $label$18 $label$16 (local.get $5) ) ) (block $label$19 (block $label$20 (block $label$21 (block $label$22 (br_table $label$16 $label$19 $label$20 $label$21 $label$22 $label$15 $label$16 (i32.and (i32.wrap_i64 (i64.shr_u (local.get $6) (i64.const 32) ) ) (i32.const 255) ) ) ) (local.set $6 (i64.or (i64.and (local.get $6) (i64.const -1095216660481) ) (i64.const 12884901888) ) ) (local.set $0 (i32.const 117) ) (br $label$14) ) (local.set $6 (i64.or (i64.and (local.get $6) (i64.const -1095216660481) ) (i64.const 8589934592) ) ) (local.set $0 (i32.const 123) ) (br $label$14) ) (local.set $0 (i32.add (select (i32.const 48) (i32.const 87) (i32.lt_u (local.tee $0 (i32.and (i32.shr_u (local.get $3) (i32.and (i32.shl (local.tee $4 (i32.wrap_i64 (local.get $6) ) ) (i32.const 2) ) (i32.const 28) ) ) (i32.const 15) ) ) (i32.const 10) ) ) (local.get $0) ) ) (block $label$23 (br_if $label$23 (i32.eqz (local.get $4) ) ) (local.set $6 (i64.or (i64.and (i64.add (local.get $6) (i64.const -1) ) (i64.const 4294967295) ) (i64.and (local.get $6) (i64.const -4294967296) ) ) ) (br $label$14) ) (local.set $6 (i64.or (i64.and (local.get $6) (i64.const -1095216660481) ) (i64.const 4294967296) ) ) (br $label$14) ) (local.set $6 (i64.and (local.get $6) (i64.const -1095216660481) ) ) (local.set $0 (i32.const 125) ) (br $label$14) ) (local.set $4 (i32.const 0) ) (local.set $0 (local.get $3) ) (br $label$13) ) (return (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 39) (i32.load offset=16 (i32.load offset=28 (local.get $1) ) ) ) ) ) (local.set $6 (i64.or (i64.and (local.get $6) (i64.const -1095216660481) ) (i64.const 17179869184) ) ) ) (local.set $4 (i32.const 3) ) ) (br_if $label$12 (i32.eqz (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (local.get $0) (i32.load offset=16 (i32.load offset=28 (local.get $1) ) ) ) ) ) ) ) (local.get $2) ) (func $core::unicode::unicode_data::grapheme_extend::lookup::h0008ea879fb9f01d (; 22 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.gt_u (local.tee $1 (i32.add (i32.add (i32.eq (local.tee $3 (i32.shl (i32.load (i32.add (i32.shl (local.tee $2 (select (local.tee $2 (select (local.tee $2 (select (local.tee $2 (select (local.tee $1 (select (i32.const 0) (i32.const 15) (i32.lt_u (local.get $0) (i32.const 68900) ) ) ) (local.tee $1 (i32.add (local.get $1) (i32.const 8) ) ) (i32.gt_u (i32.shl (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 11) ) (local.tee $1 (i32.shl (local.get $0) (i32.const 11) ) ) ) ) ) (local.tee $2 (i32.add (local.get $2) (i32.const 4) ) ) (i32.gt_u (i32.shl (i32.load (i32.add (i32.shl (local.get $2) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 11) ) (local.get $1) ) ) ) (local.tee $2 (i32.add (local.get $2) (i32.const 2) ) ) (i32.gt_u (i32.shl (i32.load (i32.add (i32.shl (local.get $2) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 11) ) (local.get $1) ) ) ) (local.tee $2 (i32.add (local.get $2) (i32.const 1) ) ) (i32.gt_u (i32.shl (i32.load (i32.add (i32.shl (local.get $2) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 11) ) (local.get $1) ) ) ) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 11) ) ) (local.get $1) ) (i32.lt_u (local.get $3) (local.get $1) ) ) (local.get $2) ) ) (i32.const 30) ) ) (local.set $4 (i32.const 689) ) (block $label$4 (br_if $label$4 (i32.eq (local.get $1) (i32.const 30) ) ) (local.set $4 (i32.shr_u (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1058004) ) ) (i32.const 21) ) ) ) (local.set $2 (i32.const 0) ) (block $label$5 (br_if $label$5 (i32.gt_u (local.tee $3 (i32.add (local.get $1) (i32.const -1) ) ) (local.get $1) ) ) (br_if $label$1 (i32.ge_u (local.get $3) (i32.const 31) ) ) (local.set $2 (i32.and (i32.load (i32.add (i32.shl (local.get $3) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 2097151) ) ) ) (block $label$6 (br_if $label$6 (i32.eq (local.get $4) (i32.add (local.tee $1 (i32.shr_u (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1058000) ) ) (i32.const 21) ) ) (i32.const 1) ) ) ) (local.set $2 (i32.sub (local.get $0) (local.get $2) ) ) (local.set $3 (select (local.get $1) (i32.const 689) (i32.gt_u (local.get $1) (i32.const 689) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const -1) ) ) (local.set $0 (i32.const 0) ) (loop $label$7 (br_if $label$2 (i32.eq (local.get $3) (local.get $1) ) ) (br_if $label$6 (i32.gt_u (local.tee $0 (i32.add (local.get $0) (i32.load8_u (i32.add (local.get $1) (i32.const 1058140) ) ) ) ) (local.get $2) ) ) (br_if $label$7 (i32.ne (local.get $4) (local.tee $1 (i32.add (local.get $1) (i32.const 1) ) ) ) ) ) (local.set $1 (local.get $4) ) ) (return (i32.and (local.get $1) (i32.const 1) ) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (i32.const 31) (i32.const 1058832) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $3) (i32.const 689) (i32.const 1058848) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $3) (i32.const 31) (i32.const 1058124) ) (unreachable) ) (func $core::num::::from_str::hd1bf1d67e683c878 (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i64) (local $6 i64) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (local.get $2) ) (i32.store8 offset=1 (local.get $0) (i32.const 0) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (local.set $4 (local.get $1) ) (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (block $label$8 (block $label$9 (block $label$10 (block $label$11 (br_table $label$10 $label$7 $label$11 $label$7 (i32.add (i32.load8_u (local.get $1) ) (i32.const -43) ) ) ) (br_if $label$9 (i32.eq (local.get $2) (i32.const 1) ) ) (local.set $4 (i32.add (local.get $2) (i32.const -1) ) ) (local.set $2 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $5 (i64.const 0) ) (loop $label$12 (br_if $label$4 (i32.eqz (local.get $4) ) ) (br_if $label$6 (i32.gt_u (local.tee $1 (i32.add (i32.load8_u (local.get $2) ) (i32.const -48) ) ) (i32.const 9) ) ) (call $__multi3 (i32.add (local.get $3) (i32.const 16) ) (local.get $5) (i64.shr_s (local.get $5) (i64.const 63) ) (i64.const 10) (i64.const 0) ) (br_if $label$5 (i64.ne (i64.load offset=24 (local.get $3) ) (i64.shr_s (local.tee $6 (i64.load offset=16 (local.get $3) ) ) (i64.const 63) ) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 1) ) ) (local.set $4 (i32.add (local.get $4) (i32.const -1) ) ) (br_if $label$12 (i32.eqz (i32.xor (i64.gt_s (local.tee $5 (i64.extend_i32_u (local.get $1) ) ) (i64.const 0) ) (i64.lt_s (local.tee $5 (i64.sub (local.get $6) (local.get $5) ) ) (local.get $6) ) ) ) ) ) (i32.store8 offset=1 (local.get $0) (i32.const 3) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (br_if $label$8 (i32.ne (local.get $2) (i32.const 1) ) ) ) (i32.store8 offset=1 (local.get $0) (i32.const 0) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (local.set $4 (i32.add (local.get $1) (i32.const 1) ) ) ) (local.set $1 (i32.add (local.get $1) (local.get $2) ) ) (local.set $5 (i64.const 0) ) (loop $label$13 (br_if $label$4 (i32.eq (local.get $1) (local.get $4) ) ) (br_if $label$6 (i32.gt_u (local.tee $2 (i32.add (i32.load8_u (local.get $4) ) (i32.const -48) ) ) (i32.const 9) ) ) (call $__multi3 (local.get $3) (local.get $5) (i64.shr_s (local.get $5) (i64.const 63) ) (i64.const 10) (i64.const 0) ) (br_if $label$3 (i64.ne (i64.load offset=8 (local.get $3) ) (i64.shr_s (local.tee $6 (i64.load (local.get $3) ) ) (i64.const 63) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const 1) ) ) (br_if $label$13 (i32.eqz (i32.xor (i64.lt_s (local.tee $5 (i64.extend_i32_u (local.get $2) ) ) (i64.const 0) ) (i64.lt_s (local.tee $5 (i64.add (local.get $6) (local.get $5) ) ) (local.get $6) ) ) ) ) ) (i32.store8 offset=1 (local.get $0) (i32.const 2) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (local.set $4 (i32.const 1) ) (i32.store8 offset=1 (local.get $0) (i32.const 1) ) (br $label$1) ) (i32.store8 offset=1 (local.get $0) (i32.const 3) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (i64.store (i32.add (local.get $0) (i32.const 8) ) (local.get $5) ) (local.set $4 (i32.const 0) ) (br $label$1) ) (i32.store8 offset=1 (local.get $0) (i32.const 2) ) (local.set $4 (i32.const 1) ) ) (i32.store8 (local.get $0) (local.get $4) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 32) ) ) ) (func $core::num::bignum::Big32x40::mul_pow5::hd2f1cce167b87b8e (; 24 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i64) (local $8 i64) (block $label$1 (br_if $label$1 (i32.lt_u (local.get $1) (i32.const 13) ) ) (local.set $2 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $3 (i32.load (local.get $0) ) ) (block $label$2 (block $label$3 (loop $label$4 (br_if $label$3 (i32.ge_u (local.get $3) (i32.const 41) ) ) (block $label$5 (block $label$6 (br_if $label$6 (local.get $3) ) (local.set $3 (i32.const 0) ) (br $label$5) ) (local.set $5 (i32.add (i32.add (local.get $0) (local.tee $4 (i32.shl (local.get $3) (i32.const 2) ) ) ) (i32.const 4) ) ) (local.set $7 (i64.const 0) ) (local.set $6 (local.get $2) ) (loop $label$7 (i64.store32 (local.get $6) (local.tee $7 (i64.add (i64.mul (i64.load32_u (local.get $6) ) (i64.const 1220703125) ) (local.get $7) ) ) ) (local.set $6 (i32.add (local.get $6) (i32.const 4) ) ) (local.set $7 (i64.shr_u (local.get $7) (i64.const 32) ) ) (br_if $label$7 (local.tee $4 (i32.add (local.get $4) (i32.const -4) ) ) ) ) (br_if $label$5 (i32.eqz (local.tee $6 (i32.wrap_i64 (local.get $7) ) ) ) ) (br_if $label$2 (i32.gt_u (local.get $3) (i32.const 39) ) ) (i32.store (local.get $5) (local.get $6) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) ) (i32.store (local.get $0) (local.get $3) ) (br_if $label$4 (i32.ge_u (local.tee $1 (i32.add (local.get $1) (i32.const -13) ) ) (i32.const 13) ) ) (br $label$1) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $3) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (block $label$8 (block $label$9 (br_if $label$9 (local.get $1) ) (local.set $8 (i64.const 1) ) (br $label$8) ) (local.set $6 (i32.const 1) ) (loop $label$10 (local.set $6 (i32.mul (local.get $6) (i32.const 5) ) ) (br_if $label$10 (local.tee $1 (i32.add (local.get $1) (i32.const -1) ) ) ) ) (local.set $8 (i64.extend_i32_u (local.get $6) ) ) ) (block $label$11 (block $label$12 (br_if $label$12 (i32.ge_u (local.tee $3 (i32.load (local.get $0) ) ) (i32.const 41) ) ) (block $label$13 (br_if $label$13 (local.get $3) ) (i32.store (local.get $0) (i32.const 0) ) (return (local.get $0) ) ) (local.set $1 (i32.add (i32.add (local.get $0) (local.tee $4 (i32.shl (local.get $3) (i32.const 2) ) ) ) (i32.const 4) ) ) (local.set $6 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $7 (i64.const 0) ) (loop $label$14 (i64.store32 (local.get $6) (local.tee $7 (i64.add (i64.mul (local.get $8) (i64.load32_u (local.get $6) ) ) (local.get $7) ) ) ) (local.set $6 (i32.add (local.get $6) (i32.const 4) ) ) (local.set $7 (i64.shr_u (local.get $7) (i64.const 32) ) ) (br_if $label$14 (local.tee $4 (i32.add (local.get $4) (i32.const -4) ) ) ) ) (block $label$15 (br_if $label$15 (i32.eqz (local.tee $6 (i32.wrap_i64 (local.get $7) ) ) ) ) (br_if $label$11 (i32.gt_u (local.get $3) (i32.const 39) ) ) (i32.store (local.get $1) (local.get $6) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) ) (i32.store (local.get $0) (local.get $3) ) (return (local.get $0) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $3) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (func $core::fmt::builders::DebugStruct::field::h3f7747d88f2ca757 (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i64) (local $9 i64) (global.set $global$0 (local.tee $4 (i32.sub (global.get $global$0) (i32.const 64) ) ) ) (local.set $5 (i32.const 1) ) (block $label$1 (br_if $label$1 (i32.load8_u offset=4 (local.get $0) ) ) (local.set $6 (i32.load8_u offset=5 (local.get $0) ) ) (block $label$2 (br_if $label$2 (i32.and (i32.load8_u (local.tee $7 (i32.load (local.get $0) ) ) ) (i32.const 4) ) ) (local.set $5 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $7) ) (select (i32.const 1059355) (i32.const 1059352) (local.tee $6 (i32.and (local.get $6) (i32.const 255) ) ) ) (select (i32.const 2) (i32.const 3) (local.get $6) ) (i32.load offset=12 (i32.load (i32.add (local.get $7) (i32.const 28) ) ) ) ) ) (local.set $5 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.tee $7 (i32.load (local.get $0) ) ) ) (local.get $1) (i32.const 7) (i32.load offset=12 (i32.load (i32.add (local.get $7) (i32.const 28) ) ) ) ) ) (local.set $5 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.tee $7 (i32.load (local.get $0) ) ) ) (i32.const 1059184) (i32.const 2) (i32.load offset=12 (i32.load (i32.add (local.get $7) (i32.const 28) ) ) ) ) ) (local.set $5 (call_indirect (type $i32_i32_=>_i32) (local.get $2) (i32.load (local.get $0) ) (i32.load offset=12 (local.get $3) ) ) ) (br $label$1) ) (block $label$3 (br_if $label$3 (i32.and (local.get $6) (i32.const 255) ) ) (local.set $5 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $7) ) (i32.const 1059357) (i32.const 3) (i32.load offset=12 (i32.load (i32.add (local.get $7) (i32.const 28) ) ) ) ) ) (local.set $7 (i32.load (local.get $0) ) ) ) (local.set $5 (i32.const 1) ) (i32.store8 offset=23 (local.get $4) (i32.const 1) ) (i32.store (i32.add (local.get $4) (i32.const 52) ) (i32.const 1059360) ) (i64.store offset=8 (local.get $4) (i64.load offset=24 align=4 (local.get $7) ) ) (i32.store offset=16 (local.get $4) (i32.add (local.get $4) (i32.const 23) ) ) (local.set $8 (i64.load offset=8 align=4 (local.get $7) ) ) (local.set $9 (i64.load offset=16 align=4 (local.get $7) ) ) (i32.store8 offset=56 (local.get $4) (i32.load8_u offset=32 (local.get $7) ) ) (i64.store offset=40 (local.get $4) (local.get $9) ) (i64.store offset=32 (local.get $4) (local.get $8) ) (i64.store offset=24 (local.get $4) (i64.load align=4 (local.get $7) ) ) (i32.store offset=48 (local.get $4) (i32.add (local.get $4) (i32.const 8) ) ) (br_if $label$1 (call $::write_str::h321957978316f55b (i32.add (local.get $4) (i32.const 8) ) (local.get $1) (i32.const 7) ) ) (br_if $label$1 (call $::write_str::h321957978316f55b (i32.add (local.get $4) (i32.const 8) ) (i32.const 1059184) (i32.const 2) ) ) (br_if $label$1 (call_indirect (type $i32_i32_=>_i32) (local.get $2) (i32.add (local.get $4) (i32.const 24) ) (i32.load offset=12 (local.get $3) ) ) ) (local.set $5 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=48 (local.get $4) ) (i32.const 1059384) (i32.const 2) (i32.load offset=12 (i32.load offset=52 (local.get $4) ) ) ) ) ) (i32.store8 offset=5 (local.get $0) (i32.const 1) ) (i32.store8 offset=4 (local.get $0) (local.get $5) ) (global.set $global$0 (i32.add (local.get $4) (i32.const 64) ) ) (local.get $0) ) (func $core::slice::memchr::memchr::hc379602bfd4b6f02 (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local.set $4 (i32.const 0) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.eqz (local.tee $5 (i32.and (i32.sub (i32.const 0) (local.get $2) ) (i32.const 3) ) ) ) ) (br_if $label$4 (i32.eqz (local.tee $6 (select (local.get $3) (local.get $5) (i32.gt_u (local.get $5) (local.get $3) ) ) ) ) ) (local.set $5 (i32.const 0) ) (local.set $4 (i32.and (local.get $1) (i32.const 255) ) ) (loop $label$5 (br_if $label$3 (i32.eq (i32.load8_u (i32.add (local.get $2) (local.get $5) ) ) (local.get $4) ) ) (br_if $label$5 (i32.ne (local.get $6) (local.tee $5 (i32.add (local.get $5) (i32.const 1) ) ) ) ) ) (local.set $4 (local.get $6) ) ) (br_if $label$2 (i32.lt_u (local.get $3) (i32.const 8) ) ) (br_if $label$2 (i32.gt_u (local.get $4) (local.tee $7 (i32.add (local.get $3) (i32.const -8) ) ) ) ) (local.set $5 (i32.mul (i32.and (local.get $1) (i32.const 255) ) (i32.const 16843009) ) ) (block $label$6 (loop $label$7 (br_if $label$6 (i32.and (i32.or (i32.and (i32.xor (local.tee $8 (i32.xor (i32.load (i32.add (local.tee $6 (i32.add (local.get $2) (local.get $4) ) ) (i32.const 4) ) ) (local.get $5) ) ) (i32.const -1) ) (i32.add (local.get $8) (i32.const -16843009) ) ) (i32.and (i32.xor (local.tee $6 (i32.xor (i32.load (local.get $6) ) (local.get $5) ) ) (i32.const -1) ) (i32.add (local.get $6) (i32.const -16843009) ) ) ) (i32.const -2139062144) ) ) (br_if $label$7 (i32.le_u (local.tee $4 (i32.add (local.get $4) (i32.const 8) ) ) (local.get $7) ) ) ) ) (br_if $label$2 (i32.le_u (local.get $4) (local.get $3) ) ) (call $core::slice::slice_start_index_len_fail::h4a1e5ee8e8253fb6 (local.get $4) (local.get $3) (i32.const 1059304) ) (unreachable) ) (local.set $6 (i32.const 1) ) (br $label$1) ) (local.set $5 (i32.const 0) ) (local.set $6 (i32.const 0) ) (block $label$8 (br_if $label$8 (i32.eq (local.get $4) (local.get $3) ) ) (local.set $2 (i32.add (local.get $2) (local.get $4) ) ) (local.set $8 (i32.sub (local.get $3) (local.get $4) ) ) (local.set $5 (i32.const 0) ) (local.set $6 (i32.and (local.get $1) (i32.const 255) ) ) (block $label$9 (loop $label$10 (br_if $label$9 (i32.eq (i32.load8_u (i32.add (local.get $2) (local.get $5) ) ) (local.get $6) ) ) (br_if $label$10 (i32.ne (local.get $8) (local.tee $5 (i32.add (local.get $5) (i32.const 1) ) ) ) ) ) (local.set $6 (i32.const 0) ) (local.set $5 (i32.add (local.get $8) (local.get $4) ) ) (br $label$1) ) (local.set $6 (i32.const 1) ) (local.set $5 (local.get $5) ) ) (local.set $5 (i32.add (local.get $5) (local.get $4) ) ) ) (i32.store offset=4 (local.get $0) (local.get $5) ) (i32.store (local.get $0) (local.get $6) ) ) (func $alloc::vec::Vec::push::hdd2fe19df8607705 (; 27 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ne (local.tee $3 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (br_if $label$2 (i32.lt_u (local.tee $4 (i32.add (local.get $3) (i32.const 1) ) ) (local.get $3) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.eq (i32.and (local.tee $4 (select (local.tee $4 (select (local.tee $5 (i32.shl (local.get $3) (i32.const 1) ) ) (local.get $4) (i32.gt_u (local.get $5) (local.get $4) ) ) ) (i32.const 4) (i32.gt_u (local.get $4) (i32.const 4) ) ) ) (i32.const 268435455) ) (local.get $4) ) ) (local.set $4 (i32.const 0) ) (br $label$4) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $2) (i32.const 8) ) (i32.shl (local.get $4) (i32.const 4) ) (i32.const 8) ) (local.set $3 (i32.load offset=4 (local.get $0) ) ) (local.set $4 (i32.load offset=12 (local.get $2) ) ) (local.set $5 (i32.load offset=8 (local.get $2) ) ) ) (block $label$6 (block $label$7 (br_if $label$7 (i32.eqz (local.get $3) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 32) ) (i32.const 8) ) (i32.const 8) ) (i32.store offset=36 (local.get $2) (i32.shl (local.get $3) (i32.const 4) ) ) (i32.store offset=32 (local.get $2) (i32.load (local.get $0) ) ) (br $label$6) ) (i32.store offset=32 (local.get $2) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $2) (i32.const 16) ) (local.get $5) (local.get $4) (i32.add (local.get $2) (i32.const 32) ) ) (local.set $3 (i32.load (i32.add (local.get $2) (i32.const 24) ) ) ) (local.set $4 (i32.load offset=20 (local.get $2) ) ) (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $0) (local.get $4) ) (i32.store offset=4 (local.get $0) (i32.shr_u (local.get $3) (i32.const 4) ) ) (local.set $3 (i32.load offset=8 (local.get $0) ) ) ) (i64.store (local.tee $3 (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $3) (i32.const 4) ) ) ) (i64.load (local.get $1) ) ) (i64.store (i32.add (local.get $3) (i32.const 8) ) (i64.load (i32.add (local.get $1) (i32.const 8) ) ) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return) ) (local.set $3 (i32.const 0) ) ) (block $label$8 (br_if $label$8 (i32.eqz (local.get $3) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $4) (local.get $3) (select (local.tee $0 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $0) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $core::fmt::num::imp::fmt_u64::h64f053e2e06403a9 (; 28 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i64) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (local.set $4 (i32.const 39) ) (block $label$1 (block $label$2 (br_if $label$2 (i64.ge_u (local.get $0) (i64.const 10000) ) ) (local.set $8 (local.get $0) ) (br $label$1) ) (local.set $4 (i32.const 39) ) (loop $label$3 (i32.store16 align=1 (i32.add (local.tee $5 (i32.add (i32.add (local.get $3) (i32.const 9) ) (local.get $4) ) ) (i32.const -4) ) (i32.load16_u align=1 (i32.add (i32.shl (local.tee $7 (i32.div_u (i32.and (local.tee $6 (i32.wrap_i64 (i64.add (i64.mul (local.tee $8 (i64.div_u (local.get $0) (i64.const 10000) ) ) (i64.const -10000) ) (local.get $0) ) ) ) (i32.const 65535) ) (i32.const 100) ) ) (i32.const 1) ) (i32.const 1055186) ) ) ) (i32.store16 align=1 (i32.add (local.get $5) (i32.const -2) ) (i32.load16_u align=1 (i32.add (i32.shl (i32.and (i32.add (i32.mul (local.get $7) (i32.const -100) ) (local.get $6) ) (i32.const 65535) ) (i32.const 1) ) (i32.const 1055186) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const -4) ) ) (local.set $5 (i64.gt_u (local.get $0) (i64.const 99999999) ) ) (local.set $0 (local.get $8) ) (br_if $label$3 (local.get $5) ) ) ) (block $label$4 (br_if $label$4 (i32.le_s (local.tee $5 (i32.wrap_i64 (local.get $8) ) ) (i32.const 99) ) ) (i32.store16 align=1 (i32.add (i32.add (local.get $3) (i32.const 9) ) (local.tee $4 (i32.add (local.get $4) (i32.const -2) ) ) ) (i32.load16_u align=1 (i32.add (i32.shl (i32.and (i32.add (i32.mul (local.tee $5 (i32.div_u (i32.and (local.tee $6 (i32.wrap_i64 (local.get $8) ) ) (i32.const 65535) ) (i32.const 100) ) ) (i32.const -100) ) (local.get $6) ) (i32.const 65535) ) (i32.const 1) ) (i32.const 1055186) ) ) ) ) (block $label$5 (block $label$6 (br_if $label$6 (i32.lt_s (local.get $5) (i32.const 10) ) ) (i32.store16 align=1 (i32.add (i32.add (local.get $3) (i32.const 9) ) (local.tee $4 (i32.add (local.get $4) (i32.const -2) ) ) ) (i32.load16_u align=1 (i32.add (i32.shl (local.get $5) (i32.const 1) ) (i32.const 1055186) ) ) ) (br $label$5) ) (i32.store8 (i32.add (i32.add (local.get $3) (i32.const 9) ) (local.tee $4 (i32.add (local.get $4) (i32.const -1) ) ) ) (i32.add (local.get $5) (i32.const 48) ) ) ) (local.set $4 (call $core::fmt::Formatter::pad_integral::hebe846fc0fc861a5 (local.get $2) (local.get $1) (i32.const 1060988) (i32.const 0) (i32.add (i32.add (local.get $3) (i32.const 9) ) (local.get $4) ) (i32.sub (i32.const 39) (local.get $4) ) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 48) ) ) (local.get $4) ) (func $core::unicode::unicode_data::white_space::lookup::h0e72692c71b55f4a (; 29 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.gt_u (local.tee $1 (i32.add (i32.add (local.tee $2 (select (local.tee $1 (i32.shl (i32.gt_u (local.get $0) (i32.const 12287) ) (i32.const 1) ) ) (local.tee $1 (i32.or (local.get $1) (i32.const 1) ) ) (i32.gt_u (i32.shl (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1059448) ) ) (i32.const 11) ) (local.tee $1 (i32.shl (local.get $0) (i32.const 11) ) ) ) ) ) (i32.lt_u (local.tee $2 (i32.shl (i32.load (i32.add (i32.shl (local.get $2) (i32.const 2) ) (i32.const 1059448) ) ) (i32.const 11) ) ) (local.get $1) ) ) (i32.eq (local.get $2) (local.get $1) ) ) ) (i32.const 3) ) ) (local.set $3 (i32.const 21) ) (block $label$4 (br_if $label$4 (i32.eq (local.get $1) (i32.const 3) ) ) (local.set $3 (i32.shr_u (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1059452) ) ) (i32.const 21) ) ) ) (local.set $2 (i32.const 0) ) (block $label$5 (br_if $label$5 (i32.gt_u (local.tee $4 (i32.add (local.get $1) (i32.const -1) ) ) (local.get $1) ) ) (br_if $label$1 (i32.ge_u (local.get $4) (i32.const 4) ) ) (local.set $2 (i32.and (i32.load (i32.add (i32.shl (local.get $4) (i32.const 2) ) (i32.const 1059448) ) ) (i32.const 2097151) ) ) ) (block $label$6 (br_if $label$6 (i32.eq (local.get $3) (i32.add (local.tee $1 (i32.shr_u (i32.load (i32.add (i32.shl (local.get $1) (i32.const 2) ) (i32.const 1059448) ) ) (i32.const 21) ) ) (i32.const 1) ) ) ) (local.set $2 (i32.sub (local.get $0) (local.get $2) ) ) (local.set $4 (select (local.get $1) (i32.const 21) (i32.gt_u (local.get $1) (i32.const 21) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const -1) ) ) (local.set $0 (i32.const 0) ) (loop $label$7 (br_if $label$2 (i32.eq (local.get $4) (local.get $1) ) ) (br_if $label$6 (i32.gt_u (local.tee $0 (i32.add (local.get $0) (i32.load8_u (i32.add (local.get $1) (i32.const 1059464) ) ) ) ) (local.get $2) ) ) (br_if $label$7 (i32.ne (local.get $3) (local.tee $1 (i32.add (local.get $1) (i32.const 1) ) ) ) ) ) (local.set $1 (local.get $3) ) ) (return (i32.and (local.get $1) (i32.const 1) ) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (i32.const 4) (i32.const 1058832) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $4) (i32.const 21) (i32.const 1058848) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $4) (i32.const 4) (i32.const 1058124) ) (unreachable) ) (func $alloc::string::String::pop::ha45b97d794fc650f (; 30 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (block $label$1 (br_if $label$1 (local.tee $1 (i32.load offset=8 (local.get $0) ) ) ) (return (i32.const 1114112) ) ) (local.set $2 (i32.const -1) ) (local.set $3 (i32.const 0) ) (block $label$2 (block $label$3 (br_if $label$3 (i32.ge_s (local.tee $8 (i32.shr_s (i32.shl (local.tee $7 (i32.load8_u (local.tee $6 (i32.add (local.tee $5 (i32.add (local.tee $4 (i32.load (local.get $0) ) ) (local.get $1) ) ) (i32.const -1) ) ) ) ) (i32.const 24) ) (i32.const 24) ) ) (i32.const 0) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.ne (local.get $4) (local.get $6) ) ) (local.set $7 (local.get $4) ) (br $label$4) ) (local.set $3 (i32.load8_u (local.tee $7 (i32.add (local.get $5) (i32.const -2) ) ) ) ) ) (block $label$6 (block $label$7 (br_if $label$7 (i32.eq (i32.and (local.get $3) (i32.const 192) ) (i32.const 128) ) ) (local.set $7 (i32.and (local.get $3) (i32.const 31) ) ) (br $label$6) ) (block $label$8 (block $label$9 (br_if $label$9 (i32.ne (local.get $4) (local.get $7) ) ) (local.set $7 (i32.const 0) ) (local.set $6 (local.get $4) ) (br $label$8) ) (local.set $7 (i32.load8_u (local.tee $6 (i32.add (local.get $7) (i32.const -1) ) ) ) ) ) (block $label$10 (block $label$11 (br_if $label$11 (i32.eq (i32.and (local.get $7) (i32.const 192) ) (i32.const 128) ) ) (local.set $7 (i32.and (local.get $7) (i32.const 15) ) ) (br $label$10) ) (block $label$12 (block $label$13 (br_if $label$13 (i32.ne (local.get $4) (local.get $6) ) ) (local.set $4 (i32.const 0) ) (br $label$12) ) (local.set $4 (i32.shl (i32.and (i32.load8_u (i32.add (local.get $6) (i32.const -1) ) ) (i32.const 7) ) (i32.const 6) ) ) ) (local.set $7 (i32.or (local.get $4) (i32.and (local.get $7) (i32.const 63) ) ) ) ) (local.set $7 (i32.or (i32.shl (local.get $7) (i32.const 6) ) (i32.and (local.get $3) (i32.const 63) ) ) ) ) (local.set $3 (i32.const 1114112) ) (br_if $label$2 (i32.eq (local.tee $7 (i32.or (i32.shl (local.get $7) (i32.const 6) ) (i32.and (local.get $8) (i32.const 63) ) ) ) (i32.const 1114112) ) ) ) (block $label$14 (br_if $label$14 (i32.lt_u (local.get $7) (i32.const 128) ) ) (local.set $2 (i32.const -2) ) (br_if $label$14 (i32.lt_u (local.get $7) (i32.const 2048) ) ) (local.set $2 (select (i32.const -3) (i32.const -4) (i32.lt_u (local.get $7) (i32.const 65536) ) ) ) ) (i32.store offset=8 (local.get $0) (i32.add (local.get $2) (local.get $1) ) ) (local.set $3 (local.get $7) ) ) (local.get $3) ) (func $core::fmt::num::::fmt::h0411e69d8afbaeaa (; 31 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 128) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_if $label$5 (i32.and (local.tee $3 (i32.load (local.get $1) ) ) (i32.const 16) ) ) (br_if $label$4 (i32.and (local.get $3) (i32.const 32) ) ) (local.set $0 (call $core::fmt::num::imp::fmt_u64::h64f053e2e06403a9 (i64.extend_i32_u (local.get $0) ) (i32.const 1) (local.get $1) ) ) (br $label$3) ) (local.set $3 (i32.const 0) ) (loop $label$6 (i32.store8 (i32.add (i32.add (local.get $2) (local.get $3) ) (i32.const 127) ) (select (i32.or (local.tee $4 (i32.and (local.get $0) (i32.const 15) ) ) (i32.const 48) ) (i32.add (local.get $4) (i32.const 87) ) (i32.lt_u (local.get $4) (i32.const 10) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const -1) ) ) (br_if $label$6 (local.tee $0 (i32.shr_u (local.get $0) (i32.const 4) ) ) ) ) (br_if $label$2 (i32.ge_u (local.tee $0 (i32.add (local.get $3) (i32.const 128) ) ) (i32.const 129) ) ) (local.set $0 (call $core::fmt::Formatter::pad_integral::hebe846fc0fc861a5 (local.get $1) (i32.const 1) (i32.const 1056460) (i32.const 2) (i32.add (i32.add (local.get $2) (local.get $3) ) (i32.const 128) ) (i32.sub (i32.const 0) (local.get $3) ) ) ) (br $label$3) ) (local.set $3 (i32.const 0) ) (loop $label$7 (i32.store8 (i32.add (i32.add (local.get $2) (local.get $3) ) (i32.const 127) ) (select (i32.or (local.tee $4 (i32.and (local.get $0) (i32.const 15) ) ) (i32.const 48) ) (i32.add (local.get $4) (i32.const 55) ) (i32.lt_u (local.get $4) (i32.const 10) ) ) ) (local.set $3 (i32.add (local.get $3) (i32.const -1) ) ) (br_if $label$7 (local.tee $0 (i32.shr_u (local.get $0) (i32.const 4) ) ) ) ) (br_if $label$1 (i32.ge_u (local.tee $0 (i32.add (local.get $3) (i32.const 128) ) ) (i32.const 129) ) ) (local.set $0 (call $core::fmt::Formatter::pad_integral::hebe846fc0fc861a5 (local.get $1) (i32.const 1) (i32.const 1056460) (i32.const 2) (i32.add (i32.add (local.get $2) (local.get $3) ) (i32.const 128) ) (i32.sub (i32.const 0) (local.get $3) ) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 128) ) ) (return (local.get $0) ) ) (call $core::slice::slice_start_index_len_fail::h4a1e5ee8e8253fb6 (local.get $0) (i32.const 128) (i32.const 1056444) ) (unreachable) ) (call $core::slice::slice_start_index_len_fail::h4a1e5ee8e8253fb6 (local.get $0) (i32.const 128) (i32.const 1056444) ) (unreachable) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_char::hd85f8d8b4ea0a1f3 (; 32 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $0 (i32.load (local.get $0) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.lt_u (local.get $1) (i32.const 128) ) ) (i32.store offset=12 (local.get $2) (i32.const 0) ) (br_if $label$3 (i32.lt_u (local.get $1) (i32.const 2048) ) ) (block $label$5 (br_if $label$5 (i32.ge_u (local.get $1) (i32.const 65536) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 224) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 3) ) (br $label$2) ) (i32.store8 offset=15 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 18) ) (i32.const 240) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 4) ) (br $label$2) ) (block $label$6 (br_if $label$6 (i32.ne (local.tee $3 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (call $alloc::vec::Vec::reserve::h463181bd7c1d5d6e (local.get $0) (i32.const 1) ) (local.set $3 (i32.load offset=8 (local.get $0) ) ) ) (i32.store8 (i32.add (i32.load (local.get $0) ) (local.get $3) ) (local.get $1) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) (br $label$1) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 192) ) ) (local.set $1 (i32.const 2) ) ) (call $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (local.get $0) (i32.add (local.get $2) (i32.const 12) ) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (i32.const 0) ) (func $alloc::string::String::push::h91b2efd5d5771ece (; 33 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.lt_u (local.get $1) (i32.const 128) ) ) (i32.store offset=12 (local.get $2) (i32.const 0) ) (br_if $label$3 (i32.lt_u (local.get $1) (i32.const 2048) ) ) (block $label$5 (br_if $label$5 (i32.ge_u (local.get $1) (i32.const 65536) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 224) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 3) ) (br $label$2) ) (i32.store8 offset=15 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 18) ) (i32.const 7) ) (i32.const 240) ) ) (local.set $1 (i32.const 4) ) (br $label$2) ) (block $label$6 (br_if $label$6 (i32.ne (local.tee $3 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (call $alloc::vec::Vec::reserve::h463181bd7c1d5d6e (local.get $0) (i32.const 1) ) (local.set $3 (i32.load offset=8 (local.get $0) ) ) ) (i32.store8 (i32.add (i32.load (local.get $0) ) (local.get $3) ) (local.get $1) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) (br $label$1) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 192) ) ) (local.set $1 (i32.const 2) ) ) (call $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (local.get $0) (i32.add (local.get $2) (i32.const 12) ) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $core::num::dec2flt::num::to_u64::ha94f854aeeb0a484 (; 34 ;) (param $0 i32) (result i64) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.ge_u (local.tee $1 (i32.load (local.get $0) ) ) (i32.const 41) ) ) (block $label$5 (br_if $label$5 (i32.eqz (local.get $1) ) ) (local.set $3 (i32.add (i32.shr_u (i32.add (local.tee $2 (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const -4) ) (i32.const 2) ) (i32.const 1) ) ) (local.set $4 (i32.const 0) ) (block $label$6 (loop $label$7 (br_if $label$6 (i32.load (i32.add (local.get $0) (local.get $2) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const 1) ) ) (br_if $label$7 (local.tee $2 (i32.add (local.get $2) (i32.const -4) ) ) ) ) (local.set $4 (local.get $3) ) ) (local.set $2 (i32.sub (local.get $1) (local.get $4) ) ) (br_if $label$3 (i32.lt_u (local.get $1) (local.get $4) ) ) (block $label$8 (br_if $label$8 (i32.eqz (local.get $2) ) ) (local.set $2 (i32.or (i32.sub (i32.shl (local.get $1) (i32.const 5) ) (i32.shl (local.get $4) (i32.const 5) ) ) (i32.const 1) ) ) (loop $label$9 (local.set $3 (i32.shr_u (local.tee $4 (i32.add (local.get $2) (i32.const -2) ) ) (i32.const 5) ) ) (br_if $label$2 (i32.ge_u (local.get $4) (i32.const 1280) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) (br_if $label$9 (i32.eqz (i32.and (i32.shr_u (i32.load (i32.add (i32.add (local.get $0) (i32.shl (local.get $3) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $4) (i32.const 31) ) ) (i32.const 1) ) ) ) ) (br_if $label$1 (i32.gt_u (local.get $2) (i32.const 63) ) ) ) (block $label$10 (br_if $label$10 (i32.ge_u (local.get $1) (i32.const 2) ) ) (return (i64.load32_u offset=4 (local.get $0) ) ) ) (return (i64.load offset=4 align=4 (local.get $0) ) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 0) (i32.const 0) (i32.const 1055624) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $2) (local.get $1) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $3) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1055570) (i32.const 37) (i32.const 1055608) ) (unreachable) ) (func $::next::h4672746d73b58812 (; 35 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (block $label$1 (br_if $label$1 (i32.ne (local.tee $1 (i32.load (local.get $0) ) ) (local.tee $2 (i32.load offset=4 (local.get $0) ) ) ) ) (return (i32.const 1114112) ) ) (i32.store (local.get $0) (local.tee $3 (i32.add (local.get $1) (i32.const 1) ) ) ) (block $label$2 (br_if $label$2 (i32.le_s (local.tee $4 (i32.load8_s (local.get $1) ) ) (i32.const -1) ) ) (return (i32.and (local.get $4) (i32.const 255) ) ) ) (block $label$3 (block $label$4 (br_if $label$4 (i32.ne (local.get $3) (local.get $2) ) ) (local.set $5 (i32.const 0) ) (local.set $3 (local.get $2) ) (br $label$3) ) (i32.store (local.get $0) (local.tee $3 (i32.add (local.get $1) (i32.const 2) ) ) ) (local.set $5 (i32.and (i32.load8_u offset=1 (local.get $1) ) (i32.const 63) ) ) ) (local.set $1 (i32.and (local.get $4) (i32.const 31) ) ) (block $label$5 (br_if $label$5 (i32.gt_u (i32.and (local.get $4) (i32.const 255) ) (i32.const 223) ) ) (return (i32.or (local.get $5) (i32.shl (local.get $1) (i32.const 6) ) ) ) ) (block $label$6 (block $label$7 (br_if $label$7 (i32.ne (local.get $3) (local.get $2) ) ) (local.set $3 (i32.const 0) ) (local.set $6 (local.get $2) ) (br $label$6) ) (i32.store (local.get $0) (local.tee $6 (i32.add (local.get $3) (i32.const 1) ) ) ) (local.set $3 (i32.and (i32.load8_u (local.get $3) ) (i32.const 63) ) ) ) (local.set $3 (i32.or (local.get $3) (i32.shl (local.get $5) (i32.const 6) ) ) ) (block $label$8 (br_if $label$8 (i32.ge_u (i32.and (local.get $4) (i32.const 255) ) (i32.const 240) ) ) (return (i32.or (local.get $3) (i32.shl (local.get $1) (i32.const 12) ) ) ) ) (block $label$9 (block $label$10 (br_if $label$10 (i32.ne (local.get $6) (local.get $2) ) ) (local.set $0 (i32.const 0) ) (br $label$9) ) (i32.store (local.get $0) (i32.add (local.get $6) (i32.const 1) ) ) (local.set $0 (i32.and (i32.load8_u (local.get $6) ) (i32.const 63) ) ) ) (i32.or (i32.or (i32.shl (local.get $3) (i32.const 6) ) (i32.and (i32.shl (local.get $1) (i32.const 18) ) (i32.const 1835008) ) ) (local.get $0) ) ) (func $no_proto_js::json_flex::json_decode::func::h1e6f4f90ba36485f (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 96) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 80) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 12) ) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=68 align=4 (local.get $8) ) ) (block $label$3 (block $label$4 (br_if $label$4 (i32.eq (i32.load offset=64 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) (i32.load (local.get $2) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=48 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (i32.add (local.get $8) (i32.const 12) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i32.store (local.get $8) (i32.const 0) ) (i64.store offset=4 align=4 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$3) ) (i64.store align=4 (local.get $0) (i64.load offset=48 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (br $label$1) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 96) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h447251335fe0c8ef (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 96) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 80) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=80 (local.get $8) (i64.load align=4 (local.get $2) ) ) (call $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (i32.add (local.get $8) (i32.const 64) ) (i32.add (local.get $8) (i32.const 80) ) ) (i32.store (local.tee $2 (i32.add (i32.add (local.get $8) (i32.const 48) ) (i32.const 8) ) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 64) ) (i32.const 12) ) ) ) (i64.store offset=48 (local.get $8) (i64.load offset=68 align=4 (local.get $8) ) ) (block $label$3 (block $label$4 (br_if $label$4 (i32.eq (i32.load offset=64 (local.get $8) ) (i32.const 1) ) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) (i32.load (local.get $2) ) ) (i64.store offset=32 (local.get $8) (i64.load offset=48 (local.get $8) ) ) (call $::clone::h750060746238399e (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (i32.add (local.get $8) (i32.const 12) ) (i32.load (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) ) ) (i32.store (local.get $8) (i32.const 0) ) (i64.store offset=4 align=4 (local.get $8) (i64.load offset=16 (local.get $8) ) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $8) (i32.const 32) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$3) ) (i64.store align=4 (local.get $0) (i64.load offset=48 (local.get $8) ) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.load (local.get $2) ) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (br $label$1) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 96) ) ) ) (func $core::str::::find::hd5cf84aec0e23f71 (; 38 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store offset=40 (local.get $2) (i32.const 46) ) (i64.store offset=32 (local.get $2) (i64.const 4294967342) ) (i32.store offset=28 (local.get $2) (local.get $1) ) (local.set $3 (i32.const 0) ) (i32.store offset=24 (local.get $2) (i32.const 0) ) (i32.store offset=20 (local.get $2) (local.get $1) ) (i32.store offset=16 (local.get $2) (local.get $0) ) (local.set $4 (i32.add (local.get $2) (i32.const 40) ) ) (local.set $5 (i32.const 1) ) (local.set $0 (i32.const 0) ) (local.set $6 (local.get $1) ) (loop $label$1 (result i32) (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.lt_u (local.get $1) (local.get $0) ) ) (br_if $label$4 (i32.lt_u (local.get $6) (local.get $1) ) ) (call $core::slice::memchr::memchr::hc379602bfd4b6f02 (i32.add (local.get $2) (i32.const 8) ) (i32.load8_u (i32.add (i32.add (local.get $5) (i32.add (local.get $2) (i32.const 16) ) ) (i32.const 23) ) ) (i32.add (i32.load offset=16 (local.get $2) ) (local.get $0) ) (i32.sub (local.get $1) (local.get $0) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=8 (local.get $2) ) (i32.const 1) ) ) (i32.store offset=24 (local.get $2) (i32.load offset=28 (local.get $2) ) ) (br $label$4) ) (i32.store offset=24 (local.get $2) (local.tee $0 (i32.add (i32.add (i32.load offset=12 (local.get $2) ) (i32.load offset=24 (local.get $2) ) ) (i32.const 1) ) ) ) (local.set $6 (i32.load offset=20 (local.get $2) ) ) (br_if $label$2 (i32.lt_u (local.get $0) (local.tee $5 (i32.load offset=36 (local.get $2) ) ) ) ) (br_if $label$2 (i32.lt_u (local.get $6) (local.get $0) ) ) (br_if $label$3 (i32.ge_u (local.get $5) (i32.const 5) ) ) (br_if $label$2 (i32.eqz (call $core::cmp::impls::\20for\20&A>::eq::h4f66b15a6c15e2dd (i32.add (i32.load offset=16 (local.get $2) ) (i32.sub (local.get $0) (local.get $5) ) ) (local.get $5) (local.get $4) (local.get $5) ) ) ) (local.set $3 (i32.const 1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return (local.get $3) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $5) (i32.const 4) (i32.const 1048692) ) (unreachable) ) (local.set $1 (i32.load offset=28 (local.get $2) ) ) (br $label$1) ) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_char::hfba45291f71b64f9 (; 39 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $0 (i32.load (local.get $0) ) ) (i32.store offset=12 (local.get $2) (i32.const 0) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.lt_u (local.get $1) (i32.const 128) ) ) (br_if $label$3 (i32.lt_u (local.get $1) (i32.const 2048) ) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (br_if $label$2 (i32.ge_u (local.get $1) (i32.const 65536) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 224) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 3) ) (br $label$1) ) (i32.store8 offset=12 (local.get $2) (local.get $1) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 192) ) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (local.set $1 (i32.const 2) ) (br $label$1) ) (i32.store8 offset=15 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 18) ) (i32.const 240) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 4) ) ) (local.set $1 (call $::write_str::h321957978316f55b (local.get $0) (local.get $3) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (local.get $1) ) (func $alloc::vec::Vec::reserve::h08d2964d681bfd3a (; 40 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ge_u (i32.sub (local.tee $3 (i32.load offset=4 (local.get $0) ) ) (local.tee $4 (i32.load offset=8 (local.get $0) ) ) ) (local.get $1) ) ) (br_if $label$2 (i32.lt_u (local.tee $1 (i32.add (local.get $4) (local.get $1) ) ) (local.get $4) ) ) (call $core::alloc::layout::Layout::array::h8b727bfea893888b (i32.add (local.get $2) (i32.const 8) ) (select (local.tee $1 (select (local.tee $4 (i32.shl (local.get $3) (i32.const 1) ) ) (local.get $1) (i32.gt_u (local.get $4) (local.get $1) ) ) ) (i32.const 4) (i32.gt_u (local.get $1) (i32.const 4) ) ) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $4 (i32.load offset=8 (local.get $2) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.eqz (local.tee $3 (i32.load offset=4 (local.get $0) ) ) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 32) ) (i32.const 8) ) (i32.const 8) ) (i32.store offset=36 (local.get $2) (i32.shl (local.get $3) (i32.const 3) ) ) (i32.store offset=32 (local.get $2) (i32.load (local.get $0) ) ) (br $label$4) ) (i32.store offset=32 (local.get $2) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $2) (i32.const 16) ) (local.get $4) (local.get $1) (i32.add (local.get $2) (i32.const 32) ) ) (local.set $4 (i32.load (i32.add (local.get $2) (i32.const 24) ) ) ) (local.set $1 (i32.load offset=20 (local.get $2) ) ) (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $0) (local.get $1) ) (i32.store offset=4 (local.get $0) (i32.shr_u (local.get $4) (i32.const 3) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return) ) (local.set $4 (i32.const 0) ) ) (block $label$6 (br_if $label$6 (i32.eqz (local.get $4) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $1) (local.get $4) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $core::fmt::Write::write_char::he8823860aba4c233 (; 41 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (i32.store offset=12 (local.get $2) (i32.const 0) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.lt_u (local.get $1) (i32.const 128) ) ) (br_if $label$3 (i32.lt_u (local.get $1) (i32.const 2048) ) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (br_if $label$2 (i32.ge_u (local.get $1) (i32.const 65536) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 224) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 3) ) (br $label$1) ) (i32.store8 offset=12 (local.get $2) (local.get $1) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 192) ) ) (local.set $3 (i32.add (local.get $2) (i32.const 12) ) ) (local.set $1 (i32.const 2) ) (br $label$1) ) (i32.store8 offset=15 (local.get $2) (i32.or (i32.and (local.get $1) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=12 (local.get $2) (i32.or (i32.shr_u (local.get $1) (i32.const 18) ) (i32.const 240) ) ) (i32.store8 offset=14 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 6) ) (i32.const 63) ) (i32.const 128) ) ) (i32.store8 offset=13 (local.get $2) (i32.or (i32.and (i32.shr_u (local.get $1) (i32.const 12) ) (i32.const 63) ) (i32.const 128) ) ) (local.set $1 (i32.const 4) ) ) (local.set $1 (call $::write_str::h321957978316f55b (local.get $0) (local.get $3) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (local.get $1) ) (func $alloc::vec::Vec::reserve::h25a374cf9b3816f4 (; 42 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ge_u (i32.sub (local.tee $3 (i32.load offset=4 (local.get $0) ) ) (local.tee $4 (i32.load offset=8 (local.get $0) ) ) ) (local.get $1) ) ) (br_if $label$2 (i32.lt_u (local.tee $1 (i32.add (local.get $4) (local.get $1) ) ) (local.get $4) ) ) (call $core::alloc::layout::Layout::array::h666bf8f1b402ea69 (i32.add (local.get $2) (i32.const 8) ) (select (local.tee $1 (select (local.tee $4 (i32.shl (local.get $3) (i32.const 1) ) ) (local.get $1) (i32.gt_u (local.get $4) (local.get $1) ) ) ) (i32.const 4) (i32.gt_u (local.get $1) (i32.const 4) ) ) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $4 (i32.load offset=8 (local.get $2) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.eqz (local.tee $3 (i32.load offset=4 (local.get $0) ) ) ) ) (i32.store (i32.add (local.get $2) (i32.const 40) ) (i32.const 4) ) (i32.store offset=36 (local.get $2) (i32.shl (local.get $3) (i32.const 2) ) ) (i32.store offset=32 (local.get $2) (i32.load (local.get $0) ) ) (br $label$4) ) (i32.store offset=32 (local.get $2) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $2) (i32.const 16) ) (local.get $4) (local.get $1) (i32.add (local.get $2) (i32.const 32) ) ) (local.set $4 (i32.load (i32.add (local.get $2) (i32.const 24) ) ) ) (local.set $1 (i32.load offset=20 (local.get $2) ) ) (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $0) (local.get $1) ) (i32.store offset=4 (local.get $0) (i32.shr_u (local.get $4) (i32.const 2) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return) ) (local.set $4 (i32.const 0) ) ) (block $label$6 (br_if $label$6 (i32.eqz (local.get $4) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $1) (local.get $4) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $\20as\20core::clone::Clone>::clone::h123a33593991f8b5 (; 43 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (local.set $3 (i32.load (local.get $1) ) ) (call $core::alloc::layout::Layout::array::h3864007aafdf18bc (i32.add (local.get $2) (i32.const 8) ) (local.tee $4 (i32.load offset=8 (local.get $1) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (local.tee $1 (i32.load offset=12 (local.get $2) ) ) ) ) (br_if $label$2 (i32.le_s (local.tee $5 (i32.load offset=8 (local.get $2) ) ) (i32.const -1) ) ) (call $::alloc::hbd6aa0d1925f7b82 (local.get $2) (local.get $5) (local.get $1) ) (br_if $label$1 (i32.eqz (local.tee $6 (i32.load (local.get $2) ) ) ) ) (local.set $1 (i32.load offset=4 (local.get $2) ) ) (i32.store offset=8 (local.get $0) (i32.const 0) ) (i32.store (local.get $0) (local.get $6) ) (i32.store offset=4 (local.get $0) (i32.div_u (local.get $1) (i32.const 12) ) ) (call $alloc::vec::Vec::reserve::h1f19ebcf0c7f7960 (local.get $0) (local.get $4) ) (local.set $5 (i32.mul (local.get $4) (i32.const 12) ) ) (local.set $1 (i32.add (i32.load (local.get $0) ) (i32.mul (local.tee $6 (i32.load offset=8 (local.get $0) ) ) (i32.const 12) ) ) ) (block $label$3 (loop $label$4 (br_if $label$3 (i32.eqz (local.get $5) ) ) (call $::clone::h750060746238399e (i32.add (local.get $2) (i32.const 16) ) (local.get $3) ) (i32.store (i32.add (local.get $1) (i32.const 8) ) (i32.load (i32.add (i32.add (local.get $2) (i32.const 16) ) (i32.const 8) ) ) ) (i64.store align=4 (local.get $1) (i64.load offset=16 (local.get $2) ) ) (local.set $5 (i32.add (local.get $5) (i32.const -12) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 12) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 12) ) ) (br $label$4) ) ) (i32.store offset=8 (local.get $0) (i32.add (local.get $6) (i32.and (local.get $4) (i32.const 1073741823) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (return) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (call_indirect (type $i32_i32_=>_none) (local.get $5) (local.get $1) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (func $alloc::vec::Vec::reserve::h1f19ebcf0c7f7960 (; 44 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ge_u (i32.sub (local.tee $3 (i32.load offset=4 (local.get $0) ) ) (local.tee $4 (i32.load offset=8 (local.get $0) ) ) ) (local.get $1) ) ) (br_if $label$2 (i32.lt_u (local.tee $1 (i32.add (local.get $4) (local.get $1) ) ) (local.get $4) ) ) (call $core::alloc::layout::Layout::array::h3864007aafdf18bc (i32.add (local.get $2) (i32.const 8) ) (select (local.tee $1 (select (local.tee $4 (i32.shl (local.get $3) (i32.const 1) ) ) (local.get $1) (i32.gt_u (local.get $4) (local.get $1) ) ) ) (i32.const 4) (i32.gt_u (local.get $1) (i32.const 4) ) ) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $4 (i32.load offset=8 (local.get $2) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.eqz (local.tee $3 (i32.load offset=4 (local.get $0) ) ) ) ) (i32.store (i32.add (local.get $2) (i32.const 40) ) (i32.const 4) ) (i32.store offset=36 (local.get $2) (i32.mul (local.get $3) (i32.const 12) ) ) (i32.store offset=32 (local.get $2) (i32.load (local.get $0) ) ) (br $label$4) ) (i32.store offset=32 (local.get $2) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $2) (i32.const 16) ) (local.get $4) (local.get $1) (i32.add (local.get $2) (i32.const 32) ) ) (local.set $4 (i32.load (i32.add (local.get $2) (i32.const 24) ) ) ) (local.set $1 (i32.load offset=20 (local.get $2) ) ) (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $0) (local.get $1) ) (i32.store offset=4 (local.get $0) (i32.div_u (local.get $4) (i32.const 12) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return) ) (local.set $4 (i32.const 0) ) ) (block $label$6 (br_if $label$6 (i32.eqz (local.get $4) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $1) (local.get $4) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $alloc::vec::Vec::reserve::h463181bd7c1d5d6e (; 45 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ge_u (i32.sub (local.tee $3 (i32.load offset=4 (local.get $0) ) ) (local.tee $4 (i32.load offset=8 (local.get $0) ) ) ) (local.get $1) ) ) (br_if $label$2 (i32.lt_u (local.tee $1 (i32.add (local.get $4) (local.get $1) ) ) (local.get $4) ) ) (call $core::alloc::layout::Layout::array::h20c5f3cc8047aa3a (i32.add (local.get $2) (i32.const 8) ) (select (local.tee $1 (select (local.tee $4 (i32.shl (local.get $3) (i32.const 1) ) ) (local.get $1) (i32.gt_u (local.get $4) (local.get $1) ) ) ) (i32.const 8) (i32.gt_u (local.get $1) (i32.const 8) ) ) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $4 (i32.load offset=8 (local.get $2) ) ) (block $label$4 (block $label$5 (br_if $label$5 (i32.eqz (local.tee $3 (i32.load offset=4 (local.get $0) ) ) ) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 32) ) (i32.const 8) ) (i32.const 1) ) (i32.store offset=36 (local.get $2) (local.get $3) ) (i32.store offset=32 (local.get $2) (i32.load (local.get $0) ) ) (br $label$4) ) (i32.store offset=32 (local.get $2) (i32.const 0) ) ) (call $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (i32.add (local.get $2) (i32.const 16) ) (local.get $4) (local.get $1) (i32.add (local.get $2) (i32.const 32) ) ) (local.set $4 (i32.load (i32.add (local.get $2) (i32.const 24) ) ) ) (local.set $1 (i32.load offset=20 (local.get $2) ) ) (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (i32.store offset=4 (local.get $0) (local.get $4) ) (i32.store (local.get $0) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return) ) (local.set $4 (i32.const 0) ) ) (block $label$6 (br_if $label$6 (i32.eqz (local.get $4) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $1) (local.get $4) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (func $::clone::h750060746238399e (; 46 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (br_if $label$6 (i32.le_s (local.tee $2 (i32.load offset=8 (local.get $1) ) ) (i32.const -1) ) ) (local.set $3 (i32.load (local.get $1) ) ) (block $label$7 (block $label$8 (br_if $label$8 (local.get $2) ) (local.set $1 (i32.const 0) ) (local.set $4 (i32.const 1) ) (br $label$7) ) (local.set $1 (local.get $2) ) (br_if $label$5 (i32.eqz (local.tee $4 (call $__rust_alloc (local.get $2) (i32.const 1) ) ) ) ) ) (br_if $label$2 (i32.ge_u (local.get $1) (local.get $2) ) ) (local.set $5 (select (local.tee $5 (select (local.tee $5 (i32.shl (local.get $1) (i32.const 1) ) ) (local.get $2) (i32.gt_u (local.get $5) (local.get $2) ) ) ) (i32.const 8) (i32.gt_u (local.get $5) (i32.const 8) ) ) ) (block $label$9 (br_if $label$9 (i32.eqz (local.get $1) ) ) (br_if $label$6 (i32.lt_s (local.get $5) (i32.const 0) ) ) (br_if $label$4 (i32.eqz (local.get $4) ) ) (br_if $label$3 (local.tee $4 (call $__rust_realloc (local.get $4) (local.get $1) (i32.const 1) (local.get $5) ) ) ) (br $label$1) ) (br_if $label$4 (i32.ge_s (local.get $5) (i32.const 0) ) ) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (call_indirect (type $i32_i32_=>_none) (local.get $2) (i32.const 1) (select (local.tee $1 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $1) ) ) (unreachable) ) (br_if $label$1 (i32.eqz (local.tee $4 (call $__rust_alloc (local.get $5) (i32.const 1) ) ) ) ) ) (local.set $1 (local.get $5) ) ) (local.set $4 (call $memcpy (local.get $4) (local.get $3) (local.get $2) ) ) (i32.store offset=8 (local.get $0) (local.get $2) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $4) ) (return) ) (call_indirect (type $i32_i32_=>_none) (local.get $5) (i32.const 1) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (func $alloc::raw_vec::finish_grow::h340cf7fef8068e0b (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (global.set $global$0 (local.tee $4 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (block $label$6 (block $label$7 (br_if $label$7 (i32.eqz (local.get $2) ) ) (br_if $label$6 (i32.lt_s (local.get $1) (i32.const 0) ) ) (br_if $label$5 (local.tee $5 (i32.load (local.get $3) ) ) ) (call $alloc::alloc::Global::alloc_impl::hee6d7d593f12eb48.267 (local.get $4) (local.get $1) (local.get $2) ) (local.set $5 (i32.load offset=4 (local.get $4) ) ) (local.set $3 (i32.load (local.get $4) ) ) (br $label$4) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.const 0) ) (br $label$1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (i32.const 0) ) (br $label$1) ) (local.set $6 (i32.load (i32.add (local.get $3) (i32.const 8) ) ) ) (block $label$8 (br_if $label$8 (i32.eqz (local.tee $3 (i32.load offset=4 (local.get $3) ) ) ) ) (br_if $label$2 (i32.eqz (local.tee $3 (call $__rust_realloc (local.get $5) (local.get $3) (local.get $6) (local.get $1) ) ) ) ) (local.set $5 (local.get $1) ) (br $label$3) ) (call $alloc::alloc::Global::alloc_impl::hee6d7d593f12eb48.267 (i32.add (local.get $4) (i32.const 8) ) (local.get $1) (local.get $6) ) (local.set $5 (i32.load offset=12 (local.get $4) ) ) (local.set $3 (i32.load offset=8 (local.get $4) ) ) ) (br_if $label$2 (i32.eqz (local.get $3) ) ) ) (i32.store offset=4 (local.get $0) (local.get $3) ) (i32.store (local.get $0) (i32.const 0) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (local.get $5) ) (br $label$1) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (i32.const 1) ) (i32.store (i32.add (local.get $0) (i32.const 8) ) (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $4) (i32.const 16) ) ) ) (func $core::num::bignum::Big32x40::bit_length::hf8e69dbeda59a24a (; 48 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_if $label$4 (i32.ge_u (local.tee $1 (i32.load (local.get $0) ) ) (i32.const 41) ) ) (block $label$5 (block $label$6 (br_if $label$6 (i32.eqz (local.get $1) ) ) (local.set $3 (i32.add (i32.shr_u (i32.add (local.tee $2 (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const -4) ) (i32.const 2) ) (i32.const 1) ) ) (local.set $4 (i32.const 0) ) (block $label$7 (loop $label$8 (br_if $label$7 (i32.load (i32.add (local.get $0) (local.get $2) ) ) ) (local.set $4 (i32.add (local.get $4) (i32.const 1) ) ) (br_if $label$8 (local.tee $2 (i32.add (local.get $2) (i32.const -4) ) ) ) ) (local.set $4 (local.get $3) ) ) (local.set $2 (i32.sub (local.get $1) (local.get $4) ) ) (br_if $label$3 (i32.lt_u (local.get $1) (local.get $4) ) ) (br_if $label$5 (local.get $2) ) ) (local.set $2 (i32.const 0) ) (br $label$1) ) (local.set $2 (i32.or (i32.sub (i32.shl (local.get $1) (i32.const 5) ) (i32.shl (local.get $4) (i32.const 5) ) ) (i32.const 1) ) ) (loop $label$9 (local.set $1 (i32.shr_u (local.tee $4 (i32.add (local.get $2) (i32.const -2) ) ) (i32.const 5) ) ) (br_if $label$2 (i32.ge_u (local.get $4) (i32.const 1280) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) (br_if $label$1 (i32.and (i32.shr_u (i32.load (i32.add (i32.add (local.get $0) (i32.shl (local.get $1) (i32.const 2) ) ) (i32.const 4) ) ) (i32.and (local.get $4) (i32.const 31) ) ) (i32.const 1) ) ) (br $label$9) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $2) (local.get $1) (i32.const 1055456) ) (unreachable) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (local.get $2) ) (func $no_proto_js::json_flex::json_decode::func::hc3d89694b7eb0879 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) (local.set $10 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $10) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i64.store (local.get $9) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738372) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $9) ) ) (i32.store (local.get $0) (local.get $10) ) (br $label$1) ) (i64.store (i32.add (local.get $8) (i32.const 40) ) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738372) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::hfc45a12610bd3f2a (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) (local.set $10 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $10) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i64.store (local.get $9) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738371) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $9) ) ) (i32.store (local.get $0) (local.get $10) ) (br $label$1) ) (i64.store (i32.add (local.get $8) (i32.const 40) ) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738371) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h2312e9945c16d145 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) (local.set $10 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $10) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i64.store (local.get $9) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738371) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $9) ) ) (i32.store (local.get $0) (local.get $10) ) (br $label$1) ) (i64.store (i32.add (local.get $8) (i32.const 40) ) (i64.const 0) ) (i64.store offset=32 (local.get $8) (i64.const 34359738371) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h1e2c4ab4d322f861 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 7) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$1) ) (i32.store offset=32 (local.get $8) (i32.const 7) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::hfb4c68a8763ba35b (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 6) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$1) ) (i32.store offset=32 (local.get $8) (i32.const 6) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::hf40a3c6eee627e96 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$3 $label$2 (i32.add (i32.load (local.get $1) ) (i32.const -3) ) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (block $label$5 (br_if $label$5 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 5) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) (br $label$2) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) (br $label$1) ) (i32.store offset=32 (local.get $8) (i32.const 5) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $np_factory_new (; 55 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (call $wasm_bindgen::convert::slices::>::from_abi::h49886b509fe81662 (local.get $2) (local.get $0) (local.get $1) ) (i32.store (local.tee $0 (i32.add (i32.add (local.get $2) (i32.const 32) ) (i32.const 8) ) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=32 (local.get $2) (i64.load (local.get $2) ) ) (call $no_proto_js::json_flex::json_decode::hfc4f88b81a751040 (i32.add (local.get $2) (i32.const 16) ) (i32.add (local.get $2) (i32.const 32) ) ) (block $label$1 (br_if $label$1 (i32.eq (i32.load offset=16 (local.get $2) ) (i32.const 1) ) ) (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_table $label$5 $label$2 $label$2 $label$4 $label$3 $label$2 (i32.load (local.tee $0 (i32.load offset=20 (local.get $2) ) ) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $0) (i32.const 4) ) ) (br $label$2) ) (call $\20as\20core::ops::drop::Drop>::drop::h3cf75df786b562b0 (local.tee $1 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h17e13e9916aeb4dc (local.get $1) ) (br $label$2) ) (call $\20as\20core::ops::drop::Drop>::drop::hf60168fba7a1724d (local.tee $1 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h47b4cbd59323139f (local.get $1) ) ) (call $__rust_dealloc (local.get $0) (i32.const 16) (i32.const 8) ) (i32.store offset=24 (local.get $2) (i32.const 0) ) (i64.store offset=16 (local.get $2) (i64.const 1) ) (local.set $0 (call $::return_abi::h93c0c68c99e98ba2 (i32.add (local.get $2) (i32.const 16) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) (return (local.get $0) ) ) (i32.store (local.get $0) (i32.load (i32.add (local.get $2) (i32.const 28) ) ) ) (i64.store offset=32 (local.get $2) (i64.load offset=20 align=4 (local.get $2) ) ) (call $core::option::expect_none_failed::hfb4d9122b88fca19 (i32.const 1060438) (i32.const 43) (i32.add (local.get $2) (i32.const 32) ) (i32.const 1060484) (i32.const 1060500) ) (unreachable) ) (func $::fmt::h887d69ebef9cfcfe (; 56 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $3 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 1059539) (i32.const 9) (i32.load offset=12 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) ) ) (i32.store8 offset=5 (local.get $2) (i32.const 0) ) (i32.store8 offset=4 (local.get $2) (local.get $3) ) (i32.store (local.get $2) (local.get $1) ) (i32.store offset=12 (local.get $2) (local.get $0) ) (drop (call $core::fmt::builders::DebugStruct::field::h3f7747d88f2ca757 (local.get $2) (i32.const 1059548) (i32.add (local.get $2) (i32.const 12) ) (i32.const 1059516) ) ) (local.set $1 (i32.load8_u offset=4 (local.get $2) ) ) (block $label$1 (br_if $label$1 (i32.eqz (i32.load8_u offset=5 (local.get $2) ) ) ) (local.set $0 (i32.and (local.get $1) (i32.const 255) ) ) (local.set $1 (i32.const 1) ) (block $label$2 (br_if $label$2 (local.get $0) ) (local.set $0 (i32.load offset=12 (i32.load (i32.add (local.tee $1 (i32.load (local.get $2) ) ) (i32.const 28) ) ) ) ) (local.set $3 (i32.load offset=24 (local.get $1) ) ) (block $label$3 (br_if $label$3 (i32.and (i32.load8_u (local.get $1) ) (i32.const 4) ) ) (local.set $1 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $3) (i32.const 1059412) (i32.const 2) (local.get $0) ) ) (br $label$2) ) (local.set $1 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $3) (i32.const 1059414) (i32.const 1) (local.get $0) ) ) ) (i32.store8 offset=4 (local.get $2) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (i32.ne (i32.and (local.get $1) (i32.const 255) ) (i32.const 0) ) ) (func $::fmt::hd0a34fb96b167e69 (; 57 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $3 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 1060759) (i32.const 8) (i32.load offset=12 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) ) ) (i32.store8 offset=5 (local.get $2) (i32.const 0) ) (i32.store8 offset=4 (local.get $2) (local.get $3) ) (i32.store (local.get $2) (local.get $1) ) (i32.store offset=12 (local.get $2) (local.get $0) ) (drop (call $core::fmt::builders::DebugStruct::field::h3f7747d88f2ca757 (local.get $2) (i32.const 1060767) (i32.add (local.get $2) (i32.const 12) ) (i32.const 1060776) ) ) (local.set $1 (i32.load8_u offset=4 (local.get $2) ) ) (block $label$1 (br_if $label$1 (i32.eqz (i32.load8_u offset=5 (local.get $2) ) ) ) (local.set $0 (i32.and (local.get $1) (i32.const 255) ) ) (local.set $1 (i32.const 1) ) (block $label$2 (br_if $label$2 (local.get $0) ) (local.set $0 (i32.load offset=12 (i32.load (i32.add (local.tee $1 (i32.load (local.get $2) ) ) (i32.const 28) ) ) ) ) (local.set $3 (i32.load offset=24 (local.get $1) ) ) (block $label$3 (br_if $label$3 (i32.and (i32.load8_u (local.get $1) ) (i32.const 4) ) ) (local.set $1 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $3) (i32.const 1059412) (i32.const 2) (local.get $0) ) ) (br $label$2) ) (local.set $1 (call_indirect (type $i32_i32_i32_=>_i32) (local.get $3) (i32.const 1059414) (i32.const 1) (local.get $0) ) ) ) (i32.store8 offset=4 (local.get $2) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (i32.ne (i32.and (local.get $1) (i32.const 255) ) (i32.const 0) ) ) (func $wee_alloc::WeeAlloc::dealloc_impl::\7b\7bclosure\7d\7d::h3d797b91b598a46a (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (i32.store (local.tee $4 (i32.load (local.get $0) ) ) (i32.const 0) ) (i32.store (local.tee $0 (i32.add (local.get $4) (i32.const -8) ) ) (i32.and (i32.load (local.get $0) ) (i32.const -2) ) ) (block $label$1 (br_if $label$1 (i32.eqz (call_indirect (type $i32_=>_i32) (local.get $2) (i32.load offset=20 (local.get $3) ) ) ) ) (block $label$2 (block $label$3 (br_if $label$3 (i32.eqz (local.tee $2 (i32.and (i32.load (i32.add (local.get $4) (i32.const -4) ) ) (i32.const -4) ) ) ) ) (br_if $label$2 (i32.eqz (i32.and (i32.load8_u (local.get $2) ) (i32.const 1) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $3 (i32.and (local.tee $2 (i32.load (local.get $0) ) ) (i32.const -4) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $2 (select (i32.const 0) (local.get $3) (i32.and (local.get $2) (i32.const 2) ) ) ) ) ) (br_if $label$1 (i32.and (i32.load8_u (local.get $2) ) (i32.const 1) ) ) (i32.store (local.get $4) (i32.and (i32.load offset=8 (local.get $2) ) (i32.const -4) ) ) (i32.store offset=8 (local.get $2) (i32.or (local.get $0) (i32.const 1) ) ) (return) ) (call $wee_alloc::neighbors::Neighbors::remove::h6b7cfe31ea6fd286 (local.get $0) ) (block $label$4 (br_if $label$4 (i32.eqz (i32.and (i32.load8_u (local.get $0) ) (i32.const 2) ) ) ) (i32.store (local.get $2) (i32.or (i32.load (local.get $2) ) (i32.const 2) ) ) ) (return) ) (i32.store (local.get $4) (i32.load (local.get $1) ) ) (i32.store (local.get $1) (local.get $0) ) ) (func $no_proto_js::json_flex::json_decode::func::h9aa28653016b53a2 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (br_if $label$2 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 7) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$1) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h23b859e3f0f6fedb (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (br_if $label$2 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 6) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$1) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h3e3160e80178fa59 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (local $9 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ne (i32.load (local.get $1) ) (i32.const 3) ) ) (call $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (i32.add (local.get $8) (i32.const 32) ) (select (i32.add (i32.add (i32.mul (local.tee $9 (i32.load offset=8 (local.get $4) ) ) (i32.const 12) ) (i32.load (local.get $4) ) ) (i32.const -12) ) (i32.const 0) (local.get $9) ) ) (local.set $9 (i32.load offset=36 (local.get $8) ) ) (br_if $label$2 (i32.eq (i32.load offset=32 (local.get $8) ) (i32.const 1) ) ) (call $::clone::h750060746238399e (local.get $8) (local.get $9) ) (i32.store (i32.add (i32.add (local.get $8) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $8) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $8) (i64.load (local.get $8) ) ) (i32.store offset=32 (local.get $8) (i32.const 5) ) (call $no_proto_js::json_flex::JSMAP::insert::hfd0068740cd13a26 (i32.add (local.get $1) (i32.const 4) ) (i32.add (local.get $8) (i32.const 16) ) (i32.add (local.get $8) (i32.const 32) ) ) ) (i32.store (local.get $0) (i32.const 0) ) (br $label$1) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (i32.add (i32.add (local.get $8) (i32.const 32) ) (i32.const 8) ) ) ) (i32.store (local.get $0) (local.get $9) ) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 48) ) ) ) (func $core::num::diy_float::Fp::normalize::hcdf791db850d27a8 (; 62 ;) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (i64.store (local.get $0) (i64.shl (local.tee $1 (select (i64.shl (local.tee $1 (select (i64.shl (local.tee $1 (select (i64.shl (local.tee $1 (select (i64.shl (local.tee $1 (select (i64.shl (local.get $1) (i64.const 32) ) (local.get $1) (local.tee $3 (i64.lt_u (local.get $1) (i64.const 4294967296) ) ) ) ) (i64.const 16) ) (local.get $1) (local.tee $4 (i64.lt_u (local.get $1) (i64.const 281474976710656) ) ) ) ) (i64.const 8) ) (local.get $1) (local.tee $5 (i64.lt_u (local.get $1) (i64.const 72057594037927936) ) ) ) ) (i64.const 4) ) (local.get $1) (local.tee $6 (i64.lt_u (local.get $1) (i64.const 1152921504606846976) ) ) ) ) (i64.const 2) ) (local.get $1) (local.tee $7 (i64.lt_u (local.get $1) (i64.const 4611686018427387904) ) ) ) ) (i64.shr_u (i64.xor (local.get $1) (i64.const -1) ) (i64.const 63) ) ) ) (i32.store16 offset=8 (local.get $0) (i32.add (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (i32.add (local.tee $2 (select (i32.add (local.get $2) (i32.const -32) ) (local.get $2) (local.get $3) ) ) (i32.const -16) ) (local.get $2) (local.get $4) ) ) (i32.const -8) ) (local.get $2) (local.get $5) ) ) (i32.const -4) ) (local.get $2) (local.get $6) ) ) (i32.const -2) ) (local.get $2) (local.get $7) ) (i32.xor (i32.wrap_i64 (i64.shr_s (local.get $1) (i64.const 63) ) ) (i32.const -1) ) ) ) ) (func $\20as\20core::clone::Clone>::clone::hb2ed7288767aec08 (; 63 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $3 (i32.load (local.get $1) ) ) (call $core::alloc::layout::Layout::array::h8b727bfea893888b (i32.add (local.get $2) (i32.const 8) ) (local.tee $1 (i32.load offset=8 (local.get $1) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (local.tee $4 (i32.load offset=12 (local.get $2) ) ) ) ) (br_if $label$2 (i32.le_s (local.tee $5 (i32.load offset=8 (local.get $2) ) ) (i32.const -1) ) ) (call $::alloc::hbd6aa0d1925f7b82 (local.get $2) (local.get $5) (local.get $4) ) (br_if $label$1 (i32.eqz (local.tee $6 (i32.load (local.get $2) ) ) ) ) (local.set $4 (i32.load offset=4 (local.get $2) ) ) (i32.store offset=8 (local.get $0) (i32.const 0) ) (i32.store (local.get $0) (local.get $6) ) (i32.store offset=4 (local.get $0) (i32.shr_u (local.get $4) (i32.const 3) ) ) (call $alloc::vec::Vec::reserve::h08d2964d681bfd3a (local.get $0) (local.get $1) ) (drop (call $memcpy (i32.add (i32.load (local.get $0) ) (i32.shl (local.tee $4 (i32.load offset=8 (local.get $0) ) ) (i32.const 3) ) ) (local.get $3) (i32.shl (local.get $1) (i32.const 3) ) ) ) (i32.store offset=8 (local.get $0) (i32.add (local.get $4) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (return) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (call_indirect (type $i32_i32_=>_none) (local.get $5) (local.get $4) (select (local.tee $0 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $0) ) ) (unreachable) ) (func $core::num::bignum::Big32x40::sub::h452934b6c2529701 (; 64 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (block $label$1 (block $label$2 (br_if $label$2 (i32.ge_u (local.tee $4 (select (local.tee $2 (i32.load (local.get $0) ) ) (local.tee $3 (i32.load (local.get $1) ) ) (i32.gt_u (local.get $2) (local.get $3) ) ) ) (i32.const 41) ) ) (br_if $label$1 (i32.eqz (local.get $4) ) ) (local.set $2 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 4) ) ) (local.set $5 (local.get $4) ) (local.set $6 (i32.const 1) ) (loop $label$3 (i32.store (local.get $2) (local.tee $6 (i32.add (local.tee $3 (i32.add (local.tee $7 (i32.load (local.get $2) ) ) (i32.xor (i32.load (local.get $1) ) (i32.const -1) ) ) ) (i32.and (local.get $6) (i32.const 1) ) ) ) ) (local.set $6 (i32.or (i32.lt_u (local.get $3) (local.get $7) ) (i32.lt_u (local.get $6) (local.get $3) ) ) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 4) ) ) (br_if $label$3 (local.tee $5 (i32.add (local.get $5) (i32.const -1) ) ) ) ) (br_if $label$1 (local.get $6) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1058960) (i32.const 26) (i32.const 1055456) ) (unreachable) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $4) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (i32.store (local.get $0) (local.get $4) ) (local.get $0) ) (func $::dealloc::hbec779c3df0acedf (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.eqz (local.get $0) ) ) (i32.store offset=4 (local.get $3) (local.get $0) ) (br_if $label$1 (i32.eqz (local.get $1) ) ) (block $label$2 (br_if $label$2 (i32.gt_u (local.get $2) (i32.const 4) ) ) (br_if $label$2 (i32.gt_u (local.tee $0 (i32.add (i32.shr_u (i32.add (local.get $1) (i32.const 3) ) (i32.const 2) ) (i32.const -1) ) ) (i32.const 255) ) ) (i32.store offset=8 (local.get $3) (i32.const 1061064) ) (i32.store offset=12 (local.get $3) (i32.load (local.tee $0 (i32.add (i32.shl (local.get $0) (i32.const 2) ) (i32.const 1061068) ) ) ) ) (call $wee_alloc::WeeAlloc::dealloc_impl::\7b\7bclosure\7d\7d::h3d797b91b598a46a (i32.add (local.get $3) (i32.const 4) ) (i32.add (local.get $3) (i32.const 12) ) (i32.add (local.get $3) (i32.const 8) ) (i32.const 1061012) ) (i32.store (local.get $0) (i32.load offset=12 (local.get $3) ) ) (br $label$1) ) (i32.store offset=12 (local.get $3) (i32.load offset=1061064 (i32.const 0) ) ) (call $wee_alloc::WeeAlloc::dealloc_impl::\7b\7bclosure\7d\7d::h3d797b91b598a46a (i32.add (local.get $3) (i32.const 4) ) (i32.add (local.get $3) (i32.const 12) ) (i32.const 1060988) (i32.const 1061036) ) (i32.store offset=1061064 (i32.const 0) (i32.load offset=12 (local.get $3) ) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 16) ) ) ) (func $::alloc::h1b2179d52cd9f163 (; 66 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.eqz (local.get $0) ) ) (local.set $0 (i32.shr_u (i32.add (local.get $0) (i32.const 3) ) (i32.const 2) ) ) (block $label$2 (br_if $label$2 (i32.gt_u (local.get $1) (i32.const 4) ) ) (br_if $label$2 (i32.gt_u (local.tee $3 (i32.add (local.get $0) (i32.const -1) ) ) (i32.const 255) ) ) (i32.store offset=4 (local.get $2) (i32.const 1061064) ) (i32.store offset=12 (local.get $2) (i32.load (local.tee $3 (i32.add (i32.shl (local.get $3) (i32.const 2) ) (i32.const 1061068) ) ) ) ) (local.set $1 (call $wee_alloc::alloc_with_refill::h6c8b9075d9264d53 (local.get $0) (local.get $1) (i32.add (local.get $2) (i32.const 12) ) (i32.add (local.get $2) (i32.const 4) ) (i32.const 1061012) ) ) (i32.store (local.get $3) (i32.load offset=12 (local.get $2) ) ) (br $label$1) ) (i32.store offset=8 (local.get $2) (i32.load offset=1061064 (i32.const 0) ) ) (local.set $1 (call $wee_alloc::alloc_with_refill::h6c8b9075d9264d53 (local.get $0) (local.get $1) (i32.add (local.get $2) (i32.const 8) ) (i32.const 1060988) (i32.const 1061036) ) ) (i32.store offset=1061064 (i32.const 0) (i32.load offset=8 (local.get $2) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (local.get $1) ) (func $core::num::dec2flt::rawfp::prev_float::h6b8d66125a9c1482 (; 67 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i64) (global.set $global$0 (local.tee $1 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_table $label$4 $label$5 $label$2 $label$3 $label$1 $label$4 (i32.and (call $core::f64::::classify::h15a776df3c0ade11 (local.get $0) ) (i32.const 255) ) ) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1059893) (i32.const 32) (i32.const 1059928) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1059944) (i32.const 27) (i32.const 1059972) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1059988) (i32.const 33) (i32.const 1060024) ) (unreachable) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060040) (i32.const 28) (i32.const 1060068) ) (unreachable) ) (call $::unpack::h8252f087f2ee4dcb (local.get $1) (local.get $0) ) (local.set $2 (i32.load16_u offset=8 (local.get $1) ) ) (block $label$6 (block $label$7 (br_if $label$7 (i64.eq (local.tee $3 (i64.load (local.get $1) ) ) (i64.const 4503599627370496) ) ) (local.set $3 (i64.add (local.get $3) (i64.const -1) ) ) (br $label$6) ) (local.set $2 (i32.add (local.get $2) (i32.const -1) ) ) (local.set $3 (i64.const 9007199254740991) ) ) (global.set $global$0 (i32.add (local.get $1) (i32.const 16) ) ) (f64.reinterpret_i64 (i64.or (i64.shl (i64.extend_i32_u (i32.add (local.get $2) (i32.const 1075) ) ) (i64.const 52) ) (i64.and (local.get $3) (i64.const -4503599627370497) ) ) ) ) (func $np_factory_compile_schema (; 68 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (call $wasm_bindgen::__rt::assert_not_null::h31b0a610d332fa5c (local.get $1) ) (block $label$1 (br_if $label$1 (i32.ne (local.tee $3 (i32.load (local.get $1) ) ) (i32.const -1) ) ) (call $wasm_bindgen::__rt::borrow_fail::heb239d2387bd8127) (unreachable) ) (i32.store (local.get $1) (i32.add (local.get $3) (i32.const 1) ) ) (local.set $3 (i32.load offset=4 (local.get $1) ) ) (call $alloc::raw_vec::RawVec::allocate_in::had0f7e65708dfbdc (i32.add (local.get $2) (i32.const 8) ) (local.tee $4 (i32.load (i32.add (local.get $1) (i32.const 12) ) ) ) ) (i32.store offset=24 (local.get $2) (i32.const 0) ) (i64.store offset=16 (local.get $2) (i64.load offset=8 (local.get $2) ) ) (call $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (i32.add (local.get $2) (i32.const 16) ) (local.get $3) (local.get $4) ) (i32.store (local.get $1) (i32.add (i32.load (local.get $1) ) (i32.const -1) ) ) (i32.store (i32.add (local.get $2) (i32.const 40) ) (i32.load offset=24 (local.get $2) ) ) (i64.store offset=32 (local.get $2) (i64.load offset=16 (local.get $2) ) ) (call $alloc::vec::Vec::into_boxed_slice::h894abfa2fa26c444 (local.get $2) (i32.add (local.get $2) (i32.const 32) ) ) (i64.store (local.get $0) (i64.load (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 48) ) ) ) (func $>::from::hff684c45a9202164 (; 69 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 64) ) ) ) (i32.store8 offset=15 (local.get $2) (local.get $1) ) (i32.store offset=24 (local.get $2) (i32.const 0) ) (i64.store offset=16 (local.get $2) (i64.const 1) ) (i32.store offset=28 (local.get $2) (i32.add (local.get $2) (i32.const 15) ) ) (i32.store (i32.add (local.get $2) (i32.const 52) ) (i32.const 1) ) (i64.store offset=36 align=4 (local.get $2) (i64.const 1) ) (i32.store offset=32 (local.get $2) (i32.const 1060552) ) (i32.store offset=60 (local.get $2) (i32.const 25) ) (i32.store offset=48 (local.get $2) (i32.add (local.get $2) (i32.const 56) ) ) (i32.store offset=56 (local.get $2) (i32.add (local.get $2) (i32.const 28) ) ) (call $core::result::Result::expect::hb1318abf5941cb99 (call $core::fmt::Write::write_fmt::h33b817fd228be1ed (i32.add (local.get $2) (i32.const 16) ) (i32.add (local.get $2) (i32.const 32) ) ) ) (call $alloc::vec::Vec::shrink_to_fit::h0118dcbd3e3be64e (i32.add (local.get $2) (i32.const 16) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $0) (i32.load offset=16 (local.get $2) ) (i32.load offset=24 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 16) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 64) ) ) ) (func $>::from::h2cadccf0b1b1ad3d (; 70 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 64) ) ) ) (i32.store8 offset=15 (local.get $2) (local.get $1) ) (i32.store offset=24 (local.get $2) (i32.const 0) ) (i64.store offset=16 (local.get $2) (i64.const 1) ) (i32.store offset=28 (local.get $2) (i32.add (local.get $2) (i32.const 15) ) ) (i32.store (i32.add (local.get $2) (i32.const 52) ) (i32.const 1) ) (i64.store offset=36 align=4 (local.get $2) (i64.const 1) ) (i32.store offset=32 (local.get $2) (i32.const 1060552) ) (i32.store offset=60 (local.get $2) (i32.const 26) ) (i32.store offset=48 (local.get $2) (i32.add (local.get $2) (i32.const 56) ) ) (i32.store offset=56 (local.get $2) (i32.add (local.get $2) (i32.const 28) ) ) (call $core::result::Result::expect::hb1318abf5941cb99 (call $core::fmt::Write::write_fmt::h33b817fd228be1ed (i32.add (local.get $2) (i32.const 16) ) (i32.add (local.get $2) (i32.const 32) ) ) ) (call $alloc::vec::Vec::shrink_to_fit::h0118dcbd3e3be64e (i32.add (local.get $2) (i32.const 16) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $0) (i32.load offset=16 (local.get $2) ) (i32.load offset=24 (local.get $2) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $2) (i32.const 16) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 64) ) ) ) (func $::new_cell_for_free_list::hd1aa804d330bbf31 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (global.set $global$0 (local.tee $4 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (i32.store offset=12 (local.get $4) (i32.load (local.tee $1 (i32.load (local.get $1) ) ) ) ) (local.set $2 (call $wee_alloc::alloc_with_refill::h6c8b9075d9264d53 (local.tee $5 (select (local.tee $2 (i32.mul (local.tee $2 (i32.add (local.get $2) (i32.const 2) ) ) (local.get $2) ) ) (i32.const 2048) (i32.gt_u (local.get $2) (i32.const 2048) ) ) ) (i32.const 4) (i32.add (local.get $4) (i32.const 12) ) (i32.const 1060988) (i32.const 1060988) ) ) (i32.store (local.get $1) (i32.load offset=12 (local.get $4) ) ) (block $label$1 (block $label$2 (br_if $label$2 (local.get $2) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i64.store offset=4 align=4 (local.get $2) (i64.const 0) ) (i32.store (local.get $2) (i32.or (i32.add (local.get $2) (i32.shl (local.get $5) (i32.const 2) ) ) (i32.const 2) ) ) (local.set $1 (i32.const 0) ) ) (i32.store offset=4 (local.get $0) (local.get $2) ) (i32.store (local.get $0) (local.get $1) ) (global.set $global$0 (i32.add (local.get $4) (i32.const 16) ) ) ) (func $core::num::bignum::Big32x40::from_u64::h15642f9eba34f863 (; 72 ;) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 160) ) ) ) (local.set $3 (i32.const 0) ) (local.set $4 (call $memset (local.get $2) (i32.const 0) (i32.const 160) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i64.eqz (local.get $1) ) ) (local.set $3 (i32.const 0) ) (local.set $2 (local.get $4) ) (loop $label$3 (br_if $label$1 (i32.eq (local.get $3) (i32.const 40) ) ) (i64.store32 (local.get $2) (local.get $1) ) (local.set $2 (i32.add (local.get $2) (i32.const 4) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$3 (i32.eqz (i64.eqz (local.tee $1 (i64.shr_u (local.get $1) (i64.const 32) ) ) ) ) ) ) ) (i32.store (local.get $0) (local.get $3) ) (drop (call $memcpy (i32.add (local.get $0) (i32.const 4) ) (local.get $4) (i32.const 160) ) ) (global.set $global$0 (i32.add (local.get $4) (i32.const 160) ) ) (return) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (i32.const 40) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (func $wee_alloc::neighbors::Neighbors::remove::h6b7cfe31ea6fd286 (; 73 ;) (param $0 i32) (local $1 i32) (local $2 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $2 (i32.and (local.tee $1 (i32.load (local.get $0) ) ) (i32.const -4) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $1 (select (i32.const 0) (local.get $2) (i32.and (local.get $1) (i32.const 2) ) ) ) ) ) (i32.store offset=4 (local.get $1) (i32.or (i32.and (i32.load offset=4 (local.get $1) ) (i32.const 3) ) (i32.and (i32.load offset=4 (local.get $0) ) (i32.const -4) ) ) ) ) (block $label$2 (br_if $label$2 (i32.eqz (local.tee $2 (i32.and (local.tee $1 (i32.load offset=4 (local.get $0) ) ) (i32.const -4) ) ) ) ) (i32.store (local.get $2) (i32.or (i32.and (i32.load (local.get $2) ) (i32.const 3) ) (i32.and (i32.load (local.get $0) ) (i32.const -4) ) ) ) (local.set $1 (i32.load offset=4 (local.get $0) ) ) ) (i32.store offset=4 (local.get $0) (i32.and (local.get $1) (i32.const 3) ) ) (i32.store (local.get $0) (i32.and (i32.load (local.get $0) ) (i32.const 3) ) ) ) (func $::cmp::he74f92cccc5b0362 (; 74 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (br_if $label$1 (i32.ge_u (local.tee $2 (select (local.tee $2 (i32.load (local.get $0) ) ) (local.tee $3 (i32.load (local.get $1) ) ) (i32.gt_u (local.get $2) (local.get $3) ) ) ) (i32.const 41) ) ) (local.set $2 (i32.shl (local.get $2) (i32.const 2) ) ) (loop $label$2 (block $label$3 (br_if $label$3 (local.get $2) ) (return (select (i32.const -1) (i32.const 0) (local.get $2) ) ) ) (local.set $3 (i32.add (local.get $1) (local.get $2) ) ) (local.set $4 (i32.add (local.get $0) (local.get $2) ) ) (local.set $2 (i32.add (local.get $2) (i32.const -4) ) ) (br_if $label$2 (i32.eqz (local.tee $3 (select (i32.const -1) (i32.ne (local.tee $4 (i32.load (local.get $4) ) ) (local.tee $3 (i32.load (local.get $3) ) ) ) (i32.lt_u (local.get $4) (local.get $3) ) ) ) ) ) ) (return (local.get $3) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $2) (i32.const 40) (i32.const 1055456) ) (unreachable) ) (func $__multi3 (; 75 ;) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i64) (local $6 i64) (i64.store offset=8 (local.get $0) (i64.add (i64.add (i64.add (i64.add (i64.mul (local.tee $5 (i64.shr_u (local.get $3) (i64.const 32) ) ) (local.tee $6 (i64.shr_u (local.get $1) (i64.const 32) ) ) ) (i64.mul (local.get $3) (local.get $2) ) ) (i64.mul (local.get $4) (local.get $1) ) ) (i64.shr_u (local.tee $3 (i64.add (i64.shr_u (local.tee $4 (i64.mul (local.tee $3 (i64.and (local.get $3) (i64.const 4294967295) ) ) (local.tee $1 (i64.and (local.get $1) (i64.const 4294967295) ) ) ) ) (i64.const 32) ) (i64.mul (local.get $3) (local.get $6) ) ) ) (i64.const 32) ) ) (i64.shr_u (local.tee $3 (i64.add (i64.and (local.get $3) (i64.const 4294967295) ) (i64.mul (local.get $5) (local.get $1) ) ) ) (i64.const 32) ) ) ) (i64.store (local.get $0) (i64.or (i64.shl (local.get $3) (i64.const 32) ) (i64.and (local.get $4) (i64.const 4294967295) ) ) ) ) (func $\20as\20core::fmt::Debug>::fmt::h63f8d8607f5d7b8e (; 76 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (call $core::fmt::num::::fmt::h0411e69d8afbaeaa (i32.load (local.get $0) ) (local.get $1) ) ) (local.set $3 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) (local.set $4 (i32.load offset=24 (local.get $1) ) ) (i32.store (i32.add (local.get $2) (i32.const 28) ) (i32.const 0) ) (i32.store offset=24 (local.get $2) (i32.const 1060988) ) (i64.store offset=12 align=4 (local.get $2) (i64.const 1) ) (i32.store offset=8 (local.get $2) (i32.const 1056372) ) (br_if $label$1 (i32.eqz (call $core::fmt::write::hfcb8d6ce1f04d65f (local.get $4) (local.get $3) (i32.add (local.get $2) (i32.const 8) ) ) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (return (i32.const 1) ) ) (local.set $1 (call $core::fmt::num::::fmt::h0411e69d8afbaeaa (i32.load offset=4 (local.get $0) ) (local.get $1) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $1) ) (func $alloc::raw_vec::RawVec::allocate_in::had0f7e65708dfbdc (; 77 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (call $core::alloc::layout::Layout::array::h20c5f3cc8047aa3a (i32.add (local.get $2) (i32.const 8) ) (local.get $1) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (local.tee $1 (i32.load offset=12 (local.get $2) ) ) ) ) (br_if $label$2 (i32.le_s (local.tee $3 (i32.load offset=8 (local.get $2) ) ) (i32.const -1) ) ) (call $::alloc::hbd6aa0d1925f7b82 (local.get $2) (local.get $3) (local.get $1) ) (br_if $label$1 (i32.eqz (local.tee $4 (i32.load (local.get $2) ) ) ) ) (local.set $1 (i32.load offset=4 (local.get $2) ) ) (i32.store (local.get $0) (local.get $4) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) (return) ) (call $alloc::raw_vec::capacity_overflow::h21b1a1c890056150) (unreachable) ) (call_indirect (type $i32_i32_=>_none) (local.get $3) (local.get $1) (select (local.tee $2 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $2) ) ) (unreachable) ) (func $core::option::expect_none_failed::hfb4d9122b88fca19 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (global.set $global$0 (local.tee $5 (i32.sub (global.get $global$0) (i32.const 64) ) ) ) (i32.store offset=12 (local.get $5) (local.get $1) ) (i32.store offset=8 (local.get $5) (local.get $0) ) (i32.store offset=20 (local.get $5) (local.get $3) ) (i32.store offset=16 (local.get $5) (local.get $2) ) (i32.store (i32.add (local.get $5) (i32.const 44) ) (i32.const 2) ) (i32.store (i32.add (local.get $5) (i32.const 60) ) (i32.const 31) ) (i64.store offset=28 align=4 (local.get $5) (i64.const 2) ) (i32.store offset=24 (local.get $5) (i32.const 1059168) ) (i32.store offset=52 (local.get $5) (i32.const 27) ) (i32.store offset=40 (local.get $5) (i32.add (local.get $5) (i32.const 48) ) ) (i32.store offset=56 (local.get $5) (i32.add (local.get $5) (i32.const 16) ) ) (i32.store offset=48 (local.get $5) (i32.add (local.get $5) (i32.const 8) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $5) (i32.const 24) ) (local.get $4) ) (unreachable) ) (func $std::panicking::rust_panic_with_hook::hc3afc981c0e7d6a8 (; 79 ;) (local $0 i32) (local $1 i32) (i32.store offset=1062092 (i32.const 0) (i32.add (i32.load offset=1062092 (i32.const 0) ) (i32.const 1) ) ) (block $label$1 (block $label$2 (block $label$3 (br_if $label$3 (i32.ne (i32.load offset=1062096 (i32.const 0) ) (i32.const 1) ) ) (i32.store offset=1062100 (i32.const 0) (local.tee $0 (i32.add (i32.load offset=1062100 (i32.const 0) ) (i32.const 1) ) ) ) (br_if $label$1 (i32.gt_u (local.get $0) (i32.const 2) ) ) (br_if $label$2 (i32.gt_s (local.tee $1 (i32.load offset=1062104 (i32.const 0) ) ) (i32.const -1) ) ) (br $label$1) ) (i64.store offset=1062096 (i32.const 0) (i64.const 4294967297) ) (br_if $label$1 (i32.lt_s (local.tee $0 (i32.load offset=1062104 (i32.const 0) ) ) (i32.const 0) ) ) (i32.store offset=1062104 (i32.const 0) (local.get $0) ) (call $rust_panic) (unreachable) ) (i32.store offset=1062104 (i32.const 0) (local.get $1) ) (br_if $label$1 (i32.gt_u (local.get $0) (i32.const 1) ) ) (call $rust_panic) (unreachable) ) (unreachable) ) (func $__wbg_np_factory_free (; 80 ;) (param $0 i32) (local $1 i32) (local $2 i64) (global.set $global$0 (local.tee $1 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (call $wasm_bindgen::__rt::assert_not_null::h31b0a610d332fa5c (local.get $0) ) (block $label$1 (br_if $label$1 (i32.eqz (i32.load (local.get $0) ) ) ) (call $wasm_bindgen::__rt::borrow_fail::heb239d2387bd8127) (unreachable) ) (i32.store (local.get $0) (i32.const 0) ) (i64.store (i32.add (i32.add (local.get $1) (i32.const 16) ) (i32.const 8) ) (i64.load align=4 (i32.add (local.get $0) (i32.const 8) ) ) ) (local.set $2 (i64.load align=4 (local.get $0) ) ) (i32.store (i32.add (local.get $1) (i32.const 8) ) (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) (i64.store offset=16 (local.get $1) (local.get $2) ) (i64.store (local.get $1) (i64.load offset=20 align=4 (local.get $1) ) ) (call $__rust_dealloc (local.get $0) (i32.const 16) (i32.const 4) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $1) ) (global.set $global$0 (i32.add (local.get $1) (i32.const 32) ) ) ) (func $::new_cell_for_free_list::h0c04f2610c72f4be (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (block $label$1 (block $label$2 (br_if $label$2 (i32.ne (local.tee $3 (memory.grow (i32.shr_u (local.tee $2 (i32.add (select (local.tee $2 (i32.shl (local.get $2) (i32.const 2) ) ) (local.tee $3 (i32.add (i32.shl (local.get $3) (i32.const 3) ) (i32.const 16384) ) ) (i32.gt_u (local.get $2) (local.get $3) ) ) (i32.const 65543) ) ) (i32.const 16) ) ) ) (i32.const -1) ) ) (local.set $2 (i32.const 1) ) (local.set $3 (i32.const 0) ) (br $label$1) ) (i64.store offset=4 align=4 (local.tee $3 (i32.shl (local.get $3) (i32.const 16) ) ) (i64.const 0) ) (i32.store (local.get $3) (i32.or (i32.add (local.get $3) (i32.and (local.get $2) (i32.const -65536) ) ) (i32.const 2) ) ) (local.set $2 (i32.const 0) ) ) (i32.store offset=4 (local.get $0) (local.get $3) ) (i32.store (local.get $0) (local.get $2) ) ) (func $::return_abi::h93c0c68c99e98ba2 (; 82 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (global.set $global$0 (local.tee $1 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (i32.store (local.tee $2 (i32.add (local.get $1) (i32.const 8) ) ) (i32.load (i32.add (local.get $0) (i32.const 8) ) ) ) (i64.store (local.get $1) (i64.load align=4 (local.get $0) ) ) (block $label$1 (br_if $label$1 (local.tee $0 (call $__rust_alloc (i32.const 16) (i32.const 4) ) ) ) (call_indirect (type $i32_i32_=>_none) (i32.const 16) (i32.const 4) (select (local.tee $1 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $1) ) ) (unreachable) ) (i32.store (local.get $0) (i32.const 0) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $1) ) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $1) (i32.const 16) ) ) (local.get $0) ) (func $alloc::vec::Vec::shrink_to_fit::h0118dcbd3e3be64e (; 83 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (block $label$1 (br_if $label$1 (i32.le_u (local.tee $1 (i32.load offset=4 (local.get $0) ) ) (local.tee $2 (i32.load offset=8 (local.get $0) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $3 (select (i32.load (local.get $0) ) (i32.const 0) (local.get $1) ) ) ) ) (block $label$2 (block $label$3 (br_if $label$3 (i32.eqz (local.get $2) ) ) (br_if $label$2 (local.tee $4 (call $__rust_realloc (local.get $3) (local.get $1) (i32.const 1) (local.get $2) ) ) ) (call_indirect (type $i32_i32_=>_none) (local.get $2) (i32.const 1) (select (local.tee $0 (i32.load offset=1062108 (i32.const 0) ) ) (i32.const 2) (local.get $0) ) ) (unreachable) ) (local.set $4 (i32.const 1) ) (call $::dealloc::h7d18116f3752b586.270 (local.get $3) (local.get $1) (i32.const 1) ) ) (i32.store offset=4 (local.get $0) (local.get $2) ) (i32.store (local.get $0) (local.get $4) ) ) ) (func $no_proto_js::error::NP_Error::unwrap::h2a35cd0bfa5f989e (; 84 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.load (local.get $1) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $2) (i32.const 1060526) (i32.const 24) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $2) ) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i64.store offset=4 align=4 (local.get $0) (i64.load align=4 (local.get $1) ) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $1) (i32.const 8) ) ) ) (local.set $1 (i32.const 0) ) ) (i32.store (local.get $0) (local.get $1) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store offset=4 (local.get $3) (local.get $1) ) (i32.store (local.get $3) (local.get $0) ) (i32.store (i32.add (local.get $3) (i32.const 28) ) (i32.const 2) ) (i32.store (i32.add (local.get $3) (i32.const 44) ) (i32.const 1) ) (i64.store offset=12 align=4 (local.get $3) (i64.const 2) ) (i32.store offset=8 (local.get $3) (i32.const 1055504) ) (i32.store offset=36 (local.get $3) (i32.const 1) ) (i32.store offset=24 (local.get $3) (i32.add (local.get $3) (i32.const 32) ) ) (i32.store offset=40 (local.get $3) (i32.add (local.get $3) (i32.const 4) ) ) (i32.store offset=32 (local.get $3) (local.get $3) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $3) (i32.const 8) ) (local.get $2) ) (unreachable) ) (func $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store offset=4 (local.get $3) (local.get $1) ) (i32.store (local.get $3) (local.get $0) ) (i32.store (i32.add (local.get $3) (i32.const 28) ) (i32.const 2) ) (i32.store (i32.add (local.get $3) (i32.const 44) ) (i32.const 1) ) (i64.store offset=12 align=4 (local.get $3) (i64.const 2) ) (i32.store offset=8 (local.get $3) (i32.const 1055104) ) (i32.store offset=36 (local.get $3) (i32.const 1) ) (i32.store offset=24 (local.get $3) (i32.add (local.get $3) (i32.const 32) ) ) (i32.store offset=40 (local.get $3) (local.get $3) ) (i32.store offset=32 (local.get $3) (i32.add (local.get $3) (i32.const 4) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $3) (i32.const 8) ) (local.get $2) ) (unreachable) ) (func $core::slice::slice_start_index_len_fail::h4a1e5ee8e8253fb6 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store offset=4 (local.get $3) (local.get $1) ) (i32.store (local.get $3) (local.get $0) ) (i32.store (i32.add (local.get $3) (i32.const 28) ) (i32.const 2) ) (i32.store (i32.add (local.get $3) (i32.const 44) ) (i32.const 1) ) (i64.store offset=12 align=4 (local.get $3) (i64.const 2) ) (i32.store offset=8 (local.get $3) (i32.const 1056464) ) (i32.store offset=36 (local.get $3) (i32.const 1) ) (i32.store offset=24 (local.get $3) (i32.add (local.get $3) (i32.const 32) ) ) (i32.store offset=40 (local.get $3) (i32.add (local.get $3) (i32.const 4) ) ) (i32.store offset=32 (local.get $3) (local.get $3) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $3) (i32.const 8) ) (local.get $2) ) (unreachable) ) (func $core::slice::slice_index_order_fail::h604d37dc72f0cca0 (; 88 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 48) ) ) ) (i32.store offset=4 (local.get $2) (local.get $1) ) (i32.store (local.get $2) (local.get $0) ) (i32.store (i32.add (local.get $2) (i32.const 28) ) (i32.const 2) ) (i32.store (i32.add (local.get $2) (i32.const 44) ) (i32.const 1) ) (i64.store offset=12 align=4 (local.get $2) (i64.const 2) ) (i32.store offset=8 (local.get $2) (i32.const 1057948) ) (i32.store offset=36 (local.get $2) (i32.const 1) ) (i32.store offset=24 (local.get $2) (i32.add (local.get $2) (i32.const 32) ) ) (i32.store offset=40 (local.get $2) (i32.add (local.get $2) (i32.const 4) ) ) (i32.store offset=32 (local.get $2) (local.get $2) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (i32.add (local.get $2) (i32.const 8) ) (i32.const 1056608) ) (unreachable) ) (func $wee_alloc::alloc_with_refill::h6c8b9075d9264d53 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (global.set $global$0 (local.tee $5 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (local.tee $6 (call $wee_alloc::alloc_first_fit::h43afa3d343f3a65a (local.get $0) (local.get $1) (local.get $2) (local.get $3) (local.get $4) ) ) ) (call_indirect (type $i32_i32_i32_i32_=>_none) (i32.add (local.get $5) (i32.const 8) ) (local.get $3) (local.get $0) (local.get $1) (i32.load offset=12 (local.get $4) ) ) (local.set $6 (i32.const 0) ) (br_if $label$1 (i32.load offset=8 (local.get $5) ) ) (i32.store offset=8 (local.tee $6 (i32.load offset=12 (local.get $5) ) ) (i32.load (local.get $2) ) ) (i32.store (local.get $2) (local.get $6) ) (local.set $6 (call $wee_alloc::alloc_first_fit::h43afa3d343f3a65a (local.get $0) (local.get $1) (local.get $2) (local.get $3) (local.get $4) ) ) ) (global.set $global$0 (i32.add (local.get $5) (i32.const 16) ) ) (local.get $6) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_fmt::hff4bf8fb7188e977 (; 90 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (i32.store offset=4 (local.get $2) (i32.load (local.get $0) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 16) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 16) ) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 8) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store offset=8 (local.get $2) (i64.load align=4 (local.get $1) ) ) (local.set $1 (call $core::fmt::write::hfcb8d6ce1f04d65f (i32.add (local.get $2) (i32.const 4) ) (i32.const 1059388) (i32.add (local.get $2) (i32.const 8) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $1) ) (func $core::fmt::Write::write_fmt::h5bfb9e814317fff8 (; 91 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (i32.store offset=4 (local.get $2) (local.get $0) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 16) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 16) ) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 8) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store offset=8 (local.get $2) (i64.load align=4 (local.get $1) ) ) (local.set $1 (call $core::fmt::write::hfcb8d6ce1f04d65f (i32.add (local.get $2) (i32.const 4) ) (i32.const 1059388) (i32.add (local.get $2) (i32.const 8) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $1) ) (func $core::fmt::Write::write_fmt::h33b817fd228be1ed (; 92 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (i32.store offset=4 (local.get $2) (local.get $0) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 16) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 16) ) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 8) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store offset=8 (local.get $2) (i64.load align=4 (local.get $1) ) ) (local.set $1 (call $core::fmt::write::hfcb8d6ce1f04d65f (i32.add (local.get $2) (i32.const 4) ) (i32.const 1059704) (i32.add (local.get $2) (i32.const 8) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $1) ) (func $no_proto_js::error::NP_Error::unwrap::h3e4014b423ae7142 (; 93 ;) (param $0 i32) (param $1 i64) (param $2 i64) (local $3 i32) (local $4 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.wrap_i64 (local.get $1) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $3) (i32.const 1060526) (i32.const 24) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $3) (i32.const 8) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $3) ) ) (local.set $4 (i32.const 1) ) (br $label$1) ) (i64.store (i32.add (local.get $0) (i32.const 8) ) (local.get $2) ) (local.set $4 (i32.const 0) ) ) (i32.store (local.get $0) (local.get $4) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 16) ) ) ) (func $core::alloc::layout::Layout::array::h3864007aafdf18bc (; 94 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i64) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (i32.wrap_i64 (i64.shr_u (local.tee $4 (i64.mul (i64.extend_i32_u (local.get $1) ) (i64.const 12) ) ) (i64.const 32) ) ) ) ) (local.set $1 (i32.const 0) ) (br $label$1) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $2) (i32.const 8) ) (i32.wrap_i64 (local.get $4) ) (i32.const 4) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $3 (i32.load offset=8 (local.get $2) ) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $3) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_fmt::h2dbd7725edd452be (; 95 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (local.set $0 (i32.load (local.get $0) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 16) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 16) ) ) ) (i64.store (i32.add (i32.add (local.get $2) (i32.const 8) ) (i32.const 8) ) (i64.load align=4 (i32.add (local.get $1) (i32.const 8) ) ) ) (i64.store offset=8 (local.get $2) (i64.load align=4 (local.get $1) ) ) (local.set $1 (call $core::fmt::Write::write_fmt::h33b817fd228be1ed (local.get $0) (i32.add (local.get $2) (i32.const 8) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $1) ) (func $no_proto_js::error::NP_Error::unwrap::h2cd10ecd9103995e (; 96 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.ne (local.get $1) (i32.const 1114112) ) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $2) (i32.const 1060526) (i32.const 24) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $2) ) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (local.set $1 (i32.const 0) ) ) (i32.store (local.get $0) (local.get $1) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $core::alloc::layout::Layout::array::h666bf8f1b402ea69 (; 97 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eq (i32.and (local.get $1) (i32.const 1073741823) ) (local.get $1) ) ) (local.set $1 (i32.const 0) ) (br $label$1) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $2) (i32.const 8) ) (i32.shl (local.get $1) (i32.const 2) ) (i32.const 4) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $3 (i32.load offset=8 (local.get $2) ) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $3) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $no_proto_js::error::NP_Error::unwrap::h6d7e5b52c1aaefb3 (; 98 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (local.get $1) ) (call $no_proto_js::error::NP_Error::new::ha9935f425211c776 (local.get $2) (i32.const 1060526) (i32.const 24) ) (i32.store (i32.add (local.get $0) (i32.const 12) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=4 align=4 (local.get $0) (i64.load (local.get $2) ) ) (local.set $1 (i32.const 1) ) (br $label$1) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (local.set $1 (i32.const 0) ) ) (i32.store (local.get $0) (local.get $1) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $core::alloc::layout::Layout::array::h8b727bfea893888b (; 99 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (block $label$2 (br_if $label$2 (i32.eq (i32.and (local.get $1) (i32.const 536870911) ) (local.get $1) ) ) (local.set $1 (i32.const 0) ) (br $label$1) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $2) (i32.const 8) ) (i32.shl (local.get $1) (i32.const 3) ) (i32.const 8) ) (local.set $1 (i32.load offset=12 (local.get $2) ) ) (local.set $3 (i32.load offset=8 (local.get $2) ) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $3) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $core::num::dec2flt::algorithm::round_by_remainder::h0a149f113746ceff (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 f64) (result f64) (local $4 i32) (global.set $global$0 (local.tee $4 (i32.sub (global.get $global$0) (i32.const 176) ) ) ) (drop (call $memcpy (i32.add (local.get $4) (i32.const 8) ) (local.get $0) (i32.const 164) ) ) (block $label$1 (br_if $label$1 (call $core::cmp::PartialOrd::lt::he4b3502d512bb221 (local.get $1) (local.tee $0 (call $core::num::bignum::Big32x40::sub::h452934b6c2529701 (i32.add (local.get $4) (i32.const 8) ) (local.get $1) ) ) ) ) (block $label$2 (br_if $label$2 (call $core::cmp::PartialOrd::gt::h49cf97622991f4a8 (local.get $1) (local.get $0) ) ) (br_if $label$1 (i64.eqz (i64.and (local.get $2) (i64.const 1) ) ) ) ) (local.set $3 (call $core::num::dec2flt::rawfp::next_float::h9f67489b491e3a1a (local.get $3) ) ) ) (global.set $global$0 (i32.add (local.get $4) (i32.const 176) ) ) (local.get $3) ) (func $core::iter::traits::iterator::Iterator::count::h07f1f0497036649a (; 101 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local.set $1 (i32.const 0) ) (block $label$1 (br_if $label$1 (i32.load8_u offset=12 (local.get $0) ) ) (local.set $1 (i32.sub (local.tee $2 (i32.load offset=4 (local.get $0) ) ) (local.tee $3 (i32.load (local.get $0) ) ) ) ) (local.set $0 (i32.const 0) ) (loop $label$2 (br_if $label$1 (i32.eq (local.get $3) (local.get $2) ) ) (block $label$3 (br_if $label$3 (i32.eq (i32.load8_u (local.tee $2 (i32.add (local.get $2) (i32.const -1) ) ) ) (i32.const 48) ) ) (local.set $1 (local.get $0) ) (br $label$1) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (br $label$2) ) ) (local.get $1) ) (func $wasm_bindgen::convert::slices::>::from_abi::h49886b509fe81662 (; 102 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (i32.store offset=24 (local.get $3) (local.get $2) ) (i32.store offset=20 (local.get $3) (local.get $2) ) (i32.store offset=16 (local.get $3) (local.get $1) ) (call $alloc::vec::Vec::into_boxed_slice::h894abfa2fa26c444 (i32.add (local.get $3) (i32.const 8) ) (i32.add (local.get $3) (i32.const 16) ) ) (local.set $2 (i32.load offset=8 (local.get $3) ) ) (i32.store offset=8 (local.get $0) (local.tee $1 (i32.load offset=12 (local.get $3) ) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $2) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 32) ) ) ) (func $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.eq (i32.popcnt (local.get $2) ) (i32.const 1) ) ) (call $core::option::expect_none_failed::hfb4d9122b88fca19 (i32.const 1060438) (i32.const 43) (i32.add (local.get $3) (i32.const 8) ) (i32.const 1059556) (i32.const 1059572) ) (unreachable) ) (i32.store offset=4 (local.get $0) (local.get $2) ) (i32.store (local.get $0) (i32.and (i32.add (i32.add (local.get $2) (local.get $1) ) (i32.const -1) ) (i32.sub (i32.const 0) (local.get $2) ) ) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 16) ) ) ) (func $core::ptr::drop_in_place::h2d3130dea82b75a7 (; 104 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local.set $1 (i32.mul (i32.load offset=8 (local.get $0) ) (i32.const 12) ) ) (local.set $2 (i32.load (local.get $0) ) ) (block $label$1 (loop $label$2 (br_if $label$1 (i32.eqz (local.get $1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -12) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $2) ) (local.set $2 (i32.add (local.get $2) (i32.const 12) ) ) (br $label$2) ) ) (block $label$3 (br_if $label$3 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586 (i32.load (local.get $0) ) (i32.mul (local.get $1) (i32.const 12) ) (i32.const 4) ) ) ) (func $core::iter::traits::iterator::Iterator::count::h1f1535c3adef8ed6 (; 105 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local.set $1 (i32.const 0) ) (block $label$1 (br_if $label$1 (i32.load8_u offset=12 (local.get $0) ) ) (local.set $1 (i32.sub (i32.load offset=4 (local.get $0) ) (local.tee $2 (i32.load (local.get $0) ) ) ) ) (local.set $0 (i32.const 0) ) (loop $label$2 (br_if $label$1 (i32.eq (local.get $1) (local.get $0) ) ) (block $label$3 (br_if $label$3 (i32.eq (i32.load8_u (i32.add (local.get $2) (local.get $0) ) ) (i32.const 48) ) ) (local.set $1 (local.get $0) ) (br $label$1) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (br $label$2) ) ) (local.get $1) ) (func $bcmp (; 106 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local.set $3 (i32.const 0) ) (block $label$1 (br_if $label$1 (i32.eqz (local.get $2) ) ) (block $label$2 (loop $label$3 (br_if $label$2 (i32.ne (local.tee $4 (i32.load8_u (local.get $0) ) ) (local.tee $5 (i32.load8_u (local.get $1) ) ) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (br_if $label$1 (i32.eqz (local.tee $2 (i32.add (local.get $2) (i32.const -1) ) ) ) ) (br $label$3) ) ) (local.set $3 (i32.sub (local.get $4) (local.get $5) ) ) ) (local.get $3) ) (func $core::fmt::Formatter::pad_integral::write_prefix::hf51a2fedc67d5aa1 (; 107 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (block $label$1 (block $label$2 (br_if $label$2 (i32.eq (local.get $1) (i32.const 1114112) ) ) (local.set $4 (i32.const 1) ) (br_if $label$1 (call_indirect (type $i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $1) (i32.load offset=16 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) ) (block $label$3 (br_if $label$3 (local.get $2) ) (return (i32.const 0) ) ) (local.set $4 (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $0) ) (local.get $2) (local.get $3) (i32.load offset=12 (i32.load (i32.add (local.get $0) (i32.const 28) ) ) ) ) ) ) (local.get $4) ) (func $core::f64::::classify::h15a776df3c0ade11 (; 108 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i64) (local $3 i64) (block $label$1 (br_if $label$1 (i32.eqz (i64.eqz (i64.and (local.tee $2 (i64.reinterpret_f64 (local.get $0) ) ) (i64.const 9223372036854775807) ) ) ) ) (return (i32.const 2) ) ) (block $label$2 (block $label$3 (br_if $label$3 (i64.eqz (local.tee $3 (i64.and (local.get $2) (i64.const 9218868437227405312) ) ) ) ) (local.set $1 (i32.const 4) ) (br_if $label$2 (i64.ne (local.get $3) (i64.const 9218868437227405312) ) ) (return (i64.eqz (i64.and (local.get $2) (i64.const 4503599627370495) ) ) ) ) (local.set $1 (i32.const 3) ) ) (local.get $1) ) (func $np_factory_new_compiled (; 109 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (call $wasm_bindgen::convert::slices::>::from_abi::h49886b509fe81662 (local.get $2) (local.get $0) (local.get $1) ) (i32.store (i32.add (i32.add (local.get $2) (i32.const 16) ) (i32.const 8) ) (i32.load (i32.add (local.get $2) (i32.const 8) ) ) ) (i64.store offset=16 (local.get $2) (i64.load (local.get $2) ) ) (local.set $0 (call $::return_abi::h93c0c68c99e98ba2 (i32.add (local.get $2) (i32.const 16) ) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 32) ) ) (local.get $0) ) (func $no_proto_js::json_flex::json_decode::func::he7763ccf0cc3e5fc (; 110 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.get $8) (i32.const 7) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 16) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h3280f70a1a0f1538 (; 111 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.get $8) (i32.const 6) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 16) ) ) ) (func $no_proto_js::json_flex::json_decode::func::hd7d273aa7da5c14d (; 112 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.get $8) (i32.const 5) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 16) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h60fbe3d0f42ba110 (; 113 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.get $8) (i32.const 5) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 16) ) ) ) (func $no_proto_js::json_flex::json_decode::func::h3cb0784ef6149c92 (; 114 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i64) (param $6 i64) (param $7 i32) (local $8 i32) (global.set $global$0 (local.tee $8 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.ne (i32.load (local.get $1) ) (i32.const 4) ) ) (i32.store (local.get $8) (i32.const 5) ) (call $alloc::vec::Vec::push::hdd2fe19df8607705 (i32.add (local.get $1) (i32.const 4) ) (local.get $8) ) ) (i32.store (local.get $0) (i32.const 0) ) (call $core::ptr::drop_in_place::h2d3130dea82b75a7 (local.get $4) ) (call $core::ptr::drop_in_place::he602ef227a986f0b (local.get $3) ) (call $core::ptr::drop_in_place::h336f2ee2c198342b (local.get $2) ) (global.set $global$0 (i32.add (local.get $8) (i32.const 16) ) ) ) (func $core::panicking::panic::h54d056b62390c882 (; 115 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 32) ) ) ) (i32.store (i32.add (local.get $3) (i32.const 20) ) (i32.const 0) ) (i32.store offset=16 (local.get $3) (i32.const 1060988) ) (i64.store offset=4 align=4 (local.get $3) (i64.const 1) ) (i32.store offset=28 (local.get $3) (local.get $1) ) (i32.store offset=24 (local.get $3) (local.get $0) ) (i32.store (local.get $3) (i32.add (local.get $3) (i32.const 24) ) ) (call $core::panicking::panic_fmt::he8b4f848efb7b83f (local.get $3) (local.get $2) ) (unreachable) ) (func $<&T\20as\20core::fmt::Display>::fmt::h5b93fcafe437f0dd (; 116 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local.set $2 (i32.const 1059129) ) (local.set $3 (i32.const 38) ) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (block $label$5 (br_table $label$5 $label$4 $label$3 $label$2 $label$1 $label$5 (i32.load8_u (i32.load (local.get $0) ) ) ) ) (local.set $2 (i32.const 1059091) ) (br $label$1) ) (local.set $2 (i32.const 1059062) ) (local.set $3 (i32.const 29) ) (br $label$1) ) (local.set $2 (i32.const 1059024) ) (br $label$1) ) (local.set $2 (i32.const 1058986) ) ) (call $core::fmt::Formatter::pad::h4ee6062b9849beff (local.get $1) (local.get $2) (local.get $3) ) ) (func $\20as\20core::ops::drop::Drop>::drop::h3cf75df786b562b0 (; 117 ;) (param $0 i32) (local $1 i32) (local.set $1 (i32.shl (i32.load offset=8 (local.get $0) ) (i32.const 5) ) ) (local.set $0 (i32.load (local.get $0) ) ) (block $label$1 (loop $label$2 (br_if $label$1 (i32.eqz (local.get $1) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $0) ) (call $core::ptr::drop_in_place::h26222354075eb354.172 (i32.add (local.get $0) (i32.const 16) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -32) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 32) ) ) (br $label$2) ) ) ) (func $alloc::vec::Vec::push::h9e2687f5393e789b (; 118 ;) (param $0 i32) (param $1 i32) (local $2 i32) (block $label$1 (br_if $label$1 (i32.ne (local.tee $2 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (call $alloc::vec::Vec::reserve::h25a374cf9b3816f4 (local.get $0) (i32.const 1) ) (local.set $2 (i32.load offset=8 (local.get $0) ) ) ) (i32.store (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $2) (i32.const 2) ) ) (local.get $1) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) ) (func $alloc::vec::Vec::push::hfabd193d6c33320c (; 119 ;) (param $0 i32) (param $1 i64) (local $2 i32) (block $label$1 (br_if $label$1 (i32.ne (local.tee $2 (i32.load offset=8 (local.get $0) ) ) (i32.load offset=4 (local.get $0) ) ) ) (call $alloc::vec::Vec::reserve::h08d2964d681bfd3a (local.get $0) (i32.const 1) ) (local.set $2 (i32.load offset=8 (local.get $0) ) ) ) (i64.store (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $2) (i32.const 3) ) ) (local.get $1) ) (i32.store offset=8 (local.get $0) (i32.add (i32.load offset=8 (local.get $0) ) (i32.const 1) ) ) ) (func $core::ptr::drop_in_place::h26222354075eb354 (; 120 ;) (param $0 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$2 $label$2 $label$3 $label$1 $label$2 (i32.load (local.get $0) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $0) (i32.const 4) ) ) (return) ) (call $\20as\20core::ops::drop::Drop>::drop::h3cf75df786b562b0 (local.tee $0 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h17e13e9916aeb4dc (local.get $0) ) ) (return) ) (call $\20as\20core::ops::drop::Drop>::drop::hf60168fba7a1724d (local.tee $0 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h47b4cbd59323139f (local.get $0) ) ) (func $alloc::slice::::to_owned::h28fdfb5917cb7a4e (; 121 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) (global.set $global$0 (local.tee $3 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (call $alloc::raw_vec::RawVec::allocate_in::had0f7e65708dfbdc (i32.add (local.get $3) (i32.const 8) ) (local.get $2) ) (local.set $4 (i64.load offset=8 (local.get $3) ) ) (i32.store offset=8 (local.get $0) (i32.const 0) ) (i64.store align=4 (local.get $0) (local.get $4) ) (call $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (local.get $0) (local.get $1) (local.get $2) ) (global.set $global$0 (i32.add (local.get $3) (i32.const 16) ) ) ) (func $core::ptr::drop_in_place::h26222354075eb354.172 (; 122 ;) (param $0 i32) (block $label$1 (block $label$2 (block $label$3 (block $label$4 (br_table $label$4 $label$2 $label$2 $label$3 $label$1 $label$2 (i32.load (local.get $0) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (i32.add (local.get $0) (i32.const 4) ) ) (return) ) (call $\20as\20core::ops::drop::Drop>::drop::h3cf75df786b562b0 (local.tee $0 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h17e13e9916aeb4dc (local.get $0) ) ) (return) ) (call $\20as\20core::ops::drop::Drop>::drop::hf60168fba7a1724d (local.tee $0 (i32.add (local.get $0) (i32.const 4) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::h47b4cbd59323139f (local.get $0) ) ) (func $::unpack::h8252f087f2ee4dcb (; 123 ;) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i64) (i32.store16 offset=8 (local.get $0) (i32.add (local.tee $2 (i32.and (i32.wrap_i64 (i64.shr_u (local.tee $3 (i64.reinterpret_f64 (local.get $1) ) ) (i64.const 52) ) ) (i32.const 2047) ) ) (i32.const -1075) ) ) (i64.store (local.get $0) (select (i64.or (local.tee $3 (i64.and (local.get $3) (i64.const 4503599627370495) ) ) (i64.const 4503599627370496) ) (i64.shl (local.get $3) (i64.const 1) ) (local.get $2) ) ) ) (func $core::cmp::PartialOrd::le::hdeb79496e232fcb6 (; 124 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local.set $2 (i32.const 0) ) (block $label$1 (br_if $label$1 (i32.eq (i32.and (local.tee $0 (call $::cmp::he74f92cccc5b0362 (local.get $0) (local.get $1) ) ) (i32.const 255) ) (i32.const 2) ) ) (br_if $label$1 (i32.gt_u (i32.add (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) (i32.const 1) ) (i32.const 1) ) ) (local.set $2 (i32.const 1) ) ) (local.get $2) ) (func $memcpy (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $2) ) ) (local.set $3 (local.get $0) ) (loop $label$2 (i32.store8 (local.get $3) (i32.load8_u (local.get $1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$2 (local.tee $2 (i32.add (local.get $2) (i32.const -1) ) ) ) ) ) (local.get $0) ) (func $\20as\20core::ops::drop::Drop>::drop::hf60168fba7a1724d (; 126 ;) (param $0 i32) (local $1 i32) (local.set $1 (i32.shl (i32.load offset=8 (local.get $0) ) (i32.const 4) ) ) (local.set $0 (i32.load (local.get $0) ) ) (block $label$1 (loop $label$2 (br_if $label$1 (i32.eqz (local.get $1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const -16) ) ) (call $core::ptr::drop_in_place::h26222354075eb354.172 (local.get $0) ) (local.set $0 (i32.add (local.get $0) (i32.const 16) ) ) (br $label$2) ) ) ) (func $rust_begin_unwind (; 127 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (global.set $global$0 (local.tee $1 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (local.set $2 (i32.load offset=12 (local.get $0) ) ) (local.set $3 (call $core::option::Option::unwrap::h7e224241d034bb56 (i32.load offset=8 (local.get $0) ) ) ) (i32.store offset=8 (local.get $1) (local.get $2) ) (i32.store offset=4 (local.get $1) (local.get $0) ) (i32.store (local.get $1) (local.get $3) ) (call $std::sys_common::backtrace::__rust_end_short_backtrace::h3f57de3f451b589e (local.get $1) ) (unreachable) ) (func $core::alloc::layout::Layout::array::h20c5f3cc8047aa3a (; 128 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (call $core::alloc::layout::Layout::pad_to_align::ha01dd75534018bc2 (i32.add (local.get $2) (i32.const 8) ) (local.get $1) (i32.const 1) ) (i32.store (local.get $0) (i32.load offset=8 (local.get $2) ) ) (i32.store offset=4 (local.get $0) (i32.load offset=12 (local.get $2) ) ) (global.set $global$0 (i32.add (local.get $2) (i32.const 16) ) ) ) (func $__wbindgen_malloc (; 129 ;) (param $0 i32) (result i32) (block $label$1 (br_if $label$1 (i32.gt_u (local.get $0) (i32.const -4) ) ) (block $label$2 (br_if $label$2 (local.get $0) ) (return (i32.const 4) ) ) (br_if $label$1 (i32.eqz (local.tee $0 (call $__rust_alloc (local.get $0) (i32.shl (i32.lt_u (local.get $0) (i32.const -3) ) (i32.const 2) ) ) ) ) ) (return (local.get $0) ) ) (unreachable) ) (func $__rg_realloc (; 130 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $4 (call $::alloc::h1b2179d52cd9f163 (local.get $3) (local.get $2) ) ) ) ) (drop (call $memcpy (local.get $4) (local.get $0) (select (local.get $3) (local.get $1) (i32.gt_u (local.get $1) (local.get $3) ) ) ) ) (call $::dealloc::hbec779c3df0acedf (local.get $0) (local.get $1) (local.get $2) ) ) (local.get $4) ) (func $core::num::dec2flt::rawfp::next_float::h9f67489b491e3a1a (; 131 ;) (param $0 f64) (result f64) (local $1 f64) (local.set $1 (f64.const inf) ) (block $label$1 (block $label$2 (block $label$3 (br_table $label$3 $label$1 $label$2 $label$2 $label$2 $label$3 (i32.and (call $core::f64::::classify::h15a776df3c0ade11 (local.get $0) ) (i32.const 255) ) ) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1059728) (i32.const 27) (i32.const 1059756) ) (unreachable) ) (local.set $1 (f64.reinterpret_i64 (i64.add (i64.reinterpret_f64 (local.get $0) ) (i64.const 1) ) ) ) ) (local.get $1) ) (func $core::result::Result::expect::hb1318abf5941cb99 (; 132 ;) (param $0 i32) (local $1 i32) (global.set $global$0 (local.tee $1 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (block $label$1 (br_if $label$1 (i32.eqz (local.get $0) ) ) (call $core::option::expect_none_failed::hfb4d9122b88fca19 (i32.const 1060560) (i32.const 55) (i32.add (local.get $1) (i32.const 8) ) (i32.const 1060616) (i32.const 1060632) ) (unreachable) ) (global.set $global$0 (i32.add (local.get $1) (i32.const 16) ) ) ) (func $core::slice::\20for\20\5bA\5d>::eq::h0c0bc8288112666d (; 133 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local.set $4 (i32.const 0) ) (block $label$1 (br_if $label$1 (i32.ne (local.get $1) (local.get $3) ) ) (block $label$2 (br_if $label$2 (i32.ne (local.get $0) (local.get $2) ) ) (return (i32.const 1) ) ) (local.set $4 (i32.eqz (call $bcmp (local.get $0) (local.get $2) (local.get $1) ) ) ) ) (local.get $4) ) (func $core::panicking::panic_fmt::he8b4f848efb7b83f (; 134 ;) (param $0 i32) (param $1 i32) (local $2 i32) (global.set $global$0 (local.tee $2 (i32.sub (global.get $global$0) (i32.const 16) ) ) ) (i32.store offset=12 (local.get $2) (local.get $1) ) (i32.store offset=8 (local.get $2) (local.get $0) ) (i32.store offset=4 (local.get $2) (i32.const 1055120) ) (i32.store (local.get $2) (i32.const 1060988) ) (call $rust_begin_unwind (local.get $2) ) (unreachable) ) (func $core::slice::\20for\20\5bT\5d>::index::h90a5fdd579b01001 (; 135 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (block $label$1 (br_if $label$1 (i32.ge_u (local.get $2) (local.get $3) ) ) (call $core::slice::slice_start_index_len_fail::h4a1e5ee8e8253fb6 (local.get $3) (local.get $2) (local.get $4) ) (unreachable) ) (i32.store offset=4 (local.get $0) (i32.sub (local.get $2) (local.get $3) ) ) (i32.store (local.get $0) (i32.add (local.get $1) (local.get $3) ) ) ) (func $memset (; 136 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $2) ) ) (local.set $3 (local.get $0) ) (loop $label$2 (i32.store8 (local.get $3) (local.get $1) ) (local.set $3 (i32.add (local.get $3) (i32.const 1) ) ) (br_if $label$2 (local.tee $2 (i32.add (local.get $2) (i32.const -1) ) ) ) ) ) (local.get $0) ) (func $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (call $alloc::vec::Vec::reserve::h463181bd7c1d5d6e (local.get $0) (local.get $2) ) (drop (call $memcpy (i32.add (i32.load (local.get $0) ) (local.tee $3 (i32.load offset=8 (local.get $0) ) ) ) (local.get $1) (local.get $2) ) ) (i32.store offset=8 (local.get $0) (i32.add (local.get $3) (local.get $2) ) ) ) (func $\20as\20core::ops::index::Index>::index::hb7cf59f2cabe3ab2 (; 138 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (block $label$1 (br_if $label$1 (i32.gt_u (local.tee $3 (i32.load offset=8 (local.get $0) ) ) (local.get $1) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (local.get $3) (local.get $2) ) (unreachable) ) (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $1) (i32.const 5) ) ) ) (func $\20as\20core::ops::index::IndexMut>::index_mut::hfdb945aa662df6e7 (; 139 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (block $label$1 (br_if $label$1 (i32.gt_u (local.tee $3 (i32.load offset=8 (local.get $0) ) ) (local.get $1) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $1) (local.get $3) (local.get $2) ) (unreachable) ) (i32.add (i32.load (local.get $0) ) (i32.shl (local.get $1) (i32.const 5) ) ) ) (func $::alloc::hbd6aa0d1925f7b82 (; 140 ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $label$1 (block $label$2 (br_if $label$2 (i32.eqz (local.get $1) ) ) (local.set $2 (call $__rust_alloc (local.get $1) (local.get $2) ) ) (br $label$1) ) (local.set $1 (i32.const 0) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $2) ) ) (func $\20as\20core::ops::drop::Drop>::drop::h17e13e9916aeb4dc (; 141 ;) (param $0 i32) (local $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $0 (i32.load (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586 (local.get $0) (i32.shl (local.get $1) (i32.const 5) ) (i32.const 8) ) ) ) (func $\20as\20core::ops::drop::Drop>::drop::h47b4cbd59323139f (; 142 ;) (param $0 i32) (local $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $0 (i32.load (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586 (local.get $0) (i32.shl (local.get $1) (i32.const 4) ) (i32.const 8) ) ) ) (func $::short_fast_pow10::h109a3969d9d06750 (; 143 ;) (param $0 i32) (result f64) (block $label$1 (br_if $label$1 (i32.gt_u (local.get $0) (i32.const 22) ) ) (return (f64.load (i32.add (i32.shl (local.get $0) (i32.const 3) ) (i32.const 1055824) ) ) ) ) (call $core::panicking::panic_bounds_check::h7cc4165324a10ea8 (local.get $0) (i32.const 23) (i32.const 1056008) ) (unreachable) ) (func $alloc::alloc::Global::alloc_impl::hee6d7d593f12eb48.267 (; 144 ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $label$1 (block $label$2 (br_if $label$2 (local.get $1) ) (local.set $1 (i32.const 0) ) (br $label$1) ) (local.set $2 (call $__rust_alloc (local.get $1) (local.get $2) ) ) ) (i32.store offset=4 (local.get $0) (local.get $1) ) (i32.store (local.get $0) (local.get $2) ) ) (func $core::slice::\20for\20\5bT\5d>::index::hce75ccb8a6c9f9a0 (; 145 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (block $label$1 (br_if $label$1 (i32.ge_u (local.get $2) (local.get $3) ) ) (call $core::slice::slice_end_index_len_fail::h35d5f2e5e3189424 (local.get $3) (local.get $2) (local.get $4) ) (unreachable) ) (i32.store offset=4 (local.get $0) (local.get $3) ) (i32.store (local.get $0) (local.get $1) ) ) (func $__wbindgen_realloc (; 146 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (block $label$1 (br_if $label$1 (i32.gt_u (local.get $1) (i32.const -4) ) ) (br_if $label$1 (i32.eqz (local.tee $1 (call $__rust_realloc (local.get $0) (local.get $1) (i32.const 4) (local.get $2) ) ) ) ) (return (local.get $1) ) ) (unreachable) ) (func $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (; 147 ;) (param $0 i32) (local $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (br_if $label$1 (i32.eqz (local.tee $0 (i32.load (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586.270 (local.get $0) (local.get $1) (i32.const 1) ) ) ) (func $core::fmt::num::imp::::fmt::hfae5fbf15f5bb234 (; 148 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i64) (local $3 i64) (call $core::fmt::num::imp::fmt_u64::h64f053e2e06403a9 (i64.xor (i64.add (local.tee $2 (i64.load16_s (local.get $0) ) ) (local.tee $3 (i64.shr_s (local.get $2) (i64.const 63) ) ) ) (local.get $3) ) (i64.gt_s (local.get $2) (i64.const -1) ) (local.get $1) ) ) (func $<&T\20as\20core::fmt::Display>::fmt::h283d139920eae5ae (; 149 ;) (param $0 i32) (param $1 i32) (result i32) (call $core::fmt::Formatter::pad::h4ee6062b9849beff (local.get $1) (select (i32.const 1056080) (i32.const 1056101) (local.tee $0 (i32.eq (i32.load8_u (i32.load (local.get $0) ) ) (i32.const 1) ) ) ) (select (i32.const 21) (i32.const 36) (local.get $0) ) ) ) (func $core::ptr::drop_in_place::hdc334d1ef8c963f0 (; 150 ;) (param $0 i32) (local $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586 (i32.load (local.get $0) ) (i32.shl (local.get $1) (i32.const 2) ) (i32.const 4) ) ) ) (func $core::ptr::drop_in_place::he602ef227a986f0b (; 151 ;) (param $0 i32) (local $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.tee $1 (i32.load offset=4 (local.get $0) ) ) ) ) (call $::dealloc::h7d18116f3752b586 (i32.load (local.get $0) ) (i32.shl (local.get $1) (i32.const 3) ) (i32.const 8) ) ) ) (func $\20as\20core::clone::Clone>::clone::h08ee588c4e592678 (; 152 ;) (param $0 i32) (param $1 i32) (block $label$1 (br_if $label$1 (i32.load (local.get $1) ) ) (i32.store (local.get $0) (i32.const 0) ) (return) ) (call $::clone::h750060746238399e (local.get $0) (local.get $1) ) ) (func $::fmt::hf256f065b358e9c8 (; 153 ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $i32_i32_i32_=>_i32) (i32.load offset=24 (local.get $1) ) (i32.const 1059534) (i32.const 5) (i32.load offset=12 (i32.load (i32.add (local.get $1) (i32.const 28) ) ) ) ) ) (func $alloc::vec::Vec::into_boxed_slice::h894abfa2fa26c444 (; 154 ;) (param $0 i32) (param $1 i32) (call $alloc::vec::Vec::shrink_to_fit::h0118dcbd3e3be64e (local.get $1) ) (i32.store offset=4 (local.get $0) (i32.load offset=8 (local.get $1) ) ) (i32.store (local.get $0) (i32.load (local.get $1) ) ) ) (func $>::ne::h2447bc43163523ff (; 155 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (i32.xor (call $core::str::traits::::eq::hc7aee230a22dd852 (i32.load (local.get $0) ) (i32.load offset=8 (local.get $0) ) (local.get $1) (local.get $2) ) (i32.const 1) ) ) (func $core::option::Option::unwrap::h7e224241d034bb56 (; 156 ;) (param $0 i32) (result i32) (block $label$1 (br_if $label$1 (local.get $0) ) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1060792) (i32.const 43) (i32.const 1060836) ) (unreachable) ) (local.get $0) ) (func $::dealloc::h7d18116f3752b586 (; 157 ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $1) ) ) (call $__rust_dealloc (local.get $0) (local.get $1) (local.get $2) ) ) ) (func $::dealloc::h7d18116f3752b586.270 (; 158 ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $1) ) ) (call $__rust_dealloc (local.get $0) (local.get $1) (local.get $2) ) ) ) (func $__wbindgen_free (; 159 ;) (param $0 i32) (param $1 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $1) ) ) (call $__rust_dealloc (local.get $0) (local.get $1) (i32.const 4) ) ) ) (func $core::ptr::drop_in_place::h336f2ee2c198342b (; 160 ;) (param $0 i32) (block $label$1 (br_if $label$1 (i32.eqz (i32.load (local.get $0) ) ) ) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $0) ) ) ) (func $<&T\20as\20core::fmt::Debug>::fmt::he81b86a5bbf53c3e (; 161 ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $i32_i32_=>_i32) (i32.load (local.get $0) ) (local.get $1) (i32.load offset=12 (i32.load offset=4 (local.get $0) ) ) ) ) (func $core::cmp::PartialOrd::lt::he4b3502d512bb221 (; 162 ;) (param $0 i32) (param $1 i32) (result i32) (i32.eq (i32.and (call $::cmp::he74f92cccc5b0362 (local.get $0) (local.get $1) ) (i32.const 255) ) (i32.const 255) ) ) (func $core::cmp::PartialOrd::gt::h49cf97622991f4a8 (; 163 ;) (param $0 i32) (param $1 i32) (result i32) (i32.eq (i32.and (call $::cmp::he74f92cccc5b0362 (local.get $0) (local.get $1) ) (i32.const 255) ) (i32.const 1) ) ) (func $core::cmp::PartialOrd::ge::h5bcf90b30a11ac7b (; 164 ;) (param $0 i32) (param $1 i32) (result i32) (i32.lt_u (i32.and (call $::cmp::he74f92cccc5b0362 (local.get $0) (local.get $1) ) (i32.const 255) ) (i32.const 2) ) ) (func $wasm_bindgen::__rt::assert_not_null::h31b0a610d332fa5c (; 165 ;) (param $0 i32) (block $label$1 (br_if $label$1 (i32.eqz (local.get $0) ) ) (return) ) (call $wasm_bindgen::__rt::throw_null::h90abd27f6a7b925a) (unreachable) ) (func $<&T\20as\20core::fmt::Display>::fmt::h007e0d6beaeda957 (; 166 ;) (param $0 i32) (param $1 i32) (result i32) (call $core::fmt::Formatter::pad::h4ee6062b9849beff (local.get $1) (i32.load (local.get $0) ) (i32.load offset=4 (local.get $0) ) ) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_str::hddecb258ce7d4915 (; 167 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $alloc::vec::Vec::extend_from_slice::h9c94267576f77bf8 (i32.load (local.get $0) ) (local.get $1) (local.get $2) ) (i32.const 0) ) (func $core::cmp::impls::\20for\20&A>::eq::h4f66b15a6c15e2dd (; 168 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $core::slice::\20for\20\5bA\5d>::eq::h0c0bc8288112666d (local.get $0) (local.get $1) (local.get $2) (local.get $3) ) ) (func $core::str::traits::::eq::hc7aee230a22dd852 (; 169 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $core::cmp::impls::\20for\20&A>::eq::h4f66b15a6c15e2dd (local.get $0) (local.get $1) (local.get $2) (local.get $3) ) ) (func $alloc::raw_vec::capacity_overflow::h21b1a1c890056150 (; 170 ;) (call $core::panicking::panic::h54d056b62390c882 (i32.const 1048879) (i32.const 17) (i32.const 1048896) ) (unreachable) ) (func $__rust_realloc (; 171 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $__rg_realloc (local.get $0) (local.get $1) (local.get $2) (local.get $3) ) ) (func $core::ops::function::FnOnce::call_once::h390ea4377328b82d (; 172 ;) (param $0 i32) (param $1 i32) (result i32) (drop (i32.load (local.get $0) ) ) (loop $label$1 (result i32) (br $label$1) ) ) (func $core::fmt::num::imp::::fmt::hd561e3b5e34208ae (; 173 ;) (param $0 i32) (param $1 i32) (result i32) (call $core::fmt::num::imp::fmt_u64::h64f053e2e06403a9 (i64.load32_u (local.get $0) ) (i32.const 1) (local.get $1) ) ) (func $<&mut\20W\20as\20core::fmt::Write>::write_str::h8ac3aa69e0663a79 (; 174 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $::write_str::h321957978316f55b (i32.load (local.get $0) ) (local.get $1) (local.get $2) ) ) (func $core::str::traits::::eq::hc7aee230a22dd852.201 (; 175 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $core::slice::\20for\20\5bA\5d>::eq::h0c0bc8288112666d (local.get $0) (local.get $1) (local.get $2) (i32.const 3) ) ) (func $no_proto_js::error::NP_Error::new::ha9935f425211c776 (; 176 ;) (param $0 i32) (param $1 i32) (param $2 i32) (call $alloc::slice::::to_owned::h28fdfb5917cb7a4e (local.get $0) (local.get $1) (local.get $2) ) ) (func $__rust_dealloc (; 177 ;) (param $0 i32) (param $1 i32) (param $2 i32) (call $__rg_dealloc (local.get $0) (local.get $1) (local.get $2) ) ) (func $__rg_dealloc (; 178 ;) (param $0 i32) (param $1 i32) (param $2 i32) (call $::dealloc::hbec779c3df0acedf (local.get $0) (local.get $1) (local.get $2) ) ) (func $<&T\20as\20core::fmt::Debug>::fmt::h8d390f40912aa2a1 (; 179 ;) (param $0 i32) (param $1 i32) (result i32) (call $core::fmt::Formatter::pad::h4ee6062b9849beff (local.get $1) (i32.const 1059532) (i32.const 2) ) ) (func $wasm_bindgen::__rt::borrow_fail::heb239d2387bd8127 (; 180 ;) (call $wasm_bindgen::throw_str::hc7e23e8fd40dadf9 (i32.const 1060907) (i32.const 79) ) (unreachable) ) (func $wasm_bindgen::__rt::throw_null::h90abd27f6a7b925a (; 181 ;) (call $wasm_bindgen::throw_str::hc7e23e8fd40dadf9 (i32.const 1060880) (i32.const 27) ) (unreachable) ) (func $std::sys_common::backtrace::__rust_end_short_backtrace::h3f57de3f451b589e (; 182 ;) (param $0 i32) (call $std::panicking::begin_panic_handler::\7b\7bclosure\7d\7d::hefb02c9f4c7b9e72 (i32.load (local.get $0) ) ) (unreachable) ) (func $wasm_bindgen::throw_str::hc7e23e8fd40dadf9 (; 183 ;) (param $0 i32) (param $1 i32) (call $wasm_bindgen::__wbindgen_throw::h14423dcd903c052c (local.get $0) (local.get $1) ) (unreachable) ) (func $__rust_alloc (; 184 ;) (param $0 i32) (param $1 i32) (result i32) (call $__rg_alloc (local.get $0) (local.get $1) ) ) (func $__rg_alloc (; 185 ;) (param $0 i32) (param $1 i32) (result i32) (call $::alloc::h1b2179d52cd9f163 (local.get $0) (local.get $1) ) ) (func $core::ptr::drop_in_place::hafd11a4a6d489b53 (; 186 ;) (param $0 i32) (call $\20as\20core::ops::drop::Drop>::drop::hdfa1b83a701659f3 (local.get $0) ) ) (func $std::panicking::begin_panic_handler::\7b\7bclosure\7d\7d::hefb02c9f4c7b9e72 (; 187 ;) (param $0 i32) (call $std::panicking::rust_panic_with_hook::hc3afc981c0e7d6a8) (unreachable) ) (func $::type_id::h0362c57cdfadaca7 (; 188 ;) (param $0 i32) (result i64) (i64.const 5319178114087126455) ) (func $rust_panic (; 189 ;) (unreachable) ) (func $::min_cell_size::h86b8b509c7163b0e (; 190 ;) (param $0 i32) (param $1 i32) (result i32) (local.get $1) ) (func $::should_merge_adjacent_free_cells::h36ff1a26ee42cfe1 (; 191 ;) (param $0 i32) (result i32) (i32.const 0) ) (func $::min_cell_size::ha2975c534d26c3c3 (; 192 ;) (param $0 i32) (param $1 i32) (result i32) (i32.const 512) ) (func $::should_merge_adjacent_free_cells::h0582f607e09fe8cd (; 193 ;) (param $0 i32) (result i32) (i32.const 1) ) (func $std::alloc::default_alloc_error_hook::hbb6d06b7bdeaa91f (; 194 ;) (param $0 i32) (param $1 i32) ) (func $core::ptr::drop_in_place::h03a4ec563db69d56 (; 195 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h8a6409b3020380bd (; 196 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h769196292a827628 (; 197 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h0e5faf2cf480468b (; 198 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h87d67fe74a414611 (; 199 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h899bb420a8b98e2c (; 200 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::h899bb420a8b98e2c.364 (; 201 ;) (param $0 i32) ) (func $core::ptr::drop_in_place::hc0d245b0befc4ed6.365 (; 202 ;) (param $0 i32) ) ;; custom section "producers", size 113 ) ================================================ FILE: no_proto_js/src/buffer.rs ================================================ //! Top level abstraction for buffer objects use crate::NP_Size_Data; use crate::{memory::NP_Memory_Writable, utils::opt_err}; use crate::collection::tuple::NP_Tuple; use crate::{pointer::{NP_Scalar}}; use crate::{collection::map::NP_Map}; use crate::{pointer::NP_Value}; use crate::pointer::NP_Cursor; use crate::{schema::NP_Parsed_Schema, collection::table::NP_Table}; use alloc::vec::Vec; use crate::{collection::{list::NP_List}}; use crate::error::NP_Error; use crate::memory::{NP_Memory}; use crate::{json_flex::NP_JSON}; use crate::alloc::borrow::ToOwned; /// The address location of the root pointer. #[doc(hidden)] pub const DEFAULT_ROOT_PTR_ADDR: usize = 1; /// Maximum size of list collections #[doc(hidden)] pub const LIST_MAX_SIZE: usize = core::u16::MAX as usize; #[doc(hidden)] pub const VTABLE_SIZE: usize = 4; #[doc(hidden)] pub const VTABLE_BYTES: usize = 10; use wasm_bindgen::prelude::*; /// Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction. /// /// #[wasm_bindgen] #[derive(Debug)] pub struct NP_Buffer { /// Schema data used by this buffer memory: NP_Memory_Writable, cursor: NP_Cursor } impl Clone for NP_Buffer { fn clone(&self) -> Self { Self { memory: self.memory.clone(), cursor: self.cursor.clone() } } } impl NP_Buffer { #[doc(hidden)] pub fn _new(memory: NP_Memory_Writable) -> Self { // make new buffer // is the root a sortable tuple? if so, create its children and vtables // match memory.get_schema(0) { // NP_Parsed_Schema::Tuple { sortable, values, .. } => { // if *sortable { // NP_Tuple::select(NP_Cursor::new(memory.root, 0, 0), values, 0, true, &memory).unwrap_or(None); // } // }, // _ => {} // }; NP_Buffer { cursor: NP_Cursor::new(memory.root, 0, 0), memory: memory } } /// Copy an object at the provided path and all it's children into JSON. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "table", /// "columns": [ /// ["age", {"type": "uint8"}], /// ["name", {"type": "string"}] /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// new_buffer.set(&["name"], "Jeb Kermin"); /// new_buffer.set(&["age"], 30u8); /// /// assert_eq!("{\"age\":30,\"name\":\"Jeb Kermin\"}", new_buffer.json_encode(&[])?.stringify()); /// assert_eq!("\"Jeb Kermin\"", new_buffer.json_encode(&["name"])?.stringify()); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn json_encode(&self, path: &[&str]) -> Result { let value_cursor = self.select(self.cursor.clone(), false, path)?; if let Some(x) = value_cursor { Ok(NP_Cursor::json_encode(&x, &self.memory)) } else { Ok(NP_JSON::Null) } } /// Moves the underlying bytes out of the buffer, consuming the buffer in the process. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "string" /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // close buffer and get bytes /// let bytes: Vec = new_buffer.close(); /// assert_eq!([0, 0, 3, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn close(self) -> Vec { self.memory.dump() } /// If the buffer is sortable, this provides only the sortable elements of the buffer. /// There is typically 10 bytes or more in front of the buffer that are identical between all the sortable buffers for a given schema. /// /// This calculates how many leading identical bytes there are and returns only the bytes following them. This allows your sortable buffers to be only as large as they need to be. /// /// This operation fails if the buffer is not sortable. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "tuple", /// "sorted": true, /// "values": [ /// {"type": "u8"}, /// {"type": "string", "size": 6} /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set initial value /// new_buffer.set(&["0"], 55u8)?; /// new_buffer.set(&["1"], "hello")?; /// /// // the buffer with it's vtables take up 20 bytes! /// assert_eq!(new_buffer.read_bytes().len(), 20usize); /// /// // close buffer and get sortable bytes /// let bytes: Vec = new_buffer.close_sortable()?; /// // with close_sortable() we only get the bytes we care about! /// assert_eq!([55, 104, 101, 108, 108, 111, 32].to_vec(), bytes); /// /// // you can always re open the sortable buffers with this call /// let new_buffer = factory.open_sortable_buffer(bytes)?; /// assert_eq!(new_buffer.get(&["0"])?, Some(55u8)); /// assert_eq!(new_buffer.get(&["1"])?, Some("hello ")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn close_sortable(self) -> Result, NP_Error> { // match &self.memory.get_schema(0) { // NP_Parsed_Schema::Tuple { values, sortable, .. } => { // if *sortable == false { // Err(NP_Error::new("Attempted to close_sortable() on buffer that isn't sortable!")) // } else { // let mut vtables = 1usize; // let mut length = values.len(); // while length > 4 { // vtables +=1; // length -= 4; // } // let root_offset = DEFAULT_ROOT_PTR_ADDR + 2 + (vtables * 10); // let closed_vec = self.memory.dump(); // Ok(closed_vec[root_offset..].to_vec()) // } // }, // _ => Err(NP_Error::new("Attempted to close_sortable() on buffer that isn't sortable!")) // } panic!() } /// Read the bytes of the buffer immutably. No touching! /// pub fn read_bytes(&self) -> &[u8] { self.memory.read_bytes() } /// Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level. /// /// This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist. /// pub fn move_cursor(&mut self, path: &[&str]) -> Result { let value_cursor = self.select(self.cursor.clone(), true, path)?; let cursor = if let Some(x) = value_cursor { x } else { return Ok(false); }; self.cursor = cursor; Ok(true) } /// Moves cursor position to root of buffer, the default. /// pub fn cursor_to_root(&mut self) { self.cursor = NP_Cursor::new(self.memory.root, 0, 0); } /// Used to set scalar values inside the buffer. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "map", "value": { /// "type": "list", "of": {"type": "string"} /// }} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "look at all this nesting madness")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("look at all this nesting madness")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set<'set, X>(&mut self, path: &[&str], value: X) -> Result where X: NP_Value<'set> + NP_Scalar { let value_cursor = self.select(self.cursor.clone(), true, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != *self.memory.get_schema(x.schema_addr).get_type_key() { let mut err = "TypeError: Attempted to set value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") into schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).get_type_data().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } X::set_value(x, &self.memory, value)?; Ok(true) } None => Ok(false) } } /// Get an iterator for a collection /// /// /// ## List Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set value at 1 index /// new_buffer.set(&["1"], "hello")?; /// // set value at 4 index /// new_buffer.set(&["4"], "world")?; /// // push value onto the end /// new_buffer.list_push(&[], "!")?; /// /// // get iterator of root (list item) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), None), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("world")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("!")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Table Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "table", /// "columns": [ /// ["age", {"type": "uint8"}], /// ["name", {"type": "string"}], /// ["job", {"type": "string"}], /// ["tags", {"type": "list", "of": {"type": "string"}}] /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set value of age /// new_buffer.set(&["age"], 20u8)?; /// // set value of name /// new_buffer.set(&["name"], "Bill Kerman")?; /// // push value onto tags list /// new_buffer.list_push(&["tags"], "rocket")?; /// /// // get iterator of root (table) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "name" => assert_eq!(item.get::<&str>().unwrap(), Some("Bill Kerman")), /// "age" => assert_eq!(item.get::().unwrap(), Some(20)), /// "job" => assert_eq!(item.get::<&str>().unwrap(), None), /// "tags" => { /* tags column is list, can't do anything with it here */ }, /// _ => { panic!() } /// }; /// }); /// /// // we can also loop through items of the tags list /// new_buffer.get_iter(&["tags"])?.unwrap().into_iter().for_each(|item| { /// assert_eq!(item.index, 0); /// assert_eq!(item.get::<&str>().unwrap(), Some("rocket")); /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Map Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "map", /// "value": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set value of color key /// new_buffer.set(&["color"], "blue")?; /// // set value of sport key /// new_buffer.set(&["sport"], "soccor")?; /// /// // get iterator of root (map) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "color" => assert_eq!(item.get::<&str>().unwrap(), Some("blue")), /// "sport" => assert_eq!(item.get::<&str>().unwrap(), Some("soccor")), /// _ => panic!() /// } /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Tuple Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "tuple", /// "values": [ /// {"type": "string"}, /// {"type": "u8"}, /// {"type": "bool"} /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set value at 0 index /// new_buffer.set(&["0"], "hello")?; /// // set value at 2 index /// new_buffer.set(&["2"], false)?; /// /// // get iterator of root (tuple item) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 1 => assert_eq!(item.get::().unwrap(), None), /// 2 => assert_eq!(item.get::().unwrap(), Some(false)), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_iter<'iter>(&'iter self, path: &'iter [&str]) -> Result>, NP_Error> { let value = self.select(self.cursor.clone(), false, path)?; let value = if let Some(x) = value { x } else { return Ok(None); }; let value_data = value.get_value(&self.memory); // value doesn't exist if value_data.get_addr_value() == 0 { return Ok(None); } Ok(Some(NP_Generic_Iterator::new(value, &self.memory)?)) } /// Push a value onto the end of a list. /// The path provided must resolve to a list type, and the type being pushed must match the schema /// /// This is the most efficient way to add values to a list type. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// new_buffer.set(&["3"], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), None), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// let mut new_buffer = factory.empty_buffer(None); /// new_buffer.list_push(&[], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_iter(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn list_push<'set, X>(&mut self, path: &[&str], value: X) -> Result, NP_Error> where X: NP_Value<'set> + NP_Scalar { // let list_cursor = if path.len() == 0 { self.cursor.clone() } else { match self.select(self.cursor.clone(), true, path)? { // Some(x) => x, // None => return Ok(None) // }}; // match &self.memory.get_schema(list_cursor.schema_addr) { // NP_Parsed_Schema::List { of, .. } => { // let of_schema = &self.memory.get_schema(*of); // // type does not match schema // if X::type_idx().1 != *of_schema.get_type_key() { // let mut err = "TypeError: Attempted to set value for type (".to_owned(); // err.push_str(X::type_idx().0); // err.push_str(") into schema of type ("); // err.push_str(of_schema.get_type_data().0); // err.push_str(")\n"); // return Err(NP_Error::new(err)); // } // }, // _ => return Err(NP_Error::new("Trying to push onto non list item!")) // } // match NP_List::push(&list_cursor, &self.memory, None)? { // Some((index, new_item_addr)) => { // X::set_value(new_item_addr, &self.memory, value)?; // Ok(Some(index)) // }, // None => Ok(None) // } panic!() } /// Get length of String, Bytes, Table, Tuple, List or Map Type /// /// If the type found at the path provided does not support length operations, you'll get `None`. /// /// If there is no value at the path provodid, you will get `None`. /// /// If an item is found and it's length is zero, you can expect `Some(0)`. /// /// ## String Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "string" /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // get length of value at root (String) /// assert_eq!(new_buffer.length(&[])?, Some(5)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (List) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set value at 9th index /// new_buffer.set(&["9"], "hello")?; /// // get length of value at root (List) /// assert_eq!(new_buffer.length(&[])?, Some(10)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Table) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "table", /// "columns": [ /// ["age", {"type": "u8"}], /// ["name", {"type": "string"}] /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // get length of value at root (Table) /// assert_eq!(new_buffer.length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Map) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "map", /// "value": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set values /// new_buffer.set(&["foo"], "bar")?; /// new_buffer.set(&["foo2"], "bar2")?; /// // get length of value at root (Map) /// assert_eq!(new_buffer.length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Tuple) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "tuple", /// "values": [ /// {"type": "string"}, /// {"type": "string"} /// ] /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // get length of value at root (Tuple) /// assert_eq!(new_buffer.length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn length(&self, path: &[&str]) -> Result, NP_Error> { panic!() // let value_cursor = self.select(self.cursor.clone(), false, path)?; // let found_cursor = if let Some(x) = value_cursor { // x // } else { // return Ok(None); // }; // let addr_value = found_cursor.get_value(&self.memory).get_addr_value(); // match &self.memory.get_schema(found_cursor.schema_addr) { // NP_Parsed_Schema::List { of, .. } => { // if addr_value == 0 { // return Ok(None); // } // let list_data = NP_List::get_list(addr_value as usize, &self.memory); // let tail_addr = list_data.get_tail() as usize; // if tail_addr == 0 { // Ok(Some(0)) // } else { // let tail_cursor = NP_Cursor::new(tail_addr, *of, found_cursor.schema_addr); // let cursor_data = tail_cursor.get_value(&self.memory); // Ok(Some(cursor_data.get_index() as usize + 1)) // } // }, // NP_Parsed_Schema::Map { .. } => { // if addr_value == 0 { // return Ok(None); // } // let mut count = 0usize; // { // let mut map_iter = NP_Map::new_iter(&found_cursor, &self.memory); // // key is maybe in map // while let Some((_ikey, _item)) = map_iter.step_iter(&self.memory) { // count += 1; // } // } // Ok(Some(count)) // }, // NP_Parsed_Schema::Table { columns, ..} => { // Ok(Some(columns.len())) // }, // NP_Parsed_Schema::Tuple { values, .. } => { // Ok(Some(values.len())) // }, // NP_Parsed_Schema::Bytes { size, ..} => { // if *size > 0 { // Ok(Some(*size as usize)) // } else { // let length_bytes = self.memory.get_2_bytes(addr_value as usize).unwrap_or(&[0u8; 2]); // Ok(Some(u16::from_be_bytes(*length_bytes) as usize)) // } // }, // NP_Parsed_Schema::UTF8String { size, .. } => { // if *size > 0 { // Ok(Some(*size as usize)) // } else { // let length_bytes = self.memory.get_2_bytes(addr_value as usize).unwrap_or(&[0u8; 2]); // Ok(Some(u16::from_be_bytes(*length_bytes) as usize)) // } // }, // _ => { // Ok(None) // } // } } /// Clear an inner value from the buffer. /// This can also be used to clear deeply nested collection objects or scalar objects. /// /// Returns `true` if it found a value to delete (and deleted it), `false` otherwise. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set index 0 /// new_buffer.set(&["0"], "hello")?; /// // del index 0 /// new_buffer.del(&["0"])?; /// // value is gone now! /// assert_eq!(None, new_buffer.get::<&str>(&["0"])?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn del(&mut self, path: &[&str]) -> Result { // let value_cursor = self.select(self.cursor.clone(), false, path)?; // let is_sortable = match &self.memory.get_schema(0) { // NP_Parsed_Schema::Tuple { sortable , ..} => *sortable, // _ => false // }; // match value_cursor { // Some(x) => { // if is_sortable { // match &self.memory.get_schema(x.schema_addr) { // NP_Parsed_Schema::Table { .. } => { return Ok(false) }, // NP_Parsed_Schema::Tuple { .. } => { return Ok(false) }, // NP_Parsed_Schema::List { .. } => { return Ok(false) }, // NP_Parsed_Schema::Map { .. } => { return Ok(false) }, // _ => NP_Cursor::set_default(x, &self.memory)? // } // } else { // // clear value address in buffer // x.get_value(&self.memory).set_addr_value(0); // } // Ok(true) // } // None => Ok(false) // } panic!() } /// Retrieve an inner value from the buffer. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "list", /// "of": {"type": "map", "value": { /// "type": "list", "of": {"type": "string"} /// }} /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "who would build a schema like this")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("who would build a schema like this")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get<'get, X: 'get>(&'get self, path: &[&str]) -> Result, NP_Error> where X: NP_Value<'get> + NP_Scalar { let value_cursor = self.select(self.cursor.clone(), false, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != *self.memory.get_schema(x.schema_addr).get_type_key() { let mut err = "TypeError: Attempted to get value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") for schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).get_type_data().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } match X::into_value(&x, &self.memory)? { Some(x) => { Ok(Some(x)) }, None => { // no value found here, return default from schema match X::default_value(&self.memory.get_schema(x.schema_addr)) { Some(y) => { Ok(Some(y)) }, None => { // no default in schema, no value to provide Ok(None) } } } } } None => Ok(None) } } /// This performs a compaction if the closure provided as the second argument returns `true`. /// Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// **WARNING** Your cursor location and backup will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "string" /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 9 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 10, /// after_compaction: 10, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 25 bytes, with 7 bytes of wasted space /// assert_eq!(NP_Size_Data { /// current_buffer: 24, /// after_compaction: 17, /// wasted_bytes: 7 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.maybe_compact(None, |compact_data| { /// // only compact if wasted bytes are greater than 5 /// if compact_data.wasted_bytes > 5 { /// true /// } else { /// false /// } /// })?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 17, /// after_compaction: 17, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn maybe_compact(&mut self, new_capacity: Option, mut callback: F) -> Result<(), NP_Error> where F: FnMut(NP_Size_Data) -> bool { let bytes_data = self.calc_bytes()?; if callback(bytes_data) { self.compact(new_capacity)?; } return Ok(()); } /// Compacts a buffer to remove an unused bytes or free space after a mutation. /// This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// **WARNING** Your cursor location and backup will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "string" /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 11 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 10, /// after_compaction: 10, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 25 bytes, with 7 bytes of wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 24, /// after_compaction: 17, /// wasted_bytes: 7 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.compact(None)?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 17, /// after_compaction: 17, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn compact<'compact>(&mut self, new_capacity: Option) -> Result<(), NP_Error> { let capacity = match new_capacity { Some(x) => { x as usize }, None => self.memory.read_bytes().len() }; let old_root = NP_Cursor::new(self.memory.root, 0, 0); let new_bytes = NP_Memory_Writable::new(Some(capacity), self.memory.schema.clone(), self.memory.root); let new_root = NP_Cursor::new(self.memory.root, 0, 0); NP_Cursor::compact(old_root, &self.memory, new_root, &new_bytes)?; self.cursor = NP_Cursor::new(self.memory.root, 0, 0); self.memory = new_bytes; Ok(()) } /// Recursively measures how many bytes each element in the buffer is using. /// This will let you know how many bytes can be saved from a compaction. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#"{ /// "type": "string" /// }"#)?; /// /// let mut new_buffer = factory.empty_buffer(None); /// new_buffer.set(&[], "hello")?; /// assert_eq!(NP_Size_Data { /// current_buffer: 10, /// after_compaction: 10, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn calc_bytes<'bytes>(&self) -> Result { let root = NP_Cursor::new(self.memory.root, 0, 0); let real_bytes = NP_Cursor::calc_size(&root, &self.memory)? + self.memory.root; let total_size = self.memory.read_bytes().len() - self.memory.root + 1; if total_size >= real_bytes { return Ok(NP_Size_Data { current_buffer: total_size, after_compaction: real_bytes, wasted_bytes: total_size - real_bytes }); } else { return Err(NP_Error::new("Error calculating bytes!")); } } fn select(&self, cursor: NP_Cursor, make_path: bool, path: &[&str]) -> Result, NP_Error> { // let mut loop_cursor = cursor; // let mut path_index = 0usize; // loop { // if path.len() == path_index { // return Ok(Some(loop_cursor)); // } // // now select into collections // match &self.memory.get_schema(loop_cursor.schema_addr) { // NP_Parsed_Schema::Table { columns, .. } => { // if let Some(next) = NP_Table::select(loop_cursor, columns, path[path_index], make_path, &self.memory)? { // loop_cursor = next; // path_index += 1; // } else { // return Ok(None); // } // }, // NP_Parsed_Schema::Tuple { values, .. } => { // match path[path_index].parse::() { // Ok(x) => { // if let Some(next) = NP_Tuple::select(loop_cursor, values, x, make_path, &self.memory)? { // loop_cursor = next; // path_index += 1; // } else { // return Ok(None); // } // }, // Err(_e) => { // return Err(NP_Error::new("Need a number to index into tuple, string found!")) // } // } // }, // NP_Parsed_Schema::List { .. } => { // match path[path_index].parse::() { // Ok(x) => { // if let Some(next) = NP_List::select(loop_cursor, x, make_path, &self.memory)? { // loop_cursor = opt_err(next.1)?; // path_index += 1; // } else { // return Ok(None); // } // }, // Err(_e) => { // return Err(NP_Error::new("Need a number to index into list, string found!")) // } // } // }, // NP_Parsed_Schema::Map { .. } => { // if let Some(next) = NP_Map::select(loop_cursor, path[path_index], make_path, &self.memory)? { // loop_cursor = next; // path_index += 1; // } else { // return Ok(None); // } // }, // _ => { // we've reached a scalar value but not at the end of the path // return Ok(None); // } // } // } panic!() } } /// NP Item pub struct NP_Item<'item> { /// index of this value pub index: usize, /// Key at this index pub key: &'item str, /// Column at this index pub col: &'item str, /// Cursor value cursor: Option, parent: NP_Cursor, memory: &'item NP_Memory_Writable } impl<'item> NP_Item<'item> { /// If this item has a value pub fn has_value(&self) -> bool { if let Some(x) = self.cursor { let value = x.get_value(self.memory); value.get_addr_value() != 0 } else { false } } /// Get value at this pointer pub fn get(&'item self) -> Result, NP_Error> where X: NP_Value<'item> + NP_Scalar { if let Some(cursor) = self.cursor { match X::into_value(&cursor, self.memory)? { Some(x) => { Ok(Some(x)) }, None => { match X::default_value(&self.memory.get_schema(cursor.schema_addr)) { Some(y) => { Ok(Some(y)) }, None => { Ok(None) } } } } } else { Ok(None) } } /// Set value at this pointer pub fn set(&'item mut self, value: X) -> Result<(), NP_Error> where X: NP_Value<'item> + NP_Scalar { // if let Some(cursor) = self.cursor { // X::set_value(cursor.clone(), self.memory, value)?; // } else { // match self.memory.get_schema(self.parent.schema_addr) { // // maps don't let you select values that don't exist in the buffer yet // NP_Parsed_Schema::List { .. } => { // let item = opt_err(opt_err(NP_List::select(self.parent.clone(), self.index, true, self.memory)?)?.1)?; // X::set_value(item, self.memory, value)?; // } // NP_Parsed_Schema::Table { columns, .. } => { // let item = opt_err(NP_Table::select(self.parent.clone(), columns, self.key, true, self.memory)?)?; // X::set_value(item, self.memory, value)?; // }, // NP_Parsed_Schema::Tuple { values, .. } => { // let item = opt_err(NP_Tuple::select(self.parent.clone(), values, self.index, true, self.memory)?)?; // X::set_value(item, self.memory, value)?; // } // _ => { } // } // } Ok(()) } /// Clear the value at this pointer pub fn del(&'item mut self) -> bool { if let Some(cursor) = self.cursor { let value = cursor.get_value(self.memory); value.set_addr_value(0); true } else { false } } } /// Iterator Enum #[derive(Debug)] #[doc(hidden)] pub enum NP_Iterator_Collection { /// None None, // /// Map // Map(NP_Map), // /// List // List(NP_List), // /// Table // Table(NP_Table), // /// Tuple // Tuple(NP_Tuple) } #[allow(missing_docs)] impl NP_Iterator_Collection { pub fn new(cursor: NP_Cursor, memory: &M) -> Result { // match memory.get_schema(cursor.schema_addr) { // NP_Parsed_Schema::Table { .. } => { // let table = NP_Table::new_iter(&cursor, memory); // Ok(NP_Iterator_Collection::Table(table)) // }, // NP_Parsed_Schema::List { .. } => { // let list = NP_List::new_iter(&cursor, memory, false, 0); // Ok(NP_Iterator_Collection::List(list)) // }, // NP_Parsed_Schema::Tuple { .. } => { // let tuple = NP_Tuple::new_iter(&cursor, memory); // Ok(NP_Iterator_Collection::Tuple(tuple)) // }, // NP_Parsed_Schema::Map { .. } => { // let map = NP_Map::new_iter(&cursor, memory); // Ok(NP_Iterator_Collection::Map(map)) // }, // _ => Err(NP_Error::new("Tried to create iterator on non collection item!")) // } panic!() } } #[allow(missing_docs)] pub struct NP_Generic_Iterator<'it> { root: NP_Cursor, value: NP_Iterator_Collection, memory: &'it NP_Memory_Writable, index: usize } #[allow(missing_docs)] impl<'it> NP_Generic_Iterator<'it> { pub fn new(cursor: NP_Cursor, memory: &'it NP_Memory_Writable) -> Result { Ok(Self { root: cursor.clone(), value: NP_Iterator_Collection::new(cursor.clone(), memory)?, memory: memory, index: 0 }) } } impl<'it> Iterator for NP_Generic_Iterator<'it> { type Item = NP_Item<'it>; fn next(&mut self) -> Option { // match &mut self.value { // NP_Iterator_Collection::Map(x) => { // if let Some(next_item) = x.step_iter(self.memory) { // self.index += 1; // Some(NP_Item { memory: self.memory, key: next_item.0, col: next_item.0, index: self.index - 1, cursor: Some(next_item.1), parent: self.root.clone() }) // } else { // None // } // }, // NP_Iterator_Collection::List(x) => { // if let Some(next_item) = x.step_iter(self.memory) { // Some(NP_Item { memory: self.memory, key: "", col: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) // } else { // None // } // }, // NP_Iterator_Collection::Table(x) => { // if let Some(next_item) = x.step_iter(self.memory) { // Some(NP_Item { memory: self.memory, key: next_item.1, col: next_item.1, index: next_item.0, cursor: next_item.2, parent: self.root.clone() }) // } else { // None // } // }, // NP_Iterator_Collection::Tuple(x) => { // if let Some(next_item) = x.step_iter(self.memory) { // Some(NP_Item { memory: self.memory, key: "", col: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) // } else { // None // } // }, // _ => { None } // } panic!() } } ================================================ FILE: no_proto_js/src/collection/list.rs ================================================ use crate::utils::opt_err; use crate::{pointer::{NP_List_Bytes}}; use crate::{error::NP_Error, json_flex::{JSMAP, NP_JSON}, memory::{NP_Memory}, pointer::{NP_Value}, pointer::{NP_Cursor}, schema::NP_Parsed_Schema, schema::{NP_Schema, NP_TypeKeys}}; use alloc::borrow::ToOwned; use alloc::boxed::Box; use alloc::{vec::*}; use alloc::string::ToString; #[doc(hidden)] #[derive(Debug, Clone, Copy)] struct List_Item { index: usize, buff_addr: usize } /// List data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_List { current: Option, previous: Option, index: usize, tail: Option, head: Option, only_real: bool, schema_of: usize, list: NP_Cursor } #[allow(missing_docs)] impl NP_List { #[inline(always)] pub fn select(list_cursor: NP_Cursor, index: usize, make_path: bool, memory: &M) -> Result)>, NP_Error> { let list_value = list_cursor.get_value(memory); if index > 255 { return Ok(None) } let schema_of = match memory.get_schema(list_cursor.schema_addr) { NP_Parsed_Schema::List { of, .. } => *of, _ => 0 }; // if no list here, make one please if list_value.get_addr_value() == 0 { if make_path { Self::make_list(&list_cursor, memory)?; } else { return Ok(Some((index, None))) } } let list_data = Self::get_list(list_value.get_addr_value() as usize, memory); // empty list if list_data.get_head() == 0 { let new_cursor_addr = memory.malloc_borrow(&[0u8; 5])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value(memory); new_cursor_value.set_index(index as u8); list_data.set_head(new_cursor_addr as u16); list_data.set_tail(new_cursor_addr as u16); return Ok(Some((index, Some(new_cursor)))) } // is cursor in front of or equal to head let head = NP_Cursor::new(list_data.get_head() as usize, schema_of, list_cursor.schema_addr); let head_index = head.get_value(memory).get_index() as usize; if head_index > index { // index is in front of head let new_cursor_addr = memory.malloc_borrow(&[0u8; 5])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value(memory); new_cursor_value.set_index(index as u8); new_cursor_value.set_next_addr(head.buff_addr as u16); list_data.set_head(new_cursor_addr as u16); return Ok(Some((index, Some(new_cursor)))) } else if head_index == index { // index is equal to head return Ok(Some((index, Some(head)))) } // is cursor in behind of or equal to tail let tail = NP_Cursor::new(list_data.get_tail() as usize, schema_of, list_cursor.schema_addr); let tail_value = tail.get_value(memory); let tail_index = tail_value.get_index() as usize; if tail_index < index { // index is in front of head let new_cursor_addr = memory.malloc_borrow(&[0u8; 5])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value(memory); new_cursor_value.set_index(index as u8); tail_value.set_next_addr(new_cursor_addr as u16); list_data.set_tail(new_cursor_addr as u16); return Ok(Some((index, Some(new_cursor)))) } else if tail_index == index { // index is equal to head return Ok(Some((index, Some(tail)))) } // the index is somewhere in the list let mut list_iter = Self::new_iter(&list_cursor, memory, false, head_index as usize); while let Some((idx, item)) = Self::step_iter(&mut list_iter, memory) { if index == idx { if let Some(found_cursor) = item { // found cursor here return Ok(Some((index, Some(found_cursor)))) } else { // found index but no cursor return Ok(Some((index, Some(list_iter.make_item_in_loop(memory)?)))) } } } // should never reach here Err(NP_Error::new("unreachable")) } #[inline(always)] pub fn make_item_in_loop(self, memory: &M) -> Result { let list_value = self.list.get_value(memory); let list_data = Self::get_list(list_value.get_addr_value() as usize, memory); let new_cursor_addr = memory.malloc_borrow(&[0u8; 5])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, self.schema_of, self.list.schema_addr); let new_cursor_value = new_cursor.get_value(memory); new_cursor_value.set_index(self.index as u8); if let Some(current) = self.current { if let Some(prev) = self.previous { // adjusting in list // set NEXT of previous to new cursor let prev_cursor = NP_Cursor::new(prev.buff_addr, self.schema_of, self.list.schema_addr); let prev_cursor_value = prev_cursor.get_value(memory); prev_cursor_value.set_next_addr(new_cursor_addr as u16); // set NEXT of this cursor to CURRENT new_cursor_value.set_next_addr(current.buff_addr as u16); } else { // replacing head new_cursor_value.set_next_addr(list_data.get_head()); list_data.set_head(new_cursor_addr as u16); } Ok(new_cursor) } else { Err(NP_Error::new("unreachable")) } } #[inline(always)] pub fn make_list<'make, M: NP_Memory>(list_cursor: &NP_Cursor, memory: &'make M) -> Result<(), NP_Error> { let list_addr = memory.malloc_borrow(&[0u8; 4])?; // head & tail let value = list_cursor.get_value(memory); value.set_addr_value(list_addr as u16); Ok(()) } #[inline(always)] pub fn get_list<'list, M: NP_Memory>(list_cursor_value_addr: usize, memory: &'list M) -> &'list mut NP_List_Bytes { if list_cursor_value_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_List_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(list_cursor_value_addr as usize) as *mut NP_List_Bytes) } } } #[inline(always)] pub fn new_iter(list_cursor: &NP_Cursor, memory: &M, only_real: bool, starting_index: usize) -> Self { let value = list_cursor.get_value(memory); let list_addr = value.get_addr_value() as usize; let schema_of = match memory.get_schema(list_cursor.schema_addr) { NP_Parsed_Schema::List { of, .. } => *of, _ => 0 }; let memory_bytes = memory.write_bytes(); if list_addr > 0 && list_addr < (memory_bytes.len() + 4) { let bytes = unsafe { &mut *(memory_bytes.as_ptr().add(list_addr) as *mut NP_List_Bytes) }; let tail_addr = bytes.get_tail() as usize; if tail_addr != 0 { let tail_cursor = NP_Cursor::new(tail_addr, schema_of, list_cursor.schema_addr); let head_cursor = NP_Cursor::new(bytes.get_head() as usize, schema_of, list_cursor.schema_addr); return Self { current: None, previous: None, head: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), tail: Some(List_Item { index: tail_cursor.get_value(memory).get_index() as usize, buff_addr: tail_cursor.buff_addr}), only_real, index: starting_index, schema_of, list: list_cursor.clone() } } } Self { current: None, previous: None, head: None, tail: None, only_real, index: starting_index, schema_of, list: list_cursor.clone() } } #[inline(always)] pub fn step_iter(&mut self, memory: &M) -> Option<(usize, Option)> { match self.head { Some(head) => { match self.current { Some(current) => { // subsequent iterations let current_cursor = NP_Cursor::new(current.buff_addr, self.schema_of, self.list.schema_addr); let value = current_cursor.get_value(memory); let next_addr = value.get_next_addr() as usize; if next_addr == 0 { return None; } if self.only_real { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index(); self.index = next_index as usize; self.previous = self.current.clone(); self.current = Some(List_Item { buff_addr: next_addr, index: next_index as usize}); Some((next_index as usize, Some(next_cursor))) } else { if current.index > self.index { self.index += 1; Some((self.index - 1, None)) } else if current.index == self.index { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index(); self.index += 1; self.previous = self.current.clone(); self.current = Some(List_Item { buff_addr: next_addr, index: next_index as usize}); Some((self.index - 1, Some(NP_Cursor::new(current.buff_addr, self.schema_of, self.list.schema_addr)))) } else { None } } }, None => { // first iteration self.current = Some(head); if self.only_real || head.index == 0 { self.index = head.index; Some((head.index, Some(NP_Cursor::new(head.buff_addr, self.schema_of, self.list.schema_addr)))) } else { self.index = 0; Some((0, None)) } } } }, None => None } } #[inline(always)] pub fn push<'push, M: NP_Memory>(list_cursor: &NP_Cursor, memory: &M, index: Option) -> Result, NP_Error> { let list_value = list_cursor.get_value(memory); if list_value.get_addr_value() == 0 { Self::make_list(&list_cursor, memory)?; } match memory.get_schema(list_cursor.schema_addr) { NP_Parsed_Schema::List { of, .. } => { let mut new_index: usize = index.unwrap_or(0); let new_item_addr = memory.malloc_borrow(&[0u8; 5])?; // list item let list_data = Self::get_list(list_value.get_addr_value() as usize, memory); let new_cursor = NP_Cursor::new(new_item_addr, *of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value(memory); if list_data.get_head() == 0 { // empty list list_data.set_head(new_item_addr as u16); list_data.set_tail(new_item_addr as u16); if new_index > 255 { return Err(NP_Error::new("Index cannot be greater than 255!")) } new_cursor_value.set_index(new_index as u8) } else { // list has items let old_tail = NP_Cursor::new(list_data.get_tail() as usize, *of, list_cursor.schema_addr); let old_tail_value = old_tail.get_value(memory); old_tail_value.set_next_addr(new_item_addr as u16); new_index = if let Some(idx) = index { idx as usize } else { (old_tail_value.get_index() + 1) as usize }; if new_index > 255 { return Err(NP_Error::new("Index cannot be greater than 255!")) } new_cursor_value.set_index(new_index as u8); list_data.set_tail(new_item_addr as u16); } return Ok(Some((new_index as u16, new_cursor))); }, _ => Ok(None) } } } impl<'value> NP_Value<'value> for NP_List { fn type_idx() -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let list_of = match &schema[address] { NP_Parsed_Schema::List { i: _, sortable: _, of} => { *of }, _ => 0 }; schema_json.insert("of".to_owned(), NP_Schema::_type_to_json(schema, list_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return Ok(0) } // head + tail let base_size = 4usize; let mut acc_size = 0usize; let mut list_iter = Self::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = Self::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { acc_size += NP_Cursor::calc_size(item_cursor, memory)?; } } Ok(acc_size + base_size) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return NP_JSON::Null } let mut json_list = Vec::new(); let mut list_iter = Self::new_iter(&cursor, memory, false, 0); while let Some((_index, item)) = Self::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { json_list.push(NP_Cursor::json_encode(item_cursor, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } Self::make_list(&to_cursor, to_memory)?; let mut list_iter = Self::new_iter(&from_cursor, from_memory, true, 0); while let Some((index, item)) = Self::step_iter(&mut list_iter, from_memory) { if let Some(old_item) = &item { let (_new_index, new_item) = opt_err(NP_List::push(&to_cursor, to_memory, Some(index))?)?; NP_Cursor::compact(old_item.clone(), from_memory, new_item, to_memory)?; } } Ok(to_cursor) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema::List { i: NP_TypeKeys::List, of: list_schema_addr + 1, sortable: false }); match json_schema["of"] { NP_JSON::Null => { return Err(NP_Error::new("Lists require an 'of' property that is a schema type!")) }, _ => { } } // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["of"].clone()))?; schema_bytes.extend(child_bytes); return Ok((false, schema_bytes, schema)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema::List { i: NP_TypeKeys::List, sortable: false, of: list_schema_addr + 1 }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } ================================================ FILE: no_proto_js/src/collection/map.rs ================================================ use alloc::string::String; use crate::{pointer::NP_Map_Bytes}; use crate::pointer::NP_Cursor; use crate::{json_flex::JSMAP}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; #[doc(hidden)] #[derive(Debug, Clone, Copy)] struct Map_Item<'item> { key: &'item str, buff_addr: usize } impl<'item> Map_Item<'item> { pub fn new(key: &'item str, buff_addr: usize) -> Self { Self { key, buff_addr} } } /// The map type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Map<'map> { current: Option>, head: Option>, map: NP_Cursor, value_of: usize } #[allow(missing_docs)] impl<'map> NP_Map<'map> { #[inline(always)] pub fn select(map_cursor: NP_Cursor, key: &str, make_path: bool, memory: &'map M) -> Result, NP_Error> { let mut map_iter = Self::new_iter(&map_cursor, memory); // key is maybe in map while let Some((ikey, item)) = map_iter.step_iter(memory) { if ikey == key { return Ok(Some(item.clone())) } } // key is not in map if make_path { Ok(Some(Self::insert(&map_cursor, memory, key)?)) } else { Ok(None) } } #[inline(always)] pub fn get_map<'get, M: NP_Memory>(map_buff_addr: usize, memory: &'get M) -> &'get mut NP_Map_Bytes { if map_buff_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Map_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(map_buff_addr as usize) as *mut NP_Map_Bytes) } } } #[inline(always)] pub fn new_iter(map_cursor: &NP_Cursor, memory: &'map M) -> Self { let value_of = match memory.get_schema(map_cursor.schema_addr) { NP_Parsed_Schema::Map { value, .. } => *value, _ => 0 }; if map_cursor.get_value(memory).get_addr_value() == 0 { return Self { current: None, head: None, map: map_cursor.clone(), value_of } } let head_addr = Self::get_map(map_cursor.buff_addr, memory).get_head(); let head_cursor = NP_Cursor::new(head_addr as usize, value_of, map_cursor.schema_addr); let head_cursor_value = head_cursor.get_value(memory); Self { current: None, head: Some(Map_Item::new(head_cursor_value.get_key(memory), head_cursor.buff_addr )), map: map_cursor.clone(), value_of } } #[inline(always)] pub fn step_iter(&mut self, memory: &'map M) -> Option<(&'map str, NP_Cursor)> { match self.head { Some(head) => { match self.current { Some(current) => { // subsequent iterations let current_item = NP_Cursor::new(current.buff_addr, self.value_of, self.map.schema_addr); let current_value = current_item.get_value(memory); let next_value = current_value.get_next_addr() as usize; if next_value == 0 { //nothing left to step return None; } else { let next_value_cursor = NP_Cursor::new(next_value, self.value_of, self.map.schema_addr); let next_value_value = next_value_cursor.get_value(memory); let key = next_value_value.get_key(memory); self.current = Some(Map_Item { buff_addr: next_value, key: key }); return Some((key, next_value_cursor)) } }, None => { // first iteration, get head self.current = Some(head.clone()); return Some((head.key, NP_Cursor::new(head.buff_addr, self.value_of, self.map.schema_addr))) } } }, None => return None } } #[inline(always)] pub fn insert(map_cursor: &NP_Cursor, memory: &M, key: &str) -> Result { let value_of = match memory.get_schema(map_cursor.schema_addr) { NP_Parsed_Schema::Map { value, .. } => *value, _ => 0 }; if key.len() >= 255 { return Err(NP_Error::new("Key length cannot be larger than 255 charecters!")); } let map_value = map_cursor.get_value(memory); let new_cursor_addr = memory.malloc_borrow(&[0u8; 6])?; let new_cursor = NP_Cursor::new(new_cursor_addr, value_of, map_cursor.schema_addr); let new_cursor_value = new_cursor.get_value(memory); // set key let key_item_addr = memory.malloc_borrow(&[key.len() as u8])?; memory.malloc_borrow(key.as_bytes())?; new_cursor_value.set_key_addr(key_item_addr as u16); let head = map_value.get_addr_value() as usize; // Set head of map to new cursor map_value.set_addr_value(new_cursor_addr as u16); if head != 0 { // set new cursors NEXT to old HEAD new_cursor_value.set_next_addr(head as u16); } Ok(new_cursor) } } impl<'value> NP_Value<'value> for NP_Map<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let value_of = match schema[address] { NP_Parsed_Schema::Map { value, .. } => { value }, _ => 0 }; schema_json.insert("value".to_owned(), NP_Schema::_type_to_json(schema, value_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(cursor: &NP_Cursor, memory: &'value M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut map_iter = Self::new_iter(&cursor, memory); while let Some((_index, item)) = Self::step_iter(&mut map_iter, memory) { let key_size = item.get_value(memory).get_key_size(memory); acc_size += 1; // length byte acc_size += key_size; acc_size += NP_Cursor::calc_size(&item, memory)?; } Ok(acc_size) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return NP_JSON::Null } let mut json_map = JSMAP::new(); let mut map_iter = Self::new_iter(&cursor, memory); while let Some((key, item)) = Self::step_iter(&mut map_iter, memory) { json_map.insert(String::from(key), NP_Cursor::json_encode(&item, memory)); } NP_JSON::Dictionary(json_map) } fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let mut map_iter = Self::new_iter(&from_cursor, from_memory); while let Some((key, item)) = Self::step_iter(&mut map_iter, from_memory) { let new_item = Self::insert(&to_cursor, to_memory, key)?; NP_Cursor::compact(item.clone(), from_memory, new_item, to_memory)?; } Ok(to_cursor) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema::Map { i: NP_TypeKeys::Map, value: value_addr + 1, sortable: false }); match json_schema["value"] { NP_JSON::Null => { return Err(NP_Error::new("Maps require a 'value' property that is a schema type!")) }, _ => { } } let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["value"].clone()))?; schema_data.extend(child_bytes); return Ok((false, schema_data, schema)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let of_addr = schema.len(); schema.push(NP_Parsed_Schema::Map { i: NP_TypeKeys::Map, sortable: false, value: of_addr + 1 }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } ================================================ FILE: no_proto_js/src/collection/mod.rs ================================================ //! Collections: NP_Table, NP_Tuple, NP_List & NP_Map /// Table data type pub mod table; /// Map data type pub mod map; /// List data type pub mod list; /// Tuple data type pub mod tuple; ================================================ FILE: no_proto_js/src/collection/table.rs ================================================ use crate::buffer::{VTABLE_BYTES, VTABLE_SIZE}; use alloc::string::String; use crate::pointer::{NP_Vtable}; use crate::{pointer::{NP_Cursor}, schema::{NP_Parsed_Schema, NP_Schema_Addr}}; use crate::{memory::{NP_Memory}, pointer::{NP_Value}, error::NP_Error, schema::{NP_Schema, NP_TypeKeys}, json_flex::{JSMAP, NP_JSON}}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; use core::{result::Result}; /// The data type for tables in NoProto buffers. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Table<'table> { index: usize, v_table: Option<&'table mut NP_Vtable>, v_table_addr: usize, v_table_index: usize, table: NP_Cursor } #[allow(missing_docs)] impl<'table> NP_Table<'table> { #[inline(always)] pub fn select(mut table_cursor: NP_Cursor, columns: &Vec<(u8, String, usize)>, key: &str, make_path: bool, memory: &M) -> Result, NP_Error> { match columns.iter().position(|val| { val.1 == key }) { Some(x) => { let v_table = x / VTABLE_SIZE; // which vtable let v_table_idx = x % VTABLE_SIZE; // which index on the selected vtable let mut table_value = table_cursor.get_value(memory); if table_value.get_addr_value() == 0 { if make_path { table_cursor = Self::make_first_vtable(table_cursor, memory)?; table_value = table_cursor.get_value(memory); } else { return Ok(None); } } let mut seek_vtable = 0usize; let mut vtable_address = table_value.get_addr_value() as usize; if v_table > 0 { while seek_vtable < v_table { let this_vtable = Self::get_vtable(vtable_address, memory); let next_vtable = this_vtable.get_next(); if next_vtable == 0 { vtable_address = Self::make_next_vtable(this_vtable, memory)?; } else { vtable_address = next_vtable as usize; } seek_vtable += 1; } } let item_address = vtable_address + (v_table_idx * 2); Ok(Some(NP_Cursor::new(item_address, columns[x].2, table_cursor.schema_addr))) }, None => Ok(None) } } #[inline(always)] pub fn make_first_vtable<'make, M: NP_Memory>(table_cursor: NP_Cursor, memory: &'make M) -> Result { let first_vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; let table_value = table_cursor.get_value(memory); table_value.set_addr_value(first_vtable_addr as u16); Ok(table_cursor) } #[inline(always)] pub fn make_next_vtable<'make, M: NP_Memory>(prev_vtable: &'make mut NP_Vtable, memory: &'make M) -> Result { let vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; prev_vtable.set_next(vtable_addr as u16); Ok(vtable_addr) } #[inline(always)] pub fn new_iter(cursor: &NP_Cursor, memory: &'table M) -> Self { let table_value = cursor.get_value(memory); let addr_value = table_value.get_addr_value() as usize; Self { table: cursor.clone(), v_table: if addr_value == 0 { None } else { Some(Self::get_vtable(addr_value, memory)) }, v_table_addr: addr_value, v_table_index: 0, index: 0, } } #[inline(always)] pub fn get_vtable<'vtable, M: NP_Memory>(v_table_addr: usize, memory: &'vtable M) -> &'vtable mut NP_Vtable { if v_table_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Vtable) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(v_table_addr) as *mut NP_Vtable) } } } #[inline(always)] pub fn step_iter(&mut self, memory: &'table M) -> Option<(usize, &'table str, Option)> { match &memory.get_schema(self.table.schema_addr) { NP_Parsed_Schema::Table { columns, .. } => { if columns.len() <= self.index { return None; } let v_table = self.index / VTABLE_SIZE; // which vtable let v_table_idx = self.index % VTABLE_SIZE; // which index on the selected vtable if self.v_table_index > v_table { self.v_table_index = v_table; match &self.v_table { Some(vtable) => { let next_vtable = vtable.get_next() as usize; if next_vtable > 0 { self.v_table = Some(Self::get_vtable(next_vtable, memory)); self.v_table_addr = next_vtable; } else { self.v_table = None; self.v_table_addr = 0; } }, _ => {} } } let this_index = self.index; self.index += 1; if self.v_table_addr != 0 { let item_address = self.v_table_addr + (v_table_idx * 2); Some((this_index, columns[this_index].1.as_str(), Some(NP_Cursor::new(item_address, columns[this_index].2, self.table.schema_addr)))) } else { Some((this_index, columns[this_index].1.as_str(), None)) } }, _ => None } } } impl<'value> NP_Value<'value> for NP_Table<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { ("table", NP_TypeKeys::Table) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("table", NP_TypeKeys::Table) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let column_len = bytes[address + 1]; let mut parsed_columns: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); let table_schema_addr = schema.len(); schema.push(NP_Parsed_Schema::Table { i: NP_TypeKeys::Table, sortable: false, // columns_mapped: Vec::new(), columns: Vec::new() }); let mut schema_parsed = schema; let mut offset = address + 2; let mut hash_map = Vec::new(); for x in 0..column_len as usize { let col_name_len = bytes[offset] as usize; let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; offset += 1 + col_name_len; let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let column_addr = schema_parsed.len(); let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); schema_parsed = schema; parsed_columns.push((x as u8, col_name.to_string(), column_addr)); // hash_map.insert(col_name, x).unwrap_or_default(); hash_map.push(col_name.to_string()); offset += schema_size + 2; } // hash_map.sort_by(|a, b| a.0.partial_cmp(&b.0).unwrap()); schema_parsed[table_schema_addr] = NP_Parsed_Schema::Table { i: NP_TypeKeys::Table, // columns_mapped: hash_map, sortable: false, columns: parsed_columns }; (false, schema_parsed) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let columns: Vec = match &schema[address] { NP_Parsed_Schema::Table { columns, .. } => { columns.into_iter().map(|column| { let mut cols: Vec = Vec::new(); cols.push(NP_JSON::String(column.1.to_string())); cols.push(NP_Schema::_type_to_json(&schema, column.2).unwrap_or(NP_JSON::Null)); NP_JSON::Array(cols) }).collect() }, _ => Vec::new() }; schema_json.insert("columns".to_owned(), NP_JSON::Array(columns)); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(cursor: &NP_Cursor, memory: &'value M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut nex_vtable = c_value.get_addr_value() as usize; while nex_vtable > 0 { acc_size += 10; let vtable = Self::get_vtable(nex_vtable, memory); nex_vtable = vtable.get_next() as usize; } let mut table = Self::new_iter(&cursor, memory); while let Some((_index, _key, item)) = table.step_iter(memory) { if let Some(real) = item { let add_size = NP_Cursor::calc_size(&real, memory)?; if add_size > 2 { // scalar cursor is part of vtable acc_size += add_size - 2; } } } Ok(acc_size) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return NP_JSON::Null }; let mut json_map = JSMAP::new(); let mut table = Self::new_iter(&cursor, memory); while let Some((_index, key, item)) = table.step_iter(memory) { if let Some(real) = item { json_map.insert(String::from(key), NP_Cursor::json_encode(&real, memory)); } else { json_map.insert(String::from(key), NP_JSON::Null); } } NP_JSON::Dictionary(json_map) } fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, mut to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } to_cursor = Self::make_first_vtable(to_cursor, to_memory)?; let to_cursor_value = to_cursor.get_value(to_memory); let mut last_real_vtable = to_cursor_value.get_addr_value() as usize; let mut last_vtable_idx = 0usize; let c: Vec<(u8, String, usize)>; let col_schemas = match &from_memory.get_schema(from_cursor.schema_addr) { NP_Parsed_Schema::Table { columns, .. } => { columns }, _ => { c = Vec::new(); &c } }; let mut table = Self::new_iter(&from_cursor, from_memory); while let Some((idx, _key, item)) = table.step_iter(from_memory) { if let Some(real) = item { let v_table = idx / VTABLE_SIZE; // which vtable let v_table_idx = idx % VTABLE_SIZE; // which index on the selected vtable if last_vtable_idx < v_table { let vtable_data = Self::get_vtable(last_real_vtable, to_memory); last_real_vtable = Self::make_next_vtable(vtable_data, to_memory)?; last_vtable_idx += 1; } let item_addr = last_real_vtable + (v_table_idx * 2); NP_Cursor::compact(real.clone(), from_memory, NP_Cursor::new(item_addr, col_schemas[idx].2, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Table as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema::Table { i: NP_TypeKeys::Table, sortable: false, columns: Vec::new(), // columns_mapped: Vec::new() }); let mut columns_mapped = Vec::new(); let mut columns: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); let mut column_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; match &json_schema["columns"] { NP_JSON::Array(cols) => { let mut x: u8 = 0; for col in cols { let column_name = match &col[0] { NP_JSON::String(x) => x.clone(), _ => "".to_owned() }; if column_name.len() > 255 { return Err(NP_Error::new("Table column names cannot be longer than 255 characters!")) } let column_schema_addr = schema_parsed.len(); columns.push((x, column_name.clone(), column_schema_addr)); let (_is_sortable, column_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; schema_parsed = schema_p; // columns_mapped.insert(column_name.as_str(), x as usize)?; columns_mapped.push(column_name.to_string()); column_data.push((column_name, column_type)); x += 1; } }, _ => { return Err(NP_Error::new("Tables require a 'columns' property that is an array of schemas!")) } } // columns_mapped.sort_by(|a, b| a.0.partial_cmp(&b.0).unwrap()); schema_parsed[schema_table_addr] = NP_Parsed_Schema::Table { i: NP_TypeKeys::Table, sortable: false, columns: columns, // columns_mapped }; if column_data.len() > 255 { return Err(NP_Error::new("Tables cannot have more than 255 columns!")) } if column_data.len() == 0 { return Err(NP_Error::new("Tables must have at least one column!")) } // number of columns schema_bytes.push(column_data.len() as u8); for col in column_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::max as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } return Ok((false, schema_bytes, schema_parsed)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } } ================================================ FILE: no_proto_js/src/collection/tuple.rs ================================================ use alloc::string::String; use crate::{buffer::{VTABLE_BYTES, VTABLE_SIZE}, utils::opt_err}; use crate::{ pointer::NP_Vtable}; use crate::{json_flex::JSMAP, pointer::{NP_Cursor}}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::borrow::ToOwned; use alloc::{boxed::Box}; use alloc::string::ToString; /// Tuple data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Tuple<'tuple> { index: usize, v_table: Option<&'tuple mut NP_Vtable>, v_table_addr: usize, v_table_index: usize, table: NP_Cursor } #[allow(missing_docs)] impl<'tuple> NP_Tuple<'tuple> { #[inline(always)] pub fn select(mut tuple_cursor: NP_Cursor, values: &Vec, index: usize, make_path: bool, memory: &M) -> Result, NP_Error> { if index >= values.len() { return Ok(None) } let column_schema_data = values[index]; let v_table = index / VTABLE_SIZE; // which vtable let v_table_idx = index % VTABLE_SIZE; // which index on the selected vtable let mut table_value = tuple_cursor.get_value(memory); if table_value.get_addr_value() == 0 { if make_path { tuple_cursor = Self::make_first_vtable(tuple_cursor, memory)?; table_value = tuple_cursor.get_value(memory); } else { return Ok(None); } } let mut seek_vtable = 0usize; let mut vtable_address = table_value.get_addr_value() as usize; if v_table > 0 { while seek_vtable < v_table { let this_vtable = Self::get_vtable(vtable_address, memory); let next_vtable = this_vtable.get_next(); if next_vtable == 0 { vtable_address = Self::make_next_vtable(this_vtable, memory)?; } else { vtable_address = next_vtable as usize; } seek_vtable += 1; } } let item_address = vtable_address + (v_table_idx * 2); Ok(Some(NP_Cursor::new(item_address, column_schema_data, tuple_cursor.schema_addr))) } #[inline(always)] pub fn make_first_vtable<'make, M: NP_Memory>(table_cursor: NP_Cursor, memory: &'make M) -> Result { let first_vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; let table_value = table_cursor.get_value(memory); table_value.set_addr_value(first_vtable_addr as u16); match &memory.get_schema(table_cursor.schema_addr) { NP_Parsed_Schema::Tuple { values, sortable, .. } => { if *sortable { // make all the vtables we'll need forever let mut v_table_capacity = VTABLE_SIZE; let mut vtable = Self::get_vtable(first_vtable_addr, memory); while v_table_capacity < values.len() { let next_addr = Self::make_next_vtable(vtable, memory)?; vtable = Self::get_vtable(next_addr, memory); v_table_capacity += VTABLE_SIZE; } // set default values for everything for x in 0..values.len() { let cursor = opt_err(Self::select(table_cursor.clone(), values, x, false, memory)?)?; NP_Cursor::set_default(cursor, memory)?; } } }, _ => { } } Ok(table_cursor) } #[inline(always)] pub fn make_next_vtable<'make, M: NP_Memory>(prev_vtable: &'make mut NP_Vtable, memory: &'make M) -> Result { let vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; prev_vtable.set_next(vtable_addr as u16); Ok(vtable_addr) } pub fn new_iter(cursor: &NP_Cursor, memory: &'tuple M) -> Self { let table_value = cursor.get_value(memory); let addr_value = table_value.get_addr_value() as usize; Self { table: cursor.clone(), v_table: if addr_value == 0 { None } else { Some(Self::get_vtable(addr_value, memory)) }, v_table_addr: addr_value, v_table_index: 0, index: 0, } } #[inline(always)] pub fn get_vtable<'vtable, M: NP_Memory>(v_table_addr: usize, memory: &'vtable M) -> &'vtable mut NP_Vtable { if v_table_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Vtable) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(v_table_addr) as *mut NP_Vtable) } } } pub fn step_iter(&mut self, memory: &'tuple M) -> Option<(usize, Option)> { match &memory.get_schema(self.table.schema_addr) { NP_Parsed_Schema::Tuple { values, .. } => { if values.len() <= self.index { return None; } let v_table = self.index / VTABLE_SIZE; // which vtable let v_table_idx = self.index % VTABLE_SIZE; // which index on the selected vtable if self.v_table_index > v_table { self.v_table_index = v_table; match &self.v_table { Some(vtable) => { let next_vtable = vtable.get_next() as usize; if next_vtable > 0 { self.v_table = Some(Self::get_vtable(next_vtable, memory)); self.v_table_addr = next_vtable; } else { self.v_table = None; self.v_table_addr = 0; } }, _ => {} } } let this_index = self.index; self.index += 1; if self.v_table_addr != 0 { let item_address = self.v_table_addr + (v_table_idx * 2); Some((this_index, Some(NP_Cursor::new(item_address, values[this_index], self.table.schema_addr)))) } else { Some((this_index, None)) } }, _ => None } } } impl<'value> NP_Value<'value> for NP_Tuple<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let schema_state: (bool, Vec) = match &schema[address] { NP_Parsed_Schema::Tuple { i: _, sortable, values } => { (*sortable, values.into_iter().map(|column| { NP_Schema::_type_to_json(schema, *column).unwrap_or(NP_JSON::Null) }).collect()) }, _ => (false, Vec::new()) }; schema_json.insert("values".to_owned(), NP_JSON::Array(schema_state.1)); if schema_state.0 { schema_json.insert("sorted".to_owned(), NP_JSON::True); } Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(cursor: &NP_Cursor, memory: &'value M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut nex_vtable = c_value.get_addr_value() as usize; while nex_vtable > 0 { acc_size += 10; let vtable = Self::get_vtable(nex_vtable, memory); nex_vtable = vtable.get_next() as usize; } let mut table = Self::new_iter(&cursor, memory); while let Some((_index, item)) = table.step_iter(memory) { if let Some(real) = item { let add_size = NP_Cursor::calc_size(&real, memory)?; if add_size > 2 { // scalar cursor is part of vtable acc_size += add_size - 2; } } } Ok(acc_size) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return NP_JSON::Null }; let mut json_list = Vec::new(); let mut table = Self::new_iter(&cursor, memory); while let Some((_idx, item)) = table.step_iter(memory) { if let Some(real) = item { json_list.push(NP_Cursor::json_encode(&real, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, mut to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } to_cursor = Self::make_first_vtable(to_cursor, to_memory)?; let to_cursor_value = to_cursor.get_value(to_memory); let mut last_real_vtable = to_cursor_value.get_addr_value() as usize; let mut last_vtable_idx = 0usize; let c: Vec<(u8, String, usize)>; let col_schemas = match &from_memory.get_schema(from_cursor.schema_addr) { NP_Parsed_Schema::Table { columns, .. } => { columns }, _ => { c = Vec::new(); &c } }; let mut table = Self::new_iter(&from_cursor, from_memory); while let Some((idx, item)) = table.step_iter(from_memory) { if let Some(real) = item { let v_table = idx / VTABLE_SIZE; // which vtable let v_table_idx = idx % VTABLE_SIZE; // which index on the selected vtable if last_vtable_idx < v_table { let vtable_data = Self::get_vtable(last_real_vtable, to_memory); last_real_vtable = Self::make_next_vtable(vtable_data, to_memory)?; last_vtable_idx += 1; } let item_addr = last_real_vtable + (v_table_idx * 2); NP_Cursor::compact(real.clone(), from_memory, NP_Cursor::new(item_addr, col_schemas[idx].2, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; match json_schema["sorted"] { NP_JSON::True => { sorted = true; schema_data.push(1); }, _ => { schema_data.push(0); } } let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema::Tuple { i: NP_TypeKeys::Tuple, sortable: sorted, values: Vec::new() }); let mut tuple_values = Vec::new(); let mut working_schema = schema; match &json_schema["values"] { NP_JSON::Array(cols) => { for col in cols { tuple_values.push(working_schema.len()); let (is_sortable, schema_bytes, _schema ) = NP_Schema::from_json(working_schema, &Box::new(col.clone()))?; working_schema = _schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } }, _ => { return Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } working_schema[tuple_addr] = NP_Parsed_Schema::Tuple { i: NP_TypeKeys::Tuple, sortable: sorted, values: tuple_values }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::max as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } return Ok((sorted, schema_data, working_schema)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let is_sorted = bytes[address + 1]; let column_len = bytes[address + 2]; let mut working_schema = schema; let tuple_schema_addr = working_schema.len(); working_schema.push(NP_Parsed_Schema::Tuple { i: NP_TypeKeys::Tuple, values: Vec::new(), sortable: is_sorted != 0 }); let mut tuple_values: Vec = Vec::new(); let mut offset = address + 3; for _x in 0..column_len as usize { let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; tuple_values.push(working_schema.len()); let (_sortable, schema_) = NP_Schema::from_bytes(working_schema, offset + 2, bytes); working_schema = schema_; offset += schema_size + 2; } working_schema[tuple_schema_addr] = NP_Parsed_Schema::Tuple { i: NP_TypeKeys::Tuple, values: tuple_values, sortable: is_sorted != 0 }; (is_sorted != 0, working_schema) } } ================================================ FILE: no_proto_js/src/error.rs ================================================ //! Primary error type used by the library use alloc::string::FromUtf8Error; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; /// The error type used for errors in this library #[derive(Debug)] pub struct NP_Error { /// The message of this error pub message: String } impl NP_Error { /// Generate a new error with a specific message pub fn new>(message: S) -> Self { NP_Error { message: message.as_ref().to_owned() } } /// Convert an option to an error type pub fn unwrap(value: Option) -> Result { match value { Some(x) => Ok(x), None => Err(NP_Error::new("Missing Value in option!")) } } } impl From for NP_Error { fn from(err: FromUtf8Error) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseFloatError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseIntError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } ================================================ FILE: no_proto_js/src/format.rs ================================================ //! # NoProto Data Format Documentaion //! //! NoProto buffers are built out of pointers and data. //! //! They are designed to hold a variable amount of data that is parsed based on a schema provided by the client. //! //! //! ## Pointers //! //! Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers. //! //! There is only one address size, u16. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer. //! //! | Pointer Kind | u16 size (bytes) | //! |--------------|------------------| //! | Standard | 2 | //! | Map Item | 6 | //! | List Item | 5 | //! //! //! The first byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer. //! //! Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else. //! //! For example, here is a buffer with u16 address size that contains the string `hello`, it's schema is just `{type: "string"}`. //! //! ```text //! [0, 0, 3, 0, 5, 104, 101, 108, 108, 111] //! [ root pointer, string length, h, e, l, l, o] //! ``` //! //! It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root. //! //! Let's look at the different pointer types you will encounter in a buffer. //! //! ### Standard Pointer //! This is used for any scalar or collection data types. The standard pointer is just a single u16. //! //! ### Map Item Pointer //! //! Used by items in a map object. Contains the following: //! ```text //! | address of data | next map item pointer address | address of bytes for this key | //! | u16 | u16 | u16 | //! ``` //! //! Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data. //! //! The last map item pointer in a map should have a zero in the next item address for no further map items. //! //! The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key. //! //! //! ### List Item Pointer //! //! Used by items in a list object. Contains the following: //! ```text //! | address of data | next list item pointer address | item index | //! | u16 | u16 | u8 | //! ``` //! //! Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence. //! //! You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order. //! //! There should be list item pointers only for indexes that have data in the list. //! //! The last list item pointer in a list should have a zero in the next item address for no further list items. //! //! //! ## Data //! //! Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated. //! //! When a pointer's address "points" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below. //! //! Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema. //! //! //! ### Table (Collection) //! //! The table data type stores one or more vtables for the column values. Each vtable is 10 bytes and contains: //! - 4 address (u16) pointers for the table column values //! - a trailing address(u16) of the next vtable (should be zero if no more vtables) //! //! Each vtable can address up to 4 columns, so if there are 30 columns in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5` //! //! Vtables are created as needed, For example if there are 100 columns in the schema but the client only ever sets values to the first 4 columns there will only ever be 1 vtable in the buffer. //! //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "table", //! "columns": [ //! ["age", {"type": "u8"}] //! ] //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! //! assert_eq!(vec![0, 0, 3, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 20], new_buffer.close()); //! //! // [0, 0, 3, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 20] //! // [ root ptr, vtable, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! The list type stores two addresses (u16), one to the first `ListItem` pointer (head) and one to the last `ListItem` pointer (tail). //! //! If there is only one list item pointer in the list, the head and tail addresses should be identical. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&["4"], 20u8)?; //! assert_eq!(vec![0, 0, 3, 0, 7, 0, 7, 0, 12, 0, 0, 4, 20], new_buffer.close()); //! //! // [0, 0, 3, 0, 7, 0, 7, 0, 12, 0, 0, 4, 20] //! // [ root ptr, head, tail, list item ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! The map type stores a single address (u16) to the first `MapItem` pointer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! assert_eq!(vec![0, 0, 3, 0, 13, 0, 0, 0, 9, 3, 97, 103, 101, 20], new_buffer.close()); //! //! // [0, 0, 3, 0, 13, 0, 0, 0, 9, 3, 97, 103, 101, 20] //! // [ root ptr, map item ptr, a, g, e, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! The tuple data type stores one or more vtables for the values. Each vtable is 10 bytes and contains: //! - 4 address (u16) pointers for the tuple values //! - a trailing address(u16) of the next vtable (should be zero if no more vtables) //! //! Each vtable can address up to 4 values, so if there are 30 values in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5` //! //! Vtables are normally created as needed, For example if there are 100 values in the schema but the client only ever sets the first 4 values there will only ever be 1 vtable in the buffer. //! //! If the tuple is set to be sorted, all vtables needed by the schema are created at once in a continuous chain. Following the continuos chain of vtables, default zero bytes are set for all children of the tuple. This gaurantees all sorted tuples of the same schema have identical leading bytes followed by sortable bytes determined by the value of the data. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"} //! ] //! }"#)?; //! //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&["0"], 20u8)?; //! new_buffer.set(&["1"], "hello")?; //! assert_eq!(vec![0, 0, 3, 0, 13, 0, 14, 0, 0, 0, 0, 0, 0, 20, 0, 5, 104, 101, 108, 108, 111], new_buffer.close()); //! //! // [0, 0, 3, 0, 13, 0, 14, 0, 0, 0, 0, 0, 0, 20, 0, 5, 104, 101, 108, 108, 111] //! // [ root ptr, vtable, u8, h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### int8, int16, int32, int64 (Scalar) //! //! Signed integers should be converted to unsigned values, then saved in big endian format. //! //! The size of the integer should determine how many bytes are used. For example, i8 is 1 byte, i16 is 2 bytes, etc. //! //! For example, an i8 of value -20 should be converted to 108, then saved as 108. //! //! When it's requested by the client, it should be converted back to signed before being passed to the client. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "i32" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], -2023830i32)?; //! assert_eq!(vec![0, 0, 3, 127, 225, 30, 106], new_buffer.close()); //! //! // [0, 0, 3, 127, 225, 30, 106] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### uint8, uint16, uint32, uint64 (Scalar) //! //! Unsigned integers should be converted to big endian format, then saved to the buffer. //! //! The size of the integer should determine how many bytes are used. For example, u8 is 1 byte, u16 is 2 bytes, etc. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "u32" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], 28378u32)?; //! assert_eq!(vec![0, 0, 3, 0, 0, 110, 218], new_buffer.close()); //! //! // [0, 0, 3, 0, 0, 110, 218] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### float, double (Scalar) //! //! Floating point vales should be converted to big endian format, then saved to the buffer. //! //! The size of the floating point value should determine how many bytes are used. `float` is `f32` (4 bytes) and `double` is `f64` (8 bytes) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "f32" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], 2.389988f32)?; //! assert_eq!(vec![0, 0, 3, 64, 24, 245, 144], new_buffer.close()); //! //! // [0, 0, 3, 64, 24, 245, 144] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option values are stored as a single `u8` value. The value should represent the zero based location in the choice set. //! //! For example if the schema has `choices: ["red", "blue", "yellow"]` and the user selects `yellow`, this value should be `2`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Enum::new("red"))?; //! assert_eq!(vec![0, 0, 3, 2], new_buffer.close()); //! //! // [0, 0, 3, 2] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bool (Scalar) //! //! A single `u8` byte. `1` for `true`, `0` for `false`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bool" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], true)?; //! assert_eq!(vec![0, 0, 3, 1], new_buffer.close()); //! //! // [0, 0, 3, 1] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Stored the same as an i64 value (including converting to unsigned format described above). //! //! The `i64` number should be devided by `10 ^ exp` to get the true value. The `exp` value is provided in the schema. //! //! For example, if you pull a `293` i64 value from the buffer and the `exp` value in the schema is `2`, the value is actually `293 / 100` or 2.93. //! //! You should avoid converting the number to floating point values except for display purposes. Study the source code for the `NP_Dec` type to see how to preserve the internal i64 value correctly. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Dec::new(200, 0))?; //! assert_eq!(vec![0, 0, 3, 128, 0, 0, 0, 0, 0, 78, 32], new_buffer.close()); //! //! // [0, 0, 3, 128, 0, 0, 0, 0, 0, 78, 32] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! Each geo size uses two signed integers right next to eachother in the buffer. i16/i16 for geo4, i32/i32 for geo8 and i64/i64 for geo16 //! //! The two signed integers are converted to unsigned values before being saved into big endian format. //! //! Depending on the size, the floating point value of each geographic coordinate is multiplied by a specific value before being saved as an integer. //! //! | Size | Bytes | Factor | //! |------|------------|------------| //! | 4 | i16 \| i16 | 100 | //! | 8 | i32 \| i32 | 10000000 | //! | 16 | i64 \| i64 | 1000000000 | //! //! For example, if a user provides these coordinates: 41.303921, -81.901693 //! //! To save into buffer:
//!
//! geo4:
//! 1 - Multiply by 100: (4130.3921, -8190.1693)
//! 2 - Make i16 (4130, -8190)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo8:
//! 1 - Multiply by 10000000: (413039210, -819016930)
//! 2 - Make i32 (413039210, -819016930)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo16: .... //! //! This process is reversed when the client requests the geo data from the buffer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "geo8" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Geo::new(8, 41.303921, -81.901693))?; //! assert_eq!(vec![0, 0, 3, 152, 158, 122, 106, 79, 46, 203, 30], new_buffer.close()); //! //! // [0, 0, 3, 152, 158, 122, 106, 79, 46, 203, 30] //! // [ root ptr, latitude, longitude] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### ulid, uuid (Scalar) //! //! Saved as 16 bytes following the respective formats for each data type. //! //! ULIDs store the date in the first 6 bytes, then the random bytes in the last 10. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "uuid" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! let uuid = NP_UUID::generate(32); //! new_buffer.set(&[], &uuid)?; //! assert_eq!(vec![0, 0, 3, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252], new_buffer.close()); //! //! // [0, 0, 3, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252] //! // [ root ptr, UUID ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! If there is a `size` property in the schema, store the provided data and pad the remainder of the space with zeros (for bytes) or 32 (for strings). //! //! If the provided data is too large, truncate it. //! //! For example, if the user provideds a single byte `[22]` and the size is `3`, this should be in the buffer: //! ```text //! [22, 0, 0] //! ``` //! //! If there is no fixed `size` in the schema, store a size (u16) followed by the actual data. //! //! If it's a string, the data should be utf-8 encoded when it's saved into the buffer and utf-8 decoded when it's retrieved. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "string" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], "hello, world!")?; //! assert_eq!(vec![0, 0, 3, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], new_buffer.close()); //! //! // [0, 0, 3, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33] //! // [ root ptr, length, h, e, l, l, o, ,, , w, o, r, l, d, !] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! This is stored the same as a uint64 value, should be unix timestamp in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "date" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Date::new(1598490738507))?; //! assert_eq!(vec![0, 0, 3, 0, 0, 1, 116, 45, 120, 255, 75], new_buffer.close()); //! //! // [0, 0, 3, 0, 0, 1, 116, 45, 120, 255, 75] //! // [ root ptr, timestamp ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! # NoProto Schema Format Documentation //! //! NoProto JSON schemas are compiled into a byte array as part of the parsing process. //! //! The compiled byte array is a significantly more compact and efficient way to store the schema. It also takes almost no time to parse a byte schema, where parsing a JSON schema can be a comparitively expensive operation. //! //! You can use the runtime to parse JSON schemas into byte array schemas at any time, and the JSON/byte array schemas can be used interchangebly. //! //! The byte array schema store default values and all other supported schema properties. //! //! Schema data is stored in a recursive format, each nested schema contains at least one byte that describes the data type. The single data type byte is usually but not always followed by schema data specific to that data type. The document below describes all of the data types and their specifics. //! //! //! ### int8, int16, int32, int64, uint8, uint16, uint32, uint64, float, double (Scalar) //! //! Integer values store the data type followed by wether there is a default value or not, followed optionally by the default value //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "i32", //! "default": 56 //! }"#)?; //! //! assert_eq!(&[6, 1, 0, 0, 0, 56], factory.compile_schema()); //! //! // [ 6, 1, 0, 0, 0, 56] //! // [i32 type, has default, default value] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "i32" //! }"#)?; //! //! assert_eq!(&[6, 0], factory.compile_schema()); //! //! // [ 6, 0] //! // [i32 type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option types will store the list of options and the index of the default value, if there is one. //! //! The second byte is `0` if there is no default, otherwise it contains the default index + 1. //! //! The third byte contains a `u8` that is the number of options available. //! //! The remaining bytes go on a loop for each option, with each loop containing 1 u8 byte at the begining describing the length of the string option, followed by the string value itself. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"], //! "default": "red" //! }"#)?; //! //! assert_eq!(&[20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.compile_schema()); //! //! // [ 20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, 1 based index of default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! assert_eq!(&[20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.compile_schema()); //! //! // [ 20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, no default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### bool (Scalar) //! //! The second byte of a bool schema is used to store the default value. //! //! If there is no default value, the second byte is 0.
//! If the default is true, the second byte is 1.
//! If the default is false, the second byte is 2.
//! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bool", //! "default": true //! }"#)?; //! //! assert_eq!(&[15, 1], factory.compile_schema()); //! //! // [ 15, 1] //! // [data type, default is true] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bool", //! "default": false //! }"#)?; //! //! assert_eq!(&[15, 2], factory.compile_schema()); //! //! // [ 15, 2] //! // [data type, default is false] //! //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bool" //! }"#)?; //! //! assert_eq!(&[15, 0], factory.compile_schema()); //! //! // [ 15, 0] //! // [data type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Decimal stores the expontent in the second byte. //! //! The third byte is 0 if there is no default value, otherwise it is 1. //! //! If there is a default value, multiply the default value by (10^exp) and convert it into an i64, then save it in the bytes following the default flag byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! assert_eq!(&[14, 2, 0], factory.compile_schema()); //! //! // [ 14, 2, 0] //! // [data type, expontent, no default value] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "decimal", //! "exp": 2, //! "default": 521.32 //! }"#)?; //! //! assert_eq!(&[14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164], factory.compile_schema()); //! //! // [ 14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164] //! // [data type, expontent, has default value, default value] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! //! Geo stores the size of the data type in the second byte. //! The third byte is 0 if there is no default, and 1 if there is a default. //! The remaining bytes are the default value (if there is one) parsed in the specific size designated in the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "geo8" //! }"#)?; //! //! assert_eq!(&[16, 8, 0], factory.compile_schema()); //! //! // [ 16, 8, 0] //! // [data type, geo size (4/8/16), no default value] //! //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "geo8", //! "default": {"lat": 29.2, "lng": -19.2} //! }"#)?; //! //! assert_eq!(&[16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0], factory.compile_schema()); //! //! // [ 16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0] //! // [data type, geo size (4/8/16), has default value, geo8 value (lat/lng) ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### ulid, uuid (Scalar) //! //! UUID and ULID do not have default options, so this data type is very simple. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "uuid" //! }"#)?; //! //! assert_eq!(&[17], factory.compile_schema()); //! //! // [ 17] //! // [data type] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! The second and third bytes are a u16 of the fixed size. If there is no fixed size, these two bytes are zero. //! //! Thhe length of the default value follows as a u16, if there is no default value the u16 is zero. If there is a default value, it follows the length bytes. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "string" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 0], factory.compile_schema()); //! //! // [ 2, 0, 0, 0, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u16), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "string", //! "size": 20 //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 20, 0, 0], factory.compile_schema()); //! //! // [ 2, 0, 0, 20, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u16), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "string", //! "size": 20, //! "default": "hello" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111], factory.compile_schema()); //! //! // [ 2, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111] //! // [data type, uppercase/lowercase, fixed size (u16), default size (u16), h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! //! The second byte is a 1 if there is a default value, 0 otherwise. //! //! If there is a default value it follows the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "date" //! }"#)?; //! //! assert_eq!(&[19, 0], factory.compile_schema()); //! //! // [ 19, 0] //! // [data type, default flag ] //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "date", //! "default": 1604862252 //! }"#)?; //! //! assert_eq!(&[19, 1, 0, 0, 0, 0, 95, 168, 65, 44], factory.compile_schema()); //! //! // [ 19, 1, 0, 0, 0, 0, 95, 168, 65, 44] //! // [data type, default flag, default value ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Collection Schemas //! //! Collection based schemas nest schemas in a way that allows any type to be the child of any collection, including other collections. //! //! ### Table (collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "table", //! "columns": [ //! ["age", {"type": "u8"}], //! ["name", {"type": "string"}] //! ] //! }"#)?; //! //! //! assert_eq!(&[21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 6, 2, 0, 0, 0, 0, 0], factory.compile_schema()); //! //! // [ 21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 6, 2, 0, 0, 0, 0, 0] //! // [data type, # of columns, a, g, e, column schema size (u16), column schema, n, a, m, e, column schema size (u16), column schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[23, 8, 0], factory.compile_schema()); //! //! // [ 23, 8, 0] //! // [data type, "of" schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[22, 8, 0], factory.compile_schema()); //! //! // [ 22, 8, 0] //! // [data type, value schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"} //! ] //! }"#)?; //! //! assert_eq!(&[24, 0, 2, 0, 2, 8, 0, 0, 6, 2, 0, 0, 0, 0, 0], factory.compile_schema()); //! //! // [ 24, 0, 2, 0, 2, 8, 0, 0, 6, 2, 0, 0, 0, 0, 0] //! // [data type, sorted, length (u8), schema size (u16), schema, schema size (u16), schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` ================================================ FILE: no_proto_js/src/hashmap.rs ================================================ use alloc::string::String; use alloc::vec::Vec; use crate::error::NP_Error; pub static SEED: u32 = 2181155409; #[derive(Debug)] pub struct NP_HashMap { data: Vec> } const HASH_SIZE: usize = 2048; impl NP_HashMap { pub fn empty() -> Self { Self { data: Vec::with_capacity(1) } } pub fn new() -> Self { let mut vector = Vec::with_capacity(HASH_SIZE); vector.extend((0..HASH_SIZE).map(|_| Vec::new())); Self { data: vector } } pub fn insert(&mut self, key: &str, value: usize) -> Result<(), NP_Error> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; if self.data[bucket].len() == 0 { self.data[bucket].push((String::from(key), value)); } else { for (k, v) in self.data[bucket].iter_mut() { if k == key { *v = value; return Ok(()) } } self.data[bucket].push((String::from(key), value)); } Ok(()) } pub fn get(&self, key: &str) -> Option<&usize> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get(bucket) { Some(x) => { let len = x.len(); if len == 0 { return None; } if len == 1 { return Some(&x[0].1); } for (k, v) in x.iter() { if k == key { return Some(v) } } None }, None => None } } pub fn delete(&mut self, key: &str) { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get_mut(bucket) { Some(bucket) => { bucket.retain(|(k, _v)| *k != key); }, _ => { } } } } // https://github.com/mhallin/murmurhash3-rs // // The MIT License (MIT) // // Copyright (c) 2015 Magnus Hallin // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. #[inline(always)] fn fmix32(mut h: u32) -> u32 { h ^= h >> 16; h = h.wrapping_mul(0x85ebca6b); h ^= h >> 13; h = h.wrapping_mul(0xc2b2ae35); h ^= h >> 16; return h; } #[inline(always)] fn get_32_block(bytes: &[u8], index: usize) -> u32 { let b32: &[u32] = unsafe { core::mem::transmute(bytes) }; return b32[index]; } #[inline(always)] pub fn murmurhash3_x86_32(bytes: &[u8], seed: u32) -> u32 { let c1 = 0xcc9e2d51u32; let c2 = 0x1b873593u32; let read_size = 4; let len = bytes.len() as u32; let block_count = len / read_size; let mut h1 = seed; for i in 0..block_count as usize { let mut k1 = get_32_block(bytes, i); k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; h1 = h1.rotate_left(13); h1 = h1.wrapping_mul(5); h1 = h1.wrapping_add(0xe6546b64) } let mut k1 = 0u32; if len & 3 == 3 { k1 ^= (bytes[(block_count * read_size) as usize + 2] as u32) << 16; } if len & 3 >= 2 { k1 ^= (bytes[(block_count * read_size) as usize + 1] as u32) << 8; } if len & 3 >= 1 { k1 ^= bytes[(block_count * read_size) as usize + 0] as u32; k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; } h1 ^= bytes.len() as u32; h1 = fmix32(h1); return h1; } ================================================ FILE: no_proto_js/src/json_flex.rs ================================================ //! JSON Parser, serializer and deserializer //! //! This file is derived from the json_flex crate. //! //! [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex) //! //! Changes: //! - Library has been converted & stripped for no_std use //! - All `.unwrap()`s have been replaced with proper error handling //! - Several additions that were needed for NoProto //! - Some minor optimizations //! //! The MIT License (MIT) //! //! Copyright (c) 2015 nacika //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. use alloc::vec::Vec; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::string::ToString; use core::str::FromStr; use core::ops::Index; use crate::{error::NP_Error}; /// The JSON representation of a JS Map #[derive(Debug, Clone)] pub struct JSMAP { /// The vec of values in the map pub values: Vec<(String, NP_JSON)> } impl JSMAP { /// Generate a new empty map pub fn new() -> Self { JSMAP { values: Vec::new() } } /// Insert a value into the map pub fn insert(&mut self, key: String, value: NP_JSON) -> usize { for x in 0..self.values.len() { if self.values[x].0 == key { self.values[x] = (key, value); return x; } } self.values.push((key, value)); self.values.len() } /// Get a mutable reference to a value in the map pub fn get_mut(&mut self, key: &str) -> Option<&mut NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&mut self.values[x].1); } } None } /// Get an immutable reference to a value in the map pub fn get(&self, key: &str) -> Option<&NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&self.values[x].1); } } None } /// Check if a value exists in the map pub fn has(&self, key: &str) -> bool { for x in 0..self.values.len() { if self.values[x].0 == *key { return true; } } false } } /// Represents an JSON value #[derive(Debug, Clone)] pub enum NP_JSON { /// String JSON type String(String), /// Integer JSON type Integer(i64), /// Float JSON type Float(f64), /// Map JSON type Dictionary(JSMAP), /// List JSON type Array(Vec), /// NULL json type Null, /// boolean false type False, /// boolean true type True, } impl NP_JSON { /// copy this value and it's children pub fn clone(&self) -> NP_JSON { match self { NP_JSON::Dictionary(map) => { let mut new_map = JSMAP::new(); for item in &map.values { let cloned = { ( item.0.clone(), item.1.clone() ) }; new_map.values.push(cloned); } NP_JSON::Dictionary(new_map) }, NP_JSON::Array(list) => { let mut array = Vec::new(); for item in list { array.push(item.clone()); } NP_JSON::Array(array) }, NP_JSON::String(strng) => { NP_JSON::String(strng.clone()) }, NP_JSON::Integer(int) => { NP_JSON::Integer(*int) }, NP_JSON::Float(num) => { NP_JSON::Float(*num) }, NP_JSON::Null => { NP_JSON::Null }, NP_JSON::False => { NP_JSON::False }, NP_JSON::True => { NP_JSON::True }, } } /// Get this value as a string pub fn into_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get this value as an i64 pub fn into_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get this value as an f64 pub fn into_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get this value as a hashmap pub fn into_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get this value as a list pub fn into_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Check if this value is null pub fn is_null(&self) -> bool { match self { &NP_JSON::Null => true, _ => false, } } /// Check if this value is boolean true pub fn is_true(&self) -> bool { match self { &NP_JSON::True => true, _ => false, } } /// Check if this value is boolean false pub fn is_false(&self) -> bool { match self { &NP_JSON::False => true, _ => false, } } /// Check if this value is array pub fn is_array(&self) -> bool { match self { &NP_JSON::Array(_) => true, _ => false, } } /// Check if this value is map pub fn is_dictionary(&self) -> bool { match self { &NP_JSON::Dictionary(_) => true, _ => false, } } /// Check if this value is string pub fn is_string(&self) -> bool { match self { &NP_JSON::String(_) => true, _ => false, } } /// Check if this value is an integer pub fn is_integer(&self) -> bool { match self { &NP_JSON::Integer(_) => true, _ => false, } } /// Check if this value is float pub fn is_float(&self) -> bool { match self { &NP_JSON::Float(_) => true, _ => false, } } /// Get a reference to the string in this value if it's a string pub fn unwrap_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get a reference to the i64 in this value if it's a i64 pub fn unwrap_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get a reference to the f64 in this value if it's a f64 pub fn unwrap_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get a reference to the hashmap in this value if it's a hashmap pub fn unwrap_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get a reference to the list in this value if it's a list pub fn unwrap_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Stringify this JSON object and it's children pub fn stringify(&self) -> String { match self { &NP_JSON::String(ref v) => { let mut string: String = "\"".to_owned(); string.push_str(v.replace("\"", "\\\"").as_str()); string.push_str("\""); string }, &NP_JSON::Integer(ref v) => v.to_string(), &NP_JSON::Float(ref v) => v.to_string(), &NP_JSON::Dictionary(ref v) => { let mut string: String = "{".to_owned(); let mut is_first = true; for (k, v) in &v.values { if is_first { is_first = false; } else { string.push(','); } let mut substring = "\"".to_owned(); substring.push_str(k.replace("\"", "\\\"").as_str()); substring.push_str("\":"); string.push_str(substring.as_str()); string.push_str(&v.stringify()); } string.push_str("}"); string } &NP_JSON::Array(ref v) => { let mut string: String = "".to_owned(); let mut is_first = true; for i in v { if is_first { is_first = false; } else { string.push(','); } string.push_str(&i.stringify()); } let mut return_string = "[".to_owned(); return_string.push_str(string.as_str()); return_string.push_str("]"); return_string } &NP_JSON::Null => "null".to_owned(), &NP_JSON::False => "false".to_owned(), &NP_JSON::True => "true".to_owned(), } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: usize) -> &'a Self::Output { match self.into_vec() { Some(x) => { match x.get(id) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: String) -> &'a Self::Output { panic!() } } impl<'a> Index<&'a str> for NP_JSON { type Output = NP_JSON; fn index<'b>(&'b self, id: &str) -> &'b Self::Output { match self.into_hashmap() { Some(x) => { match x.get(&id.to_owned()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } fn recursive(v: &mut NP_JSON, a_chain: Vec, d_chain: Vec, mut a_nest: i64, mut d_nest: i64, last_chain: char, last_c: char, func: fn(&mut NP_JSON, Option, Vec, Vec, i64, i64, char) -> Result<(), NP_Error> , value: Option, log: String) -> Result { let is_find = match *v { NP_JSON::Array(ref mut vvz) => { let i = *NP_Error::unwrap(a_chain.get(a_nest as usize))?; let is_find: bool = { let vvv = vvz.get_mut(i as usize); let is_find: bool = match vvv { Some(mut vvvv) => { a_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; a_nest -= 1; true } None => false, }; is_find }; if !is_find { } is_find } NP_JSON::Dictionary(ref mut vv) => { let o_key = d_chain.get(d_nest as usize); match o_key { Some(ref key) => { let vvv: Option<&mut NP_JSON> = vv.get_mut(*key); let is_find: bool = match vvv { Some(mut vvvv) => { d_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; d_nest -= 1; true } None => false, }; is_find } None => false, } } _ => true, }; if !is_find { func(v, value, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_c)?; } Ok(is_find) } /// Parse a JSON string into a JSON object in memory pub fn json_decode<'json>(text: String) -> Result, NP_Error> { let mut ret = Box::new(NP_JSON::Null); let mut pos: usize = 0; let mut chain: Vec = Vec::new(); let mut d_chain: Vec = Vec::new(); let mut a_chain: Vec = Vec::new(); let mut last_chain: char = ' '; let mut last_active_char: char = ' '; let mut key: String; let mut string: String = "".to_owned(); let mut num: String = "".to_owned(); let mut last_c: char = ' '; let mut s_true: String = "".to_owned(); let mut s_false: String = "".to_owned(); let mut s_null: String = "".to_owned(); let body: Vec = text.chars().collect(); let size = body.len(); let mut done = false; while !done { let c: char = body[pos]; match last_chain { 's' => { string.push(c); } 'w' => { string.push(c); } 'n' => { num.push(c); } 't' => { s_true.push(c); } 'f' => { s_false.push(c); } '0' => { s_null.push(c); } _ => {} }; match c { '[' => { match last_chain { 's' => {} 'w' => {} _ => { let a = 'a'; chain.push(a); last_chain = a; a_chain.push(0); let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Array(Vec::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Array(Vec::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Array(Vec::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } }; last_active_char = c.clone(); } ']' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_null = "".to_owned(); } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?; NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => vv.push( NP_JSON::Float(f64::from_str(&new_num.clone())?) ), None => vv.push( NP_JSON::Integer(i64::from_str(&new_num.clone())?) ), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } 'a' => { if last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } _ => return Err(NP_Error::new("JSON Parse Error: Unknown chain from Array")), } last_active_char = c.clone(); } '{' => { match last_chain { 's' => {} 'w' => {} 'v' => { let a = 'd'; chain.push(a); last_chain = a; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } _ => { let a = 'd'; chain.push(a); last_chain = a; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Dictionary(JSMAP::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } } last_active_char = c.clone(); } '}' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_true = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_false = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_null = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'n' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; value = value.trim().to_string(); match value.find('.') { Some(_) => vv.insert(key, NP_JSON::Float(f64::from_str(&value.clone())?)) , None => vv.insert(key, NP_JSON::Integer(i64::from_str(&value.clone())?)), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num.clone()), log)?; } num = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'v' => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } _ => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } } last_active_char = c.clone(); } ':' => { match last_chain { 's' => {} 'w' => {} 'd' => { let v = 'v'; chain.push(v); last_chain = v; key = string.clone(); NP_Error::unwrap(key.pop())?; d_chain.push(key.clone()); string = "".to_owned(); } _ => {} } last_active_char = c.clone(); } ',' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 't' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 'f' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == '0' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } NP_Error::unwrap(chain.pop())?; recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_null = "".to_owned(); } 'a' => { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); if last_active_char == '[' || last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.push(NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.push(NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.insert(key, NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.insert(key, NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } } 'v' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } _ => {} } last_active_char = c.clone(); } '"' => { match last_chain { 'w' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; string = "".to_owned(); } else if last_chain != 'd' { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { let w = 'w'; chain.push(w); last_chain = w; string = "".to_owned(); } } last_active_char = c.clone(); } '\'' => { match last_chain { 's' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; NP_Error::unwrap(d_chain.pop())?; string = "".to_owned(); } else { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { string = "".to_owned(); let s = 's'; chain.push(s); last_chain = s; } } last_active_char = c.clone(); } '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } '-' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } 't' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let t = 't'; chain.push(t); last_chain = t; s_true = "".to_owned(); s_true.push(c); } } last_active_char = c.clone(); } 'f' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let f = 'f'; chain.push(f); last_chain = f; s_false = "".to_owned(); s_false.push(c); } } last_active_char = c.clone(); } 'n' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let null = '0'; chain.push(null); last_chain = null; s_null = "".to_owned(); s_null.push(c); } } last_active_char = c.clone(); } '\n' => {} _ => {} }; pos += 1; if pos >= size { done = true; } last_c = c.clone(); } Ok(ret) } ================================================ FILE: no_proto_js/src/lib.rs ================================================ #![warn(missing_docs)] #![allow(non_camel_case_types)] #![no_std] //! ## Simple & Performant Serialization with RPC //! Performance of Protocol Buffers with flexibility of JSON //! //! [Github](https://github.com/ClickSimply/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) //! //! ### Features //! - Zero dependencies //! - Zero copy deserialization //! - `no_std` support, WASM ready //! - Native byte-wise sorting //! - Extensive Documentation & Testing //! - Easily mutate, add or delete values in existing buffers //! - Schemas allow default values and non destructive updates //! - Supports most common native data types //! - Supports collection types (list, map, table & tuple) //! - Supports deep nesting of collection types //! - Easy and performant export to JSON. //! - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format //! - Panic/unwrap() free, this library will never cause a panic in your application. //! - Simple, powerful transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). //! //! NoProto allows you to store, read & mutate structured data with very little overhead. It's like Protocol Buffers except schemas are dynamic at runtime and buffers are mutable. It's like JSON but way faster, type safe and supports native types. Also unlike Protocol Buffers you can insert values in any order and values can later be removed or updated without rebuilding the whole buffer. //! //! Like Protocol Buffers schemas are seperate from the data buffers and are required to read, create or update data buffers. //! //! Byte-wise sorting comes in the box and is a first class operation. Two NoProto buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be the result. This is extremely useful for storing ordered keys in databases. //! //! *Compared to Protocol Buffers* //! - Faster serialization & deserialization performance //! - Updating buffers is orders of magnitude faster //! - Easier & Simpler API //! - Schemas are dynamic at runtime, no compilation step //! - Supports more types and better nested type support //! - Byte-wise sorting is first class operation //! - Mutate (add/delete/update) existing/imported buffers //! //! *Compared to JSON / BSON* //! - Far more space efficient //! - Significantly faster serialization & deserialization //! - Deserializtion is zero copy //! - Has schemas / type safe //! - Supports byte-wise sorting //! - Supports raw bytes & other native types //! //! //! | Format | Zero-Copy | Size Limit | Mutable | Schemas | Language Agnostic | No Compiling | Byte-wise Sorting | //! |------------------|-----------|------------|---------|---------|-------------------|-----------------|-------------------| //! | **NoProto** | ✓ | ~64KB | ✓ | ✓ | ✓ | ✓ | ✓ | //! | JSON | 𐄂 | Unlimited | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | BSON | 𐄂 | ~16MB | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | MessagePack | 𐄂 | Unlimited | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | FlatBuffers | ✓ | ~2GB | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Protocol Buffers | 𐄂 | ~2GB | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Cap'N Proto | ✓ | 2^64 Bytes | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Veriform | 𐄂 | ? | 𐄂 | 𐄂 | 𐄂 | 𐄂 | 𐄂 | //! //! //! # Quick Example //! ```rust //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::collection::table::NP_Table; //! //! // JSON is used to describe schema for the factory //! // Each factory represents a single schema //! // One factory can be used to serialize/deserialize any number of buffers //! let user_factory = NP_Factory::new(r#"{ //! "type": "table", //! "columns": [ //! ["name", {"type": "string"}], //! ["age", {"type": "u16", "default": 0}], //! ["tags", {"type": "list", "of": { //! "type": "string" //! }}] //! ] //! }"#)?; //! //! //! // create a new empty buffer //! let mut user_buffer = user_factory.empty_buffer(None); // optional capacity, optional address size (u16 by default) //! //! // set an internal value of the buffer, set the "name" column //! user_buffer.set(&["name"], "Billy Joel")?; //! //! // assign nested internal values, sets the first tag element //! user_buffer.set(&["tags", "0"], "first tag")?; //! //! // get an internal value of the buffer from the "name" column //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // close buffer and get internal bytes //! let user_bytes: Vec = user_buffer.close(); //! //! // open the buffer again //! let user_buffer = user_factory.open_buffer(user_bytes); //! //! // get nested internal value, first tag from the tag list //! let tag = user_buffer.get::<&str>(&["tags", "0"])?; //! assert_eq!(tag, Some("first tag")); //! //! // get nested internal value, the age field //! let age = user_buffer.get::(&["age"])?; //! // returns default value from schema //! assert_eq!(age, Some(0u16)); //! //! // close again //! let user_bytes: Vec = user_buffer.close(); //! //! //! // we can now save user_bytes to disk, //! // send it over the network, or whatever else is needed with the data //! //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Guided Learning / Next Steps: //! 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. //! 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. //! 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. //! 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. //! 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer. //! //! ## Benchmarks //! While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. //! //! The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any decisions on what to use. //! //! **Legend**: Ops / Millisecond, higher is better //! //! | Library | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | //! |--------------------|--------|------------|----------|----------|--------------|-------------| //! | NoProto | 312 | 469 | 27027 | 3953 | 284 | 229 | //! | Protocol Buffers 2 | 270 | 390 | 400 | 167 | 220 | 163 | //! | MessagePack | 38 | 70 | 80 | 35 | 431 | 245 | //! | JSON | 167 | 134 | 167 | 127 | 673 | 246 | //! | BSON | 28 | 34 | 35 | 26 | 600 | 279 | //! //! //! - **Encode**: Transfer a collection of 33 fields of test data into a serialized `Vec`. //! - **Decode All**: Deserialize the test object from the `Vec` into all 33 fields. //! - **Decode 1**: Deserialize the test object from the `Vec` into one field. //! - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. //! //! Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). //! //! In my opinion the benchmarks above make NoProto the clear winner if you ever plan to mutate or update your buffer data. If buffer data can always be immutable and the fixed compiled schemas aren't an issue, Flatbuffers is the better choice. //! //! I also think there's a strong argument here against using data without a schema. The cost of an entirely flexible formats like JSON or BSON is crazy. Putting schemas on your data not only increases your data hygiene but makes the storage of the data far more comapct while increasing the deserialization and serialization perfomrance substantially. //! //! #### Limitations //! - Buffers cannot be larger than 2^16 bytes (~64kb). //! - Collections (Lists, Maps, Tuples & Tables) cannot have more than 255 immediate child items. //! - Enum/Option types are limited to 255 choices and choice strings cannot be larger than 255 bytes. //! - Tables are limited to 255 columns and column names cannot be larger than 255 bytes. //! - Buffers are not validated or checked before deserializing. //! //! #### Non Goals / Known Tradeoffs //! If every CPU cycle counts, you don't mind compiling fixed schemas and you don't plan to mutate your buffers/objects, FlatBuffers/CapnProto is probably the way to go. It's impossible to make a flexible format like NoProto as fast as formats that compile your schemas ahead of time and store data immutably. //! //! ---------------------- //! //! MIT License //! //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. pub mod pointer; pub mod collection; pub mod buffer; pub mod schema; pub mod error; pub mod json_flex; pub mod format; pub mod memory; #[cfg(feature = "np_rpc")] pub mod rpc; #[cfg(feature = "np_rpc")] #[allow(missing_docs)] #[doc(hidden)] pub mod hashmap; mod utils; #[macro_use] extern crate alloc; use crate::schema::NP_Schema; use crate::memory::NP_Memory; // use crate::json_flex::NP_JSON; // use crate::schema::NP_Schema; use crate::json_flex::json_decode; use crate::error::NP_Error; use buffer::{NP_Buffer, DEFAULT_ROOT_PTR_ADDR}; use alloc::vec::Vec; use alloc::string::String; use memory::{NP_Memory_Writable}; use schema::NP_Parsed_Schema; // BEGIN WASM CODE extern crate wasm_bindgen; extern crate wee_alloc; use wasm_bindgen::prelude::*; #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; // END WASM CODE /// Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones. /// /// The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html) /// /// You can also create a factory with a compiled byte schema using the static `new_compiled` method. /// /// # Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let user_factory = NP_Factory::new(r#"{ /// "type": "table", /// "columns": [ /// ["name", {"type": "string"}], /// ["pass", {"type": "string"}], /// ["age", {"type": "uint16"}], /// ["todos", {"type": "list", "of": {"type": "string"}}] /// ] /// }"#)?; /// /// // user_factory can now be used to make or open buffers that contain the data in the schema. /// /// // create new buffer /// let mut user_buffer = user_factory.empty_buffer(None); // optional capacity, optional address size /// /// // set the "name" column of the table /// user_buffer.set(&["name"], "Billy Joel")?; /// /// // set the first todo /// user_buffer.set(&["todos", "0"], "Write a rust library.")?; /// /// // close buffer /// let user_vec:Vec = user_buffer.close(); /// /// // open existing buffer for reading /// let user_buffer_2 = user_factory.open_buffer(user_vec); /// /// // read column value /// let name_column = user_buffer_2.get::<&str>(&["name"])?; /// assert_eq!(name_column, Some("Billy Joel")); /// /// /// // read first todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "0"])?; /// assert_eq!(todo_value, Some("Write a rust library.")); /// /// // read second todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "1"])?; /// assert_eq!(todo_value, None); /// /// /// // close buffer again /// let user_vec: Vec = user_buffer_2.close(); /// // user_vec is a Vec with our data /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Next Step /// /// Read about how to use buffers to access, mutate and compact data. /// /// [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html) /// #[wasm_bindgen] #[derive(Debug)] pub struct NP_Factory { /// schema data used by this factory schema: NP_Schema, schema_bytes: NP_Schema_Bytes } /// The schema bytes container #[derive(Debug)] pub enum NP_Schema_Bytes { /// Owned bytes Owned(Vec) } /// When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not. #[derive(Debug, Eq, PartialEq)] pub struct NP_Size_Data { /// The size of the existing buffer pub current_buffer: usize, /// The estimated size of buffer after compaction pub after_compaction: usize, /// How many known wasted bytes in existing buffer pub wasted_bytes: usize } #[wasm_bindgen] impl NP_Factory { /// Generate a new factory from the given schema. /// /// This operation will fail if the schema provided is invalid or if the schema is not valid JSON. If it fails you should get a useful error message letting you know what the problem is. /// #[wasm_bindgen(constructor)] pub fn new(json_schema: String) -> Self { let parsed_value = json_decode(json_schema.into()).unwrap(); let (is_sortable, schema_bytes, schema) = NP_Schema::from_json(Vec::new(), &parsed_value).unwrap(); Self { schema_bytes: NP_Schema_Bytes::Owned(Vec::new()), schema: NP_Schema { is_sortable: is_sortable, parsed: schema } } } /// Create a new factory from a compiled schema byte array. /// The byte schemas are at least an order of magnitude faster to parse than JSON schemas. /// #[wasm_bindgen] pub fn new_compiled(schema_bytes: Vec) -> Self { let (is_sortable, schema) = NP_Schema::from_bytes(Vec::new(), 0, &schema_bytes); Self { schema_bytes: NP_Schema_Bytes::Owned(schema_bytes), schema: NP_Schema { is_sortable: is_sortable, parsed: schema } } } /// Get a copy of the compiled schema byte array /// #[wasm_bindgen] pub fn compile_schema(&self) -> Vec { match &self.schema_bytes { NP_Schema_Bytes::Owned(x) => x.clone(), } } // /// Open existing Vec sortable buffer that was closed with `.close_sortable()` // /// // /// There is typically 10 bytes or more in front of every sortable buffer that is identical between all sortable buffers for a given schema. // /// // /// This method is used to open buffers that have had the leading identical bytes trimmed from them using `.close_sortale()`. // /// // /// This operation fails if the buffer is not sortable. // /// // /// ``` // /// use no_proto::error::NP_Error; // /// use no_proto::NP_Factory; // /// use no_proto::NP_Size_Data; // /// // /// let factory: NP_Factory = NP_Factory::new(r#"{ // /// "type": "tuple", // /// "sorted": true, // /// "values": [ // /// {"type": "u8"}, // /// {"type": "string", "size": 6} // /// ] // /// }"#)?; // /// // /// let mut new_buffer = factory.empty_buffer(None); // /// // set initial value // /// new_buffer.set(&["0"], 55u8)?; // /// new_buffer.set(&["1"], "hello")?; // /// // /// // the buffer with it's vtables take up 20 bytes! // /// assert_eq!(new_buffer.read_bytes().len(), 20usize); // /// // /// // close buffer and get sortable bytes // /// let bytes: Vec = new_buffer.close_sortable()?; // /// // with close_sortable() we only get the bytes we care about! // /// assert_eq!([55, 104, 101, 108, 108, 111, 32].to_vec(), bytes); // /// // /// // you can always re open the sortable buffers with this call // /// let new_buffer = factory.open_sortable_buffer(bytes)?; // /// assert_eq!(new_buffer.get(&["0"])?, Some(55u8)); // /// assert_eq!(new_buffer.get(&["1"])?, Some("hello ")); // /// // /// # Ok::<(), NP_Error>(()) // /// ``` // /// // /// // #[wasm_bindgen] // pub fn open_sortable_buffer(&self, bytes: Vec) -> NP_Buffer { // match &self.schema.parsed[0] { // NP_Parsed_Schema::Tuple { values, sortable, ..} => { // if *sortable == false { // NP_Buffer::_new(NP_Memory_Writable::existing(bytes, self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)) // } else { // let mut vtables = 1usize; // let mut length = values.len(); // while length > 4 { // vtables +=1; // length -= 4; // } // // how many leading bytes are identical across all buffers with this schema // let root_offset = DEFAULT_ROOT_PTR_ADDR + 2 + (vtables * 10); // let default_buffer = NP_Buffer::_new(NP_Memory_Writable::new(Some(root_offset + bytes.len()), self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)); // let mut use_bytes = default_buffer.close()[0..root_offset].to_vec(); // use_bytes.extend_from_slice(&bytes[..]); // NP_Buffer::_new(NP_Memory_Writable::existing(use_bytes, self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)) // } // }, // _ => NP_Buffer::_new(NP_Memory_Writable::existing(bytes, self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)) // } // } // /// Open existing Vec as buffer for this factory. // /// // pub fn open_buffer(&self, bytes: Vec) -> NP_Buffer { // NP_Buffer::_new(NP_Memory_Writable::existing(bytes, self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)) // } // /// Generate a new empty buffer from this factory. // /// // /// The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes. // /// // /// The second optional argument, ptr_size, controls how much address space you get in the buffer and how large the addresses are. Every value in the buffer contains at least one address, sometimes more. `NP_Size::U16` (the default) gives you an address space of just over 16KB but is more space efficeint since the address pointers are only 2 bytes each. `NP_Size::U32` gives you an address space of just over 4GB, but the addresses take up twice as much space in the buffer compared to `NP_Size::U16`. // /// You can change the address size through compaction after the buffer is created, so it's fine to start with a smaller address space and convert it to a larger one later as needed. It's also possible to go the other way, you can convert larger address space down to a smaller one durring compaction. // /// // pub fn empty_buffer(&self, capacity: Option) -> NP_Buffer { // NP_Buffer::_new(NP_Memory_Writable::new(capacity, self.schema.parsed.clone(), DEFAULT_ROOT_PTR_ADDR)) // } } ================================================ FILE: no_proto_js/src/lib_wasm.rs ================================================ #![warn(missing_docs)] #![allow(non_camel_case_types)] #![no_std] //! ## Simple & Performant Serialization with RPC //! Performance of Protocol Buffers with flexibility of JSON //! //! [Github](https://github.com/ClickSimply/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) //! //! ### Features //! - Zero dependencies //! - Zero copy deserialization //! - `no_std` support, WASM ready //! - Native byte-wise sorting //! - Extensive Documentation & Testing //! - Easily mutate, add or delete values in existing buffers //! - Schemas allow default values and non destructive updates //! - Supports most common native data types //! - Supports collection types (list, map, table & tuple) //! - Supports deep nesting of collection types //! - Easy and performant export to JSON. //! - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format //! - Panic/unwrap() free, this library will never cause a panic in your application. //! - Simple, powerful transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). //! //! NoProto allows you to store, read & mutate structured data with very little overhead. It's like Protocol Buffers except schemas are dynamic at runtime and buffers are mutable. It's like JSON but way faster, type safe and supports native types. Also unlike Protocol Buffers you can insert values in any order and values can later be removed or updated without rebuilding the whole buffer. //! //! Like Protocol Buffers schemas are seperate from the data buffers and are required to read, create or update data buffers. //! //! Byte-wise sorting comes in the box and is a first class operation. Two NoProto buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be the result. This is extremely useful for storing ordered keys in databases. //! //! *Compared to Protocol Buffers* //! - Faster serialization & deserialization performance //! - Updating buffers is orders of magnitude faster //! - Easier & Simpler API //! - Schemas are dynamic at runtime, no compilation step //! - Supports more types and better nested type support //! - Byte-wise sorting is first class operation //! - Mutate (add/delete/update) existing/imported buffers //! //! *Compared to JSON / BSON* //! - Far more space efficient //! - Significantly faster serialization & deserialization //! - Deserializtion is zero copy //! - Has schemas / type safe //! - Supports byte-wise sorting //! - Supports raw bytes & other native types //! //! //! | Format | Zero-Copy | Size Limit | Mutable | Schemas | Language Agnostic | No Compiling | Byte-wise Sorting | //! |------------------|-----------|------------|---------|---------|-------------------|-----------------|-------------------| //! | **NoProto** | ✓ | ~64KB | ✓ | ✓ | ✓ | ✓ | ✓ | //! | JSON | 𐄂 | Unlimited | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | BSON | 𐄂 | ~16MB | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | MessagePack | 𐄂 | Unlimited | ✓ | 𐄂 | ✓ | ✓ | 𐄂 | //! | FlatBuffers | ✓ | ~2GB | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Protocol Buffers | 𐄂 | ~2GB | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Cap'N Proto | ✓ | 2^64 Bytes | 𐄂 | ✓ | ✓ | 𐄂 | 𐄂 | //! | Veriform | 𐄂 | ? | 𐄂 | 𐄂 | 𐄂 | 𐄂 | 𐄂 | //! //! //! # Quick Example //! ```rust //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::collection::table::NP_Table; //! //! // JSON is used to describe schema for the factory //! // Each factory represents a single schema //! // One factory can be used to serialize/deserialize any number of buffers //! let user_factory = NP_Factory::new(r#"{ //! "type": "table", //! "columns": [ //! ["name", {"type": "string"}], //! ["age", {"type": "u16", "default": 0}], //! ["tags", {"type": "list", "of": { //! "type": "string" //! }}] //! ] //! }"#)?; //! //! //! // create a new empty buffer //! let mut user_buffer = user_factory.empty_buffer(None); // optional capacity, optional address size (u16 by default) //! //! // set an internal value of the buffer, set the "name" column //! user_buffer.set(&["name"], "Billy Joel")?; //! //! // assign nested internal values, sets the first tag element //! user_buffer.set(&["tags", "0"], "first tag")?; //! //! // get an internal value of the buffer from the "name" column //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // close buffer and get internal bytes //! let user_bytes: Vec = user_buffer.close(); //! //! // open the buffer again //! let user_buffer = user_factory.open_buffer(user_bytes); //! //! // get nested internal value, first tag from the tag list //! let tag = user_buffer.get::<&str>(&["tags", "0"])?; //! assert_eq!(tag, Some("first tag")); //! //! // get nested internal value, the age field //! let age = user_buffer.get::(&["age"])?; //! // returns default value from schema //! assert_eq!(age, Some(0u16)); //! //! // close again //! let user_bytes: Vec = user_buffer.close(); //! //! //! // we can now save user_bytes to disk, //! // send it over the network, or whatever else is needed with the data //! //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Guided Learning / Next Steps: //! 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. //! 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. //! 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. //! 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. //! 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer. //! //! ## Benchmarks //! While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. //! //! The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any decisions on what to use. //! //! **Legend**: Ops / Millisecond, higher is better //! //! | Library | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | //! |--------------------|--------|------------|----------|----------|--------------|-------------| //! | NoProto | 312 | 469 | 27027 | 3953 | 284 | 229 | //! | Protocol Buffers 2 | 270 | 390 | 400 | 167 | 220 | 163 | //! | MessagePack | 38 | 70 | 80 | 35 | 431 | 245 | //! | JSON | 167 | 134 | 167 | 127 | 673 | 246 | //! | BSON | 28 | 34 | 35 | 26 | 600 | 279 | //! //! //! - **Encode**: Transfer a collection of 33 fields of test data into a serialized `Vec`. //! - **Decode All**: Deserialize the test object from the `Vec` into all 33 fields. //! - **Decode 1**: Deserialize the test object from the `Vec` into one field. //! - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. //! //! Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). //! //! In my opinion the benchmarks above make NoProto the clear winner if you ever plan to mutate or update your buffer data. If buffer data can always be immutable and the fixed compiled schemas aren't an issue, Flatbuffers is the better choice. //! //! I also think there's a strong argument here against using data without a schema. The cost of an entirely flexible formats like JSON or BSON is crazy. Putting schemas on your data not only increases your data hygiene but makes the storage of the data far more comapct while increasing the deserialization and serialization perfomrance substantially. //! //! #### Limitations //! - Buffers cannot be larger than 2^16 bytes (~64kb). //! - Collections (Lists, Maps, Tuples & Tables) cannot have more than 255 immediate child items. //! - Enum/Option types are limited to 255 choices and choice strings cannot be larger than 255 bytes. //! - Tables are limited to 255 columns and column names cannot be larger than 255 bytes. //! - Buffers are not validated or checked before deserializing. //! //! #### Non Goals / Known Tradeoffs //! If every CPU cycle counts, you don't mind compiling fixed schemas and you don't plan to mutate your buffers/objects, FlatBuffers/CapnProto is probably the way to go. It's impossible to make a flexible format like NoProto as fast as formats that compile your schemas ahead of time and store data immutably. //! //! ---------------------- //! //! MIT License //! //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. // pub mod pointer; // pub mod collection; // pub mod schema; pub mod error; pub mod json_flex; // pub mod format; // #[cfg(feature = "np_rpc")] // pub mod rpc; // #[cfg(feature = "np_rpc")] // #[allow(missing_docs)] // #[doc(hidden)] // pub mod hashmap; // mod utils; #[macro_use] extern crate alloc; // use crate::memory::NP_Memory; use crate::json_flex::NP_JSON; // use crate::schema::NP_Schema; use crate::json_flex::json_decode; use crate::error::NP_Error; // use buffer::{NP_Buffer, DEFAULT_ROOT_PTR_ADDR}; use alloc::vec::Vec; use alloc::string::String; // use memory::{NP_Memory_ReadOnly, NP_Memory_Writable}; // use schema::NP_Parsed_Schema; // BEGIN WASM CODE extern crate wasm_bindgen; extern crate wee_alloc; use wasm_bindgen::prelude::*; #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; // END WASM CODE /// Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones. /// /// The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html) /// /// You can also create a factory with a compiled byte schema using the static `new_compiled` method. /// /// # Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let user_factory = NP_Factory::new(r#"{ /// "type": "table", /// "columns": [ /// ["name", {"type": "string"}], /// ["pass", {"type": "string"}], /// ["age", {"type": "uint16"}], /// ["todos", {"type": "list", "of": {"type": "string"}}] /// ] /// }"#)?; /// /// // user_factory can now be used to make or open buffers that contain the data in the schema. /// /// // create new buffer /// let mut user_buffer = user_factory.empty_buffer(None); // optional capacity, optional address size /// /// // set the "name" column of the table /// user_buffer.set(&["name"], "Billy Joel")?; /// /// // set the first todo /// user_buffer.set(&["todos", "0"], "Write a rust library.")?; /// /// // close buffer /// let user_vec:Vec = user_buffer.close(); /// /// // open existing buffer for reading /// let user_buffer_2 = user_factory.open_buffer(user_vec); /// /// // read column value /// let name_column = user_buffer_2.get::<&str>(&["name"])?; /// assert_eq!(name_column, Some("Billy Joel")); /// /// /// // read first todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "0"])?; /// assert_eq!(todo_value, Some("Write a rust library.")); /// /// // read second todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "1"])?; /// assert_eq!(todo_value, None); /// /// /// // close buffer again /// let user_vec: Vec = user_buffer_2.close(); /// // user_vec is a Vec with our data /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Next Step /// /// Read about how to use buffers to access, mutate and compact data. /// /// [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html) /// #[wasm_bindgen] #[derive(Debug)] pub struct NP_Factory { /// schema data used by this factory schema_bytes: NP_Schema_Bytes<'static> } /// The schema bytes container #[derive(Debug)] pub enum NP_Schema_Bytes<'bytes> { /// Borrwed schema Borrwed(&'bytes [u8]), /// Owned bytes Owned(Vec) } /// When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not. #[derive(Debug, Eq, PartialEq)] pub struct NP_Size_Data { /// The size of the existing buffer pub current_buffer: usize, /// The estimated size of buffer after compaction pub after_compaction: usize, /// How many known wasted bytes in existing buffer pub wasted_bytes: usize } #[wasm_bindgen] impl NP_Factory { /// Generate a new factory from the given schema. /// /// This operation will fail if the schema provided is invalid or if the schema is not valid JSON. If it fails you should get a useful error message letting you know what the problem is. /// #[wasm_bindgen(constructor)] pub fn new(json_schema: String) -> Self { let parsed_value = json_decode(json_schema).unwrap(); // let (is_sortable, schema_bytes, schema) = NP_Schema::from_json(Vec::new(), &parsed_value).unwrap(); Self { schema_bytes: NP_Schema_Bytes::Owned(Vec::new()), } } } ================================================ FILE: no_proto_js/src/memory.rs ================================================ //! Internal buffer memory management use crate::{schema::NP_Parsed_Schema}; use crate::{error::NP_Error}; use core::cell::UnsafeCell; use alloc::vec::Vec; #[doc(hidden)] pub trait NP_Memory { fn is_mutable(&self) -> bool; fn get_root(&self) -> usize; fn get_schemas(&self) -> &Vec; fn get_schema(&self, idx: usize) -> &NP_Parsed_Schema; fn malloc_borrow(&self, bytes: &[u8]) -> Result; fn malloc(&self, bytes: Vec) -> Result; fn read_bytes(&self) -> &[u8]; fn write_bytes(&self) -> &mut [u8]; fn get_1_byte(&self, address: usize) -> Option; fn get_2_bytes(&self, address: usize) -> Option<&[u8; 2]>; fn get_4_bytes(&self, address: usize) -> Option<&[u8; 4]>; fn get_8_bytes(&self, address: usize) -> Option<&[u8; 8]>; fn get_16_bytes(&self, address: usize) -> Option<&[u8; 16]>; fn get_32_bytes(&self, address: usize) -> Option<&[u8; 32]>; fn dump(self) -> Vec; } #[doc(hidden)] #[derive(Debug)] pub struct NP_Memory_Writable { bytes: UnsafeCell>, pub root: usize, pub schema: Vec } #[doc(hidden)] impl NP_Memory_Writable { pub fn clone(&self) -> Self { Self { root: self.root, bytes: UnsafeCell::new(self.read_bytes().to_vec()), schema: self.schema.clone() } } #[inline(always)] pub fn existing(bytes: Vec, schema: Vec, root: usize) -> Self { Self { root, bytes: UnsafeCell::new(bytes), schema: schema } } #[inline(always)] pub fn new(capacity: Option, schema: Vec, root: usize) -> Self { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // size, root pointer new_bytes.extend(&[0u8; 3]); Self { root, bytes: UnsafeCell::new(new_bytes), schema: schema, } } } impl NP_Memory for NP_Memory_Writable { #[inline(always)] fn is_mutable(&self) -> bool { true } #[inline(always)] fn get_root(&self) -> usize { self.root } #[inline(always)] fn get_schemas(&self) -> &Vec { &self.schema } #[inline(always)] fn get_schema(&self, idx: usize) -> &NP_Parsed_Schema { &self.schema[idx] } #[inline(always)] fn malloc_borrow(&self, bytes: &[u8]) -> Result { let self_bytes = unsafe { &mut *self.bytes.get() }; let location = self_bytes.len(); // not enough space left? if location + bytes.len() >= core::u16::MAX as usize { return Err(NP_Error::new("Not enough space available in buffer!")) } self_bytes.extend(bytes); Ok(location) } #[inline(always)] fn malloc(&self, bytes: Vec) -> Result { self.malloc_borrow(&bytes) } #[inline(always)] fn read_bytes(&self) -> &[u8] { let self_bytes = unsafe { &*self.bytes.get() }; self_bytes } #[inline(always)] fn write_bytes(&self) -> &mut [u8] { let self_bytes = unsafe { &mut *self.bytes.get() }; self_bytes } #[inline(always)] fn get_1_byte(&self, address: usize) -> Option { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; Some(self_bytes[address]) } #[inline(always)] fn get_2_bytes(&self, address: usize) -> Option<&[u8; 2]> { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; if self_bytes.len() < address + 2 { return None; } let slice = &self_bytes[address..(address + 2)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 2]) }) } #[inline(always)] fn get_4_bytes(&self, address: usize) -> Option<&[u8; 4]> { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; if self_bytes.len() < address + 4 { return None; } let slice = &self_bytes[address..(address + 4)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 4]) }) } #[inline(always)] fn get_8_bytes(&self, address: usize) -> Option<&[u8; 8]> { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; if self_bytes.len() < address + 8 { return None; } let slice = &self_bytes[address..(address + 8)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 8]) }) } #[inline(always)] fn get_16_bytes(&self, address: usize) -> Option<&[u8; 16]> { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; if self_bytes.len() < address + 16 { return None; } let slice = &self_bytes[address..(address + 16)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 16]) }) } #[inline(always)] fn get_32_bytes(&self, address: usize) -> Option<&[u8; 32]> { // empty value if address == 0 { return None; } let self_bytes = unsafe { &*self.bytes.get() }; if self_bytes.len() < address + 32 { return None; } let slice = &self_bytes[address..(address + 32)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 32]) }) } fn dump(self) -> Vec { self.bytes.into_inner() } } ================================================ FILE: no_proto_js/src/pointer/any.rs ================================================ use crate::{json_flex::{JSMAP}, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; /// Any data type #[derive(Debug)] pub struct NP_Any { } #[allow(unused_variables)] impl<'value> NP_Value<'value> for NP_Any { fn type_idx() -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String("any".to_owned())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't use .set() with (Any), must cast first with NP_Any::cast(pointer).")) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { Err(NP_Error::new("Type (Any) doesn't support .into()!")) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { NP_JSON::Null } fn get_size(_cursor: &NP_Cursor, _memory: &M) -> Result { Ok(0) } fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { Err(NP_Error::new("Cannot compact an ANY field!")) } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Any as u8); schema.push(NP_Parsed_Schema::Any { i: NP_TypeKeys::Any, sortable: false }); return Ok((false, schema_data, schema)); } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema::Any { i: NP_TypeKeys::Any, sortable: false }); (false, schema) } } impl<'value> Default for NP_Any { fn default() -> Self { NP_Any {} } } ================================================ FILE: no_proto_js/src/pointer/bool.rs ================================================ //! NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bool" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], true)?; //! //! assert_eq!(true, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use crate::{json_flex::JSMAP, schema::{NP_Parsed_Schema}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use crate::NP_Memory; use alloc::string::ToString; use super::NP_Cursor; impl<'value> super::NP_Scalar<'value> for bool {} impl<'value> NP_Value<'value> for bool { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); match &schema[address] { NP_Parsed_Schema::Boolean { i: _, sortable: _, default} => { if let Some(d) = default { schema_json.insert("default".to_owned(), match *d { true => NP_JSON::True, false => NP_JSON::False }); } }, _ => { } } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(schema: &NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Boolean { default, .. } => { match default { Some(x) => Some(*x), None => None } }, _ => None } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value(); if value_address != 0 { // existing value, replace // overwrite existing values in buffer memory.write_bytes()[value_address as usize] = if value == true { 1 } else { 0 }; return Ok(cursor); } else { // new value let bytes = if value == true { [1] as [u8; 1] } else { [0] as [u8; 1] }; value_address = memory.malloc_borrow(&bytes)? as u16; c_value.set_addr_value(value_address as u16); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_1_byte(value_addr) { Some(x) => { Some(if x == 1 { true } else { false }) }, None => None }) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { if y == true { NP_JSON::True } else { NP_JSON::False } }, None => { match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Boolean { i: _, sortable: _, default} => { if let Some(d) = default { if *d == true { NP_JSON::True } else { NP_JSON::False } } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match json_schema["default"] { NP_JSON::False => { schema_data.push(2); Some(false) }, NP_JSON::True => { schema_data.push(1); Some(true) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema::Boolean { i: NP_TypeKeys::Boolean, default: default, sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema::Boolean { i: NP_TypeKeys::Boolean, sortable: true, default: match bytes[address] { 0 => None, 1 => Some(true), 2 => Some(false), _ => unreachable!() } }); (true, schema) } } ================================================ FILE: no_proto_js/src/pointer/bytes.rs ================================================ //! Represents arbitrary bytes type //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "bytes" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as NP_Bytes)?; //! //! assert_eq!(&[0u8, 1, 2, 3, 4] as NP_Bytes, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{json_flex::JSMAP, schema::{NP_Parsed_Schema}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Arbitrary bytes pub type NP_Bytes<'bytes> = &'bytes [u8]; impl<'value> super::NP_Scalar<'value> for &[u8] {} impl<'value> NP_Value<'value> for &'value [u8] { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); match &schema[address] { NP_Parsed_Schema::Bytes { i: _, sortable: _, default, size} => { if *size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(*size as i64)); } // no default right now if let Some(d) = default { let default_bytes: Vec = d.iter().map(|value| { NP_JSON::Integer(i64::from(*value)) }).collect(); schema_json.insert("default".to_owned(), NP_JSON::Array(default_bytes)); } }, _ => { } } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(schema: &'value NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Bytes { default, .. } => { if let Some(d) = default { Some(&d[..]) } else { None } }, _ => None } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let bytes = value; let str_size = bytes.len() as usize; let mut write_bytes = memory.write_bytes(); let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Bytes { size, .. } => *size, _ => 0 }; if size > 0 { // fixed size bytes if c_value.get_addr_value() == 0 { // malloc new bytes let mut empty_bytes: Vec = Vec::with_capacity(size as usize); for _x in 0..size { empty_bytes.push(0); } let new_addr = memory.malloc(empty_bytes)? as usize; c_value.set_addr_value(new_addr as u16); } let addr = c_value.get_addr_value() as usize; write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is zeros write_bytes[(addr + x)] = 0; } } return Ok(cursor); } // flexible size let addr_value = c_value.get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 2] = memory.get_2_bytes(addr_value).unwrap_or(&[0; 2]); u16::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u16::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 2; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u16::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; c_value.set_addr_value(new_addr as u16); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Bytes { i: _, sortable: _, default: _, size, } => { if *size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (*size as usize))]; return Ok(Some(bytes)); } else { // dynamic size // get size of bytes let bytes_size: usize = u16::from_be_bytes(*memory.get_2_bytes(value_addr).unwrap_or(&[0; 2])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 2)..(value_addr + 2 + bytes_size)]; return Ok(Some(bytes)); } } _ => Err(NP_Error::new("unreachable")), } } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let bytes = y.iter().map(|x| NP_JSON::Integer(*x as i64)).collect(); NP_JSON::Array(bytes) }, None => { match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Bytes { default, .. } => { match default { Some(x) => { let bytes = x.iter().map(|v| { NP_JSON::Integer(*v as i64) }).collect::>(); NP_JSON::Array(bytes) }, None => NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Bytes { size, .. } => { // fixed size if *size > 0 { return Ok(*size as usize); } // dynamic size let bytes_size: usize = u16::from_be_bytes(*memory.get_2_bytes(value_addr).unwrap_or(&[0; 2])) as usize; // return total size of this string plus length return Ok(bytes_size + 2); } _ => Err(NP_Error::new("unreachable")), } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut has_fixed_size = false; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u16::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^16!")); } schema_data.extend((x as u16).to_be_bytes().to_vec()); x as u16 }, NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u16::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^16!")); } schema_data.extend((x as u16).to_be_bytes().to_vec()); x as u16 }, _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); 0 } }; let default = match &json_schema["default"] { NP_JSON::Array(bytes) => { let default_bytes: Vec = bytes.iter().map(|v| { match v { NP_JSON::Integer(x) => { *x as u8}, _ => { 0u8 } } }).collect(); let length = default_bytes.len() as u16 + 1; schema_data.extend(length.to_be_bytes().to_vec()); schema_data.extend(default_bytes.clone()); Some(default_bytes) }, _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; schema.push(NP_Parsed_Schema::Bytes { i: NP_TypeKeys::Bytes, size: size, default: default, sortable: has_fixed_size }); return Ok((has_fixed_size, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // fixed size let fixed_size = u16::from_be_bytes([ bytes[address + 1], bytes[address + 2] ]); // default value size let default_size = u16::from_be_bytes([ bytes[address + 3], bytes[address + 4] ]) as usize; if default_size == 0 { schema.push(NP_Parsed_Schema::Bytes { i: NP_TypeKeys::Bytes, default: None, sortable: fixed_size > 0, size: fixed_size }); } else { let default_bytes = &bytes[(address + 5)..(address + 5 + (default_size - 1))]; schema.push(NP_Parsed_Schema::Bytes { i: NP_TypeKeys::Bytes, default: Some(default_bytes.to_vec()), size: fixed_size, sortable: fixed_size > 0 }); } (fixed_size > 0, schema) } } ================================================ FILE: no_proto_js/src/pointer/date.rs ================================================ //! Stores the current unix epoch in u64. //! //! Epoch should be stored in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "date" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Date::new(1604965249484))?; //! //! assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug, Formatter}}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds Date data. /// /// Check out documentation [here](../date/index.html). /// #[derive(Clone, Copy, Eq, PartialEq)] #[repr(C)] pub struct NP_Date { /// The value of the date pub value: u64 } impl<'value> super::NP_Scalar<'value> for NP_Date {} impl NP_Date { /// Create a new date type with the given time pub fn new(time_ms: u64) -> Self { NP_Date { value: time_ms } } } impl Default for NP_Date { fn default() -> Self { NP_Date { value: 0 } } } impl Debug for NP_Date { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.value) } } impl<'value> NP_Value<'value> for NP_Date { fn type_idx() -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); match &schema[address] { NP_Parsed_Schema::Date { i: _, default, sortable: _} => { if let Some(d) = default { schema_json.insert("default".to_owned(), NP_JSON::Integer(d.value as i64)); } }, _ => { } } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(schema: &NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Date { default, .. } => { if let Some(d) = default { Some(d.clone()) } else { None } }, _ => None } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value.to_be_bytes(); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let bytes = value.value.to_be_bytes(); value_address = memory.malloc_borrow(&bytes)?; c_value.set_addr_value(value_address as u16); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_8_bytes(value_addr) { Some(x) => { Some(NP_Date { value: u64::from_be_bytes(*x) }) }, None => None }) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::Integer(y.value as i64) }, None => { match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Date { i: _, default, sortable: _} => { if let Some(d) = default { NP_JSON::Integer(d.value.clone() as i64) } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match json_schema["default"] { NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as u64).to_be_bytes().to_vec()); Some(NP_Date { value: x as u64}) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema::Date { i: NP_TypeKeys::Date, default: default, sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let has_default = bytes[address + 1]; let default = if has_default == 0 { None } else { let bytes_slice = &bytes[(address + 2)..(address + 10)]; let mut u64_bytes = 0u64.to_be_bytes(); u64_bytes.copy_from_slice(bytes_slice); Some(NP_Date { value: u64::from_be_bytes(u64_bytes)}) }; schema.push(NP_Parsed_Schema::Date { i: NP_TypeKeys::Date, sortable: true, default: default }); (true, schema) } } ================================================ FILE: no_proto_js/src/pointer/dec.rs ================================================ //! Represents a fixed point decimal number. //! //! Allows floating point values to be stored without rounding errors, useful for storing financial data. //! //! Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot. //! //! NP_Dec values contain two parts: //! 1. The actual number value (`num`) //! 2. The position of the decimal point from the right (`exp`) //! //! A value of "2039.756" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`. //! //! The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. //! //! If `exp` is zero, all values stored are whole numbers. //! //! For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. //! However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13. //! //! Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision. //! //! `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect. //! //! When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema. //! //! ``` //! use no_proto::pointer::dec::NP_Dec; //! //! // Creating a new NP_Dec for 20.49 //! let mut dec = NP_Dec::new(2049, 2); //! //! // add 2 //! dec += NP_Dec::new(200, 2); //! //! // add 0.03 //! dec += NP_Dec::new(3, 2); //! //! // convert float then use it to minus 5 //! let mut f: NP_Dec = 5.0_f64.into(); //! f.shift_exp(2); // set new NP_Dec to `exp` of 2. //! dec -= f; // subtract //! //! assert_eq!(dec.to_float(), 17.52_f64); //! //! ``` //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "dec", //! "exp": 2 //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Dec::new(50283, 2))?; //! //! assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::prelude::v1::Box; use crate::utils::to_signed; use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds fixed decimal data. /// /// Check out documentation [here](../dec/index.html). /// #[derive(Clone, Copy, Debug)] pub struct NP_Dec { /// The number being stored, does not include decimal point data pub num: i64, /// The exponent of this number pub exp: u8 } impl<'value> super::NP_Scalar<'value> for NP_Dec {} impl NP_Dec { /// Convert an NP_Dec into a native floating point value. /// /// DO NOT use this to perform calculations, only to export/display the value. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.to_float(), 2.203f64); /// ``` /// pub fn to_float(&self) -> f64 { let m = self.num as f64; let mut step = self.exp; let mut s = 1f64; while step > 0 { s *= 10f64; step -= 1; } m / s } /// Shift the exponent of this NP_Dec to a new value. /// /// If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value. /// /// If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2 /// /// assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the "03" at the end because of reducing the `exp` value. /// /// ``` pub fn shift_exp(&mut self, new_exp: u8) -> NP_Dec { let diff = self.exp as i64 - new_exp as i64; let mut step = i64::abs(diff); if self.exp == new_exp { return *self } if diff < 0 { // moving decimal to right while step > 0 { self.num *= 10; step -=1; } } else { // moving decimal to left while step > 0 { self.num /= 10; step -=1; } } self.exp = new_exp; *self } /// Generate a new NP_Dec value /// /// First argument is the `num` value, second is the `exp` or exponent. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(2, 0); // stores "2.00" /// assert_eq!(x.to_float(), 2f64); /// /// let x = NP_Dec::new(2, 1); // stores "0.20" /// assert_eq!(x.to_float(), 0.2f64); /// /// let x = NP_Dec::new(2, 2); // stores "0.02" /// assert_eq!(x.to_float(), 0.02f64); /// /// let x = NP_Dec::new(5928, 1); // stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(59280, 2); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(592800, 3); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// ``` pub fn new(num: i64, exp: u8) -> Self { NP_Dec { num, exp } } /// Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec. /// /// This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// let other_num = NP_Dec::new(50, 1); // value is 5.0 /// /// let matched_dec = my_num.match_exp(&other_num); /// // `exp` values match now! They're both 3. /// assert_eq!(matched_dec.exp, my_num.exp); /// ``` /// pub fn match_exp(&self, other: &NP_Dec) -> NP_Dec { let mut other_copy = other.clone(); if other_copy.exp == self.exp { return other_copy } other_copy.shift_exp(self.exp); other_copy } /// Export NP_Dec to it's component parts. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.export(), (2203i64, 3u8)); /// ``` pub fn export(&self) -> (i64, u8) { (self.num, self.exp) } } /// Check if two NP_Dec are equal or not equal /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) != NP_Dec::new(200, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(203, 1) != NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// ``` impl core::cmp::PartialEq for NP_Dec { fn ne(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num != other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num != new_other.num; } } fn eq(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num == other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num == new_other.num; } } } /// Compare two NP_Dec /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(203, 1) > NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) < NP_Dec::new(203, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) > NP_Dec::new(202, 0); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) == NP_Dec::new(2020100, 4); /// assert_eq!(result, true); /// ``` impl core::cmp::PartialOrd for NP_Dec { fn lt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num < other.num; } else { let new_other = self.match_exp(other); return self.num < new_other.num; } } fn le(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num <= other.num; } else { let new_other = self.match_exp(other); return self.num <= new_other.num; } } fn gt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num > other.num; } else { let new_other = self.match_exp(other); return self.num > new_other.num; } } fn ge(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num >= other.num; } else { let new_other = self.match_exp(other); return self.num >= new_other.num; } } fn partial_cmp(&self, other: &NP_Dec) -> Option { let (a, b) = if self.exp == other.exp { (self.num, other.num) } else { let new_other = self.match_exp(other); (self.num, new_other.num) }; if a > b { return Some(core::cmp::Ordering::Greater); } else if a < b { return Some(core::cmp::Ordering::Less); } else if a == b { return Some(core::cmp::Ordering::Equal); } return None; } } /// Converts an NP_Dec into an Int32, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i32 = x.into(); /// /// assert_eq!(y, 101i32); /// ``` impl Into for NP_Dec { fn into(self) -> i32 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value as i32 } } /// Converts an Int32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num as i32, x); /// ``` impl Into for i32 { fn into(self) -> NP_Dec { NP_Dec::new(self as i64, 0) } } /// Converts an NP_Dec into an Int64, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i64 = x.into(); /// /// assert_eq!(y, 101i64); /// ``` impl Into for NP_Dec { fn into(self) -> i64 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value } } /// Converts an Int64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num, x); /// ``` impl Into for i64 { fn into(self) -> NP_Dec { NP_Dec::new(self, 0) } } fn round_f64(n: f64) -> f64 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f64).min(core::i64::MAX as f64); (bounds_value as i64) as f64 } fn round_f32(n: f32) -> f32 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f32).min(core::i64::MAX as f32); (bounds_value as i64) as f32 } fn round(n: f64, precision: u32) -> f64 { round_f64(n * 10_u32.pow(precision) as f64) / 10_i32.pow(precision) as f64 } fn precision(x: f64) -> Option { for digits in 0..core::f64::DIGITS { if round(x, digits) == x { return Some(digits); } } None } fn round32(n: f32, precision: u32) -> f32 { round_f32(n * 10_u32.pow(precision) as f32) / 10_i32.pow(precision) as f32 } fn precision32(x: f32) -> Option { for digits in 0..core::f64::DIGITS { if round32(x, digits) == x { return Some(digits); } } None } /// Converts a NP_Dec into a Float64 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f64 = x.into(); /// /// assert_eq!(y, x.to_float()); /// ``` impl Into for NP_Dec { fn into(self) -> f64 { self.to_float() } } /// Converts a Float64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float(), x); /// ``` impl Into for f64 { fn into(self) -> NP_Dec { match precision(self) { Some(x) => { let max_decimal_places = u32::min(x, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f64; loop_exp -= 1; } let value = round_f64(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f64(self) as i64; return NP_Dec::new(value, 0); } } } } /// Converts a NP_Dec into a Float32 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f32 = x.into(); /// /// assert_eq!(y, x.to_float() as f32); /// ``` impl Into for NP_Dec { fn into(self) -> f32 { self.to_float() as f32 } } /// Converts a Float32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float() as f32, x); /// ``` impl Into for f32 { fn into(self) -> NP_Dec { match precision32(self) { Some(x) => { let max_decimal_places = u32::min(x, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f32; loop_exp -= 1; } let value = round_f32(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f32(self) as i64; return NP_Dec::new(value, 0); } } } } impl core::ops::DivAssign for NP_Dec { // a /= b fn div_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } } } impl core::ops::Div for NP_Dec { // a / b type Output = NP_Dec; fn div(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } return self; } } impl core::ops::SubAssign for NP_Dec { // a -= b fn sub_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } } } impl core::ops::Sub for NP_Dec { // a - b type Output = NP_Dec; fn sub(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } return self; } } impl core::ops::AddAssign for NP_Dec { // a += b fn add_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } } } impl core::ops::Add for NP_Dec { // a + b type Output = NP_Dec; fn add(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } return self; } } impl core::ops::MulAssign for NP_Dec { // a *= b fn mul_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } } } impl core::ops::Mul for NP_Dec { // a * b type Output = NP_Dec; fn mul(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } return self; } } impl Default for NP_Dec { fn default() -> Self { NP_Dec::new(0,0) } } impl<'value> NP_Value<'value> for NP_Dec { fn type_idx() -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); match &schema[address] { NP_Parsed_Schema::Decimal { i: _, sortable: _, default, exp} => { schema_json.insert("exp".to_owned(), NP_JSON::Integer(exp.clone() as i64)); if let Some(d) = default { let value = NP_Dec::new(d.num.clone(), exp.clone()); schema_json.insert("default".to_owned(), NP_JSON::Float(value.into())); } Ok(NP_JSON::Dictionary(schema_json)) }, _ => Err(NP_Error::new("unreachable")) } } fn default_value(schema: &NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Decimal { i: _, sortable: _, default, exp: _} => { if let Some(d) = default { Some(d.clone()) } else { None } }, _ => None } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value() as usize; let exp = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Decimal { i: _, sortable: _, default: _, exp} => { *exp }, _ => 0 }; let mut cloned_value = (value).clone(); cloned_value.shift_exp(exp); let i64_value = cloned_value.num; if value_address != 0 { // existing value, replace let mut bytes = i64_value.to_be_bytes(); // convert to unsigned bytes[0] = to_unsigned(bytes[0]); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let mut be_bytes = i64_value.to_be_bytes(); // convert to unsigned be_bytes[0] = to_unsigned(be_bytes[0]); value_address = memory.malloc_borrow(&be_bytes)?; c_value.set_addr_value(value_address as u16); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let exp = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Decimal { i: _, sortable: _, default: _, exp} => { *exp }, _ => 0 }; Ok(match memory.get_8_bytes(value_addr) { Some(x) => { let mut be_bytes = x.clone(); be_bytes[0] = to_signed(be_bytes[0]); Some(NP_Dec::new(i64::from_be_bytes(be_bytes), exp)) }, None => None }) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { let exp = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Decimal { exp, .. } => { *exp }, _ => 0 }; match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); object.insert("num".to_owned(), NP_JSON::Integer(y.num)); object.insert("exp".to_owned(), NP_JSON::Integer(exp as i64)); NP_JSON::Dictionary(object) }, None => { match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Decimal { i: _, sortable: _, default, exp} => { if let Some(d) = default { let mut object = JSMAP::new(); object.insert("num".to_owned(), NP_JSON::Integer(d.num.clone())); object.insert("exp".to_owned(), NP_JSON::Integer(*exp as i64)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp: u8; match json_schema["exp"] { NP_JSON::Integer(x) => { if x > 255 || x < 0 { return Err(NP_Error::new("Decimal 'exp' property must be between 0 and 255!")) } exp = x as u8; schema_data.push(x as u8); }, _ => { return Err(NP_Error::new("Decimal type requires 'exp' property!")) } } let mult = 10i64.pow(exp as u32); let default = match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, NP_JSON::Integer(x) => { schema_data.push(1); let value = x * (mult as i64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); // schema_data.extend(0i64.to_be_bytes().to_vec()) None } }; schema.push(NP_Parsed_Schema::Decimal { i: NP_TypeKeys::Decimal, default, sortable: true, exp: exp }); return Ok((true, schema_data, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let exp = bytes[address + 1]; let default = if bytes[address + 2] == 0 { None } else { let mut slice = 0i64.to_be_bytes(); slice.copy_from_slice(&bytes[(address + 3)..address + 11]); let value = i64::from_be_bytes(slice); Some(NP_Dec::new(value, exp)) }; schema.push(NP_Parsed_Schema::Decimal { i: NP_TypeKeys::Decimal, exp: exp, default, sortable: true }); (true, schema) } } ================================================ FILE: no_proto_js/src/pointer/geo.rs ================================================ //! Represents a Geographic Coordinate (lat / lon) //! //! When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "geo4" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?; //! //! assert_eq!("{\"lat\":45.5,\"lng\":-122.71}", new_buffer.get::(&[])?.unwrap().into_json().stringify()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::utils::to_signed; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_Schema, NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use core::convert::TryInto; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; use crate::NP_Memory; /// Allows you to efficiently retrieve just the bytes of the geographic coordinate #[derive(Debug, Eq, PartialEq)] pub struct NP_Geo_Bytes { /// Size of this coordinate: 4, 8 or 16 pub size: u8, /// latitude bytes pub lat: Vec, /// longitude bytes pub lng: Vec } impl<'value> super::NP_Scalar<'value> for NP_Geo_Bytes{} impl NP_Geo_Bytes { /// Get the actual geographic coordinate for these bytes pub fn into_geo(self) -> NP_Geo { match self.size { 16 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 8]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i64::from_be_bytes(bytes_lat) as f64; let lon = i64::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(16); NP_Geo { lat: lat / dev, lng: lon / dev, size: 16} }, 8 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 4]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i32::from_be_bytes(bytes_lat) as f64; let lon = i32::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(8); NP_Geo { lat: lat / dev, lng: lon / dev, size: 8} }, 4 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 2]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i16::from_be_bytes(bytes_lat) as f64; let lon = i16::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(4); NP_Geo { lat: lat / dev, lng: lon / dev, size: 4} }, _ => { NP_Geo { lat: 0f64, lng: 0f64, size: 4} } } } } impl Default for NP_Geo_Bytes { fn default() -> Self { NP_Geo_Bytes { lat: Vec::new(), lng: Vec::new(), size: 0 } } } impl<'value> NP_Value<'value> for NP_Geo_Bytes { fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_json(schema, address)} fn set_value<'set, M: NP_Memory>(_cursor: NP_Cursor, _memory: &'set M, _value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't set value with NP_Geo_Bytes, use NP_Geo instead!")) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { NP_Geo::to_json(cursor, memory) } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { return Ok(0) } else { let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { size, ..} => { *size }, _ => 0 }; Ok(size as usize) } } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { size, .. } => { *size }, _ => 0 }; Ok(Some(match size { 16 => { let bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 16 } }, 8 => { let bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 8 } }, 4 => { let bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 4 } }, _ => { unreachable!(); } })) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Geo::from_bytes_to_schema(schema, address, bytes) } } /// Holds geographic coordinates /// /// Check out documentation [here](../geo/index.html). /// #[derive(Debug, Clone)] pub struct NP_Geo { /// The size of this geographic coordinate. 4, 8 or 16 pub size: u8, /// The latitude of this coordinate pub lat: f64, /// The longitude of this coordinate pub lng: f64 } impl<'value> super::NP_Scalar<'value> for NP_Geo {} impl NP_Geo { /// Create a new NP_Geo value, make sure the size matches the schema pub fn new(size: u8, lat: f64, lng: f64) -> Self { NP_Geo { size, lat, lng} } /// Get the deviser value depending on the resolution of the type in the schema pub fn get_deviser(size: i64) -> f64 { match size { 16 => 1000000000f64, 8 => 10000000f64, 4 => 100f64, _ => 0.0 } } /// Export this Geo point to JSON /// pub fn into_json(&self) -> NP_JSON { let mut result_json = JSMAP::new(); result_json.insert("lat".to_owned(), NP_JSON::Float(self.lat)); result_json.insert("lng".to_owned(), NP_JSON::Float(self.lng)); NP_JSON::Dictionary(result_json) } /// Get the bytes that represent this geographic coordinate pub fn get_bytes(&self) -> Option { if self.size == 0 { return None } let dev = NP_Geo::get_deviser(self.size as i64); match self.size { 16 => { let mut lat_bytes = ((self.lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((self.lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 8 => { let mut lat_bytes = ((self.lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((self.lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 4 => { let mut lat_bytes = ((self.lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((self.lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, _ => { None } } } } impl Default for NP_Geo { fn default() -> Self { NP_Geo { lat: 0.0, lng: 0.0, size: 0 } } } fn geo_default_value(size: u8, json: &NP_JSON) -> Result, NP_Error> { match &json["default"] { NP_JSON::Dictionary(x) => { let mut lat = 0f64; match x.get("lat") { Some(x) => { match x { NP_JSON::Integer(y) => { lat = *y as f64; }, NP_JSON::Float(y) => { lat = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lat key!")) } }; let mut lng = 0f64; match x.get("lng") { Some(x) => { match x { NP_JSON::Integer(y) => { lng = *y as f64; }, NP_JSON::Float(y) => { lng = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lng key!")) } }; match NP_Geo::new(size, lat, lng).get_bytes() { Some(b) => return Ok(Some(b)), None => return Ok(None) } }, _ => return Ok(None) } } impl<'value> NP_Value<'value> for NP_Geo { fn default_value(schema: &NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Geo { i: _, sortable: _, default, size: _} => { if let Some(d) = default { Some(d.clone()) } else { None } }, _ => None } } fn type_idx() -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); match &schema[address] { NP_Parsed_Schema::Geo { i: _, sortable: _, default, size} => { let mut type_str = Self::type_idx().0.to_string(); type_str.push_str(size.to_string().as_str()); schema_json.insert("type".to_owned(), NP_JSON::String(type_str)); if let Some(d) = default { let mut default_map = JSMAP::new(); default_map.insert("lat".to_owned(), NP_JSON::Float(d.lat)); default_map.insert("lng".to_owned(), NP_JSON::Float(d.lng)); schema_json.insert("default".to_owned(), NP_JSON::Dictionary(default_map)); } Ok(NP_JSON::Dictionary(schema_json)) }, _ => Err(NP_Error::new("unreachable")) } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { size, .. } => { *size }, _ => 0 }; let value_bytes_size = size as usize; if value_bytes_size == 0 { unreachable!(); } let write_bytes: &mut [u8]; let half_value_bytes = value_bytes_size / 2; // convert input values into bytes let value_bytes = match size { 16 => { let dev = NP_Geo::get_deviser(16); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((value.lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((value.lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 8 => { let dev = NP_Geo::get_deviser(8); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((value.lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((value.lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 4 => { let dev = NP_Geo::get_deviser(4); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((value.lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((value.lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, _ => { [0; 16] } }; let mut value_address = c_value.get_addr_value() as usize; if value_address != 0 { // existing value, replace write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } } else { // new value value_address = match size { 16 => { memory.malloc_borrow(&[0u8; 16])? }, 8 => { memory.malloc_borrow(&[0u8; 8])? }, 4 => { memory.malloc_borrow(&[0u8; 4])? }, _ => { 0 } }; write_bytes = memory.write_bytes(); // set values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } c_value.set_addr_value(value_address as u16); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { size, .. } => { *size }, _ => 0 }; Ok(Some(match size { 16 => { let mut bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let mut bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i64::from_be_bytes(bytes_lat) as f64; let lon = i64::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(16); NP_Geo { lat: lat / dev, lng: lon / dev, size: 16} }, 8 => { let mut bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let mut bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i32::from_be_bytes(bytes_lat) as f64; let lon = i32::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(8); NP_Geo { lat: lat / dev, lng: lon / dev, size: 8} }, 4 => { let mut bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let mut bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i16::from_be_bytes(bytes_lat) as f64; let lon = i16::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(4); NP_Geo { lat: lat / dev, lng: lon / dev, size: 4} }, _ => { unreachable!(); } })) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(y.lat)); object.insert("lng".to_owned(), NP_JSON::Float(y.lng)); NP_JSON::Dictionary(object) }, None => { match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { i: _, sortable: _, default, size: _} => { if let Some(d) = default { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(d.lat)); object.insert("lng".to_owned(), NP_JSON::Float(d.lng)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value(); if value_addr == 0 { return Ok(0) } else { let size = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Geo { i: _, sortable: _, default: _, size} => { *size }, _ => 0 }; Ok(size as usize) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let type_str = NP_Schema::_get_type(&json_schema)?; match type_str.as_str() { "geo4" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(4); let default = match geo_default_value(4, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(4, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: 4, default: default, sortable: false }); Ok((false, schema_data, schema)) }, "geo8" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(8); let default = match geo_default_value(8, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(8, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: 8, default: default, sortable: false }); Ok((false, schema_data, schema)) }, "geo16" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(16); let default = match geo_default_value(16, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(16, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: 16, default: default, sortable: false }); Ok((false, schema_data, schema)) }, _ => { Ok((false, Vec::new(), Vec::new())) } } } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let size = bytes[address + 1]; // no default if bytes[address + 2] == 0 { schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, sortable: false, size: size, default: None }); return (false, schema) } // has default match size { 4 => { let lat = &bytes[(address + 3)..(address + 5)]; let lng = &bytes[(address + 6)..(address + 8)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: size, sortable: false, default: Some(default_value.into_geo()) }); (false, schema) }, 8 => { let lat = &bytes[(address + 3)..(address + 7)]; let lng = &bytes[(address + 7)..(address + 11)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: size, sortable: false, default: Some(default_value.into_geo()) }); (false, schema) }, 16 => { let lat = &bytes[(address + 3)..(address + 11)]; let lng = &bytes[(address + 12)..(address + 20)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema::Geo { i: NP_TypeKeys::Geo, size: size, sortable: false, default: Some(default_value.into_geo()) }); (false, schema) }, _ => { unreachable!(); } } } } ================================================ FILE: no_proto_js/src/pointer/mod.rs ================================================ //! All values in buffers are accessed and modified through pointers //! //! NP_Ptr are the primary abstraction to read, update or delete values in a buffer. //! Pointers should *never* be created directly, instead the various methods provided by the library to access //! the internals of the buffer should be used. //! //! Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`. //! When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail. //! As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided. //! //! /// Any type pub mod any; pub mod string; pub mod bytes; pub mod numbers; pub mod bool; pub mod geo; pub mod dec; pub mod ulid; pub mod uuid; pub mod option; pub mod date; use core::{fmt::{Debug}}; use alloc::prelude::v1::Box; use crate::{pointer::dec::NP_Dec, schema::{NP_Parsed_Schema, NP_Schema_Addr}}; // use crate::NP_Parsed_Schema; use crate::{json_flex::NP_JSON}; use crate::memory::{NP_Memory}; use crate::NP_Error; use crate::{schema::{NP_TypeKeys}}; // use crate::{schema::{NP_TypeKeys}, collection::{map::NP_Map, table::NP_Table, list::NP_List, tuple::NP_Tuple}}; use alloc::{string::String, vec::Vec, borrow::ToOwned}; use bytes::NP_Bytes; use self::{date::NP_Date, geo::NP_Geo, option::NP_Enum, string::NP_String, ulid::{NP_ULID, _NP_ULID}, uuid::{NP_UUID, _NP_UUID}}; #[doc(hidden)] #[derive(Debug, Copy, Clone)] #[repr(C)] pub struct NP_Pointer_Scalar { pub addr_value: [u8; 2] } impl Default for NP_Pointer_Scalar { fn default() -> Self { Self { addr_value: [0; 2] } } } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_List_Item { pub addr_value: [u8; 2], pub next_value: [u8; 2], pub index: u8 } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_Map_Item { pub addr_value: [u8; 2], pub next_value: [u8; 2], pub key_addr: [u8; 2] } #[doc(hidden)] #[allow(missing_docs, unused_variables)] pub trait NP_Pointer_Bytes { fn get_type(&self) -> &str { "" } fn get_addr_value(&self) -> u16 { 0 } fn set_addr_value(&mut self, addr: u16) { } fn get_next_addr(&self) -> u16 { 0 } fn set_next_addr(&mut self, addr: u16) { } fn set_index(&mut self, index: u8) { } fn get_index(&self) -> u8 { 0 } fn set_key_addr(&mut self, hash: u16) { } fn get_key_addr(&self) -> u16 { 0 } fn reset(&mut self) { } fn get_size(&self) -> usize { 0 } fn get_key<'key>(&self, memory: &'key dyn NP_Memory) -> &'key str { "" } fn get_key_size<'key>(&self, memory: &'key dyn NP_Memory) -> usize { 0 } } impl NP_Pointer_Bytes for NP_Pointer_Scalar { fn get_type(&self) -> &str { "Scalar" } #[inline(always)] fn get_addr_value(&self) -> u16 { u16::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u16) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 2]; } #[inline(always)] fn get_size(&self) -> usize { 2 } } impl NP_Pointer_Bytes for NP_Pointer_List_Item { fn get_type(&self) -> &str { "List Item" } #[inline(always)] fn get_addr_value(&self) -> u16 { u16::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u16) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u16 { u16::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u16) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_index(&mut self, index: u8) { self.index = index } #[inline(always)] fn get_index(&self) -> u8 { self.index } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 2]; self.next_value = [0; 2]; self.index = 0; } #[inline(always)] fn get_size(&self) -> usize { 5 } } impl NP_Pointer_Bytes for NP_Pointer_Map_Item { fn get_type(&self) -> &str { "Map Item" } #[inline(always)] fn get_addr_value(&self) -> u16 { u16::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u16) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u16 { u16::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u16) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_key_addr(&mut self, addr: u16) { self.key_addr = addr.to_be_bytes(); } #[inline(always)] fn get_key_addr(&self) -> u16 { u16::from_be_bytes(self.key_addr) } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 2]; self.next_value = [0; 2]; self.key_addr = [0;2 ]; } #[inline(always)] fn get_size(&self) -> usize { 6 } #[inline(always)] fn get_key<'key>(&self, memory: &'key dyn NP_Memory) -> &'key str { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return ""; } else { let key_length = memory.read_bytes()[key_addr] as usize; let key_bytes = &memory.read_bytes()[(key_addr + 1)..(key_addr + 1 + key_length)]; unsafe { core::str::from_utf8_unchecked(key_bytes) } } } #[inline(always)] fn get_key_size<'key>(&self, memory: &'key dyn NP_Memory) -> usize { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return 0; } else { return memory.read_bytes()[key_addr] as usize; } } } #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Map_Bytes { head: [u8; 2] } #[allow(missing_docs)] impl NP_Map_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u16) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u16 { u16::from_be_bytes(self.head) } } #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_List_Bytes { head: [u8; 2], tail: [u8; 2] } #[allow(missing_docs)] impl NP_List_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u16) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u16 { u16::from_be_bytes(self.head) } #[inline(always)] pub fn set_tail(&mut self, tail: u16) { self.tail = tail.to_be_bytes(); } #[inline(always)] pub fn get_tail(&self) -> u16 { u16::from_be_bytes(self.tail) } } // holds 4 u16 addresses and a next value (10 bytes) #[repr(C)] #[derive(Debug, Copy, Clone)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Vtable { pub values: [NP_Pointer_Scalar; 4], next: [u8; 2] } #[allow(missing_docs)] impl NP_Vtable { #[inline(always)] pub fn get_next(&self) -> u16 { u16::from_be_bytes(unsafe { *(&self.next as *const [u8] as *const [u8; 2]) }) } #[inline(always)] pub fn set_next(&mut self, value: u16) { let bytes = value.to_be_bytes(); self.next[0] = bytes[0]; self.next[1] = bytes[1]; } } /// Cursor for pointer value in buffer /// #[doc(hidden)] #[derive(Debug, Clone, Copy)] pub struct NP_Cursor { /// The location of this cursor in the buffer pub buff_addr: usize, /// The address of the schema for this cursor pub schema_addr: NP_Schema_Addr, /// the values of the buffer pointer pub parent_schema_addr: usize } impl<'cursor> NP_Cursor { /// Create a new cursor pub fn new(buff_addr: usize, schema_addr: usize, parent_schema_addr: usize) -> Self { Self { buff_addr, schema_addr, parent_schema_addr } } /// Get the value bytes of this cursor #[inline(always)] pub fn get_value(&self, memory: &X) -> &'cursor mut dyn NP_Pointer_Bytes { // let ptr = memory.write_bytes().as_mut_ptr(); // // if requesting root pointer or address is higher than buffer length // if self.buff_addr == memory.get_root() || self.buff_addr > memory.read_bytes().len() { // unsafe { &mut *(ptr.add(memory.get_root()) as *mut NP_Pointer_Scalar) } // } else { // match memory.get_schema(self.parent_schema_addr) { // NP_Parsed_Schema::List { .. } => { // unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_List_Item) } // }, // NP_Parsed_Schema::Map { .. } => { // unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Map_Item) } // }, // _ => { // parent is scalar, table or tuple // unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Scalar) } // } // } // } panic!() } /// Exports this pointer and all it's descendants into a JSON object. /// This will create a copy of the underlying data and return default values where there isn't data. /// pub fn json_encode(cursor: &NP_Cursor, memory: &M) -> NP_JSON { // match memory.get_schema(cursor.schema_addr).get_type_key() { // NP_TypeKeys::None => { NP_JSON::Null }, // NP_TypeKeys::Any => { NP_JSON::Null }, // NP_TypeKeys::UTF8String => { NP_String::to_json(cursor, memory) }, // NP_TypeKeys::Bytes => { NP_Bytes::to_json(cursor, memory) }, // NP_TypeKeys::Int8 => { i8::to_json(cursor, memory) }, // NP_TypeKeys::Int16 => { i16::to_json(cursor, memory) }, // NP_TypeKeys::Int32 => { i32::to_json(cursor, memory) }, // NP_TypeKeys::Int64 => { i64::to_json(cursor, memory) }, // NP_TypeKeys::Uint8 => { u8::to_json(cursor, memory) }, // NP_TypeKeys::Uint16 => { u16::to_json(cursor, memory) }, // NP_TypeKeys::Uint32 => { u32::to_json(cursor, memory) }, // NP_TypeKeys::Uint64 => { u64::to_json(cursor, memory) }, // NP_TypeKeys::Float => { f32::to_json(cursor, memory) }, // NP_TypeKeys::Double => { f64::to_json(cursor, memory) }, // NP_TypeKeys::Decimal => { NP_Dec::to_json(cursor, memory) }, // NP_TypeKeys::Boolean => { bool::to_json(cursor, memory) }, // NP_TypeKeys::Geo => { NP_Geo::to_json(cursor, memory) }, // NP_TypeKeys::Uuid => { _NP_UUID::to_json(cursor, memory) }, // NP_TypeKeys::Ulid => { _NP_ULID::to_json(cursor, memory) }, // NP_TypeKeys::Date => { NP_Date::to_json(cursor, memory) }, // NP_TypeKeys::Enum => { NP_Enum::to_json(cursor, memory) }, // NP_TypeKeys::Table => { NP_Table::to_json(cursor, memory) }, // NP_TypeKeys::Map => { NP_Map::to_json(cursor, memory) }, // NP_TypeKeys::List => { NP_List::to_json(cursor, memory) }, // NP_TypeKeys::Tuple => { NP_Tuple::to_json(cursor, memory) } // } panic!() } /// Compact from old cursor and memory into new cursor and memory /// pub fn compact(from_cursor: NP_Cursor, from_memory: &M, to_cursor: NP_Cursor, to_memory: &M2) -> Result { // match from_memory.get_schema(from_cursor.schema_addr).get_type_key() { // NP_TypeKeys::Any => { Ok(to_cursor) } // NP_TypeKeys::UTF8String => { NP_String::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Bytes => { NP_Bytes::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Int8 => { i8::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Int16 => { i16::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Int32 => { i32::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Int64 => { i64::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Uint8 => { u8::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Uint16 => { u16::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Uint32 => { u32::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Uint64 => { u64::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Float => { f32::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Double => { f64::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Decimal => { NP_Dec::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Boolean => { bool::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Geo => { NP_Geo::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Uuid => { _NP_UUID::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Ulid => { _NP_ULID::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Date => { NP_Date::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Enum => { NP_Enum::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Table => { NP_Table::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Map => { NP_Map::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::List => { NP_List::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Tuple => { NP_Tuple::do_compact(from_cursor, from_memory, to_cursor, to_memory) } // _ => { Err(NP_Error::new("unreachable")) } // } panic!() } /// Set default for this value. Not related to the schema default, this is the default value for this data type /// pub fn set_default(cursor: NP_Cursor, memory: &M) -> Result<(), NP_Error> { // match memory.get_schema(cursor.schema_addr).get_type_key() { // NP_TypeKeys::None => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::Any => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::Table => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::Map => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::List => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::Tuple => { return Err(NP_Error::new("unreachable")); }, // NP_TypeKeys::UTF8String => { NP_String::set_value(cursor, memory, &String::default())?; }, // NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, &NP_Bytes::default())?; }, // NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, i8::default())?; }, // NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, i16::default())?; }, // NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, i32::default())?; }, // NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, i64::default())?; }, // NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, u8::default())?; }, // NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, u16::default())?; }, // NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, u32::default())?; }, // NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, u64::default())?; }, // NP_TypeKeys::Float => { f32::set_value(cursor, memory, f32::default())?; }, // NP_TypeKeys::Double => { f64::set_value(cursor, memory, f64::default())?; }, // NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, NP_Dec::default())?; }, // NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, bool::default())?; }, // NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, NP_Geo::default())?; }, // NP_TypeKeys::Uuid => { _NP_UUID::set_value(cursor, memory, &NP_UUID::default())?; }, // NP_TypeKeys::Ulid => { _NP_ULID::set_value(cursor, memory, &NP_ULID::default())?; }, // NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, NP_Date::default())?; }, // NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, NP_Enum::default())?; } // } Ok(()) } /// Calculate the number of bytes used by this pointer and it's descendants. /// pub fn calc_size(cursor: &NP_Cursor, memory: &M) -> Result { let value = cursor.get_value(memory); // size of pointer let base_size = value.get_size(); // pointer is in buffer but has no value set if value.get_addr_value() == 0 { // no value, just base size return Ok(base_size); } let type_size = 0; // // get the size of the value based on schema // let type_size = match memory.get_schema(cursor.schema_addr).get_type_key() { // NP_TypeKeys::None => { Ok(0) }, // NP_TypeKeys::Any => { Ok(0) }, // NP_TypeKeys::UTF8String => { NP_String::get_size(cursor, memory) }, // NP_TypeKeys::Bytes => { NP_Bytes::get_size(cursor, memory) }, // NP_TypeKeys::Int8 => { i8::get_size(cursor, memory) }, // NP_TypeKeys::Int16 => { i16::get_size(cursor, memory) }, // NP_TypeKeys::Int32 => { i32::get_size(cursor, memory) }, // NP_TypeKeys::Int64 => { i64::get_size(cursor, memory) }, // NP_TypeKeys::Uint8 => { u8::get_size(cursor, memory) }, // NP_TypeKeys::Uint16 => { u16::get_size(cursor, memory) }, // NP_TypeKeys::Uint32 => { u32::get_size(cursor, memory) }, // NP_TypeKeys::Uint64 => { u64::get_size(cursor, memory) }, // NP_TypeKeys::Float => { f32::get_size(cursor, memory) }, // NP_TypeKeys::Double => { f64::get_size(cursor, memory) }, // NP_TypeKeys::Decimal => { NP_Dec::get_size(cursor, memory) }, // NP_TypeKeys::Boolean => { bool::get_size(cursor, memory) }, // NP_TypeKeys::Geo => { NP_Geo::get_size(cursor, memory) }, // NP_TypeKeys::Uuid => { _NP_UUID::get_size(cursor, memory) }, // NP_TypeKeys::Ulid => { _NP_ULID::get_size(cursor, memory) }, // NP_TypeKeys::Date => { NP_Date::get_size(cursor, memory) }, // NP_TypeKeys::Enum => { NP_Enum::get_size(cursor, memory) }, // NP_TypeKeys::Table => { NP_Table::get_size(cursor, memory) }, // NP_TypeKeys::Map => { NP_Map::get_size(cursor, memory) }, // NP_TypeKeys::List => { NP_List::get_size(cursor, memory) }, // NP_TypeKeys::Tuple => { NP_Tuple::get_size(cursor, memory) } // }?; Ok(type_size + base_size) } } /// This trait is used to restrict which types can be set/get in the buffer pub trait NP_Scalar {} /// This trait is used to implement types as NoProto buffer types. /// This includes all the type data, encoding and decoding methods. #[doc(hidden)] pub trait NP_Value<'value> { /// Get the type information for this type (static) /// fn type_idx() -> (&'value str, NP_TypeKeys); /// Get the type information for this type (instance) /// fn self_type_idx(&self) -> (&'value str, NP_TypeKeys); /// Convert the schema byte array for this type into JSON /// fn schema_to_json(schema: &Vec, address: usize)-> Result; /// Get the default schema value for this type /// fn default_value(_schema: &'value NP_Parsed_Schema) -> Option where Self: Sized; /// Parse JSON schema into schema /// fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error>; /// Parse bytes into schema /// fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec); /// Set the value of this scalar into the buffer /// fn set_value<'set, M: NP_Memory>(_cursor: NP_Cursor, _memory: &'set M, _value: Self) -> Result where Self: 'set + Sized { let message = "This type doesn't support set_value!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value M) -> Result, NP_Error> where Self: Sized { let message = "This type doesn't support into!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Convert this type into a JSON value (recursive for collections) /// fn to_json(_cursor: &NP_Cursor, _memory: &'value M) -> NP_JSON; /// Calculate the size of this pointer and it's children (recursive for collections) /// fn get_size(cursor: &'value NP_Cursor, memory: &'value M) -> Result; /// Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections) /// fn do_compact(from_cursor: NP_Cursor, from_memory: &'value M, to_cursor: NP_Cursor, to_memory: &'value M2) -> Result where Self: 'value + Sized { match Self::into_value(&from_cursor, from_memory)? { Some(x) => { return Self::set_value(to_cursor, to_memory, x); }, None => { } } Ok(to_cursor) } } /* // unsigned integer size: 0 to (2^i) -1 // signed integer size: -2^(i-1) to 2^(i-1) */ ================================================ FILE: no_proto_js/src/pointer/numbers.rs ================================================ //! NoProto supports a large number of native number types. //! //! Signed Integers:
//! [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
//!
//! Unsigned Integers:
//! [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
//!
//! Floating Point:
//! [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) //!
//! //! The details of using each number type is identical to the pattern below. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "u32" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], 20380u32)?; //! //! assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! use alloc::prelude::v1::Box; use crate::schema::NP_Parsed_Schema; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::utils::to_signed; use crate::error::NP_Error; use crate::{schema::NP_TypeKeys, pointer::NP_Value, json_flex::NP_JSON, json_flex::JSMAP}; use alloc::string::ToString; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; /// The type of number being used #[derive(Debug)] #[doc(hidden)] pub enum NP_NumType { /// Unsigned integer type (only positive whole numbers) unsigned, /// Signed integer type (positive or negative whole numbers) signed, /// Decimal point numbers floating } macro_rules! noproto_number { ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => { impl<'value> NP_Value<'value> for $t { fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); if let Some(default) = <$t>::np_get_default(&schema[address]) { let default_val = default; match $numType { NP_NumType::signed => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::unsigned => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::floating => { schema_json.insert("default".to_owned(), NP_JSON::Float(default_val as f64)); } }; } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value<'default>(schema: &'default NP_Parsed_Schema) -> Option { <$t>::np_get_default(&schema) } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value() as usize; if value_address != 0 { // existing value, replace let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } return Ok(cursor); } else { // new value let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; value_address = memory.malloc_borrow(&bytes)?; c_value.set_addr_value(value_address as u16); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let read_memory = memory.read_bytes(); let mut be_bytes = <$t>::default().to_be_bytes(); for x in 0..be_bytes.len() { be_bytes[x] = read_memory[value_addr + x]; } match $numType { NP_NumType::signed => { be_bytes[0] = to_signed(be_bytes[0]); }, _ => {} }; Ok(Some(<$t>::from_be_bytes(be_bytes))) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match $numType { NP_NumType::floating => NP_JSON::Float(y as f64), _ => NP_JSON::Integer(y as i64) } }, None => { let schema = &memory.get_schema(cursor.schema_addr); match <$t>::default_value(&schema) { Some(v) => { match $numType { NP_NumType::floating => { NP_JSON::Float(v as f64) }, _ => { NP_JSON::Integer(v as i64) } } }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, _ => { schema_data.push(0); } }; let use_schema = match $tkey { NP_TypeKeys::Int8 => { NP_Parsed_Schema::Int8 { sortable: true, i: $tkey, default: i8::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Int16 => { NP_Parsed_Schema::Int16 { sortable: true, i: $tkey, default: i16::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Int32 => { NP_Parsed_Schema::Int32 { sortable: true, i: $tkey, default: i32::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Int64 => { NP_Parsed_Schema::Int64 { sortable: true, i: $tkey, default: i64::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Uint8 => { NP_Parsed_Schema::Uint8 { sortable: true, i: $tkey, default: u8::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Uint16 => { NP_Parsed_Schema::Uint16 { sortable: true, i: $tkey, default: u16::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Uint32 => { NP_Parsed_Schema::Uint32 { sortable: true, i: $tkey, default: u32::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Uint64 => { NP_Parsed_Schema::Uint64 { sortable: true, i: $tkey, default: u64::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Float => { NP_Parsed_Schema::Float { sortable: false, i: $tkey, default: f32::np_get_default_from_json(&json_schema["default"])} }, NP_TypeKeys::Double => { NP_Parsed_Schema::Double { sortable: false, i: $tkey, default: f64::np_get_default_from_json(&json_schema["default"])} }, _ => { unreachable!() } }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { schema.push(match $tkey { NP_TypeKeys::Int8 => { NP_Parsed_Schema::Int8 { sortable: true, i: $tkey, default: i8::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Int16 => { NP_Parsed_Schema::Int16 { sortable: true, i: $tkey, default: i16::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Int32 => { NP_Parsed_Schema::Int32 { sortable: true, i: $tkey, default: i32::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Int64 => { NP_Parsed_Schema::Int64 { sortable: true, i: $tkey, default: i64::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Uint8 => { NP_Parsed_Schema::Uint8 { sortable: true, i: $tkey, default: u8::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Uint16 => { NP_Parsed_Schema::Uint16 { sortable: true, i: $tkey, default: u16::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Uint32 => { NP_Parsed_Schema::Uint32 { sortable: true, i: $tkey, default: u32::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Uint64 => { NP_Parsed_Schema::Uint64 { sortable: true, i: $tkey, default: u64::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Float => { NP_Parsed_Schema::Float { sortable: false, i: $tkey, default: f32::np_get_default_from_bytes(address, bytes)} }, NP_TypeKeys::Double => { NP_Parsed_Schema::Double { sortable: false, i: $tkey, default: f64::np_get_default_from_bytes(address, bytes)} }, _ => { unreachable!() } }); (schema[schema.len() - 1].is_sortable(), schema) } } } } // signed integers noproto_number!(i8, "int8", "i8", NP_TypeKeys::Int8 , NP_NumType::signed); noproto_number!(i16, "int16", "i16", NP_TypeKeys::Int16 , NP_NumType::signed); noproto_number!(i32, "int32", "i32", NP_TypeKeys::Int32 , NP_NumType::signed); noproto_number!(i64, "int64", "i64", NP_TypeKeys::Int64 , NP_NumType::signed); // unsigned integers noproto_number!(u8, "uint8", "u8", NP_TypeKeys::Uint8 , NP_NumType::unsigned); noproto_number!(u16, "uint16", "u16", NP_TypeKeys::Uint16, NP_NumType::unsigned); noproto_number!(u32, "uint32", "u32", NP_TypeKeys::Uint32, NP_NumType::unsigned); noproto_number!(u64, "uint64", "u64", NP_TypeKeys::Uint64, NP_NumType::unsigned); // floating point noproto_number!(f32, "float", "f32", NP_TypeKeys::Float , NP_NumType::floating); noproto_number!(f64, "double", "f64", NP_TypeKeys::Double, NP_NumType::floating); impl<'value> super::NP_Scalar<'value> for i8 {} impl<'value> super::NP_Scalar<'value> for i16 {} impl<'value> super::NP_Scalar<'value> for i32 {} impl<'value> super::NP_Scalar<'value> for i64 {} impl<'value> super::NP_Scalar<'value> for u8 {} impl<'value> super::NP_Scalar<'value> for u16 {} impl<'value> super::NP_Scalar<'value> for u32 {} impl<'value> super::NP_Scalar<'value> for u64 {} impl<'value> super::NP_Scalar<'value> for f32 {} impl<'value> super::NP_Scalar<'value> for f64 {} trait NP_BigEndian { fn np_get_default_from_json(json: &NP_JSON) -> Option where Self: Sized; fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option where Self: Sized; fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option where Self: Sized; } impl NP_BigEndian for i8 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Int8 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 2)]); Some(i8::from_be_bytes(slice)) } } } impl NP_BigEndian for i16 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Int16 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 3)]); Some(i16::from_be_bytes(slice)) } } } impl NP_BigEndian for i32 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Int32 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 5)]); Some(i32::from_be_bytes(slice)) } } } impl NP_BigEndian for i64 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Int64 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 9)]); Some(i64::from_be_bytes(slice)) } } } impl NP_BigEndian for u8 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Uint8 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 2)]); Some(u8::from_be_bytes(slice)) } } } impl NP_BigEndian for u16 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Uint16 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 3)]); Some(u16::from_be_bytes(slice)) } } } impl NP_BigEndian for u32 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Uint32 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 5)]); Some(u32::from_be_bytes(slice)) } } } impl NP_BigEndian for u64 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Uint64 { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 9)]); Some(u64::from_be_bytes(slice)) } } } impl NP_BigEndian for f32 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Float { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 5)]); Some(f32::from_be_bytes(slice)) } } } impl NP_BigEndian for f64 { fn np_get_default<'default>(ptr: &'default NP_Parsed_Schema) -> Option { match ptr { NP_Parsed_Schema::Double { sortable: _, i: _, default } => { *default }, _ => None } } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 1)..(address + 9)]); Some(f64::from_be_bytes(slice)) } } } ================================================ FILE: no_proto_js/src/pointer/option.rs ================================================ //! Represents the string value of a choice in a schema //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "option", //! "choices": ["red", "green", "blue"] //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], NP_Enum::new("green"))?; //! //! assert_eq!(NP_Enum::new("green"), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; /// Holds Enum / Option type data. /// /// Check out documentation [here](../option/index.html). /// #[derive(Clone, Debug, Eq, PartialEq)] pub enum NP_Enum { /// No value None, /// Value Some(String) } impl<'value> super::NP_Scalar<'value> for NP_Enum {} impl NP_Enum { /// Create a new option type with the given string pub fn new>(value: S) -> Self { NP_Enum::Some(value.into()) } /// get length of value pub fn len(&self) -> usize { match self { NP_Enum::None => 0, NP_Enum::Some(x) => x.len() } } /// get value as bytes pub fn as_bytes(&self) -> &[u8] { match self { NP_Enum::None => &[], NP_Enum::Some(x) => x.as_bytes() } } /// get string of value pub fn to_string(&self) -> String { match self { NP_Enum::None => String::from(""), NP_Enum::Some(x) => x.clone() } } } impl Default for NP_Enum { fn default() -> Self { NP_Enum::None } } impl<'value> NP_Value<'value> for NP_Enum { fn type_idx() -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); match &schema[address] { NP_Parsed_Schema::Enum { i: _, choices, default, sortable: _} => { let options: Vec = choices.into_iter().map(|value| { NP_JSON::String(value.to_string()) }).collect(); if let Some(d) = default { if let NP_Enum::Some(x) = &d { schema_json.insert("default".to_owned(), NP_JSON::String(x.to_string())); } } schema_json.insert("choices".to_owned(), NP_JSON::Array(options)); }, _ => { } } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(schema: &NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::Enum { i: _, choices: _, default, sortable: _} => { if let Some(d) = default { Some(d.clone()) } else { None } }, _ => None } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Enum { i: _, choices, default: _, sortable: _} => { let mut value_num: i32 = -1; { let mut ct: u16 = 0; for opt in choices { if *opt == value { value_num = ct as i32; } ct += 1; }; if value_num == -1 { return Err(NP_Error::new("Option not found, cannot set uknown option!")); } } let bytes = value_num as u8; let mut addr_value = c_value.get_addr_value() as usize; if addr_value != 0 { // existing value, replace let write_bytes = memory.write_bytes(); write_bytes[addr_value] = bytes; return Ok(cursor); } else { // new value addr_value = memory.malloc_borrow(&[bytes])?; c_value.set_addr_value(addr_value as u16); return Ok(cursor); } }, _ => Err(NP_Error::new("unreachable")) } } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Enum { i: _, choices, default: _, sortable: _} => { Ok(match memory.get_1_byte(value_addr) { Some(x) => { let value_num = x as usize; if value_num > choices.len() { None } else { Some(choices[value_num].clone()) } }, None => None }) }, _ => Err(NP_Error::new("unreachable")) } } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match y { NP_Enum::Some(str_value) => { NP_JSON::String(str_value.to_string()) }, NP_Enum::None => { match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Enum { i: _, choices: _, default, sortable: _} => { if let Some(d) = default { match d { NP_Enum::Some(val) => { NP_JSON::String(val.clone()) }, NP_Enum::None => { NP_JSON::Null } } } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, None => { match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::Enum { i: _, choices: _, default, sortable: _} => { if let Some(d) = default { match d { NP_Enum::Some(x) => NP_JSON::String(x.clone()), NP_Enum::None => NP_JSON::Null } } else { NP_JSON::Null } }, _ => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); let value_address = c_value.get_addr_value() as usize; if value_address == 0 { return Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; match &json_schema["default"] { NP_JSON::String(def) => { default_stir = Some(def.clone()); }, _ => {} } let mut default_value: Option = None; let mut default_index: Option = None; match &json_schema["choices"] { NP_JSON::Array(x) => { for opt in x { match opt { NP_JSON::String(stir) => { if stir.len() > 255 { return Err(NP_Error::new("'option' choices cannot be longer than 255 characters each!")) } if let Some(def) = &default_stir { if def == stir { default_value = Some(NP_Enum::new(def.clone())); default_index = Some(choices.len() as u8); } } choices.push(NP_Enum::new(stir.clone())); }, _ => {} } } }, _ => { return Err(NP_Error::new("'option' type requires a 'choices' key with an array of strings!")) } } if choices.len() > 254 { return Err(NP_Error::new("'option' type cannot have more than 254 choices!")) } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema::Enum { i: NP_TypeKeys::Enum, default: default_value, choices: choices, sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let mut default_index: Option = None; let mut default_value: Option = None; if bytes[address + 1] > 0 { default_index = Some(bytes[address + 1] - 1); } let choices_len = bytes[address + 2]; let mut choices: Vec = Vec::new(); let mut offset: usize = address + 3; for x in 0..choices_len { let choice_size = bytes[offset] as usize; let choice_bytes = &bytes[(offset + 1)..(offset + 1 + choice_size)]; let choice_string = unsafe { core::str::from_utf8_unchecked(choice_bytes) }; choices.push(NP_Enum::new(choice_string.to_string())); offset += 1 + choice_size; if let Some(def) = default_index { if def == x { default_value = Some(NP_Enum::new(choice_string.to_string())); } } } schema.push(NP_Parsed_Schema::Enum { i: NP_TypeKeys::Enum, sortable: true, default: default_value, choices: choices }); (true, schema) } } ================================================ FILE: no_proto_js/src/pointer/string.rs ================================================ //! NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "string" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! new_buffer.set(&[], "I want to play a game")?; //! //! assert_eq!("I want to play a game", new_buffer.get::<&str>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::string::String; use alloc::prelude::v1::Box; use crate::{error::NP_Error, schema::String_Case}; use crate::{ json_flex::JSMAP, memory::NP_Memory, schema::{NP_Parsed_Schema}, }; use crate::{json_flex::NP_JSON, pointer::NP_Value, schema::NP_TypeKeys}; use alloc::vec::Vec; use super::{NP_Cursor, NP_Scalar}; use alloc::borrow::ToOwned; use core::str; use alloc::string::ToString; /// &str type alias pub type NP_String<'string> = String; impl NP_Scalar for String {} impl<'value> NP_Value<'value> for String { fn type_idx() -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn schema_to_json(schema: &Vec, address: usize) -> Result { match &schema[address] { NP_Parsed_Schema::UTF8String { size, default, case, ..} => { let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); match case { String_Case::Uppercase => { schema_json.insert("uppercase".to_owned(), NP_JSON::True); }, String_Case::Lowercase => { schema_json.insert("lowercase".to_owned(), NP_JSON::True); }, _ => {} } if *size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(size.clone().into())); } if let Some(default_value) = default { schema_json.insert( "default".to_owned(), NP_JSON::String(default_value.to_string()), ); } Ok(NP_JSON::Dictionary(schema_json)) }, _ => Ok(NP_JSON::Null) } } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // case byte let case_byte = String_Case::from(bytes[address + 1]); // fixed size let fixed_size = u16::from_be_bytes([bytes[address + 2], bytes[address + 3]]); // default value size let default_size = u16::from_be_bytes([bytes[address + 4], bytes[address + 5]]) as usize; if default_size == 0 { schema.push(NP_Parsed_Schema::UTF8String { i: NP_TypeKeys::UTF8String, default: None, case: case_byte, sortable: fixed_size > 0, size: fixed_size, }) } else { let default_bytes = str::from_utf8(&bytes[(address + 6)..(address + 6 + (default_size - 1))]).unwrap_or_default(); schema.push(NP_Parsed_Schema::UTF8String { i: NP_TypeKeys::UTF8String, default: Some(default_bytes.to_string()), size: fixed_size, case: case_byte, sortable: fixed_size > 0, }) } (fixed_size > 0, schema) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::UTF8String { size, .. } => { if *size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (*size as usize))]; return Ok(Some(unsafe { String::from(str::from_utf8_unchecked(bytes)) })); } else { // dynamic size // get size of bytes let bytes_size: usize = u16::from_be_bytes(*memory.get_2_bytes(value_addr).unwrap_or(&[0u8; 2])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 2)..(value_addr + 2 + bytes_size)]; return Ok(Some(unsafe { String::from(str::from_utf8_unchecked(bytes)) })); } } _ => Err(NP_Error::new("unreachable")), } } fn default_value(schema: &'value NP_Parsed_Schema) -> Option { match schema { NP_Parsed_Schema::UTF8String { default, .. } => match default { Some(x) => Some(String::from(x)), None => None, }, _ => None } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::UTF8String { size, .. } => { // fixed size if *size > 0 { return Ok(*size as usize); } // dynamic size let bytes_size: usize = u16::from_be_bytes(*memory.get_2_bytes(value_addr).unwrap_or(&[0; 2])) as usize; // return total size of this string plus length bytes return Ok(bytes_size + 2); } _ => Err(NP_Error::new("unreachable")), } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { // let mut schema_data: Vec = Vec::new(); // schema_data.push(NP_TypeKeys::UTF8String as u8); // let mut case_byte = String_Case::None; // let mut set = 0; // match json_schema["lowercase"] { // NP_JSON::True => { case_byte = String_Case::Lowercase; set += 1; }, // _ => {} // } // match json_schema["uppercase"] { // NP_JSON::True => { case_byte = String_Case::Uppercase; set += 1; }, // _ => {} // } // if set == 2 { // return Err(NP_Error::new("Only one of uppercase and lowercase can be set!")); // } // schema_data.push(case_byte as u8); // let mut has_fixed_size = false; // let size = match json_schema["size"] { // NP_JSON::Integer(x) => { // has_fixed_size = true; // if x < 1 { // return Err(NP_Error::new( // "Fixed size for string must be larger than 1!", // )); // } // if x > u16::MAX.into() { // return Err(NP_Error::new( // "Fixed size for string cannot be larger than 2^16!", // )); // } // schema_data.extend((x as u16).to_be_bytes().to_vec()); // x as u16 // } // NP_JSON::Float(x) => { // has_fixed_size = true; // if x < 1.0 { // return Err(NP_Error::new( // "Fixed size for string must be larger than 1!", // )); // } // if x > u16::MAX.into() { // return Err(NP_Error::new( // "Fixed size for string cannot be larger than 2^16!", // )); // } // schema_data.extend((x as u16).to_be_bytes().to_vec()); // x as u16 // } // _ => { // schema_data.extend(0u16.to_be_bytes().to_vec()); // 0u16 // } // }; let boxed: Option> = Some(Box::new(String::from(""))); let max_len = (u16::max as usize) - 1; let default = match &boxed { Some(bytes) => { let str_bytes = bytes.clone().into_bytes(); if str_bytes.len() > max_len { return Err(NP_Error::new("Default string value cannot be larger than 2^16 bytes!")); } // schema_data.extend(((str_bytes.len() + 1) as u16).to_be_bytes().to_vec()); // schema_data.extend(str_bytes); Some(bytes.to_string()) } _ => { // schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; // schema.push(NP_Parsed_Schema::UTF8String { // i: NP_TypeKeys::UTF8String, // size: size, // default: default, // case: case_byte, // sortable: has_fixed_size, // }); // return Ok((has_fixed_size, schema_data, schema)); return Ok((false, Vec::new(), Vec::new())) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => match x { Some(y) => NP_JSON::String(y.to_string()), None => { match &memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::UTF8String { default, .. } => match default { Some(x) => NP_JSON::String(x.to_string()), None => NP_JSON::Null, }, _ => NP_JSON::Null, } } }, Err(_e) => NP_JSON::Null, } } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let (size, case) = match memory.get_schema(cursor.schema_addr) { NP_Parsed_Schema::UTF8String { size, case, .. } => (*size, *case), _ => (0, String_Case::None) }; let mut bytes = value.as_bytes(); let mut owned: String; match case { String_Case::Uppercase => { owned = String::from(value); owned.make_ascii_uppercase(); bytes = owned.as_bytes(); }, String_Case::Lowercase => { owned = String::from(value); owned.make_ascii_lowercase(); bytes = owned.as_bytes(); }, _ => {} } let str_size = bytes.len() as usize; let mut write_bytes = memory.write_bytes(); if size > 0 { // fixed size bytes if c_value.get_addr_value() == 0 { // malloc new bytes let mut empty_bytes: Vec = Vec::with_capacity(size as usize); for _x in 0..size { empty_bytes.push(32); // white space } let new_addr = memory.malloc(empty_bytes)? as usize; c_value.set_addr_value(new_addr as u16); } let addr = c_value.get_addr_value() as usize; write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is white space write_bytes[(addr + x)] = 32; } } return Ok(cursor); } // flexible size let addr_value = c_value.get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 2] = memory.get_2_bytes(addr_value).unwrap_or(&[0; 2]); u16::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u16::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 2; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u16::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; c_value.set_addr_value(new_addr as u16); memory.malloc_borrow(bytes)?; return Ok(cursor); } } } ================================================ FILE: no_proto_js/src/pointer/ulid.rs ================================================ //! Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness //! //! Useful for storing time stamp data that doesn't have collisions. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::ulid::NP_ULID; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "ulid" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! let ulid = NP_ULID::generate(1604965249484, 50); //! new_buffer.set(&[], &ulid)?; //! //! assert_eq!("1EPQP4CEC3KANC3XYNG9YKAQ", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::utils::to_base32; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter}}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::NP_Cursor; /// Holds ULIDs which are good for time series keys. /// /// Check out documentation [here](../ulid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_ULID { value: [u8; 16] } /// ULID alias for shared type pub type _NP_ULID<'a> = &'a NP_ULID; impl<'value> super::NP_Scalar<'value> for &NP_ULID {} impl NP_ULID { /// Creates a new ULID from the timestamp and provided seed. /// /// The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed. /// /// The time should be passed in as the unix epoch in milliseconds. pub fn generate(now_ms: u64, random_seed: u32) -> NP_ULID { let mut rng = Rand::new(random_seed); let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = rng.gen_range(0, 255) as u8; } } NP_ULID { value: id } } /// Generates a ULID with the given time and a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(now_ms: u64, random_fn: F) -> NP_ULID where F: Fn() -> u8 { let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = random_fn(); } } NP_ULID { value: id } } /// Get just the time component for this ULID pub fn get_time(&self) -> u64 { let mut time_bytes: [u8; 8] = [0; 8]; for (i, x) in self.value.iter().take(6).enumerate() { time_bytes[i + 2] = *x; } u64::from_be_bytes(time_bytes) } /// Generates a stringified version of this ULID with base32. /// pub fn to_string(&self) -> String { let mut result: String = "".to_owned(); let mut time_bytes: [u8; 16] = [0; 16]; let mut rand_bytes: [u8; 16] = [0; 16]; for (i, x) in self.value.iter().enumerate() { if i < 6 { time_bytes[i + 10] = *x; } else { rand_bytes[i] = *x; } } result.push_str(to_base32(u128::from_be_bytes(time_bytes), 10).as_str()); result.push_str(to_base32(u128::from_be_bytes(rand_bytes), 16).as_str()); result } } impl Default for NP_ULID { fn default() -> Self { NP_ULID { value: [0u8; 16]} } } impl Debug for NP_ULID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl<'value> NP_Value<'value> for &NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; c_value.set_addr_value(value_address as u16); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_ULID) }) }, None => None }) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Ulid as u8); schema.push(NP_Parsed_Schema::Ulid { i: NP_TypeKeys::Ulid, sortable: true }); return Ok((true, schema_bytes, schema)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema::Ulid { i: NP_TypeKeys::Ulid, sortable: true }); (true, schema) } } ================================================ FILE: no_proto_js/src/pointer/uuid.rs ================================================ //! Represents a V4 UUID, good for globally unique identifiers //! //! `uuid` types are always represented with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new(r#"{ //! "type": "uuid" //! }"#)?; //! //! let mut new_buffer = factory.empty_buffer(None); //! let uuid = NP_UUID::generate(50); //! new_buffer.set(&[], &uuid)?; //! //! assert_eq!("48E6AAB0-7DF5-409F-4D57-4D969FA065EE", new_buffer.get::<&NP_UUID>(&[])?.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::prelude::v1::Box; use crate::pointer::NP_Scalar; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter, Write}}; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; use super::NP_Cursor; /// Holds UUID which is good for random keys. /// /// Check out documentation [here](../uuid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_UUID { /// The random bytes for this UUID pub value: [u8; 16] } impl NP_Scalar for &NP_UUID {} /// ULID alias for shared value pub type _NP_UUID<'a> = &'a NP_UUID; impl NP_UUID { /// Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible. /// pub fn generate(random_seed: u32) -> Self { let mut uuid = NP_UUID { value: [0; 16] }; let mut rng = Rand::new(random_seed); for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + rng.gen_range(0, 15) as u8; } else { uuid.value[x] = rng.gen_range(0, 255) as u8; } } uuid } /// Generates a UUID with a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(random_fn: F) -> Self where F: Fn() -> u8 { let mut uuid = NP_UUID { value: [0; 16] }; for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + (random_fn() % 17) - 1; } else { uuid.value[x] = random_fn(); } } uuid }// 503 760 4833 /// Convert a string UUID into it's byte values /// pub fn from_string(uuid: &str) -> NP_UUID { let cleaned: String = String::from(uuid).replace("-", ""); let mut value: [u8; 16] = [0; 16]; for x in 0..16usize { let step = x * 2; match u8::from_str_radix(&cleaned[step..(step + 2)], 16) { Ok(byte) => { value[x] = byte }, _ => {} } } NP_UUID { value } } /// Generates a stringified version of the UUID. /// pub fn to_string(&self) -> String { let mut result = String::with_capacity(32); for x in 0..self.value.len() { if x == 4 || x == 6 || x == 8 || x == 10 { result.push_str("-"); } let byte = self.value[x] as u8; write!(result, "{:02X}", byte).unwrap_or(()); } result } } impl Debug for NP_UUID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl Default for NP_UUID { fn default() -> Self { NP_UUID { value: [0; 16] } } } impl<'value> NP_Value<'value> for &NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set, M: NP_Memory>(cursor: NP_Cursor, memory: &'set M, value: Self) -> Result where Self: 'set + Sized { let c_value = cursor.get_value(memory); let mut value_address = c_value.get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; c_value.set_addr_value(value_address as u16); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value M) -> Result, NP_Error> where Self: Sized { let c_value = cursor.get_value(memory); let value_addr = c_value.get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_UUID) }) }, None => None }) } fn to_json(cursor: &NP_Cursor, memory: &'value M) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(cursor: &NP_Cursor, memory: &M) -> Result { let c_value = cursor.get_value(memory); if c_value.get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Uuid as u8); schema.push(NP_Parsed_Schema::Uuid { i: NP_TypeKeys::Uuid, sortable: true }); return Ok((true, schema_bytes, schema)) } fn default_value(_schema: &NP_Parsed_Schema) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema::Uuid { i: NP_TypeKeys::Uuid, sortable: true }); (true, schema) } } ================================================ FILE: no_proto_js/src/rpc.rs ================================================ //! Remote Procedure Call APIs //! //! You can optionally omit all the RPC related code with `features = []` in your cargo.toml //! //! The NoProto RPC framework builds on top of NoProto's format and Rust's conventions to provide a flexible, powerful and safe RPC protocol. //! //! This RPC framework has *zero* transport code and is transport agnostic. You can send bytes between the server/client using any method you'd like. //! //! It's also possible to send messages in either direction, the Client & Server both have the ability to encode/decode requests and responses. //! //! # RPC JSON Spec //! //! Before you can send bytes between servers and clients, you must let NoProto know the shape and format of your endpoints, requests and responses. Like schemas, RPC specs are written as JSON. //! //! Any fields in your spec not required by the library will simply be ignored. //! //! ## Required Fields //! //! ### id, version //! The `id` property should be a V4 UUID you've generated yourself. This [website](https://www.uuidgenerator.net/version4) can help generate a UUID for you. The `version` property should be a semver string like `0.1.0` or `1.0.0` or `0.0.23`. //! //! The `id` and `version` data is encoded in every request and response. If you attempt to open a request or response that does not match the `version` and `id` of the specification you're using, the request/response will fail to open. //! //! ### name //! The `name` property is the title for your specification. Should be something appropriate like "Todo App RPC" or "User Account RPC". //! //! ### author //! The `author` property is a string and can contain any value. You can put your name here, your companies name, your email, whatever you'd like. //! //! ### spec //! Is an array of RPC specifications described below, this is the root of your specifications. The array should be at property `spec`. //! //! ## RPC Specifications //! //! There are 4 different kinds of values allowed in the `spec` array. They can be in any order and you can have as many of each type as you'd like. //! //! //! #### 1. Message //! RPC messages are named NoProto schemas. They must have a `msg` property with the name of the schema, then a `type` property for the schema type. The messages MUST be valid NoProto schemas. //! //! ```text //! // Some valid messages //! {"msg": "user_id", "type": "u32"} //! //! {"msg": "address", "type": "table", "columns": [ //! ["street", {"type": "string"}], //! ["city", {"type": "string"}] //! ]} //! //! {"msg": "tags", "type": "list", "of": {"type": "string"}} //! ``` //! //! #### 2. RPC Method //! Methods are named endpoints with arguments and responses. The arguments and responses MUST reference messages. They always contain a `rpc` property and an `fn` property which describes the endpoint arguments and return types. //! //! RPC methods can have between 0 and 1 arguments and can return nothing, a value T, an option<T> or, Result<T,E> //! ```text //! // Some valid RPC methods //! {"rpc": "get_count", "fn": "() -> self::count"} //! //! {"rpc": "get_user", "fn": "(self::user_id) -> Option"} //! //! {"rpc": "del_user", "fn": "(self::user_id) -> Result<(), self::error>"} //! //! {"rpc": "add_one", "fn": "(self::add_arg) -> Result"} //! //! {"rpc": "trigger_action", "fn": "() -> ()"} //! ``` //! //! #### 3. RPC Module //! You can create nested namespaces inside your specification that contain their own specification. Namespaces require a `mod` property and `spec` property. //! //! ```text //! // a valid RPC module //! {"mod": "user", "spec": [ //! {"msg": "user_id", "type": "u32"}, //! {"msg": "user_name", "type": "string"}, //! {"rpc": "get_username", "fn": "(self::user_id) -> Option"} //! ]} //! ``` //! //! #### 4. Comments //! You can insert string comments anywhere in your spec. //! //! ### RPC Namespaces & Modules //! //! I'm sure you've noticed the `self` being used above in the function definitions. You can create messages anywhere in your specification and they can be accessed by any RPC method in any namespace using the namespace syntax. //! //! Methods can always access messages in their own namespace using `self`. Otherwise, the top of the name space is `mod` and messages in other namespaces can be used by their names. For example, let's say we had a message named `delete` inside the `modify` RPC module inside the `user` RPC module. That message could be accessed by any RPC method with `mod::user::modify::delete`. //! //! That might be confusing so here's an example RPC spec with some fancy namespacing. //! //! ## Example RPC JSON SPEC //! //! ```text //! { //! "name": "TEST API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! "this is a comment", //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! {"mod": "admin", "spec": [ //! {"rpc": "update_user", "fn": "(mod::user::user_id) -> Result<(), mod::Error>"} //! ]} //! ]} //! ] //! } //! ``` //! //! //! # Using the RPC Framework //! //! ```rust //! use no_proto::rpc::{NP_RPC_Factory, NP_ResponseKinds, NP_RPC_Response, NP_RPC_Request}; //! use no_proto::error::NP_Error; //! //! // You can generate an RPC Factory with this method. //! // Like NoProto Factories, this RPC factory can be used to encode/decode any number of requests/responses. //! //! let rpc_factory = NP_RPC_Factory::new(r#"{ //! "name": "Test API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! ]} //! ] //! }"#)?; //! //! // rpc_factory should be initilized on server and client using an identical JSON RPC SPEC //! // Both server and client can encode/decode responses and requests so the examples below are only a convention. //! //! //! //! // SIMPLE EXAMPLE //! //! // === CLIENT === //! // generate request //! let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; //! // close request (request has no arguments) //! let count_req_bytes: Vec = get_count.rpc_close(); //! //! // === SEND count_req_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; //! assert_eq!(a_request.rpc_name(), "get_count"); //! // generate a response //! let mut count_response: NP_RPC_Response = a_request.new_response()?; //! // set response data //! count_response.data.set(&[], 20u32)?; //! // set response kind //! count_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = count_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let count_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(count_response.rpc_name(), "get_count"); //! // confirm that we got data in the response //! assert_eq!(count_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data the server sent //! assert_eq!(count_response.data.get(&[])?, Some(20u32)); //! //! //! //! // RESULT EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as ok with data //! del_response.data.set(&[], 50u32)?; //! del_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data set on the server //! assert_eq!(del_response.data.get(&[])?, Some(50u32)); //! //! //! //! // RESULT EXAMPLE 2 //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as error //! del_response.error.set(&[], "Can't find user.")?; //! del_response.kind = NP_ResponseKinds::Error; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm we recieved error response //! assert_eq!(del_response.kind, NP_ResponseKinds::Error); //! // get the error information //! assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); //! //! //! //! // OPTION EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; //! get_user.data.set(&[], "username")?; //! let get_user_bytes: Vec = get_user.rpc_close(); //! //! // === SEND get_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.get_user_id"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as none //! del_response.kind = NP_ResponseKinds::None; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.get_user_id"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::None); //! // with NONE response there is no data //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use alloc::str::from_utf8_unchecked; use crate::{NP_Schema_Bytes, hashmap::{SEED, murmurhash3_x86_32}}; use crate::{hashmap::NP_HashMap, pointer::uuid::NP_UUID, utils::opt_err}; use crate::NP_Factory; use crate::NP_Schema; use alloc::prelude::v1::Box; use crate::json_decode; use alloc::string::String; use alloc::vec::Vec; use alloc::string::ToString; use crate::{NP_JSON, buffer::NP_Buffer, error::NP_Error}; /// The different kinds of rpc functions #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[doc(hidden)] #[repr(u8)] pub enum RPC_Fn_Kinds { /// Normal function, doesn't return result or option normal, /// This function returns a result result, /// This function returns an option option } impl From for RPC_Fn_Kinds { fn from(value: u8) -> Self { if value > 2 { return RPC_Fn_Kinds::normal; } unsafe { core::mem::transmute(value) } } } #[derive(Debug, Clone, Copy)] #[doc(hidden)] struct NP_Str_Addr { idx: usize, len: usize } /// RPC Specifications /// #[derive(Debug)] #[doc(hidden)] enum NP_RPC_Spec<'spec> { /// RPC Function RPC { /// Full path (module_path::name) full_name: NP_Str_Addr, /// RPC Message argument address arg: Option, /// RPC Message result address result: Option, /// RPC message error address (f this is a result kind of function) err: Option, /// The kind of function this is kind: RPC_Fn_Kinds }, /// RPC Message MSG { /// Factory for this message factory: NP_Factory<'spec> } } /// RPC Factory #[derive(Debug)] pub struct NP_RPC_Factory<'fact> { /// Name of API name: NP_Str_Addr, /// API Author author: NP_Str_Addr, /// Specification for this factory spec: NP_RPC_Specification<'fact>, method_hash: NP_HashMap, /// blank buffer empty: NP_Factory<'fact> } #[derive(Debug)] #[doc(hidden)] enum NP_RCP_Spec<'spec> { Owned(Vec), Borrwed(&'spec [u8]) } impl<'spec> NP_RCP_Spec<'spec> { #[inline(always)] pub fn write(&mut self) -> Result<&mut Vec, NP_Error> { match self { NP_RCP_Spec::Owned(vec) => Ok(vec), _ => Err(NP_Error::new("unreachable")) } } #[inline(always)] pub fn read(&self) -> &[u8] { match self { NP_RCP_Spec::Owned(vec) => vec, NP_RCP_Spec::Borrwed(vec) => *vec } } } /// RPC Specification #[derive(Debug)] #[doc(hidden)] pub struct NP_RPC_Specification<'spec> { /// Specification for this factory specs: Vec>, bytes: NP_RCP_Spec<'spec>, /// Message HashMap spec_msg_hash: NP_HashMap, id_hash: [u8; 4] } impl<'spec> NP_RPC_Specification<'spec> { fn read_str(&self, addr: &NP_Str_Addr) -> &str { let end = addr.idx + addr.len; if end > self.bytes.read().len() { "" } else { unsafe { from_utf8_unchecked(&self.bytes.read()[addr.idx..end]) } } } } struct Parsed_Fn { /// RPC Message argument address pub arg: String, /// RPC Message result address pub result: String, /// RPC message error address (f this is a result kind of function) pub err: String, /// The kind of function this is pub kind: RPC_Fn_Kinds } #[inline(always)] fn read_u16(bytes: &[u8], offset: usize) -> usize { u16::from_be_bytes(unsafe { *(&bytes[offset..(offset + 2)] as *const [u8] as *const [u8; 2])}) as usize } impl<'fact> NP_RPC_Factory<'fact> { /// Parse a JSON RPC spec into an RPC Factory /// pub fn new(json_rcp_spec: &str) -> Result { let parsed = json_decode(String::from(json_rcp_spec))?; let version = String::from(match &parsed["version"] { NP_JSON::String(version) => { version }, _ => { "" } }).split(".").map(|s| s.parse::().unwrap_or(0)).collect::>(); let author_str = match &parsed["author"] { NP_JSON::String(author) => { author }, _ => { "" } }; let id_str = String::from(match &parsed["id"] { NP_JSON::String(id) => { id }, _ => { "" } }).replace("-", ""); let name_str = match &parsed["name"] { NP_JSON::String(name) => { name }, _ => { "" } }; if name_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("API name cannot be longer than 2^16 UTF8 bytes")); } if author_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("Author cannot be longer than 2^16 UTF8 bytes")); } if version.len() != 3 { return Err(NP_Error::new("There must be 3 version points. X.X.X")); } if id_str.len() != 32 { return Err(NP_Error::new("id property must be a V4 UUID.")); } // id let mut id_bytes = [0u8; 19]; for x in 0..16 { let step = x * 2; match u8::from_str_radix(&id_str[step..(step + 2)], 16) { Ok(b) => { id_bytes[x] = b }, Err(_e) => {} } } // version id_bytes[16] = version[0]; id_bytes[17] = version[1]; id_bytes[18] = version[2]; let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&id_bytes, SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut compiled = Vec::with_capacity(1024); // first 2 bytes contains the offset of the first rpc method (uknown right now) compiled.extend_from_slice(&0u16.to_be_bytes()); // next 19 bytes are version compiled.extend_from_slice(&id_bytes); // next bytes are name compiled.extend_from_slice(&(name_str.len() as u16).to_be_bytes()); let name_addr = NP_Str_Addr { idx: compiled.len(), len: name_str.len() }; compiled.extend_from_slice(&name_str.as_bytes()); // next bytes are author compiled.extend_from_slice(&(author_str.len() as u16).to_be_bytes()); let author_addr = NP_Str_Addr { idx: compiled.len(), len: author_str.len() }; compiled.extend_from_slice(&author_str.as_bytes()); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Owned(compiled), spec_msg_hash: NP_HashMap::new() }; // now the messages NP_RPC_Factory::parse_json_msg("mod", &parsed, &mut spec)?; if spec.bytes.read().len() > core::u16::MAX as usize { return Err(NP_Error::new("Too many messages in spec, can't compile.")) } // set first 2 bytes to correct offset after we've inserted all messages for (x, b) in (spec.bytes.read().len() as u16).to_be_bytes().iter().enumerate() { spec.bytes.write()?[x] = *b; } // and finally the methods NP_RPC_Factory::parse_json_rpc("", "mod", &parsed, &mut spec)?; let mut method_hash: NP_HashMap = NP_HashMap::new(); for (idx, one_spec) in spec.specs.iter().enumerate() { match one_spec { NP_RPC_Spec::RPC { full_name, .. } => { method_hash.insert(spec.read_str(full_name), idx)?; }, _ => {} } } Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_compiled(&[0u8]) }) } /// Get API name pub fn get_name(&self) -> &str { self.spec.read_str(&self.name) } /// Get API author pub fn get_author(&self) -> &str { self.spec.read_str(&self.author) } /// Get API ID pub fn get_id(&self) -> String { let mut uuid_value = [0u8; 16]; for x in 0..16usize { uuid_value[x] = self.spec.bytes.read()[x + 2]; } NP_UUID { value: uuid_value }.to_string() } /// Get API Version pub fn get_version(&self) -> String { let mut version: String = String::from(""); for x in 0..3usize { version.push_str(self.spec.bytes.read()[18 + x].to_string().as_str()); if x != 2 { version.push_str("."); } } version } /// Parse RPC messages fn parse_json_msg(module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["msg"] { // msg type NP_JSON::String(msg_name) => { let schema = NP_Schema::from_json(Vec::new(), &Box::new(jspec.clone()))?; let factory = NP_Factory { schema: NP_Schema { is_sortable: schema.0, parsed: schema.2 }, schema_bytes: NP_Schema_Bytes::Owned(schema.1) }; let full_name = format!("{}::{}", module, msg_name); // insert this message address // spec.compiled_msg_hash.insert(&full_name, spec.compiled.len())?; let bytes_w = spec.bytes.write()?; let schema = factory.compile_schema(); bytes_w.extend_from_slice(&(schema.len() as u16).to_be_bytes()); bytes_w.extend(schema); spec.spec_msg_hash.insert(&full_name, spec.specs.len())?; spec.specs.push(NP_RPC_Spec::MSG { factory: factory }); }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); new_mod.push_str("::"); new_mod.push_str(mod_name); NP_RPC_Factory::parse_json_msg(&new_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Parse RPC methods fn parse_json_rpc(module: &str, msg_module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["rpc"] { // rpc type NP_JSON::String(rpc_name) => { match &jspec["fn"] { NP_JSON::String(fn_def) => { let parsed_def = NP_RPC_Factory::method_string_parse(msg_module, fn_def)?; let full_name = if module == "" { String::from(rpc_name) } else { format!("{}.{}", module, rpc_name) }; let bytes_w = spec.bytes.write()?; // compile the RPC spec bytes_w.extend_from_slice(&(full_name.len() as u16).to_be_bytes()); let f_addr = NP_Str_Addr { idx: bytes_w.len(), len: full_name.len() }; bytes_w.extend_from_slice(&full_name.as_bytes()); bytes_w.push(parsed_def.kind as u8); if parsed_def.arg.len() == 0 { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let arg_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.arg))?; bytes_w.extend_from_slice(&(*arg_addr as u16 + 1).to_be_bytes()); } if parsed_def.result.len() == 0 || parsed_def.result == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let result_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.result))?; bytes_w.extend_from_slice(&(*result_addr as u16 + 1).to_be_bytes()); } if parsed_def.kind == RPC_Fn_Kinds::result { if parsed_def.err.len() == 0 || parsed_def.err == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let err_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.err))?; bytes_w.extend_from_slice(&(*err_addr as u16 + 1).to_be_bytes()); } } // provide struct data let rpc = NP_RPC_Spec::RPC { // name: if module == "" { f_addr } else { NP_Str_Addr { idx: f_addr.idx + module.len() + 1, len: rpc_name.len() } }, // module_path: NP_Str_Addr { idx: f_addr.idx, len: module.len() }, full_name: f_addr, arg: if parsed_def.arg.len() == 0 { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.arg, &spec)?) }, result: if parsed_def.result.len() == 0 || parsed_def.result == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.result, &spec)?) }, err: if parsed_def.err.len() == 0 || parsed_def.err == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.err, &spec)?) }, kind: parsed_def.kind }; spec.specs.push(rpc); }, _ => return Err(NP_Error::new("RPC methods must have an 'fn' property!")) } }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); if module.len() > 0 { new_mod.push_str("."); } new_mod.push_str(mod_name); let mut new_msg_mod = String::from(msg_module); new_msg_mod.push_str("::"); new_msg_mod.push_str(mod_name); NP_RPC_Factory::parse_json_rpc(&new_mod, &new_msg_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Find a particular message in the spec vec /// fn find_msg(msg_name: &String, spec: &NP_RPC_Specification) -> Result { if msg_name == "" { return Err(NP_Error::new("Missing message decleration in rpc method.")) } match spec.spec_msg_hash.get(msg_name) { Some(idx) => { Ok(*idx) }, None => { let mut name = msg_name.clone(); name.push_str("Can't find rpc message '"); name.push_str(msg_name); name.push_str("'."); Err(NP_Error::new(name.as_str())) } } } /// Parse an FN method string into it's parts /// /// Handle these different kinds of signatures: /// "(self::get) -> Result" /// "(self::get) -> Option" /// "(self::get) -> self::get" /// "() -> self::get" /// "() => ()" /// fn method_string_parse(module: &str, function_str: &str) -> Result { let fn_kind = { if function_str.contains("Result<") { RPC_Fn_Kinds::result } else if function_str.contains("Option<") { RPC_Fn_Kinds::option } else { RPC_Fn_Kinds::normal } }; let open_paren = opt_err(function_str.find("("))? + 1; let close_paren = opt_err(function_str.find(")"))?; let arg_name = function_str[open_paren..close_paren].trim(); let after_arrow = opt_err(function_str.find("->"))? + 2; let return_name = function_str[after_arrow..].trim(); match &fn_kind { RPC_Fn_Kinds::normal => { Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(return_name).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::option => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(&return_name[open..close]).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::result => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; let results = &return_name[open..close]; let comma = opt_err(results.find(","))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(results[..comma].trim()).replace("self", module), err: String::from(results[(comma+1)..].trim()).replace("self", module), kind: fn_kind}) }, } } /// Parse a byte rpc spec into an RPC Factory. /// /// This method is orders of magnitude faster than the `new` method since there's no JSON to parse and only a few memory allocations. /// pub fn new_compiled(bytes_rpc_spec: &'fact [u8]) -> Result { let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&bytes_rpc_spec[2..21], SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut offset: usize = 21; let name_len = read_u16(bytes_rpc_spec, offset); let name_addr = NP_Str_Addr { idx: offset + 2, len: name_len }; offset += 2 + name_len; let author_len = read_u16(bytes_rpc_spec, offset); let author_addr = NP_Str_Addr { idx: offset + 2, len: author_len }; offset += 2 + author_len; // now at begnning of messages let end_of_messages = read_u16(bytes_rpc_spec, 0); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Borrwed(bytes_rpc_spec), spec_msg_hash: NP_HashMap::empty() }; let read_bytes = spec.bytes.read(); while offset < end_of_messages { let schema_len = read_u16(bytes_rpc_spec, offset); offset += 2; // we're bypassing rust's lifetime system here // it's safe because the spec.bytes will live as long as the RPC_Factory which will live as long as this spec object // also the spec.bytes is treated as immutable, it won't be modified in any way so shouldn't be moved around in memory spec.specs.push(NP_RPC_Spec::MSG { factory: NP_Factory::new_compiled_ptr(&spec.bytes.read()[offset..(offset + schema_len)] as *const [u8]) }); offset += schema_len; } // messages are now parsed, time for RPC methods offset = end_of_messages; let mut method_hash: NP_HashMap = NP_HashMap::new(); while offset < read_bytes.len() { let name_len = read_u16(bytes_rpc_spec, offset); offset += 2; let full_name = NP_Str_Addr { idx: offset, len: name_len }; offset += name_len; let fn_kind = RPC_Fn_Kinds::from(read_bytes[offset]); offset += 1; let arg_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let result_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let err_addr = if fn_kind == RPC_Fn_Kinds::result { let addr = read_u16(bytes_rpc_spec, offset); offset += 2; addr } else { 0 }; method_hash.insert(spec.read_str(&full_name), spec.specs.len())?; spec.specs.push(NP_RPC_Spec::RPC { full_name: full_name, arg: if arg_addr == 0 { None } else { Some(arg_addr - 1) }, result: if result_addr == 0 { None } else { Some(result_addr - 1) }, err: if err_addr == 0 { None } else { Some(err_addr - 1) }, kind: fn_kind }); } // methods are now parsed Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_compiled(&[0u8]) }) } /// Get a copy of the compiled byte array specification /// /// The compiled byte array is *much* faster to parse and takes up *much* less space. /// /// If you don't need the verbosity of the JSON spec, use this instead. /// pub fn compile_spec(&self) -> &[u8] { self.spec.bytes.read() } /// Generate a new request object for a given rpc function /// pub fn new_request(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, arg, .. } => { return Ok(NP_RPC_Request { rpc_addr: *idx, spec: &self.spec, rpc: *full_name, empty: self.empty.empty_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.empty_buffer(None), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.empty_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find request.")) } }, None => Err(NP_Error::new("Cannot find request.")) } } /// Open a request. The request spec and version must match the current spec and version of this factory. /// pub fn open_request(&self, bytes: Vec) -> Result { // first 19 bytes are id + version let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Request => { }, _ => return Err(NP_Error::new("Attempted to open non request buffer with request method.")) }; match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, arg, .. } => { Ok(NP_RPC_Request { rpc_addr, spec: &self.spec, rpc: *full_name, empty: self.empty.empty_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[7..].to_vec()), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.empty_buffer(None) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } /// Generate a new response object for a given rpc function /// pub fn new_response(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: *idx, rpc: *full_name, spec: &self.spec, kind: NP_ResponseKinds::None, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.empty_buffer(None), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.empty_buffer(None) }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.empty_buffer(None), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.empty_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find response!")) } }, None => Err(NP_Error::new("Cannot find response!")) } } /// Open a response. The response spec and version must match the current spec and version of this factory. /// pub fn open_response(&self, bytes: Vec) -> Result { // first 4 bytes are id hash (version + uuid) let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Response => { }, _ => return Err(NP_Error::new("Attempted to open non response buffer with response method.")) }; match NP_ResponseKinds::from(bytes[7]) { NP_ResponseKinds::None => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::None, has_err: *err != Option::None, spec: &self.spec, rpc: *full_name, data: self.empty.empty_buffer(None), error: self.empty.empty_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Ok => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Ok, has_err: *err != Option::None, rpc: *full_name, spec: &self.spec, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.empty_buffer(None) }, error: self.empty.empty_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Error => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Error, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: self.empty.empty_buffer(None), error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::new("unreachable")) } }, None => return Err(NP_Error::new("Got error result on RPC method with no error type.")) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } } } } /// The different kinds of responses #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[repr(u8)] pub enum NP_ResponseKinds { /// Ok response is the default Ok, /// Response contains an error Error, /// Response doesn't contain a value None } impl From for NP_ResponseKinds { fn from(value: u8) -> Self { if value > 2 { return NP_ResponseKinds::Ok; } unsafe { core::mem::transmute(value) } } } #[derive(Debug)] #[repr(u8)] #[allow(missing_docs)] #[doc(hidden)] pub enum RPC_Type { None, Request, Response } impl From for RPC_Type { fn from(value: u8) -> Self { if value > 2 { return RPC_Type::None; } unsafe { core::mem::transmute(value) } } } /// RPC Request object pub struct NP_RPC_Request<'request> { /// the address for this rcp message rpc_addr: usize, /// Parent spec object spec: &'request NP_RPC_Specification<'request>, /// the name of the rpc function rpc: NP_Str_Addr, /// the request data pub data: NP_Buffer<'request>, empty: NP_Buffer<'request> } impl<'request> NP_RPC_Request<'request> { /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Get empty response for this request pub fn new_response(&self) -> Result { match &self.spec.specs[self.rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: self.rpc_addr, kind: NP_ResponseKinds::None, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.empty_buffer(None), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.clone() }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.empty_buffer(None), _ => return Err(NP_Error::new("unreachable")) } }, None => self.empty.clone() } }) }, _ => { } }; Err(NP_Error::new("Response not found!")) } /// Close this request and get bytes pub fn rpc_close(self) -> Vec { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 3); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Request as u8); response_bytes.extend(self.data.close()); response_bytes } } /// RPC Response object pub struct NP_RPC_Response<'response> { /// the address for this rpc message rpc_addr: usize, /// error message is set has_err: bool, /// what kind of response is this? pub kind: NP_ResponseKinds, /// the name of the rpc function rpc: NP_Str_Addr, spec: &'response NP_RPC_Specification<'response> , /// the data of this response pub data: NP_Buffer<'response>, /// if this is an error, the error data pub error: NP_Buffer<'response> } impl<'request> NP_RPC_Response<'request> { /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Close this response /// /// The only failure condition is if you set the `kind` to `NP_ResponseKinds::Error` but didn't have an error type declared in the rpc method. /// pub fn rpc_close(self) -> Result, NP_Error> { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 4); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Response as u8); response_bytes.push(self.kind as u8); match &self.kind { NP_ResponseKinds::Ok => { response_bytes.extend(self.data.close()); }, NP_ResponseKinds::None => { }, NP_ResponseKinds::Error => { if self.has_err { response_bytes.extend(self.error.close()); } else { return Err(NP_Error::new("Attempted to close response as error type without error message defined in rpc method.")) } } } Ok(response_bytes) } } #[test] fn rpc_test() -> Result<(), NP_Error> { let rpc_factory = NP_RPC_Factory::new(r#"{ "name": "test api", "description": "", "author": "Jeb Kermin", "id": "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F", "version": "1.2.3", "spec": [ {"msg": "Error", "type": "string" }, {"msg": "Count", "type": "u32" }, {"rpc": "get_count", "fn": "() -> self::Count"}, {"mod": "user", "spec": [ {"msg": "username", "type": "string"}, {"msg": "user_id", "type": "u32"}, {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, ]} ] }"#)?; // checks that compiled byte specs work assert_eq!(rpc_factory.compile_spec().len(), 128); // JSON schema above is 467 bytes without whitespace let rpc_factory = NP_RPC_Factory::new_compiled(&rpc_factory.compile_spec())?; assert_eq!(rpc_factory.get_name(), "test api"); assert_eq!(rpc_factory.get_author(), "Jeb Kermin"); assert_eq!(rpc_factory.get_id(), "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F"); assert_eq!(rpc_factory.get_version(), "1.2.3"); // === CLIENT === // generate request let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; // close request let count_req_bytes: Vec = get_count.rpc_close(); assert_eq!(count_req_bytes.len(), 10); // === SEND count_req_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; assert_eq!(a_request.rpc_name(), "get_count"); // generate a response let mut count_response: NP_RPC_Response = a_request.new_response()?; // set response data count_response.data.set(&[], 20u32)?; // set response kind count_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = count_response.rpc_close()?; assert_eq!(respond_bytes.len(), 15); // === SEND respond_bytes to CLIENT ==== // === CLIENT === let count_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(count_response.rpc_name(), "get_count"); // confirm that we got data in the response assert_eq!(count_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data the server sent assert_eq!(count_response.data.get(&[])?, Some(20u32)); // Now do a result request with error // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.error.set(&[], "Can't find user.")?; del_response.kind = NP_ResponseKinds::Error; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm we recieved error response assert_eq!(del_response.kind, NP_ResponseKinds::Error); // get the error information assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); // Now do a result request with an ok return // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with an ok return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as ok with data del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with a none return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as none del_response.kind = NP_ResponseKinds::None; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::None); // with NONE response there is no data Ok(()) } ================================================ FILE: no_proto_js/src/schema.rs ================================================ //! Schemas are JSON used to declare the shape of buffer objects //! //! No Proto Schemas are JSON objects that describe how the data in a buffer is stored and what types of data is stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it. //! //! Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema. //! //! Schemas are validated and sanity checked upon creation. You cannot pass an invalid schema into a factory constructor and build/parse buffers with it. //! //! Properties that are not part of the schema are ignored. //! //! If you're familiar with Typescript, schemas can be described by this recursive interface: //! ```typescript //! interface NP_Schema { //! // table, string, bytes, etc //! type: string; //! //! // used by string & bytes types //! size?: number; //! //! // used by decimal type, the number of decimal places every value has //! exp?: number; //! //! // used by tuple to indicite bytewise sorting of children //! sorted?: boolean; //! //! // used by list types //! of?: NP_Schema //! //! // used by map types //! value?: NP_Schema //! //! // used by tuple types //! values?: NP_Schema[] //! //! // used by table types //! columns?: [string, NP_Schema][] //! //! // used by option/enum types //! choices?: string[]; //! //! // default value for this item //! default?: any; //! } //! ``` //! //! Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string: //! ```json //! { //! "type": "string" //! } //! ``` //! //! However, you will likely want to store more complicated objects, so that's easy to do as well. //! ```json //! { //! "type": "table", //! "columns": [ //! ["userID", {"type": "string"}], // userID column contains a string //! ["password", {"type": "string"}], // password column contains a string //! ["email", {"type": "string"}], // email column contains a string //! ["age", {"type": "u8"}] // age column contains a Uint8 number (0 - 255) //! ] //! } //! ``` //! //! There are multiple collection types, and they can be nested. //! //! For example, this is a list of tables. Every item in the list is a table with two columns: id and title. Both columns are a string type. //! ```json //! { //! "type": "list", //! "of": { //! "type": "table", //! "columns": [ //! ["id", {type: "string"}] //! ["title", {type: "string"}] //! ] //! } //! } //! ``` //! You can nest collections as much and however you'd like. Nesting is only limited by the address space of the buffer, so go crazy. //! //! A list of strings is just as easy... //! //! ```json //! { //! "type": "list", //! "of": { type: "string" } //! } //! ``` //! //! Each type has trade offs associated with it. The table and documentation below go into further detail. //! //! ## Supported Data Types //! //! | Type | Rust Type / Struct |Bytewise Sorting | Bytes (Size) | Limits / Notes | //! |----------------------------------------|--------------------------------------------------------------------------|------------------|----------------|--------------------------------------------------------------------------| //! | [`table`](#table) | [`NP_Table`](../collection/table/struct.NP_Table.html) |𐄂 | 2 bytes - ~4GB | Linked list with indexed keys that map against up to 255 named columns. | //! | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) |𐄂 | 4 bytes - ~4GB | Linked list with integer indexed values and up to 65,535 items. | //! | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) |𐄂 | 2 bytes - ~4GB | Linked list with `Vec` keys. | //! | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) |✓ * | 2 bytes - ~4GB | Static sized collection of specific values. | //! | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) |𐄂 | 2 bytes - ~4GB | Generic type. | //! | [`string`](#string) | [`String`](../pointer/string/index.html) |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. | //! | [`bytes`](#bytes) | [`NP_Bytes`](../pointer/bytes/struct.NP_Bytes.html) |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. | //! | [`int8`](#int8-int16-int32-int64) | [`i8`](../pointer/numbers/index.html) |✓ | 1 byte | -127 to 127 | //! | [`int16`](#int8-int16-int32-int64) | [`i16`](../pointer/numbers/index.html) |✓ | 2 bytes | -32,768 to 32,768 | //! | [`int32`](#int8-int16-int32-int64) | [`i32`](../pointer/numbers/index.html) |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 | //! | [`int64`](#int8-int16-int32-int64) | [`i64`](../pointer/numbers/index.html) |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 | //! | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](../pointer/numbers/index.html) |✓ | 1 byte | 0 - 255 | //! | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](../pointer/numbers/index.html) |✓ | 2 bytes | 0 - 65,535 | //! | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](../pointer/numbers/index.html) |✓ | 4 bytes | 0 - 4,294,967,295 | //! | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](../pointer/numbers/index.html) |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 | //! | [`float`](#float-double) | [`f32`](../pointer/numbers/index.html) |𐄂 | 4 bytes | -3.4e38 to 3.4e38 | //! | [`double`](#float-double) | [`f64`](../pointer/numbers/index.html) |𐄂 | 8 bytes | -1.7e308 to 1.7e308 | //! | [`option`](#option) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) |✓ | 1 byte | Up to 255 string based options in schema. | //! | [`bool`](#bool) | [`bool`](../pointer/bool/index.html) |✓ | 1 byte | | //! | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) |✓ | 8 bytes | Fixed point decimal number based on i64. | //! | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate | //! | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate | //! | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate | //! | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) |✓ | 16 bytes | 6 bytes for the timestamp, 10 bytes of randomness. | //! | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs | //! | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 | //! //! - \* `sorting` must be set to `true` in the schema for this object to enable sorting. //! - \*\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema //! //! # Legend //! //! **Bytewise Sorting**
//! Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases. //! //! Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose. //! //! You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical. //! //! **Compaction**
//! Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided. //! //! Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence. //! //! Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options. //! //! Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space. //! //! - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact) //! //! **Schema Mutations**
//! Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction. //! //! There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe. //! //! Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`. //! //! # Schema Types //! //! Every schema type maps exactly to a native data type in your code. //! //! ## table //! Tables represnt a fixed number of named columns, with each column having it's own data type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Columns without values will be removed from the buffer durring compaction. If a column never had a value set it's using *zero* space in the buffer. //! - **Schema Mutations**: The ordering of items in the `columns` property must always remain the same. It's safe to add new columns to the bottom of the column list or rename columns, but never to remove columns. Column types cannot be changed safely. If you need to depreciate a column, set it's name to an empty string. //! //! Table schemas have a single required property called `columns`. The `columns` property is an array of arrays that represent all possible columns in the table and their data types. Any type can be used in columns, including other tables. Tables cannot have more than 255 columns, and the colum names cannot be longer than 255 UTF8 bytes. //! //! Tables do not store the column names in the buffer, only the column index, so this is a very efficient way to store associated data. //! //! If you need flexible column names use a `map` type instead. //! //! ```json //! { //! "type": "table", //! "columns": [ // can have between 1 and 255 columns //! ["column name", {"type": "data type for this column"}], //! ["name", {"type": "string"}], //! ["tags", {"type": "list", "of": { // nested list of strings //! "type": "string" //! }}], //! ["age", {"type": "u8"}], // Uint8 number //! ["meta", {"type": "table", columns: [ // nested table //! ["favorite_color", {"type": "string"}], //! ["favorite_sport", {"type": "string"}] //! ]}] //! ] //! } //! ``` //! //! ## list //! Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space. //! - **Schema Mutations**: None //! //! Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. //! //! The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list. //! //! ```json //! // a list of list of strings //! { //! "type": "list", //! "of": { //! "type": "list", //! "of": {"type": "string"} //! } //! } //! //! // list of numbers //! { //! "type": "list", //! "of": {"type": "int32"} //! } //! ``` //! //! //! ## map //! A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Keys without values are removed from the buffer //! - **Schema Mutations**: None //! //! Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map. //! //! If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. //! //! The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values. //! //! ```json //! // a map where every value is a string //! { //! "type": "map", //! "value": { //! "type": "string" //! } //! } //! ``` //! //! //! ## tuple //! A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items. //! //! - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`. //! - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated. //! - **Schema Mutations**: If `sorted` is true, none. Otherwise adding new values to the end of the `values` schema property is safe. //! //! Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples. //! //! **Sorting**
//! You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size. //! //! When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size. //! //! ```json //! { //! "type": "tuple", //! "values": [ //! {"type": "string"}, //! {"type": "list", "of": {"type": "strings"}}, //! {"type": "uint64"} //! ] //! } //! //! // tuple for bytewise sorting //! { //! "type": "tuple", //! "sorted": true, //! "values": [ //! {"type": "string", "size": 25}, //! {"type": "uint8"}, //! {"type": "int64"} //! ] //! } //! ``` //! //! //! //! ## string //! A string is a fixed or dynamically sized collection of utf-8 encoded bytes. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing string values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size strings in your buffers. If a provided string is larger than the `size` property it will be truncated. Smaller strings will be padded with white space. //! //! ```json //! { //! "type": "string" //! } //! // fixed size //! { //! "type": "string", //! "size": 20 //! } //! // with default value //! { //! "type": "string", //! "default": "Default string value" //! } //! ``` //! //! More Details: //! - [Using String data type](../pointer/string/index.html) //! //! ## bytes //! Bytes are fixed or dynimcally sized Vec collections. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing bytes values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size `&[u8]` in your buffers. If a provided byte slice is larger than the `size` property it will be truncated. Smaller byte slices will be padded with zeros. //! //! ```json //! { //! "type": "bytes" //! } //! // fixed size //! { //! "type": "bytes", //! "size": 20 //! } //! // with default value //! { //! "type": "bytes", //! "default": [1, 2, 3, 4] //! } //! ``` //! //! More Details: //! - [Using NP_Bytes data type](../pointer/bytes/struct.NP_Bytes.html) //! //! ## int8, int16, int32, int64 //! Signed integers allow positive or negative whole numbers to be stored. The bytes are stored in big endian format and converted to unsigned types to allow bytewise sorting. //! //! ```json //! { //! "type": "int8" //! } //! // with default value //! { //! "type": "int8", //! "default": 20 //! } //! ``` //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## uint8, uint16, uint32, uint64 //! Unsgined integers allow only positive whole numbers to be stored. The bytes are stored in big endian format to allow bytewise sorting. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "uint8" //! } //! // with default value //! { //! "type": "uint8", //! "default": 20 //! } //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## float, double //! Allows the storage of floating point numbers of various sizes. Bytes are stored in big endian format. //! //! - **Bytewise Sorting**: Unsupported, use decimal type. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "float" //! } //! // with default value //! { //! "type": "float", //! "default": 20.283 //! } //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## option //! Allows efficeint storage of a selection between a known collection of ordered strings. The selection is stored as a single u8 byte, limiting the max number of choices to 255. Also the choices themselves cannot be longer than 255 UTF8 bytes each. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: You can safely add new choices to the end of the list or update the existing choices in place. If you need to delete a choice, just make it an empty string. Changing the order of the choices is destructive as this type only stores the index of the choice it's set to. //! //! There is one required property of this schema called `choices`. The property should contain an array of strings that represent all possible choices of the option. //! //! ```json //! { //! "type": "option", //! "choices": ["choice 1", "choice 2", "etc"] //! } //! // with default value //! { //! "type": "option", //! "choices": ["choice 1", "choice 2", "etc"], //! "default": "etc" //! } //! ``` //! //! More Details: //! - [Using NP_Enum data type](../pointer/option/struct.NP_Enum.html) //! //! ## bool //! Allows efficent storage of a true or false value. The value is stored as a single byte that is set to either 1 or 0. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "bool" //! } //! // with default value //! { //! "type": "bool", //! "default": false //! } //! ``` //! //! More Details: //! //! ## decimal //! Allows you to store fixed point decimal numbers. The number of decimal places must be declared in the schema as `exp` property and will be used for every value. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! There is a single required property called `exp` that represents the number of decimal points every value will have. //! //! ```json //! { //! "type": "decimal", //! "exp": 3 //! } //! // with default value //! { //! "type": "decimal", //! "exp": 3, //! "default": 20.293 //! } //! ``` //! //! More Details: //! - [Using NP_Dec data type](../pointer/dec/struct.NP_Dec.html) //! //! ## geo4, ge8, geo16 //! Allows you to store geographic coordinates with varying levels of accuracy and space usage. //! //! - **Bytewise Sorting**: Not supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! Larger geo values take up more space, but allow greater resolution. //! //! | Type | Bytes | Earth Resolution | Decimal Places | //! |-------|-------|----------------------------------------|----------------| //! | geo4 | 4 | 1.1km resolution (city) | 2 | //! | geo8 | 8 | 11mm resolution (marble) | 7 | //! | geo16 | 16 | 110 microns resolution (grain of sand) | 9 | //! //! ```json //! { //! "type": "geo4" //! } //! // with default //! { //! "type": "geo4", //! "default": {"lat": -20.283, "lng": 19.929} //! } //! ``` //! //! More Details: //! - [Using NP_Geo data type](../pointer/geo/struct.NP_Geo.html) //! //! ## ulid //! Allows you to store a unique ID with a timestamp. The timestamp is stored in milliseconds since the unix epoch. //! //! - **Bytewise Sorting**: Supported, orders by timestamp. Order is random if timestamp is identical between two values. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "ulid" //! } //! // no default supported //! ``` //! //! More Details: //! - [Using NP_ULID data type](../pointer/ulid/struct.NP_ULID.html) //! //! ## uuid //! Allows you to store a universally unique ID. //! //! - **Bytewise Sorting**: Supported, but values are random //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "uuid" //! } //! // no default supported //! ``` //! //! More Details: //! - [Using NP_UUID data type](../pointer/uuid/struct.NP_UUID.html) //! //! ## date //! Allows you to store a timestamp as a u64 value. This is just a thin wrapper around the u64 type. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```json //! { //! "type": "date" //! } //! // with default value (default should be in ms) //! { //! "type": "date", //! "default": 1605909163951 //! } //! ``` //! //! More Details: //! - [Using NP_Date data type](../pointer/date/struct.NP_Date.html) //! //! //! ## Next Step //! //! Read about how to initialize a schema into a NoProto Factory. //! //! [Go to NP_Factory docs](../struct.NP_Factory.html) //! use alloc::string::String; use core::{fmt::Debug}; use crate::{json_flex::NP_JSON, pointer::{string::NP_String, ulid::_NP_ULID, uuid::_NP_UUID}}; use crate::pointer::any::NP_Any; use crate::pointer::date::NP_Date; use crate::pointer::geo::NP_Geo; use crate::pointer::dec::NP_Dec; // use crate::collection::tuple::NP_Tuple; use crate::pointer::bytes::NP_Bytes; // use crate::collection::{list::NP_List, table::NP_Table, map::NP_Map}; use crate::pointer::{option::NP_Enum, NP_Value}; use crate::error::NP_Error; use alloc::vec::Vec; use alloc::boxed::Box; /// Simple enum to store the schema types #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[allow(missing_docs)] pub enum NP_TypeKeys { None = 0, Any = 1, UTF8String = 2, Bytes = 3, Int8 = 4, Int16 = 5, Int32 = 6, Int64 = 7, Uint8 = 8, Uint16 = 9, Uint32 = 10, Uint64 = 11, Float = 12, Double = 13, Decimal = 14, Boolean = 15, Geo = 16, Uuid = 17, Ulid = 18, Date = 19, Enum = 20, Table = 21, Map = 22, List = 23, Tuple = 24 } impl From for NP_TypeKeys { fn from(value: u8) -> Self { if value > 24 { return NP_TypeKeys::None; } unsafe { core::mem::transmute(value) } } } impl NP_TypeKeys { /// Convert this NP_TypeKey into a specific type index pub fn into_type_idx<'idx>(&self) -> (&'idx str, NP_TypeKeys) { // match self { // NP_TypeKeys::None => { ("none", NP_TypeKeys::None) } // NP_TypeKeys::Any => { NP_Any::type_idx() } // NP_TypeKeys::UTF8String => { NP_String::type_idx() } // NP_TypeKeys::Bytes => { NP_Bytes::type_idx() } // NP_TypeKeys::Int8 => { i8::type_idx() } // NP_TypeKeys::Int16 => { i16::type_idx() } // NP_TypeKeys::Int32 => { i32::type_idx() } // NP_TypeKeys::Int64 => { i64::type_idx() } // NP_TypeKeys::Uint8 => { u8::type_idx() } // NP_TypeKeys::Uint16 => { u16::type_idx() } // NP_TypeKeys::Uint32 => { u32::type_idx() } // NP_TypeKeys::Uint64 => { u64::type_idx() } // NP_TypeKeys::Float => { f32::type_idx() } // NP_TypeKeys::Double => { f64::type_idx() } // NP_TypeKeys::Decimal => { NP_Dec::type_idx() } // NP_TypeKeys::Boolean => { bool::type_idx() } // NP_TypeKeys::Geo => { NP_Geo::type_idx() } // NP_TypeKeys::Uuid => { _NP_UUID::type_idx() } // NP_TypeKeys::Ulid => { _NP_ULID::type_idx() } // NP_TypeKeys::Date => { NP_Date::type_idx() } // NP_TypeKeys::Enum => { NP_Enum::type_idx() } // NP_TypeKeys::Table => { NP_Table::type_idx() } // NP_TypeKeys::Map => { NP_Map::type_idx() } // NP_TypeKeys::List => { NP_List::type_idx() } // NP_TypeKeys::Tuple => { NP_Tuple::type_idx() } // } panic!() } } /// Schema Address (usize alias) pub type NP_Schema_Addr = usize; #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[allow(missing_docs)] pub enum String_Case { None = 0, Lowercase = 1, Uppercase = 2, } impl From for String_Case { fn from(value: u8) -> Self { if value > 2 { return String_Case::None; } unsafe { core::mem::transmute(value) } } } /// When a schema is parsed from JSON or Bytes, it is stored in this recursive type /// #[allow(missing_docs)] #[derive(Debug, Clone)] pub enum NP_Parsed_Schema { None, Any { sortable: bool, i:NP_TypeKeys }, UTF8String { sortable: bool, i:NP_TypeKeys, default: Option, size: u16, case: String_Case }, Bytes { sortable: bool, i:NP_TypeKeys, default: Option>, size: u16 }, Int8 { sortable: bool, i:NP_TypeKeys, default: Option }, Int16 { sortable: bool, i:NP_TypeKeys, default: Option }, Int32 { sortable: bool, i:NP_TypeKeys, default: Option }, Int64 { sortable: bool, i:NP_TypeKeys, default: Option }, Uint8 { sortable: bool, i:NP_TypeKeys, default: Option }, Uint16 { sortable: bool, i:NP_TypeKeys, default: Option }, Uint32 { sortable: bool, i:NP_TypeKeys, default: Option }, Uint64 { sortable: bool, i:NP_TypeKeys, default: Option }, Float { sortable: bool, i:NP_TypeKeys, default: Option }, Double { sortable: bool, i:NP_TypeKeys, default: Option }, Decimal { sortable: bool, i:NP_TypeKeys, default: Option, exp: u8 }, Boolean { sortable: bool, i:NP_TypeKeys, default: Option }, Geo { sortable: bool, i:NP_TypeKeys, default: Option, size: u8 }, Date { sortable: bool, i:NP_TypeKeys, default: Option }, Enum { sortable: bool, i:NP_TypeKeys, default: Option, choices: Vec }, Uuid { sortable: bool, i:NP_TypeKeys }, Ulid { sortable: bool, i:NP_TypeKeys }, Table { sortable: bool, i:NP_TypeKeys, columns: Vec<(u8, String, NP_Schema_Addr)> }, Map { sortable: bool, i:NP_TypeKeys, value: NP_Schema_Addr}, List { sortable: bool, i:NP_TypeKeys, of: NP_Schema_Addr }, Tuple { sortable: bool, i:NP_TypeKeys, values: Vec} } impl NP_Parsed_Schema { /// Get the type key for this schema pub fn get_type_key(&self) -> &NP_TypeKeys { match self { NP_Parsed_Schema::None => { &NP_TypeKeys::None } NP_Parsed_Schema::Any { i, .. } => { i } NP_Parsed_Schema::UTF8String { i, .. } => { i } NP_Parsed_Schema::Bytes { i, .. } => { i } NP_Parsed_Schema::Int8 { i, .. } => { i } NP_Parsed_Schema::Int16 { i, .. } => { i } NP_Parsed_Schema::Int32 { i, .. } => { i } NP_Parsed_Schema::Int64 { i, .. } => { i } NP_Parsed_Schema::Uint8 { i, .. } => { i } NP_Parsed_Schema::Uint16 { i, .. } => { i } NP_Parsed_Schema::Uint32 { i, .. } => { i } NP_Parsed_Schema::Uint64 { i, .. } => { i } NP_Parsed_Schema::Float { i, .. } => { i } NP_Parsed_Schema::Double { i, .. } => { i } NP_Parsed_Schema::Decimal { i, .. } => { i } NP_Parsed_Schema::Boolean { i, .. } => { i } NP_Parsed_Schema::Geo { i, .. } => { i } NP_Parsed_Schema::Uuid { i, .. } => { i } NP_Parsed_Schema::Ulid { i, .. } => { i } NP_Parsed_Schema::Date { i, .. } => { i } NP_Parsed_Schema::Enum { i, .. } => { i } NP_Parsed_Schema::Table { i, .. } => { i } NP_Parsed_Schema::Map { i, .. } => { i } NP_Parsed_Schema::List { i, .. } => { i } NP_Parsed_Schema::Tuple { i, .. } => { i } } } /// Get the type data fo a given schema value pub fn get_type_data(&self) -> (&str, NP_TypeKeys) { match self { NP_Parsed_Schema::None => ("", NP_TypeKeys::None), NP_Parsed_Schema::Any { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::UTF8String { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Bytes { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Int8 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Int16 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Int32 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Int64 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Uint8 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Uint16 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Uint32 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Uint64 { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Float { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Double { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Decimal { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Boolean { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Geo { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Uuid { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Ulid { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Date { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Enum { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Table { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Map { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::List { i, .. } => { i.into_type_idx() } NP_Parsed_Schema::Tuple { i, .. } => { i.into_type_idx() } } } /// Return if this schema is sortable pub fn is_sortable(&self) -> bool { match self { NP_Parsed_Schema::None => false, NP_Parsed_Schema::Any { sortable, .. } => { *sortable } NP_Parsed_Schema::UTF8String { sortable, .. } => { *sortable } NP_Parsed_Schema::Bytes { sortable, .. } => { *sortable } NP_Parsed_Schema::Int8 { sortable, .. } => { *sortable } NP_Parsed_Schema::Int16 { sortable, .. } => { *sortable } NP_Parsed_Schema::Int32 { sortable, .. } => { *sortable } NP_Parsed_Schema::Int64 { sortable, .. } => { *sortable } NP_Parsed_Schema::Uint8 { sortable, .. } => { *sortable } NP_Parsed_Schema::Uint16 { sortable, .. } => { *sortable } NP_Parsed_Schema::Uint32 { sortable, .. } => { *sortable } NP_Parsed_Schema::Uint64 { sortable, .. } => { *sortable } NP_Parsed_Schema::Float { sortable, .. } => { *sortable } NP_Parsed_Schema::Double { sortable, .. } => { *sortable } NP_Parsed_Schema::Decimal { sortable, .. } => { *sortable } NP_Parsed_Schema::Boolean { sortable, .. } => { *sortable } NP_Parsed_Schema::Geo { sortable, .. } => { *sortable } NP_Parsed_Schema::Uuid { sortable, .. } => { *sortable } NP_Parsed_Schema::Ulid { sortable, .. } => { *sortable } NP_Parsed_Schema::Date { sortable, .. } => { *sortable } NP_Parsed_Schema::Enum { sortable, .. } => { *sortable } NP_Parsed_Schema::Table { sortable, .. } => { *sortable } NP_Parsed_Schema::Map { sortable, .. } => { *sortable } NP_Parsed_Schema::List { sortable, .. } => { *sortable } NP_Parsed_Schema::Tuple { sortable, .. } => { *sortable } } } } /// New NP Schema #[doc(hidden)] #[derive(Debug)] pub struct NP_Schema { /// is this schema sortable? pub is_sortable: bool, /// recursive parsed schema pub parsed: Vec } impl NP_Schema { /// Get a JSON represenatation of this schema pub fn to_json(&self) -> Result { NP_Schema::_type_to_json(&self.parsed, 0) } /// Recursive function parse schema into JSON #[doc(hidden)] pub fn _type_to_json(parsed_schema: &Vec, address: usize) -> Result { match parsed_schema[address] { NP_Parsed_Schema::Any { .. } => { NP_Any::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::UTF8String { .. } => { NP_String::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Bytes { .. } => { NP_Bytes::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Int8 { .. } => { i8::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Int16 { .. } => { i16::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Int32 { .. } => { i32::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Int64 { .. } => { i64::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Uint8 { .. } => { u8::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Uint16 { .. } => { u16::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Uint32 { .. } => { u32::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Uint64 { .. } => { u64::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Float { .. } => { f32::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Double { .. } => { f64::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Decimal { .. } => { NP_Dec::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Boolean { .. } => { bool::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Geo { .. } => { NP_Geo::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Uuid { .. } => { _NP_UUID::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Ulid { .. } => { _NP_ULID::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Date { .. } => { NP_Date::schema_to_json(parsed_schema, address) } NP_Parsed_Schema::Enum { .. } => { NP_Enum::schema_to_json(parsed_schema, address) } // NP_Parsed_Schema::Table { .. } => { NP_Table::schema_to_json(parsed_schema, address) } // NP_Parsed_Schema::Map { .. } => { NP_Map::schema_to_json(parsed_schema, address) } // NP_Parsed_Schema::List { .. } => { NP_List::schema_to_json(parsed_schema, address) } // NP_Parsed_Schema::Tuple { .. } => { NP_Tuple::schema_to_json(parsed_schema, address) } _ => { Ok(NP_JSON::Null) } } } /// Get type string for this schema #[doc(hidden)] pub fn _get_type(json_schema: &Box) -> Result { match &json_schema["type"] { NP_JSON::String(x) => { Ok(x.clone()) }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } /// Parse a schema out of schema bytes pub fn from_bytes(mut cache: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let this_type = NP_TypeKeys::from(bytes[address]); match this_type { NP_TypeKeys::None => { cache.push(NP_Parsed_Schema::None); (false, cache) } NP_TypeKeys::Any => { NP_Any::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::UTF8String => { NP_String::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Bytes => { NP_Bytes::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int8 => { i8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int16 => { i16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int32 => { i32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int64 => { i64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint8 => { u8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint16 => { u16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint32 => { u32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint64 => { u64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Float => { f32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Double => { f64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Decimal => { NP_Dec::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Boolean => { bool::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Geo => { NP_Geo::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uuid => { _NP_UUID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Ulid => { _NP_ULID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Date => { NP_Date::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Enum => { NP_Enum::from_bytes_to_schema(cache, address, bytes) } _ => panic!() // NP_TypeKeys::Table => { NP_Table::from_bytes_to_schema(cache, address, bytes) } // NP_TypeKeys::Map => { NP_Map::from_bytes_to_schema(cache, address, bytes) } // NP_TypeKeys::List => { NP_List::from_bytes_to_schema(cache, address, bytes) } // NP_TypeKeys::Tuple => { NP_Tuple::from_bytes_to_schema(cache, address, bytes) } } } /// Parse schema from JSON object /// /// Given a valid JSON schema, parse and validate, then provide a compiled byte schema. /// /// If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick. pub fn from_json(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { match &json_schema["type"] { NP_JSON::String(x) => { match x.as_str() { "any" => { NP_Any::from_json_to_schema(schema, &json_schema) }, "str" => { NP_String::from_json_to_schema(schema, &json_schema) }, // "string" => { NP_String::from_json_to_schema(schema, &json_schema) }, // "utf8" => { NP_String::from_json_to_schema(schema, &json_schema) }, // "utf-8" => { NP_String::from_json_to_schema(schema, &json_schema) }, // "bytes" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, // "u8[]" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, // "[u8]" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, // "i8" => { i8::from_json_to_schema(schema, &json_schema) }, // "int8" => { i8::from_json_to_schema(schema, &json_schema) }, // "i16" => { i16::from_json_to_schema(schema, &json_schema) }, // "int16" => { i16::from_json_to_schema(schema, &json_schema) }, // "i32" => { i32::from_json_to_schema(schema, &json_schema) }, // "int32" => { i32::from_json_to_schema(schema, &json_schema) }, // "i64" => { i64::from_json_to_schema(schema, &json_schema) }, // "int64" => { i64::from_json_to_schema(schema, &json_schema) }, // "u8" => { u8::from_json_to_schema(schema, &json_schema) }, // "uint8" => { u8::from_json_to_schema(schema, &json_schema) }, // "u16" => { u16::from_json_to_schema(schema, &json_schema) }, // "uint16" => { u16::from_json_to_schema(schema, &json_schema) }, // "u32" => { u32::from_json_to_schema(schema, &json_schema) }, // "uint32" => { u32::from_json_to_schema(schema, &json_schema) }, // "u64" => { u64::from_json_to_schema(schema, &json_schema) }, // "uint64" => { u64::from_json_to_schema(schema, &json_schema) }, // "f32" => { f32::from_json_to_schema(schema, &json_schema) }, // "float" => { f32::from_json_to_schema(schema, &json_schema) }, // "f64" => { f64::from_json_to_schema(schema, &json_schema) }, // "double" => { f64::from_json_to_schema(schema, &json_schema) }, // "dec" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, // "decimal" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, // "bool" => { bool::from_json_to_schema(schema, &json_schema) }, // "boolean" => { bool::from_json_to_schema(schema, &json_schema) }, // "geo4" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, // "geo8" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, // "geo16" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, // "uuid" => { _NP_UUID::from_json_to_schema(schema, &json_schema) }, // "ulid" => { _NP_ULID::from_json_to_schema(schema, &json_schema) }, // "date" => { NP_Date::from_json_to_schema(schema, &json_schema) }, // "enum" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, // "option" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, // "table" => { NP_Table::from_json_to_schema(schema, &json_schema) }, // "list" => { NP_List::from_json_to_schema(schema, &json_schema) }, // "map" => { NP_Map::from_json_to_schema(schema, &json_schema) }, // "tuple" => { NP_Tuple::from_json_to_schema(schema, &json_schema) }, _ => { let mut err_msg = String::from("Can't find a type that matches this schema! "); err_msg.push_str(json_schema.stringify().as_str()); return Err(NP_Error::new(err_msg.as_str())) } } }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } } ================================================ FILE: no_proto_js/src/utils.rs ================================================ use core::str; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::vec::Vec; use crate::error::NP_Error; const KX: u32 = 123456789; const KY: u32 = 362436069; const KZ: u32 = 521288629; const KW: u32 = 88675123; #[inline(always)] pub fn to_unsigned(byte: u8) -> u8 { if byte >= 128 { byte - 128 } else { byte + 128 } } #[inline(always)] pub fn to_signed(byte: u8) -> u8 { if byte < 128 { byte + 128 } else { byte - 128 } } pub struct Rand { x: u32, y: u32, z: u32, w: u32 } impl Rand { pub fn new(seed: u32) -> Rand { Rand{ x: KX^seed, y: KY^seed, z: KZ, w: KW } } // Xorshift 128, taken from German Wikipedia pub fn rand(&mut self) -> u32 { let t = self.x^self.x.wrapping_shl(11); self.x = self.y; self.y = self.z; self.z = self.w; self.w ^= self.w.wrapping_shr(19)^t^t.wrapping_shr(8); return self.w; } pub fn gen_range(&mut self, a: i32, b: i32) -> i32 { let m = (b-a+1) as u32; return a+(self.rand()%m) as i32; } } #[inline(always)] pub fn opt_err(optin: Option) -> Result { match optin { Some(x) => Ok(x), None => Err(NP_Error::new("No value found here!")) } } pub fn to_base32(num: u128, length: i32) -> String { let mut result: Vec<&str> = Vec::with_capacity(length as usize); for _x in 0..length { result.push(""); } let base_values: [&str; 32] = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Y", "Z"]; let mut value = num; let i = length - 1; for x in 0..i { let modulus = value % 32; result[(i - x) as usize] = base_values[modulus as usize]; value = (value - modulus) / 32; } let mut final_string: String = "".to_owned(); for x in result { final_string.push_str(x); } final_string } ================================================ FILE: no_proto_rs/.idea/.gitignore ================================================ # Default ignored files /shelf/ /workspace.xml # Editor-based HTTP Client requests /httpRequests/ ================================================ FILE: no_proto_rs/.idea/modules.xml ================================================ ================================================ FILE: no_proto_rs/.idea/no_proto_rs.iml ================================================ ================================================ FILE: no_proto_rs/.idea/vcs.xml ================================================ ================================================ FILE: no_proto_rs/CHANGELOG.md ================================================ # 0.10.0 - All breaking changes, everywhere. The API, schemas and buffers are all new and incompatible with previous versions. - Complete rewrite, ZERO compatibility with versions 0.9.6 and before. - Now supports rust like IDL with generics and impl blocks. - Endian specific compilation to increase performance. # 0.9.6 March 9th, 2021 - Removed lifetimes from NP_Factory and NP_Buffer. - NP_Buffer is no longer generic over memory type. This has a performance cost but makes the API easier to use. # 0.9.51 February 10th, 2021 - Added `Send` to NP_Buffer Memory types. # 0.9.5 February 10th, 2021 - Added `Send` and `Sync` to NP_Schema so NP_Factory would be safe to send across threads. - Added test to make sure NP_Factory is always safe to send across threads in the future. # 0.9.4 February 8th, 2021 - Minor performance improvements. - Switched to 32 bit addresses instead of 16 bit. This is a breaking change, buffers created with previous versions will not open with this version. # 0.9.3 February 7th, 2021 - Tuple types are now packed much tighter but cannot be mutated in schema. But no longer need `close_sortable` and `open_sortable` methods. - Updated open buffer methods and export schema methods to be consistent. - Cleaned up read only buffer semantics, added mutable reference buffer type so mmap will work with NoProto buffers. - Added read only checks on all mutable methods. - Removed explicit read only buffer, the main buffer class handles all memory types generically now. - Added new `set_max_length` method that allows you to limit the maximium size of buffers. - Major performance improvement, around 20% increase in performance from benchmarks. # 0.9.2 January 25, 2021 - Restored `no_std`. - Minor documentation updates. # 0.9.1 January 24, 2021 - Changed "table" type "struct" type. Old code should still work with "table". - `NP_Factory::new` is now `NP_Factory::new_json`. - Added new IDL that is similar to ES6 for schemas (way shorter than JSON). JSON is still supported, though. - Working to stabilize the format and API for 1.0 release. # 0.9.0 January 10, 2021 - Started adding `union` type, isn't fully implmented yet. - Added docs and more tests for `portal` type. - Added packed buffer feature that allows schemas to be included with buffers. - Added `np_path` macro to make it easy to use dot notated strings as path like this: `some.path.here`. - Added `set_from_json` method to allow buffer values to be set with JSON. This enables 100% interop with JSON. - ULID was not printing correctly according to spec, it is now. - Fixed issues with list type loops and inserts. - Added ULID parsing from string. - `json_encode` now always provides valid, parsable JSON. # 0.8.0 January 5, 2021 - Added new recursive data types with new `portal` type. - Compiled schemas were not preserving default values correctly, it is now fixed and tested. - Added benchmarks for Apache Avro and Flexbuffers. # 0.7.4 January 2, 2021 - NP_Geo types no longer allow invalid values to be set into the buffer (outside lat/lng min & max values). - Added new `set_max` and `set_min` buffer methods to make it easer to make range query buffers. - Ran library through Miri, found some possible UB and fixed it. # 0.7.3 December 30, 2020 - Added Prost to benchmarks. - Added documentation for zero-copy usage. - Added Zero copoy and non zero copy implmentations of `String`, `NP_UUID`, `NP_ULID`, and `Vec`. - Added new `get_schema_default` method for getting data types that are setup according to the schema. - Added new `get_schema_type` method for getting the schema type at a specifiic path. # 0.7.2 December 26, 2020 - Added looping limits to prevent DOS attacks with specially made buffers. - Added a bunch of stuff to the readme to help with pros/cons of other libs. - Added bincode to the benchmarks. # 0.7.1 December 22, 2020 - Minor performance improvements. - Fixed some type errors in `XX::max` calls. - Working on `wasm` version of this library. # 0.7.0 December 20, 2020 - Added `open_buffer_ro` method to open buffers as read only. - Moved `NP_Memory` into a trait system to allow read only buffers. - Read only buffers are `Send`, thread safe, and significantly faster to open. - Significant performance improvements in benchmarks. - No longer trading blows with Protocol Buffers, NoProto is measurably faster now. :) # 0.6.3 December 20, 2020 - Restored hashmap code for faster RPC lookups. - Optimized RPC code to reduce allocations. - Implemented compiled RPC byte specs. - RPC now sends hash of id + version instead of the actual id + version (saves 15 bytes on each request). # 0.6.2 December 20, 2020 - Removed hashmap as it didn't help performance enough to justify the extra code/complexity. - Some minor optimizations and code clean up. - Added RPC Capability, API and documentation. - Added `from_string` to UUID. - Updated benchmark format to be more clear. - Fixed some inaccuracies in compare table. # 0.6.1 December 15, 2020 - Restored the first byte for later use. Probably add `u32` address size again in the future. - The format should now be considered stable, won't be making any further changes to it. - Removed all panics, unwraps, and `unreachable_unchecked` calls. - Strings now support `lowercase` and `uppercase` properties in schema. - Added sortable buffer export and import capability. - Cleaned up benchmark formatting a bit. # 0.6.0 December 14, 2020 - Complete rewrite again (twice this time). - There is now only one address size, `u16`, limits buffers to 16kb max size. - Dramatically reduced the cost of reading/updating addresses in buffer. - Lists & maps are now limited to 255 items. - Performance is now comparable to Protocol Buffers, I'm pretty happy about that. # 0.5.1 November 30, 2020 - Forgot to apply `no_std` after debugging in previous release. # 0.5.0 November 30, 2020 - Complete rewrite with major performance improvements. - Optimizations and cleaning code. - More documentation, less noise. - 10 - 15x performance improvements on data inserts # 0.4.2 November 20, 2020 - Optimizations and cleaning code. - More documentation, less noise. # 0.4.1 November 19, 2020 - Docs & Meta update # 0.4.0 November 19, 2020 - Completely reworked loop code for all collections, it's now far faster and more efficient. - Iterating/Traversing over a buffer no longer mutates it. - Added new `to_iter` and `list_push` methods to buffer. - Removed `open` and `extract` methods from buffer, you can no longer access internal pointers directly. - Several other minor optimizations. # 0.3.0 November 11, 2020 - Added lots of tests - Reorganized files a little bit. - Byte schemas are now parsed ahead of time instead of incrementally - Slight adjustment to the schema byte format. - Tuple sorting validation is now more thorough - Cleaned up lots of code. # 0.2.2 November 10, 2020 - Added lots of tests and documentation. - Removed all Rc's from the library. - Added compiled byte schemas & format docs with tests. # 0.1.2 August 26, 2020 - Added lots of tests, fixed a few small bugs. - Added some info to README. # 0.1.1 August 26, 2020 - Added data format documentation. # 0.1.0 August 26, 2020 - Stabilized API - Added macro for numbers data type - Minor optimizations ================================================ FILE: no_proto_rs/Cargo.toml ================================================ [package] name = "no_proto" license = "MIT" version = "0.9.60" description = "Flexible, Fast & Compact Serialization with RPC" homepage = "https://github.com/only-cliches/NoProto" repository = "https://github.com/only-cliches/NoProto" documentation="https://docs.rs/crate/no_proto/" authors = ["Scott Lott "] readme = "README.md" edition = "2018" exclude = [] categories = ["data-structures", "embedded", "encoding", "no-std", "database"] keywords = ["protocol-buffers", "grpc", "avro", "database", "json"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] ================================================ FILE: no_proto_rs/README.md ================================================ ## NoProto: Flexible, Fast & Compact Serialization with RPC [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) ### Features **Lightweight**
- Zero dependencies - `no_std` support, WASM ready - Most compact non compiling storage format **Stable**
- Safely accept untrusted buffers - Passes Miri compiler safety checks - Panic and unwrap free **Easy**
- Extensive Documentation & Testing - Full interop with JSON, Import and Export JSON values - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format **Fast**
- Zero copy deserialization - Most updates are append-only - Deserialization is incremental **Powerful**
- Supports generic data types including `Result` and `Option` - Native byte-wise sorting - Supports recursive data types - Supports most common native data types - Supports collections (list, map, struct & tuple) - Supports arbitrary nesting of collection types - Schemas support default values and non destructive updates - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). ### Why ANOTHER Serialization Format? 1. NoProto combines the **performance** of compiled formats with the **flexibility** of dynamic formats: **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accommodate the new schema. **Dynamic** formats like JSON, MessagePack and BSON give flexibility to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. NoProto takes the performance advantages of compiled formats and implements them in a flexible format. 2. NoProto is a **key-value database focused format**: **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. **UUID & ULID Support** NoProto is one of the few formats that come with first class support for these popular primary key data types. It can easily encode, decode and generate these data types. **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializing. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) ### Comparison With Other Formats
Compared to Apache Avro - Far more space efficient
- Significantly faster serialization & deserialization
- Supports more native types (like unsigned ints)
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Protocol Buffers - Comparable serialization & deserialization performance
- Updating buffers is an order of magnitude faster
- Schemas are dynamic at runtime, no compilation step
- Supports more types and better nested type support
- Byte-wise sorting is first class operation
- Updates without deserializng/serializing
- Safely handle untrusted data.
- Values can be inserted in any order.

Compared to JSON / BSON - Far more space efficient
- Significantly faster serialization & deserialization
- Deserializtion is zero copy
- Has schemas / type safe
- Supports byte-wise sorting
- Supports raw bytes & other native types
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Flatbuffers / Bincode - Data types can change or be created at runtime
- Updating buffers is an order of magnitude faster
- Supports byte-wise sorting
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.
- Values can be inserted in any order.


| Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | |------------------|-----------|------------|---------|----------|-------------------| | **Runtime Libs** | | | | | | | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | | **Compiled Libs**| | | | | | | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | | Bincode | ✓ | ? | ✓ | ✓ | ✗ | | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | | Veriform | ✗ | ? | ✗ | ✗ | ✗ | # Quick Example ```rust use no_proto::error::NP_Error; use no_proto::NP_Factory; // An ES6 like IDL is used to describe schema for the factory // Each factory represents a single schema // One factory can be used to serialize/deserialize any number of buffers let user_factory = NP_Factory::new(r#" struct({ fields: { name: string(), age: u16({ default: 0 }), tags: list({ of: string() }) }}) "#)?; // create a new empty buffer let mut user_buffer = user_factory.new_buffer(None); // optional capacity // set the "name" field user_buffer.set(&["name"], "Billy Joel")?; // read the "name" field let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // set a nested value, the first tag in the tag list user_buffer.set(&["tags", "0"], "first tag")?; // read the first tag from the tag list let tag = user_buffer.get::<&str>(&["tags", "0"])?; assert_eq!(tag, Some("first tag")); // close buffer and get internal bytes let user_bytes: Vec = user_buffer.finish().bytes(); // open the buffer again let user_buffer = user_factory.open_buffer(user_bytes); // read the "name" field again let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // get the age field let age = user_buffer.get::(&["age"])?; // returns default value from schema assert_eq!(age, Some(0u16)); // close again let user_bytes: Vec = user_buffer.finish().bytes(); // we can now save user_bytes to disk, // send it over the network, or whatever else is needed with the data # Ok::<(), NP_Error>(()) ``` ## Guided Learning / Next Steps: 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. ## Benchmarks While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. **Legend**: Ops / Millisecond, higher is better | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| | **Runtime Libs** | | | | | | | | *NoProto* | | | | | | | | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | | Apache Avro | | | | | | | | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | | FlexBuffers | | | | | | | | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | | JSON | | | | | | | | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | | BSON | | | | | | | | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | | MessagePack | | | | | | | | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | | **Compiled Libs** | | | | | | | | Flatbuffers | | | | | | | | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | | Bincode | | | | | | | | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | | Postcard | | | | | | | | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | | Protocol Buffers | | | | | | | | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | | Abomonation | | | | | | | | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | | Rkyv | | | | | | | | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. - **Decode All**: Deserialize the test object from the `Vec` into all fields. - **Decode 1**: Deserialize the test object from the `Vec` into one field. - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. ## NoProto Strengths If your use case fits any of the points below, NoProto might be a good choice for your application. 1. Flexible At Runtime
If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). 2. Safely Accept Untrusted Data
The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. 3. Extremely Fast Updates
If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. 4. Insert/Update In Any Order
Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accommodate the encoding/decoding scheme. With NoProto, all fields can update/insert in any order. 5. Incremental Deserializing
You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. 6. Bytewise Sorting
Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremely easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. 7. `no_std` Support
If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. 8. Stable
NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. 9. CPU Independent
All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. ### When to use Flatbuffers / Bincode / CapN Proto If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. ### When to use JSON / BSON / MessagePack If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. ## Limitations - Structs and Tuples cannot have more than 255 items. - Lists and Maps cannot have more than 2^16 (~64k) items. - You cannot nest more than 255 levels deep. - Struct field names cannot be longer than 255 UTF8 bytes. - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. - Map keys cannot be larger than 255 UTF8 bytes. - Buffers cannot be larger than 2^32 bytes or ~4GB. ## Unsafe This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. ---------------------- MIT License Copyright (c) 2021 Scott Lott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: no_proto_rs/src/buffer/mod.rs ================================================ use alloc::string::String; use crate::types::NP_Type; #[derive(Debug, Clone)] struct NP_Cursor { pub buffer_addr: usize, pub schema_addr: usize } #[derive(Default, Debug, Clone, PartialEq)] pub struct NP_Buffer_Type { kind: NP_Type, size: NP_Type_Size } #[derive(Debug, Clone, PartialEq)] pub enum NP_Type_Size { pointer, pointer_and (u32), fixed (u32) } impl Default for NP_Type_Size { fn default() -> Self { NP_Type_Size::pointer } } // #[derive(Debug, Clone)] // pub struct NP_Buffer { // memory: NP_Memory, // root: NP_Types_Outer, // cursor: NP_Cursor, // pub mutable: bool // } // #[derive(Debug, Clone, PartialEq)] // pub enum buffer_rpc { // request, // response, // none // } // impl NP_Buffer { // #[doc(hidden)] // pub fn _generate_response_buffer(&self, mut memory: NP_Memory) -> Result { // let root = self.root.get_response_type_for_request()?; // // write type into buffer // let (type_len, type_bytes) = root.get_bytes()?; // memory.malloc_borrow(&[type_len])?; // memory.malloc_borrow(&type_bytes[0..(type_len as usize)])?; // // root data // let root_size = root.kind.get_size(&memory.schema) as usize; // memory.malloc_borrow(&vec![0u8; root_size])?; // memory.root = (type_len + 1) as usize; // Ok(Self { // mutable: memory.is_mutable, // root: root, // cursor: NP_Cursor { buffer_addr: memory.root, schema_addr: 0 }, // memory: memory // }) // } // #[doc(hidden)] // pub fn _new(rpc: buffer_rpc, data_type: &str, mut memory: NP_Memory) -> Result { // make new buffer // // parse type // let root = NP_Error::unwrap(match rpc { // buffer_rpc::none => NP_Types_Outer::parse_type(data_type, &memory.schema)?, // buffer_rpc::request => NP_Types_Outer::parse_type_prc(&rpc, data_type, &memory.schema)?, // buffer_rpc::response => NP_Types_Outer::parse_type_prc(&rpc, data_type, &memory.schema)? // })?; // // write type into buffer // let (type_len, type_bytes) = root.get_bytes()?; // memory.malloc_borrow(&[type_len])?; // memory.malloc_borrow(&type_bytes[0..(type_len as usize)])?; // // root data // let root_size = root.kind.get_size(&memory.schema) as usize; // memory.malloc_borrow(&vec![0u8; root_size])?; // memory.root = (type_len + 1) as usize; // Ok(Self { // mutable: memory.is_mutable, // root: root, // cursor: NP_Cursor { buffer_addr: memory.root, schema_addr: 0 }, // memory: memory // }) // } // #[doc(hidden)] // pub fn _existing(mut memory: NP_Memory) -> Result { // make new buffer // // get type length // let type_len = NP_Error::unwrap(memory.get_1_byte(0))? as usize; // // should have at least space for schema // if type_len >= memory.length() { // return Err(NP_Error::OutOfBounds) // } // // parse type from buffer // let root = NP_Types_Outer::from_bytes(&memory.read_bytes()[1..(type_len + 1)], &memory.schema)?.1; // memory.root = (type_len + 1) as usize; // Ok(Self{ // mutable: memory.is_mutable, // root: root, // cursor: NP_Cursor { buffer_addr: memory.root, schema_addr: 0 }, // memory: memory // }) // } // pub fn print_buffer_type(&self) -> String { // return self.root.generate_string(&self.memory.schema) // } // fn query_path(&self, make_path: bool, path: &str) -> Option { // todo!() // } // pub fn reset_cursor(&mut self) { // self.cursor = NP_Cursor { buffer_addr: self.memory.root, schema_addr: 0 }; // } // pub fn move_cursor(&mut self, path: &str) -> Option<()> { // todo!() // } // pub fn data_type(&self, path: &str) -> Option { // todo!() // } // pub fn get(&self, path: &str) -> Option { // todo!() // } // pub fn get_bytes(&self, path: &str) -> Option<&[u8]> { // todo!() // } // pub fn set(&mut self, path: &str, value: X) -> Result<(), NP_Error> { // todo!() // } // pub fn clear(&mut self, path: &str) -> Option<()> { // todo!() // } // pub fn calc_size(&self) -> Result { // todo!() // } // pub fn compact_self(&mut self) -> Result<(), NP_Error> { // todo!() // } // pub fn compact_into(&self) -> Result { // todo!() // } // } ================================================ FILE: no_proto_rs/src/collection/list.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Map_List_Data, NP_Value_Kind}, utils::opt_err}; use crate::{error::NP_Error, json_flex::{JSMAP, NP_JSON}, memory::{NP_Memory}, pointer::{NP_Value}, pointer::{NP_Cursor}, schema::NP_Parsed_Schema, schema::{NP_Schema, NP_TypeKeys}}; use alloc::borrow::ToOwned; use alloc::boxed::Box; use alloc::{vec::*}; use alloc::string::ToString; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_List_Bytes { head: [u8; 4], tail: [u8; 4] } #[allow(missing_docs)] impl NP_List_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } #[inline(always)] pub fn set_tail(&mut self, tail: u32) { self.tail = tail.to_be_bytes(); } #[inline(always)] pub fn get_tail(&self) -> u32 { u32::from_be_bytes(self.tail) } } #[doc(hidden)] #[derive(Debug, Clone, Copy, PartialEq)] struct List_Item { index: usize, buff_addr: usize } /// List data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_List { next: Option, current: Option, index: usize, count: usize, tail: Option, head: Option, only_real: bool, schema_of: usize, list: NP_Cursor } #[allow(missing_docs)] impl NP_List { #[inline(always)] pub fn select(list_cursor: NP_Cursor, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result)>, NP_Error> { let list_value = || { list_cursor.get_value(memory) }; if index > 255 { return Ok(None) } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; if schema_query { return Ok(Some((index, Some(NP_Cursor::new(0, schema_of, list_cursor.schema_addr))))); } // if no list here, make one please if list_value().get_addr_value() == 0 { if make_path { Self::make_list(&list_cursor, memory)?; } else { return Ok(Some((index, None))) } } let list_data = || { Self::get_list(list_value().get_addr_value() as usize, memory) }; // empty list if list_data().get_head() == 0 { let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); list_data().set_head(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } let head = NP_Cursor::new(list_data().get_head() as usize, schema_of, list_cursor.schema_addr); let head_index = head.get_value(memory).get_index() as usize; if head_index > index { // index is in front of head, replace head let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); new_cursor_value.set_next_addr(head.buff_addr as u32); list_data().set_head(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if head_index == index { // index is equal to head return Ok(Some((index, Some(head)))) } // is cursor in behind of or equal to tail let tail = NP_Cursor::new(list_data().get_tail() as usize, schema_of, list_cursor.schema_addr); let tail_value = || { tail.get_value_mut(memory) }; let tail_index = tail_value().get_index() as usize; if tail_index < index { // index is behind tail let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); tail_value().set_next_addr(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if tail_index == index { // index is equal to head return Ok(Some((index, Some(tail)))) } // the index is somewhere in the list let mut list_iter = Self::new_iter(&list_cursor, memory, false, head_index as usize); while let Some((idx, item)) = Self::step_iter(&mut list_iter, memory) { if index == idx { if let Some(found_cursor) = item { // found cursor here return Ok(Some((index, Some(found_cursor)))) } else { // found index but no cursor return Ok(Some((index, Some(list_iter.make_item_in_loop(memory)?)))) } } } // should never reach here Err(NP_Error::Unreachable) } #[inline(always)] pub fn make_item_in_loop(self, memory: &NP_Memory) -> Result { let list_data = || { Self::get_list(self.list.get_value(memory).get_addr_value() as usize, memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, self.schema_of, self.list.schema_addr); let new_cursor_value = || { new_cursor.get_value_mut(memory) }; new_cursor_value().set_index(self.index as u16 - 1); if let Some(current) = self.current { // set NEXT of CURRENT cursor to the new cursor let curr_cursor = NP_Cursor::new(current.buff_addr, self.schema_of, self.list.schema_addr); let prev_cursor_value = curr_cursor.get_value_mut(memory); prev_cursor_value.set_next_addr(new_cursor_addr as u32); if let Some(next) = self.next { new_cursor_value().set_next_addr(next.buff_addr as u32); } else { // replace tail list_data().set_tail(new_cursor_addr as u32); } Ok(new_cursor) } else { Err(NP_Error::Unreachable) } } #[inline(always)] pub fn make_list<'make>(list_cursor: &NP_Cursor, memory: &'make NP_Memory) -> Result<(), NP_Error> { let list_addr = memory.malloc_borrow(&[0u8; 8])?; // head & tail let value = list_cursor.get_value_mut(memory); value.set_addr_value(list_addr as u32); Ok(()) } #[inline(always)] pub fn get_list<'list>(list_cursor_value_addr: usize, memory: &'list NP_Memory) -> &'list mut NP_List_Bytes { if list_cursor_value_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_List_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(list_cursor_value_addr as usize) as *mut NP_List_Bytes) } } } #[inline(always)] pub fn new_iter(list_cursor: &NP_Cursor, memory: &NP_Memory, only_real: bool, starting_index: usize) -> Self { let value = list_cursor.get_value(memory); let list_addr = value.get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; let memory_bytes = memory.write_bytes(); if list_addr > 0 && list_addr < (memory_bytes.len() + 4) { let bytes = unsafe { &mut *(memory_bytes.as_ptr().add(list_addr) as *mut NP_List_Bytes) }; let tail_addr = bytes.get_tail() as usize; if tail_addr != 0 { let tail_cursor = NP_Cursor::new(tail_addr, schema_of, list_cursor.schema_addr); let head_cursor = NP_Cursor::new(bytes.get_head() as usize, schema_of, list_cursor.schema_addr); return Self { current: None, count: 0, next: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), head: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), tail: Some(List_Item { index: tail_cursor.get_value(memory).get_index() as usize, buff_addr: tail_cursor.buff_addr}), only_real, index: starting_index, schema_of, list: list_cursor.clone(), } } } Self { current: None, head: None, tail: None, count: 0, only_real, index: starting_index, schema_of, list: list_cursor.clone(), next: None, } } #[inline(always)] pub fn step_iter(&mut self, memory: &NP_Memory) -> Option<(usize, Option)> { if self.count > u16::MAX as usize { return None; } self.count += 1; match self.next { Some(next) => { if self.only_real { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index = this_value.get_index() as usize; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index, Some(this_cursor))) } else { if next.index > self.index { self.index += 1; Some((self.index - 1, None)) } else if next.index == self.index { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index += 1; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index - 1, Some(this_cursor))) } else { None } } }, None => None } } #[inline(always)] pub fn push<'push>(list_cursor: &NP_Cursor, memory: &NP_Memory, index: Option) -> Result, NP_Error> { let list_value = || {list_cursor.get_value(memory)}; if list_value().get_addr_value() == 0 { Self::make_list(&list_cursor, memory)?; } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let mut new_index: usize = index.unwrap_or(0); let new_item_addr = memory.malloc_borrow(&[0u8; 10])?; // list item let list_data = || {Self::get_list(list_value().get_addr_value() as usize, memory)}; let new_cursor = NP_Cursor::new(new_item_addr, data.child, list_cursor.schema_addr); let new_cursor_value = || {new_cursor.get_value_mut(memory)}; if list_data().get_head() == 0 { // empty list list_data().set_head(new_item_addr as u32); list_data().set_tail(new_item_addr as u32); if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16) } else { // list has items let old_tail = NP_Cursor::new(list_data().get_tail() as usize, data.child, list_cursor.schema_addr); let old_tail_value = || {old_tail.get_value_mut(memory)}; old_tail_value().set_next_addr(new_item_addr as u32); new_index = if let Some(idx) = index { idx as usize } else { (old_tail_value().get_index() + 1) as usize }; if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16); list_data().set_tail(new_item_addr as u32); } return Ok(Some((new_index as u16, new_cursor))); } } impl<'value> NP_Value<'value> for NP_List { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_list = Vec::new(); let mut list_iter = NP_List::new_iter(&cursor, memory, false, 0); while let Some((_index, item)) = NP_List::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { json_list.push(NP_Cursor::json_encode(depth + 1, item_cursor, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let list_of = data.child; schema_json.insert("of".to_owned(), NP_Schema::_type_to_json(schema, list_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, list_item) in list.iter().enumerate() { match NP_List::select(cursor, idx, true, false, memory)? { Some(x) => { match x.1 { Some(list_value) => { NP_Cursor::set_from_json(depth + 1, apply_null, list_value, memory, &Box::new(list_item.clone()))?; }, None => { } } }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } // head + tail let base_size = 8usize; let mut acc_size = 0usize; let mut list_iter = Self::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = Self::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { acc_size += NP_Cursor::calc_size(depth + 1, item_cursor, memory)?; } } Ok(acc_size + base_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } Self::make_list(&to_cursor, to_memory)?; let mut list_iter = Self::new_iter(&from_cursor, from_memory, true, 0); while let Some((index, item)) = Self::step_iter(&mut list_iter, from_memory) { if let Some(old_item) = &item { let (_new_index, new_item) = opt_err(NP_List::push(&to_cursor, to_memory, Some(index))?)?; NP_Cursor::compact(depth + 1, old_item.clone(), from_memory, new_item, to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("list({of: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1 })) as *const u8) }); let mut of_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "of" { of_jst = Some(value); } } }, _ => { } } }; if let Some(x) = of_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_bytes.extend(child_bytes); Ok((false, schema_bytes, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8), sortable: false }); match json_schema["of"] { NP_JSON::Null => { return Err(NP_Error::new("Lists require an 'of' property that is a schema type!")) }, _ => { } } // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["of"].clone()))?; schema_bytes.extend(child_bytes); return Ok((false, schema_bytes, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"list({of: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 40usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; buffer.set(&["12"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.set_with_json(&[], r#"{"value": ["light", "this", "candle"]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("light")); assert_eq!(buffer.get::<&str>(&["1"])?, Some("this")); assert_eq!(buffer.get::<&str>(&["2"])?, Some("candle")); Ok(()) } #[test] fn parseing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["9"], "hello")?; buffer.set(&["10"], "world")?; let new_buffer = factory.open_buffer(buffer.finish().bytes()); assert_eq!(new_buffer.get::<&str>(&["9"])?.unwrap(), "hello"); assert_eq!(new_buffer.get::<&str>(&["10"])?.unwrap(), "world"); Ok(()) } ================================================ FILE: no_proto_rs/src/collection/map.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, pointer::NP_Cursor, schema::{NP_Map_List_Data, NP_Value_Kind}}; use crate::{json_flex::JSMAP}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Map_Bytes { head: [u8; 4] } #[allow(missing_docs)] impl NP_Map_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } } #[doc(hidden)] #[derive(Debug, Clone, Copy)] struct Map_Item<'item> { key: &'item str, buff_addr: usize } impl<'item> Map_Item<'item> { pub fn new(key: &'item str, buff_addr: usize) -> Self { Self { key, buff_addr} } } /// The map type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Map<'map> { count: usize, current: Option>, head: Option>, map: NP_Cursor, value_of: usize } #[allow(missing_docs)] impl<'map> NP_Map<'map> { #[inline(always)] pub fn select(map_cursor: NP_Cursor, key: &str, make_path: bool, schema_query: bool, memory: &'map NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; if schema_query { let value_of = data.child; return Ok(Some(NP_Cursor::new(0, value_of, map_cursor.schema_addr))); } let mut map_iter = Self::new_iter(&map_cursor, memory); // key is maybe in map while let Some((ikey, item)) = map_iter.step_iter(memory) { if ikey == key { return Ok(Some(item.clone())) } } // key is not in map if make_path { Ok(Some(Self::insert(&map_cursor, memory, key)?)) } else { Ok(None) } } #[inline(always)] pub fn get_map<'get>(map_buff_addr: usize, memory: &'get NP_Memory) -> &'get mut NP_Map_Bytes { if map_buff_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Map_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(map_buff_addr as usize) as *mut NP_Map_Bytes) } } } #[inline(always)] pub fn new_iter(map_cursor: &NP_Cursor, memory: &'map NP_Memory) -> Self { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if map_cursor.get_value(memory).get_addr_value() == 0 { return Self { current: None, count: 0, head: None, map: map_cursor.clone(), value_of } } let head_addr = Self::get_map(map_cursor.buff_addr, memory).get_head(); let head_cursor = NP_Cursor::new(head_addr as usize, value_of, map_cursor.schema_addr); let head_cursor_value = head_cursor.get_value(memory); Self { current: None, count: 0, head: Some(Map_Item::new(head_cursor_value.get_key(memory), head_cursor.buff_addr )), map: map_cursor.clone(), value_of } } #[inline(always)] pub fn step_iter(&mut self, memory: &'map NP_Memory) -> Option<(&'map str, NP_Cursor)> { if self.count > u16::MAX as usize { return None; } match self.head { Some(head) => { self.count += 1; match self.current { Some(current) => { // subsequent iterations let current_item = NP_Cursor::new(current.buff_addr, self.value_of, self.map.schema_addr); let current_value = current_item.get_value(memory); let next_value = current_value.get_next_addr() as usize; if next_value == 0 { //nothing left to step return None; } else { let next_value_cursor = NP_Cursor::new(next_value, self.value_of, self.map.schema_addr); let next_value_value = next_value_cursor.get_value(memory); let key = next_value_value.get_key(memory); self.current = Some(Map_Item { buff_addr: next_value, key: key }); return Some((key, next_value_cursor)) } }, None => { // first iteration, get head self.current = Some(head.clone()); return Some((head.key, NP_Cursor::new(head.buff_addr, self.value_of, self.map.schema_addr))) } } }, None => return None } } #[inline(always)] pub fn insert(map_cursor: &NP_Cursor, memory: &NP_Memory, key: &str) -> Result { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if key.len() >= 255 { return Err(NP_Error::new("Key length cannot be larger than 255 charecters!")); } let map_value = || { map_cursor.get_value(memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 12])?; let new_cursor = NP_Cursor::new(new_cursor_addr, value_of, map_cursor.schema_addr); // set key let key_item_addr = memory.malloc_borrow(&[key.len() as u8])?; memory.malloc_borrow(key.as_bytes())?; new_cursor.get_value_mut(memory).set_key_addr(key_item_addr as u32); let head = map_value().get_addr_value() as usize; // Set head of map to new cursor map_cursor.get_value_mut(memory).set_addr_value(new_cursor_addr as u32); if head != 0 { // set new cursors NEXT to old HEAD new_cursor.get_value_mut(memory).set_next_addr(head as u32); } Ok(new_cursor) } } impl<'value> NP_Value<'value> for NP_Map<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_map = JSMAP::new(); let mut map_iter = NP_Map::new_iter(&cursor, memory); while let Some((key, item)) = NP_Map::step_iter(&mut map_iter, memory) { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &item, memory)); } NP_JSON::Dictionary(json_map) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(json_map) => { for js_item in json_map.values.iter() { match NP_Map::select(cursor, &js_item.0, true, false, memory)? { Some(value) => { NP_Cursor::set_from_json(depth + 1, apply_null, value, memory, &Box::new(js_item.1.clone()))?; }, None => { } } } }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let value_of = data.child; schema_json.insert("value".to_owned(), NP_Schema::_type_to_json(schema, value_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut map_iter = Self::new_iter(&cursor, memory); while let Some((_index, item)) = Self::step_iter(&mut map_iter, memory) { let key_size = item.get_value(memory).get_key_size(memory); acc_size += 1; // length byte acc_size += key_size; acc_size += NP_Cursor::calc_size(depth + 1, &item, memory)?; } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let mut map_iter = Self::new_iter(&from_cursor, from_memory); while let Some((key, item)) = Self::step_iter(&mut map_iter, from_memory) { let new_item = Self::insert(&to_cursor, to_memory, key)?; NP_Cursor::compact(depth + 1, item.clone(), from_memory, new_item, to_memory)?; } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("map({value: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8) }); let mut value_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "value" { value_jst = Some(value); } } }, _ => { } } }; if let Some(x) = value_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_data.extend(child_bytes); Ok((false, schema_data, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8), sortable: false }); match json_schema["value"] { NP_JSON::Null => { return Err(NP_Error::new("Maps require a 'value' property that is a schema type!")) }, _ => { } } let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["value"].clone()))?; schema_data.extend(child_bytes); return Ok((false, schema_data, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let of_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: of_addr + 1 })) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"map({value: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction works let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; buffer.set(&["name2"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.set_with_json(&[], r#"{"value": {"foo": "bar", "foo2": "bar2"}}"#)?; assert_eq!(buffer.get::<&str>(&["foo"])?, Some("bar")); assert_eq!(buffer.get::<&str>(&["foo2"])?, Some("bar2")); Ok(()) } ================================================ FILE: no_proto_rs/src/collection/mod.rs ================================================ //! Collections: NP_Struct, NP_Tuple, NP_List & NP_Map ================================================ FILE: no_proto_rs/src/collection/struc.rs ================================================ use alloc::sync::Arc; use crate::{idl::AST_STR, schema::{NP_Struct_Data, NP_Struct_Field, NP_Value_Kind}}; use crate::{buffer::{VTABLE_BYTES, VTABLE_SIZE}, idl::{JS_AST, JS_Schema}}; use alloc::string::String; use crate::pointer::{NP_Vtable}; use crate::{pointer::{NP_Cursor}, schema::{NP_Parsed_Schema}}; use crate::{memory::{NP_Memory}, pointer::{NP_Value}, error::NP_Error, schema::{NP_Schema, NP_TypeKeys}, json_flex::{JSMAP, NP_JSON}}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; use core::{result::Result}; /// The data type for tables in NoProto buffers. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Struct<'table> { index: usize, v_table: Option<&'table mut NP_Vtable>, v_table_addr: usize, v_table_index: usize, table: NP_Cursor } #[allow(missing_docs)] impl<'table> NP_Struct<'table> { #[inline(always)] pub fn select(mut table_cursor: NP_Cursor, schema: &NP_Parsed_Schema, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Struct_Data) }; match data.fields.iter().position(|val| { val.col == key }) { Some(x) => { if schema_query { return Ok(Some(NP_Cursor::new(0, data.fields[x].schema, table_cursor.schema_addr))); } let v_table = x / VTABLE_SIZE; // which vtable let v_table_idx = x % VTABLE_SIZE; // which index on the selected vtable let mut table_value = table_cursor.get_value(memory); if table_value.get_addr_value() == 0 { if make_path { table_cursor = Self::make_first_vtable(table_cursor, memory)?; table_value = table_cursor.get_value(memory); } else { return Ok(None); } } let mut seek_vtable = 0usize; let mut vtable_address = table_value.get_addr_value() as usize; if v_table > 0 { let mut loop_max = 64usize; while seek_vtable < v_table && loop_max > 0 { let this_vtable = Self::get_vtable(vtable_address, memory); let next_vtable = this_vtable.get_next(); if next_vtable == 0 { if make_path == false { return Ok(None); } vtable_address = Self::make_next_vtable(this_vtable, memory)?; } else { vtable_address = next_vtable as usize; } seek_vtable += 1; loop_max -= 1; } } let item_address = vtable_address + (v_table_idx * 4); Ok(Some(NP_Cursor::new(item_address, data.fields[x].schema, table_cursor.schema_addr))) }, None => Ok(None) } } #[inline(always)] pub fn make_first_vtable<'make>(table_cursor: NP_Cursor, memory: &'make NP_Memory) -> Result { let first_vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; table_cursor.get_value_mut(memory).set_addr_value(first_vtable_addr as u32); Ok(table_cursor) } #[inline(always)] pub fn make_next_vtable<'make>(prev_vtable: &'make mut NP_Vtable, memory: &'make NP_Memory) -> Result { let vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; prev_vtable.set_next(vtable_addr as u32); Ok(vtable_addr) } #[inline(always)] pub fn new_iter(cursor: &NP_Cursor, memory: &'table NP_Memory) -> Self { let table_value = cursor.get_value(memory); let addr_value = table_value.get_addr_value() as usize; Self { table: cursor.clone(), v_table: if addr_value == 0 { None } else { Some(Self::get_vtable(addr_value, memory)) }, v_table_addr: addr_value, v_table_index: 0, index: 0, } } #[inline(always)] pub fn get_vtable<'vtable>(v_table_addr: usize, memory: &'vtable NP_Memory) -> &'vtable mut NP_Vtable { if v_table_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Vtable) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(v_table_addr) as *mut NP_Vtable) } } } #[inline(always)] pub fn step_iter(&mut self, memory: &'table NP_Memory) -> Option<(usize, &'table str, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Struct_Data) }; if data.fields.len() <= self.index { return None; } let v_table = self.index / VTABLE_SIZE; // which vtable let v_table_idx = self.index % VTABLE_SIZE; // which index on the selected vtable if self.v_table_index > v_table { self.v_table_index = v_table; match &self.v_table { Some(vtable) => { let next_vtable = vtable.get_next() as usize; if next_vtable > 0 { self.v_table = Some(Self::get_vtable(next_vtable, memory)); self.v_table_addr = next_vtable; } else { self.v_table = None; self.v_table_addr = 0; } }, _ => {} } } let this_index = self.index; self.index += 1; if self.v_table_addr != 0 { let item_address = self.v_table_addr + (v_table_idx * 4); Some((this_index, data.fields[this_index].col.as_str(), Some(NP_Cursor::new(item_address, data.fields[this_index].schema, self.table.schema_addr)))) } else { Some((this_index, data.fields[this_index].col.as_str(), None)) } } } impl<'value> NP_Value<'value> for NP_Struct<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_map = JSMAP::new(); let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, key, item)) = struc.step_iter(memory) { if let Some(real) = item { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &real, memory)); } else { json_map.insert(String::from(key), NP_JSON::Null); } } NP_JSON::Dictionary(json_map) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Struct_Data) }; for col in data.fields.iter() { let json_col = &value[col.col.as_str()]; match json_col { NP_JSON::Null => { if apply_null { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, false, false, memory)? { Some(x) => { NP_Cursor::delete(x, memory)?; }, None => { } } } }, _ => { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(json_col.clone()))?; }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } } } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let fields_count = bytes[address + 1]; let mut parsed_fields: Vec = Vec::new(); let table_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut schema_parsed = schema; let mut offset = address + 2; let mut hash_map = Vec::new(); for x in 0..fields_count as usize { let col_name_len = bytes[offset] as usize; let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; offset += 1 + col_name_len; let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let field_addr = schema_parsed.len(); let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); schema_parsed = schema; // parsed_fields.push((x as u8, col_name.to_string(), field_addr)); parsed_fields.push(NP_Struct_Field { idx: x as u8, col: col_name.to_string(), schema: field_addr, offset: 0}); // hash_map.insert(col_name, x).unwrap_or_default(); hash_map.push(col_name.to_string()); offset += schema_size + 2; } // hash_map.sort_by(|a, b| a.0.partial_cmp(&b.0).unwrap()); schema_parsed[table_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: parsed_fields, empty: Vec::new() })) as *const u8) }; (false, schema_parsed) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let fields: Vec = data.fields.iter().map(|field| { let mut cols: Vec = Vec::new(); cols.push(NP_JSON::String(field.col.to_string())); cols.push(NP_Schema::_type_to_json(&schema, field.schema).unwrap_or(NP_JSON::Null)); NP_JSON::Array(cols) }).collect(); schema_json.insert("fields".to_owned(), NP_JSON::Array(fields)); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut nex_vtable = c_value().get_addr_value() as usize; let mut loop_max = 65usize; while nex_vtable > 0 && loop_max > 0 { acc_size += 20; let vtable = Self::get_vtable(nex_vtable, memory); nex_vtable = vtable.get_next() as usize; loop_max -= 1; } let mut struc = Self::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(real) = item { let add_size = NP_Cursor::calc_size(depth + 1, &real, memory)?; if add_size > 4 { // scalar cursor is part of vtable acc_size += add_size - 4; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } to_cursor = Self::make_first_vtable(to_cursor, to_memory)?; let to_cursor_value = to_cursor.get_value(to_memory); let mut last_real_vtable = to_cursor_value.get_addr_value() as usize; let mut last_vtable_idx = 0usize; let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Struct_Data) }; let col_schemas = &data.fields; let mut struc = Self::new_iter(&from_cursor, from_memory); while let Some((idx, _key, item)) = struc.step_iter(from_memory) { if let Some(real) = item { let v_table = idx / VTABLE_SIZE; // which vtable let v_table_idx = idx % VTABLE_SIZE; // which index on the selected vtable if last_vtable_idx < v_table { let vtable_data = Self::get_vtable(last_real_vtable, to_memory); last_real_vtable = Self::make_next_vtable(vtable_data, to_memory)?; last_vtable_idx += 1; } let item_addr = last_real_vtable + (v_table_idx * 4); NP_Cursor::compact(depth + 1, real.clone(), from_memory, NP_Cursor::new(item_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let mut result = String::from("struct({fields: {"); let last_index = data.fields.len() - 1; for (idx, field) in data.fields.iter().enumerate() { result.push_str(field.col.as_str()); result.push_str(": "); result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("}})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let mut idl_fields: Option<&Vec<(AST_STR, JS_AST)>> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "fields" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, "columns" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(ast_fields) = idl_fields { let mut x: u8 = 0; for col in ast_fields { let field_name = idl.get_str(&col.0).trim(); if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, String::from(field_name), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: String::from(field_name), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_idl(schema_parsed, idl, &col.1)?; schema_parsed = schema_p; field_data.push((String::from(field_name), field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } Ok((false, schema_bytes, schema_parsed)) } else { Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let json_fields = if let NP_JSON::Array(fields) = &json_schema["fields"] { fields } else if let NP_JSON::Array(fields) = &json_schema["columns"] { fields } else { return Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) }; let mut x: u8 = 0; for col in json_fields { let field_name = match &col[0] { NP_JSON::String(x) => x.clone(), _ => "".to_owned() }; if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, field_name.clone(), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: field_name.clone(), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; schema_parsed = schema_p; field_data.push((field_name, field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } return Ok((false, schema_bytes, schema_parsed)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"struct({fields: {age: u8(), tags: list({of: string()}), name: string({size: 10})}})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["tags",{"type":"list","of":{"type":"string"}}],["name",{"type":"string","size":10}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["name",{"type":"string"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.after_compaction, 35usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // good values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&crate::np_path!("name"), "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); // println!("{:?}", buffer.read_bytes()); // let packed = factory.pack_buffer(buffer); // println!("{:?}", packed.schema.to_json()?.stringify().len()); // println!("{:?}", packed.export_schema_bytes().len()); // let closed = packed.close_packed(); // let opened = NP_Packed_Buffer::open(closed)?; // println!("{:?}", opened.get::<&str>(&["name"])?); Ok(()) } #[test] fn test_vtables() -> Result<(), NP_Error> { let factory = crate::NP_Factory::new(r#" struct({fields: { age: u8(), name: string(), color: string(), car: string(), rating: u8() }}) "#)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); // buffer.set(&["age"], 20u8)?; // buffer.set(&["name"], "hello")?; // buffer.set(&["color"], "blue")?; // buffer.set(&["car"], "Chevy")?; // buffer.set(&["rating"], 98u8)?; // let mut new_buffer = factory.open_buffer(buffer.finish().bytes()); // assert_eq!(new_buffer.get::(&["age"])?.unwrap(), 20u8); // assert_eq!(new_buffer.get::<&str>(&["name"])?.unwrap(), "hello"); // assert_eq!(new_buffer.get::<&str>(&["color"])?.unwrap(), "blue"); // assert_eq!(new_buffer.get::<&str>(&["car"])?.unwrap(), "Chevy"); // assert_eq!(new_buffer.get::(&["rating"])?.unwrap(), 98u8); buffer.set_with_json(&[], r#"{"value": { "age": 50, "name": "Jimmy", "color": "orange", "car": "Audi", "rating": 20 }}"#)?; assert_eq!(buffer.get::(&["age"])?.unwrap(), 50u8); assert_eq!(buffer.get::<&str>(&["name"])?.unwrap(), "Jimmy"); assert_eq!(buffer.get::<&str>(&["color"])?.unwrap(), "orange"); assert_eq!(buffer.get::<&str>(&["car"])?.unwrap(), "Audi"); assert_eq!(buffer.get::(&["rating"])?.unwrap(), 20u8); Ok(()) } ================================================ FILE: no_proto_rs/src/collection/tuple.rs ================================================ use crate::{idl::JS_AST, pointer::NP_Cursor_Parent, schema::{NP_Tuple_Data, NP_Tuple_Field, NP_Value_Kind}}; use alloc::{string::String, sync::Arc}; use crate::{idl::JS_Schema}; use crate::{json_flex::JSMAP, pointer::{NP_Cursor}}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::borrow::ToOwned; use alloc::{boxed::Box}; use alloc::string::ToString; /// Tuple data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Tuple { index: usize, table: NP_Cursor } #[allow(missing_docs)] impl NP_Tuple { #[inline(always)] pub fn select(mut tuple_cursor: NP_Cursor, schema: &NP_Parsed_Schema, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { // pub fn select(mut tuple_cursor: NP_Cursor, empty: &Vec, values: &Vec, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Tuple_Data) }; if index >= data.values.len() { return Ok(None) } if schema_query { return Ok(Some(NP_Cursor::new(0, data.values[index].schema, tuple_cursor.schema_addr))); } let value_schema_data = data.values[index].schema; let mut tuple = tuple_cursor.get_value(memory); if tuple.get_addr_value() == 0 { if make_path { tuple_cursor = Self::alloc_tuple(tuple_cursor, &data.empty, memory)?; tuple = tuple_cursor.get_value(memory); } else { return Ok(None); } } let item_address = tuple.get_addr_value() as usize + data.values[index].offset; let mut cursor = NP_Cursor::new(item_address, value_schema_data, tuple_cursor.schema_addr); cursor.parent_type = NP_Cursor_Parent::Tuple; if data.values[index].fixed { cursor.value_bytes = Some((item_address as u32).to_be_bytes()); } if memory.read_bytes()[item_address - 1] == 0 && make_path == false { Ok(None) } else { Ok(Some(cursor)) } } #[inline(always)] pub fn alloc_tuple<'make>(tuple_cursor: NP_Cursor, empty: &Vec, memory: &'make NP_Memory) -> Result { let new_addr = memory.malloc_borrow(empty)?; tuple_cursor.get_value_mut(memory).set_addr_value(new_addr as u32); Ok(tuple_cursor) } pub fn new_iter(cursor: &NP_Cursor, _memory: &NP_Memory) -> Self { Self { table: cursor.clone(), index: 0, } } pub fn step_iter(&mut self, memory: &NP_Memory, show_empty: bool) -> Option<(usize, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Tuple_Data) }; if data.values.len() <= self.index { return None; } let this_index = self.index; self.index += 1; let next_cursor = Self::select(self.table, memory.get_schema(self.table.schema_addr), this_index, true, false, memory); match next_cursor { Ok(next) => { match next { Some(cursor) => { if memory.read_bytes()[cursor.buff_addr - 1] == 0 && show_empty { Some((this_index, None)) } else { Some((this_index, Some(cursor))) } }, None => None } }, Err(_e) => { None } } } } impl<'value> NP_Value<'value> for NP_Tuple { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_list = Vec::new(); let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_idx, item)) = tuple.step_iter(memory, false) { if let Some(x) = item { json_list.push(NP_Cursor::json_encode(depth + 1, &x, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let schema_state: (bool, Vec) = (schema[address].sortable, data.values.iter().map(|column| { NP_Schema::_type_to_json(schema, column.schema).unwrap_or(NP_JSON::Null) }).collect()); schema_json.insert("values".to_owned(), NP_JSON::Array(schema_state.1)); if schema_state.0 { schema_json.insert("sorted".to_owned(), NP_JSON::True); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, tuple_item) in list.iter().enumerate() { match NP_Tuple::select(cursor, memory.get_schema(cursor.schema_addr), idx, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(tuple_item.clone()))?; }, None => { return Err(NP_Error::new("Failed to find column value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut tuple = Self::new_iter(&cursor, memory); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Tuple_Data) }; while let Some((index, item)) = tuple.step_iter(memory, false) { if let Some(cursor) = item { acc_size += 1; let schema_value = &data.values[index]; if schema_value.fixed { acc_size += schema_value.size; } else { acc_size += NP_Cursor::calc_size(depth + 1, &cursor, memory)?; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Tuple_Data) }; let (col_schemas, _empty) = (&data.values, &data.empty); to_cursor = Self::alloc_tuple(to_cursor, &data.empty, to_memory)?; let mut tuple = Self::new_iter(&from_cursor, from_memory); while let Some((idx, item)) = tuple.step_iter(from_memory, false) { if let Some(old_cursor) = item { to_memory.write_bytes()[old_cursor.buff_addr - 1] = 1; NP_Cursor::compact(depth + 1, old_cursor.clone(), from_memory, NP_Cursor::new(old_cursor.buff_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let mut result = String::from("tuple({values: ["); let last_index = data.values.len() - 1; for (idx, field) in data.values.iter().enumerate() { result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("]"); if schema[address].sortable == true { result.push_str(", sorted: true"); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; let mut tuple_values: Option<&Vec> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "sorted" => { sorted = true; }, "values" => { match value { JS_AST::array { values } => { tuple_values = Some(values); }, _ => { } } }, _ => { } } } }, _ => { } } } if sorted { schema_data.push(1); } else { schema_data.push(0); } if let Some(tuple_vals) = tuple_values { let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; for col in tuple_vals { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_idl(working_schema, idl, &col)?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } Ok((sorted, schema_data, working_schema)) } else { Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; match json_schema["sorted"] { NP_JSON::True => { sorted = true; schema_data.push(1); }, _ => { schema_data.push(0); } } let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; match &json_schema["values"] { NP_JSON::Array(cols) => { for col in cols { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_json(working_schema, &Box::new(col.clone()))?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 4; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } }, _ => { return Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } return Ok((sorted, schema_data, working_schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let is_sorted = bytes[address + 1]; let column_len = bytes[address + 2]; let mut working_schema = schema; let tuple_schema_addr = working_schema.len(); working_schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut offset = address + 3; let mut data_offset = 1usize; for _x in 0..column_len as usize { let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let schema_len = working_schema.len(); let (_sortable, schema) = NP_Schema::from_bytes(working_schema, offset + 2, bytes); match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; offset += schema_size + 2; } working_schema[tuple_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; (is_sorted != 0, working_schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "tuple({values: [string(), uuid(), u8()]})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "tuple({values: [string({size: 10}), uuid(), u8()], sorted: true})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\"},{\"type\":\"uuid\"},{\"type\":\"uint8\"}]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\",\"size\":10},{\"type\":\"uuid\"},{\"type\":\"uint8\"}],\"sorted\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string"},{"type":"uuid"},{"type":"uint8"}]}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["0"], "hello")?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); buffer.set_with_json(&[], r#"{"value": ["bar", "1ED3C129-2943-4CCE-8904-53C0487FF18E", 50]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("bar")); assert_eq!(buffer.get::(&["1"])?, Some(crate::pointer::uuid::NP_UUID::from_string("1ED3C129-2943-4CCE-8904-53C0487FF18E"))); assert_eq!(buffer.get::(&["2"])?, Some(50u8)); Ok(()) } #[test] fn sorting_tuples_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string","size":10},{"type":"uuid"},{"type":"uint8"}],"sorted":true}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set_min(&[])?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]); buffer.set(&["0"], "hello")?; let uuid = crate::pointer::uuid::NP_UUID::generate(22); buffer.set(&["1"], &uuid)?; buffer.set(&["2"], 20u8)?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 104, 101, 108, 108, 111, 32, 32, 32, 32, 32, 1, 76, 230, 170, 176, 120, 208, 69, 186, 109, 122, 100, 179, 210, 224, 68, 195, 1, 20]); Ok(()) } ================================================ FILE: no_proto_rs/src/error.rs ================================================ //! Primary error type used by the library use alloc::string::FromUtf8Error; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; /// The error type used for errors in this library #[derive(Debug)] pub enum NP_Error { /// Read only error MemoryReadOnly, /// Use this instead of unreachable! which causes panic Unreachable, /// Not Enough Space MemoryOutOfSpace, /// Too many recursive calls RecursionLimit, OutOfBounds, /// Custom error message Custom { /// Error message message: String } } impl NP_Error { /// Generate a new error with a specific message pub fn new>(message: S) -> Self { NP_Error::Custom { message: message.as_ref().to_owned() } } /// Convert an option to an error type pub fn unwrap(value: Option) -> Result { match value { Some(x) => Ok(x), None => Err(NP_Error::new("Missing Value in option!")) } } } impl From for NP_Error { fn from(err: FromUtf8Error) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseFloatError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseIntError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } ================================================ FILE: no_proto_rs/src/format.rs ================================================ ================================================ FILE: no_proto_rs/src/json_flex.rs ================================================ //! JSON Parser, serializer and deserializer //! //! This file is derived from the json_flex crate. //! //! [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex) //! //! Changes: //! - Library has been converted & stripped for no_std use //! - All `.unwrap()`s have been replaced with proper error handling //! - Several additions that were needed for NoProto //! - Some minor optimizations //! //! The MIT License (MIT) //! //! Copyright (c) 2015 nacika //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. use alloc::vec::Vec; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::string::ToString; use core::str::FromStr; use core::ops::Index; use crate::{error::NP_Error}; /// The JSON representation of a JS Map #[derive(Debug, Clone, PartialEq)] pub struct JSMAP { /// The vec of values in the map pub values: Vec<(String, NP_JSON)> } impl JSMAP { /// Generate a new empty map pub fn new() -> Self { JSMAP { values: Vec::new() } } /// Insert a value into the map pub fn insert(&mut self, key: String, value: NP_JSON) -> usize { for x in 0..self.values.len() { if self.values[x].0 == key { self.values[x] = (key, value); return x; } } self.values.push((key, value)); self.values.len() } /// Get a mutable reference to a value in the map pub fn get_mut(&mut self, key: &str) -> Option<&mut NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&mut self.values[x].1); } } None } /// Get an immutable reference to a value in the map pub fn get(&self, key: &str) -> Option<&NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&self.values[x].1); } } None } /// Check if a value exists in the map pub fn has(&self, key: &str) -> bool { for x in 0..self.values.len() { if self.values[x].0 == *key { return true; } } false } } /// Represents an JSON value #[derive(Debug, Clone, PartialEq)] pub enum NP_JSON { /// String JSON type String(String), /// Integer JSON type Integer(i64), /// Float JSON type Float(f64), /// Map JSON type Dictionary(JSMAP), /// List JSON type Array(Vec), /// NULL json type Null, /// boolean false type False, /// boolean true type True, } impl NP_JSON { /// copy this value and it's children pub fn clone(&self) -> NP_JSON { match self { NP_JSON::Dictionary(map) => { let mut new_map = JSMAP::new(); for item in &map.values { let cloned = { ( item.0.clone(), item.1.clone() ) }; new_map.values.push(cloned); } NP_JSON::Dictionary(new_map) }, NP_JSON::Array(list) => { let mut array = Vec::new(); for item in list { array.push(item.clone()); } NP_JSON::Array(array) }, NP_JSON::String(strng) => { NP_JSON::String(strng.clone()) }, NP_JSON::Integer(int) => { NP_JSON::Integer(*int) }, NP_JSON::Float(num) => { NP_JSON::Float(*num) }, NP_JSON::Null => { NP_JSON::Null }, NP_JSON::False => { NP_JSON::False }, NP_JSON::True => { NP_JSON::True }, } } /// Get this value as a string pub fn into_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get this value as an i64 pub fn into_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get this value as an f64 pub fn into_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get this value as a hashmap pub fn into_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get this value as a list pub fn into_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Check if this value is null pub fn is_null(&self) -> bool { match self { &NP_JSON::Null => true, _ => false, } } /// Check if this value is boolean true pub fn is_true(&self) -> bool { match self { &NP_JSON::True => true, _ => false, } } /// Check if this value is boolean false pub fn is_false(&self) -> bool { match self { &NP_JSON::False => true, _ => false, } } /// Check if this value is array pub fn is_array(&self) -> bool { match self { &NP_JSON::Array(_) => true, _ => false, } } /// Check if this value is map pub fn is_dictionary(&self) -> bool { match self { &NP_JSON::Dictionary(_) => true, _ => false, } } /// Check if this value is string pub fn is_string(&self) -> bool { match self { &NP_JSON::String(_) => true, _ => false, } } /// Check if this value is an integer pub fn is_integer(&self) -> bool { match self { &NP_JSON::Integer(_) => true, _ => false, } } /// Check if this value is float pub fn is_float(&self) -> bool { match self { &NP_JSON::Float(_) => true, _ => false, } } /// Get a reference to the string in this value if it's a string pub fn unwrap_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get a reference to the i64 in this value if it's a i64 pub fn unwrap_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get a reference to the f64 in this value if it's a f64 pub fn unwrap_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get a reference to the hashmap in this value if it's a hashmap pub fn unwrap_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get a reference to the list in this value if it's a list pub fn unwrap_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Stringify this JSON object and it's children pub fn stringify(&self) -> String { match self { &NP_JSON::String(ref v) => { let mut string: String = "\"".to_owned(); string.push_str(v.replace("\"", "\\\"").as_str()); string.push_str("\""); string }, &NP_JSON::Integer(ref v) => v.to_string(), &NP_JSON::Float(ref v) => v.to_string(), &NP_JSON::Dictionary(ref v) => { let mut string: String = "{".to_owned(); let mut is_first = true; for (k, v) in &v.values { if is_first { is_first = false; } else { string.push(','); } let mut substring = "\"".to_owned(); substring.push_str(k.replace("\"", "\\\"").as_str()); substring.push_str("\":"); string.push_str(substring.as_str()); string.push_str(&v.stringify()); } string.push_str("}"); string } &NP_JSON::Array(ref v) => { let mut string: String = "".to_owned(); let mut is_first = true; for i in v { if is_first { is_first = false; } else { string.push(','); } string.push_str(&i.stringify()); } let mut return_string = "[".to_owned(); return_string.push_str(string.as_str()); return_string.push_str("]"); return_string } &NP_JSON::Null => "null".to_owned(), &NP_JSON::False => "false".to_owned(), &NP_JSON::True => "true".to_owned(), } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: usize) -> &'a Self::Output { match self.into_vec() { Some(x) => { match x.get(id) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: String) -> &'a Self::Output { match self.into_hashmap() { Some(x) => { match x.get(id.as_str()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl<'a> Index<&'a str> for NP_JSON { type Output = NP_JSON; fn index<'b>(&'b self, id: &str) -> &'b Self::Output { match self.into_hashmap() { Some(x) => { match x.get(&id.to_owned()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } fn recursive(v: &mut NP_JSON, a_chain: Vec, d_chain: Vec, mut a_nest: i64, mut d_nest: i64, last_chain: char, last_c: char, func: fn(&mut NP_JSON, Option, Vec, Vec, i64, i64, char) -> Result<(), NP_Error> , value: Option, log: String) -> Result { let is_find = match *v { NP_JSON::Array(ref mut vvz) => { let i = *NP_Error::unwrap(a_chain.get(a_nest as usize))?; let is_find: bool = { let vvv = vvz.get_mut(i as usize); let is_find: bool = match vvv { Some(mut vvvv) => { a_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; a_nest -= 1; true } None => false, }; is_find }; if !is_find { } is_find } NP_JSON::Dictionary(ref mut vv) => { let o_key = d_chain.get(d_nest as usize); match o_key { Some(ref key) => { let vvv: Option<&mut NP_JSON> = vv.get_mut(*key); let is_find: bool = match vvv { Some(mut vvvv) => { d_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; d_nest -= 1; true } None => false, }; is_find } None => false, } } _ => true, }; if !is_find { func(v, value, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_c)?; } Ok(is_find) } /// Parse a JSON string into a JSON object in memory pub fn json_decode<'json>(text: String) -> Result, NP_Error> { let mut ret = Box::new(NP_JSON::Null); let mut pos: usize = 0; let mut chain: Vec = Vec::new(); let mut d_chain: Vec = Vec::new(); let mut a_chain: Vec = Vec::new(); let mut last_chain: char = ' '; let mut last_active_char: char = ' '; let mut key: String; let mut string: String = "".to_owned(); let mut num: String = "".to_owned(); let mut last_c: char = ' '; let mut s_true: String = "".to_owned(); let mut s_false: String = "".to_owned(); let mut s_null: String = "".to_owned(); let body: Vec = text.chars().collect(); let size = body.len(); let mut done = false; while !done { let c: char = body[pos]; match last_chain { 's' => { string.push(c); } 'w' => { string.push(c); } 'n' => { num.push(c); } 't' => { s_true.push(c); } 'f' => { s_false.push(c); } '0' => { s_null.push(c); } _ => {} }; match c { '[' => { match last_chain { 's' => {} 'w' => {} _ => { let a = 'a'; chain.push(a); last_chain = a; a_chain.push(0); let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Array(Vec::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Array(Vec::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Array(Vec::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } }; last_active_char = c.clone(); } ']' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_null = "".to_owned(); } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?; NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => vv.push( NP_JSON::Float(f64::from_str(&new_num.clone())?) ), None => vv.push( NP_JSON::Integer(i64::from_str(&new_num.clone())?) ), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } 'a' => { if last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } _ => return Err(NP_Error::new("JSON Parse Error: Unknown chain from Array")), } last_active_char = c.clone(); } '{' => { match last_chain { 's' => {} 'w' => {} 'v' => { let a = 'd'; chain.push(a); last_chain = a; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } _ => { let a = 'd'; chain.push(a); last_chain = a; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Dictionary(JSMAP::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } } last_active_char = c.clone(); } '}' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_true = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_false = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_null = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'n' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; value = value.trim().to_string(); match value.find('.') { Some(_) => vv.insert(key, NP_JSON::Float(f64::from_str(&value.clone())?)) , None => vv.insert(key, NP_JSON::Integer(i64::from_str(&value.clone())?)), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num.clone()), log)?; } num = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'v' => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } _ => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } } last_active_char = c.clone(); } ':' => { match last_chain { 's' => {} 'w' => {} 'd' => { let v = 'v'; chain.push(v); last_chain = v; key = string.clone(); NP_Error::unwrap(key.pop())?; d_chain.push(key.clone()); string = "".to_owned(); } _ => {} } last_active_char = c.clone(); } ',' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 't' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 'f' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == '0' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } NP_Error::unwrap(chain.pop())?; recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_null = "".to_owned(); } 'a' => { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); if last_active_char == '[' || last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.push(NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.push(NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.insert(key, NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.insert(key, NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } } 'v' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } _ => {} } last_active_char = c.clone(); } '"' => { match last_chain { 'w' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; string = "".to_owned(); } else if last_chain != 'd' { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { let w = 'w'; chain.push(w); last_chain = w; string = "".to_owned(); } } last_active_char = c.clone(); } '\'' => { match last_chain { 's' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; NP_Error::unwrap(d_chain.pop())?; string = "".to_owned(); } else { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { string = "".to_owned(); let s = 's'; chain.push(s); last_chain = s; } } last_active_char = c.clone(); } '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } '-' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } 't' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let t = 't'; chain.push(t); last_chain = t; s_true = "".to_owned(); s_true.push(c); } } last_active_char = c.clone(); } 'f' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let f = 'f'; chain.push(f); last_chain = f; s_false = "".to_owned(); s_false.push(c); } } last_active_char = c.clone(); } 'n' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let null = '0'; chain.push(null); last_chain = null; s_null = "".to_owned(); s_null.push(c); } } last_active_char = c.clone(); } '\n' => {} _ => {} }; pos += 1; if pos >= size { done = true; } last_c = c.clone(); } Ok(ret) } ================================================ FILE: no_proto_rs/src/lib.rs ================================================ //! Docs! //! #![warn(missing_docs)] #![allow(non_camel_case_types)] #![no_std] #[cfg(test)] #[macro_use] extern crate std; use alloc::sync::Arc; #[cfg(target_endian = "little")] #[macro_use] macro_rules! le_bytes_read { ($type: ty, $bytes: tt) => { unsafe { *($bytes as *const u8 as *const $type) } } } #[cfg(target_endian = "big")] #[macro_use] macro_rules! le_bytes_read { ($type: ty, $bytes: tt) => { <$type>::from_le_bytes(unsafe { *($bytes as *const u8 as *const [u8; core::mem::size_of::<$type>()]) }) } } #[cfg(target_endian = "little")] #[macro_use] macro_rules! le_bytes_write { ($type: ty, $bytes: tt, $value: tt) => { unsafe { let ptr = $bytes as *mut u8 as *mut $type; *ptr = *$value as $type; } } } #[cfg(target_endian = "big")] #[macro_use] macro_rules! le_bytes_write { ($type: ty, $bytes: tt, $value: tt) => { unsafe { let ptr = $bytes as *mut u8 as *mut [u8; core::mem::size_of::<$type>()]; *ptr = (*$value as $type).to_le_bytes(); } } } use crate::error::NP_Error; use crate::memory::NP_Memory; use crate::schema::{NP_Schema}; // use crate::buffer::{NP_Buffer, buffer_rpc}; use core::any::Any; #[allow(dead_code)] #[allow(missing_docs)] #[doc(hidden)] mod map; mod utils; mod error; mod json_flex; mod schema; mod memory; mod buffer; mod values; mod types; mod format; #[macro_use] extern crate alloc; #[allow(dead_code)] #[derive(Debug)] pub struct NP_Factory { /// schema data used by this factory schema: Arc } unsafe impl Send for NP_Factory {} unsafe impl Sync for NP_Factory {} /// When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not. #[allow(dead_code)] #[derive(Debug, Eq, PartialEq, Default)] pub struct NP_Size_Data { /// The size of the existing buffer pub current_buffer: usize, /// The estimated size of buffer after compaction pub after_compaction: usize, /// How many known wasted bytes in existing buffer pub wasted_bytes: usize } // impl NP_Factory { // /// Get a factory from a human generated string schema // /// // pub fn from_schema>(schema: S) -> Result { // let parsed = NP_Schema::parse(schema)?; // Ok(Self { // schema: Arc::new(parsed) // }) // } // /// Get a factory from a compiled schema // /// // pub fn from_compiled_schema(schema: &[u8]) -> Result { // let parsed = NP_Schema::from_bytes(schema)?; // Ok(Self { // schema: Arc::new(parsed) // }) // } // /// Compiles the schema // /// // /// Compiled schemas parse much faster than string schemas, and take up far less space // /// // pub fn compile_schema(&self) -> Result, NP_Error> { // self.schema.to_bytes() // } // /// Get the schema information for a specific data type in the schema // /// // pub fn inspect_schema>(&self, type_path: S) -> Option { // self.schema.get_schema_info(type_path.as_ref()) // } // /// Retrieve arguments from the schema // /// // pub fn query_schema_args>(&self, type_path: S, args_path: S) -> NP_Args { // if let Some(schema) = self.schema.query_schema(type_path.as_ref()) { // if let Some(x) = schema.arguments.query(args_path.as_ref(), self.schema.get_source_as_str()) { // x // } else { // NP_Args::NULL // } // } else { // NP_Args::NULL // } // } // /// Get data from the info block of the schema // /// // pub fn query_info_args>(&self, args_path: S) -> NP_Args { // if let Some(info) = self.schema.name_index.get("__info") { // let result = self.schema.schemas[info.data].arguments.query(args_path.as_ref(), self.schema.get_source_as_str()); // if let Some(x) = result { // x // } else { // NP_Args::NULL // } // } else { // NP_Args::NULL // } // } // /// Open existing Vec as buffer for this factory. // /// // pub fn open_buffer(&self, bytes: Vec) -> Result { // NP_Buffer::_existing(NP_Memory::existing_owned(bytes, self.schema.clone(), 0)) // } // /// Open existing buffer as ready only ref, can much faster if you don't need to mutate anything. // /// // /// All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method. // /// // /// // pub fn open_buffer_ref(&self, bytes: &[u8]) -> Result { // NP_Buffer::_existing( NP_Memory::existing_ref(bytes, self.schema.clone(), 0)) // } // /// Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up. // /// // /// Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer. // /// // /// The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. // /// // /// If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations. // /// // /// // pub fn open_buffer_ref_mut(&self, bytes: &mut [u8], data_len: usize) -> Result { // NP_Buffer::_existing(NP_Memory::existing_ref_mut(bytes, data_len, self.schema.clone(), 0)) // } // /// Generate a new empty buffer from this factory. // /// // /// The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes. // /// // /// // pub fn new_buffer(&self, data_type: &str, capacity: Option) -> Result { // NP_Buffer::_new(buffer_rpc::none, data_type , NP_Memory::new(capacity, self.schema.clone(), 0)) // } // /// Generate a new empty buffer from this factory. // /// // /// Make sure the mutable slice is large enough to fit all the data you plan on putting into it. // /// // pub fn new_buffer_ref_mut(&self, data_type: &str, bytes: &mut [u8]) -> Result { // NP_Buffer::_new(buffer_rpc::none, data_type, NP_Memory::new_ref_mut(bytes, self.schema.clone(), 0)) // } // /// Generate a new RPC request // /// // pub fn rpc_call>(&self, request_name: S) -> Result { // NP_Buffer::_new(buffer_rpc::request, request_name.as_ref() , NP_Memory::new(None, self.schema.clone(), 0)) // } // /// Generate a new RPC response // /// // pub fn rpc_return(&self, request_buffer: &NP_Buffer) -> Result { // request_buffer._generate_response_buffer(NP_Memory::new(None, self.schema.clone(), 0)) // } // } // #[test] // fn test_args() { // let fact = NP_Factory::from_schema(r##" // struct myType [id: 0] { // username: string myName [some: "data"], // list: Vec [someDate: "there"]>, // something: X // } // "##).unwrap(); // println!("{:?}", fact.inspect_schema("myType.username")); // } // #[test] // fn threading_works() -> Result<(), NP_Error> { // let fact = NP_Factory::from_schema("").unwrap(); // let buffer = fact.new_buffer("string", None)?; // std::thread::spawn(move || { // let f = fact.export_schema_bytes(); // let b = buffer; // assert_eq!(6, b.calc_bytes().unwrap().current_buffer); // assert_eq!(8, f.len()); // }).join().unwrap(); // // Ok(()) // } ================================================ FILE: no_proto_rs/src/map.rs ================================================ use alloc::string::String; use alloc::vec::Vec; use crate::error::NP_Error; use core::fmt::{Debug, Formatter}; pub static HASH_SEED: u32 = 2181155409; // #[derive(Clone)] // pub struct NP_HashMap { // data: Vec>, // keys: Vec<(u32, String)> // } #[derive(PartialEq, Clone)] pub struct NP_OrderedMap { pub data: Vec<(String, V)> } impl Default for NP_OrderedMap { fn default() -> Self { NP_OrderedMap::new() } } // impl PartialEq for NP_OrderedMap { // fn eq(&self, other: &Self) -> bool { // if self._read().len() != other._read().len() { // return false; // } // if self._read() != other._read() { // return false; // } // return true; // } // } impl Debug for NP_OrderedMap { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { f.write_str("NP_HashMap:: ")?; for (key, value) in self.iter() { f.write_str(key.as_str())?; f.write_str(": ")?; value.fmt(f)?; f.write_str("; ")?; } Ok(()) } } // const HASH_SIZE: usize = 4096; // impl NP_HashMap { // pub fn empty() -> Self { // Self { data: Vec::with_capacity(1), keys: Vec::new() } // } // pub fn new() -> Self { // let mut vector = Vec::with_capacity(HASH_SIZE); // vector.extend((0..HASH_SIZE).map(|_| Vec::with_capacity(4))); // Self { data: vector, keys: Vec::new() } // } // pub fn set(&mut self, key: &str, value: V) -> Result<(), NP_Error> { // let hash = murmurhash3_x86_32(key.as_bytes(), HASH_SEED); // let bucket = hash as usize % HASH_SIZE; // if self.data[bucket].len() == 0 { // self.data[bucket].push((hash, value)); // self.keys.push((hash, String::from(key))); // } else { // // replace existing value // for (k, v) in self.data[bucket].iter_mut() { // if *k == hash { // *v = value; // return Ok(()) // } // } // // add new value // self.data[bucket].push((hash, value)); // self.keys.push((hash, String::from(key))); // } // Ok(()) // } // fn get_by_hash(&self, hash: u32) -> Option<&V> { // let bucket = hash as usize % HASH_SIZE; // match self.data.get(bucket) { // Some(x) => { // let len = x.len(); // if len == 0 { // return None; // } // if len == 1 { // return if x[0].0 == hash { // Some(&x[0].1) // } else { // None // } // } // for (k, v) in x.iter() { // if *k == hash { // return Some(v) // } // } // None // }, // None => None // } // } // pub fn get(&self, key: &str) -> Option<&V> { // let hash = murmurhash3_x86_32(key.as_bytes(), HASH_SEED); // self.get_by_hash(hash) // } // pub fn delete(&mut self, key: &str) { // let hash = murmurhash3_x86_32(key.as_bytes(), HASH_SEED); // let bucket = hash as usize % HASH_SIZE; // self.keys.retain(|(h, _key)| hash != *h); // match self.data.get_mut(bucket) { // Some(bucket) => { // bucket.retain(|(k, _v)| *k != hash); // }, // _ => { } // } // } // pub fn iter(&self) -> NP_HashMap_Iterator { // NP_HashMap_Iterator { hashmap: self, index: 0, length: self.keys.len() } // } // pub fn iter_keys(&self) -> NP_HashMap_Iterator_Keys { // NP_HashMap_Iterator_Keys { hashmap: self, index: 0, length: self.keys.len() } // } // pub fn keys(&self) -> &Vec<(u32, String)> { // &self.keys // } // } // const HASH_SIZE: usize = 4096; impl NP_OrderedMap { pub fn empty() -> Self { NP_OrderedMap { data: Vec::with_capacity(1) } } pub fn new() -> Self { NP_OrderedMap { data: Vec::with_capacity(1024) } } pub fn set(&mut self, key: &str, value: V) { if self.data.len() == 0 { self.data.push((String::from(key), value)); return } match self.data.binary_search_by(|(k, _)| k.as_str().cmp(key)) { Ok(pos) => { // found in list self.data[pos].1 = value; }, Err(pos) => { // not found, but insert position found self.data.insert(pos, (String::from(key), value)) } } } pub fn get(&self, key: &str) -> Option<&V> { match self.data.binary_search_by(|(k, _)| k.as_str().cmp(key)) { Ok(pos) => Some(&self.data[pos].1), Err(_) => None } } pub fn del(&mut self, key: &str) { match self.data.binary_search_by(|(k, _)| k.as_str().cmp(key)) { Ok(pos) => { self.data.remove(pos); }, Err(_) => { // do nothing } }; } pub fn iter(&self) -> NP_HashMap_Iterator { NP_HashMap_Iterator { hashmap: self, index: 0, length: self.data.len() } } pub fn iter_keys(&self) -> NP_HashMap_Iterator_Keys { NP_HashMap_Iterator_Keys { hashmap: self, index: 0, length: self.data.len() } } pub fn _read(&self) -> &Vec<(String, V)> { &self.data } } pub struct NP_HashMap_Iterator_Keys<'iter, V: Debug + PartialEq> { hashmap: &'iter NP_OrderedMap, length: usize, index: usize } impl<'iter, V: Debug + PartialEq> Iterator for NP_HashMap_Iterator_Keys<'iter, V> { type Item = &'iter String; fn next(&mut self) -> Option { if self.index >= self.length { return None } let key = &self.hashmap._read()[self.index].0; self.index += 1; Some(key) } } pub struct NP_HashMap_Iterator<'iter, V: Debug + PartialEq> { hashmap: &'iter NP_OrderedMap, length: usize, index: usize } impl<'iter, V: Debug + PartialEq> Iterator for NP_HashMap_Iterator<'iter, V> { type Item = (&'iter String, &'iter V); fn next(&mut self) -> Option { if self.index >= self.length { return None } let (key, value) = &self.hashmap._read()[self.index]; self.index += 1; return Some((key, value)); } } // #[test] // fn hash_map_test() { // let mut hash: NP_HashMap = NP_HashMap::new(); // // hash.set("hello", 32); // hash.set("world", 52); // hash.set("another", 22); // // // println!("{:?}", hash.get("world")); // // for (key, value) in hash.iter() { // println!("{} {:?}", key, value); // } // // } // https://github.com/mhallin/murmurhash3-rs // // The MIT License (MIT) // // Copyright (c) 2015 Magnus Hallin // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. #[inline(always)] fn fmix32(mut h: u32) -> u32 { h ^= h >> 16; h = h.wrapping_mul(0x85ebca6b); h ^= h >> 13; h = h.wrapping_mul(0xc2b2ae35); h ^= h >> 16; return h; } #[inline(always)] fn get_32_block(bytes: &[u8], index: usize) -> u32 { let real_index = index.wrapping_mul(4); let u32_bytes = &bytes[real_index..(real_index + 4)]; return unsafe { let bytes = *(u32_bytes as *const [u8] as *const [u8; 4]); core::mem::transmute(bytes) } } #[inline(always)] pub fn murmurhash3_x86_32(bytes: &[u8], seed: u32) -> u32 { let c1 = 0xcc9e2d51u32; let c2 = 0x1b873593u32; let read_size = 4; let len = bytes.len() as u32; let block_count = len / read_size; let mut h1 = seed; for i in 0..block_count as usize { let mut k1 = get_32_block(bytes, i); k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; h1 = h1.rotate_left(13); h1 = h1.wrapping_mul(5); h1 = h1.wrapping_add(0xe6546b64) } let mut k1 = 0u32; if len & 3 == 3 { k1 ^= (bytes[(block_count * read_size) as usize + 2] as u32) << 16; } if len & 3 >= 2 { k1 ^= (bytes[(block_count * read_size) as usize + 1] as u32) << 8; } if len & 3 >= 1 { k1 ^= bytes[(block_count * read_size) as usize + 0] as u32; k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; } h1 ^= bytes.len() as u32; h1 = fmix32(h1); return h1; } fn fmix64(mut k: u64) -> u64 { k ^= k >> 33; k = k.wrapping_mul(0xff51afd7ed558ccdu64); k ^= k >> 33; k = k.wrapping_mul(0xc4ceb9fe1a85ec53u64); k ^= k >> 33; return k; } fn get_128_block(bytes: &[u8], index: usize) -> (u64, u64) { let b64: &[u64] = unsafe { core::mem::transmute(bytes) }; return (b64[index], b64[index + 1]); } pub fn murmurhash3_x64_128(bytes: &[u8], seed: u64) -> (u64, u64) { let c1 = 0x87c37b91114253d5u64; let c2 = 0x4cf5ad432745937fu64; let read_size = 16; let len = bytes.len() as u64; let block_count = len / read_size; let (mut h1, mut h2) = (seed, seed); for i in 0..block_count as usize { let (mut k1, mut k2) = get_128_block(bytes, i * 2); k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(31); k1 = k1.wrapping_mul(c2); h1 ^= k1; h1 = h1.rotate_left(27); h1 = h1.wrapping_add(h2); h1 = h1.wrapping_mul(5); h1 = h1.wrapping_add(0x52dce729); k2 = k2.wrapping_mul(c2); k2 = k2.rotate_left(33); k2 = k2.wrapping_mul(c1); h2 ^= k2; h2 = h2.rotate_left(31); h2 = h2.wrapping_add(h1); h2 = h2.wrapping_mul(5); h2 = h2.wrapping_add(0x38495ab5); } let (mut k1, mut k2) = (0u64, 0u64); if len & 15 == 15 { k2 ^= (bytes[(block_count * read_size) as usize + 14] as u64) << 48; } if len & 15 >= 14 { k2 ^= (bytes[(block_count * read_size) as usize + 13] as u64) << 40; } if len & 15 >= 13 { k2 ^= (bytes[(block_count * read_size) as usize + 12] as u64) << 32; } if len & 15 >= 12 { k2 ^= (bytes[(block_count * read_size) as usize + 11] as u64) << 24; } if len & 15 >= 11 { k2 ^= (bytes[(block_count * read_size) as usize + 10] as u64) << 16; } if len & 15 >= 10 { k2 ^= (bytes[(block_count * read_size) as usize + 9] as u64) << 8; } if len & 15 >= 9 { k2 ^= bytes[(block_count * read_size) as usize + 8] as u64; k2 = k2.wrapping_mul(c2); k2 = k2.rotate_left(33); k2 = k2.wrapping_mul(c1); h2 ^= k2; } if len & 15 >= 8 { k1 ^= (bytes[(block_count * read_size) as usize + 7] as u64) << 56; } if len & 15 >= 7 { k1 ^= (bytes[(block_count * read_size) as usize + 6] as u64) << 48; } if len & 15 >= 6 { k1 ^= (bytes[(block_count * read_size) as usize + 5] as u64) << 40; } if len & 15 >= 5 { k1 ^= (bytes[(block_count * read_size) as usize + 4] as u64) << 32; } if len & 15 >= 4 { k1 ^= (bytes[(block_count * read_size) as usize + 3] as u64) << 24; } if len & 15 >= 3 { k1 ^= (bytes[(block_count * read_size) as usize + 2] as u64) << 16; } if len & 15 >= 2 { k1 ^= (bytes[(block_count * read_size) as usize + 1] as u64) << 8; } if len & 15 >= 1 { k1 ^= bytes[(block_count * read_size) as usize + 0] as u64; k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(31); k1 = k1.wrapping_mul(c2); h1 ^= k1; } h1 ^= bytes.len() as u64; h2 ^= bytes.len() as u64; h1 = h1.wrapping_add(h2); h2 = h2.wrapping_add(h1); h1 = fmix64(h1); h2 = fmix64(h2); h1 = h1.wrapping_add(h2); h2 = h2.wrapping_add(h1); return (h1, h2); } ================================================ FILE: no_proto_rs/src/memory.rs ================================================ //! Internal buffer memory management use crate::{error::NP_Error}; use core::cell::UnsafeCell; use alloc::vec::Vec; use crate::schema::{NP_Schema}; use alloc::sync::Arc; #[doc(hidden)] #[derive(PartialEq, Debug)] pub enum NP_Memory_Kind { Owned { vec: Vec }, Ref { vec: *const [u8] }, RefMut { vec: *mut [u8], len: usize } } #[doc(hidden)] #[derive(Debug)] pub struct NP_Memory { bytes: UnsafeCell, pub root: usize, pub schema: Arc, pub max_size: usize, pub is_mutable: bool, } unsafe impl Send for NP_Memory {} impl Clone for NP_Memory { fn clone(&self) -> Self { Self { root: self.root, max_size: self.max_size, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: self.read_bytes().to_vec() }), schema: self.schema.clone(), is_mutable: true } } } #[doc(hidden)] impl NP_Memory { #[inline(always)] pub fn existing_owned(bytes: Vec, schema: Arc, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn existing_ref(bytes: *const [u8], schema: Arc, root: usize) -> Self { Self { root, max_size: 0, bytes: UnsafeCell::new(NP_Memory_Kind::Ref { vec: bytes }), schema: schema, is_mutable: false } } #[inline(always)] pub fn existing_ref_mut(bytes: *mut [u8], len: usize, schema: Arc, root: usize) -> Self { Self { root, max_size: usize::min(u32::MAX as usize, len), bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: len }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new(capacity: Option, schema: Arc, root: usize) -> Self { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // root pointer // new_bytes.extend(&[0u8; 4]); Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new_ref_mut(bytes: *mut [u8], schema: Arc, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: 0 }), schema: schema, is_mutable: true } } pub fn new_empty(&self, capacity: Option) -> Result { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // root pointer // new_bytes.extend(&[0u8; 4]); Ok(Self { root: self.root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: self.schema.clone(), is_mutable: true }) } pub fn is_ref_mut(&self) -> bool { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::RefMut { .. } => true, _ => false } } pub fn set_length(&mut self, new_len: usize) -> Result<(), NP_Error> { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::Ref { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::RefMut { len, .. } => { *len = new_len; Ok(()) } } } pub fn set_max_length(&mut self, len: usize) { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { self.max_size = usize::min(u32::MAX as usize, len); }, NP_Memory_Kind::Ref { .. } => { // NO OP }, NP_Memory_Kind::RefMut { .. } => { self.max_size = usize::min(u32::MAX as usize, len); } } } #[inline(always)] pub fn length(&self) -> usize { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec} => vec.len(), NP_Memory_Kind::Ref { .. } => 0, NP_Memory_Kind::RefMut { len, .. } => *len } } #[inline(always)] pub fn get_schema(&self) -> &NP_Schema { &*self.schema } // #[inline(always)] // pub fn get_schema(&self, idx: usize) -> &NP_Parsed_Schema { // &(unsafe { *(*self.schema).schemas })[idx] // } #[inline(always)] pub fn malloc_borrow(&self, bytes: &[u8]) -> Result { let location = self.length(); // not enough space left? if location + bytes.len() >= self.max_size { return Err(NP_Error::MemoryOutOfSpace) } let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => { vec.extend_from_slice(bytes); }, NP_Memory_Kind::Ref { .. } => { return Err(NP_Error::MemoryReadOnly) }, NP_Memory_Kind::RefMut { vec, len } => { let v = unsafe { &mut **vec }; *len += bytes.len(); for (x, b) in bytes.iter().enumerate() { v[location + x] = *b; } } } Ok(location) } #[inline(always)] pub fn malloc(&self, bytes: Vec) -> Result { self.malloc_borrow(&bytes) } #[inline(always)] pub fn read_bytes(&self) -> &[u8] { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &vec[..], NP_Memory_Kind::Ref { vec } => unsafe { &**vec }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &**vec }, } } #[inline(always)] pub fn write_bytes(&self) -> &mut [u8] { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &mut vec[..], NP_Memory_Kind::Ref { vec } => unsafe { let const_ptr = *vec; let mut_ptr = const_ptr as *mut [u8]; &mut *mut_ptr }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &mut **vec }, } } #[inline(always)] pub fn get_1_byte(&self, address: usize) -> Option { // empty value if address == 0 { return None; } Some(self.read_bytes()[address]) } #[inline(always)] pub fn get_2_bytes(&self, address: usize) -> Option<&[u8; 2]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 2 { return None; } let slice = &self_bytes[address..(address + 2)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 2]) }) } #[inline(always)] pub fn get_4_bytes(&self, address: usize) -> Option<&[u8; 4]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 4 { return None; } let slice = &self_bytes[address..(address + 4)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 4]) }) } #[inline(always)] pub fn get_8_bytes(&self, address: usize) -> Option<&[u8; 8]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 8 { return None; } let slice = &self_bytes[address..(address + 8)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 8]) }) } #[inline(always)] pub fn get_16_bytes(&self, address: usize) -> Option<&[u8; 16]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 16 { return None; } let slice = &self_bytes[address..(address + 16)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 16]) }) } #[inline(always)] pub fn get_32_bytes(&self, address: usize) -> Option<&[u8; 32]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 32 { return None; } let slice = &self_bytes[address..(address + 32)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 32]) }) } pub fn dump(self) -> Vec { let bytes = self.bytes.into_inner(); match bytes { NP_Memory_Kind::Owned { vec } => vec, NP_Memory_Kind::Ref { vec } => Vec::from(unsafe { &*vec }), NP_Memory_Kind::RefMut { vec, .. } => Vec::from(unsafe { &*vec }) } } } ================================================ FILE: no_proto_rs/src/pointer/any.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::{JSMAP}, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}}; use alloc::vec::Vec; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; /// Any data type #[derive(Debug)] pub struct NP_Any { } #[allow(unused_variables)] impl<'value> NP_Value<'value> for NP_Any { fn type_idx() -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String("any".to_owned())); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("any()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Err(NP_Error::new("Can't set JSON at any type!")) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't use .set() with (Any), must cast first with NP_Any::cast(pointer).")) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { Err(NP_Error::new("Type (Any) doesn't support .into()!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_JSON::Null } fn get_size(depth:usize, _cursor: &NP_Cursor, _memory: &NP_Memory) -> Result { Ok(0) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { Err(NP_Error::new("Cannot compact an ANY field!")) } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Any as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); return Ok((false, schema_data, schema)); } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); (false, schema) } } impl<'value> Default for NP_Any { fn default() -> Self { NP_Any {} } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"any\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/bool.rs ================================================ //! NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bool()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], true)?; //! //! assert_eq!(true, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bool_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use crate::NP_Memory; use alloc::string::ToString; use super::NP_Cursor; impl<'value> super::NP_Scalar<'value> for bool { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(true) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(false) } } impl<'value> NP_Value<'value> for bool { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), match d { true => NP_JSON::True, false => NP_JSON::False }); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; data.default } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::True => { Self::set_value(cursor, memory, true)?; }, NP_JSON::False => { Self::set_value(cursor, memory, false)?; }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value(); if value_address != 0 { // existing value, replace // overwrite existing values in buffer memory.write_bytes()[value_address as usize] = if value == true { 1 } else { 0 }; return Ok(cursor); } else { // new value let bytes = if value == true { [1] as [u8; 1] } else { [0] as [u8; 1] }; value_address = memory.malloc_borrow(&bytes)? as u32; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_1_byte(value_addr) { Some(x) => { Some(if x == 1 { true } else { false }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { if y == true { NP_JSON::True } else { NP_JSON::False } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bool_Data) }; if let Some(d) = data.default { if d == true { NP_JSON::True } else { NP_JSON::False } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; let mut result = String::from("bool("); if let Some(x) = data.default { result.push_str("{default: "); if x == true { result.push_str("true"); } else { result.push_str("false"); } result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::bool { state } => { default = Some(*state); }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match default { Some(x) => { if x == false { schema_data.push(2); } else { schema_data.push(1); } Some(x) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match json_schema["default"] { NP_JSON::False => { schema_data.push(2); Some(false) }, NP_JSON::True => { schema_data.push(1); Some(true) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default: match bytes[address + 1] { 0 => None, 1 => Some(true), 2 => Some(false), _ => unreachable!() } })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bool({default: false})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bool()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), false); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], false)?; assert_eq!(buffer.get::(&[])?.unwrap(), false); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/bytes.rs ================================================ //! Represents arbitrary bytes type //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bytes()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as &[u8])?; //! //! assert_eq!(&[0u8, 1, 2, 3, 4] as &[u8], new_buffer.get::<&[u8]>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bytes_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Arbitrary bytes /// Alias for Vec pub type NP_Bytes = Vec; /// Arbitrary bytes, borrowed /// Alias for &[u8] pub type NP_Borrow_Bytes<'bytes> = &'bytes [u8]; impl<'value> super::NP_Scalar<'value> for NP_Bytes { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Bytes_Data) }; Some(if data.size > 0 { let mut v: Vec = Vec::with_capacity(data.size as usize); for _x in 0..data.size { v.push(0u8); } v } else { Vec::new() }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(255); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(0); } Some(value) } } } impl<'value> NP_Value<'value> for NP_Bytes { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size as i64)); } // no default right now if let Some(d) = &data.default { let default_bytes: Vec = d.iter().map(|value| { NP_JSON::Integer(i64::from(*value)) }).collect(); schema_json.insert("default".to_owned(), NP_JSON::Array(default_bytes)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_Borrow_Bytes::set_value(cursor, memory, &value) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("["); def.push_str(x.iter().map(|b| b.to_string()).collect::>().join(",").as_str()); def.push_str("]"); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } Ok(if properties.len() == 0 { String::from("bytes()") } else { let mut final_str = String::from("bytes({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); final_str }) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option> = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::array { values } => { let mut default_vals: Vec = Vec::new(); for val in values { match val { JS_AST::number { addr } => { match idl.get_str(addr).parse::() { Ok(x) => { default_vals.push(x); }, _ => {} } }, _ => { } } } default = Some(default_vals); }, _ => { } } } _ => { } } } } _ => { } } }; if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { schema_data.extend_from_slice(&((x.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(&x[..]); } else { schema_data.extend(0u16.to_be_bytes().to_vec()); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(bytes) => { let mut target: Vec = Vec::new(); bytes.iter().for_each(|json| { match json { NP_JSON::Integer(x) => { target.push(*x as u8); }, NP_JSON::Float(x) => { target.push(*x as u8); }, _ => { target.push(0); } } }); Self::set_value(cursor, memory, target)?; }, _ => { } } Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_Borrow_Bytes::into_value(cursor, memory)? { Some(bytes) => Ok(Some(bytes.to_vec())), None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let bytes = y.iter().map(|x| NP_JSON::Integer(*x as i64)).collect(); NP_JSON::Array(bytes) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; match &data.default { Some(x) => { let bytes = x.iter().map(|v| { NP_JSON::Integer(*v as i64) }).collect::>(); NP_JSON::Array(bytes) }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut has_fixed_size = false; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0 } }; let default = match &json_schema["default"] { NP_JSON::Array(bytes) => { let default_bytes: Vec = bytes.iter().map(|v| { match v { NP_JSON::Integer(x) => { *x as u8}, _ => { 0u8 } } }).collect(); let length = default_bytes.len() as u16 + 1; schema_data.extend(length.to_be_bytes().to_vec()); schema_data.extend(default_bytes.clone()); Some(default_bytes) }, _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8), sortable: has_fixed_size }); return Ok((has_fixed_size, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // fixed size let fixed_size = u32::from_be_bytes([ bytes[address + 1], bytes[address + 2], bytes[address + 3], bytes[address + 4] ]); // default value size let default_size = u16::from_be_bytes([ bytes[address + 5], bytes[address + 6] ]) as usize; if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: None })) as *const u8) }); } else { let default_bytes = &bytes[(address + 7)..(address + 7 + (default_size - 1))]; schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: Some(default_bytes.to_vec()) })) as *const u8), sortable: fixed_size > 0 }); } (fixed_size > 0, schema) } } impl<'value> super::NP_Scalar<'value> for &[u8] { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_Borrow_Bytes<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Bytes::schema_to_json(schema, address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, addr: usize, schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(&d[..]) } else { None } } // This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("bytes()")) } // This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let bytes = value; let str_size = bytes.len() as usize; let mut write_bytes = memory.write_bytes(); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let mut empty_bytes: Vec = Vec::with_capacity(size as usize); for _x in 0..size { empty_bytes.push(0); } let new_addr = memory.malloc(empty_bytes)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is zeros write_bytes[(addr + x)] = 0; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("Bytes too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(bytes)); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(bytes)); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Bytes::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_Bytes::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Bytes::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Bytes::from_bytes_to_schema(schema, address, bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bytes({default: [22,208,10,78,1,19,85], size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes({size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[22,208,10,78,1,19,85]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[1,2,3,4]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1,2,3,4]); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] as &[u8]); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8]); buffer.del(&[])?; assert_eq!(buffer.get::<&[u8]>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/date.rs ================================================ //! Stores the current unix epoch in u64. //! //! Epoch should be stored in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new("date()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Date::new(1604965249484))?; //! //! assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Parsed_Schema, NP_Value_Kind, NP_u64_Data}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug, Formatter}}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds Date data. /// /// Check out documentation [here](../date/index.html). /// #[derive(Clone, Copy, Eq, PartialEq)] #[repr(C)] pub struct NP_Date { /// The value of the date pub value: u64 } impl<'value> super::NP_Scalar<'value> for NP_Date { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MAX }) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MIN }) } } impl NP_Date { /// Create a new date type with the given time pub fn new(time_ms: u64) -> Self { NP_Date { value: time_ms } } } impl Default for NP_Date { fn default() -> Self { NP_Date { value: 0 } } } impl Debug for NP_Date { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.value) } } impl<'value> NP_Value<'value> for NP_Date { fn type_idx() -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), NP_JSON::Integer(d as i64)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_u64_Data) }; if let Some(d) = data.default { Some(NP_Date { value: d.clone() }) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let value = match &**value { NP_JSON::Integer(x) => *x as u64, NP_JSON::Float(x) => *x as u64, _ => 0 }; Self::set_value(cursor, memory, NP_Date::new(value))?; Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value.to_be_bytes(); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let bytes = value.value.to_be_bytes(); value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_8_bytes(value_addr) { Some(x) => { Some(NP_Date { value: u64::from_be_bytes(*x) }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::Integer(y.value as i64) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_u64_Data) }; if let Some(d) = data.default { NP_JSON::Integer(d.clone() as i64) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; let mut result = String::from("date("); if let Some(x) = data.default { result.push_str("{default: "); result.push_str(x.to_string().as_str()); result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing default of date!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend_from_slice(&(x as u64).to_be_bytes()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match json_schema["default"] { NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as u64).to_be_bytes().to_vec()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let has_default = bytes[address + 1]; let default = if has_default == 0 { None } else { let bytes_slice = &bytes[(address + 2)..(address + 10)]; let mut u64_bytes = 0u64.to_be_bytes(); u64_bytes.copy_from_slice(bytes_slice); Some(u64::from_be_bytes(u64_bytes)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\",\"default\":1605138980392}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Date::new(1605138980392)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Date::new(1605138980392))?; assert_eq!(buffer.get::(&[])?, Some(NP_Date::new(1605138980392))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/dec.rs ================================================ //! Represents a fixed point decimal number. //! //! Allows floating point values to be stored without rounding errors, useful for storing financial data. //! //! Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot. //! //! NP_Dec values contain two parts: //! 1. The actual number value (`num`) //! 2. The position of the decimal point from the right (`exp`) //! //! A value of "2039.756" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`. //! //! The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. //! //! If `exp` is zero, all values stored are whole numbers. //! //! For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. //! However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13. //! //! Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision. //! //! `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect. //! //! When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema. //! //! ``` //! use no_proto::pointer::dec::NP_Dec; //! //! // Creating a new NP_Dec for 20.49 //! let mut dec = NP_Dec::new(2049, 2); //! //! // add 2 //! dec += NP_Dec::new(200, 2); //! //! // add 0.03 //! dec += NP_Dec::new(3, 2); //! //! // convert float then use it to minus 5 //! let mut f: NP_Dec = 5.0_f64.into(); //! f.shift_exp(2); // set new NP_Dec to `exp` of 2. //! dec -= f; // subtract //! //! assert_eq!(dec.to_float(), 17.52_f64); //! //! ``` //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new("dec({exp: 2})")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Dec::new(50283, 2))?; //! //! assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use alloc::prelude::v1::Box; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Dec_Data, NP_Value_Kind}, utils::to_signed}; use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds fixed decimal data. /// /// Check out documentation [here](../dec/index.html). /// #[derive(Clone, Copy, Debug)] pub struct NP_Dec { /// The number being stored, does not include decimal point data pub num: i64, /// The exponent of this number pub exp: i8 } impl<'value> super::NP_Scalar<'value> for NP_Dec { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Dec_Data) }; Some(NP_Dec { exp: data.exp, num: 0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MAX, data.exp)) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MIN, data.exp)) } } impl NP_Dec { /// Convert an NP_Dec into a native floating point value. /// /// DO NOT use this to perform calculations, only to export/display the value. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.to_float(), 2.203f64); /// ``` /// pub fn to_float(&self) -> f64 { let m = self.num as f64; let mut step = self.exp; let mut s = 1f64; while step > 0 { s *= 10f64; step -= 1; } m / s } /// Shift the exponent of this NP_Dec to a new value. /// /// If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value. /// /// If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2 /// /// assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the "03" at the end because of reducing the `exp` value. /// /// ``` pub fn shift_exp(&mut self, new_exp: u8) -> NP_Dec { let diff = self.exp as i64 - new_exp as i64; let mut step = i64::abs(diff); if self.exp == new_exp { return *self } if diff < 0 { // moving decimal to right while step > 0 { self.num *= 10; step -=1; } } else { // moving decimal to left while step > 0 { self.num /= 10; step -=1; } } self.exp = new_exp; *self } /// Generate a new NP_Dec value /// /// First argument is the `num` value, second is the `exp` or exponent. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(2, 0); // stores "2.00" /// assert_eq!(x.to_float(), 2f64); /// /// let x = NP_Dec::new(2, 1); // stores "0.20" /// assert_eq!(x.to_float(), 0.2f64); /// /// let x = NP_Dec::new(2, 2); // stores "0.02" /// assert_eq!(x.to_float(), 0.02f64); /// /// let x = NP_Dec::new(5928, 1); // stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(59280, 2); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(592800, 3); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// ``` pub fn new(num: i64, exp: u8) -> Self { NP_Dec { num, exp } } /// Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec. /// /// This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// let other_num = NP_Dec::new(50, 1); // value is 5.0 /// /// let matched_dec = my_num.match_exp(&other_num); /// // `exp` values match now! They're both 3. /// assert_eq!(matched_dec.exp, my_num.exp); /// ``` /// pub fn match_exp(&self, other: &NP_Dec) -> NP_Dec { let mut other_copy = other.clone(); if other_copy.exp == self.exp { return other_copy } other_copy.shift_exp(self.exp); other_copy } /// Export NP_Dec to it's component parts. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.export(), (2203i64, 3u8)); /// ``` pub fn export(&self) -> (i64, u8) { (self.num, self.exp) } } /// Check if two NP_Dec are equal or not equal /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) != NP_Dec::new(200, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(203, 1) != NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// ``` impl core::cmp::PartialEq for NP_Dec { fn ne(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num != other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num != new_other.num; } } fn eq(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num == other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num == new_other.num; } } } /// Compare two NP_Dec /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(203, 1) > NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) < NP_Dec::new(203, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) > NP_Dec::new(202, 0); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) == NP_Dec::new(2020100, 4); /// assert_eq!(result, true); /// ``` impl core::cmp::PartialOrd for NP_Dec { fn lt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num < other.num; } else { let new_other = self.match_exp(other); return self.num < new_other.num; } } fn le(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num <= other.num; } else { let new_other = self.match_exp(other); return self.num <= new_other.num; } } fn gt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num > other.num; } else { let new_other = self.match_exp(other); return self.num > new_other.num; } } fn ge(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num >= other.num; } else { let new_other = self.match_exp(other); return self.num >= new_other.num; } } fn partial_cmp(&self, other: &NP_Dec) -> Option { let (a, b) = if self.exp == other.exp { (self.num, other.num) } else { let new_other = self.match_exp(other); (self.num, new_other.num) }; if a > b { return Some(core::cmp::Ordering::Greater); } else if a < b { return Some(core::cmp::Ordering::Less); } else if a == b { return Some(core::cmp::Ordering::Equal); } return None; } } /// Converts an NP_Dec into an Int32, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i32 = x.into(); /// /// assert_eq!(y, 101i32); /// ``` impl Into for NP_Dec { fn into(self) -> i32 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value as i32 } } /// Converts an Int32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num as i32, x); /// ``` impl Into for i32 { fn into(self) -> NP_Dec { NP_Dec::new(self as i64, 0) } } /// Converts an NP_Dec into an Int64, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i64 = x.into(); /// /// assert_eq!(y, 101i64); /// ``` impl Into for NP_Dec { fn into(self) -> i64 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value } } /// Converts an Int64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num, x); /// ``` impl Into for i64 { fn into(self) -> NP_Dec { NP_Dec::new(self, 0) } } fn round_f64(n: f64) -> f64 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f64).min(core::i64::MAX as f64); (bounds_value as i64) as f64 } fn round_f32(n: f32) -> f32 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f32).min(core::i64::MAX as f32); (bounds_value as i64) as f32 } fn round(n: f64, precision: u32) -> f64 { round_f64(n * 10_u32.pow(precision) as f64) / 10_i32.pow(precision) as f64 } fn precision(x: f64) -> Option { for digits in 0..core::f64::DIGITS { if round(x, digits) == x { return Some(digits); } } None } fn round32(n: f32, precision: u32) -> f32 { round_f32(n * 10_u32.pow(precision) as f32) / 10_i32.pow(precision) as f32 } fn precision32(x: f32) -> Option { for digits in 0..core::f64::DIGITS { if round32(x, digits) == x { return Some(digits); } } None } /// Converts a NP_Dec into a Float64 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f64 = x.into(); /// /// assert_eq!(y, x.to_float()); /// ``` impl Into for NP_Dec { fn into(self) -> f64 { self.to_float() } } /// Converts a Float64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float(), x); /// ``` impl Into for f64 { fn into(self) -> NP_Dec { match precision(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f64; loop_exp -= 1; } let value = round_f64(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f64(self) as i64; return NP_Dec::new(value, 0); } } } } /// Converts a NP_Dec into a Float32 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f32 = x.into(); /// /// assert_eq!(y, x.to_float() as f32); /// ``` impl Into for NP_Dec { fn into(self) -> f32 { self.to_float() as f32 } } /// Converts a Float32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float() as f32, x); /// ``` impl Into for f32 { fn into(self) -> NP_Dec { match precision32(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f32; loop_exp -= 1; } let value = round_f32(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f32(self) as i64; return NP_Dec::new(value, 0); } } } } impl core::ops::DivAssign for NP_Dec { // a /= b fn div_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } } } impl core::ops::Div for NP_Dec { // a / b type Output = NP_Dec; fn div(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } return self; } } impl core::ops::SubAssign for NP_Dec { // a -= b fn sub_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } } } impl core::ops::Sub for NP_Dec { // a - b type Output = NP_Dec; fn sub(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } return self; } } impl core::ops::AddAssign for NP_Dec { // a += b fn add_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } } } impl core::ops::Add for NP_Dec { // a + b type Output = NP_Dec; fn add(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } return self; } } impl core::ops::MulAssign for NP_Dec { // a *= b fn mul_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } } } impl core::ops::Mul for NP_Dec { // a * b type Output = NP_Dec; fn mul(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } return self; } } impl Default for NP_Dec { fn default() -> Self { NP_Dec::new(0,0) } } impl<'value> NP_Value<'value> for NP_Dec { fn type_idx() -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; schema_json.insert("exp".to_owned(), NP_JSON::Integer(data.exp.clone() as i64)); if let Some(d) = data.default { let value = NP_Dec::new(d.num.clone(), data.exp.clone()); schema_json.insert("default".to_owned(), NP_JSON::Float(value.into())); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Dec_Data) }; if let Some(d) = data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(map) => { if let Some(NP_JSON::Dictionary(parts)) = map.get("parts") { if let Some(NP_JSON::Integer(num)) = parts.get("num") { if let Some(NP_JSON::Integer(exp)) = parts.get("exp") { Self::set_value(cursor, memory, NP_Dec::new(*num, *exp as u8))?; } else { return Err(NP_Error::new("Decimal types require a `parts.exp` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts.num` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts` property!")) } }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; let mut cloned_value = (value).clone(); cloned_value.shift_exp(exp); let i64_value = cloned_value.num; if value_address != 0 { // existing value, replace let mut bytes = i64_value.to_be_bytes(); // convert to unsigned bytes[0] = to_unsigned(bytes[0]); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let mut be_bytes = i64_value.to_be_bytes(); // convert to unsigned be_bytes[0] = to_unsigned(be_bytes[0]); value_address = memory.malloc_borrow(&be_bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; Ok(match memory.get_8_bytes(value_addr) { Some(x) => { let mut be_bytes = x.clone(); be_bytes[0] = to_signed(be_bytes[0]); Some(NP_Dec::new(i64::from_be_bytes(be_bytes), exp)) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(y.num)); parts.insert("exp".to_owned(), NP_JSON::Integer(exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(y.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; if let Some(d) = data.default { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(d.num.clone())); parts.insert("exp".to_owned(), NP_JSON::Integer(data.exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(d.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; let mut result = String::from("dec({exp: "); result.push_str(data.exp.to_string().as_str()); if let Some(x) = data.default { result.push_str(", default: "); result.push_str(x.to_float().to_string().as_str()); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut exp: Option = None; let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "exp" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { exp = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal value!")) } }, _ => { } } }, "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal default!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp = if let Some(x) = exp { schema_data.push(x as u8); x } else { return Err(NP_Error::new("Decimal type requires 'exp' property!")) }; let mult = 10i64.pow(exp as u32); let default = match default { Some(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp: u8; match json_schema["exp"] { NP_JSON::Integer(x) => { if x > 255 || x < 0 { return Err(NP_Error::new("Decimal 'exp' property must be between 0 and 255!")) } exp = x as u8; schema_data.push(x as u8); }, _ => { return Err(NP_Error::new("Decimal type requires 'exp' property!")) } } let mult = 10i64.pow(exp as u32); let default = match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, NP_JSON::Integer(x) => { schema_data.push(1); let value = x * (mult as i64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); // schema_data.extend(0i64.to_be_bytes().to_vec()) None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let exp = bytes[address + 1]; let default = if bytes[address + 2] == 0 { None } else { let mut slice = 0i64.to_be_bytes(); slice.copy_from_slice(&bytes[(address + 3)..address + 11]); let value = i64::from_be_bytes(slice); Some(NP_Dec::new(value, exp)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "dec({exp: 3, default: 203.293})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "dec({exp: 3})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"decimal\",\"exp\":3}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\": 3}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Dec::new(203293, 3))?; assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/geo.rs ================================================ //! Represents a Geographic Coordinate (lat / lon) //! //! When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new("geo4()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?; //! //! assert_eq!("{\"lat\":45.5,\"lng\":-122.71}", new_buffer.get::(&[])?.unwrap().into_json().stringify()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Geo_Data, NP_Parsed_Schema, NP_Value_Kind}}; use alloc::vec::Vec; use crate::utils::to_signed; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_Schema, NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use core::convert::TryInto; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; use crate::NP_Memory; /// Allows you to efficiently retrieve just the bytes of the geographic coordinate #[derive(Debug, Eq, PartialEq)] pub struct NP_Geo_Bytes { /// Size of this coordinate: 4, 8 or 16 pub size: u8, /// latitude bytes pub lat: Vec, /// longitude bytes pub lng: Vec } impl<'value> super::NP_Scalar<'value> for NP_Geo_Bytes{ fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 0.0, lng: 0.0}.get_bytes() } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 90f64, lng: 180f64}.get_bytes() } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: -90f64, lng: -180f64}.get_bytes() } } impl NP_Geo_Bytes { /// Get the actual geographic coordinate for these bytes pub fn into_geo(self) -> NP_Geo { match self.size { 16 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 8]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i64::from_be_bytes(bytes_lat) as f64 / dev; let lon = i64::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 8 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 4]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i32::from_be_bytes(bytes_lat) as f64 / dev; let lon = i32::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 4 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 2]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i16::from_be_bytes(bytes_lat) as f64 / dev; let lon = i16::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, _ => { NP_Geo { lat: 0f64, lng: 0f64, size: 4} } } } } impl Default for NP_Geo_Bytes { fn default() -> Self { NP_Geo_Bytes { lat: Vec::new(), lng: Vec::new(), size: 4 } } } impl<'value> NP_Value<'value> for NP_Geo_Bytes { fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn schema_to_idl(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_idl(schema, address) } fn from_idl_to_schema(schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_idl_to_schema(schema, name, idl, args) } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_json(schema, address)} fn set_value<'set>(_cursor: NP_Cursor, _memory: &'set NP_Memory, _value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't set value with NP_Geo_Bytes, use NP_Geo instead!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Geo::to_json(depth, cursor, memory) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 16 } }, 8 => { let bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 8 } }, 4 => { let bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 4 } }, _ => { unreachable!(); } })) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Geo::from_bytes_to_schema(schema, address, bytes) } } /// Holds geographic coordinates /// /// Check out documentation [here](../geo/index.html). /// #[derive(Debug, Clone, PartialEq)] pub struct NP_Geo { /// The size of this geographic coordinate. 4, 8 or 16 pub size: u8, /// The latitude of this coordinate pub lat: f64, /// The longitude of this coordinate pub lng: f64 } impl<'value> super::NP_Scalar<'value> for NP_Geo { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 0.0, lng: 0.0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 90f64, lng: 180f64}) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: -90f64, lng: -180f64}) } } impl NP_Geo { /// Create a new NP_Geo value, make sure the size matches the schema pub fn new(size: u8, lat: f64, lng: f64) -> Self { NP_Geo { size, lat, lng} } /// Get the deviser value depending on the resolution of the type in the schema pub fn get_deviser(size: i64) -> f64 { match size { 16 => 1000000000f64, 8 => 10000000f64, 4 => 100f64, _ => 0.0 } } /// Export this Geo point to JSON /// pub fn into_json(&self) -> NP_JSON { let mut result_json = JSMAP::new(); result_json.insert("lat".to_owned(), NP_JSON::Float(self.lat)); result_json.insert("lng".to_owned(), NP_JSON::Float(self.lng)); NP_JSON::Dictionary(result_json) } /// Get the bytes that represent this geographic coordinate pub fn get_bytes(&self) -> Option { if self.size == 0 { return None } let dev = NP_Geo::get_deviser(self.size as i64); let use_lat = f64::min(f64::max(self.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(self.lng, -180f64), 180f64); match self.size { 16 => { let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 8 => { let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 4 => { let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, _ => { None } } } } impl Default for NP_Geo { fn default() -> Self { NP_Geo { lat: 0.0, lng: 0.0, size: 0 } } } fn geo_default_value(size: u8, json: &NP_JSON) -> Result, NP_Error> { match &json["default"] { NP_JSON::Dictionary(x) => { let mut lat = 0f64; match x.get("lat") { Some(x) => { match x { NP_JSON::Integer(y) => { lat = *y as f64; }, NP_JSON::Float(y) => { lat = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lat key!")) } }; let mut lng = 0f64; match x.get("lng") { Some(x) => { match x { NP_JSON::Integer(y) => { lng = *y as f64; }, NP_JSON::Float(y) => { lng = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lng key!")) } }; match NP_Geo::new(size, lat, lng).get_bytes() { Some(b) => return Ok(Some(b)), None => return Ok(None) } }, _ => return Ok(None) } } impl<'value> NP_Value<'value> for NP_Geo { fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Geo_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; match &**value { NP_JSON::Dictionary(map) => { let mut value = NP_Geo::new(size, 0.0, 0.0); if let Some(NP_JSON::Integer(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Float(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Integer(lng)) = map.get("lng") { value.lng = *lng as f64; } if let Some(NP_JSON::Float(lng)) = map.get("lng") { value.lng = *lng as f64; } Self::set_value(cursor, memory, value)?; }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut type_str = Self::type_idx().0.to_string(); type_str.push_str(data.size.to_string().as_str()); schema_json.insert("type".to_owned(), NP_JSON::String(type_str)); if let Some(d) = &data.default { let mut default_map = JSMAP::new(); default_map.insert("lat".to_owned(), NP_JSON::Float(d.lat)); default_map.insert("lng".to_owned(), NP_JSON::Float(d.lng)); schema_json.insert("default".to_owned(), NP_JSON::Dictionary(default_map)); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; let value_bytes_size = size as usize; if value_bytes_size == 0 { unreachable!(); } let write_bytes: &mut [u8]; let half_value_bytes = value_bytes_size / 2; let use_lat = f64::min(f64::max(value.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(value.lng, -180f64), 180f64); // convert input values into bytes let value_bytes = match size { 16 => { let dev = NP_Geo::get_deviser(16); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 8 => { let dev = NP_Geo::get_deviser(8); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 4 => { let dev = NP_Geo::get_deviser(4); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, _ => { [0; 16] } }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } } else { // new value value_address = match size { 16 => { memory.malloc_borrow(&[0u8; 16])? }, 8 => { memory.malloc_borrow(&[0u8; 8])? }, 4 => { memory.malloc_borrow(&[0u8; 4])? }, _ => { 0 } }; write_bytes = memory.write_bytes(); // set values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let mut bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let mut bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i64::from_be_bytes(bytes_lat) as f64; let lon = i64::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(16); NP_Geo { lat: lat / dev, lng: lon / dev, size: 16} }, 8 => { let mut bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let mut bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i32::from_be_bytes(bytes_lat) as f64; let lon = i32::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(8); NP_Geo { lat: lat / dev, lng: lon / dev, size: 8} }, 4 => { let mut bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let mut bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i16::from_be_bytes(bytes_lat) as f64; let lon = i16::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(4); NP_Geo { lat: lat / dev, lng: lon / dev, size: 4} }, _ => { unreachable!(); } })) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(y.lat)); object.insert("lng".to_owned(), NP_JSON::Float(y.lng)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; if let Some(d) = &data.default { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(d.lat)); object.insert("lng".to_owned(), NP_JSON::Float(d.lng)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut schema_idl = match data.size { 16 => { String::from("geo16(") } 8 => { String::from("geo8(") }, 4 => { String::from("geo4(") }, _ => { String::from("geo4(") } }; if let Some(d) = &data.default { schema_idl.push_str("{default: {"); schema_idl.push_str("lat: "); schema_idl.push_str(d.lat.to_string().as_str()); schema_idl.push_str(", "); schema_idl.push_str("lng: "); schema_idl.push_str(d.lng.to_string().as_str()); schema_idl.push_str("}}"); } schema_idl.push_str(")"); Ok(schema_idl) } fn from_idl_to_schema(mut schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: (bool, f64, f64) = (false, 0.0, 0.0); if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "default" { match value { JS_AST::object { properties: default_props } => { for (dkey, dvalue) in default_props { match idl.get_str(dkey).trim() { "lat" => { default.0 = true; default.1 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, "lng" => { default.0 = true; default.2 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, _ => { } } } }, _ => { } } } } } _ => { } } } let size = match name { "geo4" => 4, "geo8" => 8, "geo16" => 16, _ => 4 }; let default = { if default.0 == false { None } else { NP_Geo::new(size, default.1, default.2).get_bytes() } }; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(size); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(size, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size, default })) as *const u8) }); Ok((false, schema_data, schema)) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); if value_addr == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let type_str = NP_Schema::_get_type(&json_schema)?; match type_str.as_str() { "geo4" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(4); let default = match geo_default_value(4, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(4, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(4), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 4, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo8" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(8); let default = match geo_default_value(8, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(8, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 8, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo16" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(16); let default = match geo_default_value(16, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(16, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 16, default })) as *const u8) }); Ok((false, schema_data, schema)) }, _ => { Ok((false, Vec::new(), Vec::new())) } } } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let size = bytes[address + 1]; // no default if bytes[address + 2] == 0 { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: None })) as *const u8) }); return (false, schema) } // has default match size { 4 => { let lat = &bytes[(address + 3)..(address + 5)]; let lng = &bytes[(address + 5)..(address + 7)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 8 => { let lat = &bytes[(address + 3)..(address + 7)]; let lng = &bytes[(address + 7)..(address + 11)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 16 => { let lat = &bytes[(address + 3)..(address + 11)]; let lng = &bytes[(address + 11)..(address + 19)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, _ => { unreachable!(); } } } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "geo4({default: {lat: 20.23, lng: -12.21}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo4()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8({default: {lat: 20.2334234, lng: -12.2146363}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16({default: {lat: 20.233423434, lng: -12.214636323}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(8, 20.2334234, -12.2146363)); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(16, 20.233423434, -12.214636323)); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Geo::new(4, 20.23, -12.21))?; assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); buffer.del(&[])?; assert!({ match buffer.get::(&[])? { Some(_x) => false, None => true } }); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/mod.rs ================================================ ================================================ FILE: no_proto_rs/src/pointer/numbers.rs ================================================ //! NoProto supports a large number of native number types. //! //! Signed Integers:
//! [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
//!
//! Unsigned Integers:
//! [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
//!
//! Floating Point:
//! [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) //!
//! //! The details of using each number type is identical to the pattern below. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("u32()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 20380u32)?; //! //! assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! use crate::schema::NULL; use crate::schema::{NP_i8_Data, NP_i16_Data, NP_i32_Data, NP_i64_Data, NP_u8_Data, NP_u16_Data, NP_u32_Data, NP_u64_Data, NP_f32_Data, NP_f64_Data}; use alloc::sync::Arc; use crate::schema::NP_Value_Kind; use core::{str::FromStr}; use crate::pointer::JS_AST; use alloc::string::String; use alloc::prelude::v1::Box; use crate::schema::NP_Parsed_Schema; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::utils::to_signed; use crate::error::NP_Error; use crate::{schema::NP_TypeKeys, pointer::NP_Value, json_flex::NP_JSON, json_flex::JSMAP}; use alloc::string::ToString; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; /// The type of number being used #[derive(Debug)] #[doc(hidden)] pub enum NP_NumType { /// Unsigned integer type (only positive whole numbers) unsigned, /// Signed integer type (positive or negative whole numbers) signed, /// Decimal point numbers floating } macro_rules! noproto_number { ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => { impl<'value> super::NP_Scalar<'value> for $t { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MAX) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MIN) } } impl<'value> NP_Value<'value> for $t { fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::Integer(int) => { Self::set_value(cursor, memory, int as $t)?; }, NP_JSON::Float(float) => { Self::set_value(cursor, memory, float as $t)?; }, _ => {} } Ok(()) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); if let Some(default) = <$t>::np_get_default(address, &schema) { let default_val = default; match $numType { NP_NumType::signed => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::unsigned => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::floating => { schema_json.insert("default".to_owned(), NP_JSON::Float(default_val as f64)); } }; } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from($str2); if let Some(default) = <$t>::np_get_default(address, &schema) { result.push_str("({default: "); result.push_str(default.to_string().as_str()); result.push_str("})"); } else { result.push_str("()"); } Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option<$t> = None; let mut default_str: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { let trimmed = idl.get_str(addr).trim(); match trimmed.parse::<$t>() { Ok(x) => { default_str = Some(String::from(trimmed)); default = Some(x); }, Err(_e) => { } } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); if let Some(x) = default { schema_data.push(1); schema_data.extend_from_slice(&(x as $t).to_be_bytes()); } else { schema_data.push(0); } let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option { <$t>::np_get_default(addr, &schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } return Ok(cursor); } else { // new value let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let read_memory = memory.read_bytes(); let mut be_bytes = <$t>::default().to_be_bytes(); for x in 0..be_bytes.len() { be_bytes[x] = read_memory[value_addr + x]; } match $numType { NP_NumType::signed => { be_bytes[0] = to_signed(be_bytes[0]); }, _ => {} }; Ok(Some(<$t>::from_be_bytes(be_bytes))) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match $numType { NP_NumType::floating => NP_JSON::Float(y as f64), _ => NP_JSON::Integer(y as i64) } }, None => { match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) { Some(v) => { match $numType { NP_NumType::floating => { NP_JSON::Float(v as f64) }, _ => { NP_JSON::Integer(v as i64) } } }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, _ => { schema_data.push(0); } }; let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); (schema[schema.len() - 1].sortable, schema) } } } } // signed integers noproto_number!(i8, "int8", "i8", NP_TypeKeys::Int8 , NP_NumType::signed); noproto_number!(i16, "int16", "i16", NP_TypeKeys::Int16 , NP_NumType::signed); noproto_number!(i32, "int32", "i32", NP_TypeKeys::Int32 , NP_NumType::signed); noproto_number!(i64, "int64", "i64", NP_TypeKeys::Int64 , NP_NumType::signed); // unsigned integers noproto_number!(u8, "uint8", "u8", NP_TypeKeys::Uint8 , NP_NumType::unsigned); noproto_number!(u16, "uint16", "u16", NP_TypeKeys::Uint16, NP_NumType::unsigned); noproto_number!(u32, "uint32", "u32", NP_TypeKeys::Uint32, NP_NumType::unsigned); noproto_number!(u64, "uint64", "u64", NP_TypeKeys::Uint64, NP_NumType::unsigned); // floating point noproto_number!(f32, "float", "f32", NP_TypeKeys::Float , NP_NumType::floating); noproto_number!(f64, "double", "f64", NP_TypeKeys::Double, NP_NumType::floating); trait NP_BigEndian { fn np_get_default_from_json(json: &NP_JSON) -> Option where Self: Sized; fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option where Self: Sized; fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized; fn np_unwrap_default(value: Option) -> Option where Self: Sized + FromStr { if let Some(x) = value { if let Ok(y) = x.parse::() { Some(y) } else { None } } else { None } } } impl NP_BigEndian for i8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(i8::from_be_bytes(slice)) } } } #[test] fn i8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "i8({default: -98})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "i8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn i8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":56}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 56i8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(i16::from_be_bytes(slice)) } } } #[test] fn i16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(i32::from_be_bytes(slice)) } } } #[test] fn i32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); Ok(()) } #[test] fn i32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(i64::from_be_bytes(slice)) } } } #[test] fn i64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(u8::from_be_bytes(slice)) } } } #[test] fn u8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":198}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); Ok(()) } #[test] fn u8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 198u8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(u16::from_be_bytes(slice)) } } } #[test] fn u16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); Ok(()) } #[test] fn u16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(u32::from_be_bytes(slice)) } } } #[test] fn u32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); Ok(()) } #[test] fn u32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(u64::from_be_bytes(slice)) } } } #[test] fn u64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); Ok(()) } #[test] fn u64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(f32::from_be_bytes(slice)) } } } #[test] fn float_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn float_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); Ok(()) } #[test] fn float_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(f64::from_be_bytes(slice)) } } } #[test] fn double_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn double_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); Ok(()) } #[test] fn double_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/option.rs ================================================ //! Represents the string value of a choice in a schema //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"enum({choices: ["red", "green", "blue"] })"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Enum::new("green"))?; //! //! assert_eq!(NP_Enum::new("green"), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}}; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; /// Holds Enum / Option type data. /// /// Check out documentation [here](../option/index.html). /// #[derive(Clone, Debug, Eq, PartialEq)] pub enum NP_Enum { /// No value None, /// Value Some(String) } impl<'value> super::NP_Scalar<'value> for NP_Enum { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[data.choices.len() - 1].clone()) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[0].clone()) } } impl NP_Enum { /// Create a new option type with the given string pub fn new>(value: S) -> Self { NP_Enum::Some(value.into()) } /// get length of value pub fn len(&self) -> usize { match self { NP_Enum::None => 0, NP_Enum::Some(x) => x.len() } } /// get value as bytes pub fn as_bytes(&self) -> &[u8] { match self { NP_Enum::None => &[], NP_Enum::Some(x) => x.as_bytes() } } /// get string of value pub fn to_str(&self) -> &str { match self { NP_Enum::None => "", NP_Enum::Some(x) => x } } /// get string of value pub fn to_string(&self) -> String { match self { NP_Enum::None => String::from(""), NP_Enum::Some(x) => x.clone() } } } impl Default for NP_Enum { fn default() -> Self { NP_Enum::None } } impl<'value> NP_Value<'value> for NP_Enum { fn type_idx() -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; let options: Vec = data.choices.iter().map(|value| { NP_JSON::String(value.to_string()) }).collect(); if let Some(d) = &data.default { if let NP_Enum::Some(x) = &d { schema_json.insert("default".to_owned(), NP_JSON::String(x.to_string())); } } schema_json.insert("choices".to_owned(), NP_JSON::Array(options)); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(x) => { Self::set_value(cursor, memory, Self::new(x.clone()))?; }, _ => { } } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; let mut value_num: i32 = -1; { let mut ct: u16 = 0; for opt in &data.choices { if opt == &value { value_num = ct as i32; } ct += 1; }; if value_num == -1 { return Err(NP_Error::new("Option not found, cannot set uknown option!")); } } let bytes = value_num as u8; let mut addr_value = c_value().get_addr_value() as usize; if addr_value != 0 { // existing value, replace let write_bytes = memory.write_bytes(); write_bytes[addr_value] = bytes; return Ok(cursor); } else { // new value addr_value = memory.malloc_borrow(&[bytes])?; cursor.get_value_mut(memory).set_addr_value(addr_value as u32); return Ok(cursor); } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from("enum({"); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; if let Some(x) = &data.default { if let NP_Enum::Some(stri) = x { result.push_str("default: \""); result.push_str(&stri); result.push_str("\", "); } } result.push_str("choices: ["); let last_choice = data.choices.len() - 1; for (idx, choice) in data.choices.iter().enumerate() { result.push_str("\""); if let NP_Enum::Some(stri) = choice { result.push_str(stri.as_str()); } result.push_str("\""); if idx < last_choice { result.push_str(", "); } } result.push_str("]"); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; let mut default_value: Option = None; let mut default_index: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::string { addr } => { default_stir = Some(String::from(idl.get_str(addr))); }, _ => { } } }, "choices" => { match value { JS_AST::array { values } => { for choice in values { match choice { JS_AST::string { addr } => { let stir = idl.get_str(addr); if stir.len() > 255 { return Err(NP_Error::new("'enum' choices cannot be longer than 255 characters each!")) } choices.push(NP_Enum::new(String::from(stir))); }, _ => { } } } }, _ => { } } }, _ => { } } } }, _ => { } } } if choices.len() > 254 { return Err(NP_Error::new("Enum types cannot have more than 254 choices!")) } else if choices.len() == 0 { return Err(NP_Error::new("Enum types must have at least one choice!")) } if let Some(x) = &default_stir { for (idx, choice) in choices.iter().enumerate() { if x == choice.to_str() { default_value = Some(choice.clone()); default_index = Some(idx as u8); } } } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices, default: default_value})) as *const u8) }); return Ok((true, schema_data, schema)); } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Ok(match memory.get_1_byte(value_addr) { Some(x) => { let value_num = x as usize; if value_num > data.choices.len() { None } else { Some(data.choices[value_num].clone()) } }, None => None }) } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_Enum_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match y { NP_Enum::Some(str_value) => { NP_JSON::String(str_value.to_string()) }, NP_Enum::None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(val) => { NP_JSON::String(val.clone()) }, NP_Enum::None => { NP_JSON::Null } } } else { NP_JSON::Null } } } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(x) => NP_JSON::String(x.clone()), NP_Enum::None => NP_JSON::Null } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_address = c_value().get_addr_value() as usize; if value_address == 0 { return Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; match &json_schema["default"] { NP_JSON::String(def) => { default_stir = Some(def.clone()); }, _ => {} } let mut default_value: Option = None; let mut default_index: Option = None; match &json_schema["choices"] { NP_JSON::Array(x) => { for opt in x { match opt { NP_JSON::String(stir) => { if stir.len() > 255 { return Err(NP_Error::new("'option' choices cannot be longer than 255 characters each!")) } if let Some(def) = &default_stir { if def == stir { default_value = Some(NP_Enum::new(def.clone())); default_index = Some(choices.len() as u8); } } choices.push(NP_Enum::new(stir.clone())); }, _ => {} } } }, _ => { return Err(NP_Error::new("'option' type requires a 'choices' key with an array of strings!")) } } if choices.len() > 254 { return Err(NP_Error::new("'option' type cannot have more than 254 choices!")) } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let mut default_index: Option = None; let mut default_value: Option = None; if bytes[address + 1] > 0 { default_index = Some(bytes[address + 1] - 1); } let choices_len = bytes[address + 2]; let mut choices: Vec = Vec::new(); let mut offset: usize = address + 3; for x in 0..choices_len { let choice_size = bytes[offset] as usize; let choice_bytes = &bytes[(offset + 1)..(offset + 1 + choice_size)]; let choice_string = unsafe { core::str::from_utf8_unchecked(choice_bytes) }; choices.push(NP_Enum::new(choice_string.to_string())); offset += 1 + choice_size; if let Some(def) = default_index { if def == x { default_value = Some(NP_Enum::new(choice_string.to_string())); } } } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"enum({default: "hello", choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = r#"enum({choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Enum::new("hello")); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Enum::new("hello"))?; assert_eq!(buffer.get::(&[])?, Some(NP_Enum::new("hello"))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/portal.rs ================================================ //! Clone type for recursion or duplicating data types. //! //! Portal types allow you to teleport a type from one part of a schema to another. //! //! This is useful for recursive types or if you'd like one type to be duplicated into multiple fields. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! // use portal to duplicate type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! point1: struct({fields: { x: i32(), y: i32() }}), //! point2: portal({ to: "point1" }) // point2 is a "clone" of point1 //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["point1", "x"], 200i32)?; //! new_buffer.set(&["point1", "y"], 100i32)?; //! //! // point2 can be treated just like point1 //! new_buffer.set(&["point2", "x"], 250i32)?; //! new_buffer.set(&["point2", "y"], 150i32)?; //! //! assert_eq!(new_buffer.get::(&["point1", "x"])?, Some(200i32)); //! assert_eq!(new_buffer.get::(&["point1", "y"])?, Some(100i32)); //! //! assert_eq!(new_buffer.get::(&["point2", "x"])?, Some(250i32)); //! assert_eq!(new_buffer.get::(&["point2", "y"])?, Some(150i32)); //! //! // use portal for recursive type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! node: u32(), //! child: portal({ to: "" }) // child is a clone of the root object //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["node"], 1u32)?; //! new_buffer.set(&["child", "node"], 2u32)?; //! new_buffer.set(&["child", "child", "node"], 3u32)?; //! new_buffer.set(&["child", "child", "child", "node"], 4u32)?; //! //! assert_eq!(Some(1u32), new_buffer.get(&["node"])?); //! assert_eq!(Some(2u32), new_buffer.get(&["child", "node"])?); //! assert_eq!(Some(3u32), new_buffer.get(&["child", "child", "node"])?); //! assert_eq!(Some(4u32), new_buffer.get(&["child", "child", "child", "node"])?); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Portal_Data, NP_Value_Kind}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor}; /// Defines the behavior of the portal data type pub struct NP_Portal(); impl<'value> NP_Value<'value> for NP_Portal { fn type_idx() -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); schema_json.insert( "to".to_owned(), NP_JSON::String(data.path.clone()) ); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Portal_Data) }; let mut result = String::from("portal({to: \""); result.push_str(data.path.as_str()); result.push_str("\"});"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut to: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "to" => { match value { JS_AST::string { addr } => { to = Some(String::from(idl.get_str(addr).trim())); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(path) = to { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); Ok((false, schema_vec, schema)) } else { Err(NP_Error::new("Portal types require a 'to' parameter!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); match &json_schema["to"] { NP_JSON::String(path) => { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); }, _ => return Err(NP_Error::new("Portal types require a 'to' parameter!")) } Ok((false, schema_vec, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let path_size: [u8; 2] = unsafe { *((&bytes[(address+1)..(address+3)]) as *const [u8] as *const [u8; 2]) }; let path_size = u16::from_be_bytes(path_size) as usize; let path = &bytes[(address+3)..(address+3+path_size)]; let path_str = unsafe { core::str::from_utf8_unchecked(path) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: String::from(path_str), schema: 0, parent_schema: 0 })) as *const u8) }); (false, schema) } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { None } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::json_encode(depth + 1, &next, memory) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::set_from_json(depth + 1, apply_null, next, memory, value) } fn get_size(depth:usize, cursor: &'value NP_Cursor, memory: &'value NP_Memory) -> Result { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::calc_size(depth + 1, &next, memory) } fn do_compact(depth:usize, mut from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Portal_Data) }; from_cursor.schema_addr = data.schema; from_cursor.parent_schema_addr = data.parent_schema; to_cursor.schema_addr = data.schema; to_cursor.parent_schema_addr = data.parent_schema; NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"portal\",\"to\":\"\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn infinite_recursion() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": "nested"}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); match buffer.set(&["nested","nested", "nested"], "hello infinite") { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } match buffer.get::<&str>(&["nested","nested", "nested"]) { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": ""}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["nested", "street"], "hello street")?; buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); buffer.del(&["nested", "street"])?; buffer.compact(None)?; assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // testing set with JSON buffer.set_with_json(&[], r#"{"value":{"street": "foo", "nested": {"street": "foo2"}}}"#)?; assert_eq!(Some("foo"), buffer.get::<&str>(&["street"])?); assert_eq!(Some("foo2"), buffer.get::<&str>(&["nested", "street"])?); let schema = r#"{ "type": "struct", "fields": [ ["username", {"type": "string"}], ["email" , {"type": "string"}], ["address", {"type": "struct", "fields": [ ["street", {"type": "string"}], ["city", {"type": "string"}], ["more", {"type": "portal", "to": "address"}] ]}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/string.rs ================================================ //! NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("string()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], "I want to play a game")?; //! //! assert_eq!("I want to play a game", new_buffer.get::<&str>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use alloc::prelude::v1::Box; use crate::{error::NP_Error, idl::{JS_AST, JS_Schema}, schema::{NP_String_Data, NP_Value_Kind, String_Case}}; use crate::{ json_flex::JSMAP, memory::NP_Memory, schema::{NP_Parsed_Schema}, }; use crate::{json_flex::NP_JSON, pointer::NP_Value, schema::NP_TypeKeys}; use alloc::vec::Vec; use super::{NP_Cursor, NP_Scalar}; use alloc::borrow::ToOwned; use core::str; use alloc::string::ToString; /// &str type alias pub type NP_String<'string> = &'string str; // impl<'value> NP_Scalar<'value> for &'value str { // fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { // None // } // } impl<'value> NP_Scalar<'value> for String { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let size = data.size; Some(if size > 0 { let mut v: String = String::with_capacity(size as usize); for _x in 0..size { v.push(' '); } v } else { String::from("") }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[128])}); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[32])}); } Some(value) } } } impl<'value> NP_Value<'value> for String { fn type_idx() -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn schema_to_json(schema: &Vec, address: usize) -> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); match data.case { String_Case::Uppercase => { schema_json.insert("uppercase".to_owned(), NP_JSON::True); }, String_Case::Lowercase => { schema_json.insert("lowercase".to_owned(), NP_JSON::True); }, _ => {} } if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size.clone().into())); } if let Some(default_value) = &data.default { schema_json.insert( "default".to_owned(), NP_JSON::String(default_value.to_string()), ); } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("\""); def.push_str(x.as_str()); def.push_str("\""); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } match data.case { String_Case::Uppercase => { properties.push(String::from("uppercase: true")); }, String_Case::Lowercase => { properties.push(String::from("lowercase: true")); }, _ => {} } if properties.len() == 0 { Ok(String::from("string()")) } else { let mut final_str = String::from("string({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); Ok(final_str) } } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "lowercase" => { case_byte = String_Case::Lowercase; set += 1; }, "uppercase" => { case_byte = String_Case::Uppercase; set += 1; }, "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::string { addr } => { default = Some(String::from(idl.get_str(addr))) }, _ => { } } } _ => { } } } } _ => { } } } if set == 2 { return Err(NP_Error::new("Only one of uppercase or lowercase can be set!")); } schema_data.push(case_byte as u8); if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { let str_bytes = x.as_bytes(); schema_data.extend_from_slice(&((str_bytes.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(str_bytes); } else { schema_data.extend_from_slice(&0u16.to_be_bytes()); } let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, value.clone())?; }, _ => {} } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // case byte let case_byte = String_Case::from(bytes[address + 1]); // fixed size let fixed_size = u32::from_be_bytes([bytes[address + 2], bytes[address + 3],bytes[address + 4], bytes[address + 5]]); // default value size let default_size = u16::from_be_bytes([bytes[address + 6], bytes[address + 7]]) as usize; let mut empty: Vec = Vec::new(); for _x in 0..fixed_size { empty.push(32); } if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: None, case: case_byte, empty })) as *const u8) }) } else { let default_bytes = str::from_utf8(&bytes[(address + 8)..(address + 8 + (default_size - 1))]).unwrap_or_default(); schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: Some(default_bytes.to_string()), case: case_byte, empty })) as *const u8) }) } (fixed_size > 0, schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_String::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_String::into_value(cursor, memory)? { Some(x) => Ok(Some(String::from(x))), None => Ok(None) } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length bytes return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; match json_schema["lowercase"] { NP_JSON::True => { case_byte = String_Case::Lowercase; set += 1; }, _ => {} } match json_schema["uppercase"] { NP_JSON::True => { case_byte = String_Case::Uppercase; set += 1; }, _ => {} } if set == 2 { return Err(NP_Error::new("Only one of uppercase and lowercase can be set!")); } schema_data.push(case_byte as u8); let mut has_fixed_size = false; let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0u32 } }; let default = match &json_schema["default"] { NP_JSON::String(bytes) => { let str_bytes = bytes.clone().into_bytes(); if str_bytes.len() > u32::MAX as usize - 1 { return Err(NP_Error::new( "Default string value cannot be larger than 2^32 bytes!", )); } schema_data.extend(((str_bytes.len() + 1) as u16).to_be_bytes().to_vec()); schema_data.extend(str_bytes); Some(bytes.to_string()) } _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => match x { Some(y) => NP_JSON::String(y.to_string()), None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; match &data.default { Some(x) => NP_JSON::String(x.to_string()), None => NP_JSON::Null, } } }, Err(_e) => NP_JSON::Null, } } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { match NP_String::default_value(0, schema_addr, schema) { Some(x) => Some(String::from(x)), None => None } } } impl<'value> NP_Scalar<'value> for NP_String<'value> { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_String<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { String::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { String::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { String::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let (size, case) = (data.size, data.case); let mut bytes = value.as_bytes(); let mut owned: String; match case { String_Case::Uppercase => { owned = String::from(value); owned.make_ascii_uppercase(); bytes = owned.as_bytes(); }, String_Case::Lowercase => { owned = String::from(value); owned.make_ascii_lowercase(); bytes = owned.as_bytes(); }, _ => {} } let str_size = bytes.len() as usize; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let new_addr = memory.malloc_borrow(&data.empty)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; let write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is white space write_bytes[(addr + x)] = 32; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); let write_bytes = memory.write_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn default_value(_depth: usize, schema_addr: usize,schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_String_Data) }; match &data.default { Some(x) => Some(x), None => None, } } /// This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("string()")) } /// This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0u8; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { String::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { String::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { String::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { String::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"string({default: "hello"})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({size: 10})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({lowercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({uppercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string()"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"lowercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"uppercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello"); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[] as &[&str], "hello there this sentence is long")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello there this sen"); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello there this sentence is long")?; assert_eq!( buffer.get::<&str>(&[])?.unwrap(), "hello there this sentence is long" ); buffer.del(&[])?; assert_eq!(buffer.get::<&str>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } #[test] fn uppercase_lowercase_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"lowercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "HELLO")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"hello"); let schema = "{\"type\":\"string\",\"uppercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"HELLO"); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/ulid.rs ================================================ //! Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness //! //! Useful for storing time stamp data that doesn't have collisions. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::ulid::NP_ULID; //! //! let factory: NP_Factory = NP_Factory::new("ulid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let ulid = NP_ULID::generate(1604965249484, 50); //! new_buffer.set(&[], &ulid)?; //! //! assert_eq!("01EPQP4CEC93KANC3XYNG9YKAQ", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}, utils::from_base32}; use alloc::{sync::Arc, vec::Vec}; use crate::utils::to_base32; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter}}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Holds ULIDs which are good for time series keys. /// /// Check out documentation [here](../ulid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_ULID { value: [u8; 16] } /// ULID alias for shared type pub type _NP_ULID<'a> = &'a NP_ULID; impl NP_ULID { /// Creates a new ULID from the timestamp and provided seed. /// /// The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed. /// /// The time should be passed in as the unix epoch in milliseconds. pub fn generate(now_ms: u64, random_seed: u32) -> NP_ULID { let mut rng = Rand::new(random_seed); let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = rng.gen_range(0, 255) as u8; } } NP_ULID { value: id } } /// Generates a ULID with the given time and a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(now_ms: u64, random_fn: F) -> NP_ULID where F: Fn() -> u8 { let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = random_fn(); } } NP_ULID { value: id } } /// Get just the timestamp for this ULID pub fn get_time(&self) -> u64 { let mut time_bytes: [u8; 8] = [0; 8]; for (i, x) in self.value.iter().take(6).enumerate() { time_bytes[i + 2] = *x; } u64::from_be_bytes(time_bytes) } /// Get the random component of this ULID pub fn get_random(&self) -> &[u8; 10] { unsafe { &*(&self.value[6..] as *const [u8] as *const [u8; 10]) } } /// Generates a stringified version of this ULID with base32. /// pub fn to_string(&self) -> String { let mut result: String = "".to_owned(); let mut time_bytes: [u8; 16] = [0; 16]; let mut rand_bytes: [u8; 16] = [0; 16]; for (i, x) in self.value.iter().enumerate() { if i < 6 { time_bytes[i + 10] = *x; } else { rand_bytes[i] = *x; } } result.push_str(to_base32(u128::from_be_bytes(time_bytes), 10).as_str()); result.push_str(to_base32(u128::from_be_bytes(rand_bytes), 16).as_str()); result } /// Encode a ULID into bytes pub fn from_string>(value: S) -> Self { let time_bytes = from_base32(&value.as_ref()[..10]).to_be_bytes(); let rand_bytes = from_base32(&value.as_ref()[10..]).to_be_bytes(); let mut result = NP_ULID { value: [0; 16] }; for i in 0..16 { if i < 6 { result.value[i] = time_bytes[i + 10]; } else { result.value[i] = rand_bytes[i]; } } result } } impl Default for NP_ULID { fn default() -> Self { NP_ULID { value: [0u8; 16]} } } impl Debug for NP_ULID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl<'value> NP_Scalar<'value> for NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_ULID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_ULID::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_ULID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Ulid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_ULID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_ULID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_ULID::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_ULID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_ULID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_ULID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_ULID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_ULID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "ulid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_ULID::generate(1606680515909, 212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, Some(&set_value)); assert_eq!(buffer.get::<&NP_ULID>(&[])?.unwrap().to_string(), "01ERASY5A5KVKANC1CJGRZXYW8"); assert_eq!(set_value.value, NP_ULID::from_string("01ERASY5A5KVKANC1CJGRZXYW8").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/pointer/union.rs ================================================ //! Clone type for recursive or duplicating data types. //! use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Schema_Addr, NP_Value_Kind}}; use crate::NP_Schema; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Defines the behavior of the union data type #[derive(Debug)] pub struct NP_Union { /// The value of this union pub value: Option, /// If the set value is a default pub is_default: bool } impl<'value> NP_Scalar<'value> for NP_Union { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl NP_Union { /// Select into a union type pub fn select(mut cursor: NP_Cursor, types: &Vec<(u8, String, usize)>, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { match types.iter().position(|val| { val.1 == key }) { Some(x) => { if schema_query { let schema_value = &types[x]; cursor.parent_schema_addr = cursor.schema_addr; cursor.schema_addr = schema_value.2; return Ok(Some(cursor)) } let union_value = cursor.get_value(memory); let addr_value = union_value.get_addr_value(); if addr_value == 0 { // no value here if make_path { // need to make a new value // 1 byte for union value, 2 bytes for pointer let new_addr = memory.malloc_borrow(&[0u8; 3])?; union_value.set_addr_value(new_addr as u32); } else { // found nothing return Ok(None) } } let addr_value = union_value.get_addr_value() as usize; let union_index = memory.read_bytes()[addr_value]; // nothing set at union and can't make value, so return None if union_index == 0 && make_path == false { return Ok(None) } if union_index == 0 { // no value at this union yet // set index of union value memory.write_bytes()[addr_value] = (x as u8) + 1; // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else if union_index == (x as u8) + 1 { // union value matches query // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else { // value is set by requested index does not match value in union return Ok(None); } }, None => return Ok(None) } } } impl<'value> NP_Value<'value> for NP_Union { fn type_idx() -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn schema_to_json(schema: &Vec, address: usize)-> Result { // let mut schema_json = JSMAP::new(); // schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); // let types: Vec = match &schema[address] { // NP_TypeKeys::Union { types, .. } => { // types.into_iter().map(|column| { // let mut cols: Vec = Vec::new(); // cols.push(NP_JSON::String(column.1.to_string())); // cols.push(NP_Schema::_type_to_json(&schema, column.2).unwrap_or(NP_JSON::Null)); // NP_JSON::Array(cols) // }).collect() // }, // _ => Vec::new() // }; // schema_json.insert("types".to_owned(), NP_JSON::Array(types)); // Ok(NP_JSON::Dictionary(schema_json)) todo!() } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { todo!() } fn from_idl_to_schema(_schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { todo!() } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { // let mut schema_bytes: Vec = Vec::new(); // schema_bytes.push(NP_TypeKeys::Union as u8); // let schema_table_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: Vec::new(), // default: 0 // }); // let mut columns_mapped = Vec::new(); // let mut types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let mut column_data: Vec<(String, Vec)> = Vec::new(); // let mut schema_parsed: Vec = schema; // match &json_schema["types"] { // NP_JSON::Array(cols) => { // let mut x: u8 = 0; // for col in cols { // let column_name = match &col[0] { // NP_JSON::String(x) => x.clone(), // _ => "".to_owned() // }; // if column_name.len() > 255 { // return Err(NP_Error::new("Union type names cannot be longer than 255 characters!")) // } // let column_schema_addr = schema_parsed.len(); // types.push((x, column_name.clone(), column_schema_addr)); // let (_is_sortable, column_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; // schema_parsed = schema_p; // columns_mapped.push(column_name.to_string()); // column_data.push((column_name, column_type)); // x += 1; // } // }, // _ => { // return Err(NP_Error::new("Unions require a 'types' property that is an array of schemas!")) // } // } // schema_parsed[schema_table_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: types, // default: 0 // }; // if column_data.len() > 254 { // return Err(NP_Error::new("Unions cannot have more than 254 types!")) // } // if column_data.len() == 0 { // return Err(NP_Error::new("Unions must have at least one type!")) // } // // number of columns // schema_bytes.push(column_data.len() as u8); // for col in column_data { // // colum name // let bytes = col.0.as_bytes().to_vec(); // schema_bytes.push(bytes.len() as u8); // schema_bytes.extend(bytes); // if col.1.len() > u16::MAX as usize { // return Err(NP_Error::new("Schema overflow error!")) // } // // column type // schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); // schema_bytes.extend(col.1); // } // return Ok((false, schema_bytes, schema_parsed)) todo!() } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // let column_len = bytes[address + 1]; // let mut parsed_types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let table_schema_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // default: 0, // types: Vec::new() // }); // let mut schema_parsed = schema; // let mut offset = address + 2; // let mut hash_map = Vec::new(); // for x in 0..column_len as usize { // let col_name_len = bytes[offset] as usize; // let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; // let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; // offset += 1 + col_name_len; // let schema_size = u16::from_be_bytes([ // bytes[offset], // bytes[offset + 1] // ]) as usize; // let column_addr = schema_parsed.len(); // let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); // schema_parsed = schema; // parsed_types.push((x as u8, col_name.to_string(), column_addr)); // hash_map.push(col_name.to_string()); // offset += schema_size + 2; // } // schema_parsed[table_schema_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: parsed_types, // default: 0 // }; // (false, schema_parsed) todo!() } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { todo!() } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { todo!() } /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { // let message = "This type doesn't support into!".to_owned(); // Err(NP_Error::new(message.as_str())) todo!() } fn to_json(_depth:usize, _cursor: &NP_Cursor, _memory: &'value NP_Memory) -> NP_JSON { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::json_encode(depth + 1, &next, memory) // }, // _ => NP_JSON::Null // } todo!() } fn get_size(_depth:usize, _cursor: &'value NP_Cursor, _memory: &'value NP_Memory) -> Result { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::calc_size(depth + 1, &next, memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } fn do_compact<, M2: NP_Memory>(_depth:usize, mut _from_cursor: NP_Cursor, _from_memory: &'value NP_Memory, mut _to_cursor: NP_Cursor, _to_memory: &'value NP_Memory2) -> Result where Self: 'value + Sized { // match from_memory.get_schema(from_cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // from_cursor.schema_addr = *schema; // from_cursor.parent_schema_addr = *parent_schema; // to_cursor.schema_addr = *schema; // to_cursor.parent_schema_addr = *parent_schema; // NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"union","types":[["value1",{"type":"string"}],["value2",{"type":"uint8"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } // #[test] // fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { // let schema = r#"{ // "type": "union", // "default": "uknown", // "types": [ // ["uknown", {"type": "bool", "default": true}], // ["unemployed", {"type": "bool"}], // ["employed", {"type": "string"}], // ["school", {"type": "string"}], // ["selfemployed", {"type": "bool"}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["nested", "street"], "hello street")?; // buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; // assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); // buffer.del(&["nested", "street"])?; // buffer.compact(None)?; // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // let schema = r#"{ // "type": "struct", // "types": [ // ["username", {"type": "string"}], // ["email" , {"type": "string"}], // ["address", {"type": "struct", "types": [ // ["street", {"type": "string"}], // ["city", {"type": "string"}], // ["more", {"type": "portal", "to": "address"}] // ]}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; // assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); // Ok(()) // } ================================================ FILE: no_proto_rs/src/pointer/uuid.rs ================================================ //! Represents a V4 UUID, good for globally unique identifiers //! //! `uuid` types are always represented with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new("uuid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let uuid = NP_UUID::generate(50); //! new_buffer.set(&[], &uuid)?; //! //! let b_uuid: Option = new_buffer.get::(&[])?; //! assert_eq!(Some(uuid), b_uuid); //! //! assert_eq!("48E6AAB0-7DF5-409F-4D57-4D969FA065EE", b_uuid.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}}; use alloc::prelude::v1::Box; use crate::pointer::NP_Scalar; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter, Write}}; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; use super::NP_Cursor; /// Holds UUID which is good for random keys. /// /// Check out documentation [here](../uuid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_UUID { /// The random bytes for this UUID pub value: [u8; 16] } /// ULID alias for shared value pub type _NP_UUID<'a> = &'a NP_UUID; impl NP_UUID { /// Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible. /// pub fn generate(random_seed: u32) -> Self { let mut uuid = NP_UUID { value: [0; 16] }; let mut rng = Rand::new(random_seed); for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + rng.gen_range(0, 15) as u8; } else { uuid.value[x] = rng.gen_range(0, 255) as u8; } } uuid } /// Generates a UUID with a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(random_fn: F) -> Self where F: Fn() -> u8 { let mut uuid = NP_UUID { value: [0; 16] }; for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + (random_fn() % 17) - 1; } else { uuid.value[x] = random_fn(); } } uuid } /// Create a UUID from a string representation /// pub fn from_string>(uuid: S) -> NP_UUID { let cleaned: String = String::from(uuid.as_ref()).replace("-", "").to_uppercase(); let mut value: [u8; 16] = [0; 16]; for x in 0..16usize { let step = x * 2; match u8::from_str_radix(&cleaned[step..(step + 2)], 16) { Ok(byte) => { value[x] = byte }, _ => {} } } NP_UUID { value } } /// Generates a stringified version of the UUID. /// pub fn to_string(&self) -> String { let mut result = String::with_capacity(32); for x in 0..self.value.len() { if x == 4 || x == 6 || x == 8 || x == 10 { result.push_str("-"); } let byte = self.value[x] as u8; write!(result, "{:02X}", byte).unwrap_or(()); } result } } impl Debug for NP_UUID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl Default for NP_UUID { fn default() -> Self { NP_UUID { value: [0; 16] } } } impl<'value> NP_Scalar<'value> for NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_UUID::set_value(cursor, memory, &value) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_UUID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_UUID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Uuid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_UUID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_UUID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_UUID::schema_to_json(_schema, _address) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_UUID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_UUID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_UUID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_UUID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_UUID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "uuid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_UUID::generate(212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, Some(&NP_UUID::generate(212))); assert_eq!(buffer.get::<&NP_UUID>(&[])?.unwrap().to_string(), "9EE6AAB0-2C94-41FE-FB88-42F73253F217"); assert_eq!(set_value.value, NP_UUID::from_string("9EE6AAB0-2C94-41FE-FB88-42F73253F217").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs/src/schema/args.rs ================================================ use crate::schema::AST_STR; use alloc::string::String; use alloc::vec::Vec; use crate::map::NP_OrderedMap; use crate::json_flex::{NP_JSON, JSMAP}; #[allow(dead_code)] #[derive(Debug, Clone, PartialEq)] pub enum NP_Schema_Args { NULL, TRUE, FALSE, STRING (AST_STR), NUMBER (AST_STR), MAP (NP_OrderedMap), LIST (Vec) } #[allow(dead_code)] #[derive(Debug, Clone, PartialEq)] pub enum NP_Args<'a> { NULL, TRUE, FALSE, STRING (&'a str), NUMBER (&'a str), MAP (NP_OrderedMap>), LIST (Vec>) } impl<'a> NP_Args<'a> { pub fn from_schema_args(schema: &NP_Schema_Args, source_string: &'a str) -> Self { match schema { NP_Schema_Args::NULL => NP_Args::NULL, NP_Schema_Args::TRUE => NP_Args::TRUE, NP_Schema_Args::FALSE => NP_Args::FALSE, NP_Schema_Args::STRING(ast_str) => NP_Args::STRING(ast_str.read(source_string)), NP_Schema_Args::NUMBER(ast_str) => NP_Args::NUMBER(ast_str.read(source_string)), NP_Schema_Args::MAP(in_map) => { let mut map = NP_OrderedMap::new(); for (key, value) in in_map.iter() { map.set(key, Self::from_schema_args(value, source_string)); } NP_Args::MAP(map) }, NP_Schema_Args::LIST(in_list) => { NP_Args::LIST(in_list.iter().map(|v| Self::from_schema_args(v, source_string)).collect()) } } } pub fn to_json(&self) -> NP_JSON { match self { NP_Args::NULL => NP_JSON::Null, NP_Args::TRUE => NP_JSON::True, NP_Args::FALSE => NP_JSON::False, NP_Args::STRING(str_data) => NP_JSON::String( String::from(*str_data) ), NP_Args::NUMBER(str_data) => { if let Ok(result) = str_data.parse::() { NP_JSON::Integer(result) } else { if let Ok(result) = str_data.parse::() { NP_JSON::Float(result) } else { NP_JSON::Null } } }, NP_Args::MAP( map_data ) => { let mut json_map = JSMAP::new(); for (key, value) in map_data.iter() { json_map.insert(String::from(key), value.to_json()); } NP_JSON::Dictionary(json_map) } NP_Args::LIST( list_data ) => { NP_JSON::Array(list_data.iter().map(|v| v.to_json()).collect()) } } } } impl Default for NP_Schema_Args { fn default() -> Self { NP_Schema_Args::NULL } } #[allow(dead_code)] impl NP_Schema_Args { pub fn query<'q>(&'q self, path: &str, str_source: &'q str) -> Option> { let mut dot_locations: [usize; 32] = Default::default(); let mut num_dots: usize = 1; for (idx, char) in path.chars().enumerate() { if char == '.' { dot_locations[num_dots] = idx; num_dots += 1; } } let mut query_object = self; let mut step: usize = 0; while step <= num_dots { if step >= num_dots || path.trim().len() == 0 { return Some(NP_Args::from_schema_args(query_object, str_source)); } else { let use_path = if step == 0 { // first if num_dots == 1 { // no dots in path path } else { // we have dots! &path[0..(dot_locations[step + 1])] } } else if step == num_dots - 1 { // last &path[(dot_locations[step] + 1)..path.len()] } else { // middle &path[(dot_locations[step] + 1)..dot_locations[step + 1]] }; match query_object { NP_Schema_Args::NULL => { return None; } NP_Schema_Args::TRUE => { return None; } NP_Schema_Args::FALSE => { return None; } NP_Schema_Args::STRING (_data) => { return None; } NP_Schema_Args::NUMBER (_data) => { return None; } NP_Schema_Args::MAP (data) => { if let Some(item) = data.get(use_path) { query_object = item; } else { return None; } } NP_Schema_Args::LIST (data) => { if let Ok(index) = use_path.parse::() { if let Some(item) = data.get(index) { query_object = item; } else { return None; } } } } } step += 1; } return None; } } ================================================ FILE: no_proto_rs/src/schema/ast.rs ================================================ //! AST Parser //! //! Supports a custom IDL that is very similar to Rust syntax for data types. //! //! The schema parsing runs like this: //! //! Raw Schema String -> AST -> Parsing //! //! This file converts the raw schema string into an AST the schema parser can understand. //! use crate::schema::AST_STR; use alloc::boxed::Box; use crate::error::NP_Error; use alloc::string::String; use alloc::vec::Vec; // how many charecters to show before and after error location #[allow(dead_code)] const AST_ERROR_RANGE: usize = 20; /// AST object of schema #[allow(missing_docs)] #[allow(dead_code)] #[derive(Debug, PartialEq)] pub enum AST { colon, comma, arrow, semicolon, newline, token { addr: AST_STR }, xml { items: Vec }, method { call: Box, result: Box}, parans { items: Vec }, square { items: Vec }, curly { items: Vec }, string { addr: AST_STR }, number { addr: AST_STR } } #[allow(dead_code)] #[derive(Debug, Clone)] enum ast_cursor_state { searching, token, parens { open_idx: usize }, xml { open_idx: usize, }, single_quote { open_idx: usize }, double_quote { open_idx: usize }, brackets { open_idx: usize }, curly { open_idx: usize }, number } #[derive(Debug, Clone)] struct ast_state { start: usize, end: usize, state: ast_cursor_state, escaped: bool, level: isize } #[allow(dead_code)] impl AST { /// Convert an ASCII string into AST pub fn parse(input: &str) -> Result, NP_Error> { let mut result: Vec = Vec::new(); let src_chars: &[u8] = input.as_bytes(); AST::recursive_parse(0, &mut result, src_chars, AST_STR { start: 0, end: input.len() })?; Ok(result) } /// Recursive AST parser fn recursive_parse(depth: usize, result: &mut Vec, chars: &[u8], ast: AST_STR) -> Result<(), NP_Error> { if depth > 255 { return Err(NP_Error::RecursionLimit) } let mut cursor = ast_state { start: ast.start, end: ast.start, state: ast_cursor_state::searching, escaped: false, level: 0 }; while cursor.end < ast.end { let mut curr_char = chars[cursor.end] as char; if curr_char == '#' || (cursor.end + 1 < ast.end && curr_char == '/' && (chars[cursor.end + 1] as char) == '/') { // # or // while curr_char != '\n' && curr_char != '\r' && cursor.end < ast.end { // new line curr_char = chars[cursor.end] as char; cursor.end += 1; } } match cursor.state { ast_cursor_state::searching => { match curr_char { 'A'..='Z' => { cursor.start = cursor.end; cursor.state = ast_cursor_state::token; }, 'a'..='z' => { cursor.start = cursor.end; cursor.state = ast_cursor_state::token; }, '0'..='9' => { cursor.start = cursor.end; cursor.state = ast_cursor_state::number; }, '-' => { if cursor.end + 1 < ast.end && (chars[cursor.end + 1] as char) == '>' { // > result.push(AST::arrow); cursor.end +=1; } else { cursor.start = cursor.end; cursor.state = ast_cursor_state::number; } } '{' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::curly { open_idx: cursor.end }; cursor.level += 1; } '(' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::parens { open_idx: cursor.end }; cursor.level += 1; } '\'' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::single_quote { open_idx: cursor.end }; } '"' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::double_quote { open_idx: cursor.end }; } ';' => { result.push(AST::semicolon); }, ':' => { result.push(AST::colon); } ',' => { result.push(AST::comma); } '<' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::xml { open_idx: cursor.end }; cursor.level += 1; } '[' => { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::brackets { open_idx: cursor.end }; cursor.level += 1; } '\n' | '\r' => { // new line let len = result.len(); if len > 0 && result[len - 1] != AST::newline { result.push(AST::newline); } } '}' => unsafe { let src_str: String = String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()); let mut error = String::from("AST Error: Unexpected closing curly bracket!: "); error.push_str(&src_str.as_str()[(usize::max(0, cursor.end - AST_ERROR_RANGE))..cursor.end]); error.push_str("_}_"); error.push_str(&src_str.as_str()[(cursor.end+1)..usize::min(cursor.end + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) }, ']' => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Unexpected closing square bracket!: "); error.push_str(&src_str.as_str()[(usize::max(0, cursor.end - AST_ERROR_RANGE))..cursor.end]); error.push_str("_]_"); error.push_str(&src_str.as_str()[(cursor.end+1)..usize::min(cursor.end + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) }, ')' => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Unexpected closing parentheses!: "); error.push_str(&src_str.as_str()[(usize::max(0, cursor.end - AST_ERROR_RANGE))..cursor.end]); error.push_str("_)_"); error.push_str(&src_str.as_str()[(cursor.end+1)..usize::min(cursor.end + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) }, '>' => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Unexpected closing angle bracket!: "); error.push_str(&src_str.as_str()[(usize::max(0, cursor.end - AST_ERROR_RANGE))..cursor.end]); error.push_str("_>_"); error.push_str(&src_str.as_str()[(cursor.end+1)..usize::min(cursor.end + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } _ => {} } } ast_cursor_state::number => { if (curr_char >= '0' && curr_char <= '9') || curr_char == '.' || curr_char == '_' || curr_char == '^' || curr_char == 'e' || curr_char == '-' { // valid number chars (0 - 9 || . || _ || ^ || e || -) } else { result.push(AST::number { addr: AST_STR { start: cursor.start, end: cursor.end }}); cursor.state = ast_cursor_state::searching; cursor.end -= 1; } } ast_cursor_state::xml { .. } => { if curr_char == '<' { // < cursor.level +=1; } if curr_char == '>' { // > cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, chars, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::xml { items: parans_args }); cursor.state = ast_cursor_state::searching; } } ast_cursor_state::curly { .. } => { if curr_char == '{' { // { cursor.level +=1; } if curr_char == '}' { // } cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, chars, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::curly { items: parans_args }); cursor.state = ast_cursor_state::searching; } }, ast_cursor_state::parens { .. } => { if curr_char == '(' { // ( cursor.level +=1; } if curr_char == ')' { // ) cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, chars, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::parans { items: parans_args }); cursor.state = ast_cursor_state::searching; } } ast_cursor_state::double_quote { .. } => { if curr_char == '"' && cursor.escaped == false { result.push(AST::string { addr: AST_STR { start: cursor.start, end: cursor.end } }); cursor.state = ast_cursor_state::searching; } if curr_char == '\\' { // '\' cursor.escaped = true; } else { cursor.escaped = false; } }, ast_cursor_state::single_quote { .. } => { if curr_char == '\'' && cursor.escaped == false { result.push(AST::string { addr: AST_STR { start: cursor.start, end: cursor.end } }); cursor.state = ast_cursor_state::searching; } if curr_char == '\\' { // '\' cursor.escaped = true; } else { cursor.escaped = false; } }, ast_cursor_state::token => { if (curr_char >= 'a' && curr_char <= 'z') || (curr_char >= 'A' && curr_char <= 'Z') || (curr_char >= '0' && curr_char <= '9') || curr_char == '_' || curr_char == '-' { // valid token chars (a - z | A - Z | 0 - 9 | _ | - ) } else if cursor.end + 1 < chars.len() && curr_char == ':' && (chars[cursor.end + 1] as char) == ':' { // :: cursor.end += 1; } else { // end of token result.push(AST::token { addr: AST_STR { start: cursor.start, end: cursor.end }}); cursor.state = ast_cursor_state::searching; cursor.end -=1; } } ast_cursor_state::brackets { .. } => { if curr_char == '[' { // [ cursor.level +=1; } if curr_char == ']' { // ] cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, chars, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::square { items: parans_args }); cursor.state = ast_cursor_state::searching; } } } cursor.end += 1; } // check for tokens that should have matching open/close pairs. // If any tokens that require matching pairs has an odd number of tokens in this schema, the block below will catch it match cursor.state { ast_cursor_state::searching => {} ast_cursor_state::brackets { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing square bracket!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_[_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::xml { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing angle bracket!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_<_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::parens { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing paranthasees!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_(_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::single_quote { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing single quotes!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_'_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::double_quote { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing double quotes!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_\"_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::curly { open_idx } => { let src_str: String = unsafe { String::from_utf8_unchecked(chars.iter().map(|v| *v).collect()) }; let mut error = String::from("AST Error: Missing matching closing curly brackets!: "); error.push_str(&src_str.as_str()[(usize::max(0, open_idx - AST_ERROR_RANGE))..open_idx]); error.push_str("_{_"); error.push_str(&src_str.as_str()[(open_idx+1)..usize::min(open_idx + AST_ERROR_RANGE, chars.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::token => { result.push(AST::token { addr: AST_STR { start: cursor.start, end: cursor.end }}); } ast_cursor_state::number => { result.push(AST::number { addr: AST_STR { start: cursor.start, end: cursor.end }}); } } Ok(()) } } // #[test] // fn test() { // // println!("HELLO {:?}", ); // // let schema = String::from(r##" // // // // info [ // title: "My Protocol", // author: "Scott Lott", // version: 1.0, // id: "481cfd47-5b6f-422c-9e0c-9d561e6c94d1" // ] // // enum Result [id: 0, default: "Unset"] { // Unset, // Ok(X), // Error(Y) // } // // struct user [id: 1] { // id: ulid, // name: string, // email: string, // something: [u32; 12] // } // // // # comment here // impl user { // get(id: u32) -> self, // update(self) -> Result<(), Error> // } // # comment here // // comment here // enum cursor_state [id: 3] { // option1(arg1, X), // option2 { key: value } // } // "##); // // // match AST::parse(&schema.clone()) { // Ok(ast) => { // println!("{:#?}", ast); // }, // Err(e) => { // println!("{:?}", e); // } // } // } ================================================ FILE: no_proto_rs/src/schema/mod.rs ================================================ pub mod ast; pub mod args; pub mod parser; // mod tests; use core::ops::DerefMut; use core::ops::Deref; use crate::error::NP_Error; use crate::map::NP_OrderedMap; use alloc::vec::Vec; use crate::types::NP_Type; use crate::schema::args::NP_Schema_Args; use core::str; #[derive(Default, PartialEq, Clone, Copy, Debug)] pub struct AST_STR { pub start: usize, pub end: usize } #[allow(dead_code)] impl AST_STR { pub fn read<'read>(&self, source: &'read str) -> &'read str { &source[self.start..self.end] } pub fn read_bytes<'read>(&self, source: &'read [u8]) -> &'read str { unsafe { str::from_utf8_unchecked(&source[self.start..self.end])} } pub fn from_bytes(pos: usize, buffer: &[u8]) -> Result<(usize, Self), NP_Error> { if pos + 3 > buffer.len() { return Err(NP_Error::OutOfBounds) } let mut new = AST_STR { start: 0, end: 0 }; let ptr = &buffer[pos]; new.start = le_bytes_read!(u16, ptr) as usize; let length = buffer[pos + 3] as usize; new.end = new.start + length; Ok((pos + 3, new)) } pub fn to_bytes(&self) -> [u8; 3] { let mut result = [0u8; 3]; let ptr = &mut result[0] as *mut u8; let val = &self.start; le_bytes_write!(u16, ptr, val); result[2] = (self.end - self.start) as u8; // let ptr = &mut result[2] as *mut u8; // let val = &self.end; // le_bytes_write!(u16, ptr, val); result } } #[derive(Default, Debug, Clone, PartialEq)] pub struct NP_Schem_Kind { pub val: NP_Type } impl NP_Schem_Kind { pub fn new(val: NP_Type) -> Self { Self { val } } } impl Deref for NP_Schem_Kind { type Target = NP_Type; fn deref(&self) -> &Self::Target { &self.val } } impl DerefMut for NP_Schem_Kind { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.val } } #[derive(Default, Debug, Clone, PartialEq)] pub struct NP_Schema_Value { id: Option, kind: NP_Schem_Kind, name: Option, generics: NP_Parsed_Generics, args: NP_Schema_Args } #[derive(Debug, Clone, PartialEq)] enum NP_Parsed_Generics { None, Parent (usize, Vec), // this index, arguments Child (usize, usize) // parent index, argument position } impl Default for NP_Parsed_Generics { fn default() -> Self { Self::None } } #[allow(dead_code)] const POINTER_SIZE: u32 = 4u32; #[derive(Default, Debug, Clone)] pub struct NP_Schema { pub source: Vec, pub schemas: Vec, pub name_index: NP_OrderedMap, pub id_index: Vec, pub unique_id: u32 } #[derive(Default, Debug, Clone, PartialEq)] pub struct NP_Schema_Index { pub data: usize, pub methods: Option } ================================================ FILE: no_proto_rs/src/schema/parser.rs ================================================ use crate::error::NP_Error; use crate::map::murmurhash3_x86_32; use crate::map::HASH_SEED; use crate::schema::args::NP_Schema_Args; use crate::schema::ast::AST; use crate::schema::NP_OrderedMap; use crate::schema::NP_Schem_Kind; use crate::schema::NP_Schema_Value; use crate::schema::AST_STR; use crate::schema::{NP_Schema, NP_Schema_Index}; use crate::types::NP_String_Casing; use crate::types::NP_Type; use alloc::boxed::Box; use alloc::string::String; use alloc::vec::Vec; use super::args::NP_Args; use super::NP_Parsed_Generics; #[allow(dead_code)] #[derive(Debug, Clone, PartialEq)] enum ChildItemParseState { Key, Colon, Value, Comma, Finished, } macro_rules! schema_number { ($source: tt, $arguments: tt, $kind: ty, $default: tt, $min: tt, $max: tt) => { if let NP_Schema_Args::MAP(args_map) = &$arguments { if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("default") { if let Ok(value) = data.read($source).parse::<$kind>() { *$default = value; } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("min") { if let Ok(value) = data.read($source).parse::<$kind>() { *$min = Some(value); } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("max") { if let Ok(value) = data.read($source).parse::<$kind>() { *$max = Some(value); } } } }; } macro_rules! schema_geo { ($source: tt, $arguments: tt, $kind: ty, $default: tt, $deviser: tt) => { if let NP_Schema_Args::MAP(args_map) = &$arguments { if let Some(NP_Schema_Args::MAP(lat_lng)) = args_map.get("default") { if let Some(NP_Schema_Args::NUMBER(lat)) = lat_lng.get("lat") { if let Some(NP_Schema_Args::NUMBER(lng)) = lat_lng.get("lng") { if let Ok(lat_parsed) = lat.read($source).parse::() { if let Ok(lng_parsed) = lng.read($source).parse::() { *$default = ( (lat_parsed * $deviser) as $kind, (lng_parsed * $deviser) as $kind, ); } } } } } } }; } macro_rules! schema_bytes_number { ($kind: ty, $default: tt, $min: tt, $max: tt, $schema_section: tt) => { if *$default == <$kind>::default() && *$min == None && *$max == None { $schema_section.extend_from_slice(&[0u8]); } else { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&$default.to_le_bytes()); if let Some(x) = $min { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&x.to_le_bytes()); } else { $schema_section.extend_from_slice(&[0u8]); } if let Some(x) = $max { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&x.to_le_bytes()); } else { $schema_section.extend_from_slice(&[0u8]); } } }; } macro_rules! schema_bytes_dec { ($exp: tt, $default: tt, $min: tt, $max: tt, $schema_section: tt) => { if *$default == 0 && *$min == None && *$max == None { $schema_section.extend_from_slice(&[0u8]); } else { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&$default.to_le_bytes()); if let Some(x) = $min { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&x.to_le_bytes()); } else { $schema_section.extend_from_slice(&[0u8]); } if let Some(x) = $max { $schema_section.extend_from_slice(&[1u8]); $schema_section.extend_from_slice(&x.to_le_bytes()); } else { $schema_section.extend_from_slice(&[0u8]); } } $schema_section.extend_from_slice(&$exp.to_le_bytes()); }; } #[allow(dead_code)] impl NP_Schema { pub fn get_source_as_str(&self) -> &str { unsafe { &core::str::from_utf8_unchecked(&self.source) } } // pub fn get_schema_info(&self, type_path: &str) -> Option { // if let Some(schema) = self.query_schema(type_path) { // Some(NP_Schema_Data { // id: schema.id, // name: if let Some(x) = schema.name { // Some(x.read_bytes(&self.source)) // } else { // None // }, // data_type: { // match &schema.kind { // NP_Type::None => NP_Schema_Data_Types::none, // NP_Type::Any { .. } => NP_Schema_Data_Types::any, // NP_Type::Info => NP_Schema_Data_Types::info, // NP_Type::String { .. } => NP_Schema_Data_Types::string, // NP_Type::Char { .. } => NP_Schema_Data_Types::char, // NP_Type::Int8 { .. } => NP_Schema_Data_Types::i8, // NP_Type::Int16 { .. } => NP_Schema_Data_Types::i16, // NP_Type::Int32 { .. } => NP_Schema_Data_Types::i32, // NP_Type::Int64 { .. } => NP_Schema_Data_Types::i64, // NP_Type::Uint8 { .. } => NP_Schema_Data_Types::u8, // NP_Type::Uint16 { .. } => NP_Schema_Data_Types::u16, // NP_Type::Uint32 { .. } => NP_Schema_Data_Types::u32, // NP_Type::Uint64 { .. } => NP_Schema_Data_Types::u64, // NP_Type::f32 { .. } => NP_Schema_Data_Types::f32, // NP_Type::f64 { .. } => NP_Schema_Data_Types::f64, // NP_Type::Dec32 { .. } => NP_Schema_Data_Types::dec32, // NP_Type::Dec64 { .. } => NP_Schema_Data_Types::dec64, // NP_Type::Boolean { .. } => NP_Schema_Data_Types::bool, // NP_Type::Geo32 { .. } => NP_Schema_Data_Types::geo32, // NP_Type::Geo64 { .. } => NP_Schema_Data_Types::geo64, // NP_Type::Geo128 { .. } => NP_Schema_Data_Types::geo128, // NP_Type::Uuid { .. } => NP_Schema_Data_Types::uuid, // NP_Type::Ulid { .. } => NP_Schema_Data_Types::ulid, // NP_Type::Date { .. } => NP_Schema_Data_Types::date, // NP_Type::Enum { .. } => NP_Schema_Data_Types::_enum, // NP_Type::Struct { .. } => NP_Schema_Data_Types::_struct, // NP_Type::Map { .. } => NP_Schema_Data_Types::map, // NP_Type::Vec { .. } => NP_Schema_Data_Types::vec, // NP_Type::Result { .. } => NP_Schema_Data_Types::result, // NP_Type::Option { .. } => NP_Schema_Data_Types::option, // NP_Type::Array { .. } => NP_Schema_Data_Types::array, // NP_Type::Tuple { .. } => NP_Schema_Data_Types::tuple, // NP_Type::Impl { .. } => NP_Schema_Data_Types::_impl, // NP_Type::Fn_Self { .. } => NP_Schema_Data_Types::_self, // NP_Type::Method { .. } => NP_Schema_Data_Types::_fn, // NP_Type::Generic { .. } => NP_Schema_Data_Types::generic, // NP_Type::Custom { .. } => NP_Schema_Data_Types::custom, // NP_Type::Box { .. } => NP_Schema_Data_Types::_box, // NP_Type::Simple_Enum { .. } => NP_Schema_Data_Types::_enum, // } // }, // generics: match &schema.generics { // NP_Parsed_Generics::None => None, // NP_Parsed_Generics::Arguments(_idx, args) => Some(args.len()), // NP_Parsed_Generics::Types(types) => Some(types.len()) // }, // has_args: if let NP_Schema_Args::NULL = &schema.arguments { // false // } else { // true // } // }) // } else { // None // } // } // pub fn query_schema(&self, type_path: &str) -> Option<&NP_Type> { // if self.schemas.len() == 0 { // return None; // } // let dot_pos = type_path.chars().enumerate().fold(None, |accu, (i, elem)| { // if accu == None { // if elem == '.' { // Some(i) // } else { // None // } // } else { // accu // } // }); // #[derive(PartialEq, Debug)] // enum scan_state { // query, // last_pass, // completed // } // let type_name_ref = type_path; // let type_name_chars = type_path.as_bytes(); // let mut state = scan_state::query; // if let Some(first_dot) = dot_pos { // nested type // let mut level: usize = 0; // let mut current_idx = (0, first_dot); // let mut check_path = type_name_ref; // let mut use_schema = &self.schemas[0]; // while state != scan_state::completed { // check_path = &type_name_ref[current_idx.0..current_idx.1]; // current_idx.0 = current_idx.1 + 1; // current_idx.1 += 1; // if level == 0 { // if let Some(info) = self.name_index.get(check_path) { // use_schema = &self.schemas[info.data]; // } else { // return None; // } // } else { // if check_path == "_generics" { // while current_idx.1 < type_name_ref.len() && type_name_chars[current_idx.1] != '.' as u8 { // current_idx.1 += 1; // } // check_path = &type_name_ref[current_idx.0..current_idx.1]; // if let NP_Parsed_Generics::Types(types) = &use_schema.generics { // if let Ok(indx) = check_path.parse::() { // use_schema = &self.schemas[types[indx]]; // if current_idx.1 == type_name_ref.len() { // state = scan_state::last_pass; // } else { // current_idx.0 = current_idx.1 + 1; // current_idx.1 += 1; // } // } else { // return None; // } // } else { // return None; // } // } else { // match &use_schema.kind { // NP_Type::Enum { children, .. } => { // if let Some(x) = children.get(check_path) { // if let Some(child_type) = x { // use_schema = &self.schemas[*child_type]; // } else { // return None; // } // } else { // return None; // } // } // NP_Type::Struct { children, .. } => { // if let Some(x) = children.get(check_path) { // use_schema = &self.schemas[*x]; // } else { // return None; // } // } // NP_Type::Tuple { children, .. } => { // if let Ok(idx) = check_path.parse::() { // use_schema = &self.schemas[idx]; // } else { // return None; // } // }, // _ => { // return None; // } // } // } // } // if state == scan_state::last_pass { // return Some(use_schema); // } // while current_idx.1 < type_name_ref.len() && type_name_chars[current_idx.1] != '.' as u8 { // current_idx.1 += 1; // } // if state == scan_state::last_pass { // state = scan_state::completed; // } // if current_idx.1 == type_name_ref.len() { // state = scan_state::last_pass; // } // level += 1; // } // None // } else { // base type // if let Some(info) = self.name_index.get(type_path.as_ref()) { // Some(&self.schemas[info.data]) // } else { // None // } // } // } pub fn parse(input: S) -> Result where S: AsRef, { let ast = AST::parse(input.as_ref())?; let mut parse_idx: usize = 0; let mut parse_schema: Vec = Vec::new(); let mut type_idx: NP_OrderedMap = NP_OrderedMap::new(); let top_generics = NP_Parsed_Generics::None; let mut max_loop: u32 = 0; while parse_idx < ast.len() && max_loop < (u32::MAX / 2) { max_loop += 1; if ast[parse_idx] == AST::newline || ast[parse_idx] == AST::semicolon { parse_idx += 1; } else { parse_idx = Self::parse_single_type( input.as_ref(), &ast, parse_idx, 0, 0, &top_generics, &mut type_idx, &mut parse_schema, )?; parse_idx += 1; } } // build ID index let mut max_id: usize = 0; for schema in &parse_schema { if let Some(id) = schema.id { max_id = usize::max(id, max_id); } } max_id += 1; let mut id_idx: Vec = if parse_schema.len() == 0 { vec![] } else { vec![NP_Schema_Index::default(); max_id as usize] }; for schema in &parse_schema { if let Some(id) = schema.id { if let Some(name) = schema.name { if let Some(schema_index) = type_idx.get(name.read(input.as_ref())) { id_idx[id as usize] = schema_index.clone(); } } } } // calculate unique id for this schema based on info let mut unique_id: u32 = 0; if let Some(info) = type_idx.get("__info") { let info_schema = &parse_schema[info.data]; if let Some(id) = info_schema.args.query("id", input.as_ref()) { match id { NP_Args::NUMBER(num) => { let hash = murmurhash3_x86_32(num.as_bytes(), HASH_SEED); unique_id = unique_id.wrapping_add(hash); } NP_Args::STRING(stri) => { let hash = murmurhash3_x86_32(stri.as_bytes(), HASH_SEED); unique_id = unique_id.wrapping_add(hash); } _ => {} } } if let Some(id) = info_schema.args.query("version", input.as_ref()) { match id { NP_Args::NUMBER(num) => { let hash = murmurhash3_x86_32(num.as_bytes(), HASH_SEED); unique_id = unique_id.wrapping_add(hash); } NP_Args::STRING(stri) => { let hash = murmurhash3_x86_32(stri.as_bytes(), HASH_SEED); unique_id = unique_id.wrapping_add(hash); } _ => {} } } } Ok(Self { source: String::from(input.as_ref()).into_bytes(), schemas: parse_schema, name_index: type_idx, id_index: id_idx, unique_id: unique_id, }) } fn maybe_error_on_generics(result_schema: &NP_Schema_Value) -> Result<(), NP_Error> { if let NP_Parsed_Generics::Parent(_, _) = &result_schema.generics { match &result_schema.kind.val { NP_Type::Enum { .. } => {} NP_Type::Struct { .. } => {} NP_Type::Tuple { .. } => {} NP_Type::Impl { .. } => {} NP_Type::Custom { .. } => {} _ => { let mut msg = String::from("Error: this type does not support generic arguments: "); msg.push_str(result_schema.kind.val.get_str()); return Err(NP_Error::Custom { message: msg }); } // NP_Type::Generic { .. } => {} } } Ok(()) } fn maybe_parse_children( ast: &Vec, index: usize, max_index: usize, is_tuple: bool, ) -> (usize, Option<&Vec>) { if index + 1 >= max_index { return (index, None); } if is_tuple { match &ast[index + 1] { AST::parans { items } => (index + 1, Some(items)), _ => (index, None), } } else { match &ast[index + 1] { AST::curly { items } => (index + 1, Some(items)), _ => (index, None), } } } fn maybe_parse_title( ast: &Vec, index: usize, max_index: usize, result_schema: &mut NP_Schema_Value, ) -> usize { if index + 1 >= max_index { return index; } match &ast[index + 1] { AST::token { addr } => { result_schema.name = Some(addr.clone()); index + 1 } _ => index, } } fn maybe_parse_generics( ast: &Vec, index: usize, max_index: usize, schema_len: usize, result_schema: &mut NP_Schema_Value, ) -> Result { if index + 1 >= max_index { return Ok(index); } match &ast[index + 1] { AST::xml { items } => { let mut generics: Vec = Vec::new(); for generic_item in items.iter() { match generic_item { AST::token { addr } => generics.push(addr.clone()), AST::comma => {} AST::newline => {} _ => { return Err(NP_Error::Custom { message: String::from("Unexpected token in generics!"), }) } } } if result_schema.generics != NP_Parsed_Generics::None { return Err(NP_Error::Custom { message: String::from("Attempting to use generic arguments on a type that already has generic types!") }); } result_schema.generics = NP_Parsed_Generics::Parent(schema_len, generics); Ok(index + 1) } _ => Ok(index), } } fn parse_argument_groups(source: &str, items: &Vec) -> Result { let mut has_colons = false; for item in items { if *item == AST::colon { has_colons = true; } } let mut i = 0; if has_colons { // key: value, key: value let mut state = ChildItemParseState::Key; let mut key_str: AST_STR = Default::default(); let mut final_args = NP_OrderedMap::new(); while i < items.len() && state != ChildItemParseState::Finished { match state { ChildItemParseState::Key => { if let AST::token { addr } = items[i] { key_str = addr.clone(); state = ChildItemParseState::Colon; i += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing argument key:value pairs!"), }); } } ChildItemParseState::Colon => { // colon if items[i] != AST::colon { return Err(NP_Error::Custom { message: String::from("Error parsing argument key:value pairs!"), }); } else { state = ChildItemParseState::Value; i += 1; } } ChildItemParseState::Value => { // value match &items[i] { AST::token { addr } => { let token_value = addr.read(source); match token_value { "true" => { final_args.set(key_str.read(source), NP_Schema_Args::TRUE); } "false" => { final_args.set(key_str.read(source), NP_Schema_Args::FALSE); } "null" => { final_args.set(key_str.read(source), NP_Schema_Args::NULL); } _ => {} } } AST::number { addr } => { final_args.set( key_str.read(source), NP_Schema_Args::NUMBER(addr.clone()), ); } AST::string { addr } => { final_args.set( key_str.read(source), NP_Schema_Args::STRING(addr.clone()), ); } AST::square { items } => { final_args.set( key_str.read(source), Self::parse_argument_groups(source, items)?, ); } _ => { return Err(NP_Error::Custom { message: String::from( "Error parsing argument key:value pairs!", ), }) } } state = ChildItemParseState::Comma; i += 1; } ChildItemParseState::Comma => { // comma while i < items.len() && (&items[i] == &AST::comma || &items[i] == &AST::newline) { i += 1; } state = ChildItemParseState::Key; } _ => {} // other } } Ok(NP_Schema_Args::MAP(final_args)) } else { // value, value, value let mut final_args = Vec::new(); let mut state = ChildItemParseState::Key; let mut i = 0; while i < items.len() && state != ChildItemParseState::Finished { match state { ChildItemParseState::Key => { match &items[i] { AST::token { addr } => { let token_value = addr.read(source); match token_value { "true" => { final_args.push(NP_Schema_Args::TRUE); } "false" => { final_args.push(NP_Schema_Args::FALSE); } "null" => { final_args.push(NP_Schema_Args::NULL); } _ => {} } } AST::number { addr } => { final_args.push(NP_Schema_Args::NUMBER(addr.clone())); } AST::string { addr } => { final_args.push(NP_Schema_Args::STRING(addr.clone())); } AST::square { items } => { final_args.push(Self::parse_argument_groups(source, items)?); } _ => { return Err(NP_Error::Custom { message: String::from( "Error parsing argument key:value pairs!", ), }) } } state = ChildItemParseState::Comma; i += 1; } ChildItemParseState::Comma => { while i < items.len() && (&items[i] == &AST::comma || &items[i] == &AST::newline) { i += 1; } state = ChildItemParseState::Key; } _ => {} } } Ok(NP_Schema_Args::LIST(final_args)) } } fn maybe_parse_arguments( source: &str, ast: &Vec, index: usize, max_index: usize, result_schema: &mut NP_Schema_Value, ) -> Result { if index + 1 >= max_index { return Ok(index); } match &ast[index + 1] { AST::square { items } => { result_schema.args = Self::parse_argument_groups(source, items)?; Ok(index + 1) } _ => Ok(index), } } fn str_to_type( source: &str, token: &AST_STR, parent_generics: &NP_Parsed_Generics, type_idx: &NP_OrderedMap, ) -> Option> { let token_value = token.read(source); match token_value { "any" => Some(NP_Type::Any), "info" => Some(NP_Type::Info), "string" => Some(NP_Type::String { default: Default::default(), casing: Default::default(), max_len: Default::default(), }), "char" => Some(NP_Type::Char { default: Default::default(), }), "i8" => Some(NP_Type::Int8 { default: Default::default(), min: Default::default(), max: Default::default(), }), "i16" => Some(NP_Type::Int16 { default: Default::default(), min: Default::default(), max: Default::default(), }), "i32" => Some(NP_Type::Int32 { default: Default::default(), min: Default::default(), max: Default::default(), }), "i64" => Some(NP_Type::Int64 { default: Default::default(), min: Default::default(), max: Default::default(), }), "u8" => Some(NP_Type::Uint8 { default: Default::default(), min: Default::default(), max: Default::default(), }), "u16" => Some(NP_Type::Uint16 { default: Default::default(), min: Default::default(), max: Default::default(), }), "u32" => Some(NP_Type::Uint32 { default: Default::default(), min: Default::default(), max: Default::default(), }), "u64" => Some(NP_Type::Uint64 { default: Default::default(), min: Default::default(), max: Default::default(), }), "f32" => Some(NP_Type::Float32 { default: Default::default(), min: Default::default(), max: Default::default(), }), "f64" => Some(NP_Type::Float64 { default: Default::default(), min: Default::default(), max: Default::default(), }), "e32" => Some(NP_Type::Exp32 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default(), }), "e64" => Some(NP_Type::Exp64 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default(), }), "bool" => Some(NP_Type::Bool { default: Default::default(), }), "g32" => Some(NP_Type::Geo32 { default: Default::default(), }), "g64" => Some(NP_Type::Geo64 { default: Default::default(), }), "g128" => Some(NP_Type::Geo128 { default: Default::default(), }), "uuid" => Some(NP_Type::Uuid), "ulid" => Some(NP_Type::Ulid), "date" => Some(NP_Type::Date { default: Default::default(), }), "enum" => Some(NP_Type::Enum { children: Default::default(), default: Default::default(), }), "struct" => Some(NP_Type::Struct { children: Default::default(), }), "Map" => Some(NP_Type::Map { of: Default::default(), }), "Vec" => Some(NP_Type::Vec { of: Default::default(), max_len: Default::default(), }), "List" => Some(NP_Type::List { of: Default::default(), }), "Result" => Some(NP_Type::Result { ok: Default::default(), err: Default::default(), }), "Option" => Some(NP_Type::Option { some: Default::default(), }), "Box" => Some(NP_Type::Box { of: Default::default(), }), "impl" => Some(NP_Type::Impl { methods: Default::default(), }), "self" => Some(NP_Type::This { parent_schema_addr: Default::default(), }), "Self" => Some(NP_Type::This { parent_schema_addr: Default::default(), }), "tuple" => Some(NP_Type::Tuple { children: Default::default(), }), _ => { if let NP_Parsed_Generics::Parent(parent_idx, these_generics) = parent_generics { for (idx, generic_ast) in these_generics.iter().enumerate() { if generic_ast.read(source) == token_value { return Some(NP_Type::Generic { parent_schema_addr: *parent_idx, parent_generic_idx: idx, }); } } } // is this a valid custom type? if let Some(type_data) = type_idx.get(token_value) { return Some(NP_Type::Custom { parent_schema_addr: type_data.data, generic_args: None, }); } return None; } } } fn parse_single_type( source: &str, ast: &Vec, index: usize, depth: u16, parent_idx: usize, generics: &NP_Parsed_Generics, type_idx: &mut NP_OrderedMap, parsed_schema: &mut Vec, ) -> Result { if depth > 255 { return Err(NP_Error::RecursionLimit); } // find where the next newline, semicolon or comma is. Parsing should not pass this point. let mut max_index = index; while max_index < ast.len() && ast[max_index] != AST::semicolon && ast[max_index] != AST::newline && ast[max_index] != AST::comma { max_index += 1; } let mut use_index = index; let this_ast = &ast[use_index]; let mut result_schema: NP_Schema_Value = Default::default(); // inject placeholder schema let this_schema_addr = parsed_schema.len(); parsed_schema.push(Default::default()); let mut internal_type_args: Vec = Vec::new(); let mut is_implicit = false; let mut is_struct = false; let mut contents_of_type = match this_ast { AST::curly { items } => { // implicit struct { key: X } result_schema.kind = NP_Schem_Kind::new(NP_Type::Struct { children: Default::default(), }); is_implicit = true; is_struct = true; Some(items) } AST::parans { items } => { // tuple type (X, Y, Z) or method (x, y) -> z let mut has_arrows = false; let mut check_index = use_index; while check_index < max_index { if let AST::arrow = &ast[check_index] { has_arrows = true; } check_index += 1; } if has_arrows { result_schema.kind = NP_Schem_Kind::new(NP_Type::Method { id: Default::default(), args: Default::default(), returns: Default::default(), }); } else { is_implicit = true; result_schema.kind = NP_Schem_Kind::new(NP_Type::Tuple { children: Default::default(), }); use_index = Self::maybe_parse_title(ast, use_index, max_index, &mut result_schema); use_index = Self::maybe_parse_arguments( source, ast, use_index, max_index, &mut result_schema, )?; } Some(items) } AST::square { items } => { // array type [X; 32] result_schema.kind = NP_Schem_Kind::new(NP_Type::Array { of: Default::default(), len: Default::default(), }); use_index = Self::maybe_parse_title(ast, use_index, max_index, &mut result_schema); use_index = Self::maybe_parse_arguments( source, ast, use_index, max_index, &mut result_schema, )?; Some(items) } AST::token { addr } => { // standard named type // handle types with generic parameters like Vec or List if ast.len() > use_index + 1 { if let AST::xml { items } = &ast[use_index + 1] { if addr.read(source) != "impl" { // ignore impls let mut i: usize = 0; while i < usize::min(items.len(), 24) { if items[i] != AST::comma && items[i] != AST::newline { internal_type_args.push(parsed_schema.len()); i = Self::parse_single_type( &source, items, i, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } i += 1; } } use_index += 1; } } if internal_type_args.len() > 0 { // result_schema.generics = NP_Parsed_Generics::Types(child_generics); // result_schema.use_generics = Some(child_generics); } use_index = Self::maybe_parse_title(ast, use_index, max_index, &mut result_schema); use_index = Self::maybe_parse_generics( ast, use_index, max_index, this_schema_addr, &mut result_schema, )?; use_index = Self::maybe_parse_arguments( source, ast, use_index, max_index, &mut result_schema, )?; if let Some(data_type) = Self::str_to_type(source, addr, &generics, &type_idx) { result_schema.kind = NP_Schem_Kind::new(data_type); if let NP_Type::Struct { .. } = &result_schema.kind.val { is_struct = true; } } else { // no type found! let mut err = String::from("Unknown type found!: "); err.push_str(addr.read(source)); return Err(NP_Error::Custom { message: err }); } None } _ => { return Err(NP_Error::Custom { message: String::from("Unexpected value in parsing AST!"), }) } }; // set type index if let Some(title) = result_schema.name { if depth == 0 { if let NP_Type::Impl { .. } = result_schema.kind.val { // impl block let index_data = if let Some(index_data) = type_idx.get(title.read(source)) { index_data.clone() } else { return Err(NP_Error::Custom { message: String::from("impl block before data declaration!"), }); }; type_idx.set( title.read(source), NP_Schema_Index { data: index_data.data, methods: Some(this_schema_addr), }, ); } else { // any other type type_idx.set( title.read(source), NP_Schema_Index { data: this_schema_addr, methods: None, }, ); } } } // handle this condition: // struct (/* really a tuple */) if is_struct && !is_implicit && max_index > use_index + 1 { match &ast[use_index + 1] { AST::parans { .. } => { // actually a tuple type! result_schema.kind = NP_Schem_Kind::new(NP_Type::Tuple { children: Vec::new(), }); } _ => {} } } // type generics not allowed on nested types if let NP_Parsed_Generics::Parent(_, _) = &result_schema.generics { if depth > 0 { return Err(NP_Error::Custom { message: String::from("Nested types cannot have generic arguments!"), }); } } let mut enum_keys: Vec = Vec::new(); match &mut result_schema.kind.val { NP_Type::None => { /* nothing to do */ } NP_Type::Any => { /* nothing to do */ } NP_Type::Info => { /* nothing to do */ } NP_Type::String { default, casing, max_len, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::STRING(data)) = args_map.get("default") { *default = data.clone(); } if let Some(NP_Schema_Args::TRUE) = args_map.get("uppercase") { *casing = NP_String_Casing::Uppercase; } if let Some(NP_Schema_Args::TRUE) = args_map.get("lowercase") { *casing = NP_String_Casing::Lowercase; } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("max_len") { if let Ok(length) = data.read(source).parse::() { *max_len = Some(length); } } } } NP_Type::Char { default, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::STRING(data)) = args_map.get("default") { if let Some(char) = data.read(source).chars().next() { *default = char; } } } } NP_Type::Int8 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, i8, default, min, max); } NP_Type::Int16 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, i16, default, min, max); } NP_Type::Int32 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, i32, default, min, max); } NP_Type::Int64 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, i64, default, min, max); } NP_Type::Uint8 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, u8, default, min, max); } NP_Type::Uint16 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, u16, default, min, max); } NP_Type::Uint32 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, u32, default, min, max); } NP_Type::Uint64 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, u64, default, min, max); } NP_Type::Float32 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, f32, default, min, max); } NP_Type::Float64 { default, min, max, .. } => { let args = &result_schema.args; schema_number!(source, args, f64, default, min, max); } NP_Type::Exp32 { default, e, min, max, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("exp") { if let Ok(value) = data.read(source).parse::() { *e = value; } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("default") { if let Ok(value) = data.read(source).parse::() { *default = value; } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("min") { if let Ok(value) = data.read(source).parse::() { *min = Some(value); } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("max") { if let Ok(value) = data.read(source).parse::() { *max = Some(value); } } } } NP_Type::Exp64 { default, e, min, max, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("exp") { if let Ok(value) = data.read(source).parse::() { *e = value; } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("default") { if let Ok(value) = data.read(source).parse::() { *default = value; } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("min") { if let Ok(value) = data.read(source).parse::() { *min = Some(value); } } if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("max") { if let Ok(value) = data.read(source).parse::() { *max = Some(value); } } } } NP_Type::Bool { default, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::TRUE) = args_map.get("default") { *default = true; } if let Some(NP_Schema_Args::FALSE) = args_map.get("default") { *default = false; } } } NP_Type::Geo32 { default, .. } => { let args = &result_schema.args; schema_geo!(source, args, i16, default, 100f64); } NP_Type::Geo64 { default, .. } => { let args = &result_schema.args; schema_geo!(source, args, i32, default, 10000000f64); } NP_Type::Geo128 { default, .. } => { let args = &result_schema.args; schema_geo!(source, args, i64, default, 1000000000f64); } NP_Type::Uuid { .. } => {} NP_Type::Ulid { .. } => {} NP_Type::Date { default, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("default") { if let Ok(value) = data.read(source).parse::() { *default = value; } } } } NP_Type::Enum { children, default } => { let (next_index, children_items_ast) = Self::maybe_parse_children(ast, use_index, max_index, false); use_index = next_index; contents_of_type = children_items_ast; if let Some(children_ast) = contents_of_type { let mut parse_idx: usize = 0; let mut key_ast = AST_STR::default(); let mut parse_state = ChildItemParseState::Key; while parse_idx < children_ast.len() { match parse_state { ChildItemParseState::Key => { if let AST::token { addr } = &children_ast[parse_idx] { key_ast = addr.clone(); if parse_idx + 1 >= children_ast.len() { enum_keys.push(key_ast.clone()); children.set(key_ast.read(source), None); parse_state = ChildItemParseState::Finished; parse_idx += 1; } else { parse_state = ChildItemParseState::Colon; parse_idx += 1; } } else { return Err(NP_Error::Custom { message: String::from("Error parsing enum child items!"), }); } } ChildItemParseState::Colon => { match &children_ast[parse_idx] { AST::comma => { // has no child types children.set(key_ast.read(source), None); parse_state = ChildItemParseState::Comma; parse_idx += 1; } AST::parans { .. } => { parse_state = ChildItemParseState::Value; } AST::curly { .. } => { parse_state = ChildItemParseState::Value; } AST::newline => { // has no child types children.set(key_ast.read(source), None); parse_state = ChildItemParseState::Comma; parse_idx += 1; } _ => { return Err(NP_Error::Custom { message: String::from( "Error parsing enum child items!", ), }); } } } ChildItemParseState::Value => { let schema_loc = parsed_schema.len(); children.set(key_ast.read(source), Some(schema_loc)); if depth == 0 { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_state = ChildItemParseState::Comma; parse_idx += 1; } ChildItemParseState::Comma => { let mut loop_max: u8 = 0; while let ChildItemParseState::Comma = parse_state { if children_ast.len() > parse_idx { match &children_ast[parse_idx] { AST::comma => { parse_idx += 1; } AST::newline => { parse_idx += 1; } _ => { parse_state = ChildItemParseState::Key; } } } else { parse_state = ChildItemParseState::Finished } loop_max += 1; // prevent infinite loop if loop_max == u8::MAX { parse_state = ChildItemParseState::Finished } } } ChildItemParseState::Finished => { // nothing to do here } } } let mut default_key: Option = None; if let NP_Schema_Args::MAP(data) = &result_schema.args { if let Some(NP_Schema_Args::STRING(data)) = data.get("default") { for (idx, key) in children.iter_keys().enumerate() { if key == data.read(source) { *default = idx; default_key = Some(key.clone()); } } } } if let Some(key) = default_key { if let Some(default_type) = children.get(key.as_str()) { if let Some(_child_type) = default_type { return Err(NP_Error::Custom { message: String::from( "Enum default cannot contain properties!", ), }); } } } } else { return Err(NP_Error::Custom { message: String::from("Missing enum children declaration!"), }); } } NP_Type::Struct { children } => { if is_implicit == false { let (next_index, children_ast_items) = Self::maybe_parse_children(ast, use_index, max_index, false); use_index = next_index; contents_of_type = children_ast_items; } if let Some(children_ast) = contents_of_type { let mut parse_idx: usize = 0; let mut key_ast = AST_STR::default(); let mut parse_state = ChildItemParseState::Key; while parse_idx < children_ast.len() { match parse_state { ChildItemParseState::Key => { if let AST::token { addr } = &children_ast[parse_idx] { key_ast = addr.clone(); parse_state = ChildItemParseState::Colon; parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing struct child items!"), }); } } ChildItemParseState::Colon => { if let AST::colon = &children_ast[parse_idx] { parse_state = ChildItemParseState::Value; parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing struct child items!"), }); } } ChildItemParseState::Value => { let schema_loc = parsed_schema.len(); children.set(key_ast.read(source), schema_loc); if depth == 0 { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_state = ChildItemParseState::Comma; parse_idx += 1; } ChildItemParseState::Comma => { let mut loop_max: u8 = 0; while let ChildItemParseState::Comma = parse_state { if children_ast.len() > parse_idx { match &children_ast[parse_idx] { AST::comma => { parse_idx += 1; } AST::newline => { parse_idx += 1; } _ => { parse_state = ChildItemParseState::Key; } } } else { parse_state = ChildItemParseState::Finished } loop_max += 1; // prevent infinite loop if loop_max == u8::MAX { parse_state = ChildItemParseState::Finished } } } ChildItemParseState::Finished => { // nothing to do here } } } } else { return Err(NP_Error::Custom { message: String::from("Missing struct children declaration!"), }); } } NP_Type::Map { of, .. } => { if internal_type_args.len() == 1 { *of = Box::new(internal_type_args[0]); } else { return Err(NP_Error::Custom { message: String::from("Maps require one argument for contents: Map"), }); } } NP_Type::List { of, .. } => { if internal_type_args.len() == 1 { *of = Box::new(internal_type_args[0]); } else { return Err(NP_Error::Custom { message: String::from( "Linked lists require one argument for contents: List", ), }); } } NP_Type::Vec { max_len, .. } => { if let NP_Schema_Args::MAP(args_map) = &result_schema.args { if let Some(NP_Schema_Args::NUMBER(data)) = args_map.get("max_len") { if let Ok(value) = data.read(source).parse::() { *max_len = Some(value); } } } } NP_Type::Result { ok, err } => { if internal_type_args.len() == 2 { *ok = Box::new(internal_type_args[0]); *err = Box::new(internal_type_args[1]); } else { return Err(NP_Error::Custom { message: String::from( "Result types require two arguments for contents: Result", ), }); } } NP_Type::Option { some } => { if internal_type_args.len() == 1 { *some = Box::new(internal_type_args[0]); } else { return Err(NP_Error::Custom { message: String::from( "Option types require one argument for contents: Option", ), }); } } NP_Type::Box { of, .. } => { if internal_type_args.len() == 1 { *of = Box::new(internal_type_args[0]); } else { return Err(NP_Error::Custom { message: String::from("Box require one argument for contents: Box"), }); } } NP_Type::This { parent_schema_addr } => { *parent_schema_addr = parent_idx; } NP_Type::Array { of, len } => { if let Some(children) = contents_of_type { let mut parse_idx: usize = 0; *of = Box::new(parsed_schema.len()); if depth == 0 { parse_idx = Self::parse_single_type( source, children, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_idx += 1; if let AST::semicolon = &children[parse_idx] { parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing array type!"), }); } if let AST::number { addr } = &children[parse_idx] { if let Ok(length) = addr.read(source).parse::() { *len = length; } else { return Err(NP_Error::Custom { message: String::from("Error parsing array type!"), }); } } else { return Err(NP_Error::Custom { message: String::from("Error parsing array type!"), }); } } else { return Err(NP_Error::Custom { message: String::from("Missing array items!"), }); } } NP_Type::Tuple { children } => { // handle this condition // tuple ( /* .. */ ) if is_implicit == false { let (next_index, parsed_children) = Self::maybe_parse_children(ast, use_index, max_index, true); use_index = next_index; contents_of_type = parsed_children; } if let Some(children_ast) = contents_of_type { let mut parse_idx: usize = 0; // let mut key_ast = AST_STR::default(); let mut parse_state = ChildItemParseState::Value; while parse_idx < children_ast.len() { match parse_state { ChildItemParseState::Key => { /* no keys here */ } ChildItemParseState::Colon => { /* no colons here */ } ChildItemParseState::Value => { let schema_loc = parsed_schema.len(); children.push(schema_loc); if depth == 0 { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_state = ChildItemParseState::Comma; parse_idx += 1; } ChildItemParseState::Comma => { let mut loop_max: u8 = 0; while let ChildItemParseState::Comma = parse_state { if children_ast.len() > parse_idx { match &children_ast[parse_idx] { AST::comma => { parse_idx += 1; } AST::newline => { parse_idx += 1; } _ => { parse_state = ChildItemParseState::Value; } } } else { parse_state = ChildItemParseState::Finished } loop_max += 1; // prevent infinite loop if loop_max == u8::MAX { parse_state = ChildItemParseState::Finished } } } ChildItemParseState::Finished => { // nothing to do here } } } } else { return Err(NP_Error::Custom { message: String::from("Missing tuple children declaration!"), }); } } NP_Type::Impl { methods } => { let (next_index, children_ast_items) = Self::maybe_parse_children(ast, use_index, max_index, false); use_index = next_index; contents_of_type = children_ast_items; if let Some(children_ast) = contents_of_type { let mut parse_idx: usize = 0; let mut key_ast = AST_STR::default(); let mut parse_state = ChildItemParseState::Key; while parse_idx < children_ast.len() { match parse_state { ChildItemParseState::Key => { if let AST::token { addr } = &children_ast[parse_idx] { key_ast = addr.clone(); parse_state = ChildItemParseState::Value; parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing impl child items!"), }); } } ChildItemParseState::Colon => { /* no colons here */ } ChildItemParseState::Value => { methods.set(key_ast.read(source), parsed_schema.len()); if depth == 0 { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_state = ChildItemParseState::Comma; parse_idx += 1; } ChildItemParseState::Comma => { let mut loop_max: u8 = 0; while let ChildItemParseState::Comma = parse_state { if children_ast.len() > parse_idx { match &children_ast[parse_idx] { AST::comma => { parse_idx += 1; } AST::newline => { parse_idx += 1; } _ => { parse_state = ChildItemParseState::Key; } } } else { parse_state = ChildItemParseState::Finished } loop_max += 1; // prevent infinite loop if loop_max == u8::MAX { parse_state = ChildItemParseState::Finished } } } ChildItemParseState::Finished => { // nothing to do here } } } } else { return Err(NP_Error::Custom { message: String::from("Missing impl children declaration!"), }); } } NP_Type::Method { args, returns, .. } => { // parse args if let Some(children_ast) = contents_of_type { let mut parse_idx: usize = 0; let mut key_ast = AST_STR::default(); let mut parse_state = ChildItemParseState::Key; while parse_idx < children_ast.len() { match parse_state { ChildItemParseState::Key => { if let AST::token { addr } = &children_ast[parse_idx] { key_ast = addr.clone(); parse_state = ChildItemParseState::Colon; parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from("Error parsing method args!"), }); } } ChildItemParseState::Colon => { match &children_ast[parse_idx] { AST::colon => { // named param parse_state = ChildItemParseState::Value; parse_idx += 1; } AST::comma => { // anonymous param (can only be self) let schema_loc = parsed_schema.len(); if key_ast.read(source) == "self" { args.set("self", schema_loc); // if depth == 0 { // parse_idx = Self::parse_single_type(source, children_ast, parse_idx - 1, depth + 1, schema_len, &result_schema.generics, type_idx, parsed_schema)?; // } else { // parse_idx = Self::parse_single_type(source, children_ast, parse_idx - 1, depth + 1, parent_idx, &generics, type_idx, parsed_schema)?; // } parse_state = ChildItemParseState::Comma; parse_idx += 1; } else { return Err(NP_Error::Custom { message: String::from( "Error parsing method impl arguments!", ), }); } } _ => { return Err(NP_Error::Custom { message: String::from( "Error parsing method impl arguments!", ), }); } } } ChildItemParseState::Value => { let schema_loc = parsed_schema.len(); args.set(key_ast.read(source), schema_loc); if depth == 0 { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { parse_idx = Self::parse_single_type( source, children_ast, parse_idx, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } parse_state = ChildItemParseState::Comma; parse_idx += 1; } ChildItemParseState::Comma => { let mut loop_max: u8 = 0; while let ChildItemParseState::Comma = parse_state { if children_ast.len() > parse_idx { match &children_ast[parse_idx] { AST::comma => { parse_idx += 1; } AST::newline => { parse_idx += 1; } _ => { parse_state = ChildItemParseState::Key; } } } else { parse_state = ChildItemParseState::Finished } loop_max += 1; // prevent infinite loop if loop_max == u8::MAX { parse_state = ChildItemParseState::Finished } } } ChildItemParseState::Finished => { // nothing to do here } } } // // last item in args was anonymous arg // if let ChildItemParseState::Colon = parse_state { // let schema_loc = parsed_schema.len(); // args.set("self", schema_loc); // if depth == 0 { // Self::parse_single_type(source, children_ast, parse_idx - 1, depth + 1, schema_len, &result_schema.generics, type_idx, parsed_schema)?; // } else { // Self::parse_single_type(source, children_ast, parse_idx - 1, depth + 1, parent_idx, &generics, type_idx, parsed_schema)?; // } // // *args_size += parsed_schema[schema_loc].kind.type_size(); // } } use_index += 1; // parse return value if let AST::arrow = &ast[use_index] { use_index += 1; } else { return Err(NP_Error::Custom { message: String::from("Missing arrow from method declaration!"), }); } *returns = Box::new(parsed_schema.len()); if depth == 0 { use_index = Self::parse_single_type( source, ast, use_index, depth + 1, this_schema_addr, &result_schema.generics, type_idx, parsed_schema, )?; } else { use_index = Self::parse_single_type( source, ast, use_index, depth + 1, parent_idx, &generics, type_idx, parsed_schema, )?; } use_index += 1; } NP_Type::Custom { generic_args, .. } => { if internal_type_args.len() > 0 { *generic_args = Some(internal_type_args); } } NP_Type::Generic { .. } => { /* nothing to do */ } NP_Type::Simple_Enum { .. } => { /* unreachable */ } NP_Type::Unknown { .. } => { /* unreachable */ } NP_Type::RPC_Call { .. } => { /* unreachable */ } NP_Type::RPC_Return { .. } => { /* unreachable */ } } Self::maybe_error_on_generics(&result_schema)?; if depth == 0 { // set ID if let NP_Schema_Args::MAP(data) = &result_schema.args { if let Some(id) = data.get("id") { if let NP_Schema_Args::NUMBER(data) = id { if let Ok(id_num) = data.read(source).parse::() { result_schema.id = Some(id_num); } } } } if result_schema.kind.val != NP_Type::Info { if None == result_schema.id { if let NP_Type::Impl { .. } = &result_schema.kind.val { } else { return Err(NP_Error::Custom { message: String::from("All top level types must have an id property!"), }); } } if None == result_schema.name { return Err(NP_Error::Custom { message: String::from("All top level types must have a name!"), }); } } else { type_idx.set( "__info", NP_Schema_Index { data: this_schema_addr, methods: None, }, ); } } if result_schema.kind.val == NP_Type::None { return Err(NP_Error::Custom { message: String::from("No valid type found!"), }); } let is_simple_enum: Option = if let NP_Type::Enum { children, default } = &result_schema.kind.val { let mut is_simple = true; for (_, value) in children.iter() { if let Some(_) = value { is_simple = false; } } if is_simple { Some(*default) } else { None } } else { None }; if let Some(default) = is_simple_enum { result_schema.kind = NP_Schem_Kind::new(NP_Type::Simple_Enum { children: enum_keys, default, }); } // set result schema parsed_schema[this_schema_addr] = result_schema; Ok(use_index) } pub fn read_ast_str(&self, ast_str: AST_STR) -> &str { ast_str.read_bytes(&self.source.as_slice()) } fn bytes_to_args( buffer_loc: usize, buffer: &[u8], ) -> Result<(usize, NP_Schema_Args), NP_Error> { let mut index = buffer_loc; match buffer[index] { 0 => Ok((index + 1, NP_Schema_Args::NULL)), 1 => Ok((index + 1, NP_Schema_Args::TRUE)), 2 => Ok((index + 1, NP_Schema_Args::FALSE)), 3 => { // string let (new_index, ast_str) = AST_STR::from_bytes(index + 1, buffer)?; Ok((new_index + 1, NP_Schema_Args::STRING(ast_str))) } 4 => { // number let (new_index, ast_str) = AST_STR::from_bytes(index + 1, buffer)?; Ok((new_index + 1, NP_Schema_Args::NUMBER(ast_str))) } 5 => { // map let mut result: NP_OrderedMap = NP_OrderedMap::new(); index += 1; let mut item_length = buffer[index]; index += 1; while item_length > 0 { let (new_index, ast_str) = AST_STR::from_bytes(index + 1, buffer)?; let (next_index, child_object) = Self::bytes_to_args(new_index, buffer)?; result.set(ast_str.read_bytes(buffer), child_object); index = next_index; item_length -= 1; } Ok((index + 1, NP_Schema_Args::MAP(result))) } 6 => { // list let mut result: Vec = Vec::new(); index += 1; let mut item_length = buffer[index]; index += 1; while item_length > 0 { let (next_index, child_object) = Self::bytes_to_args(index, buffer)?; result.push(child_object); index = next_index; item_length -= 1; } Ok((index + 1, NP_Schema_Args::LIST(result))) } _ => Ok((index + 1, NP_Schema_Args::NULL)), } } fn args_to_bytes( &self, string_index: &mut NP_OrderedMap, string_buffer: &mut Vec, args: &NP_Schema_Args, ) -> Result, NP_Error> { let mut result = Vec::new(); match args { NP_Schema_Args::NULL => { result.extend_from_slice(&[0u8]); } NP_Schema_Args::TRUE => { result.extend_from_slice(&[1u8]); } NP_Schema_Args::FALSE => { result.extend_from_slice(&[2u8]); } NP_Schema_Args::STRING(ast_str) => { result.extend_from_slice(&[3u8]); let string_value = ast_str.read_bytes(&self.source); if let Some(target_ast) = string_index.get(string_value) { result.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: string_buffer.len(), end: string_buffer.len() + string_value.len(), }; string_buffer.extend_from_slice(string_value.as_bytes()); result.extend_from_slice(&new_ast.to_bytes()); string_index.set(string_value, new_ast); } } NP_Schema_Args::NUMBER(ast_str) => { result.extend_from_slice(&[4u8]); let string_value = ast_str.read_bytes(&self.source); if let Some(target_ast) = string_index.get(string_value) { result.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: string_buffer.len(), end: string_buffer.len() + string_value.len(), }; string_buffer.extend_from_slice(string_value.as_bytes()); result.extend_from_slice(&new_ast.to_bytes()); string_index.set(string_value, new_ast); } } NP_Schema_Args::MAP(map) => { result.extend_from_slice(&[5u8]); result.extend_from_slice(&[map.data.len() as u8]); for (key, value) in map.iter() { // set key if let Some(target_ast) = string_index.get(key) { result.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: string_buffer.len(), end: string_buffer.len() + key.len(), }; result.extend_from_slice(&new_ast.to_bytes()); string_buffer.extend_from_slice(key.as_bytes()); string_index.set(key, new_ast); } let value_bytes = self.args_to_bytes(string_index, string_buffer, value)?; result.extend_from_slice(&value_bytes); } } NP_Schema_Args::LIST(list) => { result.extend_from_slice(&[6u8]); result.extend_from_slice(&[list.len() as u8]); for value in list.iter() { let value_bytes = self.args_to_bytes(string_index, string_buffer, value)?; result.extend_from_slice(&value_bytes); } } } return Ok(result); } // pub fn from_bytes(bytes: &[u8]) -> Result { // let mut result: NP_Schema = Default::default(); // result.source = Vec::from(bytes); // let ptr = &bytes[0]; // let mut parse_pointer: usize = le_bytes_read!(u16, ptr) as usize; // let ptr = &bytes[parse_pointer]; // result.unique_id = le_bytes_read!(u32, ptr); // parse_pointer += 4; // let ptr = &bytes[parse_pointer]; // let mut schema_len = le_bytes_read!(u16, ptr); // parse_pointer += 2; // while schema_len > 0 { // let mut new_schema: NP_Type = Default::default(); // if bytes[parse_pointer] > 60 { // // generics only // let type_idx = bytes[parse_pointer] - 60; // parse_pointer += 1; // new_schema.kind = NP_Type::from(type_idx); // // parse generics // if bytes[parse_pointer] > 150 { // let args_length = (bytes[parse_pointer] - 150) as usize; // let ast_args = vec![AST_STR { start: 0, end: 0 }; args_length]; // new_schema.generics = NP_Parsed_Generics::Arguments(0, ast_args); // parse_pointer += 1; // } else if bytes[parse_pointer] > 0 { // let mut types_length = (bytes[parse_pointer] - 1) as usize; // parse_pointer += 1; // let mut types_vec: Vec = Vec::new(); // while types_length > 0 { // let ptr = &bytes[parse_pointer]; // types_vec.push(le_bytes_read!(u16, ptr) as usize); // parse_pointer += 2; // types_length -= 1; // } // new_schema.generics = NP_Parsed_Generics::Types(types_vec); // } // } else if bytes[parse_pointer] > 1 { // // simple type // let type_idx = bytes[parse_pointer] - 1; // parse_pointer += 1; // new_schema.kind = NP_Type::from(type_idx); // } else { // // slower path for more complicated types // parse_pointer += 1; // let type_idx = bytes[parse_pointer]; // parse_pointer += 1; // new_schema.kind = NP_Type::from(type_idx); // if bytes[parse_pointer] > 150 { // // generics // let args_length = (bytes[parse_pointer] - 150) as usize; // let ast_args = vec![AST_STR { start: 0, end: 0 }; args_length]; // new_schema.generics = NP_Parsed_Generics::Arguments(0, ast_args); // parse_pointer += 1; // } else if bytes[parse_pointer] > 0 { // let mut types_length = (bytes[parse_pointer] - 1) as usize; // parse_pointer += 1; // let mut types_vec: Vec = Vec::new(); // while types_length > 0 { // let ptr = &bytes[parse_pointer]; // types_vec.push(le_bytes_read!(u16, ptr) as usize); // parse_pointer += 2; // types_length -= 1; // } // new_schema.generics = NP_Parsed_Generics::Types(types_vec); // } // if bytes[parse_pointer] == 0 { // // name // parse_pointer += 1; // } else { // // name found // parse_pointer += 1; // let (next_index, name_ast) = AST_STR::from_bytes(parse_pointer, bytes)?; // parse_pointer = next_index; // new_schema.name = Some(name_ast); // parse_pointer += 1; // } // if bytes[parse_pointer] == 0 { // // id // parse_pointer += 1; // } else { // parse_pointer += 1; // let ptr = &bytes[parse_pointer]; // let item_id = le_bytes_read!(u16, ptr); // new_schema.id = Some(item_id as usize); // parse_pointer += 2; // } // if bytes[parse_pointer] == 0 { // // args // parse_pointer += 1; // } else { // parse_pointer += 1; // let (new_index, args) = Self::bytes_to_args(parse_pointer, bytes)?; // new_schema.arguments = args; // parse_pointer = new_index; // } // match &mut new_schema.kind { // NP_Type::None => {} // NP_Type::Any { .. } => {} // NP_Type::Info => {} // NP_Type::String { // size, // default, // casing, // max_len, // } => { // if default.start == 0 && default.end == 0 { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[1u8]); // let default_string = default.read_bytes(&self.source); // if let Some(index_pos) = string_index.get(default_string) { // schema_section.extend_from_slice(&index_pos.to_bytes()); // } else { // let new_string_ast = AST_STR { // start: result.len(), // end: result.len() + default_string.len(), // }; // result.extend_from_slice(default_string.as_bytes()); // string_index.set(default_string, new_string_ast)?; // schema_section.extend_from_slice(&new_string_ast.to_bytes()); // } // } // match casing { // NP_String_Casing::None => { // schema_section.extend_from_slice(&[0u8]); // } // NP_String_Casing::Uppercase => { // schema_section.extend_from_slice(&[1u8]); // } // NP_String_Casing::Lowercase => { // schema_section.extend_from_slice(&[2u8]); // } // } // if let Some(len) = max_len { // schema_section.extend_from_slice(&((len + 1) as u16).to_le_bytes()); // } else { // schema_section.extend_from_slice(&[0u8, 0u8]); // } // } // NP_Type::Char { size, default } => { // if default == &(0 as char) { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[*default as u8 + 1]); // } // } // NP_Type::Int8 { // size, // default, // min, // max, // } => { // schema_bytes_number!(i8, default, min, max, schema_section); // } // NP_Type::Int16 { // size, // default, // min, // max, // } => { // schema_bytes_number!(i16, default, min, max, schema_section); // } // NP_Type::Int32 { // size, // default, // min, // max, // } => { // schema_bytes_number!(i32, default, min, max, schema_section); // } // NP_Type::Int64 { // size, // default, // min, // max, // } => { // schema_bytes_number!(i64, default, min, max, schema_section); // } // NP_Type::Uint8 { // size, // default, // min, // max, // } => { // schema_bytes_number!(u8, default, min, max, schema_section); // } // NP_Type::Uint16 { // size, // default, // min, // max, // } => { // schema_bytes_number!(u16, default, min, max, schema_section); // } // NP_Type::Uint32 { // size, // default, // min, // max, // } => { // schema_bytes_number!(u32, default, min, max, schema_section); // } // NP_Type::Uint64 { // size, // default, // min, // max, // } => { // schema_bytes_number!(u64, default, min, max, schema_section); // } // NP_Type::f32 { // size, // default, // min, // max, // } => { // schema_bytes_number!(f32, default, min, max, schema_section); // } // NP_Type::f64 { // size, // default, // min, // max, // } => { // schema_bytes_number!(f64, default, min, max, schema_section); // } // NP_Type::Dec32 { // size, // default, // exp, // min, // max, // } => { // schema_bytes_dec!(exp, default, min, max, schema_section); // } // NP_Type::Dec64 { // size, // default, // exp, // min, // max, // } => { // schema_bytes_dec!(exp, default, min, max, schema_section); // } // NP_Type::Boolean { size, default } => { // if *default == false { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[1u8]); // } // } // NP_Type::Geo32 { size, default } => { // if default.0 == 0 && default.1 == 0 { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[1u8]); // schema_section.extend_from_slice(&default.0.to_le_bytes()); // schema_section.extend_from_slice(&default.1.to_le_bytes()); // } // } // NP_Type::Geo64 { size, default } => { // if default.0 == 0 && default.1 == 0 { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[1u8]); // schema_section.extend_from_slice(&default.0.to_le_bytes()); // schema_section.extend_from_slice(&default.1.to_le_bytes()); // } // } // NP_Type::Geo128 { size, default } => { // if default.0 == 0 && default.1 == 0 { // schema_section.extend_from_slice(&[0u8]); // } else { // schema_section.extend_from_slice(&[1u8]); // schema_section.extend_from_slice(&default.0.to_le_bytes()); // schema_section.extend_from_slice(&default.1.to_le_bytes()); // } // } // NP_Type::Uuid { .. } => {} // NP_Type::Ulid { .. } => {} // NP_Type::Date { .. } => {} // NP_Type::Enum { // size, // children, // default, // } => { // schema_section.extend_from_slice(&(*size as u16).to_le_bytes()); // schema_section.extend_from_slice(&[children.keys().len() as u8]); // for (key, value) in children.iter() { // if let Some(target_ast) = string_index.get(key) { // schema_section.extend_from_slice(&target_ast.to_bytes()); // } else { // let new_ast = AST_STR { // start: result.len(), // end: result.len() + key.len(), // }; // schema_section.extend_from_slice(&new_ast.to_bytes()); // string_index.set(key, new_ast)?; // result.extend_from_slice(key.as_bytes()); // } // if let Some(opt) = value { // schema_section // .extend_from_slice(&((*opt as u16) + 1).to_le_bytes()); // } else { // schema_section.extend_from_slice(&(0u16).to_le_bytes()); // } // } // if let Some(def) = default { // schema_section.extend_from_slice(&[*def as u8 + 1]); // } else { // schema_section.extend_from_slice(&[0u8]); // } // } // NP_Type::Struct { size, children } => { // schema_section.extend_from_slice(&(*size as u16).to_le_bytes()); // schema_section.extend_from_slice(&[children.keys().len() as u8]); // for (key, value) in children.iter() { // if let Some(target_ast) = string_index.get(key) { // schema_section.extend_from_slice(&target_ast.to_bytes()); // } else { // let new_ast = AST_STR { // start: result.len(), // end: result.len() + key.len(), // }; // schema_section.extend_from_slice(&new_ast.to_bytes()); // string_index.set(key, new_ast)?; // result.extend_from_slice(key.as_bytes()); // } // schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); // } // } // NP_Type::Map { .. } => {} // NP_Type::Vec { .. } => {} // NP_Type::Result { .. } => {} // NP_Type::Option { .. } => {} // NP_Type::Array { .. } => {} // NP_Type::Tuple { size, children } => { // schema_section.extend_from_slice(&(*size as u16).to_le_bytes()); // schema_section.extend_from_slice(&[children.len() as u8]); // for value in children.iter() { // schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); // } // } // NP_Type::Impl { children } => { // schema_section.extend_from_slice(&[children.keys().len() as u8]); // for (key, value) in children.iter() { // if let Some(target_ast) = string_index.get(key) { // schema_section.extend_from_slice(&target_ast.to_bytes()); // } else { // let new_ast = AST_STR { // start: result.len(), // end: result.len() + key.len(), // }; // schema_section.extend_from_slice(&new_ast.to_bytes()); // string_index.set(key, new_ast)?; // result.extend_from_slice(key.as_bytes()); // } // schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); // } // } // NP_Type::Fn_Self { idx } => { // schema_section.extend_from_slice(&(*idx as u16).to_le_bytes()); // } // NP_Type::Method { args, returns } => { // schema_section.extend_from_slice(&(*returns as u16).to_le_bytes()); // schema_section.extend_from_slice(&[args.keys().len() as u8]); // for (key, value) in args.iter() { // if let Some(target_ast) = string_index.get(key) { // schema_section.extend_from_slice(&target_ast.to_bytes()); // } else { // let new_ast = AST_STR { // start: result.len(), // end: result.len() + key.len(), // }; // schema_section.extend_from_slice(&new_ast.to_bytes()); // string_index.set(key, new_ast)?; // result.extend_from_slice(key.as_bytes()); // } // schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); // } // } // NP_Type::Generic { // size, // parent_scham_addr, // generic_idx, // } => { // schema_section // .extend_from_slice(&(*parent_scham_addr as u16).to_le_bytes()); // schema_section.extend_from_slice(&(*generic_idx as u16).to_le_bytes()); // } // NP_Type::Custom { size, type_idx } => { // schema_section.extend_from_slice(&(*type_idx as u16).to_le_bytes()); // } // NP_Type::Box { .. } => {} // NP_Type::Simple_Enum { // size, // children, // default, // } => { // schema_section.extend_from_slice(&[children.len() as u8]); // for value in children.iter() { // if let Some(target_ast) = string_index.get(value) { // schema_section.extend_from_slice(&target_ast.to_bytes()); // } else { // let new_ast = AST_STR { // start: result.len(), // end: result.len() + value.len(), // }; // result.extend_from_slice(value.as_bytes()); // schema_section.extend_from_slice(&new_ast.to_bytes()); // string_index.set(value, new_ast)?; // } // } // if let Some(def) = default { // schema_section.extend_from_slice(&[*def as u8 + 1]); // } else { // schema_section.extend_from_slice(&[0u8]); // } // } // _ => {} // } // } // result.schemas.push(new_schema); // schema_len -= 1; // } // Ok(result) // } // compile schema into bytes pub fn to_bytes(&self) -> Result, NP_Error> { let mut result: Vec = Vec::new(); result.extend_from_slice(&0u16.to_le_bytes()); let mut string_index: NP_OrderedMap = NP_OrderedMap::new(); let mut schema_section: Vec = Vec::new(); for schema in &self.schemas { let schema_data = schema.kind.type_info(); let is_complex_type = schema_data.0 == 24 || schema_data.0 == 25 || schema_data.0 == 31 || schema_data.0 == 33 || schema_data.0 == 34 || schema_data.0 == 35 || schema_data.0 == 38; let has_no_data_points = schema.name == None && schema.id == None && schema.arguments == NP_Schema_Args::NULL; let has_no_generics = schema.generics == NP_Parsed_Generics::None; if is_complex_type == false && has_no_data_points == true && has_no_generics == true { // no generics, simple type, no arguments schema_section.extend_from_slice(&[(schema_data.0 + 1) as u8]); } else if is_complex_type == false && has_no_data_points == true { // type just has generics schema_section.extend_from_slice(&[(schema_data.0 + 60) as u8]); match &schema.generics { NP_Parsed_Generics::None => { schema_section.extend_from_slice(&[0u8]); } NP_Parsed_Generics::Types(types) => { schema_section.extend_from_slice(&[types.len() as u8 + 1]); for type_idx in types.iter() { schema_section.extend_from_slice(&(*type_idx as u16).to_le_bytes()); } } NP_Parsed_Generics::Arguments(parent, args) => { schema_section.extend_from_slice(&[args.len() as u8 + 150]); } } } else { schema_section.extend_from_slice(&[0u8]); // complex parse path marker // type info schema_section.extend_from_slice(&[schema_data.0 as u8]); // generics match &schema.generics { NP_Parsed_Generics::None => { schema_section.extend_from_slice(&[0u8]); } NP_Parsed_Generics::Types(types) => { schema_section.extend_from_slice(&[types.len() as u8 + 1]); for type_idx in types.iter() { schema_section.extend_from_slice(&(*type_idx as u16).to_le_bytes()); } } NP_Parsed_Generics::Arguments(parent, args) => { schema_section.extend_from_slice(&[args.len() as u8 + 150]); } } // schema name if let Some(source_pos) = schema.name { schema_section.extend_from_slice(&[1u8]); let schema_name = source_pos.read_bytes(&self.source); if let Some(index_pos) = string_index.get(schema_name) { schema_section.extend_from_slice(&index_pos.to_bytes()); } else { let new_string_ast = AST_STR { start: result.len(), end: result.len() + schema_name.len(), }; result.extend_from_slice(schema_name.as_bytes()); string_index.set(schema_name, new_string_ast)?; schema_section.extend_from_slice(&new_string_ast.to_bytes()); } } else { schema_section.extend_from_slice(&[0u8]); } // schema id if let Some(id) = schema.id { schema_section.extend_from_slice(&[1u8]); schema_section.extend_from_slice(&(id as u16).to_le_bytes()); } else { schema_section.extend_from_slice(&[0u8]); } // schema args if let NP_Schema_Args::NULL = schema.arguments { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); schema_section.extend_from_slice(&self.args_to_bytes( &mut string_index, &mut result, &schema.arguments, )?); } // // schema offset // schema_section.extend_from_slice(&(schema.offset as u16).to_le_bytes()); match &schema.kind { NP_Type::None => {} NP_Type::Any { .. } => {} NP_Type::Info => {} NP_Type::String { default, casing, max_len, } => { if default.start == 0 && default.end == 0 { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); let default_string = default.read_bytes(&self.source); if let Some(index_pos) = string_index.get(default_string) { schema_section.extend_from_slice(&index_pos.to_bytes()); } else { let new_string_ast = AST_STR { start: result.len(), end: result.len() + default_string.len(), }; result.extend_from_slice(default_string.as_bytes()); string_index.set(default_string, new_string_ast)?; schema_section.extend_from_slice(&new_string_ast.to_bytes()); } } match casing { NP_String_Casing::None => { schema_section.extend_from_slice(&[0u8]); } NP_String_Casing::Uppercase => { schema_section.extend_from_slice(&[1u8]); } NP_String_Casing::Lowercase => { schema_section.extend_from_slice(&[2u8]); } } if let Some(len) = max_len { schema_section.extend_from_slice(&((len + 1) as u16).to_le_bytes()); } else { schema_section.extend_from_slice(&[0u8, 0u8]); } } NP_Type::Char { default } => { if default == &(0 as char) { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[*default as u8 + 1]); } } NP_Type::Int8 { default, min, max } => { schema_bytes_number!(i8, default, min, max, schema_section); } NP_Type::Int16 { default, min, max } => { schema_bytes_number!(i16, default, min, max, schema_section); } NP_Type::Int32 { default, min, max } => { schema_bytes_number!(i32, default, min, max, schema_section); } NP_Type::Int64 { default, min, max } => { schema_bytes_number!(i64, default, min, max, schema_section); } NP_Type::Uint8 { default, min, max } => { schema_bytes_number!(u8, default, min, max, schema_section); } NP_Type::Uint16 { default, min, max } => { schema_bytes_number!(u16, default, min, max, schema_section); } NP_Type::Uint32 { default, min, max } => { schema_bytes_number!(u32, default, min, max, schema_section); } NP_Type::Uint64 { default, min, max } => { schema_bytes_number!(u64, default, min, max, schema_section); } NP_Type::f32 { default, min, max } => { schema_bytes_number!(f32, default, min, max, schema_section); } NP_Type::f64 { default, min, max } => { schema_bytes_number!(f64, default, min, max, schema_section); } NP_Type::Dec32 { default, exp, min, max, } => { schema_bytes_dec!(exp, default, min, max, schema_section); } NP_Type::Dec64 { default, exp, min, max, } => { schema_bytes_dec!(exp, default, min, max, schema_section); } NP_Type::Boolean { default } => { if *default == false { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); } } NP_Type::Geo32 { default } => { if default.0 == 0 && default.1 == 0 { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); schema_section.extend_from_slice(&default.0.to_le_bytes()); schema_section.extend_from_slice(&default.1.to_le_bytes()); } } NP_Type::Geo64 { default } => { if default.0 == 0 && default.1 == 0 { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); schema_section.extend_from_slice(&default.0.to_le_bytes()); schema_section.extend_from_slice(&default.1.to_le_bytes()); } } NP_Type::Geo128 { default } => { if default.0 == 0 && default.1 == 0 { schema_section.extend_from_slice(&[0u8]); } else { schema_section.extend_from_slice(&[1u8]); schema_section.extend_from_slice(&default.0.to_le_bytes()); schema_section.extend_from_slice(&default.1.to_le_bytes()); } } NP_Type::Uuid { .. } => {} NP_Type::Ulid { .. } => {} NP_Type::Date { .. } => {} NP_Type::Enum { children, default } => { schema_section.extend_from_slice(&[children.keys().len() as u8]); for (key, value) in children.iter() { if let Some(target_ast) = string_index.get(key) { schema_section.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: result.len(), end: result.len() + key.len(), }; schema_section.extend_from_slice(&new_ast.to_bytes()); string_index.set(key, new_ast)?; result.extend_from_slice(key.as_bytes()); } if let Some(opt) = value { schema_section .extend_from_slice(&((*opt as u16) + 1).to_le_bytes()); } else { schema_section.extend_from_slice(&(0u16).to_le_bytes()); } } if let Some(def) = default { schema_section.extend_from_slice(&[*def as u8 + 1]); } else { schema_section.extend_from_slice(&[0u8]); } } NP_Type::Struct { children } => { // schema_section.extend_from_slice(&(*size as u16).to_le_bytes()); schema_section.extend_from_slice(&[children.keys().len() as u8]); for (key, value) in children.iter() { if let Some(target_ast) = string_index.get(key) { schema_section.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: result.len(), end: result.len() + key.len(), }; schema_section.extend_from_slice(&new_ast.to_bytes()); string_index.set(key, new_ast)?; result.extend_from_slice(key.as_bytes()); } schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); } } NP_Type::Map { .. } => {} NP_Type::Vec { .. } => {} NP_Type::Result { .. } => {} NP_Type::Option { .. } => {} NP_Type::Array { .. } => {} NP_Type::Tuple { children } => { // schema_section.extend_from_slice(&(*size as u16).to_le_bytes()); schema_section.extend_from_slice(&[children.len() as u8]); for value in children.iter() { schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); } } NP_Type::Impl { children } => { schema_section.extend_from_slice(&[children.keys().len() as u8]); for (key, value) in children.iter() { if let Some(target_ast) = string_index.get(key) { schema_section.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: result.len(), end: result.len() + key.len(), }; schema_section.extend_from_slice(&new_ast.to_bytes()); string_index.set(key, new_ast)?; result.extend_from_slice(key.as_bytes()); } schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); } } NP_Type::Fn_Self { idx } => { schema_section.extend_from_slice(&(*idx as u16).to_le_bytes()); } NP_Type::Method { args, returns } => { schema_section.extend_from_slice(&(*returns as u16).to_le_bytes()); schema_section.extend_from_slice(&[args.keys().len() as u8]); for (key, value) in args.iter() { if let Some(target_ast) = string_index.get(key) { schema_section.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: result.len(), end: result.len() + key.len(), }; schema_section.extend_from_slice(&new_ast.to_bytes()); string_index.set(key, new_ast)?; result.extend_from_slice(key.as_bytes()); } schema_section.extend_from_slice(&(*value as u16).to_le_bytes()); } } NP_Type::Generic { parent_scham_addr, generic_idx, } => { schema_section .extend_from_slice(&(*parent_scham_addr as u16).to_le_bytes()); schema_section.extend_from_slice(&(*generic_idx as u16).to_le_bytes()); } NP_Type::Custom { type_idx } => { schema_section.extend_from_slice(&(*type_idx as u16).to_le_bytes()); } NP_Type::Box { .. } => {} NP_Type::Simple_Enum { children, default } => { schema_section.extend_from_slice(&[children.len() as u8]); for value in children.iter() { if let Some(target_ast) = string_index.get(value) { schema_section.extend_from_slice(&target_ast.to_bytes()); } else { let new_ast = AST_STR { start: result.len(), end: result.len() + value.len(), }; result.extend_from_slice(value.as_bytes()); schema_section.extend_from_slice(&new_ast.to_bytes()); string_index.set(value, new_ast)?; } } if let Some(def) = default { schema_section.extend_from_slice(&[*def as u8 + 1]); } else { schema_section.extend_from_slice(&[0u8]); } } } } } // write string section length into buffer let val = &(result.len() as u16); let ptr = &mut result[0]; le_bytes_write!(u16, ptr, val); // write schema section into buffer result.extend_from_slice(&self.unique_id.to_le_bytes()); result.extend_from_slice(&(self.schemas.len() as u16).to_le_bytes()); result.extend_from_slice(&schema_section[..]); Ok(result) } } ================================================ FILE: no_proto_rs/src/schema/tests.rs ================================================ #[cfg(test)] mod schema_tests { use crate::schema::schema_args::NP_Args; use crate::error::NP_Error; use crate::schema::{NP_Schema, NP_Schema_Index, POINTER_SIZE, NP_Schema_Type, NP_String_Casing, NP_Parsed_Generics}; use crate::schema::ast_parser::{AST_STR, AST}; use alloc::prelude::v1::{Vec, String}; use crate::map::NP_HashMap; #[test] fn empty_parse_1() -> Result<(), NP_Error> { let schema = r##""##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 0); Ok(()) } #[test] fn any_parse_1() -> Result<(), NP_Error> { let schema = r##" any myType [id: 0, other: "hello"] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Any); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("0"))); assert_eq!(parsed.schemas[0].arguments.query("other", schema), Some(NP_Args::STRING("hello"))); assert_eq!(parsed.schemas[0].id, Some(0)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn info_parse_1() -> Result<(), NP_Error> { let schema = r##" info [ name: "Jeb Kermin", id: 200, email: "jeb@ksp.org", some_option: true, another_option: false, no_value: null, colors: [ "red", "orange", "green" ], meta: [ fav_sport: "golf", fav_color: "green", monthly_income: 200.58, nested_list: [1, 2, 3, 4] ], more_meta: [key: "value", key2: 500] ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("__info"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Info); assert_eq!(parsed.schemas[0].id, Some(200)); assert_eq!(parsed.schemas[0].arguments.query("name", schema), Some(NP_Args::STRING("Jeb Kermin") )); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("200") )); assert_eq!(parsed.schemas[0].arguments.query("email", schema), Some(NP_Args::STRING("jeb@ksp.org"))); assert_eq!(parsed.schemas[0].arguments.query("some_option", schema), Some(NP_Args::TRUE)); assert_eq!(parsed.schemas[0].arguments.query("another_option", schema), Some(NP_Args::FALSE)); assert_eq!(parsed.schemas[0].arguments.query("no_value", schema), Some(NP_Args::NULL)); assert_eq!(parsed.schemas[0].arguments.query("colors.0", schema), Some(NP_Args::STRING("red") )); assert_eq!(parsed.schemas[0].arguments.query("colors.1", schema), Some(NP_Args::STRING("orange") )); assert_eq!(parsed.schemas[0].arguments.query("colors.2", schema), Some(NP_Args::STRING("green") )); assert_eq!(parsed.schemas[0].arguments.query("meta.fav_sport", schema), Some(NP_Args::STRING ("golf") )); assert_eq!(parsed.schemas[0].arguments.query("meta.fav_color", schema), Some(NP_Args::STRING ("green") )); assert_eq!(parsed.schemas[0].arguments.query("meta.monthly_income", schema), Some(NP_Args::NUMBER("200.58") )); assert_eq!(parsed.schemas[0].arguments.query("meta.nested_list.0", schema), Some(NP_Args::NUMBER("1") )); assert_eq!(parsed.schemas[0].arguments.query("meta.nested_list.1", schema), Some(NP_Args::NUMBER("2") )); assert_eq!(parsed.schemas[0].arguments.query("meta.nested_list.2", schema), Some(NP_Args::NUMBER("3") )); assert_eq!(parsed.schemas[0].arguments.query("meta.nested_list.3", schema), Some(NP_Args::NUMBER("4") )); assert_eq!(parsed.schemas[0].arguments.query("more_meta.key", schema), Some(NP_Args::STRING("value") )); assert_eq!(parsed.schemas[0].arguments.query("more_meta.key2", schema), Some(NP_Args::NUMBER("500") )); Ok(()) } #[test] fn string_parse_1() -> Result<(), NP_Error> { let schema = r##" string myType [id: 0] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::String { default: AST_STR { start: 0, end: 0 }, casing: NP_String_Casing::None, max_len: None }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("0"))); assert_eq!(parsed.schemas[0].id, Some(0)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn string_parse_2() -> Result<(), NP_Error> { let schema = r##" string myType [id: 0, default: "hello", max_len: 20, uppercase: true] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::String { default: AST_STR { start: 45, end: 50 }, casing: NP_String_Casing::Uppercase, max_len: Some(20) }); if let NP_Schema_Type::String { default, .. } = parsed.schemas[0].data_type { assert_eq!(default.read(schema), "hello"); } else { assert!(false); } assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("0"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::STRING("hello"))); assert_eq!(parsed.schemas[0].id, Some(0)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn string_parse_3() -> Result<(), NP_Error> { let schema = r##" string myType [id: 0, default: "hello", max_len: 50, lowercase: true] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::String { default: AST_STR { start: 45, end: 50 }, casing: NP_String_Casing::Lowercase, max_len: Some(50) }); if let NP_Schema_Type::String { default, .. } = parsed.schemas[0].data_type { assert_eq!(default.read(schema), "hello"); } else { assert!(false); } assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("0"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::STRING("hello"))); assert_eq!(parsed.schemas[0].id, Some(0)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn char_parse_1() -> Result<(), NP_Error> { let schema = r##" char myType [id: 0, default: "j"] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(0), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Char { default: 'j' }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("0"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::STRING("j"))); assert_eq!(parsed.schemas[0].id, Some(0)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn i8_parse_1() -> Result<(), NP_Error> { let schema = r##" i8 myType [id: 2, default: 20, max: 10, min: -50] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Int8 { default: 20, max: Some(10), min: Some(-50) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("10"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("-50"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn i16_parse_1() -> Result<(), NP_Error> { let schema = r##" i16 myType [id: 2, default: 20, max: 10, min: -50] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Int16 { default: 20, max: Some(10), min: Some(-50) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("10"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("-50"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn i32_parse_1() -> Result<(), NP_Error> { let schema = r##" i32 myType [id: 2, default: 20, max: 10, min: -50] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Int32 { default: 20, max: Some(10), min: Some(-50) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("10"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("-50"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn i64_parse_1() -> Result<(), NP_Error> { let schema = r##" i64 myType [id: 2, default: 20, max: 10, min: -50] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Int64 { default: 20, max: Some(10), min: Some(-50) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("10"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("-50"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn u8_parse_1() -> Result<(), NP_Error> { let schema = r##" u8 myType [id: 2, default: 20, max: 100, min: 5] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Uint8 { default: 20, max: Some(100), min: Some(5) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn u16_parse_1() -> Result<(), NP_Error> { let schema = r##" u16 myType [id: 2, default: 20, max: 100, min: 5] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Uint16 { default: 20, max: Some(100), min: Some(5) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn u32_parse_1() -> Result<(), NP_Error> { let schema = r##" u32 myType [id: 2, default: 20, max: 100, min: 5] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Uint32 { default: 20, max: Some(100), min: Some(5) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn u64_parse_1() -> Result<(), NP_Error> { let schema = r##" u64 myType [id: 2, default: 20, max: 100, min: 5] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Uint64 { default: 20, max: Some(100), min: Some(5) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn f32_parse_1() -> Result<(), NP_Error> { let schema = r##" f32 myType [id: 2, default: 20, max: 100.2, min: 5.1] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::f32 { default: 20.0, max: Some(100.2), min: Some(5.1) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100.2"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5.1"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn f64_parse_1() -> Result<(), NP_Error> { let schema = r##" f64 myType [id: 2, default: 20, max: 100.2, min: 5.5] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::f64 { default: 20.0, max: Some(100.2), min: Some(5.5) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100.2"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5.5"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn dec32_parse_1() -> Result<(), NP_Error> { let schema = r##" dec32 myType [id: 2, default: 25, max: 100, min: 5, exp: 2] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Dec32 { default: 2500, exp: 2, max: Some(10000), min: Some(500) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("25"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("100"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5"))); assert_eq!(parsed.schemas[0].arguments.query("exp", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn dec64_parse_1() -> Result<(), NP_Error> { let schema = r##" dec64 myType [id: 2, default: 20392039, max: 1293838, min: 5206, exp: -2] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Dec64 { default: 203920, exp: -2, max: Some(12938), min: Some(52) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::NUMBER("20392039"))); assert_eq!(parsed.schemas[0].arguments.query("max", schema), Some(NP_Args::NUMBER("1293838"))); assert_eq!(parsed.schemas[0].arguments.query("min", schema), Some(NP_Args::NUMBER("5206"))); assert_eq!(parsed.schemas[0].arguments.query("exp", schema), Some(NP_Args::NUMBER("-2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn bool_parse_1() -> Result<(), NP_Error> { let schema = r##" bool myType [id: 2, default: false] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Boolean { default:false }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default", schema), Some(NP_Args::FALSE)); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn geo32_parse_1() -> Result<(), NP_Error> { let schema = r##" geo32 myType [id: 2, default: [lat: 200.29, lng: 59.20]] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Geo32 { default:(20029, 5920) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default.lat", schema), Some(NP_Args::NUMBER("200.29"))); assert_eq!(parsed.schemas[0].arguments.query("default.lng", schema), Some(NP_Args::NUMBER("59.20"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn geo64_parse_1() -> Result<(), NP_Error> { let schema = r##" geo64 myType [id: 2, default: [lat: 200.29, lng: 59.20]] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Geo64 { default:(2002900000, 592000000) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default.lat", schema), Some(NP_Args::NUMBER("200.29"))); assert_eq!(parsed.schemas[0].arguments.query("default.lng", schema), Some(NP_Args::NUMBER("59.20"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn geo128_parse_1() -> Result<(), NP_Error> { let schema = r##" geo128 myType [id: 2, default: [lat: 200.29, lng: 59.20]] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Geo128 { default: (200290000000, 59200000000) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("default.lat", schema), Some(NP_Args::NUMBER("200.29"))); assert_eq!(parsed.schemas[0].arguments.query("default.lng", schema), Some(NP_Args::NUMBER("59.20"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn uuid_parse_1() -> Result<(), NP_Error> { let schema = r##" uuid myType [id: 2] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Uuid); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn ulid_parse_1() -> Result<(), NP_Error> { let schema = r##" ulid myType [id: 2] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Ulid); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn map_parse_1() -> Result<(), NP_Error> { let schema = r##" Map myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 2); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Map); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[1].name, None); Ok(()) } #[test] fn vec_parse_1() -> Result<(), NP_Error> { let schema = r##" Vec myType [ id: 2, max_len: 20 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 2); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Vec { max_len: Some(20) }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].arguments.query("max_len", schema), Some(NP_Args::NUMBER("20"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[1].name, None); Ok(()) } #[test] fn result_parse_1() -> Result<(), NP_Error> { let schema = r##" Result myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Result); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1, 2])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[1].name, None); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].name, None); Ok(()) } #[test] fn option_parse_1() -> Result<(), NP_Error> { let schema = r##" Option myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 2); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Option); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[1].name, None); Ok(()) } #[test] fn array_parse_1() -> Result<(), NP_Error> { let schema = r##" [string; 89] myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 2); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Array { len: 89 }); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[1].name, None); Ok(()) } #[test] fn nested_opts_1() -> Result<(), NP_Error> { let schema = r##" Result myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Result); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1, 2])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[1].name, None); assert_eq!(parsed.schemas[1].arguments.query("opt", schema), Some(NP_Args::TRUE)); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: Some(20) }); assert_eq!(parsed.schemas[2].name, None); assert_eq!(parsed.schemas[2].arguments.query("max_len", schema), Some(NP_Args::NUMBER("20"))); Ok(()) } #[test] fn nested_opts_2() -> Result<(), NP_Error> { let schema = r##" Result myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Result); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1, 2])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[1].arguments.query("opt", schema), Some(NP_Args::TRUE)); assert_eq!(parsed.schemas[1].name.unwrap().read(schema), "customName"); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: Some(20) }); assert_eq!(parsed.schemas[2].name.unwrap().read(schema), "anotherName"); assert_eq!(parsed.schemas[2].arguments.query("max_len", schema), Some(NP_Args::NUMBER("20"))); Ok(()) } #[test] fn nested_opts_3() -> Result<(), NP_Error> { let schema = r##" Result myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].data_type, NP_Schema_Type::Result); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Types(vec![1, 2])); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[1].name.unwrap().read(schema), "customName"); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].name.unwrap().read(schema), "anotherName"); Ok(()) } #[test] fn struct_test_1() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] { username: string, email: string } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Struct { children } = &parsed.schemas[0].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["username", "email"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, 1), "email" => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); Ok(()) } #[test] fn struct_test_2() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] { username: string [max_len: 20, uppercase: true], email: string namedType [max_len: 50] } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Struct { children } = &parsed.schemas[0].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["username", "email"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, 1), "email" => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: NP_String_Casing::Uppercase, max_len: Some(20) }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: Some(50) }); assert_eq!(parsed.schemas[2].name.unwrap().read(schema), "namedType"); Ok(()) } #[test] fn enum_test_1() -> Result<(), NP_Error> { let schema = r##" enum myType [ id: 2 , default: "username" ] { username, email } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Simple_Enum { children, default } = &parsed.schemas[0].data_type { assert_eq!(*default, Some(0)); assert_eq!(children, &vec!["username", "email"]); } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn enum_test_2() -> Result<(), NP_Error> { let schema = r##" enum myType [ id: 2 , default: "email" ] { username { data: string }, email } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Enum { children, default } = &parsed.schemas[0].data_type { assert_eq!(*default, Some(1)); assert_eq!(children.iter_keys().collect::>(), vec!["username", "email"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, Some(1)), "email" => assert_eq!(*value, None), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); if let NP_Schema_Type::Struct { children } = &parsed.schemas[1].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["data"]); for (key, value) in children.iter() { match key.as_str() { "data" => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); Ok(()) } #[test] fn enum_test_3() -> Result<(), NP_Error> { let schema = r##" enum myType [ id: 2 , default: "email" ] { username (string), email } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Enum { children, default } = &parsed.schemas[0].data_type { assert_eq!(*default, Some(1)); assert_eq!(children.iter_keys().collect::>(), vec!["username", "email"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, Some(1)), "email" => assert_eq!(*value, None), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[1].data_type { assert_eq!(children.len(), 1); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); Ok(()) } #[test] fn enum_test_4() -> Result<(), NP_Error> { let schema = r##" enum myType [ id: 2 ] { username, email } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 1); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Simple_Enum {children, default } = &parsed.schemas[0].data_type { assert_eq!(*default, None); assert_eq!(children, &vec!["username", "email"]); } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); Ok(()) } #[test] fn tuple_test_1() -> Result<(), NP_Error> { let schema = r##" (string, u32) myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[0].data_type { assert_eq!(children.len(), 2); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 1), 1 => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); Ok(()) } #[test] fn tuple_test_2() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] (string, u32) "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[0].data_type { assert_eq!(children.len(), 2); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 1), 1 => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); Ok(()) } #[test] fn tuple_test_3() -> Result<(), NP_Error> { let schema = r##" (string [default: "hello"], u32 [max: 2000]) myType [ id: 2 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 3); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[0].data_type { assert_eq!(children.len(), 2); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 1), 1 => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: AST_STR { start: 32, end: 37 }, casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: Some(2000), min: None }); Ok(()) } #[test] fn nesting_test_1() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] { username: string, email: string, address: { street: string, city: string, zip: string }, primary_key: (string, u32, (uuid, string), struct { key: string, value: bool }) } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 16); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Struct { children } = &parsed.schemas[0].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["username", "email", "address", "primary_key"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, 1), "email" => assert_eq!(*value, 2), "address" => assert_eq!(*value, 3), "primary_key" => assert_eq!(*value, 7), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); if let NP_Schema_Type::Struct { children } = &parsed.schemas[3].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["street", "city", "zip"]); for (key, value) in children.iter() { match key.as_str() { "street" => assert_eq!(*value, 4), "city" => assert_eq!(*value, 5), "zip" => assert_eq!(*value, 6), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[4].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[5].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[6].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[7].data_type { assert_eq!(children.len(), 4); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 8), 1 => assert_eq!(*value, 9), 2 => assert_eq!(*value, 10), 3 => assert_eq!(*value, 13), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[8].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[9].data_type, NP_Schema_Type::Uint32 { default: Default::default(), min: None, max: None }); if let NP_Schema_Type::Tuple { children } = &parsed.schemas[10].data_type { assert_eq!(children.len(), 2); for (key, value) in children.iter().enumerate() { match key { 0 => assert_eq!(*value, 11), 1 => assert_eq!(*value, 12), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[11].data_type, NP_Schema_Type::Uuid); assert_eq!(parsed.schemas[12].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); if let NP_Schema_Type::Struct { children } = &parsed.schemas[13].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["key", "value"]); for (key, value) in children.iter() { match key.as_str() { "key" => assert_eq!(*value, 14), "value" => assert_eq!(*value, 15), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[14].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[15].data_type, NP_Schema_Type::Boolean { default: Default::default() }); Ok(()) } #[test] fn generic_test_1() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] { username: X, email: Y, password: string } myType anotherType [ id: 3 ] myType, i64> crazyType [ id: 4 ] "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); // unsafe { core::str::from_utf8_unchecked(&parsed.to_bytes()?) } // &parsed.to_bytes()? // println!("{:?} {} {}", &parsed.to_bytes()?, parsed.to_bytes()?.len(), schema.len()); assert_eq!(parsed.schemas.len(), 11); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: None })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); assert_eq!(parsed.schemas[0].generics, NP_Parsed_Generics::Arguments(0, vec![AST_STR { start: 27, end: 28 }, AST_STR { start: 30, end: 31 }])); if let NP_Schema_Type::Struct { children } = &parsed.schemas[0].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["username", "email", "password"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, 1), "email" => assert_eq!(*value, 2), "password" => assert_eq!(*value, 3), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::Generic { parent_scham_addr: 0, generic_idx: 0 }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::Generic { parent_scham_addr: 0, generic_idx: 1 }); assert_eq!(parsed.schemas[3].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[4].data_type, NP_Schema_Type::Custom { type_idx: 0 }); assert_eq!(parsed.schemas[4].id, Some(3)); assert_eq!(parsed.schemas[4].generics, NP_Parsed_Generics::Types(vec![5, 6])); assert_eq!(parsed.name_index.get("anotherType"), Some(&NP_Schema_Index { data: 4, methods: None })); assert_eq!(parsed.id_index.get(3), Some(&NP_Schema_Index { data: 4, methods: None })); assert_eq!(parsed.schemas[5].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[6].data_type, NP_Schema_Type::Int64 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[7].data_type, NP_Schema_Type::Custom { type_idx: 0 }); assert_eq!(parsed.schemas[7].generics, NP_Parsed_Generics::Types(vec![8, 10])); assert_eq!(parsed.name_index.get("crazyType"), Some(&NP_Schema_Index { data: 7, methods: None })); assert_eq!(parsed.id_index.get(4), Some(&NP_Schema_Index { data: 7, methods: None })); assert_eq!(parsed.schemas[8].data_type, NP_Schema_Type::Vec { max_len: None }); assert_eq!(parsed.schemas[8].generics, NP_Parsed_Generics::Types(vec![9])); assert_eq!(parsed.schemas[9].data_type, NP_Schema_Type::Uint32 { default: Default::default(), max: None, min: None }); assert_eq!(parsed.schemas[10].data_type, NP_Schema_Type::Int64 { default: Default::default(), max: None, min: None }); Ok(()) } #[test] fn impl_test_1() -> Result<(), NP_Error> { let schema = r##" struct myType [ id: 2 ] { username: string, email: string } impl myType { get(id: uuid) -> Option, set(self) -> Result<(), string> } "##; let parsed = NP_Schema::parse(schema)?; // assert_eq!(NP_Schema::from_bytes(&parsed.to_bytes()?)?, parsed); assert_eq!(parsed.schemas.len(), 13); assert_eq!(parsed.name_index.get("myType"), Some(&NP_Schema_Index { data: 0, methods: Some(3) })); assert_eq!(parsed.id_index.get(2), Some(&NP_Schema_Index { data: 0, methods: Some(3) })); assert_eq!(parsed.schemas[0].arguments.query("id", schema), Some(NP_Args::NUMBER("2"))); if let NP_Schema_Type::Struct { children } = &parsed.schemas[0].data_type { assert_eq!(children.iter_keys().collect::>(), vec!["username", "email"]); for (key, value) in children.iter() { match key.as_str() { "username" => assert_eq!(*value, 1), "email" => assert_eq!(*value, 2), _ => assert!(false) } } } else { assert!(false); } assert_eq!(parsed.schemas[0].id, Some(2)); assert_eq!(parsed.schemas[0].name.unwrap().read(schema), "myType"); assert_eq!(parsed.schemas[1].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); assert_eq!(parsed.schemas[2].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); let mut impl_hash: NP_HashMap = NP_HashMap::new(); impl_hash.set("get", 4)?; impl_hash.set("set", 8)?; assert_eq!(parsed.schemas[3].data_type, NP_Schema_Type::Impl { children: impl_hash }); if let NP_Schema_Type::Method { args, returns } = &parsed.schemas[4].data_type { assert_eq!(args.get("id"), Some(&5)); assert_eq!(returns, &6); } assert_eq!(parsed.schemas[5].data_type, NP_Schema_Type::Uuid); assert_eq!(parsed.schemas[6].data_type, NP_Schema_Type::Option); assert_eq!(parsed.schemas[6].generics, NP_Parsed_Generics::Types(vec![7])); assert_eq!(parsed.schemas[7].data_type, NP_Schema_Type::Fn_Self { idx: 3 }); if let NP_Schema_Type::Method { args, returns } = &parsed.schemas[8].data_type { assert_eq!(args.get("self"), Some(&9)); assert_eq!(returns, &10); } assert_eq!(parsed.schemas[9].data_type, NP_Schema_Type::Fn_Self { idx: 3 }); assert_eq!(parsed.schemas[10].data_type, NP_Schema_Type::Result); assert_eq!(parsed.schemas[10].generics, NP_Parsed_Generics::Types(vec![11, 12])); assert_eq!(parsed.schemas[11].data_type, NP_Schema_Type::Tuple { children: vec![] }); assert_eq!(parsed.schemas[12].data_type, NP_Schema_Type::String { default: Default::default(), casing: Default::default(), max_len: None }); Ok(()) } } ================================================ FILE: no_proto_rs/src/types.rs ================================================ use crate::map::NP_OrderedMap; use core::fmt::Debug; use alloc::vec::Vec; use alloc::boxed::Box; #[allow(dead_code)] #[derive(Debug, Clone, PartialEq)] pub enum NP_String_Casing { None, Uppercase, Lowercase } impl Default for NP_String_Casing { fn default() -> Self { Self::None } } #[derive(Debug, Clone, PartialEq)] pub enum NP_Type { Unknown, None, Any, Info, String { default: STR, casing: NP_String_Casing, max_len: Option }, Char { default: char }, Int8 { default: i8, min: Option, max: Option }, Int16 { default: i16, min: Option, max: Option }, Int32 { default: i32, min: Option, max: Option }, Int64 { default: i64, min: Option, max: Option }, Uint8 { default: u8, min: Option, max: Option }, Uint16 { default: u16, min: Option, max: Option }, Uint32 { default: u32, min: Option, max: Option }, Uint64 { default: u64, min: Option, max: Option }, Float32 { default: f32, min: Option, max: Option }, Float64 { default: f64, min: Option, max: Option }, Exp32 { default: i32, e: i8, min: Option, max: Option, }, Exp64 { default: i64, e: i16, min: Option, max: Option, }, Bool { default: bool }, Geo32 { default: (i16, i16) }, Geo64 { default: (i32, i32) }, Geo128 { default: (i64, i64) }, Date { default: u64 }, Uuid, Ulid, Vec { of: Box, max_len: Option }, List { of: Box }, Map { of: Box }, Box { of: Box }, Result { ok: Box, err: Box }, Option { some: Box }, Tuple { children: Vec }, Array { of: Box, len: u16 }, Struct { children: NP_OrderedMap }, Enum { children: NP_OrderedMap>, default: usize }, Simple_Enum { children: Vec, default: usize }, // Only used by NP_Buffer_Type RPC_Call { id: u32, args: Vec }, RPC_Return { id: u32, value: Box }, // Only used by NP_Schema_Type Impl { methods: NP_OrderedMap }, Method { id: u32, args: NP_OrderedMap, returns: Box }, Custom { parent_schema_addr: usize, generic_args: Option> }, Generic { parent_schema_addr: usize, parent_generic_idx: usize }, This { parent_schema_addr: usize } } impl Default for NP_Type { fn default() -> Self { return NP_Type::Unknown } } impl From for NP_Type { fn from(value: u8) -> Self { match value { 0 => NP_Type::Unknown, 1 => NP_Type::None, 2 => NP_Type::Any, 3 => NP_Type::Info, 4 => NP_Type::String { default: Default::default(), casing: Default::default(), max_len: Default::default() }, 5 => NP_Type::Char { default: Default::default() }, 6 => NP_Type::Int8 { default: Default::default(), min: Default::default(), max: Default::default() }, 7 => NP_Type::Int16 { default: Default::default(), min: Default::default(), max: Default::default() }, 8 => NP_Type::Int32 { default: Default::default(), min: Default::default(), max: Default::default() }, 9 => NP_Type::Int64 { default: Default::default(), min: Default::default(), max: Default::default() }, 10 => NP_Type::Uint8 { default: Default::default(), min: Default::default(), max: Default::default() }, 11 => NP_Type::Uint16 { default: Default::default(), min: Default::default(), max: Default::default() }, 12 => NP_Type::Uint32 { default: Default::default(), min: Default::default(), max: Default::default() }, 13 => NP_Type::Uint64 { default: Default::default(), min: Default::default(), max: Default::default() }, 14 => NP_Type::Float32 { default: Default::default(), min: Default::default(), max: Default::default() }, 15 => NP_Type::Float64 { default: Default::default(), min: Default::default(), max: Default::default() }, 16 => NP_Type::Exp32 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default() }, 17 => NP_Type::Exp64 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default() }, 18 => NP_Type::Bool { default: Default::default() }, 19 => NP_Type::Geo32 { default: Default::default() }, 20 => NP_Type::Geo64 { default: Default::default() }, 21 => NP_Type::Geo128 { default: Default::default() }, 22 => NP_Type::Date { default: Default::default() }, 23 => NP_Type::Uuid, 24 => NP_Type::Ulid, 25 => NP_Type::Vec { of: Default::default(), max_len: Default::default() }, 26 => NP_Type::List { of: Default::default() }, 27 => NP_Type::Map { of: Default::default() }, 28 => NP_Type::Box { of: Default::default() }, 29 => NP_Type::Result { ok: Default::default(), err: Default::default() }, 30 => NP_Type::Option { some: Default::default() }, 31 => NP_Type::Tuple { children: Default::default() }, 32 => NP_Type::Array { of: Default::default(), len: Default::default() }, 33 => NP_Type::Struct { children: Default::default() }, 34 => NP_Type::Enum { children: Default::default(), default: Default::default() }, 35 => NP_Type::Simple_Enum { children: Default::default(), default: Default::default() }, 36 => NP_Type::RPC_Call { id: Default::default(), args: Default::default() }, 37 => NP_Type::RPC_Return { id: Default::default(), value: Default::default() }, 38 => NP_Type::Impl { methods: Default::default() }, 39 => NP_Type::Method { id: Default::default(), args: Default::default(), returns: Default::default() }, 40 => NP_Type::Custom { parent_schema_addr: Default::default(), generic_args: Default::default() }, 41 => NP_Type::Generic { parent_schema_addr: Default::default(), parent_generic_idx: Default::default() }, _ => NP_Type::Unknown } } } impl From> for u8 { fn from(value: NP_Type) -> Self { match value { NP_Type::Unknown => 0, NP_Type::None => 1, NP_Type::Any => 2, NP_Type::Info => 3, NP_Type::String { .. } => 4, NP_Type::Char { .. } => 5, NP_Type::Int8 { .. } => 6, NP_Type::Int16 { .. } => 7, NP_Type::Int32 { .. } => 8, NP_Type::Int64 { .. } => 9, NP_Type::Uint8 { .. } => 10, NP_Type::Uint16 { .. } => 11, NP_Type::Uint32 { .. } => 12, NP_Type::Uint64 { .. } => 13, NP_Type::Float32 { .. } => 14, NP_Type::Float64 { .. } => 15, NP_Type::Exp32 { .. } => 16, NP_Type::Exp64 { .. } => 17, NP_Type::Bool { .. } => 18, NP_Type::Geo32 { .. } => 19, NP_Type::Geo64 { .. } => 20, NP_Type::Geo128 { .. } => 21, NP_Type::Date { .. } => 22, NP_Type::Uuid => 23, NP_Type::Ulid => 24, NP_Type::Vec { .. } => 25, NP_Type::List { .. } => 26, NP_Type::Map { .. } => 27, NP_Type::Box { .. } => 28, NP_Type::Result { .. } => 29, NP_Type::Option { .. } => 30, NP_Type::Tuple { .. } => 31, NP_Type::Array { .. } => 32, NP_Type::Struct { .. } => 33, NP_Type::Enum { .. } => 34, NP_Type::Simple_Enum { .. } => 35, NP_Type::RPC_Call { .. } => 36, NP_Type::RPC_Return { .. } => 37, NP_Type::Impl { .. } => 38, NP_Type::Method { .. } => 39, NP_Type::Custom { .. } => 40, NP_Type::Generic { .. } => 41, NP_Type::This { .. } => 42 } } } impl From<&str> for NP_Type { fn from(value: &str) -> Self { match value { "?" => NP_Type::Unknown, "none" => NP_Type::None, "any" => NP_Type::Any, "info" => NP_Type::Info, "String" => NP_Type::String { default: Default::default(), casing: Default::default(), max_len: Default::default() }, "char" => NP_Type::Char { default: Default::default() }, "i8" => NP_Type::Int8 { default: Default::default(), min: Default::default(), max: Default::default() }, "i16" => NP_Type::Int16 { default: Default::default(), min: Default::default(), max: Default::default() }, "i32" => NP_Type::Int32 { default: Default::default(), min: Default::default(), max: Default::default() }, "i64" => NP_Type::Int64 { default: Default::default(), min: Default::default(), max: Default::default() }, "u8" => NP_Type::Uint8 { default: Default::default(), min: Default::default(), max: Default::default() }, "u16" => NP_Type::Uint16 { default: Default::default(), min: Default::default(), max: Default::default() }, "u32" => NP_Type::Uint32 { default: Default::default(), min: Default::default(), max: Default::default() }, "u64" => NP_Type::Uint64 { default: Default::default(), min: Default::default(), max: Default::default() }, "f32" => NP_Type::Float32 { default: Default::default(), min: Default::default(), max: Default::default() }, "f64" => NP_Type::Float64 { default: Default::default(), min: Default::default(), max: Default::default() }, "d32" => NP_Type::Exp32 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default() }, "d64" => NP_Type::Exp64 { default: Default::default(), e: Default::default(), min: Default::default(), max: Default::default() }, "bool" => NP_Type::Bool { default: Default::default() }, "g32" => NP_Type::Geo32 { default: Default::default() }, "g64" => NP_Type::Geo64 { default: Default::default() }, "g128" => NP_Type::Geo128 { default: Default::default() }, "date" => NP_Type::Date { default: Default::default() }, "uuid" => NP_Type::Uuid, "ulid" => NP_Type::Ulid, "Vec" => NP_Type::Vec { of: Default::default(), max_len: Default::default() }, "List" => NP_Type::List { of: Default::default() }, "Map" => NP_Type::Map { of: Default::default() }, "Box" => NP_Type::Box { of: Default::default() }, "Result" => NP_Type::Result { ok: Default::default(), err: Default::default() }, "Option" => NP_Type::Option { some: Default::default() }, "struct" => NP_Type::Struct { children: Default::default() }, "enum" => NP_Type::Enum { children: Default::default(), default: Default::default() }, "impl" => NP_Type::Impl { methods: Default::default() }, "self" => NP_Type::This { parent_schema_addr: Default::default() }, _ => NP_Type::Unknown /* "enum" => NP_Type::Simple_Enum { children: Default::default() }, _ => NP_Type::Tuple { children: Default::default() }, _ => NP_Type::Array { of: Default::default(), len: Default::default() }, _ => NP_Type::RPC_Call { id: Default::default(), args: Default::default() }, _ => NP_Type::RPC_Return { id: Default::default(), value: Default::default() }, _ => NP_Type::Method { id: Default::default(), args: Default::default(), returns: Default::default() }, _ => NP_Type::Custom { parent_schema_addr: Default::default() }, _ => NP_Type::Generic { parent_schema_addr: Default::default(), parent_generic_idx: Default::default() }, */ } } } impl From<&NP_Type> for &str { fn from(value: &NP_Type) -> Self { match value { NP_Type::Unknown => "?", NP_Type::None => "none", NP_Type::Any => "any", NP_Type::Info => "info", NP_Type::String { .. } => "String", NP_Type::Char { .. } => "char", NP_Type::Int8 { .. } => "i8", NP_Type::Int16 { .. } => "i16", NP_Type::Int32 { .. } => "i32", NP_Type::Int64 { .. } => "i64", NP_Type::Uint8 { .. } => "u8", NP_Type::Uint16 { .. } => "u16", NP_Type::Uint32 { .. } => "u32", NP_Type::Uint64 { .. } => "u64", NP_Type::Float32 { .. } => "f32", NP_Type::Float64 { .. } => "f64", NP_Type::Exp32 { .. } => "d32", NP_Type::Exp64 { .. } => "d64", NP_Type::Bool { .. } => "bool", NP_Type::Geo32 { .. } => "g32", NP_Type::Geo64 { .. } => "g64", NP_Type::Geo128 { .. } => "g128", NP_Type::Date { .. } => "date", NP_Type::Uuid => "uuid", NP_Type::Ulid => "ulid", NP_Type::Vec { .. } => "Vec", NP_Type::List { .. } => "List", NP_Type::Map { .. } => "Map", NP_Type::Box { .. } => "Box", NP_Type::Result { .. } => "Result", NP_Type::Option { .. } => "Option", NP_Type::Tuple { .. } => "Tuple", NP_Type::Array { .. } => "Array", NP_Type::Struct { .. } => "struct", NP_Type::Enum { .. } => "enum", NP_Type::Simple_Enum { .. } => "enum", NP_Type::RPC_Call { .. } => "RPC Call", NP_Type::RPC_Return { .. } => "RPC Return", NP_Type::Impl { .. } => "impl", NP_Type::Method { .. } => "method", NP_Type::Custom { .. } => "custom", NP_Type::Generic { .. } => "generic", NP_Type::This { .. } => "self" } } } impl NP_Type { pub fn get_str(&self) -> &str { self.into() } } // impl NP_Types_Outer { // pub fn get_response_type_for_request(&self) -> Result { // match self.kind { // NP_Types::rpc_call { uid, func, .. } => { // Ok(Self { // kind: NP_Types::rpc_return { uid, func, of: Default::default() }, // schema_idx: self.schema_idx // }) // }, // _ => Err(NP_Error::Custom { message: String::from("Attempted to generate response buffer from non request buffer!") }) // } // } // pub fn generate_string(&self, schema: &Arc) -> String { // let mut result = String::from(""); // let type_str: &str = self.kind.into(); // let mut is_array: bool = false; // match type_str { // "tuple" => { // is_array = true; // result.push_str("("); // if let Some(generics) = &self.generics { // result.push_str(generics.iter().map(|item| item.generate_string(&schema)).collect::>().join(", ").as_str()); // } // result.push_str(")"); // } // "rpc" => { // if let NP_Types::rpc_request { idx, func, uid } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // let parsed_schema = &schema.schemas[type_data.data]; // if let Some(name) = parsed_schema.name { // result.push_str(name.read_bytes(&schema.source)); // } // } // } // if let NP_Types::rpc_response { idx, func, uid } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // let parsed_schema = &schema.schemas[type_data.data]; // if let Some(name) = parsed_schema.name { // result.push_str(name.read_bytes(&schema.source)); // } // } // } // }, // "array" => { // is_array = true; // result.push_str("["); // if let Some(gen) = &self.generics { // result.push_str(gen[0].generate_string(&schema).as_str()); // result.push_str("; "); // } // if let NP_Types::array { len, .. } = self.kind { // result.push_str(len.to_string().as_str()); // } // if let NP_Types::small_array { len, .. } = self.kind { // result.push_str(len.to_string().as_str()); // } // result.push_str("]"); // }, // "custom" => { // if let NP_Types::custom { idx } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // let parsed_schema = &schema.schemas[type_data.data]; // if let Some(name) = parsed_schema.name { // result.push_str(name.read_bytes(&schema.source)); // } // } // } // if let NP_Types::small_custom { idx } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // let parsed_schema = &schema.schemas[type_data.data]; // if let Some(name) = parsed_schema.name { // result.push_str(name.read_bytes(&schema.source)); // } // } // } // }, // _=> { // result.push_str(type_str); // } // } // if is_array == false { // if let Some(generics) = &self.generics { // result.push_str("<"); // result.push_str(generics.iter().map(|item| item.generate_string(&schema)).collect::>().join(", ").as_str()); // result.push_str(">"); // } // } // if type_str == "rpc" { // result.push_str("."); // if let NP_Types::rpc_request { idx, func, uid } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // if let Some(methods) = type_data.methods { // if let NP_Schema_Type::Impl { children } = &schema.schemas[methods].data_type { // for (id, (hash, key)) in children.keys().iter().enumerate() { // if id == func { // result.push_str(key.as_str()); // } // } // } // } // } // } // if let NP_Types::rpc_response { idx, func, uid } = self.kind { // if let Some(type_data) = schema.id_index.get(idx) { // if let Some(methods) = type_data.methods { // if let NP_Schema_Type::Impl { children } = &schema.schemas[methods].data_type { // for (id, (hash, key)) in children.keys().iter().enumerate() { // if id == func { // result.push_str(key.as_str()); // } // } // } // } // } // } // } // result // } // pub fn get_bytes(&self) -> Result<(u8, [u8; 16]), NP_Error> { // length, (bytes) // let mut length = 1usize; // let mut bytes: [u8; 16] = Default::default(); // bytes[0] = self.kind.into(); // match &self.kind { // NP_Types::array { len, size } => { // let b_ptr = &mut bytes[length]; // le_bytes_write!(u16, b_ptr, len); // length += 2; // }, // NP_Types::small_array { len, size } => { // bytes[length] = *len; // length += 1; // }, // NP_Types::custom { idx } => { // let b_ptr = &mut bytes[length]; // le_bytes_write!(u16, b_ptr, idx); // length += 2; // }, // NP_Types::small_custom { idx } => { // bytes[length] = *idx as u8; // length += 1; // }, // NP_Types::rpc_request { idx, func, uid } => { // let b_ptr = &mut bytes[length]; // le_bytes_write!(u32, b_ptr, uid); // length += 4; // let b_ptr = &mut bytes[length]; // le_bytes_write!(u16, b_ptr, idx); // length += 2; // bytes[length] = *func as u8; // length += 1; // }, // NP_Types::rpc_response { idx, func, uid } => { // let b_ptr = &mut bytes[length]; // le_bytes_write!(u32, b_ptr, uid); // length += 4; // let b_ptr = &mut bytes[length]; // le_bytes_write!(u16, b_ptr, idx); // length += 2; // bytes[length] = *func as u8; // length += 1; // }, // NP_Types::tuple { len, size } => { // bytes[length] = *len; // length += 1; // }, // _ => { } // } // if let Some(generics) = &self.generics { // for (_idx, g) in generics.iter().enumerate() { // let (new_length , new_bytes) = g.get_bytes()?; // if new_length as usize + length >= bytes.len() { // return Err(NP_Error::Custom { message: String::from("Too many buffer types, buffer schema overflow!") }) // } // let mut i: usize = 0; // while i < new_length as usize { // bytes[length] = new_bytes[i]; // length += 1; // i += 1; // } // } // } // Ok((length as u8, bytes)) // } // pub fn from_bytes(bytes: &[u8], schema: &Arc) -> Result<(usize, Self), NP_Error> { // if bytes.len() == 0 { // return Err(NP_Error::OutOfBounds) // } // let mut index = 0usize; // let mut kind: NP_Types = bytes[index].into(); // index += 1; // match &mut kind { // NP_Types::tuple { len, size } => { // if bytes.len() < index + 1 { // return Err(NP_Error::OutOfBounds) // } // *len = bytes[index]; // index += 1; // }, // NP_Types::rpc_request { idx, func, uid } => { // if bytes.len() < index + 7 { // return Err(NP_Error::OutOfBounds) // } // let ptr = &bytes[index]; // *uid = le_bytes_read!(u32, ptr); // index += 4; // let ptr = &bytes[index]; // *idx = le_bytes_read!(u16, ptr) as usize; // index += 2; // *func = bytes[index] as usize; // index += 1; // }, // NP_Types::rpc_response { idx, func, uid } => { // if bytes.len() < index + 7 { // return Err(NP_Error::OutOfBounds) // } // let ptr = &bytes[index]; // *uid = le_bytes_read!(u32, ptr); // index += 4; // let ptr = &bytes[index]; // *idx = le_bytes_read!(u16, ptr) as usize; // index += 2; // *func = bytes[index] as usize; // index += 1; // }, // NP_Types::custom { idx } => { // if bytes.len() < index + 2 { // return Err(NP_Error::OutOfBounds) // } // let ptr = &bytes[index]; // *idx = le_bytes_read!(u16, ptr) as usize; // index += 2; // }, // NP_Types::small_custom { idx } => { // if bytes.len() < index + 1 { // return Err(NP_Error::OutOfBounds) // } // *idx = bytes[index] as usize; // index += 1; // }, // NP_Types::array { len, size } => { // if bytes.len() < index + 2 { // return Err(NP_Error::OutOfBounds) // } // let ptr = &bytes[index]; // *len = le_bytes_read!(u16, ptr); // index += 2; // }, // NP_Types::small_array { len, size } => { // if bytes.len() < index + 1 { // return Err(NP_Error::OutOfBounds) // } // *len = bytes[index]; // index += 1; // }, // NP_Types::none => { // return Err(NP_Error::Custom { message: String::from("Error parsing buffer type: unknown data type!") }) // } // _ => { } // } // let mut generic_length: usize = Self::read_generic_length(&kind, schema); // // parse generics // if generic_length > 0 { // let mut generics: Vec = Vec::with_capacity(generic_length); // while generic_length > 0 { // let (add_len, parsed) = Self::from_bytes(&bytes[index..], schema)?; // index += add_len; // generics.push(parsed); // generic_length -= 1; // } // Ok((index, Self { // kind, // generics: Some(generics) // })) // } else { // Ok((index, Self { // kind, // generics: None // })) // } // } // #[inline(always)] // fn read_generic_length(kind: &NP_Types, schema: &Arc) -> usize { // match kind { // NP_Types::vec { .. } => 1, // NP_Types::map { .. } => 1, // NP_Types::_box { .. } => 1, // NP_Types::result { .. } => 2, // NP_Types::option { .. } => 1, // NP_Types::array { .. } => 1, // NP_Types::small_array { .. } => 1, // NP_Types::tuple { len, size } => *len as usize, // NP_Types::rpc_response { idx, func, uid } => { // if let Some(custom) = schema.id_index.get(*idx) { // let custom_type = &schema.schemas[custom.data]; // if let NP_Parsed_Generics::Arguments(idx, args) = &custom_type.generics { // args.len() // } else { // 0 // } // } else { // 0 // } // } // NP_Types::rpc_request { idx, func, uid } => { // if let Some(custom) = schema.id_index.get(*idx) { // let custom_type = &schema.schemas[custom.data]; // if let NP_Parsed_Generics::Arguments(idx, args) = &custom_type.generics { // args.len() // } else { // 0 // } // } else { // 0 // } // }, // NP_Types::small_custom { idx } => { // if let Some(custom) = schema.id_index.get(*idx) { // let custom_type = &schema.schemas[custom.data]; // if let NP_Parsed_Generics::Arguments(idx, args) = &custom_type.generics { // args.len() // } else { // 0 // } // } else { // 0 // } // }, // NP_Types::custom { idx } => { // if let Some(custom) = schema.id_index.get(*idx) { // let custom_type = &schema.schemas[custom.data]; // if let NP_Parsed_Generics::Arguments(idx, args) = &custom_type.generics { // args.len() // } else { // 0 // } // } else { // 0 // } // }, // _ => 0, // } // } // pub fn parse_type_prc(rpc_type: &buffer_rpc, data_type: &str, schema: &Arc) -> Result, NP_Error> { // let mut dot_pos: Option = None; // for (idx, char) in data_type.chars().enumerate() { // if char == '.' { // if None == dot_pos { // dot_pos = Some(idx); // } else { // return Err(NP_Error::Custom { message: String::from("Multiple dot paths detected in rpc call.") }) // } // } // } // if let Some(idx) = dot_pos { // let mut root_type = NP_Error::unwrap(Self::parse_type( &data_type[0..idx], schema)?)?; // let custom_type_idx = match &root_type.kind { // NP_Types::custom { idx } => { *idx }, // NP_Types::small_custom { idx } => { *idx }, // _ => { // return Err(NP_Error::Custom { message: String::from("RPC request did not find custom type!") }) // } // }; // match &rpc_type { // buffer_rpc::request => { // root_type.kind = NP_Types::rpc_request { idx: custom_type_idx, func: 0, uid: 0 }; // }, // buffer_rpc::response => { // root_type.kind = NP_Types::rpc_response { idx: custom_type_idx, func: 0, uid: 0 }; // }, // _ => { } // } // let method_name = &data_type[(idx + 1)..data_type.len()]; // if let NP_Types::rpc_request { idx, func, uid } = &mut root_type.kind { // *uid = schema.unique_id; // if let Some(type_data) = schema.id_index.get(*idx) { // if let Some(methods) = type_data.methods { // if let NP_Schema_Type::Impl { children } = &schema.schemas[methods].data_type { // for (id, (hash, key)) in children.keys().iter().enumerate() { // if key == method_name { // *func = id; // } // } // } // } // } // } // if let NP_Types::rpc_response { idx, func, uid } = &mut root_type.kind { // *uid = schema.unique_id; // if let Some(type_data) = schema.id_index.get(*idx) { // if let Some(methods) = type_data.methods { // if let NP_Schema_Type::Impl { children } = &schema.schemas[methods].data_type { // for (id, (hash, key)) in children.keys().iter().enumerate() { // if key == method_name { // *func = id; // } // } // } // } // } // } // Ok(Some(root_type)) // } else { // Err(NP_Error::Custom { message: String::from("No method call found in rpc request!") }) // } // } // pub fn parse_type(data_type: &str, schema: &Arc) -> Result, NP_Error> { // if data_type.len() > 255 { // return Err(NP_Error::Custom { message: String::from("Buffer schemas cannot be longer than 255 characters!") }) // } // if data_type.trim() == "" { // return Ok(None); // } // // unit type // if data_type.trim() == "()" { // return Ok(Some(Self { // kind: NP_Types::tuple { len : 0, size: 0 }, // generics: None // })); // } // let mut has_generics = false; // let mut angle_counter: isize = 0; // for char in data_type.chars() { // if char == '<' || char == '[' || char == '(' { // angle_counter += 1; // has_generics = true; // } // if char == '>' || char == ']' || char == ')' { // angle_counter -= 1; // } // } // if angle_counter != 0 { // return Err(NP_Error::Custom { message: String::from("Missing matching brackets!")}) // } // if has_generics { // slow path :( // let mut size = 0u32; // let mut result = Self { // kind: NP_Types::none, // generics: Some(Vec::new()) // }; // #[derive(Debug, PartialEq)] // enum parse_state { // searching, // angle_bracket, // square_bracket, // parans // } // let mut angle_step = 0isize; // let mut square_step = 0isize; // let mut paran_step = 0isize; // let mut p_state = parse_state::searching; // let mut parse_cursor: (usize, usize) = (0, 0); // (start_idx, end_idx) // let chars = data_type.as_bytes(); // while parse_cursor.1 < data_type.len() { // match chars[parse_cursor.1] as char { // '(' => { // if paran_step == 0 && p_state == parse_state::searching { // result.kind = NP_Types::tuple { len: 0, size: 0 }; // parse_cursor.0 = parse_cursor.1 + 1; // p_state = parse_state::parans; // } // paran_step += 1; // }, // ')' => { // paran_step -= 1; // if paran_step == 0 && p_state == parse_state::parans { // let inner_type = Self::parse_type(data_type[parse_cursor.0..parse_cursor.1].trim(), schema)?; // if let Some(generics) = &mut result.generics { // if let Some(i_type) = inner_type { // size += i_type.kind.get_size(&schema); // generics.push(i_type); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // p_state = parse_state::searching; // } // }, // '<' => { // generic xxx // if angle_step == 0 && p_state == parse_state::searching { // let str_kind = data_type[parse_cursor.0..parse_cursor.1].trim(); // result.kind = str_kind.into(); // if let NP_Types::custom { idx } = &mut result.kind { // if let Some(custom_kind) = schema.name_index.get(str_kind) { // if let Some(id) = schema.schemas[custom_kind.data].id { // *idx = id as usize; // } // } else { // let mut msg = String::from("Unknown type found!: "); // msg.push_str(str_kind); // return Err(NP_Error::Custom { message: msg }); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // p_state = parse_state::angle_bracket; // } // angle_step += 1; // }, // '>' => { // angle_step -= 1; // if angle_step == 0 && p_state == parse_state::angle_bracket { // let inner_type = Self::parse_type(data_type[parse_cursor.0..parse_cursor.1].trim(), schema)?; // if let Some(generics) = &mut result.generics { // if let Some(i_type) = inner_type { // size += i_type.kind.get_size(&schema); // generics.push(i_type); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // p_state = parse_state::searching; // } // }, // ';' => { // if square_step == 1 && p_state == parse_state::square_bracket { // parse_cursor.0 += 1; // let inner_type = Self::parse_type(data_type[parse_cursor.0..parse_cursor.1].trim(), schema)?; // if let Some(generics) = &mut result.generics { // if let Some(i_type) = inner_type { // size += i_type.kind.get_size(&schema); // generics.push(i_type); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // } // }, // ',' => { // if paran_step == 0 && angle_step == 1 && p_state == parse_state::angle_bracket { // let inner_type = Self::parse_type( data_type[parse_cursor.0..parse_cursor.1].trim(), schema)?; // if let Some(generics) = &mut result.generics { // if let Some(i_type) = inner_type { // size += i_type.kind.get_size(&schema); // generics.push(i_type); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // } // if angle_step == 0 && paran_step == 1 && p_state == parse_state::parans { // let inner_type = Self::parse_type( data_type[parse_cursor.0..parse_cursor.1].trim(), schema)?; // if let Some(generics) = &mut result.generics { // if let Some(i_type) = inner_type { // size += i_type.kind.get_size(&schema); // generics.push(i_type); // } // } // parse_cursor.0 = parse_cursor.1 + 1; // } // }, // '[' => { // array [X; number] // if square_step == 0 && p_state == parse_state::searching { // parse_cursor.0 = parse_cursor.1; // p_state = parse_state::square_bracket; // } // square_step +=1; // }, // ']' => { // square_step -=1; // if square_step == 0 && p_state == parse_state::square_bracket { // if let Ok(count) = data_type[parse_cursor.0..parse_cursor.1].trim().parse::() { // result.kind = NP_Types::array { len: count, size: size * (count as u32) }; // } else { // return Err(NP_Error::Custom { message: String::from("Error parsing array length!")}) // } // parse_cursor.0 = parse_cursor.1 + 1; // p_state = parse_state::searching; // } // }, // _ => { } // } // parse_cursor.1 += 1; // } // if square_step != 0 { // return Err(NP_Error::Custom { message: String::from("Missing matching square brackets!")}); // } // if angle_step != 0 { // return Err(NP_Error::Custom { message: String::from("Missing matching angle brackets!")}); // } // if paran_step != 0 { // return Err(NP_Error::Custom { message: String::from("Missing matching parentheses!")}); // } // let gen_count = if let Some(x) = &result.generics { // x.len() // } else { // 0 // }; // if gen_count == 0 { // result.generics = None; // } // if let NP_Types::tuple { len, size: tuple_size } = &mut result.kind { // *len = gen_count as u8; // *tuple_size = size; // } // let gen_length = Self::read_generic_length(&result.kind, &schema); // if gen_length != gen_count { // let mut msg = String::from("Wrong number of generic params. Type requires this many params:"); // msg.push_str(gen_length.to_string().as_str()); // return Err(NP_Error::Custom { message: msg}); // } // match result.kind.clone() { // NP_Types::custom { idx } => { // if idx < 255 { // result.kind = NP_Types::small_custom { idx }; // } // }, // NP_Types::array { len, size } => { // if len < 255 { // result.kind = NP_Types::small_array { len: len as u8, size }; // } // }, // _ => { } // } // Ok(Some(result)) // } else { // fast path // let mut this_type: NP_Types = data_type.into(); // if let NP_Types::custom { idx } = &mut this_type { // if let Some(custom_kind) = schema.name_index.get(data_type.trim()) { // if let Some(id) = schema.schemas[custom_kind.data].id { // *idx = id as usize; // } else { // return Err(NP_Error::Custom { message: String::from("Cannot use custom types that don't have an id!")}) // } // } else { // let mut msg = String::from("Unknown type found!: "); // msg.push_str(data_type); // return Err(NP_Error::Custom { message: msg }); // } // } // let gen_length = Self::read_generic_length(&this_type, &schema); // // should we have generic params? // if gen_length != 0 { // let mut msg = String::from("Generic params required but none provided. Type requires this many params: "); // msg.push_str(gen_length.to_string().as_str()); // return Err(NP_Error::Custom { message: msg}); // } // if let NP_Types::custom { idx } = this_type.clone() { // if idx < 255 { // this_type = NP_Types::small_custom { idx }; // } // } // Ok(Some(Self { // kind: this_type, // generics: None // })) // } // } // } // // #[cfg(test)] // mod schema_tests { // use crate::schema::NP_Schema; // use alloc::sync::Arc; // use crate::error::NP_Error; // use crate::buffer::type_parser::{NP_Type, NP_Types}; // use crate::buffer::buffer_rpc; // // // fn type_parse_schema() -> Result, NP_Error> { // let schema = r##" // info [ // id: "my-spec", // version: 2.0, // email: "someone@gmail.com", // nothing: null // ] // // struct myType [id: 10] { // username: string [max_len: 16], // password: string // } // // impl myType { // get(ulid) -> Option, // set(self) -> Result<(), string> // } // // struct anotherType [id: 9] { // username: string [list: [0, 1, 2, 3, 4], values: [key: true, another: false]] // } // // struct genericCity [id: 11] { // emaill: string // } // // struct bigType [id: 500] { // username: string // } // // impl bigType { // get(ulid) -> Option, // set(self) -> Result<(), string> // } // "##; // let parsed = Arc::new(NP_Schema::parse(schema)?); // // // unsafe { core::str::from_utf8_unchecked(&parsed.to_bytes()?) } // // &parsed.to_bytes()? // // println!("{:?} {} {}", &parsed.to_bytes()?, parsed.to_bytes()?.len(), schema.len()); // // println!("{:#?}", schema); // // Ok(parsed) // } // // #[test] // fn simple_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "myType", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_custom { idx: 10 }, // generics: Some(vec![NP_Type { // kind: NP_Types::u32, // generics: None // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // // println!("{:?}", &bytes[0..(*length as usize)]); // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "myType"); // // Ok(()) // } // // #[test] // fn vec_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Vec", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::u32, // generics: None // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Vec"); // // Ok(()) // } // // #[test] // fn crazy_nesting_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Vec>>>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::u32, // generics: None // }]) // }]) // }]) // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Vec>>>"); // // Ok(()) // } // // #[test] // fn super_simple_custom_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "anotherType", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_custom { idx: 9 }, // generics: None // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // // println!("{:?}", &bytes[0..(*length as usize)]); // assert_eq!(from_bytes_type.generate_string(&schema), "anotherType"); // // Ok(()) // } // // #[test] // fn simple_custom_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "bigType", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::custom { idx: 500 }, // generics: None // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "bigType"); // // Ok(()) // } // // #[test] // fn simple_array_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "[bool; 20]", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "[bool; 20]"); // // Ok(()) // } // // #[test] // fn large_array_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "[bool; 500]", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::array { len: 500, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "[bool; 500]"); // // Ok(()) // } // // #[test] // fn custom_nested_array_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "myType<[bool; 20]>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_custom { idx: 10 }, // generics: Some(vec![NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "myType<[bool; 20]>"); // // Ok(()) // } // // #[test] // fn crazy_generics_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "genericCity", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_custom { idx: 11 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::u32, // generics: None // }, // NP_Type { // kind: NP_Types::i64, // generics: None // }, // NP_Type { // kind: NP_Types::bool, // generics: None // }, // NP_Type { // kind: NP_Types::u64, // generics: None // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // NP_Type { // kind: NP_Types::uuid, // generics: None // }, // NP_Type { // kind: NP_Types::ulid, // generics: None // }, // NP_Type { // kind: NP_Types::date, // generics: None // }, // ]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "genericCity"); // // Ok(()) // } // // #[test] // fn crazy_generics_type_test_2() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "genericCity, u64, string, uuid, ulid, date>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::small_custom { idx: 11 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::u32, // generics: None // }, // NP_Type { // kind: NP_Types::i64, // generics: None // }, // NP_Type { // kind: NP_Types::small_custom { idx: 10 }, // generics: Some(vec![NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }]) // }, // NP_Type { // kind: NP_Types::u64, // generics: None // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // NP_Type { // kind: NP_Types::uuid, // generics: None // }, // NP_Type { // kind: NP_Types::ulid, // generics: None // }, // NP_Type { // kind: NP_Types::date, // generics: None // }, // ]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "genericCity, u64, string, uuid, ulid, date>"); // // Ok(()) // } // // // // #[test] // fn result_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Result<[bool; 20], string>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::result, // generics: Some(vec![ // NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // ]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Result<[bool; 20], string>"); // // Ok(()) // } // // // #[test] // fn tuple_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "([bool; 20], string)", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::tuple { len: 2, size: 0 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // ]) // }); // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "([bool; 20], string)"); // // Ok(()) // } // // #[test] // fn complex_nested_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Vec<([bool; 20], string)>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::tuple { len: 2, size: 0 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // ]) // }]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // // println!("{:?}", &bytes[0..(*length as usize)]); // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Vec<([bool; 20], string)>"); // // Ok(()) // } // // #[test] // fn complex_nested_type_test_2() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Vec<([bool; 20], string)>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::vec, // generics: Some(vec![NP_Type { // kind: NP_Types::tuple { len: 2, size: 0 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // ]) // }]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // // println!("{:?}", &bytes[0..(*length as usize)]); // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Vec<([bool; 20], string)>"); // // Ok(()) // } // // #[test] // fn complex_nested_type_test_3() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Result<([bool; 20], string), string>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::result, // generics: Some(vec![ // NP_Type { // kind: NP_Types::tuple { len: 2, size: 0 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::small_array { len: 20, size: 0 }, // generics: Some(vec![NP_Type { // kind: NP_Types::bool, // generics: None // }]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // }, // ]) // }, // NP_Type { // kind: NP_Types::string, // generics: None // } // ]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // // println!("{:?}", &bytes[0..(*length as usize)]); // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Result<([bool; 20], string), string>"); // // Ok(()) // } // // #[test] // fn unit_type_test() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "( )", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::tuple { len: 0, size: 0 }, // generics: None // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "()"); // // Ok(()) // } // // #[test] // fn unit_type_test_2() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type( "Vec<()>", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::vec, // generics: Some(vec![ // NP_Type { // kind: NP_Types::tuple { len: 0, size: 0 }, // generics: None // } // ]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "Vec<()>"); // // Ok(()) // } // // #[test] // fn rpc_type_test_1() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type_prc(&buffer_rpc::request, "bigType.set", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::rpc_request { idx: 500, func: 1, uid: 4204945332 }, // generics: None // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "bigType.set"); // // Ok(()) // } // // #[test] // fn rpc_type_test_2() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type_prc(&buffer_rpc::request, "myType.set", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::rpc_request { idx: 10, func: 1, uid: 4204945332 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::string, // generics: None // } // ]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // // println!("{:?}", &bytes[0..(*length as usize)]); // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "myType.set"); // // Ok(()) // } // // #[test] // fn rpc_type_test_3() -> Result<(), NP_Error> { // let schema = type_parse_schema()?; // // let buffer_type = NP_Error::unwrap(NP_Type::parse_type_prc(&buffer_rpc::response, "myType.set", &schema)?)?; // assert_eq!(buffer_type, NP_Type { // kind: NP_Types::rpc_response { idx: 10, func: 1, uid: 4204945332 }, // generics: Some(vec![ // NP_Type { // kind: NP_Types::string, // generics: None // } // ]) // }); // // let (length, bytes) = &buffer_type.get_bytes()?; // // println!("{:?}", &bytes[0..(*length as usize)]); // let from_bytes_type = NP_Type::from_bytes(&bytes[0..(*length as usize)], &schema)?.1; // assert_eq!(buffer_type, from_bytes_type); // assert_eq!(from_bytes_type.generate_string(&schema), "myType.set"); // // Ok(()) // } // } ================================================ FILE: no_proto_rs/src/utils.rs ================================================ use core::str; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::vec::Vec; use crate::error::NP_Error; const KX: u32 = 123456789; const KY: u32 = 362436069; const KZ: u32 = 521288629; const KW: u32 = 88675123; #[inline(always)] pub fn to_unsigned(byte: u8) -> u8 { if byte >= 128 { byte - 128 } else { byte + 128 } } #[inline(always)] pub fn to_signed(byte: u8) -> u8 { if byte < 128 { byte + 128 } else { byte - 128 } } pub struct Rand { x: u32, y: u32, z: u32, w: u32 } impl Rand { pub fn new(seed: u32) -> Rand { Rand{ x: KX^seed, y: KY^seed, z: KZ, w: KW } } // Xorshift 128, taken from German Wikipedia pub fn rand(&mut self) -> u32 { let t = self.x^self.x.wrapping_shl(11); self.x = self.y; self.y = self.z; self.z = self.w; self.w ^= self.w.wrapping_shr(19)^t^t.wrapping_shr(8); return self.w; } pub fn gen_range(&mut self, a: i32, b: i32) -> i32 { let m = (b-a+1) as u32; return a+(self.rand()%m) as i32; } } #[inline(always)] pub fn opt_err(optin: Option) -> Result { match optin { Some(x) => Ok(x), None => Err(NP_Error::new("No value found here!")) } } static CROCKFORD_32: [char; 32] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z']; pub fn from_base32>(value_str: S) -> u128 { let to_num = |encode: char| -> u8 { for (idx, base) in CROCKFORD_32.iter().enumerate() { if *base == encode { return idx as u8; } } return 0; }; let mut decoded: u128 = 0; let mut place = 32u128.pow(value_str.as_ref().len() as u32 - 1); for ch in value_str.as_ref().chars() { let digit = to_num(ch); decoded += u128::from(digit).wrapping_mul(place); place >>= 5; } decoded } pub fn to_base32(num: u128, length: i32) -> String { let mut result: Vec = Vec::with_capacity(length as usize); for _x in 0..length { result.push('0'); } let mut value = num; let i = length - 1; for x in 0..length { let modulus = value % 32; result[(i - x) as usize] = CROCKFORD_32[modulus as usize]; value = (value - modulus) / 32; } let mut final_string: String = "".to_owned(); for ch in result { match str::from_utf8(&[ch as u8]) { Ok(x) => { final_string.push_str(x); }, Err(_e) => { final_string.push_str(" "); } } } final_string } ================================================ FILE: no_proto_rs/src/values/mod.rs ================================================ use crate::error::NP_Error; use crate::memory::NP_Memory; use crate::json_flex::NP_JSON; pub trait NP_Value: Sized { fn write_value(self, address: usize, memory: &NP_Memory) -> Result<(), NP_Error>; fn read_value(address: usize, memory: &NP_Memory) -> Result; fn write_json(json: &NP_JSON, address: usize, memory: &NP_Memory) -> Result<(), NP_Error>; fn read_json(address: usize, memory: &NP_Memory) -> Result; fn read_bytes(address: usize, memory: &NP_Memory) -> Result<&[u8], NP_Error>; } ================================================ FILE: no_proto_rs_old/.idea/.gitignore ================================================ # Default ignored files /shelf/ /workspace.xml # Editor-based HTTP Client requests /httpRequests/ ================================================ FILE: no_proto_rs_old/.idea/modules.xml ================================================ ================================================ FILE: no_proto_rs_old/.idea/no_proto_rs.iml ================================================ ================================================ FILE: no_proto_rs_old/.idea/vcs.xml ================================================ ================================================ FILE: no_proto_rs_old/CHANGELOG.md ================================================ # 0.9.6 March 9th, 2021 - Removed lifetimes from NP_Factory and NP_Buffer. - NP_Buffer is no longer generic over memory type. This has a performance cost but makes the API easier to use. # 0.9.51 February 10th, 2021 - Added `Send` to NP_Buffer Memory types. # 0.9.5 February 10th, 2021 - Added `Send` and `Sync` to NP_Schema so NP_Factory would be safe to send across threads. - Added test to make sure NP_Factory is always safe to send across threads in the future. # 0.9.4 February 8th, 2021 - Minor performance improvements. - Switched to 32 bit addresses instead of 16 bit. This is a breaking change, buffers created with previous versions will not open with this version. # 0.9.3 February 7th, 2021 - Tuple types are now packed much tighter but cannot be mutated in schema. But no longer need `close_sortable` and `open_sortable` methods. - Updated open buffer methods and export schema methods to be consistent. - Cleaned up read only buffer semantics, added mutable reference buffer type so mmap will work with NoProto buffers. - Added read only checks on all mutable methods. - Removed explicit read only buffer, the main buffer class handles all memory types generically now. - Added new `set_max_length` method that allows you to limit the maximium size of buffers. - Major performance improvement, around 20% increase in performance from benchmarks. # 0.9.2 January 25, 2021 - Restored `no_std`. - Minor documentation updates. # 0.9.1 January 24, 2021 - Changed "table" type "struct" type. Old code should still work with "table". - `NP_Factory::new` is now `NP_Factory::new_json`. - Added new IDL that is similar to ES6 for schemas (way shorter than JSON). JSON is still supported, though. - Working to stabilize the format and API for 1.0 release. # 0.9.0 January 10, 2021 - Started adding `union` type, isn't fully implmented yet. - Added docs and more tests for `portal` type. - Added packed buffer feature that allows schemas to be included with buffers. - Added `np_path` macro to make it easy to use dot notated strings as path like this: `some.path.here`. - Added `set_from_json` method to allow buffer values to be set with JSON. This enables 100% interop with JSON. - ULID was not printing correctly according to spec, it is now. - Fixed issues with list type loops and inserts. - Added ULID parsing from string. - `json_encode` now always provides valid, parsable JSON. # 0.8.0 January 5, 2021 - Added new recursive data types with new `portal` type. - Compiled schemas were not preserving default values correctly, it is now fixed and tested. - Added benchmarks for Apache Avro and Flexbuffers. # 0.7.4 January 2, 2021 - NP_Geo types no longer allow invalid values to be set into the buffer (outside lat/lng min & max values). - Added new `set_max` and `set_min` buffer methods to make it easer to make range query buffers. - Ran library through Miri, found some possible UB and fixed it. # 0.7.3 December 30, 2020 - Added Prost to benchmarks. - Added documentation for zero-copy usage. - Added Zero copoy and non zero copy implmentations of `String`, `NP_UUID`, `NP_ULID`, and `Vec`. - Added new `get_schema_default` method for getting data types that are setup according to the schema. - Added new `get_schema_type` method for getting the schema type at a specifiic path. # 0.7.2 December 26, 2020 - Added looping limits to prevent DOS attacks with specially made buffers. - Added a bunch of stuff to the readme to help with pros/cons of other libs. - Added bincode to the benchmarks. # 0.7.1 December 22, 2020 - Minor performance improvements. - Fixed some type errors in `XX::max` calls. - Working on `wasm` version of this library. # 0.7.0 December 20, 2020 - Added `open_buffer_ro` method to open buffers as read only. - Moved `NP_Memory` into a trait system to allow read only buffers. - Read only buffers are `Send`, thread safe, and significantly faster to open. - Significant performance improvements in benchmarks. - No longer trading blows with Protocol Buffers, NoProto is measurably faster now. :) # 0.6.3 December 20, 2020 - Restored hashmap code for faster RPC lookups. - Optimized RPC code to reduce allocations. - Implemented compiled RPC byte specs. - RPC now sends hash of id + version instead of the actual id + version (saves 15 bytes on each request). # 0.6.2 December 20, 2020 - Removed hashmap as it didn't help performance enough to justify the extra code/complexity. - Some minor optimizations and code clean up. - Added RPC Capability, API and documentation. - Added `from_string` to UUID. - Updated benchmark format to be more clear. - Fixed some inaccuracies in compare table. # 0.6.1 December 15, 2020 - Restored the first byte for later use. Probably add `u32` address size again in the future. - The format should now be considered stable, won't be making any further changes to it. - Removed all panics, unwraps, and `unreachable_unchecked` calls. - Strings now support `lowercase` and `uppercase` properties in schema. - Added sortable buffer export and import capability. - Cleaned up benchmark formatting a bit. # 0.6.0 December 14, 2020 - Complete rewrite again (twice this time). - There is now only one address size, `u16`, limits buffers to 16kb max size. - Dramatically reduced the cost of reading/updating addresses in buffer. - Lists & maps are now limited to 255 items. - Performance is now comparable to Protocol Buffers, I'm pretty happy about that. # 0.5.1 November 30, 2020 - Forgot to apply `no_std` after debugging in previous release. # 0.5.0 November 30, 2020 - Complete rewrite with major performance improvements. - Optimizations and cleaning code. - More documentation, less noise. - 10 - 15x performance improvements on data inserts # 0.4.2 November 20, 2020 - Optimizations and cleaning code. - More documentation, less noise. # 0.4.1 November 19, 2020 - Docs & Meta update # 0.4.0 November 19, 2020 - Completely reworked loop code for all collections, it's now far faster and more efficient. - Iterating/Traversing over a buffer no longer mutates it. - Added new `to_iter` and `list_push` methods to buffer. - Removed `open` and `extract` methods from buffer, you can no longer access internal pointers directly. - Several other minor optimizations. # 0.3.0 November 11, 2020 - Added lots of tests - Reorganized files a little bit. - Byte schemas are now parsed ahead of time instead of incrementally - Slight adjustment to the schema byte format. - Tuple sorting validation is now more thorough - Cleaned up lots of code. # 0.2.2 November 10, 2020 - Added lots of tests and documentation. - Removed all Rc's from the library. - Added compiled byte schemas & format docs with tests. # 0.1.2 August 26, 2020 - Added lots of tests, fixed a few small bugs. - Added some info to README. # 0.1.1 August 26, 2020 - Added data format documentation. # 0.1.0 August 26, 2020 - Stabilized API - Added macro for numbers data type - Minor optimizations ================================================ FILE: no_proto_rs_old/Cargo.toml ================================================ [package] name = "no_proto" license = "MIT" version = "0.9.60" description = "Flexible, Fast & Compact Serialization with RPC" homepage = "https://github.com/only-cliches/NoProto" repository = "https://github.com/only-cliches/NoProto" documentation="https://docs.rs/crate/no_proto/" authors = ["Scott Lott "] readme = "README.md" edition = "2018" exclude = [] categories = ["data-structures", "embedded", "encoding", "no-std", "database"] keywords = ["protocol-buffers", "grpc", "avro", "database", "json"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] ================================================ FILE: no_proto_rs_old/README.md ================================================ ## NoProto: Flexible, Fast & Compact Serialization with RPC [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) ### Features **Lightweight**
- Zero dependencies - `no_std` support, WASM ready - Most compact non compiling storage format **Stable**
- Safely accept untrusted buffers - Passes Miri compiler safety checks - Panic and unwrap free **Easy**
- Extensive Documentation & Testing - Full interop with JSON, Import and Export JSON values - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format **Fast**
- Zero copy deserialization - Most updates are append only - Deserialization is incrimental **Powerful**
- Native byte-wise sorting - Supports recursive data types - Supports most common native data types - Supports collections (list, map, struct & tuple) - Supports arbitrary nesting of collection types - Schemas support default values and non destructive updates - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). ### Why ANOTHER Serialization Format? 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats: **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema. **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. NoProto takes the performance advantages of compiled formats and implements them in a flexible format. 2. NoProto is a **key-value database focused format**: **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types. **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) ### Comparison With Other Formats
Compared to Apache Avro - Far more space efficient
- Significantly faster serialization & deserialization
- All values are optional (no void or null type)
- Supports more native types (like unsigned ints)
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Protocol Buffers - Comparable serialization & deserialization performance
- Updating buffers is an order of magnitude faster
- Schemas are dynamic at runtime, no compilation step
- All values are optional
- Supports more types and better nested type support
- Byte-wise sorting is first class operation
- Updates without deserializng/serializing
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.

Compared to JSON / BSON - Far more space efficient
- Significantly faster serialization & deserialization
- Deserializtion is zero copy
- Has schemas / type safe
- Supports byte-wise sorting
- Supports raw bytes & other native types
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Flatbuffers / Bincode - Data types can change or be created at runtime
- Updating buffers is an order of magnitude faster
- Supports byte-wise sorting
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.


| Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | |------------------|-----------|------------|---------|----------|-------------------| | **Runtime Libs** | | | | | | | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | | **Compiled Libs**| | | | | | | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | | Bincode | ✓ | ? | ✓ | ✓ | ✗ | | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | | Veriform | ✗ | ? | ✗ | ✗ | ✗ | # Quick Example ```rust use no_proto::error::NP_Error; use no_proto::NP_Factory; // An ES6 like IDL is used to describe schema for the factory // Each factory represents a single schema // One factory can be used to serialize/deserialize any number of buffers let user_factory = NP_Factory::new(r#" struct({ fields: { name: string(), age: u16({ default: 0 }), tags: list({ of: string() }) }}) "#)?; // create a new empty buffer let mut user_buffer = user_factory.new_buffer(None); // optional capacity // set the "name" field user_buffer.set(&["name"], "Billy Joel")?; // read the "name" field let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // set a nested value, the first tag in the tag list user_buffer.set(&["tags", "0"], "first tag")?; // read the first tag from the tag list let tag = user_buffer.get::<&str>(&["tags", "0"])?; assert_eq!(tag, Some("first tag")); // close buffer and get internal bytes let user_bytes: Vec = user_buffer.finish().bytes(); // open the buffer again let user_buffer = user_factory.open_buffer(user_bytes); // read the "name" field again let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // get the age field let age = user_buffer.get::(&["age"])?; // returns default value from schema assert_eq!(age, Some(0u16)); // close again let user_bytes: Vec = user_buffer.finish().bytes(); // we can now save user_bytes to disk, // send it over the network, or whatever else is needed with the data # Ok::<(), NP_Error>(()) ``` ## Guided Learning / Next Steps: 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. ## Benchmarks While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. **Legend**: Ops / Millisecond, higher is better | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| | **Runtime Libs** | | | | | | | | *NoProto* | | | | | | | | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | | Apache Avro | | | | | | | | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | | FlexBuffers | | | | | | | | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | | JSON | | | | | | | | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | | BSON | | | | | | | | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | | MessagePack | | | | | | | | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | | **Compiled Libs** | | | | | | | | Flatbuffers | | | | | | | | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | | Bincode | | | | | | | | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | | Postcard | | | | | | | | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | | Protocol Buffers | | | | | | | | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | | Abomonation | | | | | | | | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | | Rkyv | | | | | | | | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. - **Decode All**: Deserialize the test object from the `Vec` into all fields. - **Decode 1**: Deserialize the test object from the `Vec` into one field. - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. ## NoProto Strengths If your use case fits any of the points below, NoProto might be a good choice for your application. 1. Flexible At Runtime
If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). 2. Safely Accept Untrusted Data
The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. 3. Extremely Fast Updates
If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. 4. All Fields Optional, Insert/Update In Any Order
Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. 5. Incremental Deserializing
You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. 6. Bytewise Sorting
Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. 7. `no_std` Support
If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. 8. Stable
NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. 9. CPU Independent
All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. ### When to use Flatbuffers / Bincode / CapN Proto If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. ### When to use JSON / BSON / MessagePack If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. ## Limitations - Structs and Tuples cannot have more than 255 items. - Lists and Maps cannot have more than 2^16 (~64k) items. - You cannot nest more than 255 levels deep. - Struct field names cannot be longer than 255 UTF8 bytes. - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. - Map keys cannot be larger than 255 UTF8 bytes. - Buffers cannot be larger than 2^32 bytes or ~4GB. ## Unsafe This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. ---------------------- MIT License Copyright (c) 2021 Scott Lott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: no_proto_rs_old/src/buffer.rs ================================================ //! Top level abstraction for buffer objects use alloc::prelude::v1::Box; use crate::{json_decode, json_flex::JSMAP, pointer::NP_Cursor_Parent, schema::{NP_Bytes_Data, NP_Map_List_Data, NP_String_Data, NP_Struct_Data, NP_Tuple_Data}}; use alloc::string::String; use crate::{NP_Size_Data, schema::NP_TypeKeys}; use crate::{memory::NP_Memory, utils::opt_err}; use crate::collection::tuple::NP_Tuple; use crate::{pointer::{NP_Scalar}}; use crate::{collection::map::NP_Map}; use crate::{pointer::NP_Value}; use crate::pointer::NP_Cursor; use crate::{schema::NP_Parsed_Schema, collection::struc::NP_Struct}; use alloc::vec::Vec; use crate::{collection::{list::NP_List}}; use crate::error::NP_Error; use crate::{json_flex::NP_JSON}; use crate::alloc::borrow::ToOwned; /// The address location of the root pointer. #[doc(hidden)] pub const DEFAULT_ROOT_PTR_ADDR: usize = 2; /// Maximum size of list collections #[doc(hidden)] pub const LIST_MAX_SIZE: usize = core::u16::MAX as usize; #[doc(hidden)] pub const VTABLE_SIZE: usize = 4; #[doc(hidden)] pub const VTABLE_BYTES: usize = 20; /// Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction. /// /// #[derive(Debug, Clone)] pub struct NP_Buffer { /// Memory object used by this buffer memory: NP_Memory, /// Is this buffer mutable? pub mutable: bool, cursor: NP_Cursor } unsafe impl Send for NP_Buffer {} /// Finished buffer, can't be edited. Just exported. /// #[derive(Debug)] pub struct NP_Finished_Buffer { memory: NP_Memory } impl NP_Finished_Buffer { /// How large the buffer is /// pub fn buffer_len(self) -> usize { self.memory.read_bytes().len() } /// How many bytes the data is using in the buffer /// pub fn data_len(self) -> usize { self.memory.length() } /// Get an owned copy of the bytes in the buffer /// If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes. /// If the buffer was an owned type, this moves the bytes out of the buffer /// pub fn bytes(self) -> Vec { self.memory.dump() } } impl NP_Buffer { #[doc(hidden)] pub fn _new(memory: NP_Memory) -> Self { // make new buffer NP_Buffer { cursor: NP_Cursor::new(memory.root, 0, 0), mutable: memory.is_mutable, memory: memory } } /// Copy an object at the provided path and all it's children into JSON. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// struct({fields: { /// age: u8(), /// name: string() /// }}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&["name"], "Jeb Kermin"); /// new_buffer.set(&["age"], 30u8); /// /// assert_eq!(r#"{"value":{"age":30,"name":"Jeb Kermin"}}"#, new_buffer.json_encode(&[])?.stringify()); /// assert_eq!(r#"{"value":"Jeb Kermin"}"#, new_buffer.json_encode(&["name"])?.stringify()); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn json_encode(&self, path: &[&str]) -> Result { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; if let Some(x) = value_cursor { let mut json_map = JSMAP::new(); json_map.insert(String::from("value"), NP_Cursor::json_encode(0, &x, &self.memory)); Ok(NP_JSON::Dictionary(json_map)) } else { Ok(NP_JSON::Null) } } /// Finish the buffer. /// /// If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method. /// /// If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // close buffer and get bytes /// let bytes: Vec = new_buffer.finish().bytes(); /// assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn finish(self) -> NP_Finished_Buffer { NP_Finished_Buffer { memory: self.memory } } /// Read the bytes of the buffer immutably. No touching! /// pub fn read_bytes(&self) -> &[u8] { self.memory.read_bytes() } /// Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level. /// /// This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist. /// pub fn move_cursor(&mut self, path: &[&str]) -> Result { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; let cursor = if let Some(x) = value_cursor { x } else { return Ok(false); }; self.cursor = cursor; Ok(true) } /// Moves cursor position to root of buffer, the default. /// pub fn cursor_to_root(&mut self) { self.cursor = NP_Cursor::new(self.memory.root, 0, 0); } /// Set the max value allowed for the specific data type at the given key. /// /// String & Byte types only work if a `size` property is set in the schema. /// /// Will return `true` if a value was found and succesfully set, `false` otherwise. /// /// *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children. /// /// When this is applied to a `string` data type, only ascii values are supported. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({ /// sorted: true, /// values: [string({size: 10}), u32()] /// }) /// "#)?; /// /// let mut low_buffer = factory.new_buffer(None); /// // set all types to minimum value /// low_buffer.set_min(&[])?; /// // get bytes /// let low_bytes: Vec = low_buffer.finish().bytes(); /// /// let mut high_buffer = factory.new_buffer(None); /// // set all types to max value /// high_buffer.set_max(&[])?; /// // get bytes /// let high_bytes: Vec = high_buffer.finish().bytes(); /// /// let mut middle_buffer = factory.new_buffer(None); /// middle_buffer.set(&["0"], "Light This Candle!"); /// middle_buffer.set(&["1"], 22938u32); /// let middle_bytes: Vec = middle_buffer.finish().bytes(); /// /// assert!(low_bytes < middle_bytes); /// assert!(middle_bytes < high_bytes); /// assert!(low_bytes < high_bytes); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_max(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { Ok(NP_Cursor::set_max(x, &self.memory)?) } None => Ok(false) } } /// Set the min value allowed for the specific data type at the given key. /// /// String & Byte types only work if a `size` property is set in the schema. /// /// Will return `true` if a value was found and succesfully set, `false` otherwise. /// /// *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children. /// /// When this is applied to a `string` data type, only ascii values are supported. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({ /// sorted: true, /// values: [string({size: 10}), u32()] /// }) /// "#)?; /// /// let mut low_buffer = factory.new_buffer(None); /// // set all types to minimum value /// low_buffer.set_min(&[])?; /// // get bytes /// let low_bytes: Vec = low_buffer.finish().bytes(); /// /// let mut high_buffer = factory.new_buffer(None); /// // set all types to max value /// high_buffer.set_max(&[])?; /// // get bytes /// let high_bytes: Vec = high_buffer.finish().bytes(); /// /// let mut middle_buffer = factory.new_buffer(None); /// middle_buffer.set(&["0"], "Light This Candle!"); /// middle_buffer.set(&["1"], 22938u32); /// let middle_bytes: Vec = middle_buffer.finish().bytes(); /// /// assert!(low_bytes < middle_bytes); /// assert!(middle_bytes < high_bytes); /// assert!(low_bytes < high_bytes); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_min(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { Ok(NP_Cursor::set_min(x, &self.memory)?) } None => Ok(false) } } /// Used to set scalar values inside the buffer. /// /// The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"list({of: map({ value: list({ of: string() })})})"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "look at all this nesting madness")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("look at all this nesting madness")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set<'set, X: 'set>(&mut self, path: &[&str], value: X) -> Result where X: NP_Value<'set> + NP_Scalar<'set> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly); } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to set value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") into schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } if x.parent_type == NP_Cursor_Parent::Tuple { self.memory.write_bytes()[x.buff_addr - 1] = 1; } X::set_value(x, &self.memory, value)?; Ok(true) } None => Ok(false) } } /// Set value with JSON /// /// This works with all types including portals. /// /// Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored. /// /// Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values. /// /// Using the `.set()` method is far more performant. I recommend only using this on the client side of your application. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({of: string()})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set_with_json(&[], r#"{"value": ["foo", "bar", null, "baz"]}"#)?; /// /// assert_eq!(new_buffer.get_length(&[])?, Some(4)); /// assert_eq!(new_buffer.get::<&str>(&["0"])?, Some("foo")); /// assert_eq!(new_buffer.get::<&str>(&["1"])?, Some("bar")); /// assert_eq!(new_buffer.get::<&str>(&["2"])?, None); /// assert_eq!(new_buffer.get::<&str>(&["3"])?, Some("baz")); /// /// new_buffer.set_with_json(&["2"], r#"{"value": "bazzy"}"#)?; /// assert_eq!(new_buffer.get::<&str>(&["2"])?, Some("bazzy")); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_with_json>(&mut self, path: &[&str], json_value: S) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { let parsed = json_decode(json_value.into())?; match parsed["value"] { NP_JSON::Null => { return Err(NP_Error::new(".set_with_json requires `value` property!")) }, _ => { NP_Cursor::set_from_json(0, false, x, &self.memory, &Box::new(parsed["value"].clone()))?; } } Ok(true) } None => Ok(false) } } /// Get an iterator for a collection /// /// /// ## List Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({of: string()})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 1 index /// new_buffer.set(&["1"], "hello")?; /// // set value at 4 index /// new_buffer.set(&["4"], "world")?; /// // push value onto the end /// new_buffer.list_push(&[], "!")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), None), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("world")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("!")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Struct Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "struct", /// "fields": [ /// ["age", {"type": "uint8"}], /// ["name", {"type": "string"}], /// ["job", {"type": "string"}], /// ["tags", {"type": "list", "of": {"type": "string"}}] /// ] /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value of age /// new_buffer.set(&["age"], 20u8)?; /// // set value of name /// new_buffer.set(&["name"], "Bill Kerman")?; /// // push value onto tags list /// new_buffer.list_push(&["tags"], "rocket")?; /// /// // get iterator of root (table) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "name" => assert_eq!(item.get::<&str>().unwrap(), Some("Bill Kerman")), /// "age" => assert_eq!(item.get::().unwrap(), Some(20)), /// "job" => assert_eq!(item.get::<&str>().unwrap(), None), /// "tags" => { /* tags field is list, can't do anything with it here */ }, /// _ => { panic!() } /// }; /// }); /// /// // we can also loop through items of the tags list /// new_buffer.get_collection(&["tags"])?.unwrap().into_iter().for_each(|item| { /// assert_eq!(item.index, 0); /// assert_eq!(item.get::<&str>().unwrap(), Some("rocket")); /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Map Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "map", /// "value": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value of color key /// new_buffer.set(&["color"], "blue")?; /// // set value of sport key /// new_buffer.set(&["sport"], "soccor")?; /// /// // get iterator of root (map) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "color" => assert_eq!(item.get::<&str>().unwrap(), Some("blue")), /// "sport" => assert_eq!(item.get::<&str>().unwrap(), Some("soccor")), /// _ => panic!() /// } /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Tuple Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "tuple", /// "values": [ /// {"type": "string"}, /// {"type": "u8"}, /// {"type": "bool"} /// ] /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 0 index /// new_buffer.set(&["0"], "hello")?; /// // set value at 2 index /// new_buffer.set(&["2"], false)?; /// /// // get iterator of root (tuple item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 1 => assert_eq!(item.get::().unwrap(), None), /// 2 => assert_eq!(item.get::().unwrap(), Some(false)), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_collection<'iter>(&'iter self, path: &'iter [&str]) -> Result>, NP_Error> { let value = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; let value = if let Some(x) = value { x } else { return Ok(None); }; let value_data = value.get_value(&self.memory); // value doesn't exist if value_data.get_addr_value() == 0 { return Ok(None); } Ok(Some(NP_Generic_Iterator::new(value, &self.memory)?)) } /// Push a value onto the end of a list. /// The path provided must resolve to a list type, and the type being pushed must match the schema /// /// This is the most efficient way to add values to a list type. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&["3"], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), None), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.list_push(&[], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn list_push<'push, X: 'push>(&mut self, path: &[&str], value: X) -> Result, NP_Error> where X: NP_Value<'push> + NP_Scalar<'push> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let list_cursor = if path.len() == 0 { self.cursor.clone() } else { match NP_Cursor::select(&self.memory, self.cursor.clone(), true, false, path)? { Some(x) => x, None => return Ok(None) }}; let schema = self.memory.get_schema(list_cursor.schema_addr); match schema.i { NP_TypeKeys::List => { let data = unsafe { &*(*schema.data as *const NP_Map_List_Data) }; let of = data.child; let of_schema = &self.memory.get_schema(of); // type does not match schema if X::type_idx().1 != of_schema.i { let mut err = "TypeError: Attempted to set value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") into schema of type ("); err.push_str(of_schema.i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } }, _ => return Err(NP_Error::new("Trying to push onto non list item!")) } match NP_List::push(&list_cursor, &self.memory, None)? { Some((index, new_item_addr)) => { X::set_value(new_item_addr, &self.memory, value)?; Ok(Some(index)) }, None => Ok(None) } } /// Get length of String, Bytes, Table, Tuple, List or Map Type /// /// If the type found at the path provided does not support length operations, you'll get `None`. /// /// If there is no value at the path provodid, you will get `None`. /// /// If an item is found and it's length is zero, you can expect `Some(0)`. /// /// ## String Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // get length of value at root (String) /// assert_eq!(new_buffer.get_length(&[])?, Some(5)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (List) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({ of: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 9th index /// new_buffer.set(&["9"], "hello")?; /// // get length of value at root (List) /// assert_eq!(new_buffer.get_length(&[])?, Some(10)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Table) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// struct({fields: { /// age: u8(), /// name: string() /// }}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // get length of value at root (Table) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Map) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("map({value: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set values /// new_buffer.set(&["foo"], "bar")?; /// new_buffer.set(&["foo2"], "bar2")?; /// // get length of value at root (Map) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Tuple) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("tuple({values: [string(), string()]})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // get length of value at root (Tuple) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_length(&self, path: &[&str]) -> Result, NP_Error> { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; let found_cursor = if let Some(x) = value_cursor { x } else { return Ok(None); }; let addr_value = found_cursor.get_value(&self.memory).get_addr_value(); let schema = self.memory.get_schema(found_cursor.schema_addr); match schema.i { NP_TypeKeys::List => { if addr_value == 0 { return Ok(None); } let data = unsafe { &*(*schema.data as *const NP_Map_List_Data) }; let of = data.child; let list_data = NP_List::get_list(addr_value as usize, &self.memory); let tail_addr = list_data.get_tail() as usize; if tail_addr == 0 { Ok(Some(0)) } else { let tail_cursor = NP_Cursor::new(tail_addr, of, found_cursor.schema_addr); let cursor_data = tail_cursor.get_value(&self.memory); Ok(Some(cursor_data.get_index() as usize + 1)) } }, NP_TypeKeys::Map => { if addr_value == 0 { return Ok(None); } let mut count = 0usize; { let mut map_iter = NP_Map::new_iter(&found_cursor, &self.memory); while let Some((_ikey, _item)) = map_iter.step_iter(&self.memory) { count += 1; } } Ok(Some(count)) }, NP_TypeKeys::Struct => { let data = unsafe { &*(*schema.data as *const NP_Struct_Data) }; Ok(Some(data.fields.len())) }, NP_TypeKeys::Tuple => { let data = unsafe { &*(*schema.data as *const NP_Tuple_Data) }; Ok(Some(data.values.len())) }, NP_TypeKeys::Bytes => { let data = unsafe { &*(*schema.data as *const NP_Bytes_Data) }; let size = data.size; if size > 0 { Ok(Some(size as usize)) } else { let length_bytes = self.memory.get_4_bytes(addr_value as usize).unwrap_or(&[0u8; 4]); Ok(Some(u32::from_be_bytes(*length_bytes) as usize)) } }, NP_TypeKeys::UTF8String => { let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let size = data.size; if size > 0 { Ok(Some(size as usize)) } else { let length_bytes = self.memory.get_4_bytes(addr_value as usize).unwrap_or(&[0u8; 4]); Ok(Some(u32::from_be_bytes(*length_bytes) as usize)) } }, _ => { Ok(None) } } } /// Clear an inner value from the buffer. /// This can also be used to clear deeply nested collection objects or scalar objects. /// /// Returns `true` if it found a value to delete (and deleted it), `false` otherwise. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({ of: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set index 0 /// new_buffer.set(&["0"], "hello")?; /// // del index 0 /// new_buffer.del(&["0"])?; /// // value is gone now! /// assert_eq!(None, new_buffer.get::<&str>(&["0"])?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn del(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; match value_cursor { Some(x) => { NP_Cursor::delete(x, &self.memory) } None => Ok(false) } } /// Retrieve the schema type at a given path. /// /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::schema::NP_TypeKeys; /// /// let factory: NP_Factory = NP_Factory::new("tuple({values: [ geo8(), dec({exp: 2}), string() ]})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// /// assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple); /// assert_eq!(new_buffer.get_schema_type(&["0"])?.unwrap(), NP_TypeKeys::Geo); /// assert_eq!(new_buffer.get_schema_type(&["1"])?.unwrap(), NP_TypeKeys::Decimal); /// assert_eq!(new_buffer.get_schema_type(&["2"])?.unwrap(), NP_TypeKeys::UTF8String); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_schema_type(&self, path: &[&str]) -> Result, NP_Error> { match NP_Cursor::select(&self.memory, self.cursor.clone(), false, true, path)? { Some(x) => { Ok(Some(self.memory.get_schema(x.schema_addr).i)) } None => Ok(None) } } /// Retrieve the schema default at a given path. /// /// This is useful for `geo` and `dec` data types where there is information about the value in the schema. /// /// For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::pointer::dec::NP_Dec; /// use no_proto::pointer::geo::NP_Geo; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({values: [ /// geo8(), /// dec({exp: 2}) /// ]}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // Get an empty NP_Geo type that has the correct resolution for the schema /// // /// let geo_default: NP_Geo = new_buffer.get_schema_default::(&["0"])?.unwrap(); /// assert_eq!(geo_default.size, 8); // geo is size 8 in schema /// /// // Get an empty NP_Dec type that has the correct exp for the schema /// // /// let dec_default: NP_Dec = new_buffer.get_schema_default::(&["1"])?.unwrap(); /// assert_eq!(dec_default.exp, 2); // exponent is 2 in schema /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_schema_default<'get, X: 'get>(&'get self, path: &[&str]) -> Result, NP_Error> where X: NP_Value<'get> + NP_Scalar<'get> { match NP_Cursor::select(&self.memory, self.cursor.clone(), false, true, path)? { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to get schema for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") for schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } Ok(X::schema_default(&self.memory.get_schema(x.schema_addr))) } None => Ok(None) } } /// Retrieve an inner value from the buffer. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"list({of: map({ value: list({of: string() }) })})"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "who would build a schema like this")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("who would build a schema like this")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get<'get, X: 'get>(&'get self, path: &[&str]) -> Result, NP_Error> where X: NP_Value<'get> + NP_Scalar<'get> { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to get value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") for schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } match X::into_value(&x, &self.memory)? { Some(x) => { Ok(Some(x)) }, None => { // no value found here, return default from schema match X::default_value(0, x.schema_addr, &self.memory.get_schemas()) { Some(y) => { Ok(Some(y)) }, None => { // no default in schema, no value to provide Ok(None) } } } } } None => Ok(None) } } /// This performs a compaction if the closure provided as the second argument returns `true`. /// Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// **WARNING** Your cursor location will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 15 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 31 bytes, with 9 bytes of wasted space /// assert_eq!(NP_Size_Data { /// current_buffer: 31, /// after_compaction: 22, /// wasted_bytes: 9 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.maybe_compact(None, |compact_data| { /// // only compact if wasted bytes are greater than 5 /// if compact_data.wasted_bytes > 5 { /// true /// } else { /// false /// } /// })?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 22, /// after_compaction: 22, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn maybe_compact(&mut self, new_capacity: Option, mut callback: F) -> Result<(), NP_Error> where F: FnMut(NP_Size_Data) -> bool { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let bytes_data = self.calc_bytes()?; if callback(bytes_data) { self.compact(new_capacity)?; } return Ok(()); } /// Compacts a buffer to remove an unused bytes or free space after a mutation. /// This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. /// - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead. /// - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated. /// /// **WARNING** Your cursor location will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 15 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 31 bytes, with 9 bytes of wasted space /// assert_eq!(NP_Size_Data { /// current_buffer: 31, /// after_compaction: 22, /// wasted_bytes: 9 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.compact(None)?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 22, /// after_compaction: 22, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn compact<'compact>(&mut self, new_capacity: Option) -> Result<(), NP_Error> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let capacity = Some(match new_capacity { Some(x) => { x as usize }, None => self.memory.read_bytes().len() }); let old_root = NP_Cursor::new(self.memory.root, 0, 0); let new_root = NP_Cursor::new(self.memory.root, 0, 0); // comapcting a RefMut buffer, we have to compact into a Vec, then write it back into the RefMut if self.memory.is_ref_mut() { let new_bytes = NP_Memory::new(capacity, self.memory.get_schemas() as *const Vec, self.memory.root); NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; let new_length = new_bytes.length(); let read_bytes = new_bytes.read_bytes(); let memory = self.memory.write_bytes(); for x in 0..memory.len() { if x < new_length { memory[x] = read_bytes[x]; } else { memory[x] = 0; } } self.memory.set_length(new_length)?; // compacting from one owned buffer into itself } else { let new_bytes = self.memory.new_empty(capacity)?; NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; self.memory = new_bytes; } self.cursor = NP_Cursor::new(self.memory.root, 0, 0); Ok(()) } /// Compact the current buffer into a new owned buffer. /// Returns an owned buffer of the compacted result. /// /// This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer. /// /// If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction. /// pub fn compact_into(&mut self, new_capacity: Option) -> Result { let capacity = Some(match new_capacity { Some(x) => { x as usize }, None => self.memory.read_bytes().len() }); let old_root = NP_Cursor::new(self.memory.root, 0, 0); let new_bytes = NP_Memory::new(capacity, self.memory.get_schemas() as *const Vec, self.memory.root); let new_root = NP_Cursor::new(self.memory.root, 0, 0); NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; self.cursor = NP_Cursor::new(self.memory.root, 0, 0); Ok(NP_Buffer::_new(new_bytes)) } /// Copy the current buffer into a new owned buffer. /// pub fn copy_buffer(&self) -> NP_Buffer { let copy_bytes = self.memory.read_bytes().to_vec(); let new_memory = NP_Memory::existing_owned(copy_bytes, self.memory.get_schemas() as *const Vec, self.memory.root); NP_Buffer::_new(new_memory) } /// Recursively measures how many bytes each element in the buffer is using. /// This will let you know how many bytes can be saved from a compaction. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&[], "hello")?; /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn calc_bytes<'bytes>(&self) -> Result { let root = NP_Cursor::new(self.memory.root, 0, 0); let real_bytes = NP_Cursor::calc_size(0, &root, &self.memory)? + self.memory.root; let total_size = self.memory.length(); if total_size >= real_bytes { return Ok(NP_Size_Data { current_buffer: total_size, after_compaction: real_bytes, wasted_bytes: total_size - real_bytes }); } else { return Err(NP_Error::new("Error calculating bytes!")); } } /// Set the maximum allowed of size of this buffer, in bytes. /// /// Once this value is set, the buffer will not be allowed to grow beyond this size. /// /// This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. /// pub fn set_max_data_length(&mut self, len: usize) { self.memory.set_max_length(len); } /// Get the number of bytes used by the data in this buffer. /// /// This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer. /// pub fn data_length(&self) -> usize { self.memory.length() } } /// NP Item pub struct NP_Item<'item> { /// index of this value pub index: usize, /// Key at this index pub key: &'item str, /// Field at this index pub field: &'item str, /// Cursor value cursor: Option, parent: NP_Cursor, memory: &'item NP_Memory } impl<'item> NP_Item<'item> { /// If this item has a value pub fn has_value(&self) -> bool { if let Some(x) = self.cursor { let value = x.get_value(self.memory); value.get_addr_value() != 0 } else { false } } /// Get value at this pointer pub fn get(&'item self) -> Result, NP_Error> where X: NP_Value<'item> + NP_Scalar<'item> { if let Some(cursor) = self.cursor { match X::into_value(&cursor, self.memory)? { Some(x) => { Ok(Some(x)) }, None => { match X::default_value(0, cursor.schema_addr, &self.memory.get_schemas()) { Some(y) => { Ok(Some(y)) }, None => { Ok(None) } } } } } else { Ok(None) } } /// Set value at this pointer pub fn set(&'item mut self, value: X) -> Result<(), NP_Error> where X: NP_Value<'item> + NP_Scalar<'item> { if self.memory.is_mutable == false { return Err(NP_Error::MemoryReadOnly) } if let Some(cursor) = self.cursor { X::set_value(cursor.clone(), self.memory, value)?; } else { let schema = self.memory.get_schema(self.parent.schema_addr); match schema.i { // maps don't let you select values that don't exist in the buffer yet NP_TypeKeys::List => { let item = opt_err(opt_err(NP_List::select(self.parent.clone(), self.index, true, false, self.memory)?)?.1)?; X::set_value(item, self.memory, value)?; } NP_TypeKeys::Struct => { let item = opt_err(NP_Struct::select(self.parent.clone(), schema, &self.key, true, false, self.memory)?)?; X::set_value(item, self.memory, value)?; }, NP_TypeKeys::Tuple => { let item = opt_err(NP_Tuple::select(self.parent.clone(), schema, self.index, true, false, self.memory)?)?; X::set_value(item, self.memory, value)?; } _ => { } } } Ok(()) } /// Clear the value at this pointer pub fn del(&'item mut self) -> bool { if self.memory.is_mutable == false { return false } if let Some(cursor) = self.cursor { match NP_Cursor::delete(cursor, self.memory) { Ok(result) => result, Err(_e) => false } } else { false } } } /// Iterator Enum #[derive(Debug)] #[doc(hidden)] pub enum NP_Iterator_Collection<'col> { /// None None, /// Map Map(NP_Map<'col>), /// List List(NP_List), /// Struct Struct(NP_Struct<'col>), /// Tuple Tuple(NP_Tuple) } #[allow(missing_docs)] impl<'col> NP_Iterator_Collection<'col> { pub fn new(cursor: NP_Cursor, memory: &'col NP_Memory) -> Result { match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Struct => { let struc = NP_Struct::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Struct(struc)) }, NP_TypeKeys::List => { let list = NP_List::new_iter(&cursor, memory, false, 0); Ok(NP_Iterator_Collection::List(list)) }, NP_TypeKeys::Tuple => { let tuple = NP_Tuple::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Tuple(tuple)) }, NP_TypeKeys::Map => { let map = NP_Map::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Map(map)) }, _ => Err(NP_Error::new("Tried to create iterator on non collection item!")) } } } #[allow(missing_docs)] pub struct NP_Generic_Iterator<'it> { root: NP_Cursor, value: NP_Iterator_Collection<'it>, memory: &'it NP_Memory, index: usize } #[allow(missing_docs)] impl<'it> NP_Generic_Iterator<'it> { pub fn new(cursor: NP_Cursor, memory: &'it NP_Memory) -> Result { Ok(Self { root: cursor.clone(), value: NP_Iterator_Collection::new(cursor.clone(), memory)?, memory: memory, index: 0 }) } } impl<'it> Iterator for NP_Generic_Iterator<'it> { type Item = NP_Item<'it>; fn next(&mut self) -> Option { match &mut self.value { NP_Iterator_Collection::Map(x) => { if let Some(next_item) = x.step_iter(self.memory) { self.index += 1; Some(NP_Item { memory: self.memory, key: next_item.0, field: next_item.0, index: self.index - 1, cursor: Some(next_item.1), parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::List(x) => { if let Some(next_item) = x.step_iter(self.memory) { Some(NP_Item { memory: self.memory, key: "", field: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::Struct(x) => { if let Some(next_item) = x.step_iter(self.memory) { Some(NP_Item { memory: self.memory, key: next_item.1, field: next_item.1, index: next_item.0, cursor: next_item.2, parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::Tuple(x) => { if let Some(next_item) = x.step_iter(self.memory, true) { Some(NP_Item { memory: self.memory, key: "", field: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) } else { None } }, _ => { None } } } } ================================================ FILE: no_proto_rs_old/src/collection/list.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Map_List_Data, NP_Value_Kind}, utils::opt_err}; use crate::{error::NP_Error, json_flex::{JSMAP, NP_JSON}, memory::{NP_Memory}, pointer::{NP_Value}, pointer::{NP_Cursor}, schema::NP_Parsed_Schema, schema::{NP_Schema, NP_TypeKeys}}; use alloc::borrow::ToOwned; use alloc::boxed::Box; use alloc::{vec::*}; use alloc::string::ToString; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_List_Bytes { head: [u8; 4], tail: [u8; 4] } #[allow(missing_docs)] impl NP_List_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } #[inline(always)] pub fn set_tail(&mut self, tail: u32) { self.tail = tail.to_be_bytes(); } #[inline(always)] pub fn get_tail(&self) -> u32 { u32::from_be_bytes(self.tail) } } #[doc(hidden)] #[derive(Debug, Clone, Copy, PartialEq)] struct List_Item { index: usize, buff_addr: usize } /// List data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_List { next: Option, current: Option, index: usize, count: usize, tail: Option, head: Option, only_real: bool, schema_of: usize, list: NP_Cursor } #[allow(missing_docs)] impl NP_List { #[inline(always)] pub fn select(list_cursor: NP_Cursor, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result)>, NP_Error> { let list_value = || { list_cursor.get_value(memory) }; if index > 255 { return Ok(None) } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; if schema_query { return Ok(Some((index, Some(NP_Cursor::new(0, schema_of, list_cursor.schema_addr))))); } // if no list here, make one please if list_value().get_addr_value() == 0 { if make_path { Self::make_list(&list_cursor, memory)?; } else { return Ok(Some((index, None))) } } let list_data = || { Self::get_list(list_value().get_addr_value() as usize, memory) }; // empty list if list_data().get_head() == 0 { let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); list_data().set_head(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } let head = NP_Cursor::new(list_data().get_head() as usize, schema_of, list_cursor.schema_addr); let head_index = head.get_value(memory).get_index() as usize; if head_index > index { // index is in front of head, replace head let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); new_cursor_value.set_next_addr(head.buff_addr as u32); list_data().set_head(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if head_index == index { // index is equal to head return Ok(Some((index, Some(head)))) } // is cursor in behind of or equal to tail let tail = NP_Cursor::new(list_data().get_tail() as usize, schema_of, list_cursor.schema_addr); let tail_value = || { tail.get_value_mut(memory) }; let tail_index = tail_value().get_index() as usize; if tail_index < index { // index is behind tail let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); tail_value().set_next_addr(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if tail_index == index { // index is equal to head return Ok(Some((index, Some(tail)))) } // the index is somewhere in the list let mut list_iter = Self::new_iter(&list_cursor, memory, false, head_index as usize); while let Some((idx, item)) = Self::step_iter(&mut list_iter, memory) { if index == idx { if let Some(found_cursor) = item { // found cursor here return Ok(Some((index, Some(found_cursor)))) } else { // found index but no cursor return Ok(Some((index, Some(list_iter.make_item_in_loop(memory)?)))) } } } // should never reach here Err(NP_Error::Unreachable) } #[inline(always)] pub fn make_item_in_loop(self, memory: &NP_Memory) -> Result { let list_data = || { Self::get_list(self.list.get_value(memory).get_addr_value() as usize, memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, self.schema_of, self.list.schema_addr); let new_cursor_value = || { new_cursor.get_value_mut(memory) }; new_cursor_value().set_index(self.index as u16 - 1); if let Some(current) = self.current { // set NEXT of CURRENT cursor to the new cursor let curr_cursor = NP_Cursor::new(current.buff_addr, self.schema_of, self.list.schema_addr); let prev_cursor_value = curr_cursor.get_value_mut(memory); prev_cursor_value.set_next_addr(new_cursor_addr as u32); if let Some(next) = self.next { new_cursor_value().set_next_addr(next.buff_addr as u32); } else { // replace tail list_data().set_tail(new_cursor_addr as u32); } Ok(new_cursor) } else { Err(NP_Error::Unreachable) } } #[inline(always)] pub fn make_list<'make>(list_cursor: &NP_Cursor, memory: &'make NP_Memory) -> Result<(), NP_Error> { let list_addr = memory.malloc_borrow(&[0u8; 8])?; // head & tail let value = list_cursor.get_value_mut(memory); value.set_addr_value(list_addr as u32); Ok(()) } #[inline(always)] pub fn get_list<'list>(list_cursor_value_addr: usize, memory: &'list NP_Memory) -> &'list mut NP_List_Bytes { if list_cursor_value_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_List_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(list_cursor_value_addr as usize) as *mut NP_List_Bytes) } } } #[inline(always)] pub fn new_iter(list_cursor: &NP_Cursor, memory: &NP_Memory, only_real: bool, starting_index: usize) -> Self { let value = list_cursor.get_value(memory); let list_addr = value.get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; let memory_bytes = memory.write_bytes(); if list_addr > 0 && list_addr < (memory_bytes.len() + 4) { let bytes = unsafe { &mut *(memory_bytes.as_ptr().add(list_addr) as *mut NP_List_Bytes) }; let tail_addr = bytes.get_tail() as usize; if tail_addr != 0 { let tail_cursor = NP_Cursor::new(tail_addr, schema_of, list_cursor.schema_addr); let head_cursor = NP_Cursor::new(bytes.get_head() as usize, schema_of, list_cursor.schema_addr); return Self { current: None, count: 0, next: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), head: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), tail: Some(List_Item { index: tail_cursor.get_value(memory).get_index() as usize, buff_addr: tail_cursor.buff_addr}), only_real, index: starting_index, schema_of, list: list_cursor.clone(), } } } Self { current: None, head: None, tail: None, count: 0, only_real, index: starting_index, schema_of, list: list_cursor.clone(), next: None, } } #[inline(always)] pub fn step_iter(&mut self, memory: &NP_Memory) -> Option<(usize, Option)> { if self.count > u16::MAX as usize { return None; } self.count += 1; match self.next { Some(next) => { if self.only_real { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index = this_value.get_index() as usize; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index, Some(this_cursor))) } else { if next.index > self.index { self.index += 1; Some((self.index - 1, None)) } else if next.index == self.index { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index += 1; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index - 1, Some(this_cursor))) } else { None } } }, None => None } } #[inline(always)] pub fn push<'push>(list_cursor: &NP_Cursor, memory: &NP_Memory, index: Option) -> Result, NP_Error> { let list_value = || {list_cursor.get_value(memory)}; if list_value().get_addr_value() == 0 { Self::make_list(&list_cursor, memory)?; } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let mut new_index: usize = index.unwrap_or(0); let new_item_addr = memory.malloc_borrow(&[0u8; 10])?; // list item let list_data = || {Self::get_list(list_value().get_addr_value() as usize, memory)}; let new_cursor = NP_Cursor::new(new_item_addr, data.child, list_cursor.schema_addr); let new_cursor_value = || {new_cursor.get_value_mut(memory)}; if list_data().get_head() == 0 { // empty list list_data().set_head(new_item_addr as u32); list_data().set_tail(new_item_addr as u32); if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16) } else { // list has items let old_tail = NP_Cursor::new(list_data().get_tail() as usize, data.child, list_cursor.schema_addr); let old_tail_value = || {old_tail.get_value_mut(memory)}; old_tail_value().set_next_addr(new_item_addr as u32); new_index = if let Some(idx) = index { idx as usize } else { (old_tail_value().get_index() + 1) as usize }; if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16); list_data().set_tail(new_item_addr as u32); } return Ok(Some((new_index as u16, new_cursor))); } } impl<'value> NP_Value<'value> for NP_List { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_list = Vec::new(); let mut list_iter = NP_List::new_iter(&cursor, memory, false, 0); while let Some((_index, item)) = NP_List::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { json_list.push(NP_Cursor::json_encode(depth + 1, item_cursor, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let list_of = data.child; schema_json.insert("of".to_owned(), NP_Schema::_type_to_json(schema, list_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, list_item) in list.iter().enumerate() { match NP_List::select(cursor, idx, true, false, memory)? { Some(x) => { match x.1 { Some(list_value) => { NP_Cursor::set_from_json(depth + 1, apply_null, list_value, memory, &Box::new(list_item.clone()))?; }, None => { } } }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } // head + tail let base_size = 8usize; let mut acc_size = 0usize; let mut list_iter = Self::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = Self::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { acc_size += NP_Cursor::calc_size(depth + 1, item_cursor, memory)?; } } Ok(acc_size + base_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } Self::make_list(&to_cursor, to_memory)?; let mut list_iter = Self::new_iter(&from_cursor, from_memory, true, 0); while let Some((index, item)) = Self::step_iter(&mut list_iter, from_memory) { if let Some(old_item) = &item { let (_new_index, new_item) = opt_err(NP_List::push(&to_cursor, to_memory, Some(index))?)?; NP_Cursor::compact(depth + 1, old_item.clone(), from_memory, new_item, to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("list({of: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1 })) as *const u8) }); let mut of_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "of" { of_jst = Some(value); } } }, _ => { } } }; if let Some(x) = of_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_bytes.extend(child_bytes); Ok((false, schema_bytes, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8), sortable: false }); match json_schema["of"] { NP_JSON::Null => { return Err(NP_Error::new("Lists require an 'of' property that is a schema type!")) }, _ => { } } // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["of"].clone()))?; schema_bytes.extend(child_bytes); return Ok((false, schema_bytes, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"list({of: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 40usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; buffer.set(&["12"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.set_with_json(&[], r#"{"value": ["light", "this", "candle"]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("light")); assert_eq!(buffer.get::<&str>(&["1"])?, Some("this")); assert_eq!(buffer.get::<&str>(&["2"])?, Some("candle")); Ok(()) } #[test] fn parseing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["9"], "hello")?; buffer.set(&["10"], "world")?; let new_buffer = factory.open_buffer(buffer.finish().bytes()); assert_eq!(new_buffer.get::<&str>(&["9"])?.unwrap(), "hello"); assert_eq!(new_buffer.get::<&str>(&["10"])?.unwrap(), "world"); Ok(()) } ================================================ FILE: no_proto_rs_old/src/collection/map.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, pointer::NP_Cursor, schema::{NP_Map_List_Data, NP_Value_Kind}}; use crate::{json_flex::JSMAP}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Map_Bytes { head: [u8; 4] } #[allow(missing_docs)] impl NP_Map_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } } #[doc(hidden)] #[derive(Debug, Clone, Copy)] struct Map_Item<'item> { key: &'item str, buff_addr: usize } impl<'item> Map_Item<'item> { pub fn new(key: &'item str, buff_addr: usize) -> Self { Self { key, buff_addr} } } /// The map type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Map<'map> { count: usize, current: Option>, head: Option>, map: NP_Cursor, value_of: usize } #[allow(missing_docs)] impl<'map> NP_Map<'map> { #[inline(always)] pub fn select(map_cursor: NP_Cursor, key: &str, make_path: bool, schema_query: bool, memory: &'map NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; if schema_query { let value_of = data.child; return Ok(Some(NP_Cursor::new(0, value_of, map_cursor.schema_addr))); } let mut map_iter = Self::new_iter(&map_cursor, memory); // key is maybe in map while let Some((ikey, item)) = map_iter.step_iter(memory) { if ikey == key { return Ok(Some(item.clone())) } } // key is not in map if make_path { Ok(Some(Self::insert(&map_cursor, memory, key)?)) } else { Ok(None) } } #[inline(always)] pub fn get_map<'get>(map_buff_addr: usize, memory: &'get NP_Memory) -> &'get mut NP_Map_Bytes { if map_buff_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Map_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(map_buff_addr as usize) as *mut NP_Map_Bytes) } } } #[inline(always)] pub fn new_iter(map_cursor: &NP_Cursor, memory: &'map NP_Memory) -> Self { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if map_cursor.get_value(memory).get_addr_value() == 0 { return Self { current: None, count: 0, head: None, map: map_cursor.clone(), value_of } } let head_addr = Self::get_map(map_cursor.buff_addr, memory).get_head(); let head_cursor = NP_Cursor::new(head_addr as usize, value_of, map_cursor.schema_addr); let head_cursor_value = head_cursor.get_value(memory); Self { current: None, count: 0, head: Some(Map_Item::new(head_cursor_value.get_key(memory), head_cursor.buff_addr )), map: map_cursor.clone(), value_of } } #[inline(always)] pub fn step_iter(&mut self, memory: &'map NP_Memory) -> Option<(&'map str, NP_Cursor)> { if self.count > u16::MAX as usize { return None; } match self.head { Some(head) => { self.count += 1; match self.current { Some(current) => { // subsequent iterations let current_item = NP_Cursor::new(current.buff_addr, self.value_of, self.map.schema_addr); let current_value = current_item.get_value(memory); let next_value = current_value.get_next_addr() as usize; if next_value == 0 { //nothing left to step return None; } else { let next_value_cursor = NP_Cursor::new(next_value, self.value_of, self.map.schema_addr); let next_value_value = next_value_cursor.get_value(memory); let key = next_value_value.get_key(memory); self.current = Some(Map_Item { buff_addr: next_value, key: key }); return Some((key, next_value_cursor)) } }, None => { // first iteration, get head self.current = Some(head.clone()); return Some((head.key, NP_Cursor::new(head.buff_addr, self.value_of, self.map.schema_addr))) } } }, None => return None } } #[inline(always)] pub fn insert(map_cursor: &NP_Cursor, memory: &NP_Memory, key: &str) -> Result { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if key.len() >= 255 { return Err(NP_Error::new("Key length cannot be larger than 255 charecters!")); } let map_value = || { map_cursor.get_value(memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 12])?; let new_cursor = NP_Cursor::new(new_cursor_addr, value_of, map_cursor.schema_addr); // set key let key_item_addr = memory.malloc_borrow(&[key.len() as u8])?; memory.malloc_borrow(key.as_bytes())?; new_cursor.get_value_mut(memory).set_key_addr(key_item_addr as u32); let head = map_value().get_addr_value() as usize; // Set head of map to new cursor map_cursor.get_value_mut(memory).set_addr_value(new_cursor_addr as u32); if head != 0 { // set new cursors NEXT to old HEAD new_cursor.get_value_mut(memory).set_next_addr(head as u32); } Ok(new_cursor) } } impl<'value> NP_Value<'value> for NP_Map<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_map = JSMAP::new(); let mut map_iter = NP_Map::new_iter(&cursor, memory); while let Some((key, item)) = NP_Map::step_iter(&mut map_iter, memory) { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &item, memory)); } NP_JSON::Dictionary(json_map) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(json_map) => { for js_item in json_map.values.iter() { match NP_Map::select(cursor, &js_item.0, true, false, memory)? { Some(value) => { NP_Cursor::set_from_json(depth + 1, apply_null, value, memory, &Box::new(js_item.1.clone()))?; }, None => { } } } }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let value_of = data.child; schema_json.insert("value".to_owned(), NP_Schema::_type_to_json(schema, value_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut map_iter = Self::new_iter(&cursor, memory); while let Some((_index, item)) = Self::step_iter(&mut map_iter, memory) { let key_size = item.get_value(memory).get_key_size(memory); acc_size += 1; // length byte acc_size += key_size; acc_size += NP_Cursor::calc_size(depth + 1, &item, memory)?; } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let mut map_iter = Self::new_iter(&from_cursor, from_memory); while let Some((key, item)) = Self::step_iter(&mut map_iter, from_memory) { let new_item = Self::insert(&to_cursor, to_memory, key)?; NP_Cursor::compact(depth + 1, item.clone(), from_memory, new_item, to_memory)?; } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("map({value: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8) }); let mut value_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "value" { value_jst = Some(value); } } }, _ => { } } }; if let Some(x) = value_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_data.extend(child_bytes); Ok((false, schema_data, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8), sortable: false }); match json_schema["value"] { NP_JSON::Null => { return Err(NP_Error::new("Maps require a 'value' property that is a schema type!")) }, _ => { } } let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["value"].clone()))?; schema_data.extend(child_bytes); return Ok((false, schema_data, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let of_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: of_addr + 1 })) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"map({value: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction works let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; buffer.set(&["name2"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.set_with_json(&[], r#"{"value": {"foo": "bar", "foo2": "bar2"}}"#)?; assert_eq!(buffer.get::<&str>(&["foo"])?, Some("bar")); assert_eq!(buffer.get::<&str>(&["foo2"])?, Some("bar2")); Ok(()) } ================================================ FILE: no_proto_rs_old/src/collection/mod.rs ================================================ //! Collections: NP_Struct, NP_Tuple, NP_List & NP_Map /// Struct data type pub mod struc; /// Map data type pub mod map; /// List data type pub mod list; /// Tuple data type pub mod tuple; ================================================ FILE: no_proto_rs_old/src/collection/struc.rs ================================================ use alloc::sync::Arc; use crate::{idl::AST_STR, schema::{NP_Struct_Data, NP_Struct_Field, NP_Value_Kind}}; use crate::{buffer::{VTABLE_BYTES, VTABLE_SIZE}, idl::{JS_AST, JS_Schema}}; use alloc::string::String; use crate::pointer::{NP_Vtable}; use crate::{pointer::{NP_Cursor}, schema::{NP_Parsed_Schema}}; use crate::{memory::{NP_Memory}, pointer::{NP_Value}, error::NP_Error, schema::{NP_Schema, NP_TypeKeys}, json_flex::{JSMAP, NP_JSON}}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; use core::{result::Result}; /// The data type for tables in NoProto buffers. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Struct<'table> { index: usize, v_table: Option<&'table mut NP_Vtable>, v_table_addr: usize, v_table_index: usize, table: NP_Cursor } #[allow(missing_docs)] impl<'table> NP_Struct<'table> { #[inline(always)] pub fn select(mut table_cursor: NP_Cursor, schema: &NP_Parsed_Schema, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Struct_Data) }; match data.fields.iter().position(|val| { val.col == key }) { Some(x) => { if schema_query { return Ok(Some(NP_Cursor::new(0, data.fields[x].schema, table_cursor.schema_addr))); } let v_table = x / VTABLE_SIZE; // which vtable let v_table_idx = x % VTABLE_SIZE; // which index on the selected vtable let mut table_value = table_cursor.get_value(memory); if table_value.get_addr_value() == 0 { if make_path { table_cursor = Self::make_first_vtable(table_cursor, memory)?; table_value = table_cursor.get_value(memory); } else { return Ok(None); } } let mut seek_vtable = 0usize; let mut vtable_address = table_value.get_addr_value() as usize; if v_table > 0 { let mut loop_max = 64usize; while seek_vtable < v_table && loop_max > 0 { let this_vtable = Self::get_vtable(vtable_address, memory); let next_vtable = this_vtable.get_next(); if next_vtable == 0 { if make_path == false { return Ok(None); } vtable_address = Self::make_next_vtable(this_vtable, memory)?; } else { vtable_address = next_vtable as usize; } seek_vtable += 1; loop_max -= 1; } } let item_address = vtable_address + (v_table_idx * 4); Ok(Some(NP_Cursor::new(item_address, data.fields[x].schema, table_cursor.schema_addr))) }, None => Ok(None) } } #[inline(always)] pub fn make_first_vtable<'make>(table_cursor: NP_Cursor, memory: &'make NP_Memory) -> Result { let first_vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; table_cursor.get_value_mut(memory).set_addr_value(first_vtable_addr as u32); Ok(table_cursor) } #[inline(always)] pub fn make_next_vtable<'make>(prev_vtable: &'make mut NP_Vtable, memory: &'make NP_Memory) -> Result { let vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; prev_vtable.set_next(vtable_addr as u32); Ok(vtable_addr) } #[inline(always)] pub fn new_iter(cursor: &NP_Cursor, memory: &'table NP_Memory) -> Self { let table_value = cursor.get_value(memory); let addr_value = table_value.get_addr_value() as usize; Self { table: cursor.clone(), v_table: if addr_value == 0 { None } else { Some(Self::get_vtable(addr_value, memory)) }, v_table_addr: addr_value, v_table_index: 0, index: 0, } } #[inline(always)] pub fn get_vtable<'vtable>(v_table_addr: usize, memory: &'vtable NP_Memory) -> &'vtable mut NP_Vtable { if v_table_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Vtable) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(v_table_addr) as *mut NP_Vtable) } } } #[inline(always)] pub fn step_iter(&mut self, memory: &'table NP_Memory) -> Option<(usize, &'table str, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Struct_Data) }; if data.fields.len() <= self.index { return None; } let v_table = self.index / VTABLE_SIZE; // which vtable let v_table_idx = self.index % VTABLE_SIZE; // which index on the selected vtable if self.v_table_index > v_table { self.v_table_index = v_table; match &self.v_table { Some(vtable) => { let next_vtable = vtable.get_next() as usize; if next_vtable > 0 { self.v_table = Some(Self::get_vtable(next_vtable, memory)); self.v_table_addr = next_vtable; } else { self.v_table = None; self.v_table_addr = 0; } }, _ => {} } } let this_index = self.index; self.index += 1; if self.v_table_addr != 0 { let item_address = self.v_table_addr + (v_table_idx * 4); Some((this_index, data.fields[this_index].col.as_str(), Some(NP_Cursor::new(item_address, data.fields[this_index].schema, self.table.schema_addr)))) } else { Some((this_index, data.fields[this_index].col.as_str(), None)) } } } impl<'value> NP_Value<'value> for NP_Struct<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_map = JSMAP::new(); let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, key, item)) = struc.step_iter(memory) { if let Some(real) = item { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &real, memory)); } else { json_map.insert(String::from(key), NP_JSON::Null); } } NP_JSON::Dictionary(json_map) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Struct_Data) }; for col in data.fields.iter() { let json_col = &value[col.col.as_str()]; match json_col { NP_JSON::Null => { if apply_null { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, false, false, memory)? { Some(x) => { NP_Cursor::delete(x, memory)?; }, None => { } } } }, _ => { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(json_col.clone()))?; }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } } } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let fields_count = bytes[address + 1]; let mut parsed_fields: Vec = Vec::new(); let table_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut schema_parsed = schema; let mut offset = address + 2; let mut hash_map = Vec::new(); for x in 0..fields_count as usize { let col_name_len = bytes[offset] as usize; let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; offset += 1 + col_name_len; let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let field_addr = schema_parsed.len(); let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); schema_parsed = schema; // parsed_fields.push((x as u8, col_name.to_string(), field_addr)); parsed_fields.push(NP_Struct_Field { idx: x as u8, col: col_name.to_string(), schema: field_addr, offset: 0}); // hash_map.insert(col_name, x).unwrap_or_default(); hash_map.push(col_name.to_string()); offset += schema_size + 2; } // hash_map.sort_by(|a, b| a.0.partial_cmp(&b.0).unwrap()); schema_parsed[table_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: parsed_fields, empty: Vec::new() })) as *const u8) }; (false, schema_parsed) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let fields: Vec = data.fields.iter().map(|field| { let mut cols: Vec = Vec::new(); cols.push(NP_JSON::String(field.col.to_string())); cols.push(NP_Schema::_type_to_json(&schema, field.schema).unwrap_or(NP_JSON::Null)); NP_JSON::Array(cols) }).collect(); schema_json.insert("fields".to_owned(), NP_JSON::Array(fields)); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut nex_vtable = c_value().get_addr_value() as usize; let mut loop_max = 65usize; while nex_vtable > 0 && loop_max > 0 { acc_size += 20; let vtable = Self::get_vtable(nex_vtable, memory); nex_vtable = vtable.get_next() as usize; loop_max -= 1; } let mut struc = Self::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(real) = item { let add_size = NP_Cursor::calc_size(depth + 1, &real, memory)?; if add_size > 4 { // scalar cursor is part of vtable acc_size += add_size - 4; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } to_cursor = Self::make_first_vtable(to_cursor, to_memory)?; let to_cursor_value = to_cursor.get_value(to_memory); let mut last_real_vtable = to_cursor_value.get_addr_value() as usize; let mut last_vtable_idx = 0usize; let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Struct_Data) }; let col_schemas = &data.fields; let mut struc = Self::new_iter(&from_cursor, from_memory); while let Some((idx, _key, item)) = struc.step_iter(from_memory) { if let Some(real) = item { let v_table = idx / VTABLE_SIZE; // which vtable let v_table_idx = idx % VTABLE_SIZE; // which index on the selected vtable if last_vtable_idx < v_table { let vtable_data = Self::get_vtable(last_real_vtable, to_memory); last_real_vtable = Self::make_next_vtable(vtable_data, to_memory)?; last_vtable_idx += 1; } let item_addr = last_real_vtable + (v_table_idx * 4); NP_Cursor::compact(depth + 1, real.clone(), from_memory, NP_Cursor::new(item_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let mut result = String::from("struct({fields: {"); let last_index = data.fields.len() - 1; for (idx, field) in data.fields.iter().enumerate() { result.push_str(field.col.as_str()); result.push_str(": "); result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("}})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let mut idl_fields: Option<&Vec<(AST_STR, JS_AST)>> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "fields" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, "columns" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(ast_fields) = idl_fields { let mut x: u8 = 0; for col in ast_fields { let field_name = idl.get_str(&col.0).trim(); if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, String::from(field_name), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: String::from(field_name), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_idl(schema_parsed, idl, &col.1)?; schema_parsed = schema_p; field_data.push((String::from(field_name), field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } Ok((false, schema_bytes, schema_parsed)) } else { Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let json_fields = if let NP_JSON::Array(fields) = &json_schema["fields"] { fields } else if let NP_JSON::Array(fields) = &json_schema["columns"] { fields } else { return Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) }; let mut x: u8 = 0; for col in json_fields { let field_name = match &col[0] { NP_JSON::String(x) => x.clone(), _ => "".to_owned() }; if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, field_name.clone(), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: field_name.clone(), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; schema_parsed = schema_p; field_data.push((field_name, field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } return Ok((false, schema_bytes, schema_parsed)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"struct({fields: {age: u8(), tags: list({of: string()}), name: string({size: 10})}})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["tags",{"type":"list","of":{"type":"string"}}],["name",{"type":"string","size":10}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["name",{"type":"string"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.after_compaction, 35usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // good values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&crate::np_path!("name"), "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); // println!("{:?}", buffer.read_bytes()); // let packed = factory.pack_buffer(buffer); // println!("{:?}", packed.schema.to_json()?.stringify().len()); // println!("{:?}", packed.export_schema_bytes().len()); // let closed = packed.close_packed(); // let opened = NP_Packed_Buffer::open(closed)?; // println!("{:?}", opened.get::<&str>(&["name"])?); Ok(()) } #[test] fn test_vtables() -> Result<(), NP_Error> { let factory = crate::NP_Factory::new(r#" struct({fields: { age: u8(), name: string(), color: string(), car: string(), rating: u8() }}) "#)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); // buffer.set(&["age"], 20u8)?; // buffer.set(&["name"], "hello")?; // buffer.set(&["color"], "blue")?; // buffer.set(&["car"], "Chevy")?; // buffer.set(&["rating"], 98u8)?; // let mut new_buffer = factory.open_buffer(buffer.finish().bytes()); // assert_eq!(new_buffer.get::(&["age"])?.unwrap(), 20u8); // assert_eq!(new_buffer.get::<&str>(&["name"])?.unwrap(), "hello"); // assert_eq!(new_buffer.get::<&str>(&["color"])?.unwrap(), "blue"); // assert_eq!(new_buffer.get::<&str>(&["car"])?.unwrap(), "Chevy"); // assert_eq!(new_buffer.get::(&["rating"])?.unwrap(), 98u8); buffer.set_with_json(&[], r#"{"value": { "age": 50, "name": "Jimmy", "color": "orange", "car": "Audi", "rating": 20 }}"#)?; assert_eq!(buffer.get::(&["age"])?.unwrap(), 50u8); assert_eq!(buffer.get::<&str>(&["name"])?.unwrap(), "Jimmy"); assert_eq!(buffer.get::<&str>(&["color"])?.unwrap(), "orange"); assert_eq!(buffer.get::<&str>(&["car"])?.unwrap(), "Audi"); assert_eq!(buffer.get::(&["rating"])?.unwrap(), 20u8); Ok(()) } ================================================ FILE: no_proto_rs_old/src/collection/tuple.rs ================================================ use crate::{idl::JS_AST, pointer::NP_Cursor_Parent, schema::{NP_Tuple_Data, NP_Tuple_Field, NP_Value_Kind}}; use alloc::{string::String, sync::Arc}; use crate::{idl::JS_Schema}; use crate::{json_flex::JSMAP, pointer::{NP_Cursor}}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::borrow::ToOwned; use alloc::{boxed::Box}; use alloc::string::ToString; /// Tuple data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Tuple { index: usize, table: NP_Cursor } #[allow(missing_docs)] impl NP_Tuple { #[inline(always)] pub fn select(mut tuple_cursor: NP_Cursor, schema: &NP_Parsed_Schema, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { // pub fn select(mut tuple_cursor: NP_Cursor, empty: &Vec, values: &Vec, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Tuple_Data) }; if index >= data.values.len() { return Ok(None) } if schema_query { return Ok(Some(NP_Cursor::new(0, data.values[index].schema, tuple_cursor.schema_addr))); } let value_schema_data = data.values[index].schema; let mut tuple = tuple_cursor.get_value(memory); if tuple.get_addr_value() == 0 { if make_path { tuple_cursor = Self::alloc_tuple(tuple_cursor, &data.empty, memory)?; tuple = tuple_cursor.get_value(memory); } else { return Ok(None); } } let item_address = tuple.get_addr_value() as usize + data.values[index].offset; let mut cursor = NP_Cursor::new(item_address, value_schema_data, tuple_cursor.schema_addr); cursor.parent_type = NP_Cursor_Parent::Tuple; if data.values[index].fixed { cursor.value_bytes = Some((item_address as u32).to_be_bytes()); } if memory.read_bytes()[item_address - 1] == 0 && make_path == false { Ok(None) } else { Ok(Some(cursor)) } } #[inline(always)] pub fn alloc_tuple<'make>(tuple_cursor: NP_Cursor, empty: &Vec, memory: &'make NP_Memory) -> Result { let new_addr = memory.malloc_borrow(empty)?; tuple_cursor.get_value_mut(memory).set_addr_value(new_addr as u32); Ok(tuple_cursor) } pub fn new_iter(cursor: &NP_Cursor, _memory: &NP_Memory) -> Self { Self { table: cursor.clone(), index: 0, } } pub fn step_iter(&mut self, memory: &NP_Memory, show_empty: bool) -> Option<(usize, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Tuple_Data) }; if data.values.len() <= self.index { return None; } let this_index = self.index; self.index += 1; let next_cursor = Self::select(self.table, memory.get_schema(self.table.schema_addr), this_index, true, false, memory); match next_cursor { Ok(next) => { match next { Some(cursor) => { if memory.read_bytes()[cursor.buff_addr - 1] == 0 && show_empty { Some((this_index, None)) } else { Some((this_index, Some(cursor))) } }, None => None } }, Err(_e) => { None } } } } impl<'value> NP_Value<'value> for NP_Tuple { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_list = Vec::new(); let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_idx, item)) = tuple.step_iter(memory, false) { if let Some(x) = item { json_list.push(NP_Cursor::json_encode(depth + 1, &x, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let schema_state: (bool, Vec) = (schema[address].sortable, data.values.iter().map(|column| { NP_Schema::_type_to_json(schema, column.schema).unwrap_or(NP_JSON::Null) }).collect()); schema_json.insert("values".to_owned(), NP_JSON::Array(schema_state.1)); if schema_state.0 { schema_json.insert("sorted".to_owned(), NP_JSON::True); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, tuple_item) in list.iter().enumerate() { match NP_Tuple::select(cursor, memory.get_schema(cursor.schema_addr), idx, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(tuple_item.clone()))?; }, None => { return Err(NP_Error::new("Failed to find column value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut tuple = Self::new_iter(&cursor, memory); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Tuple_Data) }; while let Some((index, item)) = tuple.step_iter(memory, false) { if let Some(cursor) = item { acc_size += 1; let schema_value = &data.values[index]; if schema_value.fixed { acc_size += schema_value.size; } else { acc_size += NP_Cursor::calc_size(depth + 1, &cursor, memory)?; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Tuple_Data) }; let (col_schemas, _empty) = (&data.values, &data.empty); to_cursor = Self::alloc_tuple(to_cursor, &data.empty, to_memory)?; let mut tuple = Self::new_iter(&from_cursor, from_memory); while let Some((idx, item)) = tuple.step_iter(from_memory, false) { if let Some(old_cursor) = item { to_memory.write_bytes()[old_cursor.buff_addr - 1] = 1; NP_Cursor::compact(depth + 1, old_cursor.clone(), from_memory, NP_Cursor::new(old_cursor.buff_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let mut result = String::from("tuple({values: ["); let last_index = data.values.len() - 1; for (idx, field) in data.values.iter().enumerate() { result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("]"); if schema[address].sortable == true { result.push_str(", sorted: true"); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; let mut tuple_values: Option<&Vec> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "sorted" => { sorted = true; }, "values" => { match value { JS_AST::array { values } => { tuple_values = Some(values); }, _ => { } } }, _ => { } } } }, _ => { } } } if sorted { schema_data.push(1); } else { schema_data.push(0); } if let Some(tuple_vals) = tuple_values { let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; for col in tuple_vals { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_idl(working_schema, idl, &col)?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } Ok((sorted, schema_data, working_schema)) } else { Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; match json_schema["sorted"] { NP_JSON::True => { sorted = true; schema_data.push(1); }, _ => { schema_data.push(0); } } let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; match &json_schema["values"] { NP_JSON::Array(cols) => { for col in cols { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_json(working_schema, &Box::new(col.clone()))?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 4; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } }, _ => { return Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } return Ok((sorted, schema_data, working_schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let is_sorted = bytes[address + 1]; let column_len = bytes[address + 2]; let mut working_schema = schema; let tuple_schema_addr = working_schema.len(); working_schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut offset = address + 3; let mut data_offset = 1usize; for _x in 0..column_len as usize { let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let schema_len = working_schema.len(); let (_sortable, schema) = NP_Schema::from_bytes(working_schema, offset + 2, bytes); match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; offset += schema_size + 2; } working_schema[tuple_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; (is_sorted != 0, working_schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "tuple({values: [string(), uuid(), u8()]})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "tuple({values: [string({size: 10}), uuid(), u8()], sorted: true})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\"},{\"type\":\"uuid\"},{\"type\":\"uint8\"}]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\",\"size\":10},{\"type\":\"uuid\"},{\"type\":\"uint8\"}],\"sorted\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string"},{"type":"uuid"},{"type":"uint8"}]}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["0"], "hello")?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); buffer.set_with_json(&[], r#"{"value": ["bar", "1ED3C129-2943-4CCE-8904-53C0487FF18E", 50]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("bar")); assert_eq!(buffer.get::(&["1"])?, Some(crate::pointer::uuid::NP_UUID::from_string("1ED3C129-2943-4CCE-8904-53C0487FF18E"))); assert_eq!(buffer.get::(&["2"])?, Some(50u8)); Ok(()) } #[test] fn sorting_tuples_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string","size":10},{"type":"uuid"},{"type":"uint8"}],"sorted":true}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set_min(&[])?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]); buffer.set(&["0"], "hello")?; let uuid = crate::pointer::uuid::NP_UUID::generate(22); buffer.set(&["1"], &uuid)?; buffer.set(&["2"], 20u8)?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 104, 101, 108, 108, 111, 32, 32, 32, 32, 32, 1, 76, 230, 170, 176, 120, 208, 69, 186, 109, 122, 100, 179, 210, 224, 68, 195, 1, 20]); Ok(()) } ================================================ FILE: no_proto_rs_old/src/error.rs ================================================ //! Primary error type used by the library use alloc::string::FromUtf8Error; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; /// The error type used for errors in this library #[derive(Debug)] pub enum NP_Error { /// Read only error MemoryReadOnly, /// Use this instead of unreachable! which causes panic Unreachable, /// Not Enough Space MemoryOutOfSpace, /// Too many recursive calls RecursionLimit, /// Custom error message Custom { /// Error message message: String } } impl NP_Error { /// Generate a new error with a specific message pub fn new>(message: S) -> Self { NP_Error::Custom { message: message.as_ref().to_owned() } } /// Convert an option to an error type pub fn unwrap(value: Option) -> Result { match value { Some(x) => Ok(x), None => Err(NP_Error::new("Missing Value in option!")) } } } impl From for NP_Error { fn from(err: FromUtf8Error) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseFloatError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseIntError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } ================================================ FILE: no_proto_rs_old/src/format.rs ================================================ //! # NoProto Data Format Documentaion //! //! NoProto buffers are built out of pointers and data. //! //! They are designed to hold a variable amount of data that is parsed based on a schema provided by the client. //! //! //! ## Pointers //! //! Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers. //! //! There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer. //! //! | Pointer Kind | u32 size (bytes) | //! |--------------|------------------| //! | Standard | 4 | //! | Map Item | 12 | //! | List Item | 10 | //! //! //! The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a "1", non packed buffers start with a "0". //! //! The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer. //! //! Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else. //! //! For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: "string"}`. //! //! ```text //! [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111] //! [ root pointer, string length, h, e, l, l, o] //! ``` //! //! It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root. //! //! Let's look at the different pointer types you will encounter in a buffer. //! //! ### Standard Pointer //! This is used for any scalar or collection data types. The standard pointer is just a single u32. //! //! ### Map Item Pointer //! //! Used by items in a map object. Contains the following: //! ```text //! | address of data | next map item pointer address | address of bytes for this key | //! | u32 | u32 | u32 | //! ``` //! //! Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data. //! //! The last map item pointer in a map should have a zero in the next item address for no further map items. //! //! The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key. //! //! //! ### List Item Pointer //! //! Used by items in a list object. Contains the following: //! ```text //! | address of data | next list item pointer address | item index | //! | u32 | u32 | u16 | //! ``` //! //! Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence. //! //! You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order. //! //! There should be list item pointers only for indexes that have data in the list. //! //! The last list item pointer in a list should have a zero in the next item address for no further list items. //! //! //! ## Data //! //! Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated. //! //! When a pointer's address "points" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below. //! //! Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema. //! //! //! ### Struct (Collection) //! //! The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains: //! - 4 address (u32) pointers for the field values //! - a trailing address(u32) of the next vtable (should be zero if no more vtables) //! //! Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5` //! //! Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer. //! //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "struct", //! "fields": [ //! ["age", {"type": "u8"}] //! ] //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], new_buffer.finish().bytes()); //! //! // [0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20] //! // [ root ptr, vtable, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! The list type stores two addresses (u32), one to the first `ListItem` pointer (head) and one to the last `ListItem` pointer (tail). //! //! If there is only one list item pointer in the list, the head and tail addresses should be identical. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["4"], 20u8)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20] //! // [ root ptr, head, tail, list item ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! The map type stores a single address (u32) to the first `MapItem` pointer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20] //! // [ root ptr, map item ptr, a, g, e, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! Tuples are stored by packing the types next to eachother. //! //! Before each type is a byte that is either 1 or 0. It should be zero if the value has not been set, otherwise it should be one. //! //! If a child type is flexible in size, a pointer address is put in the tuple. //! If a child type is fixed in size, it is placed inline in the tuple. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"}, //! {"type": "u32"} //! ] //! }"#)?; //! //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["0"], 20u8)?; //! new_buffer.set(&["1"], "hello")?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111], new_buffer.finish().bytes()); //! //! // [0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111] //! // [ root ptr, u8, str ptr, u32, h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### int8, int16, int32, int64 (Scalar) //! //! Signed integers should be converted to unsigned values, then saved in big endian format. //! //! The size of the integer should determine how many bytes are used. For example, i8 is 1 byte, i16 is 2 bytes, etc. //! //! For example, an i8 of value -20 should be converted to 108, then saved as 108. //! //! When it's requested by the client, it should be converted back to signed before being passed to the client. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], -2023830i32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 127, 225, 30, 106], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 127, 225, 30, 106] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### uint8, uint16, uint32, uint64 (Scalar) //! //! Unsigned integers should be converted to big endian format, then saved to the buffer. //! //! The size of the integer should determine how many bytes are used. For example, u8 is 1 byte, u32 is 2 bytes, etc. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "u32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 28378u32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 110, 218], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 110, 218] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### float, double (Scalar) //! //! Floating point vales should be converted to big endian format, then saved to the buffer. //! //! The size of the floating point value should determine how many bytes are used. `float` is `f32` (4 bytes) and `double` is `f64` (8 bytes) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "f32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 2.389988f32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 64, 24, 245, 144], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 64, 24, 245, 144] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option values are stored as a single `u8` value. The value should represent the zero based location in the choice set. //! //! For example if the schema has `choices: ["red", "blue", "yellow"]` and the user selects `yellow`, this value should be `2`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Enum::new("red"))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 2], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 2] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bool (Scalar) //! //! A single `u8` byte. `1` for `true`, `0` for `false`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], true)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 1], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 1] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Stored the same as an i64 value (including converting to unsigned format described above). //! //! The `i64` number should be devided by `10 ^ exp` to get the true value. The `exp` value is provided in the schema. //! //! For example, if you pull a `293` i64 value from the buffer and the `exp` value in the schema is `2`, the value is actually `293 / 100` or 2.93. //! //! You should avoid converting the number to floating point values except for display purposes. Study the source code for the `NP_Dec` type to see how to preserve the internal i64 value correctly. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Dec::new(200, 0))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! Each geo size uses two signed integers right next to eachother in the buffer. i16/i16 for geo4, i32/i32 for geo8 and i64/i64 for geo16 //! //! The two signed integers are converted to unsigned values before being saved into big endian format. //! //! Depending on the size, the floating point value of each geographic coordinate is multiplied by a specific value before being saved as an integer. //! //! | Size | Bytes | Factor | //! |------|------------|------------| //! | 4 | i16 \| i16 | 100 | //! | 8 | i32 \| i32 | 10000000 | //! | 16 | i64 \| i64 | 1000000000 | //! //! For example, if a user provides these coordinates: 41.303921, -81.901693 //! //! To save into buffer:
//!
//! geo4:
//! 1 - Multiply by 100: (4130.3921, -8190.1693)
//! 2 - Make i16 (4130, -8190)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo8:
//! 1 - Multiply by 10000000: (413039210, -819016930)
//! 2 - Make i32 (413039210, -819016930)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo16: .... //! //! This process is reversed when the client requests the geo data from the buffer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Geo::new(8, 41.303921, -81.901693))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30] //! // [ root ptr, latitude, longitude] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### ulid, uuid (Scalar) //! //! Saved as 16 bytes following the respective formats for each data type. //! //! ULIDs store the date in the first 6 bytes, then the random bytes in the last 10. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "uuid" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! let uuid = NP_UUID::generate(32); //! new_buffer.set(&[], &uuid)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252] //! // [ root ptr, UUID ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! If there is a `size` property in the schema, store the provided data and pad the remainder of the space with zeros (for bytes) or 32 (for strings). //! //! If the provided data is too large, truncate it. //! //! For example, if the user provideds a single byte `[22]` and the size is `3`, this should be in the buffer: //! ```text //! [22, 0, 0] //! ``` //! //! If there is no fixed `size` in the schema, store a size (u32) followed by the actual data. //! //! If it's a string, the data should be utf-8 encoded when it's saved into the buffer and utf-8 decoded when it's retrieved. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], "hello, world!")?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33] //! // [ root ptr, length, h, e, l, l, o, ,, , w, o, r, l, d, !] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! This is stored the same as a uint64 value, should be unix timestamp in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Date::new(1598490738507))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75] //! // [ root ptr, timestamp ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! # NoProto Schema Format Documentation //! //! NoProto JSON schemas are compiled into a byte array as part of the parsing process. //! //! The compiled byte array is a significantly more compact and efficient way to store the schema. It also takes almost no time to parse a byte schema, where parsing a JSON schema can be a comparitively expensive operation. //! //! You can use the runtime to parse JSON schemas into byte array schemas at any time, and the JSON/byte array schemas can be used interchangebly. //! //! The byte array schema store default values and all other supported schema properties. //! //! Schema data is stored in a recursive format, each nested schema contains at least one byte that describes the data type. The single data type byte is usually but not always followed by schema data specific to that data type. The document below describes all of the data types and their specifics. //! //! //! ### int8, int16, int32, int64, uint8, uint16, uint32, uint64, float, double (Scalar) //! //! Integer values store the data type followed by wether there is a default value or not, followed optionally by the default value //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32", //! "default": 56 //! }"#)?; //! //! assert_eq!(&[6, 1, 0, 0, 0, 56], factory.export_schema_bytes()); //! //! // [ 6, 1, 0, 0, 0, 56] //! // [i32 type, has default, default value] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32" //! }"#)?; //! //! assert_eq!(&[6, 0], factory.export_schema_bytes()); //! //! // [ 6, 0] //! // [i32 type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option types will store the list of options and the index of the default value, if there is one. //! //! The second byte is `0` if there is no default, otherwise it contains the default index + 1. //! //! The third byte contains a `u8` that is the number of options available. //! //! The remaining bytes go on a loop for each option, with each loop containing 1 u8 byte at the begining describing the length of the string option, followed by the string value itself. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"], //! "default": "red" //! }"#)?; //! //! assert_eq!(&[20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes()); //! //! // [ 20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, 1 based index of default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! assert_eq!(&[20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes()); //! //! // [ 20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, no default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### bool (Scalar) //! //! The second byte of a bool schema is used to store the default value. //! //! If there is no default value, the second byte is 0.
//! If the default is true, the second byte is 1.
//! If the default is false, the second byte is 2.
//! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool", //! "default": true //! }"#)?; //! //! assert_eq!(&[15, 1], factory.export_schema_bytes()); //! //! // [ 15, 1] //! // [data type, default is true] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool", //! "default": false //! }"#)?; //! //! assert_eq!(&[15, 2], factory.export_schema_bytes()); //! //! // [ 15, 2] //! // [data type, default is false] //! //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool" //! }"#)?; //! //! assert_eq!(&[15, 0], factory.export_schema_bytes()); //! //! // [ 15, 0] //! // [data type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Decimal stores the expontent in the second byte. //! //! The third byte is 0 if there is no default value, otherwise it is 1. //! //! If there is a default value, multiply the default value by (10^exp) and convert it into an i64, then save it in the bytes following the default flag byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! assert_eq!(&[14, 2, 0], factory.export_schema_bytes()); //! //! // [ 14, 2, 0] //! // [data type, expontent, no default value] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2, //! "default": 521.32 //! }"#)?; //! //! assert_eq!(&[14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164], factory.export_schema_bytes()); //! //! // [ 14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164] //! // [data type, expontent, has default value, default value] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! //! Geo stores the size of the data type in the second byte. //! The third byte is 0 if there is no default, and 1 if there is a default. //! The remaining bytes are the default value (if there is one) parsed in the specific size designated in the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8" //! }"#)?; //! //! assert_eq!(&[16, 8, 0], factory.export_schema_bytes()); //! //! // [ 16, 8, 0] //! // [data type, geo size (4/8/16), no default value] //! //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8", //! "default": {"lat": 29.2, "lng": -19.2} //! }"#)?; //! //! assert_eq!(&[16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0], factory.export_schema_bytes()); //! //! // [ 16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0] //! // [data type, geo size (4/8/16), has default value, geo8 value (lat/lng) ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### ulid, uuid (Scalar) //! //! UUID and ULID do not have default options, so this data type is very simple. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "uuid" //! }"#)?; //! //! assert_eq!(&[17], factory.export_schema_bytes()); //! //! // [ 17] //! // [data type] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! The second and third bytes are a u32 of the fixed size. If there is no fixed size, these two bytes are zero. //! //! Thhe length of the default value follows as a u32, if there is no default value the u32 is zero. If there is a default value, it follows the length bytes. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string", //! "size": 20 //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 0], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 20, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string", //! "size": 20, //! "default": "hello" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16), h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! //! The second byte is a 1 if there is a default value, 0 otherwise. //! //! If there is a default value it follows the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date" //! }"#)?; //! //! assert_eq!(&[19, 0], factory.export_schema_bytes()); //! //! // [ 19, 0] //! // [data type, default flag ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date", //! "default": 1604862252 //! }"#)?; //! //! assert_eq!(&[19, 1, 0, 0, 0, 0, 95, 168, 65, 44], factory.export_schema_bytes()); //! //! // [ 19, 1, 0, 0, 0, 0, 95, 168, 65, 44] //! // [data type, default flag, default value ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Collection Schemas //! //! Collection based schemas nest schemas in a way that allows any type to be the child of any collection, including other collections. //! //! ### Struct (collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "struct", //! "fields": [ //! ["age", {"type": "u8"}], //! ["name", {"type": "string"}] //! ] //! }"#)?; //! //! //! assert_eq!(&[21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, # of fields, a, g, e, field schema size (u32), field schema, n, a, m, e, field schema size (u32), field schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[23, 8, 0], factory.export_schema_bytes()); //! //! // [ 23, 8, 0] //! // [data type, "of" schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[22, 8, 0], factory.export_schema_bytes()); //! //! // [ 22, 8, 0] //! // [data type, value schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"} //! ] //! }"#)?; //! //! assert_eq!(&[24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [ 24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, sorted, length (u8), schema size (u16), schema, schema size (u16), schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Portal (Collection/Scalar) //! //! ### Union (Collection/Scalar) //! //! ================================================ FILE: no_proto_rs_old/src/hashmap.rs ================================================ use alloc::string::String; use alloc::vec::Vec; use crate::error::NP_Error; pub static SEED: u32 = 2181155409; #[derive(Debug, Clone)] pub struct NP_HashMap { data: Vec> } const HASH_SIZE: usize = 4096; impl NP_HashMap { pub fn empty() -> Self { Self { data: Vec::with_capacity(1) } } pub fn new() -> Self { let mut vector = Vec::with_capacity(HASH_SIZE); vector.extend((0..HASH_SIZE).map(|_| Vec::with_capacity(4))); Self { data: vector } } pub fn insert(&mut self, key: &str, value: V) -> Result<(), NP_Error> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; if self.data[bucket].len() == 0 { self.data[bucket].push((hash, value)); } else { for (k, v) in self.data[bucket].iter_mut() { if *k == hash { *v = value; return Ok(()) } } self.data[bucket].push((hash, value)); } Ok(()) } pub fn get(&self, key: &str) -> Option<&V> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get(bucket) { Some(x) => { let len = x.len(); if len == 0 { return None; } if len == 1 { if x[0].0 == hash { return Some(&x[0].1); } else { return None; } } for (k, v) in x.iter() { if *k == hash { return Some(v) } } None }, None => None } } pub fn delete(&mut self, key: &str) { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get_mut(bucket) { Some(bucket) => { bucket.retain(|(k, _v)| *k != hash); }, _ => { } } } } // https://github.com/mhallin/murmurhash3-rs // // The MIT License (MIT) // // Copyright (c) 2015 Magnus Hallin // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. #[inline(always)] fn fmix32(mut h: u32) -> u32 { h ^= h >> 16; h = h.wrapping_mul(0x85ebca6b); h ^= h >> 13; h = h.wrapping_mul(0xc2b2ae35); h ^= h >> 16; return h; } #[inline(always)] fn get_32_block(bytes: &[u8], index: usize) -> u32 { let real_index = index.wrapping_mul(4); let u32_bytes = &bytes[real_index..(real_index + 4)]; return unsafe { let bytes = *(u32_bytes as *const [u8] as *const [u8; 4]); core::mem::transmute(bytes) } } #[inline(always)] pub fn murmurhash3_x86_32(bytes: &[u8], seed: u32) -> u32 { let c1 = 0xcc9e2d51u32; let c2 = 0x1b873593u32; let read_size = 4; let len = bytes.len() as u32; let block_count = len / read_size; let mut h1 = seed; for i in 0..block_count as usize { let mut k1 = get_32_block(bytes, i); k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; h1 = h1.rotate_left(13); h1 = h1.wrapping_mul(5); h1 = h1.wrapping_add(0xe6546b64) } let mut k1 = 0u32; if len & 3 == 3 { k1 ^= (bytes[(block_count * read_size) as usize + 2] as u32) << 16; } if len & 3 >= 2 { k1 ^= (bytes[(block_count * read_size) as usize + 1] as u32) << 8; } if len & 3 >= 1 { k1 ^= bytes[(block_count * read_size) as usize + 0] as u32; k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; } h1 ^= bytes.len() as u32; h1 = fmix32(h1); return h1; } ================================================ FILE: no_proto_rs_old/src/idl.rs ================================================ //! ES6 IDL for Schemas //! //! Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs. //! use crate::error::NP_Error; use alloc::string::String; use alloc::vec::Vec; /// Parsed AST String #[derive(PartialEq, Clone, Copy, Debug)] pub struct AST_STR { start: usize, end: usize } /// AST object of es6 schema #[allow(missing_docs)] #[derive(Debug)] pub enum JS_AST { empty, method { name: AST_STR, args: Vec }, object { properties: Vec<(AST_STR, JS_AST)> }, bool { state: bool }, string { addr: AST_STR }, array { values: Vec }, number { addr: AST_STR }, closure { expressions: Vec } } #[allow(missing_docs)] #[derive(Debug)] /// Schema using ES6 syntax pub struct JS_Schema { value: String, pub ast: JS_AST } #[derive(PartialEq)] enum js_control { none, paran, curly, square, quote } impl JS_Schema { /// Parse a JS style schema into AST pub fn new(schema: String) -> Result { let mut no_comments: String = String::with_capacity(schema.len()); schema.trim().split("\n").for_each(|f| { let trimmed = f.trim(); if trimmed.len() > 0 { if let Some(idx) = trimmed.find("//") { if idx > 0 { no_comments.push_str(&trimmed[..idx]); } } else { no_comments.push_str(trimmed); }; } }); Ok(Self { ast: Self::parse(0, 0, no_comments.len(), &no_comments)?, value: no_comments, }) } /// Get a str value from the schema pub fn get_str(&self, addr: &AST_STR) -> &str { &self.value[addr.start..addr.end] } fn parse(depth: usize, start: usize, end: usize, schema: &str) -> Result { if start == end { return Err(NP_Error::new("empty request")); } if depth > 255 { return Err(NP_Error::RecursionLimit); } let mut control_char = js_control::none; let mut index = start; while control_char == js_control::none && index < end { match &schema[index..(index + 1)] { "[" => { control_char = js_control::square; }, "{" => { control_char = js_control::curly; }, "(" => { control_char = js_control::paran; }, "\"" => { control_char = js_control::quote; } _ => { } } index += 1; } static NESTING_DEFAULT: i16 = 0; let mut nesting = NESTING_DEFAULT; let mut closed = false; let mut moving_start = index; let mut escaped = false; let mut is_quoted = false; match control_char { js_control::none => { // number, bool or empty match schema[start..end].trim() { "true" => Ok(JS_AST::bool { state: true }), "false" => Ok(JS_AST::bool { state: false }), "" => Ok(JS_AST::empty), _ => Ok(JS_AST::number { addr: AST_STR { start, end }}) } }, js_control::square => { // array let mut arr: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { arr.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { if !is_quoted { escaped = false; nesting -= 1; } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { arr.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching square bracket for array! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::array { values: arr }) }, js_control::paran => { // function or closure if (index - 1) == start || schema[start..(index - 1)].trim().len() == 0 { // closure like (args) => { .. } // we never use the args, so they just get skipped over. let mut closed_first = false; while closed_first == false && index < end { match &schema[index..(index + 1)] { "{" => { closed_first = true }, _ => { } } index += 1; } if closed_first == false { let mut message = String::from("Missing closure open curly! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } moving_start = index; let mut expressions: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "(" => { if !is_quoted { escaped = false; nesting += 1; } }, ")" => { if !is_quoted { escaped = false; nesting -= 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { expressions.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, ";" => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { expressions.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching paran for function! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::closure { expressions }) } else { // function like some_name(...args) let fn_name = AST_STR { start, end: index - 1 }; let mut args: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "(" => { if !is_quoted { escaped = false; nesting += 1; } }, ")" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { args.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { if !is_quoted { escaped = false; nesting -= 1; } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { args.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching paran for function!\n"); message.push_str(&schema[start..usize::min(end, start + 10)]); message.push_str("\n"); message.push_str("^------\n"); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::method { name: fn_name, args }) } }, js_control::curly => { // object let mut obj: Vec<(AST_STR, JS_AST)> = Vec::new(); let mut key: Option = None; while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { ":" => { if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { key = Some(AST_STR { start: moving_start, end: index}); } moving_start = index + 1; } } }, "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if let Some(ast_key) = &key { if moving_start != index { obj.push((ast_key.clone(), Self::parse(depth + 1, moving_start, index, schema)?)); } moving_start = index + 1; key = Option::None; } else { let mut message = String::from("Missing property name in object! -> "); message.push_str(&schema[moving_start..usize::min(end, moving_start + 10)]); return Err(NP_Error::new(message.as_str())) } closed = true; } else { nesting -= 1; } } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if let Some(ast_key) = &key { obj.push((ast_key.clone(), Self::parse(depth + 1, moving_start, index, schema)?)); moving_start = index + 1; key = Option::None; } else { let mut message = String::from("Missing property name in object! -> "); message.push_str(&schema[moving_start..usize::min(end, moving_start + 10)]); return Err(NP_Error::new(message.as_str())) } } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching curly bracket for object! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::object{ properties: obj }) }, js_control::quote => { // string while closed == false && index < end { match &schema[index..(index + 1)] { "\\" => { escaped = true; }, "\"" => { if escaped == false { closed = true; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching qutoes for string! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::string{ addr: AST_STR { start: moving_start, end: index - 1} }) } } } } #[test] fn test() { println!("{:?}", JS_Schema::new(String::from("struct({fields:{key: string()}})"))); } ================================================ FILE: no_proto_rs_old/src/json_flex.rs ================================================ //! JSON Parser, serializer and deserializer //! //! This file is derived from the json_flex crate. //! //! [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex) //! //! Changes: //! - Library has been converted & stripped for no_std use //! - All `.unwrap()`s have been replaced with proper error handling //! - Several additions that were needed for NoProto //! - Some minor optimizations //! //! The MIT License (MIT) //! //! Copyright (c) 2015 nacika //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. use alloc::vec::Vec; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::string::ToString; use core::str::FromStr; use core::ops::Index; use crate::{error::NP_Error}; /// The JSON representation of a JS Map #[derive(Debug, Clone, PartialEq)] pub struct JSMAP { /// The vec of values in the map pub values: Vec<(String, NP_JSON)> } impl JSMAP { /// Generate a new empty map pub fn new() -> Self { JSMAP { values: Vec::new() } } /// Insert a value into the map pub fn insert(&mut self, key: String, value: NP_JSON) -> usize { for x in 0..self.values.len() { if self.values[x].0 == key { self.values[x] = (key, value); return x; } } self.values.push((key, value)); self.values.len() } /// Get a mutable reference to a value in the map pub fn get_mut(&mut self, key: &str) -> Option<&mut NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&mut self.values[x].1); } } None } /// Get an immutable reference to a value in the map pub fn get(&self, key: &str) -> Option<&NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&self.values[x].1); } } None } /// Check if a value exists in the map pub fn has(&self, key: &str) -> bool { for x in 0..self.values.len() { if self.values[x].0 == *key { return true; } } false } } /// Represents an JSON value #[derive(Debug, Clone, PartialEq)] pub enum NP_JSON { /// String JSON type String(String), /// Integer JSON type Integer(i64), /// Float JSON type Float(f64), /// Map JSON type Dictionary(JSMAP), /// List JSON type Array(Vec), /// NULL json type Null, /// boolean false type False, /// boolean true type True, } impl NP_JSON { /// copy this value and it's children pub fn clone(&self) -> NP_JSON { match self { NP_JSON::Dictionary(map) => { let mut new_map = JSMAP::new(); for item in &map.values { let cloned = { ( item.0.clone(), item.1.clone() ) }; new_map.values.push(cloned); } NP_JSON::Dictionary(new_map) }, NP_JSON::Array(list) => { let mut array = Vec::new(); for item in list { array.push(item.clone()); } NP_JSON::Array(array) }, NP_JSON::String(strng) => { NP_JSON::String(strng.clone()) }, NP_JSON::Integer(int) => { NP_JSON::Integer(*int) }, NP_JSON::Float(num) => { NP_JSON::Float(*num) }, NP_JSON::Null => { NP_JSON::Null }, NP_JSON::False => { NP_JSON::False }, NP_JSON::True => { NP_JSON::True }, } } /// Get this value as a string pub fn into_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get this value as an i64 pub fn into_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get this value as an f64 pub fn into_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get this value as a hashmap pub fn into_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get this value as a list pub fn into_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Check if this value is null pub fn is_null(&self) -> bool { match self { &NP_JSON::Null => true, _ => false, } } /// Check if this value is boolean true pub fn is_true(&self) -> bool { match self { &NP_JSON::True => true, _ => false, } } /// Check if this value is boolean false pub fn is_false(&self) -> bool { match self { &NP_JSON::False => true, _ => false, } } /// Check if this value is array pub fn is_array(&self) -> bool { match self { &NP_JSON::Array(_) => true, _ => false, } } /// Check if this value is map pub fn is_dictionary(&self) -> bool { match self { &NP_JSON::Dictionary(_) => true, _ => false, } } /// Check if this value is string pub fn is_string(&self) -> bool { match self { &NP_JSON::String(_) => true, _ => false, } } /// Check if this value is an integer pub fn is_integer(&self) -> bool { match self { &NP_JSON::Integer(_) => true, _ => false, } } /// Check if this value is float pub fn is_float(&self) -> bool { match self { &NP_JSON::Float(_) => true, _ => false, } } /// Get a reference to the string in this value if it's a string pub fn unwrap_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get a reference to the i64 in this value if it's a i64 pub fn unwrap_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get a reference to the f64 in this value if it's a f64 pub fn unwrap_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get a reference to the hashmap in this value if it's a hashmap pub fn unwrap_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get a reference to the list in this value if it's a list pub fn unwrap_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Stringify this JSON object and it's children pub fn stringify(&self) -> String { match self { &NP_JSON::String(ref v) => { let mut string: String = "\"".to_owned(); string.push_str(v.replace("\"", "\\\"").as_str()); string.push_str("\""); string }, &NP_JSON::Integer(ref v) => v.to_string(), &NP_JSON::Float(ref v) => v.to_string(), &NP_JSON::Dictionary(ref v) => { let mut string: String = "{".to_owned(); let mut is_first = true; for (k, v) in &v.values { if is_first { is_first = false; } else { string.push(','); } let mut substring = "\"".to_owned(); substring.push_str(k.replace("\"", "\\\"").as_str()); substring.push_str("\":"); string.push_str(substring.as_str()); string.push_str(&v.stringify()); } string.push_str("}"); string } &NP_JSON::Array(ref v) => { let mut string: String = "".to_owned(); let mut is_first = true; for i in v { if is_first { is_first = false; } else { string.push(','); } string.push_str(&i.stringify()); } let mut return_string = "[".to_owned(); return_string.push_str(string.as_str()); return_string.push_str("]"); return_string } &NP_JSON::Null => "null".to_owned(), &NP_JSON::False => "false".to_owned(), &NP_JSON::True => "true".to_owned(), } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: usize) -> &'a Self::Output { match self.into_vec() { Some(x) => { match x.get(id) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: String) -> &'a Self::Output { match self.into_hashmap() { Some(x) => { match x.get(id.as_str()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl<'a> Index<&'a str> for NP_JSON { type Output = NP_JSON; fn index<'b>(&'b self, id: &str) -> &'b Self::Output { match self.into_hashmap() { Some(x) => { match x.get(&id.to_owned()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } fn recursive(v: &mut NP_JSON, a_chain: Vec, d_chain: Vec, mut a_nest: i64, mut d_nest: i64, last_chain: char, last_c: char, func: fn(&mut NP_JSON, Option, Vec, Vec, i64, i64, char) -> Result<(), NP_Error> , value: Option, log: String) -> Result { let is_find = match *v { NP_JSON::Array(ref mut vvz) => { let i = *NP_Error::unwrap(a_chain.get(a_nest as usize))?; let is_find: bool = { let vvv = vvz.get_mut(i as usize); let is_find: bool = match vvv { Some(mut vvvv) => { a_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; a_nest -= 1; true } None => false, }; is_find }; if !is_find { } is_find } NP_JSON::Dictionary(ref mut vv) => { let o_key = d_chain.get(d_nest as usize); match o_key { Some(ref key) => { let vvv: Option<&mut NP_JSON> = vv.get_mut(*key); let is_find: bool = match vvv { Some(mut vvvv) => { d_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; d_nest -= 1; true } None => false, }; is_find } None => false, } } _ => true, }; if !is_find { func(v, value, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_c)?; } Ok(is_find) } /// Parse a JSON string into a JSON object in memory pub fn json_decode<'json>(text: String) -> Result, NP_Error> { let mut ret = Box::new(NP_JSON::Null); let mut pos: usize = 0; let mut chain: Vec = Vec::new(); let mut d_chain: Vec = Vec::new(); let mut a_chain: Vec = Vec::new(); let mut last_chain: char = ' '; let mut last_active_char: char = ' '; let mut key: String; let mut string: String = "".to_owned(); let mut num: String = "".to_owned(); let mut last_c: char = ' '; let mut s_true: String = "".to_owned(); let mut s_false: String = "".to_owned(); let mut s_null: String = "".to_owned(); let body: Vec = text.chars().collect(); let size = body.len(); let mut done = false; while !done { let c: char = body[pos]; match last_chain { 's' => { string.push(c); } 'w' => { string.push(c); } 'n' => { num.push(c); } 't' => { s_true.push(c); } 'f' => { s_false.push(c); } '0' => { s_null.push(c); } _ => {} }; match c { '[' => { match last_chain { 's' => {} 'w' => {} _ => { let a = 'a'; chain.push(a); last_chain = a; a_chain.push(0); let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Array(Vec::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Array(Vec::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Array(Vec::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } }; last_active_char = c.clone(); } ']' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_null = "".to_owned(); } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?; NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => vv.push( NP_JSON::Float(f64::from_str(&new_num.clone())?) ), None => vv.push( NP_JSON::Integer(i64::from_str(&new_num.clone())?) ), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } 'a' => { if last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } _ => return Err(NP_Error::new("JSON Parse Error: Unknown chain from Array")), } last_active_char = c.clone(); } '{' => { match last_chain { 's' => {} 'w' => {} 'v' => { let a = 'd'; chain.push(a); last_chain = a; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } _ => { let a = 'd'; chain.push(a); last_chain = a; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Dictionary(JSMAP::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } } last_active_char = c.clone(); } '}' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_true = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_false = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_null = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'n' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; value = value.trim().to_string(); match value.find('.') { Some(_) => vv.insert(key, NP_JSON::Float(f64::from_str(&value.clone())?)) , None => vv.insert(key, NP_JSON::Integer(i64::from_str(&value.clone())?)), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num.clone()), log)?; } num = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'v' => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } _ => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } } last_active_char = c.clone(); } ':' => { match last_chain { 's' => {} 'w' => {} 'd' => { let v = 'v'; chain.push(v); last_chain = v; key = string.clone(); NP_Error::unwrap(key.pop())?; d_chain.push(key.clone()); string = "".to_owned(); } _ => {} } last_active_char = c.clone(); } ',' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 't' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 'f' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == '0' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } NP_Error::unwrap(chain.pop())?; recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_null = "".to_owned(); } 'a' => { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); if last_active_char == '[' || last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.push(NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.push(NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.insert(key, NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.insert(key, NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } } 'v' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } _ => {} } last_active_char = c.clone(); } '"' => { match last_chain { 'w' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; string = "".to_owned(); } else if last_chain != 'd' { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { let w = 'w'; chain.push(w); last_chain = w; string = "".to_owned(); } } last_active_char = c.clone(); } '\'' => { match last_chain { 's' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; NP_Error::unwrap(d_chain.pop())?; string = "".to_owned(); } else { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { string = "".to_owned(); let s = 's'; chain.push(s); last_chain = s; } } last_active_char = c.clone(); } '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } '-' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } 't' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let t = 't'; chain.push(t); last_chain = t; s_true = "".to_owned(); s_true.push(c); } } last_active_char = c.clone(); } 'f' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let f = 'f'; chain.push(f); last_chain = f; s_false = "".to_owned(); s_false.push(c); } } last_active_char = c.clone(); } 'n' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let null = '0'; chain.push(null); last_chain = null; s_null = "".to_owned(); s_null.push(c); } } last_active_char = c.clone(); } '\n' => {} _ => {} }; pos += 1; if pos >= size { done = true; } last_c = c.clone(); } Ok(ret) } ================================================ FILE: no_proto_rs_old/src/lib.rs ================================================ #![warn(missing_docs)] #![allow(non_camel_case_types)] #![no_std] //! ## NoProto: Flexible, Fast & Compact Serialization with RPC //! //! //! //! [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) //! //! [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) //! [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) //! [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) //! [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) //! ### Features //! //! **Lightweight**
//! - Zero dependencies //! - `no_std` support, WASM ready //! - Most compact non compiling storage format //! //! **Stable**
//! - Safely accept untrusted buffers //! - Passes Miri compiler safety checks //! - Panic and unwrap free //! //! **Easy**
//! - Extensive Documentation & Testing //! - Full interop with JSON, Import and Export JSON values //! - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format //! //! **Fast**
//! - Zero copy deserialization //! - Most updates are append only //! - Deserialization is incrimental //! //! **Powerful**
//! - Native byte-wise sorting //! - Supports recursive data types //! - Supports most common native data types //! - Supports collections (list, map, struct & tuple) //! - Supports arbitrary nesting of collection types //! - Schemas support default values and non destructive updates //! - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). //! //! //! ### Why ANOTHER Serialization Format? //! 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats: //! //! **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema. //! //! **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. //! //! NoProto takes the performance advantages of compiled formats and implements them in a flexible format. //! //! 2. NoProto is a **key-value database focused format**: //! //! **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. //! //! **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. //! //! **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types. //! //! **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) //! //! //! ### Comparison With Other Formats //! //!
//!
//! Compared to Apache Avro //! - Far more space efficient
//! - Significantly faster serialization & deserialization
//! - All values are optional (no void or null type)
//! - Supports more native types (like unsigned ints)
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//!
//!
//!
//! Compared to Protocol Buffers //! - Comparable serialization & deserialization performance
//! - Updating buffers is an order of magnitude faster
//! - Schemas are dynamic at runtime, no compilation step
//! - All values are optional
//! - Supports more types and better nested type support
//! - Byte-wise sorting is first class operation
//! - Updates without deserializng/serializing
//! - Safely handle untrusted data.
//! - All values are optional and can be inserted in any order.
//!
//!
//!
//! Compared to JSON / BSON //! - Far more space efficient
//! - Significantly faster serialization & deserialization
//! - Deserializtion is zero copy
//! - Has schemas / type safe
//! - Supports byte-wise sorting
//! - Supports raw bytes & other native types
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//!
//!
//!
//! Compared to Flatbuffers / Bincode //! - Data types can change or be created at runtime
//! - Updating buffers is an order of magnitude faster
//! - Supports byte-wise sorting
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//! - All values are optional and can be inserted in any order.
//!
//!

//! //! | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | //! |------------------|-----------|------------|---------|----------|-------------------| //! | **Runtime Libs** | | | | | | //! | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | //! | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | //! | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | //! | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | //! | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | //! | **Compiled Libs**| | | | | | //! | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | //! | Bincode | ✓ | ? | ✓ | ✓ | ✗ | //! | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | //! | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | //! | Veriform | ✗ | ? | ✗ | ✗ | ✗ | //! //! //! # Quick Example //! ```rust //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! // An ES6 like IDL is used to describe schema for the factory //! // Each factory represents a single schema //! // One factory can be used to serialize/deserialize any number of buffers //! let user_factory = NP_Factory::new(r#" //! struct({ fields: { //! name: string(), //! age: u16({ default: 0 }), //! tags: list({ of: string() }) //! }}) //! "#)?; //! //! //! // create a new empty buffer //! let mut user_buffer = user_factory.new_buffer(None); // optional capacity //! //! // set the "name" field //! user_buffer.set(&["name"], "Billy Joel")?; //! //! // read the "name" field //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // set a nested value, the first tag in the tag list //! user_buffer.set(&["tags", "0"], "first tag")?; //! //! // read the first tag from the tag list //! let tag = user_buffer.get::<&str>(&["tags", "0"])?; //! assert_eq!(tag, Some("first tag")); //! //! // close buffer and get internal bytes //! let user_bytes: Vec = user_buffer.finish().bytes(); //! //! // open the buffer again //! let user_buffer = user_factory.open_buffer(user_bytes); //! //! // read the "name" field again //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // get the age field //! let age = user_buffer.get::(&["age"])?; //! // returns default value from schema //! assert_eq!(age, Some(0u16)); //! //! // close again //! let user_bytes: Vec = user_buffer.finish().bytes(); //! //! //! // we can now save user_bytes to disk, //! // send it over the network, or whatever else is needed with the data //! //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Guided Learning / Next Steps: //! 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. //! 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. //! 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. //! 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. //! 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. //! //! ## Benchmarks //! While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. //! //! The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. //! //! **Legend**: Ops / Millisecond, higher is better //! //! | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | //! |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| //! | **Runtime Libs** | | | | | | | //! | *NoProto* | | | | | | | //! | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | //! | Apache Avro | | | | | | | //! | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | //! | FlexBuffers | | | | | | | //! | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | //! | JSON | | | | | | | //! | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | //! | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | //! | BSON | | | | | | | //! | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | //! | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | //! | MessagePack | | | | | | | //! | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | //! | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | //! | **Compiled Libs** | | | | | | | //! | Flatbuffers | | | | | | | //! | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | //! | Bincode | | | | | | | //! | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | //! | Postcard | | | | | | | //! | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | //! | Protocol Buffers | | | | | | | //! | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | //! | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | //! | Abomonation | | | | | | | //! | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | //! | Rkyv | | | | | | | //! | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | //! //! - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. //! - **Decode All**: Deserialize the test object from the `Vec` into all fields. //! - **Decode 1**: Deserialize the test object from the `Vec` into one field. //! - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. //! //! **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. //! //! Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. //! //! ## NoProto Strengths //! If your use case fits any of the points below, NoProto might be a good choice for your application. //! //! 1. Flexible At Runtime
//! If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). //! //! 2. Safely Accept Untrusted Data
//! The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. //! //! 3. Extremely Fast Updates
//! If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. //! //! 4. All Fields Optional, Insert/Update In Any Order
//! Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. //! //! 5. Incremental Deserializing
//! You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. //! //! 6. Bytewise Sorting
//! Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. //! //! 7. `no_std` Support
//! If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. //! //! 8. Stable
//! NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. //! //! 9. CPU Independent
//! All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. //! //! //! ### When to use Flatbuffers / Bincode / CapN Proto //! If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. //! //! ### When to use JSON / BSON / MessagePack //! If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. //! //! ## Limitations //! - Structs and Tuples cannot have more than 255 items. //! - Lists and Maps cannot have more than 2^16 (~64k) items. //! - You cannot nest more than 255 levels deep. //! - Struct field names cannot be longer than 255 UTF8 bytes. //! - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. //! - Map keys cannot be larger than 255 UTF8 bytes. //! - Buffers cannot be larger than 2^32 bytes or ~4GB. //! //! ## Unsafe //! This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. //! //! ---------------------- //! //! MIT License //! //! Copyright (c) 2021 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. #[cfg(test)] #[macro_use] extern crate std; pub mod idl; pub mod pointer; pub mod collection; pub mod buffer; pub mod schema; pub mod error; pub mod json_flex; pub mod format; pub mod memory; pub mod new_idl; #[allow(missing_docs)] #[doc(hidden)] pub mod hashmap; mod utils; #[macro_use] extern crate alloc; use core::ops::{Deref, DerefMut}; // use crate::buffer_ro::NP_Buffer_RO; use crate::memory::NP_Memory; use crate::json_flex::NP_JSON; use crate::schema::NP_Schema; use crate::json_flex::json_decode; use crate::error::NP_Error; use buffer::{NP_Buffer, DEFAULT_ROOT_PTR_ADDR}; use alloc::vec::Vec; use alloc::string::String; use schema::NP_Parsed_Schema; /// Generate a path from a string. The path must use dot notation between the path segments. /// /// This requires allocation and will impact performance. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::np_path; /// /// /// assert_eq!(&np_path!("some.crazy.path"), &["some", "crazy", "path"]); /// /// let user_factory = NP_Factory::new(r#" /// struct({fields: { /// name: string(), /// todos: list({ of: string() }) /// }}) /// "#)?; /// /// let mut user_buffer = user_factory.new_buffer(None); /// user_buffer.set(&np_path!("todos.2"), "some todo")?; /// user_buffer.set(&np_path!("name"), "Bob Dylan")?; /// /// assert_eq!(Some("some todo"), user_buffer.get::<&str>(&["todos", "2"])?); /// assert_eq!(Some("Bob Dylan"), user_buffer.get::<&str>(&["name"])?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// #[macro_export] macro_rules! np_path { ($str1: tt) => { { let path: Vec<&str> = $str1.split(".").filter_map(|s| { if s.len() > 0 { Some(s) } else { None } }).collect(); path } } } /// Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones. /// /// The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html) /// /// You can also create a factory with a compiled byte schema using the static `new_bytes` method. /// /// # Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let user_factory = NP_Factory::new(r#" /// struct({fields: { /// name: string(), /// pass: string(), /// age: u16(), /// todos: list({of: string()}) /// }}) /// "#)?; /// /// /// // user_factory can now be used to make or open buffers that contain the data in the schema. /// /// // create new buffer /// let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size /// /// // set the "name" field of the struct /// user_buffer.set(&["name"], "Billy Joel")?; /// /// // set the first todo /// user_buffer.set(&["todos", "0"], "Write a rust library.")?; /// /// // close buffer /// let user_vec:Vec = user_buffer.finish().bytes(); /// /// // open existing buffer for reading /// let user_buffer_2 = user_factory.open_buffer(user_vec); /// /// // read field name /// let name_field = user_buffer_2.get::<&str>(&["name"])?; /// assert_eq!(name_field, Some("Billy Joel")); /// /// /// // read first todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "0"])?; /// assert_eq!(todo_value, Some("Write a rust library.")); /// /// // read second todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "1"])?; /// assert_eq!(todo_value, None); /// /// /// // close buffer again /// let user_vec: Vec = user_buffer_2.finish().bytes(); /// // user_vec is a serialized Vec with our data /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Next Step /// /// Read about how to use buffers to access, mutate and compact data. /// /// [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html) /// #[derive(Debug)] pub struct NP_Factory { /// schema data used by this factory pub schema: NP_Schema, schema_bytes: Vec } unsafe impl Send for NP_Factory {} unsafe impl Sync for NP_Factory {} /// When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not. #[derive(Debug, Eq, PartialEq)] pub struct NP_Size_Data { /// The size of the existing buffer pub current_buffer: usize, /// The estimated size of buffer after compaction pub after_compaction: usize, /// How many known wasted bytes in existing buffer pub wasted_bytes: usize } impl NP_Factory { /// Generate a new factory from an ES6 schema /// /// The operation will fail if the string can't be parsed or the schema is otherwise invalid. /// pub fn new(es6_schema: S) -> Result where S: Into { // let idl = JS_Schema::new(es6_schema.into())?; let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?; // schema = NP_Schema::resolve_portals(schema)?; Ok(Self { schema_bytes: schema_bytes, schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Create a new factory from a compiled schema byte array. /// The byte schemas are at least an order of magnitude faster to parse than JSON schemas. /// pub fn new_bytes(schema_bytes: &[u8]) -> Result { let (is_sortable, mut schema) = NP_Schema::from_bytes(Vec::new(), 0, schema_bytes); // schema = NP_Schema::resolve_portals(schema)?; Ok(Self { schema_bytes: Vec::from(schema_bytes), schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Get a copy of the compiled schema byte array /// pub fn export_schema_bytes(&self) -> &[u8] { &self.schema_bytes[..] } /// Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`. /// pub fn export_schema_idl(&self) -> Result { self.schema.to_idl() } /// Open existing Vec as buffer for this factory. /// pub fn open_buffer(&self, bytes: Vec) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_owned(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Open existing buffer as ready only ref, can much faster if you don't need to mutate anything. /// /// All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method. /// /// Also, read only buffers are `Sync` and `Send` so good for multithreaded environments. /// pub fn open_buffer_ref<'buffer>(&'buffer self, bytes: &'buffer [u8]) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_ref(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up. /// /// Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer. /// /// The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. /// /// If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations. /// /// pub fn open_buffer_ref_mut<'buffer>(&'buffer self, bytes: &'buffer mut [u8], data_len: usize) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_ref_mut(bytes, data_len, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Generate a new empty buffer from this factory. /// /// The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes. /// /// pub fn new_buffer<'buffer>(&'buffer self, capacity: Option) -> NP_Buffer { NP_Buffer::_new(NP_Memory::new(capacity, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Generate a new empty buffer from this factory. /// /// Make sure the mutable slice is large enough to fit all the data you plan on putting into it. /// pub fn new_buffer_ref_mut<'buffer>(&'buffer self, bytes: &'buffer mut [u8]) -> NP_Buffer { NP_Buffer::_new(NP_Memory::new_ref_mut(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } // /// Convert a regular buffer into a packed buffer. A "packed" buffer contains the schema and the buffer data together. // /// // /// You can optionally store buffers with their schema attached so you don't have to track the schema seperatly. // /// // /// The schema is stored in a very compact, binary format. A JSON version of the schema can be generated from the binary version at any time. // /// // pub fn pack_buffer(&self, buffer: NP_Buffer) -> NP_Packed_Buffer { // NP_Packed_Buffer { // buffer: NP_Buffer::_new(NP_Memory::existing_owned(buffer.finish().bytes(), &self.schema.parsed as *const Vec, DEFAULT_ROOT_PTR_ADDR)), // schema_bytes: self.export_schema_bytes().to_vec(), // schema: self.schema.clone() // } // } } // /// Packed Buffer Container // pub struct NP_Packed_Buffer { // buffer: NP_Buffer, // schema_bytes: Vec, // /// Schema data for this packed buffer // pub schema: NP_Schema // } // impl NP_Packed_Buffer { // /// Open a packed buffer // pub fn open(buffer: Vec) -> Result { // if buffer[0] != 1 { // return Err(NP_Error::new("Trying to use NP_Packed_Buffer::open on non packed buffer!")) // } // let schema_len = u16::from_be_bytes(unsafe { *((&buffer[1..3]) as *const [u8] as *const [u8; 2]) }) as usize; // let schema_bytes = &buffer[3..(3 + schema_len)]; // let (is_sortable, mut schema) = NP_Schema::from_bytes(Vec::new(), 0, schema_bytes); // // schema = NP_Schema::resolve_portals(schema)?; // let buffer_bytes = &buffer[(3 + schema_len)..]; // Ok(Self { // buffer: NP_Buffer::_new(NP_Memory::existing_owned(buffer_bytes.to_vec(), &schema as *const Vec, DEFAULT_ROOT_PTR_ADDR)), // schema_bytes: schema_bytes.to_vec(), // schema: NP_Schema { // is_sortable: is_sortable, // parsed: schema // } // }) // } // /// Close this buffer and pack it // pub fn close_packed(self) -> Vec { // let mut new_buffer: Vec = Vec::new(); // new_buffer.push(1); // indicate this is a packed buffer // let schema = self.export_schema_bytes(); // // schema size // new_buffer.extend_from_slice(&(schema.len() as u16).to_be_bytes()); // // schema data // new_buffer.extend_from_slice(self.export_schema_bytes()); // // buffer data // new_buffer.extend(self.buffer.finish().bytes()); // new_buffer // } // /// Convert this packed buffer into a regular buffer // pub fn into_buffer(self) -> NP_Buffer { // self.buffer // } // /// Get the schema bytes for this packed buffer // pub fn export_schema_bytes(&self) -> &[u8] { // &self.schema_bytes[..] // } // /// Exports this schema to ES6 IDL. This works regardless of how the initial buffer schema was created. // /// // pub fn export_schema_idl(&self) -> Result { // self.schema.to_idl() // } // /// Exports this schema to JSON. This works regardless of how the initial buffer schema was created. // /// // pub fn export_schema_json(&self) -> Result { // self.schema.to_json() // } // } // impl Deref for NP_Packed_Buffer { // type Target = NP_Buffer; // fn deref(&self) -> &Self::Target { // &self.buffer // } // } // impl DerefMut for NP_Packed_Buffer { // fn deref_mut(&mut self) -> &mut Self::Target { // &mut self.buffer // } // } #[test] fn threading_works() { let fact = NP_Factory::new("string()").unwrap(); let buffer = fact.new_buffer(None); std::thread::spawn(move || { let f = fact.export_schema_bytes(); let b = buffer; assert_eq!(6, b.calc_bytes().unwrap().current_buffer); assert_eq!(8, f.len()); }).join().unwrap() } ================================================ FILE: no_proto_rs_old/src/memory.rs ================================================ //! Internal buffer memory management use crate::{schema::NP_Parsed_Schema}; use crate::{error::NP_Error}; use core::cell::UnsafeCell; use alloc::vec::Vec; #[doc(hidden)] #[derive(PartialEq, Debug)] pub enum NP_Memory_Kind { Owned { vec: Vec }, Ref { vec: *const [u8] }, RefMut { vec: *mut [u8], len: usize } } #[doc(hidden)] #[derive(Debug)] pub struct NP_Memory { bytes: UnsafeCell, pub root: usize, pub schema: *const Vec, pub max_size: usize, pub is_mutable: bool, } unsafe impl Send for NP_Memory {} impl Clone for NP_Memory { fn clone(&self) -> Self { Self { root: self.root, max_size: self.max_size, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: self.read_bytes().to_vec() }), schema: self.schema.clone(), is_mutable: true } } } #[doc(hidden)] impl NP_Memory { #[inline(always)] pub fn existing_owned(bytes: Vec, schema: *const Vec, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn existing_ref(bytes: *const [u8], schema: *const Vec, root: usize) -> Self { Self { root, max_size: 0, bytes: UnsafeCell::new(NP_Memory_Kind::Ref { vec: bytes }), schema: schema, is_mutable: false } } #[inline(always)] pub fn existing_ref_mut(bytes: *mut [u8], len: usize, schema: *const Vec, root: usize) -> Self { Self { root, max_size: usize::min(u32::MAX as usize, len), bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: len }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new(capacity: Option, schema: *const Vec, root: usize) -> Self { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // is_packed, size, root pointer new_bytes.extend(&[0u8; 6]); Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new_ref_mut(bytes: *mut [u8], schema: *const Vec, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: 6 }), schema: schema, is_mutable: true } } pub fn new_empty(&self, capacity: Option) -> Result { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // is_packed, size, root pointer new_bytes.extend(&[0u8; 6]); Ok(Self { root: self.root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: self.schema, is_mutable: true }) } pub fn is_ref_mut(&self) -> bool { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::RefMut { .. } => true, _ => false } } pub fn set_length(&mut self, new_len: usize) -> Result<(), NP_Error> { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::Ref { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::RefMut { len, .. } => { *len = new_len; Ok(()) } } } pub fn set_max_length(&mut self, len: usize) { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { self.max_size = usize::min(u32::MAX as usize, len); }, NP_Memory_Kind::Ref { .. } => { // NO OP }, NP_Memory_Kind::RefMut { .. } => { self.max_size = usize::min(u32::MAX as usize, len); } } } #[inline(always)] pub fn length(&self) -> usize { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec} => vec.len(), NP_Memory_Kind::Ref { .. } => 0, NP_Memory_Kind::RefMut { len, .. } => *len } } #[inline(always)] pub fn get_schemas(&self) -> &Vec { unsafe { &*self.schema } } #[inline(always)] pub fn get_schema(&self, idx: usize) -> &NP_Parsed_Schema { &(unsafe { &*self.schema })[idx] } #[inline(always)] pub fn malloc_borrow(&self, bytes: &[u8]) -> Result { let location = self.length(); // not enough space left? if location + bytes.len() >= self.max_size { return Err(NP_Error::MemoryOutOfSpace) } let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => { vec.extend_from_slice(bytes); }, NP_Memory_Kind::Ref { .. } => { return Err(NP_Error::MemoryReadOnly) }, NP_Memory_Kind::RefMut { vec, len } => { let v = unsafe { &mut **vec }; *len += bytes.len(); for (x, b) in bytes.iter().enumerate() { v[location + x] = *b; } } } Ok(location) } #[inline(always)] pub fn malloc(&self, bytes: Vec) -> Result { self.malloc_borrow(&bytes) } #[inline(always)] pub fn read_bytes(&self) -> &[u8] { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &vec[..], NP_Memory_Kind::Ref { vec } => unsafe { &**vec }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &**vec }, } } #[inline(always)] pub fn write_bytes(&self) -> &mut [u8] { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &mut vec[..], NP_Memory_Kind::Ref { vec } => unsafe { let const_ptr = *vec; let mut_ptr = const_ptr as *mut [u8]; &mut *mut_ptr }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &mut **vec }, } } #[inline(always)] pub fn get_1_byte(&self, address: usize) -> Option { // empty value if address == 0 { return None; } Some(self.read_bytes()[address]) } #[inline(always)] pub fn get_2_bytes(&self, address: usize) -> Option<&[u8; 2]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 2 { return None; } let slice = &self_bytes[address..(address + 2)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 2]) }) } #[inline(always)] pub fn get_4_bytes(&self, address: usize) -> Option<&[u8; 4]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 4 { return None; } let slice = &self_bytes[address..(address + 4)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 4]) }) } #[inline(always)] pub fn get_8_bytes(&self, address: usize) -> Option<&[u8; 8]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 8 { return None; } let slice = &self_bytes[address..(address + 8)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 8]) }) } #[inline(always)] pub fn get_16_bytes(&self, address: usize) -> Option<&[u8; 16]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 16 { return None; } let slice = &self_bytes[address..(address + 16)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 16]) }) } #[inline(always)] pub fn get_32_bytes(&self, address: usize) -> Option<&[u8; 32]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 32 { return None; } let slice = &self_bytes[address..(address + 32)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 32]) }) } pub fn dump(self) -> Vec { let bytes = self.bytes.into_inner(); match bytes { NP_Memory_Kind::Owned { vec } => vec, NP_Memory_Kind::Ref { vec } => Vec::from(unsafe { &*vec }), NP_Memory_Kind::RefMut { vec, .. } => Vec::from(unsafe { &*vec }) } } } ================================================ FILE: no_proto_rs_old/src/new_idl.rs ================================================ //! ES6 IDL for Schemas //! //! Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs. //! use alloc::prelude::v1::Box; use crate::error::NP_Error; use alloc::string::String; use alloc::vec::Vec; /// Parsed AST String #[derive(PartialEq, Clone, Copy, Debug)] pub struct AST_STR { start: usize, end: usize } /// AST object of schema #[allow(missing_docs)] #[derive(Debug)] pub enum AST { colon, comma, arrow, token { addr: AST_STR }, arrows { items: Vec }, method { call: Box, result: Box}, args { items: Vec }, list { items: Vec }, closure { items: Vec }, string { addr: AST_STR }, number { addr: AST_STR } } enum ast_cursor_state { searching, token, parens { open_idx: usize }, arrows { open_idx: usize, }, single_quote { open_idx: usize }, double_quote { open_idx: usize }, brackets { open_idx: usize }, curly { open_idx: usize }, number } struct ast_state { start: usize, end: usize, state: ast_cursor_state, escaped: bool, level: i16 } impl AST { /// Convert an ASCII string into AST pub fn parse(input: &str) -> Result, NP_Error> { let mut result: Vec = Vec::new(); AST::recursive_parse(0, &mut result, input, AST_STR { start: 0, end: input.len() })?; Ok(result) } /// Recursive AST parser pub fn recursive_parse(depth: usize, result: &mut Vec, source: &str, ast: AST_STR) -> Result<(), NP_Error> { if depth > 255 { return Err(NP_Error::RecursionLimit) } let mut cursor = ast_state { start: ast.start, end: ast.start, state: ast_cursor_state::searching, escaped: false, level: 0 }; let chars: Vec = source.chars().collect(); while cursor.end < ast.end { let mut curr_char: &char = &chars[cursor.end]; if *curr_char == '#' || (cursor.end + 1 < ast.end && *curr_char == '/' && chars[cursor.end + 1] == '/') { // # or // while *curr_char != '\n' && *curr_char != '\r' && cursor.end < ast.end { // new line curr_char = &chars[cursor.end]; cursor.end += 1; } } match cursor.state { ast_cursor_state::searching => { match *curr_char { 'A'..='Z' => { // A - Z cursor.start = cursor.end; cursor.state = ast_cursor_state::token; }, 'a'..='z' => { // a - z cursor.start = cursor.end; cursor.state = ast_cursor_state::token; }, '0'..='9' => { // 0 - 9 cursor.start = cursor.end; cursor.state = ast_cursor_state::number; } '{' => { // { cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::curly { open_idx: cursor.end }; cursor.level += 1; } '(' => { // ( cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::parens { open_idx: cursor.end }; cursor.level += 1; } '\'' => { // ' cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::single_quote { open_idx: cursor.end }; } '"' => { // " cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::double_quote { open_idx: cursor.end }; } ':' => { // : result.push(AST::colon); } ',' => { // , result.push(AST::comma); } '-' => { // - if cursor.end + 1 < ast.end && chars[cursor.end + 1] == '>' { // > result.push(AST::arrow); cursor.end +=1; } } '<' => { // < cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::arrows { open_idx: cursor.end }; } '[' => { // [ cursor.start = cursor.end + 1; cursor.state = ast_cursor_state::brackets { open_idx: cursor.end }; } '\n' | '\r' => { // new line } _ => { } } } ast_cursor_state::number => { if (*curr_char >= '0' && *curr_char <= '9') || *curr_char == '.' || *curr_char == '_' || *curr_char == '^' || *curr_char == 'e' || *curr_char == ',' { // valid number chars (0 - 9 || . || _ || ^ || e) } else { result.push(AST::number { addr: AST_STR { start: cursor.start, end: cursor.end }}); cursor.state = ast_cursor_state::searching; cursor.end -=1; } }, ast_cursor_state::arrows { .. } => { if *curr_char == '<' { // < cursor.level +=1; } if *curr_char == '>' { // > cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, source, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::arrows { items: parans_args }); cursor.state = ast_cursor_state::searching; } }, ast_cursor_state::curly { .. } => { if *curr_char == '{' { // { cursor.level +=1; } if *curr_char == '}' { // } cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, source, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::closure { items: parans_args }); cursor.state = ast_cursor_state::searching; } }, ast_cursor_state::parens { .. } => { if *curr_char == '(' { // ( cursor.level +=1; } if *curr_char == ')' { // ) cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, source, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::args { items: parans_args }); cursor.state = ast_cursor_state::searching; } } ast_cursor_state::double_quote { .. } => { if *curr_char == '"' && cursor.escaped == false { result.push(AST::string { addr: AST_STR { start: cursor.start, end: cursor.end } }); cursor.state = ast_cursor_state::searching; } if *curr_char == '\\' { // '\' cursor.escaped = true; } else { cursor.escaped = false; } }, ast_cursor_state::single_quote { .. } => { if *curr_char == '\'' && cursor.escaped == false { result.push(AST::string { addr: AST_STR { start: cursor.start, end: cursor.end } }); cursor.state = ast_cursor_state::searching; } if *curr_char == '\\' { // '\' cursor.escaped = true; } else { cursor.escaped = false; } }, ast_cursor_state::token => { if (*curr_char >= 'a' && *curr_char <= 'z') || (*curr_char >= 'A' && *curr_char <= 'Z') || (*curr_char >= '0' && *curr_char <= '9') || *curr_char == '_' || *curr_char == '-' { // valid token chars (a - z | A - Z | 0 - 9 | _ | - ) } else if cursor.end + 1 < source.len() && *curr_char == ':' && chars[cursor.end + 1] == ':' { // :: cursor.end += 1; } else { // end of token result.push(AST::token { addr: AST_STR { start: cursor.start, end: cursor.end }}); cursor.state = ast_cursor_state::searching; cursor.end -=1; } } ast_cursor_state::brackets { .. } => { if *curr_char == '[' { // [ cursor.level +=1; } if *curr_char == ']' { // ] cursor.level -=1; } if cursor.level == 0 { let mut parans_args: Vec = Vec::new(); AST::recursive_parse(depth + 1, &mut parans_args, source, AST_STR { start: cursor.start, end: cursor.end})?; result.push(AST::list { items: parans_args }); cursor.state = ast_cursor_state::searching; } } } cursor.end += 1; } match cursor.state { ast_cursor_state::searching => {} ast_cursor_state::brackets { open_idx } => { let mut error = String::from("AST Error: Missing matching closing square bracket!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_[_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::arrows { open_idx } => { let mut error = String::from("AST Error: Missing matching closing angle bracket!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_<_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::parens { open_idx } => { let mut error = String::from("AST Error: Missing matching closing paranthasees!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_(_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::single_quote { open_idx } => { let mut error = String::from("AST Error: Missing matching closing single quotes!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_'_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::double_quote { open_idx } => { let mut error = String::from("AST Error: Missing matching closing double quotes!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_\"_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::curly { open_idx } => { let mut error = String::from("AST Error: Missing matching closing curly brackets!: "); error.push_str(&source[(usize::max(0, open_idx - 15))..open_idx]); error.push_str("_{_"); error.push_str(&source[(open_idx+1)..usize::min(open_idx + 15, source.len())]); return Err(NP_Error::Custom { message: error}) } ast_cursor_state::token => { result.push(AST::token { addr: AST_STR { start: cursor.start, end: cursor.end }}); } ast_cursor_state::number => { result.push(AST::number { addr: AST_STR { start: cursor.start, end: cursor.end }}); } } Ok(()) } } #[test] fn test() { // println!("HELLO {:?}", ); let schema = String::from(r##" # comment here rpc get_user (id: 4) { user::this -> result { string, string } } # comment here "##); match AST::parse(&schema.clone()) { Ok(ast) => { println!("{:#?}", ast); }, Err(e) => { println!("{:?}", e); } } } ================================================ FILE: no_proto_rs_old/src/pointer/any.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::{JSMAP}, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}}; use alloc::vec::Vec; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; /// Any data type #[derive(Debug)] pub struct NP_Any { } #[allow(unused_variables)] impl<'value> NP_Value<'value> for NP_Any { fn type_idx() -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String("any".to_owned())); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("any()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Err(NP_Error::new("Can't set JSON at any type!")) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't use .set() with (Any), must cast first with NP_Any::cast(pointer).")) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { Err(NP_Error::new("Type (Any) doesn't support .into()!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_JSON::Null } fn get_size(depth:usize, _cursor: &NP_Cursor, _memory: &NP_Memory) -> Result { Ok(0) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { Err(NP_Error::new("Cannot compact an ANY field!")) } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Any as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); return Ok((false, schema_data, schema)); } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); (false, schema) } } impl<'value> Default for NP_Any { fn default() -> Self { NP_Any {} } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"any\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/bool.rs ================================================ //! NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bool()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], true)?; //! //! assert_eq!(true, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bool_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use crate::NP_Memory; use alloc::string::ToString; use super::NP_Cursor; impl<'value> super::NP_Scalar<'value> for bool { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(true) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(false) } } impl<'value> NP_Value<'value> for bool { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), match d { true => NP_JSON::True, false => NP_JSON::False }); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; data.default } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::True => { Self::set_value(cursor, memory, true)?; }, NP_JSON::False => { Self::set_value(cursor, memory, false)?; }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value(); if value_address != 0 { // existing value, replace // overwrite existing values in buffer memory.write_bytes()[value_address as usize] = if value == true { 1 } else { 0 }; return Ok(cursor); } else { // new value let bytes = if value == true { [1] as [u8; 1] } else { [0] as [u8; 1] }; value_address = memory.malloc_borrow(&bytes)? as u32; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_1_byte(value_addr) { Some(x) => { Some(if x == 1 { true } else { false }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { if y == true { NP_JSON::True } else { NP_JSON::False } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bool_Data) }; if let Some(d) = data.default { if d == true { NP_JSON::True } else { NP_JSON::False } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; let mut result = String::from("bool("); if let Some(x) = data.default { result.push_str("{default: "); if x == true { result.push_str("true"); } else { result.push_str("false"); } result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::bool { state } => { default = Some(*state); }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match default { Some(x) => { if x == false { schema_data.push(2); } else { schema_data.push(1); } Some(x) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match json_schema["default"] { NP_JSON::False => { schema_data.push(2); Some(false) }, NP_JSON::True => { schema_data.push(1); Some(true) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default: match bytes[address + 1] { 0 => None, 1 => Some(true), 2 => Some(false), _ => unreachable!() } })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bool({default: false})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bool()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), false); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], false)?; assert_eq!(buffer.get::(&[])?.unwrap(), false); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/bytes.rs ================================================ //! Represents arbitrary bytes type //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bytes()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as &[u8])?; //! //! assert_eq!(&[0u8, 1, 2, 3, 4] as &[u8], new_buffer.get::<&[u8]>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bytes_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Arbitrary bytes /// Alias for Vec pub type NP_Bytes = Vec; /// Arbitrary bytes, borrowed /// Alias for &[u8] pub type NP_Borrow_Bytes<'bytes> = &'bytes [u8]; impl<'value> super::NP_Scalar<'value> for NP_Bytes { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Bytes_Data) }; Some(if data.size > 0 { let mut v: Vec = Vec::with_capacity(data.size as usize); for _x in 0..data.size { v.push(0u8); } v } else { Vec::new() }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(255); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(0); } Some(value) } } } impl<'value> NP_Value<'value> for NP_Bytes { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size as i64)); } // no default right now if let Some(d) = &data.default { let default_bytes: Vec = d.iter().map(|value| { NP_JSON::Integer(i64::from(*value)) }).collect(); schema_json.insert("default".to_owned(), NP_JSON::Array(default_bytes)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_Borrow_Bytes::set_value(cursor, memory, &value) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("["); def.push_str(x.iter().map(|b| b.to_string()).collect::>().join(",").as_str()); def.push_str("]"); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } Ok(if properties.len() == 0 { String::from("bytes()") } else { let mut final_str = String::from("bytes({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); final_str }) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option> = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::array { values } => { let mut default_vals: Vec = Vec::new(); for val in values { match val { JS_AST::number { addr } => { match idl.get_str(addr).parse::() { Ok(x) => { default_vals.push(x); }, _ => {} } }, _ => { } } } default = Some(default_vals); }, _ => { } } } _ => { } } } } _ => { } } }; if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { schema_data.extend_from_slice(&((x.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(&x[..]); } else { schema_data.extend(0u16.to_be_bytes().to_vec()); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(bytes) => { let mut target: Vec = Vec::new(); bytes.iter().for_each(|json| { match json { NP_JSON::Integer(x) => { target.push(*x as u8); }, NP_JSON::Float(x) => { target.push(*x as u8); }, _ => { target.push(0); } } }); Self::set_value(cursor, memory, target)?; }, _ => { } } Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_Borrow_Bytes::into_value(cursor, memory)? { Some(bytes) => Ok(Some(bytes.to_vec())), None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let bytes = y.iter().map(|x| NP_JSON::Integer(*x as i64)).collect(); NP_JSON::Array(bytes) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; match &data.default { Some(x) => { let bytes = x.iter().map(|v| { NP_JSON::Integer(*v as i64) }).collect::>(); NP_JSON::Array(bytes) }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut has_fixed_size = false; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0 } }; let default = match &json_schema["default"] { NP_JSON::Array(bytes) => { let default_bytes: Vec = bytes.iter().map(|v| { match v { NP_JSON::Integer(x) => { *x as u8}, _ => { 0u8 } } }).collect(); let length = default_bytes.len() as u16 + 1; schema_data.extend(length.to_be_bytes().to_vec()); schema_data.extend(default_bytes.clone()); Some(default_bytes) }, _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8), sortable: has_fixed_size }); return Ok((has_fixed_size, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // fixed size let fixed_size = u32::from_be_bytes([ bytes[address + 1], bytes[address + 2], bytes[address + 3], bytes[address + 4] ]); // default value size let default_size = u16::from_be_bytes([ bytes[address + 5], bytes[address + 6] ]) as usize; if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: None })) as *const u8) }); } else { let default_bytes = &bytes[(address + 7)..(address + 7 + (default_size - 1))]; schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: Some(default_bytes.to_vec()) })) as *const u8), sortable: fixed_size > 0 }); } (fixed_size > 0, schema) } } impl<'value> super::NP_Scalar<'value> for &[u8] { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_Borrow_Bytes<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Bytes::schema_to_json(schema, address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, addr: usize, schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(&d[..]) } else { None } } // This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("bytes()")) } // This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let bytes = value; let str_size = bytes.len() as usize; let mut write_bytes = memory.write_bytes(); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let mut empty_bytes: Vec = Vec::with_capacity(size as usize); for _x in 0..size { empty_bytes.push(0); } let new_addr = memory.malloc(empty_bytes)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is zeros write_bytes[(addr + x)] = 0; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("Bytes too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(bytes)); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(bytes)); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Bytes::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_Bytes::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Bytes::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Bytes::from_bytes_to_schema(schema, address, bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bytes({default: [22,208,10,78,1,19,85], size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes({size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[22,208,10,78,1,19,85]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[1,2,3,4]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1,2,3,4]); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] as &[u8]); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8]); buffer.del(&[])?; assert_eq!(buffer.get::<&[u8]>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/date.rs ================================================ //! Stores the current unix epoch in u64. //! //! Epoch should be stored in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new("date()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Date::new(1604965249484))?; //! //! assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Parsed_Schema, NP_Value_Kind, NP_u64_Data}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug, Formatter}}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds Date data. /// /// Check out documentation [here](../date/index.html). /// #[derive(Clone, Copy, Eq, PartialEq)] #[repr(C)] pub struct NP_Date { /// The value of the date pub value: u64 } impl<'value> super::NP_Scalar<'value> for NP_Date { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MAX }) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MIN }) } } impl NP_Date { /// Create a new date type with the given time pub fn new(time_ms: u64) -> Self { NP_Date { value: time_ms } } } impl Default for NP_Date { fn default() -> Self { NP_Date { value: 0 } } } impl Debug for NP_Date { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.value) } } impl<'value> NP_Value<'value> for NP_Date { fn type_idx() -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), NP_JSON::Integer(d as i64)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_u64_Data) }; if let Some(d) = data.default { Some(NP_Date { value: d.clone() }) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let value = match &**value { NP_JSON::Integer(x) => *x as u64, NP_JSON::Float(x) => *x as u64, _ => 0 }; Self::set_value(cursor, memory, NP_Date::new(value))?; Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value.to_be_bytes(); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let bytes = value.value.to_be_bytes(); value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_8_bytes(value_addr) { Some(x) => { Some(NP_Date { value: u64::from_be_bytes(*x) }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::Integer(y.value as i64) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_u64_Data) }; if let Some(d) = data.default { NP_JSON::Integer(d.clone() as i64) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; let mut result = String::from("date("); if let Some(x) = data.default { result.push_str("{default: "); result.push_str(x.to_string().as_str()); result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing default of date!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend_from_slice(&(x as u64).to_be_bytes()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match json_schema["default"] { NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as u64).to_be_bytes().to_vec()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let has_default = bytes[address + 1]; let default = if has_default == 0 { None } else { let bytes_slice = &bytes[(address + 2)..(address + 10)]; let mut u64_bytes = 0u64.to_be_bytes(); u64_bytes.copy_from_slice(bytes_slice); Some(u64::from_be_bytes(u64_bytes)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\",\"default\":1605138980392}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Date::new(1605138980392)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Date::new(1605138980392))?; assert_eq!(buffer.get::(&[])?, Some(NP_Date::new(1605138980392))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/dec.rs ================================================ //! Represents a fixed point decimal number. //! //! Allows floating point values to be stored without rounding errors, useful for storing financial data. //! //! Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot. //! //! NP_Dec values contain two parts: //! 1. The actual number value (`num`) //! 2. The position of the decimal point from the right (`exp`) //! //! A value of "2039.756" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`. //! //! The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. //! //! If `exp` is zero, all values stored are whole numbers. //! //! For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. //! However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13. //! //! Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision. //! //! `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect. //! //! When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema. //! //! ``` //! use no_proto::pointer::dec::NP_Dec; //! //! // Creating a new NP_Dec for 20.49 //! let mut dec = NP_Dec::new(2049, 2); //! //! // add 2 //! dec += NP_Dec::new(200, 2); //! //! // add 0.03 //! dec += NP_Dec::new(3, 2); //! //! // convert float then use it to minus 5 //! let mut f: NP_Dec = 5.0_f64.into(); //! f.shift_exp(2); // set new NP_Dec to `exp` of 2. //! dec -= f; // subtract //! //! assert_eq!(dec.to_float(), 17.52_f64); //! //! ``` //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new("dec({exp: 2})")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Dec::new(50283, 2))?; //! //! assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use alloc::prelude::v1::Box; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Dec_Data, NP_Value_Kind}, utils::to_signed}; use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds fixed decimal data. /// /// Check out documentation [here](../dec/index.html). /// #[derive(Clone, Copy, Debug)] pub struct NP_Dec { /// The number being stored, does not include decimal point data pub num: i64, /// The exponent of this number pub exp: u8 } impl<'value> super::NP_Scalar<'value> for NP_Dec { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Dec_Data) }; Some(NP_Dec { exp: data.exp, num: 0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MAX, data.exp)) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MIN, data.exp)) } } impl NP_Dec { /// Convert an NP_Dec into a native floating point value. /// /// DO NOT use this to perform calculations, only to export/display the value. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.to_float(), 2.203f64); /// ``` /// pub fn to_float(&self) -> f64 { let m = self.num as f64; let mut step = self.exp; let mut s = 1f64; while step > 0 { s *= 10f64; step -= 1; } m / s } /// Shift the exponent of this NP_Dec to a new value. /// /// If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value. /// /// If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2 /// /// assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the "03" at the end because of reducing the `exp` value. /// /// ``` pub fn shift_exp(&mut self, new_exp: u8) -> NP_Dec { let diff = self.exp as i64 - new_exp as i64; let mut step = i64::abs(diff); if self.exp == new_exp { return *self } if diff < 0 { // moving decimal to right while step > 0 { self.num *= 10; step -=1; } } else { // moving decimal to left while step > 0 { self.num /= 10; step -=1; } } self.exp = new_exp; *self } /// Generate a new NP_Dec value /// /// First argument is the `num` value, second is the `exp` or exponent. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(2, 0); // stores "2.00" /// assert_eq!(x.to_float(), 2f64); /// /// let x = NP_Dec::new(2, 1); // stores "0.20" /// assert_eq!(x.to_float(), 0.2f64); /// /// let x = NP_Dec::new(2, 2); // stores "0.02" /// assert_eq!(x.to_float(), 0.02f64); /// /// let x = NP_Dec::new(5928, 1); // stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(59280, 2); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(592800, 3); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// ``` pub fn new(num: i64, exp: u8) -> Self { NP_Dec { num, exp } } /// Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec. /// /// This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// let other_num = NP_Dec::new(50, 1); // value is 5.0 /// /// let matched_dec = my_num.match_exp(&other_num); /// // `exp` values match now! They're both 3. /// assert_eq!(matched_dec.exp, my_num.exp); /// ``` /// pub fn match_exp(&self, other: &NP_Dec) -> NP_Dec { let mut other_copy = other.clone(); if other_copy.exp == self.exp { return other_copy } other_copy.shift_exp(self.exp); other_copy } /// Export NP_Dec to it's component parts. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.export(), (2203i64, 3u8)); /// ``` pub fn export(&self) -> (i64, u8) { (self.num, self.exp) } } /// Check if two NP_Dec are equal or not equal /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) != NP_Dec::new(200, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(203, 1) != NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// ``` impl core::cmp::PartialEq for NP_Dec { fn ne(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num != other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num != new_other.num; } } fn eq(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num == other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num == new_other.num; } } } /// Compare two NP_Dec /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(203, 1) > NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) < NP_Dec::new(203, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) > NP_Dec::new(202, 0); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) == NP_Dec::new(2020100, 4); /// assert_eq!(result, true); /// ``` impl core::cmp::PartialOrd for NP_Dec { fn lt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num < other.num; } else { let new_other = self.match_exp(other); return self.num < new_other.num; } } fn le(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num <= other.num; } else { let new_other = self.match_exp(other); return self.num <= new_other.num; } } fn gt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num > other.num; } else { let new_other = self.match_exp(other); return self.num > new_other.num; } } fn ge(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num >= other.num; } else { let new_other = self.match_exp(other); return self.num >= new_other.num; } } fn partial_cmp(&self, other: &NP_Dec) -> Option { let (a, b) = if self.exp == other.exp { (self.num, other.num) } else { let new_other = self.match_exp(other); (self.num, new_other.num) }; if a > b { return Some(core::cmp::Ordering::Greater); } else if a < b { return Some(core::cmp::Ordering::Less); } else if a == b { return Some(core::cmp::Ordering::Equal); } return None; } } /// Converts an NP_Dec into an Int32, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i32 = x.into(); /// /// assert_eq!(y, 101i32); /// ``` impl Into for NP_Dec { fn into(self) -> i32 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value as i32 } } /// Converts an Int32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num as i32, x); /// ``` impl Into for i32 { fn into(self) -> NP_Dec { NP_Dec::new(self as i64, 0) } } /// Converts an NP_Dec into an Int64, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i64 = x.into(); /// /// assert_eq!(y, 101i64); /// ``` impl Into for NP_Dec { fn into(self) -> i64 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value } } /// Converts an Int64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num, x); /// ``` impl Into for i64 { fn into(self) -> NP_Dec { NP_Dec::new(self, 0) } } fn round_f64(n: f64) -> f64 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f64).min(core::i64::MAX as f64); (bounds_value as i64) as f64 } fn round_f32(n: f32) -> f32 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f32).min(core::i64::MAX as f32); (bounds_value as i64) as f32 } fn round(n: f64, precision: u32) -> f64 { round_f64(n * 10_u32.pow(precision) as f64) / 10_i32.pow(precision) as f64 } fn precision(x: f64) -> Option { for digits in 0..core::f64::DIGITS { if round(x, digits) == x { return Some(digits); } } None } fn round32(n: f32, precision: u32) -> f32 { round_f32(n * 10_u32.pow(precision) as f32) / 10_i32.pow(precision) as f32 } fn precision32(x: f32) -> Option { for digits in 0..core::f64::DIGITS { if round32(x, digits) == x { return Some(digits); } } None } /// Converts a NP_Dec into a Float64 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f64 = x.into(); /// /// assert_eq!(y, x.to_float()); /// ``` impl Into for NP_Dec { fn into(self) -> f64 { self.to_float() } } /// Converts a Float64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float(), x); /// ``` impl Into for f64 { fn into(self) -> NP_Dec { match precision(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f64; loop_exp -= 1; } let value = round_f64(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f64(self) as i64; return NP_Dec::new(value, 0); } } } } /// Converts a NP_Dec into a Float32 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f32 = x.into(); /// /// assert_eq!(y, x.to_float() as f32); /// ``` impl Into for NP_Dec { fn into(self) -> f32 { self.to_float() as f32 } } /// Converts a Float32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float() as f32, x); /// ``` impl Into for f32 { fn into(self) -> NP_Dec { match precision32(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f32; loop_exp -= 1; } let value = round_f32(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f32(self) as i64; return NP_Dec::new(value, 0); } } } } impl core::ops::DivAssign for NP_Dec { // a /= b fn div_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } } } impl core::ops::Div for NP_Dec { // a / b type Output = NP_Dec; fn div(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } return self; } } impl core::ops::SubAssign for NP_Dec { // a -= b fn sub_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } } } impl core::ops::Sub for NP_Dec { // a - b type Output = NP_Dec; fn sub(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } return self; } } impl core::ops::AddAssign for NP_Dec { // a += b fn add_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } } } impl core::ops::Add for NP_Dec { // a + b type Output = NP_Dec; fn add(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } return self; } } impl core::ops::MulAssign for NP_Dec { // a *= b fn mul_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } } } impl core::ops::Mul for NP_Dec { // a * b type Output = NP_Dec; fn mul(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } return self; } } impl Default for NP_Dec { fn default() -> Self { NP_Dec::new(0,0) } } impl<'value> NP_Value<'value> for NP_Dec { fn type_idx() -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; schema_json.insert("exp".to_owned(), NP_JSON::Integer(data.exp.clone() as i64)); if let Some(d) = data.default { let value = NP_Dec::new(d.num.clone(), data.exp.clone()); schema_json.insert("default".to_owned(), NP_JSON::Float(value.into())); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Dec_Data) }; if let Some(d) = data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(map) => { if let Some(NP_JSON::Dictionary(parts)) = map.get("parts") { if let Some(NP_JSON::Integer(num)) = parts.get("num") { if let Some(NP_JSON::Integer(exp)) = parts.get("exp") { Self::set_value(cursor, memory, NP_Dec::new(*num, *exp as u8))?; } else { return Err(NP_Error::new("Decimal types require a `parts.exp` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts.num` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts` property!")) } }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; let mut cloned_value = (value).clone(); cloned_value.shift_exp(exp); let i64_value = cloned_value.num; if value_address != 0 { // existing value, replace let mut bytes = i64_value.to_be_bytes(); // convert to unsigned bytes[0] = to_unsigned(bytes[0]); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let mut be_bytes = i64_value.to_be_bytes(); // convert to unsigned be_bytes[0] = to_unsigned(be_bytes[0]); value_address = memory.malloc_borrow(&be_bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; Ok(match memory.get_8_bytes(value_addr) { Some(x) => { let mut be_bytes = x.clone(); be_bytes[0] = to_signed(be_bytes[0]); Some(NP_Dec::new(i64::from_be_bytes(be_bytes), exp)) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(y.num)); parts.insert("exp".to_owned(), NP_JSON::Integer(exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(y.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; if let Some(d) = data.default { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(d.num.clone())); parts.insert("exp".to_owned(), NP_JSON::Integer(data.exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(d.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; let mut result = String::from("dec({exp: "); result.push_str(data.exp.to_string().as_str()); if let Some(x) = data.default { result.push_str(", default: "); result.push_str(x.to_float().to_string().as_str()); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut exp: Option = None; let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "exp" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { exp = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal value!")) } }, _ => { } } }, "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal default!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp = if let Some(x) = exp { schema_data.push(x as u8); x } else { return Err(NP_Error::new("Decimal type requires 'exp' property!")) }; let mult = 10i64.pow(exp as u32); let default = match default { Some(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp: u8; match json_schema["exp"] { NP_JSON::Integer(x) => { if x > 255 || x < 0 { return Err(NP_Error::new("Decimal 'exp' property must be between 0 and 255!")) } exp = x as u8; schema_data.push(x as u8); }, _ => { return Err(NP_Error::new("Decimal type requires 'exp' property!")) } } let mult = 10i64.pow(exp as u32); let default = match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, NP_JSON::Integer(x) => { schema_data.push(1); let value = x * (mult as i64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); // schema_data.extend(0i64.to_be_bytes().to_vec()) None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let exp = bytes[address + 1]; let default = if bytes[address + 2] == 0 { None } else { let mut slice = 0i64.to_be_bytes(); slice.copy_from_slice(&bytes[(address + 3)..address + 11]); let value = i64::from_be_bytes(slice); Some(NP_Dec::new(value, exp)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "dec({exp: 3, default: 203.293})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "dec({exp: 3})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"decimal\",\"exp\":3}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\": 3}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Dec::new(203293, 3))?; assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/geo.rs ================================================ //! Represents a Geographic Coordinate (lat / lon) //! //! When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new("geo4()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?; //! //! assert_eq!("{\"lat\":45.5,\"lng\":-122.71}", new_buffer.get::(&[])?.unwrap().into_json().stringify()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Geo_Data, NP_Parsed_Schema, NP_Value_Kind}}; use alloc::vec::Vec; use crate::utils::to_signed; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_Schema, NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use core::convert::TryInto; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; use crate::NP_Memory; /// Allows you to efficiently retrieve just the bytes of the geographic coordinate #[derive(Debug, Eq, PartialEq)] pub struct NP_Geo_Bytes { /// Size of this coordinate: 4, 8 or 16 pub size: u8, /// latitude bytes pub lat: Vec, /// longitude bytes pub lng: Vec } impl<'value> super::NP_Scalar<'value> for NP_Geo_Bytes{ fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 0.0, lng: 0.0}.get_bytes() } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 90f64, lng: 180f64}.get_bytes() } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: -90f64, lng: -180f64}.get_bytes() } } impl NP_Geo_Bytes { /// Get the actual geographic coordinate for these bytes pub fn into_geo(self) -> NP_Geo { match self.size { 16 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 8]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i64::from_be_bytes(bytes_lat) as f64 / dev; let lon = i64::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 8 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 4]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i32::from_be_bytes(bytes_lat) as f64 / dev; let lon = i32::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 4 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 2]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i16::from_be_bytes(bytes_lat) as f64 / dev; let lon = i16::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, _ => { NP_Geo { lat: 0f64, lng: 0f64, size: 4} } } } } impl Default for NP_Geo_Bytes { fn default() -> Self { NP_Geo_Bytes { lat: Vec::new(), lng: Vec::new(), size: 4 } } } impl<'value> NP_Value<'value> for NP_Geo_Bytes { fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn schema_to_idl(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_idl(schema, address) } fn from_idl_to_schema(schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_idl_to_schema(schema, name, idl, args) } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_json(schema, address)} fn set_value<'set>(_cursor: NP_Cursor, _memory: &'set NP_Memory, _value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't set value with NP_Geo_Bytes, use NP_Geo instead!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Geo::to_json(depth, cursor, memory) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 16 } }, 8 => { let bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 8 } }, 4 => { let bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 4 } }, _ => { unreachable!(); } })) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Geo::from_bytes_to_schema(schema, address, bytes) } } /// Holds geographic coordinates /// /// Check out documentation [here](../geo/index.html). /// #[derive(Debug, Clone, PartialEq)] pub struct NP_Geo { /// The size of this geographic coordinate. 4, 8 or 16 pub size: u8, /// The latitude of this coordinate pub lat: f64, /// The longitude of this coordinate pub lng: f64 } impl<'value> super::NP_Scalar<'value> for NP_Geo { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 0.0, lng: 0.0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 90f64, lng: 180f64}) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: -90f64, lng: -180f64}) } } impl NP_Geo { /// Create a new NP_Geo value, make sure the size matches the schema pub fn new(size: u8, lat: f64, lng: f64) -> Self { NP_Geo { size, lat, lng} } /// Get the deviser value depending on the resolution of the type in the schema pub fn get_deviser(size: i64) -> f64 { match size { 16 => 1000000000f64, 8 => 10000000f64, 4 => 100f64, _ => 0.0 } } /// Export this Geo point to JSON /// pub fn into_json(&self) -> NP_JSON { let mut result_json = JSMAP::new(); result_json.insert("lat".to_owned(), NP_JSON::Float(self.lat)); result_json.insert("lng".to_owned(), NP_JSON::Float(self.lng)); NP_JSON::Dictionary(result_json) } /// Get the bytes that represent this geographic coordinate pub fn get_bytes(&self) -> Option { if self.size == 0 { return None } let dev = NP_Geo::get_deviser(self.size as i64); let use_lat = f64::min(f64::max(self.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(self.lng, -180f64), 180f64); match self.size { 16 => { let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 8 => { let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 4 => { let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, _ => { None } } } } impl Default for NP_Geo { fn default() -> Self { NP_Geo { lat: 0.0, lng: 0.0, size: 0 } } } fn geo_default_value(size: u8, json: &NP_JSON) -> Result, NP_Error> { match &json["default"] { NP_JSON::Dictionary(x) => { let mut lat = 0f64; match x.get("lat") { Some(x) => { match x { NP_JSON::Integer(y) => { lat = *y as f64; }, NP_JSON::Float(y) => { lat = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lat key!")) } }; let mut lng = 0f64; match x.get("lng") { Some(x) => { match x { NP_JSON::Integer(y) => { lng = *y as f64; }, NP_JSON::Float(y) => { lng = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lng key!")) } }; match NP_Geo::new(size, lat, lng).get_bytes() { Some(b) => return Ok(Some(b)), None => return Ok(None) } }, _ => return Ok(None) } } impl<'value> NP_Value<'value> for NP_Geo { fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Geo_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; match &**value { NP_JSON::Dictionary(map) => { let mut value = NP_Geo::new(size, 0.0, 0.0); if let Some(NP_JSON::Integer(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Float(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Integer(lng)) = map.get("lng") { value.lng = *lng as f64; } if let Some(NP_JSON::Float(lng)) = map.get("lng") { value.lng = *lng as f64; } Self::set_value(cursor, memory, value)?; }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut type_str = Self::type_idx().0.to_string(); type_str.push_str(data.size.to_string().as_str()); schema_json.insert("type".to_owned(), NP_JSON::String(type_str)); if let Some(d) = &data.default { let mut default_map = JSMAP::new(); default_map.insert("lat".to_owned(), NP_JSON::Float(d.lat)); default_map.insert("lng".to_owned(), NP_JSON::Float(d.lng)); schema_json.insert("default".to_owned(), NP_JSON::Dictionary(default_map)); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; let value_bytes_size = size as usize; if value_bytes_size == 0 { unreachable!(); } let write_bytes: &mut [u8]; let half_value_bytes = value_bytes_size / 2; let use_lat = f64::min(f64::max(value.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(value.lng, -180f64), 180f64); // convert input values into bytes let value_bytes = match size { 16 => { let dev = NP_Geo::get_deviser(16); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 8 => { let dev = NP_Geo::get_deviser(8); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 4 => { let dev = NP_Geo::get_deviser(4); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, _ => { [0; 16] } }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } } else { // new value value_address = match size { 16 => { memory.malloc_borrow(&[0u8; 16])? }, 8 => { memory.malloc_borrow(&[0u8; 8])? }, 4 => { memory.malloc_borrow(&[0u8; 4])? }, _ => { 0 } }; write_bytes = memory.write_bytes(); // set values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let mut bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let mut bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i64::from_be_bytes(bytes_lat) as f64; let lon = i64::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(16); NP_Geo { lat: lat / dev, lng: lon / dev, size: 16} }, 8 => { let mut bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let mut bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i32::from_be_bytes(bytes_lat) as f64; let lon = i32::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(8); NP_Geo { lat: lat / dev, lng: lon / dev, size: 8} }, 4 => { let mut bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let mut bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i16::from_be_bytes(bytes_lat) as f64; let lon = i16::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(4); NP_Geo { lat: lat / dev, lng: lon / dev, size: 4} }, _ => { unreachable!(); } })) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(y.lat)); object.insert("lng".to_owned(), NP_JSON::Float(y.lng)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; if let Some(d) = &data.default { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(d.lat)); object.insert("lng".to_owned(), NP_JSON::Float(d.lng)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut schema_idl = match data.size { 16 => { String::from("geo16(") } 8 => { String::from("geo8(") }, 4 => { String::from("geo4(") }, _ => { String::from("geo4(") } }; if let Some(d) = &data.default { schema_idl.push_str("{default: {"); schema_idl.push_str("lat: "); schema_idl.push_str(d.lat.to_string().as_str()); schema_idl.push_str(", "); schema_idl.push_str("lng: "); schema_idl.push_str(d.lng.to_string().as_str()); schema_idl.push_str("}}"); } schema_idl.push_str(")"); Ok(schema_idl) } fn from_idl_to_schema(mut schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: (bool, f64, f64) = (false, 0.0, 0.0); if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "default" { match value { JS_AST::object { properties: default_props } => { for (dkey, dvalue) in default_props { match idl.get_str(dkey).trim() { "lat" => { default.0 = true; default.1 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, "lng" => { default.0 = true; default.2 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, _ => { } } } }, _ => { } } } } } _ => { } } } let size = match name { "geo4" => 4, "geo8" => 8, "geo16" => 16, _ => 4 }; let default = { if default.0 == false { None } else { NP_Geo::new(size, default.1, default.2).get_bytes() } }; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(size); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(size, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size, default })) as *const u8) }); Ok((false, schema_data, schema)) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); if value_addr == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let type_str = NP_Schema::_get_type(&json_schema)?; match type_str.as_str() { "geo4" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(4); let default = match geo_default_value(4, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(4, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(4), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 4, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo8" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(8); let default = match geo_default_value(8, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(8, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 8, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo16" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(16); let default = match geo_default_value(16, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(16, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 16, default })) as *const u8) }); Ok((false, schema_data, schema)) }, _ => { Ok((false, Vec::new(), Vec::new())) } } } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let size = bytes[address + 1]; // no default if bytes[address + 2] == 0 { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: None })) as *const u8) }); return (false, schema) } // has default match size { 4 => { let lat = &bytes[(address + 3)..(address + 5)]; let lng = &bytes[(address + 5)..(address + 7)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 8 => { let lat = &bytes[(address + 3)..(address + 7)]; let lng = &bytes[(address + 7)..(address + 11)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 16 => { let lat = &bytes[(address + 3)..(address + 11)]; let lng = &bytes[(address + 11)..(address + 19)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, _ => { unreachable!(); } } } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "geo4({default: {lat: 20.23, lng: -12.21}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo4()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8({default: {lat: 20.2334234, lng: -12.2146363}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16({default: {lat: 20.233423434, lng: -12.214636323}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(8, 20.2334234, -12.2146363)); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(16, 20.233423434, -12.214636323)); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Geo::new(4, 20.23, -12.21))?; assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); buffer.del(&[])?; assert!({ match buffer.get::(&[])? { Some(_x) => false, None => true } }); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/mod.rs ================================================ //! All values in buffers are accessed and modified through pointers //! //! NP_Ptr are the primary abstraction to read, update or delete values in a buffer. //! Pointers should *never* be created directly, instead the various methods provided by the library to access //! the internals of the buffer should be used. //! //! Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`. //! When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail. //! As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided. //! //! /// Any type pub mod any; pub mod string; pub mod bytes; pub mod numbers; pub mod bool; pub mod geo; pub mod dec; pub mod ulid; pub mod uuid; pub mod option; pub mod date; pub mod portal; // pub mod union; use core::{fmt::{Debug}}; use alloc::prelude::v1::Box; use crate::{idl::{JS_AST, JS_Schema}, pointer::dec::NP_Dec, schema::{NP_Portal_Data, NP_Schema_Addr}, utils::opt_err}; use crate::NP_Parsed_Schema; use crate::{json_flex::NP_JSON}; use crate::memory::{NP_Memory}; use crate::NP_Error; use crate::{schema::{NP_TypeKeys}, collection::{map::NP_Map, struc::NP_Struct, list::NP_List, tuple::NP_Tuple}}; use alloc::{string::String, vec::Vec, borrow::ToOwned}; use bytes::NP_Bytes; use self::{date::NP_Date, geo::NP_Geo, option::NP_Enum, portal::NP_Portal, ulid::{NP_ULID}, uuid::{NP_UUID}}; #[doc(hidden)] #[derive(Debug, Copy, Clone)] #[repr(C)] pub struct NP_Pointer_Scalar { pub addr_value: [u8; 4] } impl Default for NP_Pointer_Scalar { fn default() -> Self { Self { addr_value: [0; 4] } } } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_List_Item { pub addr_value: [u8; 4], pub next_value: [u8; 4], pub index: [u8; 2] } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_Map_Item { pub addr_value: [u8; 4], pub next_value: [u8; 4], pub key_addr: [u8; 4] } #[doc(hidden)] #[allow(missing_docs, unused_variables)] pub trait NP_Pointer_Bytes { fn get_type(&self) -> &str { "" } fn get_addr_value(&self) -> u32 { 0 } fn set_addr_value(&mut self, addr: u32) { } fn get_next_addr(&self) -> u32 { 0 } fn set_next_addr(&mut self, addr: u32) { } fn set_index(&mut self, index: u16) { } fn get_index(&self) -> u16 { 0 } fn set_key_addr(&mut self, hash: u32) { } fn get_key_addr(&self) -> u32 { 0 } fn reset(&mut self) { } fn get_size(&self) -> usize { 0 } fn get_key<'key>(&self, memory: &'key NP_Memory) -> &'key str { "" } fn get_key_size<'key>(&self, memory: &'key NP_Memory) -> usize { 0 } } impl NP_Pointer_Bytes for NP_Pointer_Scalar { fn get_type(&self) -> &str { "Scalar" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; } #[inline(always)] fn get_size(&self) -> usize { 4 } } impl NP_Pointer_Bytes for NP_Pointer_List_Item { fn get_type(&self) -> &str { "List Item" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u32 { u32::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u32) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_index(&mut self, index: u16) { self.index = index.to_be_bytes() } #[inline(always)] fn get_index(&self) -> u16 { u16::from_be_bytes(self.index) } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; self.next_value = [0; 4]; self.index = [0; 2]; } #[inline(always)] fn get_size(&self) -> usize { 10 } } impl NP_Pointer_Bytes for NP_Pointer_Map_Item { fn get_type(&self) -> &str { "Map Item" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u32 { u32::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u32) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_key_addr(&mut self, addr: u32) { self.key_addr = addr.to_be_bytes(); } #[inline(always)] fn get_key_addr(&self) -> u32 { u32::from_be_bytes(self.key_addr) } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; self.next_value = [0; 4]; self.key_addr = [0; 4]; } #[inline(always)] fn get_size(&self) -> usize { 12 } #[inline(always)] fn get_key<'key>(&self, memory: &'key NP_Memory) -> &'key str { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return ""; } else { let key_length = memory.read_bytes()[key_addr] as usize; let key_bytes = &memory.read_bytes()[(key_addr + 1)..(key_addr + 1 + key_length)]; unsafe { core::str::from_utf8_unchecked(key_bytes) } } } #[inline(always)] fn get_key_size<'key>(&self, memory: &'key NP_Memory) -> usize { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return 0; } else { return memory.read_bytes()[key_addr] as usize; } } } // holds 4 u16 addresses and a next value (10 bytes) #[repr(C)] #[derive(Debug, Copy, Clone)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Vtable { pub values: [NP_Pointer_Scalar; 4], next: [u8; 4] } #[allow(missing_docs)] impl NP_Vtable { #[inline(always)] pub fn get_next(&self) -> u32 { u32::from_be_bytes(unsafe { *(&self.next as *const [u8] as *const [u8; 4]) }) } #[inline(always)] pub fn set_next(&mut self, value: u32) { let bytes = value.to_be_bytes(); self.next[0] = bytes[0]; self.next[1] = bytes[1]; self.next[2] = bytes[2]; self.next[3] = bytes[3]; } } #[doc(hidden)] #[derive(Debug, Clone, Copy, PartialEq)] pub enum NP_Cursor_Parent { None, Tuple } /// Cursor for pointer value in buffer /// #[doc(hidden)] #[derive(Debug, Clone, Copy)] pub struct NP_Cursor { /// The location of this cursor in the buffer pub buff_addr: usize, /// The address of the schema for this cursor pub schema_addr: NP_Schema_Addr, /// the parent schema address (so we know if we're in a collection type) pub parent_schema_addr: NP_Schema_Addr, /// used by tuple type to store scalar pointer bytes pub value_bytes: Option<[u8; 4]>, /// if parent is tuple pub parent_type: NP_Cursor_Parent } impl<'cursor> NP_Cursor { /// Create a new cursor pub fn new(buff_addr: usize, schema_addr: usize, parent_schema_addr: usize) -> Self { Self { buff_addr, schema_addr, parent_schema_addr, value_bytes: None, parent_type: NP_Cursor_Parent::None } } /// Get the value bytes of this cursor #[inline(always)] pub fn get_value(&self, memory: &NP_Memory) -> &'cursor dyn NP_Pointer_Bytes { let ptr = memory.read_bytes().as_ptr(); // if requesting root pointer or address is higher than buffer length if self.buff_addr == memory.root || self.buff_addr > memory.read_bytes().len() { unsafe { & *(ptr.add(memory.root) as *const NP_Pointer_Scalar) } } else { match memory.get_schema(self.parent_schema_addr).i { NP_TypeKeys::List => { unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_List_Item) } }, NP_TypeKeys::Map => { unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Map_Item) } }, NP_TypeKeys::Tuple => { match &self.value_bytes { Some(x) => unsafe { & *(x.as_ptr() as *const u8 as *const NP_Pointer_Scalar) }, None => unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Scalar) } } }, _ => { // parent is scalar or struct unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Scalar) } } } } } /// Get the value bytes of this cursor #[inline(always)] pub fn get_value_mut(&self, memory: &NP_Memory) -> &'cursor mut dyn NP_Pointer_Bytes { let ptr = memory.write_bytes().as_mut_ptr(); // if requesting root pointer or address is higher than buffer length if self.buff_addr == memory.root || self.buff_addr > memory.read_bytes().len() { unsafe { &mut *(ptr.add(memory.root) as *mut NP_Pointer_Scalar) } } else { match memory.get_schema(self.parent_schema_addr).i { NP_TypeKeys::List => { unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_List_Item) } }, NP_TypeKeys::Map => { unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Map_Item) } }, NP_TypeKeys::Tuple => { match &self.value_bytes { Some(x) => unsafe { &mut *(x.as_ptr() as *mut u8 as *mut NP_Pointer_Scalar) }, None => unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Scalar) } } }, _ => { // parent is scalar or struct unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Scalar) } } } } } /// Given a starting cursor, select into the buffer at a new location /// #[inline(always)] pub fn select(memory: &NP_Memory, cursor: NP_Cursor, make_path: bool, schema_query: bool, path: &[&str]) -> Result, NP_Error> { let mut loop_cursor = cursor; let mut path_index = 0usize; let mut loop_count = 0u16; loop { loop_count += 1; if path.len() == path_index { return Ok(Some(loop_cursor)); } if loop_count > 256 { return Err(NP_Error::RecursionLimit) } let schema = memory.get_schema(loop_cursor.schema_addr); // now select into collections match schema.i { NP_TypeKeys::Struct => { if let Some(next) = NP_Struct::select(loop_cursor, schema, path[path_index], make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, NP_TypeKeys::Tuple => { match path[path_index].parse::() { Ok(x) => { if let Some(next) = NP_Tuple::select(loop_cursor, schema, x, make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, Err(_e) => { return Err(NP_Error::new("Need a number to index into tuple, string found!")) } } }, NP_TypeKeys::List => { match path[path_index].parse::() { Ok(x) => { if let Some(next) = NP_List::select(loop_cursor, x, make_path, schema_query, memory)? { loop_cursor = opt_err(next.1)?; path_index += 1; } else { return Ok(None); } }, Err(_e) => { return Err(NP_Error::new("Need a number to index into list, string found!")) } } }, NP_TypeKeys::Map => { if let Some(next) = NP_Map::select(loop_cursor, path[path_index], make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, // NP_TypeKeys::Union { types, .. } => { // if let Some(next) = NP_Union::select(loop_cursor, types, path[path_index], make_path, schema_query, memory)? { // loop_cursor = next; // path_index += 1; // } else { // return Ok(None); // } // }, NP_TypeKeys::Portal => { let portal_data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; loop_cursor.schema_addr = portal_data.schema; loop_cursor.parent_schema_addr = portal_data.parent_schema; }, _ => { // we've reached a scalar value but not at the end of the path return Ok(None); } } } } /// Set the max value at this cursor pub fn set_max(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err( bool::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err( String::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err( NP_Bytes::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err( i8::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err( i16::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err( i32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err( i64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err( u8::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err( u16::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err( u32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err( u64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err( f32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err( f64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err( NP_Dec::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err( NP_Geo::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err( NP_Date::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err( NP_Enum::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err( NP_UUID::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err( NP_ULID::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Struct => { let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Tuple => { let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_index, item)) = tuple.step_iter(memory, false) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::List => { let mut list = NP_List::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = list.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Map => { let mut map = NP_Map::new_iter(&cursor, memory); while let Some((_index, item_cursor)) = map.step_iter(memory) { NP_Cursor::set_max(item_cursor.clone(), memory)?; } }, _ => return Ok(false) }; Ok(true) } /// Set the min value at this cursor pub fn set_min(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err( bool::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err( String::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err( NP_Bytes::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err( i8::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err( i16::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err( i32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err( i64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err( u8::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err( u16::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err( u32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err( u64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err( f32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err( f64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err( NP_Dec::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err( NP_Geo::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err( NP_Date::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err( NP_Enum::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err( NP_UUID::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err( NP_ULID::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Struct => { let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Tuple => { let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_index, item)) = tuple.step_iter(memory, false) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::List => { let mut list = NP_List::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = list.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Map => { let mut map = NP_Map::new_iter(&cursor, memory); while let Some((_index, item_cursor)) = map.step_iter(memory) { NP_Cursor::set_min(item_cursor.clone(), memory)?; } }, _ => return Ok(false) }; Ok(true) } /// Exports this pointer and all it's descendants into a JSON object. /// This will create a copy of the underlying data and return default values where there isn't data. /// pub fn json_encode(depth: usize, cursor: &NP_Cursor, memory: &NP_Memory) -> NP_JSON { if depth > 255 { return NP_JSON::Null } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::None => { NP_JSON::Null }, NP_TypeKeys::Any => { NP_JSON::Null }, NP_TypeKeys::UTF8String => { String::to_json(depth, cursor, memory) }, NP_TypeKeys::Bytes => { NP_Bytes::to_json(depth, cursor, memory) }, NP_TypeKeys::Int8 => { i8::to_json(depth, cursor, memory) }, NP_TypeKeys::Int16 => { i16::to_json(depth, cursor, memory) }, NP_TypeKeys::Int32 => { i32::to_json(depth, cursor, memory) }, NP_TypeKeys::Int64 => { i64::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint8 => { u8::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint16 => { u16::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint32 => { u32::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint64 => { u64::to_json(depth, cursor, memory) }, NP_TypeKeys::Float => { f32::to_json(depth, cursor, memory) }, NP_TypeKeys::Double => { f64::to_json(depth, cursor, memory) }, NP_TypeKeys::Decimal => { NP_Dec::to_json(depth, cursor, memory) }, NP_TypeKeys::Boolean => { bool::to_json(depth, cursor, memory) }, NP_TypeKeys::Geo => { NP_Geo::to_json(depth, cursor, memory) }, NP_TypeKeys::Uuid => { NP_UUID::to_json(depth, cursor, memory) }, NP_TypeKeys::Ulid => { NP_ULID::to_json(depth, cursor, memory) }, NP_TypeKeys::Date => { NP_Date::to_json(depth, cursor, memory) }, NP_TypeKeys::Enum => { NP_Enum::to_json(depth, cursor, memory) }, NP_TypeKeys::Struct => { NP_Struct::to_json(depth, cursor, memory) }, NP_TypeKeys::Map => { NP_Map::to_json(depth, cursor, memory) }, NP_TypeKeys::List => { NP_List::to_json(depth, cursor, memory) }, NP_TypeKeys::Tuple => { NP_Tuple::to_json(depth, cursor, memory) }, NP_TypeKeys::Portal => { NP_Portal::to_json(depth, cursor, memory) }, // NP_TypeKeys::Union => { NP_Union::to_json(depth, cursor, memory) }, } } /// Compact from old cursor and memory into new cursor and memory /// pub fn compact(depth: usize, from_cursor: NP_Cursor, from_memory: &NP_Memory, to_cursor: NP_Cursor, to_memory: &NP_Memory) -> Result { if depth > 255 { return Err(NP_Error::RecursionLimit)} match from_memory.get_schema(from_cursor.schema_addr).i { NP_TypeKeys::Any => { Ok(to_cursor) } NP_TypeKeys::UTF8String => { String::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Bytes => { NP_Bytes::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int8 => { i8::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int16 => { i16::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int32 => { i32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int64 => { i64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint8 => { u8::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint16 => { u16::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint32 => { u32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint64 => { u64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Float => { f32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Double => { f64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Decimal => { NP_Dec::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Boolean => { bool::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Geo => { NP_Geo::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uuid => { NP_UUID::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Ulid => { NP_ULID::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Date => { NP_Date::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Enum => { NP_Enum::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Struct => { NP_Struct::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Map => { NP_Map::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::List => { NP_List::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Tuple => { NP_Tuple::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Portal => { NP_Portal::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Union => { NP_Union::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } _ => { Err(NP_Error::Unreachable) } } } /// Set default for this value. Not related to the schema default, this is the default value for this data type /// pub fn set_schema_default(cursor: NP_Cursor, memory: &NP_Memory) -> Result<(), NP_Error> { let schema = memory.get_schema(cursor.schema_addr); match schema.i { NP_TypeKeys::None => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Any => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Struct => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Map => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::List => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Tuple => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Portal => { return Err(NP_Error::new("Portal type does not have a default type")); }, // NP_TypeKeys::Union => { return Err(NP_Error::new("Union type does not have a default type")); }, NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err(String::schema_default(schema))?)?; }, NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err(NP_Bytes::schema_default(schema))?)?; }, NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err(i8::schema_default(schema))?)?; }, NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err(i16::schema_default(schema))?)?; }, NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err(i32::schema_default(schema))?)?; }, NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err(i64::schema_default(schema))?)?; }, NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err(u8::schema_default(schema))?)?; }, NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err(u16::schema_default(schema))?)?; }, NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err(u32::schema_default(schema))?)?; }, NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err(u64::schema_default(schema))?)?; }, NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err(f32::schema_default(schema))?)?; }, NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err(f64::schema_default(schema))?)?; }, NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err(NP_Dec::schema_default(schema))?)?; }, NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err(bool::schema_default(schema))?)?; }, NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err(NP_Geo::schema_default(schema))?)?; }, NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err(NP_UUID::schema_default(schema))?)?; }, NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err(NP_ULID::schema_default(schema))?)?; }, NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err(NP_Date::schema_default(schema))?)?; }, NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err(NP_Enum::schema_default(schema))?)?; } } Ok(()) } /// Set a JSON value into the buffer pub fn set_from_json(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &NP_Memory, json: &Box) -> Result<(), NP_Error> { if depth > 255 { return Err(NP_Error::RecursionLimit) } // if apply_null is true, we should delete values where we find "null" or "undefined" // if apply_null && **json == NP_JSON::Null { // NP_Cursor::delete(cursor, memory)?; // return Ok(()) // } if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::None => { Ok(()) }, NP_TypeKeys::Any => { Ok(()) }, NP_TypeKeys::UTF8String => { String::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Bytes => { NP_Bytes::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int8 => { i8::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int16 => { i16::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int32 => { i32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int64 => { i64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint8 => { u8::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint16 => { u16::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint32 => { u32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint64 => { u64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Float => { f32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Double => { f64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Decimal => { NP_Dec::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Boolean => { bool::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Geo => { NP_Geo::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uuid => { NP_UUID::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Ulid => { NP_ULID::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Date => { NP_Date::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Enum => { NP_Enum::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Struct => { NP_Struct::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Map => { NP_Map::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::List => { NP_List::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Tuple => { NP_Tuple::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Portal => { NP_Portal::set_from_json(depth, apply_null, cursor, memory, json) }, // NP_TypeKeys::Union => { NP_Union::set_from_json(depth, apply_null, cursor, memory, json) }, } } /// Delete the value at this cursor /// /// Returns `true` if something was deleted, `false` otherwise. /// pub fn delete(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.buff_addr == 0 { return Ok(false) } if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 0; NP_Cursor::set_schema_default(cursor, memory)? } else { cursor.get_value_mut(memory).set_addr_value(0); } Ok(true) } /// Calculate the number of bytes used by this pointer and it's descendants. /// pub fn calc_size(depth: usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { if depth > 255 { return Err(NP_Error::new("Depth error!")) } let value = cursor.get_value(memory); let type_key = memory.get_schema(cursor.schema_addr).i; // size of pointer let base_size = if type_key == NP_TypeKeys::Portal { 0 } else { value.get_size() }; // pointer is in buffer but has no value set if value.get_addr_value() == 0 { // no value, just base size return Ok(base_size); } // get the size of the value based on schema let type_size = match type_key { NP_TypeKeys::None => { Ok(0) }, NP_TypeKeys::Any => { Ok(0) }, NP_TypeKeys::UTF8String => { String::get_size(depth, cursor, memory) }, NP_TypeKeys::Bytes => { NP_Bytes::get_size(depth, cursor, memory) }, NP_TypeKeys::Int8 => { i8::get_size(depth, cursor, memory) }, NP_TypeKeys::Int16 => { i16::get_size(depth, cursor, memory) }, NP_TypeKeys::Int32 => { i32::get_size(depth, cursor, memory) }, NP_TypeKeys::Int64 => { i64::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint8 => { u8::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint16 => { u16::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint32 => { u32::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint64 => { u64::get_size(depth, cursor, memory) }, NP_TypeKeys::Float => { f32::get_size(depth, cursor, memory) }, NP_TypeKeys::Double => { f64::get_size(depth, cursor, memory) }, NP_TypeKeys::Decimal => { NP_Dec::get_size(depth, cursor, memory) }, NP_TypeKeys::Boolean => { bool::get_size(depth, cursor, memory) }, NP_TypeKeys::Geo => { NP_Geo::get_size(depth, cursor, memory) }, NP_TypeKeys::Uuid => { NP_UUID::get_size(depth, cursor, memory) }, NP_TypeKeys::Ulid => { NP_ULID::get_size(depth, cursor, memory) }, NP_TypeKeys::Date => { NP_Date::get_size(depth, cursor, memory) }, NP_TypeKeys::Enum => { NP_Enum::get_size(depth, cursor, memory) }, NP_TypeKeys::Struct => { NP_Struct::get_size(depth, cursor, memory) }, NP_TypeKeys::Map => { NP_Map::get_size(depth, cursor, memory) }, NP_TypeKeys::List => { NP_List::get_size(depth, cursor, memory) }, NP_TypeKeys::Tuple => { NP_Tuple::get_size(depth, cursor, memory) }, NP_TypeKeys::Portal => { NP_Portal::get_size(depth, cursor, memory) }, // NP_TypeKeys::Union => { NP_Union::get_size(depth, cursor, memory) }, }?; Ok(type_size + base_size) } } /// This trait is used to restrict which types can be set/get in the buffer pub trait NP_Scalar<'scalar> { /// Get the default for the schema type /// Does NOT get the `default` property of the schema, but generates a default value based on the schema settings fn schema_default(_schema: &'scalar NP_Parsed_Schema) -> Option where Self: Sized; /// Get the max value for this data type fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option where Self: Sized; /// Get the min value for this data type fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option where Self: Sized; } /// This trait is used to implement types as NoProto buffer types. /// This includes all the type data, encoding and decoding methods. #[doc(hidden)] pub trait NP_Value<'value> { /// Get the type information for this type (static) /// fn type_idx() -> (&'value str, NP_TypeKeys); /// Get the type information for this type (instance) /// fn self_type_idx(&self) -> (&'value str, NP_TypeKeys); /// Convert the schema byte array for this type into JSON /// fn schema_to_json(schema: &Vec, address: usize)-> Result; /// Export schema to IDL /// fn schema_to_idl(schema: &Vec, address: usize)-> Result; /// Parse JSON schema into schema /// fn from_idl_to_schema(schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error>; /// Parse JSON schema into schema /// fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error>; /// Parse bytes into schema /// fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec); /// Set the value of this scalar into the buffer /// fn set_value<'set>(_cursor: NP_Cursor, _memory: &'set NP_Memory, _value: Self) -> Result where Self: 'set + Sized { let message = "This type doesn't support set_value!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Set value from JSON /// fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized; /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let message = "This type doesn't support into!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Get the default value from the schema /// fn default_value(depth: usize, scham_addr: usize, schema: &'value Vec) -> Option where Self: Sized; /// Convert this type into a JSON value (recursive for collections) /// fn to_json(depth: usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON; /// Calculate the size of this pointer and it's children (recursive for collections) /// fn get_size(depth: usize, cursor: &'value NP_Cursor, memory: &'value NP_Memory) -> Result; /// Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections) /// fn do_compact(_depth: usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { match Self::into_value(&from_cursor, from_memory)? { Some(x) => { return Self::set_value(to_cursor, to_memory, x); }, None => { } } Ok(to_cursor) } } /* // unsigned integer size: 0 to (2^i) -1 // signed integer size: -2^(i-1) to 2^(i-1) */ ================================================ FILE: no_proto_rs_old/src/pointer/numbers.rs ================================================ //! NoProto supports a large number of native number types. //! //! Signed Integers:
//! [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
//!
//! Unsigned Integers:
//! [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
//!
//! Floating Point:
//! [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) //!
//! //! The details of using each number type is identical to the pattern below. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("u32()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 20380u32)?; //! //! assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! use crate::schema::NULL; use crate::schema::{NP_i8_Data, NP_i16_Data, NP_i32_Data, NP_i64_Data, NP_u8_Data, NP_u16_Data, NP_u32_Data, NP_u64_Data, NP_f32_Data, NP_f64_Data}; use alloc::sync::Arc; use crate::schema::NP_Value_Kind; use core::{str::FromStr}; use crate::pointer::JS_AST; use alloc::string::String; use alloc::prelude::v1::Box; use crate::schema::NP_Parsed_Schema; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::utils::to_signed; use crate::error::NP_Error; use crate::{schema::NP_TypeKeys, pointer::NP_Value, json_flex::NP_JSON, json_flex::JSMAP}; use alloc::string::ToString; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; /// The type of number being used #[derive(Debug)] #[doc(hidden)] pub enum NP_NumType { /// Unsigned integer type (only positive whole numbers) unsigned, /// Signed integer type (positive or negative whole numbers) signed, /// Decimal point numbers floating } macro_rules! noproto_number { ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => { impl<'value> super::NP_Scalar<'value> for $t { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MAX) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MIN) } } impl<'value> NP_Value<'value> for $t { fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::Integer(int) => { Self::set_value(cursor, memory, int as $t)?; }, NP_JSON::Float(float) => { Self::set_value(cursor, memory, float as $t)?; }, _ => {} } Ok(()) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); if let Some(default) = <$t>::np_get_default(address, &schema) { let default_val = default; match $numType { NP_NumType::signed => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::unsigned => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::floating => { schema_json.insert("default".to_owned(), NP_JSON::Float(default_val as f64)); } }; } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from($str2); if let Some(default) = <$t>::np_get_default(address, &schema) { result.push_str("({default: "); result.push_str(default.to_string().as_str()); result.push_str("})"); } else { result.push_str("()"); } Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option<$t> = None; let mut default_str: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { let trimmed = idl.get_str(addr).trim(); match trimmed.parse::<$t>() { Ok(x) => { default_str = Some(String::from(trimmed)); default = Some(x); }, Err(_e) => { } } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); if let Some(x) = default { schema_data.push(1); schema_data.extend_from_slice(&(x as $t).to_be_bytes()); } else { schema_data.push(0); } let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option { <$t>::np_get_default(addr, &schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } return Ok(cursor); } else { // new value let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let read_memory = memory.read_bytes(); let mut be_bytes = <$t>::default().to_be_bytes(); for x in 0..be_bytes.len() { be_bytes[x] = read_memory[value_addr + x]; } match $numType { NP_NumType::signed => { be_bytes[0] = to_signed(be_bytes[0]); }, _ => {} }; Ok(Some(<$t>::from_be_bytes(be_bytes))) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match $numType { NP_NumType::floating => NP_JSON::Float(y as f64), _ => NP_JSON::Integer(y as i64) } }, None => { match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) { Some(v) => { match $numType { NP_NumType::floating => { NP_JSON::Float(v as f64) }, _ => { NP_JSON::Integer(v as i64) } } }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, _ => { schema_data.push(0); } }; let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); (schema[schema.len() - 1].sortable, schema) } } } } // signed integers noproto_number!(i8, "int8", "i8", NP_TypeKeys::Int8 , NP_NumType::signed); noproto_number!(i16, "int16", "i16", NP_TypeKeys::Int16 , NP_NumType::signed); noproto_number!(i32, "int32", "i32", NP_TypeKeys::Int32 , NP_NumType::signed); noproto_number!(i64, "int64", "i64", NP_TypeKeys::Int64 , NP_NumType::signed); // unsigned integers noproto_number!(u8, "uint8", "u8", NP_TypeKeys::Uint8 , NP_NumType::unsigned); noproto_number!(u16, "uint16", "u16", NP_TypeKeys::Uint16, NP_NumType::unsigned); noproto_number!(u32, "uint32", "u32", NP_TypeKeys::Uint32, NP_NumType::unsigned); noproto_number!(u64, "uint64", "u64", NP_TypeKeys::Uint64, NP_NumType::unsigned); // floating point noproto_number!(f32, "float", "f32", NP_TypeKeys::Float , NP_NumType::floating); noproto_number!(f64, "double", "f64", NP_TypeKeys::Double, NP_NumType::floating); trait NP_BigEndian { fn np_get_default_from_json(json: &NP_JSON) -> Option where Self: Sized; fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option where Self: Sized; fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized; fn np_unwrap_default(value: Option) -> Option where Self: Sized + FromStr { if let Some(x) = value { if let Ok(y) = x.parse::() { Some(y) } else { None } } else { None } } } impl NP_BigEndian for i8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(i8::from_be_bytes(slice)) } } } #[test] fn i8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "i8({default: -98})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "i8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn i8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":56}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 56i8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(i16::from_be_bytes(slice)) } } } #[test] fn i16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(i32::from_be_bytes(slice)) } } } #[test] fn i32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); Ok(()) } #[test] fn i32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(i64::from_be_bytes(slice)) } } } #[test] fn i64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(u8::from_be_bytes(slice)) } } } #[test] fn u8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":198}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); Ok(()) } #[test] fn u8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 198u8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(u16::from_be_bytes(slice)) } } } #[test] fn u16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); Ok(()) } #[test] fn u16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(u32::from_be_bytes(slice)) } } } #[test] fn u32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); Ok(()) } #[test] fn u32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(u64::from_be_bytes(slice)) } } } #[test] fn u64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); Ok(()) } #[test] fn u64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(f32::from_be_bytes(slice)) } } } #[test] fn float_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn float_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); Ok(()) } #[test] fn float_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(f64::from_be_bytes(slice)) } } } #[test] fn double_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn double_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); Ok(()) } #[test] fn double_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/option.rs ================================================ //! Represents the string value of a choice in a schema //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"enum({choices: ["red", "green", "blue"] })"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Enum::new("green"))?; //! //! assert_eq!(NP_Enum::new("green"), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}}; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; /// Holds Enum / Option type data. /// /// Check out documentation [here](../option/index.html). /// #[derive(Clone, Debug, Eq, PartialEq)] pub enum NP_Enum { /// No value None, /// Value Some(String) } impl<'value> super::NP_Scalar<'value> for NP_Enum { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[data.choices.len() - 1].clone()) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[0].clone()) } } impl NP_Enum { /// Create a new option type with the given string pub fn new>(value: S) -> Self { NP_Enum::Some(value.into()) } /// get length of value pub fn len(&self) -> usize { match self { NP_Enum::None => 0, NP_Enum::Some(x) => x.len() } } /// get value as bytes pub fn as_bytes(&self) -> &[u8] { match self { NP_Enum::None => &[], NP_Enum::Some(x) => x.as_bytes() } } /// get string of value pub fn to_str(&self) -> &str { match self { NP_Enum::None => "", NP_Enum::Some(x) => x } } /// get string of value pub fn to_string(&self) -> String { match self { NP_Enum::None => String::from(""), NP_Enum::Some(x) => x.clone() } } } impl Default for NP_Enum { fn default() -> Self { NP_Enum::None } } impl<'value> NP_Value<'value> for NP_Enum { fn type_idx() -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; let options: Vec = data.choices.iter().map(|value| { NP_JSON::String(value.to_string()) }).collect(); if let Some(d) = &data.default { if let NP_Enum::Some(x) = &d { schema_json.insert("default".to_owned(), NP_JSON::String(x.to_string())); } } schema_json.insert("choices".to_owned(), NP_JSON::Array(options)); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(x) => { Self::set_value(cursor, memory, Self::new(x.clone()))?; }, _ => { } } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; let mut value_num: i32 = -1; { let mut ct: u16 = 0; for opt in &data.choices { if opt == &value { value_num = ct as i32; } ct += 1; }; if value_num == -1 { return Err(NP_Error::new("Option not found, cannot set uknown option!")); } } let bytes = value_num as u8; let mut addr_value = c_value().get_addr_value() as usize; if addr_value != 0 { // existing value, replace let write_bytes = memory.write_bytes(); write_bytes[addr_value] = bytes; return Ok(cursor); } else { // new value addr_value = memory.malloc_borrow(&[bytes])?; cursor.get_value_mut(memory).set_addr_value(addr_value as u32); return Ok(cursor); } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from("enum({"); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; if let Some(x) = &data.default { if let NP_Enum::Some(stri) = x { result.push_str("default: \""); result.push_str(&stri); result.push_str("\", "); } } result.push_str("choices: ["); let last_choice = data.choices.len() - 1; for (idx, choice) in data.choices.iter().enumerate() { result.push_str("\""); if let NP_Enum::Some(stri) = choice { result.push_str(stri.as_str()); } result.push_str("\""); if idx < last_choice { result.push_str(", "); } } result.push_str("]"); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; let mut default_value: Option = None; let mut default_index: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::string { addr } => { default_stir = Some(String::from(idl.get_str(addr))); }, _ => { } } }, "choices" => { match value { JS_AST::array { values } => { for choice in values { match choice { JS_AST::string { addr } => { let stir = idl.get_str(addr); if stir.len() > 255 { return Err(NP_Error::new("'enum' choices cannot be longer than 255 characters each!")) } choices.push(NP_Enum::new(String::from(stir))); }, _ => { } } } }, _ => { } } }, _ => { } } } }, _ => { } } } if choices.len() > 254 { return Err(NP_Error::new("Enum types cannot have more than 254 choices!")) } else if choices.len() == 0 { return Err(NP_Error::new("Enum types must have at least one choice!")) } if let Some(x) = &default_stir { for (idx, choice) in choices.iter().enumerate() { if x == choice.to_str() { default_value = Some(choice.clone()); default_index = Some(idx as u8); } } } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices, default: default_value})) as *const u8) }); return Ok((true, schema_data, schema)); } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Ok(match memory.get_1_byte(value_addr) { Some(x) => { let value_num = x as usize; if value_num > data.choices.len() { None } else { Some(data.choices[value_num].clone()) } }, None => None }) } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_Enum_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match y { NP_Enum::Some(str_value) => { NP_JSON::String(str_value.to_string()) }, NP_Enum::None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(val) => { NP_JSON::String(val.clone()) }, NP_Enum::None => { NP_JSON::Null } } } else { NP_JSON::Null } } } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(x) => NP_JSON::String(x.clone()), NP_Enum::None => NP_JSON::Null } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_address = c_value().get_addr_value() as usize; if value_address == 0 { return Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; match &json_schema["default"] { NP_JSON::String(def) => { default_stir = Some(def.clone()); }, _ => {} } let mut default_value: Option = None; let mut default_index: Option = None; match &json_schema["choices"] { NP_JSON::Array(x) => { for opt in x { match opt { NP_JSON::String(stir) => { if stir.len() > 255 { return Err(NP_Error::new("'option' choices cannot be longer than 255 characters each!")) } if let Some(def) = &default_stir { if def == stir { default_value = Some(NP_Enum::new(def.clone())); default_index = Some(choices.len() as u8); } } choices.push(NP_Enum::new(stir.clone())); }, _ => {} } } }, _ => { return Err(NP_Error::new("'option' type requires a 'choices' key with an array of strings!")) } } if choices.len() > 254 { return Err(NP_Error::new("'option' type cannot have more than 254 choices!")) } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let mut default_index: Option = None; let mut default_value: Option = None; if bytes[address + 1] > 0 { default_index = Some(bytes[address + 1] - 1); } let choices_len = bytes[address + 2]; let mut choices: Vec = Vec::new(); let mut offset: usize = address + 3; for x in 0..choices_len { let choice_size = bytes[offset] as usize; let choice_bytes = &bytes[(offset + 1)..(offset + 1 + choice_size)]; let choice_string = unsafe { core::str::from_utf8_unchecked(choice_bytes) }; choices.push(NP_Enum::new(choice_string.to_string())); offset += 1 + choice_size; if let Some(def) = default_index { if def == x { default_value = Some(NP_Enum::new(choice_string.to_string())); } } } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"enum({default: "hello", choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = r#"enum({choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Enum::new("hello")); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Enum::new("hello"))?; assert_eq!(buffer.get::(&[])?, Some(NP_Enum::new("hello"))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/portal.rs ================================================ //! Clone type for recursion or duplicating data types. //! //! Portal types allow you to teleport a type from one part of a schema to another. //! //! This is useful for recursive types or if you'd like one type to be duplicated into multiple fields. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! // use portal to duplicate type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! point1: struct({fields: { x: i32(), y: i32() }}), //! point2: portal({ to: "point1" }) // point2 is a "clone" of point1 //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["point1", "x"], 200i32)?; //! new_buffer.set(&["point1", "y"], 100i32)?; //! //! // point2 can be treated just like point1 //! new_buffer.set(&["point2", "x"], 250i32)?; //! new_buffer.set(&["point2", "y"], 150i32)?; //! //! assert_eq!(new_buffer.get::(&["point1", "x"])?, Some(200i32)); //! assert_eq!(new_buffer.get::(&["point1", "y"])?, Some(100i32)); //! //! assert_eq!(new_buffer.get::(&["point2", "x"])?, Some(250i32)); //! assert_eq!(new_buffer.get::(&["point2", "y"])?, Some(150i32)); //! //! // use portal for recursive type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! node: u32(), //! child: portal({ to: "" }) // child is a clone of the root object //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["node"], 1u32)?; //! new_buffer.set(&["child", "node"], 2u32)?; //! new_buffer.set(&["child", "child", "node"], 3u32)?; //! new_buffer.set(&["child", "child", "child", "node"], 4u32)?; //! //! assert_eq!(Some(1u32), new_buffer.get(&["node"])?); //! assert_eq!(Some(2u32), new_buffer.get(&["child", "node"])?); //! assert_eq!(Some(3u32), new_buffer.get(&["child", "child", "node"])?); //! assert_eq!(Some(4u32), new_buffer.get(&["child", "child", "child", "node"])?); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Portal_Data, NP_Value_Kind}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor}; /// Defines the behavior of the portal data type pub struct NP_Portal(); impl<'value> NP_Value<'value> for NP_Portal { fn type_idx() -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); schema_json.insert( "to".to_owned(), NP_JSON::String(data.path.clone()) ); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Portal_Data) }; let mut result = String::from("portal({to: \""); result.push_str(data.path.as_str()); result.push_str("\"});"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut to: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "to" => { match value { JS_AST::string { addr } => { to = Some(String::from(idl.get_str(addr).trim())); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(path) = to { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); Ok((false, schema_vec, schema)) } else { Err(NP_Error::new("Portal types require a 'to' parameter!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); match &json_schema["to"] { NP_JSON::String(path) => { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); }, _ => return Err(NP_Error::new("Portal types require a 'to' parameter!")) } Ok((false, schema_vec, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let path_size: [u8; 2] = unsafe { *((&bytes[(address+1)..(address+3)]) as *const [u8] as *const [u8; 2]) }; let path_size = u16::from_be_bytes(path_size) as usize; let path = &bytes[(address+3)..(address+3+path_size)]; let path_str = unsafe { core::str::from_utf8_unchecked(path) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: String::from(path_str), schema: 0, parent_schema: 0 })) as *const u8) }); (false, schema) } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { None } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::json_encode(depth + 1, &next, memory) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::set_from_json(depth + 1, apply_null, next, memory, value) } fn get_size(depth:usize, cursor: &'value NP_Cursor, memory: &'value NP_Memory) -> Result { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::calc_size(depth + 1, &next, memory) } fn do_compact(depth:usize, mut from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Portal_Data) }; from_cursor.schema_addr = data.schema; from_cursor.parent_schema_addr = data.parent_schema; to_cursor.schema_addr = data.schema; to_cursor.parent_schema_addr = data.parent_schema; NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"portal\",\"to\":\"\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn infinite_recursion() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": "nested"}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); match buffer.set(&["nested","nested", "nested"], "hello infinite") { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } match buffer.get::<&str>(&["nested","nested", "nested"]) { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": ""}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["nested", "street"], "hello street")?; buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); buffer.del(&["nested", "street"])?; buffer.compact(None)?; assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // testing set with JSON buffer.set_with_json(&[], r#"{"value":{"street": "foo", "nested": {"street": "foo2"}}}"#)?; assert_eq!(Some("foo"), buffer.get::<&str>(&["street"])?); assert_eq!(Some("foo2"), buffer.get::<&str>(&["nested", "street"])?); let schema = r#"{ "type": "struct", "fields": [ ["username", {"type": "string"}], ["email" , {"type": "string"}], ["address", {"type": "struct", "fields": [ ["street", {"type": "string"}], ["city", {"type": "string"}], ["more", {"type": "portal", "to": "address"}] ]}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/string.rs ================================================ //! NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("string()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], "I want to play a game")?; //! //! assert_eq!("I want to play a game", new_buffer.get::<&str>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use alloc::prelude::v1::Box; use crate::{error::NP_Error, idl::{JS_AST, JS_Schema}, schema::{NP_String_Data, NP_Value_Kind, String_Case}}; use crate::{ json_flex::JSMAP, memory::NP_Memory, schema::{NP_Parsed_Schema}, }; use crate::{json_flex::NP_JSON, pointer::NP_Value, schema::NP_TypeKeys}; use alloc::vec::Vec; use super::{NP_Cursor, NP_Scalar}; use alloc::borrow::ToOwned; use core::str; use alloc::string::ToString; /// &str type alias pub type NP_String<'string> = &'string str; // impl<'value> NP_Scalar<'value> for &'value str { // fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { // None // } // } impl<'value> NP_Scalar<'value> for String { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let size = data.size; Some(if size > 0 { let mut v: String = String::with_capacity(size as usize); for _x in 0..size { v.push(' '); } v } else { String::from("") }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[128])}); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[32])}); } Some(value) } } } impl<'value> NP_Value<'value> for String { fn type_idx() -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn schema_to_json(schema: &Vec, address: usize) -> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); match data.case { String_Case::Uppercase => { schema_json.insert("uppercase".to_owned(), NP_JSON::True); }, String_Case::Lowercase => { schema_json.insert("lowercase".to_owned(), NP_JSON::True); }, _ => {} } if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size.clone().into())); } if let Some(default_value) = &data.default { schema_json.insert( "default".to_owned(), NP_JSON::String(default_value.to_string()), ); } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("\""); def.push_str(x.as_str()); def.push_str("\""); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } match data.case { String_Case::Uppercase => { properties.push(String::from("uppercase: true")); }, String_Case::Lowercase => { properties.push(String::from("lowercase: true")); }, _ => {} } if properties.len() == 0 { Ok(String::from("string()")) } else { let mut final_str = String::from("string({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); Ok(final_str) } } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "lowercase" => { case_byte = String_Case::Lowercase; set += 1; }, "uppercase" => { case_byte = String_Case::Uppercase; set += 1; }, "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::string { addr } => { default = Some(String::from(idl.get_str(addr))) }, _ => { } } } _ => { } } } } _ => { } } } if set == 2 { return Err(NP_Error::new("Only one of uppercase or lowercase can be set!")); } schema_data.push(case_byte as u8); if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { let str_bytes = x.as_bytes(); schema_data.extend_from_slice(&((str_bytes.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(str_bytes); } else { schema_data.extend_from_slice(&0u16.to_be_bytes()); } let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, value.clone())?; }, _ => {} } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // case byte let case_byte = String_Case::from(bytes[address + 1]); // fixed size let fixed_size = u32::from_be_bytes([bytes[address + 2], bytes[address + 3],bytes[address + 4], bytes[address + 5]]); // default value size let default_size = u16::from_be_bytes([bytes[address + 6], bytes[address + 7]]) as usize; let mut empty: Vec = Vec::new(); for _x in 0..fixed_size { empty.push(32); } if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: None, case: case_byte, empty })) as *const u8) }) } else { let default_bytes = str::from_utf8(&bytes[(address + 8)..(address + 8 + (default_size - 1))]).unwrap_or_default(); schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: Some(default_bytes.to_string()), case: case_byte, empty })) as *const u8) }) } (fixed_size > 0, schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_String::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_String::into_value(cursor, memory)? { Some(x) => Ok(Some(String::from(x))), None => Ok(None) } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length bytes return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; match json_schema["lowercase"] { NP_JSON::True => { case_byte = String_Case::Lowercase; set += 1; }, _ => {} } match json_schema["uppercase"] { NP_JSON::True => { case_byte = String_Case::Uppercase; set += 1; }, _ => {} } if set == 2 { return Err(NP_Error::new("Only one of uppercase and lowercase can be set!")); } schema_data.push(case_byte as u8); let mut has_fixed_size = false; let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0u32 } }; let default = match &json_schema["default"] { NP_JSON::String(bytes) => { let str_bytes = bytes.clone().into_bytes(); if str_bytes.len() > u32::MAX as usize - 1 { return Err(NP_Error::new( "Default string value cannot be larger than 2^32 bytes!", )); } schema_data.extend(((str_bytes.len() + 1) as u16).to_be_bytes().to_vec()); schema_data.extend(str_bytes); Some(bytes.to_string()) } _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => match x { Some(y) => NP_JSON::String(y.to_string()), None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; match &data.default { Some(x) => NP_JSON::String(x.to_string()), None => NP_JSON::Null, } } }, Err(_e) => NP_JSON::Null, } } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { match NP_String::default_value(0, schema_addr, schema) { Some(x) => Some(String::from(x)), None => None } } } impl<'value> NP_Scalar<'value> for NP_String<'value> { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_String<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { String::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { String::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { String::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let (size, case) = (data.size, data.case); let mut bytes = value.as_bytes(); let mut owned: String; match case { String_Case::Uppercase => { owned = String::from(value); owned.make_ascii_uppercase(); bytes = owned.as_bytes(); }, String_Case::Lowercase => { owned = String::from(value); owned.make_ascii_lowercase(); bytes = owned.as_bytes(); }, _ => {} } let str_size = bytes.len() as usize; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let new_addr = memory.malloc_borrow(&data.empty)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; let write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is white space write_bytes[(addr + x)] = 32; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); let write_bytes = memory.write_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn default_value(_depth: usize, schema_addr: usize,schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_String_Data) }; match &data.default { Some(x) => Some(x), None => None, } } /// This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("string()")) } /// This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0u8; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { String::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { String::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { String::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { String::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"string({default: "hello"})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({size: 10})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({lowercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({uppercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string()"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"lowercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"uppercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello"); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[] as &[&str], "hello there this sentence is long")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello there this sen"); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello there this sentence is long")?; assert_eq!( buffer.get::<&str>(&[])?.unwrap(), "hello there this sentence is long" ); buffer.del(&[])?; assert_eq!(buffer.get::<&str>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } #[test] fn uppercase_lowercase_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"lowercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "HELLO")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"hello"); let schema = "{\"type\":\"string\",\"uppercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"HELLO"); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/ulid.rs ================================================ //! Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness //! //! Useful for storing time stamp data that doesn't have collisions. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::ulid::NP_ULID; //! //! let factory: NP_Factory = NP_Factory::new("ulid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let ulid = NP_ULID::generate(1604965249484, 50); //! new_buffer.set(&[], &ulid)?; //! //! assert_eq!("01EPQP4CEC93KANC3XYNG9YKAQ", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}, utils::from_base32}; use alloc::{sync::Arc, vec::Vec}; use crate::utils::to_base32; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter}}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Holds ULIDs which are good for time series keys. /// /// Check out documentation [here](../ulid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_ULID { value: [u8; 16] } /// ULID alias for shared type pub type _NP_ULID<'a> = &'a NP_ULID; impl NP_ULID { /// Creates a new ULID from the timestamp and provided seed. /// /// The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed. /// /// The time should be passed in as the unix epoch in milliseconds. pub fn generate(now_ms: u64, random_seed: u32) -> NP_ULID { let mut rng = Rand::new(random_seed); let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = rng.gen_range(0, 255) as u8; } } NP_ULID { value: id } } /// Generates a ULID with the given time and a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(now_ms: u64, random_fn: F) -> NP_ULID where F: Fn() -> u8 { let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = random_fn(); } } NP_ULID { value: id } } /// Get just the timestamp for this ULID pub fn get_time(&self) -> u64 { let mut time_bytes: [u8; 8] = [0; 8]; for (i, x) in self.value.iter().take(6).enumerate() { time_bytes[i + 2] = *x; } u64::from_be_bytes(time_bytes) } /// Get the random component of this ULID pub fn get_random(&self) -> &[u8; 10] { unsafe { &*(&self.value[6..] as *const [u8] as *const [u8; 10]) } } /// Generates a stringified version of this ULID with base32. /// pub fn to_string(&self) -> String { let mut result: String = "".to_owned(); let mut time_bytes: [u8; 16] = [0; 16]; let mut rand_bytes: [u8; 16] = [0; 16]; for (i, x) in self.value.iter().enumerate() { if i < 6 { time_bytes[i + 10] = *x; } else { rand_bytes[i] = *x; } } result.push_str(to_base32(u128::from_be_bytes(time_bytes), 10).as_str()); result.push_str(to_base32(u128::from_be_bytes(rand_bytes), 16).as_str()); result } /// Encode a ULID into bytes pub fn from_string>(value: S) -> Self { let time_bytes = from_base32(&value.as_ref()[..10]).to_be_bytes(); let rand_bytes = from_base32(&value.as_ref()[10..]).to_be_bytes(); let mut result = NP_ULID { value: [0; 16] }; for i in 0..16 { if i < 6 { result.value[i] = time_bytes[i + 10]; } else { result.value[i] = rand_bytes[i]; } } result } } impl Default for NP_ULID { fn default() -> Self { NP_ULID { value: [0u8; 16]} } } impl Debug for NP_ULID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl<'value> NP_Scalar<'value> for NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_ULID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_ULID::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_ULID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Ulid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_ULID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_ULID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_ULID::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_ULID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_ULID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_ULID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_ULID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_ULID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "ulid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_ULID::generate(1606680515909, 212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, Some(&set_value)); assert_eq!(buffer.get::<&NP_ULID>(&[])?.unwrap().to_string(), "01ERASY5A5KVKANC1CJGRZXYW8"); assert_eq!(set_value.value, NP_ULID::from_string("01ERASY5A5KVKANC1CJGRZXYW8").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/pointer/union.rs ================================================ //! Clone type for recursive or duplicating data types. //! use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Schema_Addr, NP_Value_Kind}}; use crate::NP_Schema; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Defines the behavior of the union data type #[derive(Debug)] pub struct NP_Union { /// The value of this union pub value: Option, /// If the set value is a default pub is_default: bool } impl<'value> NP_Scalar<'value> for NP_Union { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl NP_Union { /// Select into a union type pub fn select(mut cursor: NP_Cursor, types: &Vec<(u8, String, usize)>, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { match types.iter().position(|val| { val.1 == key }) { Some(x) => { if schema_query { let schema_value = &types[x]; cursor.parent_schema_addr = cursor.schema_addr; cursor.schema_addr = schema_value.2; return Ok(Some(cursor)) } let union_value = cursor.get_value(memory); let addr_value = union_value.get_addr_value(); if addr_value == 0 { // no value here if make_path { // need to make a new value // 1 byte for union value, 2 bytes for pointer let new_addr = memory.malloc_borrow(&[0u8; 3])?; union_value.set_addr_value(new_addr as u32); } else { // found nothing return Ok(None) } } let addr_value = union_value.get_addr_value() as usize; let union_index = memory.read_bytes()[addr_value]; // nothing set at union and can't make value, so return None if union_index == 0 && make_path == false { return Ok(None) } if union_index == 0 { // no value at this union yet // set index of union value memory.write_bytes()[addr_value] = (x as u8) + 1; // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else if union_index == (x as u8) + 1 { // union value matches query // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else { // value is set by requested index does not match value in union return Ok(None); } }, None => return Ok(None) } } } impl<'value> NP_Value<'value> for NP_Union { fn type_idx() -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn schema_to_json(schema: &Vec, address: usize)-> Result { // let mut schema_json = JSMAP::new(); // schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); // let types: Vec = match &schema[address] { // NP_TypeKeys::Union { types, .. } => { // types.into_iter().map(|column| { // let mut cols: Vec = Vec::new(); // cols.push(NP_JSON::String(column.1.to_string())); // cols.push(NP_Schema::_type_to_json(&schema, column.2).unwrap_or(NP_JSON::Null)); // NP_JSON::Array(cols) // }).collect() // }, // _ => Vec::new() // }; // schema_json.insert("types".to_owned(), NP_JSON::Array(types)); // Ok(NP_JSON::Dictionary(schema_json)) todo!() } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { todo!() } fn from_idl_to_schema(_schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { todo!() } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { // let mut schema_bytes: Vec = Vec::new(); // schema_bytes.push(NP_TypeKeys::Union as u8); // let schema_table_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: Vec::new(), // default: 0 // }); // let mut columns_mapped = Vec::new(); // let mut types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let mut column_data: Vec<(String, Vec)> = Vec::new(); // let mut schema_parsed: Vec = schema; // match &json_schema["types"] { // NP_JSON::Array(cols) => { // let mut x: u8 = 0; // for col in cols { // let column_name = match &col[0] { // NP_JSON::String(x) => x.clone(), // _ => "".to_owned() // }; // if column_name.len() > 255 { // return Err(NP_Error::new("Union type names cannot be longer than 255 characters!")) // } // let column_schema_addr = schema_parsed.len(); // types.push((x, column_name.clone(), column_schema_addr)); // let (_is_sortable, column_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; // schema_parsed = schema_p; // columns_mapped.push(column_name.to_string()); // column_data.push((column_name, column_type)); // x += 1; // } // }, // _ => { // return Err(NP_Error::new("Unions require a 'types' property that is an array of schemas!")) // } // } // schema_parsed[schema_table_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: types, // default: 0 // }; // if column_data.len() > 254 { // return Err(NP_Error::new("Unions cannot have more than 254 types!")) // } // if column_data.len() == 0 { // return Err(NP_Error::new("Unions must have at least one type!")) // } // // number of columns // schema_bytes.push(column_data.len() as u8); // for col in column_data { // // colum name // let bytes = col.0.as_bytes().to_vec(); // schema_bytes.push(bytes.len() as u8); // schema_bytes.extend(bytes); // if col.1.len() > u16::MAX as usize { // return Err(NP_Error::new("Schema overflow error!")) // } // // column type // schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); // schema_bytes.extend(col.1); // } // return Ok((false, schema_bytes, schema_parsed)) todo!() } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // let column_len = bytes[address + 1]; // let mut parsed_types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let table_schema_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // default: 0, // types: Vec::new() // }); // let mut schema_parsed = schema; // let mut offset = address + 2; // let mut hash_map = Vec::new(); // for x in 0..column_len as usize { // let col_name_len = bytes[offset] as usize; // let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; // let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; // offset += 1 + col_name_len; // let schema_size = u16::from_be_bytes([ // bytes[offset], // bytes[offset + 1] // ]) as usize; // let column_addr = schema_parsed.len(); // let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); // schema_parsed = schema; // parsed_types.push((x as u8, col_name.to_string(), column_addr)); // hash_map.push(col_name.to_string()); // offset += schema_size + 2; // } // schema_parsed[table_schema_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: parsed_types, // default: 0 // }; // (false, schema_parsed) todo!() } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { todo!() } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { todo!() } /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { // let message = "This type doesn't support into!".to_owned(); // Err(NP_Error::new(message.as_str())) todo!() } fn to_json(_depth:usize, _cursor: &NP_Cursor, _memory: &'value NP_Memory) -> NP_JSON { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::json_encode(depth + 1, &next, memory) // }, // _ => NP_JSON::Null // } todo!() } fn get_size(_depth:usize, _cursor: &'value NP_Cursor, _memory: &'value NP_Memory) -> Result { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::calc_size(depth + 1, &next, memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } fn do_compact<, M2: NP_Memory>(_depth:usize, mut _from_cursor: NP_Cursor, _from_memory: &'value NP_Memory, mut _to_cursor: NP_Cursor, _to_memory: &'value NP_Memory2) -> Result where Self: 'value + Sized { // match from_memory.get_schema(from_cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // from_cursor.schema_addr = *schema; // from_cursor.parent_schema_addr = *parent_schema; // to_cursor.schema_addr = *schema; // to_cursor.parent_schema_addr = *parent_schema; // NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"union","types":[["value1",{"type":"string"}],["value2",{"type":"uint8"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } // #[test] // fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { // let schema = r#"{ // "type": "union", // "default": "uknown", // "types": [ // ["uknown", {"type": "bool", "default": true}], // ["unemployed", {"type": "bool"}], // ["employed", {"type": "string"}], // ["school", {"type": "string"}], // ["selfemployed", {"type": "bool"}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["nested", "street"], "hello street")?; // buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; // assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); // buffer.del(&["nested", "street"])?; // buffer.compact(None)?; // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // let schema = r#"{ // "type": "struct", // "types": [ // ["username", {"type": "string"}], // ["email" , {"type": "string"}], // ["address", {"type": "struct", "types": [ // ["street", {"type": "string"}], // ["city", {"type": "string"}], // ["more", {"type": "portal", "to": "address"}] // ]}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; // assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); // Ok(()) // } ================================================ FILE: no_proto_rs_old/src/pointer/uuid.rs ================================================ //! Represents a V4 UUID, good for globally unique identifiers //! //! `uuid` types are always represented with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new("uuid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let uuid = NP_UUID::generate(50); //! new_buffer.set(&[], &uuid)?; //! //! let b_uuid: Option = new_buffer.get::(&[])?; //! assert_eq!(Some(uuid), b_uuid); //! //! assert_eq!("48E6AAB0-7DF5-409F-4D57-4D969FA065EE", b_uuid.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}}; use alloc::prelude::v1::Box; use crate::pointer::NP_Scalar; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter, Write}}; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; use super::NP_Cursor; /// Holds UUID which is good for random keys. /// /// Check out documentation [here](../uuid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_UUID { /// The random bytes for this UUID pub value: [u8; 16] } /// ULID alias for shared value pub type _NP_UUID<'a> = &'a NP_UUID; impl NP_UUID { /// Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible. /// pub fn generate(random_seed: u32) -> Self { let mut uuid = NP_UUID { value: [0; 16] }; let mut rng = Rand::new(random_seed); for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + rng.gen_range(0, 15) as u8; } else { uuid.value[x] = rng.gen_range(0, 255) as u8; } } uuid } /// Generates a UUID with a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(random_fn: F) -> Self where F: Fn() -> u8 { let mut uuid = NP_UUID { value: [0; 16] }; for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + (random_fn() % 17) - 1; } else { uuid.value[x] = random_fn(); } } uuid } /// Create a UUID from a string representation /// pub fn from_string>(uuid: S) -> NP_UUID { let cleaned: String = String::from(uuid.as_ref()).replace("-", "").to_uppercase(); let mut value: [u8; 16] = [0; 16]; for x in 0..16usize { let step = x * 2; match u8::from_str_radix(&cleaned[step..(step + 2)], 16) { Ok(byte) => { value[x] = byte }, _ => {} } } NP_UUID { value } } /// Generates a stringified version of the UUID. /// pub fn to_string(&self) -> String { let mut result = String::with_capacity(32); for x in 0..self.value.len() { if x == 4 || x == 6 || x == 8 || x == 10 { result.push_str("-"); } let byte = self.value[x] as u8; write!(result, "{:02X}", byte).unwrap_or(()); } result } } impl Debug for NP_UUID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl Default for NP_UUID { fn default() -> Self { NP_UUID { value: [0; 16] } } } impl<'value> NP_Scalar<'value> for NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_UUID::set_value(cursor, memory, &value) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_UUID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_UUID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Uuid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_UUID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_UUID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_UUID::schema_to_json(_schema, _address) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_UUID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_UUID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_UUID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_UUID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_UUID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "uuid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_UUID::generate(212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, Some(&NP_UUID::generate(212))); assert_eq!(buffer.get::<&NP_UUID>(&[])?.unwrap().to_string(), "9EE6AAB0-2C94-41FE-FB88-42F73253F217"); assert_eq!(set_value.value, NP_UUID::from_string("9EE6AAB0-2C94-41FE-FB88-42F73253F217").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/src/rpc.rs ================================================ //! Remote Procedure Call APIs //! //! You can optionally omit all the RPC related code with `features = []` in your cargo.toml //! //! The NoProto RPC framework builds on top of NoProto's format and Rust's conventions to provide a flexible, powerful and safe RPC protocol. //! //! This RPC framework has *zero* transport code and is transport agnostic. You can send bytes between the server/client using any method you'd like. //! //! It's also possible to send messages in either direction, the Client & Server both have the ability to encode/decode requests and responses. //! //! # RPC JSON Spec //! //! Before you can send bytes between servers and clients, you must let NoProto know the shape and format of your endpoints, requests and responses. Like schemas, RPC specs are written as JSON. //! //! Any fields in your spec not required by the library will simply be ignored. //! //! ## Required Fields //! //! ### id, version //! The `id` property should be a V4 UUID you've generated yourself. This [website](https://www.uuidgenerator.net/version4) can help generate a UUID for you. The `version` property should be a semver string like `0.1.0` or `1.0.0` or `0.0.23`. //! //! The `id` and `version` data is encoded in every request and response. If you attempt to open a request or response that does not match the `version` and `id` of the specification you're using, the request/response will fail to open. //! //! ### name //! The `name` property is the title for your specification. Should be something appropriate like "Todo App RPC" or "User Account RPC". //! //! ### author //! The `author` property is a string and can contain any value. You can put your name here, your companies name, your email, whatever you'd like. //! //! ### spec //! Is an array of RPC specifications described below, this is the root of your specifications. The array should be at property `spec`. //! //! ## RPC Specifications //! //! There are 4 different kinds of values allowed in the `spec` array. They can be in any order and you can have as many of each type as you'd like. //! //! //! #### 1. Message //! RPC messages are named NoProto schemas. They must have a `msg` property with the name of the schema, then a `type` property for the schema type. The messages MUST be valid NoProto schemas. //! //! ```text //! // Some valid messages //! {"msg": "user_id", "type": "u32"} //! //! {"msg": "address", "type": "struct", "fields": [ //! ["street", {"type": "string"}], //! ["city", {"type": "string"}] //! ]} //! //! {"msg": "tags", "type": "list", "of": {"type": "string"}} //! ``` //! //! #### 2. RPC Method //! Methods are named endpoints with arguments and responses. The arguments and responses MUST reference messages. They always contain a `rpc` property and an `fn` property which describes the endpoint arguments and return types. //! //! RPC methods can have between 0 and 1 arguments and can return nothing, a value T, an option<T> or, Result<T,E> //! ```text //! // Some valid RPC methods //! {"rpc": "get_count", "fn": "() -> self::count"} //! //! {"rpc": "get_user", "fn": "(self::user_id) -> Option"} //! //! {"rpc": "del_user", "fn": "(self::user_id) -> Result<(), self::error>"} //! //! {"rpc": "add_one", "fn": "(self::add_arg) -> Result"} //! //! {"rpc": "trigger_action", "fn": "() -> ()"} //! ``` //! //! #### 3. RPC Module //! You can create nested namespaces inside your specification that contain their own specification. Namespaces require a `mod` property and `spec` property. //! //! ```text //! // a valid RPC module //! {"mod": "user", "spec": [ //! {"msg": "user_id", "type": "u32"}, //! {"msg": "user_name", "type": "string"}, //! {"rpc": "get_username", "fn": "(self::user_id) -> Option"} //! ]} //! ``` //! //! #### 4. Comments //! You can insert string comments anywhere in your spec. //! //! ### RPC Namespaces & Modules //! //! I'm sure you've noticed the `self` being used above in the function definitions. You can create messages anywhere in your specification and they can be accessed by any RPC method in any namespace using the namespace syntax. //! //! Methods can always access messages in their own namespace using `self`. Otherwise, the top of the name space is `mod` and messages in other namespaces can be used by their names. For example, let's say we had a message named `delete` inside the `modify` RPC module inside the `user` RPC module. That message could be accessed by any RPC method with `mod::user::modify::delete`. //! //! That might be confusing so here's an example RPC spec with some fancy namespacing. //! //! ## Example RPC JSON SPEC //! //! ```text //! { //! "name": "TEST API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! "this is a comment", //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! {"mod": "admin", "spec": [ //! {"rpc": "update_user", "fn": "(mod::user::user_id) -> Result<(), mod::Error>"} //! ]} //! ]} //! ] //! } //! ``` //! //! //! # Using the RPC Framework //! //! ```rust //! use no_proto::rpc::{NP_RPC_Factory, NP_ResponseKinds, NP_RPC_Response, NP_RPC_Request}; //! use no_proto::error::NP_Error; //! //! // You can generate an RPC Factory with this method. //! // Like NoProto Factories, this RPC factory can be used to encode/decode any number of requests/responses. //! //! let rpc_factory = NP_RPC_Factory::new(r#"{ //! "name": "Test API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! ]} //! ] //! }"#)?; //! //! // rpc_factory should be initilized on server and client using an identical JSON RPC SPEC //! // Both server and client can encode/decode responses and requests so the examples below are only a convention. //! //! //! //! // SIMPLE EXAMPLE //! //! // === CLIENT === //! // generate request //! let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; //! // close request (request has no arguments) //! let count_req_bytes: Vec = get_count.rpc_close(); //! //! // === SEND count_req_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; //! assert_eq!(a_request.rpc_name(), "get_count"); //! // generate a response //! let mut count_response: NP_RPC_Response = a_request.new_response()?; //! // set response data //! count_response.data.set(&[], 20u32)?; //! // set response kind //! count_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = count_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let count_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(count_response.rpc_name(), "get_count"); //! // confirm that we got data in the response //! assert_eq!(count_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data the server sent //! assert_eq!(count_response.data.get(&[])?, Some(20u32)); //! //! //! //! // RESULT EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as ok with data //! del_response.data.set(&[], 50u32)?; //! del_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data set on the server //! assert_eq!(del_response.data.get(&[])?, Some(50u32)); //! //! //! //! // RESULT EXAMPLE 2 //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as error //! del_response.error.set(&[], "Can't find user.")?; //! del_response.kind = NP_ResponseKinds::Error; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm we recieved error response //! assert_eq!(del_response.kind, NP_ResponseKinds::Error); //! // get the error information //! assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); //! //! //! //! // OPTION EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; //! get_user.data.set(&[], "username")?; //! let get_user_bytes: Vec = get_user.rpc_close(); //! //! // === SEND get_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.get_user_id"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as none //! del_response.kind = NP_ResponseKinds::None; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.get_user_id"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::None); //! // with NONE response there is no data //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use alloc::str::from_utf8_unchecked; use crate::{hashmap::{SEED, murmurhash3_x86_32}}; use crate::{hashmap::NP_HashMap, pointer::uuid::NP_UUID, utils::opt_err}; use crate::NP_Factory; use crate::NP_Schema; use alloc::prelude::v1::Box; use crate::json_decode; use alloc::string::String; use alloc::vec::Vec; use alloc::string::ToString; use crate::{NP_JSON, buffer::NP_Buffer, error::NP_Error}; /// The different kinds of rpc functions #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[doc(hidden)] #[repr(u8)] pub enum RPC_Fn_Kinds { /// Normal function, doesn't return result or option normal, /// This function returns a result result, /// This function returns an option option } impl From for RPC_Fn_Kinds { fn from(value: u8) -> Self { if value > 2 { return RPC_Fn_Kinds::normal; } unsafe { core::mem::transmute(value) } } } #[derive(Debug, Clone, Copy)] #[doc(hidden)] struct NP_Str_Addr { idx: usize, len: usize } /// RPC Specifications /// #[derive(Debug)] #[doc(hidden)] enum NP_RPC_Spec { /// RPC Function RPC { /// Full path (module_path::name) full_name: NP_Str_Addr, /// RPC Message argument address arg: Option, /// RPC Message result address result: Option, /// RPC message error address (f this is a result kind of function) err: Option, /// The kind of function this is kind: RPC_Fn_Kinds }, /// RPC Message MSG { /// Factory for this message factory: NP_Factory } } /// RPC Factory #[derive(Debug)] pub struct NP_RPC_Factory<'fact> { /// Name of API name: NP_Str_Addr, /// API Author author: NP_Str_Addr, /// Specification for this factory spec: NP_RPC_Specification<'fact>, method_hash: NP_HashMap, /// blank buffer empty: NP_Factory } #[derive(Debug)] #[doc(hidden)] enum NP_RCP_Spec<'spec> { Owned(Vec), Borrwed(&'spec [u8]) } impl<'spec> NP_RCP_Spec<'spec> { #[inline(always)] pub fn write(&mut self) -> Result<&mut Vec, NP_Error> { match self { NP_RCP_Spec::Owned(vec) => Ok(vec), _ => Err(NP_Error::Unreachable) } } #[inline(always)] pub fn read(&self) -> &[u8] { match self { NP_RCP_Spec::Owned(vec) => vec, NP_RCP_Spec::Borrwed(vec) => *vec } } } /// RPC Specification #[derive(Debug)] #[doc(hidden)] pub struct NP_RPC_Specification<'spec> { /// Specification for this factory specs: Vec, bytes: NP_RCP_Spec<'spec>, /// Message HashMap spec_msg_hash: NP_HashMap, id_hash: [u8; 4] } impl<'spec> NP_RPC_Specification<'spec> { fn read_str(&self, addr: &NP_Str_Addr) -> &str { let end = addr.idx + addr.len; if end > self.bytes.read().len() { "" } else { unsafe { from_utf8_unchecked(&self.bytes.read()[addr.idx..end]) } } } } struct Parsed_Fn { /// RPC Message argument address pub arg: String, /// RPC Message result address pub result: String, /// RPC message error address (f this is a result kind of function) pub err: String, /// The kind of function this is pub kind: RPC_Fn_Kinds } #[inline(always)] fn read_u16(bytes: &[u8], offset: usize) -> usize { u16::from_be_bytes(unsafe { *(&bytes[offset..(offset + 2)] as *const [u8] as *const [u8; 2])}) as usize } impl<'fact> NP_RPC_Factory<'fact> { /// Parse a JSON RPC spec into an RPC Factory /// pub fn new(json_rcp_spec: &str) -> Result { let parsed = json_decode(String::from(json_rcp_spec))?; let version = String::from(match &parsed["version"] { NP_JSON::String(version) => { version }, _ => { "" } }).split(".").map(|s| s.parse::().unwrap_or(0)).collect::>(); let author_str = match &parsed["author"] { NP_JSON::String(author) => { author }, _ => { "" } }; let id_str = String::from(match &parsed["id"] { NP_JSON::String(id) => { id }, _ => { "" } }).replace("-", ""); let name_str = match &parsed["name"] { NP_JSON::String(name) => { name }, _ => { "" } }; if name_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("API name cannot be longer than 2^16 UTF8 bytes")); } if author_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("Author cannot be longer than 2^16 UTF8 bytes")); } if version.len() != 3 { return Err(NP_Error::new("There must be 3 version points. X.X.X")); } if id_str.len() != 32 { return Err(NP_Error::new("id property must be a V4 UUID.")); } // id let mut id_bytes = [0u8; 19]; for x in 0..16 { let step = x * 2; match u8::from_str_radix(&id_str[step..(step + 2)], 16) { Ok(b) => { id_bytes[x] = b }, Err(_e) => {} } } // version id_bytes[16] = version[0]; id_bytes[17] = version[1]; id_bytes[18] = version[2]; let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&id_bytes, SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut compiled = Vec::with_capacity(1024); // first 2 bytes contains the offset of the first rpc method (uknown right now) compiled.extend_from_slice(&0u16.to_be_bytes()); // next 19 bytes are version compiled.extend_from_slice(&id_bytes); // next bytes are name compiled.extend_from_slice(&(name_str.len() as u16).to_be_bytes()); let name_addr = NP_Str_Addr { idx: compiled.len(), len: name_str.len() }; compiled.extend_from_slice(&name_str.as_bytes()); // next bytes are author compiled.extend_from_slice(&(author_str.len() as u16).to_be_bytes()); let author_addr = NP_Str_Addr { idx: compiled.len(), len: author_str.len() }; compiled.extend_from_slice(&author_str.as_bytes()); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Owned(compiled), spec_msg_hash: NP_HashMap::new() }; // now the messages NP_RPC_Factory::parse_json_msg("mod", &parsed, &mut spec)?; if spec.bytes.read().len() > core::u16::MAX as usize { return Err(NP_Error::new("Too many messages in spec, can't compile.")) } // set first 2 bytes to correct offset after we've inserted all messages for (x, b) in (spec.bytes.read().len() as u16).to_be_bytes().iter().enumerate() { spec.bytes.write()?[x] = *b; } // and finally the methods NP_RPC_Factory::parse_json_rpc("", "mod", &parsed, &mut spec)?; let mut method_hash: NP_HashMap = NP_HashMap::new(); for (idx, one_spec) in spec.specs.iter().enumerate() { match one_spec { NP_RPC_Spec::RPC { full_name, .. } => { method_hash.insert(spec.read_str(full_name), idx)?; }, _ => {} } } Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_bytes(&[0u8])? }) } /// Get API name pub fn get_name(&self) -> &str { self.spec.read_str(&self.name) } /// Get API author pub fn get_author(&self) -> &str { self.spec.read_str(&self.author) } /// Get API ID pub fn get_id(&self) -> String { let mut uuid_value = [0u8; 16]; for x in 0..16usize { uuid_value[x] = self.spec.bytes.read()[x + 2]; } NP_UUID { value: uuid_value }.to_string() } /// Get API Version pub fn get_version(&self) -> String { let mut version: String = String::from(""); for x in 0..3usize { version.push_str(self.spec.bytes.read()[18 + x].to_string().as_str()); if x != 2 { version.push_str("."); } } version } /// Parse RPC messages fn parse_json_msg(module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["msg"] { // msg type NP_JSON::String(msg_name) => { let schema = NP_Schema::from_json(Vec::new(), &Box::new(jspec.clone()))?; let factory = NP_Factory { schema: NP_Schema { is_sortable: schema.0, parsed: schema.2 }, schema_bytes: schema.1 }; let full_name = format!("{}::{}", module, msg_name); // insert this message address // spec.compiled_msg_hash.insert(&full_name, spec.compiled.len())?; let bytes_w = spec.bytes.write()?; let schema = factory.export_schema_bytes(); bytes_w.extend_from_slice(&(schema.len() as u16).to_be_bytes()); bytes_w.extend(schema); spec.spec_msg_hash.insert(&full_name, spec.specs.len())?; spec.specs.push(NP_RPC_Spec::MSG { factory: factory }); }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); new_mod.push_str("::"); new_mod.push_str(mod_name); NP_RPC_Factory::parse_json_msg(&new_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Parse RPC methods fn parse_json_rpc(module: &str, msg_module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["rpc"] { // rpc type NP_JSON::String(rpc_name) => { match &jspec["fn"] { NP_JSON::String(fn_def) => { let parsed_def = NP_RPC_Factory::method_string_parse(msg_module, fn_def)?; let full_name = if module == "" { String::from(rpc_name) } else { format!("{}.{}", module, rpc_name) }; let bytes_w = spec.bytes.write()?; // compile the RPC spec bytes_w.extend_from_slice(&(full_name.len() as u16).to_be_bytes()); let f_addr = NP_Str_Addr { idx: bytes_w.len(), len: full_name.len() }; bytes_w.extend_from_slice(&full_name.as_bytes()); bytes_w.push(parsed_def.kind as u8); if parsed_def.arg.len() == 0 { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let arg_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.arg))?; bytes_w.extend_from_slice(&(*arg_addr as u16 + 1).to_be_bytes()); } if parsed_def.result.len() == 0 || parsed_def.result == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let result_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.result))?; bytes_w.extend_from_slice(&(*result_addr as u16 + 1).to_be_bytes()); } if parsed_def.kind == RPC_Fn_Kinds::result { if parsed_def.err.len() == 0 || parsed_def.err == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let err_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.err))?; bytes_w.extend_from_slice(&(*err_addr as u16 + 1).to_be_bytes()); } } // provide struct data let rpc = NP_RPC_Spec::RPC { // name: if module == "" { f_addr } else { NP_Str_Addr { idx: f_addr.idx + module.len() + 1, len: rpc_name.len() } }, // module_path: NP_Str_Addr { idx: f_addr.idx, len: module.len() }, full_name: f_addr, arg: if parsed_def.arg.len() == 0 { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.arg, &spec)?) }, result: if parsed_def.result.len() == 0 || parsed_def.result == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.result, &spec)?) }, err: if parsed_def.err.len() == 0 || parsed_def.err == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.err, &spec)?) }, kind: parsed_def.kind }; spec.specs.push(rpc); }, _ => return Err(NP_Error::new("RPC methods must have an 'fn' property!")) } }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); if module.len() > 0 { new_mod.push_str("."); } new_mod.push_str(mod_name); let mut new_msg_mod = String::from(msg_module); new_msg_mod.push_str("::"); new_msg_mod.push_str(mod_name); NP_RPC_Factory::parse_json_rpc(&new_mod, &new_msg_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Find a particular message in the spec vec /// fn find_msg(msg_name: &String, spec: &NP_RPC_Specification) -> Result { if msg_name == "" { return Err(NP_Error::new("Missing message decleration in rpc method.")) } match spec.spec_msg_hash.get(msg_name) { Some(idx) => { Ok(*idx) }, None => { let mut name = msg_name.clone(); name.push_str("Can't find rpc message '"); name.push_str(msg_name); name.push_str("'."); Err(NP_Error::new(name.as_str())) } } } /// Parse an FN method string into it's parts /// /// Handle these different kinds of signatures: /// "(self::get) -> Result" /// "(self::get) -> Option" /// "(self::get) -> self::get" /// "() -> self::get" /// "() => ()" /// fn method_string_parse(module: &str, function_str: &str) -> Result { let fn_kind = { if function_str.contains("Result<") { RPC_Fn_Kinds::result } else if function_str.contains("Option<") { RPC_Fn_Kinds::option } else { RPC_Fn_Kinds::normal } }; let open_paren = opt_err(function_str.find("("))? + 1; let close_paren = opt_err(function_str.find(")"))?; let arg_name = function_str[open_paren..close_paren].trim(); let after_arrow = opt_err(function_str.find("->"))? + 2; let return_name = function_str[after_arrow..].trim(); match &fn_kind { RPC_Fn_Kinds::normal => { Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(return_name).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::option => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(&return_name[open..close]).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::result => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; let results = &return_name[open..close]; let comma = opt_err(results.find(","))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(results[..comma].trim()).replace("self", module), err: String::from(results[(comma+1)..].trim()).replace("self", module), kind: fn_kind}) }, } } /// Parse a byte rpc spec into an RPC Factory. /// /// This method is orders of magnitude faster than the `new` method since there's no JSON to parse and only a few memory allocations. /// pub fn new_bytes(bytes_rpc_spec: &'fact [u8]) -> Result { let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&bytes_rpc_spec[2..21], SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut offset: usize = 21; let name_len = read_u16(bytes_rpc_spec, offset); let name_addr = NP_Str_Addr { idx: offset + 2, len: name_len }; offset += 2 + name_len; let author_len = read_u16(bytes_rpc_spec, offset); let author_addr = NP_Str_Addr { idx: offset + 2, len: author_len }; offset += 2 + author_len; // now at begnning of messages let end_of_messages = read_u16(bytes_rpc_spec, 0); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Borrwed(bytes_rpc_spec), spec_msg_hash: NP_HashMap::empty() }; let read_bytes = spec.bytes.read(); while offset < end_of_messages { let schema_len = read_u16(bytes_rpc_spec, offset); offset += 2; spec.specs.push(NP_RPC_Spec::MSG { factory: NP_Factory::new_bytes(&spec.bytes.read()[offset..(offset + schema_len)])? }); offset += schema_len; } // messages are now parsed, time for RPC methods offset = end_of_messages; let mut method_hash: NP_HashMap = NP_HashMap::new(); while offset < read_bytes.len() { let name_len = read_u16(bytes_rpc_spec, offset); offset += 2; let full_name = NP_Str_Addr { idx: offset, len: name_len }; offset += name_len; let fn_kind = RPC_Fn_Kinds::from(read_bytes[offset]); offset += 1; let arg_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let result_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let err_addr = if fn_kind == RPC_Fn_Kinds::result { let addr = read_u16(bytes_rpc_spec, offset); offset += 2; addr } else { 0 }; method_hash.insert(spec.read_str(&full_name), spec.specs.len())?; spec.specs.push(NP_RPC_Spec::RPC { full_name: full_name, arg: if arg_addr == 0 { None } else { Some(arg_addr - 1) }, result: if result_addr == 0 { None } else { Some(result_addr - 1) }, err: if err_addr == 0 { None } else { Some(err_addr - 1) }, kind: fn_kind }); } // methods are now parsed Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_bytes(&[0u8])? }) } /// Get a copy of the compiled byte array specification /// /// The compiled byte array is *much* faster to parse and takes up *much* less space. /// /// If you don't need the verbosity of the JSON spec, use this instead. /// pub fn compile_spec(&self) -> &[u8] { self.spec.bytes.read() } /// Generate a new request object for a given rpc function /// pub fn new_request(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, arg, .. } => { return Ok(NP_RPC_Request { rpc_addr: *idx, spec: &self.spec, rpc: *full_name, empty: self.empty.new_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find request.")) } }, None => Err(NP_Error::new("Cannot find request.")) } } /// Open a request. The request spec and version must match the current spec and version of this factory. /// pub fn open_request(&self, bytes: Vec) -> Result { // first 19 bytes are id + version let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Request => { }, _ => return Err(NP_Error::new("Attempted to open non request buffer with request method.")) }; match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, arg, .. } => { Ok(NP_RPC_Request { rpc_addr, spec: &self.spec, rpc: *full_name, empty: self.empty.new_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[7..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } /// Generate a new response object for a given rpc function /// pub fn new_response(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: *idx, rpc: *full_name, spec: &self.spec, kind: NP_ResponseKinds::None, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find response!")) } }, None => Err(NP_Error::new("Cannot find response!")) } } /// Open a response. The response spec and version must match the current spec and version of this factory. /// pub fn open_response(&self, bytes: Vec) -> Result { // first 4 bytes are id hash (version + uuid) let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Response => { }, _ => return Err(NP_Error::new("Attempted to open non response buffer with response method.")) }; match NP_ResponseKinds::from(bytes[7]) { NP_ResponseKinds::None => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::None, has_err: *err != Option::None, spec: &self.spec, rpc: *full_name, data: self.empty.new_buffer(None), error: self.empty.new_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Ok => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Ok, has_err: *err != Option::None, rpc: *full_name, spec: &self.spec, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) }, error: self.empty.new_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Error => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Error, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: self.empty.new_buffer(None), error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => return Err(NP_Error::new("Got error result on RPC method with no error type.")) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } } } } /// The different kinds of responses #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[repr(u8)] pub enum NP_ResponseKinds { /// Ok response is the default Ok, /// Response contains an error Error, /// Response doesn't contain a value None } impl From for NP_ResponseKinds { fn from(value: u8) -> Self { if value > 2 { return NP_ResponseKinds::Ok; } unsafe { core::mem::transmute(value) } } } #[derive(Debug)] #[repr(u8)] #[allow(missing_docs)] #[doc(hidden)] pub enum RPC_Type { None, Request, Response } impl From for RPC_Type { fn from(value: u8) -> Self { if value > 2 { return RPC_Type::None; } unsafe { core::mem::transmute(value) } } } /// RPC Request object pub struct NP_RPC_Request<'request> { /// the address for this rcp message rpc_addr: usize, /// Parent spec object spec: &'request NP_RPC_Specification<'request>, /// the name of the rpc function rpc: NP_Str_Addr, /// the request data pub data: NP_Buffer, empty: NP_Buffer } impl<'request> NP_RPC_Request<'request> { /// Get the API id of the RPC schema this came from. pub fn api_id(&self) -> &str { todo!() } /// Get the API version of the RPC schema this came from. pub fn api_version(&self) -> &str { todo!() } /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Get empty response for this request pub fn new_response(&self) -> Result { match &self.spec.specs[self.rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: self.rpc_addr, kind: NP_ResponseKinds::None, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.clone() }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.clone() } }) }, _ => { } }; Err(NP_Error::new("Response not found!")) } /// Close this request and get bytes pub fn rpc_close(self) -> Vec { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 3); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Request as u8); response_bytes.extend(self.data.finish().bytes()); response_bytes } } /// RPC Response object pub struct NP_RPC_Response<'response> { /// the address for this rpc message rpc_addr: usize, /// error message is set has_err: bool, /// what kind of response is this? pub kind: NP_ResponseKinds, /// the name of the rpc function rpc: NP_Str_Addr, spec: &'response NP_RPC_Specification<'response> , /// the data of this response pub data: NP_Buffer, /// if this is an error, the error data pub error: NP_Buffer } impl<'request> NP_RPC_Response<'request> { /// Get the API id of the RPC schema this came from. pub fn api_id(&self) -> &str { todo!() } /// Get the API version of the RPC schema this came from. pub fn api_version(&self) -> &str { todo!() } /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Close this response /// /// The only failure condition is if you set the `kind` to `NP_ResponseKinds::Error` but didn't have an error type declared in the rpc method. /// pub fn rpc_close(self) -> Result, NP_Error> { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 4); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Response as u8); response_bytes.push(self.kind as u8); match &self.kind { NP_ResponseKinds::Ok => { response_bytes.extend(self.data.finish().bytes()); }, NP_ResponseKinds::None => { }, NP_ResponseKinds::Error => { if self.has_err { response_bytes.extend(self.error.finish().bytes()); } else { return Err(NP_Error::new("Attempted to close response as error type without error message defined in rpc method.")) } } } Ok(response_bytes) } } #[test] fn rpc_test() -> Result<(), NP_Error> { let rpc_factory = NP_RPC_Factory::new(r#"{ "name": "test api", "description": "", "author": "Jeb Kermin", "id": "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F", "version": "1.2.3", "spec": [ {"msg": "Error", "type": "string" }, {"msg": "Count", "type": "u32" }, {"rpc": "get_count", "fn": "() -> self::Count"}, {"mod": "user", "spec": [ {"msg": "username", "type": "string"}, {"msg": "user_id", "type": "u32"}, {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, ]} ] }"#)?; // checks that compiled byte specs work assert_eq!(rpc_factory.compile_spec().len(), 132); // JSON schema above is 467 bytes without whitespace let rpc_factory = NP_RPC_Factory::new_bytes(&rpc_factory.compile_spec())?; assert_eq!(rpc_factory.get_name(), "test api"); assert_eq!(rpc_factory.get_author(), "Jeb Kermin"); assert_eq!(rpc_factory.get_id(), "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F"); assert_eq!(rpc_factory.get_version(), "1.2.3"); // === CLIENT === // generate request let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; // close request let count_req_bytes: Vec = get_count.rpc_close(); assert_eq!(count_req_bytes.len(), 13); // === SEND count_req_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; assert_eq!(a_request.rpc_name(), "get_count"); // generate a response let mut count_response: NP_RPC_Response = a_request.new_response()?; // set response data count_response.data.set(&[] as &[&str], 20u32)?; // set response kind count_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = count_response.rpc_close()?; assert_eq!(respond_bytes.len(), 18); // === SEND respond_bytes to CLIENT ==== // === CLIENT === let count_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(count_response.rpc_name(), "get_count"); // confirm that we got data in the response assert_eq!(count_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data the server sent assert_eq!(count_response.data.get(&[])?, Some(20u32)); // Now do a result request with error // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[] as &[&str], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.error.set(&[], "Can't find user.")?; del_response.kind = NP_ResponseKinds::Error; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm we recieved error response assert_eq!(del_response.kind, NP_ResponseKinds::Error); // get the error information assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); // Now do a result request with an ok return // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with an ok return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as ok with data del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with a none return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as none del_response.kind = NP_ResponseKinds::None; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::None); // with NONE response there is no data Ok(()) } ================================================ FILE: no_proto_rs_old/src/schema.rs ================================================ //! Schemas are used to describe the shape and types of buffer objects //! //! NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it. //! //! Schemas can be loaded from JSON, ES6 or Bytes. //! //! As a quick example, the schemas below are indentical in what they describe, only different in syntax. //! ```text //! /* List Of Strings */ //! //! // JSON Schema //! {"type": "list", "of": {"type": "string"}} //! //! // ES6 Schema //! list({of: string()}) //! //! // Byte schema (not human readable) //! [23, 2, 0, 0, 0, 0, 0] //! ``` //! //! NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it. //! //! Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it. //! //! Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. //! //! Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string: //! ```text //! // JSON //! { //! "type": "string" //! } //! // ES6 //! string() //! ``` //! //! However, you will likely want to store more complicated objects, so that's easy to do as well. //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["userID", {"type": "string"}], // userID field contains a string //! ["password", {"type": "string"}], // password field contains a string //! ["email", {"type": "string"}], // email field contains a string //! ["age", {"type": "u8"}] // age field contains a Uint8 number (0 - 255) //! ] //! } //! //! // ES6 //! struct({fields: { //! userID: string(), // userID field contains a string //! password: string(), // password field contains a string //! email: string(), // email field contains a string //! age: u8() // age field contains a Uint8 number (0 - 255) //! }}) //! ``` //! //! There are multiple collection types and they can be nested. //! //! For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type. //! ```text //! // JSON //! { //! "type": "list", //! "of": { //! "type": "struct", //! "fields": [ //! ["id", {"type": "string"}] //! ["title", {"type": "string"}] //! ] //! } //! } //! //! // ES6 //! list({of: struct({fields: { //! id: string(), //! title: string() //! }})}) //! ``` //! You can nest collections as much and however you'd like, up to 255 levels. //! //! A list of strings is just as easy... //! //! ```text //! // JSON //! { //! "type": "list", //! "of": { "type": "string" } //! } //! //! // ES6 //! list({of: string()}) //! ``` //! //! **ES6 Schemas**
//! NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax. //! //! The following ES6 syntax is supported: //! - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn("hello", [1, 2])` //! - Single line comments on their own line or at the end of a line using double slash `//`. //! - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `["hello", myFn()]` //! - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: "value"}`, `{foo: "bar", baz: myFn()}` //! - Arrays and objects can be safely nested. There is a nesting limit of 255 levels. //! - Numbers, Strings contained in double quotes '`"`', and Boolean values. //! - Strings can safely contain escaped double quotes `\"` inside them. //! - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }` //! //! If the syntax is not in the above list, it will not be parsed correctly by NoProto. //! //! ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas. //! //! **JSON Schemas**
//! //! If you're familiar with Typescript, JSON schemas can be described by this recursive interface: //! //! ```typescript //! interface NP_Schema { //! // table, string, bytes, etc //! type: string; //! //! // used by string & bytes types //! size?: number; //! //! // used by decimal type, the number of decimal places every value has //! exp?: number; //! //! // used by tuple to indicite bytewise sorting of children //! sorted?: boolean; //! //! // used by list types //! of?: NP_Schema //! //! // used by map types //! value?: NP_Schema //! //! // used by tuple types //! values?: NP_Schema[] //! //! // used by struct types //! fields?: [string, NP_Schema][]; //! //! // used by option/enum types //! choices?: string[]; //! //! // used by unions //! types?: [string, NP_Schema][]; //! //! // used by portals //! to?: string //! //! // default value for this item //! default?: any; //! } //! ``` //! //! ## Schema Data Types //! Each type has trade offs associated with it. The table and documentation below go into further detail. //! //! ### Supported Data Types //! //! | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes | //! |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------| //! | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. | //! | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. | //! | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. | //! | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. | //! | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. | //! | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. | //! | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. | //! | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 | //! | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 | //! | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 | //! | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 | //! | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 | //! | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 | //! | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 | //! | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 | //! | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 | //! | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 | //! | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. | //! | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | | //! | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. | //! | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate | //! | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate | //! | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate | //! | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) | //! | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs | //! | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 | //! | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | //! //! - \* `sorting` must be set to `true` in the schema for this object to enable sorting. //! - \*\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema //! //! # Legend //! //! **Bytewise Sorting**
//! Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases. //! //! Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose. //! //! You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical. //! //! **Compaction**
//! Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided. //! //! Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence. //! //! Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options. //! //! Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space. //! //! - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact) //! //! **Schema Mutations**
//! Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction. //! //! There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe. //! //! Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`. //! //! # Schema Types //! //! Every schema type maps exactly to a native data type in your code. //! //! ## struct //! Structs represnt a fixed number of named fields, with each field having it's own data type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Fields without values will be removed from the buffer durring compaction. //! - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. //! //! Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes. //! //! Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data. //! //! If you need flexible field names use a `map` type instead. //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ // can have between 1 and 255 fields //! ["field name", {"type": "data type for this field"}], //! ["name", {"type": "string"}], //! ["tags", {"type": "list", "of": { // nested list of strings //! "type": "string" //! }}], //! ["age", {"type": "u8"}], // Uint8 number //! ["meta", {"type": "struct", "fields": [ // nested struct //! ["favorite_color", {"type": "string"}], //! ["favorite_sport", {"type": "string"}] //! ]}] //! ] //! } //! //! // ES6 //! struct({fields: { //! // data_type() isn't a real data type... //! field_name: data_type(), //! name: string(), //! tags: list({of: string()}), //! age: u8(), //! meta: struct({fields: { //! favorite_color: string(), //! favorite_sport: string() //! }}) //! }}) //! ``` //! //! ## list //! Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space. //! - **Schema Mutations**: None //! //! Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. //! //! The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list. //! //! ```text //! // a list of list of strings //! // JSON //! { //! "type": "list", //! "of": { //! "type": "list", //! "of": {"type": "string"} //! } //! } //! // ES6 //! list({of: list({of: string()})}) //! //! // list of numbers //! // JSON //! { //! "type": "list", //! "of": {"type": "i32"} //! } //! //! // ES6 //! list({of: i32()}) //! ``` //! //! //! ## map //! A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Keys without values are removed from the buffer //! - **Schema Mutations**: None //! //! Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map. //! //! If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. //! //! The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values. //! //! ```text //! // a map where every value is a string //! // JSON //! { //! "type": "map", //! "value": { //! "type": "string" //! } //! } //! // ES6 //! map({value: string()}) //! ``` //! //! //! ## tuple //! A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items. //! //! - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`. //! - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated. //! - **Schema Mutations**: No mutations are safe //! //! Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples. //! //! **Sorting**
//! You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size. //! //! When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size. //! //! ```text //! // JSON //! { //! "type": "tuple", //! "values": [ //! {"type": "string"}, //! {"type": "list", "of": {"type": "strings"}}, //! {"type": "u64"} //! ] //! } //! // ES6 //! tuple({values: [string(), list({of: string()}), u64()]}) //! //! // tuple for bytewise sorting //! // JSON //! { //! "type": "tuple", //! "sorted": true, //! "values": [ //! {"type": "string", "size": 25}, //! {"type": "u8"}, //! {"type": "i64"} //! ] //! } //! //! // ES6 //! tuple({storted: true, values: [ //! string({size: 25}), //! u8(), //! i64() //! ]}) //! ``` //! //! //! //! ## string //! A string is a fixed or dynamically sized collection of utf-8 encoded bytes. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing string values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size strings in your buffers. If a provided string is larger than the `size` property it will be truncated. Smaller strings will be padded with white space. //! //! ```text //! // JSON //! { //! "type": "string" //! } //! // ES6 //! string() //! //! //! // fixed size //! // JSON //! { //! "type": "string", //! "size": 20 //! } //! // ES6 //! string({size: 20}) //! //! // with default value //! // JSON //! { //! "type": "string", //! "default": "Default string value" //! } //! //! // ES6 //! string({default: "Default string value"}) //! ``` //! //! More Details: //! - [Using String data type](../pointer/string/index.html) //! //! ## bytes //! Bytes are fixed or dynimcally sized Vec collections. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing bytes values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size `&[u8]` in your buffers. If a provided byte slice is larger than the `size` property it will be truncated. Smaller byte slices will be padded with zeros. //! //! ```text //! // JSON //! { //! "type": "bytes" //! } //! // ES6 //! bytes() //! //! // fixed size //! // JSON //! { //! "type": "bytes", //! "size": 20 //! } //! // ES6 //! bytes({size: 20}) //! //! // with default value //! // JSON //! { //! "type": "bytes", //! "default": [1, 2, 3, 4] //! } //! //! // ES6 //! bytes({default: [1, 2, 3, 4]}) //! ``` //! //! More Details: //! - [Using NP_Bytes data type](../pointer/bytes/index.html) //! //! ## int8, int16, int32, int64 //! Signed integers allow positive or negative whole numbers to be stored. The bytes are stored in big endian format and converted to unsigned types to allow bytewise sorting. //! //! ```text //! // JSON //! { //! "type": "i8" //! } //! //! // ES6 //! i8() //! //! // with default value //! // JSON //! { //! "type": "i8", //! "default": 20 //! } //! //! // ES6 //! i8({default: 20}) //! ``` //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## uint8, uint16, uint32, uint64 //! Unsgined integers allow only positive whole numbers to be stored. The bytes are stored in big endian format to allow bytewise sorting. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "u8" //! } //! //! // ES6 //! u8() //! //! //! // with default value //! // JSON //! { //! "type": "u8", //! "default": 20 //! } //! // ES6 //! u8({default: 20}) //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## float, double //! Allows the storage of floating point numbers of various sizes. Bytes are stored in big endian format. //! //! - **Bytewise Sorting**: Unsupported, use decimal type. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "f32" //! } //! //! // ES6 //! f32() //! //! // with default value //! // JSON //! { //! "type": "f32", //! "default": 20.283 //! } //! //! // ES6 //! f32({default: 20.283}) //! //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## enum //! Allows efficeint storage of a selection between a known collection of ordered strings. The selection is stored as a single u8 byte, limiting the max number of choices to 255. Also the choices themselves cannot be longer than 255 UTF8 bytes each. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: You can safely add new choices to the end of the list or update the existing choices in place. If you need to delete a choice, just make it an empty string. Changing the order of the choices is destructive as this type only stores the index of the choice it's set to. //! //! There is one required property of this schema called `choices`. The property should contain an array of strings that represent all possible choices of the option. //! //! ```text //! // JSON //! { //! "type": "enum", //! "choices": ["choice 1", "choice 2", "etc"] //! } //! // ES6 //! enum({choices: ["choice 1", "choice 2", "etc"]}) //! //! // with default value //! // JSON //! { //! "type": "enum", //! "choices": ["choice 1", "choice 2", "etc"], //! "default": "etc" //! } //! //! // ES6 //! enum({choices: ["choice 1", "choice 2", "etc"], default: "etc"}) //! ``` //! //! More Details: //! - [Using NP_Enum data type](../pointer/option/index.html) //! //! ## bool //! Allows efficent storage of a true or false value. The value is stored as a single byte that is set to either 1 or 0. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "bool" //! } //! // ES6 //! bool() //! //! // with default value //! // JSON //! { //! "type": "bool", //! "default": false //! } //! // ES6 //! bool({default: false}) //! ``` //! //! More Details: //! - [Using Bool data type](../pointer/bool/index.html) //! //! ## decimal //! Allows you to store fixed point decimal numbers. The number of decimal places must be declared in the schema as `exp` property and will be used for every value. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! There is a single required property called `exp` that represents the number of decimal points every value will have. //! //! ```text //! // JSON //! { //! "type": "decimal", //! "exp": 3 //! } //! // ES6 //! decimal({exp: 3}) //! //! // with default value //! // JSON //! { //! "type": "decimal", //! "exp": 3, //! "default": 20.293 //! } //! // ES6 //! decimal({exp: 3, default: 20.293}) //! ``` //! //! More Details: //! - [Using NP_Dec data type](../pointer/dec/index.html) //! //! ## geo4, ge8, geo16 //! Allows you to store geographic coordinates with varying levels of accuracy and space usage. //! //! - **Bytewise Sorting**: Not supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! Larger geo values take up more space, but allow greater resolution. //! //! | Type | Bytes | Earth Resolution | Decimal Places | //! |-------|-------|----------------------------------------|----------------| //! | geo4 | 4 | 1.1km resolution (city) | 2 | //! | geo8 | 8 | 11mm resolution (marble) | 7 | //! | geo16 | 16 | 110 microns resolution (grain of sand) | 9 | //! //! ```text //! // JSON //! { //! "type": "geo4" //! } //! // ES6 //! geo4() //! //! // with default //! { //! "type": "geo4", //! "default": {"lat": -20.283, "lng": 19.929} //! } //! // ES6 //! geo4({default: {lat: -20.283, lng: 19.929}}) //! ``` //! //! More Details: //! - [Using NP_Geo data type](../pointer/geo/index.html) //! //! ## ulid //! Allows you to store a unique ID with a timestamp. The timestamp is stored in milliseconds since the unix epoch. //! //! - **Bytewise Sorting**: Supported, orders by timestamp. Order is random if timestamp is identical between two values. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "ulid" //! } //! // ES6 //! ulid() //! // no default supported //! ``` //! //! More Details: //! - [Using NP_ULID data type](../pointer/ulid/index.html) //! //! ## uuid //! Allows you to store a universally unique ID. //! //! - **Bytewise Sorting**: Supported, but values are random //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "uuid" //! } //! // ES6 //! uuid() //! // no default supported //! ``` //! //! More Details: //! - [Using NP_UUID data type](../pointer/uuid/index.html) //! //! ## date //! Allows you to store a timestamp as a u64 value. This is just a thin wrapper around the u64 type. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "date" //! } //! // ES6 //! date() //! //! // with default value (default should be in ms) //! // JSON //! { //! "type": "date", //! "default": 1605909163951 //! } //! // ES6 //! date({default: 1605909163951}) //! ``` //! //! More Details: //! - [Using NP_Date data type](../pointer/date/index.html) //! //! ## portal //! Portals allow types/schemas to be "teleported" from one part of a schema to another. //! //! You can use these for duplicating a type many times in a schema or for recursive data types. //! //! The one required property is `to`, it should be a dot notated path to the type being teleported. If `to` is an empty string, the root is used. //! //! Recursion works up to 255 levels of depth. //! //! - **Bytewise Sorting**: Not Supported //! - **Compaction**: Same behavior as type being teleported. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["value", {"type": "u8"}], //! ["next", {"type": "portal", "to": ""}] //! ] //! } //! // ES6 //! struct({fields: { //! value: u8(), //! next: portal({to: ""}) //! }}) //! ``` //! //! With the above schema, values can be stored at `value`, `next.value`, `next.next.next.value`, etc. //! //! Here is an example where `portal` is used to duplicate a type. //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["username", {"type": "string"}], //! ["email", {"type": "portal", "to": "username"}] //! ] //! } //! // ES6 //! struct({fields: { //! username: string(), //! email: portal({to: "username"}) //! }}) //! ``` //! //! In the schema above `username` and `email` are both resolved to the `string` type. //! //! Even though structs are the only type used in the examples above, the `portal` type will work with any collection type. //! //! More Details: //! - [Using Portal data type](../pointer/portal/index.html) //! //! ## Next Step //! //! Read about how to initialize a schema into a NoProto Factory. //! //! [Go to NP_Factory docs](../struct.NP_Factory.html) //! use crate::{hashmap::NP_HashMap, idl::{JS_AST, JS_Schema}}; use crate::{np_path, pointer::{NP_Cursor}}; use alloc::{string::String, sync::Arc}; use core::{fmt::Debug}; use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}}; use crate::pointer::any::NP_Any; use crate::pointer::date::NP_Date; use crate::pointer::geo::NP_Geo; use crate::pointer::dec::NP_Dec; use crate::collection::tuple::NP_Tuple; use crate::pointer::bytes::NP_Bytes; use crate::collection::{list::NP_List, struc::NP_Struct, map::NP_Map}; use crate::pointer::{option::NP_Enum, NP_Value}; use crate::error::NP_Error; use alloc::vec::Vec; use alloc::boxed::Box; /// Simple enum to store the schema types #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[allow(missing_docs)] pub enum NP_TypeKeys { None = 0, Any = 1, UTF8String = 2, Bytes = 3, Int8 = 4, Int16 = 5, Int32 = 6, Int64 = 7, Uint8 = 8, Uint16 = 9, Uint32 = 10, Uint64 = 11, Float = 12, Double = 13, Decimal = 14, Boolean = 15, Geo = 16, Uuid = 17, Ulid = 18, Date = 19, Enum = 20, Struct = 21, Map = 22, List = 23, Tuple = 24, Portal = 25, // Union = 26 } impl From for NP_TypeKeys { fn from(value: u8) -> Self { if value > 26 { return NP_TypeKeys::None; } unsafe { core::mem::transmute(value) } } } impl NP_TypeKeys { /// Convert this NP_TypeKey into a specific type index pub fn into_type_idx<'idx>(&self) -> (&'idx str, NP_TypeKeys) { match self { NP_TypeKeys::None => { ("none", NP_TypeKeys::None) } NP_TypeKeys::Any => { NP_Any::type_idx() } NP_TypeKeys::UTF8String => { String::type_idx() } NP_TypeKeys::Bytes => { NP_Bytes::type_idx() } NP_TypeKeys::Int8 => { i8::type_idx() } NP_TypeKeys::Int16 => { i16::type_idx() } NP_TypeKeys::Int32 => { i32::type_idx() } NP_TypeKeys::Int64 => { i64::type_idx() } NP_TypeKeys::Uint8 => { u8::type_idx() } NP_TypeKeys::Uint16 => { u16::type_idx() } NP_TypeKeys::Uint32 => { u32::type_idx() } NP_TypeKeys::Uint64 => { u64::type_idx() } NP_TypeKeys::Float => { f32::type_idx() } NP_TypeKeys::Double => { f64::type_idx() } NP_TypeKeys::Decimal => { NP_Dec::type_idx() } NP_TypeKeys::Boolean => { bool::type_idx() } NP_TypeKeys::Geo => { NP_Geo::type_idx() } NP_TypeKeys::Uuid => { NP_UUID::type_idx() } NP_TypeKeys::Ulid => { NP_ULID::type_idx() } NP_TypeKeys::Date => { NP_Date::type_idx() } NP_TypeKeys::Enum => { NP_Enum::type_idx() } NP_TypeKeys::Struct => { NP_Struct::type_idx() } NP_TypeKeys::Map => { NP_Map::type_idx() } NP_TypeKeys::List => { NP_List::type_idx() } NP_TypeKeys::Tuple => { NP_Tuple::type_idx() } _ => ("", NP_TypeKeys::None) } } } /// Schema Address (usize alias) #[doc(hidden)] pub type NP_Schema_Addr = usize; #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[doc(hidden)] #[allow(missing_docs)] pub enum String_Case { None = 0, Lowercase = 1, Uppercase = 2, } impl From for String_Case { fn from(value: u8) -> Self { if value > 2 { return String_Case::None; } unsafe { core::mem::transmute(value) } } } #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[doc(hidden)] #[allow(missing_docs)] pub enum NP_Value_Kind { Pointer, Fixed(u32) } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone, PartialEq)] pub struct NP_Struct_Field { pub idx: u8, pub col: String, pub schema: usize, pub offset: usize } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone, PartialEq)] pub struct NP_Tuple_Field { pub schema: usize, pub fixed: bool, pub size: usize, pub offset: usize } /// NULL pointer value #[doc(hidden)] pub static NULL: fn() -> *const u8 = || { 0x0 as *const u8 }; #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub enum NP_Schema_Property { TRUE, FALSE, NUMBER { source: String }, STRING { source: String }, TOKEN { source: String }, LIST { items: Vec }, MAP { items: NP_HashMap } } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Parsed_Schema { pub val: NP_Value_Kind, pub i: NP_TypeKeys, pub sortable: bool, pub generics: Vec, pub all_props: NP_HashMap, pub data: Arc<*const u8> // *const NP_XXX_Data } unsafe impl Sync for NP_Parsed_Schema {} unsafe impl Send for NP_Parsed_Schema {} impl Default for NP_Parsed_Schema { fn default() -> Self { Self { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::None, sortable: false, generics: Vec::new(), data: Arc::new(NULL()), all_props: NP_HashMap::new() } } } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u8_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u16_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i8_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i16_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_f32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_f64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Bool_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_String_Data { pub default: Option, pub size: u32, pub case: String_Case, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Bytes_Data { pub default: Option>, pub size: u32 } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Geo_Data { pub default: Option, pub size: u8, } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Dec_Data { pub default: Option, pub exp: u8 } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Enum_Data { pub default: Option, pub choices: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Struct_Data { pub fields: Vec, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Map_List_Data { pub child: usize } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Tuple_Data { pub values: Vec, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Portal_Data { pub path: String, pub schema: usize, pub parent_schema: usize } impl Drop for NP_Parsed_Schema { fn drop(&mut self) { match self.i { NP_TypeKeys::None => {} NP_TypeKeys::Any => {} NP_TypeKeys::Uuid => {} NP_TypeKeys::Ulid => {} NP_TypeKeys::UTF8String => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_String_Data) }); } } NP_TypeKeys::Bytes => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Bytes_Data) }); } } NP_TypeKeys::Uint8 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u8_Data) }); } } NP_TypeKeys::Uint16 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u16_Data) }); } } NP_TypeKeys::Uint32 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u32_Data) }); } } NP_TypeKeys::Uint64 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u64_Data) }); } } NP_TypeKeys::Int8 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i8_Data) }); } } NP_TypeKeys::Int16 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i16_Data) }); } } NP_TypeKeys::Int32 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i32_Data) }); } } NP_TypeKeys::Int64 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i64_Data) }); } } NP_TypeKeys::Float => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_f32_Data) }); } } NP_TypeKeys::Double => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_f64_Data) }); } } NP_TypeKeys::Decimal => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Dec_Data) }); } } NP_TypeKeys::Boolean => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Bool_Data) }); } } NP_TypeKeys::Geo => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Geo_Data) }); } } NP_TypeKeys::Date => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u64_Data) }); } } NP_TypeKeys::Enum => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Enum_Data) }); } } NP_TypeKeys::Struct => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Struct_Data) }); } } NP_TypeKeys::Map => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Map_List_Data) }); } } NP_TypeKeys::List => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Map_List_Data) }); } } NP_TypeKeys::Tuple => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Tuple_Data) }); } } NP_TypeKeys::Portal => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Portal_Data) }); } } // NP_TypeKeys::Union => { // } } } } /// New NP Schema #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Schema { /// is this schema sortable? pub is_sortable: bool, /// recursive parsed schema pub parsed: Vec } impl NP_Schema { /// Get a IDL represenatation of this schema pub fn to_idl(&self) -> Result { NP_Schema::_type_to_idl(&self.parsed, 0) } /// Recursive function parse schema into IDL #[doc(hidden)] pub fn _type_to_idl(parsed_schema: &Vec, address: usize) -> Result { match parsed_schema[address].i { NP_TypeKeys::Any => { NP_Any::schema_to_idl(parsed_schema, address) } NP_TypeKeys::UTF8String => { String::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Bytes => { NP_Bytes::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int8 => { i8::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int16 => { i16::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int32 => { i32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int64 => { i64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint8 => { u8::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint16 => { u16::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint32 => { u32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint64 => { u64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Float => { f32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Double => { f64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Decimal => { NP_Dec::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Boolean => { bool::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Geo => { NP_Geo::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uuid => { NP_UUID::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Ulid => { NP_ULID::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Date => { NP_Date::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Enum => { NP_Enum::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Struct => { NP_Struct::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Map => { NP_Map::schema_to_idl(parsed_schema, address) } NP_TypeKeys::List => { NP_List::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Tuple => { NP_Tuple::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Portal => { NP_Portal::schema_to_idl(parsed_schema, address) } // NP_TypeKeys::Union => { NP_Union::schema_to_idl(parsed_schema, address) } _ => { Ok(String::from("")) } } } /// Get a JSON represenatation of this schema pub fn to_json(&self) -> Result { NP_Schema::_type_to_json(&self.parsed, 0) } /// Recursive function parse schema into JSON #[doc(hidden)] pub fn _type_to_json(parsed_schema: &Vec, address: usize) -> Result { match parsed_schema[address].i { NP_TypeKeys::Any => { NP_Any::schema_to_json(parsed_schema, address) } NP_TypeKeys::UTF8String => { String::schema_to_json(parsed_schema, address) } NP_TypeKeys::Bytes => { NP_Bytes::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int8 => { i8::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int16 => { i16::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int32 => { i32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int64 => { i64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint8 => { u8::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint16 => { u16::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint32 => { u32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint64 => { u64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Float => { f32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Double => { f64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Decimal => { NP_Dec::schema_to_json(parsed_schema, address) } NP_TypeKeys::Boolean => { bool::schema_to_json(parsed_schema, address) } NP_TypeKeys::Geo => { NP_Geo::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uuid => { NP_UUID::schema_to_json(parsed_schema, address) } NP_TypeKeys::Ulid => { NP_ULID::schema_to_json(parsed_schema, address) } NP_TypeKeys::Date => { NP_Date::schema_to_json(parsed_schema, address) } NP_TypeKeys::Enum => { NP_Enum::schema_to_json(parsed_schema, address) } NP_TypeKeys::Struct => { NP_Struct::schema_to_json(parsed_schema, address) } NP_TypeKeys::Map => { NP_Map::schema_to_json(parsed_schema, address) } NP_TypeKeys::List => { NP_List::schema_to_json(parsed_schema, address) } NP_TypeKeys::Tuple => { NP_Tuple::schema_to_json(parsed_schema, address) } NP_TypeKeys::Portal => { NP_Portal::schema_to_json(parsed_schema, address) } // NP_TypeKeys::Union => { NP_Union::schema_to_json(parsed_schema, address) } _ => { Ok(NP_JSON::Null) } } } /// Get type string for this schema #[doc(hidden)] pub fn _get_type(json_schema: &Box) -> Result { match &json_schema["type"] { NP_JSON::String(x) => { Ok(x.clone()) }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } /// Scan the schema for portals and resolve their locations // pub fn resolve_portals(parsed: Vec) -> Result, NP_Error> { // let temp_memory = NP_Memory::new(None, &parsed, DEFAULT_ROOT_PTR_ADDR); // let mut completed: Vec = Vec::with_capacity(parsed.len()); // for schema in parsed.iter() { // if schema.i == NP_TypeKeys::Portal { // let portal_data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; // let root_cursor = NP_Cursor::new(temp_memory.root, 0, 0); // let path = &portal_data.path; // let str_path = np_path!(path); // match NP_Cursor::select(&temp_memory, root_cursor, false, true, &str_path)? { // Some(next) => { // completed.push(NP_Parsed_Schema { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Portal, // sortable: false, // all_props: NP_HashMap::new(), // data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { // path: path.clone(), // schema: next.schema_addr, // parent_schema: next.parent_schema_addr // })) as *const u8) // }); // }, // None => return Err(NP_Error::new("Portal 'to' property failed to resolve!")) // } // } else { // completed.push(schema.clone()); // } // } // Ok(completed) // } /// Generate a schema from a parsed IDL pub fn from_idl(parsed: Vec, idl: &JS_Schema, ast: &JS_AST) -> Result<(bool, Vec, Vec), NP_Error> { match ast { JS_AST::method { name, args } => { let type_name = idl.get_str(name).trim(); match type_name { "any" => { NP_Any::from_idl_to_schema(parsed, type_name, idl, args) }, "string" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "utf8" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "str" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "bytes" => { NP_Bytes::from_idl_to_schema(parsed, type_name, idl, args) }, "i8" => { i8::from_idl_to_schema(parsed, type_name, idl, args) }, "int8" => { i8::from_idl_to_schema(parsed, type_name, idl, args) }, "i16" => { i16::from_idl_to_schema(parsed, type_name, idl, args) }, "int16" => { i16::from_idl_to_schema(parsed, type_name, idl, args) }, "i32" => { i32::from_idl_to_schema(parsed, type_name, idl, args) }, "int32" => { i32::from_idl_to_schema(parsed, type_name, idl, args) }, "i64" => { i64::from_idl_to_schema(parsed, type_name, idl, args) }, "int64" => { i64::from_idl_to_schema(parsed, type_name, idl, args) }, "u8" => { u8::from_idl_to_schema(parsed, type_name, idl, args) }, "uint8" => { u8::from_idl_to_schema(parsed, type_name, idl, args) }, "u16" => { u16::from_idl_to_schema(parsed, type_name, idl, args) }, "uint16" => { u16::from_idl_to_schema(parsed, type_name, idl, args) }, "u32" => { u32::from_idl_to_schema(parsed, type_name, idl, args) }, "uint32" => { u32::from_idl_to_schema(parsed, type_name, idl, args) }, "u64" => { u64::from_idl_to_schema(parsed, type_name, idl, args) }, "uint64" => { u64::from_idl_to_schema(parsed, type_name, idl, args) }, "f32" => { f32::from_idl_to_schema(parsed, type_name, idl, args) }, "float" => { f32::from_idl_to_schema(parsed, type_name, idl, args) }, "f64" => { f64::from_idl_to_schema(parsed, type_name, idl, args) }, "double" => { f64::from_idl_to_schema(parsed, type_name, idl, args) }, "decimal" => { NP_Dec::from_idl_to_schema(parsed, type_name, idl, args) }, "dec" => { NP_Dec::from_idl_to_schema(parsed, type_name, idl, args) }, "bool" => { bool::from_idl_to_schema(parsed, type_name, idl, args) }, "boolean" => { bool::from_idl_to_schema(parsed, type_name, idl, args) }, "geo4" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "geo8" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "geo16" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "uuid" => { NP_UUID::from_idl_to_schema(parsed, type_name, idl, args) }, "ulid" => { NP_ULID::from_idl_to_schema(parsed, type_name, idl, args) }, "date" => { NP_Date::from_idl_to_schema(parsed, type_name, idl, args) }, "enum" => { NP_Enum::from_idl_to_schema(parsed, type_name, idl, args) }, "option" => { NP_Enum::from_idl_to_schema(parsed, type_name, idl, args) }, "struct" => { NP_Struct::from_idl_to_schema(parsed, type_name, idl, args) }, "list" => { NP_List::from_idl_to_schema(parsed, type_name, idl, args) }, "array" => { NP_List::from_idl_to_schema(parsed, type_name, idl, args) }, "map" => { NP_Map::from_idl_to_schema(parsed, type_name, idl, args) }, "tuple" => { NP_Tuple::from_idl_to_schema(parsed, type_name, idl, args) }, "portal" => { NP_Portal::from_idl_to_schema(parsed, type_name, idl, args) }, // "union" => { NP_Union::from_idl_to_schema(parsed, type_name, idl, args) }, _ => { let mut err_msg = String::from("Can't find a type that matches this schema! "); err_msg.push_str(idl.get_str(name)); Err(NP_Error::new(err_msg.as_str())) } } }, _ => { Err(NP_Error::new("Error parsing IDL Schema!")) } } } /// Parse a schema out of schema bytes pub fn from_bytes(mut cache: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let this_type = NP_TypeKeys::from(bytes[address]); match this_type { NP_TypeKeys::None => { cache.push(NP_Parsed_Schema::default()); (false, cache) } NP_TypeKeys::Any => { NP_Any::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::UTF8String => { String::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Bytes => { NP_Bytes::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int8 => { i8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int16 => { i16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int32 => { i32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int64 => { i64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint8 => { u8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint16 => { u16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint32 => { u32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint64 => { u64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Float => { f32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Double => { f64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Decimal => { NP_Dec::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Boolean => { bool::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Geo => { NP_Geo::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uuid => { NP_UUID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Ulid => { NP_ULID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Date => { NP_Date::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Enum => { NP_Enum::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Struct => { NP_Struct::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Map => { NP_Map::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::List => { NP_List::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Tuple => { NP_Tuple::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Portal => { NP_Portal::from_bytes_to_schema(cache, address, bytes) } // NP_TypeKeys::Union => { NP_Union::from_bytes_to_schema(cache, address, bytes) } } } /// Parse schema from JSON object /// /// Given a valid JSON schema, parse and validate, then provide a compiled byte schema. /// /// If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick. /// pub fn from_json(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { match &json_schema["type"] { NP_JSON::String(x) => { match x.as_str() { "any" => { NP_Any::from_json_to_schema(schema, &json_schema) }, "str" => { String::from_json_to_schema(schema, &json_schema) }, "string" => { String::from_json_to_schema(schema, &json_schema) }, "utf8" => { String::from_json_to_schema(schema, &json_schema) }, "utf-8" => { String::from_json_to_schema(schema, &json_schema) }, "bytes" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, "[u8]" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, "i8" => { i8::from_json_to_schema(schema, &json_schema) }, "int8" => { i8::from_json_to_schema(schema, &json_schema) }, "i16" => { i16::from_json_to_schema(schema, &json_schema) }, "int16" => { i16::from_json_to_schema(schema, &json_schema) }, "i32" => { i32::from_json_to_schema(schema, &json_schema) }, "int32" => { i32::from_json_to_schema(schema, &json_schema) }, "i64" => { i64::from_json_to_schema(schema, &json_schema) }, "int64" => { i64::from_json_to_schema(schema, &json_schema) }, "u8" => { u8::from_json_to_schema(schema, &json_schema) }, "uint8" => { u8::from_json_to_schema(schema, &json_schema) }, "u16" => { u16::from_json_to_schema(schema, &json_schema) }, "uint16" => { u16::from_json_to_schema(schema, &json_schema) }, "u32" => { u32::from_json_to_schema(schema, &json_schema) }, "uint32" => { u32::from_json_to_schema(schema, &json_schema) }, "u64" => { u64::from_json_to_schema(schema, &json_schema) }, "uint64" => { u64::from_json_to_schema(schema, &json_schema) }, "f32" => { f32::from_json_to_schema(schema, &json_schema) }, "float" => { f32::from_json_to_schema(schema, &json_schema) }, "f64" => { f64::from_json_to_schema(schema, &json_schema) }, "double" => { f64::from_json_to_schema(schema, &json_schema) }, "dec" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, "decimal" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, "bool" => { bool::from_json_to_schema(schema, &json_schema) }, "boolean" => { bool::from_json_to_schema(schema, &json_schema) }, "geo4" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "geo8" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "geo16" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "uuid" => { NP_UUID::from_json_to_schema(schema, &json_schema) }, "ulid" => { NP_ULID::from_json_to_schema(schema, &json_schema) }, "date" => { NP_Date::from_json_to_schema(schema, &json_schema) }, "enum" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, "option" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, "struct" => { NP_Struct::from_json_to_schema(schema, &json_schema) }, "table" => { NP_Struct::from_json_to_schema(schema, &json_schema) }, "list" => { NP_List::from_json_to_schema(schema, &json_schema) }, "array" => { NP_List::from_json_to_schema(schema, &json_schema) }, "map" => { NP_Map::from_json_to_schema(schema, &json_schema) }, "tuple" => { NP_Tuple::from_json_to_schema(schema, &json_schema) }, "portal" => { NP_Portal::from_json_to_schema(schema, &json_schema) }, // "union" => { NP_Union::from_json_to_schema(schema, &json_schema) }, _ => { let mut err_msg = String::from("Can't find a type that matches this schema! "); err_msg.push_str(json_schema.stringify().as_str()); return Err(NP_Error::new(err_msg.as_str())) } } }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } } ================================================ FILE: no_proto_rs_old/src/utils.rs ================================================ use core::str; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::vec::Vec; use crate::error::NP_Error; const KX: u32 = 123456789; const KY: u32 = 362436069; const KZ: u32 = 521288629; const KW: u32 = 88675123; #[inline(always)] pub fn to_unsigned(byte: u8) -> u8 { if byte >= 128 { byte - 128 } else { byte + 128 } } #[inline(always)] pub fn to_signed(byte: u8) -> u8 { if byte < 128 { byte + 128 } else { byte - 128 } } pub struct Rand { x: u32, y: u32, z: u32, w: u32 } impl Rand { pub fn new(seed: u32) -> Rand { Rand{ x: KX^seed, y: KY^seed, z: KZ, w: KW } } // Xorshift 128, taken from German Wikipedia pub fn rand(&mut self) -> u32 { let t = self.x^self.x.wrapping_shl(11); self.x = self.y; self.y = self.z; self.z = self.w; self.w ^= self.w.wrapping_shr(19)^t^t.wrapping_shr(8); return self.w; } pub fn gen_range(&mut self, a: i32, b: i32) -> i32 { let m = (b-a+1) as u32; return a+(self.rand()%m) as i32; } } #[inline(always)] pub fn opt_err(optin: Option) -> Result { match optin { Some(x) => Ok(x), None => Err(NP_Error::new("No value found here!")) } } static CROCKFORD_32: [char; 32] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z']; pub fn from_base32>(value_str: S) -> u128 { let to_num = |encode: char| -> u8 { for (idx, base) in CROCKFORD_32.iter().enumerate() { if *base == encode { return idx as u8; } } return 0; }; let mut decoded: u128 = 0; let mut place = 32u128.pow(value_str.as_ref().len() as u32 - 1); for ch in value_str.as_ref().chars() { let digit = to_num(ch); decoded += u128::from(digit).wrapping_mul(place); place >>= 5; } decoded } pub fn to_base32(num: u128, length: i32) -> String { let mut result: Vec = Vec::with_capacity(length as usize); for _x in 0..length { result.push('0'); } let mut value = num; let i = length - 1; for x in 0..length { let modulus = value % 32; result[(i - x) as usize] = CROCKFORD_32[modulus as usize]; value = (value - modulus) / 32; } let mut final_string: String = "".to_owned(); for ch in result { match str::from_utf8(&[ch as u8]) { Ok(x) => { final_string.push_str(x); }, Err(_e) => { final_string.push_str(" "); } } } final_string } ================================================ FILE: no_proto_rs_old/target/.rustc_info.json ================================================ {"rustc_fingerprint":7691500340550822756,"outputs":{"10024360064684898078":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"5514083843160573269":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/scottlott/.rustup/toolchains/stable-aarch64-apple-darwin\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"aarch64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"apple\"\nunix\n","stderr":""},"2797684049618456168":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"17598535894874457435":{"success":true,"status":"","code":0,"stdout":"rustc 1.60.0 (7737e0b5c 2022-04-04)\nbinary: rustc\ncommit-hash: 7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\ncommit-date: 2022-04-04\nhost: aarch64-apple-darwin\nrelease: 1.60.0\nLLVM version: 14.0.0\n","stderr":""},"931469667778813386":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/scottlott/.rustup/toolchains/stable-aarch64-apple-darwin\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"aarch64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"apple\"\nunix\n","stderr":""},"5309432699494263626":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"15663936817824719399":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""}},"successes":{}} ================================================ FILE: no_proto_rs_old/target/CACHEDIR.TAG ================================================ Signature: 8a477f597d28d172789f06886806bc55 # This file is a cache directory tag created by cargo. # For information about cache directory tags see https://bford.info/cachedir/ ================================================ FILE: no_proto_rs_old/target/debug/.cargo-lock ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-087b92dbcadb4e9e/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-087b92dbcadb4e9e/lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-087b92dbcadb4e9e/lib-no_proto.json ================================================ {"rustc":10260120187782136928,"features":"[]","target":16526436305971540328,"profile":17483045194147818835,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-087b92dbcadb4e9e/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-087b92dbcadb4e9e/output-lib-no_proto ================================================ [File too large to display: 30.4 MB] ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-1f12470dc8aab137/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-1f12470dc8aab137/lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-1f12470dc8aab137/lib-no_proto.json ================================================ {"rustc":8916573652328001303,"features":"[]","target":16526436305971540328,"profile":17483045194147818835,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-1f12470dc8aab137/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-1f12470dc8aab137/output-lib-no_proto ================================================ [File too large to display: 30.4 MB] ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-2620c8dfffee77c5/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-2620c8dfffee77c5/output-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1508,"byte_end":1524,"line_start":38,"line_end":38,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":5,"highlight_end":21}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1515,"byte_end":1524,"line_start":38,"line_end":38,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:38:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"failed to resolve: use of undeclared type `JS_Schema`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src/schema.rs","byte_start":48073,"byte_end":48093,"line_start":1279,"line_end":1279,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"pub struct NP_Schema {","highlight_start":1,"highlight_end":21}],"label":"similarly named struct `NP_Schema` defined here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22146,"line_start":346,"line_end":346,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::idl::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:493:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = JS_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/schema.rs:1279:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12msimilarly named struct `NP_Schema` defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: a struct with a similar name exists\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = NP_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::idl::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"aborting due to 89 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 89 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0432, E0433.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0432, E0433.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-2b9c306cf5e321b2/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-3cb4c0b2e234d1a3/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-42633ea97bf6e77b/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-42633ea97bf6e77b/output-test-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1508,"byte_end":1524,"line_start":38,"line_end":38,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":5,"highlight_end":21}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1515,"byte_end":1524,"line_start":38,"line_end":38,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:38:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"failed to resolve: use of undeclared type `JS_Schema`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src/schema.rs","byte_start":48073,"byte_end":48093,"line_start":1279,"line_end":1279,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"pub struct NP_Schema {","highlight_start":1,"highlight_end":21}],"label":"similarly named struct `NP_Schema` defined here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22146,"line_start":346,"line_end":346,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::idl::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:493:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = JS_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/schema.rs:1279:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12msimilarly named struct `NP_Schema` defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: a struct with a similar name exists\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = NP_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::idl::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23862,"byte_end":23870,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/any.rs","byte_start":3716,"byte_end":3724,"line_start":96,"line_end":96,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:96:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m96\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25607,"byte_end":25615,"line_start":757,"line_end":757,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:757:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m757\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25926,"byte_end":25934,"line_start":763,"line_end":763,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:763:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26252,"byte_end":26260,"line_start":769,"line_end":769,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:769:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26578,"byte_end":26586,"line_start":775,"line_end":775,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:775:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m775\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26885,"byte_end":26893,"line_start":781,"line_end":781,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:781:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27287,"byte_end":27295,"line_start":792,"line_end":792,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:792:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27572,"byte_end":27580,"line_start":802,"line_end":802,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:802:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27953,"byte_end":27961,"line_start":813,"line_end":813,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:813:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28527,"byte_end":28535,"line_start":833,"line_end":833,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:833:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28783,"byte_end":28791,"line_start":839,"line_end":839,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:839:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":23764,"byte_end":23772,"line_start":695,"line_end":695,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:695:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24082,"byte_end":24090,"line_start":701,"line_end":701,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:701:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24388,"byte_end":24396,"line_start":707,"line_end":707,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:707:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24794,"byte_end":24802,"line_start":719,"line_end":719,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:719:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25082,"byte_end":25090,"line_start":729,"line_end":729,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:729:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m729\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25529,"byte_end":25537,"line_start":740,"line_end":740,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:740:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23408,"byte_end":23416,"line_start":532,"line_end":532,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:532:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23713,"byte_end":23721,"line_start":538,"line_end":538,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:538:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":24730,"byte_end":24738,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":25161,"byte_end":25169,"line_start":578,"line_end":578,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:578:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m578\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26589,"byte_end":26597,"line_start":623,"line_end":623,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:623:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m623\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26895,"byte_end":26903,"line_start":629,"line_end":629,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:629:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27299,"byte_end":27307,"line_start":641,"line_end":641,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:641:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27737,"byte_end":27745,"line_start":653,"line_end":653,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:653:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m653\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29171,"byte_end":29179,"line_start":698,"line_end":698,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:698:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m698\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29477,"byte_end":29485,"line_start":704,"line_end":704,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:704:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29879,"byte_end":29887,"line_start":716,"line_end":716,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:716:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m716\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":30170,"byte_end":30178,"line_start":726,"line_end":726,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:726:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m726\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31605,"byte_end":31613,"line_start":771,"line_end":771,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:771:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m771\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31911,"byte_end":31919,"line_start":777,"line_end":777,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:777:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32315,"byte_end":32323,"line_start":789,"line_end":789,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:789:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32753,"byte_end":32761,"line_start":801,"line_end":801,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:801:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34184,"byte_end":34192,"line_start":847,"line_end":847,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:847:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34490,"byte_end":34498,"line_start":853,"line_end":853,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:853:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34892,"byte_end":34900,"line_start":864,"line_end":864,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:864:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":35182,"byte_end":35190,"line_start":874,"line_end":874,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:874:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m874\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36613,"byte_end":36621,"line_start":919,"line_end":919,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:919:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36920,"byte_end":36928,"line_start":925,"line_end":925,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:925:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m925\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37322,"byte_end":37330,"line_start":937,"line_end":937,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:937:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37613,"byte_end":37621,"line_start":947,"line_end":947,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:947:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m947\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39048,"byte_end":39056,"line_start":992,"line_end":992,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:992:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m992\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39355,"byte_end":39363,"line_start":998,"line_end":998,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:998:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39757,"byte_end":39765,"line_start":1010,"line_end":1010,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1010:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":40048,"byte_end":40056,"line_start":1020,"line_end":1020,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1020:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41484,"byte_end":41492,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41791,"byte_end":41799,"line_start":1071,"line_end":1071,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1071:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1071\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42192,"byte_end":42200,"line_start":1082,"line_end":1082,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1082:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42483,"byte_end":42491,"line_start":1092,"line_end":1092,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1092:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":43935,"byte_end":43943,"line_start":1137,"line_end":1137,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1137:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1137\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44241,"byte_end":44249,"line_start":1143,"line_end":1143,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1143:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44652,"byte_end":44660,"line_start":1154,"line_end":1154,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1154:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44953,"byte_end":44961,"line_start":1164,"line_end":1164,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1164:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1164\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46421,"byte_end":46429,"line_start":1210,"line_end":1210,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1210:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46728,"byte_end":46736,"line_start":1216,"line_end":1216,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1216:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1216\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47137,"byte_end":47145,"line_start":1227,"line_end":1227,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1227:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47440,"byte_end":47448,"line_start":1237,"line_end":1237,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1237:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10246,"byte_end":10254,"line_start":322,"line_end":322,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:322:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10551,"byte_end":10559,"line_start":328,"line_end":328,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:328:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10946,"byte_end":10954,"line_start":338,"line_end":338,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:338:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":11235,"byte_end":11243,"line_start":349,"line_end":349,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:349:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38254,"byte_end":38262,"line_start":1013,"line_end":1013,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1013:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1013\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38558,"byte_end":38566,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38909,"byte_end":38917,"line_start":1025,"line_end":1025,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1025:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1025\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39213,"byte_end":39221,"line_start":1031,"line_end":1031,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1031:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39569,"byte_end":39577,"line_start":1037,"line_end":1037,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1037:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39874,"byte_end":39882,"line_start":1043,"line_end":1043,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1043:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40293,"byte_end":40301,"line_start":1055,"line_end":1055,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1055:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1055\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40565,"byte_end":40573,"line_start":1060,"line_end":1060,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1060:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40852,"byte_end":40860,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":41182,"byte_end":41190,"line_start":1075,"line_end":1075,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1075:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33613,"byte_end":33621,"line_start":1059,"line_end":1059,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1059:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33931,"byte_end":33939,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34346,"byte_end":34354,"line_start":1076,"line_end":1076,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1076:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34813,"byte_end":34821,"line_start":1089,"line_end":1089,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1089:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1089\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":12685,"byte_end":12693,"line_start":406,"line_end":406,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:406:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":13085,"byte_end":13093,"line_start":418,"line_end":418,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:418:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":11835,"byte_end":11843,"line_start":382,"line_end":382,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:382:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":12232,"byte_end":12240,"line_start":395,"line_end":395,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:395:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18404,"byte_end":18412,"line_start":548,"line_end":548,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:548:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18745,"byte_end":18753,"line_start":554,"line_end":554,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:554:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19186,"byte_end":19194,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19529,"byte_end":19537,"line_start":576,"line_end":576,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:576:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m576\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10309,"byte_end":10317,"line_start":329,"line_end":329,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:329:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10717,"byte_end":10725,"line_start":340,"line_end":340,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:340:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":11175,"byte_end":11183,"line_start":352,"line_end":352,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:352:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":9458,"byte_end":9466,"line_start":248,"line_end":248,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:248:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10030,"byte_end":10038,"line_start":267,"line_end":267,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:267:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10924,"byte_end":10932,"line_start":301,"line_end":301,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:301:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":12388,"byte_end":12396,"line_start":334,"line_end":334,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:334:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23404,"byte_end":23412,"line_start":618,"line_end":618,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:618:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":13899,"byte_end":13907,"line_start":412,"line_end":412,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:412:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":14317,"byte_end":14325,"line_start":422,"line_end":422,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:422:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":21994,"byte_end":22002,"line_start":591,"line_end":591,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:591:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":22410,"byte_end":22418,"line_start":601,"line_end":601,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:601:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":24115,"byte_end":24123,"line_start":638,"line_end":638,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:638:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":19874,"byte_end":19882,"line_start":545,"line_end":545,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:545:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20284,"byte_end":20292,"line_start":551,"line_end":551,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:551:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20741,"byte_end":20749,"line_start":562,"line_end":562,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:562:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":21778,"byte_end":21786,"line_start":583,"line_end":583,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:583:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"aborting due to 190 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 190 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0432, E0433, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-42633ea97bf6e77b/test-lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-42633ea97bf6e77b/test-lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[]","target":5679422633093381181,"profile":6415348288391478785,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-42633ea97bf6e77b/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-441091bf4a4eb675/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-441091bf4a4eb675/output-test-lib-no_proto ================================================ [File too large to display: 31.1 MB] ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-441091bf4a4eb675/test-lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-441091bf4a4eb675/test-lib-no_proto.json ================================================ {"rustc":10260120187782136928,"features":"[]","target":16526436305971540328,"profile":11506243869495082934,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-441091bf4a4eb675/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-45445c9cceb28ae6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-45445c9cceb28ae6/output-test-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":88,"highlight_end":91}],"label":"not a value","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:88\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot a value\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the path separator to refer to an item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26802,"line_start":495,"line_end":495,"column_start":94,"column_end":101,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":101}],"label":null,"suggested_replacement":"idl::ast","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:94\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: use the path separator to refer to an item: `idl::ast`\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23862,"byte_end":23870,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/any.rs","byte_start":3716,"byte_end":3724,"line_start":96,"line_end":96,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:96:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m96\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25607,"byte_end":25615,"line_start":757,"line_end":757,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:757:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m757\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25926,"byte_end":25934,"line_start":763,"line_end":763,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:763:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26252,"byte_end":26260,"line_start":769,"line_end":769,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:769:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26578,"byte_end":26586,"line_start":775,"line_end":775,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:775:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m775\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26885,"byte_end":26893,"line_start":781,"line_end":781,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:781:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27287,"byte_end":27295,"line_start":792,"line_end":792,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:792:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27572,"byte_end":27580,"line_start":802,"line_end":802,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:802:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27953,"byte_end":27961,"line_start":813,"line_end":813,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:813:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28527,"byte_end":28535,"line_start":833,"line_end":833,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:833:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28783,"byte_end":28791,"line_start":839,"line_end":839,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:839:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":23764,"byte_end":23772,"line_start":695,"line_end":695,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:695:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24082,"byte_end":24090,"line_start":701,"line_end":701,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:701:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24388,"byte_end":24396,"line_start":707,"line_end":707,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:707:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24794,"byte_end":24802,"line_start":719,"line_end":719,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:719:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25082,"byte_end":25090,"line_start":729,"line_end":729,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:729:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m729\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25529,"byte_end":25537,"line_start":740,"line_end":740,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:740:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23386,"byte_end":23394,"line_start":531,"line_end":531,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:531:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m531\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23691,"byte_end":23699,"line_start":537,"line_end":537,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:537:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":24708,"byte_end":24716,"line_start":565,"line_end":565,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:565:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":25139,"byte_end":25147,"line_start":577,"line_end":577,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:577:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26567,"byte_end":26575,"line_start":622,"line_end":622,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:622:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m622\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26873,"byte_end":26881,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27277,"byte_end":27285,"line_start":640,"line_end":640,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:640:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27715,"byte_end":27723,"line_start":652,"line_end":652,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:652:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29149,"byte_end":29157,"line_start":697,"line_end":697,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:697:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29455,"byte_end":29463,"line_start":703,"line_end":703,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:703:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m703\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29857,"byte_end":29865,"line_start":715,"line_end":715,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:715:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":30148,"byte_end":30156,"line_start":725,"line_end":725,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:725:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31583,"byte_end":31591,"line_start":770,"line_end":770,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:770:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m770\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31889,"byte_end":31897,"line_start":776,"line_end":776,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:776:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m776\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32293,"byte_end":32301,"line_start":788,"line_end":788,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:788:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m788\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32731,"byte_end":32739,"line_start":800,"line_end":800,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:800:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34162,"byte_end":34170,"line_start":846,"line_end":846,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:846:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m846\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34468,"byte_end":34476,"line_start":852,"line_end":852,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:852:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m852\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34870,"byte_end":34878,"line_start":863,"line_end":863,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:863:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m863\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":35160,"byte_end":35168,"line_start":873,"line_end":873,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:873:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36591,"byte_end":36599,"line_start":918,"line_end":918,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:918:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36898,"byte_end":36906,"line_start":924,"line_end":924,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:924:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m924\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37300,"byte_end":37308,"line_start":936,"line_end":936,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:936:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37591,"byte_end":37599,"line_start":946,"line_end":946,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:946:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39026,"byte_end":39034,"line_start":991,"line_end":991,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:991:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m991\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39333,"byte_end":39341,"line_start":997,"line_end":997,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:997:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39735,"byte_end":39743,"line_start":1009,"line_end":1009,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1009:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1009\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":40026,"byte_end":40034,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41462,"byte_end":41470,"line_start":1064,"line_end":1064,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1064:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1064\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41769,"byte_end":41777,"line_start":1070,"line_end":1070,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1070:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1070\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42170,"byte_end":42178,"line_start":1081,"line_end":1081,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1081:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1081\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42461,"byte_end":42469,"line_start":1091,"line_end":1091,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1091:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":43913,"byte_end":43921,"line_start":1136,"line_end":1136,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1136:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44219,"byte_end":44227,"line_start":1142,"line_end":1142,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1142:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1142\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44630,"byte_end":44638,"line_start":1153,"line_end":1153,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1153:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44931,"byte_end":44939,"line_start":1163,"line_end":1163,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1163:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46399,"byte_end":46407,"line_start":1209,"line_end":1209,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1209:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46706,"byte_end":46714,"line_start":1215,"line_end":1215,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1215:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1215\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47115,"byte_end":47123,"line_start":1226,"line_end":1226,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1226:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47418,"byte_end":47426,"line_start":1236,"line_end":1236,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1236:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10246,"byte_end":10254,"line_start":322,"line_end":322,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:322:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10551,"byte_end":10559,"line_start":328,"line_end":328,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:328:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10946,"byte_end":10954,"line_start":338,"line_end":338,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:338:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":11235,"byte_end":11243,"line_start":349,"line_end":349,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:349:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38254,"byte_end":38262,"line_start":1013,"line_end":1013,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1013:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1013\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38558,"byte_end":38566,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38909,"byte_end":38917,"line_start":1025,"line_end":1025,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1025:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1025\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39213,"byte_end":39221,"line_start":1031,"line_end":1031,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1031:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39569,"byte_end":39577,"line_start":1037,"line_end":1037,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1037:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39874,"byte_end":39882,"line_start":1043,"line_end":1043,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1043:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40293,"byte_end":40301,"line_start":1055,"line_end":1055,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1055:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1055\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40565,"byte_end":40573,"line_start":1060,"line_end":1060,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1060:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40852,"byte_end":40860,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":41182,"byte_end":41190,"line_start":1075,"line_end":1075,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1075:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33613,"byte_end":33621,"line_start":1059,"line_end":1059,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1059:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33931,"byte_end":33939,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34346,"byte_end":34354,"line_start":1076,"line_end":1076,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1076:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34813,"byte_end":34821,"line_start":1089,"line_end":1089,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1089:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1089\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":12685,"byte_end":12693,"line_start":406,"line_end":406,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:406:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":13085,"byte_end":13093,"line_start":418,"line_end":418,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:418:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":11835,"byte_end":11843,"line_start":382,"line_end":382,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:382:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":12232,"byte_end":12240,"line_start":395,"line_end":395,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:395:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18404,"byte_end":18412,"line_start":548,"line_end":548,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:548:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18745,"byte_end":18753,"line_start":554,"line_end":554,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:554:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19186,"byte_end":19194,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19529,"byte_end":19537,"line_start":576,"line_end":576,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:576:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m576\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10309,"byte_end":10317,"line_start":329,"line_end":329,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:329:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10717,"byte_end":10725,"line_start":340,"line_end":340,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:340:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":11175,"byte_end":11183,"line_start":352,"line_end":352,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:352:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":9458,"byte_end":9466,"line_start":248,"line_end":248,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:248:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10030,"byte_end":10038,"line_start":267,"line_end":267,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:267:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10924,"byte_end":10932,"line_start":301,"line_end":301,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:301:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":12388,"byte_end":12396,"line_start":334,"line_end":334,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:334:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23404,"byte_end":23412,"line_start":618,"line_end":618,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:618:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":13899,"byte_end":13907,"line_start":412,"line_end":412,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:412:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":14317,"byte_end":14325,"line_start":422,"line_end":422,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:422:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":21994,"byte_end":22002,"line_start":591,"line_end":591,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:591:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":22410,"byte_end":22418,"line_start":601,"line_end":601,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:601:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":24115,"byte_end":24123,"line_start":638,"line_end":638,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:638:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":19874,"byte_end":19882,"line_start":545,"line_end":545,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:545:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20284,"byte_end":20292,"line_start":551,"line_end":551,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:551:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20741,"byte_end":20749,"line_start":562,"line_end":562,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:562:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":21778,"byte_end":21786,"line_start":583,"line_end":583,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:583:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"aborting due to 200 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 200 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0412, E0423, E0432, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0412, E0423, E0432, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-45445c9cceb28ae6/test-lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-45445c9cceb28ae6/test-lib-no_proto.json ================================================ {"rustc":10368881109578526382,"features":"[]","target":5679422633093381181,"profile":15791677790105649212,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-45445c9cceb28ae6/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-56746ab113abb4bf/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-56746ab113abb4bf/output-test-lib-no_proto ================================================ [File too large to display: 31.1 MB] ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-56746ab113abb4bf/test-lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-56746ab113abb4bf/test-lib-no_proto.json ================================================ {"rustc":8916573652328001303,"features":"[]","target":16526436305971540328,"profile":11506243869495082934,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-56746ab113abb4bf/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-7ecb4680266c38b6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-7ecb4680266c38b6/lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-7ecb4680266c38b6/lib-no_proto.json ================================================ {"rustc":10368881109578526382,"features":"[]","target":5679422633093381181,"profile":7235557421335335211,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-7ecb4680266c38b6/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-7ecb4680266c38b6/output-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":88,"highlight_end":91}],"label":"not a value","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:88\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot a value\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the path separator to refer to an item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26802,"line_start":495,"line_end":495,"column_start":94,"column_end":101,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":101}],"label":null,"suggested_replacement":"idl::ast","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:94\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: use the path separator to refer to an item: `idl::ast`\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"aborting due to 99 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 99 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0412, E0423, E0432.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0412, E0423, E0432.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-8d483704a5a1fdf6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-8d483704a5a1fdf6/lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-8d483704a5a1fdf6/lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[]","target":5679422633093381181,"profile":1144844575097113612,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-8d483704a5a1fdf6/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-8d483704a5a1fdf6/output-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1508,"byte_end":1524,"line_start":38,"line_end":38,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":5,"highlight_end":21}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1515,"byte_end":1524,"line_start":38,"line_end":38,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:38:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"failed to resolve: use of undeclared type `JS_Schema`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src/schema.rs","byte_start":48073,"byte_end":48093,"line_start":1279,"line_end":1279,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"pub struct NP_Schema {","highlight_start":1,"highlight_end":21}],"label":"similarly named struct `NP_Schema` defined here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22146,"line_start":346,"line_end":346,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::idl::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:493:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = JS_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/schema.rs:1279:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12msimilarly named struct `NP_Schema` defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: a struct with a similar name exists\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = NP_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::idl::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"aborting due to 89 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 89 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0432, E0433.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0432, E0433.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-aa3c6589db10b605/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-aa3c6589db10b605/test-lib-no_proto ================================================ d3ce4d3532abe057 ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-aa3c6589db10b605/test-lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[\"default\", \"np_rpc\"]","target":5679422633093381181,"profile":6415348288391478785,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-aa3c6589db10b605/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ae791f23982352cd/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ae791f23982352cd/output-test-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1508,"byte_end":1524,"line_start":38,"line_end":38,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":5,"highlight_end":21}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1515,"byte_end":1524,"line_start":38,"line_end":38,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:38:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"failed to resolve: use of undeclared type `JS_Schema`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src/schema.rs","byte_start":48073,"byte_end":48093,"line_start":1279,"line_end":1279,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"pub struct NP_Schema {","highlight_start":1,"highlight_end":21}],"label":"similarly named struct `NP_Schema` defined here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26662,"byte_end":26671,"line_start":493,"line_end":493,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" let idl = JS_Schema::new(es6_schema.into())?;","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22146,"line_start":346,"line_end":346,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::idl::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:493:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = JS_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/schema.rs:1279:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12msimilarly named struct `NP_Schema` defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: a struct with a similar name exists\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let idl = NP_Schema::new(es6_schema.into())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::idl::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23862,"byte_end":23870,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/any.rs","byte_start":3716,"byte_end":3724,"line_start":96,"line_end":96,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:96:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m96\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25607,"byte_end":25615,"line_start":757,"line_end":757,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:757:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m757\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25926,"byte_end":25934,"line_start":763,"line_end":763,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:763:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26252,"byte_end":26260,"line_start":769,"line_end":769,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:769:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26578,"byte_end":26586,"line_start":775,"line_end":775,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:775:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m775\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26885,"byte_end":26893,"line_start":781,"line_end":781,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:781:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27287,"byte_end":27295,"line_start":792,"line_end":792,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:792:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27572,"byte_end":27580,"line_start":802,"line_end":802,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:802:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27953,"byte_end":27961,"line_start":813,"line_end":813,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:813:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28527,"byte_end":28535,"line_start":833,"line_end":833,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:833:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28783,"byte_end":28791,"line_start":839,"line_end":839,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:839:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":23764,"byte_end":23772,"line_start":695,"line_end":695,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:695:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24082,"byte_end":24090,"line_start":701,"line_end":701,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:701:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24388,"byte_end":24396,"line_start":707,"line_end":707,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:707:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24794,"byte_end":24802,"line_start":719,"line_end":719,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:719:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25082,"byte_end":25090,"line_start":729,"line_end":729,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:729:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m729\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25529,"byte_end":25537,"line_start":740,"line_end":740,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:740:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23408,"byte_end":23416,"line_start":532,"line_end":532,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:532:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23713,"byte_end":23721,"line_start":538,"line_end":538,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:538:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":24730,"byte_end":24738,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":25161,"byte_end":25169,"line_start":578,"line_end":578,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:578:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m578\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26589,"byte_end":26597,"line_start":623,"line_end":623,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:623:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m623\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26895,"byte_end":26903,"line_start":629,"line_end":629,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:629:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27299,"byte_end":27307,"line_start":641,"line_end":641,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:641:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27737,"byte_end":27745,"line_start":653,"line_end":653,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:653:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m653\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29171,"byte_end":29179,"line_start":698,"line_end":698,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:698:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m698\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29477,"byte_end":29485,"line_start":704,"line_end":704,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:704:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29879,"byte_end":29887,"line_start":716,"line_end":716,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:716:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m716\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":30170,"byte_end":30178,"line_start":726,"line_end":726,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:726:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m726\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31605,"byte_end":31613,"line_start":771,"line_end":771,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:771:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m771\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31911,"byte_end":31919,"line_start":777,"line_end":777,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:777:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32315,"byte_end":32323,"line_start":789,"line_end":789,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:789:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32753,"byte_end":32761,"line_start":801,"line_end":801,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:801:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34184,"byte_end":34192,"line_start":847,"line_end":847,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:847:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34490,"byte_end":34498,"line_start":853,"line_end":853,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:853:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34892,"byte_end":34900,"line_start":864,"line_end":864,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:864:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":35182,"byte_end":35190,"line_start":874,"line_end":874,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:874:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m874\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36613,"byte_end":36621,"line_start":919,"line_end":919,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:919:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36920,"byte_end":36928,"line_start":925,"line_end":925,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:925:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m925\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37322,"byte_end":37330,"line_start":937,"line_end":937,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:937:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37613,"byte_end":37621,"line_start":947,"line_end":947,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:947:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m947\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39048,"byte_end":39056,"line_start":992,"line_end":992,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:992:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m992\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39355,"byte_end":39363,"line_start":998,"line_end":998,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:998:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39757,"byte_end":39765,"line_start":1010,"line_end":1010,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1010:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":40048,"byte_end":40056,"line_start":1020,"line_end":1020,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1020:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41484,"byte_end":41492,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41791,"byte_end":41799,"line_start":1071,"line_end":1071,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1071:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1071\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42192,"byte_end":42200,"line_start":1082,"line_end":1082,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1082:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42483,"byte_end":42491,"line_start":1092,"line_end":1092,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1092:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":43935,"byte_end":43943,"line_start":1137,"line_end":1137,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1137:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1137\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44241,"byte_end":44249,"line_start":1143,"line_end":1143,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1143:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44652,"byte_end":44660,"line_start":1154,"line_end":1154,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1154:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44953,"byte_end":44961,"line_start":1164,"line_end":1164,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1164:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1164\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46421,"byte_end":46429,"line_start":1210,"line_end":1210,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1210:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46728,"byte_end":46736,"line_start":1216,"line_end":1216,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1216:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1216\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47137,"byte_end":47145,"line_start":1227,"line_end":1227,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1227:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47440,"byte_end":47448,"line_start":1237,"line_end":1237,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1237:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10246,"byte_end":10254,"line_start":322,"line_end":322,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:322:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10551,"byte_end":10559,"line_start":328,"line_end":328,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:328:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10946,"byte_end":10954,"line_start":338,"line_end":338,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:338:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":11235,"byte_end":11243,"line_start":349,"line_end":349,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:349:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38254,"byte_end":38262,"line_start":1013,"line_end":1013,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1013:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1013\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38558,"byte_end":38566,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38909,"byte_end":38917,"line_start":1025,"line_end":1025,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1025:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1025\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39213,"byte_end":39221,"line_start":1031,"line_end":1031,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1031:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39569,"byte_end":39577,"line_start":1037,"line_end":1037,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1037:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39874,"byte_end":39882,"line_start":1043,"line_end":1043,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1043:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40293,"byte_end":40301,"line_start":1055,"line_end":1055,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1055:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1055\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40565,"byte_end":40573,"line_start":1060,"line_end":1060,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1060:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40852,"byte_end":40860,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":41182,"byte_end":41190,"line_start":1075,"line_end":1075,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1075:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33613,"byte_end":33621,"line_start":1059,"line_end":1059,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1059:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33931,"byte_end":33939,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34346,"byte_end":34354,"line_start":1076,"line_end":1076,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1076:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34813,"byte_end":34821,"line_start":1089,"line_end":1089,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1089:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1089\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":12685,"byte_end":12693,"line_start":406,"line_end":406,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:406:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":13085,"byte_end":13093,"line_start":418,"line_end":418,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:418:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":11835,"byte_end":11843,"line_start":382,"line_end":382,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:382:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":12232,"byte_end":12240,"line_start":395,"line_end":395,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:395:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18404,"byte_end":18412,"line_start":548,"line_end":548,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:548:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18745,"byte_end":18753,"line_start":554,"line_end":554,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:554:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19186,"byte_end":19194,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19529,"byte_end":19537,"line_start":576,"line_end":576,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:576:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m576\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10309,"byte_end":10317,"line_start":329,"line_end":329,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:329:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10717,"byte_end":10725,"line_start":340,"line_end":340,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:340:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":11175,"byte_end":11183,"line_start":352,"line_end":352,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:352:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":9458,"byte_end":9466,"line_start":248,"line_end":248,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:248:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10030,"byte_end":10038,"line_start":267,"line_end":267,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:267:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10924,"byte_end":10932,"line_start":301,"line_end":301,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:301:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":12388,"byte_end":12396,"line_start":334,"line_end":334,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:334:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23404,"byte_end":23412,"line_start":618,"line_end":618,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:618:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":13899,"byte_end":13907,"line_start":412,"line_end":412,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:412:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":14317,"byte_end":14325,"line_start":422,"line_end":422,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:422:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":21994,"byte_end":22002,"line_start":591,"line_end":591,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:591:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":22410,"byte_end":22418,"line_start":601,"line_end":601,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:601:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":24115,"byte_end":24123,"line_start":638,"line_end":638,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:638:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":19874,"byte_end":19882,"line_start":545,"line_end":545,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:545:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20284,"byte_end":20292,"line_start":551,"line_end":551,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:551:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20741,"byte_end":20749,"line_start":562,"line_end":562,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:562:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":21778,"byte_end":21786,"line_start":583,"line_end":583,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:583:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src/new_idl.rs","byte_start":2154,"byte_end":2156,"line_start":87,"line_end":87,"column_start":37,"column_end":39,"is_primary":true,"text":[{"text":" while *curr_char != 10 && *curr_char != 13 && cursor.end < ast.end { // new line","highlight_start":37,"highlight_end":39}],"label":"expected `char`, found `u8`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0308]\u001b[0m\u001b[0m\u001b[1m: mismatched types\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/new_idl.rs:87:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m87\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m while *curr_char != 10 && *curr_char != 13 && cursor.end < ast.end { // new line\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mexpected `char`, found `u8`\u001b[0m\n\n"} {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src/new_idl.rs","byte_start":2174,"byte_end":2176,"line_start":87,"line_end":87,"column_start":57,"column_end":59,"is_primary":true,"text":[{"text":" while *curr_char != 10 && *curr_char != 13 && cursor.end < ast.end { // new line","highlight_start":57,"highlight_end":59}],"label":"expected `char`, found `u8`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0308]\u001b[0m\u001b[0m\u001b[1m: mismatched types\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/new_idl.rs:87:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m87\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m while *curr_char != 10 && *curr_char != 13 && cursor.end < ast.end { // new line\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mexpected `char`, found `u8`\u001b[0m\n\n"} {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src/new_idl.rs","byte_start":4385,"byte_end":4387,"line_start":134,"line_end":134,"column_start":85,"column_end":87,"is_primary":true,"text":[{"text":" if cursor.end + 1 < ast.end && chars[cursor.end + 1] == 62 { // >","highlight_start":85,"highlight_end":87}],"label":"expected `char`, found `u8`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0308]\u001b[0m\u001b[0m\u001b[1m: mismatched types\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/new_idl.rs:134:85\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| ...\u001b[0m\u001b[0m if cursor.end + 1 < ast.end && chars[cursor.end + 1] == 62 { // >\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mexpected `char`, found `u8`\u001b[0m\n\n"} {"message":"aborting due to 193 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 193 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0308, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0308, E0432, E0433, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ba940134b4c1a3ac/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ba940134b4c1a3ac/output-test-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":88,"highlight_end":91}],"label":"not a value","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:88\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot a value\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the path separator to refer to an item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26802,"line_start":495,"line_end":495,"column_start":94,"column_end":101,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":101}],"label":null,"suggested_replacement":"idl::ast","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:94\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: use the path separator to refer to an item: `idl::ast`\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/any.rs","byte_start":3716,"byte_end":3724,"line_start":96,"line_end":96,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:96:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m96\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25607,"byte_end":25615,"line_start":757,"line_end":757,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:757:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m757\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25926,"byte_end":25934,"line_start":763,"line_end":763,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:763:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26252,"byte_end":26260,"line_start":769,"line_end":769,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:769:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26578,"byte_end":26586,"line_start":775,"line_end":775,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:775:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m775\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26885,"byte_end":26893,"line_start":781,"line_end":781,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:781:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27287,"byte_end":27295,"line_start":792,"line_end":792,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:792:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27572,"byte_end":27580,"line_start":802,"line_end":802,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:802:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27953,"byte_end":27961,"line_start":813,"line_end":813,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:813:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28527,"byte_end":28535,"line_start":833,"line_end":833,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:833:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28783,"byte_end":28791,"line_start":839,"line_end":839,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:839:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":23764,"byte_end":23772,"line_start":695,"line_end":695,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:695:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24082,"byte_end":24090,"line_start":701,"line_end":701,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:701:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24388,"byte_end":24396,"line_start":707,"line_end":707,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:707:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24794,"byte_end":24802,"line_start":719,"line_end":719,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:719:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25082,"byte_end":25090,"line_start":729,"line_end":729,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:729:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m729\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25529,"byte_end":25537,"line_start":740,"line_end":740,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:740:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23386,"byte_end":23394,"line_start":531,"line_end":531,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:531:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m531\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23691,"byte_end":23699,"line_start":537,"line_end":537,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:537:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":24708,"byte_end":24716,"line_start":565,"line_end":565,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:565:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":25139,"byte_end":25147,"line_start":577,"line_end":577,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:577:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26567,"byte_end":26575,"line_start":622,"line_end":622,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:622:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m622\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26873,"byte_end":26881,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27277,"byte_end":27285,"line_start":640,"line_end":640,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:640:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27715,"byte_end":27723,"line_start":652,"line_end":652,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:652:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29149,"byte_end":29157,"line_start":697,"line_end":697,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:697:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29455,"byte_end":29463,"line_start":703,"line_end":703,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:703:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m703\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29857,"byte_end":29865,"line_start":715,"line_end":715,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:715:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":30148,"byte_end":30156,"line_start":725,"line_end":725,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:725:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31583,"byte_end":31591,"line_start":770,"line_end":770,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:770:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m770\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31889,"byte_end":31897,"line_start":776,"line_end":776,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:776:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m776\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32293,"byte_end":32301,"line_start":788,"line_end":788,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:788:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m788\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32731,"byte_end":32739,"line_start":800,"line_end":800,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:800:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34162,"byte_end":34170,"line_start":846,"line_end":846,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:846:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m846\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34468,"byte_end":34476,"line_start":852,"line_end":852,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:852:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m852\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34870,"byte_end":34878,"line_start":863,"line_end":863,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:863:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m863\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":35160,"byte_end":35168,"line_start":873,"line_end":873,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:873:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36591,"byte_end":36599,"line_start":918,"line_end":918,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:918:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36898,"byte_end":36906,"line_start":924,"line_end":924,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:924:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m924\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37300,"byte_end":37308,"line_start":936,"line_end":936,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:936:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37591,"byte_end":37599,"line_start":946,"line_end":946,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:946:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39026,"byte_end":39034,"line_start":991,"line_end":991,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:991:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m991\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39333,"byte_end":39341,"line_start":997,"line_end":997,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:997:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39735,"byte_end":39743,"line_start":1009,"line_end":1009,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1009:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1009\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":40026,"byte_end":40034,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41462,"byte_end":41470,"line_start":1064,"line_end":1064,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1064:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1064\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41769,"byte_end":41777,"line_start":1070,"line_end":1070,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1070:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1070\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42170,"byte_end":42178,"line_start":1081,"line_end":1081,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1081:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1081\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42461,"byte_end":42469,"line_start":1091,"line_end":1091,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1091:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":43913,"byte_end":43921,"line_start":1136,"line_end":1136,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1136:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44219,"byte_end":44227,"line_start":1142,"line_end":1142,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1142:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1142\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44630,"byte_end":44638,"line_start":1153,"line_end":1153,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1153:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44931,"byte_end":44939,"line_start":1163,"line_end":1163,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1163:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46399,"byte_end":46407,"line_start":1209,"line_end":1209,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1209:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46706,"byte_end":46714,"line_start":1215,"line_end":1215,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1215:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1215\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47115,"byte_end":47123,"line_start":1226,"line_end":1226,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1226:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47418,"byte_end":47426,"line_start":1236,"line_end":1236,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1236:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10246,"byte_end":10254,"line_start":322,"line_end":322,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:322:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10551,"byte_end":10559,"line_start":328,"line_end":328,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:328:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10946,"byte_end":10954,"line_start":338,"line_end":338,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:338:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":11235,"byte_end":11243,"line_start":349,"line_end":349,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:349:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38254,"byte_end":38262,"line_start":1013,"line_end":1013,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1013:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1013\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38558,"byte_end":38566,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38909,"byte_end":38917,"line_start":1025,"line_end":1025,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1025:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1025\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39213,"byte_end":39221,"line_start":1031,"line_end":1031,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1031:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39569,"byte_end":39577,"line_start":1037,"line_end":1037,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1037:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39874,"byte_end":39882,"line_start":1043,"line_end":1043,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1043:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40293,"byte_end":40301,"line_start":1055,"line_end":1055,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1055:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1055\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40565,"byte_end":40573,"line_start":1060,"line_end":1060,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1060:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40852,"byte_end":40860,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":41182,"byte_end":41190,"line_start":1075,"line_end":1075,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1075:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33613,"byte_end":33621,"line_start":1059,"line_end":1059,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1059:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33931,"byte_end":33939,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34346,"byte_end":34354,"line_start":1076,"line_end":1076,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1076:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34813,"byte_end":34821,"line_start":1089,"line_end":1089,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1089:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1089\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":12685,"byte_end":12693,"line_start":406,"line_end":406,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:406:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":13085,"byte_end":13093,"line_start":418,"line_end":418,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:418:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":11835,"byte_end":11843,"line_start":382,"line_end":382,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:382:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":12232,"byte_end":12240,"line_start":395,"line_end":395,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:395:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18404,"byte_end":18412,"line_start":548,"line_end":548,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:548:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18745,"byte_end":18753,"line_start":554,"line_end":554,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:554:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19186,"byte_end":19194,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19529,"byte_end":19537,"line_start":576,"line_end":576,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:576:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m576\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10309,"byte_end":10317,"line_start":329,"line_end":329,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:329:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10717,"byte_end":10725,"line_start":340,"line_end":340,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:340:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":11175,"byte_end":11183,"line_start":352,"line_end":352,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:352:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":9458,"byte_end":9466,"line_start":248,"line_end":248,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:248:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10030,"byte_end":10038,"line_start":267,"line_end":267,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:267:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10924,"byte_end":10932,"line_start":301,"line_end":301,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:301:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":12388,"byte_end":12396,"line_start":334,"line_end":334,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:334:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23404,"byte_end":23412,"line_start":618,"line_end":618,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:618:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23862,"byte_end":23870,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":13899,"byte_end":13907,"line_start":412,"line_end":412,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:412:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":14317,"byte_end":14325,"line_start":422,"line_end":422,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:422:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":21994,"byte_end":22002,"line_start":591,"line_end":591,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:591:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":22410,"byte_end":22418,"line_start":601,"line_end":601,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:601:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":24115,"byte_end":24123,"line_start":638,"line_end":638,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:638:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":19874,"byte_end":19882,"line_start":545,"line_end":545,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:545:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20284,"byte_end":20292,"line_start":551,"line_end":551,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:551:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20741,"byte_end":20749,"line_start":562,"line_end":562,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:562:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":21778,"byte_end":21786,"line_start":583,"line_end":583,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:583:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"aborting due to 200 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 200 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0412, E0423, E0432, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0412, E0423, E0432, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ba940134b4c1a3ac/test-lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-ba940134b4c1a3ac/test-lib-no_proto.json ================================================ {"rustc":13465050684677553393,"features":"[]","target":16526436305971540328,"profile":11506243869495082934,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-ba940134b4c1a3ac/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-c73899fa9d5a4e2e/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-c73899fa9d5a4e2e/output-test-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1508,"byte_end":1524,"line_start":38,"line_end":38,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":5,"highlight_end":21}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1515,"byte_end":1524,"line_start":38,"line_end":38,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":"use crate::JS_Schema;","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:38:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":88,"highlight_end":91}],"label":"not a value","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:88\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot a value\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the path separator to refer to an item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26802,"line_start":495,"line_end":495,"column_start":94,"column_end":101,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":101}],"label":null,"suggested_replacement":"idl::ast","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:94\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: use the path separator to refer to an item: `idl::ast`\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23862,"byte_end":23870,"line_start":628,"line_end":628,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:628:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m628\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/any.rs","byte_start":3716,"byte_end":3724,"line_start":96,"line_end":96,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:96:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m96\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25607,"byte_end":25615,"line_start":757,"line_end":757,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:757:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m757\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":25926,"byte_end":25934,"line_start":763,"line_end":763,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:763:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26252,"byte_end":26260,"line_start":769,"line_end":769,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:769:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26578,"byte_end":26586,"line_start":775,"line_end":775,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:775:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m775\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":26885,"byte_end":26893,"line_start":781,"line_end":781,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:781:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27287,"byte_end":27295,"line_start":792,"line_end":792,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:792:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27572,"byte_end":27580,"line_start":802,"line_end":802,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:802:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":27953,"byte_end":27961,"line_start":813,"line_end":813,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:813:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28527,"byte_end":28535,"line_start":833,"line_end":833,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:833:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/string.rs","byte_start":28783,"byte_end":28791,"line_start":839,"line_end":839,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:839:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":23764,"byte_end":23772,"line_start":695,"line_end":695,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:695:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24082,"byte_end":24090,"line_start":701,"line_end":701,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:701:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24388,"byte_end":24396,"line_start":707,"line_end":707,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:707:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":24794,"byte_end":24802,"line_start":719,"line_end":719,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:719:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25082,"byte_end":25090,"line_start":729,"line_end":729,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:729:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m729\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bytes.rs","byte_start":25529,"byte_end":25537,"line_start":740,"line_end":740,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:740:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7371,"byte_end":7387,"line_start":184,"line_end":184,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:184:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15158,"byte_end":15174,"line_start":364,"line_end":364,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:364:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20795,"byte_end":20874,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20875,"byte_end":20954,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20955,"byte_end":21034,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21035,"byte_end":21114,"line_start":467,"line_end":467,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21137,"byte_end":21218,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21219,"byte_end":21300,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21301,"byte_end":21382,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21383,"byte_end":21464,"line_start":473,"line_end":473,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21484,"byte_end":21565,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18088,"byte_end":18104,"line_start":414,"line_end":414,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21566,"byte_end":21647,"line_start":477,"line_end":477,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2213,"byte_end":20774,"line_start":67,"line_end":461,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23408,"byte_end":23416,"line_start":532,"line_end":532,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:532:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":23713,"byte_end":23721,"line_start":538,"line_end":538,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:538:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":24730,"byte_end":24738,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":25161,"byte_end":25169,"line_start":578,"line_end":578,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:578:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m578\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26589,"byte_end":26597,"line_start":623,"line_end":623,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:623:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m623\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":26895,"byte_end":26903,"line_start":629,"line_end":629,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:629:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27299,"byte_end":27307,"line_start":641,"line_end":641,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:641:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":27737,"byte_end":27745,"line_start":653,"line_end":653,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:653:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m653\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29171,"byte_end":29179,"line_start":698,"line_end":698,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:698:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m698\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29477,"byte_end":29485,"line_start":704,"line_end":704,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:704:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":29879,"byte_end":29887,"line_start":716,"line_end":716,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:716:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m716\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":30170,"byte_end":30178,"line_start":726,"line_end":726,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:726:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m726\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31605,"byte_end":31613,"line_start":771,"line_end":771,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:771:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m771\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":31911,"byte_end":31919,"line_start":777,"line_end":777,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:777:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32315,"byte_end":32323,"line_start":789,"line_end":789,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:789:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":32753,"byte_end":32761,"line_start":801,"line_end":801,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:801:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34184,"byte_end":34192,"line_start":847,"line_end":847,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:847:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34490,"byte_end":34498,"line_start":853,"line_end":853,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:853:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":34892,"byte_end":34900,"line_start":864,"line_end":864,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:864:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":35182,"byte_end":35190,"line_start":874,"line_end":874,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:874:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m874\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36613,"byte_end":36621,"line_start":919,"line_end":919,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:919:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":36920,"byte_end":36928,"line_start":925,"line_end":925,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:925:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m925\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37322,"byte_end":37330,"line_start":937,"line_end":937,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:937:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":37613,"byte_end":37621,"line_start":947,"line_end":947,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:947:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m947\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39048,"byte_end":39056,"line_start":992,"line_end":992,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:992:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m992\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39355,"byte_end":39363,"line_start":998,"line_end":998,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:998:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":39757,"byte_end":39765,"line_start":1010,"line_end":1010,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1010:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":40048,"byte_end":40056,"line_start":1020,"line_end":1020,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1020:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41484,"byte_end":41492,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":41791,"byte_end":41799,"line_start":1071,"line_end":1071,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1071:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1071\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42192,"byte_end":42200,"line_start":1082,"line_end":1082,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1082:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":42483,"byte_end":42491,"line_start":1092,"line_end":1092,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1092:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":43935,"byte_end":43943,"line_start":1137,"line_end":1137,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1137:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1137\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44241,"byte_end":44249,"line_start":1143,"line_end":1143,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1143:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44652,"byte_end":44660,"line_start":1154,"line_end":1154,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1154:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":44953,"byte_end":44961,"line_start":1164,"line_end":1164,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1164:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1164\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46421,"byte_end":46429,"line_start":1210,"line_end":1210,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1210:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":46728,"byte_end":46736,"line_start":1216,"line_end":1216,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1216:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1216\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47137,"byte_end":47145,"line_start":1227,"line_end":1227,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1227:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/numbers.rs","byte_start":47440,"byte_end":47448,"line_start":1237,"line_end":1237,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:1237:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10246,"byte_end":10254,"line_start":322,"line_end":322,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:322:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10551,"byte_end":10559,"line_start":328,"line_end":328,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:328:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":10946,"byte_end":10954,"line_start":338,"line_end":338,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:338:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/bool.rs","byte_start":11235,"byte_end":11243,"line_start":349,"line_end":349,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:349:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38254,"byte_end":38262,"line_start":1013,"line_end":1013,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1013:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1013\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38558,"byte_end":38566,"line_start":1019,"line_end":1019,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1019:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":38909,"byte_end":38917,"line_start":1025,"line_end":1025,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1025:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1025\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39213,"byte_end":39221,"line_start":1031,"line_end":1031,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1031:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39569,"byte_end":39577,"line_start":1037,"line_end":1037,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1037:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":39874,"byte_end":39882,"line_start":1043,"line_end":1043,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1043:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40293,"byte_end":40301,"line_start":1055,"line_end":1055,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1055:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1055\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40565,"byte_end":40573,"line_start":1060,"line_end":1060,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1060:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":40852,"byte_end":40860,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/geo.rs","byte_start":41182,"byte_end":41190,"line_start":1075,"line_end":1075,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:1075:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33613,"byte_end":33621,"line_start":1059,"line_end":1059,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1059:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":33931,"byte_end":33939,"line_start":1065,"line_end":1065,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1065:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34346,"byte_end":34354,"line_start":1076,"line_end":1076,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1076:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/dec.rs","byte_start":34813,"byte_end":34821,"line_start":1089,"line_end":1089,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1089:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1089\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":12685,"byte_end":12693,"line_start":406,"line_end":406,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:406:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/ulid.rs","byte_start":13085,"byte_end":13093,"line_start":418,"line_end":418,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:418:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":11835,"byte_end":11843,"line_start":382,"line_end":382,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:382:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/uuid.rs","byte_start":12232,"byte_end":12240,"line_start":395,"line_end":395,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:395:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18404,"byte_end":18412,"line_start":548,"line_end":548,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:548:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":18745,"byte_end":18753,"line_start":554,"line_end":554,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:554:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19186,"byte_end":19194,"line_start":566,"line_end":566,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:566:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/option.rs","byte_start":19529,"byte_end":19537,"line_start":576,"line_end":576,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:576:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m576\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10309,"byte_end":10317,"line_start":329,"line_end":329,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:329:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":10717,"byte_end":10725,"line_start":340,"line_end":340,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:340:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/date.rs","byte_start":11175,"byte_end":11183,"line_start":352,"line_end":352,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:352:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":9458,"byte_end":9466,"line_start":248,"line_end":248,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:248:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10030,"byte_end":10038,"line_start":267,"line_end":267,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:267:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":10924,"byte_end":10932,"line_start":301,"line_end":301,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:301:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/pointer/portal.rs","byte_start":12388,"byte_end":12396,"line_start":334,"line_end":334,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:334:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/struc.rs","byte_start":23404,"byte_end":23412,"line_start":618,"line_end":618,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:618:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":13899,"byte_end":13907,"line_start":412,"line_end":412,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:412:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/map.rs","byte_start":14317,"byte_end":14325,"line_start":422,"line_end":422,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:422:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":21994,"byte_end":22002,"line_start":591,"line_end":591,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:591:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":22410,"byte_end":22418,"line_start":601,"line_end":601,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:601:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/list.rs","byte_start":24115,"byte_end":24123,"line_start":638,"line_end":638,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:638:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":19874,"byte_end":19882,"line_start":545,"line_end":545,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:545:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20284,"byte_end":20292,"line_start":551,"line_end":551,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:551:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":20741,"byte_end":20749,"line_start":562,"line_end":562,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:562:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"no function or associated item named `new_json` found for struct `NP_Factory` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":25761,"byte_end":25782,"line_start":466,"line_end":466,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"pub struct NP_Factory {","highlight_start":1,"highlight_end":22}],"label":"function or associated item `new_json` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/collection/tuple.rs","byte_start":21778,"byte_end":21786,"line_start":583,"line_end":583,"column_start":38,"column_end":46,"is_primary":true,"text":[{"text":" let factory = crate::NP_Factory::new_json(schema)?;","highlight_start":38,"highlight_end":46}],"label":"function or associated item not found in `NP_Factory`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no function or associated item named `new_json` found for struct `NP_Factory` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:583:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let factory = crate::NP_Factory::new_json(schema)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mfunction or associated item not found in `NP_Factory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/lib.rs:466:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct NP_Factory {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mfunction or associated item `new_json` not found for this\u001b[0m\n\n"} {"message":"aborting due to 191 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 191 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0423, E0432, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0423, E0432, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-d8cf3dffddd77550/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-d8cf3dffddd77550/lib-no_proto ================================================ ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-d8cf3dffddd77550/lib-no_proto.json ================================================ {"rustc":13465050684677553393,"features":"[]","target":16526436305971540328,"profile":17483045194147818835,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-d8cf3dffddd77550/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-d8cf3dffddd77550/output-lib-no_proto ================================================ {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":715,"byte_end":724,"line_start":26,"line_end":26,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:26:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"unresolved import `crate::JS_Schema`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":"no `JS_Schema` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a similar name exists in the module","code":null,"level":"help","spans":[{"file_name":"src/pointer/option.rs","byte_start":530,"byte_end":539,"line_start":19,"line_end":19,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":"use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"NP_Schema","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `crate::JS_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:19:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `JS_Schema` in the root\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a similar name exists in the module: `NP_Schema`\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"cannot find type `JS_Schema` in this scope","code":{"code":"E0412","explanation":"A used type name is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":5331,"byte_end":5340,"line_start":140,"line_end":140,"column_start":89,"column_end":98,"is_primary":true,"text":[{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":89,"highlight_end":98}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":1219,"byte_end":1219,"line_start":31,"line_end":31,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::schema::NULL;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::pointer::JS_Schema;\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m: cannot find type `JS_Schema` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:140:89\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, V\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider importing this struct\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[38;5;10muse crate::pointer::JS_Schema;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":88,"highlight_end":91}],"label":"not a value","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:88\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot a value\u001b[0m\n\n"} {"message":"expected value, found module `idl`","code":{"code":"E0423","explanation":"An identifier was used like a function name or a value was expected and the\nidentifier exists but it belongs to a different namespace.\n\nErroneous code example:\n\n```compile_fail,E0423\nstruct Foo { a: bool };\n\nlet f = Foo();\n// error: expected function, tuple struct or tuple variant, found `Foo`\n// `Foo` is a struct name, but this expression uses it like a function name\n```\n\nPlease verify you didn't misspell the name of what you actually wanted to use\nhere. Example:\n\n```\nfn Foo() -> u32 { 0 }\n\nlet f = Foo(); // ok!\n```\n\nIt is common to forget the trailing `!` on macro invocations, which would also\nyield this error:\n\n```compile_fail,E0423\nprintln(\"\");\n// error: expected function, tuple struct or tuple variant,\n// found macro `println`\n// did you mean `println!(...)`? (notice the trailing `!`)\n```\n\nAnother case where this error is emitted is when a value is expected, but\nsomething else is found:\n\n```compile_fail,E0423\npub mod a {\n pub const I: i32 = 1;\n}\n\nfn h1() -> i32 {\n a.I\n //~^ ERROR expected value, found module `a`\n // did you mean `a::I`?\n}\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the path separator to refer to an item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26802,"line_start":495,"line_end":495,"column_start":94,"column_end":101,"is_primary":true,"text":[{"text":" let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;","highlight_start":94,"highlight_end":101}],"label":null,"suggested_replacement":"idl::ast","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0423]\u001b[0m\u001b[0m\u001b[1m: expected value, found module `idl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:495:94\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: use the path separator to refer to an item: `idl::ast`\u001b[0m\n\n"} {"message":"unused imports: `NP_Cursor`, `np_path`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34448,"byte_end":34455,"line_start":815,"line_end":815,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34467,"byte_end":34476,"line_start":815,"line_end":815,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34436,"byte_end":34479,"line_start":815,"line_end":815,"column_start":1,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{np_path, pointer::{NP_Cursor}};","highlight_start":1,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `NP_Cursor`, `np_path`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:815:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{np_path, pointer::{NP_Cursor}};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} {"message":"unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34585,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/schema.rs","byte_start":34607,"byte_end":34624,"line_start":818,"line_end":818,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src/schema.rs","byte_start":34556,"byte_end":34587,"line_start":818,"line_end":818,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/schema.rs","byte_start":34605,"byte_end":34624,"line_start":818,"line_end":818,"column_start":62,"column_end":81,"is_primary":true,"text":[{"text":"use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}};","highlight_start":62,"highlight_end":81}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `buffer::DEFAULT_ROOT_PTR_ADDR`, `memory::NP_Memory`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/schema.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `alloc::string::String`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/hashmap.rs","byte_start":4,"byte_end":25,"line_start":1,"line_end":1,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":26,"line_start":1,"line_end":1,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use alloc::string::String;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `alloc::string::String`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/hashmap.rs:1:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse alloc::string::String;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"unused imports: `DerefMut`, `Deref`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":17,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":24,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22146,"byte_end":22179,"line_start":346,"line_end":346,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"use core::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `DerefMut`, `Deref`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:346:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::ops::{Deref, DerefMut};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"message":"unused import: `crate::json_flex::NP_JSON`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22278,"line_start":349,"line_end":349,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":22249,"byte_end":22279,"line_start":349,"line_end":349,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use crate::json_flex::NP_JSON;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `crate::json_flex::NP_JSON`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse crate::json_flex::NP_JSON;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":2793,"byte_end":2809,"line_start":61,"line_end":61,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:61:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/any.rs","byte_start":3288,"byte_end":3304,"line_start":76,"line_end":76,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/any.rs:76:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":8587,"byte_end":8603,"line_start":274,"line_end":274,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:274:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10090,"byte_end":10106,"line_start":317,"line_end":317,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:317:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":10713,"byte_end":10729,"line_start":330,"line_end":330,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:330:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/string.rs","byte_start":15513,"byte_end":15529,"line_start":471,"line_end":471,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/string.rs:471:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":8337,"byte_end":8353,"line_start":244,"line_end":244,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:244:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":14031,"byte_end":14047,"line_start":410,"line_end":410,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:410:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15009,"byte_end":15025,"line_start":440,"line_end":440,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:440:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bytes.rs","byte_start":15566,"byte_end":15582,"line_start":453,"line_end":453,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bytes.rs:453:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":7663,"byte_end":7679,"line_start":245,"line_end":245,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:245:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":8606,"byte_end":8622,"line_start":276,"line_end":276,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:276:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/bool.rs","byte_start":9041,"byte_end":9057,"line_start":287,"line_end":287,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/bool.rs:287:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":29323,"byte_end":29339,"line_start":800,"line_end":800,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:800:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":31048,"byte_end":31064,"line_start":845,"line_end":845,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:845:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":32135,"byte_end":32151,"line_start":870,"line_end":870,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:870:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m870\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33226,"byte_end":33242,"line_start":895,"line_end":895,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:895:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":33919,"byte_end":33935,"line_start":914,"line_end":914,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:914:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":34560,"byte_end":34576,"line_start":929,"line_end":929,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:929:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m929\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35203,"byte_end":35219,"line_start":941,"line_end":941,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:941:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/geo.rs","byte_start":35849,"byte_end":35865,"line_start":953,"line_end":953,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/geo.rs:953:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":29927,"byte_end":29943,"line_start":952,"line_end":952,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:952:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":31752,"byte_end":31768,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1005:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/dec.rs","byte_start":32541,"byte_end":32557,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/dec.rs:1028:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8117,"byte_end":8133,"line_start":266,"line_end":266,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:266:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/ulid.rs","byte_start":8496,"byte_end":8512,"line_start":279,"line_end":279,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/ulid.rs:279:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m279\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7290,"byte_end":7306,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/uuid.rs","byte_start":7672,"byte_end":7688,"line_start":259,"line_end":259,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/uuid.rs:259:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":9809,"byte_end":9825,"line_start":304,"line_end":304,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:304:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":15839,"byte_end":15855,"line_start":480,"line_end":480,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema { ","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:480:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema { \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/option.rs","byte_start":17231,"byte_end":17247,"line_start":517,"line_end":517,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/option.rs:517:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m517\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":8213,"byte_end":8229,"line_start":264,"line_end":264,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:264:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9126,"byte_end":9142,"line_start":292,"line_end":292,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:292:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/date.rs","byte_start":9915,"byte_end":9931,"line_start":316,"line_end":316,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/date.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":4799,"byte_end":4815,"line_start":140,"line_end":140,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:140:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":5776,"byte_end":5792,"line_start":161,"line_end":161,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:161:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/portal.rs","byte_start":6890,"byte_end":6906,"line_start":186,"line_end":186,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/portal.rs:186:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":9039,"byte_end":9055,"line_start":247,"line_end":247,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:247:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":10525,"byte_end":10541,"line_start":284,"line_end":284,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[table_schema_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:284:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[table_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":15448,"byte_end":15464,"line_start":413,"line_end":413,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:413:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":18035,"byte_end":18051,"line_start":475,"line_end":475,"column_start":48,"column_end":64,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":48,"highlight_end":64}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:475:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":19765,"byte_end":19781,"line_start":520,"line_end":520,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:520:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/struc.rs","byte_start":21445,"byte_end":21461,"line_start":561,"line_end":561,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" schema_parsed[schema_table_addr] = NP_Parsed_Schema {","highlight_start":44,"highlight_end":60}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/struc.rs:561:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema_parsed[schema_table_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":10638,"byte_end":10654,"line_start":318,"line_end":318,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:318:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":12023,"byte_end":12039,"line_start":358,"line_end":358,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:358:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/map.rs","byte_start":13022,"byte_end":13038,"line_start":387,"line_end":387,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/map.rs:387:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":18678,"byte_end":18694,"line_start":495,"line_end":495,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:495:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":20063,"byte_end":20079,"line_start":535,"line_end":535,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:535:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/list.rs","byte_start":21102,"byte_end":21118,"line_start":564,"line_end":564,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/list.rs:564:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":10643,"byte_end":10659,"line_start":308,"line_end":308,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":25,"highlight_end":41}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:308:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":12220,"byte_end":12236,"line_start":342,"line_end":342,"column_start":42,"column_end":58,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":42,"highlight_end":58}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:342:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":13971,"byte_end":13987,"line_start":393,"line_end":393,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" schema.push(NP_Parsed_Schema {","highlight_start":21,"highlight_end":37}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":15850,"byte_end":15866,"line_start":435,"line_end":435,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" working_schema[tuple_addr] = NP_Parsed_Schema {","highlight_start":38,"highlight_end":54}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:435:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":17207,"byte_end":17223,"line_start":476,"line_end":476,"column_start":29,"column_end":45,"is_primary":true,"text":[{"text":" working_schema.push(NP_Parsed_Schema {","highlight_start":29,"highlight_end":45}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:476:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema.push(NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/collection/tuple.rs","byte_start":18632,"byte_end":18648,"line_start":513,"line_end":513,"column_start":45,"column_end":61,"is_primary":true,"text":[{"text":" working_schema[tuple_schema_addr] = NP_Parsed_Schema {","highlight_start":45,"highlight_end":61}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/collection/tuple.rs:513:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m working_schema[tuple_schema_addr] = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20773,"byte_end":20852,"line_start":463,"line_end":463,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i8, \"int8\", \"i8\", NP_TypeKeys::Int8 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20853,"byte_end":20932,"line_start":464,"line_end":464,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i16, \"int16\", \"i16\", NP_TypeKeys::Int16 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":20933,"byte_end":21012,"line_start":465,"line_end":465,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i32, \"int32\", \"i32\", NP_TypeKeys::Int32 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21013,"byte_end":21092,"line_start":466,"line_end":466,"column_start":1,"column_end":80,"is_primary":false,"text":[{"text":"noproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(i64, \"int64\", \"i64\", NP_TypeKeys::Int64 , NP_NumType::signed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21115,"byte_end":21196,"line_start":469,"line_end":469,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u8, \"uint8\", \"u8\", NP_TypeKeys::Uint8 , NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21197,"byte_end":21278,"line_start":470,"line_end":470,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u16, \"uint16\", \"u16\", NP_TypeKeys::Uint16, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21279,"byte_end":21360,"line_start":471,"line_end":471,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u32, \"uint32\", \"u32\", NP_TypeKeys::Uint32, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21361,"byte_end":21442,"line_start":472,"line_end":472,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(u64, \"uint64\", \"u64\", NP_TypeKeys::Uint64, NP_NumType::unsigned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21462,"byte_end":21543,"line_start":475,"line_end":475,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f32, \"float\", \"f32\", NP_TypeKeys::Float , NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":7349,"byte_end":7365,"line_start":183,"line_end":183,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:183:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":15136,"byte_end":15152,"line_start":363,"line_end":363,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:363:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`","code":{"code":"E0063","explanation":"A struct's or struct-like enum variant's field was not provided.\n\nErroneous code example:\n\n```compile_fail,E0063\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0 }; // error: missing field: `y`\n}\n```\n\nEach field should be specified exactly once. Example:\n\n```\nstruct Foo {\n x: i32,\n y: i32,\n}\n\nfn main() {\n let x = Foo { x: 0, y: 0 }; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"src/pointer/numbers.rs","byte_start":18066,"byte_end":18082,"line_start":413,"line_end":413,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":34,"highlight_end":50}],"label":"missing `all_props` and `generics`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/pointer/numbers.rs","byte_start":21544,"byte_end":21625,"line_start":476,"line_end":476,"column_start":1,"column_end":82,"is_primary":false,"text":[{"text":"noproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);","highlight_start":1,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"noproto_number!","def_site_span":{"file_name":"src/pointer/numbers.rs","byte_start":2191,"byte_end":20752,"line_start":66,"line_end":460,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! noproto_number {","highlight_start":1,"highlight_end":30},{"text":" ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => {","highlight_start":1,"highlight_end":68},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> super::NP_Scalar<'value> for $t {","highlight_start":1,"highlight_end":55},{"text":" fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized {","highlight_start":1,"highlight_end":94},{"text":" Some(Self::default())","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MAX)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option {","highlight_start":1,"highlight_end":88},{"text":" Some(<$t>::MIN)","highlight_start":1,"highlight_end":32},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl<'value> NP_Value<'value> for $t {","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) }","highlight_start":1,"highlight_end":85},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized {","highlight_start":1,"highlight_end":186},{"text":" match **value {","highlight_start":1,"highlight_end":32},{"text":" NP_JSON::Integer(int) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, int as $t)?;","highlight_start":1,"highlight_end":69},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Float(float) => {","highlight_start":1,"highlight_end":47},{"text":" Self::set_value(cursor, memory, float as $t)?;","highlight_start":1,"highlight_end":71},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(())","highlight_start":1,"highlight_end":23},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_json(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":108},{"text":" let mut schema_json = JSMAP::new();","highlight_start":1,"highlight_end":52},{"text":" schema_json.insert(\"type\".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()));","highlight_start":1,"highlight_end":104},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" let default_val = default;","highlight_start":1,"highlight_end":47},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::unsigned => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Integer(default_val as i64));","highlight_start":1,"highlight_end":108},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_NumType::floating => {","highlight_start":1,"highlight_end":50},{"text":" schema_json.insert(\"default\".to_owned(), NP_JSON::Float(default_val as f64));","highlight_start":1,"highlight_end":106},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":21},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" Ok(NP_JSON::Dictionary(schema_json))","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn schema_to_idl(schema: &Vec, address: usize)-> Result {","highlight_start":1,"highlight_end":106},{"text":" let mut result = String::from($str2);","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(default) = <$t>::np_get_default(address, &schema) {","highlight_start":1,"highlight_end":80},{"text":" result.push_str(\"({default: \");","highlight_start":1,"highlight_end":52},{"text":" result.push_str(default.to_string().as_str());","highlight_start":1,"highlight_end":67},{"text":" result.push_str(\"})\");","highlight_start":1,"highlight_end":43},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" result.push_str(\"()\");","highlight_start":1,"highlight_end":43},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(result)","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":181},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" let mut default: Option<$t> = None;","highlight_start":1,"highlight_end":52},{"text":" let mut default_str: Option = None;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if args.len() > 0 {","highlight_start":1,"highlight_end":36},{"text":" match &args[0] {","highlight_start":1,"highlight_end":37},{"text":" JS_AST::object { properties } => {","highlight_start":1,"highlight_end":59},{"text":" for (key, value) in properties.iter() {","highlight_start":1,"highlight_end":68},{"text":" match idl.get_str(key).trim() {","highlight_start":1,"highlight_end":64},{"text":" \"default\" => {","highlight_start":1,"highlight_end":51},{"text":" match value {","highlight_start":1,"highlight_end":54},{"text":" JS_AST::number { addr } => {","highlight_start":1,"highlight_end":73},{"text":" let trimmed = idl.get_str(addr).trim();","highlight_start":1,"highlight_end":88},{"text":" match trimmed.parse::<$t>() {","highlight_start":1,"highlight_end":78},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":63},{"text":" default_str = Some(String::from(trimmed));","highlight_start":1,"highlight_end":99},{"text":" default = Some(x);","highlight_start":1,"highlight_end":75},{"text":" },","highlight_start":1,"highlight_end":55},{"text":" Err(_e) => { }","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":50},{"text":" },","highlight_start":1,"highlight_end":47},{"text":" _ => { }","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" _ => { }","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { }","highlight_start":1,"highlight_end":33},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if let Some(x) = default {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":41},{"text":" schema_data.extend_from_slice(&(x as $t).to_be_bytes());","highlight_start":1,"highlight_end":77},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":125},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8","highlight_start":1,"highlight_end":127},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option {","highlight_start":1,"highlight_end":126},{"text":" <$t>::np_get_default(addr, &schema)","highlight_start":1,"highlight_end":52},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized {","highlight_start":1,"highlight_end":146},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut value_address = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":77},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if value_address != 0 { // existing value, replace","highlight_start":1,"highlight_end":67},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let write_bytes = memory.write_bytes();","highlight_start":1,"highlight_end":60},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // overwrite existing values in buffer","highlight_start":1,"highlight_end":59},{"text":" for x in 0..bytes.len() {","highlight_start":1,"highlight_end":46},{"text":" write_bytes[value_address + x] = bytes[x];","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" } else { // new value","highlight_start":1,"highlight_end":38},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut bytes = value.to_be_bytes();","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":37},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":48},{"text":" bytes[0] = to_unsigned(bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => {}","highlight_start":1,"highlight_end":32},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" value_address = memory.malloc_borrow(&bytes)?;","highlight_start":1,"highlight_end":67},{"text":" cursor.get_value_mut(memory).set_addr_value(value_address as u32);","highlight_start":1,"highlight_end":87},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok(cursor);","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":17},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized {","highlight_start":1,"highlight_end":127},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let value_addr = c_value().get_addr_value() as usize;","highlight_start":1,"highlight_end":70},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" // empty value","highlight_start":1,"highlight_end":31},{"text":" if value_addr == 0 {","highlight_start":1,"highlight_end":37},{"text":" return Ok(None);","highlight_start":1,"highlight_end":37},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let read_memory = memory.read_bytes();","highlight_start":1,"highlight_end":55},{"text":" let mut be_bytes = <$t>::default().to_be_bytes();","highlight_start":1,"highlight_end":66},{"text":" for x in 0..be_bytes.len() {","highlight_start":1,"highlight_end":45},{"text":" be_bytes[x] = read_memory[value_addr + x];","highlight_start":1,"highlight_end":63},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match $numType {","highlight_start":1,"highlight_end":33},{"text":" NP_NumType::signed => {","highlight_start":1,"highlight_end":44},{"text":" be_bytes[0] = to_signed(be_bytes[0]);","highlight_start":1,"highlight_end":62},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {}","highlight_start":1,"highlight_end":28},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Ok(Some(<$t>::from_be_bytes(be_bytes)))","highlight_start":1,"highlight_end":56},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON {","highlight_start":1,"highlight_end":97},{"text":"","highlight_start":1,"highlight_end":1},{"text":" match Self::into_value(cursor, memory) {","highlight_start":1,"highlight_end":57},{"text":" Ok(x) => {","highlight_start":1,"highlight_end":31},{"text":" match x {","highlight_start":1,"highlight_end":34},{"text":" Some(y) => {","highlight_start":1,"highlight_end":41},{"text":" match $numType {","highlight_start":1,"highlight_end":49},{"text":" NP_NumType::floating => NP_JSON::Float(y as f64),","highlight_start":1,"highlight_end":86},{"text":" _ => NP_JSON::Integer(y as i64)","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" },","highlight_start":1,"highlight_end":31},{"text":" None => {","highlight_start":1,"highlight_end":38},{"text":" match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) {","highlight_start":1,"highlight_end":106},{"text":" Some(v) => {","highlight_start":1,"highlight_end":49},{"text":" match $numType {","highlight_start":1,"highlight_end":57},{"text":" NP_NumType::floating => { NP_JSON::Float(v as f64) },","highlight_start":1,"highlight_end":98},{"text":" _ => { NP_JSON::Integer(v as i64) }","highlight_start":1,"highlight_end":80},{"text":" }","highlight_start":1,"highlight_end":42},{"text":" },","highlight_start":1,"highlight_end":39},{"text":" None => NP_JSON::Null","highlight_start":1,"highlight_end":58},{"text":" }","highlight_start":1,"highlight_end":34},{"text":" }","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" Err(_e) => {","highlight_start":1,"highlight_end":33},{"text":" NP_JSON::Null","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result {","highlight_start":1,"highlight_end":107},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let c_value = || { cursor.get_value(memory) };","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" if c_value().get_addr_value() == 0 {","highlight_start":1,"highlight_end":53},{"text":" Ok(0) ","highlight_start":1,"highlight_end":27},{"text":" } else {","highlight_start":1,"highlight_end":25},{"text":" Ok(core::mem::size_of::())","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> {","highlight_start":1,"highlight_end":160},{"text":" ","highlight_start":1,"highlight_end":9},{"text":" let mut schema_data: Vec = Vec::new();","highlight_start":1,"highlight_end":59},{"text":" schema_data.push($tkey as u8);","highlight_start":1,"highlight_end":47},{"text":" ","highlight_start":1,"highlight_end":5},{"text":" match json_schema[\"default\"] {","highlight_start":1,"highlight_end":47},{"text":" NP_JSON::Float(x) => {","highlight_start":1,"highlight_end":43},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" NP_JSON::Integer(x) => {","highlight_start":1,"highlight_end":45},{"text":" schema_data.push(1);","highlight_start":1,"highlight_end":45},{"text":" schema_data.extend((x as $t).to_be_bytes().to_vec());","highlight_start":1,"highlight_end":78},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" _ => {","highlight_start":1,"highlight_end":27},{"text":" schema_data.push(0);","highlight_start":1,"highlight_end":45},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":144},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema[\"default\"]) })) as *const u8","highlight_start":1,"highlight_end":146},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" return Ok((true, schema_data, schema));","highlight_start":1,"highlight_end":56},{"text":" ","highlight_start":1,"highlight_end":13},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) {","highlight_start":1,"highlight_end":136},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let use_schema = NP_Parsed_Schema {","highlight_start":1,"highlight_end":52},{"text":" i: $tkey,","highlight_start":1,"highlight_end":30},{"text":" val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32),","highlight_start":1,"highlight_end":84},{"text":" sortable: match $numType {","highlight_start":1,"highlight_end":47},{"text":" NP_NumType::floating => false,","highlight_start":1,"highlight_end":55},{"text":" _ => true,","highlight_start":1,"highlight_end":35},{"text":" },","highlight_start":1,"highlight_end":23},{"text":" data: Arc::new(match $tkey {","highlight_start":1,"highlight_end":49},{"text":" NP_TypeKeys::Int8 => {","highlight_start":1,"highlight_end":47},{"text":" Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int16 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int32 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Int64 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint8 => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":136},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint16 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint32 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Uint64 => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Float => {","highlight_start":1,"highlight_end":48},{"text":" Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" NP_TypeKeys::Double => {","highlight_start":1,"highlight_end":49},{"text":" Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8","highlight_start":1,"highlight_end":138},{"text":" },","highlight_start":1,"highlight_end":27},{"text":" _ => { NULL() }","highlight_start":1,"highlight_end":40},{"text":" })","highlight_start":1,"highlight_end":23},{"text":" };","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":" schema.push(use_schema);","highlight_start":1,"highlight_end":41},{"text":" (schema[schema.len() - 1].sortable, schema)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0063]\u001b[0m\u001b[0m\u001b[1m: missing fields `all_props` and `generics` in initializer of `NP_Parsed_Schema`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/pointer/numbers.rs:413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let use_schema = NP_Parsed_Schema {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmissing `all_props` and `generics`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mnoproto_number!(f64, \"double\", \"f64\", NP_TypeKeys::Double, NP_NumType::floating);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in the macro `noproto_number` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"message":"aborting due to 99 previous errors; 5 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 99 previous errors; 5 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0063, E0412, E0423, E0432.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0063, E0412, E0423, E0432.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0063`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0063`.\u001b[0m\n"} ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-efe2ce7d02f8f240/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-efe2ce7d02f8f240/lib-no_proto ================================================ 1b6209503b1402c1 ================================================ FILE: no_proto_rs_old/target/debug/.fingerprint/no_proto-efe2ce7d02f8f240/lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[\"default\", \"np_rpc\"]","target":5679422633093381181,"profile":1144844575097113612,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-efe2ce7d02f8f240/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/debug/deps/libno_proto-2b9c306cf5e321b2.rmeta ================================================ ================================================ FILE: no_proto_rs_old/target/debug/deps/libno_proto-aa3c6589db10b605.rmeta ================================================ ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-087b92dbcadb4e9e.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-087b92dbcadb4e9e.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-087b92dbcadb4e9e.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-1f12470dc8aab137.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-1f12470dc8aab137.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-1f12470dc8aab137.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-2620c8dfffee77c5.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-2620c8dfffee77c5.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs/target/debug/deps/libno_proto-2620c8dfffee77c5.rlib: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-2620c8dfffee77c5.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-2b9c306cf5e321b2.d ================================================ /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-2b9c306cf5e321b2.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-2b9c306cf5e321b2.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-3cb4c0b2e234d1a3.d ================================================ /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-3cb4c0b2e234d1a3.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-3cb4c0b2e234d1a3.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-42633ea97bf6e77b.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-42633ea97bf6e77b.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-42633ea97bf6e77b.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-441091bf4a4eb675.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-441091bf4a4eb675.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-441091bf4a4eb675.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-45445c9cceb28ae6.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-45445c9cceb28ae6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-45445c9cceb28ae6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-56746ab113abb4bf.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-56746ab113abb4bf.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-56746ab113abb4bf.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-7ecb4680266c38b6.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-7ecb4680266c38b6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-7ecb4680266c38b6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-8d483704a5a1fdf6.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-8d483704a5a1fdf6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-8d483704a5a1fdf6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-aa3c6589db10b605.d ================================================ /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-aa3c6589db10b605.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-aa3c6589db10b605.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-ae791f23982352cd.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-ae791f23982352cd: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-ae791f23982352cd.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-ba940134b4c1a3ac.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-ba940134b4c1a3ac.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-ba940134b4c1a3ac.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-c73899fa9d5a4e2e.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-c73899fa9d5a4e2e: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-c73899fa9d5a4e2e.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-d8cf3dffddd77550.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-d8cf3dffddd77550.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/debug/deps/no_proto-d8cf3dffddd77550.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/debug/deps/no_proto-efe2ce7d02f8f240.d ================================================ /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-efe2ce7d02f8f240.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/debug/deps/no_proto-efe2ce7d02f8f240.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/.cargo_vcs_info.json ================================================ { "git": { "sha1": "1e935e8a2d747812e0be18cd0cfb4ee571684405" } } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/CHANGELOG.md ================================================ # 0.9.6 March 9th, 2021 - Removed lifetimes from NP_Factory and NP_Buffer. - NP_Buffer is no longer generic over memory type. This has a performance cost but makes the API easier to use. # 0.9.51 February 10th, 2021 - Added `Send` to NP_Buffer Memory types. # 0.9.5 February 10th, 2021 - Added `Send` and `Sync` to NP_Schema so NP_Factory would be safe to send across threads. - Added test to make sure NP_Factory is always safe to send across threads in the future. # 0.9.4 February 8th, 2021 - Minor performance improvements. - Switched to 32 bit addresses instead of 16 bit. This is a breaking change, buffers created with previous versions will not open with this version. # 0.9.3 February 7th, 2021 - Tuple types are now packed much tighter but cannot be mutated in schema. But no longer need `close_sortable` and `open_sortable` methods. - Updated open buffer methods and export schema methods to be consistent. - Cleaned up read only buffer semantics, added mutable reference buffer type so mmap will work with NoProto buffers. - Added read only checks on all mutable methods. - Removed explicit read only buffer, the main buffer class handles all memory types generically now. - Added new `set_max_length` method that allows you to limit the maximium size of buffers. - Major performance improvement, around 20% increase in performance from benchmarks. # 0.9.2 January 25, 2021 - Restored `no_std`. - Minor documentation updates. # 0.9.1 January 24, 2021 - Changed "table" type "struct" type. Old code should still work with "table". - `NP_Factory::new` is now `NP_Factory::new_json`. - Added new IDL that is similar to ES6 for schemas (way shorter than JSON). JSON is still supported, though. - Working to stabilize the format and API for 1.0 release. # 0.9.0 January 10, 2021 - Started adding `union` type, isn't fully implmented yet. - Added docs and more tests for `portal` type. - Added packed buffer feature that allows schemas to be included with buffers. - Added `np_path` macro to make it easy to use dot notated strings as path like this: `some.path.here`. - Added `set_from_json` method to allow buffer values to be set with JSON. This enables 100% interop with JSON. - ULID was not printing correctly according to spec, it is now. - Fixed issues with list type loops and inserts. - Added ULID parsing from string. - `json_encode` now always provides valid, parsable JSON. # 0.8.0 January 5, 2021 - Added new recursive data types with new `portal` type. - Compiled schemas were not preserving default values correctly, it is now fixed and tested. - Added benchmarks for Apache Avro and Flexbuffers. # 0.7.4 January 2, 2021 - NP_Geo types no longer allow invalid values to be set into the buffer (outside lat/lng min & max values). - Added new `set_max` and `set_min` buffer methods to make it easer to make range query buffers. - Ran library through Miri, found some possible UB and fixed it. # 0.7.3 December 30, 2020 - Added Prost to benchmarks. - Added documentation for zero-copy usage. - Added Zero copoy and non zero copy implmentations of `String`, `NP_UUID`, `NP_ULID`, and `Vec`. - Added new `get_schema_default` method for getting data types that are setup according to the schema. - Added new `get_schema_type` method for getting the schema type at a specifiic path. # 0.7.2 December 26, 2020 - Added looping limits to prevent DOS attacks with specially made buffers. - Added a bunch of stuff to the readme to help with pros/cons of other libs. - Added bincode to the benchmarks. # 0.7.1 December 22, 2020 - Minor performance improvements. - Fixed some type errors in `XX::max` calls. - Working on `wasm` version of this library. # 0.7.0 December 20, 2020 - Added `open_buffer_ro` method to open buffers as read only. - Moved `NP_Memory` into a trait system to allow read only buffers. - Read only buffers are `Send`, thread safe, and significantly faster to open. - Significant performance improvements in benchmarks. - No longer trading blows with Protocol Buffers, NoProto is measurably faster now. :) # 0.6.3 December 20, 2020 - Restored hashmap code for faster RPC lookups. - Optimized RPC code to reduce allocations. - Implemented compiled RPC byte specs. - RPC now sends hash of id + version instead of the actual id + version (saves 15 bytes on each request). # 0.6.2 December 20, 2020 - Removed hashmap as it didn't help performance enough to justify the extra code/complexity. - Some minor optimizations and code clean up. - Added RPC Capability, API and documentation. - Added `from_string` to UUID. - Updated benchmark format to be more clear. - Fixed some inaccuracies in compare table. # 0.6.1 December 15, 2020 - Restored the first byte for later use. Probably add `u32` address size again in the future. - The format should now be considered stable, won't be making any further changes to it. - Removed all panics, unwraps, and `unreachable_unchecked` calls. - Strings now support `lowercase` and `uppercase` properties in schema. - Added sortable buffer export and import capability. - Cleaned up benchmark formatting a bit. # 0.6.0 December 14, 2020 - Complete rewrite again (twice this time). - There is now only one address size, `u16`, limits buffers to 16kb max size. - Dramatically reduced the cost of reading/updating addresses in buffer. - Lists & maps are now limited to 255 items. - Performance is now comparable to Protocol Buffers, I'm pretty happy about that. # 0.5.1 November 30, 2020 - Forgot to apply `no_std` after debugging in previous release. # 0.5.0 November 30, 2020 - Complete rewrite with major performance improvements. - Optimizations and cleaning code. - More documentation, less noise. - 10 - 15x performance improvements on data inserts # 0.4.2 November 20, 2020 - Optimizations and cleaning code. - More documentation, less noise. # 0.4.1 November 19, 2020 - Docs & Meta update # 0.4.0 November 19, 2020 - Completely reworked loop code for all collections, it's now far faster and more efficient. - Iterating/Traversing over a buffer no longer mutates it. - Added new `to_iter` and `list_push` methods to buffer. - Removed `open` and `extract` methods from buffer, you can no longer access internal pointers directly. - Several other minor optimizations. # 0.3.0 November 11, 2020 - Added lots of tests - Reorganized files a little bit. - Byte schemas are now parsed ahead of time instead of incrementally - Slight adjustment to the schema byte format. - Tuple sorting validation is now more thorough - Cleaned up lots of code. # 0.2.2 November 10, 2020 - Added lots of tests and documentation. - Removed all Rc's from the library. - Added compiled byte schemas & format docs with tests. # 0.1.2 August 26, 2020 - Added lots of tests, fixed a few small bugs. - Added some info to README. # 0.1.1 August 26, 2020 - Added data format documentation. # 0.1.0 August 26, 2020 - Stabilized API - Added macro for numbers data type - Minor optimizations ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/Cargo.toml ================================================ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies # # If you believe there's an error in this file please file an # issue against the rust-lang/cargo repository. If you're # editing this file be aware that the upstream Cargo.toml # will likely look very different (and much more reasonable) [package] edition = "2018" name = "no_proto" version = "0.9.60" authors = ["Scott Lott "] exclude = [] description = "Flexible, Fast & Compact Serialization with RPC" homepage = "https://github.com/only-cliches/NoProto" documentation = "https://docs.rs/crate/no_proto/" readme = "README.md" keywords = ["protocol-buffers", "grpc", "avro", "database", "json"] categories = ["data-structures", "embedded", "encoding", "no-std", "database"] license = "MIT" repository = "https://github.com/only-cliches/NoProto" [features] default = ["np_rpc"] np_rpc = [] ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/Cargo.toml.orig ================================================ [package] name = "no_proto" license = "MIT" version = "0.9.60" description = "Flexible, Fast & Compact Serialization with RPC" homepage = "https://github.com/only-cliches/NoProto" repository = "https://github.com/only-cliches/NoProto" documentation="https://docs.rs/crate/no_proto/" authors = ["Scott Lott "] readme = "README.md" edition = "2018" exclude = [] categories = ["data-structures", "embedded", "encoding", "no-std", "database"] keywords = ["protocol-buffers", "grpc", "avro", "database", "json"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] np_rpc = [] default = ["np_rpc"] ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/README.md ================================================ ## NoProto: Flexible, Fast & Compact Serialization with RPC [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) ### Features **Lightweight**
- Zero dependencies - `no_std` support, WASM ready - Most compact non compiling storage format **Stable**
- Safely accept untrusted buffers - Passes Miri compiler safety checks - Panic and unwrap free **Easy**
- Extensive Documentation & Testing - Full interop with JSON, Import and Export JSON values - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format **Fast**
- Zero copy deserialization - Most updates are append only - Deserialization is incrimental **Powerful**
- Native byte-wise sorting - Supports recursive data types - Supports most common native data types - Supports collections (list, map, struct & tuple) - Supports arbitrary nesting of collection types - Schemas support default values and non destructive updates - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). ### Why ANOTHER Serialization Format? 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats: **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema. **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. NoProto takes the performance advantages of compiled formats and implements them in a flexible format. 2. NoProto is a **key-value database focused format**: **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types. **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) ### Comparison With Other Formats
Compared to Apache Avro - Far more space efficient
- Significantly faster serialization & deserialization
- All values are optional (no void or null type)
- Supports more native types (like unsigned ints)
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Protocol Buffers - Comparable serialization & deserialization performance
- Updating buffers is an order of magnitude faster
- Schemas are dynamic at runtime, no compilation step
- All values are optional
- Supports more types and better nested type support
- Byte-wise sorting is first class operation
- Updates without deserializng/serializing
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.

Compared to JSON / BSON - Far more space efficient
- Significantly faster serialization & deserialization
- Deserializtion is zero copy
- Has schemas / type safe
- Supports byte-wise sorting
- Supports raw bytes & other native types
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.

Compared to Flatbuffers / Bincode - Data types can change or be created at runtime
- Updating buffers is an order of magnitude faster
- Supports byte-wise sorting
- Updates without deserializng/serializing
- Works with `no_std`.
- Safely handle untrusted data.
- All values are optional and can be inserted in any order.


| Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | |------------------|-----------|------------|---------|----------|-------------------| | **Runtime Libs** | | | | | | | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | | **Compiled Libs**| | | | | | | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | | Bincode | ✓ | ? | ✓ | ✓ | ✗ | | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | | Veriform | ✗ | ? | ✗ | ✗ | ✗ | # Quick Example ```rust use no_proto::error::NP_Error; use no_proto::NP_Factory; // An ES6 like IDL is used to describe schema for the factory // Each factory represents a single schema // One factory can be used to serialize/deserialize any number of buffers let user_factory = NP_Factory::new(r#" struct({ fields: { name: string(), age: u16({ default: 0 }), tags: list({ of: string() }) }}) "#)?; // create a new empty buffer let mut user_buffer = user_factory.new_buffer(None); // optional capacity // set the "name" field user_buffer.set(&["name"], "Billy Joel")?; // read the "name" field let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // set a nested value, the first tag in the tag list user_buffer.set(&["tags", "0"], "first tag")?; // read the first tag from the tag list let tag = user_buffer.get::<&str>(&["tags", "0"])?; assert_eq!(tag, Some("first tag")); // close buffer and get internal bytes let user_bytes: Vec = user_buffer.finish().bytes(); // open the buffer again let user_buffer = user_factory.open_buffer(user_bytes); // read the "name" field again let name = user_buffer.get::<&str>(&["name"])?; assert_eq!(name, Some("Billy Joel")); // get the age field let age = user_buffer.get::(&["age"])?; // returns default value from schema assert_eq!(age, Some(0u16)); // close again let user_bytes: Vec = user_buffer.finish().bytes(); // we can now save user_bytes to disk, // send it over the network, or whatever else is needed with the data # Ok::<(), NP_Error>(()) ``` ## Guided Learning / Next Steps: 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. ## Benchmarks While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. **Legend**: Ops / Millisecond, higher is better | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| | **Runtime Libs** | | | | | | | | *NoProto* | | | | | | | | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | | Apache Avro | | | | | | | | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | | FlexBuffers | | | | | | | | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | | JSON | | | | | | | | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | | BSON | | | | | | | | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | | MessagePack | | | | | | | | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | | **Compiled Libs** | | | | | | | | Flatbuffers | | | | | | | | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | | Bincode | | | | | | | | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | | Postcard | | | | | | | | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | | Protocol Buffers | | | | | | | | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | | Abomonation | | | | | | | | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | | Rkyv | | | | | | | | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. - **Decode All**: Deserialize the test object from the `Vec` into all fields. - **Decode 1**: Deserialize the test object from the `Vec` into one field. - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. ## NoProto Strengths If your use case fits any of the points below, NoProto might be a good choice for your application. 1. Flexible At Runtime
If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). 2. Safely Accept Untrusted Data
The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. 3. Extremely Fast Updates
If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. 4. All Fields Optional, Insert/Update In Any Order
Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. 5. Incremental Deserializing
You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. 6. Bytewise Sorting
Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. 7. `no_std` Support
If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. 8. Stable
NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. 9. CPU Independent
All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. ### When to use Flatbuffers / Bincode / CapN Proto If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. ### When to use JSON / BSON / MessagePack If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. ## Limitations - Structs and Tuples cannot have more than 255 items. - Lists and Maps cannot have more than 2^16 (~64k) items. - You cannot nest more than 255 levels deep. - Struct field names cannot be longer than 255 UTF8 bytes. - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. - Map keys cannot be larger than 255 UTF8 bytes. - Buffers cannot be larger than 2^32 bytes or ~4GB. ## Unsafe This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. ---------------------- MIT License Copyright (c) 2021 Scott Lott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/buffer.rs ================================================ //! Top level abstraction for buffer objects use alloc::prelude::v1::Box; use crate::{json_decode, json_flex::JSMAP, pointer::NP_Cursor_Parent, schema::{NP_Bytes_Data, NP_Map_List_Data, NP_String_Data, NP_Struct_Data, NP_Tuple_Data}}; use alloc::string::String; use crate::{NP_Size_Data, schema::NP_TypeKeys}; use crate::{memory::NP_Memory, utils::opt_err}; use crate::collection::tuple::NP_Tuple; use crate::{pointer::{NP_Scalar}}; use crate::{collection::map::NP_Map}; use crate::{pointer::NP_Value}; use crate::pointer::NP_Cursor; use crate::{schema::NP_Parsed_Schema, collection::struc::NP_Struct}; use alloc::vec::Vec; use crate::{collection::{list::NP_List}}; use crate::error::NP_Error; use crate::{json_flex::NP_JSON}; use crate::alloc::borrow::ToOwned; /// The address location of the root pointer. #[doc(hidden)] pub const DEFAULT_ROOT_PTR_ADDR: usize = 2; /// Maximum size of list collections #[doc(hidden)] pub const LIST_MAX_SIZE: usize = core::u16::MAX as usize; #[doc(hidden)] pub const VTABLE_SIZE: usize = 4; #[doc(hidden)] pub const VTABLE_BYTES: usize = 20; /// Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction. /// /// #[derive(Debug, Clone)] pub struct NP_Buffer { /// Memory object used by this buffer memory: NP_Memory, /// Is this buffer mutable? pub mutable: bool, cursor: NP_Cursor } unsafe impl Send for NP_Buffer {} /// Finished buffer, can't be edited. Just exported. /// #[derive(Debug)] pub struct NP_Finished_Buffer { memory: NP_Memory } impl NP_Finished_Buffer { /// How large the buffer is /// pub fn buffer_len(self) -> usize { self.memory.read_bytes().len() } /// How many bytes the data is using in the buffer /// pub fn data_len(self) -> usize { self.memory.length() } /// Get an owned copy of the bytes in the buffer /// If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes. /// If the buffer was an owned type, this moves the bytes out of the buffer /// pub fn bytes(self) -> Vec { self.memory.dump() } } impl NP_Buffer { #[doc(hidden)] pub fn _new(memory: NP_Memory) -> Self { // make new buffer NP_Buffer { cursor: NP_Cursor::new(memory.root, 0, 0), mutable: memory.is_mutable, memory: memory } } /// Copy an object at the provided path and all it's children into JSON. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// struct({fields: { /// age: u8(), /// name: string() /// }}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&["name"], "Jeb Kermin"); /// new_buffer.set(&["age"], 30u8); /// /// assert_eq!(r#"{"value":{"age":30,"name":"Jeb Kermin"}}"#, new_buffer.json_encode(&[])?.stringify()); /// assert_eq!(r#"{"value":"Jeb Kermin"}"#, new_buffer.json_encode(&["name"])?.stringify()); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn json_encode(&self, path: &[&str]) -> Result { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; if let Some(x) = value_cursor { let mut json_map = JSMAP::new(); json_map.insert(String::from("value"), NP_Cursor::json_encode(0, &x, &self.memory)); Ok(NP_JSON::Dictionary(json_map)) } else { Ok(NP_JSON::Null) } } /// Finish the buffer. /// /// If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method. /// /// If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // close buffer and get bytes /// let bytes: Vec = new_buffer.finish().bytes(); /// assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn finish(self) -> NP_Finished_Buffer { NP_Finished_Buffer { memory: self.memory } } /// Read the bytes of the buffer immutably. No touching! /// pub fn read_bytes(&self) -> &[u8] { self.memory.read_bytes() } /// Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level. /// /// This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist. /// pub fn move_cursor(&mut self, path: &[&str]) -> Result { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; let cursor = if let Some(x) = value_cursor { x } else { return Ok(false); }; self.cursor = cursor; Ok(true) } /// Moves cursor position to root of buffer, the default. /// pub fn cursor_to_root(&mut self) { self.cursor = NP_Cursor::new(self.memory.root, 0, 0); } /// Set the max value allowed for the specific data type at the given key. /// /// String & Byte types only work if a `size` property is set in the schema. /// /// Will return `true` if a value was found and succesfully set, `false` otherwise. /// /// *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children. /// /// When this is applied to a `string` data type, only ascii values are supported. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({ /// sorted: true, /// values: [string({size: 10}), u32()] /// }) /// "#)?; /// /// let mut low_buffer = factory.new_buffer(None); /// // set all types to minimum value /// low_buffer.set_min(&[])?; /// // get bytes /// let low_bytes: Vec = low_buffer.finish().bytes(); /// /// let mut high_buffer = factory.new_buffer(None); /// // set all types to max value /// high_buffer.set_max(&[])?; /// // get bytes /// let high_bytes: Vec = high_buffer.finish().bytes(); /// /// let mut middle_buffer = factory.new_buffer(None); /// middle_buffer.set(&["0"], "Light This Candle!"); /// middle_buffer.set(&["1"], 22938u32); /// let middle_bytes: Vec = middle_buffer.finish().bytes(); /// /// assert!(low_bytes < middle_bytes); /// assert!(middle_bytes < high_bytes); /// assert!(low_bytes < high_bytes); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_max(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { Ok(NP_Cursor::set_max(x, &self.memory)?) } None => Ok(false) } } /// Set the min value allowed for the specific data type at the given key. /// /// String & Byte types only work if a `size` property is set in the schema. /// /// Will return `true` if a value was found and succesfully set, `false` otherwise. /// /// *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children. /// /// When this is applied to a `string` data type, only ascii values are supported. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({ /// sorted: true, /// values: [string({size: 10}), u32()] /// }) /// "#)?; /// /// let mut low_buffer = factory.new_buffer(None); /// // set all types to minimum value /// low_buffer.set_min(&[])?; /// // get bytes /// let low_bytes: Vec = low_buffer.finish().bytes(); /// /// let mut high_buffer = factory.new_buffer(None); /// // set all types to max value /// high_buffer.set_max(&[])?; /// // get bytes /// let high_bytes: Vec = high_buffer.finish().bytes(); /// /// let mut middle_buffer = factory.new_buffer(None); /// middle_buffer.set(&["0"], "Light This Candle!"); /// middle_buffer.set(&["1"], 22938u32); /// let middle_bytes: Vec = middle_buffer.finish().bytes(); /// /// assert!(low_bytes < middle_bytes); /// assert!(middle_bytes < high_bytes); /// assert!(low_bytes < high_bytes); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_min(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { Ok(NP_Cursor::set_min(x, &self.memory)?) } None => Ok(false) } } /// Used to set scalar values inside the buffer. /// /// The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"list({of: map({ value: list({ of: string() })})})"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "look at all this nesting madness")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("look at all this nesting madness")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set<'set, X: 'set>(&mut self, path: &[&str], value: X) -> Result where X: NP_Value<'set> + NP_Scalar<'set> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly); } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to set value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") into schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } if x.parent_type == NP_Cursor_Parent::Tuple { self.memory.write_bytes()[x.buff_addr - 1] = 1; } X::set_value(x, &self.memory, value)?; Ok(true) } None => Ok(false) } } /// Set value with JSON /// /// This works with all types including portals. /// /// Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored. /// /// Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values. /// /// Using the `.set()` method is far more performant. I recommend only using this on the client side of your application. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({of: string()})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set_with_json(&[], r#"{"value": ["foo", "bar", null, "baz"]}"#)?; /// /// assert_eq!(new_buffer.get_length(&[])?, Some(4)); /// assert_eq!(new_buffer.get::<&str>(&["0"])?, Some("foo")); /// assert_eq!(new_buffer.get::<&str>(&["1"])?, Some("bar")); /// assert_eq!(new_buffer.get::<&str>(&["2"])?, None); /// assert_eq!(new_buffer.get::<&str>(&["3"])?, Some("baz")); /// /// new_buffer.set_with_json(&["2"], r#"{"value": "bazzy"}"#)?; /// assert_eq!(new_buffer.get::<&str>(&["2"])?, Some("bazzy")); /// /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn set_with_json>(&mut self, path: &[&str], json_value: S) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), self.mutable, false, path)?; match value_cursor { Some(x) => { let parsed = json_decode(json_value.into())?; match parsed["value"] { NP_JSON::Null => { return Err(NP_Error::new(".set_with_json requires `value` property!")) }, _ => { NP_Cursor::set_from_json(0, false, x, &self.memory, &Box::new(parsed["value"].clone()))?; } } Ok(true) } None => Ok(false) } } /// Get an iterator for a collection /// /// /// ## List Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({of: string()})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 1 index /// new_buffer.set(&["1"], "hello")?; /// // set value at 4 index /// new_buffer.set(&["4"], "world")?; /// // push value onto the end /// new_buffer.list_push(&[], "!")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), None), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("world")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("!")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Struct Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "struct", /// "fields": [ /// ["age", {"type": "uint8"}], /// ["name", {"type": "string"}], /// ["job", {"type": "string"}], /// ["tags", {"type": "list", "of": {"type": "string"}}] /// ] /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value of age /// new_buffer.set(&["age"], 20u8)?; /// // set value of name /// new_buffer.set(&["name"], "Bill Kerman")?; /// // push value onto tags list /// new_buffer.list_push(&["tags"], "rocket")?; /// /// // get iterator of root (table) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "name" => assert_eq!(item.get::<&str>().unwrap(), Some("Bill Kerman")), /// "age" => assert_eq!(item.get::().unwrap(), Some(20)), /// "job" => assert_eq!(item.get::<&str>().unwrap(), None), /// "tags" => { /* tags field is list, can't do anything with it here */ }, /// _ => { panic!() } /// }; /// }); /// /// // we can also loop through items of the tags list /// new_buffer.get_collection(&["tags"])?.unwrap().into_iter().for_each(|item| { /// assert_eq!(item.index, 0); /// assert_eq!(item.get::<&str>().unwrap(), Some("rocket")); /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Map Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "map", /// "value": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value of color key /// new_buffer.set(&["color"], "blue")?; /// // set value of sport key /// new_buffer.set(&["sport"], "soccor")?; /// /// // get iterator of root (map) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// /// match item.key { /// "color" => assert_eq!(item.get::<&str>().unwrap(), Some("blue")), /// "sport" => assert_eq!(item.get::<&str>().unwrap(), Some("soccor")), /// _ => panic!() /// } /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Tuple Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "tuple", /// "values": [ /// {"type": "string"}, /// {"type": "u8"}, /// {"type": "bool"} /// ] /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 0 index /// new_buffer.set(&["0"], "hello")?; /// // set value at 2 index /// new_buffer.set(&["2"], false)?; /// /// // get iterator of root (tuple item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("hello")), /// 1 => assert_eq!(item.get::().unwrap(), None), /// 2 => assert_eq!(item.get::().unwrap(), Some(false)), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_collection<'iter>(&'iter self, path: &'iter [&str]) -> Result>, NP_Error> { let value = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; let value = if let Some(x) = value { x } else { return Ok(None); }; let value_data = value.get_value(&self.memory); // value doesn't exist if value_data.get_addr_value() == 0 { return Ok(None); } Ok(Some(NP_Generic_Iterator::new(value, &self.memory)?)) } /// Push a value onto the end of a list. /// The path provided must resolve to a list type, and the type being pushed must match the schema /// /// This is the most efficient way to add values to a list type. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new_json(r#"{ /// "type": "list", /// "of": {"type": "string"} /// }"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&["3"], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), None), /// 1 => assert_eq!(item.get::<&str>().unwrap(), None), /// 2 => assert_eq!(item.get::<&str>().unwrap(), None), /// 3 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 4 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 5 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.list_push(&[], "launch")?; /// new_buffer.list_push(&[], "this")?; /// new_buffer.list_push(&[], "rocket")?; /// /// // get iterator of root (list item) /// new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| { /// match item.index { /// 0 => assert_eq!(item.get::<&str>().unwrap(), Some("launch")), /// 1 => assert_eq!(item.get::<&str>().unwrap(), Some("this")), /// 2 => assert_eq!(item.get::<&str>().unwrap(), Some("rocket")), /// _ => panic!() /// }; /// }); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn list_push<'push, X: 'push>(&mut self, path: &[&str], value: X) -> Result, NP_Error> where X: NP_Value<'push> + NP_Scalar<'push> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let list_cursor = if path.len() == 0 { self.cursor.clone() } else { match NP_Cursor::select(&self.memory, self.cursor.clone(), true, false, path)? { Some(x) => x, None => return Ok(None) }}; let schema = self.memory.get_schema(list_cursor.schema_addr); match schema.i { NP_TypeKeys::List => { let data = unsafe { &*(*schema.data as *const NP_Map_List_Data) }; let of = data.child; let of_schema = &self.memory.get_schema(of); // type does not match schema if X::type_idx().1 != of_schema.i { let mut err = "TypeError: Attempted to set value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") into schema of type ("); err.push_str(of_schema.i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } }, _ => return Err(NP_Error::new("Trying to push onto non list item!")) } match NP_List::push(&list_cursor, &self.memory, None)? { Some((index, new_item_addr)) => { X::set_value(new_item_addr, &self.memory, value)?; Ok(Some(index)) }, None => Ok(None) } } /// Get length of String, Bytes, Table, Tuple, List or Map Type /// /// If the type found at the path provided does not support length operations, you'll get `None`. /// /// If there is no value at the path provodid, you will get `None`. /// /// If an item is found and it's length is zero, you can expect `Some(0)`. /// /// ## String Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // get length of value at root (String) /// assert_eq!(new_buffer.get_length(&[])?, Some(5)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (List) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({ of: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set value at 9th index /// new_buffer.set(&["9"], "hello")?; /// // get length of value at root (List) /// assert_eq!(new_buffer.get_length(&[])?, Some(10)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Table) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new(r#" /// struct({fields: { /// age: u8(), /// name: string() /// }}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // get length of value at root (Table) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Map) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("map({value: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set values /// new_buffer.set(&["foo"], "bar")?; /// new_buffer.set(&["foo2"], "bar2")?; /// // get length of value at root (Map) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Collection (Tuple) Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("tuple({values: [string(), string()]})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // get length of value at root (Tuple) /// assert_eq!(new_buffer.get_length(&[])?, Some(2)); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_length(&self, path: &[&str]) -> Result, NP_Error> { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; let found_cursor = if let Some(x) = value_cursor { x } else { return Ok(None); }; let addr_value = found_cursor.get_value(&self.memory).get_addr_value(); let schema = self.memory.get_schema(found_cursor.schema_addr); match schema.i { NP_TypeKeys::List => { if addr_value == 0 { return Ok(None); } let data = unsafe { &*(*schema.data as *const NP_Map_List_Data) }; let of = data.child; let list_data = NP_List::get_list(addr_value as usize, &self.memory); let tail_addr = list_data.get_tail() as usize; if tail_addr == 0 { Ok(Some(0)) } else { let tail_cursor = NP_Cursor::new(tail_addr, of, found_cursor.schema_addr); let cursor_data = tail_cursor.get_value(&self.memory); Ok(Some(cursor_data.get_index() as usize + 1)) } }, NP_TypeKeys::Map => { if addr_value == 0 { return Ok(None); } let mut count = 0usize; { let mut map_iter = NP_Map::new_iter(&found_cursor, &self.memory); while let Some((_ikey, _item)) = map_iter.step_iter(&self.memory) { count += 1; } } Ok(Some(count)) }, NP_TypeKeys::Struct => { let data = unsafe { &*(*schema.data as *const NP_Struct_Data) }; Ok(Some(data.fields.len())) }, NP_TypeKeys::Tuple => { let data = unsafe { &*(*schema.data as *const NP_Tuple_Data) }; Ok(Some(data.values.len())) }, NP_TypeKeys::Bytes => { let data = unsafe { &*(*schema.data as *const NP_Bytes_Data) }; let size = data.size; if size > 0 { Ok(Some(size as usize)) } else { let length_bytes = self.memory.get_4_bytes(addr_value as usize).unwrap_or(&[0u8; 4]); Ok(Some(u32::from_be_bytes(*length_bytes) as usize)) } }, NP_TypeKeys::UTF8String => { let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let size = data.size; if size > 0 { Ok(Some(size as usize)) } else { let length_bytes = self.memory.get_4_bytes(addr_value as usize).unwrap_or(&[0u8; 4]); Ok(Some(u32::from_be_bytes(*length_bytes) as usize)) } }, _ => { Ok(None) } } } /// Clear an inner value from the buffer. /// This can also be used to clear deeply nested collection objects or scalar objects. /// /// Returns `true` if it found a value to delete (and deleted it), `false` otherwise. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("list({ of: string() })")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set index 0 /// new_buffer.set(&["0"], "hello")?; /// // del index 0 /// new_buffer.del(&["0"])?; /// // value is gone now! /// assert_eq!(None, new_buffer.get::<&str>(&["0"])?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn del(&mut self, path: &[&str]) -> Result { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; match value_cursor { Some(x) => { NP_Cursor::delete(x, &self.memory) } None => Ok(false) } } /// Retrieve the schema type at a given path. /// /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::schema::NP_TypeKeys; /// /// let factory: NP_Factory = NP_Factory::new("tuple({values: [ geo8(), dec({exp: 2}), string() ]})")?; /// /// let mut new_buffer = factory.new_buffer(None); /// /// assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple); /// assert_eq!(new_buffer.get_schema_type(&["0"])?.unwrap(), NP_TypeKeys::Geo); /// assert_eq!(new_buffer.get_schema_type(&["1"])?.unwrap(), NP_TypeKeys::Decimal); /// assert_eq!(new_buffer.get_schema_type(&["2"])?.unwrap(), NP_TypeKeys::UTF8String); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_schema_type(&self, path: &[&str]) -> Result, NP_Error> { match NP_Cursor::select(&self.memory, self.cursor.clone(), false, true, path)? { Some(x) => { Ok(Some(self.memory.get_schema(x.schema_addr).i)) } None => Ok(None) } } /// Retrieve the schema default at a given path. /// /// This is useful for `geo` and `dec` data types where there is information about the value in the schema. /// /// For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::pointer::dec::NP_Dec; /// use no_proto::pointer::geo::NP_Geo; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#" /// tuple({values: [ /// geo8(), /// dec({exp: 2}) /// ]}) /// "#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // Get an empty NP_Geo type that has the correct resolution for the schema /// // /// let geo_default: NP_Geo = new_buffer.get_schema_default::(&["0"])?.unwrap(); /// assert_eq!(geo_default.size, 8); // geo is size 8 in schema /// /// // Get an empty NP_Dec type that has the correct exp for the schema /// // /// let dec_default: NP_Dec = new_buffer.get_schema_default::(&["1"])?.unwrap(); /// assert_eq!(dec_default.exp, 2); // exponent is 2 in schema /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get_schema_default<'get, X: 'get>(&'get self, path: &[&str]) -> Result, NP_Error> where X: NP_Value<'get> + NP_Scalar<'get> { match NP_Cursor::select(&self.memory, self.cursor.clone(), false, true, path)? { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to get schema for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") for schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } Ok(X::schema_default(&self.memory.get_schema(x.schema_addr))) } None => Ok(None) } } /// Retrieve an inner value from the buffer. /// /// The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// // a list where each item is a map where each key has a value containing a list of strings /// let factory: NP_Factory = NP_Factory::new(r#"list({of: map({ value: list({of: string() }) })})"#)?; /// /// let mut new_buffer = factory.new_buffer(None); /// // third item in the top level list -> key "alpha" of map at 3rd element -> 9th element of list at "alpha" key /// // /// new_buffer.set(&["3", "alpha", "9"], "who would build a schema like this")?; /// /// // get the same item we just set /// let message = new_buffer.get::<&str>(&["3", "alpha", "9"])?; /// /// assert_eq!(message, Some("who would build a schema like this")); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn get<'get, X: 'get>(&'get self, path: &[&str]) -> Result, NP_Error> where X: NP_Value<'get> + NP_Scalar<'get> { let value_cursor = NP_Cursor::select(&self.memory, self.cursor.clone(), false, false, path)?; match value_cursor { Some(x) => { // type does not match schema if X::type_idx().1 != self.memory.get_schema(x.schema_addr).i { let mut err = "TypeError: Attempted to get value for type (".to_owned(); err.push_str(X::type_idx().0); err.push_str(") for schema of type ("); err.push_str(self.memory.get_schema(x.schema_addr).i.into_type_idx().0); err.push_str(")\n"); return Err(NP_Error::new(err)); } match X::into_value(&x, &self.memory)? { Some(x) => { Ok(Some(x)) }, None => { // no value found here, return default from schema match X::default_value(0, x.schema_addr, &self.memory.get_schemas()) { Some(y) => { Ok(Some(y)) }, None => { // no default in schema, no value to provide Ok(None) } } } } } None => Ok(None) } } /// This performs a compaction if the closure provided as the second argument returns `true`. /// Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// **WARNING** Your cursor location will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 15 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 31 bytes, with 9 bytes of wasted space /// assert_eq!(NP_Size_Data { /// current_buffer: 31, /// after_compaction: 22, /// wasted_bytes: 9 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.maybe_compact(None, |compact_data| { /// // only compact if wasted bytes are greater than 5 /// if compact_data.wasted_bytes > 5 { /// true /// } else { /// false /// } /// })?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 22, /// after_compaction: 22, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn maybe_compact(&mut self, new_capacity: Option, mut callback: F) -> Result<(), NP_Error> where F: FnMut(NP_Size_Data) -> bool { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let bytes_data = self.calc_bytes()?; if callback(bytes_data) { self.compact(new_capacity)?; } return Ok(()); } /// Compacts a buffer to remove an unused bytes or free space after a mutation. /// This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly. /// /// The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer. /// /// - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. /// - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead. /// - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated. /// /// **WARNING** Your cursor location will be reset to the root. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// // set initial value /// new_buffer.set(&[], "hello")?; /// // using 15 bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// // update the value /// new_buffer.set(&[], "hello, world")?; /// // now using 31 bytes, with 9 bytes of wasted space /// assert_eq!(NP_Size_Data { /// current_buffer: 31, /// after_compaction: 22, /// wasted_bytes: 9 /// }, new_buffer.calc_bytes()?); /// // compact to save space /// new_buffer.compact(None)?; /// // back down to 18 bytes with no wasted bytes /// assert_eq!(NP_Size_Data { /// current_buffer: 22, /// after_compaction: 22, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn compact<'compact>(&mut self, new_capacity: Option) -> Result<(), NP_Error> { if self.mutable == false { return Err(NP_Error::MemoryReadOnly) } let capacity = Some(match new_capacity { Some(x) => { x as usize }, None => self.memory.read_bytes().len() }); let old_root = NP_Cursor::new(self.memory.root, 0, 0); let new_root = NP_Cursor::new(self.memory.root, 0, 0); // comapcting a RefMut buffer, we have to compact into a Vec, then write it back into the RefMut if self.memory.is_ref_mut() { let new_bytes = NP_Memory::new(capacity, self.memory.get_schemas() as *const Vec, self.memory.root); NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; let new_length = new_bytes.length(); let read_bytes = new_bytes.read_bytes(); let memory = self.memory.write_bytes(); for x in 0..memory.len() { if x < new_length { memory[x] = read_bytes[x]; } else { memory[x] = 0; } } self.memory.set_length(new_length)?; // compacting from one owned buffer into itself } else { let new_bytes = self.memory.new_empty(capacity)?; NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; self.memory = new_bytes; } self.cursor = NP_Cursor::new(self.memory.root, 0, 0); Ok(()) } /// Compact the current buffer into a new owned buffer. /// Returns an owned buffer of the compacted result. /// /// This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer. /// /// If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction. /// pub fn compact_into(&mut self, new_capacity: Option) -> Result { let capacity = Some(match new_capacity { Some(x) => { x as usize }, None => self.memory.read_bytes().len() }); let old_root = NP_Cursor::new(self.memory.root, 0, 0); let new_bytes = NP_Memory::new(capacity, self.memory.get_schemas() as *const Vec, self.memory.root); let new_root = NP_Cursor::new(self.memory.root, 0, 0); NP_Cursor::compact(0, old_root, &self.memory, new_root, &new_bytes)?; self.cursor = NP_Cursor::new(self.memory.root, 0, 0); Ok(NP_Buffer::_new(new_bytes)) } /// Copy the current buffer into a new owned buffer. /// pub fn copy_buffer(&self) -> NP_Buffer { let copy_bytes = self.memory.read_bytes().to_vec(); let new_memory = NP_Memory::existing_owned(copy_bytes, self.memory.get_schemas() as *const Vec, self.memory.root); NP_Buffer::_new(new_memory) } /// Recursively measures how many bytes each element in the buffer is using. /// This will let you know how many bytes can be saved from a compaction. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::NP_Size_Data; /// /// let factory: NP_Factory = NP_Factory::new("string()")?; /// /// let mut new_buffer = factory.new_buffer(None); /// new_buffer.set(&[], "hello")?; /// assert_eq!(NP_Size_Data { /// current_buffer: 15, /// after_compaction: 15, /// wasted_bytes: 0 /// }, new_buffer.calc_bytes()?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// pub fn calc_bytes<'bytes>(&self) -> Result { let root = NP_Cursor::new(self.memory.root, 0, 0); let real_bytes = NP_Cursor::calc_size(0, &root, &self.memory)? + self.memory.root; let total_size = self.memory.length(); if total_size >= real_bytes { return Ok(NP_Size_Data { current_buffer: total_size, after_compaction: real_bytes, wasted_bytes: total_size - real_bytes }); } else { return Err(NP_Error::new("Error calculating bytes!")); } } /// Set the maximum allowed of size of this buffer, in bytes. /// /// Once this value is set, the buffer will not be allowed to grow beyond this size. /// /// This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. /// pub fn set_max_data_length(&mut self, len: usize) { self.memory.set_max_length(len); } /// Get the number of bytes used by the data in this buffer. /// /// This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer. /// pub fn data_length(&self) -> usize { self.memory.length() } } /// NP Item pub struct NP_Item<'item> { /// index of this value pub index: usize, /// Key at this index pub key: &'item str, /// Field at this index pub field: &'item str, /// Cursor value cursor: Option, parent: NP_Cursor, memory: &'item NP_Memory } impl<'item> NP_Item<'item> { /// If this item has a value pub fn has_value(&self) -> bool { if let Some(x) = self.cursor { let value = x.get_value(self.memory); value.get_addr_value() != 0 } else { false } } /// Get value at this pointer pub fn get(&'item self) -> Result, NP_Error> where X: NP_Value<'item> + NP_Scalar<'item> { if let Some(cursor) = self.cursor { match X::into_value(&cursor, self.memory)? { Some(x) => { Ok(Some(x)) }, None => { match X::default_value(0, cursor.schema_addr, &self.memory.get_schemas()) { Some(y) => { Ok(Some(y)) }, None => { Ok(None) } } } } } else { Ok(None) } } /// Set value at this pointer pub fn set(&'item mut self, value: X) -> Result<(), NP_Error> where X: NP_Value<'item> + NP_Scalar<'item> { if self.memory.is_mutable == false { return Err(NP_Error::MemoryReadOnly) } if let Some(cursor) = self.cursor { X::set_value(cursor.clone(), self.memory, value)?; } else { let schema = self.memory.get_schema(self.parent.schema_addr); match schema.i { // maps don't let you select values that don't exist in the buffer yet NP_TypeKeys::List => { let item = opt_err(opt_err(NP_List::select(self.parent.clone(), self.index, true, false, self.memory)?)?.1)?; X::set_value(item, self.memory, value)?; } NP_TypeKeys::Struct => { let item = opt_err(NP_Struct::select(self.parent.clone(), schema, &self.key, true, false, self.memory)?)?; X::set_value(item, self.memory, value)?; }, NP_TypeKeys::Tuple => { let item = opt_err(NP_Tuple::select(self.parent.clone(), schema, self.index, true, false, self.memory)?)?; X::set_value(item, self.memory, value)?; } _ => { } } } Ok(()) } /// Clear the value at this pointer pub fn del(&'item mut self) -> bool { if self.memory.is_mutable == false { return false } if let Some(cursor) = self.cursor { match NP_Cursor::delete(cursor, self.memory) { Ok(result) => result, Err(_e) => false } } else { false } } } /// Iterator Enum #[derive(Debug)] #[doc(hidden)] pub enum NP_Iterator_Collection<'col> { /// None None, /// Map Map(NP_Map<'col>), /// List List(NP_List), /// Struct Struct(NP_Struct<'col>), /// Tuple Tuple(NP_Tuple) } #[allow(missing_docs)] impl<'col> NP_Iterator_Collection<'col> { pub fn new(cursor: NP_Cursor, memory: &'col NP_Memory) -> Result { match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Struct => { let struc = NP_Struct::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Struct(struc)) }, NP_TypeKeys::List => { let list = NP_List::new_iter(&cursor, memory, false, 0); Ok(NP_Iterator_Collection::List(list)) }, NP_TypeKeys::Tuple => { let tuple = NP_Tuple::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Tuple(tuple)) }, NP_TypeKeys::Map => { let map = NP_Map::new_iter(&cursor, memory); Ok(NP_Iterator_Collection::Map(map)) }, _ => Err(NP_Error::new("Tried to create iterator on non collection item!")) } } } #[allow(missing_docs)] pub struct NP_Generic_Iterator<'it> { root: NP_Cursor, value: NP_Iterator_Collection<'it>, memory: &'it NP_Memory, index: usize } #[allow(missing_docs)] impl<'it> NP_Generic_Iterator<'it> { pub fn new(cursor: NP_Cursor, memory: &'it NP_Memory) -> Result { Ok(Self { root: cursor.clone(), value: NP_Iterator_Collection::new(cursor.clone(), memory)?, memory: memory, index: 0 }) } } impl<'it> Iterator for NP_Generic_Iterator<'it> { type Item = NP_Item<'it>; fn next(&mut self) -> Option { match &mut self.value { NP_Iterator_Collection::Map(x) => { if let Some(next_item) = x.step_iter(self.memory) { self.index += 1; Some(NP_Item { memory: self.memory, key: next_item.0, field: next_item.0, index: self.index - 1, cursor: Some(next_item.1), parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::List(x) => { if let Some(next_item) = x.step_iter(self.memory) { Some(NP_Item { memory: self.memory, key: "", field: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::Struct(x) => { if let Some(next_item) = x.step_iter(self.memory) { Some(NP_Item { memory: self.memory, key: next_item.1, field: next_item.1, index: next_item.0, cursor: next_item.2, parent: self.root.clone() }) } else { None } }, NP_Iterator_Collection::Tuple(x) => { if let Some(next_item) = x.step_iter(self.memory, true) { Some(NP_Item { memory: self.memory, key: "", field: "", index: next_item.0, cursor: next_item.1, parent: self.root.clone() }) } else { None } }, _ => { None } } } } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/collection/list.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Map_List_Data, NP_Value_Kind}, utils::opt_err}; use crate::{error::NP_Error, json_flex::{JSMAP, NP_JSON}, memory::{NP_Memory}, pointer::{NP_Value}, pointer::{NP_Cursor}, schema::NP_Parsed_Schema, schema::{NP_Schema, NP_TypeKeys}}; use alloc::borrow::ToOwned; use alloc::boxed::Box; use alloc::{vec::*}; use alloc::string::ToString; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_List_Bytes { head: [u8; 4], tail: [u8; 4] } #[allow(missing_docs)] impl NP_List_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } #[inline(always)] pub fn set_tail(&mut self, tail: u32) { self.tail = tail.to_be_bytes(); } #[inline(always)] pub fn get_tail(&self) -> u32 { u32::from_be_bytes(self.tail) } } #[doc(hidden)] #[derive(Debug, Clone, Copy, PartialEq)] struct List_Item { index: usize, buff_addr: usize } /// List data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_List { next: Option, current: Option, index: usize, count: usize, tail: Option, head: Option, only_real: bool, schema_of: usize, list: NP_Cursor } #[allow(missing_docs)] impl NP_List { #[inline(always)] pub fn select(list_cursor: NP_Cursor, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result)>, NP_Error> { let list_value = || { list_cursor.get_value(memory) }; if index > 255 { return Ok(None) } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; if schema_query { return Ok(Some((index, Some(NP_Cursor::new(0, schema_of, list_cursor.schema_addr))))); } // if no list here, make one please if list_value().get_addr_value() == 0 { if make_path { Self::make_list(&list_cursor, memory)?; } else { return Ok(Some((index, None))) } } let list_data = || { Self::get_list(list_value().get_addr_value() as usize, memory) }; // empty list if list_data().get_head() == 0 { let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); list_data().set_head(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } let head = NP_Cursor::new(list_data().get_head() as usize, schema_of, list_cursor.schema_addr); let head_index = head.get_value(memory).get_index() as usize; if head_index > index { // index is in front of head, replace head let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); new_cursor_value.set_next_addr(head.buff_addr as u32); list_data().set_head(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if head_index == index { // index is equal to head return Ok(Some((index, Some(head)))) } // is cursor in behind of or equal to tail let tail = NP_Cursor::new(list_data().get_tail() as usize, schema_of, list_cursor.schema_addr); let tail_value = || { tail.get_value_mut(memory) }; let tail_index = tail_value().get_index() as usize; if tail_index < index { // index is behind tail let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, schema_of, list_cursor.schema_addr); let new_cursor_value = new_cursor.get_value_mut(memory); new_cursor_value.set_index(index as u16); tail_value().set_next_addr(new_cursor_addr as u32); list_data().set_tail(new_cursor_addr as u32); return Ok(Some((index, Some(new_cursor)))) } else if tail_index == index { // index is equal to head return Ok(Some((index, Some(tail)))) } // the index is somewhere in the list let mut list_iter = Self::new_iter(&list_cursor, memory, false, head_index as usize); while let Some((idx, item)) = Self::step_iter(&mut list_iter, memory) { if index == idx { if let Some(found_cursor) = item { // found cursor here return Ok(Some((index, Some(found_cursor)))) } else { // found index but no cursor return Ok(Some((index, Some(list_iter.make_item_in_loop(memory)?)))) } } } // should never reach here Err(NP_Error::Unreachable) } #[inline(always)] pub fn make_item_in_loop(self, memory: &NP_Memory) -> Result { let list_data = || { Self::get_list(self.list.get_value(memory).get_addr_value() as usize, memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 10])?; // malloc list item let new_cursor = NP_Cursor::new(new_cursor_addr, self.schema_of, self.list.schema_addr); let new_cursor_value = || { new_cursor.get_value_mut(memory) }; new_cursor_value().set_index(self.index as u16 - 1); if let Some(current) = self.current { // set NEXT of CURRENT cursor to the new cursor let curr_cursor = NP_Cursor::new(current.buff_addr, self.schema_of, self.list.schema_addr); let prev_cursor_value = curr_cursor.get_value_mut(memory); prev_cursor_value.set_next_addr(new_cursor_addr as u32); if let Some(next) = self.next { new_cursor_value().set_next_addr(next.buff_addr as u32); } else { // replace tail list_data().set_tail(new_cursor_addr as u32); } Ok(new_cursor) } else { Err(NP_Error::Unreachable) } } #[inline(always)] pub fn make_list<'make>(list_cursor: &NP_Cursor, memory: &'make NP_Memory) -> Result<(), NP_Error> { let list_addr = memory.malloc_borrow(&[0u8; 8])?; // head & tail let value = list_cursor.get_value_mut(memory); value.set_addr_value(list_addr as u32); Ok(()) } #[inline(always)] pub fn get_list<'list>(list_cursor_value_addr: usize, memory: &'list NP_Memory) -> &'list mut NP_List_Bytes { if list_cursor_value_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_List_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(list_cursor_value_addr as usize) as *mut NP_List_Bytes) } } } #[inline(always)] pub fn new_iter(list_cursor: &NP_Cursor, memory: &NP_Memory, only_real: bool, starting_index: usize) -> Self { let value = list_cursor.get_value(memory); let list_addr = value.get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let schema_of = data.child; let memory_bytes = memory.write_bytes(); if list_addr > 0 && list_addr < (memory_bytes.len() + 4) { let bytes = unsafe { &mut *(memory_bytes.as_ptr().add(list_addr) as *mut NP_List_Bytes) }; let tail_addr = bytes.get_tail() as usize; if tail_addr != 0 { let tail_cursor = NP_Cursor::new(tail_addr, schema_of, list_cursor.schema_addr); let head_cursor = NP_Cursor::new(bytes.get_head() as usize, schema_of, list_cursor.schema_addr); return Self { current: None, count: 0, next: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), head: Some(List_Item { index: head_cursor.get_value(memory).get_index() as usize, buff_addr: head_cursor.buff_addr}), tail: Some(List_Item { index: tail_cursor.get_value(memory).get_index() as usize, buff_addr: tail_cursor.buff_addr}), only_real, index: starting_index, schema_of, list: list_cursor.clone(), } } } Self { current: None, head: None, tail: None, count: 0, only_real, index: starting_index, schema_of, list: list_cursor.clone(), next: None, } } #[inline(always)] pub fn step_iter(&mut self, memory: &NP_Memory) -> Option<(usize, Option)> { if self.count > u16::MAX as usize { return None; } self.count += 1; match self.next { Some(next) => { if self.only_real { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index = this_value.get_index() as usize; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index, Some(this_cursor))) } else { if next.index > self.index { self.index += 1; Some((self.index - 1, None)) } else if next.index == self.index { self.current = self.next; let this_cursor = NP_Cursor::new(next.buff_addr, self.schema_of, self.list.schema_addr); let this_value = this_cursor.get_value(memory); let next_addr = this_value.get_next_addr() as usize; self.index += 1; if next_addr != 0 { let next_cursor = NP_Cursor::new(next_addr, self.schema_of, self.list.schema_addr); let next_index = next_cursor.get_value(memory).get_index() as usize; self.next = Some(List_Item { index: next_index, buff_addr: next_addr }); } else { self.next = None; } Some((self.index - 1, Some(this_cursor))) } else { None } } }, None => None } } #[inline(always)] pub fn push<'push>(list_cursor: &NP_Cursor, memory: &NP_Memory, index: Option) -> Result, NP_Error> { let list_value = || {list_cursor.get_value(memory)}; if list_value().get_addr_value() == 0 { Self::make_list(&list_cursor, memory)?; } let data = unsafe { &*(*memory.get_schema(list_cursor.schema_addr).data as *const NP_Map_List_Data) }; let mut new_index: usize = index.unwrap_or(0); let new_item_addr = memory.malloc_borrow(&[0u8; 10])?; // list item let list_data = || {Self::get_list(list_value().get_addr_value() as usize, memory)}; let new_cursor = NP_Cursor::new(new_item_addr, data.child, list_cursor.schema_addr); let new_cursor_value = || {new_cursor.get_value_mut(memory)}; if list_data().get_head() == 0 { // empty list list_data().set_head(new_item_addr as u32); list_data().set_tail(new_item_addr as u32); if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16) } else { // list has items let old_tail = NP_Cursor::new(list_data().get_tail() as usize, data.child, list_cursor.schema_addr); let old_tail_value = || {old_tail.get_value_mut(memory)}; old_tail_value().set_next_addr(new_item_addr as u32); new_index = if let Some(idx) = index { idx as usize } else { (old_tail_value().get_index() + 1) as usize }; if new_index > u16::MAX as usize { return Err(NP_Error::new("Index cannot be greater than 2^16!")) } new_cursor_value().set_index(new_index as u16); list_data().set_tail(new_item_addr as u32); } return Ok(Some((new_index as u16, new_cursor))); } } impl<'value> NP_Value<'value> for NP_List { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_list = Vec::new(); let mut list_iter = NP_List::new_iter(&cursor, memory, false, 0); while let Some((_index, item)) = NP_List::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { json_list.push(NP_Cursor::json_encode(depth + 1, item_cursor, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("list", NP_TypeKeys::List) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let list_of = data.child; schema_json.insert("of".to_owned(), NP_Schema::_type_to_json(schema, list_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, list_item) in list.iter().enumerate() { match NP_List::select(cursor, idx, true, false, memory)? { Some(x) => { match x.1 { Some(list_value) => { NP_Cursor::set_from_json(depth + 1, apply_null, list_value, memory, &Box::new(list_item.clone()))?; }, None => { } } }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } // head + tail let base_size = 8usize; let mut acc_size = 0usize; let mut list_iter = Self::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = Self::step_iter(&mut list_iter, memory) { if let Some(item_cursor) = &item { acc_size += NP_Cursor::calc_size(depth + 1, item_cursor, memory)?; } } Ok(acc_size + base_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } Self::make_list(&to_cursor, to_memory)?; let mut list_iter = Self::new_iter(&from_cursor, from_memory, true, 0); while let Some((index, item)) = Self::step_iter(&mut list_iter, from_memory) { if let Some(old_item) = &item { let (_new_index, new_item) = opt_err(NP_List::push(&to_cursor, to_memory, Some(index))?)?; NP_Cursor::compact(depth + 1, old_item.clone(), from_memory, new_item, to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("list({of: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1 })) as *const u8) }); let mut of_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "of" { of_jst = Some(value); } } }, _ => { } } }; if let Some(x) = of_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_bytes.extend(child_bytes); Ok((false, schema_bytes, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::List as u8); let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8), sortable: false }); match json_schema["of"] { NP_JSON::Null => { return Err(NP_Error::new("Lists require an 'of' property that is a schema type!")) }, _ => { } } // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["of"].clone()))?; schema_bytes.extend(child_bytes); return Ok((false, schema_bytes, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let list_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::List, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: list_schema_addr + 1})) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"list({of: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 40usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["10"], "hello, world")?; buffer.set(&["12"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["10"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["12"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 67usize); buffer.set_with_json(&[], r#"{"value": ["light", "this", "candle"]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("light")); assert_eq!(buffer.get::<&str>(&["1"])?, Some("this")); assert_eq!(buffer.get::<&str>(&["2"])?, Some("candle")); Ok(()) } #[test] fn parseing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"list","of":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes values no longer in buffer let mut buffer = factory.new_buffer(None); buffer.set(&["9"], "hello")?; buffer.set(&["10"], "world")?; let new_buffer = factory.open_buffer(buffer.finish().bytes()); assert_eq!(new_buffer.get::<&str>(&["9"])?.unwrap(), "hello"); assert_eq!(new_buffer.get::<&str>(&["10"])?.unwrap(), "world"); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/collection/map.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, pointer::NP_Cursor, schema::{NP_Map_List_Data, NP_Value_Kind}}; use crate::{json_flex::JSMAP}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; #[repr(C)] #[derive(Debug)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Map_Bytes { head: [u8; 4] } #[allow(missing_docs)] impl NP_Map_Bytes { #[inline(always)] pub fn set_head(&mut self, head: u32) { self.head = head.to_be_bytes(); } #[inline(always)] pub fn get_head(&self) -> u32 { u32::from_be_bytes(self.head) } } #[doc(hidden)] #[derive(Debug, Clone, Copy)] struct Map_Item<'item> { key: &'item str, buff_addr: usize } impl<'item> Map_Item<'item> { pub fn new(key: &'item str, buff_addr: usize) -> Self { Self { key, buff_addr} } } /// The map type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Map<'map> { count: usize, current: Option>, head: Option>, map: NP_Cursor, value_of: usize } #[allow(missing_docs)] impl<'map> NP_Map<'map> { #[inline(always)] pub fn select(map_cursor: NP_Cursor, key: &str, make_path: bool, schema_query: bool, memory: &'map NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; if schema_query { let value_of = data.child; return Ok(Some(NP_Cursor::new(0, value_of, map_cursor.schema_addr))); } let mut map_iter = Self::new_iter(&map_cursor, memory); // key is maybe in map while let Some((ikey, item)) = map_iter.step_iter(memory) { if ikey == key { return Ok(Some(item.clone())) } } // key is not in map if make_path { Ok(Some(Self::insert(&map_cursor, memory, key)?)) } else { Ok(None) } } #[inline(always)] pub fn get_map<'get>(map_buff_addr: usize, memory: &'get NP_Memory) -> &'get mut NP_Map_Bytes { if map_buff_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Map_Bytes) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(map_buff_addr as usize) as *mut NP_Map_Bytes) } } } #[inline(always)] pub fn new_iter(map_cursor: &NP_Cursor, memory: &'map NP_Memory) -> Self { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if map_cursor.get_value(memory).get_addr_value() == 0 { return Self { current: None, count: 0, head: None, map: map_cursor.clone(), value_of } } let head_addr = Self::get_map(map_cursor.buff_addr, memory).get_head(); let head_cursor = NP_Cursor::new(head_addr as usize, value_of, map_cursor.schema_addr); let head_cursor_value = head_cursor.get_value(memory); Self { current: None, count: 0, head: Some(Map_Item::new(head_cursor_value.get_key(memory), head_cursor.buff_addr )), map: map_cursor.clone(), value_of } } #[inline(always)] pub fn step_iter(&mut self, memory: &'map NP_Memory) -> Option<(&'map str, NP_Cursor)> { if self.count > u16::MAX as usize { return None; } match self.head { Some(head) => { self.count += 1; match self.current { Some(current) => { // subsequent iterations let current_item = NP_Cursor::new(current.buff_addr, self.value_of, self.map.schema_addr); let current_value = current_item.get_value(memory); let next_value = current_value.get_next_addr() as usize; if next_value == 0 { //nothing left to step return None; } else { let next_value_cursor = NP_Cursor::new(next_value, self.value_of, self.map.schema_addr); let next_value_value = next_value_cursor.get_value(memory); let key = next_value_value.get_key(memory); self.current = Some(Map_Item { buff_addr: next_value, key: key }); return Some((key, next_value_cursor)) } }, None => { // first iteration, get head self.current = Some(head.clone()); return Some((head.key, NP_Cursor::new(head.buff_addr, self.value_of, self.map.schema_addr))) } } }, None => return None } } #[inline(always)] pub fn insert(map_cursor: &NP_Cursor, memory: &NP_Memory, key: &str) -> Result { let data = unsafe { &*(*memory.get_schema(map_cursor.schema_addr).data as *const NP_Map_List_Data) }; let value_of = data.child; if key.len() >= 255 { return Err(NP_Error::new("Key length cannot be larger than 255 charecters!")); } let map_value = || { map_cursor.get_value(memory) }; let new_cursor_addr = memory.malloc_borrow(&[0u8; 12])?; let new_cursor = NP_Cursor::new(new_cursor_addr, value_of, map_cursor.schema_addr); // set key let key_item_addr = memory.malloc_borrow(&[key.len() as u8])?; memory.malloc_borrow(key.as_bytes())?; new_cursor.get_value_mut(memory).set_key_addr(key_item_addr as u32); let head = map_value().get_addr_value() as usize; // Set head of map to new cursor map_cursor.get_value_mut(memory).set_addr_value(new_cursor_addr as u32); if head != 0 { // set new cursors NEXT to old HEAD new_cursor.get_value_mut(memory).set_next_addr(head as u32); } Ok(new_cursor) } } impl<'value> NP_Value<'value> for NP_Map<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null } let mut json_map = JSMAP::new(); let mut map_iter = NP_Map::new_iter(&cursor, memory); while let Some((key, item)) = NP_Map::step_iter(&mut map_iter, memory) { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &item, memory)); } NP_JSON::Dictionary(json_map) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(json_map) => { for js_item in json_map.values.iter() { match NP_Map::select(cursor, &js_item.0, true, false, memory)? { Some(value) => { NP_Cursor::set_from_json(depth + 1, apply_null, value, memory, &Box::new(js_item.1.clone()))?; }, None => { } } } }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("map", NP_TypeKeys::Map) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let value_of = data.child; schema_json.insert("value".to_owned(), NP_Schema::_type_to_json(schema, value_of)?); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut map_iter = Self::new_iter(&cursor, memory); while let Some((_index, item)) = Self::step_iter(&mut map_iter, memory) { let key_size = item.get_value(memory).get_key_size(memory); acc_size += 1; // length byte acc_size += key_size; acc_size += NP_Cursor::calc_size(depth + 1, &item, memory)?; } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let mut map_iter = Self::new_iter(&from_cursor, from_memory); while let Some((key, item)) = Self::step_iter(&mut map_iter, from_memory) { let new_item = Self::insert(&to_cursor, to_memory, key)?; NP_Cursor::compact(depth + 1, item.clone(), from_memory, new_item, to_memory)?; } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Map_List_Data) }; let mut result = String::from("map({value: "); result.push_str(NP_Schema::_type_to_idl(&schema, data.child)?.as_str()); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8) }); let mut value_jst: Option<&JS_AST> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "value" { value_jst = Some(value); } } }, _ => { } } }; if let Some(x) = value_jst { // let of_addr = schema.len(); let (_sortable, child_bytes, schema) = NP_Schema::from_idl(schema, idl, x)?; schema_data.extend(child_bytes); Ok((false, schema_data, schema)) } else { Err(NP_Error::new("lists require an 'of' property!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Map as u8); let value_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: value_addr + 1 })) as *const u8), sortable: false }); match json_schema["value"] { NP_JSON::Null => { return Err(NP_Error::new("Maps require a 'value' property that is a schema type!")) }, _ => { } } let (_sortable, child_bytes, schema) = NP_Schema::from_json(schema, &Box::new(json_schema["value"].clone()))?; schema_data.extend(child_bytes); return Ok((false, schema_data, schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let of_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Map, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Map_List_Data { child: of_addr + 1 })) as *const u8) }); let (_sortable, schema) = NP_Schema::from_bytes(schema, address + 1, bytes); (false, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"map({value: string()})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"map","value":{"type":"string"}}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction works let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello, world")?; buffer.set(&["name2"], "hello, world2")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello, world")); assert_eq!(buffer.get::<&str>(&["name2"])?, Some("hello, world2")); assert_eq!(buffer.calc_bytes()?.current_buffer, 74usize); buffer.set_with_json(&[], r#"{"value": {"foo": "bar", "foo2": "bar2"}}"#)?; assert_eq!(buffer.get::<&str>(&["foo"])?, Some("bar")); assert_eq!(buffer.get::<&str>(&["foo2"])?, Some("bar2")); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/collection/mod.rs ================================================ //! Collections: NP_Struct, NP_Tuple, NP_List & NP_Map /// Struct data type pub mod struc; /// Map data type pub mod map; /// List data type pub mod list; /// Tuple data type pub mod tuple; ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/collection/struc.rs ================================================ use alloc::sync::Arc; use crate::{idl::AST_STR, schema::{NP_Struct_Data, NP_Struct_Field, NP_Value_Kind}}; use crate::{buffer::{VTABLE_BYTES, VTABLE_SIZE}, idl::{JS_AST, JS_Schema}}; use alloc::string::String; use crate::pointer::{NP_Vtable}; use crate::{pointer::{NP_Cursor}, schema::{NP_Parsed_Schema}}; use crate::{memory::{NP_Memory}, pointer::{NP_Value}, error::NP_Error, schema::{NP_Schema, NP_TypeKeys}, json_flex::{JSMAP, NP_JSON}}; use alloc::string::ToString; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::borrow::ToOwned; use core::{result::Result}; /// The data type for tables in NoProto buffers. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Struct<'table> { index: usize, v_table: Option<&'table mut NP_Vtable>, v_table_addr: usize, v_table_index: usize, table: NP_Cursor } #[allow(missing_docs)] impl<'table> NP_Struct<'table> { #[inline(always)] pub fn select(mut table_cursor: NP_Cursor, schema: &NP_Parsed_Schema, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Struct_Data) }; match data.fields.iter().position(|val| { val.col == key }) { Some(x) => { if schema_query { return Ok(Some(NP_Cursor::new(0, data.fields[x].schema, table_cursor.schema_addr))); } let v_table = x / VTABLE_SIZE; // which vtable let v_table_idx = x % VTABLE_SIZE; // which index on the selected vtable let mut table_value = table_cursor.get_value(memory); if table_value.get_addr_value() == 0 { if make_path { table_cursor = Self::make_first_vtable(table_cursor, memory)?; table_value = table_cursor.get_value(memory); } else { return Ok(None); } } let mut seek_vtable = 0usize; let mut vtable_address = table_value.get_addr_value() as usize; if v_table > 0 { let mut loop_max = 64usize; while seek_vtable < v_table && loop_max > 0 { let this_vtable = Self::get_vtable(vtable_address, memory); let next_vtable = this_vtable.get_next(); if next_vtable == 0 { if make_path == false { return Ok(None); } vtable_address = Self::make_next_vtable(this_vtable, memory)?; } else { vtable_address = next_vtable as usize; } seek_vtable += 1; loop_max -= 1; } } let item_address = vtable_address + (v_table_idx * 4); Ok(Some(NP_Cursor::new(item_address, data.fields[x].schema, table_cursor.schema_addr))) }, None => Ok(None) } } #[inline(always)] pub fn make_first_vtable<'make>(table_cursor: NP_Cursor, memory: &'make NP_Memory) -> Result { let first_vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; table_cursor.get_value_mut(memory).set_addr_value(first_vtable_addr as u32); Ok(table_cursor) } #[inline(always)] pub fn make_next_vtable<'make>(prev_vtable: &'make mut NP_Vtable, memory: &'make NP_Memory) -> Result { let vtable_addr = memory.malloc_borrow(&[0u8; VTABLE_BYTES])?; prev_vtable.set_next(vtable_addr as u32); Ok(vtable_addr) } #[inline(always)] pub fn new_iter(cursor: &NP_Cursor, memory: &'table NP_Memory) -> Self { let table_value = cursor.get_value(memory); let addr_value = table_value.get_addr_value() as usize; Self { table: cursor.clone(), v_table: if addr_value == 0 { None } else { Some(Self::get_vtable(addr_value, memory)) }, v_table_addr: addr_value, v_table_index: 0, index: 0, } } #[inline(always)] pub fn get_vtable<'vtable>(v_table_addr: usize, memory: &'vtable NP_Memory) -> &'vtable mut NP_Vtable { if v_table_addr > memory.read_bytes().len() { // attack unsafe { &mut *(memory.write_bytes().as_ptr() as *mut NP_Vtable) } } else { // normal operation unsafe { &mut *(memory.write_bytes().as_ptr().add(v_table_addr) as *mut NP_Vtable) } } } #[inline(always)] pub fn step_iter(&mut self, memory: &'table NP_Memory) -> Option<(usize, &'table str, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Struct_Data) }; if data.fields.len() <= self.index { return None; } let v_table = self.index / VTABLE_SIZE; // which vtable let v_table_idx = self.index % VTABLE_SIZE; // which index on the selected vtable if self.v_table_index > v_table { self.v_table_index = v_table; match &self.v_table { Some(vtable) => { let next_vtable = vtable.get_next() as usize; if next_vtable > 0 { self.v_table = Some(Self::get_vtable(next_vtable, memory)); self.v_table_addr = next_vtable; } else { self.v_table = None; self.v_table_addr = 0; } }, _ => {} } } let this_index = self.index; self.index += 1; if self.v_table_addr != 0 { let item_address = self.v_table_addr + (v_table_idx * 4); Some((this_index, data.fields[this_index].col.as_str(), Some(NP_Cursor::new(item_address, data.fields[this_index].schema, self.table.schema_addr)))) } else { Some((this_index, data.fields[this_index].col.as_str(), None)) } } } impl<'value> NP_Value<'value> for NP_Struct<'value> { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_map = JSMAP::new(); let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, key, item)) = struc.step_iter(memory) { if let Some(real) = item { json_map.insert(String::from(key), NP_Cursor::json_encode(depth + 1, &real, memory)); } else { json_map.insert(String::from(key), NP_JSON::Null); } } NP_JSON::Dictionary(json_map) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("struct", NP_TypeKeys::Struct) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Struct_Data) }; for col in data.fields.iter() { let json_col = &value[col.col.as_str()]; match json_col { NP_JSON::Null => { if apply_null { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, false, false, memory)? { Some(x) => { NP_Cursor::delete(x, memory)?; }, None => { } } } }, _ => { match NP_Struct::select(cursor, memory.get_schema(cursor.schema_addr), &col.col, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(json_col.clone()))?; }, None => { return Err(NP_Error::new("Failed to find field value!")) } } } } } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let fields_count = bytes[address + 1]; let mut parsed_fields: Vec = Vec::new(); let table_schema_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut schema_parsed = schema; let mut offset = address + 2; let mut hash_map = Vec::new(); for x in 0..fields_count as usize { let col_name_len = bytes[offset] as usize; let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; offset += 1 + col_name_len; let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let field_addr = schema_parsed.len(); let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); schema_parsed = schema; // parsed_fields.push((x as u8, col_name.to_string(), field_addr)); parsed_fields.push(NP_Struct_Field { idx: x as u8, col: col_name.to_string(), schema: field_addr, offset: 0}); // hash_map.insert(col_name, x).unwrap_or_default(); hash_map.push(col_name.to_string()); offset += schema_size + 2; } // hash_map.sort_by(|a, b| a.0.partial_cmp(&b.0).unwrap()); schema_parsed[table_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: parsed_fields, empty: Vec::new() })) as *const u8) }; (false, schema_parsed) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let fields: Vec = data.fields.iter().map(|field| { let mut cols: Vec = Vec::new(); cols.push(NP_JSON::String(field.col.to_string())); cols.push(NP_Schema::_type_to_json(&schema, field.schema).unwrap_or(NP_JSON::Null)); NP_JSON::Array(cols) }).collect(); schema_json.insert("fields".to_owned(), NP_JSON::Array(fields)); Ok(NP_JSON::Dictionary(schema_json)) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut nex_vtable = c_value().get_addr_value() as usize; let mut loop_max = 65usize; while nex_vtable > 0 && loop_max > 0 { acc_size += 20; let vtable = Self::get_vtable(nex_vtable, memory); nex_vtable = vtable.get_next() as usize; loop_max -= 1; } let mut struc = Self::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(real) = item { let add_size = NP_Cursor::calc_size(depth + 1, &real, memory)?; if add_size > 4 { // scalar cursor is part of vtable acc_size += add_size - 4; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } to_cursor = Self::make_first_vtable(to_cursor, to_memory)?; let to_cursor_value = to_cursor.get_value(to_memory); let mut last_real_vtable = to_cursor_value.get_addr_value() as usize; let mut last_vtable_idx = 0usize; let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Struct_Data) }; let col_schemas = &data.fields; let mut struc = Self::new_iter(&from_cursor, from_memory); while let Some((idx, _key, item)) = struc.step_iter(from_memory) { if let Some(real) = item { let v_table = idx / VTABLE_SIZE; // which vtable let v_table_idx = idx % VTABLE_SIZE; // which index on the selected vtable if last_vtable_idx < v_table { let vtable_data = Self::get_vtable(last_real_vtable, to_memory); last_real_vtable = Self::make_next_vtable(vtable_data, to_memory)?; last_vtable_idx += 1; } let item_addr = last_real_vtable + (v_table_idx * 4); NP_Cursor::compact(depth + 1, real.clone(), from_memory, NP_Cursor::new(item_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Struct_Data) }; let mut result = String::from("struct({fields: {"); let last_index = data.fields.len() - 1; for (idx, field) in data.fields.iter().enumerate() { result.push_str(field.col.as_str()); result.push_str(": "); result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("}})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let mut idl_fields: Option<&Vec<(AST_STR, JS_AST)>> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "fields" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, "columns" => { match value { JS_AST::object { properties } => { idl_fields = Some(properties); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(ast_fields) = idl_fields { let mut x: u8 = 0; for col in ast_fields { let field_name = idl.get_str(&col.0).trim(); if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, String::from(field_name), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: String::from(field_name), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_idl(schema_parsed, idl, &col.1)?; schema_parsed = schema_p; field_data.push((String::from(field_name), field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } Ok((false, schema_bytes, schema_parsed)) } else { Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Struct as u8); let schema_table_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut fields: Vec = Vec::new(); let mut field_data: Vec<(String, Vec)> = Vec::new(); let mut schema_parsed: Vec = schema; let json_fields = if let NP_JSON::Array(fields) = &json_schema["fields"] { fields } else if let NP_JSON::Array(fields) = &json_schema["columns"] { fields } else { return Err(NP_Error::new("Structs require a 'fields' property that is an array of schemas!")) }; let mut x: u8 = 0; for col in json_fields { let field_name = match &col[0] { NP_JSON::String(x) => x.clone(), _ => "".to_owned() }; if field_name.len() > 255 { return Err(NP_Error::new("Struct field names cannot be longer than 255 characters!")) } let field_schema_addr = schema_parsed.len(); // fields.push((x, field_name.clone(), field_schema_addr)); fields.push(NP_Struct_Field { idx: x as u8, col: field_name.clone(), schema: field_schema_addr, offset: 0}); let (_is_sortable, field_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; schema_parsed = schema_p; field_data.push((field_name, field_type)); x += 1; } schema_parsed[schema_table_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Struct, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Struct_Data { fields: fields, empty: Vec::new() })) as *const u8) }; if field_data.len() > 255 { return Err(NP_Error::new("Structs cannot have more than 255 fields!")) } if field_data.len() == 0 { return Err(NP_Error::new("Structs must have at least one field!")) } // number of fields schema_bytes.push(field_data.len() as u8); for col in field_data { // colum name let bytes = col.0.as_bytes().to_vec(); schema_bytes.push(bytes.len() as u8); schema_bytes.extend(bytes); if col.1.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // field type schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); schema_bytes.extend(col.1); } return Ok((false, schema_bytes, schema_parsed)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"struct({fields: {age: u8(), tags: list({of: string()}), name: string({size: 10})}})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["tags",{"type":"list","of":{"type":"string"}}],["name",{"type":"string","size":10}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"struct","fields":[["age",{"type":"uint8"}],["name",{"type":"string"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); buffer.set(&["name"], "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.after_compaction, 35usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); // good values are preserved through compaction let mut buffer = factory.new_buffer(None); buffer.set(&crate::np_path!("name"), "hello")?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); buffer.compact(None)?; assert_eq!(buffer.get::<&str>(&["name"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.current_buffer, 35usize); // println!("{:?}", buffer.read_bytes()); // let packed = factory.pack_buffer(buffer); // println!("{:?}", packed.schema.to_json()?.stringify().len()); // println!("{:?}", packed.export_schema_bytes().len()); // let closed = packed.close_packed(); // let opened = NP_Packed_Buffer::open(closed)?; // println!("{:?}", opened.get::<&str>(&["name"])?); Ok(()) } #[test] fn test_vtables() -> Result<(), NP_Error> { let factory = crate::NP_Factory::new(r#" struct({fields: { age: u8(), name: string(), color: string(), car: string(), rating: u8() }}) "#)?; // compaction removes cleared values let mut buffer = factory.new_buffer(None); // buffer.set(&["age"], 20u8)?; // buffer.set(&["name"], "hello")?; // buffer.set(&["color"], "blue")?; // buffer.set(&["car"], "Chevy")?; // buffer.set(&["rating"], 98u8)?; // let mut new_buffer = factory.open_buffer(buffer.finish().bytes()); // assert_eq!(new_buffer.get::(&["age"])?.unwrap(), 20u8); // assert_eq!(new_buffer.get::<&str>(&["name"])?.unwrap(), "hello"); // assert_eq!(new_buffer.get::<&str>(&["color"])?.unwrap(), "blue"); // assert_eq!(new_buffer.get::<&str>(&["car"])?.unwrap(), "Chevy"); // assert_eq!(new_buffer.get::(&["rating"])?.unwrap(), 98u8); buffer.set_with_json(&[], r#"{"value": { "age": 50, "name": "Jimmy", "color": "orange", "car": "Audi", "rating": 20 }}"#)?; assert_eq!(buffer.get::(&["age"])?.unwrap(), 50u8); assert_eq!(buffer.get::<&str>(&["name"])?.unwrap(), "Jimmy"); assert_eq!(buffer.get::<&str>(&["color"])?.unwrap(), "orange"); assert_eq!(buffer.get::<&str>(&["car"])?.unwrap(), "Audi"); assert_eq!(buffer.get::(&["rating"])?.unwrap(), 20u8); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/collection/tuple.rs ================================================ use crate::{idl::JS_AST, pointer::NP_Cursor_Parent, schema::{NP_Tuple_Data, NP_Tuple_Field, NP_Value_Kind}}; use alloc::{string::String, sync::Arc}; use crate::{idl::JS_Schema}; use crate::{json_flex::JSMAP, pointer::{NP_Cursor}}; use crate::pointer::{NP_Value}; use crate::{memory::{NP_Memory}, schema::{NP_Schema, NP_TypeKeys, NP_Parsed_Schema}, error::NP_Error, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::borrow::ToOwned; use alloc::{boxed::Box}; use alloc::string::ToString; /// Tuple data type. /// #[doc(hidden)] #[derive(Debug)] pub struct NP_Tuple { index: usize, table: NP_Cursor } #[allow(missing_docs)] impl NP_Tuple { #[inline(always)] pub fn select(mut tuple_cursor: NP_Cursor, schema: &NP_Parsed_Schema, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { // pub fn select(mut tuple_cursor: NP_Cursor, empty: &Vec, values: &Vec, index: usize, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { let data = unsafe { &*(*schema.data as *const NP_Tuple_Data) }; if index >= data.values.len() { return Ok(None) } if schema_query { return Ok(Some(NP_Cursor::new(0, data.values[index].schema, tuple_cursor.schema_addr))); } let value_schema_data = data.values[index].schema; let mut tuple = tuple_cursor.get_value(memory); if tuple.get_addr_value() == 0 { if make_path { tuple_cursor = Self::alloc_tuple(tuple_cursor, &data.empty, memory)?; tuple = tuple_cursor.get_value(memory); } else { return Ok(None); } } let item_address = tuple.get_addr_value() as usize + data.values[index].offset; let mut cursor = NP_Cursor::new(item_address, value_schema_data, tuple_cursor.schema_addr); cursor.parent_type = NP_Cursor_Parent::Tuple; if data.values[index].fixed { cursor.value_bytes = Some((item_address as u32).to_be_bytes()); } if memory.read_bytes()[item_address - 1] == 0 && make_path == false { Ok(None) } else { Ok(Some(cursor)) } } #[inline(always)] pub fn alloc_tuple<'make>(tuple_cursor: NP_Cursor, empty: &Vec, memory: &'make NP_Memory) -> Result { let new_addr = memory.malloc_borrow(empty)?; tuple_cursor.get_value_mut(memory).set_addr_value(new_addr as u32); Ok(tuple_cursor) } pub fn new_iter(cursor: &NP_Cursor, _memory: &NP_Memory) -> Self { Self { table: cursor.clone(), index: 0, } } pub fn step_iter(&mut self, memory: &NP_Memory, show_empty: bool) -> Option<(usize, Option)> { let data = unsafe { &*(*memory.get_schema(self.table.schema_addr).data as *const NP_Tuple_Data) }; if data.values.len() <= self.index { return None; } let this_index = self.index; self.index += 1; let next_cursor = Self::select(self.table, memory.get_schema(self.table.schema_addr), this_index, true, false, memory); match next_cursor { Ok(next) => { match next { Some(cursor) => { if memory.read_bytes()[cursor.buff_addr - 1] == 0 && show_empty { Some((this_index, None)) } else { Some((this_index, Some(cursor))) } }, None => None } }, Err(_e) => { None } } } } impl<'value> NP_Value<'value> for NP_Tuple { fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return NP_JSON::Null }; let mut json_list = Vec::new(); let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_idx, item)) = tuple.step_iter(memory, false) { if let Some(x) = item { json_list.push(NP_Cursor::json_encode(depth + 1, &x, memory)); } else { json_list.push(NP_JSON::Null); } } NP_JSON::Array(json_list) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("tuple", NP_TypeKeys::Tuple) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let schema_state: (bool, Vec) = (schema[address].sortable, data.values.iter().map(|column| { NP_Schema::_type_to_json(schema, column.schema).unwrap_or(NP_JSON::Null) }).collect()); schema_json.insert("values".to_owned(), NP_JSON::Array(schema_state.1)); if schema_state.0 { schema_json.insert("sorted".to_owned(), NP_JSON::True); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(list) => { for (idx, tuple_item) in list.iter().enumerate() { match NP_Tuple::select(cursor, memory.get_schema(cursor.schema_addr), idx, true, false, memory)? { Some(x) => { NP_Cursor::set_from_json(depth + 1, apply_null, x, memory, &Box::new(tuple_item.clone()))?; }, None => { return Err(NP_Error::new("Failed to find column value!")) } } } }, _ => { } } Ok(()) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } let mut acc_size = 0usize; let mut tuple = Self::new_iter(&cursor, memory); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Tuple_Data) }; while let Some((index, item)) = tuple.step_iter(memory, false) { if let Some(cursor) = item { acc_size += 1; let schema_value = &data.values[index]; if schema_value.fixed { acc_size += schema_value.size; } else { acc_size += NP_Cursor::calc_size(depth + 1, &cursor, memory)?; } } } Ok(acc_size) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let from_value = from_cursor.get_value(from_memory); if from_value.get_addr_value() == 0 { return Ok(to_cursor) } let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Tuple_Data) }; let (col_schemas, _empty) = (&data.values, &data.empty); to_cursor = Self::alloc_tuple(to_cursor, &data.empty, to_memory)?; let mut tuple = Self::new_iter(&from_cursor, from_memory); while let Some((idx, item)) = tuple.step_iter(from_memory, false) { if let Some(old_cursor) = item { to_memory.write_bytes()[old_cursor.buff_addr - 1] = 1; NP_Cursor::compact(depth + 1, old_cursor.clone(), from_memory, NP_Cursor::new(old_cursor.buff_addr, col_schemas[idx].schema, to_cursor.schema_addr), to_memory)?; } } Ok(to_cursor) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Tuple_Data) }; let mut result = String::from("tuple({values: ["); let last_index = data.values.len() - 1; for (idx, field) in data.values.iter().enumerate() { result.push_str(NP_Schema::_type_to_idl(schema, field.schema)?.as_str()); if idx < last_index { result.push_str(", "); } } result.push_str("]"); if schema[address].sortable == true { result.push_str(", sorted: true"); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; let mut tuple_values: Option<&Vec> = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "sorted" => { sorted = true; }, "values" => { match value { JS_AST::array { values } => { tuple_values = Some(values); }, _ => { } } }, _ => { } } } }, _ => { } } } if sorted { schema_data.push(1); } else { schema_data.push(0); } if let Some(tuple_vals) = tuple_values { let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; for col in tuple_vals { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_idl(working_schema, idl, &col)?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } Ok((sorted, schema_data, working_schema)) } else { Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Tuple as u8); let mut sorted = false; match json_schema["sorted"] { NP_JSON::True => { sorted = true; schema_data.push(1); }, _ => { schema_data.push(0); } } let mut column_schemas: Vec> = Vec::new(); let tuple_addr = schema.len(); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut working_schema = schema; let mut data_offset = 1usize; match &json_schema["values"] { NP_JSON::Array(cols) => { for col in cols { let schema_len = working_schema.len(); let (is_sortable, schema_bytes, schema ) = NP_Schema::from_json(working_schema, &Box::new(col.clone()))?; match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 4; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; if sorted && is_sortable == false { return Err(NP_Error::new("All children of a sorted tuple must be sortable items!")) } column_schemas.push(schema_bytes); } }, _ => { return Err(NP_Error::new("Tuples require a 'values' property that is an array of schemas!")) } } working_schema[tuple_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: sorted, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; if column_schemas.len() > 255 { return Err(NP_Error::new("Tuples cannot have more than 255 values!")) } // number of schema values schema_data.push(column_schemas.len() as u8); for col in column_schemas { if col.len() > u16::MAX as usize { return Err(NP_Error::new("Schema overflow error!")) } // column type schema_data.extend((col.len() as u16).to_be_bytes().to_vec()); schema_data.extend(col); } return Ok((sorted, schema_data, working_schema)) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let is_sorted = bytes[address + 1]; let column_len = bytes[address + 2]; let mut working_schema = schema; let tuple_schema_addr = working_schema.len(); working_schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: Vec::new(), empty: Vec::new() })) as *const u8) }); let mut tuple_values: Vec = Vec::new(); let mut offset = address + 3; let mut data_offset = 1usize; for _x in 0..column_len as usize { let schema_size = u16::from_be_bytes([ bytes[offset], bytes[offset + 1] ]) as usize; let schema_len = working_schema.len(); let (_sortable, schema) = NP_Schema::from_bytes(working_schema, offset + 2, bytes); match schema[schema_len].val { NP_Value_Kind::Pointer => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: 0, fixed: false }); data_offset += 2; }, NP_Value_Kind::Fixed(x) => { tuple_values.push(NP_Tuple_Field { schema: schema_len, offset: data_offset, size: x as usize, fixed: true }); data_offset += x as usize; } } data_offset += 1; working_schema = schema; offset += schema_size + 2; } working_schema[tuple_schema_addr] = NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Tuple, sortable: is_sorted != 0, data: Arc::new(Box::into_raw(Box::new(NP_Tuple_Data { values: tuple_values, empty: vec![0; data_offset - 1] })) as *const u8) }; (is_sorted != 0, working_schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "tuple({values: [string(), uuid(), u8()]})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "tuple({values: [string({size: 10}), uuid(), u8()], sorted: true})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\"},{\"type\":\"uuid\"},{\"type\":\"uint8\"}]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"tuple\",\"values\":[{\"type\":\"string\",\"size\":10},{\"type\":\"uuid\"},{\"type\":\"uint8\"}],\"sorted\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string"},{"type":"uuid"},{"type":"uint8"}]}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["0"], "hello")?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("hello")); assert_eq!(buffer.calc_bytes()?.after_compaction, buffer.calc_bytes()?.current_buffer); assert_eq!(buffer.calc_bytes()?.current_buffer, 39usize); buffer.del(&[])?; buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); buffer.set_with_json(&[], r#"{"value": ["bar", "1ED3C129-2943-4CCE-8904-53C0487FF18E", 50]}"#)?; assert_eq!(buffer.get::<&str>(&["0"])?, Some("bar")); assert_eq!(buffer.get::(&["1"])?, Some(crate::pointer::uuid::NP_UUID::from_string("1ED3C129-2943-4CCE-8904-53C0487FF18E"))); assert_eq!(buffer.get::(&["2"])?, Some(50u8)); Ok(()) } #[test] fn sorting_tuples_works() -> Result<(), NP_Error> { let schema = r#"{"type":"tuple","values":[{"type":"string","size":10},{"type":"uuid"},{"type":"uint8"}],"sorted":true}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set_min(&[])?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]); buffer.set(&["0"], "hello")?; let uuid = crate::pointer::uuid::NP_UUID::generate(22); buffer.set(&["1"], &uuid)?; buffer.set(&["2"], 20u8)?; assert_eq!(buffer.read_bytes(), &[0, 0, 0, 0, 0, 6, 1, 104, 101, 108, 108, 111, 32, 32, 32, 32, 32, 1, 76, 230, 170, 176, 120, 208, 69, 186, 109, 122, 100, 179, 210, 224, 68, 195, 1, 20]); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/error.rs ================================================ //! Primary error type used by the library use alloc::string::FromUtf8Error; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; /// The error type used for errors in this library #[derive(Debug)] pub enum NP_Error { /// Read only error MemoryReadOnly, /// Use this instead of unreachable! which causes panic Unreachable, /// Not Enough Space MemoryOutOfSpace, /// Too many recursive calls RecursionLimit, /// Custom error message Custom { /// Error message message: String } } impl NP_Error { /// Generate a new error with a specific message pub fn new>(message: S) -> Self { NP_Error::Custom { message: message.as_ref().to_owned() } } /// Convert an option to an error type pub fn unwrap(value: Option) -> Result { match value { Some(x) => Ok(x), None => Err(NP_Error::new("Missing Value in option!")) } } } impl From for NP_Error { fn from(err: FromUtf8Error) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseFloatError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } impl From for NP_Error { fn from(err: core::num::ParseIntError) -> NP_Error { NP_Error::new(err.to_string().as_str()) } } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/format.rs ================================================ //! # NoProto Data Format Documentaion //! //! NoProto buffers are built out of pointers and data. //! //! They are designed to hold a variable amount of data that is parsed based on a schema provided by the client. //! //! //! ## Pointers //! //! Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers. //! //! There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer. //! //! | Pointer Kind | u32 size (bytes) | //! |--------------|------------------| //! | Standard | 4 | //! | Map Item | 12 | //! | List Item | 10 | //! //! //! The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a "1", non packed buffers start with a "0". //! //! The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer. //! //! Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else. //! //! For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: "string"}`. //! //! ```text //! [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111] //! [ root pointer, string length, h, e, l, l, o] //! ``` //! //! It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root. //! //! Let's look at the different pointer types you will encounter in a buffer. //! //! ### Standard Pointer //! This is used for any scalar or collection data types. The standard pointer is just a single u32. //! //! ### Map Item Pointer //! //! Used by items in a map object. Contains the following: //! ```text //! | address of data | next map item pointer address | address of bytes for this key | //! | u32 | u32 | u32 | //! ``` //! //! Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data. //! //! The last map item pointer in a map should have a zero in the next item address for no further map items. //! //! The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key. //! //! //! ### List Item Pointer //! //! Used by items in a list object. Contains the following: //! ```text //! | address of data | next list item pointer address | item index | //! | u32 | u32 | u16 | //! ``` //! //! Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence. //! //! You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order. //! //! There should be list item pointers only for indexes that have data in the list. //! //! The last list item pointer in a list should have a zero in the next item address for no further list items. //! //! //! ## Data //! //! Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated. //! //! When a pointer's address "points" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below. //! //! Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema. //! //! //! ### Struct (Collection) //! //! The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains: //! - 4 address (u32) pointers for the field values //! - a trailing address(u32) of the next vtable (should be zero if no more vtables) //! //! Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5` //! //! Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer. //! //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "struct", //! "fields": [ //! ["age", {"type": "u8"}] //! ] //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], new_buffer.finish().bytes()); //! //! // [0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20] //! // [ root ptr, vtable, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! The list type stores two addresses (u32), one to the first `ListItem` pointer (head) and one to the last `ListItem` pointer (tail). //! //! If there is only one list item pointer in the list, the head and tail addresses should be identical. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["4"], 20u8)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20] //! // [ root ptr, head, tail, list item ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! The map type stores a single address (u32) to the first `MapItem` pointer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["age"], 20u8)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20] //! // [ root ptr, map item ptr, a, g, e, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! Tuples are stored by packing the types next to eachother. //! //! Before each type is a byte that is either 1 or 0. It should be zero if the value has not been set, otherwise it should be one. //! //! If a child type is flexible in size, a pointer address is put in the tuple. //! If a child type is fixed in size, it is placed inline in the tuple. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"}, //! {"type": "u32"} //! ] //! }"#)?; //! //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["0"], 20u8)?; //! new_buffer.set(&["1"], "hello")?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111], new_buffer.finish().bytes()); //! //! // [0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111] //! // [ root ptr, u8, str ptr, u32, h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### int8, int16, int32, int64 (Scalar) //! //! Signed integers should be converted to unsigned values, then saved in big endian format. //! //! The size of the integer should determine how many bytes are used. For example, i8 is 1 byte, i16 is 2 bytes, etc. //! //! For example, an i8 of value -20 should be converted to 108, then saved as 108. //! //! When it's requested by the client, it should be converted back to signed before being passed to the client. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], -2023830i32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 127, 225, 30, 106], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 127, 225, 30, 106] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### uint8, uint16, uint32, uint64 (Scalar) //! //! Unsigned integers should be converted to big endian format, then saved to the buffer. //! //! The size of the integer should determine how many bytes are used. For example, u8 is 1 byte, u32 is 2 bytes, etc. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "u32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 28378u32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 110, 218], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 110, 218] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### float, double (Scalar) //! //! Floating point vales should be converted to big endian format, then saved to the buffer. //! //! The size of the floating point value should determine how many bytes are used. `float` is `f32` (4 bytes) and `double` is `f64` (8 bytes) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "f32" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 2.389988f32)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 64, 24, 245, 144], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 64, 24, 245, 144] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option values are stored as a single `u8` value. The value should represent the zero based location in the choice set. //! //! For example if the schema has `choices: ["red", "blue", "yellow"]` and the user selects `yellow`, this value should be `2`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Enum::new("red"))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 2], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 2] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bool (Scalar) //! //! A single `u8` byte. `1` for `true`, `0` for `false`. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], true)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 1], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 1] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Stored the same as an i64 value (including converting to unsigned format described above). //! //! The `i64` number should be devided by `10 ^ exp` to get the true value. The `exp` value is provided in the schema. //! //! For example, if you pull a `293` i64 value from the buffer and the `exp` value in the schema is `2`, the value is actually `293 / 100` or 2.93. //! //! You should avoid converting the number to floating point values except for display purposes. Study the source code for the `NP_Dec` type to see how to preserve the internal i64 value correctly. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Dec::new(200, 0))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32] //! // [ root ptr, data] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! Each geo size uses two signed integers right next to eachother in the buffer. i16/i16 for geo4, i32/i32 for geo8 and i64/i64 for geo16 //! //! The two signed integers are converted to unsigned values before being saved into big endian format. //! //! Depending on the size, the floating point value of each geographic coordinate is multiplied by a specific value before being saved as an integer. //! //! | Size | Bytes | Factor | //! |------|------------|------------| //! | 4 | i16 \| i16 | 100 | //! | 8 | i32 \| i32 | 10000000 | //! | 16 | i64 \| i64 | 1000000000 | //! //! For example, if a user provides these coordinates: 41.303921, -81.901693 //! //! To save into buffer:
//!
//! geo4:
//! 1 - Multiply by 100: (4130.3921, -8190.1693)
//! 2 - Make i16 (4130, -8190)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo8:
//! 1 - Multiply by 10000000: (413039210, -819016930)
//! 2 - Make i32 (413039210, -819016930)
//! 3 - Save/convert as unsigned in big endian format
//!
//! geo16: .... //! //! This process is reversed when the client requests the geo data from the buffer. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Geo::new(8, 41.303921, -81.901693))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30] //! // [ root ptr, latitude, longitude] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### ulid, uuid (Scalar) //! //! Saved as 16 bytes following the respective formats for each data type. //! //! ULIDs store the date in the first 6 bytes, then the random bytes in the last 10. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "uuid" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! let uuid = NP_UUID::generate(32); //! new_buffer.set(&[], &uuid)?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252] //! // [ root ptr, UUID ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! If there is a `size` property in the schema, store the provided data and pad the remainder of the space with zeros (for bytes) or 32 (for strings). //! //! If the provided data is too large, truncate it. //! //! For example, if the user provideds a single byte `[22]` and the size is `3`, this should be in the buffer: //! ```text //! [22, 0, 0] //! ``` //! //! If there is no fixed `size` in the schema, store a size (u32) followed by the actual data. //! //! If it's a string, the data should be utf-8 encoded when it's saved into the buffer and utf-8 decoded when it's retrieved. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], "hello, world!")?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33] //! // [ root ptr, length, h, e, l, l, o, ,, , w, o, r, l, d, !] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! This is stored the same as a uint64 value, should be unix timestamp in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date" //! }"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Date::new(1598490738507))?; //! assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75], new_buffer.finish().bytes()); //! //! // [0,0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75] //! // [ root ptr, timestamp ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! # NoProto Schema Format Documentation //! //! NoProto JSON schemas are compiled into a byte array as part of the parsing process. //! //! The compiled byte array is a significantly more compact and efficient way to store the schema. It also takes almost no time to parse a byte schema, where parsing a JSON schema can be a comparitively expensive operation. //! //! You can use the runtime to parse JSON schemas into byte array schemas at any time, and the JSON/byte array schemas can be used interchangebly. //! //! The byte array schema store default values and all other supported schema properties. //! //! Schema data is stored in a recursive format, each nested schema contains at least one byte that describes the data type. The single data type byte is usually but not always followed by schema data specific to that data type. The document below describes all of the data types and their specifics. //! //! //! ### int8, int16, int32, int64, uint8, uint16, uint32, uint64, float, double (Scalar) //! //! Integer values store the data type followed by wether there is a default value or not, followed optionally by the default value //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32", //! "default": 56 //! }"#)?; //! //! assert_eq!(&[6, 1, 0, 0, 0, 56], factory.export_schema_bytes()); //! //! // [ 6, 1, 0, 0, 0, 56] //! // [i32 type, has default, default value] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "i32" //! }"#)?; //! //! assert_eq!(&[6, 0], factory.export_schema_bytes()); //! //! // [ 6, 0] //! // [i32 type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### option (Scalar) //! //! Option types will store the list of options and the index of the default value, if there is one. //! //! The second byte is `0` if there is no default, otherwise it contains the default index + 1. //! //! The third byte contains a `u8` that is the number of options available. //! //! The remaining bytes go on a loop for each option, with each loop containing 1 u8 byte at the begining describing the length of the string option, followed by the string value itself. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"], //! "default": "red" //! }"#)?; //! //! assert_eq!(&[20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes()); //! //! // [ 20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, 1 based index of default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "option", //! "choices": ["blue", "orange", "red"] //! }"#)?; //! //! assert_eq!(&[20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes()); //! //! // [ 20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100] //! // [data type, no default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### bool (Scalar) //! //! The second byte of a bool schema is used to store the default value. //! //! If there is no default value, the second byte is 0.
//! If the default is true, the second byte is 1.
//! If the default is false, the second byte is 2.
//! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool", //! "default": true //! }"#)?; //! //! assert_eq!(&[15, 1], factory.export_schema_bytes()); //! //! // [ 15, 1] //! // [data type, default is true] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool", //! "default": false //! }"#)?; //! //! assert_eq!(&[15, 2], factory.export_schema_bytes()); //! //! // [ 15, 2] //! // [data type, default is false] //! //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "bool" //! }"#)?; //! //! assert_eq!(&[15, 0], factory.export_schema_bytes()); //! //! // [ 15, 0] //! // [data type, no default] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### decimal (Scalar) //! //! Decimal stores the expontent in the second byte. //! //! The third byte is 0 if there is no default value, otherwise it is 1. //! //! If there is a default value, multiply the default value by (10^exp) and convert it into an i64, then save it in the bytes following the default flag byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2 //! }"#)?; //! //! assert_eq!(&[14, 2, 0], factory.export_schema_bytes()); //! //! // [ 14, 2, 0] //! // [data type, expontent, no default value] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "decimal", //! "exp": 2, //! "default": 521.32 //! }"#)?; //! //! assert_eq!(&[14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164], factory.export_schema_bytes()); //! //! // [ 14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164] //! // [data type, expontent, has default value, default value] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### geo4, geo8, geo16 (Scalar) //! //! Geo stores the size of the data type in the second byte. //! The third byte is 0 if there is no default, and 1 if there is a default. //! The remaining bytes are the default value (if there is one) parsed in the specific size designated in the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8" //! }"#)?; //! //! assert_eq!(&[16, 8, 0], factory.export_schema_bytes()); //! //! // [ 16, 8, 0] //! // [data type, geo size (4/8/16), no default value] //! //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "geo8", //! "default": {"lat": 29.2, "lng": -19.2} //! }"#)?; //! //! assert_eq!(&[16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0], factory.export_schema_bytes()); //! //! // [ 16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0] //! // [data type, geo size (4/8/16), has default value, geo8 value (lat/lng) ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! ### ulid, uuid (Scalar) //! //! UUID and ULID do not have default options, so this data type is very simple. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "uuid" //! }"#)?; //! //! assert_eq!(&[17], factory.export_schema_bytes()); //! //! // [ 17] //! // [data type] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### bytes, string (Scalar) //! //! The second and third bytes are a u32 of the fixed size. If there is no fixed size, these two bytes are zero. //! //! Thhe length of the default value follows as a u32, if there is no default value the u32 is zero. If there is a default value, it follows the length bytes. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string", //! "size": 20 //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 0], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 20, 0, 0] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "string", //! "size": 20, //! "default": "hello" //! }"#)?; //! //! assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111], factory.export_schema_bytes()); //! //! // [ 2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111] //! // [data type, uppercase/lowercase, fixed size (u32), default size (u16), h, e, l, l, o] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### date (Scalar) //! //! The second byte is a 1 if there is a default value, 0 otherwise. //! //! If there is a default value it follows the second byte. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date" //! }"#)?; //! //! assert_eq!(&[19, 0], factory.export_schema_bytes()); //! //! // [ 19, 0] //! // [data type, default flag ] //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "date", //! "default": 1604862252 //! }"#)?; //! //! assert_eq!(&[19, 1, 0, 0, 0, 0, 95, 168, 65, 44], factory.export_schema_bytes()); //! //! // [ 19, 1, 0, 0, 0, 0, 95, 168, 65, 44] //! // [data type, default flag, default value ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Collection Schemas //! //! Collection based schemas nest schemas in a way that allows any type to be the child of any collection, including other collections. //! //! ### Struct (collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "struct", //! "fields": [ //! ["age", {"type": "u8"}], //! ["name", {"type": "string"}] //! ] //! }"#)?; //! //! //! assert_eq!(&[21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, # of fields, a, g, e, field schema size (u32), field schema, n, a, m, e, field schema size (u32), field schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### List (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "list", //! "of": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[23, 8, 0], factory.export_schema_bytes()); //! //! // [ 23, 8, 0] //! // [data type, "of" schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Map (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "map", //! "value": {"type": "u8"} //! }"#)?; //! //! assert_eq!(&[22, 8, 0], factory.export_schema_bytes()); //! //! // [ 22, 8, 0] //! // [data type, value schema] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Tuple (Collection) //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new_json(r#"{ //! "type": "tuple", //! "values": [ //! {"type": "u8"}, //! {"type": "string"} //! ] //! }"#)?; //! //! assert_eq!(&[24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes()); //! //! // [ 24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0] //! // [data type, sorted, length (u8), schema size (u16), schema, schema size (u16), schema ] //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ### Portal (Collection/Scalar) //! //! ### Union (Collection/Scalar) //! //! ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/hashmap.rs ================================================ use alloc::string::String; use alloc::vec::Vec; use crate::error::NP_Error; pub static SEED: u32 = 2181155409; #[derive(Debug)] pub struct NP_HashMap { data: Vec> } const HASH_SIZE: usize = 2048; impl NP_HashMap { pub fn empty() -> Self { Self { data: Vec::with_capacity(1) } } pub fn new() -> Self { let mut vector = Vec::with_capacity(HASH_SIZE); vector.extend((0..HASH_SIZE).map(|_| Vec::new())); Self { data: vector } } pub fn insert(&mut self, key: &str, value: usize) -> Result<(), NP_Error> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; if self.data[bucket].len() == 0 { self.data[bucket].push((String::from(key), value)); } else { for (k, v) in self.data[bucket].iter_mut() { if k == key { *v = value; return Ok(()) } } self.data[bucket].push((String::from(key), value)); } Ok(()) } pub fn get(&self, key: &str) -> Option<&usize> { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get(bucket) { Some(x) => { let len = x.len(); if len == 0 { return None; } if len == 1 { return Some(&x[0].1); } for (k, v) in x.iter() { if k == key { return Some(v) } } None }, None => None } } pub fn delete(&mut self, key: &str) { let hash = murmurhash3_x86_32(key.as_bytes(), SEED); let bucket = hash as usize % HASH_SIZE; match self.data.get_mut(bucket) { Some(bucket) => { bucket.retain(|(k, _v)| *k != key); }, _ => { } } } } // https://github.com/mhallin/murmurhash3-rs // // The MIT License (MIT) // // Copyright (c) 2015 Magnus Hallin // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. #[inline(always)] fn fmix32(mut h: u32) -> u32 { h ^= h >> 16; h = h.wrapping_mul(0x85ebca6b); h ^= h >> 13; h = h.wrapping_mul(0xc2b2ae35); h ^= h >> 16; return h; } #[inline(always)] fn get_32_block(bytes: &[u8], index: usize) -> u32 { let real_index = index.wrapping_mul(4); let u32_bytes = &bytes[real_index..(real_index + 4)]; return unsafe { let bytes = *(u32_bytes as *const [u8] as *const [u8; 4]); core::mem::transmute(bytes) } } #[inline(always)] pub fn murmurhash3_x86_32(bytes: &[u8], seed: u32) -> u32 { let c1 = 0xcc9e2d51u32; let c2 = 0x1b873593u32; let read_size = 4; let len = bytes.len() as u32; let block_count = len / read_size; let mut h1 = seed; for i in 0..block_count as usize { let mut k1 = get_32_block(bytes, i); k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; h1 = h1.rotate_left(13); h1 = h1.wrapping_mul(5); h1 = h1.wrapping_add(0xe6546b64) } let mut k1 = 0u32; if len & 3 == 3 { k1 ^= (bytes[(block_count * read_size) as usize + 2] as u32) << 16; } if len & 3 >= 2 { k1 ^= (bytes[(block_count * read_size) as usize + 1] as u32) << 8; } if len & 3 >= 1 { k1 ^= bytes[(block_count * read_size) as usize + 0] as u32; k1 = k1.wrapping_mul(c1); k1 = k1.rotate_left(15); k1 = k1.wrapping_mul(c2); h1 ^= k1; } h1 ^= bytes.len() as u32; h1 = fmix32(h1); return h1; } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/idl.rs ================================================ //! ES6 IDL for Schemas //! //! Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs. //! use crate::error::NP_Error; use alloc::string::String; use alloc::vec::Vec; /// Parsed AST String #[derive(PartialEq, Clone, Copy, Debug)] pub struct AST_STR { start: usize, end: usize } /// AST object of es6 schema #[allow(missing_docs)] #[derive(Debug)] pub enum JS_AST { empty, method { name: AST_STR, args: Vec }, object { properties: Vec<(AST_STR, JS_AST)> }, bool { state: bool }, string { addr: AST_STR }, array { values: Vec }, number { addr: AST_STR }, closure { expressions: Vec } } #[allow(missing_docs)] #[derive(Debug)] /// Schema using ES6 syntax pub struct JS_Schema { value: String, pub ast: JS_AST } #[derive(PartialEq)] enum js_control { none, paran, curly, square, quote } impl JS_Schema { /// Parse a JS style schema into AST pub fn new(schema: String) -> Result { let mut no_comments: String = String::with_capacity(schema.len()); schema.trim().split("\n").for_each(|f| { let trimmed = f.trim(); if trimmed.len() > 0 { if let Some(idx) = trimmed.find("//") { if idx > 0 { no_comments.push_str(&trimmed[..idx]); } } else { no_comments.push_str(trimmed); }; } }); Ok(Self { ast: Self::parse(0, 0, no_comments.len(), &no_comments)?, value: no_comments, }) } /// Get a str value from the schema pub fn get_str(&self, addr: &AST_STR) -> &str { &self.value[addr.start..addr.end] } fn parse(depth: usize, start: usize, end: usize, schema: &str) -> Result { if start == end { return Err(NP_Error::new("empty request")); } if depth > 255 { return Err(NP_Error::RecursionLimit); } let mut control_char = js_control::none; let mut index = start; while control_char == js_control::none && index < end { match &schema[index..(index + 1)] { "[" => { control_char = js_control::square; }, "{" => { control_char = js_control::curly; }, "(" => { control_char = js_control::paran; }, "\"" => { control_char = js_control::quote; } _ => { } } index += 1; } static NESTING_DEFAULT: i16 = 0; let mut nesting = NESTING_DEFAULT; let mut closed = false; let mut moving_start = index; let mut escaped = false; let mut is_quoted = false; match control_char { js_control::none => { // number, bool or empty match schema[start..end].trim() { "true" => Ok(JS_AST::bool { state: true }), "false" => Ok(JS_AST::bool { state: false }), "" => Ok(JS_AST::empty), _ => Ok(JS_AST::number { addr: AST_STR { start, end }}) } }, js_control::square => { // array let mut arr: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { arr.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { if !is_quoted { escaped = false; nesting -= 1; } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { arr.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching square bracket for array! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::array { values: arr }) }, js_control::paran => { // function or closure if (index - 1) == start || schema[start..(index - 1)].trim().len() == 0 { // closure like (args) => { .. } // we never use the args, so they just get skipped over. let mut closed_first = false; while closed_first == false && index < end { match &schema[index..(index + 1)] { "{" => { closed_first = true }, _ => { } } index += 1; } if closed_first == false { let mut message = String::from("Missing closure open curly! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } moving_start = index; let mut expressions: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "(" => { if !is_quoted { escaped = false; nesting += 1; } }, ")" => { if !is_quoted { escaped = false; nesting -= 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { expressions.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, ";" => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { expressions.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching paran for function! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::closure { expressions }) } else { // function like some_name(...args) let fn_name = AST_STR { start, end: index - 1 }; let mut args: Vec = Vec::new(); while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "(" => { if !is_quoted { escaped = false; nesting += 1; } }, ")" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { args.push(Self::parse(depth + 1, moving_start, index, schema)?); } closed = true; } else { nesting -= 1; } } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { if !is_quoted { escaped = false; nesting -= 1; } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if moving_start != index { args.push(Self::parse(depth + 1, moving_start, index, schema)?); } moving_start = index + 1; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching paran for function!\n"); message.push_str(&schema[start..usize::min(end, start + 10)]); message.push_str("\n"); message.push_str("^------\n"); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::method { name: fn_name, args }) } }, js_control::curly => { // object let mut obj: Vec<(AST_STR, JS_AST)> = Vec::new(); let mut key: Option = None; while closed == false && index < end && nesting > -256 && nesting < 256 { match &schema[index..(index + 1)] { ":" => { if !is_quoted { if nesting == NESTING_DEFAULT { if moving_start != index { key = Some(AST_STR { start: moving_start, end: index}); } moving_start = index + 1; } } }, "]" => { if !is_quoted { escaped = false; nesting -= 1; } }, "[" => { if !is_quoted { escaped = false; nesting += 1; } }, "{" => { if !is_quoted { escaped = false; nesting += 1; } } "}" => { escaped = false; if !is_quoted { if nesting == NESTING_DEFAULT { if let Some(ast_key) = &key { if moving_start != index { obj.push((ast_key.clone(), Self::parse(depth + 1, moving_start, index, schema)?)); } moving_start = index + 1; key = Option::None; } else { let mut message = String::from("Missing property name in object! -> "); message.push_str(&schema[moving_start..usize::min(end, moving_start + 10)]); return Err(NP_Error::new(message.as_str())) } closed = true; } else { nesting -= 1; } } }, "\\" => { escaped = true; }, "\"" => { if escaped == false { // if is_quoted { // nesting -= 1; // } else { // nesting += 1; // } is_quoted = !is_quoted; } }, "," => { if nesting == NESTING_DEFAULT && !is_quoted { if let Some(ast_key) = &key { obj.push((ast_key.clone(), Self::parse(depth + 1, moving_start, index, schema)?)); moving_start = index + 1; key = Option::None; } else { let mut message = String::from("Missing property name in object! -> "); message.push_str(&schema[moving_start..usize::min(end, moving_start + 10)]); return Err(NP_Error::new(message.as_str())) } } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching curly bracket for object! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::object{ properties: obj }) }, js_control::quote => { // string while closed == false && index < end { match &schema[index..(index + 1)] { "\\" => { escaped = true; }, "\"" => { if escaped == false { closed = true; } }, _ => { escaped = false; } } index += 1; } if closed == false { let mut message = String::from("Missing matching qutoes for string! -> "); message.push_str(&schema[start..usize::min(end, start + 20)]); return Err(NP_Error::new(message.as_str())) } Ok(JS_AST::string{ addr: AST_STR { start: moving_start, end: index - 1} }) } } } } #[test] fn test() { println!("{:?}", JS_Schema::new(String::from("struct({fields:{key: string()}})"))); } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/json_flex.rs ================================================ //! JSON Parser, serializer and deserializer //! //! This file is derived from the json_flex crate. //! //! [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex) //! //! Changes: //! - Library has been converted & stripped for no_std use //! - All `.unwrap()`s have been replaced with proper error handling //! - Several additions that were needed for NoProto //! - Some minor optimizations //! //! The MIT License (MIT) //! //! Copyright (c) 2015 nacika //! Copyright (c) 2020 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. use alloc::vec::Vec; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::string::ToString; use core::str::FromStr; use core::ops::Index; use crate::{error::NP_Error}; /// The JSON representation of a JS Map #[derive(Debug, Clone, PartialEq)] pub struct JSMAP { /// The vec of values in the map pub values: Vec<(String, NP_JSON)> } impl JSMAP { /// Generate a new empty map pub fn new() -> Self { JSMAP { values: Vec::new() } } /// Insert a value into the map pub fn insert(&mut self, key: String, value: NP_JSON) -> usize { for x in 0..self.values.len() { if self.values[x].0 == key { self.values[x] = (key, value); return x; } } self.values.push((key, value)); self.values.len() } /// Get a mutable reference to a value in the map pub fn get_mut(&mut self, key: &str) -> Option<&mut NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&mut self.values[x].1); } } None } /// Get an immutable reference to a value in the map pub fn get(&self, key: &str) -> Option<&NP_JSON> { for x in 0..self.values.len() { if self.values[x].0 == *key { return Some(&self.values[x].1); } } None } /// Check if a value exists in the map pub fn has(&self, key: &str) -> bool { for x in 0..self.values.len() { if self.values[x].0 == *key { return true; } } false } } /// Represents an JSON value #[derive(Debug, Clone, PartialEq)] pub enum NP_JSON { /// String JSON type String(String), /// Integer JSON type Integer(i64), /// Float JSON type Float(f64), /// Map JSON type Dictionary(JSMAP), /// List JSON type Array(Vec), /// NULL json type Null, /// boolean false type False, /// boolean true type True, } impl NP_JSON { /// copy this value and it's children pub fn clone(&self) -> NP_JSON { match self { NP_JSON::Dictionary(map) => { let mut new_map = JSMAP::new(); for item in &map.values { let cloned = { ( item.0.clone(), item.1.clone() ) }; new_map.values.push(cloned); } NP_JSON::Dictionary(new_map) }, NP_JSON::Array(list) => { let mut array = Vec::new(); for item in list { array.push(item.clone()); } NP_JSON::Array(array) }, NP_JSON::String(strng) => { NP_JSON::String(strng.clone()) }, NP_JSON::Integer(int) => { NP_JSON::Integer(*int) }, NP_JSON::Float(num) => { NP_JSON::Float(*num) }, NP_JSON::Null => { NP_JSON::Null }, NP_JSON::False => { NP_JSON::False }, NP_JSON::True => { NP_JSON::True }, } } /// Get this value as a string pub fn into_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get this value as an i64 pub fn into_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get this value as an f64 pub fn into_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get this value as a hashmap pub fn into_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get this value as a list pub fn into_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Check if this value is null pub fn is_null(&self) -> bool { match self { &NP_JSON::Null => true, _ => false, } } /// Check if this value is boolean true pub fn is_true(&self) -> bool { match self { &NP_JSON::True => true, _ => false, } } /// Check if this value is boolean false pub fn is_false(&self) -> bool { match self { &NP_JSON::False => true, _ => false, } } /// Check if this value is array pub fn is_array(&self) -> bool { match self { &NP_JSON::Array(_) => true, _ => false, } } /// Check if this value is map pub fn is_dictionary(&self) -> bool { match self { &NP_JSON::Dictionary(_) => true, _ => false, } } /// Check if this value is string pub fn is_string(&self) -> bool { match self { &NP_JSON::String(_) => true, _ => false, } } /// Check if this value is an integer pub fn is_integer(&self) -> bool { match self { &NP_JSON::Integer(_) => true, _ => false, } } /// Check if this value is float pub fn is_float(&self) -> bool { match self { &NP_JSON::Float(_) => true, _ => false, } } /// Get a reference to the string in this value if it's a string pub fn unwrap_string(&self) -> Option<&String> { match self { &NP_JSON::String(ref v) => Some(v), _ => None, } } /// Get a reference to the i64 in this value if it's a i64 pub fn unwrap_i64(&self) -> Option<&i64> { match self { &NP_JSON::Integer(ref v) => Some(v), _ => None, } } /// Get a reference to the f64 in this value if it's a f64 pub fn unwrap_f64(&self) -> Option<&f64> { match self { &NP_JSON::Float(ref v) => Some(v), _ => None, } } /// Get a reference to the hashmap in this value if it's a hashmap pub fn unwrap_hashmap(&self) -> Option<&JSMAP> { match self { &NP_JSON::Dictionary(ref v) => Some(v), _ => None, } } /// Get a reference to the list in this value if it's a list pub fn unwrap_vec(&self) -> Option<&Vec> { match self { &NP_JSON::Array(ref v) => Some(v), _ => None, } } /// Stringify this JSON object and it's children pub fn stringify(&self) -> String { match self { &NP_JSON::String(ref v) => { let mut string: String = "\"".to_owned(); string.push_str(v.replace("\"", "\\\"").as_str()); string.push_str("\""); string }, &NP_JSON::Integer(ref v) => v.to_string(), &NP_JSON::Float(ref v) => v.to_string(), &NP_JSON::Dictionary(ref v) => { let mut string: String = "{".to_owned(); let mut is_first = true; for (k, v) in &v.values { if is_first { is_first = false; } else { string.push(','); } let mut substring = "\"".to_owned(); substring.push_str(k.replace("\"", "\\\"").as_str()); substring.push_str("\":"); string.push_str(substring.as_str()); string.push_str(&v.stringify()); } string.push_str("}"); string } &NP_JSON::Array(ref v) => { let mut string: String = "".to_owned(); let mut is_first = true; for i in v { if is_first { is_first = false; } else { string.push(','); } string.push_str(&i.stringify()); } let mut return_string = "[".to_owned(); return_string.push_str(string.as_str()); return_string.push_str("]"); return_string } &NP_JSON::Null => "null".to_owned(), &NP_JSON::False => "false".to_owned(), &NP_JSON::True => "true".to_owned(), } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: usize) -> &'a Self::Output { match self.into_vec() { Some(x) => { match x.get(id) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl Index for NP_JSON { type Output = NP_JSON; fn index<'a>(&'a self, id: String) -> &'a Self::Output { match self.into_hashmap() { Some(x) => { match x.get(id.as_str()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } impl<'a> Index<&'a str> for NP_JSON { type Output = NP_JSON; fn index<'b>(&'b self, id: &str) -> &'b Self::Output { match self.into_hashmap() { Some(x) => { match x.get(&id.to_owned()) { Some(y) => y, None => &NP_JSON::Null } }, None => &NP_JSON::Null } } } fn recursive(v: &mut NP_JSON, a_chain: Vec, d_chain: Vec, mut a_nest: i64, mut d_nest: i64, last_chain: char, last_c: char, func: fn(&mut NP_JSON, Option, Vec, Vec, i64, i64, char) -> Result<(), NP_Error> , value: Option, log: String) -> Result { let is_find = match *v { NP_JSON::Array(ref mut vvz) => { let i = *NP_Error::unwrap(a_chain.get(a_nest as usize))?; let is_find: bool = { let vvv = vvz.get_mut(i as usize); let is_find: bool = match vvv { Some(mut vvvv) => { a_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; a_nest -= 1; true } None => false, }; is_find }; if !is_find { } is_find } NP_JSON::Dictionary(ref mut vv) => { let o_key = d_chain.get(d_nest as usize); match o_key { Some(ref key) => { let vvv: Option<&mut NP_JSON> = vv.get_mut(*key); let is_find: bool = match vvv { Some(mut vvvv) => { d_nest += 1; recursive(&mut vvvv, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, value.clone(), log)?; d_nest -= 1; true } None => false, }; is_find } None => false, } } _ => true, }; if !is_find { func(v, value, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_c)?; } Ok(is_find) } /// Parse a JSON string into a JSON object in memory pub fn json_decode<'json>(text: String) -> Result, NP_Error> { let mut ret = Box::new(NP_JSON::Null); let mut pos: usize = 0; let mut chain: Vec = Vec::new(); let mut d_chain: Vec = Vec::new(); let mut a_chain: Vec = Vec::new(); let mut last_chain: char = ' '; let mut last_active_char: char = ' '; let mut key: String; let mut string: String = "".to_owned(); let mut num: String = "".to_owned(); let mut last_c: char = ' '; let mut s_true: String = "".to_owned(); let mut s_false: String = "".to_owned(); let mut s_null: String = "".to_owned(); let body: Vec = text.chars().collect(); let size = body.len(); let mut done = false; while !done { let c: char = body[pos]; match last_chain { 's' => { string.push(c); } 'w' => { string.push(c); } 'n' => { num.push(c); } 't' => { s_true.push(c); } 'f' => { s_false.push(c); } '0' => { s_null.push(c); } _ => {} }; match c { '[' => { match last_chain { 's' => {} 'w' => {} _ => { let a = 'a'; chain.push(a); last_chain = a; a_chain.push(0); let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Array(Vec::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Array(Vec::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Array(Vec::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } }; last_active_char = c.clone(); } ']' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; s_null = "".to_owned(); } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?; NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => vv.push( NP_JSON::Float(f64::from_str(&new_num.clone())?) ), None => vv.push( NP_JSON::Integer(i64::from_str(&new_num.clone())?) ), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } 'a' => { if last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(a_chain.pop())?; } _ => return Err(NP_Error::new("JSON Parse Error: Unknown chain from Array")), } last_active_char = c.clone(); } '{' => { match last_chain { 's' => {} 'w' => {} 'v' => { let a = 'd'; chain.push(a); last_chain = a; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } _ => { let a = 'd'; chain.push(a); last_chain = a; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::Dictionary(JSMAP::new()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Dictionary(JSMAP::new())); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Dictionary(JSMAP::new())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } } last_active_char = c.clone(); } '}' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_true = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_false = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } s_null = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'n' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; value = value.trim().to_string(); match value.find('.') { Some(_) => vv.insert(key, NP_JSON::Float(f64::from_str(&value.clone())?)) , None => vv.insert(key, NP_JSON::Integer(i64::from_str(&value.clone())?)), }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num.clone()), log)?; } num = "".to_owned(); NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } 'v' => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } _ => { NP_Error::unwrap(d_chain.pop())?; NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); } } last_active_char = c.clone(); } ':' => { match last_chain { 's' => {} 'w' => {} 'd' => { let v = 'v'; chain.push(v); last_chain = v; key = string.clone(); NP_Error::unwrap(key.pop())?; d_chain.push(key.clone()); string = "".to_owned(); } _ => {} } last_active_char = c.clone(); } ',' => { match last_chain { 's' => {} 'w' => {} 't' => { NP_Error::unwrap(s_true.pop())?; s_true = s_true.trim().to_string(); if s_true != "true" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 't' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::True); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::True); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_true = "".to_owned(); } 'f' => { NP_Error::unwrap(s_false.pop())?; s_false = s_false.trim().to_string(); if s_false != "false" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == 'f' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::False); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::False); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_false = "".to_owned(); } '0' => { NP_Error::unwrap(s_null.pop())?; s_null = s_null.trim().to_string(); if s_null != "null" { return Err(NP_Error::new("JSON Parse Error")); } if last_chain == '0' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); vv.insert(key, NP_JSON::Null); } _ => {} }; Ok(()) } NP_Error::unwrap(chain.pop())?; recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } s_null = "".to_owned(); } 'a' => { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); if last_active_char == '[' || last_active_char == ',' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, _: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::Null); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, None, log)?; } } 'n' => { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.push(NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.push(NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut new_num = NP_Error::unwrap(value)?.clone(); NP_Error::unwrap(new_num.pop())?; new_num = new_num.trim().to_string(); match new_num.find('.') { Some(_) => { vv.insert(key, NP_JSON::Float(f64::from_str(&new_num)?)) } None => { vv.insert(key, NP_JSON::Integer(i64::from_str(&new_num)?)) } }; } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(num), log)?; num = "".to_owned(); NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } else { let a = NP_Error::unwrap(a_chain.pop())?; a_chain.push(a + 1i64); } } 'v' => { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); NP_Error::unwrap(d_chain.pop())?; } _ => {} } last_active_char = c.clone(); } '"' => { match last_chain { 'w' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; string = "".to_owned(); } else if last_chain != 'd' { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { let w = 'w'; chain.push(w); last_chain = w; string = "".to_owned(); } } last_active_char = c.clone(); } '\'' => { match last_chain { 's' => { if last_c != '\\' { NP_Error::unwrap(chain.pop())?; last_chain = chain.last().unwrap_or(&' ').to_owned(); if last_chain == 'v' { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, d_chain: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Dictionary(ref mut vv) => { let key = NP_Error::unwrap(d_chain.last())?.clone(); let mut value = NP_Error::unwrap(value)?; NP_Error::unwrap(value.pop())?; vv.insert(key, NP_JSON::String(value.clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string.clone()), log)?; NP_Error::unwrap(d_chain.pop())?; string = "".to_owned(); } else { NP_Error::unwrap(string.pop())?; let is_root = match *ret { NP_JSON::Null => { *ret = NP_JSON::String(string.clone()); true } _ => false, }; if !is_root { let a_nest = 0i64; let d_nest = 0i64; let log: String = "".to_owned(); fn func(v: &mut NP_JSON, value: Option, _: Vec, _: Vec, _: i64, _: i64, _: char) -> Result<(), NP_Error> { match *v { NP_JSON::Array(ref mut vv) => { vv.push(NP_JSON::String(NP_Error::unwrap(value)? .clone())); } _ => {} }; Ok(()) } recursive(&mut ret, a_chain.clone(), d_chain.clone(), a_nest, d_nest, last_chain, last_c, func, Some(string), log)?; } string = "".to_owned(); } } } _ => { string = "".to_owned(); let s = 's'; chain.push(s); last_chain = s; } } last_active_char = c.clone(); } '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } '-' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { num = "".to_owned(); let n = 'n'; chain.push(n); last_chain = n; num.push(c); } } last_active_char = c.clone(); } 't' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let t = 't'; chain.push(t); last_chain = t; s_true = "".to_owned(); s_true.push(c); } } last_active_char = c.clone(); } 'f' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let f = 'f'; chain.push(f); last_chain = f; s_false = "".to_owned(); s_false.push(c); } } last_active_char = c.clone(); } 'n' => { match last_chain { 'n' => {} 'w' => {} 's' => {} _ => { let null = '0'; chain.push(null); last_chain = null; s_null = "".to_owned(); s_null.push(c); } } last_active_char = c.clone(); } '\n' => {} _ => {} }; pos += 1; if pos >= size { done = true; } last_c = c.clone(); } Ok(ret) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/lib.rs ================================================ #![warn(missing_docs)] #![allow(non_camel_case_types)] #![no_std] //! ## NoProto: Flexible, Fast & Compact Serialization with RPC //! //! //! //! [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto) //! //! [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) //! [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto) //! [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/) //! [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/) //! ### Features //! //! **Lightweight**
//! - Zero dependencies //! - `no_std` support, WASM ready //! - Most compact non compiling storage format //! //! **Stable**
//! - Safely accept untrusted buffers //! - Passes Miri compiler safety checks //! - Panic and unwrap free //! //! **Easy**
//! - Extensive Documentation & Testing //! - Full interop with JSON, Import and Export JSON values //! - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format //! //! **Fast**
//! - Zero copy deserialization //! - Most updates are append only //! - Deserialization is incrimental //! //! **Powerful**
//! - Native byte-wise sorting //! - Supports recursive data types //! - Supports most common native data types //! - Supports collections (list, map, struct & tuple) //! - Supports arbitrary nesting of collection types //! - Schemas support default values and non destructive updates //! - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html). //! //! //! ### Why ANOTHER Serialization Format? //! 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats: //! //! **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema. //! //! **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable. //! //! NoProto takes the performance advantages of compiled formats and implements them in a flexible format. //! //! 2. NoProto is a **key-value database focused format**: //! //! **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*. //! //! **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library. //! //! **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types. //! //! **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks) //! //! //! ### Comparison With Other Formats //! //!
//!
//! Compared to Apache Avro //! - Far more space efficient
//! - Significantly faster serialization & deserialization
//! - All values are optional (no void or null type)
//! - Supports more native types (like unsigned ints)
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//!
//!
//!
//! Compared to Protocol Buffers //! - Comparable serialization & deserialization performance
//! - Updating buffers is an order of magnitude faster
//! - Schemas are dynamic at runtime, no compilation step
//! - All values are optional
//! - Supports more types and better nested type support
//! - Byte-wise sorting is first class operation
//! - Updates without deserializng/serializing
//! - Safely handle untrusted data.
//! - All values are optional and can be inserted in any order.
//!
//!
//!
//! Compared to JSON / BSON //! - Far more space efficient
//! - Significantly faster serialization & deserialization
//! - Deserializtion is zero copy
//! - Has schemas / type safe
//! - Supports byte-wise sorting
//! - Supports raw bytes & other native types
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//!
//!
//!
//! Compared to Flatbuffers / Bincode //! - Data types can change or be created at runtime
//! - Updating buffers is an order of magnitude faster
//! - Supports byte-wise sorting
//! - Updates without deserializng/serializing
//! - Works with `no_std`.
//! - Safely handle untrusted data.
//! - All values are optional and can be inserted in any order.
//!
//!

//! //! | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting | //! |------------------|-----------|------------|---------|----------|-------------------| //! | **Runtime Libs** | | | | | | //! | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ | //! | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ | //! | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ | //! | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ | //! | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ | //! | **Compiled Libs**| | | | | | //! | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ | //! | Bincode | ✓ | ? | ✓ | ✓ | ✗ | //! | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ | //! | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ | //! | Veriform | ✗ | ? | ✗ | ✗ | ✗ | //! //! //! # Quick Example //! ```rust //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! // An ES6 like IDL is used to describe schema for the factory //! // Each factory represents a single schema //! // One factory can be used to serialize/deserialize any number of buffers //! let user_factory = NP_Factory::new(r#" //! struct({ fields: { //! name: string(), //! age: u16({ default: 0 }), //! tags: list({ of: string() }) //! }}) //! "#)?; //! //! //! // create a new empty buffer //! let mut user_buffer = user_factory.new_buffer(None); // optional capacity //! //! // set the "name" field //! user_buffer.set(&["name"], "Billy Joel")?; //! //! // read the "name" field //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // set a nested value, the first tag in the tag list //! user_buffer.set(&["tags", "0"], "first tag")?; //! //! // read the first tag from the tag list //! let tag = user_buffer.get::<&str>(&["tags", "0"])?; //! assert_eq!(tag, Some("first tag")); //! //! // close buffer and get internal bytes //! let user_bytes: Vec = user_buffer.finish().bytes(); //! //! // open the buffer again //! let user_buffer = user_factory.open_buffer(user_bytes); //! //! // read the "name" field again //! let name = user_buffer.get::<&str>(&["name"])?; //! assert_eq!(name, Some("Billy Joel")); //! //! // get the age field //! let age = user_buffer.get::(&["age"])?; //! // returns default value from schema //! assert_eq!(age, Some(0u16)); //! //! // close again //! let user_bytes: Vec = user_buffer.finish().bytes(); //! //! //! // we can now save user_bytes to disk, //! // send it over the network, or whatever else is needed with the data //! //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! ## Guided Learning / Next Steps: //! 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas. //! 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with. //! 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data. //! 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs. //! 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas. //! //! ## Benchmarks //! While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. //! //! The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use. //! //! **Legend**: Ops / Millisecond, higher is better //! //! | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) | //! |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------| //! | **Runtime Libs** | | | | | | | //! | *NoProto* | | | | | | | //! | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 | //! | Apache Avro | | | | | | | //! | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 | //! | FlexBuffers | | | | | | | //! | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 | //! | JSON | | | | | | | //! | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 | //! | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 | //! | BSON | | | | | | | //! | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 | //! | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 | //! | MessagePack | | | | | | | //! | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 | //! | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 | //! | **Compiled Libs** | | | | | | | //! | Flatbuffers | | | | | | | //! | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 | //! | Bincode | | | | | | | //! | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 | //! | Postcard | | | | | | | //! | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 | //! | Protocol Buffers | | | | | | | //! | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 | //! | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 | //! | Abomonation | | | | | | | //! | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 | //! | Rkyv | | | | | | | //! | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 | //! //! - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`. //! - **Decode All**: Deserialize the test object from the `Vec` into all fields. //! - **Decode 1**: Deserialize the test object from the `Vec` into one field. //! - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`. //! //! **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto. //! //! Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated. //! //! ## NoProto Strengths //! If your use case fits any of the points below, NoProto might be a good choice for your application. //! //! 1. Flexible At Runtime
//! If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!). //! //! 2. Safely Accept Untrusted Data
//! The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application. //! //! 3. Extremely Fast Updates
//! If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs. //! //! 4. All Fields Optional, Insert/Update In Any Order
//! Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. //! //! 5. Incremental Deserializing
//! You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries. //! //! 6. Bytewise Sorting
//! Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. //! //! 7. `no_std` Support
//! If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices. //! //! 8. Stable
//! NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller. //! //! 9. CPU Independent
//! All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture. //! //! //! ### When to use Flatbuffers / Bincode / CapN Proto //! If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you. //! //! ### When to use JSON / BSON / MessagePack //! If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better. //! //! ## Limitations //! - Structs and Tuples cannot have more than 255 items. //! - Lists and Maps cannot have more than 2^16 (~64k) items. //! - You cannot nest more than 255 levels deep. //! - Struct field names cannot be longer than 255 UTF8 bytes. //! - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes. //! - Map keys cannot be larger than 255 UTF8 bytes. //! - Buffers cannot be larger than 2^32 bytes or ~4GB. //! //! ## Unsafe //! This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer. //! //! ---------------------- //! //! MIT License //! //! Copyright (c) 2021 Scott Lott //! //! Permission is hereby granted, free of charge, to any person obtaining a copy //! of this software and associated documentation files (the "Software"), to deal //! in the Software without restriction, including without limitation the rights //! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //! copies of the Software, and to permit persons to whom the Software is //! furnished to do so, subject to the following conditions: //! //! The above copyright notice and this permission notice shall be included in all //! copies or substantial portions of the Software. //! //! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //! SOFTWARE. #[cfg(test)] #[macro_use] extern crate std; pub mod idl; pub mod pointer; pub mod collection; pub mod buffer; pub mod schema; pub mod error; pub mod json_flex; pub mod format; pub mod memory; #[cfg(feature = "np_rpc")] pub mod rpc; #[cfg(feature = "np_rpc")] #[allow(missing_docs)] #[doc(hidden)] pub mod hashmap; mod utils; #[macro_use] extern crate alloc; use core::ops::{Deref, DerefMut}; // use crate::buffer_ro::NP_Buffer_RO; use crate::memory::NP_Memory; use crate::json_flex::NP_JSON; use crate::schema::NP_Schema; use crate::json_flex::json_decode; use crate::error::NP_Error; use buffer::{NP_Buffer, DEFAULT_ROOT_PTR_ADDR}; use alloc::vec::Vec; use alloc::string::String; use idl::JS_Schema; use schema::NP_Parsed_Schema; /// Generate a path from a string. The path must use dot notation between the path segments. /// /// This requires allocation and will impact performance. /// /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// use no_proto::np_path; /// /// /// assert_eq!(&np_path!("some.crazy.path"), &["some", "crazy", "path"]); /// /// let user_factory = NP_Factory::new(r#" /// struct({fields: { /// name: string(), /// todos: list({ of: string() }) /// }}) /// "#)?; /// /// let mut user_buffer = user_factory.new_buffer(None); /// user_buffer.set(&np_path!("todos.2"), "some todo")?; /// user_buffer.set(&np_path!("name"), "Bob Dylan")?; /// /// assert_eq!(Some("some todo"), user_buffer.get::<&str>(&["todos", "2"])?); /// assert_eq!(Some("Bob Dylan"), user_buffer.get::<&str>(&["name"])?); /// /// # Ok::<(), NP_Error>(()) /// ``` /// #[macro_export] macro_rules! np_path { ($str1: tt) => { { let path: Vec<&str> = $str1.split(".").filter_map(|s| { if s.len() > 0 { Some(s) } else { None } }).collect(); path } } } /// Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones. /// /// The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html) /// /// You can also create a factory with a compiled byte schema using the static `new_bytes` method. /// /// # Example /// ``` /// use no_proto::error::NP_Error; /// use no_proto::NP_Factory; /// /// let user_factory = NP_Factory::new(r#" /// struct({fields: { /// name: string(), /// pass: string(), /// age: u16(), /// todos: list({of: string()}) /// }}) /// "#)?; /// /// /// // user_factory can now be used to make or open buffers that contain the data in the schema. /// /// // create new buffer /// let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size /// /// // set the "name" field of the struct /// user_buffer.set(&["name"], "Billy Joel")?; /// /// // set the first todo /// user_buffer.set(&["todos", "0"], "Write a rust library.")?; /// /// // close buffer /// let user_vec:Vec = user_buffer.finish().bytes(); /// /// // open existing buffer for reading /// let user_buffer_2 = user_factory.open_buffer(user_vec); /// /// // read field name /// let name_field = user_buffer_2.get::<&str>(&["name"])?; /// assert_eq!(name_field, Some("Billy Joel")); /// /// /// // read first todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "0"])?; /// assert_eq!(todo_value, Some("Write a rust library.")); /// /// // read second todo /// let todo_value = user_buffer_2.get::<&str>(&["todos", "1"])?; /// assert_eq!(todo_value, None); /// /// /// // close buffer again /// let user_vec: Vec = user_buffer_2.finish().bytes(); /// // user_vec is a serialized Vec with our data /// /// # Ok::<(), NP_Error>(()) /// ``` /// /// ## Next Step /// /// Read about how to use buffers to access, mutate and compact data. /// /// [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html) /// #[derive(Debug)] pub struct NP_Factory { /// schema data used by this factory pub schema: NP_Schema, schema_bytes: Vec } unsafe impl Send for NP_Factory {} unsafe impl Sync for NP_Factory {} /// When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not. #[derive(Debug, Eq, PartialEq)] pub struct NP_Size_Data { /// The size of the existing buffer pub current_buffer: usize, /// The estimated size of buffer after compaction pub after_compaction: usize, /// How many known wasted bytes in existing buffer pub wasted_bytes: usize } impl NP_Factory { /// Generate a new factory from an ES6 schema /// /// The operation will fail if the string can't be parsed or the schema is otherwise invalid. /// pub fn new(es6_schema: S) -> Result where S: Into { let idl = JS_Schema::new(es6_schema.into())?; let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_idl(Vec::new(), &idl, &idl.ast)?; schema = NP_Schema::resolve_portals(schema)?; Ok(Self { schema_bytes: schema_bytes, schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Generate a new factory from the given JSON schema. /// /// This operation will fail if the schema provided is invalid or if the schema is not valid JSON. If it fails you should get a useful error message letting you know what the problem is. /// pub fn new_json(json_schema: S) -> Result where S: Into { let parsed_value = json_decode(json_schema.into())?; let (is_sortable, schema_bytes, mut schema) = NP_Schema::from_json(Vec::new(), &parsed_value)?; schema = NP_Schema::resolve_portals(schema)?; Ok(Self { schema_bytes: schema_bytes, schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Create a new factory from a compiled schema byte array. /// The byte schemas are at least an order of magnitude faster to parse than JSON schemas. /// pub fn new_bytes(schema_bytes: &[u8]) -> Result { let (is_sortable, mut schema) = NP_Schema::from_bytes(Vec::new(), 0, schema_bytes); schema = NP_Schema::resolve_portals(schema)?; Ok(Self { schema_bytes: Vec::from(schema_bytes), schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Get a copy of the compiled schema byte array /// pub fn export_schema_bytes(&self) -> &[u8] { &self.schema_bytes[..] } /// Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`. /// pub fn export_schema_idl(&self) -> Result { self.schema.to_idl() } /// Exports this factorie's schema to JSON. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`. /// pub fn export_schema_json(&self) -> Result { self.schema.to_json() } /// Open existing Vec as buffer for this factory. /// pub fn open_buffer(&self, bytes: Vec) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_owned(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Open existing buffer as ready only ref, can much faster if you don't need to mutate anything. /// /// All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method. /// /// Also, read only buffers are `Sync` and `Send` so good for multithreaded environments. /// pub fn open_buffer_ref<'buffer>(&'buffer self, bytes: &'buffer [u8]) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_ref(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up. /// /// Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer. /// /// The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. /// /// If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations. /// /// pub fn open_buffer_ref_mut<'buffer>(&'buffer self, bytes: &'buffer mut [u8], data_len: usize) -> NP_Buffer { NP_Buffer::_new(NP_Memory::existing_ref_mut(bytes, data_len, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Generate a new empty buffer from this factory. /// /// The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes. /// /// pub fn new_buffer<'buffer>(&'buffer self, capacity: Option) -> NP_Buffer { NP_Buffer::_new(NP_Memory::new(capacity, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Generate a new empty buffer from this factory. /// /// Make sure the mutable slice is large enough to fit all the data you plan on putting into it. /// pub fn new_buffer_ref_mut<'buffer>(&'buffer self, bytes: &'buffer mut [u8]) -> NP_Buffer { NP_Buffer::_new(NP_Memory::new_ref_mut(bytes, &self.schema.parsed, DEFAULT_ROOT_PTR_ADDR)) } /// Convert a regular buffer into a packed buffer. A "packed" buffer contains the schema and the buffer data together. /// /// You can optionally store buffers with their schema attached so you don't have to track the schema seperatly. /// /// The schema is stored in a very compact, binary format. A JSON version of the schema can be generated from the binary version at any time. /// pub fn pack_buffer(&self, buffer: NP_Buffer) -> NP_Packed_Buffer { NP_Packed_Buffer { buffer: NP_Buffer::_new(NP_Memory::existing_owned(buffer.finish().bytes(), &self.schema.parsed as *const Vec, DEFAULT_ROOT_PTR_ADDR)), schema_bytes: self.export_schema_bytes().to_vec(), schema: self.schema.clone() } } } /// Packed Buffer Container pub struct NP_Packed_Buffer { buffer: NP_Buffer, schema_bytes: Vec, /// Schema data for this packed buffer pub schema: NP_Schema } impl NP_Packed_Buffer { /// Open a packed buffer pub fn open(buffer: Vec) -> Result { if buffer[0] != 1 { return Err(NP_Error::new("Trying to use NP_Packed_Buffer::open on non packed buffer!")) } let schema_len = u16::from_be_bytes(unsafe { *((&buffer[1..3]) as *const [u8] as *const [u8; 2]) }) as usize; let schema_bytes = &buffer[3..(3 + schema_len)]; let (is_sortable, mut schema) = NP_Schema::from_bytes(Vec::new(), 0, schema_bytes); schema = NP_Schema::resolve_portals(schema)?; let buffer_bytes = &buffer[(3 + schema_len)..]; Ok(Self { buffer: NP_Buffer::_new(NP_Memory::existing_owned(buffer_bytes.to_vec(), &schema as *const Vec, DEFAULT_ROOT_PTR_ADDR)), schema_bytes: schema_bytes.to_vec(), schema: NP_Schema { is_sortable: is_sortable, parsed: schema } }) } /// Close this buffer and pack it pub fn close_packed(self) -> Vec { let mut new_buffer: Vec = Vec::new(); new_buffer.push(1); // indicate this is a packed buffer let schema = self.export_schema_bytes(); // schema size new_buffer.extend_from_slice(&(schema.len() as u16).to_be_bytes()); // schema data new_buffer.extend_from_slice(self.export_schema_bytes()); // buffer data new_buffer.extend(self.buffer.finish().bytes()); new_buffer } /// Convert this packed buffer into a regular buffer pub fn into_buffer(self) -> NP_Buffer { self.buffer } /// Get the schema bytes for this packed buffer pub fn export_schema_bytes(&self) -> &[u8] { &self.schema_bytes[..] } /// Exports this schema to ES6 IDL. This works regardless of how the initial buffer schema was created. /// pub fn export_schema_idl(&self) -> Result { self.schema.to_idl() } /// Exports this schema to JSON. This works regardless of how the initial buffer schema was created. /// pub fn export_schema_json(&self) -> Result { self.schema.to_json() } } impl Deref for NP_Packed_Buffer { type Target = NP_Buffer; fn deref(&self) -> &Self::Target { &self.buffer } } impl DerefMut for NP_Packed_Buffer { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.buffer } } #[test] fn threading_works() { let fact = NP_Factory::new("string()").unwrap(); let buffer = fact.new_buffer(None); std::thread::spawn(move || { let f = fact.export_schema_bytes(); let b = buffer; assert_eq!(6, b.calc_bytes().unwrap().current_buffer); assert_eq!(8, f.len()); }).join().unwrap() } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/memory.rs ================================================ //! Internal buffer memory management use crate::{schema::NP_Parsed_Schema}; use crate::{error::NP_Error}; use core::cell::UnsafeCell; use alloc::vec::Vec; #[doc(hidden)] #[derive(PartialEq, Debug)] pub enum NP_Memory_Kind { Owned { vec: Vec }, Ref { vec: *const [u8] }, RefMut { vec: *mut [u8], len: usize } } #[doc(hidden)] #[derive(Debug)] pub struct NP_Memory { bytes: UnsafeCell, pub root: usize, pub schema: *const Vec, pub max_size: usize, pub is_mutable: bool, } unsafe impl Send for NP_Memory {} impl Clone for NP_Memory { fn clone(&self) -> Self { Self { root: self.root, max_size: self.max_size, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: self.read_bytes().to_vec() }), schema: self.schema.clone(), is_mutable: true } } } #[doc(hidden)] impl NP_Memory { #[inline(always)] pub fn existing_owned(bytes: Vec, schema: *const Vec, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn existing_ref(bytes: *const [u8], schema: *const Vec, root: usize) -> Self { Self { root, max_size: 0, bytes: UnsafeCell::new(NP_Memory_Kind::Ref { vec: bytes }), schema: schema, is_mutable: false } } #[inline(always)] pub fn existing_ref_mut(bytes: *mut [u8], len: usize, schema: *const Vec, root: usize) -> Self { Self { root, max_size: usize::min(u32::MAX as usize, len), bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: len }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new(capacity: Option, schema: *const Vec, root: usize) -> Self { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // is_packed, size, root pointer new_bytes.extend(&[0u8; 6]); Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: schema, is_mutable: true } } #[inline(always)] pub fn new_ref_mut(bytes: *mut [u8], schema: *const Vec, root: usize) -> Self { Self { root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::RefMut { vec: bytes, len: 6 }), schema: schema, is_mutable: true } } pub fn new_empty(&self, capacity: Option) -> Result { let use_size = match capacity { Some(x) => x, None => 1024 }; let mut new_bytes = Vec::with_capacity(use_size); // is_packed, size, root pointer new_bytes.extend(&[0u8; 6]); Ok(Self { root: self.root, max_size: u32::MAX as usize, bytes: UnsafeCell::new(NP_Memory_Kind::Owned { vec: new_bytes }), schema: self.schema, is_mutable: true }) } pub fn is_ref_mut(&self) -> bool { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::RefMut { .. } => true, _ => false } } pub fn set_length(&mut self, new_len: usize) -> Result<(), NP_Error> { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::Ref { .. } => { // NO OP Err(NP_Error::Unreachable) }, NP_Memory_Kind::RefMut { len, .. } => { *len = new_len; Ok(()) } } } pub fn set_max_length(&mut self, len: usize) { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { .. } => { self.max_size = usize::min(u32::MAX as usize, len); }, NP_Memory_Kind::Ref { .. } => { // NO OP }, NP_Memory_Kind::RefMut { .. } => { self.max_size = usize::min(u32::MAX as usize, len); } } } #[inline(always)] pub fn length(&self) -> usize { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec} => vec.len(), NP_Memory_Kind::Ref { .. } => 0, NP_Memory_Kind::RefMut { len, .. } => *len } } #[inline(always)] pub fn get_schemas(&self) -> &Vec { unsafe { &*self.schema } } #[inline(always)] pub fn get_schema(&self, idx: usize) -> &NP_Parsed_Schema { &(unsafe { &*self.schema })[idx] } #[inline(always)] pub fn malloc_borrow(&self, bytes: &[u8]) -> Result { let location = self.length(); // not enough space left? if location + bytes.len() >= self.max_size { return Err(NP_Error::MemoryOutOfSpace) } let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => { vec.extend_from_slice(bytes); }, NP_Memory_Kind::Ref { .. } => { return Err(NP_Error::MemoryReadOnly) }, NP_Memory_Kind::RefMut { vec, len } => { let v = unsafe { &mut **vec }; *len += bytes.len(); for (x, b) in bytes.iter().enumerate() { v[location + x] = *b; } } } Ok(location) } #[inline(always)] pub fn malloc(&self, bytes: Vec) -> Result { self.malloc_borrow(&bytes) } #[inline(always)] pub fn read_bytes(&self) -> &[u8] { let self_bytes = unsafe { &*self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &vec[..], NP_Memory_Kind::Ref { vec } => unsafe { &**vec }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &**vec }, } } #[inline(always)] pub fn write_bytes(&self) -> &mut [u8] { let self_bytes = unsafe { &mut *self.bytes.get() }; match self_bytes { NP_Memory_Kind::Owned { vec } => &mut vec[..], NP_Memory_Kind::Ref { vec } => unsafe { let const_ptr = *vec; let mut_ptr = const_ptr as *mut [u8]; &mut *mut_ptr }, NP_Memory_Kind::RefMut { vec, .. } => unsafe { &mut **vec }, } } #[inline(always)] pub fn get_1_byte(&self, address: usize) -> Option { // empty value if address == 0 { return None; } Some(self.read_bytes()[address]) } #[inline(always)] pub fn get_2_bytes(&self, address: usize) -> Option<&[u8; 2]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 2 { return None; } let slice = &self_bytes[address..(address + 2)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 2]) }) } #[inline(always)] pub fn get_4_bytes(&self, address: usize) -> Option<&[u8; 4]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 4 { return None; } let slice = &self_bytes[address..(address + 4)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 4]) }) } #[inline(always)] pub fn get_8_bytes(&self, address: usize) -> Option<&[u8; 8]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 8 { return None; } let slice = &self_bytes[address..(address + 8)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 8]) }) } #[inline(always)] pub fn get_16_bytes(&self, address: usize) -> Option<&[u8; 16]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 16 { return None; } let slice = &self_bytes[address..(address + 16)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 16]) }) } #[inline(always)] pub fn get_32_bytes(&self, address: usize) -> Option<&[u8; 32]> { // empty value if address == 0 { return None; } let self_bytes = self.read_bytes(); if self_bytes.len() < address + 32 { return None; } let slice = &self_bytes[address..(address + 32)]; Some(unsafe { &*(slice as *const [u8] as *const [u8; 32]) }) } pub fn dump(self) -> Vec { let bytes = self.bytes.into_inner(); match bytes { NP_Memory_Kind::Owned { vec } => vec, NP_Memory_Kind::Ref { vec } => Vec::from(unsafe { &*vec }), NP_Memory_Kind::RefMut { vec, .. } => Vec::from(unsafe { &*vec }) } } } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/any.rs ================================================ use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::{JSMAP}, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}}; use alloc::vec::Vec; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; /// Any data type #[derive(Debug)] pub struct NP_Any { } #[allow(unused_variables)] impl<'value> NP_Value<'value> for NP_Any { fn type_idx() -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("any", NP_TypeKeys::Any) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String("any".to_owned())); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("any()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Err(NP_Error::new("Can't set JSON at any type!")) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't use .set() with (Any), must cast first with NP_Any::cast(pointer).")) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { Err(NP_Error::new("Type (Any) doesn't support .into()!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_JSON::Null } fn get_size(depth:usize, _cursor: &NP_Cursor, _memory: &NP_Memory) -> Result { Ok(0) } fn do_compact(depth:usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { Err(NP_Error::new("Cannot compact an ANY field!")) } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Any as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); return Ok((false, schema_data, schema)); } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { None } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Any, sortable: false, data: Arc::new(NULL()) }); (false, schema) } } impl<'value> Default for NP_Any { fn default() -> Self { NP_Any {} } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"any\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/bool.rs ================================================ //! NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bool()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], true)?; //! //! assert_eq!(true, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bool_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use crate::NP_Memory; use alloc::string::ToString; use super::NP_Cursor; impl<'value> super::NP_Scalar<'value> for bool { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(true) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(false) } } impl<'value> NP_Value<'value> for bool { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bool", NP_TypeKeys::Boolean) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), match d { true => NP_JSON::True, false => NP_JSON::False }); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; data.default } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::True => { Self::set_value(cursor, memory, true)?; }, NP_JSON::False => { Self::set_value(cursor, memory, false)?; }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value(); if value_address != 0 { // existing value, replace // overwrite existing values in buffer memory.write_bytes()[value_address as usize] = if value == true { 1 } else { 0 }; return Ok(cursor); } else { // new value let bytes = if value == true { [1] as [u8; 1] } else { [0] as [u8; 1] }; value_address = memory.malloc_borrow(&bytes)? as u32; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_1_byte(value_addr) { Some(x) => { Some(if x == 1 { true } else { false }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { if y == true { NP_JSON::True } else { NP_JSON::False } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bool_Data) }; if let Some(d) = data.default { if d == true { NP_JSON::True } else { NP_JSON::False } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bool_Data) }; let mut result = String::from("bool("); if let Some(x) = data.default { result.push_str("{default: "); if x == true { result.push_str("true"); } else { result.push_str("false"); } result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::bool { state } => { default = Some(*state); }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match default { Some(x) => { if x == false { schema_data.push(2); } else { schema_data.push(1); } Some(x) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Boolean as u8); let default = match json_schema["default"] { NP_JSON::False => { schema_data.push(2); Some(false) }, NP_JSON::True => { schema_data.push(1); Some(true) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Boolean, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Bool_Data { default: match bytes[address + 1] { 0 => None, 1 => Some(true), 2 => Some(false), _ => unreachable!() } })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bool({default: false})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bool()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\",\"default\":false}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), false); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bool\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], false)?; assert_eq!(buffer.get::(&[])?.unwrap(), false); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/bytes.rs ================================================ //! Represents arbitrary bytes type //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::bytes::NP_Bytes; //! //! let factory: NP_Factory = NP_Factory::new("bytes()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as &[u8])?; //! //! assert_eq!(&[0u8, 1, 2, 3, 4] as &[u8], new_buffer.get::<&[u8]>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, json_flex::JSMAP, schema::{NP_Bytes_Data, NP_Parsed_Schema, NP_Value_Kind}}; use crate::error::NP_Error; use crate::{schema::{NP_TypeKeys}, pointer::NP_Value, json_flex::NP_JSON}; use alloc::vec::Vec; use alloc::boxed::Box; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Arbitrary bytes /// Alias for Vec pub type NP_Bytes = Vec; /// Arbitrary bytes, borrowed /// Alias for &[u8] pub type NP_Borrow_Bytes<'bytes> = &'bytes [u8]; impl<'value> super::NP_Scalar<'value> for NP_Bytes { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Bytes_Data) }; Some(if data.size > 0 { let mut v: Vec = Vec::with_capacity(data.size as usize); for _x in 0..data.size { v.push(0u8); } v } else { Vec::new() }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(255); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size == 0 { None } else { let mut value: Vec = Vec::with_capacity(size as usize); for _x in 0..size { value.push(0); } Some(value) } } } impl<'value> NP_Value<'value> for NP_Bytes { fn type_idx() -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("bytes", NP_TypeKeys::Bytes) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size as i64)); } // no default right now if let Some(d) = &data.default { let default_bytes: Vec = d.iter().map(|value| { NP_JSON::Integer(i64::from(*value)) }).collect(); schema_json.insert("default".to_owned(), NP_JSON::Array(default_bytes)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, address: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_Borrow_Bytes::set_value(cursor, memory, &value) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Bytes_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("["); def.push_str(x.iter().map(|b| b.to_string()).collect::>().join(",").as_str()); def.push_str("]"); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } Ok(if properties.len() == 0 { String::from("bytes()") } else { let mut final_str = String::from("bytes({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); final_str }) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option> = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::array { values } => { let mut default_vals: Vec = Vec::new(); for val in values { match val { JS_AST::number { addr } => { match idl.get_str(addr).parse::() { Ok(x) => { default_vals.push(x); }, _ => {} } }, _ => { } } } default = Some(default_vals); }, _ => { } } } _ => { } } } } _ => { } } }; if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { schema_data.extend_from_slice(&((x.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(&x[..]); } else { schema_data.extend(0u16.to_be_bytes().to_vec()); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Array(bytes) => { let mut target: Vec = Vec::new(); bytes.iter().for_each(|json| { match json { NP_JSON::Integer(x) => { target.push(*x as u8); }, NP_JSON::Float(x) => { target.push(*x as u8); }, _ => { target.push(0); } } }); Self::set_value(cursor, memory, target)?; }, _ => { } } Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_Borrow_Bytes::into_value(cursor, memory)? { Some(bytes) => Ok(Some(bytes.to_vec())), None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let bytes = y.iter().map(|x| NP_JSON::Integer(*x as i64)).collect(); NP_JSON::Array(bytes) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; match &data.default { Some(x) => { let bytes = x.iter().map(|v| { NP_JSON::Integer(*v as i64) }).collect::>(); NP_JSON::Array(bytes) }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut has_fixed_size = false; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Bytes as u8); let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new("Fixed size for bytes must be larger than 1!")); } if x > u32::MAX.into() { return Err(NP_Error::new("Fixed size for bytes cannot be larger than 2^32!")); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 }, _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0 } }; let default = match &json_schema["default"] { NP_JSON::Array(bytes) => { let default_bytes: Vec = bytes.iter().map(|v| { match v { NP_JSON::Integer(x) => { *x as u8}, _ => { 0u8 } } }).collect(); let length = default_bytes.len() as u16 + 1; schema_data.extend(length.to_be_bytes().to_vec()); schema_data.extend(default_bytes.clone()); Some(default_bytes) }, _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size, default })) as *const u8), sortable: has_fixed_size }); return Ok((has_fixed_size, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // fixed size let fixed_size = u32::from_be_bytes([ bytes[address + 1], bytes[address + 2], bytes[address + 3], bytes[address + 4] ]); // default value size let default_size = u16::from_be_bytes([ bytes[address + 5], bytes[address + 6] ]) as usize; if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: None })) as *const u8) }); } else { let default_bytes = &bytes[(address + 7)..(address + 7 + (default_size - 1))]; schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::Bytes, data: Arc::new(Box::into_raw(Box::new(NP_Bytes_Data { size: fixed_size, default: Some(default_bytes.to_vec()) })) as *const u8), sortable: fixed_size > 0 }); } (fixed_size > 0, schema) } } impl<'value> super::NP_Scalar<'value> for &[u8] { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_Borrow_Bytes<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Bytes::type_idx() } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Bytes::schema_to_json(schema, address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, addr: usize, schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Bytes_Data) }; if let Some(d) = &data.default { Some(&d[..]) } else { None } } // This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("bytes()")) } // This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let bytes = value; let str_size = bytes.len() as usize; let mut write_bytes = memory.write_bytes(); let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; let size = data.size; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let mut empty_bytes: Vec = Vec::with_capacity(size as usize); for _x in 0..size { empty_bytes.push(0); } let new_addr = memory.malloc(empty_bytes)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is zeros write_bytes[(addr + x)] = 0; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u16).to_be_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("Bytes too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Bytes_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(bytes)); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(bytes)); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Bytes::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_Bytes::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Bytes::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Bytes::from_bytes_to_schema(schema, address, bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "bytes({default: [22,208,10,78,1,19,85], size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes({size: 10})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "bytes()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[22,208,10,78,1,19,85]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"default\":[1,2,3,4]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1,2,3,4]); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] as &[u8]); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"bytes\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8])?; assert_eq!(buffer.get::<&[u8]>(&[])?.unwrap(), &[1u8,2,3,4,5,6,7,8,9,10,11,12,13] as &[u8]); buffer.del(&[])?; assert_eq!(buffer.get::<&[u8]>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/date.rs ================================================ //! Stores the current unix epoch in u64. //! //! Epoch should be stored in milliseconds. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::date::NP_Date; //! //! let factory: NP_Factory = NP_Factory::new("date()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Date::new(1604965249484))?; //! //! assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Parsed_Schema, NP_Value_Kind, NP_u64_Data}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug, Formatter}}; use alloc::boxed::Box; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds Date data. /// /// Check out documentation [here](../date/index.html). /// #[derive(Clone, Copy, Eq, PartialEq)] #[repr(C)] pub struct NP_Date { /// The value of the date pub value: u64 } impl<'value> super::NP_Scalar<'value> for NP_Date { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MAX }) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_Date { value: u64::MIN }) } } impl NP_Date { /// Create a new date type with the given time pub fn new(time_ms: u64) -> Self { NP_Date { value: time_ms } } } impl Default for NP_Date { fn default() -> Self { NP_Date { value: 0 } } } impl Debug for NP_Date { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.value) } } impl<'value> NP_Value<'value> for NP_Date { fn type_idx() -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("date", NP_TypeKeys::Date) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; if let Some(d) = data.default { schema_json.insert("default".to_owned(), NP_JSON::Integer(d as i64)); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_u64_Data) }; if let Some(d) = data.default { Some(NP_Date { value: d.clone() }) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let value = match &**value { NP_JSON::Integer(x) => *x as u64, NP_JSON::Float(x) => *x as u64, _ => 0 }; Self::set_value(cursor, memory, NP_Date::new(value))?; Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value.to_be_bytes(); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let bytes = value.value.to_be_bytes(); value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_8_bytes(value_addr) { Some(x) => { Some(NP_Date { value: u64::from_be_bytes(*x) }) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::Integer(y.value as i64) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_u64_Data) }; if let Some(d) = data.default { NP_JSON::Integer(d.clone() as i64) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_u64_Data) }; let mut result = String::from("date("); if let Some(x) = data.default { result.push_str("{default: "); result.push_str(x.to_string().as_str()); result.push_str("}"); } result.push_str(")"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing default of date!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend_from_slice(&(x as u64).to_be_bytes()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Date as u8); let default = match json_schema["default"] { NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as u64).to_be_bytes().to_vec()); Some(x as u64) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8), sortable: true }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let has_default = bytes[address + 1]; let default = if has_default == 0 { None } else { let bytes_slice = &bytes[(address + 2)..(address + 10)]; let mut u64_bytes = 0u64.to_be_bytes(); u64_bytes.copy_from_slice(bytes_slice); Some(u64::from_be_bytes(u64_bytes)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Date, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_u64_Data { default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\",\"default\":1605138980392}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Date::new(1605138980392)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"date\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Date::new(1605138980392))?; assert_eq!(buffer.get::(&[])?, Some(NP_Date::new(1605138980392))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/dec.rs ================================================ //! Represents a fixed point decimal number. //! //! Allows floating point values to be stored without rounding errors, useful for storing financial data. //! //! Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot. //! //! NP_Dec values contain two parts: //! 1. The actual number value (`num`) //! 2. The position of the decimal point from the right (`exp`) //! //! A value of "2039.756" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`. //! //! The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. //! //! If `exp` is zero, all values stored are whole numbers. //! //! For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. //! However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13. //! //! Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision. //! //! `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect. //! //! When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema. //! //! ``` //! use no_proto::pointer::dec::NP_Dec; //! //! // Creating a new NP_Dec for 20.49 //! let mut dec = NP_Dec::new(2049, 2); //! //! // add 2 //! dec += NP_Dec::new(200, 2); //! //! // add 0.03 //! dec += NP_Dec::new(3, 2); //! //! // convert float then use it to minus 5 //! let mut f: NP_Dec = 5.0_f64.into(); //! f.shift_exp(2); // set new NP_Dec to `exp` of 2. //! dec -= f; // subtract //! //! assert_eq!(dec.to_float(), 17.52_f64); //! //! ``` //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::dec::NP_Dec; //! //! let factory: NP_Factory = NP_Factory::new("dec({exp: 2})")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Dec::new(50283, 2))?; //! //! assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::{string::String, sync::Arc}; use alloc::prelude::v1::Box; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Dec_Data, NP_Value_Kind}, utils::to_signed}; use crate::schema::{NP_Parsed_Schema}; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::borrow::ToOwned; use super::{NP_Cursor}; use crate::NP_Memory; use alloc::string::ToString; /// Holds fixed decimal data. /// /// Check out documentation [here](../dec/index.html). /// #[derive(Clone, Copy, Debug)] pub struct NP_Dec { /// The number being stored, does not include decimal point data pub num: i64, /// The exponent of this number pub exp: u8 } impl<'value> super::NP_Scalar<'value> for NP_Dec { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Dec_Data) }; Some(NP_Dec { exp: data.exp, num: 0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MAX, data.exp)) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; Some(NP_Dec::new(i64::MIN, data.exp)) } } impl NP_Dec { /// Convert an NP_Dec into a native floating point value. /// /// DO NOT use this to perform calculations, only to export/display the value. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.to_float(), 2.203f64); /// ``` /// pub fn to_float(&self) -> f64 { let m = self.num as f64; let mut step = self.exp; let mut s = 1f64; while step > 0 { s *= 10f64; step -= 1; } m / s } /// Shift the exponent of this NP_Dec to a new value. /// /// If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value. /// /// If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2 /// /// assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the "03" at the end because of reducing the `exp` value. /// /// ``` pub fn shift_exp(&mut self, new_exp: u8) -> NP_Dec { let diff = self.exp as i64 - new_exp as i64; let mut step = i64::abs(diff); if self.exp == new_exp { return *self } if diff < 0 { // moving decimal to right while step > 0 { self.num *= 10; step -=1; } } else { // moving decimal to left while step > 0 { self.num /= 10; step -=1; } } self.exp = new_exp; *self } /// Generate a new NP_Dec value /// /// First argument is the `num` value, second is the `exp` or exponent. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(2, 0); // stores "2.00" /// assert_eq!(x.to_float(), 2f64); /// /// let x = NP_Dec::new(2, 1); // stores "0.20" /// assert_eq!(x.to_float(), 0.2f64); /// /// let x = NP_Dec::new(2, 2); // stores "0.02" /// assert_eq!(x.to_float(), 0.02f64); /// /// let x = NP_Dec::new(5928, 1); // stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(59280, 2); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// let x = NP_Dec::new(592800, 3); // also stores "592.8" /// assert_eq!(x.to_float(), 592.8f64); /// /// ``` pub fn new(num: i64, exp: u8) -> Self { NP_Dec { num, exp } } /// Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec. /// /// This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let mut my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// let other_num = NP_Dec::new(50, 1); // value is 5.0 /// /// let matched_dec = my_num.match_exp(&other_num); /// // `exp` values match now! They're both 3. /// assert_eq!(matched_dec.exp, my_num.exp); /// ``` /// pub fn match_exp(&self, other: &NP_Dec) -> NP_Dec { let mut other_copy = other.clone(); if other_copy.exp == self.exp { return other_copy } other_copy.shift_exp(self.exp); other_copy } /// Export NP_Dec to it's component parts. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let my_num = NP_Dec::new(2203, 3); // value is 2.203 /// /// assert_eq!(my_num.export(), (2203i64, 3u8)); /// ``` pub fn export(&self) -> (i64, u8) { (self.num, self.exp) } } /// Check if two NP_Dec are equal or not equal /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) != NP_Dec::new(200, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) == NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(203, 1) != NP_Dec::new(2020, 2); /// assert_eq!(result, true); /// /// ``` impl core::cmp::PartialEq for NP_Dec { fn ne(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num != other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num != new_other.num; } } fn eq(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num == other.num; } else { let new_exp = u8::max(self.exp, other.exp); let new_self = if new_exp == self.exp { *self } else { self.clone().shift_exp(new_exp) }; let new_other = if new_exp == other.exp { *other } else { other.clone().shift_exp(new_exp) }; return new_self.num == new_other.num; } } } /// Compare two NP_Dec /// /// If the two `exp` values are not identical, unexpected results may occur due to rounding. /// /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let result = NP_Dec::new(203, 1) > NP_Dec::new(202, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(202, 1) < NP_Dec::new(203, 1); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) > NP_Dec::new(202, 0); /// assert_eq!(result, true); /// /// let result = NP_Dec::new(20201, 2) == NP_Dec::new(2020100, 4); /// assert_eq!(result, true); /// ``` impl core::cmp::PartialOrd for NP_Dec { fn lt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num < other.num; } else { let new_other = self.match_exp(other); return self.num < new_other.num; } } fn le(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num <= other.num; } else { let new_other = self.match_exp(other); return self.num <= new_other.num; } } fn gt(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num > other.num; } else { let new_other = self.match_exp(other); return self.num > new_other.num; } } fn ge(&self, other: &NP_Dec) -> bool { if self.exp == other.exp { return self.num >= other.num; } else { let new_other = self.match_exp(other); return self.num >= new_other.num; } } fn partial_cmp(&self, other: &NP_Dec) -> Option { let (a, b) = if self.exp == other.exp { (self.num, other.num) } else { let new_other = self.match_exp(other); (self.num, new_other.num) }; if a > b { return Some(core::cmp::Ordering::Greater); } else if a < b { return Some(core::cmp::Ordering::Less); } else if a == b { return Some(core::cmp::Ordering::Equal); } return None; } } /// Converts an NP_Dec into an Int32, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i32 = x.into(); /// /// assert_eq!(y, 101i32); /// ``` impl Into for NP_Dec { fn into(self) -> i32 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value as i32 } } /// Converts an Int32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num as i32, x); /// ``` impl Into for i32 { fn into(self) -> NP_Dec { NP_Dec::new(self as i64, 0) } } /// Converts an NP_Dec into an Int64, rounds to nearest whole number /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10123, 2); /// let y: i64 = x.into(); /// /// assert_eq!(y, 101i64); /// ``` impl Into for NP_Dec { fn into(self) -> i64 { let mut change_value = self.num; let mut loop_val = self.exp; while loop_val > 0 { change_value /= 10; loop_val -= 1; } change_value } } /// Converts an Int64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 101i64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.num, x); /// ``` impl Into for i64 { fn into(self) -> NP_Dec { NP_Dec::new(self, 0) } } fn round_f64(n: f64) -> f64 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f64).min(core::i64::MAX as f64); (bounds_value as i64) as f64 } fn round_f32(n: f32) -> f32 { let value = if n < 0.0 { n - 0.5 } else { n + 0.5 }; let bounds_value = value.max(core::i64::MIN as f32).min(core::i64::MAX as f32); (bounds_value as i64) as f32 } fn round(n: f64, precision: u32) -> f64 { round_f64(n * 10_u32.pow(precision) as f64) / 10_i32.pow(precision) as f64 } fn precision(x: f64) -> Option { for digits in 0..core::f64::DIGITS { if round(x, digits) == x { return Some(digits); } } None } fn round32(n: f32, precision: u32) -> f32 { round_f32(n * 10_u32.pow(precision) as f32) / 10_i32.pow(precision) as f32 } fn precision32(x: f32) -> Option { for digits in 0..core::f64::DIGITS { if round32(x, digits) == x { return Some(digits); } } None } /// Converts a NP_Dec into a Float64 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f64 = x.into(); /// /// assert_eq!(y, x.to_float()); /// ``` impl Into for NP_Dec { fn into(self) -> f64 { self.to_float() } } /// Converts a Float64 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f64; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float(), x); /// ``` impl Into for f64 { fn into(self) -> NP_Dec { match precision(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f64; loop_exp -= 1; } let value = round_f64(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f64(self) as i64; return NP_Dec::new(value, 0); } } } } /// Converts a NP_Dec into a Float32 /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = NP_Dec::new(10023, 2); /// let y: f32 = x.into(); /// /// assert_eq!(y, x.to_float() as f32); /// ``` impl Into for NP_Dec { fn into(self) -> f32 { self.to_float() as f32 } } /// Converts a Float32 into a NP_Dec /// ``` /// use no_proto::pointer::dec::NP_Dec; /// /// let x = 100.238f32; /// let y: NP_Dec = x.into(); /// /// assert_eq!(y.to_float() as f32, x); /// ``` impl Into for f32 { fn into(self) -> NP_Dec { match precision32(self) { Some(x) => { let max_decimal_places = u8::min(x as u8, 18); let mut new_self = self.clone(); let mut loop_exp = max_decimal_places; while loop_exp > 0 { new_self *= 10f32; loop_exp -= 1; } let value = round_f32(new_self) as i64; return NP_Dec::new(value, max_decimal_places as u8); }, None => { // this should be impossible, but just incase let value = round_f32(self) as i64; return NP_Dec::new(value, 0); } } } } impl core::ops::DivAssign for NP_Dec { // a /= b fn div_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } } } impl core::ops::Div for NP_Dec { // a / b type Output = NP_Dec; fn div(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num / other_copy.num; } else { self.num = self.num / other.num; } return self; } } impl core::ops::SubAssign for NP_Dec { // a -= b fn sub_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } } } impl core::ops::Sub for NP_Dec { // a - b type Output = NP_Dec; fn sub(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num - other_copy.num; } else { self.num = self.num - other.num; } return self; } } impl core::ops::AddAssign for NP_Dec { // a += b fn add_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } } } impl core::ops::Add for NP_Dec { // a + b type Output = NP_Dec; fn add(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num + other_copy.num; } else { self.num = self.num + other.num; } return self; } } impl core::ops::MulAssign for NP_Dec { // a *= b fn mul_assign(&mut self, other: NP_Dec) { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } } } impl core::ops::Mul for NP_Dec { // a * b type Output = NP_Dec; fn mul(mut self, other: NP_Dec) -> >::Output { if self.exp != other.exp { let other_copy = self.match_exp(&other); self.num = self.num * other_copy.num; } else { self.num = self.num * other.num; } return self; } } impl Default for NP_Dec { fn default() -> Self { NP_Dec::new(0,0) } } impl<'value> NP_Value<'value> for NP_Dec { fn type_idx() -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("decimal", NP_TypeKeys::Decimal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; schema_json.insert("exp".to_owned(), NP_JSON::Integer(data.exp.clone() as i64)); if let Some(d) = data.default { let value = NP_Dec::new(d.num.clone(), data.exp.clone()); schema_json.insert("default".to_owned(), NP_JSON::Float(value.into())); } Ok(NP_JSON::Dictionary(schema_json)) } fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Dec_Data) }; if let Some(d) = data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::Dictionary(map) => { if let Some(NP_JSON::Dictionary(parts)) = map.get("parts") { if let Some(NP_JSON::Integer(num)) = parts.get("num") { if let Some(NP_JSON::Integer(exp)) = parts.get("exp") { Self::set_value(cursor, memory, NP_Dec::new(*num, *exp as u8))?; } else { return Err(NP_Error::new("Decimal types require a `parts.exp` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts.num` property!")) } } else { return Err(NP_Error::new("Decimal types require a `parts` property!")) } }, _ => {} } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; let mut cloned_value = (value).clone(); cloned_value.shift_exp(exp); let i64_value = cloned_value.num; if value_address != 0 { // existing value, replace let mut bytes = i64_value.to_be_bytes(); // convert to unsigned bytes[0] = to_unsigned(bytes[0]); let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value let mut be_bytes = i64_value.to_be_bytes(); // convert to unsigned be_bytes[0] = to_unsigned(be_bytes[0]); value_address = memory.malloc_borrow(&be_bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; Ok(match memory.get_8_bytes(value_addr) { Some(x) => { let mut be_bytes = x.clone(); be_bytes[0] = to_signed(be_bytes[0]); Some(NP_Dec::new(i64::from_be_bytes(be_bytes), exp)) }, None => None }) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; let exp = data.exp; match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(y.num)); parts.insert("exp".to_owned(), NP_JSON::Integer(exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(y.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Dec_Data) }; if let Some(d) = data.default { let mut object = JSMAP::new(); let mut parts = JSMAP::new(); parts.insert("num".to_owned(), NP_JSON::Integer(d.num.clone())); parts.insert("exp".to_owned(), NP_JSON::Integer(data.exp as i64)); object.insert("value".to_owned(), NP_JSON::Float(d.to_float())); object.insert("parts".to_owned(), NP_JSON::Dictionary(parts)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Dec_Data) }; let mut result = String::from("dec({exp: "); result.push_str(data.exp.to_string().as_str()); if let Some(x) = data.default { result.push_str(", default: "); result.push_str(x.to_float().to_string().as_str()); } result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut exp: Option = None; let mut default: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "exp" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { exp = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal value!")) } }, _ => { } } }, "default" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { default = Some(x); }, Err(_e) => return Err(NP_Error::new("Error parsing exponent of decimal default!")) } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp = if let Some(x) = exp { schema_data.push(x as u8); x } else { return Err(NP_Error::new("Decimal type requires 'exp' property!")) }; let mult = 10i64.pow(exp as u32); let default = match default { Some(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Decimal as u8); let exp: u8; match json_schema["exp"] { NP_JSON::Integer(x) => { if x > 255 || x < 0 { return Err(NP_Error::new("Decimal 'exp' property must be between 0 and 255!")) } exp = x as u8; schema_data.push(x as u8); }, _ => { return Err(NP_Error::new("Decimal type requires 'exp' property!")) } } let mult = 10i64.pow(exp as u32); let default = match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); let value = x * (mult as f64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, NP_JSON::Integer(x) => { schema_data.push(1); let value = x * (mult as i64); schema_data.extend((value as i64).to_be_bytes().to_vec()); Some(NP_Dec::new(value as i64, exp)) }, _ => { schema_data.push(0); // schema_data.extend(0i64.to_be_bytes().to_vec()) None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); return Ok((true, schema_data, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let exp = bytes[address + 1]; let default = if bytes[address + 2] == 0 { None } else { let mut slice = 0i64.to_be_bytes(); slice.copy_from_slice(&bytes[(address + 3)..address + 11]); let value = i64::from_be_bytes(slice); Some(NP_Dec::new(value, exp)) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Decimal, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Dec_Data { exp, default })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "dec({exp: 3, default: 203.293})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "dec({exp: 3})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"decimal\",\"exp\":3}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\":3,\"default\":203.293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"decimal\",\"exp\": 3}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Dec::new(203293, 3))?; assert_eq!(buffer.get::(&[])?.unwrap(), NP_Dec::new(203293, 3)); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/geo.rs ================================================ //! Represents a Geographic Coordinate (lat / lon) //! //! When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::geo::NP_Geo; //! //! let factory: NP_Factory = NP_Factory::new("geo4()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?; //! //! assert_eq!("{\"lat\":45.5,\"lng\":-122.71}", new_buffer.get::(&[])?.unwrap().into_json().stringify()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use alloc::string::String; use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Geo_Data, NP_Parsed_Schema, NP_Value_Kind}}; use alloc::vec::Vec; use crate::utils::to_signed; use crate::utils::to_unsigned; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_Schema, NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use core::convert::TryInto; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; use crate::NP_Memory; /// Allows you to efficiently retrieve just the bytes of the geographic coordinate #[derive(Debug, Eq, PartialEq)] pub struct NP_Geo_Bytes { /// Size of this coordinate: 4, 8 or 16 pub size: u8, /// latitude bytes pub lat: Vec, /// longitude bytes pub lng: Vec } impl<'value> super::NP_Scalar<'value> for NP_Geo_Bytes{ fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 0.0, lng: 0.0}.get_bytes() } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: 90f64, lng: 180f64}.get_bytes() } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; NP_Geo { size: data.size, lat: -90f64, lng: -180f64}.get_bytes() } } impl NP_Geo_Bytes { /// Get the actual geographic coordinate for these bytes pub fn into_geo(self) -> NP_Geo { match self.size { 16 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 8]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i64::from_be_bytes(bytes_lat) as f64 / dev; let lon = i64::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 8 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 4]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i32::from_be_bytes(bytes_lat) as f64 / dev; let lon = i32::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, 4 => { let mut bytes_lat = self.lat.as_slice().try_into().unwrap_or([0; 2]); let mut bytes_lon = self.lng.as_slice().try_into().unwrap_or([0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let dev = NP_Geo::get_deviser((self.size as u8).into()); let lat = i16::from_be_bytes(bytes_lat) as f64 / dev; let lon = i16::from_be_bytes(bytes_lon) as f64 / dev; let use_lat = f64::min(f64::max(lat, -90f64), 90f64); let use_lng = f64::min(f64::max(lon, -180f64), 180f64); NP_Geo { lat: use_lat, lng: use_lng, size: self.size} }, _ => { NP_Geo { lat: 0f64, lng: 0f64, size: 4} } } } } impl Default for NP_Geo_Bytes { fn default() -> Self { NP_Geo_Bytes { lat: Vec::new(), lng: Vec::new(), size: 4 } } } impl<'value> NP_Value<'value> for NP_Geo_Bytes { fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn default_value(_depth: usize, _addr: usize, _schema: &Vec) -> Option { None } fn type_idx() -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_Geo::type_idx() } fn schema_to_idl(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_idl(schema, address) } fn from_idl_to_schema(schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_idl_to_schema(schema, name, idl, args) } fn schema_to_json(schema: &Vec, address: usize)-> Result { NP_Geo::schema_to_json(schema, address)} fn set_value<'set>(_cursor: NP_Cursor, _memory: &'set NP_Memory, _value: Self) -> Result where Self: 'set + Sized { Err(NP_Error::new("Can't set value with NP_Geo_Bytes, use NP_Geo instead!")) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_Geo::to_json(depth, cursor, memory) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 16 } }, 8 => { let bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 8 } }, 4 => { let bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); NP_Geo_Bytes { lat: bytes_lat.to_vec(), lng: bytes_lon.to_vec(), size: 4 } }, _ => { unreachable!(); } })) } fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_Geo::from_json_to_schema(schema, json_schema) } fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { NP_Geo::from_bytes_to_schema(schema, address, bytes) } } /// Holds geographic coordinates /// /// Check out documentation [here](../geo/index.html). /// #[derive(Debug, Clone, PartialEq)] pub struct NP_Geo { /// The size of this geographic coordinate. 4, 8 or 16 pub size: u8, /// The latitude of this coordinate pub lat: f64, /// The longitude of this coordinate pub lng: f64 } impl<'value> super::NP_Scalar<'value> for NP_Geo { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 0.0, lng: 0.0}) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: 90f64, lng: 180f64}) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Some(NP_Geo { size: data.size, lat: -90f64, lng: -180f64}) } } impl NP_Geo { /// Create a new NP_Geo value, make sure the size matches the schema pub fn new(size: u8, lat: f64, lng: f64) -> Self { NP_Geo { size, lat, lng} } /// Get the deviser value depending on the resolution of the type in the schema pub fn get_deviser(size: i64) -> f64 { match size { 16 => 1000000000f64, 8 => 10000000f64, 4 => 100f64, _ => 0.0 } } /// Export this Geo point to JSON /// pub fn into_json(&self) -> NP_JSON { let mut result_json = JSMAP::new(); result_json.insert("lat".to_owned(), NP_JSON::Float(self.lat)); result_json.insert("lng".to_owned(), NP_JSON::Float(self.lng)); NP_JSON::Dictionary(result_json) } /// Get the bytes that represent this geographic coordinate pub fn get_bytes(&self) -> Option { if self.size == 0 { return None } let dev = NP_Geo::get_deviser(self.size as i64); let use_lat = f64::min(f64::max(self.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(self.lng, -180f64), 180f64); match self.size { 16 => { let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 8 => { let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, 4 => { let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); Some(NP_Geo_Bytes { lat: lat_bytes.to_vec(), lng: lon_bytes.to_vec(), size: self.size }) }, _ => { None } } } } impl Default for NP_Geo { fn default() -> Self { NP_Geo { lat: 0.0, lng: 0.0, size: 0 } } } fn geo_default_value(size: u8, json: &NP_JSON) -> Result, NP_Error> { match &json["default"] { NP_JSON::Dictionary(x) => { let mut lat = 0f64; match x.get("lat") { Some(x) => { match x { NP_JSON::Integer(y) => { lat = *y as f64; }, NP_JSON::Float(y) => { lat = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lat key!")) } }; let mut lng = 0f64; match x.get("lng") { Some(x) => { match x { NP_JSON::Integer(y) => { lng = *y as f64; }, NP_JSON::Float(y) => { lng = *y as f64; }, _ => {} } }, None => { return Err(NP_Error::new("Default values for NP_Geo should have lng key!")) } }; match NP_Geo::new(size, lat, lng).get_bytes() { Some(b) => return Ok(Some(b)), None => return Ok(None) } }, _ => return Ok(None) } } impl<'value> NP_Value<'value> for NP_Geo { fn default_value(_depth: usize, addr: usize, schema: &Vec) -> Option { let data = unsafe { &*(*schema[addr].data as *const NP_Geo_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; match &**value { NP_JSON::Dictionary(map) => { let mut value = NP_Geo::new(size, 0.0, 0.0); if let Some(NP_JSON::Integer(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Float(lat)) = map.get("lat") { value.lat = *lat as f64; } if let Some(NP_JSON::Integer(lng)) = map.get("lng") { value.lng = *lng as f64; } if let Some(NP_JSON::Float(lng)) = map.get("lng") { value.lng = *lng as f64; } Self::set_value(cursor, memory, value)?; }, _ => { } } Ok(()) } fn type_idx() -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("geo", NP_TypeKeys::Geo) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut type_str = Self::type_idx().0.to_string(); type_str.push_str(data.size.to_string().as_str()); schema_json.insert("type".to_owned(), NP_JSON::String(type_str)); if let Some(d) = &data.default { let mut default_map = JSMAP::new(); default_map.insert("lat".to_owned(), NP_JSON::Float(d.lat)); default_map.insert("lng".to_owned(), NP_JSON::Float(d.lng)); schema_json.insert("default".to_owned(), NP_JSON::Dictionary(default_map)); } Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; let value_bytes_size = size as usize; if value_bytes_size == 0 { unreachable!(); } let write_bytes: &mut [u8]; let half_value_bytes = value_bytes_size / 2; let use_lat = f64::min(f64::max(value.lat, -90f64), 90f64); let use_lng = f64::min(f64::max(value.lng, -180f64), 180f64); // convert input values into bytes let value_bytes = match size { 16 => { let dev = NP_Geo::get_deviser(16); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i64).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i64).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 8 => { let dev = NP_Geo::get_deviser(8); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i32).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i32).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, 4 => { let dev = NP_Geo::get_deviser(4); let mut v_bytes: [u8; 16] = [0; 16]; let mut lat_bytes = ((use_lat * dev) as i16).to_be_bytes(); let mut lon_bytes = ((use_lng * dev) as i16).to_be_bytes(); // convert to unsigned bytes lat_bytes[0] = to_unsigned(lat_bytes[0]); lon_bytes[0] = to_unsigned(lon_bytes[0]); for x in 0..value_bytes_size { if x < half_value_bytes { v_bytes[x] = lat_bytes[x]; } else { v_bytes[x] = lon_bytes[x - half_value_bytes]; } } v_bytes }, _ => { [0; 16] } }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } } else { // new value value_address = match size { 16 => { memory.malloc_borrow(&[0u8; 16])? }, 8 => { memory.malloc_borrow(&[0u8; 8])? }, 4 => { memory.malloc_borrow(&[0u8; 4])? }, _ => { 0 } }; write_bytes = memory.write_bytes(); // set values in buffer for x in 0..value_bytes.len() { if x < value_bytes_size { write_bytes[value_address + x] = value_bytes[x]; } } cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; let size = data.size; Ok(Some(match size { 16 => { let mut bytes_lat: [u8; 8] = *memory.get_8_bytes(value_addr).unwrap_or(&[0; 8]); let mut bytes_lon: [u8; 8] = *memory.get_8_bytes(value_addr + 8).unwrap_or(&[0; 8]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i64::from_be_bytes(bytes_lat) as f64; let lon = i64::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(16); NP_Geo { lat: lat / dev, lng: lon / dev, size: 16} }, 8 => { let mut bytes_lat: [u8; 4] = *memory.get_4_bytes(value_addr).unwrap_or(&[0; 4]); let mut bytes_lon: [u8; 4] = *memory.get_4_bytes(value_addr + 4).unwrap_or(&[0; 4]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i32::from_be_bytes(bytes_lat) as f64; let lon = i32::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(8); NP_Geo { lat: lat / dev, lng: lon / dev, size: 8} }, 4 => { let mut bytes_lat: [u8; 2] = *memory.get_2_bytes(value_addr).unwrap_or(&[0; 2]); let mut bytes_lon: [u8; 2] = *memory.get_2_bytes(value_addr + 2).unwrap_or(&[0; 2]); // convert to signed bytes bytes_lat[0] = to_signed(bytes_lat[0]); bytes_lon[0] = to_signed(bytes_lon[0]); let lat = i16::from_be_bytes(bytes_lat) as f64; let lon = i16::from_be_bytes(bytes_lon) as f64; let dev = NP_Geo::get_deviser(4); NP_Geo { lat: lat / dev, lng: lon / dev, size: 4} }, _ => { unreachable!(); } })) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(y.lat)); object.insert("lng".to_owned(), NP_JSON::Float(y.lng)); NP_JSON::Dictionary(object) }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; if let Some(d) = &data.default { let mut object = JSMAP::new(); object.insert("lat".to_owned(), NP_JSON::Float(d.lat)); object.insert("lng".to_owned(), NP_JSON::Float(d.lng)); NP_JSON::Dictionary(object) } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Geo_Data) }; let mut schema_idl = match data.size { 16 => { String::from("geo16(") } 8 => { String::from("geo8(") }, 4 => { String::from("geo4(") }, _ => { String::from("geo4(") } }; if let Some(d) = &data.default { schema_idl.push_str("{default: {"); schema_idl.push_str("lat: "); schema_idl.push_str(d.lat.to_string().as_str()); schema_idl.push_str(", "); schema_idl.push_str("lng: "); schema_idl.push_str(d.lng.to_string().as_str()); schema_idl.push_str("}}"); } schema_idl.push_str(")"); Ok(schema_idl) } fn from_idl_to_schema(mut schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: (bool, f64, f64) = (false, 0.0, 0.0); if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { if idl.get_str(key).trim() == "default" { match value { JS_AST::object { properties: default_props } => { for (dkey, dvalue) in default_props { match idl.get_str(dkey).trim() { "lat" => { default.0 = true; default.1 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, "lng" => { default.0 = true; default.2 = match dvalue { JS_AST::number {addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => x, Err(_e) => return Err(NP_Error::new("Error parsing default geo value!")) } }, _ => 0.0 } }, _ => { } } } }, _ => { } } } } } _ => { } } } let size = match name { "geo4" => 4, "geo8" => 8, "geo16" => 16, _ => 4 }; let default = { if default.0 == false { None } else { NP_Geo::new(size, default.1, default.2).get_bytes() } }; let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(size); let default = match default { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(size, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size, default })) as *const u8) }); Ok((false, schema_data, schema)) } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); if value_addr == 0 { return Ok(0) } else { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Geo_Data) }; Ok(data.size as usize) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let type_str = NP_Schema::_get_type(&json_schema)?; match type_str.as_str() { "geo4" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(4); let default = match geo_default_value(4, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(4, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(4), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 4, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo8" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(8); let default = match geo_default_value(8, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(8, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(8), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 8, default })) as *const u8) }); Ok((false, schema_data, schema)) }, "geo16" => { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Geo as u8); schema_data.push(16); let default = match geo_default_value(16, &json_schema)? { Some(x) => { schema_data.push(1); schema_data.extend(x.lat.clone()); schema_data.extend(x.lng.clone()); let g = x.into_geo(); Some(NP_Geo::new(16, g.lat, g.lng)) }, None => { schema_data.push(0); None } }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: 16, default })) as *const u8) }); Ok((false, schema_data, schema)) }, _ => { Ok((false, Vec::new(), Vec::new())) } } } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let size = bytes[address + 1]; // no default if bytes[address + 2] == 0 { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: None })) as *const u8) }); return (false, schema) } // has default match size { 4 => { let lat = &bytes[(address + 3)..(address + 5)]; let lng = &bytes[(address + 5)..(address + 7)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 8 => { let lat = &bytes[(address + 3)..(address + 7)]; let lng = &bytes[(address + 7)..(address + 11)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, 16 => { let lat = &bytes[(address + 3)..(address + 11)]; let lng = &bytes[(address + 11)..(address + 19)]; let default_value = NP_Geo_Bytes { size: size, lat: lat.to_vec(), lng: lng.to_vec()}; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(size as u32), i: NP_TypeKeys::Geo, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Geo_Data { size: size, default: Some(default_value.into_geo())})) as *const u8) }); (false, schema) }, _ => { unreachable!(); } } } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "geo4({default: {lat: 20.23, lng: -12.21}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo4()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8({default: {lat: 20.2334234, lng: -12.2146363}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16({default: {lat: 20.233423434, lng: -12.214636323}})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "geo16()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo8"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = r#"{"type":"geo16"}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4","default":{"lat":20.23,"lng":-12.21}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); let schema = r#"{"type":"geo8","default":{"lat":20.2334234,"lng":-12.2146363}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(8, 20.2334234, -12.2146363)); let schema = r#"{"type":"geo16","default":{"lat":20.233423434,"lng":-12.214636323}}"#; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(16, 20.233423434, -12.214636323)); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{"type":"geo4"}"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Geo::new(4, 20.23, -12.21))?; assert_eq!((buffer.get::(&[])?.unwrap()), NP_Geo::new(4, 20.23, -12.21)); buffer.del(&[])?; assert!({ match buffer.get::(&[])? { Some(_x) => false, None => true } }); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/mod.rs ================================================ //! All values in buffers are accessed and modified through pointers //! //! NP_Ptr are the primary abstraction to read, update or delete values in a buffer. //! Pointers should *never* be created directly, instead the various methods provided by the library to access //! the internals of the buffer should be used. //! //! Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`. //! When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail. //! As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided. //! //! /// Any type pub mod any; pub mod string; pub mod bytes; pub mod numbers; pub mod bool; pub mod geo; pub mod dec; pub mod ulid; pub mod uuid; pub mod option; pub mod date; pub mod portal; // pub mod union; use core::{fmt::{Debug}}; use alloc::prelude::v1::Box; use crate::{idl::{JS_AST, JS_Schema}, pointer::dec::NP_Dec, schema::{NP_Portal_Data, NP_Schema_Addr}, utils::opt_err}; use crate::NP_Parsed_Schema; use crate::{json_flex::NP_JSON}; use crate::memory::{NP_Memory}; use crate::NP_Error; use crate::{schema::{NP_TypeKeys}, collection::{map::NP_Map, struc::NP_Struct, list::NP_List, tuple::NP_Tuple}}; use alloc::{string::String, vec::Vec, borrow::ToOwned}; use bytes::NP_Bytes; use self::{date::NP_Date, geo::NP_Geo, option::NP_Enum, portal::NP_Portal, ulid::{NP_ULID}, uuid::{NP_UUID}}; #[doc(hidden)] #[derive(Debug, Copy, Clone)] #[repr(C)] pub struct NP_Pointer_Scalar { pub addr_value: [u8; 4] } impl Default for NP_Pointer_Scalar { fn default() -> Self { Self { addr_value: [0; 4] } } } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_List_Item { pub addr_value: [u8; 4], pub next_value: [u8; 4], pub index: [u8; 2] } #[doc(hidden)] #[derive(Debug)] #[repr(C)] pub struct NP_Pointer_Map_Item { pub addr_value: [u8; 4], pub next_value: [u8; 4], pub key_addr: [u8; 4] } #[doc(hidden)] #[allow(missing_docs, unused_variables)] pub trait NP_Pointer_Bytes { fn get_type(&self) -> &str { "" } fn get_addr_value(&self) -> u32 { 0 } fn set_addr_value(&mut self, addr: u32) { } fn get_next_addr(&self) -> u32 { 0 } fn set_next_addr(&mut self, addr: u32) { } fn set_index(&mut self, index: u16) { } fn get_index(&self) -> u16 { 0 } fn set_key_addr(&mut self, hash: u32) { } fn get_key_addr(&self) -> u32 { 0 } fn reset(&mut self) { } fn get_size(&self) -> usize { 0 } fn get_key<'key>(&self, memory: &'key NP_Memory) -> &'key str { "" } fn get_key_size<'key>(&self, memory: &'key NP_Memory) -> usize { 0 } } impl NP_Pointer_Bytes for NP_Pointer_Scalar { fn get_type(&self) -> &str { "Scalar" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; } #[inline(always)] fn get_size(&self) -> usize { 4 } } impl NP_Pointer_Bytes for NP_Pointer_List_Item { fn get_type(&self) -> &str { "List Item" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u32 { u32::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u32) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_index(&mut self, index: u16) { self.index = index.to_be_bytes() } #[inline(always)] fn get_index(&self) -> u16 { u16::from_be_bytes(self.index) } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; self.next_value = [0; 4]; self.index = [0; 2]; } #[inline(always)] fn get_size(&self) -> usize { 10 } } impl NP_Pointer_Bytes for NP_Pointer_Map_Item { fn get_type(&self) -> &str { "Map Item" } #[inline(always)] fn get_addr_value(&self) -> u32 { u32::from_be_bytes(self.addr_value) } #[inline(always)] fn set_addr_value(&mut self, addr: u32) { self.addr_value = addr.to_be_bytes() } #[inline(always)] fn get_next_addr(&self) -> u32 { u32::from_be_bytes(self.next_value) } #[inline(always)] fn set_next_addr(&mut self, addr: u32) { self.next_value = addr.to_be_bytes() } #[inline(always)] fn set_key_addr(&mut self, addr: u32) { self.key_addr = addr.to_be_bytes(); } #[inline(always)] fn get_key_addr(&self) -> u32 { u32::from_be_bytes(self.key_addr) } #[inline(always)] fn reset(&mut self) { self.addr_value = [0; 4]; self.next_value = [0; 4]; self.key_addr = [0; 4]; } #[inline(always)] fn get_size(&self) -> usize { 12 } #[inline(always)] fn get_key<'key>(&self, memory: &'key NP_Memory) -> &'key str { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return ""; } else { let key_length = memory.read_bytes()[key_addr] as usize; let key_bytes = &memory.read_bytes()[(key_addr + 1)..(key_addr + 1 + key_length)]; unsafe { core::str::from_utf8_unchecked(key_bytes) } } } #[inline(always)] fn get_key_size<'key>(&self, memory: &'key NP_Memory) -> usize { let key_addr = self.get_key_addr() as usize; if key_addr == 0 { return 0; } else { return memory.read_bytes()[key_addr] as usize; } } } // holds 4 u16 addresses and a next value (10 bytes) #[repr(C)] #[derive(Debug, Copy, Clone)] #[doc(hidden)] #[allow(missing_docs)] pub struct NP_Vtable { pub values: [NP_Pointer_Scalar; 4], next: [u8; 4] } #[allow(missing_docs)] impl NP_Vtable { #[inline(always)] pub fn get_next(&self) -> u32 { u32::from_be_bytes(unsafe { *(&self.next as *const [u8] as *const [u8; 4]) }) } #[inline(always)] pub fn set_next(&mut self, value: u32) { let bytes = value.to_be_bytes(); self.next[0] = bytes[0]; self.next[1] = bytes[1]; self.next[2] = bytes[2]; self.next[3] = bytes[3]; } } #[doc(hidden)] #[derive(Debug, Clone, Copy, PartialEq)] pub enum NP_Cursor_Parent { None, Tuple } /// Cursor for pointer value in buffer /// #[doc(hidden)] #[derive(Debug, Clone, Copy)] pub struct NP_Cursor { /// The location of this cursor in the buffer pub buff_addr: usize, /// The address of the schema for this cursor pub schema_addr: NP_Schema_Addr, /// the parent schema address (so we know if we're in a collection type) pub parent_schema_addr: NP_Schema_Addr, /// used by tuple type to store scalar pointer bytes pub value_bytes: Option<[u8; 4]>, /// if parent is tuple pub parent_type: NP_Cursor_Parent } impl<'cursor> NP_Cursor { /// Create a new cursor pub fn new(buff_addr: usize, schema_addr: usize, parent_schema_addr: usize) -> Self { Self { buff_addr, schema_addr, parent_schema_addr, value_bytes: None, parent_type: NP_Cursor_Parent::None } } /// Get the value bytes of this cursor #[inline(always)] pub fn get_value(&self, memory: &NP_Memory) -> &'cursor dyn NP_Pointer_Bytes { let ptr = memory.read_bytes().as_ptr(); // if requesting root pointer or address is higher than buffer length if self.buff_addr == memory.root || self.buff_addr > memory.read_bytes().len() { unsafe { & *(ptr.add(memory.root) as *const NP_Pointer_Scalar) } } else { match memory.get_schema(self.parent_schema_addr).i { NP_TypeKeys::List => { unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_List_Item) } }, NP_TypeKeys::Map => { unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Map_Item) } }, NP_TypeKeys::Tuple => { match &self.value_bytes { Some(x) => unsafe { & *(x.as_ptr() as *const u8 as *const NP_Pointer_Scalar) }, None => unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Scalar) } } }, _ => { // parent is scalar or struct unsafe { & *(ptr.add(self.buff_addr) as *const NP_Pointer_Scalar) } } } } } /// Get the value bytes of this cursor #[inline(always)] pub fn get_value_mut(&self, memory: &NP_Memory) -> &'cursor mut dyn NP_Pointer_Bytes { let ptr = memory.write_bytes().as_mut_ptr(); // if requesting root pointer or address is higher than buffer length if self.buff_addr == memory.root || self.buff_addr > memory.read_bytes().len() { unsafe { &mut *(ptr.add(memory.root) as *mut NP_Pointer_Scalar) } } else { match memory.get_schema(self.parent_schema_addr).i { NP_TypeKeys::List => { unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_List_Item) } }, NP_TypeKeys::Map => { unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Map_Item) } }, NP_TypeKeys::Tuple => { match &self.value_bytes { Some(x) => unsafe { &mut *(x.as_ptr() as *mut u8 as *mut NP_Pointer_Scalar) }, None => unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Scalar) } } }, _ => { // parent is scalar or struct unsafe { &mut *(ptr.add(self.buff_addr) as *mut NP_Pointer_Scalar) } } } } } /// Given a starting cursor, select into the buffer at a new location /// #[inline(always)] pub fn select(memory: &NP_Memory, cursor: NP_Cursor, make_path: bool, schema_query: bool, path: &[&str]) -> Result, NP_Error> { let mut loop_cursor = cursor; let mut path_index = 0usize; let mut loop_count = 0u16; loop { loop_count += 1; if path.len() == path_index { return Ok(Some(loop_cursor)); } if loop_count > 256 { return Err(NP_Error::RecursionLimit) } let schema = memory.get_schema(loop_cursor.schema_addr); // now select into collections match schema.i { NP_TypeKeys::Struct => { if let Some(next) = NP_Struct::select(loop_cursor, schema, path[path_index], make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, NP_TypeKeys::Tuple => { match path[path_index].parse::() { Ok(x) => { if let Some(next) = NP_Tuple::select(loop_cursor, schema, x, make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, Err(_e) => { return Err(NP_Error::new("Need a number to index into tuple, string found!")) } } }, NP_TypeKeys::List => { match path[path_index].parse::() { Ok(x) => { if let Some(next) = NP_List::select(loop_cursor, x, make_path, schema_query, memory)? { loop_cursor = opt_err(next.1)?; path_index += 1; } else { return Ok(None); } }, Err(_e) => { return Err(NP_Error::new("Need a number to index into list, string found!")) } } }, NP_TypeKeys::Map => { if let Some(next) = NP_Map::select(loop_cursor, path[path_index], make_path, schema_query, memory)? { loop_cursor = next; path_index += 1; } else { return Ok(None); } }, // NP_TypeKeys::Union { types, .. } => { // if let Some(next) = NP_Union::select(loop_cursor, types, path[path_index], make_path, schema_query, memory)? { // loop_cursor = next; // path_index += 1; // } else { // return Ok(None); // } // }, NP_TypeKeys::Portal => { let portal_data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; loop_cursor.schema_addr = portal_data.schema; loop_cursor.parent_schema_addr = portal_data.parent_schema; }, _ => { // we've reached a scalar value but not at the end of the path return Ok(None); } } } } /// Set the max value at this cursor pub fn set_max(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err( bool::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err( String::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err( NP_Bytes::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err( i8::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err( i16::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err( i32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err( i64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err( u8::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err( u16::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err( u32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err( u64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err( f32::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err( f64::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err( NP_Dec::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err( NP_Geo::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err( NP_Date::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err( NP_Enum::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err( NP_UUID::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err( NP_ULID::np_max_value(&cursor, memory))?)?; } , NP_TypeKeys::Struct => { let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Tuple => { let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_index, item)) = tuple.step_iter(memory, false) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::List => { let mut list = NP_List::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = list.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_max(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Map => { let mut map = NP_Map::new_iter(&cursor, memory); while let Some((_index, item_cursor)) = map.step_iter(memory) { NP_Cursor::set_max(item_cursor.clone(), memory)?; } }, _ => return Ok(false) }; Ok(true) } /// Set the min value at this cursor pub fn set_min(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err( bool::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err( String::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err( NP_Bytes::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err( i8::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err( i16::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err( i32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err( i64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err( u8::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err( u16::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err( u32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err( u64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err( f32::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err( f64::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err( NP_Dec::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err( NP_Geo::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err( NP_Date::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err( NP_Enum::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err( NP_UUID::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err( NP_ULID::np_min_value(&cursor, memory))?)?; } , NP_TypeKeys::Struct => { let mut struc = NP_Struct::new_iter(&cursor, memory); while let Some((_index, _key, item)) = struc.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Tuple => { let mut tuple = NP_Tuple::new_iter(&cursor, memory); while let Some((_index, item)) = tuple.step_iter(memory, false) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::List => { let mut list = NP_List::new_iter(&cursor, memory, true, 0); while let Some((_index, item)) = list.step_iter(memory) { if let Some(item_cursor) = item { NP_Cursor::set_min(item_cursor.clone(), memory)?; } } }, NP_TypeKeys::Map => { let mut map = NP_Map::new_iter(&cursor, memory); while let Some((_index, item_cursor)) = map.step_iter(memory) { NP_Cursor::set_min(item_cursor.clone(), memory)?; } }, _ => return Ok(false) }; Ok(true) } /// Exports this pointer and all it's descendants into a JSON object. /// This will create a copy of the underlying data and return default values where there isn't data. /// pub fn json_encode(depth: usize, cursor: &NP_Cursor, memory: &NP_Memory) -> NP_JSON { if depth > 255 { return NP_JSON::Null } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::None => { NP_JSON::Null }, NP_TypeKeys::Any => { NP_JSON::Null }, NP_TypeKeys::UTF8String => { String::to_json(depth, cursor, memory) }, NP_TypeKeys::Bytes => { NP_Bytes::to_json(depth, cursor, memory) }, NP_TypeKeys::Int8 => { i8::to_json(depth, cursor, memory) }, NP_TypeKeys::Int16 => { i16::to_json(depth, cursor, memory) }, NP_TypeKeys::Int32 => { i32::to_json(depth, cursor, memory) }, NP_TypeKeys::Int64 => { i64::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint8 => { u8::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint16 => { u16::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint32 => { u32::to_json(depth, cursor, memory) }, NP_TypeKeys::Uint64 => { u64::to_json(depth, cursor, memory) }, NP_TypeKeys::Float => { f32::to_json(depth, cursor, memory) }, NP_TypeKeys::Double => { f64::to_json(depth, cursor, memory) }, NP_TypeKeys::Decimal => { NP_Dec::to_json(depth, cursor, memory) }, NP_TypeKeys::Boolean => { bool::to_json(depth, cursor, memory) }, NP_TypeKeys::Geo => { NP_Geo::to_json(depth, cursor, memory) }, NP_TypeKeys::Uuid => { NP_UUID::to_json(depth, cursor, memory) }, NP_TypeKeys::Ulid => { NP_ULID::to_json(depth, cursor, memory) }, NP_TypeKeys::Date => { NP_Date::to_json(depth, cursor, memory) }, NP_TypeKeys::Enum => { NP_Enum::to_json(depth, cursor, memory) }, NP_TypeKeys::Struct => { NP_Struct::to_json(depth, cursor, memory) }, NP_TypeKeys::Map => { NP_Map::to_json(depth, cursor, memory) }, NP_TypeKeys::List => { NP_List::to_json(depth, cursor, memory) }, NP_TypeKeys::Tuple => { NP_Tuple::to_json(depth, cursor, memory) }, NP_TypeKeys::Portal => { NP_Portal::to_json(depth, cursor, memory) }, // NP_TypeKeys::Union => { NP_Union::to_json(depth, cursor, memory) }, } } /// Compact from old cursor and memory into new cursor and memory /// pub fn compact(depth: usize, from_cursor: NP_Cursor, from_memory: &NP_Memory, to_cursor: NP_Cursor, to_memory: &NP_Memory) -> Result { if depth > 255 { return Err(NP_Error::RecursionLimit)} match from_memory.get_schema(from_cursor.schema_addr).i { NP_TypeKeys::Any => { Ok(to_cursor) } NP_TypeKeys::UTF8String => { String::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Bytes => { NP_Bytes::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int8 => { i8::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int16 => { i16::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int32 => { i32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Int64 => { i64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint8 => { u8::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint16 => { u16::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint32 => { u32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uint64 => { u64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Float => { f32::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Double => { f64::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Decimal => { NP_Dec::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Boolean => { bool::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Geo => { NP_Geo::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Uuid => { NP_UUID::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Ulid => { NP_ULID::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Date => { NP_Date::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Enum => { NP_Enum::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Struct => { NP_Struct::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Map => { NP_Map::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::List => { NP_List::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Tuple => { NP_Tuple::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } NP_TypeKeys::Portal => { NP_Portal::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } // NP_TypeKeys::Union => { NP_Union::do_compact(depth, from_cursor, from_memory, to_cursor, to_memory) } _ => { Err(NP_Error::Unreachable) } } } /// Set default for this value. Not related to the schema default, this is the default value for this data type /// pub fn set_schema_default(cursor: NP_Cursor, memory: &NP_Memory) -> Result<(), NP_Error> { let schema = memory.get_schema(cursor.schema_addr); match schema.i { NP_TypeKeys::None => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Any => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Struct => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Map => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::List => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Tuple => { return Err(NP_Error::Unreachable); }, NP_TypeKeys::Portal => { return Err(NP_Error::new("Portal type does not have a default type")); }, // NP_TypeKeys::Union => { return Err(NP_Error::new("Union type does not have a default type")); }, NP_TypeKeys::UTF8String => { String::set_value(cursor, memory, opt_err(String::schema_default(schema))?)?; }, NP_TypeKeys::Bytes => { NP_Bytes::set_value(cursor, memory, opt_err(NP_Bytes::schema_default(schema))?)?; }, NP_TypeKeys::Int8 => { i8::set_value(cursor, memory, opt_err(i8::schema_default(schema))?)?; }, NP_TypeKeys::Int16 => { i16::set_value(cursor, memory, opt_err(i16::schema_default(schema))?)?; }, NP_TypeKeys::Int32 => { i32::set_value(cursor, memory, opt_err(i32::schema_default(schema))?)?; }, NP_TypeKeys::Int64 => { i64::set_value(cursor, memory, opt_err(i64::schema_default(schema))?)?; }, NP_TypeKeys::Uint8 => { u8::set_value(cursor, memory, opt_err(u8::schema_default(schema))?)?; }, NP_TypeKeys::Uint16 => { u16::set_value(cursor, memory, opt_err(u16::schema_default(schema))?)?; }, NP_TypeKeys::Uint32 => { u32::set_value(cursor, memory, opt_err(u32::schema_default(schema))?)?; }, NP_TypeKeys::Uint64 => { u64::set_value(cursor, memory, opt_err(u64::schema_default(schema))?)?; }, NP_TypeKeys::Float => { f32::set_value(cursor, memory, opt_err(f32::schema_default(schema))?)?; }, NP_TypeKeys::Double => { f64::set_value(cursor, memory, opt_err(f64::schema_default(schema))?)?; }, NP_TypeKeys::Decimal => { NP_Dec::set_value(cursor, memory, opt_err(NP_Dec::schema_default(schema))?)?; }, NP_TypeKeys::Boolean => { bool::set_value(cursor, memory, opt_err(bool::schema_default(schema))?)?; }, NP_TypeKeys::Geo => { NP_Geo::set_value(cursor, memory, opt_err(NP_Geo::schema_default(schema))?)?; }, NP_TypeKeys::Uuid => { NP_UUID::set_value(cursor, memory, opt_err(NP_UUID::schema_default(schema))?)?; }, NP_TypeKeys::Ulid => { NP_ULID::set_value(cursor, memory, opt_err(NP_ULID::schema_default(schema))?)?; }, NP_TypeKeys::Date => { NP_Date::set_value(cursor, memory, opt_err(NP_Date::schema_default(schema))?)?; }, NP_TypeKeys::Enum => { NP_Enum::set_value(cursor, memory, opt_err(NP_Enum::schema_default(schema))?)?; } } Ok(()) } /// Set a JSON value into the buffer pub fn set_from_json(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &NP_Memory, json: &Box) -> Result<(), NP_Error> { if depth > 255 { return Err(NP_Error::RecursionLimit) } // if apply_null is true, we should delete values where we find "null" or "undefined" // if apply_null && **json == NP_JSON::Null { // NP_Cursor::delete(cursor, memory)?; // return Ok(()) // } if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 1; } match memory.get_schema(cursor.schema_addr).i { NP_TypeKeys::None => { Ok(()) }, NP_TypeKeys::Any => { Ok(()) }, NP_TypeKeys::UTF8String => { String::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Bytes => { NP_Bytes::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int8 => { i8::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int16 => { i16::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int32 => { i32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Int64 => { i64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint8 => { u8::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint16 => { u16::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint32 => { u32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uint64 => { u64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Float => { f32::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Double => { f64::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Decimal => { NP_Dec::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Boolean => { bool::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Geo => { NP_Geo::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Uuid => { NP_UUID::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Ulid => { NP_ULID::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Date => { NP_Date::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Enum => { NP_Enum::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Struct => { NP_Struct::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Map => { NP_Map::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::List => { NP_List::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Tuple => { NP_Tuple::set_from_json(depth, apply_null, cursor, memory, json) }, NP_TypeKeys::Portal => { NP_Portal::set_from_json(depth, apply_null, cursor, memory, json) }, // NP_TypeKeys::Union => { NP_Union::set_from_json(depth, apply_null, cursor, memory, json) }, } } /// Delete the value at this cursor /// /// Returns `true` if something was deleted, `false` otherwise. /// pub fn delete(cursor: NP_Cursor, memory: &NP_Memory) -> Result { if cursor.buff_addr == 0 { return Ok(false) } if cursor.parent_type == NP_Cursor_Parent::Tuple { memory.write_bytes()[cursor.buff_addr - 1] = 0; NP_Cursor::set_schema_default(cursor, memory)? } else { cursor.get_value_mut(memory).set_addr_value(0); } Ok(true) } /// Calculate the number of bytes used by this pointer and it's descendants. /// pub fn calc_size(depth: usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { if depth > 255 { return Err(NP_Error::new("Depth error!")) } let value = cursor.get_value(memory); let type_key = memory.get_schema(cursor.schema_addr).i; // size of pointer let base_size = if type_key == NP_TypeKeys::Portal { 0 } else { value.get_size() }; // pointer is in buffer but has no value set if value.get_addr_value() == 0 { // no value, just base size return Ok(base_size); } // get the size of the value based on schema let type_size = match type_key { NP_TypeKeys::None => { Ok(0) }, NP_TypeKeys::Any => { Ok(0) }, NP_TypeKeys::UTF8String => { String::get_size(depth, cursor, memory) }, NP_TypeKeys::Bytes => { NP_Bytes::get_size(depth, cursor, memory) }, NP_TypeKeys::Int8 => { i8::get_size(depth, cursor, memory) }, NP_TypeKeys::Int16 => { i16::get_size(depth, cursor, memory) }, NP_TypeKeys::Int32 => { i32::get_size(depth, cursor, memory) }, NP_TypeKeys::Int64 => { i64::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint8 => { u8::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint16 => { u16::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint32 => { u32::get_size(depth, cursor, memory) }, NP_TypeKeys::Uint64 => { u64::get_size(depth, cursor, memory) }, NP_TypeKeys::Float => { f32::get_size(depth, cursor, memory) }, NP_TypeKeys::Double => { f64::get_size(depth, cursor, memory) }, NP_TypeKeys::Decimal => { NP_Dec::get_size(depth, cursor, memory) }, NP_TypeKeys::Boolean => { bool::get_size(depth, cursor, memory) }, NP_TypeKeys::Geo => { NP_Geo::get_size(depth, cursor, memory) }, NP_TypeKeys::Uuid => { NP_UUID::get_size(depth, cursor, memory) }, NP_TypeKeys::Ulid => { NP_ULID::get_size(depth, cursor, memory) }, NP_TypeKeys::Date => { NP_Date::get_size(depth, cursor, memory) }, NP_TypeKeys::Enum => { NP_Enum::get_size(depth, cursor, memory) }, NP_TypeKeys::Struct => { NP_Struct::get_size(depth, cursor, memory) }, NP_TypeKeys::Map => { NP_Map::get_size(depth, cursor, memory) }, NP_TypeKeys::List => { NP_List::get_size(depth, cursor, memory) }, NP_TypeKeys::Tuple => { NP_Tuple::get_size(depth, cursor, memory) }, NP_TypeKeys::Portal => { NP_Portal::get_size(depth, cursor, memory) }, // NP_TypeKeys::Union => { NP_Union::get_size(depth, cursor, memory) }, }?; Ok(type_size + base_size) } } /// This trait is used to restrict which types can be set/get in the buffer pub trait NP_Scalar<'scalar> { /// Get the default for the schema type /// Does NOT get the `default` property of the schema, but generates a default value based on the schema settings fn schema_default(_schema: &'scalar NP_Parsed_Schema) -> Option where Self: Sized; /// Get the max value for this data type fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option where Self: Sized; /// Get the min value for this data type fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option where Self: Sized; } /// This trait is used to implement types as NoProto buffer types. /// This includes all the type data, encoding and decoding methods. #[doc(hidden)] pub trait NP_Value<'value> { /// Get the type information for this type (static) /// fn type_idx() -> (&'value str, NP_TypeKeys); /// Get the type information for this type (instance) /// fn self_type_idx(&self) -> (&'value str, NP_TypeKeys); /// Convert the schema byte array for this type into JSON /// fn schema_to_json(schema: &Vec, address: usize)-> Result; /// Export schema to IDL /// fn schema_to_idl(schema: &Vec, address: usize)-> Result; /// Parse JSON schema into schema /// fn from_idl_to_schema(schema: Vec, name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error>; /// Parse JSON schema into schema /// fn from_json_to_schema(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error>; /// Parse bytes into schema /// fn from_bytes_to_schema(schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec); /// Set the value of this scalar into the buffer /// fn set_value<'set>(_cursor: NP_Cursor, _memory: &'set NP_Memory, _value: Self) -> Result where Self: 'set + Sized { let message = "This type doesn't support set_value!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Set value from JSON /// fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized; /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let message = "This type doesn't support into!".to_owned(); Err(NP_Error::new(message.as_str())) } /// Get the default value from the schema /// fn default_value(depth: usize, scham_addr: usize, schema: &'value Vec) -> Option where Self: Sized; /// Convert this type into a JSON value (recursive for collections) /// fn to_json(depth: usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON; /// Calculate the size of this pointer and it's children (recursive for collections) /// fn get_size(depth: usize, cursor: &'value NP_Cursor, memory: &'value NP_Memory) -> Result; /// Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections) /// fn do_compact(_depth: usize, from_cursor: NP_Cursor, from_memory: &'value NP_Memory, to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { match Self::into_value(&from_cursor, from_memory)? { Some(x) => { return Self::set_value(to_cursor, to_memory, x); }, None => { } } Ok(to_cursor) } } /* // unsigned integer size: 0 to (2^i) -1 // signed integer size: -2^(i-1) to 2^(i-1) */ ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/numbers.rs ================================================ //! NoProto supports a large number of native number types. //! //! Signed Integers:
//! [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
//!
//! Unsigned Integers:
//! [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
//!
//! Floating Point:
//! [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) //!
//! //! The details of using each number type is identical to the pattern below. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("u32()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], 20380u32)?; //! //! assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! use crate::schema::NULL; use crate::schema::{NP_i8_Data, NP_i16_Data, NP_i32_Data, NP_i64_Data, NP_u8_Data, NP_u16_Data, NP_u32_Data, NP_u64_Data, NP_f32_Data, NP_f64_Data}; use alloc::sync::Arc; use crate::schema::NP_Value_Kind; use core::{str::FromStr}; use crate::pointer::JS_AST; use crate::JS_Schema; use alloc::string::String; use alloc::prelude::v1::Box; use crate::schema::NP_Parsed_Schema; use alloc::vec::Vec; use crate::utils::to_unsigned; use crate::utils::to_signed; use crate::error::NP_Error; use crate::{schema::NP_TypeKeys, pointer::NP_Value, json_flex::NP_JSON, json_flex::JSMAP}; use alloc::string::ToString; use alloc::{borrow::ToOwned}; use super::{NP_Cursor}; use crate::NP_Memory; /// The type of number being used #[derive(Debug)] #[doc(hidden)] pub enum NP_NumType { /// Unsigned integer type (only positive whole numbers) unsigned, /// Signed integer type (positive or negative whole numbers) signed, /// Decimal point numbers floating } macro_rules! noproto_number { ($t:ty, $str1: tt, $str2: tt, $tkey: expr, $numType: expr) => { impl<'value> super::NP_Scalar<'value> for $t { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MAX) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(<$t>::MIN) } } impl<'value> NP_Value<'value> for $t { fn type_idx() -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ($str1, $tkey) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match **value { NP_JSON::Integer(int) => { Self::set_value(cursor, memory, int as $t)?; }, NP_JSON::Float(float) => { Self::set_value(cursor, memory, float as $t)?; }, _ => {} } Ok(()) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); if let Some(default) = <$t>::np_get_default(address, &schema) { let default_val = default; match $numType { NP_NumType::signed => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::unsigned => { schema_json.insert("default".to_owned(), NP_JSON::Integer(default_val as i64)); }, NP_NumType::floating => { schema_json.insert("default".to_owned(), NP_JSON::Float(default_val as f64)); } }; } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from($str2); if let Some(default) = <$t>::np_get_default(address, &schema) { result.push_str("({default: "); result.push_str(default.to_string().as_str()); result.push_str("})"); } else { result.push_str("()"); } Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut default: Option<$t> = None; let mut default_str: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "default" => { match value { JS_AST::number { addr } => { let trimmed = idl.get_str(addr).trim(); match trimmed.parse::<$t>() { Ok(x) => { default_str = Some(String::from(trimmed)); default = Some(x); }, Err(_e) => { } } }, _ => { } } }, _ => { } } } }, _ => { } } } let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); if let Some(x) = default { schema_data.push(1); schema_data.extend_from_slice(&(x as $t).to_be_bytes()); } else { schema_data.push(0); } let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_unwrap_default(default_str) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_unwrap_default(default_str) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn default_value<'default>(_depth: usize, addr: usize, schema: &'default Vec) -> Option { <$t>::np_get_default(addr, &schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } return Ok(cursor); } else { // new value let mut bytes = value.to_be_bytes(); match $numType { NP_NumType::signed => { bytes[0] = to_unsigned(bytes[0]); }, _ => {} }; value_address = memory.malloc_borrow(&bytes)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); return Ok(cursor); } } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let read_memory = memory.read_bytes(); let mut be_bytes = <$t>::default().to_be_bytes(); for x in 0..be_bytes.len() { be_bytes[x] = read_memory[value_addr + x]; } match $numType { NP_NumType::signed => { be_bytes[0] = to_signed(be_bytes[0]); }, _ => {} }; Ok(Some(<$t>::from_be_bytes(be_bytes))) } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match $numType { NP_NumType::floating => NP_JSON::Float(y as f64), _ => NP_JSON::Integer(y as i64) } }, None => { match <$t>::default_value(0, cursor.schema_addr, &memory.get_schemas()) { Some(v) => { match $numType { NP_NumType::floating => { NP_JSON::Float(v as f64) }, _ => { NP_JSON::Integer(v as i64) } } }, None => NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push($tkey as u8); match json_schema["default"] { NP_JSON::Float(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, NP_JSON::Integer(x) => { schema_data.push(1); schema_data.extend((x as $t).to_be_bytes().to_vec()); }, _ => { schema_data.push(0); } }; let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_json(&json_schema["default"]) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let use_schema = NP_Parsed_Schema { i: $tkey, val: NP_Value_Kind::Fixed(core::mem::size_of::() as u32), sortable: match $numType { NP_NumType::floating => false, _ => true, }, data: Arc::new(match $tkey { NP_TypeKeys::Int8 => { Box::into_raw(Box::new(NP_i8_Data { default: i8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int16 => { Box::into_raw(Box::new(NP_i16_Data { default: i16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int32 => { Box::into_raw(Box::new(NP_i32_Data { default: i32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Int64 => { Box::into_raw(Box::new(NP_i64_Data { default: i64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint8 => { Box::into_raw(Box::new(NP_u8_Data { default: u8::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint16 => { Box::into_raw(Box::new(NP_u16_Data { default: u16::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint32 => { Box::into_raw(Box::new(NP_u32_Data { default: u32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Uint64 => { Box::into_raw(Box::new(NP_u64_Data { default: u64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Float => { Box::into_raw(Box::new(NP_f32_Data { default: f32::np_get_default_from_bytes(address, bytes) })) as *const u8 }, NP_TypeKeys::Double => { Box::into_raw(Box::new(NP_f64_Data { default: f64::np_get_default_from_bytes(address, bytes) })) as *const u8 }, _ => { NULL() } }) }; schema.push(use_schema); (schema[schema.len() - 1].sortable, schema) } } } } // signed integers noproto_number!(i8, "int8", "i8", NP_TypeKeys::Int8 , NP_NumType::signed); noproto_number!(i16, "int16", "i16", NP_TypeKeys::Int16 , NP_NumType::signed); noproto_number!(i32, "int32", "i32", NP_TypeKeys::Int32 , NP_NumType::signed); noproto_number!(i64, "int64", "i64", NP_TypeKeys::Int64 , NP_NumType::signed); // unsigned integers noproto_number!(u8, "uint8", "u8", NP_TypeKeys::Uint8 , NP_NumType::unsigned); noproto_number!(u16, "uint16", "u16", NP_TypeKeys::Uint16, NP_NumType::unsigned); noproto_number!(u32, "uint32", "u32", NP_TypeKeys::Uint32, NP_NumType::unsigned); noproto_number!(u64, "uint64", "u64", NP_TypeKeys::Uint64, NP_NumType::unsigned); // floating point noproto_number!(f32, "float", "f32", NP_TypeKeys::Float , NP_NumType::floating); noproto_number!(f64, "double", "f64", NP_TypeKeys::Double, NP_NumType::floating); trait NP_BigEndian { fn np_get_default_from_json(json: &NP_JSON) -> Option where Self: Sized; fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option where Self: Sized; fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized; fn np_unwrap_default(value: Option) -> Option where Self: Sized + FromStr { if let Some(x) = value { if let Ok(y) = x.parse::() { Some(y) } else { None } } else { None } } } impl NP_BigEndian for i8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(i8::from_be_bytes(slice)) } } } #[test] fn i8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "i8({default: -98})"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = "i8()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn i8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int8\",\"default\":56}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 56i8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 56i8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(i16::from_be_bytes(slice)) } } } #[test] fn i16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(i32::from_be_bytes(slice)) } } } #[test] fn i32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); Ok(()) } #[test] fn i32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"i32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for i64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_i64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(i64::from_be_bytes(slice)) } } } #[test] fn i64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn i64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"int64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293i64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293i64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u8 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u8_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 1] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 3)]); Some(u8::from_be_bytes(slice)) } } } #[test] fn u8_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u8_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\",\"default\":198}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); Ok(()) } #[test] fn u8_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint8\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 198u8)?; assert_eq!(buffer.get::(&[])?.unwrap(), 198u8); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u16 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u16_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 2] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 4)]); Some(u16::from_be_bytes(slice)) } } } #[test] fn u16_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint16\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint16\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u16_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); Ok(()) } #[test] fn u16_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u16\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u16)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u16); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(u32::from_be_bytes(slice)) } } } #[test] fn u32_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint32\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint32\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u32_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); Ok(()) } #[test] fn u32_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u32\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for u64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_u64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(u64::from_be_bytes(slice)) } } } #[test] fn u64_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uint64\",\"default\":20}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"uint64\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn u64_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\",\"default\":293}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); Ok(()) } #[test] fn u64_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"u64\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 293u64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 293u64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f32 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f32_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 4] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 6)]); Some(f32::from_be_bytes(slice)) } } } #[test] fn float_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn float_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); Ok(()) } #[test] fn float_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"float\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f32)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f32); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } impl NP_BigEndian for f64 { fn np_get_default<'default>(schema_addr: usize, ptr: &'default Vec) -> Option where Self: Sized { let data = unsafe { &*(*ptr[schema_addr].data as *const NP_f64_Data) }; data.default } fn np_get_default_from_json(json: &NP_JSON) -> Option { match json { NP_JSON::Float(x) => { Some(*x as Self) }, NP_JSON::Integer(x) => { Some(*x as Self) }, _ => { None } } } fn np_get_default_from_bytes<'default>(address: usize, bytes: &'default [u8]) -> Option { if bytes[address + 1] == 0 { None } else { let mut slice: [u8; 8] = Default::default(); slice.copy_from_slice(&bytes[(address + 2)..(address + 10)]); Some(f64::from_be_bytes(slice)) } } } #[test] fn double_schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":20.183000564575195}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn double_default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\",\"default\":2983.2938}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); Ok(()) } #[test] fn double_set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"double\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], 2983.2938f64)?; assert_eq!(buffer.get::(&[])?.unwrap(), 2983.2938f64); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/option.rs ================================================ //! Represents the string value of a choice in a schema //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::option::NP_Enum; //! //! let factory: NP_Factory = NP_Factory::new(r#"enum({choices: ["red", "green", "blue"] })"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], NP_Enum::new("green"))?; //! //! assert_eq!(NP_Enum::new("green"), new_buffer.get::(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{JS_Schema, idl::JS_AST, schema::{NP_Enum_Data, NP_Value_Kind}}; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use core::{fmt::{Debug}}; use alloc::string::String; use alloc::boxed::Box; use alloc::borrow::ToOwned; use alloc::{string::ToString}; use super::{NP_Cursor}; /// Holds Enum / Option type data. /// /// Check out documentation [here](../option/index.html). /// #[derive(Clone, Debug, Eq, PartialEq)] pub enum NP_Enum { /// No value None, /// Value Some(String) } impl<'value> super::NP_Scalar<'value> for NP_Enum { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[data.choices.len() - 1].clone()) } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Some(data.choices[0].clone()) } } impl NP_Enum { /// Create a new option type with the given string pub fn new>(value: S) -> Self { NP_Enum::Some(value.into()) } /// get length of value pub fn len(&self) -> usize { match self { NP_Enum::None => 0, NP_Enum::Some(x) => x.len() } } /// get value as bytes pub fn as_bytes(&self) -> &[u8] { match self { NP_Enum::None => &[], NP_Enum::Some(x) => x.as_bytes() } } /// get string of value pub fn to_str(&self) -> &str { match self { NP_Enum::None => "", NP_Enum::Some(x) => x } } /// get string of value pub fn to_string(&self) -> String { match self { NP_Enum::None => String::from(""), NP_Enum::Some(x) => x.clone() } } } impl Default for NP_Enum { fn default() -> Self { NP_Enum::None } } impl<'value> NP_Value<'value> for NP_Enum { fn type_idx() -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("option", NP_TypeKeys::Enum) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; let options: Vec = data.choices.iter().map(|value| { NP_JSON::String(value.to_string()) }).collect(); if let Some(d) = &data.default { if let NP_Enum::Some(x) = &d { schema_json.insert("default".to_owned(), NP_JSON::String(x.to_string())); } } schema_json.insert("choices".to_owned(), NP_JSON::Array(options)); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(x) => { Self::set_value(cursor, memory, Self::new(x.clone()))?; }, _ => { } } Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; let mut value_num: i32 = -1; { let mut ct: u16 = 0; for opt in &data.choices { if opt == &value { value_num = ct as i32; } ct += 1; }; if value_num == -1 { return Err(NP_Error::new("Option not found, cannot set uknown option!")); } } let bytes = value_num as u8; let mut addr_value = c_value().get_addr_value() as usize; if addr_value != 0 { // existing value, replace let write_bytes = memory.write_bytes(); write_bytes[addr_value] = bytes; return Ok(cursor); } else { // new value addr_value = memory.malloc_borrow(&[bytes])?; cursor.get_value_mut(memory).set_addr_value(addr_value as u32); return Ok(cursor); } } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let mut result = String::from("enum({"); let data = unsafe { &*(*schema[address].data as *const NP_Enum_Data) }; if let Some(x) = &data.default { if let NP_Enum::Some(stri) = x { result.push_str("default: \""); result.push_str(&stri); result.push_str("\", "); } } result.push_str("choices: ["); let last_choice = data.choices.len() - 1; for (idx, choice) in data.choices.iter().enumerate() { result.push_str("\""); if let NP_Enum::Some(stri) = choice { result.push_str(stri.as_str()); } result.push_str("\""); if idx < last_choice { result.push_str(", "); } } result.push_str("]"); result.push_str("})"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; let mut default_value: Option = None; let mut default_index: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "default" => { match value { JS_AST::string { addr } => { default_stir = Some(String::from(idl.get_str(addr))); }, _ => { } } }, "choices" => { match value { JS_AST::array { values } => { for choice in values { match choice { JS_AST::string { addr } => { let stir = idl.get_str(addr); if stir.len() > 255 { return Err(NP_Error::new("'enum' choices cannot be longer than 255 characters each!")) } choices.push(NP_Enum::new(String::from(stir))); }, _ => { } } } }, _ => { } } }, _ => { } } } }, _ => { } } } if choices.len() > 254 { return Err(NP_Error::new("Enum types cannot have more than 254 choices!")) } else if choices.len() == 0 { return Err(NP_Error::new("Enum types must have at least one choice!")) } if let Some(x) = &default_stir { for (idx, choice) in choices.iter().enumerate() { if x == choice.to_str() { default_value = Some(choice.clone()); default_index = Some(idx as u8); } } } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices, default: default_value})) as *const u8) }); return Ok((true, schema_data, schema)); } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; Ok(match memory.get_1_byte(value_addr) { Some(x) => { let value_num = x as usize; if value_num > data.choices.len() { None } else { Some(data.choices[value_num].clone()) } }, None => None }) } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_Enum_Data) }; if let Some(d) = &data.default { Some(d.clone()) } else { None } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { match y { NP_Enum::Some(str_value) => { NP_JSON::String(str_value.to_string()) }, NP_Enum::None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(val) => { NP_JSON::String(val.clone()) }, NP_Enum::None => { NP_JSON::Null } } } else { NP_JSON::Null } } } }, None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Enum_Data) }; if let Some(d) = &data.default { match d { NP_Enum::Some(x) => NP_JSON::String(x.clone()), NP_Enum::None => NP_JSON::Null } } else { NP_JSON::Null } } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_address = c_value().get_addr_value() as usize; if value_address == 0 { return Ok(0) } else { Ok(core::mem::size_of::()) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::Enum as u8); let mut choices: Vec = Vec::new(); let mut default_stir: Option = None; match &json_schema["default"] { NP_JSON::String(def) => { default_stir = Some(def.clone()); }, _ => {} } let mut default_value: Option = None; let mut default_index: Option = None; match &json_schema["choices"] { NP_JSON::Array(x) => { for opt in x { match opt { NP_JSON::String(stir) => { if stir.len() > 255 { return Err(NP_Error::new("'option' choices cannot be longer than 255 characters each!")) } if let Some(def) = &default_stir { if def == stir { default_value = Some(NP_Enum::new(def.clone())); default_index = Some(choices.len() as u8); } } choices.push(NP_Enum::new(stir.clone())); }, _ => {} } } }, _ => { return Err(NP_Error::new("'option' type requires a 'choices' key with an array of strings!")) } } if choices.len() > 254 { return Err(NP_Error::new("'option' type cannot have more than 254 choices!")) } // default value match &default_index { Some(x) => schema_data.push(*x + 1), None => schema_data.push(0) } // choices schema_data.push(choices.len() as u8); for choice in &choices { schema_data.push(choice.len() as u8); schema_data.extend(choice.as_bytes().to_vec()) } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); return Ok((true, schema_data, schema)); } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let mut default_index: Option = None; let mut default_value: Option = None; if bytes[address + 1] > 0 { default_index = Some(bytes[address + 1] - 1); } let choices_len = bytes[address + 2]; let mut choices: Vec = Vec::new(); let mut offset: usize = address + 3; for x in 0..choices_len { let choice_size = bytes[offset] as usize; let choice_bytes = &bytes[(offset + 1)..(offset + 1 + choice_size)]; let choice_string = unsafe { core::str::from_utf8_unchecked(choice_bytes) }; choices.push(NP_Enum::new(choice_string.to_string())); offset += 1 + choice_size; if let Some(def) = default_index { if def == x { default_value = Some(NP_Enum::new(choice_string.to_string())); } } } schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(1), i: NP_TypeKeys::Enum, sortable: true, data: Arc::new(Box::into_raw(Box::new(NP_Enum_Data { choices: choices, default: default_value })) as *const u8) }); (true, schema) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"enum({default: "hello", choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); let schema = r#"enum({choices: ["hello", "world"]})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"default\":\"hello\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::(&[])?.unwrap(), NP_Enum::new("hello")); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"option\",\"choices\":[\"hello\",\"world\"]}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], NP_Enum::new("hello"))?; assert_eq!(buffer.get::(&[])?, Some(NP_Enum::new("hello"))); buffer.del(&[])?; assert_eq!(buffer.get::(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/portal.rs ================================================ //! Clone type for recursion or duplicating data types. //! //! Portal types allow you to teleport a type from one part of a schema to another. //! //! This is useful for recursive types or if you'd like one type to be duplicated into multiple fields. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! // use portal to duplicate type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! point1: struct({fields: { x: i32(), y: i32() }}), //! point2: portal({ to: "point1" }) // point2 is a "clone" of point1 //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["point1", "x"], 200i32)?; //! new_buffer.set(&["point1", "y"], 100i32)?; //! //! // point2 can be treated just like point1 //! new_buffer.set(&["point2", "x"], 250i32)?; //! new_buffer.set(&["point2", "y"], 150i32)?; //! //! assert_eq!(new_buffer.get::(&["point1", "x"])?, Some(200i32)); //! assert_eq!(new_buffer.get::(&["point1", "y"])?, Some(100i32)); //! //! assert_eq!(new_buffer.get::(&["point2", "x"])?, Some(250i32)); //! assert_eq!(new_buffer.get::(&["point2", "y"])?, Some(150i32)); //! //! // use portal for recursive type //! let factory: NP_Factory = NP_Factory::new(r#"struct({fields: { //! node: u32(), //! child: portal({ to: "" }) // child is a clone of the root object //! }})"#)?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&["node"], 1u32)?; //! new_buffer.set(&["child", "node"], 2u32)?; //! new_buffer.set(&["child", "child", "node"], 3u32)?; //! new_buffer.set(&["child", "child", "child", "node"], 4u32)?; //! //! assert_eq!(Some(1u32), new_buffer.get(&["node"])?); //! assert_eq!(Some(2u32), new_buffer.get(&["child", "node"])?); //! assert_eq!(Some(3u32), new_buffer.get(&["child", "child", "node"])?); //! assert_eq!(Some(4u32), new_buffer.get(&["child", "child", "child", "node"])?); //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Portal_Data, NP_Value_Kind}}; use alloc::{sync::Arc, vec::Vec}; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor}; /// Defines the behavior of the portal data type pub struct NP_Portal(); impl<'value> NP_Value<'value> for NP_Portal { fn type_idx() -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("portal", NP_TypeKeys::Portal) } fn schema_to_json(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); schema_json.insert( "to".to_owned(), NP_JSON::String(data.path.clone()) ); Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let data = unsafe { &*(*schema[address].data as *const NP_Portal_Data) }; let mut result = String::from("portal({to: \""); result.push_str(data.path.as_str()); result.push_str("\"});"); Ok(result) } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut to: Option = None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties { match idl.get_str(key).trim() { "to" => { match value { JS_AST::string { addr } => { to = Some(String::from(idl.get_str(addr).trim())); }, _ => { } } }, _ => { } } } }, _ => { } } } if let Some(path) = to { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); Ok((false, schema_vec, schema)) } else { Err(NP_Error::new("Portal types require a 'to' parameter!")) } } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_vec: Vec = Vec::new(); schema_vec.push(NP_TypeKeys::Portal as u8); match &json_schema["to"] { NP_JSON::String(path) => { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: 0, parent_schema: 0 })) as *const u8) }); let path_bytes = path.as_bytes(); schema_vec.extend(&(path_bytes.len() as u16).to_be_bytes()[..]); schema_vec.extend(path_bytes); }, _ => return Err(NP_Error::new("Portal types require a 'to' parameter!")) } Ok((false, schema_vec, schema)) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let path_size: [u8; 2] = unsafe { *((&bytes[(address+1)..(address+3)]) as *const [u8] as *const [u8; 2]) }; let path_size = u16::from_be_bytes(path_size) as usize; let path = &bytes[(address+3)..(address+3+path_size)]; let path_str = unsafe { core::str::from_utf8_unchecked(path) }; schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: String::from(path_str), schema: 0, parent_schema: 0 })) as *const u8) }); (false, schema) } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { None } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::json_encode(depth + 1, &next, memory) } fn set_from_json<'set>(depth: usize, apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::set_from_json(depth + 1, apply_null, next, memory, value) } fn get_size(depth:usize, cursor: &'value NP_Cursor, memory: &'value NP_Memory) -> Result { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_Portal_Data) }; let mut next = cursor.clone(); next.schema_addr = data.schema; next.parent_schema_addr = data.parent_schema; NP_Cursor::calc_size(depth + 1, &next, memory) } fn do_compact(depth:usize, mut from_cursor: NP_Cursor, from_memory: &'value NP_Memory, mut to_cursor: NP_Cursor, to_memory: &'value NP_Memory) -> Result where Self: 'value + Sized { let data = unsafe { &*(*from_memory.get_schema(from_cursor.schema_addr).data as *const NP_Portal_Data) }; from_cursor.schema_addr = data.schema; from_cursor.parent_schema_addr = data.parent_schema; to_cursor.schema_addr = data.schema; to_cursor.parent_schema_addr = data.parent_schema; NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"portal\",\"to\":\"\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn infinite_recursion() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": "nested"}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); match buffer.set(&["nested","nested", "nested"], "hello infinite") { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } match buffer.get::<&str>(&["nested","nested", "nested"]) { Ok(_done) => { panic!() }, Err(_e) => { // should hit select overflow, if it doesn't we have a problem } } Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = r#"{ "type": "struct", "fields": [ ["street", {"type": "string"}], ["city" , {"type": "string"}], ["nested", {"type": "portal", "to": ""}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["nested", "street"], "hello street")?; buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); buffer.del(&["nested", "street"])?; buffer.compact(None)?; assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // testing set with JSON buffer.set_with_json(&[], r#"{"value":{"street": "foo", "nested": {"street": "foo2"}}}"#)?; assert_eq!(Some("foo"), buffer.get::<&str>(&["street"])?); assert_eq!(Some("foo2"), buffer.get::<&str>(&["nested", "street"])?); let schema = r#"{ "type": "struct", "fields": [ ["username", {"type": "string"}], ["email" , {"type": "string"}], ["address", {"type": "struct", "fields": [ ["street", {"type": "string"}], ["city", {"type": "string"}], ["more", {"type": "portal", "to": "address"}] ]}] ] }"#; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/string.rs ================================================ //! NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! //! let factory: NP_Factory = NP_Factory::new("string()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! new_buffer.set(&[], "I want to play a game")?; //! //! assert_eq!("I want to play a game", new_buffer.get::<&str>(&[])?.unwrap()); //! //! # Ok::<(), NP_Error>(()) //! ``` use alloc::sync::Arc; use alloc::string::String; use alloc::prelude::v1::Box; use crate::{error::NP_Error, idl::{JS_AST, JS_Schema}, schema::{NP_String_Data, NP_Value_Kind, String_Case}}; use crate::{ json_flex::JSMAP, memory::NP_Memory, schema::{NP_Parsed_Schema}, }; use crate::{json_flex::NP_JSON, pointer::NP_Value, schema::NP_TypeKeys}; use alloc::vec::Vec; use super::{NP_Cursor, NP_Scalar}; use alloc::borrow::ToOwned; use core::str; use alloc::string::ToString; /// &str type alias pub type NP_String<'string> = &'string str; // impl<'value> NP_Scalar<'value> for &'value str { // fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { // None // } // } impl<'value> NP_Scalar<'value> for String { fn schema_default(schema: &NP_Parsed_Schema) -> Option where Self: Sized { let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let size = data.size; Some(if size > 0 { let mut v: String = String::with_capacity(size as usize); for _x in 0..size { v.push(' '); } v } else { String::from("") }) } fn np_max_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[128])}); } Some(value) } } fn np_min_value(cursor: &NP_Cursor, memory: &NP_Memory) -> Option { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let size = data.size; if size == 0 { None } else { let mut value: String = String::with_capacity(size as usize); for _x in 0..size { value.push_str(unsafe { str::from_utf8_unchecked(&[32])}); } Some(value) } } } impl<'value> NP_Value<'value> for String { fn type_idx() -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("string", NP_TypeKeys::UTF8String) } fn schema_to_json(schema: &Vec, address: usize) -> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut schema_json = JSMAP::new(); schema_json.insert( "type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string()), ); match data.case { String_Case::Uppercase => { schema_json.insert("uppercase".to_owned(), NP_JSON::True); }, String_Case::Lowercase => { schema_json.insert("lowercase".to_owned(), NP_JSON::True); }, _ => {} } if data.size > 0 { schema_json.insert("size".to_owned(), NP_JSON::Integer(data.size.clone().into())); } if let Some(default_value) = &data.default { schema_json.insert( "default".to_owned(), NP_JSON::String(default_value.to_string()), ); } Ok(NP_JSON::Dictionary(schema_json)) } fn schema_to_idl(schema: &Vec, address: usize)-> Result { let schema = &schema[address]; let data = unsafe { &*(*schema.data as *const NP_String_Data) }; let mut properties: Vec = Vec::new(); if let Some(x) = &data.default { let mut def = String::from("default: "); def.push_str("\""); def.push_str(x.as_str()); def.push_str("\""); properties.push(def); } if data.size > 0 { let mut def = String::from("size: "); def.push_str(data.size.to_string().as_str()); properties.push(def); } match data.case { String_Case::Uppercase => { properties.push(String::from("uppercase: true")); }, String_Case::Lowercase => { properties.push(String::from("lowercase: true")); }, _ => {} } if properties.len() == 0 { Ok(String::from("string()")) } else { let mut final_str = String::from("string({"); final_str.push_str(properties.join(", ").as_str()); final_str.push_str("})"); Ok(final_str) } } fn from_idl_to_schema(mut schema: Vec, _name: &str, idl: &JS_Schema, args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; let mut has_fixed_size = false; let mut size = 0u32; let mut default: Option = Option::None; if args.len() > 0 { match &args[0] { JS_AST::object { properties } => { for (key, value) in properties.iter() { match idl.get_str(key).trim() { "lowercase" => { case_byte = String_Case::Lowercase; set += 1; }, "uppercase" => { case_byte = String_Case::Uppercase; set += 1; }, "size" => { match value { JS_AST::number { addr } => { match idl.get_str(addr).trim().parse::() { Ok(x) => { size = x; has_fixed_size = true; }, Err(_e) => { return Err(NP_Error::new("size property must be an integer!")) } } }, _ => { } } }, "default" => { match value { JS_AST::string { addr } => { default = Some(String::from(idl.get_str(addr))) }, _ => { } } } _ => { } } } } _ => { } } } if set == 2 { return Err(NP_Error::new("Only one of uppercase or lowercase can be set!")); } schema_data.push(case_byte as u8); if has_fixed_size { schema_data.extend_from_slice(&size.to_be_bytes()); } else { schema_data.extend_from_slice(&0u32.to_be_bytes()); } if let Some(x) = &default { let str_bytes = x.as_bytes(); schema_data.extend_from_slice(&((str_bytes.len() + 1) as u16).to_be_bytes()); schema_data.extend_from_slice(str_bytes); } else { schema_data.extend_from_slice(&0u16.to_be_bytes()); } let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, value.clone())?; }, _ => {} } Ok(()) } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // case byte let case_byte = String_Case::from(bytes[address + 1]); // fixed size let fixed_size = u32::from_be_bytes([bytes[address + 2], bytes[address + 3],bytes[address + 4], bytes[address + 5]]); // default value size let default_size = u16::from_be_bytes([bytes[address + 6], bytes[address + 7]]) as usize; let mut empty: Vec = Vec::new(); for _x in 0..fixed_size { empty.push(32); } if default_size == 0 { schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: None, case: case_byte, empty })) as *const u8) }) } else { let default_bytes = str::from_utf8(&bytes[(address + 8)..(address + 8 + (default_size - 1))]).unwrap_or_default(); schema.push(NP_Parsed_Schema { val: if fixed_size > 0 { NP_Value_Kind::Fixed(fixed_size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: fixed_size > 0, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size: fixed_size, default: Some(default_bytes.to_string()), case: case_byte, empty })) as *const u8) }) } (fixed_size > 0, schema) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { NP_String::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match NP_String::into_value(cursor, memory)? { Some(x) => Ok(Some(String::from(x))), None => Ok(None) } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(0); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; // fixed size if data.size > 0 { return Ok(data.size as usize); } // dynamic size let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0; 4])) as usize; // return total size of this string plus length bytes return Ok(bytes_size + 4); } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_data: Vec = Vec::new(); schema_data.push(NP_TypeKeys::UTF8String as u8); let mut case_byte = String_Case::None; let mut set = 0; match json_schema["lowercase"] { NP_JSON::True => { case_byte = String_Case::Lowercase; set += 1; }, _ => {} } match json_schema["uppercase"] { NP_JSON::True => { case_byte = String_Case::Uppercase; set += 1; }, _ => {} } if set == 2 { return Err(NP_Error::new("Only one of uppercase and lowercase can be set!")); } schema_data.push(case_byte as u8); let mut has_fixed_size = false; let size = match json_schema["size"] { NP_JSON::Integer(x) => { has_fixed_size = true; if x < 1 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } NP_JSON::Float(x) => { has_fixed_size = true; if x < 1.0 { return Err(NP_Error::new( "Fixed size for string must be larger than 1!", )); } if x > u32::MAX.into() { return Err(NP_Error::new( "Fixed size for string cannot be larger than 2^32!", )); } schema_data.extend((x as u32).to_be_bytes().to_vec()); x as u32 } _ => { schema_data.extend(0u32.to_be_bytes().to_vec()); 0u32 } }; let default = match &json_schema["default"] { NP_JSON::String(bytes) => { let str_bytes = bytes.clone().into_bytes(); if str_bytes.len() > u32::MAX as usize - 1 { return Err(NP_Error::new( "Default string value cannot be larger than 2^32 bytes!", )); } schema_data.extend(((str_bytes.len() + 1) as u16).to_be_bytes().to_vec()); schema_data.extend(str_bytes); Some(bytes.to_string()) } _ => { schema_data.extend(0u16.to_be_bytes().to_vec()); None } }; let mut empty: Vec = Vec::new(); for _x in 0..size { empty.push(32); } schema.push(NP_Parsed_Schema { val: if size > 0 { NP_Value_Kind::Fixed(size as u32) } else { NP_Value_Kind::Pointer }, i: NP_TypeKeys::UTF8String, sortable: has_fixed_size, data: Arc::new(Box::into_raw(Box::new(NP_String_Data { size, default, case: case_byte, empty })) as *const u8) }); return Ok((has_fixed_size, schema_data, schema)); } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => match x { Some(y) => NP_JSON::String(y.to_string()), None => { let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; match &data.default { Some(x) => NP_JSON::String(x.to_string()), None => NP_JSON::Null, } } }, Err(_e) => NP_JSON::Null, } } fn default_value(_depth: usize, schema_addr: usize,schema: &Vec) -> Option { match NP_String::default_value(0, schema_addr, schema) { Some(x) => Some(String::from(x)), None => None } } } impl<'value> NP_Scalar<'value> for NP_String<'value> { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for NP_String<'value> { fn type_idx() -> (&'value str, NP_TypeKeys) { String::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { String::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { String::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; let (size, case) = (data.size, data.case); let mut bytes = value.as_bytes(); let mut owned: String; match case { String_Case::Uppercase => { owned = String::from(value); owned.make_ascii_uppercase(); bytes = owned.as_bytes(); }, String_Case::Lowercase => { owned = String::from(value); owned.make_ascii_lowercase(); bytes = owned.as_bytes(); }, _ => {} } let str_size = bytes.len() as usize; if size > 0 { // fixed size bytes if c_value().get_addr_value() == 0 { // malloc new bytes let new_addr = memory.malloc_borrow(&data.empty)? as usize; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); } let addr = c_value().get_addr_value() as usize; let write_bytes = memory.write_bytes(); for x in 0..(size as usize) { if x < bytes.len() { // assign values of bytes write_bytes[(addr + x)] = bytes[x]; } else { // rest is white space write_bytes[(addr + x)] = 32; } } return Ok(cursor); } // flexible size let addr_value = c_value().get_addr_value() as usize; let prev_size: usize = if addr_value != 0 { let size_bytes: &[u8; 4] = memory.get_4_bytes(addr_value).unwrap_or(&[0; 4]); u32::from_be_bytes(*size_bytes) as usize } else { 0 as usize }; if prev_size >= str_size as usize { // previous string is larger than this one, use existing memory // update string length in buffer if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); let write_bytes = memory.write_bytes(); // set string size for x in 0..size_bytes.len() { write_bytes[(addr_value + x)] = size_bytes[x]; } let offset = 4; // set bytes for x in 0..bytes.len() { write_bytes[(addr_value + x + offset) as usize] = bytes[x]; } return Ok(cursor); } else { // not enough space or space has not been allocted yet // first bytes are string length let new_addr = { if str_size > core::u32::MAX as usize { return Err(NP_Error::new("String too large!")); } let size_bytes = (str_size as u32).to_be_bytes(); memory.malloc_borrow(&size_bytes)? }; cursor.get_value_mut(memory).set_addr_value(new_addr as u32); memory.malloc_borrow(bytes)?; return Ok(cursor); } } fn default_value(_depth: usize, schema_addr: usize,schema: &'value Vec) -> Option { let data = unsafe { &*(*schema[schema_addr].data as *const NP_String_Data) }; match &data.default { Some(x) => Some(x), None => None, } } /// This is never called fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("string()")) } /// This is never called fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value() as usize; // empty value if value_addr == 0 { return Ok(None); } let data = unsafe { &*(*memory.get_schema(cursor.schema_addr).data as *const NP_String_Data) }; if data.size > 0 { // fixed size // get bytes let bytes = &memory.read_bytes()[(value_addr)..(value_addr + (data.size as usize))]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } else { // dynamic size // get size of bytes let bytes_size: usize = u32::from_be_bytes(*memory.get_4_bytes(value_addr).unwrap_or(&[0u8; 4])) as usize; // get bytes let bytes = &memory.read_bytes()[(value_addr + 4)..(value_addr + 4 + bytes_size)]; return Ok(Some(unsafe { str::from_utf8_unchecked(bytes) })); } } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { String::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { String::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { String::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { String::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = r#"string({default: "hello"})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({size: 10})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({lowercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string({uppercase: true})"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); let schema = r#"string()"#; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl().unwrap()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl().unwrap()); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"size\":10}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"lowercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\",\"uppercase\":true}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn default_value_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"default\":\"hello\"}"; let factory = crate::NP_Factory::new_json(schema)?; let buffer = factory.new_buffer(None); assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello"); Ok(()) } #[test] fn fixed_size_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"size\": 20}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[] as &[&str], "hello there this sentence is long")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(), "hello there this sen"); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello there this sentence is long")?; assert_eq!( buffer.get::<&str>(&[])?.unwrap(), "hello there this sentence is long" ); buffer.del(&[])?; assert_eq!(buffer.get::<&str>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } #[test] fn uppercase_lowercase_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"string\",\"lowercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "HELLO")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"hello"); let schema = "{\"type\":\"string\",\"uppercase\": true}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); buffer.set(&[], "hello")?; assert_eq!(buffer.get::<&str>(&[])?.unwrap(),"HELLO"); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/ulid.rs ================================================ //! Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness //! //! Useful for storing time stamp data that doesn't have collisions. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::ulid::NP_ULID; //! //! let factory: NP_Factory = NP_Factory::new("ulid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let ulid = NP_ULID::generate(1604965249484, 50); //! new_buffer.set(&[], &ulid)?; //! //! assert_eq!("01EPQP4CEC93KANC3XYNG9YKAQ", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use crate::{idl::{JS_AST, JS_Schema}, memory::NP_Memory, schema::{NP_Parsed_Schema, NP_Value_Kind, NULL}, utils::from_base32}; use alloc::{sync::Arc, vec::Vec}; use crate::utils::to_base32; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter}}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Holds ULIDs which are good for time series keys. /// /// Check out documentation [here](../ulid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_ULID { value: [u8; 16] } /// ULID alias for shared type pub type _NP_ULID<'a> = &'a NP_ULID; impl NP_ULID { /// Creates a new ULID from the timestamp and provided seed. /// /// The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed. /// /// The time should be passed in as the unix epoch in milliseconds. pub fn generate(now_ms: u64, random_seed: u32) -> NP_ULID { let mut rng = Rand::new(random_seed); let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = rng.gen_range(0, 255) as u8; } } NP_ULID { value: id } } /// Generates a ULID with the given time and a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(now_ms: u64, random_fn: F) -> NP_ULID where F: Fn() -> u8 { let mut id: [u8; 16] = [0; 16]; let time_bytes = now_ms.to_be_bytes(); for x in 0..id.len() { if x < 6 { id[x] = time_bytes[x + 2]; } else { id[x] = random_fn(); } } NP_ULID { value: id } } /// Get just the timestamp for this ULID pub fn get_time(&self) -> u64 { let mut time_bytes: [u8; 8] = [0; 8]; for (i, x) in self.value.iter().take(6).enumerate() { time_bytes[i + 2] = *x; } u64::from_be_bytes(time_bytes) } /// Get the random component of this ULID pub fn get_random(&self) -> &[u8; 10] { unsafe { &*(&self.value[6..] as *const [u8] as *const [u8; 10]) } } /// Generates a stringified version of this ULID with base32. /// pub fn to_string(&self) -> String { let mut result: String = "".to_owned(); let mut time_bytes: [u8; 16] = [0; 16]; let mut rand_bytes: [u8; 16] = [0; 16]; for (i, x) in self.value.iter().enumerate() { if i < 6 { time_bytes[i + 10] = *x; } else { rand_bytes[i] = *x; } } result.push_str(to_base32(u128::from_be_bytes(time_bytes), 10).as_str()); result.push_str(to_base32(u128::from_be_bytes(rand_bytes), 16).as_str()); result } /// Encode a ULID into bytes pub fn from_string>(value: S) -> Self { let time_bytes = from_base32(&value.as_ref()[..10]).to_be_bytes(); let rand_bytes = from_base32(&value.as_ref()[10..]).to_be_bytes(); let mut result = NP_ULID { value: [0; 16] }; for i in 0..16 { if i < 6 { result.value[i] = time_bytes[i + 10]; } else { result.value[i] = rand_bytes[i]; } } result } } impl Default for NP_ULID { fn default() -> Self { NP_ULID { value: [0u8; 16]} } } impl Debug for NP_ULID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl<'value> NP_Scalar<'value> for NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_ULID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("ulid", NP_TypeKeys::Ulid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_ULID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_ULID::set_value(cursor, memory, &value) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_ULID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Ulid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Ulid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_ULID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_ULID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_ULID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_ULID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_ULID::schema_to_json(_schema, _address) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("ulid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || { cursor.get_value(memory) }; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_ULID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_ULID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_ULID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_ULID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_ULID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "ulid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"ulid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_ULID::generate(1606680515909, 212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, Some(&set_value)); assert_eq!(buffer.get::<&NP_ULID>(&[])?.unwrap().to_string(), "01ERASY5A5KVKANC1CJGRZXYW8"); assert_eq!(set_value.value, NP_ULID::from_string("01ERASY5A5KVKANC1CJGRZXYW8").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_ULID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/union.rs ================================================ //! Clone type for recursive or duplicating data types. //! use crate::{idl::{JS_AST, JS_Schema}, schema::{NP_Schema_Addr, NP_Value_Kind}}; use crate::NP_Schema; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error}; use alloc::string::String; use alloc::boxed::Box; use alloc::string::ToString; use alloc::borrow::ToOwned; use super::{NP_Cursor, NP_Scalar}; /// Defines the behavior of the union data type #[derive(Debug)] pub struct NP_Union { /// The value of this union pub value: Option, /// If the set value is a default pub is_default: bool } impl<'value> NP_Scalar<'value> for NP_Union { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl NP_Union { /// Select into a union type pub fn select(mut cursor: NP_Cursor, types: &Vec<(u8, String, usize)>, key: &str, make_path: bool, schema_query: bool, memory: &NP_Memory) -> Result, NP_Error> { match types.iter().position(|val| { val.1 == key }) { Some(x) => { if schema_query { let schema_value = &types[x]; cursor.parent_schema_addr = cursor.schema_addr; cursor.schema_addr = schema_value.2; return Ok(Some(cursor)) } let union_value = cursor.get_value(memory); let addr_value = union_value.get_addr_value(); if addr_value == 0 { // no value here if make_path { // need to make a new value // 1 byte for union value, 2 bytes for pointer let new_addr = memory.malloc_borrow(&[0u8; 3])?; union_value.set_addr_value(new_addr as u32); } else { // found nothing return Ok(None) } } let addr_value = union_value.get_addr_value() as usize; let union_index = memory.read_bytes()[addr_value]; // nothing set at union and can't make value, so return None if union_index == 0 && make_path == false { return Ok(None) } if union_index == 0 { // no value at this union yet // set index of union value memory.write_bytes()[addr_value] = (x as u8) + 1; // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else if union_index == (x as u8) + 1 { // union value matches query // return cursor return Ok(Some(NP_Cursor::new(addr_value + 1, types[x].2, cursor.schema_addr))) } else { // value is set by requested index does not match value in union return Ok(None); } }, None => return Ok(None) } } } impl<'value> NP_Value<'value> for NP_Union { fn type_idx() -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("union", NP_TypeKeys::Union) } fn schema_to_json(schema: &Vec, address: usize)-> Result { // let mut schema_json = JSMAP::new(); // schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); // let types: Vec = match &schema[address] { // NP_TypeKeys::Union { types, .. } => { // types.into_iter().map(|column| { // let mut cols: Vec = Vec::new(); // cols.push(NP_JSON::String(column.1.to_string())); // cols.push(NP_Schema::_type_to_json(&schema, column.2).unwrap_or(NP_JSON::Null)); // NP_JSON::Array(cols) // }).collect() // }, // _ => Vec::new() // }; // schema_json.insert("types".to_owned(), NP_JSON::Array(types)); // Ok(NP_JSON::Dictionary(schema_json)) todo!() } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { todo!() } fn from_idl_to_schema(_schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { todo!() } fn from_json_to_schema(mut schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { // let mut schema_bytes: Vec = Vec::new(); // schema_bytes.push(NP_TypeKeys::Union as u8); // let schema_table_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: Vec::new(), // default: 0 // }); // let mut columns_mapped = Vec::new(); // let mut types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let mut column_data: Vec<(String, Vec)> = Vec::new(); // let mut schema_parsed: Vec = schema; // match &json_schema["types"] { // NP_JSON::Array(cols) => { // let mut x: u8 = 0; // for col in cols { // let column_name = match &col[0] { // NP_JSON::String(x) => x.clone(), // _ => "".to_owned() // }; // if column_name.len() > 255 { // return Err(NP_Error::new("Union type names cannot be longer than 255 characters!")) // } // let column_schema_addr = schema_parsed.len(); // types.push((x, column_name.clone(), column_schema_addr)); // let (_is_sortable, column_type, schema_p) = NP_Schema::from_json(schema_parsed, &Box::new(col[1].clone()))?; // schema_parsed = schema_p; // columns_mapped.push(column_name.to_string()); // column_data.push((column_name, column_type)); // x += 1; // } // }, // _ => { // return Err(NP_Error::new("Unions require a 'types' property that is an array of schemas!")) // } // } // schema_parsed[schema_table_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: types, // default: 0 // }; // if column_data.len() > 254 { // return Err(NP_Error::new("Unions cannot have more than 254 types!")) // } // if column_data.len() == 0 { // return Err(NP_Error::new("Unions must have at least one type!")) // } // // number of columns // schema_bytes.push(column_data.len() as u8); // for col in column_data { // // colum name // let bytes = col.0.as_bytes().to_vec(); // schema_bytes.push(bytes.len() as u8); // schema_bytes.extend(bytes); // if col.1.len() > u16::MAX as usize { // return Err(NP_Error::new("Schema overflow error!")) // } // // column type // schema_bytes.extend((col.1.len() as u16).to_be_bytes().to_vec()); // schema_bytes.extend(col.1); // } // return Ok((false, schema_bytes, schema_parsed)) todo!() } fn from_bytes_to_schema(mut schema: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { // let column_len = bytes[address + 1]; // let mut parsed_types: Vec<(u8, String, NP_Schema_Addr)> = Vec::new(); // let table_schema_addr = schema.len(); // schema.push(NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // default: 0, // types: Vec::new() // }); // let mut schema_parsed = schema; // let mut offset = address + 2; // let mut hash_map = Vec::new(); // for x in 0..column_len as usize { // let col_name_len = bytes[offset] as usize; // let col_name_bytes = &bytes[(offset + 1)..(offset + 1 + col_name_len)]; // let col_name = unsafe { core::str::from_utf8_unchecked(col_name_bytes) }; // offset += 1 + col_name_len; // let schema_size = u16::from_be_bytes([ // bytes[offset], // bytes[offset + 1] // ]) as usize; // let column_addr = schema_parsed.len(); // let (_, schema) = NP_Schema::from_bytes(schema_parsed, offset + 2, bytes); // schema_parsed = schema; // parsed_types.push((x as u8, col_name.to_string(), column_addr)); // hash_map.push(col_name.to_string()); // offset += schema_size + 2; // } // schema_parsed[table_schema_addr] = NP_TypeKeys::Union { // val: NP_Value_Kind::Pointer, // i: NP_TypeKeys::Union, // sortable: false, // types: parsed_types, // default: 0 // }; // (false, schema_parsed) todo!() } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { todo!() } fn default_value(_depth: usize, _schema_addr: usize, _schemas: &Vec) -> Option { todo!() } /// Pull the data from the buffer and convert into type /// fn into_value(_cursor: &NP_Cursor, _memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { // let message = "This type doesn't support into!".to_owned(); // Err(NP_Error::new(message.as_str())) todo!() } fn to_json(_depth:usize, _cursor: &NP_Cursor, _memory: &'value NP_Memory) -> NP_JSON { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::json_encode(depth + 1, &next, memory) // }, // _ => NP_JSON::Null // } todo!() } fn get_size(_depth:usize, _cursor: &'value NP_Cursor, _memory: &'value NP_Memory) -> Result { // match memory.get_schema(cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // let mut next = cursor.clone(); // next.schema_addr = *schema; // next.parent_schema_addr = *parent_schema; // NP_Cursor::calc_size(depth + 1, &next, memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } fn do_compact<, M2: NP_Memory>(_depth:usize, mut _from_cursor: NP_Cursor, _from_memory: &'value NP_Memory, mut _to_cursor: NP_Cursor, _to_memory: &'value NP_Memory2) -> Result where Self: 'value + Sized { // match from_memory.get_schema(from_cursor.schema_addr) { // NP_TypeKeys::Portal { schema, parent_schema, .. } => { // from_cursor.schema_addr = *schema; // from_cursor.parent_schema_addr = *parent_schema; // to_cursor.schema_addr = *schema; // to_cursor.parent_schema_addr = *parent_schema; // NP_Cursor::compact(depth + 1, from_cursor, from_memory, to_cursor, to_memory) // }, // _ => Err(NP_Error::Unreachable) // } todo!() } } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = r#"{"type":"union","types":[["value1",{"type":"string"}],["value2",{"type":"uint8"}]]}"#; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } // #[test] // fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { // let schema = r#"{ // "type": "union", // "default": "uknown", // "types": [ // ["uknown", {"type": "bool", "default": true}], // ["unemployed", {"type": "bool"}], // ["employed", {"type": "string"}], // ["school", {"type": "string"}], // ["selfemployed", {"type": "bool"}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["nested", "street"], "hello street")?; // buffer.set(&["nested", "nested", "nested", "nested", "street"], "hello street 2")?; // assert_eq!("hello street", buffer.get::<&str>(&["nested", "street"])?.unwrap()); // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(buffer.calc_bytes()?.current_buffer, buffer.calc_bytes()?.after_compaction); // buffer.del(&["nested", "street"])?; // buffer.compact(None)?; // assert_eq!("hello street 2", buffer.get::<&str>(&["nested", "nested", "nested", "nested", "street"])?.unwrap()); // assert_eq!(None, buffer.get::<&str>(&["nested", "street"])?); // let schema = r#"{ // "type": "struct", // "types": [ // ["username", {"type": "string"}], // ["email" , {"type": "string"}], // ["address", {"type": "struct", "types": [ // ["street", {"type": "string"}], // ["city", {"type": "string"}], // ["more", {"type": "portal", "to": "address"}] // ]}] // ] // }"#; // let factory = crate::NP_Factory::new_json(schema)?; // let mut buffer = factory.new_buffer(None); // buffer.set(&["address", "more", "more","more", "more","more", "more","more", "more", "street"], "hello")?; // assert_eq!("hello", buffer.get::<&str>(&["address", "more", "more","more", "more","more", "more","more", "more", "street"])?.unwrap()); // Ok(()) // } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/pointer/uuid.rs ================================================ //! Represents a V4 UUID, good for globally unique identifiers //! //! `uuid` types are always represented with this struct. //! //! ``` //! use no_proto::error::NP_Error; //! use no_proto::NP_Factory; //! use no_proto::pointer::uuid::NP_UUID; //! //! let factory: NP_Factory = NP_Factory::new("uuid()")?; //! //! let mut new_buffer = factory.new_buffer(None); //! let uuid = NP_UUID::generate(50); //! new_buffer.set(&[], &uuid)?; //! //! let b_uuid: Option = new_buffer.get::(&[])?; //! assert_eq!(Some(uuid), b_uuid); //! //! assert_eq!("48E6AAB0-7DF5-409F-4D57-4D969FA065EE", b_uuid.unwrap().to_string()); //! //! # Ok::<(), NP_Error>(()) //! ``` //! use alloc::sync::Arc; use crate::{JS_Schema, idl::JS_AST, schema::{NP_Value_Kind, NULL}}; use alloc::prelude::v1::Box; use crate::pointer::NP_Scalar; use crate::{memory::NP_Memory, schema::{NP_Parsed_Schema}}; use alloc::vec::Vec; use crate::json_flex::{JSMAP, NP_JSON}; use crate::schema::{NP_TypeKeys}; use crate::{pointer::NP_Value, error::NP_Error, utils::{Rand}}; use core::{fmt::{Debug, Formatter, Write}}; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::string::ToString; use super::NP_Cursor; /// Holds UUID which is good for random keys. /// /// Check out documentation [here](../uuid/index.html). /// #[derive(Eq, PartialEq, Clone)] #[repr(C)] pub struct NP_UUID { /// The random bytes for this UUID pub value: [u8; 16] } /// ULID alias for shared value pub type _NP_UUID<'a> = &'a NP_UUID; impl NP_UUID { /// Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible. /// pub fn generate(random_seed: u32) -> Self { let mut uuid = NP_UUID { value: [0; 16] }; let mut rng = Rand::new(random_seed); for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + rng.gen_range(0, 15) as u8; } else { uuid.value[x] = rng.gen_range(0, 255) as u8; } } uuid } /// Generates a UUID with a provided random number generator. /// This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should. /// pub fn generate_with_rand(random_fn: F) -> Self where F: Fn() -> u8 { let mut uuid = NP_UUID { value: [0; 16] }; for x in 0..uuid.value.len() { if x == 6 { uuid.value[x] = 64 + (random_fn() % 17) - 1; } else { uuid.value[x] = random_fn(); } } uuid } /// Create a UUID from a string representation /// pub fn from_string>(uuid: S) -> NP_UUID { let cleaned: String = String::from(uuid.as_ref()).replace("-", "").to_uppercase(); let mut value: [u8; 16] = [0; 16]; for x in 0..16usize { let step = x * 2; match u8::from_str_radix(&cleaned[step..(step + 2)], 16) { Ok(byte) => { value[x] = byte }, _ => {} } } NP_UUID { value } } /// Generates a stringified version of the UUID. /// pub fn to_string(&self) -> String { let mut result = String::with_capacity(32); for x in 0..self.value.len() { if x == 4 || x == 6 || x == 8 || x == 10 { result.push_str("-"); } let byte = self.value[x] as u8; write!(result, "{:02X}", byte).unwrap_or(()); } result } } impl Debug for NP_UUID { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "{}", self.to_string()) } } impl Default for NP_UUID { fn default() -> Self { NP_UUID { value: [0; 16] } } } impl<'value> NP_Scalar<'value> for NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { Some(Self::default()) } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [255u8; 16]}) } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { Some(NP_UUID { value: [0u8; 16]}) } } impl<'value> NP_Value<'value> for NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { ("uuid", NP_TypeKeys::Uuid) } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { let mut schema_json = JSMAP::new(); schema_json.insert("type".to_owned(), NP_JSON::String(Self::type_idx().0.to_string())); Ok(NP_JSON::Dictionary(schema_json)) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { _NP_UUID::set_value(cursor, memory, &value) } fn set_from_json<'set>(_depth: usize, _apply_null: bool, cursor: NP_Cursor, memory: &'set NP_Memory, value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { match &**value { NP_JSON::String(value) => { Self::set_value(cursor, memory, NP_UUID::from_string(&value))?; }, _ => {} } Ok(()) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { match _NP_UUID::into_value(cursor, memory)? { Some(x) => { Ok(Some(x.clone())) }, None => Ok(None) } } fn to_json(_depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { match Self::into_value(cursor, memory) { Ok(x) => { match x { Some(y) => { NP_JSON::String(y.to_string()) }, None => { NP_JSON::Null } } }, Err(_e) => { NP_JSON::Null } } } fn get_size(_depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { let c_value = || { cursor.get_value(memory) }; if c_value().get_addr_value() == 0 { Ok(0) } else { Ok(16) } } fn from_json_to_schema(mut schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { let mut schema_bytes: Vec = Vec::new(); schema_bytes.push(NP_TypeKeys::Uuid as u8); schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); return Ok((true, schema_bytes, schema)) } fn from_bytes_to_schema(mut schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { schema.push(NP_Parsed_Schema { val: NP_Value_Kind::Fixed(16), i: NP_TypeKeys::Uuid, sortable: true, data: Arc::new(NULL()) }); (true, schema) } } impl<'value> NP_Scalar<'value> for &NP_UUID { fn schema_default(_schema: &NP_Parsed_Schema) -> Option where Self: Sized { None } fn np_max_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } fn np_min_value(_cursor: &NP_Cursor, _memory: &NP_Memory) -> Option { None } } impl<'value> NP_Value<'value> for &NP_UUID { fn type_idx() -> (&'value str, NP_TypeKeys) { NP_UUID::type_idx() } fn self_type_idx(&self) -> (&'value str, NP_TypeKeys) { NP_UUID::default().self_type_idx() } fn schema_to_json(_schema: &Vec, _address: usize)-> Result { NP_UUID::schema_to_json(_schema, _address) } fn set_value<'set>(cursor: NP_Cursor, memory: &'set NP_Memory, value: Self) -> Result where Self: 'set + Sized { let c_value = || {cursor.get_value(memory)}; let mut value_address = c_value().get_addr_value() as usize; if value_address != 0 { // existing value, replace let bytes = value.value; let write_bytes = memory.write_bytes(); // overwrite existing values in buffer for x in 0..bytes.len() { write_bytes[value_address + x] = bytes[x]; } } else { // new value value_address = memory.malloc_borrow(&value.value)?; cursor.get_value_mut(memory).set_addr_value(value_address as u32); } Ok(cursor) } fn schema_to_idl(_schema: &Vec, _address: usize)-> Result { Ok(String::from("uuid()")) } fn from_idl_to_schema(schema: Vec, _name: &str, _idl: &JS_Schema, _args: &Vec) -> Result<(bool, Vec, Vec), NP_Error> { Self::from_json_to_schema(schema, &Box::new(NP_JSON::Null)) } fn default_value(_depth: usize, _scham_addr: usize,_schema: &Vec) -> Option { None } fn set_from_json<'set>(_depth: usize, _apply_null: bool, _cursor: NP_Cursor, _memory: &'set NP_Memory, _value: &Box) -> Result<(), NP_Error> where Self: 'set + Sized { Ok(()) } fn into_value(cursor: &NP_Cursor, memory: &'value NP_Memory) -> Result, NP_Error> where Self: Sized { let c_value = || { cursor.get_value(memory) }; let value_addr = c_value().get_addr_value(); // empty value if value_addr == 0 { return Ok(None); } Ok(match memory.get_16_bytes(value_addr as usize) { Some(x) => { Some(unsafe { &*(x.as_ptr() as *const NP_UUID) }) }, None => None }) } fn to_json(depth:usize, cursor: &NP_Cursor, memory: &'value NP_Memory) -> NP_JSON { NP_UUID::to_json(depth, cursor, memory) } fn get_size(depth:usize, cursor: &NP_Cursor, memory: &NP_Memory) -> Result { NP_UUID::get_size(depth, cursor, memory) } fn from_json_to_schema(schema: Vec, _json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { NP_UUID::from_json_to_schema(schema, _json_schema) } fn from_bytes_to_schema(schema: Vec, _address: usize, _bytes: &[u8]) -> (bool, Vec) { NP_UUID::from_bytes_to_schema(schema, _address, _bytes) } } #[test] fn schema_parsing_works_idl() -> Result<(), NP_Error> { let schema = "uuid()"; let factory = crate::NP_Factory::new(schema)?; assert_eq!(schema, factory.schema.to_idl()?); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_idl()?); Ok(()) } #[test] fn schema_parsing_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; assert_eq!(schema, factory.schema.to_json()?.stringify()); let factory2 = crate::NP_Factory::new_bytes(factory.export_schema_bytes())?; assert_eq!(schema, factory2.schema.to_json()?.stringify()); Ok(()) } #[test] fn set_clear_value_and_compaction_works() -> Result<(), NP_Error> { let schema = "{\"type\":\"uuid\"}"; let factory = crate::NP_Factory::new_json(schema)?; let mut buffer = factory.new_buffer(None); let set_value = NP_UUID::generate(212); buffer.set(&[] as &[&str], &set_value)?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, Some(&NP_UUID::generate(212))); assert_eq!(buffer.get::<&NP_UUID>(&[])?.unwrap().to_string(), "9EE6AAB0-2C94-41FE-FB88-42F73253F217"); assert_eq!(set_value.value, NP_UUID::from_string("9EE6AAB0-2C94-41FE-FB88-42F73253F217").value); buffer.del(&[])?; assert_eq!(buffer.get::<&NP_UUID>(&[])?, None); buffer.compact(None)?; assert_eq!(buffer.calc_bytes()?.current_buffer, 6usize); Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/rpc.rs ================================================ //! Remote Procedure Call APIs //! //! You can optionally omit all the RPC related code with `features = []` in your cargo.toml //! //! The NoProto RPC framework builds on top of NoProto's format and Rust's conventions to provide a flexible, powerful and safe RPC protocol. //! //! This RPC framework has *zero* transport code and is transport agnostic. You can send bytes between the server/client using any method you'd like. //! //! It's also possible to send messages in either direction, the Client & Server both have the ability to encode/decode requests and responses. //! //! # RPC JSON Spec //! //! Before you can send bytes between servers and clients, you must let NoProto know the shape and format of your endpoints, requests and responses. Like schemas, RPC specs are written as JSON. //! //! Any fields in your spec not required by the library will simply be ignored. //! //! ## Required Fields //! //! ### id, version //! The `id` property should be a V4 UUID you've generated yourself. This [website](https://www.uuidgenerator.net/version4) can help generate a UUID for you. The `version` property should be a semver string like `0.1.0` or `1.0.0` or `0.0.23`. //! //! The `id` and `version` data is encoded in every request and response. If you attempt to open a request or response that does not match the `version` and `id` of the specification you're using, the request/response will fail to open. //! //! ### name //! The `name` property is the title for your specification. Should be something appropriate like "Todo App RPC" or "User Account RPC". //! //! ### author //! The `author` property is a string and can contain any value. You can put your name here, your companies name, your email, whatever you'd like. //! //! ### spec //! Is an array of RPC specifications described below, this is the root of your specifications. The array should be at property `spec`. //! //! ## RPC Specifications //! //! There are 4 different kinds of values allowed in the `spec` array. They can be in any order and you can have as many of each type as you'd like. //! //! //! #### 1. Message //! RPC messages are named NoProto schemas. They must have a `msg` property with the name of the schema, then a `type` property for the schema type. The messages MUST be valid NoProto schemas. //! //! ```text //! // Some valid messages //! {"msg": "user_id", "type": "u32"} //! //! {"msg": "address", "type": "struct", "fields": [ //! ["street", {"type": "string"}], //! ["city", {"type": "string"}] //! ]} //! //! {"msg": "tags", "type": "list", "of": {"type": "string"}} //! ``` //! //! #### 2. RPC Method //! Methods are named endpoints with arguments and responses. The arguments and responses MUST reference messages. They always contain a `rpc` property and an `fn` property which describes the endpoint arguments and return types. //! //! RPC methods can have between 0 and 1 arguments and can return nothing, a value T, an option<T> or, Result<T,E> //! ```text //! // Some valid RPC methods //! {"rpc": "get_count", "fn": "() -> self::count"} //! //! {"rpc": "get_user", "fn": "(self::user_id) -> Option"} //! //! {"rpc": "del_user", "fn": "(self::user_id) -> Result<(), self::error>"} //! //! {"rpc": "add_one", "fn": "(self::add_arg) -> Result"} //! //! {"rpc": "trigger_action", "fn": "() -> ()"} //! ``` //! //! #### 3. RPC Module //! You can create nested namespaces inside your specification that contain their own specification. Namespaces require a `mod` property and `spec` property. //! //! ```text //! // a valid RPC module //! {"mod": "user", "spec": [ //! {"msg": "user_id", "type": "u32"}, //! {"msg": "user_name", "type": "string"}, //! {"rpc": "get_username", "fn": "(self::user_id) -> Option"} //! ]} //! ``` //! //! #### 4. Comments //! You can insert string comments anywhere in your spec. //! //! ### RPC Namespaces & Modules //! //! I'm sure you've noticed the `self` being used above in the function definitions. You can create messages anywhere in your specification and they can be accessed by any RPC method in any namespace using the namespace syntax. //! //! Methods can always access messages in their own namespace using `self`. Otherwise, the top of the name space is `mod` and messages in other namespaces can be used by their names. For example, let's say we had a message named `delete` inside the `modify` RPC module inside the `user` RPC module. That message could be accessed by any RPC method with `mod::user::modify::delete`. //! //! That might be confusing so here's an example RPC spec with some fancy namespacing. //! //! ## Example RPC JSON SPEC //! //! ```text //! { //! "name": "TEST API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! "this is a comment", //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! {"mod": "admin", "spec": [ //! {"rpc": "update_user", "fn": "(mod::user::user_id) -> Result<(), mod::Error>"} //! ]} //! ]} //! ] //! } //! ``` //! //! //! # Using the RPC Framework //! //! ```rust //! use no_proto::rpc::{NP_RPC_Factory, NP_ResponseKinds, NP_RPC_Response, NP_RPC_Request}; //! use no_proto::error::NP_Error; //! //! // You can generate an RPC Factory with this method. //! // Like NoProto Factories, this RPC factory can be used to encode/decode any number of requests/responses. //! //! let rpc_factory = NP_RPC_Factory::new(r#"{ //! "name": "Test API", //! "author": "Jeb Kermin", //! "id": "cc419a66-9bbe-48db-ad1c-e0ffa2a2376f", //! "version": "1.0.0", //! "spec": [ //! {"msg": "Error", "type": "string" }, //! {"msg": "Count", "type": "u32" }, //! {"rpc": "get_count", "fn": "() -> self::Count"}, //! {"mod": "user", "spec": [ //! {"msg": "username", "type": "string"}, //! {"msg": "user_id", "type": "u32"}, //! {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, //! {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, //! ]} //! ] //! }"#)?; //! //! // rpc_factory should be initilized on server and client using an identical JSON RPC SPEC //! // Both server and client can encode/decode responses and requests so the examples below are only a convention. //! //! //! //! // SIMPLE EXAMPLE //! //! // === CLIENT === //! // generate request //! let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; //! // close request (request has no arguments) //! let count_req_bytes: Vec = get_count.rpc_close(); //! //! // === SEND count_req_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; //! assert_eq!(a_request.rpc_name(), "get_count"); //! // generate a response //! let mut count_response: NP_RPC_Response = a_request.new_response()?; //! // set response data //! count_response.data.set(&[], 20u32)?; //! // set response kind //! count_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = count_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let count_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(count_response.rpc_name(), "get_count"); //! // confirm that we got data in the response //! assert_eq!(count_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data the server sent //! assert_eq!(count_response.data.get(&[])?, Some(20u32)); //! //! //! //! // RESULT EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as ok with data //! del_response.data.set(&[], 50u32)?; //! del_response.kind = NP_ResponseKinds::Ok; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::Ok); //! // confirm it's the same data set on the server //! assert_eq!(del_response.data.get(&[])?, Some(50u32)); //! //! //! //! // RESULT EXAMPLE 2 //! //! // === CLIENT === //! // generate request //! let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; //! del_user.data.set(&[], 50u32)?; //! let del_user_bytes: Vec = del_user.rpc_close(); //! //! // === SEND del_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.del_user"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as error //! del_response.error.set(&[], "Can't find user.")?; //! del_response.kind = NP_ResponseKinds::Error; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.del_user"); //! // confirm we recieved error response //! assert_eq!(del_response.kind, NP_ResponseKinds::Error); //! // get the error information //! assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); //! //! //! //! // OPTION EXAMPLE //! //! // === CLIENT === //! // generate request //! let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; //! get_user.data.set(&[], "username")?; //! let get_user_bytes: Vec = get_user.rpc_close(); //! //! // === SEND get_user_bytes to SERVER === //! //! // === SERVER === //! // ingest request //! let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; //! assert_eq!(a_request.rpc_name(), "user.get_user_id"); //! // generate a response //! let mut del_response: NP_RPC_Response = a_request.new_response()?; //! // set response as none //! del_response.kind = NP_ResponseKinds::None; //! // close response //! let respond_bytes = del_response.rpc_close()?; //! //! // === SEND respond_bytes to CLIENT ==== //! //! // === CLIENT === //! let del_response = rpc_factory.open_response(respond_bytes)?; //! // confirm our response matches the same request RPC we sent //! assert_eq!(del_response.rpc_name(), "user.get_user_id"); //! // confirm that we got data in the response //! assert_eq!(del_response.kind, NP_ResponseKinds::None); //! // with NONE response there is no data //! //! # Ok::<(), NP_Error>(()) //! ``` //! //! //! use alloc::str::from_utf8_unchecked; use crate::{hashmap::{SEED, murmurhash3_x86_32}}; use crate::{hashmap::NP_HashMap, pointer::uuid::NP_UUID, utils::opt_err}; use crate::NP_Factory; use crate::NP_Schema; use alloc::prelude::v1::Box; use crate::json_decode; use alloc::string::String; use alloc::vec::Vec; use alloc::string::ToString; use crate::{NP_JSON, buffer::NP_Buffer, error::NP_Error}; /// The different kinds of rpc functions #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[doc(hidden)] #[repr(u8)] pub enum RPC_Fn_Kinds { /// Normal function, doesn't return result or option normal, /// This function returns a result result, /// This function returns an option option } impl From for RPC_Fn_Kinds { fn from(value: u8) -> Self { if value > 2 { return RPC_Fn_Kinds::normal; } unsafe { core::mem::transmute(value) } } } #[derive(Debug, Clone, Copy)] #[doc(hidden)] struct NP_Str_Addr { idx: usize, len: usize } /// RPC Specifications /// #[derive(Debug)] #[doc(hidden)] enum NP_RPC_Spec { /// RPC Function RPC { /// Full path (module_path::name) full_name: NP_Str_Addr, /// RPC Message argument address arg: Option, /// RPC Message result address result: Option, /// RPC message error address (f this is a result kind of function) err: Option, /// The kind of function this is kind: RPC_Fn_Kinds }, /// RPC Message MSG { /// Factory for this message factory: NP_Factory } } /// RPC Factory #[derive(Debug)] pub struct NP_RPC_Factory<'fact> { /// Name of API name: NP_Str_Addr, /// API Author author: NP_Str_Addr, /// Specification for this factory spec: NP_RPC_Specification<'fact>, method_hash: NP_HashMap, /// blank buffer empty: NP_Factory } #[derive(Debug)] #[doc(hidden)] enum NP_RCP_Spec<'spec> { Owned(Vec), Borrwed(&'spec [u8]) } impl<'spec> NP_RCP_Spec<'spec> { #[inline(always)] pub fn write(&mut self) -> Result<&mut Vec, NP_Error> { match self { NP_RCP_Spec::Owned(vec) => Ok(vec), _ => Err(NP_Error::Unreachable) } } #[inline(always)] pub fn read(&self) -> &[u8] { match self { NP_RCP_Spec::Owned(vec) => vec, NP_RCP_Spec::Borrwed(vec) => *vec } } } /// RPC Specification #[derive(Debug)] #[doc(hidden)] pub struct NP_RPC_Specification<'spec> { /// Specification for this factory specs: Vec, bytes: NP_RCP_Spec<'spec>, /// Message HashMap spec_msg_hash: NP_HashMap, id_hash: [u8; 4] } impl<'spec> NP_RPC_Specification<'spec> { fn read_str(&self, addr: &NP_Str_Addr) -> &str { let end = addr.idx + addr.len; if end > self.bytes.read().len() { "" } else { unsafe { from_utf8_unchecked(&self.bytes.read()[addr.idx..end]) } } } } struct Parsed_Fn { /// RPC Message argument address pub arg: String, /// RPC Message result address pub result: String, /// RPC message error address (f this is a result kind of function) pub err: String, /// The kind of function this is pub kind: RPC_Fn_Kinds } #[inline(always)] fn read_u16(bytes: &[u8], offset: usize) -> usize { u16::from_be_bytes(unsafe { *(&bytes[offset..(offset + 2)] as *const [u8] as *const [u8; 2])}) as usize } impl<'fact> NP_RPC_Factory<'fact> { /// Parse a JSON RPC spec into an RPC Factory /// pub fn new(json_rcp_spec: &str) -> Result { let parsed = json_decode(String::from(json_rcp_spec))?; let version = String::from(match &parsed["version"] { NP_JSON::String(version) => { version }, _ => { "" } }).split(".").map(|s| s.parse::().unwrap_or(0)).collect::>(); let author_str = match &parsed["author"] { NP_JSON::String(author) => { author }, _ => { "" } }; let id_str = String::from(match &parsed["id"] { NP_JSON::String(id) => { id }, _ => { "" } }).replace("-", ""); let name_str = match &parsed["name"] { NP_JSON::String(name) => { name }, _ => { "" } }; if name_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("API name cannot be longer than 2^16 UTF8 bytes")); } if author_str.len() > core::u16::MAX as usize { return Err(NP_Error::new("Author cannot be longer than 2^16 UTF8 bytes")); } if version.len() != 3 { return Err(NP_Error::new("There must be 3 version points. X.X.X")); } if id_str.len() != 32 { return Err(NP_Error::new("id property must be a V4 UUID.")); } // id let mut id_bytes = [0u8; 19]; for x in 0..16 { let step = x * 2; match u8::from_str_radix(&id_str[step..(step + 2)], 16) { Ok(b) => { id_bytes[x] = b }, Err(_e) => {} } } // version id_bytes[16] = version[0]; id_bytes[17] = version[1]; id_bytes[18] = version[2]; let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&id_bytes, SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut compiled = Vec::with_capacity(1024); // first 2 bytes contains the offset of the first rpc method (uknown right now) compiled.extend_from_slice(&0u16.to_be_bytes()); // next 19 bytes are version compiled.extend_from_slice(&id_bytes); // next bytes are name compiled.extend_from_slice(&(name_str.len() as u16).to_be_bytes()); let name_addr = NP_Str_Addr { idx: compiled.len(), len: name_str.len() }; compiled.extend_from_slice(&name_str.as_bytes()); // next bytes are author compiled.extend_from_slice(&(author_str.len() as u16).to_be_bytes()); let author_addr = NP_Str_Addr { idx: compiled.len(), len: author_str.len() }; compiled.extend_from_slice(&author_str.as_bytes()); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Owned(compiled), spec_msg_hash: NP_HashMap::new() }; // now the messages NP_RPC_Factory::parse_json_msg("mod", &parsed, &mut spec)?; if spec.bytes.read().len() > core::u16::MAX as usize { return Err(NP_Error::new("Too many messages in spec, can't compile.")) } // set first 2 bytes to correct offset after we've inserted all messages for (x, b) in (spec.bytes.read().len() as u16).to_be_bytes().iter().enumerate() { spec.bytes.write()?[x] = *b; } // and finally the methods NP_RPC_Factory::parse_json_rpc("", "mod", &parsed, &mut spec)?; let mut method_hash: NP_HashMap = NP_HashMap::new(); for (idx, one_spec) in spec.specs.iter().enumerate() { match one_spec { NP_RPC_Spec::RPC { full_name, .. } => { method_hash.insert(spec.read_str(full_name), idx)?; }, _ => {} } } Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_bytes(&[0u8])? }) } /// Get API name pub fn get_name(&self) -> &str { self.spec.read_str(&self.name) } /// Get API author pub fn get_author(&self) -> &str { self.spec.read_str(&self.author) } /// Get API ID pub fn get_id(&self) -> String { let mut uuid_value = [0u8; 16]; for x in 0..16usize { uuid_value[x] = self.spec.bytes.read()[x + 2]; } NP_UUID { value: uuid_value }.to_string() } /// Get API Version pub fn get_version(&self) -> String { let mut version: String = String::from(""); for x in 0..3usize { version.push_str(self.spec.bytes.read()[18 + x].to_string().as_str()); if x != 2 { version.push_str("."); } } version } /// Parse RPC messages fn parse_json_msg(module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["msg"] { // msg type NP_JSON::String(msg_name) => { let schema = NP_Schema::from_json(Vec::new(), &Box::new(jspec.clone()))?; let factory = NP_Factory { schema: NP_Schema { is_sortable: schema.0, parsed: schema.2 }, schema_bytes: schema.1 }; let full_name = format!("{}::{}", module, msg_name); // insert this message address // spec.compiled_msg_hash.insert(&full_name, spec.compiled.len())?; let bytes_w = spec.bytes.write()?; let schema = factory.export_schema_bytes(); bytes_w.extend_from_slice(&(schema.len() as u16).to_be_bytes()); bytes_w.extend(schema); spec.spec_msg_hash.insert(&full_name, spec.specs.len())?; spec.specs.push(NP_RPC_Spec::MSG { factory: factory }); }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); new_mod.push_str("::"); new_mod.push_str(mod_name); NP_RPC_Factory::parse_json_msg(&new_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Parse RPC methods fn parse_json_rpc(module: &str, msg_module: &str, json: &NP_JSON, spec: &mut NP_RPC_Specification) -> Result<(), NP_Error> { match &json["spec"] { NP_JSON::Array(json_spec) => { for jspec in json_spec.iter() { match &jspec["rpc"] { // rpc type NP_JSON::String(rpc_name) => { match &jspec["fn"] { NP_JSON::String(fn_def) => { let parsed_def = NP_RPC_Factory::method_string_parse(msg_module, fn_def)?; let full_name = if module == "" { String::from(rpc_name) } else { format!("{}.{}", module, rpc_name) }; let bytes_w = spec.bytes.write()?; // compile the RPC spec bytes_w.extend_from_slice(&(full_name.len() as u16).to_be_bytes()); let f_addr = NP_Str_Addr { idx: bytes_w.len(), len: full_name.len() }; bytes_w.extend_from_slice(&full_name.as_bytes()); bytes_w.push(parsed_def.kind as u8); if parsed_def.arg.len() == 0 { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let arg_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.arg))?; bytes_w.extend_from_slice(&(*arg_addr as u16 + 1).to_be_bytes()); } if parsed_def.result.len() == 0 || parsed_def.result == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let result_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.result))?; bytes_w.extend_from_slice(&(*result_addr as u16 + 1).to_be_bytes()); } if parsed_def.kind == RPC_Fn_Kinds::result { if parsed_def.err.len() == 0 || parsed_def.err == "()" { bytes_w.extend_from_slice(&0u16.to_be_bytes()); } else { let err_addr = opt_err(spec.spec_msg_hash.get(&parsed_def.err))?; bytes_w.extend_from_slice(&(*err_addr as u16 + 1).to_be_bytes()); } } // provide struct data let rpc = NP_RPC_Spec::RPC { // name: if module == "" { f_addr } else { NP_Str_Addr { idx: f_addr.idx + module.len() + 1, len: rpc_name.len() } }, // module_path: NP_Str_Addr { idx: f_addr.idx, len: module.len() }, full_name: f_addr, arg: if parsed_def.arg.len() == 0 { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.arg, &spec)?) }, result: if parsed_def.result.len() == 0 || parsed_def.result == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.result, &spec)?) }, err: if parsed_def.err.len() == 0 || parsed_def.err == "()" { None } else { Some(NP_RPC_Factory::find_msg(&parsed_def.err, &spec)?) }, kind: parsed_def.kind }; spec.specs.push(rpc); }, _ => return Err(NP_Error::new("RPC methods must have an 'fn' property!")) } }, _ => { match &jspec["mod"] { // module NP_JSON::String(mod_name) => { let mut new_mod = String::from(module); if module.len() > 0 { new_mod.push_str("."); } new_mod.push_str(mod_name); let mut new_msg_mod = String::from(msg_module); new_msg_mod.push_str("::"); new_msg_mod.push_str(mod_name); NP_RPC_Factory::parse_json_rpc(&new_mod, &new_msg_mod, &jspec, spec)?; }, _ => { } } } } } }, _ => { return Err(NP_Error::new("RPC Objects must have a 'spec' property!")) } } Ok(()) } /// Find a particular message in the spec vec /// fn find_msg(msg_name: &String, spec: &NP_RPC_Specification) -> Result { if msg_name == "" { return Err(NP_Error::new("Missing message decleration in rpc method.")) } match spec.spec_msg_hash.get(msg_name) { Some(idx) => { Ok(*idx) }, None => { let mut name = msg_name.clone(); name.push_str("Can't find rpc message '"); name.push_str(msg_name); name.push_str("'."); Err(NP_Error::new(name.as_str())) } } } /// Parse an FN method string into it's parts /// /// Handle these different kinds of signatures: /// "(self::get) -> Result" /// "(self::get) -> Option" /// "(self::get) -> self::get" /// "() -> self::get" /// "() => ()" /// fn method_string_parse(module: &str, function_str: &str) -> Result { let fn_kind = { if function_str.contains("Result<") { RPC_Fn_Kinds::result } else if function_str.contains("Option<") { RPC_Fn_Kinds::option } else { RPC_Fn_Kinds::normal } }; let open_paren = opt_err(function_str.find("("))? + 1; let close_paren = opt_err(function_str.find(")"))?; let arg_name = function_str[open_paren..close_paren].trim(); let after_arrow = opt_err(function_str.find("->"))? + 2; let return_name = function_str[after_arrow..].trim(); match &fn_kind { RPC_Fn_Kinds::normal => { Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(return_name).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::option => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(&return_name[open..close]).replace("self", module), err: String::from(""), kind: fn_kind}) }, RPC_Fn_Kinds::result => { let open = opt_err(return_name.find("<"))? + 1; let close = opt_err(return_name.find(">"))?; let results = &return_name[open..close]; let comma = opt_err(results.find(","))?; Ok(Parsed_Fn { arg: String::from(arg_name).replace("self", module), result: String::from(results[..comma].trim()).replace("self", module), err: String::from(results[(comma+1)..].trim()).replace("self", module), kind: fn_kind}) }, } } /// Parse a byte rpc spec into an RPC Factory. /// /// This method is orders of magnitude faster than the `new` method since there's no JSON to parse and only a few memory allocations. /// pub fn new_bytes(bytes_rpc_spec: &'fact [u8]) -> Result { let mut id_hash = [0u8; 4]; for (x, b) in murmurhash3_x86_32(&bytes_rpc_spec[2..21], SEED).to_be_bytes().iter().enumerate() { id_hash[x] = *b; } let mut offset: usize = 21; let name_len = read_u16(bytes_rpc_spec, offset); let name_addr = NP_Str_Addr { idx: offset + 2, len: name_len }; offset += 2 + name_len; let author_len = read_u16(bytes_rpc_spec, offset); let author_addr = NP_Str_Addr { idx: offset + 2, len: author_len }; offset += 2 + author_len; // now at begnning of messages let end_of_messages = read_u16(bytes_rpc_spec, 0); let mut spec = NP_RPC_Specification { id_hash, specs: Vec::with_capacity(1024), bytes: NP_RCP_Spec::Borrwed(bytes_rpc_spec), spec_msg_hash: NP_HashMap::empty() }; let read_bytes = spec.bytes.read(); while offset < end_of_messages { let schema_len = read_u16(bytes_rpc_spec, offset); offset += 2; spec.specs.push(NP_RPC_Spec::MSG { factory: NP_Factory::new_bytes(&spec.bytes.read()[offset..(offset + schema_len)])? }); offset += schema_len; } // messages are now parsed, time for RPC methods offset = end_of_messages; let mut method_hash: NP_HashMap = NP_HashMap::new(); while offset < read_bytes.len() { let name_len = read_u16(bytes_rpc_spec, offset); offset += 2; let full_name = NP_Str_Addr { idx: offset, len: name_len }; offset += name_len; let fn_kind = RPC_Fn_Kinds::from(read_bytes[offset]); offset += 1; let arg_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let result_addr = read_u16(bytes_rpc_spec, offset); offset += 2; let err_addr = if fn_kind == RPC_Fn_Kinds::result { let addr = read_u16(bytes_rpc_spec, offset); offset += 2; addr } else { 0 }; method_hash.insert(spec.read_str(&full_name), spec.specs.len())?; spec.specs.push(NP_RPC_Spec::RPC { full_name: full_name, arg: if arg_addr == 0 { None } else { Some(arg_addr - 1) }, result: if result_addr == 0 { None } else { Some(result_addr - 1) }, err: if err_addr == 0 { None } else { Some(err_addr - 1) }, kind: fn_kind }); } // methods are now parsed Ok(Self { name: name_addr, author: author_addr, method_hash, spec: spec, empty: NP_Factory::new_bytes(&[0u8])? }) } /// Get a copy of the compiled byte array specification /// /// The compiled byte array is *much* faster to parse and takes up *much* less space. /// /// If you don't need the verbosity of the JSON spec, use this instead. /// pub fn compile_spec(&self) -> &[u8] { self.spec.bytes.read() } /// Generate a new request object for a given rpc function /// pub fn new_request(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, arg, .. } => { return Ok(NP_RPC_Request { rpc_addr: *idx, spec: &self.spec, rpc: *full_name, empty: self.empty.new_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find request.")) } }, None => Err(NP_Error::new("Cannot find request.")) } } /// Open a request. The request spec and version must match the current spec and version of this factory. /// pub fn open_request(&self, bytes: Vec) -> Result { // first 19 bytes are id + version let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Request => { }, _ => return Err(NP_Error::new("Attempted to open non request buffer with request method.")) }; match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, arg, .. } => { Ok(NP_RPC_Request { rpc_addr, spec: &self.spec, rpc: *full_name, empty: self.empty.new_buffer(None), data: match *arg { Some(arg) => { match &self.spec.specs[arg] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[7..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } /// Generate a new response object for a given rpc function /// pub fn new_response(&self, rpc_name: &str) -> Result { match self.method_hash.get(rpc_name) { Some(idx) => { match &self.spec.specs[*idx] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: *idx, rpc: *full_name, spec: &self.spec, kind: NP_ResponseKinds::None, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) } }) }, _ => Err(NP_Error::new("Cannot find response!")) } }, None => Err(NP_Error::new("Cannot find response!")) } } /// Open a response. The response spec and version must match the current spec and version of this factory. /// pub fn open_response(&self, bytes: Vec) -> Result { // first 4 bytes are id hash (version + uuid) let id_bytes = &bytes[..4]; if id_bytes != self.spec.id_hash { return Err(NP_Error::new("API ID or Version mismatch.")) } // next 2 bytes is rpc address let rpc_addr = read_u16(&bytes, 4); // next 1 byte is request/response byte match RPC_Type::from(bytes[6]) { RPC_Type::Response => { }, _ => return Err(NP_Error::new("Attempted to open non response buffer with response method.")) }; match NP_ResponseKinds::from(bytes[7]) { NP_ResponseKinds::None => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::None, has_err: *err != Option::None, spec: &self.spec, rpc: *full_name, data: self.empty.new_buffer(None), error: self.empty.new_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Ok => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Ok, has_err: *err != Option::None, rpc: *full_name, spec: &self.spec, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.new_buffer(None) }, error: self.empty.new_buffer(None) }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } }, NP_ResponseKinds::Error => { match &self.spec.specs[rpc_addr] { NP_RPC_Spec::RPC { full_name, err, .. } => { Ok(NP_RPC_Response { rpc_addr, kind: NP_ResponseKinds::Error, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: self.empty.new_buffer(None), error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.open_buffer(bytes[8..].to_vec()), _ => return Err(NP_Error::Unreachable) } }, None => return Err(NP_Error::new("Got error result on RPC method with no error type.")) } }) }, _ => return Err(NP_Error::new("Can't find associated RPC Method.")) } } } } } /// The different kinds of responses #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[repr(u8)] pub enum NP_ResponseKinds { /// Ok response is the default Ok, /// Response contains an error Error, /// Response doesn't contain a value None } impl From for NP_ResponseKinds { fn from(value: u8) -> Self { if value > 2 { return NP_ResponseKinds::Ok; } unsafe { core::mem::transmute(value) } } } #[derive(Debug)] #[repr(u8)] #[allow(missing_docs)] #[doc(hidden)] pub enum RPC_Type { None, Request, Response } impl From for RPC_Type { fn from(value: u8) -> Self { if value > 2 { return RPC_Type::None; } unsafe { core::mem::transmute(value) } } } /// RPC Request object pub struct NP_RPC_Request<'request> { /// the address for this rcp message rpc_addr: usize, /// Parent spec object spec: &'request NP_RPC_Specification<'request>, /// the name of the rpc function rpc: NP_Str_Addr, /// the request data pub data: NP_Buffer, empty: NP_Buffer } impl<'request> NP_RPC_Request<'request> { /// Get the API id of the RPC schema this came from. pub fn api_id(&self) -> &str { todo!() } /// Get the API version of the RPC schema this came from. pub fn api_version(&self) -> &str { todo!() } /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Get empty response for this request pub fn new_response(&self) -> Result { match &self.spec.specs[self.rpc_addr] { NP_RPC_Spec::RPC { full_name, result, err, .. } => { return Ok(NP_RPC_Response { rpc_addr: self.rpc_addr, kind: NP_ResponseKinds::None, rpc: *full_name, spec: &self.spec, has_err: *err != Option::None, data: match *result { Some(result) => { match &self.spec.specs[result] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.clone() }, error: match *err { Some(err) => { match &self.spec.specs[err] { NP_RPC_Spec::MSG { factory, .. } => factory.new_buffer(None), _ => return Err(NP_Error::Unreachable) } }, None => self.empty.clone() } }) }, _ => { } }; Err(NP_Error::new("Response not found!")) } /// Close this request and get bytes pub fn rpc_close(self) -> Vec { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 3); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Request as u8); response_bytes.extend(self.data.finish().bytes()); response_bytes } } /// RPC Response object pub struct NP_RPC_Response<'response> { /// the address for this rpc message rpc_addr: usize, /// error message is set has_err: bool, /// what kind of response is this? pub kind: NP_ResponseKinds, /// the name of the rpc function rpc: NP_Str_Addr, spec: &'response NP_RPC_Specification<'response> , /// the data of this response pub data: NP_Buffer, /// if this is an error, the error data pub error: NP_Buffer } impl<'request> NP_RPC_Response<'request> { /// Get the API id of the RPC schema this came from. pub fn api_id(&self) -> &str { todo!() } /// Get the API version of the RPC schema this came from. pub fn api_version(&self) -> &str { todo!() } /// Get the name of this RPC method pub fn rpc_name(&self) -> &str { self.spec.read_str(&self.rpc) } /// Close this response /// /// The only failure condition is if you set the `kind` to `NP_ResponseKinds::Error` but didn't have an error type declared in the rpc method. /// pub fn rpc_close(self) -> Result, NP_Error> { let mut response_bytes: Vec = Vec::with_capacity(self.data.read_bytes().len() + 19 + 4); response_bytes.extend_from_slice(&self.spec.id_hash); response_bytes.extend_from_slice(&(self.rpc_addr as u16).to_be_bytes()); response_bytes.push(RPC_Type::Response as u8); response_bytes.push(self.kind as u8); match &self.kind { NP_ResponseKinds::Ok => { response_bytes.extend(self.data.finish().bytes()); }, NP_ResponseKinds::None => { }, NP_ResponseKinds::Error => { if self.has_err { response_bytes.extend(self.error.finish().bytes()); } else { return Err(NP_Error::new("Attempted to close response as error type without error message defined in rpc method.")) } } } Ok(response_bytes) } } #[test] fn rpc_test() -> Result<(), NP_Error> { let rpc_factory = NP_RPC_Factory::new(r#"{ "name": "test api", "description": "", "author": "Jeb Kermin", "id": "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F", "version": "1.2.3", "spec": [ {"msg": "Error", "type": "string" }, {"msg": "Count", "type": "u32" }, {"rpc": "get_count", "fn": "() -> self::Count"}, {"mod": "user", "spec": [ {"msg": "username", "type": "string"}, {"msg": "user_id", "type": "u32"}, {"rpc": "get_user_id", "fn": "(self::username) -> Option"}, {"rpc": "del_user", "fn": "(self::user_id) -> Result"}, ]} ] }"#)?; // checks that compiled byte specs work assert_eq!(rpc_factory.compile_spec().len(), 132); // JSON schema above is 467 bytes without whitespace let rpc_factory = NP_RPC_Factory::new_bytes(&rpc_factory.compile_spec())?; assert_eq!(rpc_factory.get_name(), "test api"); assert_eq!(rpc_factory.get_author(), "Jeb Kermin"); assert_eq!(rpc_factory.get_id(), "CC419A66-9BBE-48DB-AD1C-E0FFA2A2376F"); assert_eq!(rpc_factory.get_version(), "1.2.3"); // === CLIENT === // generate request let get_count: NP_RPC_Request = rpc_factory.new_request("get_count")?; // close request let count_req_bytes: Vec = get_count.rpc_close(); assert_eq!(count_req_bytes.len(), 13); // === SEND count_req_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(count_req_bytes)?; assert_eq!(a_request.rpc_name(), "get_count"); // generate a response let mut count_response: NP_RPC_Response = a_request.new_response()?; // set response data count_response.data.set(&[] as &[&str], 20u32)?; // set response kind count_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = count_response.rpc_close()?; assert_eq!(respond_bytes.len(), 18); // === SEND respond_bytes to CLIENT ==== // === CLIENT === let count_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(count_response.rpc_name(), "get_count"); // confirm that we got data in the response assert_eq!(count_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data the server sent assert_eq!(count_response.data.get(&[])?, Some(20u32)); // Now do a result request with error // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[] as &[&str], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.error.set(&[], "Can't find user.")?; del_response.kind = NP_ResponseKinds::Error; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm we recieved error response assert_eq!(del_response.kind, NP_ResponseKinds::Error); // get the error information assert_eq!(del_response.error.get(&[])?, Some("Can't find user.")); // Now do a result request with an ok return // === CLIENT === // generate request let mut del_user: NP_RPC_Request = rpc_factory.new_request("user.del_user")?; del_user.data.set(&[], 50u32)?; let del_user_bytes: Vec = del_user.rpc_close(); // === SEND del_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(del_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.del_user"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as error del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.del_user"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with an ok return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as ok with data del_response.data.set(&[], 50u32)?; del_response.kind = NP_ResponseKinds::Ok; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::Ok); // confirm it's the same data set on the server assert_eq!(del_response.data.get(&[])?, Some(50u32)); // Now do an option request with a none return // === CLIENT === // generate request let mut get_user: NP_RPC_Request = rpc_factory.new_request("user.get_user_id")?; get_user.data.set(&[], "username")?; let get_user_bytes: Vec = get_user.rpc_close(); // === SEND get_user_bytes to SERVER === // === SERVER === // ingest request let a_request: NP_RPC_Request = rpc_factory.open_request(get_user_bytes)?; assert_eq!(a_request.rpc_name(), "user.get_user_id"); // generate a response let mut del_response: NP_RPC_Response = a_request.new_response()?; // set response as none del_response.kind = NP_ResponseKinds::None; // close response let respond_bytes = del_response.rpc_close()?; // === SEND respond_bytes to CLIENT ==== // === CLIENT === let del_response = rpc_factory.open_response(respond_bytes)?; // confirm our response matches the same request RPC we sent assert_eq!(del_response.rpc_name(), "user.get_user_id"); // confirm that we got data in the response assert_eq!(del_response.kind, NP_ResponseKinds::None); // with NONE response there is no data Ok(()) } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/schema.rs ================================================ //! Schemas are used to describe the shape and types of buffer objects //! //! NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it. //! //! Schemas can be loaded from JSON, ES6 or Bytes. //! //! As a quick example, the schemas below are indentical in what they describe, only different in syntax. //! ```text //! /* List Of Strings */ //! //! // JSON Schema //! {"type": "list", "of": {"type": "string"}} //! //! // ES6 Schema //! list({of: string()}) //! //! // Byte schema (not human readable) //! [23, 2, 0, 0, 0, 0, 0] //! ``` //! //! NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it. //! //! Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it. //! //! Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. //! //! Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string: //! ```text //! // JSON //! { //! "type": "string" //! } //! // ES6 //! string() //! ``` //! //! However, you will likely want to store more complicated objects, so that's easy to do as well. //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["userID", {"type": "string"}], // userID field contains a string //! ["password", {"type": "string"}], // password field contains a string //! ["email", {"type": "string"}], // email field contains a string //! ["age", {"type": "u8"}] // age field contains a Uint8 number (0 - 255) //! ] //! } //! //! // ES6 //! struct({fields: { //! userID: string(), // userID field contains a string //! password: string(), // password field contains a string //! email: string(), // email field contains a string //! age: u8() // age field contains a Uint8 number (0 - 255) //! }}) //! ``` //! //! There are multiple collection types and they can be nested. //! //! For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type. //! ```text //! // JSON //! { //! "type": "list", //! "of": { //! "type": "struct", //! "fields": [ //! ["id", {"type": "string"}] //! ["title", {"type": "string"}] //! ] //! } //! } //! //! // ES6 //! list({of: struct({fields: { //! id: string(), //! title: string() //! }})}) //! ``` //! You can nest collections as much and however you'd like, up to 255 levels. //! //! A list of strings is just as easy... //! //! ```text //! // JSON //! { //! "type": "list", //! "of": { "type": "string" } //! } //! //! // ES6 //! list({of: string()}) //! ``` //! //! **ES6 Schemas**
//! NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax. //! //! The following ES6 syntax is supported: //! - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn("hello", [1, 2])` //! - Single line comments on their own line or at the end of a line using double slash `//`. //! - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `["hello", myFn()]` //! - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: "value"}`, `{foo: "bar", baz: myFn()}` //! - Arrays and objects can be safely nested. There is a nesting limit of 255 levels. //! - Numbers, Strings contained in double quotes '`"`', and Boolean values. //! - Strings can safely contain escaped double quotes `\"` inside them. //! - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }` //! //! If the syntax is not in the above list, it will not be parsed correctly by NoProto. //! //! ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas. //! //! **JSON Schemas**
//! //! If you're familiar with Typescript, JSON schemas can be described by this recursive interface: //! //! ```typescript //! interface NP_Schema { //! // table, string, bytes, etc //! type: string; //! //! // used by string & bytes types //! size?: number; //! //! // used by decimal type, the number of decimal places every value has //! exp?: number; //! //! // used by tuple to indicite bytewise sorting of children //! sorted?: boolean; //! //! // used by list types //! of?: NP_Schema //! //! // used by map types //! value?: NP_Schema //! //! // used by tuple types //! values?: NP_Schema[] //! //! // used by struct types //! fields?: [string, NP_Schema][]; //! //! // used by option/enum types //! choices?: string[]; //! //! // used by unions //! types?: [string, NP_Schema][]; //! //! // used by portals //! to?: string //! //! // default value for this item //! default?: any; //! } //! ``` //! //! ## Schema Data Types //! Each type has trade offs associated with it. The table and documentation below go into further detail. //! //! ### Supported Data Types //! //! | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes | //! |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------| //! | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. | //! | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. | //! | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. | //! | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. | //! | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. | //! | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. | //! | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. | //! | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 | //! | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 | //! | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 | //! | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 | //! | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 | //! | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 | //! | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 | //! | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 | //! | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 | //! | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 | //! | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. | //! | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | | //! | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. | //! | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate | //! | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate | //! | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate | //! | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) | //! | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs | //! | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 | //! | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | //! //! - \* `sorting` must be set to `true` in the schema for this object to enable sorting. //! - \*\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema //! //! # Legend //! //! **Bytewise Sorting**
//! Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases. //! //! Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose. //! //! You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical. //! //! **Compaction**
//! Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided. //! //! Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence. //! //! Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options. //! //! Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space. //! //! - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact) //! //! **Schema Mutations**
//! Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction. //! //! There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe. //! //! Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`. //! //! # Schema Types //! //! Every schema type maps exactly to a native data type in your code. //! //! ## struct //! Structs represnt a fixed number of named fields, with each field having it's own data type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Fields without values will be removed from the buffer durring compaction. //! - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. //! //! Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes. //! //! Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data. //! //! If you need flexible field names use a `map` type instead. //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ // can have between 1 and 255 fields //! ["field name", {"type": "data type for this field"}], //! ["name", {"type": "string"}], //! ["tags", {"type": "list", "of": { // nested list of strings //! "type": "string" //! }}], //! ["age", {"type": "u8"}], // Uint8 number //! ["meta", {"type": "struct", "fields": [ // nested struct //! ["favorite_color", {"type": "string"}], //! ["favorite_sport", {"type": "string"}] //! ]}] //! ] //! } //! //! // ES6 //! struct({fields: { //! // data_type() isn't a real data type... //! field_name: data_type(), //! name: string(), //! tags: list({of: string()}), //! age: u8(), //! meta: struct({fields: { //! favorite_color: string(), //! favorite_sport: string() //! }}) //! }}) //! ``` //! //! ## list //! Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space. //! - **Schema Mutations**: None //! //! Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. //! //! The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list. //! //! ```text //! // a list of list of strings //! // JSON //! { //! "type": "list", //! "of": { //! "type": "list", //! "of": {"type": "string"} //! } //! } //! // ES6 //! list({of: list({of: string()})}) //! //! // list of numbers //! // JSON //! { //! "type": "list", //! "of": {"type": "i32"} //! } //! //! // ES6 //! list({of: i32()}) //! ``` //! //! //! ## map //! A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type. //! //! - **Bytewise Sorting**: Unsupported //! - **Compaction**: Keys without values are removed from the buffer //! - **Schema Mutations**: None //! //! Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map. //! //! If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. //! //! The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values. //! //! ```text //! // a map where every value is a string //! // JSON //! { //! "type": "map", //! "value": { //! "type": "string" //! } //! } //! // ES6 //! map({value: string()}) //! ``` //! //! //! ## tuple //! A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items. //! //! - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`. //! - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated. //! - **Schema Mutations**: No mutations are safe //! //! Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples. //! //! **Sorting**
//! You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size. //! //! When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size. //! //! ```text //! // JSON //! { //! "type": "tuple", //! "values": [ //! {"type": "string"}, //! {"type": "list", "of": {"type": "strings"}}, //! {"type": "u64"} //! ] //! } //! // ES6 //! tuple({values: [string(), list({of: string()}), u64()]}) //! //! // tuple for bytewise sorting //! // JSON //! { //! "type": "tuple", //! "sorted": true, //! "values": [ //! {"type": "string", "size": 25}, //! {"type": "u8"}, //! {"type": "i64"} //! ] //! } //! //! // ES6 //! tuple({storted: true, values: [ //! string({size: 25}), //! u8(), //! i64() //! ]}) //! ``` //! //! //! //! ## string //! A string is a fixed or dynamically sized collection of utf-8 encoded bytes. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing string values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size strings in your buffers. If a provided string is larger than the `size` property it will be truncated. Smaller strings will be padded with white space. //! //! ```text //! // JSON //! { //! "type": "string" //! } //! // ES6 //! string() //! //! //! // fixed size //! // JSON //! { //! "type": "string", //! "size": 20 //! } //! // ES6 //! string({size: 20}) //! //! // with default value //! // JSON //! { //! "type": "string", //! "default": "Default string value" //! } //! //! // ES6 //! string({default: "Default string value"}) //! ``` //! //! More Details: //! - [Using String data type](../pointer/string/index.html) //! //! ## bytes //! Bytes are fixed or dynimcally sized Vec collections. //! //! - **Bytewise Sorting**: Supported only if `size` property is set in schema. //! - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length. //! - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing bytes values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe. //! //! The `size` property provides a way to have fixed size `&[u8]` in your buffers. If a provided byte slice is larger than the `size` property it will be truncated. Smaller byte slices will be padded with zeros. //! //! ```text //! // JSON //! { //! "type": "bytes" //! } //! // ES6 //! bytes() //! //! // fixed size //! // JSON //! { //! "type": "bytes", //! "size": 20 //! } //! // ES6 //! bytes({size: 20}) //! //! // with default value //! // JSON //! { //! "type": "bytes", //! "default": [1, 2, 3, 4] //! } //! //! // ES6 //! bytes({default: [1, 2, 3, 4]}) //! ``` //! //! More Details: //! - [Using NP_Bytes data type](../pointer/bytes/index.html) //! //! ## int8, int16, int32, int64 //! Signed integers allow positive or negative whole numbers to be stored. The bytes are stored in big endian format and converted to unsigned types to allow bytewise sorting. //! //! ```text //! // JSON //! { //! "type": "i8" //! } //! //! // ES6 //! i8() //! //! // with default value //! // JSON //! { //! "type": "i8", //! "default": 20 //! } //! //! // ES6 //! i8({default: 20}) //! ``` //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## uint8, uint16, uint32, uint64 //! Unsgined integers allow only positive whole numbers to be stored. The bytes are stored in big endian format to allow bytewise sorting. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "u8" //! } //! //! // ES6 //! u8() //! //! //! // with default value //! // JSON //! { //! "type": "u8", //! "default": 20 //! } //! // ES6 //! u8({default: 20}) //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## float, double //! Allows the storage of floating point numbers of various sizes. Bytes are stored in big endian format. //! //! - **Bytewise Sorting**: Unsupported, use decimal type. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "f32" //! } //! //! // ES6 //! f32() //! //! // with default value //! // JSON //! { //! "type": "f32", //! "default": 20.283 //! } //! //! // ES6 //! f32({default: 20.283}) //! //! ``` //! //! More Details: //! - [Using number data types](../pointer/numbers/index.html) //! //! ## enum //! Allows efficeint storage of a selection between a known collection of ordered strings. The selection is stored as a single u8 byte, limiting the max number of choices to 255. Also the choices themselves cannot be longer than 255 UTF8 bytes each. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: You can safely add new choices to the end of the list or update the existing choices in place. If you need to delete a choice, just make it an empty string. Changing the order of the choices is destructive as this type only stores the index of the choice it's set to. //! //! There is one required property of this schema called `choices`. The property should contain an array of strings that represent all possible choices of the option. //! //! ```text //! // JSON //! { //! "type": "enum", //! "choices": ["choice 1", "choice 2", "etc"] //! } //! // ES6 //! enum({choices: ["choice 1", "choice 2", "etc"]}) //! //! // with default value //! // JSON //! { //! "type": "enum", //! "choices": ["choice 1", "choice 2", "etc"], //! "default": "etc" //! } //! //! // ES6 //! enum({choices: ["choice 1", "choice 2", "etc"], default: "etc"}) //! ``` //! //! More Details: //! - [Using NP_Enum data type](../pointer/option/index.html) //! //! ## bool //! Allows efficent storage of a true or false value. The value is stored as a single byte that is set to either 1 or 0. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "bool" //! } //! // ES6 //! bool() //! //! // with default value //! // JSON //! { //! "type": "bool", //! "default": false //! } //! // ES6 //! bool({default: false}) //! ``` //! //! More Details: //! - [Using Bool data type](../pointer/bool/index.html) //! //! ## decimal //! Allows you to store fixed point decimal numbers. The number of decimal places must be declared in the schema as `exp` property and will be used for every value. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! There is a single required property called `exp` that represents the number of decimal points every value will have. //! //! ```text //! // JSON //! { //! "type": "decimal", //! "exp": 3 //! } //! // ES6 //! decimal({exp: 3}) //! //! // with default value //! // JSON //! { //! "type": "decimal", //! "exp": 3, //! "default": 20.293 //! } //! // ES6 //! decimal({exp: 3, default: 20.293}) //! ``` //! //! More Details: //! - [Using NP_Dec data type](../pointer/dec/index.html) //! //! ## geo4, ge8, geo16 //! Allows you to store geographic coordinates with varying levels of accuracy and space usage. //! //! - **Bytewise Sorting**: Not supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! Larger geo values take up more space, but allow greater resolution. //! //! | Type | Bytes | Earth Resolution | Decimal Places | //! |-------|-------|----------------------------------------|----------------| //! | geo4 | 4 | 1.1km resolution (city) | 2 | //! | geo8 | 8 | 11mm resolution (marble) | 7 | //! | geo16 | 16 | 110 microns resolution (grain of sand) | 9 | //! //! ```text //! // JSON //! { //! "type": "geo4" //! } //! // ES6 //! geo4() //! //! // with default //! { //! "type": "geo4", //! "default": {"lat": -20.283, "lng": 19.929} //! } //! // ES6 //! geo4({default: {lat: -20.283, lng: 19.929}}) //! ``` //! //! More Details: //! - [Using NP_Geo data type](../pointer/geo/index.html) //! //! ## ulid //! Allows you to store a unique ID with a timestamp. The timestamp is stored in milliseconds since the unix epoch. //! //! - **Bytewise Sorting**: Supported, orders by timestamp. Order is random if timestamp is identical between two values. //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "ulid" //! } //! // ES6 //! ulid() //! // no default supported //! ``` //! //! More Details: //! - [Using NP_ULID data type](../pointer/ulid/index.html) //! //! ## uuid //! Allows you to store a universally unique ID. //! //! - **Bytewise Sorting**: Supported, but values are random //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "uuid" //! } //! // ES6 //! uuid() //! // no default supported //! ``` //! //! More Details: //! - [Using NP_UUID data type](../pointer/uuid/index.html) //! //! ## date //! Allows you to store a timestamp as a u64 value. This is just a thin wrapper around the u64 type. //! //! - **Bytewise Sorting**: Supported //! - **Compaction**: Updates are done in place, never use additional space. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "date" //! } //! // ES6 //! date() //! //! // with default value (default should be in ms) //! // JSON //! { //! "type": "date", //! "default": 1605909163951 //! } //! // ES6 //! date({default: 1605909163951}) //! ``` //! //! More Details: //! - [Using NP_Date data type](../pointer/date/index.html) //! //! ## portal //! Portals allow types/schemas to be "teleported" from one part of a schema to another. //! //! You can use these for duplicating a type many times in a schema or for recursive data types. //! //! The one required property is `to`, it should be a dot notated path to the type being teleported. If `to` is an empty string, the root is used. //! //! Recursion works up to 255 levels of depth. //! //! - **Bytewise Sorting**: Not Supported //! - **Compaction**: Same behavior as type being teleported. //! - **Schema Mutations**: None //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["value", {"type": "u8"}], //! ["next", {"type": "portal", "to": ""}] //! ] //! } //! // ES6 //! struct({fields: { //! value: u8(), //! next: portal({to: ""}) //! }}) //! ``` //! //! With the above schema, values can be stored at `value`, `next.value`, `next.next.next.value`, etc. //! //! Here is an example where `portal` is used to duplicate a type. //! //! ```text //! // JSON //! { //! "type": "struct", //! "fields": [ //! ["username", {"type": "string"}], //! ["email", {"type": "portal", "to": "username"}] //! ] //! } //! // ES6 //! struct({fields: { //! username: string(), //! email: portal({to: "username"}) //! }}) //! ``` //! //! In the schema above `username` and `email` are both resolved to the `string` type. //! //! Even though structs are the only type used in the examples above, the `portal` type will work with any collection type. //! //! More Details: //! - [Using Portal data type](../pointer/portal/index.html) //! //! ## Next Step //! //! Read about how to initialize a schema into a NoProto Factory. //! //! [Go to NP_Factory docs](../struct.NP_Factory.html) //! use crate::idl::{JS_AST, JS_Schema}; use crate::{np_path, pointer::{NP_Cursor}}; use alloc::{string::String, sync::Arc}; use core::{fmt::Debug}; use crate::{buffer::DEFAULT_ROOT_PTR_ADDR, json_flex::NP_JSON, memory::NP_Memory, pointer::{portal::{NP_Portal}, ulid::NP_ULID, uuid::NP_UUID}}; use crate::pointer::any::NP_Any; use crate::pointer::date::NP_Date; use crate::pointer::geo::NP_Geo; use crate::pointer::dec::NP_Dec; use crate::collection::tuple::NP_Tuple; use crate::pointer::bytes::NP_Bytes; use crate::collection::{list::NP_List, struc::NP_Struct, map::NP_Map}; use crate::pointer::{option::NP_Enum, NP_Value}; use crate::error::NP_Error; use alloc::vec::Vec; use alloc::boxed::Box; /// Simple enum to store the schema types #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[allow(missing_docs)] pub enum NP_TypeKeys { None = 0, Any = 1, UTF8String = 2, Bytes = 3, Int8 = 4, Int16 = 5, Int32 = 6, Int64 = 7, Uint8 = 8, Uint16 = 9, Uint32 = 10, Uint64 = 11, Float = 12, Double = 13, Decimal = 14, Boolean = 15, Geo = 16, Uuid = 17, Ulid = 18, Date = 19, Enum = 20, Struct = 21, Map = 22, List = 23, Tuple = 24, Portal = 25, // Union = 26 } impl From for NP_TypeKeys { fn from(value: u8) -> Self { if value > 26 { return NP_TypeKeys::None; } unsafe { core::mem::transmute(value) } } } impl NP_TypeKeys { /// Convert this NP_TypeKey into a specific type index pub fn into_type_idx<'idx>(&self) -> (&'idx str, NP_TypeKeys) { match self { NP_TypeKeys::None => { ("none", NP_TypeKeys::None) } NP_TypeKeys::Any => { NP_Any::type_idx() } NP_TypeKeys::UTF8String => { String::type_idx() } NP_TypeKeys::Bytes => { NP_Bytes::type_idx() } NP_TypeKeys::Int8 => { i8::type_idx() } NP_TypeKeys::Int16 => { i16::type_idx() } NP_TypeKeys::Int32 => { i32::type_idx() } NP_TypeKeys::Int64 => { i64::type_idx() } NP_TypeKeys::Uint8 => { u8::type_idx() } NP_TypeKeys::Uint16 => { u16::type_idx() } NP_TypeKeys::Uint32 => { u32::type_idx() } NP_TypeKeys::Uint64 => { u64::type_idx() } NP_TypeKeys::Float => { f32::type_idx() } NP_TypeKeys::Double => { f64::type_idx() } NP_TypeKeys::Decimal => { NP_Dec::type_idx() } NP_TypeKeys::Boolean => { bool::type_idx() } NP_TypeKeys::Geo => { NP_Geo::type_idx() } NP_TypeKeys::Uuid => { NP_UUID::type_idx() } NP_TypeKeys::Ulid => { NP_ULID::type_idx() } NP_TypeKeys::Date => { NP_Date::type_idx() } NP_TypeKeys::Enum => { NP_Enum::type_idx() } NP_TypeKeys::Struct => { NP_Struct::type_idx() } NP_TypeKeys::Map => { NP_Map::type_idx() } NP_TypeKeys::List => { NP_List::type_idx() } NP_TypeKeys::Tuple => { NP_Tuple::type_idx() } _ => ("", NP_TypeKeys::None) } } } /// Schema Address (usize alias) #[doc(hidden)] pub type NP_Schema_Addr = usize; #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[repr(u8)] #[doc(hidden)] #[allow(missing_docs)] pub enum String_Case { None = 0, Lowercase = 1, Uppercase = 2, } impl From for String_Case { fn from(value: u8) -> Self { if value > 2 { return String_Case::None; } unsafe { core::mem::transmute(value) } } } #[derive(Debug, Clone, Eq, PartialEq, Copy)] #[doc(hidden)] #[allow(missing_docs)] pub enum NP_Value_Kind { Pointer, Fixed(u32) } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone, PartialEq)] pub struct NP_Struct_Field { pub idx: u8, pub col: String, pub schema: usize, pub offset: usize } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone, PartialEq)] pub struct NP_Tuple_Field { pub schema: usize, pub fixed: bool, pub size: usize, pub offset: usize } /// NULL pointer value #[doc(hidden)] pub static NULL: fn() -> *const u8 = || { 0x0 as *const u8 }; #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Parsed_Schema { pub val: NP_Value_Kind, pub sortable: bool, pub i: NP_TypeKeys, pub data: Arc<*const u8> // *const NP_XXX_Data } unsafe impl Sync for NP_Parsed_Schema {} unsafe impl Send for NP_Parsed_Schema {} impl Default for NP_Parsed_Schema { fn default() -> Self { Self { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::None, sortable: false, data: Arc::new(NULL()), } } } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u8_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u16_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_u64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i8_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i16_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_i64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_f32_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_f64_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Bool_Data { pub default: Option } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_String_Data { pub default: Option, pub size: u32, pub case: String_Case, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Bytes_Data { pub default: Option>, pub size: u32 } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Geo_Data { pub default: Option, pub size: u8, } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Dec_Data { pub default: Option, pub exp: u8 } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Enum_Data { pub default: Option, pub choices: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Struct_Data { pub fields: Vec, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Map_List_Data { pub child: usize } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Tuple_Data { pub values: Vec, pub empty: Vec } #[allow(missing_docs)] #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Portal_Data { pub path: String, pub schema: usize, pub parent_schema: usize } impl Drop for NP_Parsed_Schema { fn drop(&mut self) { match self.i { NP_TypeKeys::None => {} NP_TypeKeys::Any => {} NP_TypeKeys::Uuid => {} NP_TypeKeys::Ulid => {} NP_TypeKeys::UTF8String => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_String_Data) }); } } NP_TypeKeys::Bytes => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Bytes_Data) }); } } NP_TypeKeys::Uint8 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u8_Data) }); } } NP_TypeKeys::Uint16 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u16_Data) }); } } NP_TypeKeys::Uint32 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u32_Data) }); } } NP_TypeKeys::Uint64 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u64_Data) }); } } NP_TypeKeys::Int8 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i8_Data) }); } } NP_TypeKeys::Int16 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i16_Data) }); } } NP_TypeKeys::Int32 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i32_Data) }); } } NP_TypeKeys::Int64 => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_i64_Data) }); } } NP_TypeKeys::Float => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_f32_Data) }); } } NP_TypeKeys::Double => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_f64_Data) }); } } NP_TypeKeys::Decimal => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Dec_Data) }); } } NP_TypeKeys::Boolean => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Bool_Data) }); } } NP_TypeKeys::Geo => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Geo_Data) }); } } NP_TypeKeys::Date => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_u64_Data) }); } } NP_TypeKeys::Enum => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Enum_Data) }); } } NP_TypeKeys::Struct => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Struct_Data) }); } } NP_TypeKeys::Map => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Map_List_Data) }); } } NP_TypeKeys::List => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Map_List_Data) }); } } NP_TypeKeys::Tuple => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Tuple_Data) }); } } NP_TypeKeys::Portal => { if NULL() != *self.data && Arc::strong_count(&self.data) == 1 { drop(unsafe { Box::from_raw(*self.data as *mut NP_Portal_Data) }); } } // NP_TypeKeys::Union => { // } } } } /// New NP Schema #[doc(hidden)] #[derive(Debug, Clone)] pub struct NP_Schema { /// is this schema sortable? pub is_sortable: bool, /// recursive parsed schema pub parsed: Vec } impl NP_Schema { /// Get a IDL represenatation of this schema pub fn to_idl(&self) -> Result { NP_Schema::_type_to_idl(&self.parsed, 0) } /// Recursive function parse schema into IDL #[doc(hidden)] pub fn _type_to_idl(parsed_schema: &Vec, address: usize) -> Result { match parsed_schema[address].i { NP_TypeKeys::Any => { NP_Any::schema_to_idl(parsed_schema, address) } NP_TypeKeys::UTF8String => { String::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Bytes => { NP_Bytes::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int8 => { i8::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int16 => { i16::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int32 => { i32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Int64 => { i64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint8 => { u8::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint16 => { u16::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint32 => { u32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uint64 => { u64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Float => { f32::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Double => { f64::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Decimal => { NP_Dec::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Boolean => { bool::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Geo => { NP_Geo::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Uuid => { NP_UUID::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Ulid => { NP_ULID::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Date => { NP_Date::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Enum => { NP_Enum::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Struct => { NP_Struct::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Map => { NP_Map::schema_to_idl(parsed_schema, address) } NP_TypeKeys::List => { NP_List::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Tuple => { NP_Tuple::schema_to_idl(parsed_schema, address) } NP_TypeKeys::Portal => { NP_Portal::schema_to_idl(parsed_schema, address) } // NP_TypeKeys::Union => { NP_Union::schema_to_idl(parsed_schema, address) } _ => { Ok(String::from("")) } } } /// Get a JSON represenatation of this schema pub fn to_json(&self) -> Result { NP_Schema::_type_to_json(&self.parsed, 0) } /// Recursive function parse schema into JSON #[doc(hidden)] pub fn _type_to_json(parsed_schema: &Vec, address: usize) -> Result { match parsed_schema[address].i { NP_TypeKeys::Any => { NP_Any::schema_to_json(parsed_schema, address) } NP_TypeKeys::UTF8String => { String::schema_to_json(parsed_schema, address) } NP_TypeKeys::Bytes => { NP_Bytes::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int8 => { i8::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int16 => { i16::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int32 => { i32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Int64 => { i64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint8 => { u8::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint16 => { u16::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint32 => { u32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uint64 => { u64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Float => { f32::schema_to_json(parsed_schema, address) } NP_TypeKeys::Double => { f64::schema_to_json(parsed_schema, address) } NP_TypeKeys::Decimal => { NP_Dec::schema_to_json(parsed_schema, address) } NP_TypeKeys::Boolean => { bool::schema_to_json(parsed_schema, address) } NP_TypeKeys::Geo => { NP_Geo::schema_to_json(parsed_schema, address) } NP_TypeKeys::Uuid => { NP_UUID::schema_to_json(parsed_schema, address) } NP_TypeKeys::Ulid => { NP_ULID::schema_to_json(parsed_schema, address) } NP_TypeKeys::Date => { NP_Date::schema_to_json(parsed_schema, address) } NP_TypeKeys::Enum => { NP_Enum::schema_to_json(parsed_schema, address) } NP_TypeKeys::Struct => { NP_Struct::schema_to_json(parsed_schema, address) } NP_TypeKeys::Map => { NP_Map::schema_to_json(parsed_schema, address) } NP_TypeKeys::List => { NP_List::schema_to_json(parsed_schema, address) } NP_TypeKeys::Tuple => { NP_Tuple::schema_to_json(parsed_schema, address) } NP_TypeKeys::Portal => { NP_Portal::schema_to_json(parsed_schema, address) } // NP_TypeKeys::Union => { NP_Union::schema_to_json(parsed_schema, address) } _ => { Ok(NP_JSON::Null) } } } /// Get type string for this schema #[doc(hidden)] pub fn _get_type(json_schema: &Box) -> Result { match &json_schema["type"] { NP_JSON::String(x) => { Ok(x.clone()) }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } /// Scan the schema for portals and resolve their locations pub fn resolve_portals(parsed: Vec) -> Result, NP_Error> { let temp_memory = NP_Memory::new(None, &parsed, DEFAULT_ROOT_PTR_ADDR); let mut completed: Vec = Vec::with_capacity(parsed.len()); for schema in parsed.iter() { if schema.i == NP_TypeKeys::Portal { let portal_data = unsafe { &*(*schema.data as *const NP_Portal_Data) }; let root_cursor = NP_Cursor::new(temp_memory.root, 0, 0); let path = &portal_data.path; let str_path = np_path!(path); match NP_Cursor::select(&temp_memory, root_cursor, false, true, &str_path)? { Some(next) => { completed.push(NP_Parsed_Schema { val: NP_Value_Kind::Pointer, i: NP_TypeKeys::Portal, sortable: false, data: Arc::new(Box::into_raw(Box::new(NP_Portal_Data { path: path.clone(), schema: next.schema_addr, parent_schema: next.parent_schema_addr })) as *const u8) }); }, None => return Err(NP_Error::new("Portal 'to' property failed to resolve!")) } } else { completed.push(schema.clone()); } } Ok(completed) } /// Generate a schema from a parsed IDL pub fn from_idl(parsed: Vec, idl: &JS_Schema, ast: &JS_AST) -> Result<(bool, Vec, Vec), NP_Error> { match ast { JS_AST::method { name, args } => { let type_name = idl.get_str(name).trim(); match type_name { "any" => { NP_Any::from_idl_to_schema(parsed, type_name, idl, args) }, "string" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "utf8" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "str" => { String::from_idl_to_schema(parsed, type_name, idl, args) }, "bytes" => { NP_Bytes::from_idl_to_schema(parsed, type_name, idl, args) }, "i8" => { i8::from_idl_to_schema(parsed, type_name, idl, args) }, "int8" => { i8::from_idl_to_schema(parsed, type_name, idl, args) }, "i16" => { i16::from_idl_to_schema(parsed, type_name, idl, args) }, "int16" => { i16::from_idl_to_schema(parsed, type_name, idl, args) }, "i32" => { i32::from_idl_to_schema(parsed, type_name, idl, args) }, "int32" => { i32::from_idl_to_schema(parsed, type_name, idl, args) }, "i64" => { i64::from_idl_to_schema(parsed, type_name, idl, args) }, "int64" => { i64::from_idl_to_schema(parsed, type_name, idl, args) }, "u8" => { u8::from_idl_to_schema(parsed, type_name, idl, args) }, "uint8" => { u8::from_idl_to_schema(parsed, type_name, idl, args) }, "u16" => { u16::from_idl_to_schema(parsed, type_name, idl, args) }, "uint16" => { u16::from_idl_to_schema(parsed, type_name, idl, args) }, "u32" => { u32::from_idl_to_schema(parsed, type_name, idl, args) }, "uint32" => { u32::from_idl_to_schema(parsed, type_name, idl, args) }, "u64" => { u64::from_idl_to_schema(parsed, type_name, idl, args) }, "uint64" => { u64::from_idl_to_schema(parsed, type_name, idl, args) }, "f32" => { f32::from_idl_to_schema(parsed, type_name, idl, args) }, "float" => { f32::from_idl_to_schema(parsed, type_name, idl, args) }, "f64" => { f64::from_idl_to_schema(parsed, type_name, idl, args) }, "double" => { f64::from_idl_to_schema(parsed, type_name, idl, args) }, "decimal" => { NP_Dec::from_idl_to_schema(parsed, type_name, idl, args) }, "dec" => { NP_Dec::from_idl_to_schema(parsed, type_name, idl, args) }, "bool" => { bool::from_idl_to_schema(parsed, type_name, idl, args) }, "boolean" => { bool::from_idl_to_schema(parsed, type_name, idl, args) }, "geo4" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "geo8" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "geo16" => { NP_Geo::from_idl_to_schema(parsed, type_name, idl, args) }, "uuid" => { NP_UUID::from_idl_to_schema(parsed, type_name, idl, args) }, "ulid" => { NP_ULID::from_idl_to_schema(parsed, type_name, idl, args) }, "date" => { NP_Date::from_idl_to_schema(parsed, type_name, idl, args) }, "enum" => { NP_Enum::from_idl_to_schema(parsed, type_name, idl, args) }, "option" => { NP_Enum::from_idl_to_schema(parsed, type_name, idl, args) }, "struct" => { NP_Struct::from_idl_to_schema(parsed, type_name, idl, args) }, "list" => { NP_List::from_idl_to_schema(parsed, type_name, idl, args) }, "array" => { NP_List::from_idl_to_schema(parsed, type_name, idl, args) }, "map" => { NP_Map::from_idl_to_schema(parsed, type_name, idl, args) }, "tuple" => { NP_Tuple::from_idl_to_schema(parsed, type_name, idl, args) }, "portal" => { NP_Portal::from_idl_to_schema(parsed, type_name, idl, args) }, // "union" => { NP_Union::from_idl_to_schema(parsed, type_name, idl, args) }, _ => { let mut err_msg = String::from("Can't find a type that matches this schema! "); err_msg.push_str(idl.get_str(name)); Err(NP_Error::new(err_msg.as_str())) } } }, _ => { Err(NP_Error::new("Error parsing IDL Schema!")) } } } /// Parse a schema out of schema bytes pub fn from_bytes(mut cache: Vec, address: usize, bytes: &[u8]) -> (bool, Vec) { let this_type = NP_TypeKeys::from(bytes[address]); match this_type { NP_TypeKeys::None => { cache.push(NP_Parsed_Schema::default()); (false, cache) } NP_TypeKeys::Any => { NP_Any::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::UTF8String => { String::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Bytes => { NP_Bytes::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int8 => { i8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int16 => { i16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int32 => { i32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Int64 => { i64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint8 => { u8::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint16 => { u16::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint32 => { u32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uint64 => { u64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Float => { f32::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Double => { f64::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Decimal => { NP_Dec::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Boolean => { bool::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Geo => { NP_Geo::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Uuid => { NP_UUID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Ulid => { NP_ULID::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Date => { NP_Date::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Enum => { NP_Enum::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Struct => { NP_Struct::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Map => { NP_Map::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::List => { NP_List::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Tuple => { NP_Tuple::from_bytes_to_schema(cache, address, bytes) } NP_TypeKeys::Portal => { NP_Portal::from_bytes_to_schema(cache, address, bytes) } // NP_TypeKeys::Union => { NP_Union::from_bytes_to_schema(cache, address, bytes) } } } /// Parse schema from JSON object /// /// Given a valid JSON schema, parse and validate, then provide a compiled byte schema. /// /// If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick. /// pub fn from_json(schema: Vec, json_schema: &Box) -> Result<(bool, Vec, Vec), NP_Error> { match &json_schema["type"] { NP_JSON::String(x) => { match x.as_str() { "any" => { NP_Any::from_json_to_schema(schema, &json_schema) }, "str" => { String::from_json_to_schema(schema, &json_schema) }, "string" => { String::from_json_to_schema(schema, &json_schema) }, "utf8" => { String::from_json_to_schema(schema, &json_schema) }, "utf-8" => { String::from_json_to_schema(schema, &json_schema) }, "bytes" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, "[u8]" => { NP_Bytes::from_json_to_schema(schema, &json_schema) }, "i8" => { i8::from_json_to_schema(schema, &json_schema) }, "int8" => { i8::from_json_to_schema(schema, &json_schema) }, "i16" => { i16::from_json_to_schema(schema, &json_schema) }, "int16" => { i16::from_json_to_schema(schema, &json_schema) }, "i32" => { i32::from_json_to_schema(schema, &json_schema) }, "int32" => { i32::from_json_to_schema(schema, &json_schema) }, "i64" => { i64::from_json_to_schema(schema, &json_schema) }, "int64" => { i64::from_json_to_schema(schema, &json_schema) }, "u8" => { u8::from_json_to_schema(schema, &json_schema) }, "uint8" => { u8::from_json_to_schema(schema, &json_schema) }, "u16" => { u16::from_json_to_schema(schema, &json_schema) }, "uint16" => { u16::from_json_to_schema(schema, &json_schema) }, "u32" => { u32::from_json_to_schema(schema, &json_schema) }, "uint32" => { u32::from_json_to_schema(schema, &json_schema) }, "u64" => { u64::from_json_to_schema(schema, &json_schema) }, "uint64" => { u64::from_json_to_schema(schema, &json_schema) }, "f32" => { f32::from_json_to_schema(schema, &json_schema) }, "float" => { f32::from_json_to_schema(schema, &json_schema) }, "f64" => { f64::from_json_to_schema(schema, &json_schema) }, "double" => { f64::from_json_to_schema(schema, &json_schema) }, "dec" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, "decimal" => { NP_Dec::from_json_to_schema(schema, &json_schema) }, "bool" => { bool::from_json_to_schema(schema, &json_schema) }, "boolean" => { bool::from_json_to_schema(schema, &json_schema) }, "geo4" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "geo8" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "geo16" => { NP_Geo::from_json_to_schema(schema, &json_schema) }, "uuid" => { NP_UUID::from_json_to_schema(schema, &json_schema) }, "ulid" => { NP_ULID::from_json_to_schema(schema, &json_schema) }, "date" => { NP_Date::from_json_to_schema(schema, &json_schema) }, "enum" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, "option" => { NP_Enum::from_json_to_schema(schema, &json_schema) }, "struct" => { NP_Struct::from_json_to_schema(schema, &json_schema) }, "table" => { NP_Struct::from_json_to_schema(schema, &json_schema) }, "list" => { NP_List::from_json_to_schema(schema, &json_schema) }, "array" => { NP_List::from_json_to_schema(schema, &json_schema) }, "map" => { NP_Map::from_json_to_schema(schema, &json_schema) }, "tuple" => { NP_Tuple::from_json_to_schema(schema, &json_schema) }, "portal" => { NP_Portal::from_json_to_schema(schema, &json_schema) }, // "union" => { NP_Union::from_json_to_schema(schema, &json_schema) }, _ => { let mut err_msg = String::from("Can't find a type that matches this schema! "); err_msg.push_str(json_schema.stringify().as_str()); return Err(NP_Error::new(err_msg.as_str())) } } }, _ => { Err(NP_Error::new("Schemas must have a 'type' property!")) } } } } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/src/utils.rs ================================================ use core::str; use alloc::string::String; use alloc::borrow::ToOwned; use alloc::vec::Vec; use crate::error::NP_Error; const KX: u32 = 123456789; const KY: u32 = 362436069; const KZ: u32 = 521288629; const KW: u32 = 88675123; #[inline(always)] pub fn to_unsigned(byte: u8) -> u8 { if byte >= 128 { byte - 128 } else { byte + 128 } } #[inline(always)] pub fn to_signed(byte: u8) -> u8 { if byte < 128 { byte + 128 } else { byte - 128 } } pub struct Rand { x: u32, y: u32, z: u32, w: u32 } impl Rand { pub fn new(seed: u32) -> Rand { Rand{ x: KX^seed, y: KY^seed, z: KZ, w: KW } } // Xorshift 128, taken from German Wikipedia pub fn rand(&mut self) -> u32 { let t = self.x^self.x.wrapping_shl(11); self.x = self.y; self.y = self.z; self.z = self.w; self.w ^= self.w.wrapping_shr(19)^t^t.wrapping_shr(8); return self.w; } pub fn gen_range(&mut self, a: i32, b: i32) -> i32 { let m = (b-a+1) as u32; return a+(self.rand()%m) as i32; } } #[inline(always)] pub fn opt_err(optin: Option) -> Result { match optin { Some(x) => Ok(x), None => Err(NP_Error::new("No value found here!")) } } static CROCKFORD_32: [char; 32] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z']; pub fn from_base32>(value_str: S) -> u128 { let to_num = |encode: char| -> u8 { for (idx, base) in CROCKFORD_32.iter().enumerate() { if *base == encode { return idx as u8; } } return 0; }; let mut decoded: u128 = 0; let mut place = 32u128.pow(value_str.as_ref().len() as u32 - 1); for ch in value_str.as_ref().chars() { let digit = to_num(ch); decoded += u128::from(digit).wrapping_mul(place); place >>= 5; } decoded } pub fn to_base32(num: u128, length: i32) -> String { let mut result: Vec = Vec::with_capacity(length as usize); for _x in 0..length { result.push('0'); } let mut value = num; let i = length - 1; for x in 0..length { let modulus = value % 32; result[(i - x) as usize] = CROCKFORD_32[modulus as usize]; value = (value - modulus) / 32; } let mut final_string: String = "".to_owned(); for ch in result { match str::from_utf8(&[ch as u8]) { Ok(x) => { final_string.push_str(x); }, Err(_e) => { final_string.push_str(" "); } } } final_string } ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/.rustc_info.json ================================================ {"rustc_fingerprint":2959306398193758516,"outputs":{"2797684049618456168":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"17598535894874457435":{"success":true,"status":"","code":0,"stdout":"rustc 1.52.0-nightly (51748a8fc 2021-03-05)\nbinary: rustc\ncommit-hash: 51748a8fc77283914d4135f31b5966a407208187\ncommit-date: 2021-03-05\nhost: x86_64-apple-darwin\nrelease: 1.52.0-nightly\nLLVM version: 12.0.0\n","stderr":""},"931469667778813386":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/scottlott/.rustup/toolchains/nightly-x86_64-apple-darwin\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_feature=\"ssse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_has_atomic_equal_alignment=\"16\"\ntarget_has_atomic_equal_alignment=\"32\"\ntarget_has_atomic_equal_alignment=\"64\"\ntarget_has_atomic_equal_alignment=\"8\"\ntarget_has_atomic_equal_alignment=\"ptr\"\ntarget_has_atomic_load_store=\"128\"\ntarget_has_atomic_load_store=\"16\"\ntarget_has_atomic_load_store=\"32\"\ntarget_has_atomic_load_store=\"64\"\ntarget_has_atomic_load_store=\"8\"\ntarget_has_atomic_load_store=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_thread_local\ntarget_vendor=\"apple\"\nunix\n","stderr":""}},"successes":{}} ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/CACHEDIR.TAG ================================================ Signature: 8a477f597d28d172789f06886806bc55 # This file is a cache directory tag created by cargo. # For information about cache directory tags see https://bford.info/cachedir/ ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/.cargo-lock ================================================ ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/.fingerprint/no_proto-d6c73808cf700296/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/.fingerprint/no_proto-d6c73808cf700296/lib-no_proto ================================================ 4e02f160a84db099 ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/.fingerprint/no_proto-d6c73808cf700296/lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[\"default\", \"np_rpc\"]","target":5679422633093381181,"profile":18108590124580271077,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-d6c73808cf700296/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/deps/no_proto-d6c73808cf700296.d ================================================ /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/target/debug/deps/no_proto-d6c73808cf700296.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/target/debug/deps/libno_proto-d6c73808cf700296.rlib: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Volumes/RAID Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/target/debug/deps/no_proto-d6c73808cf700296.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/package/no_proto-0.9.60/target/debug/libno_proto.d ================================================ /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/target/debug/libno_proto.rlib: /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/buffer.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/collection/list.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/collection/map.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/collection/mod.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/collection/struc.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/collection/tuple.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/error.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/format.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/hashmap.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/idl.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/json_flex.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/lib.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/memory.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/any.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/bool.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/bytes.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/date.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/dec.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/geo.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/mod.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/numbers.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/option.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/portal.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/string.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/ulid.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/pointer/uuid.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/rpc.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/schema.rs /Volumes/RAID\ Storage/Developer/NoProto/no_proto_rs/target/package/no_proto-0.9.60/src/utils.rs ================================================ FILE: no_proto_rs_old/target/rls/.rustc_info.json ================================================ {"rustc_fingerprint":7691500340550822756,"outputs":{"17598535894874457435":{"success":true,"status":"","code":0,"stdout":"rustc 1.60.0 (7737e0b5c 2022-04-04)\nbinary: rustc\ncommit-hash: 7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\ncommit-date: 2022-04-04\nhost: aarch64-apple-darwin\nrelease: 1.60.0\nLLVM version: 14.0.0\n","stderr":""},"5309432699494263626":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"2797684049618456168":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n","stderr":""},"931469667778813386":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/scottlott/.rustup/toolchains/stable-aarch64-apple-darwin\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"aarch64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"apple\"\nunix\n","stderr":""}},"successes":{}} ================================================ FILE: no_proto_rs_old/target/rls/CACHEDIR.TAG ================================================ Signature: 8a477f597d28d172789f06886806bc55 # This file is a cache directory tag created by cargo. # For information about cache directory tags see https://bford.info/cachedir/ ================================================ FILE: no_proto_rs_old/target/rls/debug/.cargo-lock ================================================ ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-087b92dbcadb4e9e/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-087b92dbcadb4e9e/lib-no_proto ================================================ c1d02b1dac270c8c ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-087b92dbcadb4e9e/lib-no_proto.json ================================================ {"rustc":10260120187782136928,"features":"[]","target":16526436305971540328,"profile":17483045194147818835,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-087b92dbcadb4e9e/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-42633ea97bf6e77b/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-42633ea97bf6e77b/test-lib-no_proto ================================================ de81692d3d2b5e8d ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-42633ea97bf6e77b/test-lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[]","target":5679422633093381181,"profile":6415348288391478785,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-42633ea97bf6e77b/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-441091bf4a4eb675/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-441091bf4a4eb675/test-lib-no_proto ================================================ 7f7eea15035c4b74 ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-441091bf4a4eb675/test-lib-no_proto.json ================================================ {"rustc":10260120187782136928,"features":"[]","target":16526436305971540328,"profile":11506243869495082934,"path":17523903030608720598,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-441091bf4a4eb675/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":2202906307356721367,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-45445c9cceb28ae6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-45445c9cceb28ae6/test-lib-no_proto ================================================ d56c627c8262a57c ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-45445c9cceb28ae6/test-lib-no_proto.json ================================================ {"rustc":10368881109578526382,"features":"[]","target":5679422633093381181,"profile":15791677790105649212,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-45445c9cceb28ae6/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-7ecb4680266c38b6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-7ecb4680266c38b6/lib-no_proto ================================================ 36d4107f79e7653c ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-7ecb4680266c38b6/lib-no_proto.json ================================================ {"rustc":10368881109578526382,"features":"[]","target":5679422633093381181,"profile":7235557421335335211,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-7ecb4680266c38b6/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-8d483704a5a1fdf6/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-8d483704a5a1fdf6/lib-no_proto ================================================ 6de5ef3333153b50 ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-8d483704a5a1fdf6/lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[]","target":5679422633093381181,"profile":1144844575097113612,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-8d483704a5a1fdf6/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-aa3c6589db10b605/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-aa3c6589db10b605/test-lib-no_proto ================================================ d3ce4d3532abe057 ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-aa3c6589db10b605/test-lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[\"default\", \"np_rpc\"]","target":5679422633093381181,"profile":6415348288391478785,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-aa3c6589db10b605/dep-test-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-efe2ce7d02f8f240/invoked.timestamp ================================================ This file has an mtime of when this was started. ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-efe2ce7d02f8f240/lib-no_proto ================================================ 1b6209503b1402c1 ================================================ FILE: no_proto_rs_old/target/rls/debug/.fingerprint/no_proto-efe2ce7d02f8f240/lib-no_proto.json ================================================ {"rustc":9747084787458929736,"features":"[\"default\", \"np_rpc\"]","target":5679422633093381181,"profile":1144844575097113612,"path":10872709659218687626,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/no_proto-efe2ce7d02f8f240/dep-lib-no_proto"}}],"rustflags":[],"metadata":2722869633311389224,"config":0,"compile_kind":0} ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/libno_proto-aa3c6589db10b605.rmeta ================================================ ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-087b92dbcadb4e9e.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-087b92dbcadb4e9e.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-087b92dbcadb4e9e.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-42633ea97bf6e77b.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-42633ea97bf6e77b.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-42633ea97bf6e77b.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-441091bf4a4eb675.d ================================================ /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-441091bf4a4eb675.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-441091bf4a4eb675.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-45445c9cceb28ae6.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-45445c9cceb28ae6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-45445c9cceb28ae6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-7ecb4680266c38b6.d ================================================ /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-7ecb4680266c38b6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Volumes/NextNode/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-7ecb4680266c38b6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-8d483704a5a1fdf6.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-8d483704a5a1fdf6.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/no_proto-8d483704a5a1fdf6.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/new_idl.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/new_idl.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-aa3c6589db10b605.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs/target/rls/debug/deps/no_proto-aa3c6589db10b605.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs/target/rls/debug/deps/no_proto-aa3c6589db10b605.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/no_proto-efe2ce7d02f8f240.d ================================================ /Users/scottlott/Developer/NoProto/no_proto_rs/target/rls/debug/deps/no_proto-efe2ce7d02f8f240.rmeta: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs /Users/scottlott/Developer/NoProto/no_proto_rs/target/rls/debug/deps/no_proto-efe2ce7d02f8f240.d: src/lib.rs src/idl.rs src/pointer/mod.rs src/pointer/any.rs src/pointer/string.rs src/pointer/bytes.rs src/pointer/numbers.rs src/pointer/bool.rs src/pointer/geo.rs src/pointer/dec.rs src/pointer/ulid.rs src/pointer/uuid.rs src/pointer/option.rs src/pointer/date.rs src/pointer/portal.rs src/collection/mod.rs src/collection/struc.rs src/collection/map.rs src/collection/list.rs src/collection/tuple.rs src/buffer.rs src/schema.rs src/error.rs src/json_flex.rs src/format.rs src/memory.rs src/rpc.rs src/hashmap.rs src/utils.rs src/lib.rs: src/idl.rs: src/pointer/mod.rs: src/pointer/any.rs: src/pointer/string.rs: src/pointer/bytes.rs: src/pointer/numbers.rs: src/pointer/bool.rs: src/pointer/geo.rs: src/pointer/dec.rs: src/pointer/ulid.rs: src/pointer/uuid.rs: src/pointer/option.rs: src/pointer/date.rs: src/pointer/portal.rs: src/collection/mod.rs: src/collection/struc.rs: src/collection/map.rs: src/collection/list.rs: src/collection/tuple.rs: src/buffer.rs: src/schema.rs: src/error.rs: src/json_flex.rs: src/format.rs: src/memory.rs: src/rpc.rs: src/hashmap.rs: src/utils.rs: ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/save-analysis/libno_proto-087b92dbcadb4e9e.json ================================================ {"config":{"output_file":null,"full_docs":false,"pub_only":false,"reachable_only":false,"distro_crate":false,"signatures":false,"borrow_data":false},"version":"0.19.1","compilation":{"directory":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old","program":"/Users/scottlott/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rls","arguments":[],"output":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/libno_proto-087b92dbcadb4e9e.rmeta"},"prelude":{"crate_id":{"name":"no_proto","disambiguator":[3280925358478400196,0]},"crate_root":"src","external_crates":[{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":1,"id":{"name":"core","disambiguator":[16249227214258238047,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":2,"id":{"name":"compiler_builtins","disambiguator":[13791225915815425008,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":3,"id":{"name":"rustc_std_workspace_core","disambiguator":[455111089362928276,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":4,"id":{"name":"alloc","disambiguator":[740641686899810413,0]}}],"span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":34931,"line_start":1,"line_end":696,"column_start":1,"column_end":2}},"imports":[{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/idl.rs","byte_start":35069,"byte_end":35077,"line_start":5,"line_end":5,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":4}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/idl.rs","byte_start":35098,"byte_end":35104,"line_start":6,"line_end":6,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":4}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/idl.rs","byte_start":35122,"byte_end":35125,"line_start":7,"line_end":7,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":4}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/any.rs","byte_start":101050,"byte_end":101056,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/any.rs","byte_start":101064,"byte_end":101067,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/any.rs","byte_start":101088,"byte_end":101094,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/any.rs","byte_start":101096,"byte_end":101105,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/any.rs","byte_start":101120,"byte_end":101125,"line_start":2,"line_end":2,"column_start":51,"column_end":56},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/any.rs","byte_start":101137,"byte_end":101153,"line_start":2,"line_end":2,"column_start":68,"column_end":84},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/any.rs","byte_start":101155,"byte_end":101168,"line_start":2,"line_end":2,"column_start":86,"column_end":99},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2458},"span":{"file_name":"src/pointer/any.rs","byte_start":101170,"byte_end":101174,"line_start":2,"line_end":2,"column_start":101,"column_end":105},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/any.rs","byte_start":101194,"byte_end":101197,"line_start":3,"line_end":3,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/any.rs","byte_start":101217,"byte_end":101225,"line_start":4,"line_end":4,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/any.rs","byte_start":101248,"byte_end":101259,"line_start":5,"line_end":5,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/any.rs","byte_start":101271,"byte_end":101279,"line_start":5,"line_end":5,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/any.rs","byte_start":101292,"byte_end":101299,"line_start":5,"line_end":5,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/any.rs","byte_start":101322,"byte_end":101325,"line_start":8,"line_end":8,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/any.rs","byte_start":101346,"byte_end":101353,"line_start":9,"line_end":9,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/any.rs","byte_start":101367,"byte_end":101376,"line_start":10,"line_end":10,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/any.rs","byte_start":101390,"byte_end":101399,"line_start":11,"line_end":11,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/string.rs","byte_start":105491,"byte_end":105494,"line_start":17,"line_end":17,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/string.rs","byte_start":105515,"byte_end":105521,"line_start":18,"line_end":18,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/string.rs","byte_start":105547,"byte_end":105550,"line_start":19,"line_end":19,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/string.rs","byte_start":105571,"byte_end":105579,"line_start":20,"line_end":20,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/string.rs","byte_start":105587,"byte_end":105593,"line_start":20,"line_end":20,"column_start":36,"column_end":42},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/string.rs","byte_start":105595,"byte_end":105604,"line_start":20,"line_end":20,"column_start":44,"column_end":53},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3637},"span":{"file_name":"src/pointer/string.rs","byte_start":105616,"byte_end":105630,"line_start":20,"line_end":20,"column_start":65,"column_end":79},"alias_span":null,"name":"NP_String_Data","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/string.rs","byte_start":105632,"byte_end":105645,"line_start":20,"line_end":20,"column_start":81,"column_end":94},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3476},"span":{"file_name":"src/pointer/string.rs","byte_start":105647,"byte_end":105658,"line_start":20,"line_end":20,"column_start":96,"column_end":107},"alias_span":null,"name":"String_Case","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/string.rs","byte_start":105690,"byte_end":105695,"line_start":22,"line_end":22,"column_start":16,"column_end":21},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/string.rs","byte_start":105709,"byte_end":105718,"line_start":23,"line_end":23,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/string.rs","byte_start":105733,"byte_end":105749,"line_start":24,"line_end":24,"column_start":14,"column_end":30},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/string.rs","byte_start":105778,"byte_end":105785,"line_start":26,"line_end":26,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/string.rs","byte_start":105796,"byte_end":105804,"line_start":26,"line_end":26,"column_start":42,"column_end":50},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/string.rs","byte_start":105814,"byte_end":105825,"line_start":26,"line_end":26,"column_start":60,"column_end":71},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/string.rs","byte_start":105844,"byte_end":105847,"line_start":27,"line_end":27,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/string.rs","byte_start":105862,"byte_end":105871,"line_start":29,"line_end":29,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":0,"index":1718},"span":{"file_name":"src/pointer/string.rs","byte_start":105873,"byte_end":105882,"line_start":29,"line_end":29,"column_start":24,"column_end":33},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/string.rs","byte_start":105904,"byte_end":105911,"line_start":30,"line_end":30,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":1,"index":11718},"span":{"file_name":"src/pointer/string.rs","byte_start":105923,"byte_end":105926,"line_start":31,"line_end":31,"column_start":11,"column_end":14},"alias_span":null,"name":"str","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/string.rs","byte_start":105947,"byte_end":105955,"line_start":32,"line_end":32,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":102}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134432,"byte_end":134438,"line_start":19,"line_end":19,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134446,"byte_end":134449,"line_start":19,"line_end":19,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134470,"byte_end":134476,"line_start":20,"line_end":20,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134478,"byte_end":134487,"line_start":20,"line_end":20,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134501,"byte_end":134506,"line_start":20,"line_end":20,"column_start":50,"column_end":55},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3646},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134517,"byte_end":134530,"line_start":20,"line_end":20,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Bytes_Data","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134532,"byte_end":134548,"line_start":20,"line_end":20,"column_start":81,"column_end":97},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134550,"byte_end":134563,"line_start":20,"line_end":20,"column_start":99,"column_end":112},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134585,"byte_end":134593,"line_start":21,"line_end":21,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134616,"byte_end":134627,"line_start":22,"line_end":22,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134639,"byte_end":134647,"line_start":22,"line_end":22,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134660,"byte_end":134667,"line_start":22,"line_end":22,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134687,"byte_end":134690,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134710,"byte_end":134713,"line_start":25,"line_end":25,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134735,"byte_end":134742,"line_start":26,"line_end":26,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134757,"byte_end":134766,"line_start":27,"line_end":27,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134780,"byte_end":134789,"line_start":28,"line_end":28,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134810,"byte_end":134818,"line_start":29,"line_end":29,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":226}},{"kind":"Use","ref_id":{"krate":0,"index":2458},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161113,"byte_end":161117,"line_start":31,"line_end":31,"column_start":20,"column_end":24},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3595},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161139,"byte_end":161149,"line_start":32,"line_end":32,"column_start":21,"column_end":31},"alias_span":null,"name":"NP_i8_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3601},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161151,"byte_end":161162,"line_start":32,"line_end":32,"column_start":33,"column_end":44},"alias_span":null,"name":"NP_i16_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3607},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161164,"byte_end":161175,"line_start":32,"line_end":32,"column_start":46,"column_end":57},"alias_span":null,"name":"NP_i32_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3613},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161177,"byte_end":161188,"line_start":32,"line_end":32,"column_start":59,"column_end":70},"alias_span":null,"name":"NP_i64_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3571},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161190,"byte_end":161200,"line_start":32,"line_end":32,"column_start":72,"column_end":82},"alias_span":null,"name":"NP_u8_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3577},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161202,"byte_end":161213,"line_start":32,"line_end":32,"column_start":84,"column_end":95},"alias_span":null,"name":"NP_u16_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3583},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161215,"byte_end":161226,"line_start":32,"line_end":32,"column_start":97,"column_end":108},"alias_span":null,"name":"NP_u32_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3589},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161228,"byte_end":161239,"line_start":32,"line_end":32,"column_start":110,"column_end":121},"alias_span":null,"name":"NP_u64_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3619},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161241,"byte_end":161252,"line_start":32,"line_end":32,"column_start":123,"column_end":134},"alias_span":null,"name":"NP_f32_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3625},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161254,"byte_end":161265,"line_start":32,"line_end":32,"column_start":136,"column_end":147},"alias_span":null,"name":"NP_f64_Data","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161285,"byte_end":161288,"line_start":33,"line_end":33,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161309,"byte_end":161322,"line_start":34,"line_end":34,"column_start":20,"column_end":33},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":1,"index":12197},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161340,"byte_end":161347,"line_start":35,"line_end":35,"column_start":17,"column_end":24},"alias_span":null,"name":"FromStr","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161371,"byte_end":161377,"line_start":37,"line_end":37,"column_start":21,"column_end":27},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161398,"byte_end":161404,"line_start":38,"line_end":38,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/numbers.rs","byte_start":161430,"byte_end":161433,"line_start":39,"line_end":39,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161454,"byte_end":161470,"line_start":40,"line_end":40,"column_start":20,"column_end":36},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161488,"byte_end":161491,"line_start":41,"line_end":41,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":2730},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161511,"byte_end":161522,"line_start":42,"line_end":42,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161542,"byte_end":161551,"line_start":43,"line_end":43,"column_start":19,"column_end":28},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161571,"byte_end":161579,"line_start":44,"line_end":44,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161601,"byte_end":161612,"line_start":45,"line_end":45,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161623,"byte_end":161631,"line_start":45,"line_end":45,"column_start":43,"column_end":51},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161644,"byte_end":161651,"line_start":45,"line_end":45,"column_start":64,"column_end":71},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161664,"byte_end":161669,"line_start":45,"line_end":45,"column_start":84,"column_end":89},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161692,"byte_end":161700,"line_start":47,"line_end":47,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161722,"byte_end":161729,"line_start":48,"line_end":48,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161744,"byte_end":161753,"line_start":49,"line_end":49,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161767,"byte_end":161776,"line_start":50,"line_end":50,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":349}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/bool.rs","byte_start":208130,"byte_end":208133,"line_start":18,"line_end":18,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/bool.rs","byte_start":208154,"byte_end":208160,"line_start":19,"line_end":19,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/bool.rs","byte_start":208180,"byte_end":208186,"line_start":20,"line_end":20,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/bool.rs","byte_start":208188,"byte_end":208197,"line_start":20,"line_end":20,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/bool.rs","byte_start":208211,"byte_end":208216,"line_start":20,"line_end":20,"column_start":50,"column_end":55},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3631},"span":{"file_name":"src/pointer/bool.rs","byte_start":208227,"byte_end":208239,"line_start":20,"line_end":20,"column_start":66,"column_end":78},"alias_span":null,"name":"NP_Bool_Data","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/bool.rs","byte_start":208241,"byte_end":208257,"line_start":20,"line_end":20,"column_start":80,"column_end":96},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/bool.rs","byte_start":208259,"byte_end":208272,"line_start":20,"line_end":20,"column_start":98,"column_end":111},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/bool.rs","byte_start":208294,"byte_end":208302,"line_start":21,"line_end":21,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/bool.rs","byte_start":208325,"byte_end":208336,"line_start":22,"line_end":22,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/bool.rs","byte_start":208348,"byte_end":208356,"line_start":22,"line_end":22,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/bool.rs","byte_start":208369,"byte_end":208376,"line_start":22,"line_end":22,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/bool.rs","byte_start":208396,"byte_end":208399,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/bool.rs","byte_start":208419,"byte_end":208422,"line_start":25,"line_end":25,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/bool.rs","byte_start":208444,"byte_end":208451,"line_start":26,"line_end":26,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/bool.rs","byte_start":208465,"byte_end":208474,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/bool.rs","byte_start":208495,"byte_end":208503,"line_start":28,"line_end":28,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/bool.rs","byte_start":208517,"byte_end":208526,"line_start":30,"line_end":30,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":523}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/geo.rs","byte_start":219836,"byte_end":219839,"line_start":21,"line_end":21,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/geo.rs","byte_start":219860,"byte_end":219866,"line_start":22,"line_end":22,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/geo.rs","byte_start":219886,"byte_end":219892,"line_start":23,"line_end":23,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/geo.rs","byte_start":219894,"byte_end":219903,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3653},"span":{"file_name":"src/pointer/geo.rs","byte_start":219915,"byte_end":219926,"line_start":23,"line_end":23,"column_start":48,"column_end":59},"alias_span":null,"name":"NP_Geo_Data","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/geo.rs","byte_start":219928,"byte_end":219944,"line_start":23,"line_end":23,"column_start":61,"column_end":77},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/geo.rs","byte_start":219946,"byte_end":219959,"line_start":23,"line_end":23,"column_start":79,"column_end":92},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/geo.rs","byte_start":219979,"byte_end":219982,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/geo.rs","byte_start":220002,"byte_end":220011,"line_start":25,"line_end":25,"column_start":19,"column_end":28},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":2730},"span":{"file_name":"src/pointer/geo.rs","byte_start":220031,"byte_end":220042,"line_start":26,"line_end":26,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/geo.rs","byte_start":220067,"byte_end":220072,"line_start":27,"line_end":27,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/geo.rs","byte_start":220074,"byte_end":220081,"line_start":27,"line_end":27,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/pointer/geo.rs","byte_start":220104,"byte_end":220113,"line_start":28,"line_end":28,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/geo.rs","byte_start":220115,"byte_end":220126,"line_start":28,"line_end":28,"column_start":32,"column_end":43},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/geo.rs","byte_start":220150,"byte_end":220158,"line_start":29,"line_end":29,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/geo.rs","byte_start":220167,"byte_end":220175,"line_start":29,"line_end":29,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/geo.rs","byte_start":220195,"byte_end":220200,"line_start":30,"line_end":30,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/geo.rs","byte_start":220195,"byte_end":220200,"line_start":30,"line_end":30,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":1,"index":2933},"span":{"file_name":"src/pointer/geo.rs","byte_start":220223,"byte_end":220230,"line_start":31,"line_end":31,"column_start":20,"column_end":27},"alias_span":null,"name":"TryInto","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/geo.rs","byte_start":220251,"byte_end":220254,"line_start":33,"line_end":33,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/geo.rs","byte_start":220275,"byte_end":220282,"line_start":34,"line_end":34,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/geo.rs","byte_start":220304,"byte_end":220312,"line_start":35,"line_end":35,"column_start":21,"column_end":29},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/geo.rs","byte_start":220327,"byte_end":220336,"line_start":36,"line_end":36,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/geo.rs","byte_start":220350,"byte_end":220359,"line_start":37,"line_end":37,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":611}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/dec.rs","byte_start":263499,"byte_end":263505,"line_start":63,"line_end":63,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/dec.rs","byte_start":263513,"byte_end":263516,"line_start":63,"line_end":63,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/dec.rs","byte_start":263543,"byte_end":263546,"line_start":64,"line_end":64,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/dec.rs","byte_start":263566,"byte_end":263572,"line_start":65,"line_end":65,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/dec.rs","byte_start":263574,"byte_end":263583,"line_start":65,"line_end":65,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3660},"span":{"file_name":"src/pointer/dec.rs","byte_start":263595,"byte_end":263606,"line_start":65,"line_end":65,"column_start":48,"column_end":59},"alias_span":null,"name":"NP_Dec_Data","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/dec.rs","byte_start":263608,"byte_end":263621,"line_start":65,"line_end":65,"column_start":61,"column_end":74},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/dec.rs","byte_start":263631,"byte_end":263640,"line_start":65,"line_end":65,"column_start":84,"column_end":93},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/dec.rs","byte_start":263663,"byte_end":263679,"line_start":66,"line_end":66,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/dec.rs","byte_start":263698,"byte_end":263701,"line_start":67,"line_end":67,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":2730},"span":{"file_name":"src/pointer/dec.rs","byte_start":263721,"byte_end":263732,"line_start":68,"line_end":68,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/dec.rs","byte_start":263757,"byte_end":263762,"line_start":69,"line_end":69,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/dec.rs","byte_start":263764,"byte_end":263771,"line_start":69,"line_end":69,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/dec.rs","byte_start":263794,"byte_end":263805,"line_start":70,"line_end":70,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/dec.rs","byte_start":263829,"byte_end":263837,"line_start":71,"line_end":71,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/dec.rs","byte_start":263846,"byte_end":263854,"line_start":71,"line_end":71,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/dec.rs","byte_start":263874,"byte_end":263879,"line_start":72,"line_end":72,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/dec.rs","byte_start":263874,"byte_end":263879,"line_start":72,"line_end":72,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/dec.rs","byte_start":263903,"byte_end":263910,"line_start":74,"line_end":74,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/dec.rs","byte_start":263924,"byte_end":263933,"line_start":75,"line_end":75,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/dec.rs","byte_start":263947,"byte_end":263956,"line_start":76,"line_end":76,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/dec.rs","byte_start":263977,"byte_end":263985,"line_start":77,"line_end":77,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":792}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296665,"byte_end":296671,"line_start":22,"line_end":22,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296673,"byte_end":296682,"line_start":22,"line_end":22,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296693,"byte_end":296702,"line_start":22,"line_end":22,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296713,"byte_end":296729,"line_start":22,"line_end":22,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296731,"byte_end":296744,"line_start":22,"line_end":22,"column_start":85,"column_end":98},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":2458},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296746,"byte_end":296750,"line_start":22,"line_end":22,"column_start":100,"column_end":104},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":2745},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296760,"byte_end":296771,"line_start":22,"line_end":22,"column_start":114,"column_end":125},"alias_span":null,"name":"from_base32","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296792,"byte_end":296795,"line_start":23,"line_end":23,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296802,"byte_end":296805,"line_start":23,"line_end":23,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":2748},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296826,"byte_end":296835,"line_start":24,"line_end":24,"column_start":19,"column_end":28},"alias_span":null,"name":"to_base32","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296860,"byte_end":296865,"line_start":25,"line_end":25,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296867,"byte_end":296874,"line_start":25,"line_end":25,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296897,"byte_end":296908,"line_start":26,"line_end":26,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296932,"byte_end":296940,"line_start":27,"line_end":27,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296949,"byte_end":296957,"line_start":27,"line_end":27,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":2732},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296967,"byte_end":296971,"line_start":27,"line_end":27,"column_start":57,"column_end":61},"alias_span":null,"name":"Rand","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296992,"byte_end":296997,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296992,"byte_end":296997,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296999,"byte_end":297008,"line_start":28,"line_end":28,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297032,"byte_end":297038,"line_start":30,"line_end":30,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297058,"byte_end":297061,"line_start":31,"line_end":31,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297082,"byte_end":297090,"line_start":32,"line_end":32,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297111,"byte_end":297118,"line_start":33,"line_end":33,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297133,"byte_end":297142,"line_start":35,"line_end":35,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":0,"index":1718},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297144,"byte_end":297153,"line_start":35,"line_end":35,"column_start":24,"column_end":33},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":951}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310395,"byte_end":310398,"line_start":25,"line_end":25,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/uuid.rs","byte_start":310412,"byte_end":310421,"line_start":26,"line_end":26,"column_start":13,"column_end":22},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310428,"byte_end":310434,"line_start":26,"line_end":26,"column_start":29,"column_end":35},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310445,"byte_end":310458,"line_start":26,"line_end":26,"column_start":46,"column_end":59},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":2458},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310460,"byte_end":310464,"line_start":26,"line_end":26,"column_start":61,"column_end":65},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/uuid.rs","byte_start":310492,"byte_end":310495,"line_start":27,"line_end":27,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":1718},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310517,"byte_end":310526,"line_start":28,"line_end":28,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310548,"byte_end":310557,"line_start":29,"line_end":29,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310568,"byte_end":310584,"line_start":29,"line_end":29,"column_start":41,"column_end":57},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310604,"byte_end":310607,"line_start":30,"line_end":30,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310632,"byte_end":310637,"line_start":31,"line_end":31,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310639,"byte_end":310646,"line_start":31,"line_end":31,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310669,"byte_end":310680,"line_start":32,"line_end":32,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310704,"byte_end":310712,"line_start":33,"line_end":33,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310721,"byte_end":310729,"line_start":33,"line_end":33,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":2732},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310739,"byte_end":310743,"line_start":33,"line_end":33,"column_start":57,"column_end":61},"alias_span":null,"name":"Rand","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310764,"byte_end":310769,"line_start":34,"line_end":34,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310764,"byte_end":310769,"line_start":34,"line_end":34,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310771,"byte_end":310780,"line_start":34,"line_end":34,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":1,"index":9554},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310782,"byte_end":310787,"line_start":34,"line_end":34,"column_start":36,"column_end":41},"alias_span":null,"name":"Write","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310811,"byte_end":310817,"line_start":36,"line_end":36,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310838,"byte_end":310845,"line_start":37,"line_end":37,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310866,"byte_end":310874,"line_start":38,"line_end":38,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310888,"byte_end":310897,"line_start":40,"line_end":40,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1113}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/option.rs","byte_start":323076,"byte_end":323085,"line_start":19,"line_end":19,"column_start":13,"column_end":22},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/option.rs","byte_start":323092,"byte_end":323098,"line_start":19,"line_end":19,"column_start":29,"column_end":35},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3667},"span":{"file_name":"src/pointer/option.rs","byte_start":323109,"byte_end":323121,"line_start":19,"line_end":19,"column_start":46,"column_end":58},"alias_span":null,"name":"NP_Enum_Data","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/option.rs","byte_start":323123,"byte_end":323136,"line_start":19,"line_end":19,"column_start":60,"column_end":73},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/option.rs","byte_start":323160,"byte_end":323169,"line_start":20,"line_end":20,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/option.rs","byte_start":323180,"byte_end":323196,"line_start":20,"line_end":20,"column_start":41,"column_end":57},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/option.rs","byte_start":323218,"byte_end":323221,"line_start":21,"line_end":21,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/option.rs","byte_start":323228,"byte_end":323231,"line_start":21,"line_end":21,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/option.rs","byte_start":323257,"byte_end":323262,"line_start":22,"line_end":22,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/option.rs","byte_start":323264,"byte_end":323271,"line_start":22,"line_end":22,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/option.rs","byte_start":323294,"byte_end":323305,"line_start":23,"line_end":23,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/option.rs","byte_start":323329,"byte_end":323337,"line_start":24,"line_end":24,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/option.rs","byte_start":323346,"byte_end":323354,"line_start":24,"line_end":24,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/option.rs","byte_start":323374,"byte_end":323379,"line_start":25,"line_end":25,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/option.rs","byte_start":323374,"byte_end":323379,"line_start":25,"line_end":25,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/option.rs","byte_start":323403,"byte_end":323409,"line_start":27,"line_end":27,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/option.rs","byte_start":323429,"byte_end":323432,"line_start":28,"line_end":28,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/option.rs","byte_start":323453,"byte_end":323460,"line_start":29,"line_end":29,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/option.rs","byte_start":323482,"byte_end":323490,"line_start":30,"line_end":30,"column_start":21,"column_end":29},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/option.rs","byte_start":323505,"byte_end":323514,"line_start":31,"line_end":31,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1260}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/date.rs","byte_start":342980,"byte_end":342986,"line_start":21,"line_end":21,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/date.rs","byte_start":342994,"byte_end":342997,"line_start":21,"line_end":21,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/date.rs","byte_start":343018,"byte_end":343024,"line_start":22,"line_end":22,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/date.rs","byte_start":343026,"byte_end":343035,"line_start":22,"line_end":22,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/date.rs","byte_start":343047,"byte_end":343063,"line_start":22,"line_end":22,"column_start":48,"column_end":64},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/date.rs","byte_start":343065,"byte_end":343078,"line_start":22,"line_end":22,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3589},"span":{"file_name":"src/pointer/date.rs","byte_start":343080,"byte_end":343091,"line_start":22,"line_end":22,"column_start":81,"column_end":92},"alias_span":null,"name":"NP_u64_Data","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/date.rs","byte_start":343111,"byte_end":343114,"line_start":23,"line_end":23,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/date.rs","byte_start":343139,"byte_end":343144,"line_start":24,"line_end":24,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/date.rs","byte_start":343146,"byte_end":343153,"line_start":24,"line_end":24,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/date.rs","byte_start":343176,"byte_end":343187,"line_start":25,"line_end":25,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/date.rs","byte_start":343211,"byte_end":343219,"line_start":26,"line_end":26,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/date.rs","byte_start":343228,"byte_end":343236,"line_start":26,"line_end":26,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/date.rs","byte_start":343256,"byte_end":343261,"line_start":27,"line_end":27,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/date.rs","byte_start":343256,"byte_end":343261,"line_start":27,"line_end":27,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/date.rs","byte_start":343263,"byte_end":343272,"line_start":27,"line_end":27,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/date.rs","byte_start":343295,"byte_end":343298,"line_start":29,"line_end":29,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/date.rs","byte_start":343319,"byte_end":343326,"line_start":30,"line_end":30,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/date.rs","byte_start":343340,"byte_end":343349,"line_start":31,"line_end":31,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/date.rs","byte_start":343363,"byte_end":343372,"line_start":32,"line_end":32,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/date.rs","byte_start":343393,"byte_end":343401,"line_start":33,"line_end":33,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1365}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/portal.rs","byte_start":355998,"byte_end":356004,"line_start":54,"line_end":54,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/portal.rs","byte_start":356006,"byte_end":356015,"line_start":54,"line_end":54,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/portal.rs","byte_start":356026,"byte_end":356035,"line_start":54,"line_end":54,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/portal.rs","byte_start":356046,"byte_end":356062,"line_start":54,"line_end":54,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3694},"span":{"file_name":"src/pointer/portal.rs","byte_start":356064,"byte_end":356078,"line_start":54,"line_end":54,"column_start":85,"column_end":99},"alias_span":null,"name":"NP_Portal_Data","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/portal.rs","byte_start":356080,"byte_end":356093,"line_start":54,"line_end":54,"column_start":101,"column_end":114},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/pointer/portal.rs","byte_start":356115,"byte_end":356118,"line_start":55,"line_end":55,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/portal.rs","byte_start":356125,"byte_end":356128,"line_start":55,"line_end":55,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/pointer/portal.rs","byte_start":356155,"byte_end":356160,"line_start":57,"line_end":57,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/portal.rs","byte_start":356162,"byte_end":356169,"line_start":57,"line_end":57,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/portal.rs","byte_start":356192,"byte_end":356203,"line_start":58,"line_end":58,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/portal.rs","byte_start":356227,"byte_end":356235,"line_start":59,"line_end":59,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/portal.rs","byte_start":356244,"byte_end":356252,"line_start":59,"line_end":59,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/portal.rs","byte_start":356276,"byte_end":356282,"line_start":62,"line_end":62,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/pointer/portal.rs","byte_start":356302,"byte_end":356305,"line_start":63,"line_end":63,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/pointer/portal.rs","byte_start":356326,"byte_end":356334,"line_start":64,"line_end":64,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/portal.rs","byte_start":356355,"byte_end":356362,"line_start":65,"line_end":65,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/portal.rs","byte_start":356377,"byte_end":356386,"line_start":67,"line_end":67,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1467}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/mod.rs","byte_start":57525,"byte_end":57530,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/mod.rs","byte_start":57525,"byte_end":57530,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/mod.rs","byte_start":57559,"byte_end":57562,"line_start":30,"line_end":30,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/pointer/mod.rs","byte_start":57582,"byte_end":57588,"line_start":31,"line_end":31,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/pointer/mod.rs","byte_start":57590,"byte_end":57599,"line_start":31,"line_end":31,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3154},"span":{"file_name":"src/pointer/mod.rs","byte_start":57616,"byte_end":57622,"line_start":31,"line_end":31,"column_start":53,"column_end":59},"alias_span":null,"name":"NP_Dec","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3694},"span":{"file_name":"src/pointer/mod.rs","byte_start":57633,"byte_end":57647,"line_start":31,"line_end":31,"column_start":70,"column_end":84},"alias_span":null,"name":"NP_Portal_Data","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":2455},"span":{"file_name":"src/pointer/mod.rs","byte_start":57649,"byte_end":57663,"line_start":31,"line_end":31,"column_start":86,"column_end":100},"alias_span":null,"name":"NP_Schema_Addr","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":2741},"span":{"file_name":"src/pointer/mod.rs","byte_start":57673,"byte_end":57680,"line_start":31,"line_end":31,"column_start":110,"column_end":117},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/mod.rs","byte_start":57694,"byte_end":57710,"line_start":32,"line_end":32,"column_start":12,"column_end":28},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/pointer/mod.rs","byte_start":57735,"byte_end":57742,"line_start":33,"line_end":33,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/pointer/mod.rs","byte_start":57765,"byte_end":57774,"line_start":34,"line_end":34,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/pointer/mod.rs","byte_start":57788,"byte_end":57796,"line_start":35,"line_end":35,"column_start":12,"column_end":20},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/mod.rs","byte_start":57819,"byte_end":57830,"line_start":36,"line_end":36,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3309},"span":{"file_name":"src/pointer/mod.rs","byte_start":57851,"byte_end":57857,"line_start":36,"line_end":36,"column_start":54,"column_end":60},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3282},"span":{"file_name":"src/pointer/mod.rs","byte_start":57866,"byte_end":57875,"line_start":36,"line_end":36,"column_start":69,"column_end":78},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3338},"span":{"file_name":"src/pointer/mod.rs","byte_start":57883,"byte_end":57890,"line_start":36,"line_end":36,"column_start":86,"column_end":93},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3350},"span":{"file_name":"src/pointer/mod.rs","byte_start":57899,"byte_end":57907,"line_start":36,"line_end":36,"column_start":102,"column_end":110},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/pointer/mod.rs","byte_start":57932,"byte_end":57938,"line_start":38,"line_end":38,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/pointer/mod.rs","byte_start":57945,"byte_end":57948,"line_start":38,"line_end":38,"column_start":34,"column_end":37},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/pointer/mod.rs","byte_start":57958,"byte_end":57965,"line_start":38,"line_end":38,"column_start":47,"column_end":54},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":289},"span":{"file_name":"src/pointer/mod.rs","byte_start":57979,"byte_end":57987,"line_start":39,"line_end":39,"column_start":12,"column_end":20},"alias_span":null,"name":"NP_Bytes","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3205},"span":{"file_name":"src/pointer/mod.rs","byte_start":58007,"byte_end":58014,"line_start":41,"line_end":41,"column_start":18,"column_end":25},"alias_span":null,"name":"NP_Date","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3142},"span":{"file_name":"src/pointer/mod.rs","byte_start":58021,"byte_end":58027,"line_start":41,"line_end":41,"column_start":32,"column_end":38},"alias_span":null,"name":"NP_Geo","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3188},"span":{"file_name":"src/pointer/mod.rs","byte_start":58037,"byte_end":58044,"line_start":41,"line_end":41,"column_start":48,"column_end":55},"alias_span":null,"name":"NP_Enum","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":1530},"span":{"file_name":"src/pointer/mod.rs","byte_start":58054,"byte_end":58063,"line_start":41,"line_end":41,"column_start":65,"column_end":74},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":1531},"span":{"file_name":"src/pointer/mod.rs","byte_start":58054,"byte_end":58063,"line_start":41,"line_end":41,"column_start":65,"column_end":74},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3162},"span":{"file_name":"src/pointer/mod.rs","byte_start":58072,"byte_end":58079,"line_start":41,"line_end":41,"column_start":83,"column_end":90},"alias_span":null,"name":"NP_ULID","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":0,"index":3175},"span":{"file_name":"src/pointer/mod.rs","byte_start":58089,"byte_end":58096,"line_start":41,"line_end":41,"column_start":100,"column_end":107},"alias_span":null,"name":"NP_UUID","value":"","parent":{"krate":0,"index":20}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/collection/struc.rs","byte_start":366913,"byte_end":366916,"line_start":1,"line_end":1,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":2806},"span":{"file_name":"src/collection/struc.rs","byte_start":366935,"byte_end":366942,"line_start":2,"line_end":2,"column_start":18,"column_end":25},"alias_span":null,"name":"AST_STR","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3674},"span":{"file_name":"src/collection/struc.rs","byte_start":366953,"byte_end":366967,"line_start":2,"line_end":2,"column_start":36,"column_end":50},"alias_span":null,"name":"NP_Struct_Data","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3515},"span":{"file_name":"src/collection/struc.rs","byte_start":366969,"byte_end":366984,"line_start":2,"line_end":2,"column_start":52,"column_end":67},"alias_span":null,"name":"NP_Struct_Field","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/collection/struc.rs","byte_start":366986,"byte_end":366999,"line_start":2,"line_end":2,"column_start":69,"column_end":82},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":2276},"span":{"file_name":"src/collection/struc.rs","byte_start":367024,"byte_end":367036,"line_start":3,"line_end":3,"column_start":22,"column_end":34},"alias_span":null,"name":"VTABLE_BYTES","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":2275},"span":{"file_name":"src/collection/struc.rs","byte_start":367038,"byte_end":367049,"line_start":3,"line_end":3,"column_start":36,"column_end":47},"alias_span":null,"name":"VTABLE_SIZE","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/collection/struc.rs","byte_start":367058,"byte_end":367064,"line_start":3,"line_end":3,"column_start":56,"column_end":62},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/collection/struc.rs","byte_start":367066,"byte_end":367075,"line_start":3,"line_end":3,"column_start":64,"column_end":73},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/collection/struc.rs","byte_start":367098,"byte_end":367104,"line_start":4,"line_end":4,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3244},"span":{"file_name":"src/collection/struc.rs","byte_start":367127,"byte_end":367136,"line_start":5,"line_end":5,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Vtable","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/collection/struc.rs","byte_start":367161,"byte_end":367170,"line_start":6,"line_end":6,"column_start":23,"column_end":32},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/collection/struc.rs","byte_start":367182,"byte_end":367198,"line_start":6,"line_end":6,"column_start":44,"column_end":60},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/collection/struc.rs","byte_start":367223,"byte_end":367232,"line_start":7,"line_end":7,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/collection/struc.rs","byte_start":367245,"byte_end":367253,"line_start":7,"line_end":7,"column_start":44,"column_end":52},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/collection/struc.rs","byte_start":367263,"byte_end":367271,"line_start":7,"line_end":7,"column_start":62,"column_end":70},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/collection/struc.rs","byte_start":367282,"byte_end":367291,"line_start":7,"line_end":7,"column_start":81,"column_end":90},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/collection/struc.rs","byte_start":367293,"byte_end":367304,"line_start":7,"line_end":7,"column_start":92,"column_end":103},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/collection/struc.rs","byte_start":367319,"byte_end":367324,"line_start":7,"line_end":7,"column_start":118,"column_end":123},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/collection/struc.rs","byte_start":367326,"byte_end":367333,"line_start":7,"line_end":7,"column_start":125,"column_end":132},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/collection/struc.rs","byte_start":367357,"byte_end":367365,"line_start":9,"line_end":9,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/collection/struc.rs","byte_start":367383,"byte_end":367386,"line_start":10,"line_end":10,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/collection/struc.rs","byte_start":367406,"byte_end":367409,"line_start":11,"line_end":11,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/collection/struc.rs","byte_start":367430,"byte_end":367437,"line_start":12,"line_end":12,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":1,"index":39482},"span":{"file_name":"src/collection/struc.rs","byte_start":367458,"byte_end":367464,"line_start":13,"line_end":13,"column_start":20,"column_end":26},"alias_span":null,"name":"Result","value":"","parent":{"krate":0,"index":1742}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/collection/map.rs","byte_start":393589,"byte_end":393595,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/collection/map.rs","byte_start":393603,"byte_end":393606,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/collection/map.rs","byte_start":393627,"byte_end":393633,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/collection/map.rs","byte_start":393635,"byte_end":393644,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/collection/map.rs","byte_start":393656,"byte_end":393665,"line_start":2,"line_end":2,"column_start":48,"column_end":57},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3681},"span":{"file_name":"src/collection/map.rs","byte_start":393676,"byte_end":393692,"line_start":2,"line_end":2,"column_start":68,"column_end":84},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/collection/map.rs","byte_start":393694,"byte_end":393707,"line_start":2,"line_end":2,"column_start":86,"column_end":99},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/collection/map.rs","byte_start":393734,"byte_end":393739,"line_start":3,"line_end":3,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/collection/map.rs","byte_start":393763,"byte_end":393771,"line_start":4,"line_end":4,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/collection/map.rs","byte_start":393795,"byte_end":393804,"line_start":5,"line_end":5,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/collection/map.rs","byte_start":393816,"byte_end":393825,"line_start":5,"line_end":5,"column_start":43,"column_end":52},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/collection/map.rs","byte_start":393827,"byte_end":393838,"line_start":5,"line_end":5,"column_start":54,"column_end":65},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/collection/map.rs","byte_start":393840,"byte_end":393856,"line_start":5,"line_end":5,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/collection/map.rs","byte_start":393866,"byte_end":393874,"line_start":5,"line_end":5,"column_start":93,"column_end":101},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/collection/map.rs","byte_start":393887,"byte_end":393894,"line_start":5,"line_end":5,"column_start":114,"column_end":121},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/collection/map.rs","byte_start":393917,"byte_end":393925,"line_start":7,"line_end":7,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/collection/map.rs","byte_start":393943,"byte_end":393946,"line_start":8,"line_end":8,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/collection/map.rs","byte_start":393966,"byte_end":393969,"line_start":9,"line_end":9,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/collection/map.rs","byte_start":393990,"byte_end":393997,"line_start":10,"line_end":10,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1865}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/collection/list.rs","byte_start":409212,"byte_end":409218,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/collection/list.rs","byte_start":409226,"byte_end":409229,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/collection/list.rs","byte_start":409250,"byte_end":409256,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/collection/list.rs","byte_start":409258,"byte_end":409267,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3681},"span":{"file_name":"src/collection/list.rs","byte_start":409279,"byte_end":409295,"line_start":2,"line_end":2,"column_start":48,"column_end":64},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/collection/list.rs","byte_start":409297,"byte_end":409310,"line_start":2,"line_end":2,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":2741},"span":{"file_name":"src/collection/list.rs","byte_start":409320,"byte_end":409327,"line_start":2,"line_end":2,"column_start":89,"column_end":96},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/collection/list.rs","byte_start":409349,"byte_end":409357,"line_start":3,"line_end":3,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/collection/list.rs","byte_start":409371,"byte_end":409376,"line_start":3,"line_end":3,"column_start":42,"column_end":47},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/collection/list.rs","byte_start":409378,"byte_end":409385,"line_start":3,"line_end":3,"column_start":49,"column_end":56},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/collection/list.rs","byte_start":409397,"byte_end":409406,"line_start":3,"line_end":3,"column_start":68,"column_end":77},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/collection/list.rs","byte_start":409419,"byte_end":409427,"line_start":3,"line_end":3,"column_start":90,"column_end":98},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/collection/list.rs","byte_start":409440,"byte_end":409449,"line_start":3,"line_end":3,"column_start":111,"column_end":120},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/collection/list.rs","byte_start":409460,"byte_end":409476,"line_start":3,"line_end":3,"column_start":131,"column_end":147},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/collection/list.rs","byte_start":409487,"byte_end":409496,"line_start":3,"line_end":3,"column_start":158,"column_end":167},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/collection/list.rs","byte_start":409498,"byte_end":409509,"line_start":3,"line_end":3,"column_start":169,"column_end":180},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/collection/list.rs","byte_start":409533,"byte_end":409540,"line_start":5,"line_end":5,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/collection/list.rs","byte_start":409560,"byte_end":409563,"line_start":6,"line_end":6,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1965}},{"kind":"GlobUse","ref_id":null,"span":{"file_name":"src/collection/list.rs","byte_start":409582,"byte_end":409583,"line_start":7,"line_end":7,"column_start":18,"column_end":19},"alias_span":null,"name":"*","value":"Vec","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/collection/list.rs","byte_start":409605,"byte_end":409613,"line_start":8,"line_end":8,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1965}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/collection/tuple.rs","byte_start":433729,"byte_end":433735,"line_start":1,"line_end":1,"column_start":18,"column_end":24},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3256},"span":{"file_name":"src/collection/tuple.rs","byte_start":433746,"byte_end":433762,"line_start":1,"line_end":1,"column_start":35,"column_end":51},"alias_span":null,"name":"NP_Cursor_Parent","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3687},"span":{"file_name":"src/collection/tuple.rs","byte_start":433773,"byte_end":433786,"line_start":1,"line_end":1,"column_start":62,"column_end":75},"alias_span":null,"name":"NP_Tuple_Data","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3528},"span":{"file_name":"src/collection/tuple.rs","byte_start":433788,"byte_end":433802,"line_start":1,"line_end":1,"column_start":77,"column_end":91},"alias_span":null,"name":"NP_Tuple_Field","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3497},"span":{"file_name":"src/collection/tuple.rs","byte_start":433804,"byte_end":433817,"line_start":1,"line_end":1,"column_start":93,"column_end":106},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/collection/tuple.rs","byte_start":433841,"byte_end":433847,"line_start":2,"line_end":2,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/collection/tuple.rs","byte_start":433855,"byte_end":433858,"line_start":2,"line_end":2,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/collection/tuple.rs","byte_start":433878,"byte_end":433887,"line_start":3,"line_end":3,"column_start":18,"column_end":27},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/collection/tuple.rs","byte_start":433914,"byte_end":433919,"line_start":5,"line_end":5,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/collection/tuple.rs","byte_start":433931,"byte_end":433940,"line_start":5,"line_end":5,"column_start":41,"column_end":50},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/collection/tuple.rs","byte_start":433965,"byte_end":433973,"line_start":6,"line_end":6,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/collection/tuple.rs","byte_start":433997,"byte_end":434006,"line_start":7,"line_end":7,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/collection/tuple.rs","byte_start":434018,"byte_end":434027,"line_start":7,"line_end":7,"column_start":43,"column_end":52},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/collection/tuple.rs","byte_start":434029,"byte_end":434040,"line_start":7,"line_end":7,"column_start":54,"column_end":65},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/collection/tuple.rs","byte_start":434042,"byte_end":434058,"line_start":7,"line_end":7,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/collection/tuple.rs","byte_start":434068,"byte_end":434076,"line_start":7,"line_end":7,"column_start":93,"column_end":101},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/collection/tuple.rs","byte_start":434089,"byte_end":434096,"line_start":7,"line_end":7,"column_start":114,"column_end":121},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/collection/tuple.rs","byte_start":434116,"byte_end":434119,"line_start":9,"line_end":9,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/collection/tuple.rs","byte_start":434140,"byte_end":434147,"line_start":10,"line_end":10,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/collection/tuple.rs","byte_start":434168,"byte_end":434171,"line_start":11,"line_end":11,"column_start":20,"column_end":23},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/collection/tuple.rs","byte_start":434193,"byte_end":434201,"line_start":12,"line_end":12,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2083}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/buffer.rs","byte_start":456174,"byte_end":456177,"line_start":3,"line_end":3,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":2566},"span":{"file_name":"src/buffer.rs","byte_start":456191,"byte_end":456202,"line_start":4,"line_end":4,"column_start":13,"column_end":24},"alias_span":null,"name":"json_decode","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3722},"span":{"file_name":"src/buffer.rs","byte_start":456215,"byte_end":456220,"line_start":4,"line_end":4,"column_start":37,"column_end":42},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3256},"span":{"file_name":"src/buffer.rs","byte_start":456231,"byte_end":456247,"line_start":4,"line_end":4,"column_start":53,"column_end":69},"alias_span":null,"name":"NP_Cursor_Parent","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3646},"span":{"file_name":"src/buffer.rs","byte_start":456258,"byte_end":456271,"line_start":4,"line_end":4,"column_start":80,"column_end":93},"alias_span":null,"name":"NP_Bytes_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3681},"span":{"file_name":"src/buffer.rs","byte_start":456273,"byte_end":456289,"line_start":4,"line_end":4,"column_start":95,"column_end":111},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3637},"span":{"file_name":"src/buffer.rs","byte_start":456291,"byte_end":456305,"line_start":4,"line_end":4,"column_start":113,"column_end":127},"alias_span":null,"name":"NP_String_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3674},"span":{"file_name":"src/buffer.rs","byte_start":456307,"byte_end":456321,"line_start":4,"line_end":4,"column_start":129,"column_end":143},"alias_span":null,"name":"NP_Struct_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3687},"span":{"file_name":"src/buffer.rs","byte_start":456323,"byte_end":456336,"line_start":4,"line_end":4,"column_start":145,"column_end":158},"alias_span":null,"name":"NP_Tuple_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/buffer.rs","byte_start":456359,"byte_end":456365,"line_start":5,"line_end":5,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3836},"span":{"file_name":"src/buffer.rs","byte_start":456379,"byte_end":456391,"line_start":6,"line_end":6,"column_start":13,"column_end":25},"alias_span":null,"name":"NP_Size_Data","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3386},"span":{"file_name":"src/buffer.rs","byte_start":456401,"byte_end":456412,"line_start":6,"line_end":6,"column_start":35,"column_end":46},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/buffer.rs","byte_start":456435,"byte_end":456444,"line_start":7,"line_end":7,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":2741},"span":{"file_name":"src/buffer.rs","byte_start":456453,"byte_end":456460,"line_start":7,"line_end":7,"column_start":39,"column_end":46},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3350},"span":{"file_name":"src/buffer.rs","byte_start":456493,"byte_end":456501,"line_start":8,"line_end":8,"column_start":31,"column_end":39},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":1718},"span":{"file_name":"src/buffer.rs","byte_start":456526,"byte_end":456535,"line_start":10,"line_end":10,"column_start":23,"column_end":32},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3309},"span":{"file_name":"src/buffer.rs","byte_start":456568,"byte_end":456574,"line_start":11,"line_end":11,"column_start":30,"column_end":36},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/buffer.rs","byte_start":456598,"byte_end":456606,"line_start":12,"line_end":12,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/buffer.rs","byte_start":456629,"byte_end":456638,"line_start":13,"line_end":13,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/buffer.rs","byte_start":456660,"byte_end":456676,"line_start":14,"line_end":14,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3282},"span":{"file_name":"src/buffer.rs","byte_start":456697,"byte_end":456706,"line_start":14,"line_end":14,"column_start":58,"column_end":67},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/buffer.rs","byte_start":456725,"byte_end":456728,"line_start":15,"line_end":15,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3338},"span":{"file_name":"src/buffer.rs","byte_start":456761,"byte_end":456768,"line_start":16,"line_end":16,"column_start":32,"column_end":39},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/buffer.rs","byte_start":456790,"byte_end":456798,"line_start":17,"line_end":17,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/buffer.rs","byte_start":456823,"byte_end":456830,"line_start":18,"line_end":18,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/buffer.rs","byte_start":456859,"byte_end":456866,"line_start":19,"line_end":19,"column_start":27,"column_end":34},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2182}},{"kind":"Use","ref_id":{"krate":0,"index":3822},"span":{"file_name":"src/schema.rs","byte_start":545078,"byte_end":545088,"line_start":814,"line_end":814,"column_start":22,"column_end":32},"alias_span":null,"name":"NP_HashMap","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":2818},"span":{"file_name":"src/schema.rs","byte_start":545096,"byte_end":545102,"line_start":814,"line_end":814,"column_start":40,"column_end":46},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":2838},"span":{"file_name":"src/schema.rs","byte_start":545104,"byte_end":545113,"line_start":814,"line_end":814,"column_start":48,"column_end":57},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":2788},"span":{"file_name":"src/schema.rs","byte_start":545129,"byte_end":545136,"line_start":815,"line_end":815,"column_start":13,"column_end":20},"alias_span":null,"name":"np_path","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3269},"span":{"file_name":"src/schema.rs","byte_start":545148,"byte_end":545157,"line_start":815,"line_end":815,"column_start":32,"column_end":41},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/schema.rs","byte_start":545181,"byte_end":545187,"line_start":816,"line_end":816,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":4,"index":5986},"span":{"file_name":"src/schema.rs","byte_start":545195,"byte_end":545198,"line_start":816,"line_end":816,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/schema.rs","byte_start":545217,"byte_end":545222,"line_start":817,"line_end":817,"column_start":17,"column_end":22},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/schema.rs","byte_start":545217,"byte_end":545222,"line_start":817,"line_end":817,"column_start":17,"column_end":22},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":2273},"span":{"file_name":"src/schema.rs","byte_start":545245,"byte_end":545266,"line_start":818,"line_end":818,"column_start":21,"column_end":42},"alias_span":null,"name":"DEFAULT_ROOT_PTR_ADDR","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/schema.rs","byte_start":545279,"byte_end":545286,"line_start":818,"line_end":818,"column_start":55,"column_end":62},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/schema.rs","byte_start":545296,"byte_end":545305,"line_start":818,"line_end":818,"column_start":72,"column_end":81},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":1530},"span":{"file_name":"src/schema.rs","byte_start":545326,"byte_end":545335,"line_start":818,"line_end":818,"column_start":102,"column_end":111},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":1531},"span":{"file_name":"src/schema.rs","byte_start":545326,"byte_end":545335,"line_start":818,"line_end":818,"column_start":102,"column_end":111},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3162},"span":{"file_name":"src/schema.rs","byte_start":545344,"byte_end":545351,"line_start":818,"line_end":818,"column_start":120,"column_end":127},"alias_span":null,"name":"NP_ULID","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3175},"span":{"file_name":"src/schema.rs","byte_start":545359,"byte_end":545366,"line_start":818,"line_end":818,"column_start":135,"column_end":142},"alias_span":null,"name":"NP_UUID","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":2857},"span":{"file_name":"src/schema.rs","byte_start":545395,"byte_end":545401,"line_start":819,"line_end":819,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Any","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3205},"span":{"file_name":"src/schema.rs","byte_start":545429,"byte_end":545436,"line_start":820,"line_end":820,"column_start":27,"column_end":34},"alias_span":null,"name":"NP_Date","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3142},"span":{"file_name":"src/schema.rs","byte_start":545463,"byte_end":545469,"line_start":821,"line_end":821,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Geo","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3154},"span":{"file_name":"src/schema.rs","byte_start":545496,"byte_end":545502,"line_start":822,"line_end":822,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Dec","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3350},"span":{"file_name":"src/schema.rs","byte_start":545534,"byte_end":545542,"line_start":823,"line_end":823,"column_start":31,"column_end":39},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":289},"span":{"file_name":"src/schema.rs","byte_start":545571,"byte_end":545579,"line_start":824,"line_end":824,"column_start":28,"column_end":36},"alias_span":null,"name":"NP_Bytes","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3338},"span":{"file_name":"src/schema.rs","byte_start":545611,"byte_end":545618,"line_start":825,"line_end":825,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3282},"span":{"file_name":"src/schema.rs","byte_start":545627,"byte_end":545636,"line_start":825,"line_end":825,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3309},"span":{"file_name":"src/schema.rs","byte_start":545643,"byte_end":545649,"line_start":825,"line_end":825,"column_start":63,"column_end":69},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3188},"span":{"file_name":"src/schema.rs","byte_start":545681,"byte_end":545688,"line_start":826,"line_end":826,"column_start":30,"column_end":37},"alias_span":null,"name":"NP_Enum","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":1723},"span":{"file_name":"src/schema.rs","byte_start":545690,"byte_end":545698,"line_start":826,"line_end":826,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/schema.rs","byte_start":545719,"byte_end":545727,"line_start":827,"line_end":827,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/schema.rs","byte_start":545745,"byte_end":545748,"line_start":828,"line_end":828,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/schema.rs","byte_start":545768,"byte_end":545771,"line_start":829,"line_end":829,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2354}},{"kind":"Use","ref_id":{"krate":4,"index":7637},"span":{"file_name":"src/error.rs","byte_start":580442,"byte_end":580455,"line_start":3,"line_end":3,"column_start":20,"column_end":33},"alias_span":null,"name":"FromUtf8Error","value":"","parent":{"krate":0,"index":2475}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/error.rs","byte_start":580476,"byte_end":580482,"line_start":4,"line_end":4,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2475}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/error.rs","byte_start":580503,"byte_end":580510,"line_start":5,"line_end":5,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2475}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/error.rs","byte_start":580531,"byte_end":580539,"line_start":6,"line_end":6,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2475}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/json_flex.rs","byte_start":583522,"byte_end":583525,"line_start":37,"line_end":37,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/json_flex.rs","byte_start":583546,"byte_end":583552,"line_start":38,"line_end":38,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":4,"index":315},"span":{"file_name":"src/json_flex.rs","byte_start":583572,"byte_end":583575,"line_start":39,"line_end":39,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/json_flex.rs","byte_start":583596,"byte_end":583603,"line_start":40,"line_end":40,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":4,"index":5742},"span":{"file_name":"src/json_flex.rs","byte_start":583624,"byte_end":583632,"line_start":41,"line_end":41,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":1,"index":12197},"span":{"file_name":"src/json_flex.rs","byte_start":583649,"byte_end":583656,"line_start":42,"line_end":42,"column_start":16,"column_end":23},"alias_span":null,"name":"FromStr","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":1,"index":3327},"span":{"file_name":"src/json_flex.rs","byte_start":583673,"byte_end":583678,"line_start":43,"line_end":43,"column_start":16,"column_end":21},"alias_span":null,"name":"Index","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/json_flex.rs","byte_start":583699,"byte_end":583707,"line_start":44,"line_end":44,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2499}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/memory.rs","byte_start":682302,"byte_end":682318,"line_start":3,"line_end":3,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2590}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/memory.rs","byte_start":682340,"byte_end":682348,"line_start":4,"line_end":4,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2590}},{"kind":"Use","ref_id":{"krate":1,"index":4683},"span":{"file_name":"src/memory.rs","byte_start":682367,"byte_end":682377,"line_start":5,"line_end":5,"column_start":17,"column_end":27},"alias_span":null,"name":"UnsafeCell","value":"","parent":{"krate":0,"index":2590}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/memory.rs","byte_start":682395,"byte_end":682398,"line_start":6,"line_end":6,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2590}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/new_idl.rs","byte_start":692370,"byte_end":692373,"line_start":5,"line_end":5,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2644}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/new_idl.rs","byte_start":692393,"byte_end":692401,"line_start":6,"line_end":6,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2644}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/new_idl.rs","byte_start":692422,"byte_end":692428,"line_start":7,"line_end":7,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2644}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/new_idl.rs","byte_start":692446,"byte_end":692449,"line_start":8,"line_end":8,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2644}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/hashmap.rs","byte_start":706358,"byte_end":706364,"line_start":1,"line_end":1,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2685}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/hashmap.rs","byte_start":706382,"byte_end":706385,"line_start":2,"line_end":2,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2685}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/hashmap.rs","byte_start":706406,"byte_end":706414,"line_start":4,"line_end":4,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2685}},{"kind":"Use","ref_id":{"krate":1,"index":11718},"span":{"file_name":"src/utils.rs","byte_start":711322,"byte_end":711325,"line_start":1,"line_end":1,"column_start":11,"column_end":14},"alias_span":null,"name":"str","value":"","parent":{"krate":0,"index":2710}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/utils.rs","byte_start":711346,"byte_end":711352,"line_start":2,"line_end":2,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2710}},{"kind":"Use","ref_id":{"krate":4,"index":663},"span":{"file_name":"src/utils.rs","byte_start":711373,"byte_end":711380,"line_start":3,"line_end":3,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2710}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/utils.rs","byte_start":711398,"byte_end":711401,"line_start":4,"line_end":4,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2710}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/utils.rs","byte_start":711422,"byte_end":711430,"line_start":6,"line_end":6,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2710}},{"kind":"ExternCrate","ref_id":null,"span":{"file_name":"src/lib.rs","byte_start":22138,"byte_end":22143,"line_start":344,"line_end":344,"column_start":14,"column_end":19},"alias_span":null,"name":"alloc","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":1,"index":3242},"span":{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22},"alias_span":null,"name":"Deref","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":1,"index":3255},"span":{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32},"alias_span":null,"name":"DerefMut","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3776},"span":{"file_name":"src/lib.rs","byte_start":22238,"byte_end":22247,"line_start":348,"line_end":348,"column_start":20,"column_end":29},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3732},"span":{"file_name":"src/lib.rs","byte_start":22271,"byte_end":22278,"line_start":349,"line_end":349,"column_start":23,"column_end":30},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3702},"span":{"file_name":"src/lib.rs","byte_start":22299,"byte_end":22308,"line_start":350,"line_end":350,"column_start":20,"column_end":29},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":2566},"span":{"file_name":"src/lib.rs","byte_start":22332,"byte_end":22343,"line_start":351,"line_end":351,"column_start":23,"column_end":34},"alias_span":null,"name":"json_decode","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3709},"span":{"file_name":"src/lib.rs","byte_start":22363,"byte_end":22371,"line_start":352,"line_end":352,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3355},"span":{"file_name":"src/lib.rs","byte_start":22386,"byte_end":22395,"line_start":353,"line_end":353,"column_start":14,"column_end":23},"alias_span":null,"name":"NP_Buffer","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":2273},"span":{"file_name":"src/lib.rs","byte_start":22397,"byte_end":22418,"line_start":353,"line_end":353,"column_start":25,"column_end":46},"alias_span":null,"name":"DEFAULT_ROOT_PTR_ADDR","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":4,"index":7089},"span":{"file_name":"src/lib.rs","byte_start":22437,"byte_end":22440,"line_start":354,"line_end":354,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":4,"index":7626},"span":{"file_name":"src/lib.rs","byte_start":22461,"byte_end":22467,"line_start":355,"line_end":355,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3560},"span":{"file_name":"src/lib.rs","byte_start":22481,"byte_end":22497,"line_start":356,"line_end":356,"column_start":13,"column_end":29},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":0}}],"defs":[{"kind":"Mod","id":{"krate":0,"index":0},"span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":34931,"line_start":1,"line_end":696,"column_start":1,"column_end":2},"name":"","qualname":"::","value":"src/lib.rs","parent":null,"children":[{"krate":0,"index":1},{"krate":0,"index":2},{"krate":0,"index":3},{"krate":0,"index":4},{"krate":0,"index":20},{"krate":0,"index":1741},{"krate":0,"index":2182},{"krate":0,"index":2354},{"krate":0,"index":2475},{"krate":0,"index":2499},{"krate":0,"index":2589},{"krate":0,"index":2590},{"krate":0,"index":2644},{"krate":0,"index":2685},{"krate":0,"index":2710},{"krate":0,"index":2749},{"krate":0,"index":2750},{"krate":0,"index":2751},{"krate":0,"index":2754},{"krate":0,"index":2757},{"krate":0,"index":2760},{"krate":0,"index":2763},{"krate":0,"index":2766},{"krate":0,"index":2769},{"krate":0,"index":2772},{"krate":0,"index":2773},{"krate":0,"index":2776},{"krate":0,"index":2779},{"krate":0,"index":2782},{"krate":0,"index":2785},{"krate":0,"index":2788},{"krate":0,"index":3831},{"krate":0,"index":3834},{"krate":0,"index":2789},{"krate":0,"index":2790},{"krate":0,"index":3836},{"krate":0,"index":3840},{"krate":0,"index":3842},{"krate":0,"index":3843},{"krate":0,"index":3845},{"krate":0,"index":3846},{"krate":0,"index":2791}],"decl_id":null,"docs":" ## NoProto: Flexible, Fast & Compact Serialization with RPC\n \n \n \n [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto)\n \n [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)\n [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto)\n [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/)\n [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/)\n ### Features \n \n **Lightweight**
\n - Zero dependencies\n - `no_std` support, WASM ready\n - Most compact non compiling storage format\n \n **Stable**
\n - Safely accept untrusted buffers\n - Passes Miri compiler safety checks\n - Panic and unwrap free\n \n **Easy**
\n - Extensive Documentation & Testing\n - Full interop with JSON, Import and Export JSON values\n - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format\n \n **Fast**
\n - Zero copy deserialization\n - Most updates are append only\n - Deserialization is incrimental\n \n **Powerful**
\n - Native byte-wise sorting\n - Supports recursive data types\n - Supports most common native data types\n - Supports collections (list, map, struct & tuple)\n - Supports arbitrary nesting of collection types\n - Schemas support default values and non destructive updates\n - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html).\n \n \n ### Why ANOTHER Serialization Format?\n 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats:\n \n **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema.\n \n **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable.\n \n NoProto takes the performance advantages of compiled formats and implements them in a flexible format.\n \n 2. NoProto is a **key-value database focused format**:\n \n **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*.\n \n **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library.\n \n **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types.\n \n **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks)\n \n \n ### Comparison With Other Formats\n \n
\n
\n Compared to Apache Avro\n - Far more space efficient
\n - Significantly faster serialization & deserialization
\n - All values are optional (no void or null type)
\n - Supports more native types (like unsigned ints)
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n
\n
\n
\n Compared to Protocol Buffers\n - Comparable serialization & deserialization performance
\n - Updating buffers is an order of magnitude faster
\n - Schemas are dynamic at runtime, no compilation step
\n - All values are optional
\n - Supports more types and better nested type support
\n - Byte-wise sorting is first class operation
\n - Updates without deserializng/serializing
\n - Safely handle untrusted data.
\n - All values are optional and can be inserted in any order.
\n
\n
\n
\n Compared to JSON / BSON\n - Far more space efficient
\n - Significantly faster serialization & deserialization
\n - Deserializtion is zero copy
\n - Has schemas / type safe
\n - Supports byte-wise sorting
\n - Supports raw bytes & other native types
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n
\n
\n
\n Compared to Flatbuffers / Bincode\n - Data types can change or be created at runtime
\n - Updating buffers is an order of magnitude faster
\n - Supports byte-wise sorting
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n - All values are optional and can be inserted in any order.
\n
\n

\n \n | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting |\n |------------------|-----------|------------|---------|----------|-------------------|\n | **Runtime Libs** | | | | | | \n | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ |\n | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ |\n | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ |\n | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ |\n | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ |\n | **Compiled Libs**| | | | | | \n | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ |\n | Bincode | ✓ | ? | ✓ | ✓ | ✗ |\n | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ |\n | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ |\n | Veriform | ✗ | ? | ✗ | ✗ | ✗ |\n \n \n # Quick Example\n ```rust\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n // An ES6 like IDL is used to describe schema for the factory\n // Each factory represents a single schema\n // One factory can be used to serialize/deserialize any number of buffers\n let user_factory = NP_Factory::new(r#\"\n struct({ fields: {\n name: string(),\n age: u16({ default: 0 }),\n tags: list({ of: string() })\n }})\n \"#)?;\n \n \n // create a new empty buffer\n let mut user_buffer = user_factory.new_buffer(None); // optional capacity\n \n // set the \"name\" field\n user_buffer.set(&[\"name\"], \"Billy Joel\")?;\n \n // read the \"name\" field\n let name = user_buffer.get::<&str>(&[\"name\"])?;\n assert_eq!(name, Some(\"Billy Joel\"));\n \n // set a nested value, the first tag in the tag list\n user_buffer.set(&[\"tags\", \"0\"], \"first tag\")?;\n \n // read the first tag from the tag list\n let tag = user_buffer.get::<&str>(&[\"tags\", \"0\"])?;\n assert_eq!(tag, Some(\"first tag\"));\n \n // close buffer and get internal bytes\n let user_bytes: Vec = user_buffer.finish().bytes();\n \n // open the buffer again\n let user_buffer = user_factory.open_buffer(user_bytes);\n \n // read the \"name\" field again\n let name = user_buffer.get::<&str>(&[\"name\"])?;\n assert_eq!(name, Some(\"Billy Joel\"));\n \n // get the age field\n let age = user_buffer.get::(&[\"age\"])?;\n // returns default value from schema\n assert_eq!(age, Some(0u16));\n \n // close again\n let user_bytes: Vec = user_buffer.finish().bytes();\n \n \n // we can now save user_bytes to disk, \n // send it over the network, or whatever else is needed with the data\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Guided Learning / Next Steps:\n 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas.\n 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with.\n 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data.\n 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs.\n 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas.\n \n ## Benchmarks\n While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. \n \n The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use.\n \n **Legend**: Ops / Millisecond, higher is better\n \n | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) |\n |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------|\n | **Runtime Libs** | | | | | | |\n | *NoProto* | | | | | | |\n | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 |\n | Apache Avro | | | | | | |\n | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 |\n | FlexBuffers | | | | | | |\n | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 |\n | JSON | | | | | | |\n | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 |\n | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 |\n | BSON | | | | | | |\n | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 |\n | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 |\n | MessagePack | | | | | | |\n | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 |\n | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 |\n | **Compiled Libs** | | | | | | |\n | Flatbuffers | | | | | | |\n | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 |\n | Bincode | | | | | | |\n | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 |\n | Postcard | | | | | | |\n | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 |\n | Protocol Buffers | | | | | | |\n | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 |\n | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 |\n | Abomonation | | | | | | |\n | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 |\n | Rkyv | | | | | | |\n | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 |\n \n - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`.\n - **Decode All**: Deserialize the test object from the `Vec` into all fields.\n - **Decode 1**: Deserialize the test object from the `Vec` into one field.\n - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`.\n \n **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto.\n \n Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated.\n \n ## NoProto Strengths\n If your use case fits any of the points below, NoProto might be a good choice for your application.\n \n 1. Flexible At Runtime
\n If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!).\n \n 2. Safely Accept Untrusted Data
\n The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application.\n \n 3. Extremely Fast Updates
\n If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs.\n \n 4. All Fields Optional, Insert/Update In Any Order
\n Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. \n \n 5. Incremental Deserializing
\n You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries.\n \n 6. Bytewise Sorting
\n Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. \n \n 7. `no_std` Support
\n If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices.\n \n 8. Stable
\n NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller.\n \n 9. CPU Independent
\n All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture.\n \n \n ### When to use Flatbuffers / Bincode / CapN Proto\n If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you.\n \n ### When to use JSON / BSON / MessagePack\n If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better.\n \n ## Limitations\n - Structs and Tuples cannot have more than 255 items.\n - Lists and Maps cannot have more than 2^16 (~64k) items.\n - You cannot nest more than 255 levels deep.\n - Struct field names cannot be longer than 255 UTF8 bytes.\n - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes.\n - Map keys cannot be larger than 255 UTF8 bytes.\n - Buffers cannot be larger than 2^32 bytes or ~4GB.\n \n ## Unsafe\n This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer.\n \n ----------------------\n \n MIT License\n \n Copyright (c) 2021 Scott Lott\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE. \n","sig":null,"attributes":[{"value":"warn(missing_docs)","span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":22,"line_start":1,"line_end":1,"column_start":1,"column_end":23}},{"value":"allow(non_camel_case_types)","span":{"file_name":"src/lib.rs","byte_start":23,"byte_end":54,"line_start":2,"line_end":2,"column_start":1,"column_end":32}},{"value":"no_std","span":{"file_name":"src/lib.rs","byte_start":55,"byte_end":65,"line_start":3,"line_end":3,"column_start":1,"column_end":11}},{"value":"/ ## NoProto: Flexible, Fast & Compact Serialization with RPC","span":{"file_name":"src/lib.rs","byte_start":67,"byte_end":130,"line_start":5,"line_end":5,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":131,"byte_end":135,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":136,"byte_end":218,"line_start":7,"line_end":7,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":219,"byte_end":223,"line_start":8,"line_end":8,"column_start":1,"column_end":5}},{"value":"/ [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto)","span":{"file_name":"src/lib.rs","byte_start":224,"byte_end":370,"line_start":9,"line_end":9,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":371,"byte_end":375,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)","span":{"file_name":"src/lib.rs","byte_start":376,"byte_end":481,"line_start":11,"line_end":11,"column_start":1,"column_end":106}},{"value":"/ [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto)","span":{"file_name":"src/lib.rs","byte_start":482,"byte_end":581,"line_start":12,"line_end":12,"column_start":1,"column_end":100}},{"value":"/ [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/)","span":{"file_name":"src/lib.rs","byte_start":582,"byte_end":677,"line_start":13,"line_end":13,"column_start":1,"column_end":96}},{"value":"/ [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/)","span":{"file_name":"src/lib.rs","byte_start":678,"byte_end":853,"line_start":14,"line_end":14,"column_start":1,"column_end":176}},{"value":"/ ### Features ","span":{"file_name":"src/lib.rs","byte_start":854,"byte_end":872,"line_start":15,"line_end":15,"column_start":1,"column_end":19}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":873,"byte_end":877,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ **Lightweight**
","span":{"file_name":"src/lib.rs","byte_start":878,"byte_end":902,"line_start":17,"line_end":17,"column_start":1,"column_end":25}},{"value":"/ - Zero dependencies","span":{"file_name":"src/lib.rs","byte_start":903,"byte_end":926,"line_start":18,"line_end":18,"column_start":1,"column_end":24}},{"value":"/ - `no_std` support, WASM ready","span":{"file_name":"src/lib.rs","byte_start":927,"byte_end":961,"line_start":19,"line_end":19,"column_start":1,"column_end":35}},{"value":"/ - Most compact non compiling storage format","span":{"file_name":"src/lib.rs","byte_start":962,"byte_end":1009,"line_start":20,"line_end":20,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1010,"byte_end":1014,"line_start":21,"line_end":21,"column_start":1,"column_end":5}},{"value":"/ **Stable**
","span":{"file_name":"src/lib.rs","byte_start":1015,"byte_end":1034,"line_start":22,"line_end":22,"column_start":1,"column_end":20}},{"value":"/ - Safely accept untrusted buffers","span":{"file_name":"src/lib.rs","byte_start":1035,"byte_end":1072,"line_start":23,"line_end":23,"column_start":1,"column_end":38}},{"value":"/ - Passes Miri compiler safety checks","span":{"file_name":"src/lib.rs","byte_start":1073,"byte_end":1113,"line_start":24,"line_end":24,"column_start":1,"column_end":41}},{"value":"/ - Panic and unwrap free","span":{"file_name":"src/lib.rs","byte_start":1114,"byte_end":1141,"line_start":25,"line_end":25,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1142,"byte_end":1146,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ **Easy**
","span":{"file_name":"src/lib.rs","byte_start":1147,"byte_end":1164,"line_start":27,"line_end":27,"column_start":1,"column_end":18}},{"value":"/ - Extensive Documentation & Testing","span":{"file_name":"src/lib.rs","byte_start":1165,"byte_end":1204,"line_start":28,"line_end":28,"column_start":1,"column_end":40}},{"value":"/ - Full interop with JSON, Import and Export JSON values","span":{"file_name":"src/lib.rs","byte_start":1205,"byte_end":1264,"line_start":29,"line_end":29,"column_start":1,"column_end":60}},{"value":"/ - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format","span":{"file_name":"src/lib.rs","byte_start":1265,"byte_end":1383,"line_start":30,"line_end":30,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1384,"byte_end":1388,"line_start":31,"line_end":31,"column_start":1,"column_end":5}},{"value":"/ **Fast**
","span":{"file_name":"src/lib.rs","byte_start":1389,"byte_end":1406,"line_start":32,"line_end":32,"column_start":1,"column_end":18}},{"value":"/ - Zero copy deserialization","span":{"file_name":"src/lib.rs","byte_start":1407,"byte_end":1438,"line_start":33,"line_end":33,"column_start":1,"column_end":32}},{"value":"/ - Most updates are append only","span":{"file_name":"src/lib.rs","byte_start":1439,"byte_end":1473,"line_start":34,"line_end":34,"column_start":1,"column_end":35}},{"value":"/ - Deserialization is incrimental","span":{"file_name":"src/lib.rs","byte_start":1474,"byte_end":1510,"line_start":35,"line_end":35,"column_start":1,"column_end":37}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1511,"byte_end":1515,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ **Powerful**
","span":{"file_name":"src/lib.rs","byte_start":1516,"byte_end":1537,"line_start":37,"line_end":37,"column_start":1,"column_end":22}},{"value":"/ - Native byte-wise sorting","span":{"file_name":"src/lib.rs","byte_start":1538,"byte_end":1568,"line_start":38,"line_end":38,"column_start":1,"column_end":31}},{"value":"/ - Supports recursive data types","span":{"file_name":"src/lib.rs","byte_start":1569,"byte_end":1604,"line_start":39,"line_end":39,"column_start":1,"column_end":36}},{"value":"/ - Supports most common native data types","span":{"file_name":"src/lib.rs","byte_start":1605,"byte_end":1649,"line_start":40,"line_end":40,"column_start":1,"column_end":45}},{"value":"/ - Supports collections (list, map, struct & tuple)","span":{"file_name":"src/lib.rs","byte_start":1650,"byte_end":1704,"line_start":41,"line_end":41,"column_start":1,"column_end":55}},{"value":"/ - Supports arbitrary nesting of collection types","span":{"file_name":"src/lib.rs","byte_start":1705,"byte_end":1757,"line_start":42,"line_end":42,"column_start":1,"column_end":53}},{"value":"/ - Schemas support default values and non destructive updates","span":{"file_name":"src/lib.rs","byte_start":1758,"byte_end":1822,"line_start":43,"line_end":43,"column_start":1,"column_end":65}},{"value":"/ - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html).","span":{"file_name":"src/lib.rs","byte_start":1823,"byte_end":1921,"line_start":44,"line_end":44,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1922,"byte_end":1926,"line_start":45,"line_end":45,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1927,"byte_end":1931,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"/ ### Why ANOTHER Serialization Format?","span":{"file_name":"src/lib.rs","byte_start":1932,"byte_end":1973,"line_start":47,"line_end":47,"column_start":1,"column_end":42}},{"value":"/ 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats:","span":{"file_name":"src/lib.rs","byte_start":1974,"byte_end":2081,"line_start":48,"line_end":48,"column_start":1,"column_end":108}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2082,"byte_end":2086,"line_start":49,"line_end":49,"column_start":1,"column_end":5}},{"value":"/ **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema.","span":{"file_name":"src/lib.rs","byte_start":2087,"byte_end":2378,"line_start":50,"line_end":50,"column_start":1,"column_end":292}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2379,"byte_end":2383,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable.","span":{"file_name":"src/lib.rs","byte_start":2384,"byte_end":2596,"line_start":52,"line_end":52,"column_start":1,"column_end":213}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2597,"byte_end":2601,"line_start":53,"line_end":53,"column_start":1,"column_end":5}},{"value":"/ NoProto takes the performance advantages of compiled formats and implements them in a flexible format.","span":{"file_name":"src/lib.rs","byte_start":2602,"byte_end":2708,"line_start":54,"line_end":54,"column_start":1,"column_end":107}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2709,"byte_end":2713,"line_start":55,"line_end":55,"column_start":1,"column_end":5}},{"value":"/ 2. NoProto is a **key-value database focused format**:","span":{"file_name":"src/lib.rs","byte_start":2714,"byte_end":2772,"line_start":56,"line_end":56,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2773,"byte_end":2777,"line_start":57,"line_end":57,"column_start":1,"column_end":5}},{"value":"/ **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*.","span":{"file_name":"src/lib.rs","byte_start":2778,"byte_end":3051,"line_start":58,"line_end":58,"column_start":1,"column_end":274}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3052,"byte_end":3056,"line_start":59,"line_end":59,"column_start":1,"column_end":5}},{"value":"/ **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library.","span":{"file_name":"src/lib.rs","byte_start":3057,"byte_end":3267,"line_start":60,"line_end":60,"column_start":1,"column_end":211}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3268,"byte_end":3272,"line_start":61,"line_end":61,"column_start":1,"column_end":5}},{"value":"/ **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types.","span":{"file_name":"src/lib.rs","byte_start":3273,"byte_end":3471,"line_start":62,"line_end":62,"column_start":1,"column_end":199}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3472,"byte_end":3476,"line_start":63,"line_end":63,"column_start":1,"column_end":5}},{"value":"/ **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks)","span":{"file_name":"src/lib.rs","byte_start":3477,"byte_end":3724,"line_start":64,"line_end":64,"column_start":1,"column_end":248}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3725,"byte_end":3729,"line_start":65,"line_end":65,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3730,"byte_end":3734,"line_start":66,"line_end":66,"column_start":1,"column_end":5}},{"value":"/ ### Comparison With Other Formats","span":{"file_name":"src/lib.rs","byte_start":3735,"byte_end":3772,"line_start":67,"line_end":67,"column_start":1,"column_end":38}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3773,"byte_end":3777,"line_start":68,"line_end":68,"column_start":1,"column_end":5}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":3778,"byte_end":3787,"line_start":69,"line_end":69,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":3788,"byte_end":3801,"line_start":70,"line_end":70,"column_start":1,"column_end":14}},{"value":"/ Compared to Apache Avro","span":{"file_name":"src/lib.rs","byte_start":3802,"byte_end":3855,"line_start":71,"line_end":71,"column_start":1,"column_end":54}},{"value":"/ - Far more space efficient
","span":{"file_name":"src/lib.rs","byte_start":3856,"byte_end":3891,"line_start":72,"line_end":72,"column_start":1,"column_end":36}},{"value":"/ - Significantly faster serialization & deserialization
","span":{"file_name":"src/lib.rs","byte_start":3892,"byte_end":3955,"line_start":73,"line_end":73,"column_start":1,"column_end":64}},{"value":"/ - All values are optional (no void or null type)
","span":{"file_name":"src/lib.rs","byte_start":3956,"byte_end":4013,"line_start":74,"line_end":74,"column_start":1,"column_end":58}},{"value":"/ - Supports more native types (like unsigned ints)
","span":{"file_name":"src/lib.rs","byte_start":4014,"byte_end":4072,"line_start":75,"line_end":75,"column_start":1,"column_end":59}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":4073,"byte_end":4124,"line_start":76,"line_end":76,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":4125,"byte_end":4156,"line_start":77,"line_end":77,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":4157,"byte_end":4197,"line_start":78,"line_end":78,"column_start":1,"column_end":41}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4198,"byte_end":4212,"line_start":79,"line_end":79,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4213,"byte_end":4222,"line_start":80,"line_end":80,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4223,"byte_end":4236,"line_start":81,"line_end":81,"column_start":1,"column_end":14}},{"value":"/ Compared to Protocol Buffers","span":{"file_name":"src/lib.rs","byte_start":4237,"byte_end":4295,"line_start":82,"line_end":82,"column_start":1,"column_end":59}},{"value":"/ - Comparable serialization & deserialization performance
","span":{"file_name":"src/lib.rs","byte_start":4296,"byte_end":4361,"line_start":83,"line_end":83,"column_start":1,"column_end":66}},{"value":"/ - Updating buffers is an order of magnitude faster
","span":{"file_name":"src/lib.rs","byte_start":4362,"byte_end":4421,"line_start":84,"line_end":84,"column_start":1,"column_end":60}},{"value":"/ - Schemas are dynamic at runtime, no compilation step
","span":{"file_name":"src/lib.rs","byte_start":4422,"byte_end":4484,"line_start":85,"line_end":85,"column_start":1,"column_end":63}},{"value":"/ - All values are optional
","span":{"file_name":"src/lib.rs","byte_start":4485,"byte_end":4519,"line_start":86,"line_end":86,"column_start":1,"column_end":35}},{"value":"/ - Supports more types and better nested type support
","span":{"file_name":"src/lib.rs","byte_start":4520,"byte_end":4581,"line_start":87,"line_end":87,"column_start":1,"column_end":62}},{"value":"/ - Byte-wise sorting is first class operation
","span":{"file_name":"src/lib.rs","byte_start":4582,"byte_end":4635,"line_start":88,"line_end":88,"column_start":1,"column_end":54}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":4636,"byte_end":4687,"line_start":89,"line_end":89,"column_start":1,"column_end":52}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":4688,"byte_end":4728,"line_start":90,"line_end":90,"column_start":1,"column_end":41}},{"value":"/ - All values are optional and can be inserted in any order.
","span":{"file_name":"src/lib.rs","byte_start":4729,"byte_end":4797,"line_start":91,"line_end":91,"column_start":1,"column_end":69}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4798,"byte_end":4812,"line_start":92,"line_end":92,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4813,"byte_end":4822,"line_start":93,"line_end":93,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4823,"byte_end":4836,"line_start":94,"line_end":94,"column_start":1,"column_end":14}},{"value":"/ Compared to JSON / BSON","span":{"file_name":"src/lib.rs","byte_start":4837,"byte_end":4890,"line_start":95,"line_end":95,"column_start":1,"column_end":54}},{"value":"/ - Far more space efficient
","span":{"file_name":"src/lib.rs","byte_start":4891,"byte_end":4926,"line_start":96,"line_end":96,"column_start":1,"column_end":36}},{"value":"/ - Significantly faster serialization & deserialization
","span":{"file_name":"src/lib.rs","byte_start":4927,"byte_end":4990,"line_start":97,"line_end":97,"column_start":1,"column_end":64}},{"value":"/ - Deserializtion is zero copy
","span":{"file_name":"src/lib.rs","byte_start":4991,"byte_end":5029,"line_start":98,"line_end":98,"column_start":1,"column_end":39}},{"value":"/ - Has schemas / type safe
","span":{"file_name":"src/lib.rs","byte_start":5030,"byte_end":5064,"line_start":99,"line_end":99,"column_start":1,"column_end":35}},{"value":"/ - Supports byte-wise sorting
","span":{"file_name":"src/lib.rs","byte_start":5065,"byte_end":5102,"line_start":100,"line_end":100,"column_start":1,"column_end":38}},{"value":"/ - Supports raw bytes & other native types
","span":{"file_name":"src/lib.rs","byte_start":5103,"byte_end":5153,"line_start":101,"line_end":101,"column_start":1,"column_end":51}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":5154,"byte_end":5205,"line_start":102,"line_end":102,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":5206,"byte_end":5237,"line_start":103,"line_end":103,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":5238,"byte_end":5278,"line_start":104,"line_end":104,"column_start":1,"column_end":41}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5279,"byte_end":5293,"line_start":105,"line_end":105,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5294,"byte_end":5303,"line_start":106,"line_end":106,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5304,"byte_end":5317,"line_start":107,"line_end":107,"column_start":1,"column_end":14}},{"value":"/ Compared to Flatbuffers / Bincode","span":{"file_name":"src/lib.rs","byte_start":5318,"byte_end":5381,"line_start":108,"line_end":108,"column_start":1,"column_end":64}},{"value":"/ - Data types can change or be created at runtime
","span":{"file_name":"src/lib.rs","byte_start":5382,"byte_end":5439,"line_start":109,"line_end":109,"column_start":1,"column_end":58}},{"value":"/ - Updating buffers is an order of magnitude faster
","span":{"file_name":"src/lib.rs","byte_start":5440,"byte_end":5499,"line_start":110,"line_end":110,"column_start":1,"column_end":60}},{"value":"/ - Supports byte-wise sorting
","span":{"file_name":"src/lib.rs","byte_start":5500,"byte_end":5537,"line_start":111,"line_end":111,"column_start":1,"column_end":38}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":5538,"byte_end":5589,"line_start":112,"line_end":112,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":5590,"byte_end":5621,"line_start":113,"line_end":113,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":5622,"byte_end":5662,"line_start":114,"line_end":114,"column_start":1,"column_end":41}},{"value":"/ - All values are optional and can be inserted in any order.
","span":{"file_name":"src/lib.rs","byte_start":5663,"byte_end":5731,"line_start":115,"line_end":115,"column_start":1,"column_end":69}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5732,"byte_end":5746,"line_start":116,"line_end":116,"column_start":1,"column_end":15}},{"value":"/

","span":{"file_name":"src/lib.rs","byte_start":5747,"byte_end":5761,"line_start":117,"line_end":117,"column_start":1,"column_end":15}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":5762,"byte_end":5766,"line_start":118,"line_end":118,"column_start":1,"column_end":5}},{"value":"/ | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting |","span":{"file_name":"src/lib.rs","byte_start":5767,"byte_end":5857,"line_start":119,"line_end":119,"column_start":1,"column_end":91}},{"value":"/ |------------------|-----------|------------|---------|----------|-------------------|","span":{"file_name":"src/lib.rs","byte_start":5858,"byte_end":5948,"line_start":120,"line_end":120,"column_start":1,"column_end":91}},{"value":"/ | **Runtime Libs** | | | | | | ","span":{"file_name":"src/lib.rs","byte_start":5949,"byte_end":6040,"line_start":121,"line_end":121,"column_start":1,"column_end":92}},{"value":"/ | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ |","span":{"file_name":"src/lib.rs","byte_start":6041,"byte_end":6139,"line_start":122,"line_end":122,"column_start":1,"column_end":91}},{"value":"/ | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ |","span":{"file_name":"src/lib.rs","byte_start":6140,"byte_end":6238,"line_start":123,"line_end":123,"column_start":1,"column_end":91}},{"value":"/ | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6239,"byte_end":6337,"line_start":124,"line_end":124,"column_start":1,"column_end":91}},{"value":"/ | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6338,"byte_end":6436,"line_start":125,"line_end":125,"column_start":1,"column_end":91}},{"value":"/ | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6437,"byte_end":6535,"line_start":126,"line_end":126,"column_start":1,"column_end":91}},{"value":"/ | **Compiled Libs**| | | | | | ","span":{"file_name":"src/lib.rs","byte_start":6536,"byte_end":6627,"line_start":127,"line_end":127,"column_start":1,"column_end":92}},{"value":"/ | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6628,"byte_end":6726,"line_start":128,"line_end":128,"column_start":1,"column_end":91}},{"value":"/ | Bincode | ✓ | ? | ✓ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6727,"byte_end":6825,"line_start":129,"line_end":129,"column_start":1,"column_end":91}},{"value":"/ | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6826,"byte_end":6924,"line_start":130,"line_end":130,"column_start":1,"column_end":91}},{"value":"/ | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6925,"byte_end":7023,"line_start":131,"line_end":131,"column_start":1,"column_end":91}},{"value":"/ | Veriform | ✗ | ? | ✗ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":7024,"byte_end":7122,"line_start":132,"line_end":132,"column_start":1,"column_end":91}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7123,"byte_end":7127,"line_start":133,"line_end":133,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7128,"byte_end":7132,"line_start":134,"line_end":134,"column_start":1,"column_end":5}},{"value":"/ # Quick Example","span":{"file_name":"src/lib.rs","byte_start":7133,"byte_end":7152,"line_start":135,"line_end":135,"column_start":1,"column_end":20}},{"value":"/ ```rust","span":{"file_name":"src/lib.rs","byte_start":7153,"byte_end":7164,"line_start":136,"line_end":136,"column_start":1,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/lib.rs","byte_start":7165,"byte_end":7199,"line_start":137,"line_end":137,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/lib.rs","byte_start":7200,"byte_end":7229,"line_start":138,"line_end":138,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7230,"byte_end":7234,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ // An ES6 like IDL is used to describe schema for the factory","span":{"file_name":"src/lib.rs","byte_start":7235,"byte_end":7300,"line_start":140,"line_end":140,"column_start":1,"column_end":66}},{"value":"/ // Each factory represents a single schema","span":{"file_name":"src/lib.rs","byte_start":7301,"byte_end":7347,"line_start":141,"line_end":141,"column_start":1,"column_end":47}},{"value":"/ // One factory can be used to serialize/deserialize any number of buffers","span":{"file_name":"src/lib.rs","byte_start":7348,"byte_end":7425,"line_start":142,"line_end":142,"column_start":1,"column_end":78}},{"value":"/ let user_factory = NP_Factory::new(r#\"","span":{"file_name":"src/lib.rs","byte_start":7426,"byte_end":7468,"line_start":143,"line_end":143,"column_start":1,"column_end":43}},{"value":"/ struct({ fields: {","span":{"file_name":"src/lib.rs","byte_start":7469,"byte_end":7495,"line_start":144,"line_end":144,"column_start":1,"column_end":27}},{"value":"/ name: string(),","span":{"file_name":"src/lib.rs","byte_start":7496,"byte_end":7523,"line_start":145,"line_end":145,"column_start":1,"column_end":28}},{"value":"/ age: u16({ default: 0 }),","span":{"file_name":"src/lib.rs","byte_start":7524,"byte_end":7561,"line_start":146,"line_end":146,"column_start":1,"column_end":38}},{"value":"/ tags: list({ of: string() })","span":{"file_name":"src/lib.rs","byte_start":7562,"byte_end":7602,"line_start":147,"line_end":147,"column_start":1,"column_end":41}},{"value":"/ }})","span":{"file_name":"src/lib.rs","byte_start":7603,"byte_end":7614,"line_start":148,"line_end":148,"column_start":1,"column_end":12}},{"value":"/ \"#)?;","span":{"file_name":"src/lib.rs","byte_start":7615,"byte_end":7624,"line_start":149,"line_end":149,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7625,"byte_end":7629,"line_start":150,"line_end":150,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7630,"byte_end":7634,"line_start":151,"line_end":151,"column_start":1,"column_end":5}},{"value":"/ // create a new empty buffer","span":{"file_name":"src/lib.rs","byte_start":7635,"byte_end":7667,"line_start":152,"line_end":152,"column_start":1,"column_end":33}},{"value":"/ let mut user_buffer = user_factory.new_buffer(None); // optional capacity","span":{"file_name":"src/lib.rs","byte_start":7668,"byte_end":7745,"line_start":153,"line_end":153,"column_start":1,"column_end":78}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7746,"byte_end":7750,"line_start":154,"line_end":154,"column_start":1,"column_end":5}},{"value":"/ // set the \"name\" field","span":{"file_name":"src/lib.rs","byte_start":7751,"byte_end":7778,"line_start":155,"line_end":155,"column_start":1,"column_end":28}},{"value":"/ user_buffer.set(&[\"name\"], \"Billy Joel\")?;","span":{"file_name":"src/lib.rs","byte_start":7779,"byte_end":7825,"line_start":156,"line_end":156,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7826,"byte_end":7830,"line_start":157,"line_end":157,"column_start":1,"column_end":5}},{"value":"/ // read the \"name\" field","span":{"file_name":"src/lib.rs","byte_start":7831,"byte_end":7859,"line_start":158,"line_end":158,"column_start":1,"column_end":29}},{"value":"/ let name = user_buffer.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":7860,"byte_end":7911,"line_start":159,"line_end":159,"column_start":1,"column_end":52}},{"value":"/ assert_eq!(name, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":7912,"byte_end":7953,"line_start":160,"line_end":160,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7954,"byte_end":7958,"line_start":161,"line_end":161,"column_start":1,"column_end":5}},{"value":"/ // set a nested value, the first tag in the tag list","span":{"file_name":"src/lib.rs","byte_start":7959,"byte_end":8015,"line_start":162,"line_end":162,"column_start":1,"column_end":57}},{"value":"/ user_buffer.set(&[\"tags\", \"0\"], \"first tag\")?;","span":{"file_name":"src/lib.rs","byte_start":8016,"byte_end":8066,"line_start":163,"line_end":163,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8067,"byte_end":8071,"line_start":164,"line_end":164,"column_start":1,"column_end":5}},{"value":"/ // read the first tag from the tag list","span":{"file_name":"src/lib.rs","byte_start":8072,"byte_end":8115,"line_start":165,"line_end":165,"column_start":1,"column_end":44}},{"value":"/ let tag = user_buffer.get::<&str>(&[\"tags\", \"0\"])?;","span":{"file_name":"src/lib.rs","byte_start":8116,"byte_end":8171,"line_start":166,"line_end":166,"column_start":1,"column_end":56}},{"value":"/ assert_eq!(tag, Some(\"first tag\"));","span":{"file_name":"src/lib.rs","byte_start":8172,"byte_end":8211,"line_start":167,"line_end":167,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8212,"byte_end":8216,"line_start":168,"line_end":168,"column_start":1,"column_end":5}},{"value":"/ // close buffer and get internal bytes","span":{"file_name":"src/lib.rs","byte_start":8217,"byte_end":8259,"line_start":169,"line_end":169,"column_start":1,"column_end":43}},{"value":"/ let user_bytes: Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":8260,"byte_end":8319,"line_start":170,"line_end":170,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8320,"byte_end":8324,"line_start":171,"line_end":171,"column_start":1,"column_end":5}},{"value":"/ // open the buffer again","span":{"file_name":"src/lib.rs","byte_start":8325,"byte_end":8353,"line_start":172,"line_end":172,"column_start":1,"column_end":29}},{"value":"/ let user_buffer = user_factory.open_buffer(user_bytes);","span":{"file_name":"src/lib.rs","byte_start":8354,"byte_end":8413,"line_start":173,"line_end":173,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8414,"byte_end":8418,"line_start":174,"line_end":174,"column_start":1,"column_end":5}},{"value":"/ // read the \"name\" field again","span":{"file_name":"src/lib.rs","byte_start":8419,"byte_end":8453,"line_start":175,"line_end":175,"column_start":1,"column_end":35}},{"value":"/ let name = user_buffer.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":8454,"byte_end":8505,"line_start":176,"line_end":176,"column_start":1,"column_end":52}},{"value":"/ assert_eq!(name, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":8506,"byte_end":8547,"line_start":177,"line_end":177,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8548,"byte_end":8552,"line_start":178,"line_end":178,"column_start":1,"column_end":5}},{"value":"/ // get the age field","span":{"file_name":"src/lib.rs","byte_start":8553,"byte_end":8577,"line_start":179,"line_end":179,"column_start":1,"column_end":25}},{"value":"/ let age = user_buffer.get::(&[\"age\"])?;","span":{"file_name":"src/lib.rs","byte_start":8578,"byte_end":8626,"line_start":180,"line_end":180,"column_start":1,"column_end":49}},{"value":"/ // returns default value from schema","span":{"file_name":"src/lib.rs","byte_start":8627,"byte_end":8667,"line_start":181,"line_end":181,"column_start":1,"column_end":41}},{"value":"/ assert_eq!(age, Some(0u16));","span":{"file_name":"src/lib.rs","byte_start":8668,"byte_end":8700,"line_start":182,"line_end":182,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8701,"byte_end":8705,"line_start":183,"line_end":183,"column_start":1,"column_end":5}},{"value":"/ // close again","span":{"file_name":"src/lib.rs","byte_start":8706,"byte_end":8724,"line_start":184,"line_end":184,"column_start":1,"column_end":19}},{"value":"/ let user_bytes: Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":8725,"byte_end":8784,"line_start":185,"line_end":185,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8785,"byte_end":8789,"line_start":186,"line_end":186,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8790,"byte_end":8794,"line_start":187,"line_end":187,"column_start":1,"column_end":5}},{"value":"/ // we can now save user_bytes to disk, ","span":{"file_name":"src/lib.rs","byte_start":8795,"byte_end":8838,"line_start":188,"line_end":188,"column_start":1,"column_end":44}},{"value":"/ // send it over the network, or whatever else is needed with the data","span":{"file_name":"src/lib.rs","byte_start":8839,"byte_end":8912,"line_start":189,"line_end":189,"column_start":1,"column_end":74}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8913,"byte_end":8917,"line_start":190,"line_end":190,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8918,"byte_end":8922,"line_start":191,"line_end":191,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/lib.rs","byte_start":8923,"byte_end":8952,"line_start":192,"line_end":192,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":8953,"byte_end":8960,"line_start":193,"line_end":193,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8961,"byte_end":8965,"line_start":194,"line_end":194,"column_start":1,"column_end":5}},{"value":"/ ## Guided Learning / Next Steps:","span":{"file_name":"src/lib.rs","byte_start":8966,"byte_end":9002,"line_start":195,"line_end":195,"column_start":1,"column_end":37}},{"value":"/ 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas.","span":{"file_name":"src/lib.rs","byte_start":9003,"byte_end":9123,"line_start":196,"line_end":196,"column_start":1,"column_end":121}},{"value":"/ 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with.","span":{"file_name":"src/lib.rs","byte_start":9124,"byte_end":9261,"line_start":197,"line_end":197,"column_start":1,"column_end":138}},{"value":"/ 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data.","span":{"file_name":"src/lib.rs","byte_start":9262,"byte_end":9399,"line_start":198,"line_end":198,"column_start":1,"column_end":138}},{"value":"/ 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs.","span":{"file_name":"src/lib.rs","byte_start":9400,"byte_end":9518,"line_start":199,"line_end":199,"column_start":1,"column_end":119}},{"value":"/ 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas.","span":{"file_name":"src/lib.rs","byte_start":9519,"byte_end":9665,"line_start":200,"line_end":200,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":9666,"byte_end":9670,"line_start":201,"line_end":201,"column_start":1,"column_end":5}},{"value":"/ ## Benchmarks","span":{"file_name":"src/lib.rs","byte_start":9671,"byte_end":9688,"line_start":202,"line_end":202,"column_start":1,"column_end":18}},{"value":"/ While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. ","span":{"file_name":"src/lib.rs","byte_start":9689,"byte_end":9932,"line_start":203,"line_end":203,"column_start":1,"column_end":244}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":9933,"byte_end":9937,"line_start":204,"line_end":204,"column_start":1,"column_end":5}},{"value":"/ The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use.","span":{"file_name":"src/lib.rs","byte_start":9938,"byte_end":10153,"line_start":205,"line_end":205,"column_start":1,"column_end":216}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":10154,"byte_end":10158,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ **Legend**: Ops / Millisecond, higher is better","span":{"file_name":"src/lib.rs","byte_start":10159,"byte_end":10210,"line_start":207,"line_end":207,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":10211,"byte_end":10215,"line_start":208,"line_end":208,"column_start":1,"column_end":5}},{"value":"/ | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) |","span":{"file_name":"src/lib.rs","byte_start":10216,"byte_end":10356,"line_start":209,"line_end":209,"column_start":1,"column_end":141}},{"value":"/ |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------|","span":{"file_name":"src/lib.rs","byte_start":10357,"byte_end":10497,"line_start":210,"line_end":210,"column_start":1,"column_end":141}},{"value":"/ | **Runtime Libs** | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10498,"byte_end":10638,"line_start":211,"line_end":211,"column_start":1,"column_end":141}},{"value":"/ | *NoProto* | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10639,"byte_end":10779,"line_start":212,"line_end":212,"column_start":1,"column_end":141}},{"value":"/ | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 |","span":{"file_name":"src/lib.rs","byte_start":10780,"byte_end":10920,"line_start":213,"line_end":213,"column_start":1,"column_end":141}},{"value":"/ | Apache Avro | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10921,"byte_end":11061,"line_start":214,"line_end":214,"column_start":1,"column_end":141}},{"value":"/ | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 |","span":{"file_name":"src/lib.rs","byte_start":11062,"byte_end":11202,"line_start":215,"line_end":215,"column_start":1,"column_end":141}},{"value":"/ | FlexBuffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11203,"byte_end":11343,"line_start":216,"line_end":216,"column_start":1,"column_end":141}},{"value":"/ | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 |","span":{"file_name":"src/lib.rs","byte_start":11344,"byte_end":11484,"line_start":217,"line_end":217,"column_start":1,"column_end":141}},{"value":"/ | JSON | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11485,"byte_end":11625,"line_start":218,"line_end":218,"column_start":1,"column_end":141}},{"value":"/ | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 |","span":{"file_name":"src/lib.rs","byte_start":11626,"byte_end":11766,"line_start":219,"line_end":219,"column_start":1,"column_end":141}},{"value":"/ | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 |","span":{"file_name":"src/lib.rs","byte_start":11767,"byte_end":11907,"line_start":220,"line_end":220,"column_start":1,"column_end":141}},{"value":"/ | BSON | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11908,"byte_end":12048,"line_start":221,"line_end":221,"column_start":1,"column_end":141}},{"value":"/ | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 |","span":{"file_name":"src/lib.rs","byte_start":12049,"byte_end":12189,"line_start":222,"line_end":222,"column_start":1,"column_end":141}},{"value":"/ | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 |","span":{"file_name":"src/lib.rs","byte_start":12190,"byte_end":12330,"line_start":223,"line_end":223,"column_start":1,"column_end":141}},{"value":"/ | MessagePack | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12331,"byte_end":12471,"line_start":224,"line_end":224,"column_start":1,"column_end":141}},{"value":"/ | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 |","span":{"file_name":"src/lib.rs","byte_start":12472,"byte_end":12612,"line_start":225,"line_end":225,"column_start":1,"column_end":141}},{"value":"/ | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 |","span":{"file_name":"src/lib.rs","byte_start":12613,"byte_end":12753,"line_start":226,"line_end":226,"column_start":1,"column_end":141}},{"value":"/ | **Compiled Libs** | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12754,"byte_end":12894,"line_start":227,"line_end":227,"column_start":1,"column_end":141}},{"value":"/ | Flatbuffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12895,"byte_end":13035,"line_start":228,"line_end":228,"column_start":1,"column_end":141}},{"value":"/ | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 |","span":{"file_name":"src/lib.rs","byte_start":13036,"byte_end":13176,"line_start":229,"line_end":229,"column_start":1,"column_end":141}},{"value":"/ | Bincode | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13177,"byte_end":13317,"line_start":230,"line_end":230,"column_start":1,"column_end":141}},{"value":"/ | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 |","span":{"file_name":"src/lib.rs","byte_start":13318,"byte_end":13458,"line_start":231,"line_end":231,"column_start":1,"column_end":141}},{"value":"/ | Postcard | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13459,"byte_end":13599,"line_start":232,"line_end":232,"column_start":1,"column_end":141}},{"value":"/ | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 |","span":{"file_name":"src/lib.rs","byte_start":13600,"byte_end":13740,"line_start":233,"line_end":233,"column_start":1,"column_end":141}},{"value":"/ | Protocol Buffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13741,"byte_end":13881,"line_start":234,"line_end":234,"column_start":1,"column_end":141}},{"value":"/ | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 |","span":{"file_name":"src/lib.rs","byte_start":13882,"byte_end":14022,"line_start":235,"line_end":235,"column_start":1,"column_end":141}},{"value":"/ | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 |","span":{"file_name":"src/lib.rs","byte_start":14023,"byte_end":14163,"line_start":236,"line_end":236,"column_start":1,"column_end":141}},{"value":"/ | Abomonation | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":14164,"byte_end":14304,"line_start":237,"line_end":237,"column_start":1,"column_end":141}},{"value":"/ | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 |","span":{"file_name":"src/lib.rs","byte_start":14305,"byte_end":14445,"line_start":238,"line_end":238,"column_start":1,"column_end":141}},{"value":"/ | Rkyv | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":14446,"byte_end":14586,"line_start":239,"line_end":239,"column_start":1,"column_end":141}},{"value":"/ | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 |","span":{"file_name":"src/lib.rs","byte_start":14587,"byte_end":14727,"line_start":240,"line_end":240,"column_start":1,"column_end":141}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":14728,"byte_end":14732,"line_start":241,"line_end":241,"column_start":1,"column_end":5}},{"value":"/ - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`.","span":{"file_name":"src/lib.rs","byte_start":14733,"byte_end":14824,"line_start":242,"line_end":242,"column_start":1,"column_end":92}},{"value":"/ - **Decode All**: Deserialize the test object from the `Vec` into all fields.","span":{"file_name":"src/lib.rs","byte_start":14825,"byte_end":14910,"line_start":243,"line_end":243,"column_start":1,"column_end":86}},{"value":"/ - **Decode 1**: Deserialize the test object from the `Vec` into one field.","span":{"file_name":"src/lib.rs","byte_start":14911,"byte_end":14993,"line_start":244,"line_end":244,"column_start":1,"column_end":83}},{"value":"/ - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`.","span":{"file_name":"src/lib.rs","byte_start":14994,"byte_end":15085,"line_start":245,"line_end":245,"column_start":1,"column_end":92}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15086,"byte_end":15090,"line_start":246,"line_end":246,"column_start":1,"column_end":5}},{"value":"/ **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto.","span":{"file_name":"src/lib.rs","byte_start":15091,"byte_end":15489,"line_start":247,"line_end":247,"column_start":1,"column_end":399}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15490,"byte_end":15494,"line_start":248,"line_end":248,"column_start":1,"column_end":5}},{"value":"/ Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated.","span":{"file_name":"src/lib.rs","byte_start":15495,"byte_end":15684,"line_start":249,"line_end":249,"column_start":1,"column_end":190}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15685,"byte_end":15689,"line_start":250,"line_end":250,"column_start":1,"column_end":5}},{"value":"/ ## NoProto Strengths","span":{"file_name":"src/lib.rs","byte_start":15690,"byte_end":15714,"line_start":251,"line_end":251,"column_start":1,"column_end":25}},{"value":"/ If your use case fits any of the points below, NoProto might be a good choice for your application.","span":{"file_name":"src/lib.rs","byte_start":15715,"byte_end":15818,"line_start":252,"line_end":252,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15819,"byte_end":15823,"line_start":253,"line_end":253,"column_start":1,"column_end":5}},{"value":"/ 1. Flexible At Runtime
","span":{"file_name":"src/lib.rs","byte_start":15824,"byte_end":15855,"line_start":254,"line_end":254,"column_start":1,"column_end":32}},{"value":"/ If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!).","span":{"file_name":"src/lib.rs","byte_start":15856,"byte_end":16311,"line_start":255,"line_end":255,"column_start":1,"column_end":456}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":16312,"byte_end":16316,"line_start":256,"line_end":256,"column_start":1,"column_end":5}},{"value":"/ 2. Safely Accept Untrusted Data
","span":{"file_name":"src/lib.rs","byte_start":16317,"byte_end":16357,"line_start":257,"line_end":257,"column_start":1,"column_end":41}},{"value":"/ The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application.","span":{"file_name":"src/lib.rs","byte_start":16358,"byte_end":16805,"line_start":258,"line_end":258,"column_start":1,"column_end":448}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":16806,"byte_end":16810,"line_start":259,"line_end":259,"column_start":1,"column_end":5}},{"value":"/ 3. Extremely Fast Updates
","span":{"file_name":"src/lib.rs","byte_start":16811,"byte_end":16845,"line_start":260,"line_end":260,"column_start":1,"column_end":35}},{"value":"/ If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs.","span":{"file_name":"src/lib.rs","byte_start":16846,"byte_end":17204,"line_start":261,"line_end":261,"column_start":1,"column_end":359}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":17205,"byte_end":17209,"line_start":262,"line_end":262,"column_start":1,"column_end":5}},{"value":"/ 4. All Fields Optional, Insert/Update In Any Order
","span":{"file_name":"src/lib.rs","byte_start":17210,"byte_end":17269,"line_start":263,"line_end":263,"column_start":1,"column_end":60}},{"value":"/ Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. ","span":{"file_name":"src/lib.rs","byte_start":17270,"byte_end":17539,"line_start":264,"line_end":264,"column_start":1,"column_end":270}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":17540,"byte_end":17544,"line_start":265,"line_end":265,"column_start":1,"column_end":5}},{"value":"/ 5. Incremental Deserializing
","span":{"file_name":"src/lib.rs","byte_start":17545,"byte_end":17582,"line_start":266,"line_end":266,"column_start":1,"column_end":38}},{"value":"/ You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries.","span":{"file_name":"src/lib.rs","byte_start":17583,"byte_end":18011,"line_start":267,"line_end":267,"column_start":1,"column_end":429}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18012,"byte_end":18016,"line_start":268,"line_end":268,"column_start":1,"column_end":5}},{"value":"/ 6. Bytewise Sorting
","span":{"file_name":"src/lib.rs","byte_start":18017,"byte_end":18045,"line_start":269,"line_end":269,"column_start":1,"column_end":29}},{"value":"/ Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. ","span":{"file_name":"src/lib.rs","byte_start":18046,"byte_end":18444,"line_start":270,"line_end":270,"column_start":1,"column_end":399}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18445,"byte_end":18449,"line_start":271,"line_end":271,"column_start":1,"column_end":5}},{"value":"/ 7. `no_std` Support
","span":{"file_name":"src/lib.rs","byte_start":18450,"byte_end":18478,"line_start":272,"line_end":272,"column_start":1,"column_end":29}},{"value":"/ If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices.","span":{"file_name":"src/lib.rs","byte_start":18479,"byte_end":18616,"line_start":273,"line_end":273,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18617,"byte_end":18621,"line_start":274,"line_end":274,"column_start":1,"column_end":5}},{"value":"/ 8. Stable
","span":{"file_name":"src/lib.rs","byte_start":18622,"byte_end":18640,"line_start":275,"line_end":275,"column_start":1,"column_end":19}},{"value":"/ NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller.","span":{"file_name":"src/lib.rs","byte_start":18641,"byte_end":18880,"line_start":276,"line_end":276,"column_start":1,"column_end":240}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18881,"byte_end":18885,"line_start":277,"line_end":277,"column_start":1,"column_end":5}},{"value":"/ 9. CPU Independent
","span":{"file_name":"src/lib.rs","byte_start":18886,"byte_end":18913,"line_start":278,"line_end":278,"column_start":1,"column_end":28}},{"value":"/ All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture.","span":{"file_name":"src/lib.rs","byte_start":18914,"byte_end":19113,"line_start":279,"line_end":279,"column_start":1,"column_end":200}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19114,"byte_end":19118,"line_start":280,"line_end":280,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19119,"byte_end":19123,"line_start":281,"line_end":281,"column_start":1,"column_end":5}},{"value":"/ ### When to use Flatbuffers / Bincode / CapN Proto","span":{"file_name":"src/lib.rs","byte_start":19124,"byte_end":19178,"line_start":282,"line_end":282,"column_start":1,"column_end":55}},{"value":"/ If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you.","span":{"file_name":"src/lib.rs","byte_start":19179,"byte_end":19404,"line_start":283,"line_end":283,"column_start":1,"column_end":226}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19405,"byte_end":19409,"line_start":284,"line_end":284,"column_start":1,"column_end":5}},{"value":"/ ### When to use JSON / BSON / MessagePack","span":{"file_name":"src/lib.rs","byte_start":19410,"byte_end":19455,"line_start":285,"line_end":285,"column_start":1,"column_end":46}},{"value":"/ If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better.","span":{"file_name":"src/lib.rs","byte_start":19456,"byte_end":19801,"line_start":286,"line_end":286,"column_start":1,"column_end":346}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19802,"byte_end":19806,"line_start":287,"line_end":287,"column_start":1,"column_end":5}},{"value":"/ ## Limitations","span":{"file_name":"src/lib.rs","byte_start":19807,"byte_end":19825,"line_start":288,"line_end":288,"column_start":1,"column_end":19}},{"value":"/ - Structs and Tuples cannot have more than 255 items.","span":{"file_name":"src/lib.rs","byte_start":19826,"byte_end":19883,"line_start":289,"line_end":289,"column_start":1,"column_end":58}},{"value":"/ - Lists and Maps cannot have more than 2^16 (~64k) items.","span":{"file_name":"src/lib.rs","byte_start":19884,"byte_end":19945,"line_start":290,"line_end":290,"column_start":1,"column_end":62}},{"value":"/ - You cannot nest more than 255 levels deep.","span":{"file_name":"src/lib.rs","byte_start":19946,"byte_end":19994,"line_start":291,"line_end":291,"column_start":1,"column_end":49}},{"value":"/ - Struct field names cannot be longer than 255 UTF8 bytes.","span":{"file_name":"src/lib.rs","byte_start":19995,"byte_end":20057,"line_start":292,"line_end":292,"column_start":1,"column_end":63}},{"value":"/ - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes.","span":{"file_name":"src/lib.rs","byte_start":20058,"byte_end":20160,"line_start":293,"line_end":293,"column_start":1,"column_end":103}},{"value":"/ - Map keys cannot be larger than 255 UTF8 bytes.","span":{"file_name":"src/lib.rs","byte_start":20161,"byte_end":20213,"line_start":294,"line_end":294,"column_start":1,"column_end":53}},{"value":"/ - Buffers cannot be larger than 2^32 bytes or ~4GB.","span":{"file_name":"src/lib.rs","byte_start":20214,"byte_end":20269,"line_start":295,"line_end":295,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20270,"byte_end":20274,"line_start":296,"line_end":296,"column_start":1,"column_end":5}},{"value":"/ ## Unsafe","span":{"file_name":"src/lib.rs","byte_start":20275,"byte_end":20288,"line_start":297,"line_end":297,"column_start":1,"column_end":14}},{"value":"/ This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer.","span":{"file_name":"src/lib.rs","byte_start":20289,"byte_end":20644,"line_start":298,"line_end":298,"column_start":1,"column_end":356}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20645,"byte_end":20649,"line_start":299,"line_end":299,"column_start":1,"column_end":5}},{"value":"/ ----------------------","span":{"file_name":"src/lib.rs","byte_start":20650,"byte_end":20676,"line_start":300,"line_end":300,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20677,"byte_end":20681,"line_start":301,"line_end":301,"column_start":1,"column_end":5}},{"value":"/ MIT License","span":{"file_name":"src/lib.rs","byte_start":20682,"byte_end":20697,"line_start":302,"line_end":302,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20698,"byte_end":20702,"line_start":303,"line_end":303,"column_start":1,"column_end":5}},{"value":"/ Copyright (c) 2021 Scott Lott","span":{"file_name":"src/lib.rs","byte_start":20703,"byte_end":20736,"line_start":304,"line_end":304,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20737,"byte_end":20741,"line_start":305,"line_end":305,"column_start":1,"column_end":5}},{"value":"/ Permission is hereby granted, free of charge, to any person obtaining a copy","span":{"file_name":"src/lib.rs","byte_start":20742,"byte_end":20822,"line_start":306,"line_end":306,"column_start":1,"column_end":81}},{"value":"/ of this software and associated documentation files (the \"Software\"), to deal","span":{"file_name":"src/lib.rs","byte_start":20823,"byte_end":20904,"line_start":307,"line_end":307,"column_start":1,"column_end":82}},{"value":"/ in the Software without restriction, including without limitation the rights","span":{"file_name":"src/lib.rs","byte_start":20905,"byte_end":20985,"line_start":308,"line_end":308,"column_start":1,"column_end":81}},{"value":"/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell","span":{"file_name":"src/lib.rs","byte_start":20986,"byte_end":21063,"line_start":309,"line_end":309,"column_start":1,"column_end":78}},{"value":"/ copies of the Software, and to permit persons to whom the Software is","span":{"file_name":"src/lib.rs","byte_start":21064,"byte_end":21137,"line_start":310,"line_end":310,"column_start":1,"column_end":74}},{"value":"/ furnished to do so, subject to the following conditions:","span":{"file_name":"src/lib.rs","byte_start":21138,"byte_end":21198,"line_start":311,"line_end":311,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":21199,"byte_end":21203,"line_start":312,"line_end":312,"column_start":1,"column_end":5}},{"value":"/ The above copyright notice and this permission notice shall be included in all","span":{"file_name":"src/lib.rs","byte_start":21204,"byte_end":21286,"line_start":313,"line_end":313,"column_start":1,"column_end":83}},{"value":"/ copies or substantial portions of the Software.","span":{"file_name":"src/lib.rs","byte_start":21287,"byte_end":21338,"line_start":314,"line_end":314,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":21339,"byte_end":21343,"line_start":315,"line_end":315,"column_start":1,"column_end":5}},{"value":"/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR","span":{"file_name":"src/lib.rs","byte_start":21344,"byte_end":21422,"line_start":316,"line_end":316,"column_start":1,"column_end":79}},{"value":"/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,","span":{"file_name":"src/lib.rs","byte_start":21423,"byte_end":21499,"line_start":317,"line_end":317,"column_start":1,"column_end":77}},{"value":"/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE","span":{"file_name":"src/lib.rs","byte_start":21500,"byte_end":21579,"line_start":318,"line_end":318,"column_start":1,"column_end":80}},{"value":"/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER","span":{"file_name":"src/lib.rs","byte_start":21580,"byte_end":21654,"line_start":319,"line_end":319,"column_start":1,"column_end":75}},{"value":"/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,","span":{"file_name":"src/lib.rs","byte_start":21655,"byte_end":21736,"line_start":320,"line_end":320,"column_start":1,"column_end":82}},{"value":"/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE","span":{"file_name":"src/lib.rs","byte_start":21737,"byte_end":21818,"line_start":321,"line_end":321,"column_start":1,"column_end":82}},{"value":"/ SOFTWARE. ","span":{"file_name":"src/lib.rs","byte_start":21819,"byte_end":21833,"line_start":322,"line_end":322,"column_start":1,"column_end":15}}]},{"kind":"Mod","id":{"krate":0,"index":4},"span":{"file_name":"src/idl.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"idl","qualname":"::idl","value":"src/idl.rs","parent":null,"children":[{"krate":0,"index":5},{"krate":0,"index":8},{"krate":0,"index":11},{"krate":0,"index":2806},{"krate":0,"index":2809},{"krate":0,"index":2810},{"krate":0,"index":2813},{"krate":0,"index":2815},{"krate":0,"index":2816},{"krate":0,"index":2818},{"krate":0,"index":2836},{"krate":0,"index":2838},{"krate":0,"index":2841},{"krate":0,"index":2843},{"krate":0,"index":2854},{"krate":0,"index":2855},{"krate":0,"index":14}],"decl_id":null,"docs":" ES6 IDL for Schemas\n \n Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.\n \n","sig":null,"attributes":[{"value":"/ ES6 IDL for Schemas","span":{"file_name":"src/idl.rs","byte_start":34932,"byte_end":34955,"line_start":1,"line_end":1,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/idl.rs","byte_start":34956,"byte_end":34960,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.","span":{"file_name":"src/idl.rs","byte_start":34961,"byte_end":35045,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/idl.rs","byte_start":35046,"byte_end":35050,"line_start":4,"line_end":4,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":2806},"span":{"file_name":"src/idl.rs","byte_start":35202,"byte_end":35209,"line_start":11,"line_end":11,"column_start":12,"column_end":19},"name":"AST_STR","qualname":"::idl::AST_STR","value":"AST_STR { start, end }","parent":null,"children":[{"krate":0,"index":2807},{"krate":0,"index":2808}],"decl_id":null,"docs":" Parsed AST String\n","sig":null,"attributes":[{"value":"/ Parsed AST String","span":{"file_name":"src/idl.rs","byte_start":35128,"byte_end":35149,"line_start":9,"line_end":9,"column_start":1,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":2807},"span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"name":"start","qualname":"::idl::AST_STR::start","value":"usize","parent":{"krate":0,"index":2806},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2808},"span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"name":"end","qualname":"::idl::AST_STR::end","value":"usize","parent":{"krate":0,"index":2806},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2819},"span":{"file_name":"src/idl.rs","byte_start":35342,"byte_end":35347,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"empty","qualname":"::idl::JS_AST::empty","value":"JS_AST::empty","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2821},"span":{"file_name":"src/idl.rs","byte_start":35353,"byte_end":35359,"line_start":21,"line_end":21,"column_start":5,"column_end":11},"name":"method","qualname":"::idl::JS_AST::method","value":"JS_AST::method { name, args }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2822},"span":{"file_name":"src/idl.rs","byte_start":35362,"byte_end":35366,"line_start":21,"line_end":21,"column_start":14,"column_end":18},"name":"name","qualname":"::idl::JS_AST::method::name","value":"idl::AST_STR","parent":{"krate":0,"index":2821},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2823},"span":{"file_name":"src/idl.rs","byte_start":35377,"byte_end":35381,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"name":"args","qualname":"::idl::JS_AST::method::args","value":"alloc::vec::Vec","parent":{"krate":0,"index":2821},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2824},"span":{"file_name":"src/idl.rs","byte_start":35402,"byte_end":35408,"line_start":22,"line_end":22,"column_start":5,"column_end":11},"name":"object","qualname":"::idl::JS_AST::object","value":"JS_AST::object { properties }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2825},"span":{"file_name":"src/idl.rs","byte_start":35411,"byte_end":35421,"line_start":22,"line_end":22,"column_start":14,"column_end":24},"name":"properties","qualname":"::idl::JS_AST::object::properties","value":"alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":{"krate":0,"index":2824},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2826},"span":{"file_name":"src/idl.rs","byte_start":35453,"byte_end":35457,"line_start":23,"line_end":23,"column_start":5,"column_end":9},"name":"bool","qualname":"::idl::JS_AST::bool","value":"JS_AST::bool { state }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2827},"span":{"file_name":"src/idl.rs","byte_start":35460,"byte_end":35465,"line_start":23,"line_end":23,"column_start":12,"column_end":17},"name":"state","qualname":"::idl::JS_AST::bool::state","value":"bool","parent":{"krate":0,"index":2826},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2828},"span":{"file_name":"src/idl.rs","byte_start":35479,"byte_end":35485,"line_start":24,"line_end":24,"column_start":5,"column_end":11},"name":"string","qualname":"::idl::JS_AST::string","value":"JS_AST::string { addr }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2829},"span":{"file_name":"src/idl.rs","byte_start":35488,"byte_end":35492,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"name":"addr","qualname":"::idl::JS_AST::string::addr","value":"idl::AST_STR","parent":{"krate":0,"index":2828},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2830},"span":{"file_name":"src/idl.rs","byte_start":35509,"byte_end":35514,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"name":"array","qualname":"::idl::JS_AST::array","value":"JS_AST::array { values }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2831},"span":{"file_name":"src/idl.rs","byte_start":35517,"byte_end":35523,"line_start":25,"line_end":25,"column_start":13,"column_end":19},"name":"values","qualname":"::idl::JS_AST::array::values","value":"alloc::vec::Vec","parent":{"krate":0,"index":2830},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2832},"span":{"file_name":"src/idl.rs","byte_start":35544,"byte_end":35550,"line_start":26,"line_end":26,"column_start":5,"column_end":11},"name":"number","qualname":"::idl::JS_AST::number","value":"JS_AST::number { addr }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2833},"span":{"file_name":"src/idl.rs","byte_start":35553,"byte_end":35557,"line_start":26,"line_end":26,"column_start":14,"column_end":18},"name":"addr","qualname":"::idl::JS_AST::number::addr","value":"idl::AST_STR","parent":{"krate":0,"index":2832},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2834},"span":{"file_name":"src/idl.rs","byte_start":35574,"byte_end":35581,"line_start":27,"line_end":27,"column_start":5,"column_end":12},"name":"closure","qualname":"::idl::JS_AST::closure","value":"JS_AST::closure { expressions }","parent":{"krate":0,"index":2818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2835},"span":{"file_name":"src/idl.rs","byte_start":35584,"byte_end":35595,"line_start":27,"line_end":27,"column_start":15,"column_end":26},"name":"expressions","qualname":"::idl::JS_AST::closure::expressions","value":"alloc::vec::Vec","parent":{"krate":0,"index":2834},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2818},"span":{"file_name":"src/idl.rs","byte_start":35329,"byte_end":35335,"line_start":19,"line_end":19,"column_start":10,"column_end":16},"name":"JS_AST","qualname":"::idl::JS_AST","value":"pub enum JS_AST {\n empty,\n method {\n name: AST_STR,\n args: Vec,\n },\n object {\n properties: Vec<(AST_STR, JS_AST)>,\n },\n bool {\n state: bool,\n },\n string {\n addr: AST_STR,\n },\n array {\n values: Vec,\n },\n number {\n addr: AST_STR,\n },\n closure {\n expressions: Vec,\n },\n}","parent":null,"children":[{"krate":0,"index":2819},{"krate":0,"index":2821},{"krate":0,"index":2824},{"krate":0,"index":2826},{"krate":0,"index":2828},{"krate":0,"index":2830},{"krate":0,"index":2832},{"krate":0,"index":2834}],"decl_id":null,"docs":" AST object of es6 schema\n","sig":null,"attributes":[{"value":"/ AST object of es6 schema","span":{"file_name":"src/idl.rs","byte_start":35251,"byte_end":35279,"line_start":16,"line_end":16,"column_start":1,"column_end":29}},{"value":"allow(missing_docs)","span":{"file_name":"src/idl.rs","byte_start":35280,"byte_end":35302,"line_start":17,"line_end":17,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":2838},"span":{"file_name":"src/idl.rs","byte_start":35693,"byte_end":35702,"line_start":33,"line_end":33,"column_start":12,"column_end":21},"name":"JS_Schema","qualname":"::idl::JS_Schema","value":"JS_Schema { value, ast }","parent":null,"children":[{"krate":0,"index":2839},{"krate":0,"index":2840}],"decl_id":null,"docs":" Schema using ES6 syntax\n","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/idl.rs","byte_start":35614,"byte_end":35636,"line_start":30,"line_end":30,"column_start":1,"column_end":23}},{"value":"/ Schema using ES6 syntax","span":{"file_name":"src/idl.rs","byte_start":35654,"byte_end":35681,"line_start":32,"line_end":32,"column_start":1,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2839},"span":{"file_name":"src/idl.rs","byte_start":35709,"byte_end":35714,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"name":"value","qualname":"::idl::JS_Schema::value","value":"alloc::string::String","parent":{"krate":0,"index":2838},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2840},"span":{"file_name":"src/idl.rs","byte_start":35732,"byte_end":35735,"line_start":35,"line_end":35,"column_start":9,"column_end":12},"name":"ast","qualname":"::idl::JS_Schema::ast","value":"idl::JS_AST","parent":{"krate":0,"index":2838},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2844},"span":{"file_name":"src/idl.rs","byte_start":35790,"byte_end":35794,"line_start":40,"line_end":40,"column_start":5,"column_end":9},"name":"none","qualname":"::idl::js_control::none","value":"js_control::none","parent":{"krate":0,"index":2843},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2846},"span":{"file_name":"src/idl.rs","byte_start":35800,"byte_end":35805,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"name":"paran","qualname":"::idl::js_control::paran","value":"js_control::paran","parent":{"krate":0,"index":2843},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2848},"span":{"file_name":"src/idl.rs","byte_start":35811,"byte_end":35816,"line_start":42,"line_end":42,"column_start":5,"column_end":10},"name":"curly","qualname":"::idl::js_control::curly","value":"js_control::curly","parent":{"krate":0,"index":2843},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2850},"span":{"file_name":"src/idl.rs","byte_start":35822,"byte_end":35828,"line_start":43,"line_end":43,"column_start":5,"column_end":11},"name":"square","qualname":"::idl::js_control::square","value":"js_control::square","parent":{"krate":0,"index":2843},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2852},"span":{"file_name":"src/idl.rs","byte_start":35834,"byte_end":35839,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"name":"quote","qualname":"::idl::js_control::quote","value":"js_control::quote","parent":{"krate":0,"index":2843},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2843},"span":{"file_name":"src/idl.rs","byte_start":35773,"byte_end":35783,"line_start":39,"line_end":39,"column_start":6,"column_end":16},"name":"js_control","qualname":"::idl::js_control","value":"enum js_control { none, paran, curly, square, quote, }","parent":null,"children":[{"krate":0,"index":2844},{"krate":0,"index":2846},{"krate":0,"index":2848},{"krate":0,"index":2850},{"krate":0,"index":2852}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741839},"span":{"file_name":"src/idl.rs","byte_start":35916,"byte_end":35922,"line_start":49,"line_end":49,"column_start":16,"column_end":22},"name":"schema","qualname":"::new::schema","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":15},"span":{"file_name":"src/idl.rs","byte_start":35912,"byte_end":35915,"line_start":49,"line_end":49,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(String) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Parse a JS style schema into AST\n","sig":null,"attributes":[{"value":"/ Parse a JS style schema into AST","span":{"file_name":"src/idl.rs","byte_start":35864,"byte_end":35900,"line_start":48,"line_end":48,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":134217743},"span":{"file_name":"src/idl.rs","byte_start":35976,"byte_end":35987,"line_start":50,"line_end":50,"column_start":17,"column_end":28},"name":"no_comments","qualname":"no_comments$HirId { owner: DefId(0:15 ~ no_proto[2d88]::idl::{impl#0}::new), local_id: 16 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395023},"span":{"file_name":"src/idl.rs","byte_start":36080,"byte_end":36081,"line_start":52,"line_end":52,"column_start":45,"column_end":46},"name":"f","qualname":"$HirId { owner: DefId(0:15 ~ no_proto[2d88]::idl::{impl#0}::new), local_id: 91 }::f","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592527},"span":{"file_name":"src/idl.rs","byte_start":36101,"byte_end":36108,"line_start":53,"line_end":53,"column_start":17,"column_end":24},"name":"trimmed","qualname":"trimmed$HirId { owner: DefId(0:15 ~ no_proto[2d88]::idl::{impl#0}::new), local_id: 33 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741841},"span":{"file_name":"src/idl.rs","byte_start":36652,"byte_end":36656,"line_start":74,"line_end":74,"column_start":21,"column_end":25},"name":"self","qualname":"::get_str::self","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870929},"span":{"file_name":"src/idl.rs","byte_start":36658,"byte_end":36662,"line_start":74,"line_end":74,"column_start":27,"column_end":31},"name":"addr","qualname":"::get_str::addr","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":17},"span":{"file_name":"src/idl.rs","byte_start":36643,"byte_end":36650,"line_start":74,"line_end":74,"column_start":12,"column_end":19},"name":"get_str","qualname":"::get_str","value":"pub fn get_str(&Self, &AST_STR) -> &str","parent":null,"children":[],"decl_id":null,"docs":" Get a str value from the schema\n","sig":null,"attributes":[{"value":"/ Get a str value from the schema","span":{"file_name":"src/idl.rs","byte_start":36596,"byte_end":36631,"line_start":73,"line_end":73,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":1073741842},"span":{"file_name":"src/idl.rs","byte_start":36746,"byte_end":36751,"line_start":78,"line_end":78,"column_start":14,"column_end":19},"name":"depth","qualname":"::parse::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870930},"span":{"file_name":"src/idl.rs","byte_start":36760,"byte_end":36765,"line_start":78,"line_end":78,"column_start":28,"column_end":33},"name":"start","qualname":"::parse::start","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612754},"span":{"file_name":"src/idl.rs","byte_start":36774,"byte_end":36777,"line_start":78,"line_end":78,"column_start":42,"column_end":45},"name":"end","qualname":"::parse::end","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435474},"span":{"file_name":"src/idl.rs","byte_start":36786,"byte_end":36792,"line_start":78,"line_end":78,"column_start":54,"column_end":60},"name":"schema","qualname":"::parse::schema","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":18},"span":{"file_name":"src/idl.rs","byte_start":36740,"byte_end":36745,"line_start":78,"line_end":78,"column_start":8,"column_end":13},"name":"parse","qualname":"::parse","value":"fn parse(usize, usize, usize, &str) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197522},"span":{"file_name":"src/idl.rs","byte_start":37027,"byte_end":37039,"line_start":89,"line_end":89,"column_start":17,"column_end":29},"name":"control_char","qualname":"control_char$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 52 }","value":"idl::js_control","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617245714},"span":{"file_name":"src/idl.rs","byte_start":37077,"byte_end":37082,"line_start":91,"line_end":91,"column_start":17,"column_end":22},"name":"index","qualname":"index$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":19},"span":{"file_name":"src/idl.rs","byte_start":37543,"byte_end":37558,"line_start":104,"line_end":104,"column_start":16,"column_end":31},"name":"NESTING_DEFAULT","qualname":"::idl::JS_Schema::parse::NESTING_DEFAULT","value":"i16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030043154},"span":{"file_name":"src/idl.rs","byte_start":37586,"byte_end":37593,"line_start":106,"line_end":106,"column_start":17,"column_end":24},"name":"nesting","qualname":"nesting$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 158 }","value":"i16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157627922},"span":{"file_name":"src/idl.rs","byte_start":37630,"byte_end":37636,"line_start":108,"line_end":108,"column_start":17,"column_end":23},"name":"closed","qualname":"closed$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 162 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3841982482},"span":{"file_name":"src/idl.rs","byte_start":37662,"byte_end":37674,"line_start":109,"line_end":109,"column_start":17,"column_end":29},"name":"moving_start","qualname":"moving_start$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 167 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573547026},"span":{"file_name":"src/idl.rs","byte_start":37700,"byte_end":37707,"line_start":110,"line_end":110,"column_start":17,"column_end":24},"name":"escaped","qualname":"escaped$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 171 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110417938},"span":{"file_name":"src/idl.rs","byte_start":37733,"byte_end":37742,"line_start":111,"line_end":111,"column_start":17,"column_end":26},"name":"is_quoted","qualname":"is_quoted$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 175 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545259538},"span":{"file_name":"src/idl.rs","byte_start":38244,"byte_end":38247,"line_start":123,"line_end":123,"column_start":25,"column_end":28},"name":"arr","qualname":"arr$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 260 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3527409682},"span":{"file_name":"src/idl.rs","byte_start":41027,"byte_end":41034,"line_start":189,"line_end":189,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 587 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3309305874},"span":{"file_name":"src/idl.rs","byte_start":41619,"byte_end":41631,"line_start":200,"line_end":200,"column_start":29,"column_end":41},"name":"closed_first","qualname":"closed_first$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 675 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3879731218},"span":{"file_name":"src/idl.rs","byte_start":42027,"byte_end":42034,"line_start":210,"line_end":210,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 743 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3300917266},"span":{"file_name":"src/idl.rs","byte_start":42335,"byte_end":42346,"line_start":217,"line_end":217,"column_start":29,"column_end":40},"name":"expressions","qualname":"expressions$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 803 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1763704850},"span":{"file_name":"src/idl.rs","byte_start":45994,"byte_end":46001,"line_start":293,"line_end":293,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1174 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":455082002},"span":{"file_name":"src/idl.rs","byte_start":46381,"byte_end":46388,"line_start":300,"line_end":300,"column_start":25,"column_end":32},"name":"fn_name","qualname":"fn_name$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1240 }","value":"idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":656408594},"span":{"file_name":"src/idl.rs","byte_start":46455,"byte_end":46459,"line_start":302,"line_end":302,"column_start":29,"column_end":33},"name":"args","qualname":"args$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1252 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3932160018},"span":{"file_name":"src/idl.rs","byte_start":50094,"byte_end":50101,"line_start":378,"line_end":378,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1623 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2371878930},"span":{"file_name":"src/idl.rs","byte_start":50606,"byte_end":50609,"line_start":389,"line_end":389,"column_start":25,"column_end":28},"name":"obj","qualname":"obj$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1713 }","value":"alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1566572562},"span":{"file_name":"src/idl.rs","byte_start":50673,"byte_end":50676,"line_start":391,"line_end":391,"column_start":25,"column_end":28},"name":"key","qualname":"key$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1722 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1038090258},"span":{"file_name":"src/idl.rs","byte_start":52863,"byte_end":52870,"line_start":435,"line_end":435,"column_start":49,"column_end":56},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 1980 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":235929618},"span":{"file_name":"src/idl.rs","byte_start":54462,"byte_end":54469,"line_start":465,"line_end":465,"column_start":45,"column_end":52},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 2160 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1661992978},"span":{"file_name":"src/idl.rs","byte_start":55051,"byte_end":55058,"line_start":479,"line_end":479,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 2246 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3666870290},"span":{"file_name":"src/idl.rs","byte_start":56050,"byte_end":56057,"line_start":505,"line_end":505,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:18 ~ no_proto[2d88]::idl::{impl#0}::parse), local_id: 2395 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":20},"span":{"file_name":"src/pointer/mod.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"pointer","qualname":"::pointer","value":"src/pointer/mod.rs","parent":null,"children":[{"krate":0,"index":21},{"krate":0,"index":102},{"krate":0,"index":226},{"krate":0,"index":349},{"krate":0,"index":523},{"krate":0,"index":611},{"krate":0,"index":792},{"krate":0,"index":951},{"krate":0,"index":1113},{"krate":0,"index":1260},{"krate":0,"index":1365},{"krate":0,"index":1467},{"krate":0,"index":1549},{"krate":0,"index":1550},{"krate":0,"index":1551},{"krate":0,"index":1552},{"krate":0,"index":1554},{"krate":0,"index":1557},{"krate":0,"index":1558},{"krate":0,"index":1559},{"krate":0,"index":1562},{"krate":0,"index":1565},{"krate":0,"index":1568},{"krate":0,"index":1569},{"krate":0,"index":1572},{"krate":0,"index":1575},{"krate":0,"index":1578},{"krate":0,"index":1581},{"krate":0,"index":1582},{"krate":0,"index":1585},{"krate":0,"index":1586},{"krate":0,"index":1589},{"krate":0,"index":1592},{"krate":0,"index":1593},{"krate":0,"index":1594},{"krate":0,"index":1597},{"krate":0,"index":1598},{"krate":0,"index":1601},{"krate":0,"index":1604},{"krate":0,"index":1607},{"krate":0,"index":1610},{"krate":0,"index":1611},{"krate":0,"index":1614},{"krate":0,"index":1617},{"krate":0,"index":1620},{"krate":0,"index":1623},{"krate":0,"index":1624},{"krate":0,"index":1627},{"krate":0,"index":1630},{"krate":0,"index":1633},{"krate":0,"index":1634},{"krate":0,"index":1636},{"krate":0,"index":1637},{"krate":0,"index":1640},{"krate":0,"index":1641},{"krate":0,"index":3217},{"krate":0,"index":3220},{"krate":0,"index":3222},{"krate":0,"index":3223},{"krate":0,"index":1644},{"krate":0,"index":3226},{"krate":0,"index":3233},{"krate":0,"index":3235},{"krate":0,"index":3242},{"krate":0,"index":1647},{"krate":0,"index":1663},{"krate":0,"index":1670},{"krate":0,"index":1683},{"krate":0,"index":3244},{"krate":0,"index":3249},{"krate":0,"index":3251},{"krate":0,"index":3252},{"krate":0,"index":1700},{"krate":0,"index":3256},{"krate":0,"index":3261},{"krate":0,"index":3263},{"krate":0,"index":3265},{"krate":0,"index":3266},{"krate":0,"index":3267},{"krate":0,"index":3269},{"krate":0,"index":3276},{"krate":0,"index":3278},{"krate":0,"index":3281},{"krate":0,"index":1704},{"krate":0,"index":1718},{"krate":0,"index":1723}],"decl_id":null,"docs":" All values in buffers are accessed and modified through pointers\n \n NP_Ptr are the primary abstraction to read, update or delete values in a buffer.\n Pointers should *never* be created directly, instead the various methods provided by the library to access\n the internals of the buffer should be used.\n \n Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`.\n When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail.\n As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided.\n \n \n","sig":null,"attributes":[{"value":"/ All values in buffers are accessed and modified through pointers","span":{"file_name":"src/pointer/mod.rs","byte_start":56517,"byte_end":56585,"line_start":1,"line_end":1,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":56586,"byte_end":56590,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NP_Ptr are the primary abstraction to read, update or delete values in a buffer.","span":{"file_name":"src/pointer/mod.rs","byte_start":56591,"byte_end":56675,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ Pointers should *never* be created directly, instead the various methods provided by the library to access","span":{"file_name":"src/pointer/mod.rs","byte_start":56676,"byte_end":56786,"line_start":4,"line_end":4,"column_start":1,"column_end":111}},{"value":"/ the internals of the buffer should be used.","span":{"file_name":"src/pointer/mod.rs","byte_start":56787,"byte_end":56834,"line_start":5,"line_end":5,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":56835,"byte_end":56839,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`.","span":{"file_name":"src/pointer/mod.rs","byte_start":56840,"byte_end":56978,"line_start":7,"line_end":7,"column_start":1,"column_end":139}},{"value":"/ When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail.","span":{"file_name":"src/pointer/mod.rs","byte_start":56979,"byte_end":57162,"line_start":8,"line_end":8,"column_start":1,"column_end":184}},{"value":"/ As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided.","span":{"file_name":"src/pointer/mod.rs","byte_start":57163,"byte_end":57289,"line_start":9,"line_end":9,"column_start":1,"column_end":127}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":57290,"byte_end":57294,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":57295,"byte_end":57299,"line_start":11,"line_end":11,"column_start":1,"column_end":5}}]},{"kind":"Mod","id":{"krate":0,"index":21},"span":{"file_name":"src/pointer/any.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"any","qualname":"::pointer::any","value":"src/pointer/any.rs","parent":null,"children":[{"krate":0,"index":22},{"krate":0,"index":23},{"krate":0,"index":26},{"krate":0,"index":29},{"krate":0,"index":30},{"krate":0,"index":31},{"krate":0,"index":34},{"krate":0,"index":37},{"krate":0,"index":38},{"krate":0,"index":41},{"krate":0,"index":42},{"krate":0,"index":45},{"krate":0,"index":48},{"krate":0,"index":51},{"krate":0,"index":54},{"krate":0,"index":57},{"krate":0,"index":58},{"krate":0,"index":59},{"krate":0,"index":62},{"krate":0,"index":65},{"krate":0,"index":68},{"krate":0,"index":71},{"krate":0,"index":74},{"krate":0,"index":75},{"krate":0,"index":78},{"krate":0,"index":2857},{"krate":0,"index":2858},{"krate":0,"index":81},{"krate":0,"index":99}],"decl_id":null,"docs":" Any type\n","sig":null,"attributes":[{"value":"/ Any type","span":{"file_name":"src/pointer/mod.rs","byte_start":57301,"byte_end":57313,"line_start":13,"line_end":13,"column_start":1,"column_end":13}}]},{"kind":"Struct","id":{"krate":0,"index":2857},"span":{"file_name":"src/pointer/any.rs","byte_start":101448,"byte_end":101454,"line_start":15,"line_end":15,"column_start":12,"column_end":18},"name":"NP_Any","qualname":"::pointer::any::NP_Any","value":"NP_Any { }","parent":null,"children":[],"decl_id":null,"docs":" Any data type\n","sig":null,"attributes":[{"value":"/ Any data type","span":{"file_name":"src/pointer/any.rs","byte_start":101402,"byte_end":101419,"line_start":13,"line_end":13,"column_start":1,"column_end":18}}]},{"kind":"Method","id":{"krate":0,"index":83},"span":{"file_name":"src/pointer/any.rs","byte_start":101538,"byte_end":101546,"line_start":20,"line_end":20,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741908},"span":{"file_name":"src/pointer/any.rs","byte_start":101631,"byte_end":101635,"line_start":21,"line_end":21,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::any::NP_Any","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":84},"span":{"file_name":"src/pointer/any.rs","byte_start":101616,"byte_end":101629,"line_start":21,"line_end":21,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741909},"span":{"file_name":"src/pointer/any.rs","byte_start":101720,"byte_end":101727,"line_start":23,"line_end":23,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870997},"span":{"file_name":"src/pointer/any.rs","byte_start":101753,"byte_end":101761,"line_start":23,"line_end":23,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":85},"span":{"file_name":"src/pointer/any.rs","byte_start":101705,"byte_end":101719,"line_start":23,"line_end":23,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306453},"span":{"file_name":"src/pointer/any.rs","byte_start":101816,"byte_end":101827,"line_start":24,"line_end":24,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:85 ~ no_proto[2d88]::pointer::any::{impl#0}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741910},"span":{"file_name":"src/pointer/any.rs","byte_start":102000,"byte_end":102007,"line_start":30,"line_end":30,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870998},"span":{"file_name":"src/pointer/any.rs","byte_start":102033,"byte_end":102041,"line_start":30,"line_end":30,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":86},"span":{"file_name":"src/pointer/any.rs","byte_start":101986,"byte_end":101999,"line_start":30,"line_end":30,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741911},"span":{"file_name":"src/pointer/any.rs","byte_start":102146,"byte_end":102152,"line_start":34,"line_end":34,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870999},"span":{"file_name":"src/pointer/any.rs","byte_start":102177,"byte_end":102182,"line_start":34,"line_end":34,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612823},"span":{"file_name":"src/pointer/any.rs","byte_start":102190,"byte_end":102194,"line_start":34,"line_end":34,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435543},"span":{"file_name":"src/pointer/any.rs","byte_start":102208,"byte_end":102213,"line_start":34,"line_end":34,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":87},"span":{"file_name":"src/pointer/any.rs","byte_start":102127,"byte_end":102145,"line_start":34,"line_end":34,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741912},"span":{"file_name":"src/pointer/any.rs","byte_start":102393,"byte_end":102398,"line_start":38,"line_end":38,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871000},"span":{"file_name":"src/pointer/any.rs","byte_start":102407,"byte_end":102417,"line_start":38,"line_end":38,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612824},"span":{"file_name":"src/pointer/any.rs","byte_start":102425,"byte_end":102431,"line_start":38,"line_end":38,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435544},"span":{"file_name":"src/pointer/any.rs","byte_start":102444,"byte_end":102450,"line_start":38,"line_end":38,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177368},"span":{"file_name":"src/pointer/any.rs","byte_start":102469,"byte_end":102474,"line_start":38,"line_end":38,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":88},"span":{"file_name":"src/pointer/any.rs","byte_start":102373,"byte_end":102386,"line_start":38,"line_end":38,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741914},"span":{"file_name":"src/pointer/any.rs","byte_start":102630,"byte_end":102636,"line_start":42,"line_end":42,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871002},"span":{"file_name":"src/pointer/any.rs","byte_start":102649,"byte_end":102655,"line_start":42,"line_end":42,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612826},"span":{"file_name":"src/pointer/any.rs","byte_start":102674,"byte_end":102679,"line_start":42,"line_end":42,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::any::NP_Any","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":90},"span":{"file_name":"src/pointer/any.rs","byte_start":102614,"byte_end":102623,"line_start":42,"line_end":42,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741916},"span":{"file_name":"src/pointer/any.rs","byte_start":102875,"byte_end":102881,"line_start":45,"line_end":45,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871004},"span":{"file_name":"src/pointer/any.rs","byte_start":102895,"byte_end":102901,"line_start":45,"line_end":45,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":92},"span":{"file_name":"src/pointer/any.rs","byte_start":102864,"byte_end":102874,"line_start":45,"line_end":45,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741917},"span":{"file_name":"src/pointer/any.rs","byte_start":103063,"byte_end":103068,"line_start":48,"line_end":48,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871005},"span":{"file_name":"src/pointer/any.rs","byte_start":103076,"byte_end":103082,"line_start":48,"line_end":48,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612829},"span":{"file_name":"src/pointer/any.rs","byte_start":103096,"byte_end":103102,"line_start":48,"line_end":48,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":93},"span":{"file_name":"src/pointer/any.rs","byte_start":103055,"byte_end":103062,"line_start":48,"line_end":48,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741918},"span":{"file_name":"src/pointer/any.rs","byte_start":103180,"byte_end":103185,"line_start":51,"line_end":51,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871006},"span":{"file_name":"src/pointer/any.rs","byte_start":103193,"byte_end":103200,"line_start":51,"line_end":51,"column_start":30,"column_end":37},"name":"_cursor","qualname":"::get_size::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612830},"span":{"file_name":"src/pointer/any.rs","byte_start":103214,"byte_end":103221,"line_start":51,"line_end":51,"column_start":51,"column_end":58},"name":"_memory","qualname":"::get_size::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":94},"span":{"file_name":"src/pointer/any.rs","byte_start":103171,"byte_end":103179,"line_start":51,"line_end":51,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741919},"span":{"file_name":"src/pointer/any.rs","byte_start":103302,"byte_end":103307,"line_start":54,"line_end":54,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871007},"span":{"file_name":"src/pointer/any.rs","byte_start":103315,"byte_end":103326,"line_start":54,"line_end":54,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612831},"span":{"file_name":"src/pointer/any.rs","byte_start":103339,"byte_end":103350,"line_start":54,"line_end":54,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435551},"span":{"file_name":"src/pointer/any.rs","byte_start":103371,"byte_end":103380,"line_start":54,"line_end":54,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177375},"span":{"file_name":"src/pointer/any.rs","byte_start":103393,"byte_end":103402,"line_start":54,"line_end":54,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":95},"span":{"file_name":"src/pointer/any.rs","byte_start":103291,"byte_end":103301,"line_start":54,"line_end":54,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741920},"span":{"file_name":"src/pointer/any.rs","byte_start":103579,"byte_end":103585,"line_start":57,"line_end":57,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871008},"span":{"file_name":"src/pointer/any.rs","byte_start":103610,"byte_end":103622,"line_start":57,"line_end":57,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":96},"span":{"file_name":"src/pointer/any.rs","byte_start":103555,"byte_end":103574,"line_start":57,"line_end":57,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217824},"span":{"file_name":"src/pointer/any.rs","byte_start":103718,"byte_end":103729,"line_start":59,"line_end":59,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:96 ~ no_proto[2d88]::pointer::any::{impl#0}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741921},"span":{"file_name":"src/pointer/any.rs","byte_start":104070,"byte_end":104076,"line_start":71,"line_end":71,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871009},"span":{"file_name":"src/pointer/any.rs","byte_start":104085,"byte_end":104089,"line_start":71,"line_end":71,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612833},"span":{"file_name":"src/pointer/any.rs","byte_start":104098,"byte_end":104104,"line_start":71,"line_end":71,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":97},"span":{"file_name":"src/pointer/any.rs","byte_start":104056,"byte_end":104069,"line_start":71,"line_end":71,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741922},"span":{"file_name":"src/pointer/any.rs","byte_start":104200,"byte_end":104206,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871010},"span":{"file_name":"src/pointer/any.rs","byte_start":104231,"byte_end":104239,"line_start":75,"line_end":75,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612834},"span":{"file_name":"src/pointer/any.rs","byte_start":104248,"byte_end":104254,"line_start":75,"line_end":75,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":98},"span":{"file_name":"src/pointer/any.rs","byte_start":104175,"byte_end":104195,"line_start":75,"line_end":75,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":101},"span":{"file_name":"src/pointer/any.rs","byte_start":104561,"byte_end":104568,"line_start":87,"line_end":87,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":102},"span":{"file_name":"src/pointer/string.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"string","qualname":"::pointer::string","value":"src/pointer/string.rs","parent":null,"children":[{"krate":0,"index":103},{"krate":0,"index":106},{"krate":0,"index":109},{"krate":0,"index":112},{"krate":0,"index":113},{"krate":0,"index":116},{"krate":0,"index":117},{"krate":0,"index":120},{"krate":0,"index":123},{"krate":0,"index":124},{"krate":0,"index":127},{"krate":0,"index":130},{"krate":0,"index":133},{"krate":0,"index":134},{"krate":0,"index":137},{"krate":0,"index":140},{"krate":0,"index":141},{"krate":0,"index":144},{"krate":0,"index":145},{"krate":0,"index":148},{"krate":0,"index":151},{"krate":0,"index":154},{"krate":0,"index":157},{"krate":0,"index":158},{"krate":0,"index":161},{"krate":0,"index":164},{"krate":0,"index":167},{"krate":0,"index":170},{"krate":0,"index":173},{"krate":0,"index":175},{"krate":0,"index":180},{"krate":0,"index":199},{"krate":0,"index":204}],"decl_id":null,"docs":" NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type.","sig":null,"attributes":[{"value":"/ NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type.","span":{"file_name":"src/pointer/string.rs","byte_start":104987,"byte_end":105100,"line_start":1,"line_end":1,"column_start":1,"column_end":114}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105101,"byte_end":105104,"line_start":2,"line_end":2,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"src/pointer/string.rs","byte_start":105105,"byte_end":105112,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/string.rs","byte_start":105113,"byte_end":105147,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/string.rs","byte_start":105148,"byte_end":105177,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105178,"byte_end":105181,"line_start":6,"line_end":6,"column_start":1,"column_end":4}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/pointer/string.rs","byte_start":105182,"byte_end":105241,"line_start":7,"line_end":7,"column_start":1,"column_end":60}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105242,"byte_end":105245,"line_start":8,"line_end":8,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/string.rs","byte_start":105246,"byte_end":105296,"line_start":9,"line_end":9,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], \"I want to play a game\")?;","span":{"file_name":"src/pointer/string.rs","byte_start":105297,"byte_end":105347,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105348,"byte_end":105351,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(\"I want to play a game\", new_buffer.get::<&str>(&[])?.unwrap());","span":{"file_name":"src/pointer/string.rs","byte_start":105352,"byte_end":105431,"line_start":12,"line_end":12,"column_start":1,"column_end":80}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105432,"byte_end":105435,"line_start":13,"line_end":13,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(())","span":{"file_name":"src/pointer/string.rs","byte_start":105436,"byte_end":105464,"line_start":14,"line_end":14,"column_start":1,"column_end":29}},{"value":"/ ```","span":{"file_name":"src/pointer/string.rs","byte_start":105465,"byte_end":105472,"line_start":15,"line_end":15,"column_start":1,"column_end":8}}]},{"kind":"Type","id":{"krate":0,"index":173},"span":{"file_name":"src/pointer/string.rs","byte_start":105987,"byte_end":105996,"line_start":35,"line_end":35,"column_start":10,"column_end":19},"name":"NP_String","qualname":"::pointer::string::NP_String","value":"&'string str","parent":null,"children":[],"decl_id":null,"docs":" &str type alias\n","sig":null,"attributes":[{"value":"/ &str type alias","span":{"file_name":"src/pointer/string.rs","byte_start":105958,"byte_end":105977,"line_start":34,"line_end":34,"column_start":1,"column_end":20}}]},{"kind":"Local","id":{"krate":0,"index":1073742001},"span":{"file_name":"src/pointer/string.rs","byte_start":106261,"byte_end":106267,"line_start":44,"line_end":44,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":177},"span":{"file_name":"src/pointer/string.rs","byte_start":106246,"byte_end":106260,"line_start":44,"line_end":44,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701553},"span":{"file_name":"src/pointer/string.rs","byte_start":106336,"byte_end":106340,"line_start":45,"line_end":45,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:177 ~ no_proto[2d88]::pointer::string::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314289},"span":{"file_name":"src/pointer/string.rs","byte_start":106410,"byte_end":106414,"line_start":47,"line_end":47,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:177 ~ no_proto[2d88]::pointer::string::{impl#0}::schema_default), local_id: 23 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019899057},"span":{"file_name":"src/pointer/string.rs","byte_start":106476,"byte_end":106477,"line_start":50,"line_end":50,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:177 ~ no_proto[2d88]::pointer::string::{impl#0}::schema_default), local_id: 45 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197681},"span":{"file_name":"src/pointer/string.rs","byte_start":106542,"byte_end":106544,"line_start":51,"line_end":51,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:177 ~ no_proto[2d88]::pointer::string::{impl#0}::schema_default), local_id: 52 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742002},"span":{"file_name":"src/pointer/string.rs","byte_start":106699,"byte_end":106705,"line_start":60,"line_end":60,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871090},"span":{"file_name":"src/pointer/string.rs","byte_start":106719,"byte_end":106725,"line_start":60,"line_end":60,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":178},"span":{"file_name":"src/pointer/string.rs","byte_start":106686,"byte_end":106698,"line_start":60,"line_end":60,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653362},"span":{"file_name":"src/pointer/string.rs","byte_start":106770,"byte_end":106774,"line_start":62,"line_end":62,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:178 ~ no_proto[2d88]::pointer::string::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266098},"span":{"file_name":"src/pointer/string.rs","byte_start":106875,"byte_end":106879,"line_start":64,"line_end":64,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:178 ~ no_proto[2d88]::pointer::string::{impl#0}::np_max_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811939506},"span":{"file_name":"src/pointer/string.rs","byte_start":106972,"byte_end":106977,"line_start":70,"line_end":70,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:178 ~ no_proto[2d88]::pointer::string::{impl#0}::np_max_value), local_id: 54 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116786},"span":{"file_name":"src/pointer/string.rs","byte_start":107043,"byte_end":107045,"line_start":72,"line_end":72,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:178 ~ no_proto[2d88]::pointer::string::{impl#0}::np_max_value), local_id: 61 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742003},"span":{"file_name":"src/pointer/string.rs","byte_start":107211,"byte_end":107217,"line_start":80,"line_end":80,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871091},"span":{"file_name":"src/pointer/string.rs","byte_start":107231,"byte_end":107237,"line_start":80,"line_end":80,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":179},"span":{"file_name":"src/pointer/string.rs","byte_start":107198,"byte_end":107210,"line_start":80,"line_end":80,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653363},"span":{"file_name":"src/pointer/string.rs","byte_start":107282,"byte_end":107286,"line_start":82,"line_end":82,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:179 ~ no_proto[2d88]::pointer::string::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266099},"span":{"file_name":"src/pointer/string.rs","byte_start":107387,"byte_end":107391,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:179 ~ no_proto[2d88]::pointer::string::{impl#0}::np_min_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811939507},"span":{"file_name":"src/pointer/string.rs","byte_start":107484,"byte_end":107489,"line_start":90,"line_end":90,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:179 ~ no_proto[2d88]::pointer::string::{impl#0}::np_min_value), local_id: 54 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116787},"span":{"file_name":"src/pointer/string.rs","byte_start":107555,"byte_end":107557,"line_start":92,"line_end":92,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:179 ~ no_proto[2d88]::pointer::string::{impl#0}::np_min_value), local_id: 61 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":182},"span":{"file_name":"src/pointer/string.rs","byte_start":107758,"byte_end":107766,"line_start":106,"line_end":106,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742007},"span":{"file_name":"src/pointer/string.rs","byte_start":107873,"byte_end":107877,"line_start":109,"line_end":109,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":183},"span":{"file_name":"src/pointer/string.rs","byte_start":107858,"byte_end":107871,"line_start":109,"line_end":109,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742008},"span":{"file_name":"src/pointer/string.rs","byte_start":107984,"byte_end":107990,"line_start":113,"line_end":113,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871096},"span":{"file_name":"src/pointer/string.rs","byte_start":108016,"byte_end":108023,"line_start":113,"line_end":113,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":184},"span":{"file_name":"src/pointer/string.rs","byte_start":107969,"byte_end":107983,"line_start":113,"line_end":113,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952790200},"span":{"file_name":"src/pointer/string.rs","byte_start":108075,"byte_end":108081,"line_start":114,"line_end":114,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:184 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_json), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939524280},"span":{"file_name":"src/pointer/string.rs","byte_start":108115,"byte_end":108119,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:184 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_json), local_id: 28 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603979960},"span":{"file_name":"src/pointer/string.rs","byte_start":108193,"byte_end":108204,"line_start":118,"line_end":118,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:184 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_json), local_id: 36 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742009},"span":{"file_name":"src/pointer/string.rs","byte_start":109092,"byte_end":109098,"line_start":149,"line_end":149,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871097},"span":{"file_name":"src/pointer/string.rs","byte_start":109124,"byte_end":109131,"line_start":149,"line_end":149,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":185},"span":{"file_name":"src/pointer/string.rs","byte_start":109078,"byte_end":109091,"line_start":149,"line_end":149,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952790201},"span":{"file_name":"src/pointer/string.rs","byte_start":109181,"byte_end":109187,"line_start":150,"line_end":150,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939524281},"span":{"file_name":"src/pointer/string.rs","byte_start":109221,"byte_end":109225,"line_start":152,"line_end":152,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 28 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335544505},"span":{"file_name":"src/pointer/string.rs","byte_start":109299,"byte_end":109309,"line_start":154,"line_end":154,"column_start":17,"column_end":27},"name":"properties","qualname":"properties$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 40 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504057},"span":{"file_name":"src/pointer/string.rs","byte_start":109399,"byte_end":109402,"line_start":157,"line_end":157,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 58 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2516582585},"span":{"file_name":"src/pointer/string.rs","byte_start":109626,"byte_end":109629,"line_start":165,"line_end":165,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 105 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660944569},"span":{"file_name":"src/pointer/string.rs","byte_start":110171,"byte_end":110180,"line_start":183,"line_end":183,"column_start":21,"column_end":30},"name":"final_str","qualname":"final_str$HirId { owner: DefId(0:185 ~ no_proto[2d88]::pointer::string::{impl#1}::schema_to_idl), local_id: 198 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742010},"span":{"file_name":"src/pointer/string.rs","byte_start":110391,"byte_end":110397,"line_start":191,"line_end":191,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871098},"span":{"file_name":"src/pointer/string.rs","byte_start":110422,"byte_end":110427,"line_start":191,"line_end":191,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612922},"span":{"file_name":"src/pointer/string.rs","byte_start":110435,"byte_end":110438,"line_start":191,"line_end":191,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435642},"span":{"file_name":"src/pointer/string.rs","byte_start":110452,"byte_end":110456,"line_start":191,"line_end":191,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":186},"span":{"file_name":"src/pointer/string.rs","byte_start":110368,"byte_end":110386,"line_start":191,"line_end":191,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088826},"span":{"file_name":"src/pointer/string.rs","byte_start":110550,"byte_end":110561,"line_start":192,"line_end":192,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751463610},"span":{"file_name":"src/pointer/string.rs","byte_start":110659,"byte_end":110668,"line_start":195,"line_end":195,"column_start":17,"column_end":26},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 37 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483028154},"span":{"file_name":"src/pointer/string.rs","byte_start":110706,"byte_end":110709,"line_start":196,"line_end":196,"column_start":17,"column_end":20},"name":"set","qualname":"set$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 41 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019899066},"span":{"file_name":"src/pointer/string.rs","byte_start":110732,"byte_end":110746,"line_start":198,"line_end":198,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 45 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810426},"span":{"file_name":"src/pointer/string.rs","byte_start":110772,"byte_end":110776,"line_start":199,"line_end":199,"column_start":17,"column_end":21},"name":"size","qualname":"size$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 49 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690987706},"span":{"file_name":"src/pointer/string.rs","byte_start":110802,"byte_end":110809,"line_start":201,"line_end":201,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 59 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215546},"span":{"file_name":"src/pointer/string.rs","byte_start":110934,"byte_end":110944,"line_start":206,"line_end":206,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 75 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514170},"span":{"file_name":"src/pointer/string.rs","byte_start":110977,"byte_end":110980,"line_start":207,"line_end":207,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 82 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388997818},"span":{"file_name":"src/pointer/string.rs","byte_start":110982,"byte_end":110987,"line_start":207,"line_end":207,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 83 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2969567418},"span":{"file_name":"src/pointer/string.rs","byte_start":111581,"byte_end":111585,"line_start":219,"line_end":219,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 141 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103785146},"span":{"file_name":"src/pointer/string.rs","byte_start":111728,"byte_end":111729,"line_start":221,"line_end":221,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 157 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962934458},"span":{"file_name":"src/pointer/string.rs","byte_start":111960,"byte_end":111962,"line_start":225,"line_end":225,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 174 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076863674},"span":{"file_name":"src/pointer/string.rs","byte_start":112367,"byte_end":112371,"line_start":233,"line_end":233,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 207 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":713031866},"span":{"file_name":"src/pointer/string.rs","byte_start":113179,"byte_end":113188,"line_start":261,"line_end":261,"column_start":17,"column_end":26},"name":"str_bytes","qualname":"str_bytes$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 340 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783262394},"span":{"file_name":"src/pointer/string.rs","byte_start":113457,"byte_end":113462,"line_start":268,"line_end":268,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 391 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1904214202},"span":{"file_name":"src/pointer/string.rs","byte_start":113499,"byte_end":113501,"line_start":270,"line_end":270,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:186 ~ no_proto[2d88]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 398 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742011},"span":{"file_name":"src/pointer/string.rs","byte_start":114062,"byte_end":114068,"line_start":288,"line_end":288,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871099},"span":{"file_name":"src/pointer/string.rs","byte_start":114077,"byte_end":114088,"line_start":288,"line_end":288,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612923},"span":{"file_name":"src/pointer/string.rs","byte_start":114096,"byte_end":114102,"line_start":288,"line_end":288,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435643},"span":{"file_name":"src/pointer/string.rs","byte_start":114115,"byte_end":114121,"line_start":288,"line_end":288,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177467},"span":{"file_name":"src/pointer/string.rs","byte_start":114140,"byte_end":114145,"line_start":288,"line_end":288,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":187},"span":{"file_name":"src/pointer/string.rs","byte_start":114042,"byte_end":114055,"line_start":288,"line_end":288,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959739},"span":{"file_name":"src/pointer/string.rs","byte_start":114266,"byte_end":114271,"line_start":290,"line_end":290,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:187 ~ no_proto[2d88]::pointer::string::{impl#1}::set_from_json), local_id: 18 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742013},"span":{"file_name":"src/pointer/string.rs","byte_start":114443,"byte_end":114449,"line_start":299,"line_end":299,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871101},"span":{"file_name":"src/pointer/string.rs","byte_start":114474,"byte_end":114481,"line_start":299,"line_end":299,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612925},"span":{"file_name":"src/pointer/string.rs","byte_start":114490,"byte_end":114495,"line_start":299,"line_end":299,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":189},"span":{"file_name":"src/pointer/string.rs","byte_start":114418,"byte_end":114438,"line_start":299,"line_end":299,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818572477},"span":{"file_name":"src/pointer/string.rs","byte_start":114573,"byte_end":114582,"line_start":302,"line_end":302,"column_start":13,"column_end":22},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 21 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504061},"span":{"file_name":"src/pointer/string.rs","byte_start":114659,"byte_end":114669,"line_start":305,"line_end":305,"column_start":13,"column_end":23},"name":"fixed_size","qualname":"fixed_size$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 58 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704643261},"span":{"file_name":"src/pointer/string.rs","byte_start":114816,"byte_end":114828,"line_start":308,"line_end":308,"column_start":13,"column_end":25},"name":"default_size","qualname":"default_size$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 84 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100663485},"span":{"file_name":"src/pointer/string.rs","byte_start":114919,"byte_end":114924,"line_start":310,"line_end":310,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 96 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858759869},"span":{"file_name":"src/pointer/string.rs","byte_start":114961,"byte_end":114963,"line_start":312,"line_end":312,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 103 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996488893},"span":{"file_name":"src/pointer/string.rs","byte_start":115564,"byte_end":115577,"line_start":328,"line_end":328,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:189 ~ no_proto[2d88]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 238 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742014},"span":{"file_name":"src/pointer/string.rs","byte_start":116255,"byte_end":116261,"line_start":345,"line_end":345,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871102},"span":{"file_name":"src/pointer/string.rs","byte_start":116274,"byte_end":116280,"line_start":345,"line_end":345,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612926},"span":{"file_name":"src/pointer/string.rs","byte_start":116299,"byte_end":116304,"line_start":345,"line_end":345,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":190},"span":{"file_name":"src/pointer/string.rs","byte_start":116239,"byte_end":116248,"line_start":345,"line_end":345,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742016},"span":{"file_name":"src/pointer/string.rs","byte_start":116448,"byte_end":116454,"line_start":349,"line_end":349,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871104},"span":{"file_name":"src/pointer/string.rs","byte_start":116468,"byte_end":116474,"line_start":349,"line_end":349,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":192},"span":{"file_name":"src/pointer/string.rs","byte_start":116437,"byte_end":116447,"line_start":349,"line_end":349,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109056},"span":{"file_name":"src/pointer/string.rs","byte_start":116621,"byte_end":116622,"line_start":351,"line_end":351,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:192 ~ no_proto[2d88]::pointer::string::{impl#1}::into_value), local_id: 32 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742017},"span":{"file_name":"src/pointer/string.rs","byte_start":116717,"byte_end":116723,"line_start":357,"line_end":357,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871105},"span":{"file_name":"src/pointer/string.rs","byte_start":116731,"byte_end":116737,"line_start":357,"line_end":357,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612929},"span":{"file_name":"src/pointer/string.rs","byte_start":116751,"byte_end":116757,"line_start":357,"line_end":357,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":193},"span":{"file_name":"src/pointer/string.rs","byte_start":116708,"byte_end":116716,"line_start":357,"line_end":357,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959745},"span":{"file_name":"src/pointer/string.rs","byte_start":116813,"byte_end":116820,"line_start":359,"line_end":359,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:193 ~ no_proto[2d88]::pointer::string::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/string.rs:359:23: 359:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087007937},"span":{"file_name":"src/pointer/string.rs","byte_start":116868,"byte_end":116878,"line_start":360,"line_end":360,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:193 ~ no_proto[2d88]::pointer::string::{impl#1}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33554625},"span":{"file_name":"src/pointer/string.rs","byte_start":117020,"byte_end":117024,"line_start":367,"line_end":367,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:193 ~ no_proto[2d88]::pointer::string::{impl#1}::get_size), local_id: 64 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":234881217},"span":{"file_name":"src/pointer/string.rs","byte_start":117252,"byte_end":117262,"line_start":375,"line_end":375,"column_start":13,"column_end":23},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:193 ~ no_proto[2d88]::pointer::string::{impl#1}::get_size), local_id: 112 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742020},"span":{"file_name":"src/pointer/string.rs","byte_start":117506,"byte_end":117512,"line_start":383,"line_end":383,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871108},"span":{"file_name":"src/pointer/string.rs","byte_start":117537,"byte_end":117548,"line_start":383,"line_end":383,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":196},"span":{"file_name":"src/pointer/string.rs","byte_start":117482,"byte_end":117501,"line_start":383,"line_end":383,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217924},"span":{"file_name":"src/pointer/string.rs","byte_start":117644,"byte_end":117655,"line_start":385,"line_end":385,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592708},"span":{"file_name":"src/pointer/string.rs","byte_start":117753,"byte_end":117762,"line_start":388,"line_end":388,"column_start":17,"column_end":26},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 33 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751463620},"span":{"file_name":"src/pointer/string.rs","byte_start":117800,"byte_end":117803,"line_start":389,"line_end":389,"column_start":17,"column_end":20},"name":"set","qualname":"set$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 37 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261413060},"span":{"file_name":"src/pointer/string.rs","byte_start":118297,"byte_end":118311,"line_start":407,"line_end":407,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 127 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1954545860},"span":{"file_name":"src/pointer/string.rs","byte_start":118334,"byte_end":118338,"line_start":409,"line_end":409,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 302 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774873796},"span":{"file_name":"src/pointer/string.rs","byte_start":118398,"byte_end":118399,"line_start":410,"line_end":410,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 135 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405775044},"span":{"file_name":"src/pointer/string.rs","byte_start":118975,"byte_end":118976,"line_start":425,"line_end":425,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 211 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2843738308},"span":{"file_name":"src/pointer/string.rs","byte_start":119671,"byte_end":119678,"line_start":447,"line_end":447,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 405 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3967811780},"span":{"file_name":"src/pointer/string.rs","byte_start":119741,"byte_end":119746,"line_start":448,"line_end":448,"column_start":29,"column_end":34},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 311 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685060},"span":{"file_name":"src/pointer/string.rs","byte_start":119773,"byte_end":119782,"line_start":449,"line_end":449,"column_start":21,"column_end":30},"name":"str_bytes","qualname":"str_bytes$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 322 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2239758532},"span":{"file_name":"src/pointer/string.rs","byte_start":120383,"byte_end":120388,"line_start":465,"line_end":465,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 417 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":360710340},"span":{"file_name":"src/pointer/string.rs","byte_start":120425,"byte_end":120427,"line_start":467,"line_end":467,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:196 ~ no_proto[2d88]::pointer::string::{impl#1}::from_json_to_schema), local_id: 424 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742021},"span":{"file_name":"src/pointer/string.rs","byte_start":120970,"byte_end":120976,"line_start":485,"line_end":485,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871109},"span":{"file_name":"src/pointer/string.rs","byte_start":120984,"byte_end":120990,"line_start":485,"line_end":485,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612933},"span":{"file_name":"src/pointer/string.rs","byte_start":121004,"byte_end":121010,"line_start":485,"line_end":485,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":197},"span":{"file_name":"src/pointer/string.rs","byte_start":120962,"byte_end":120969,"line_start":485,"line_end":485,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701573},"span":{"file_name":"src/pointer/string.rs","byte_start":121109,"byte_end":121110,"line_start":488,"line_end":488,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:197 ~ no_proto[2d88]::pointer::string::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314309},"span":{"file_name":"src/pointer/string.rs","byte_start":121146,"byte_end":121147,"line_start":489,"line_end":489,"column_start":22,"column_end":23},"name":"y","qualname":"y$HirId { owner: DefId(0:197 ~ no_proto[2d88]::pointer::string::{impl#1}::to_json), local_id: 23 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959423173},"span":{"file_name":"src/pointer/string.rs","byte_start":121234,"byte_end":121238,"line_start":491,"line_end":491,"column_start":25,"column_end":29},"name":"data","qualname":"data$HirId { owner: DefId(0:197 ~ no_proto[2d88]::pointer::string::{impl#1}::to_json), local_id: 55 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116805},"span":{"file_name":"src/pointer/string.rs","byte_start":121418,"byte_end":121419,"line_start":494,"line_end":494,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:197 ~ no_proto[2d88]::pointer::string::{impl#1}::to_json), local_id: 61 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514181},"span":{"file_name":"src/pointer/string.rs","byte_start":121598,"byte_end":121600,"line_start":500,"line_end":500,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:197 ~ no_proto[2d88]::pointer::string::{impl#1}::to_json), local_id: 82 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742022},"span":{"file_name":"src/pointer/string.rs","byte_start":121662,"byte_end":121668,"line_start":504,"line_end":504,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871110},"span":{"file_name":"src/pointer/string.rs","byte_start":121677,"byte_end":121688,"line_start":504,"line_end":504,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612934},"span":{"file_name":"src/pointer/string.rs","byte_start":121696,"byte_end":121702,"line_start":504,"line_end":504,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":198},"span":{"file_name":"src/pointer/string.rs","byte_start":121648,"byte_end":121661,"line_start":504,"line_end":504,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355443398},"span":{"file_name":"src/pointer/string.rs","byte_start":121828,"byte_end":121829,"line_start":506,"line_end":506,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:198 ~ no_proto[2d88]::pointer::string::{impl#1}::default_value), local_id: 19 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742025},"span":{"file_name":"src/pointer/string.rs","byte_start":121980,"byte_end":121987,"line_start":515,"line_end":515,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":201},"span":{"file_name":"src/pointer/string.rs","byte_start":121965,"byte_end":121979,"line_start":515,"line_end":515,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742026},"span":{"file_name":"src/pointer/string.rs","byte_start":122083,"byte_end":122090,"line_start":518,"line_end":518,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871114},"span":{"file_name":"src/pointer/string.rs","byte_start":122104,"byte_end":122111,"line_start":518,"line_end":518,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":202},"span":{"file_name":"src/pointer/string.rs","byte_start":122070,"byte_end":122082,"line_start":518,"line_end":518,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742027},"span":{"file_name":"src/pointer/string.rs","byte_start":122183,"byte_end":122190,"line_start":522,"line_end":522,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871115},"span":{"file_name":"src/pointer/string.rs","byte_start":122204,"byte_end":122211,"line_start":522,"line_end":522,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":203},"span":{"file_name":"src/pointer/string.rs","byte_start":122170,"byte_end":122182,"line_start":522,"line_end":522,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":206},"span":{"file_name":"src/pointer/string.rs","byte_start":122327,"byte_end":122335,"line_start":529,"line_end":529,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742031},"span":{"file_name":"src/pointer/string.rs","byte_start":122413,"byte_end":122417,"line_start":530,"line_end":530,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":207},"span":{"file_name":"src/pointer/string.rs","byte_start":122398,"byte_end":122411,"line_start":530,"line_end":530,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742032},"span":{"file_name":"src/pointer/string.rs","byte_start":122510,"byte_end":122517,"line_start":532,"line_end":532,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871120},"span":{"file_name":"src/pointer/string.rs","byte_start":122543,"byte_end":122551,"line_start":532,"line_end":532,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":208},"span":{"file_name":"src/pointer/string.rs","byte_start":122495,"byte_end":122509,"line_start":532,"line_end":532,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742033},"span":{"file_name":"src/pointer/string.rs","byte_start":122674,"byte_end":122680,"line_start":536,"line_end":536,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871121},"span":{"file_name":"src/pointer/string.rs","byte_start":122689,"byte_end":122700,"line_start":536,"line_end":536,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612945},"span":{"file_name":"src/pointer/string.rs","byte_start":122708,"byte_end":122715,"line_start":536,"line_end":536,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435665},"span":{"file_name":"src/pointer/string.rs","byte_start":122728,"byte_end":122735,"line_start":536,"line_end":536,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177489},"span":{"file_name":"src/pointer/string.rs","byte_start":122754,"byte_end":122760,"line_start":536,"line_end":536,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":209},"span":{"file_name":"src/pointer/string.rs","byte_start":122654,"byte_end":122667,"line_start":536,"line_end":536,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742035},"span":{"file_name":"src/pointer/string.rs","byte_start":122874,"byte_end":122880,"line_start":541,"line_end":541,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871123},"span":{"file_name":"src/pointer/string.rs","byte_start":122893,"byte_end":122899,"line_start":541,"line_end":541,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612947},"span":{"file_name":"src/pointer/string.rs","byte_start":122918,"byte_end":122923,"line_start":541,"line_end":541,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":211},"span":{"file_name":"src/pointer/string.rs","byte_start":122858,"byte_end":122867,"line_start":541,"line_end":541,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959763},"span":{"file_name":"src/pointer/string.rs","byte_start":123002,"byte_end":123009,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/string.rs:543:23: 543:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677721811},"span":{"file_name":"src/pointer/string.rs","byte_start":123058,"byte_end":123062,"line_start":545,"line_end":545,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 38 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201326803},"span":{"file_name":"src/pointer/string.rs","byte_start":123164,"byte_end":123168,"line_start":547,"line_end":547,"column_start":14,"column_end":18},"name":"size","qualname":"size$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 48 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810451},"span":{"file_name":"src/pointer/string.rs","byte_start":123170,"byte_end":123174,"line_start":547,"line_end":547,"column_start":20,"column_end":24},"name":"case","qualname":"case$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 49 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617245907},"span":{"file_name":"src/pointer/string.rs","byte_start":123219,"byte_end":123224,"line_start":549,"line_end":549,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 57 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080374995},"span":{"file_name":"src/pointer/string.rs","byte_start":123262,"byte_end":123267,"line_start":551,"line_end":551,"column_start":17,"column_end":22},"name":"owned","qualname":"owned$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 62 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822083795},"span":{"file_name":"src/pointer/string.rs","byte_start":123721,"byte_end":123729,"line_start":566,"line_end":566,"column_start":13,"column_end":21},"name":"str_size","qualname":"str_size$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 140 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976200403},"span":{"file_name":"src/pointer/string.rs","byte_start":123919,"byte_end":123927,"line_start":573,"line_end":573,"column_start":21,"column_end":29},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 183 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":721420499},"span":{"file_name":"src/pointer/string.rs","byte_start":124084,"byte_end":124088,"line_start":577,"line_end":577,"column_start":17,"column_end":21},"name":"addr","qualname":"addr$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 212 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3674210515},"span":{"file_name":"src/pointer/string.rs","byte_start":124144,"byte_end":124155,"line_start":578,"line_end":578,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 219 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2801795283},"span":{"file_name":"src/pointer/string.rs","byte_start":124201,"byte_end":124202,"line_start":580,"line_end":580,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 229 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2625634515},"span":{"file_name":"src/pointer/string.rs","byte_start":124604,"byte_end":124614,"line_start":594,"line_end":594,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 313 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1988100307},"span":{"file_name":"src/pointer/string.rs","byte_start":124671,"byte_end":124680,"line_start":596,"line_end":596,"column_start":13,"column_end":22},"name":"prev_size","qualname":"prev_size$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 366 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":444596435},"span":{"file_name":"src/pointer/string.rs","byte_start":124727,"byte_end":124737,"line_start":597,"line_end":597,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 344 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3649044691},"span":{"file_name":"src/pointer/string.rs","byte_start":125227,"byte_end":125237,"line_start":610,"line_end":610,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 411 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1166016723},"span":{"file_name":"src/pointer/string.rs","byte_start":125290,"byte_end":125301,"line_start":612,"line_end":612,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 418 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3581935827},"span":{"file_name":"src/pointer/string.rs","byte_start":125374,"byte_end":125375,"line_start":615,"line_end":615,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 427 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2877292755},"span":{"file_name":"src/pointer/string.rs","byte_start":125495,"byte_end":125501,"line_start":619,"line_end":619,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 469 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2071986387},"span":{"file_name":"src/pointer/string.rs","byte_start":125553,"byte_end":125554,"line_start":622,"line_end":622,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 478 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3393192147},"span":{"file_name":"src/pointer/string.rs","byte_start":125851,"byte_end":125859,"line_start":631,"line_end":631,"column_start":17,"column_end":25},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 595 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":473956563},"span":{"file_name":"src/pointer/string.rs","byte_start":126026,"byte_end":126036,"line_start":635,"line_end":635,"column_start":21,"column_end":31},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:211 ~ no_proto[2d88]::pointer::string::{impl#3}::set_value), local_id: 568 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742040},"span":{"file_name":"src/pointer/string.rs","byte_start":126338,"byte_end":126344,"line_start":647,"line_end":647,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871128},"span":{"file_name":"src/pointer/string.rs","byte_start":126353,"byte_end":126364,"line_start":647,"line_end":647,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612952},"span":{"file_name":"src/pointer/string.rs","byte_start":126372,"byte_end":126378,"line_start":647,"line_end":647,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":216},"span":{"file_name":"src/pointer/string.rs","byte_start":126324,"byte_end":126337,"line_start":647,"line_end":647,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &'value Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653400},"span":{"file_name":"src/pointer/string.rs","byte_start":126441,"byte_end":126445,"line_start":648,"line_end":648,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:216 ~ no_proto[2d88]::pointer::string::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266136},"span":{"file_name":"src/pointer/string.rs","byte_start":126563,"byte_end":126564,"line_start":651,"line_end":651,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:216 ~ no_proto[2d88]::pointer::string::{impl#3}::default_value), local_id: 30 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742041},"span":{"file_name":"src/pointer/string.rs","byte_start":126671,"byte_end":126678,"line_start":657,"line_end":657,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871129},"span":{"file_name":"src/pointer/string.rs","byte_start":126704,"byte_end":126712,"line_start":657,"line_end":657,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":217},"span":{"file_name":"src/pointer/string.rs","byte_start":126657,"byte_end":126670,"line_start":657,"line_end":657,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":" This is never called\n","sig":null,"attributes":[{"value":"/ This is never called","span":{"file_name":"src/pointer/string.rs","byte_start":126625,"byte_end":126649,"line_start":656,"line_end":656,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073742042},"span":{"file_name":"src/pointer/string.rs","byte_start":126849,"byte_end":126855,"line_start":662,"line_end":662,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871130},"span":{"file_name":"src/pointer/string.rs","byte_start":126880,"byte_end":126885,"line_start":662,"line_end":662,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612954},"span":{"file_name":"src/pointer/string.rs","byte_start":126893,"byte_end":126897,"line_start":662,"line_end":662,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435674},"span":{"file_name":"src/pointer/string.rs","byte_start":126911,"byte_end":126916,"line_start":662,"line_end":662,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":218},"span":{"file_name":"src/pointer/string.rs","byte_start":126830,"byte_end":126848,"line_start":662,"line_end":662,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":" This is never called\n","sig":null,"attributes":[{"value":"/ This is never called","span":{"file_name":"src/pointer/string.rs","byte_start":126798,"byte_end":126822,"line_start":661,"line_end":661,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073742043},"span":{"file_name":"src/pointer/string.rs","byte_start":127087,"byte_end":127093,"line_start":666,"line_end":666,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871131},"span":{"file_name":"src/pointer/string.rs","byte_start":127107,"byte_end":127113,"line_start":666,"line_end":666,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":219},"span":{"file_name":"src/pointer/string.rs","byte_start":127076,"byte_end":127086,"line_start":666,"line_end":666,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217947},"span":{"file_name":"src/pointer/string.rs","byte_start":127201,"byte_end":127208,"line_start":668,"line_end":668,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/string.rs:668:23: 668:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623878875},"span":{"file_name":"src/pointer/string.rs","byte_start":127257,"byte_end":127267,"line_start":670,"line_end":670,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858651},"span":{"file_name":"src/pointer/string.rs","byte_start":127411,"byte_end":127415,"line_start":676,"line_end":676,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973078747},"span":{"file_name":"src/pointer/string.rs","byte_start":127599,"byte_end":127604,"line_start":682,"line_end":682,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432696539},"span":{"file_name":"src/pointer/string.rs","byte_start":127849,"byte_end":127859,"line_start":689,"line_end":689,"column_start":17,"column_end":27},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 137 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886299},"span":{"file_name":"src/pointer/string.rs","byte_start":127994,"byte_end":127999,"line_start":692,"line_end":692,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:219 ~ no_proto[2d88]::pointer::string::{impl#3}::into_value), local_id: 160 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742046},"span":{"file_name":"src/pointer/string.rs","byte_start":128189,"byte_end":128194,"line_start":700,"line_end":700,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871134},"span":{"file_name":"src/pointer/string.rs","byte_start":128202,"byte_end":128208,"line_start":700,"line_end":700,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612958},"span":{"file_name":"src/pointer/string.rs","byte_start":128222,"byte_end":128228,"line_start":700,"line_end":700,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":222},"span":{"file_name":"src/pointer/string.rs","byte_start":128181,"byte_end":128188,"line_start":700,"line_end":700,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742047},"span":{"file_name":"src/pointer/string.rs","byte_start":128332,"byte_end":128337,"line_start":704,"line_end":704,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871135},"span":{"file_name":"src/pointer/string.rs","byte_start":128345,"byte_end":128351,"line_start":704,"line_end":704,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612959},"span":{"file_name":"src/pointer/string.rs","byte_start":128365,"byte_end":128371,"line_start":704,"line_end":704,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":223},"span":{"file_name":"src/pointer/string.rs","byte_start":128323,"byte_end":128331,"line_start":704,"line_end":704,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742048},"span":{"file_name":"src/pointer/string.rs","byte_start":128496,"byte_end":128502,"line_start":708,"line_end":708,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871136},"span":{"file_name":"src/pointer/string.rs","byte_start":128527,"byte_end":128539,"line_start":708,"line_end":708,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":224},"span":{"file_name":"src/pointer/string.rs","byte_start":128476,"byte_end":128495,"line_start":708,"line_end":708,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742049},"span":{"file_name":"src/pointer/string.rs","byte_start":128712,"byte_end":128718,"line_start":713,"line_end":713,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871137},"span":{"file_name":"src/pointer/string.rs","byte_start":128743,"byte_end":128751,"line_start":713,"line_end":713,"column_start":60,"column_end":68},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612961},"span":{"file_name":"src/pointer/string.rs","byte_start":128760,"byte_end":128766,"line_start":713,"line_end":713,"column_start":77,"column_end":83},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":225},"span":{"file_name":"src/pointer/string.rs","byte_start":128691,"byte_end":128711,"line_start":713,"line_end":713,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":226},"span":{"file_name":"src/pointer/bytes.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"bytes","qualname":"::pointer::bytes","value":"src/pointer/bytes.rs","parent":null,"children":[{"krate":0,"index":227},{"krate":0,"index":228},{"krate":0,"index":231},{"krate":0,"index":234},{"krate":0,"index":235},{"krate":0,"index":236},{"krate":0,"index":239},{"krate":0,"index":242},{"krate":0,"index":245},{"krate":0,"index":246},{"krate":0,"index":249},{"krate":0,"index":252},{"krate":0,"index":255},{"krate":0,"index":258},{"krate":0,"index":259},{"krate":0,"index":260},{"krate":0,"index":263},{"krate":0,"index":266},{"krate":0,"index":269},{"krate":0,"index":272},{"krate":0,"index":275},{"krate":0,"index":276},{"krate":0,"index":279},{"krate":0,"index":280},{"krate":0,"index":283},{"krate":0,"index":286},{"krate":0,"index":289},{"krate":0,"index":290},{"krate":0,"index":292},{"krate":0,"index":297},{"krate":0,"index":322},{"krate":0,"index":327}],"decl_id":null,"docs":" Represents arbitrary bytes type\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::bytes::NP_Bytes;\n \n let factory: NP_Factory = NP_Factory::new(\"bytes()\")?;","sig":null,"attributes":[{"value":"/ Represents arbitrary bytes type","span":{"file_name":"src/pointer/bytes.rs","byte_start":133942,"byte_end":133977,"line_start":1,"line_end":1,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":133978,"byte_end":133982,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/bytes.rs","byte_start":133983,"byte_end":133990,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/bytes.rs","byte_start":133991,"byte_end":134025,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134026,"byte_end":134055,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::bytes::NP_Bytes;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134056,"byte_end":134099,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134100,"byte_end":134104,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"bytes()\")?;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134105,"byte_end":134163,"line_start":8,"line_end":8,"column_start":1,"column_end":59}},{"value":"/","span":{"file_name":"src/pointer/bytes.rs","byte_start":134164,"byte_end":134167,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/bytes.rs","byte_start":134168,"byte_end":134218,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as &[u8])?;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134219,"byte_end":134273,"line_start":11,"line_end":11,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134274,"byte_end":134278,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(&[0u8, 1, 2, 3, 4] as &[u8], new_buffer.get::<&[u8]>(&[])?.unwrap());","span":{"file_name":"src/pointer/bytes.rs","byte_start":134279,"byte_end":134363,"line_start":13,"line_end":13,"column_start":1,"column_end":85}},{"value":"/","span":{"file_name":"src/pointer/bytes.rs","byte_start":134364,"byte_end":134367,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134368,"byte_end":134397,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/bytes.rs","byte_start":134398,"byte_end":134405,"line_start":16,"line_end":16,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134406,"byte_end":134410,"line_start":17,"line_end":17,"column_start":1,"column_end":5}}]},{"kind":"Type","id":{"krate":0,"index":289},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134872,"byte_end":134880,"line_start":33,"line_end":33,"column_start":10,"column_end":18},"name":"NP_Bytes","qualname":"::pointer::bytes::NP_Bytes","value":"Vec","parent":null,"children":[],"decl_id":null,"docs":" Arbitrary bytes\n Alias for Vec\n","sig":null,"attributes":[{"value":"/ Arbitrary bytes","span":{"file_name":"src/pointer/bytes.rs","byte_start":134821,"byte_end":134840,"line_start":31,"line_end":31,"column_start":1,"column_end":20}},{"value":"/ Alias for Vec","span":{"file_name":"src/pointer/bytes.rs","byte_start":134841,"byte_end":134862,"line_start":32,"line_end":32,"column_start":1,"column_end":22}}]},{"kind":"Type","id":{"krate":0,"index":290},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134952,"byte_end":134967,"line_start":37,"line_end":37,"column_start":10,"column_end":25},"name":"NP_Borrow_Bytes","qualname":"::pointer::bytes::NP_Borrow_Bytes","value":"&'bytes [u8]","parent":null,"children":[],"decl_id":null,"docs":" Arbitrary bytes, borrowed\n Alias for &[u8]\n","sig":null,"attributes":[{"value":"/ Arbitrary bytes, borrowed","span":{"file_name":"src/pointer/bytes.rs","byte_start":134893,"byte_end":134922,"line_start":35,"line_end":35,"column_start":1,"column_end":30}},{"value":"/ Alias for &[u8]","span":{"file_name":"src/pointer/bytes.rs","byte_start":134923,"byte_end":134942,"line_start":36,"line_end":36,"column_start":1,"column_end":20}}]},{"kind":"Local","id":{"krate":0,"index":1073742118},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135069,"byte_end":135075,"line_start":41,"line_end":41,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":294},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135054,"byte_end":135068,"line_start":41,"line_end":41,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701670},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135144,"byte_end":135148,"line_start":42,"line_end":42,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:294 ~ no_proto[2d88]::pointer::bytes::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770086},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135257,"byte_end":135258,"line_start":45,"line_end":45,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:294 ~ no_proto[2d88]::pointer::bytes::{impl#0}::schema_default), local_id: 43 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422552358},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135326,"byte_end":135328,"line_start":46,"line_end":46,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:294 ~ no_proto[2d88]::pointer::bytes::{impl#0}::schema_default), local_id: 51 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742119},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135492,"byte_end":135498,"line_start":56,"line_end":56,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871207},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135512,"byte_end":135518,"line_start":56,"line_end":56,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":295},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135479,"byte_end":135491,"line_start":56,"line_end":56,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653479},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135562,"byte_end":135566,"line_start":57,"line_end":57,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:295 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266215},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135666,"byte_end":135670,"line_start":59,"line_end":59,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:295 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_max_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469762343},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135762,"byte_end":135767,"line_start":64,"line_end":64,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:295 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_max_value), local_id: 56 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858727},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135831,"byte_end":135833,"line_start":66,"line_end":66,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:295 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_max_value), local_id: 63 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742120},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135956,"byte_end":135962,"line_start":74,"line_end":74,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871208},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135976,"byte_end":135982,"line_start":74,"line_end":74,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":296},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135943,"byte_end":135955,"line_start":74,"line_end":74,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653480},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136026,"byte_end":136030,"line_start":75,"line_end":75,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:296 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266216},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136130,"byte_end":136134,"line_start":77,"line_end":77,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:296 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_min_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469762344},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136226,"byte_end":136231,"line_start":82,"line_end":82,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:296 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_min_value), local_id: 56 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858728},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136295,"byte_end":136297,"line_start":84,"line_end":84,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:296 ~ no_proto[2d88]::pointer::bytes::{impl#0}::np_min_value), local_id: 63 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":299},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136456,"byte_end":136464,"line_start":98,"line_end":98,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742124},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136553,"byte_end":136557,"line_start":99,"line_end":99,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":300},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136538,"byte_end":136551,"line_start":99,"line_end":99,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742125},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136646,"byte_end":136652,"line_start":101,"line_end":101,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871213},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136678,"byte_end":136685,"line_start":101,"line_end":101,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":301},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136631,"byte_end":136645,"line_start":101,"line_end":101,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306669},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136740,"byte_end":136751,"line_start":102,"line_end":102,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:301 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275068717},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136877,"byte_end":136881,"line_start":105,"line_end":105,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:301 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503316781},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137169,"byte_end":137182,"line_start":113,"line_end":113,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:301 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_json), local_id: 120 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534509},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137213,"byte_end":137218,"line_start":113,"line_end":113,"column_start":61,"column_end":66},"name":"value","qualname":"$HirId { owner: DefId(0:301 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_json), local_id: 116 }::value","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742127},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137477,"byte_end":137483,"line_start":124,"line_end":124,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871215},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137492,"byte_end":137499,"line_start":124,"line_end":124,"column_start":37,"column_end":44},"name":"address","qualname":"::default_value::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613039},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137508,"byte_end":137514,"line_start":124,"line_end":124,"column_start":53,"column_end":59},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":303},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137463,"byte_end":137476,"line_start":124,"line_end":124,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653487},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137570,"byte_end":137574,"line_start":125,"line_end":125,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:303 ~ no_proto[2d88]::pointer::bytes::{impl#1}::default_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742128},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137793,"byte_end":137799,"line_start":136,"line_end":136,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871216},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137812,"byte_end":137818,"line_start":136,"line_end":136,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613040},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137837,"byte_end":137842,"line_start":136,"line_end":136,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":304},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137777,"byte_end":137786,"line_start":136,"line_end":136,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742130},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137996,"byte_end":138002,"line_start":141,"line_end":141,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871218},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138028,"byte_end":138035,"line_start":141,"line_end":141,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":306},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137982,"byte_end":137995,"line_start":141,"line_end":141,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830770},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138085,"byte_end":138089,"line_start":142,"line_end":142,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140850994},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138171,"byte_end":138181,"line_start":144,"line_end":144,"column_start":17,"column_end":27},"name":"properties","qualname":"properties$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 34 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197810},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138271,"byte_end":138274,"line_start":147,"line_end":147,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215666},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138374,"byte_end":138375,"line_start":149,"line_end":149,"column_start":40,"column_end":41},"name":"b","qualname":"$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 81 }::b","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503316786},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138561,"byte_end":138564,"line_start":155,"line_end":155,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 120 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2499805490},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138805,"byte_end":138814,"line_start":163,"line_end":163,"column_start":21,"column_end":30},"name":"final_str","qualname":"final_str$HirId { owner: DefId(0:306 ~ no_proto[2d88]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 169 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742132},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139015,"byte_end":139021,"line_start":171,"line_end":171,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871220},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139046,"byte_end":139051,"line_start":171,"line_end":171,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613044},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139059,"byte_end":139062,"line_start":171,"line_end":171,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435764},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139076,"byte_end":139080,"line_start":171,"line_end":171,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":308},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138992,"byte_end":139010,"line_start":171,"line_end":171,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088948},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139174,"byte_end":139185,"line_start":172,"line_end":172,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288334644},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139278,"byte_end":139292,"line_start":175,"line_end":175,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205556},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139318,"byte_end":139322,"line_start":176,"line_end":176,"column_start":17,"column_end":21},"name":"size","qualname":"size$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 39 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422552372},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139348,"byte_end":139355,"line_start":178,"line_end":178,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 51 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780212},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139480,"byte_end":139490,"line_start":182,"line_end":182,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 67 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732020},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139523,"byte_end":139526,"line_start":183,"line_end":183,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 74 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215668},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139528,"byte_end":139533,"line_start":183,"line_end":183,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 75 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321889076},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139753,"byte_end":139757,"line_start":187,"line_end":187,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 99 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456106804},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139900,"byte_end":139901,"line_start":189,"line_end":189,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 115 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553648436},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140132,"byte_end":140134,"line_start":193,"line_end":193,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 132 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768240948},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140538,"byte_end":140544,"line_start":201,"line_end":201,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 165 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439329588},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140600,"byte_end":140612,"line_start":202,"line_end":202,"column_start":49,"column_end":61},"name":"default_vals","qualname":"default_vals$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 179 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1828716852},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140681,"byte_end":140684,"line_start":204,"line_end":204,"column_start":45,"column_end":48},"name":"val","qualname":"val$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 182 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124073780},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140818,"byte_end":140822,"line_start":206,"line_end":206,"column_start":66,"column_end":70},"name":"addr","qualname":"addr$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 194 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":184549684},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140981,"byte_end":140982,"line_start":208,"line_end":208,"column_start":60,"column_end":61},"name":"x","qualname":"x$HirId { owner: DefId(0:308 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 208 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742133},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142734,"byte_end":142740,"line_start":258,"line_end":258,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871221},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142749,"byte_end":142760,"line_start":258,"line_end":258,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613045},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142768,"byte_end":142774,"line_start":258,"line_end":258,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435765},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142787,"byte_end":142793,"line_start":258,"line_end":258,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177589},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142812,"byte_end":142817,"line_start":258,"line_end":258,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":309},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142714,"byte_end":142727,"line_start":258,"line_end":258,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959861},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142937,"byte_end":142942,"line_start":260,"line_end":260,"column_start":28,"column_end":33},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:309 ~ no_proto[2d88]::pointer::bytes::{impl#1}::set_from_json), local_id: 18 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109173},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142973,"byte_end":142979,"line_start":261,"line_end":261,"column_start":25,"column_end":31},"name":"target","qualname":"target$HirId { owner: DefId(0:309 ~ no_proto[2d88]::pointer::bytes::{impl#1}::set_from_json), local_id: 32 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205557},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143043,"byte_end":143047,"line_start":263,"line_end":263,"column_start":40,"column_end":44},"name":"json","qualname":"$HirId { owner: DefId(0:309 ~ no_proto[2d88]::pointer::bytes::{impl#1}::set_from_json), local_id: 92 }::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415541},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143125,"byte_end":143126,"line_start":265,"line_end":265,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:309 ~ no_proto[2d88]::pointer::bytes::{impl#1}::set_from_json), local_id: 44 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080375093},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143250,"byte_end":143251,"line_start":268,"line_end":268,"column_start":40,"column_end":41},"name":"x","qualname":"x$HirId { owner: DefId(0:309 ~ no_proto[2d88]::pointer::bytes::{impl#1}::set_from_json), local_id: 62 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742136},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143625,"byte_end":143631,"line_start":285,"line_end":285,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871224},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143645,"byte_end":143651,"line_start":285,"line_end":285,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":312},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143614,"byte_end":143624,"line_start":285,"line_end":285,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109176},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143804,"byte_end":143809,"line_start":287,"line_end":287,"column_start":18,"column_end":23},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:312 ~ no_proto[2d88]::pointer::bytes::{impl#1}::into_value), local_id: 32 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742137},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143901,"byte_end":143907,"line_start":292,"line_end":292,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871225},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143915,"byte_end":143921,"line_start":292,"line_end":292,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613049},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143935,"byte_end":143941,"line_start":292,"line_end":292,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":313},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143893,"byte_end":143900,"line_start":292,"line_end":292,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701689},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144041,"byte_end":144042,"line_start":296,"line_end":296,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314425},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144100,"byte_end":144101,"line_start":298,"line_end":298,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 23 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275068729},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144137,"byte_end":144142,"line_start":300,"line_end":300,"column_start":29,"column_end":34},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 50 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851001},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144159,"byte_end":144160,"line_start":300,"line_end":300,"column_start":51,"column_end":52},"name":"x","qualname":"$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 46 }::x","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167772473},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144331,"byte_end":144335,"line_start":306,"line_end":306,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 80 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778385209},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144502,"byte_end":144503,"line_start":309,"line_end":309,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 86 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3992977721},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144546,"byte_end":144551,"line_start":310,"line_end":310,"column_start":37,"column_end":42},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 119 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785018169},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144568,"byte_end":144569,"line_start":310,"line_end":310,"column_start":59,"column_end":60},"name":"v","qualname":"$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 115 }::v","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822083897},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144956,"byte_end":144958,"line_start":322,"line_end":322,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:313 ~ no_proto[2d88]::pointer::bytes::{impl#1}::to_json), local_id: 140 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742140},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145041,"byte_end":145047,"line_start":327,"line_end":327,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871228},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145055,"byte_end":145061,"line_start":327,"line_end":327,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613052},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145075,"byte_end":145081,"line_start":327,"line_end":327,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":316},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145032,"byte_end":145040,"line_start":327,"line_end":327,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959868},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145137,"byte_end":145144,"line_start":329,"line_end":329,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:316 ~ no_proto[2d88]::pointer::bytes::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/bytes.rs:329:23: 329:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008060},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145192,"byte_end":145202,"line_start":330,"line_end":330,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:316 ~ no_proto[2d88]::pointer::bytes::{impl#1}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33554748},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145352,"byte_end":145356,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:316 ~ no_proto[2d88]::pointer::bytes::{impl#1}::get_size), local_id: 64 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":234881340},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145583,"byte_end":145593,"line_start":345,"line_end":345,"column_start":13,"column_end":23},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:316 ~ no_proto[2d88]::pointer::bytes::{impl#1}::get_size), local_id: 112 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742143},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145823,"byte_end":145829,"line_start":352,"line_end":352,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871231},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145854,"byte_end":145865,"line_start":352,"line_end":352,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":319},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145799,"byte_end":145818,"line_start":352,"line_end":352,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435775},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145962,"byte_end":145976,"line_start":355,"line_end":355,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 8 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088959},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146002,"byte_end":146013,"line_start":356,"line_end":356,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1929380159},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146102,"byte_end":146106,"line_start":359,"line_end":359,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 206 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205567},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146166,"byte_end":146167,"line_start":360,"line_end":360,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 39 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456106815},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146648,"byte_end":146649,"line_start":371,"line_end":371,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 115 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3162505535},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147246,"byte_end":147253,"line_start":389,"line_end":389,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 317 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3942646079},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147315,"byte_end":147320,"line_start":390,"line_end":390,"column_start":28,"column_end":33},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 215 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3229614399},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147348,"byte_end":147361,"line_start":392,"line_end":392,"column_start":21,"column_end":34},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 259 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1728053567},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147391,"byte_end":147392,"line_start":392,"line_end":392,"column_start":64,"column_end":65},"name":"v","qualname":"$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 255 }::v","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3607101759},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147467,"byte_end":147468,"line_start":394,"line_end":394,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 235 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4034920767},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147595,"byte_end":147601,"line_start":398,"line_end":398,"column_start":21,"column_end":27},"name":"length","qualname":"length$HirId { owner: DefId(0:319 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 271 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742145},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148429,"byte_end":148435,"line_start":424,"line_end":424,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871233},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148460,"byte_end":148467,"line_start":424,"line_end":424,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613057},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148476,"byte_end":148481,"line_start":424,"line_end":424,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":321},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148404,"byte_end":148424,"line_start":424,"line_end":424,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770113},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148559,"byte_end":148569,"line_start":426,"line_end":426,"column_start":13,"column_end":23},"name":"fixed_size","qualname":"fixed_size$HirId { owner: DefId(0:321 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 43 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909313},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148775,"byte_end":148787,"line_start":434,"line_end":434,"column_start":13,"column_end":25},"name":"default_size","qualname":"default_size$HirId { owner: DefId(0:321 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 69 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694499137},"span":{"file_name":"src/pointer/bytes.rs","byte_start":149408,"byte_end":149421,"line_start":451,"line_end":451,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:321 ~ no_proto[2d88]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 166 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742148},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150086,"byte_end":150093,"line_start":471,"line_end":471,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ [u8] as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":324},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150071,"byte_end":150085,"line_start":471,"line_end":471,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ [u8] as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742149},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150190,"byte_end":150197,"line_start":475,"line_end":475,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871237},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150211,"byte_end":150218,"line_start":475,"line_end":475,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":325},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150177,"byte_end":150189,"line_start":475,"line_end":475,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742150},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150290,"byte_end":150297,"line_start":479,"line_end":479,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871238},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150311,"byte_end":150318,"line_start":479,"line_end":479,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":326},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150277,"byte_end":150289,"line_start":479,"line_end":479,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":329},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150442,"byte_end":150450,"line_start":488,"line_end":488,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742154},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150530,"byte_end":150534,"line_start":489,"line_end":489,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":330},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150515,"byte_end":150528,"line_start":489,"line_end":489,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742155},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150614,"byte_end":150620,"line_start":491,"line_end":491,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871243},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150646,"byte_end":150653,"line_start":491,"line_end":491,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":331},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150599,"byte_end":150613,"line_start":491,"line_end":491,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742156},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150776,"byte_end":150782,"line_start":495,"line_end":495,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871244},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150791,"byte_end":150802,"line_start":495,"line_end":495,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613068},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150810,"byte_end":150817,"line_start":495,"line_end":495,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435788},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150830,"byte_end":150837,"line_start":495,"line_end":495,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177612},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150856,"byte_end":150862,"line_start":495,"line_end":495,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":332},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150756,"byte_end":150769,"line_start":495,"line_end":495,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742158},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150973,"byte_end":150979,"line_start":499,"line_end":499,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871246},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150988,"byte_end":150992,"line_start":499,"line_end":499,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613070},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151001,"byte_end":151007,"line_start":499,"line_end":499,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":334},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150959,"byte_end":150972,"line_start":499,"line_end":499,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &'value Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653518},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151070,"byte_end":151074,"line_start":500,"line_end":500,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:334 ~ no_proto[2d88]::pointer::bytes::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742159},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151314,"byte_end":151321,"line_start":511,"line_end":511,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871247},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151347,"byte_end":151355,"line_start":511,"line_end":511,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":335},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151300,"byte_end":151313,"line_start":511,"line_end":511,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742160},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151490,"byte_end":151496,"line_start":516,"line_end":516,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871248},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151521,"byte_end":151526,"line_start":516,"line_end":516,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613072},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151534,"byte_end":151538,"line_start":516,"line_end":516,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435792},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151552,"byte_end":151557,"line_start":516,"line_end":516,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":336},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151471,"byte_end":151489,"line_start":516,"line_end":516,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742161},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151735,"byte_end":151741,"line_start":521,"line_end":521,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871249},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151754,"byte_end":151760,"line_start":521,"line_end":521,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613073},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151779,"byte_end":151784,"line_start":521,"line_end":521,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":337},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151719,"byte_end":151728,"line_start":521,"line_end":521,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959889},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151863,"byte_end":151870,"line_start":523,"line_end":523,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/bytes.rs:523:23: 523:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314449},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151923,"byte_end":151928,"line_start":525,"line_end":525,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 23 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592849},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151955,"byte_end":151963,"line_start":527,"line_end":527,"column_start":13,"column_end":21},"name":"str_size","qualname":"str_size$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335544657},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152009,"byte_end":152020,"line_start":529,"line_end":529,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 40 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006633297},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152058,"byte_end":152062,"line_start":531,"line_end":531,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 60 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107296593},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152166,"byte_end":152170,"line_start":533,"line_end":533,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 66 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100663633},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152362,"byte_end":152373,"line_start":541,"line_end":541,"column_start":25,"column_end":36},"name":"empty_bytes","qualname":"empty_bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 96 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858760017},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152440,"byte_end":152442,"line_start":542,"line_end":542,"column_start":21,"column_end":23},"name":"_x","qualname":"_x$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 103 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886417},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152540,"byte_end":152548,"line_start":546,"line_end":546,"column_start":21,"column_end":29},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 160 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170894161},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152698,"byte_end":152702,"line_start":550,"line_end":550,"column_start":17,"column_end":21},"name":"addr","qualname":"addr$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 189 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076863825},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152812,"byte_end":152813,"line_start":554,"line_end":554,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 207 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723281},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153208,"byte_end":153218,"line_start":568,"line_end":568,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 291 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":444596561},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153275,"byte_end":153284,"line_start":570,"line_end":570,"column_start":13,"column_end":22},"name":"prev_size","qualname":"prev_size$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 344 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685201},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153331,"byte_end":153341,"line_start":571,"line_end":571,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 322 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2709520721},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153831,"byte_end":153841,"line_start":584,"line_end":584,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 389 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1904214353},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153924,"byte_end":153925,"line_start":586,"line_end":586,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 398 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":494928209},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154049,"byte_end":154055,"line_start":590,"line_end":590,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 440 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2206204241},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154107,"byte_end":154108,"line_start":593,"line_end":593,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 449 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1816133969},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154405,"byte_end":154413,"line_start":602,"line_end":602,"column_start":17,"column_end":25},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 566 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3628073297},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154579,"byte_end":154589,"line_start":606,"line_end":606,"column_start":21,"column_end":31},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:337 ~ no_proto[2d88]::pointer::bytes::{impl#3}::set_value), local_id: 539 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742166},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154893,"byte_end":154899,"line_start":619,"line_end":619,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871254},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154913,"byte_end":154919,"line_start":619,"line_end":619,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":342},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154882,"byte_end":154892,"line_start":619,"line_end":619,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218070},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155007,"byte_end":155014,"line_start":621,"line_end":621,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/bytes.rs:621:23: 621:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623878998},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155063,"byte_end":155073,"line_start":623,"line_end":623,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858774},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155217,"byte_end":155221,"line_start":629,"line_end":629,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973078870},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155404,"byte_end":155409,"line_start":635,"line_end":635,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238003030},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155617,"byte_end":155627,"line_start":642,"line_end":642,"column_start":17,"column_end":27},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 131 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493172566},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155760,"byte_end":155765,"line_start":645,"line_end":645,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:342 ~ no_proto[2d88]::pointer::bytes::{impl#3}::into_value), local_id: 154 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742169},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155918,"byte_end":155923,"line_start":652,"line_end":652,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871257},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155931,"byte_end":155937,"line_start":652,"line_end":652,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613081},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155951,"byte_end":155957,"line_start":652,"line_end":652,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":345},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155910,"byte_end":155917,"line_start":652,"line_end":652,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742170},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156063,"byte_end":156068,"line_start":656,"line_end":656,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871258},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156076,"byte_end":156082,"line_start":656,"line_end":656,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613082},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156096,"byte_end":156102,"line_start":656,"line_end":656,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":346},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156054,"byte_end":156062,"line_start":656,"line_end":656,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742171},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156229,"byte_end":156235,"line_start":660,"line_end":660,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871259},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156260,"byte_end":156271,"line_start":660,"line_end":660,"column_start":59,"column_end":70},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":347},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156209,"byte_end":156228,"line_start":660,"line_end":660,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742172},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156444,"byte_end":156450,"line_start":664,"line_end":664,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871260},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156475,"byte_end":156482,"line_start":664,"line_end":664,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613084},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156491,"byte_end":156496,"line_start":664,"line_end":664,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":348},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156423,"byte_end":156443,"line_start":664,"line_end":664,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":349},"span":{"file_name":"src/pointer/numbers.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"numbers","qualname":"::pointer::numbers","value":"src/pointer/numbers.rs","parent":null,"children":[{"krate":0,"index":350},{"krate":0,"index":353},{"krate":0,"index":354},{"krate":0,"index":357},{"krate":0,"index":360},{"krate":0,"index":363},{"krate":0,"index":366},{"krate":0,"index":369},{"krate":0,"index":372},{"krate":0,"index":375},{"krate":0,"index":378},{"krate":0,"index":381},{"krate":0,"index":384},{"krate":0,"index":387},{"krate":0,"index":390},{"krate":0,"index":391},{"krate":0,"index":394},{"krate":0,"index":397},{"krate":0,"index":400},{"krate":0,"index":403},{"krate":0,"index":406},{"krate":0,"index":409},{"krate":0,"index":412},{"krate":0,"index":415},{"krate":0,"index":418},{"krate":0,"index":419},{"krate":0,"index":422},{"krate":0,"index":425},{"krate":0,"index":428},{"krate":0,"index":431},{"krate":0,"index":434},{"krate":0,"index":435},{"krate":0,"index":438},{"krate":0,"index":439},{"krate":0,"index":442},{"krate":0,"index":2860},{"krate":0,"index":2867},{"krate":0,"index":445},{"krate":0,"index":2869},{"krate":0,"index":2874},{"krate":0,"index":2895},{"krate":0,"index":2900},{"krate":0,"index":2921},{"krate":0,"index":2926},{"krate":0,"index":2947},{"krate":0,"index":2952},{"krate":0,"index":2973},{"krate":0,"index":2978},{"krate":0,"index":2999},{"krate":0,"index":3004},{"krate":0,"index":3025},{"krate":0,"index":3030},{"krate":0,"index":3051},{"krate":0,"index":3056},{"krate":0,"index":3077},{"krate":0,"index":3082},{"krate":0,"index":3103},{"krate":0,"index":3108},{"krate":0,"index":446},{"krate":0,"index":453},{"krate":0,"index":460},{"krate":0,"index":467},{"krate":0,"index":474},{"krate":0,"index":481},{"krate":0,"index":488},{"krate":0,"index":495},{"krate":0,"index":502},{"krate":0,"index":509},{"krate":0,"index":516}],"decl_id":null,"docs":" NoProto supports a large number of native number types.\n \n Signed Integers:
\n [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
\n
\n Unsigned Integers:
\n [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
\n
\n Floating Point:
\n [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html)\n
\n \n The details of using each number type is identical to the pattern below.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(\"u32()\")?;","sig":null,"attributes":[{"value":"/ NoProto supports a large number of native number types.","span":{"file_name":"src/pointer/numbers.rs","byte_start":159875,"byte_end":159934,"line_start":1,"line_end":1,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":159935,"byte_end":159939,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Signed Integers:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":159940,"byte_end":159966,"line_start":3,"line_end":3,"column_start":1,"column_end":27}},{"value":"/ [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
","span":{"file_name":"src/pointer/numbers.rs","byte_start":159967,"byte_end":160209,"line_start":4,"line_end":4,"column_start":1,"column_end":243}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160210,"byte_end":160219,"line_start":5,"line_end":5,"column_start":1,"column_end":10}},{"value":"/ Unsigned Integers:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160220,"byte_end":160248,"line_start":6,"line_end":6,"column_start":1,"column_end":29}},{"value":"/ [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160249,"byte_end":160491,"line_start":7,"line_end":7,"column_start":1,"column_end":243}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160492,"byte_end":160501,"line_start":8,"line_end":8,"column_start":1,"column_end":10}},{"value":"/ Floating Point:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160502,"byte_end":160527,"line_start":9,"line_end":9,"column_start":1,"column_end":26}},{"value":"/ [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html)","span":{"file_name":"src/pointer/numbers.rs","byte_start":160528,"byte_end":160648,"line_start":10,"line_end":10,"column_start":1,"column_end":121}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160649,"byte_end":160658,"line_start":11,"line_end":11,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160659,"byte_end":160663,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The details of using each number type is identical to the pattern below.","span":{"file_name":"src/pointer/numbers.rs","byte_start":160664,"byte_end":160740,"line_start":13,"line_end":13,"column_start":1,"column_end":77}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160741,"byte_end":160745,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/numbers.rs","byte_start":160746,"byte_end":160753,"line_start":15,"line_end":15,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160754,"byte_end":160788,"line_start":16,"line_end":16,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160789,"byte_end":160818,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160819,"byte_end":160823,"line_start":18,"line_end":18,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"u32()\")?;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160824,"byte_end":160880,"line_start":19,"line_end":19,"column_start":1,"column_end":57}},{"value":"/","span":{"file_name":"src/pointer/numbers.rs","byte_start":160881,"byte_end":160884,"line_start":20,"line_end":20,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/numbers.rs","byte_start":160885,"byte_end":160935,"line_start":21,"line_end":21,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 20380u32)?;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160936,"byte_end":160971,"line_start":22,"line_end":22,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160972,"byte_end":160976,"line_start":23,"line_end":23,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/numbers.rs","byte_start":160977,"byte_end":161040,"line_start":24,"line_end":24,"column_start":1,"column_end":64}},{"value":"/","span":{"file_name":"src/pointer/numbers.rs","byte_start":161041,"byte_end":161044,"line_start":25,"line_end":25,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161045,"byte_end":161074,"line_start":26,"line_end":26,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/numbers.rs","byte_start":161075,"byte_end":161082,"line_start":27,"line_end":27,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161083,"byte_end":161087,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161088,"byte_end":161092,"line_start":29,"line_end":29,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2861},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161931,"byte_end":161939,"line_start":57,"line_end":57,"column_start":5,"column_end":13},"name":"unsigned","qualname":"::pointer::numbers::NP_NumType::unsigned","value":"NP_NumType::unsigned","parent":{"krate":0,"index":2860},"children":[],"decl_id":null,"docs":" Unsigned integer type (only positive whole numbers)\n","sig":null,"attributes":[{"value":"/ Unsigned integer type (only positive whole numbers)","span":{"file_name":"src/pointer/numbers.rs","byte_start":161871,"byte_end":161926,"line_start":56,"line_end":56,"column_start":5,"column_end":60}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2863},"span":{"file_name":"src/pointer/numbers.rs","byte_start":162010,"byte_end":162016,"line_start":59,"line_end":59,"column_start":5,"column_end":11},"name":"signed","qualname":"::pointer::numbers::NP_NumType::signed","value":"NP_NumType::signed","parent":{"krate":0,"index":2860},"children":[],"decl_id":null,"docs":" Signed integer type (positive or negative whole numbers)\n","sig":null,"attributes":[{"value":"/ Signed integer type (positive or negative whole numbers)","span":{"file_name":"src/pointer/numbers.rs","byte_start":161945,"byte_end":162005,"line_start":58,"line_end":58,"column_start":5,"column_end":65}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2865},"span":{"file_name":"src/pointer/numbers.rs","byte_start":162052,"byte_end":162060,"line_start":61,"line_end":61,"column_start":5,"column_end":13},"name":"floating","qualname":"::pointer::numbers::NP_NumType::floating","value":"NP_NumType::floating","parent":{"krate":0,"index":2860},"children":[],"decl_id":null,"docs":" Decimal point numbers\n","sig":null,"attributes":[{"value":"/ Decimal point numbers","span":{"file_name":"src/pointer/numbers.rs","byte_start":162022,"byte_end":162047,"line_start":60,"line_end":60,"column_start":5,"column_end":30}}]},{"kind":"Enum","id":{"krate":0,"index":2860},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161854,"byte_end":161864,"line_start":55,"line_end":55,"column_start":10,"column_end":20},"name":"NP_NumType","qualname":"::pointer::numbers::NP_NumType","value":"pub enum NP_NumType { unsigned, signed, floating, }","parent":null,"children":[{"krate":0,"index":2861},{"krate":0,"index":2863},{"krate":0,"index":2865}],"decl_id":null,"docs":" The type of number being used\n","sig":null,"attributes":[{"value":"/ The type of number being used","span":{"file_name":"src/pointer/numbers.rs","byte_start":161779,"byte_end":161812,"line_start":52,"line_end":52,"column_start":1,"column_end":34}}]},{"kind":"Trait","id":{"krate":0,"index":446},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181509,"byte_end":181521,"line_start":479,"line_end":479,"column_start":7,"column_end":19},"name":"NP_BigEndian","qualname":"::pointer::numbers::NP_BigEndian","value":"NP_BigEndian","parent":null,"children":[{"krate":0,"index":447},{"krate":0,"index":448},{"krate":0,"index":450},{"krate":0,"index":452}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":447},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181531,"byte_end":181555,"line_start":480,"line_end":480,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::pointer::numbers::NP_BigEndian::np_get_default_from_json","value":"pub fn np_get_default_from_json(&NP_JSON) -> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":448},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181614,"byte_end":181639,"line_start":481,"line_end":481,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::pointer::numbers::NP_BigEndian::np_get_default_from_bytes","value":"pub fn np_get_default_from_bytes<'default>(usize, &'default [u8])\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":450},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181731,"byte_end":181745,"line_start":482,"line_end":482,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::pointer::numbers::NP_BigEndian::np_get_default","value":"pub fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742276},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181874,"byte_end":181879,"line_start":483,"line_end":483,"column_start":26,"column_end":31},"name":"value","qualname":"::pointer::numbers::NP_BigEndian::np_unwrap_default::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":452},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181856,"byte_end":181873,"line_start":483,"line_end":483,"column_start":8,"column_end":25},"name":"np_unwrap_default","qualname":"::pointer::numbers::NP_BigEndian::np_unwrap_default","value":"pub fn np_unwrap_default(Option) -> Option where Self: Sized +\nFromStr","parent":{"krate":0,"index":446},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742278},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182216,"byte_end":182227,"line_start":498,"line_end":498,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871366},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182236,"byte_end":182239,"line_start":498,"line_end":498,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":454},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182191,"byte_end":182205,"line_start":498,"line_end":498,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830918},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182323,"byte_end":182327,"line_start":500,"line_end":500,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:454 ~ no_proto[2d88]::pointer::numbers::{impl#0}::np_get_default), local_id: 22 }","value":"&schema::NP_i8_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742280},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182450,"byte_end":182454,"line_start":504,"line_end":504,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":456},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182425,"byte_end":182449,"line_start":504,"line_end":504,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096840},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182532,"byte_end":182533,"line_start":506,"line_end":506,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:456 ~ no_proto[2d88]::pointer::numbers::{impl#0}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314568},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182617,"byte_end":182618,"line_start":509,"line_end":509,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:456 ~ no_proto[2d88]::pointer::numbers::{impl#0}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742281},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182786,"byte_end":182793,"line_start":517,"line_end":517,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871369},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182802,"byte_end":182807,"line_start":517,"line_end":517,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":457},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182750,"byte_end":182775,"line_start":517,"line_end":517,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266377},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182934,"byte_end":182939,"line_start":521,"line_end":521,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:457 ~ no_proto[2d88]::pointer::numbers::{impl#0}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742285},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185395,"byte_end":185406,"line_start":591,"line_end":591,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871373},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185415,"byte_end":185418,"line_start":591,"line_end":591,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":461},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185370,"byte_end":185384,"line_start":591,"line_end":591,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830925},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185501,"byte_end":185505,"line_start":592,"line_end":592,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:461 ~ no_proto[2d88]::pointer::numbers::{impl#1}::np_get_default), local_id: 22 }","value":"&schema::NP_i16_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742287},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185628,"byte_end":185632,"line_start":595,"line_end":595,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":463},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185603,"byte_end":185627,"line_start":595,"line_end":595,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096847},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185710,"byte_end":185711,"line_start":597,"line_end":597,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:463 ~ no_proto[2d88]::pointer::numbers::{impl#1}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314575},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185795,"byte_end":185796,"line_start":600,"line_end":600,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:463 ~ no_proto[2d88]::pointer::numbers::{impl#1}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742288},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185964,"byte_end":185971,"line_start":608,"line_end":608,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871376},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185980,"byte_end":185985,"line_start":608,"line_end":608,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":464},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185928,"byte_end":185953,"line_start":608,"line_end":608,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266384},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186112,"byte_end":186117,"line_start":612,"line_end":612,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:464 ~ no_proto[2d88]::pointer::numbers::{impl#1}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742292},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187977,"byte_end":187988,"line_start":666,"line_end":666,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871380},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187997,"byte_end":188000,"line_start":666,"line_end":666,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":468},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187952,"byte_end":187966,"line_start":666,"line_end":666,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830932},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188083,"byte_end":188087,"line_start":667,"line_end":667,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:468 ~ no_proto[2d88]::pointer::numbers::{impl#2}::np_get_default), local_id: 22 }","value":"&schema::NP_i32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742294},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188210,"byte_end":188214,"line_start":670,"line_end":670,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":470},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188185,"byte_end":188209,"line_start":670,"line_end":670,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096854},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188292,"byte_end":188293,"line_start":672,"line_end":672,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:470 ~ no_proto[2d88]::pointer::numbers::{impl#2}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314582},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188377,"byte_end":188378,"line_start":675,"line_end":675,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:470 ~ no_proto[2d88]::pointer::numbers::{impl#2}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742295},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188546,"byte_end":188553,"line_start":683,"line_end":683,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871383},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188562,"byte_end":188567,"line_start":683,"line_end":683,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":471},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188510,"byte_end":188535,"line_start":683,"line_end":683,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266391},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188694,"byte_end":188699,"line_start":687,"line_end":687,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:471 ~ no_proto[2d88]::pointer::numbers::{impl#2}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742299},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190410,"byte_end":190421,"line_start":739,"line_end":739,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871387},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190430,"byte_end":190433,"line_start":739,"line_end":739,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":475},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190385,"byte_end":190399,"line_start":739,"line_end":739,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830939},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190516,"byte_end":190520,"line_start":740,"line_end":740,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:475 ~ no_proto[2d88]::pointer::numbers::{impl#3}::np_get_default), local_id: 22 }","value":"&schema::NP_i64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742301},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190643,"byte_end":190647,"line_start":743,"line_end":743,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":477},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190618,"byte_end":190642,"line_start":743,"line_end":743,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096861},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190725,"byte_end":190726,"line_start":745,"line_end":745,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:477 ~ no_proto[2d88]::pointer::numbers::{impl#3}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314589},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190810,"byte_end":190811,"line_start":748,"line_end":748,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:477 ~ no_proto[2d88]::pointer::numbers::{impl#3}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742302},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190979,"byte_end":190986,"line_start":756,"line_end":756,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871390},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190995,"byte_end":191000,"line_start":756,"line_end":756,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":478},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190943,"byte_end":190968,"line_start":756,"line_end":756,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266398},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191127,"byte_end":191132,"line_start":760,"line_end":760,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:478 ~ no_proto[2d88]::pointer::numbers::{impl#3}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742306},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192992,"byte_end":193003,"line_start":814,"line_end":814,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871394},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193012,"byte_end":193015,"line_start":814,"line_end":814,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":482},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192967,"byte_end":192981,"line_start":814,"line_end":814,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830946},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193098,"byte_end":193102,"line_start":815,"line_end":815,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:482 ~ no_proto[2d88]::pointer::numbers::{impl#4}::np_get_default), local_id: 22 }","value":"&schema::NP_u8_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742308},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193224,"byte_end":193228,"line_start":818,"line_end":818,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":484},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193199,"byte_end":193223,"line_start":818,"line_end":818,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096868},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193306,"byte_end":193307,"line_start":820,"line_end":820,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:484 ~ no_proto[2d88]::pointer::numbers::{impl#4}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314596},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193391,"byte_end":193392,"line_start":823,"line_end":823,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:484 ~ no_proto[2d88]::pointer::numbers::{impl#4}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742309},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193560,"byte_end":193567,"line_start":831,"line_end":831,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871397},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193576,"byte_end":193581,"line_start":831,"line_end":831,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":485},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193524,"byte_end":193549,"line_start":831,"line_end":831,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266405},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193708,"byte_end":193713,"line_start":835,"line_end":835,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:485 ~ no_proto[2d88]::pointer::numbers::{impl#4}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742313},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195418,"byte_end":195429,"line_start":887,"line_end":887,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871401},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195438,"byte_end":195441,"line_start":887,"line_end":887,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":489},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195393,"byte_end":195407,"line_start":887,"line_end":887,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830953},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195524,"byte_end":195528,"line_start":888,"line_end":888,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:489 ~ no_proto[2d88]::pointer::numbers::{impl#5}::np_get_default), local_id: 22 }","value":"&schema::NP_u16_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742315},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195651,"byte_end":195655,"line_start":891,"line_end":891,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":491},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195626,"byte_end":195650,"line_start":891,"line_end":891,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096875},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195733,"byte_end":195734,"line_start":893,"line_end":893,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:491 ~ no_proto[2d88]::pointer::numbers::{impl#5}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314603},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195818,"byte_end":195819,"line_start":896,"line_end":896,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:491 ~ no_proto[2d88]::pointer::numbers::{impl#5}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742316},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195987,"byte_end":195994,"line_start":904,"line_end":904,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871404},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196003,"byte_end":196008,"line_start":904,"line_end":904,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":492},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195951,"byte_end":195976,"line_start":904,"line_end":904,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266412},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196135,"byte_end":196140,"line_start":908,"line_end":908,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:492 ~ no_proto[2d88]::pointer::numbers::{impl#5}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742320},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197853,"byte_end":197864,"line_start":960,"line_end":960,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871408},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197873,"byte_end":197876,"line_start":960,"line_end":960,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":496},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197828,"byte_end":197842,"line_start":960,"line_end":960,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830960},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197959,"byte_end":197963,"line_start":961,"line_end":961,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:496 ~ no_proto[2d88]::pointer::numbers::{impl#6}::np_get_default), local_id: 22 }","value":"&schema::NP_u32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742322},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198086,"byte_end":198090,"line_start":964,"line_end":964,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":498},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198061,"byte_end":198085,"line_start":964,"line_end":964,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096882},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198168,"byte_end":198169,"line_start":966,"line_end":966,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:498 ~ no_proto[2d88]::pointer::numbers::{impl#6}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314610},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198253,"byte_end":198254,"line_start":969,"line_end":969,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:498 ~ no_proto[2d88]::pointer::numbers::{impl#6}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742323},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198422,"byte_end":198429,"line_start":977,"line_end":977,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871411},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198438,"byte_end":198443,"line_start":977,"line_end":977,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":499},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198386,"byte_end":198411,"line_start":977,"line_end":977,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266419},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198570,"byte_end":198575,"line_start":981,"line_end":981,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:499 ~ no_proto[2d88]::pointer::numbers::{impl#6}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742327},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200288,"byte_end":200299,"line_start":1033,"line_end":1033,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871415},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200308,"byte_end":200311,"line_start":1033,"line_end":1033,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":503},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200263,"byte_end":200277,"line_start":1033,"line_end":1033,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830967},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200394,"byte_end":200398,"line_start":1034,"line_end":1034,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:503 ~ no_proto[2d88]::pointer::numbers::{impl#7}::np_get_default), local_id: 22 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742329},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200521,"byte_end":200525,"line_start":1037,"line_end":1037,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":505},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200496,"byte_end":200520,"line_start":1037,"line_end":1037,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096889},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200603,"byte_end":200604,"line_start":1039,"line_end":1039,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:505 ~ no_proto[2d88]::pointer::numbers::{impl#7}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314617},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200688,"byte_end":200689,"line_start":1042,"line_end":1042,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:505 ~ no_proto[2d88]::pointer::numbers::{impl#7}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742330},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200857,"byte_end":200864,"line_start":1050,"line_end":1050,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871418},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200873,"byte_end":200878,"line_start":1050,"line_end":1050,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":506},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200821,"byte_end":200846,"line_start":1050,"line_end":1050,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266426},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201005,"byte_end":201010,"line_start":1054,"line_end":1054,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:506 ~ no_proto[2d88]::pointer::numbers::{impl#7}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742334},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202723,"byte_end":202734,"line_start":1105,"line_end":1105,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871422},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202743,"byte_end":202746,"line_start":1105,"line_end":1105,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":510},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202698,"byte_end":202712,"line_start":1105,"line_end":1105,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830974},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202829,"byte_end":202833,"line_start":1106,"line_end":1106,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:510 ~ no_proto[2d88]::pointer::numbers::{impl#8}::np_get_default), local_id: 22 }","value":"&schema::NP_f32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742336},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202956,"byte_end":202960,"line_start":1109,"line_end":1109,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":512},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202931,"byte_end":202955,"line_start":1109,"line_end":1109,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096896},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203038,"byte_end":203039,"line_start":1111,"line_end":1111,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:512 ~ no_proto[2d88]::pointer::numbers::{impl#8}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314624},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203123,"byte_end":203124,"line_start":1114,"line_end":1114,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:512 ~ no_proto[2d88]::pointer::numbers::{impl#8}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742337},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203292,"byte_end":203299,"line_start":1122,"line_end":1122,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871425},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203308,"byte_end":203313,"line_start":1122,"line_end":1122,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":513},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203256,"byte_end":203281,"line_start":1122,"line_end":1122,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266433},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203440,"byte_end":203445,"line_start":1126,"line_end":1126,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:513 ~ no_proto[2d88]::pointer::numbers::{impl#8}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742341},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205206,"byte_end":205217,"line_start":1178,"line_end":1178,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871429},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205226,"byte_end":205229,"line_start":1178,"line_end":1178,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":517},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205181,"byte_end":205195,"line_start":1178,"line_end":1178,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":450},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830981},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205312,"byte_end":205316,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:517 ~ no_proto[2d88]::pointer::numbers::{impl#9}::np_get_default), local_id: 22 }","value":"&schema::NP_f64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742343},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205439,"byte_end":205443,"line_start":1182,"line_end":1182,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":519},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205414,"byte_end":205438,"line_start":1182,"line_end":1182,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":447},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096903},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205521,"byte_end":205522,"line_start":1184,"line_end":1184,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:519 ~ no_proto[2d88]::pointer::numbers::{impl#9}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314631},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205606,"byte_end":205607,"line_start":1187,"line_end":1187,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:519 ~ no_proto[2d88]::pointer::numbers::{impl#9}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742344},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205775,"byte_end":205782,"line_start":1195,"line_end":1195,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871432},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205791,"byte_end":205796,"line_start":1195,"line_end":1195,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":520},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205739,"byte_end":205764,"line_start":1195,"line_end":1195,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":446},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266440},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205923,"byte_end":205928,"line_start":1199,"line_end":1199,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:520 ~ no_proto[2d88]::pointer::numbers::{impl#9}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":523},"span":{"file_name":"src/pointer/bool.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"bool","qualname":"::pointer::bool","value":"src/pointer/bool.rs","parent":null,"children":[{"krate":0,"index":524},{"krate":0,"index":527},{"krate":0,"index":530},{"krate":0,"index":531},{"krate":0,"index":532},{"krate":0,"index":535},{"krate":0,"index":538},{"krate":0,"index":541},{"krate":0,"index":542},{"krate":0,"index":545},{"krate":0,"index":548},{"krate":0,"index":551},{"krate":0,"index":554},{"krate":0,"index":555},{"krate":0,"index":556},{"krate":0,"index":559},{"krate":0,"index":562},{"krate":0,"index":565},{"krate":0,"index":568},{"krate":0,"index":571},{"krate":0,"index":572},{"krate":0,"index":575},{"krate":0,"index":578},{"krate":0,"index":581},{"krate":0,"index":584},{"krate":0,"index":589}],"decl_id":null,"docs":" NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::bytes::NP_Bytes;\n \n let factory: NP_Factory = NP_Factory::new(\"bool()\")?;","sig":null,"attributes":[{"value":"/ NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type.","span":{"file_name":"src/pointer/bool.rs","byte_start":207631,"byte_end":207731,"line_start":1,"line_end":1,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":207732,"byte_end":207736,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/bool.rs","byte_start":207737,"byte_end":207744,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/bool.rs","byte_start":207745,"byte_end":207779,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/bool.rs","byte_start":207780,"byte_end":207809,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::bytes::NP_Bytes;","span":{"file_name":"src/pointer/bool.rs","byte_start":207810,"byte_end":207853,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":207854,"byte_end":207858,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"bool()\")?;","span":{"file_name":"src/pointer/bool.rs","byte_start":207859,"byte_end":207916,"line_start":8,"line_end":8,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/bool.rs","byte_start":207917,"byte_end":207920,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/bool.rs","byte_start":207921,"byte_end":207971,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], true)?;","span":{"file_name":"src/pointer/bool.rs","byte_start":207972,"byte_end":208003,"line_start":11,"line_end":11,"column_start":1,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":208004,"byte_end":208008,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(true, new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/bool.rs","byte_start":208009,"byte_end":208069,"line_start":13,"line_end":13,"column_start":1,"column_end":61}},{"value":"/","span":{"file_name":"src/pointer/bool.rs","byte_start":208070,"byte_end":208073,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/bool.rs","byte_start":208074,"byte_end":208103,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/bool.rs","byte_start":208104,"byte_end":208111,"line_start":16,"line_end":16,"column_start":1,"column_end":8}}]},{"kind":"Local","id":{"krate":0,"index":1073742410},"span":{"file_name":"src/pointer/bool.rs","byte_start":208601,"byte_end":208608,"line_start":34,"line_end":34,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":586},"span":{"file_name":"src/pointer/bool.rs","byte_start":208586,"byte_end":208600,"line_start":34,"line_end":34,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742411},"span":{"file_name":"src/pointer/bool.rs","byte_start":208721,"byte_end":208728,"line_start":37,"line_end":37,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871499},"span":{"file_name":"src/pointer/bool.rs","byte_start":208742,"byte_end":208749,"line_start":37,"line_end":37,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":587},"span":{"file_name":"src/pointer/bool.rs","byte_start":208708,"byte_end":208720,"line_start":37,"line_end":37,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742412},"span":{"file_name":"src/pointer/bool.rs","byte_start":208827,"byte_end":208834,"line_start":41,"line_end":41,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871500},"span":{"file_name":"src/pointer/bool.rs","byte_start":208848,"byte_end":208855,"line_start":41,"line_end":41,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":588},"span":{"file_name":"src/pointer/bool.rs","byte_start":208814,"byte_end":208826,"line_start":41,"line_end":41,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":591},"span":{"file_name":"src/pointer/bool.rs","byte_start":208965,"byte_end":208973,"line_start":48,"line_end":48,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742416},"span":{"file_name":"src/pointer/bool.rs","byte_start":209063,"byte_end":209067,"line_start":49,"line_end":49,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":592},"span":{"file_name":"src/pointer/bool.rs","byte_start":209048,"byte_end":209061,"line_start":49,"line_end":49,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742417},"span":{"file_name":"src/pointer/bool.rs","byte_start":209157,"byte_end":209163,"line_start":51,"line_end":51,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871505},"span":{"file_name":"src/pointer/bool.rs","byte_start":209189,"byte_end":209196,"line_start":51,"line_end":51,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":593},"span":{"file_name":"src/pointer/bool.rs","byte_start":209142,"byte_end":209156,"line_start":51,"line_end":51,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306961},"span":{"file_name":"src/pointer/bool.rs","byte_start":209251,"byte_end":209262,"line_start":52,"line_end":52,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:593 ~ no_proto[2d88]::pointer::bool::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069009},"span":{"file_name":"src/pointer/bool.rs","byte_start":209388,"byte_end":209392,"line_start":55,"line_end":55,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:593 ~ no_proto[2d88]::pointer::bool::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742418},"span":{"file_name":"src/pointer/bool.rs","byte_start":209749,"byte_end":209755,"line_start":68,"line_end":68,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871506},"span":{"file_name":"src/pointer/bool.rs","byte_start":209764,"byte_end":209771,"line_start":68,"line_end":68,"column_start":37,"column_end":44},"name":"address","qualname":"::default_value::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613330},"span":{"file_name":"src/pointer/bool.rs","byte_start":209780,"byte_end":209786,"line_start":68,"line_end":68,"column_start":53,"column_end":59},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":594},"span":{"file_name":"src/pointer/bool.rs","byte_start":209735,"byte_end":209748,"line_start":68,"line_end":68,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653778},"span":{"file_name":"src/pointer/bool.rs","byte_start":209842,"byte_end":209846,"line_start":69,"line_end":69,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:594 ~ no_proto[2d88]::pointer::bool::{impl#1}::default_value), local_id: 24 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742419},"span":{"file_name":"src/pointer/bool.rs","byte_start":209966,"byte_end":209972,"line_start":74,"line_end":74,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871507},"span":{"file_name":"src/pointer/bool.rs","byte_start":209981,"byte_end":209992,"line_start":74,"line_end":74,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613331},"span":{"file_name":"src/pointer/bool.rs","byte_start":210000,"byte_end":210006,"line_start":74,"line_end":74,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436051},"span":{"file_name":"src/pointer/bool.rs","byte_start":210019,"byte_end":210025,"line_start":74,"line_end":74,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177875},"span":{"file_name":"src/pointer/bool.rs","byte_start":210044,"byte_end":210049,"line_start":74,"line_end":74,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":595},"span":{"file_name":"src/pointer/bool.rs","byte_start":209946,"byte_end":209959,"line_start":74,"line_end":74,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742421},"span":{"file_name":"src/pointer/bool.rs","byte_start":210423,"byte_end":210429,"line_start":88,"line_end":88,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871509},"span":{"file_name":"src/pointer/bool.rs","byte_start":210442,"byte_end":210448,"line_start":88,"line_end":88,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613333},"span":{"file_name":"src/pointer/bool.rs","byte_start":210467,"byte_end":210472,"line_start":88,"line_end":88,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":597},"span":{"file_name":"src/pointer/bool.rs","byte_start":210407,"byte_end":210416,"line_start":88,"line_end":88,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960149},"span":{"file_name":"src/pointer/bool.rs","byte_start":210551,"byte_end":210558,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:597 ~ no_proto[2d88]::pointer::bool::{impl#1}::set_value), local_id: 18 }","value":"[closure@src/pointer/bool.rs:90:23: 90:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395605},"span":{"file_name":"src/pointer/bool.rs","byte_start":210610,"byte_end":210623,"line_start":91,"line_end":91,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:597 ~ no_proto[2d88]::pointer::bool::{impl#1}::set_value), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562773},"span":{"file_name":"src/pointer/bool.rs","byte_start":210998,"byte_end":211003,"line_start":106,"line_end":106,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:597 ~ no_proto[2d88]::pointer::bool::{impl#1}::set_value), local_id: 93 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742426},"span":{"file_name":"src/pointer/bool.rs","byte_start":211346,"byte_end":211352,"line_start":121,"line_end":121,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871514},"span":{"file_name":"src/pointer/bool.rs","byte_start":211366,"byte_end":211372,"line_start":121,"line_end":121,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":602},"span":{"file_name":"src/pointer/bool.rs","byte_start":211335,"byte_end":211345,"line_start":121,"line_end":121,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218330},"span":{"file_name":"src/pointer/bool.rs","byte_start":211460,"byte_end":211467,"line_start":123,"line_end":123,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:602 ~ no_proto[2d88]::pointer::bool::{impl#1}::into_value), local_id: 16 }","value":"[closure@src/pointer/bool.rs:123:23: 123:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879258},"span":{"file_name":"src/pointer/bool.rs","byte_start":211516,"byte_end":211526,"line_start":125,"line_end":125,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:602 ~ no_proto[2d88]::pointer::bool::{impl#1}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885681754},"span":{"file_name":"src/pointer/bool.rs","byte_start":211725,"byte_end":211726,"line_start":133,"line_end":133,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:602 ~ no_proto[2d88]::pointer::bool::{impl#1}::into_value), local_id: 53 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742428},"span":{"file_name":"src/pointer/bool.rs","byte_start":211862,"byte_end":211868,"line_start":140,"line_end":140,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871516},"span":{"file_name":"src/pointer/bool.rs","byte_start":211876,"byte_end":211882,"line_start":140,"line_end":140,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613340},"span":{"file_name":"src/pointer/bool.rs","byte_start":211896,"byte_end":211902,"line_start":140,"line_end":140,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":604},"span":{"file_name":"src/pointer/bool.rs","byte_start":211854,"byte_end":211861,"line_start":140,"line_end":140,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701980},"span":{"file_name":"src/pointer/bool.rs","byte_start":212001,"byte_end":212002,"line_start":143,"line_end":143,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:604 ~ no_proto[2d88]::pointer::bool::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314716},"span":{"file_name":"src/pointer/bool.rs","byte_start":212060,"byte_end":212061,"line_start":145,"line_end":145,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:604 ~ no_proto[2d88]::pointer::bool::{impl#1}::to_json), local_id: 23 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181038684},"span":{"file_name":"src/pointer/bool.rs","byte_start":212357,"byte_end":212361,"line_start":154,"line_end":154,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:604 ~ no_proto[2d88]::pointer::bool::{impl#1}::to_json), local_id: 65 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369099356},"span":{"file_name":"src/pointer/bool.rs","byte_start":212907,"byte_end":212909,"line_start":169,"line_end":169,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:604 ~ no_proto[2d88]::pointer::bool::{impl#1}::to_json), local_id: 104 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742429},"span":{"file_name":"src/pointer/bool.rs","byte_start":212993,"byte_end":212999,"line_start":175,"line_end":175,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871517},"span":{"file_name":"src/pointer/bool.rs","byte_start":213007,"byte_end":213013,"line_start":175,"line_end":175,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613341},"span":{"file_name":"src/pointer/bool.rs","byte_start":213027,"byte_end":213033,"line_start":175,"line_end":175,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":605},"span":{"file_name":"src/pointer/bool.rs","byte_start":212984,"byte_end":212992,"line_start":175,"line_end":175,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960157},"span":{"file_name":"src/pointer/bool.rs","byte_start":213088,"byte_end":213095,"line_start":176,"line_end":176,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:605 ~ no_proto[2d88]::pointer::bool::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/bool.rs:176:23: 176:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742431},"span":{"file_name":"src/pointer/bool.rs","byte_start":213293,"byte_end":213299,"line_start":184,"line_end":184,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871519},"span":{"file_name":"src/pointer/bool.rs","byte_start":213325,"byte_end":213332,"line_start":184,"line_end":184,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":607},"span":{"file_name":"src/pointer/bool.rs","byte_start":213279,"byte_end":213292,"line_start":184,"line_end":184,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831071},"span":{"file_name":"src/pointer/bool.rs","byte_start":213383,"byte_end":213387,"line_start":186,"line_end":186,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:607 ~ no_proto[2d88]::pointer::bool::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750175},"span":{"file_name":"src/pointer/bool.rs","byte_start":213476,"byte_end":213482,"line_start":188,"line_end":188,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:607 ~ no_proto[2d88]::pointer::bool::{impl#1}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742432},"span":{"file_name":"src/pointer/bool.rs","byte_start":213877,"byte_end":213883,"line_start":203,"line_end":203,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871520},"span":{"file_name":"src/pointer/bool.rs","byte_start":213908,"byte_end":213913,"line_start":203,"line_end":203,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613344},"span":{"file_name":"src/pointer/bool.rs","byte_start":213921,"byte_end":213924,"line_start":203,"line_end":203,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436064},"span":{"file_name":"src/pointer/bool.rs","byte_start":213938,"byte_end":213942,"line_start":203,"line_end":203,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":608},"span":{"file_name":"src/pointer/bool.rs","byte_start":213854,"byte_end":213872,"line_start":203,"line_end":203,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701984},"span":{"file_name":"src/pointer/bool.rs","byte_start":214037,"byte_end":214044,"line_start":205,"line_end":205,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593120},"span":{"file_name":"src/pointer/bool.rs","byte_start":214157,"byte_end":214167,"line_start":208,"line_end":208,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 33 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722208},"span":{"file_name":"src/pointer/bool.rs","byte_start":214200,"byte_end":214203,"line_start":209,"line_end":209,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205856},"span":{"file_name":"src/pointer/bool.rs","byte_start":214205,"byte_end":214210,"line_start":209,"line_end":209,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859040},"span":{"file_name":"src/pointer/bool.rs","byte_start":214424,"byte_end":214429,"line_start":213,"line_end":213,"column_start":52,"column_end":57},"name":"state","qualname":"state$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 63 }","value":"&bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16777824},"span":{"file_name":"src/pointer/bool.rs","byte_start":214820,"byte_end":214831,"line_start":227,"line_end":227,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 128 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244636256},"span":{"file_name":"src/pointer/bool.rs","byte_start":214922,"byte_end":214929,"line_start":230,"line_end":230,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 191 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150995552},"span":{"file_name":"src/pointer/bool.rs","byte_start":214965,"byte_end":214966,"line_start":231,"line_end":231,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:608 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 144 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742433},"span":{"file_name":"src/pointer/bool.rs","byte_start":215611,"byte_end":215617,"line_start":256,"line_end":256,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871521},"span":{"file_name":"src/pointer/bool.rs","byte_start":215642,"byte_end":215653,"line_start":256,"line_end":256,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":609},"span":{"file_name":"src/pointer/bool.rs","byte_start":215587,"byte_end":215606,"line_start":256,"line_end":256,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218337},"span":{"file_name":"src/pointer/bool.rs","byte_start":215749,"byte_end":215760,"line_start":258,"line_end":258,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:609 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060086881},"span":{"file_name":"src/pointer/bool.rs","byte_start":215851,"byte_end":215858,"line_start":261,"line_end":261,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:609 ~ no_proto[2d88]::pointer::bool::{impl#1}::from_json_to_schema), local_id: 79 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742434},"span":{"file_name":"src/pointer/bool.rs","byte_start":216556,"byte_end":216562,"line_start":286,"line_end":286,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871522},"span":{"file_name":"src/pointer/bool.rs","byte_start":216587,"byte_end":216594,"line_start":286,"line_end":286,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613346},"span":{"file_name":"src/pointer/bool.rs","byte_start":216603,"byte_end":216608,"line_start":286,"line_end":286,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":610},"span":{"file_name":"src/pointer/bool.rs","byte_start":216531,"byte_end":216551,"line_start":286,"line_end":286,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":611},"span":{"file_name":"src/pointer/geo.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"geo","qualname":"::pointer::geo","value":"src/pointer/geo.rs","parent":null,"children":[{"krate":0,"index":612},{"krate":0,"index":615},{"krate":0,"index":618},{"krate":0,"index":619},{"krate":0,"index":620},{"krate":0,"index":623},{"krate":0,"index":626},{"krate":0,"index":627},{"krate":0,"index":630},{"krate":0,"index":633},{"krate":0,"index":636},{"krate":0,"index":639},{"krate":0,"index":642},{"krate":0,"index":645},{"krate":0,"index":646},{"krate":0,"index":649},{"krate":0,"index":652},{"krate":0,"index":653},{"krate":0,"index":656},{"krate":0,"index":659},{"krate":0,"index":660},{"krate":0,"index":663},{"krate":0,"index":666},{"krate":0,"index":667},{"krate":0,"index":668},{"krate":0,"index":669},{"krate":0,"index":671},{"krate":0,"index":674},{"krate":0,"index":677},{"krate":0,"index":680},{"krate":0,"index":681},{"krate":0,"index":684},{"krate":0,"index":685},{"krate":0,"index":688},{"krate":0,"index":3129},{"krate":0,"index":3133},{"krate":0,"index":3135},{"krate":0,"index":3136},{"krate":0,"index":3138},{"krate":0,"index":3139},{"krate":0,"index":691},{"krate":0,"index":696},{"krate":0,"index":704},{"krate":0,"index":706},{"krate":0,"index":3142},{"krate":0,"index":3146},{"krate":0,"index":3148},{"krate":0,"index":3150},{"krate":0,"index":3151},{"krate":0,"index":737},{"krate":0,"index":742},{"krate":0,"index":747},{"krate":0,"index":749},{"krate":0,"index":750}],"decl_id":null,"docs":" Represents a Geographic Coordinate (lat / lon)\n \n When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::geo::NP_Geo;\n \n let factory: NP_Factory = NP_Factory::new(\"geo4()\")?;","sig":null,"attributes":[{"value":"/ Represents a Geographic Coordinate (lat / lon)","span":{"file_name":"src/pointer/geo.rs","byte_start":219192,"byte_end":219242,"line_start":1,"line_end":1,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219243,"byte_end":219247,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct.","span":{"file_name":"src/pointer/geo.rs","byte_start":219248,"byte_end":219348,"line_start":3,"line_end":3,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219349,"byte_end":219353,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/geo.rs","byte_start":219354,"byte_end":219361,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/geo.rs","byte_start":219362,"byte_end":219396,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/geo.rs","byte_start":219397,"byte_end":219426,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/pointer/geo.rs","byte_start":219427,"byte_end":219466,"line_start":8,"line_end":8,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219467,"byte_end":219471,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"geo4()\")?;","span":{"file_name":"src/pointer/geo.rs","byte_start":219472,"byte_end":219529,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/geo.rs","byte_start":219530,"byte_end":219533,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/geo.rs","byte_start":219534,"byte_end":219584,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?;","span":{"file_name":"src/pointer/geo.rs","byte_start":219585,"byte_end":219650,"line_start":13,"line_end":13,"column_start":1,"column_end":66}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219651,"byte_end":219655,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"{\\\"lat\\\":45.5,\\\"lng\\\":-122.71}\", new_buffer.get::(&[])?.unwrap().into_json().stringify());","span":{"file_name":"src/pointer/geo.rs","byte_start":219656,"byte_end":219770,"line_start":15,"line_end":15,"column_start":1,"column_end":115}},{"value":"/","span":{"file_name":"src/pointer/geo.rs","byte_start":219771,"byte_end":219774,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/geo.rs","byte_start":219775,"byte_end":219804,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/geo.rs","byte_start":219805,"byte_end":219812,"line_start":18,"line_end":18,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219813,"byte_end":219817,"line_start":19,"line_end":19,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3129},"span":{"file_name":"src/pointer/geo.rs","byte_start":220488,"byte_end":220500,"line_start":41,"line_end":41,"column_start":12,"column_end":24},"name":"NP_Geo_Bytes","qualname":"::pointer::geo::NP_Geo_Bytes","value":"NP_Geo_Bytes { size, lat, lng }","parent":null,"children":[{"krate":0,"index":3130},{"krate":0,"index":3131},{"krate":0,"index":3132}],"decl_id":null,"docs":" Allows you to efficiently retrieve just the bytes of the geographic coordinate\n","sig":null,"attributes":[{"value":"/ Allows you to efficiently retrieve just the bytes of the geographic coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":220362,"byte_end":220444,"line_start":39,"line_end":39,"column_start":1,"column_end":83}}]},{"kind":"Field","id":{"krate":0,"index":3130},"span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"name":"size","qualname":"::pointer::geo::NP_Geo_Bytes::size","value":"u8","parent":{"krate":0,"index":3129},"children":[],"decl_id":null,"docs":" Size of this coordinate: 4, 8 or 16\n","sig":null,"attributes":[{"value":"/ Size of this coordinate: 4, 8 or 16","span":{"file_name":"src/pointer/geo.rs","byte_start":220507,"byte_end":220546,"line_start":42,"line_end":42,"column_start":5,"column_end":44}}]},{"kind":"Field","id":{"krate":0,"index":3131},"span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"name":"lat","qualname":"::pointer::geo::NP_Geo_Bytes::lat","value":"alloc::vec::Vec","parent":{"krate":0,"index":3129},"children":[],"decl_id":null,"docs":" latitude bytes\n","sig":null,"attributes":[{"value":"/ latitude bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":220569,"byte_end":220587,"line_start":44,"line_end":44,"column_start":5,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3132},"span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"name":"lng","qualname":"::pointer::geo::NP_Geo_Bytes::lng","value":"alloc::vec::Vec","parent":{"krate":0,"index":3129},"children":[],"decl_id":null,"docs":" longitude bytes\n","sig":null,"attributes":[{"value":"/ longitude bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":220614,"byte_end":220633,"line_start":46,"line_end":46,"column_start":5,"column_end":24}}]},{"kind":"Local","id":{"krate":0,"index":1073742517},"span":{"file_name":"src/pointer/geo.rs","byte_start":220737,"byte_end":220743,"line_start":52,"line_end":52,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":693},"span":{"file_name":"src/pointer/geo.rs","byte_start":220722,"byte_end":220736,"line_start":52,"line_end":52,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702069},"span":{"file_name":"src/pointer/geo.rs","byte_start":220812,"byte_end":220816,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:693 ~ no_proto[2d88]::pointer::geo::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742518},"span":{"file_name":"src/pointer/geo.rs","byte_start":220963,"byte_end":220969,"line_start":57,"line_end":57,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871606},"span":{"file_name":"src/pointer/geo.rs","byte_start":220983,"byte_end":220989,"line_start":57,"line_end":57,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":694},"span":{"file_name":"src/pointer/geo.rs","byte_start":220950,"byte_end":220962,"line_start":57,"line_end":57,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653878},"span":{"file_name":"src/pointer/geo.rs","byte_start":221033,"byte_end":221037,"line_start":58,"line_end":58,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:694 ~ no_proto[2d88]::pointer::geo::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742519},"span":{"file_name":"src/pointer/geo.rs","byte_start":221220,"byte_end":221226,"line_start":62,"line_end":62,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871607},"span":{"file_name":"src/pointer/geo.rs","byte_start":221240,"byte_end":221246,"line_start":62,"line_end":62,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":695},"span":{"file_name":"src/pointer/geo.rs","byte_start":221207,"byte_end":221219,"line_start":62,"line_end":62,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653879},"span":{"file_name":"src/pointer/geo.rs","byte_start":221290,"byte_end":221294,"line_start":63,"line_end":63,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:695 ~ no_proto[2d88]::pointer::geo::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742521},"span":{"file_name":"src/pointer/geo.rs","byte_start":221562,"byte_end":221566,"line_start":70,"line_end":70,"column_start":21,"column_end":25},"name":"self","qualname":"::into_geo::self","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":697},"span":{"file_name":"src/pointer/geo.rs","byte_start":221553,"byte_end":221561,"line_start":70,"line_end":70,"column_start":12,"column_end":20},"name":"into_geo","qualname":"::into_geo","value":"pub fn into_geo(Self) -> NP_Geo","parent":null,"children":[],"decl_id":null,"docs":" Get the actual geographic coordinate for these bytes\n","sig":null,"attributes":[{"value":"/ Get the actual geographic coordinate for these bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":221485,"byte_end":221541,"line_start":69,"line_end":69,"column_start":5,"column_end":61}}]},{"kind":"Local","id":{"krate":0,"index":402653881},"span":{"file_name":"src/pointer/geo.rs","byte_start":221660,"byte_end":221669,"line_start":74,"line_end":74,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 24 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545017},"span":{"file_name":"src/pointer/geo.rs","byte_start":221746,"byte_end":221755,"line_start":75,"line_end":75,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 40 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514681},"span":{"file_name":"src/pointer/geo.rs","byte_start":221987,"byte_end":221990,"line_start":81,"line_end":81,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 82 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1174405817},"span":{"file_name":"src/pointer/geo.rs","byte_start":222061,"byte_end":222064,"line_start":83,"line_end":83,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 98 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308623545},"span":{"file_name":"src/pointer/geo.rs","byte_start":222131,"byte_end":222134,"line_start":84,"line_end":84,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 114 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553648825},"span":{"file_name":"src/pointer/geo.rs","byte_start":222201,"byte_end":222208,"line_start":85,"line_end":85,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 132 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761608377},"span":{"file_name":"src/pointer/geo.rs","byte_start":222271,"byte_end":222278,"line_start":86,"line_end":86,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 150 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976200889},"span":{"file_name":"src/pointer/geo.rs","byte_start":222452,"byte_end":222461,"line_start":91,"line_end":91,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 183 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3808428729},"span":{"file_name":"src/pointer/geo.rs","byte_start":222538,"byte_end":222547,"line_start":92,"line_end":92,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 199 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2399142585},"span":{"file_name":"src/pointer/geo.rs","byte_start":222779,"byte_end":222782,"line_start":98,"line_end":98,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 241 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155872953},"span":{"file_name":"src/pointer/geo.rs","byte_start":222853,"byte_end":222856,"line_start":100,"line_end":100,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 257 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2290090681},"span":{"file_name":"src/pointer/geo.rs","byte_start":222923,"byte_end":222926,"line_start":101,"line_end":101,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 273 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723641},"span":{"file_name":"src/pointer/geo.rs","byte_start":222993,"byte_end":223000,"line_start":102,"line_end":102,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 291 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894070457},"span":{"file_name":"src/pointer/geo.rs","byte_start":223063,"byte_end":223070,"line_start":103,"line_end":103,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 309 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1786774201},"span":{"file_name":"src/pointer/geo.rs","byte_start":223244,"byte_end":223253,"line_start":108,"line_end":108,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 342 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1719665337},"span":{"file_name":"src/pointer/geo.rs","byte_start":223330,"byte_end":223339,"line_start":109,"line_end":109,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 358 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":159384249},"span":{"file_name":"src/pointer/geo.rs","byte_start":223571,"byte_end":223574,"line_start":115,"line_end":115,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 400 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":92275385},"span":{"file_name":"src/pointer/geo.rs","byte_start":223645,"byte_end":223648,"line_start":117,"line_end":117,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 416 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493113},"span":{"file_name":"src/pointer/geo.rs","byte_start":223715,"byte_end":223718,"line_start":118,"line_end":118,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1132462777},"span":{"file_name":"src/pointer/geo.rs","byte_start":223785,"byte_end":223792,"line_start":119,"line_end":119,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 450 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":729809593},"span":{"file_name":"src/pointer/geo.rs","byte_start":223855,"byte_end":223862,"line_start":120,"line_end":120,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:697 ~ no_proto[2d88]::pointer::geo::{impl#1}::into_geo), local_id: 468 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":705},"span":{"file_name":"src/pointer/geo.rs","byte_start":224140,"byte_end":224147,"line_start":132,"line_end":132,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742532},"span":{"file_name":"src/pointer/geo.rs","byte_start":224315,"byte_end":224321,"line_start":139,"line_end":139,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871620},"span":{"file_name":"src/pointer/geo.rs","byte_start":224330,"byte_end":224341,"line_start":139,"line_end":139,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613444},"span":{"file_name":"src/pointer/geo.rs","byte_start":224349,"byte_end":224356,"line_start":139,"line_end":139,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436164},"span":{"file_name":"src/pointer/geo.rs","byte_start":224369,"byte_end":224376,"line_start":139,"line_end":139,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177988},"span":{"file_name":"src/pointer/geo.rs","byte_start":224395,"byte_end":224401,"line_start":139,"line_end":139,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":708},"span":{"file_name":"src/pointer/geo.rs","byte_start":224295,"byte_end":224308,"line_start":139,"line_end":139,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742534},"span":{"file_name":"src/pointer/geo.rs","byte_start":224516,"byte_end":224522,"line_start":143,"line_end":143,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871622},"span":{"file_name":"src/pointer/geo.rs","byte_start":224531,"byte_end":224536,"line_start":143,"line_end":143,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613446},"span":{"file_name":"src/pointer/geo.rs","byte_start":224545,"byte_end":224552,"line_start":143,"line_end":143,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":710},"span":{"file_name":"src/pointer/geo.rs","byte_start":224502,"byte_end":224515,"line_start":143,"line_end":143,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":711},"span":{"file_name":"src/pointer/geo.rs","byte_start":224622,"byte_end":224630,"line_start":146,"line_end":146,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742536},"span":{"file_name":"src/pointer/geo.rs","byte_start":224708,"byte_end":224712,"line_start":147,"line_end":147,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":712},"span":{"file_name":"src/pointer/geo.rs","byte_start":224693,"byte_end":224706,"line_start":147,"line_end":147,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742537},"span":{"file_name":"src/pointer/geo.rs","byte_start":224789,"byte_end":224795,"line_start":149,"line_end":149,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871625},"span":{"file_name":"src/pointer/geo.rs","byte_start":224821,"byte_end":224828,"line_start":149,"line_end":149,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":713},"span":{"file_name":"src/pointer/geo.rs","byte_start":224775,"byte_end":224788,"line_start":149,"line_end":149,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742538},"span":{"file_name":"src/pointer/geo.rs","byte_start":224946,"byte_end":224952,"line_start":153,"line_end":153,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871626},"span":{"file_name":"src/pointer/geo.rs","byte_start":224977,"byte_end":224981,"line_start":153,"line_end":153,"column_start":58,"column_end":62},"name":"name","qualname":"::from_idl_to_schema::name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613450},"span":{"file_name":"src/pointer/geo.rs","byte_start":224989,"byte_end":224992,"line_start":153,"line_end":153,"column_start":70,"column_end":73},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436170},"span":{"file_name":"src/pointer/geo.rs","byte_start":225006,"byte_end":225010,"line_start":153,"line_end":153,"column_start":87,"column_end":91},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":714},"span":{"file_name":"src/pointer/geo.rs","byte_start":224927,"byte_end":224945,"line_start":153,"line_end":153,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742539},"span":{"file_name":"src/pointer/geo.rs","byte_start":225177,"byte_end":225183,"line_start":157,"line_end":157,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871627},"span":{"file_name":"src/pointer/geo.rs","byte_start":225209,"byte_end":225216,"line_start":157,"line_end":157,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":715},"span":{"file_name":"src/pointer/geo.rs","byte_start":225162,"byte_end":225176,"line_start":157,"line_end":157,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742540},"span":{"file_name":"src/pointer/geo.rs","byte_start":225320,"byte_end":225327,"line_start":159,"line_end":159,"column_start":24,"column_end":31},"name":"_cursor","qualname":"::set_value::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871628},"span":{"file_name":"src/pointer/geo.rs","byte_start":225340,"byte_end":225347,"line_start":159,"line_end":159,"column_start":44,"column_end":51},"name":"_memory","qualname":"::set_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613452},"span":{"file_name":"src/pointer/geo.rs","byte_start":225366,"byte_end":225372,"line_start":159,"line_end":159,"column_start":70,"column_end":76},"name":"_value","qualname":"::set_value::_value","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":716},"span":{"file_name":"src/pointer/geo.rs","byte_start":225304,"byte_end":225313,"line_start":159,"line_end":159,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742542},"span":{"file_name":"src/pointer/geo.rs","byte_start":225544,"byte_end":225549,"line_start":162,"line_end":162,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871630},"span":{"file_name":"src/pointer/geo.rs","byte_start":225557,"byte_end":225563,"line_start":162,"line_end":162,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613454},"span":{"file_name":"src/pointer/geo.rs","byte_start":225577,"byte_end":225583,"line_start":162,"line_end":162,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":718},"span":{"file_name":"src/pointer/geo.rs","byte_start":225536,"byte_end":225543,"line_start":162,"line_end":162,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742543},"span":{"file_name":"src/pointer/geo.rs","byte_start":225686,"byte_end":225692,"line_start":165,"line_end":165,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871631},"span":{"file_name":"src/pointer/geo.rs","byte_start":225700,"byte_end":225706,"line_start":165,"line_end":165,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613455},"span":{"file_name":"src/pointer/geo.rs","byte_start":225720,"byte_end":225726,"line_start":165,"line_end":165,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":719},"span":{"file_name":"src/pointer/geo.rs","byte_start":225677,"byte_end":225685,"line_start":165,"line_end":165,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960271},"span":{"file_name":"src/pointer/geo.rs","byte_start":225782,"byte_end":225789,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:719 ~ no_proto[2d88]::pointer::geo::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/pointer/geo.rs:167:23: 167:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885681871},"span":{"file_name":"src/pointer/geo.rs","byte_start":225930,"byte_end":225934,"line_start":172,"line_end":172,"column_start":17,"column_end":21},"name":"data","qualname":"data$HirId { owner: DefId(0:719 ~ no_proto[2d88]::pointer::geo::{impl#3}::get_size), local_id: 53 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742545},"span":{"file_name":"src/pointer/geo.rs","byte_start":226089,"byte_end":226095,"line_start":177,"line_end":177,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871633},"span":{"file_name":"src/pointer/geo.rs","byte_start":226109,"byte_end":226115,"line_start":177,"line_end":177,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":721},"span":{"file_name":"src/pointer/geo.rs","byte_start":226078,"byte_end":226088,"line_start":177,"line_end":177,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218449},"span":{"file_name":"src/pointer/geo.rs","byte_start":226203,"byte_end":226210,"line_start":179,"line_end":179,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/geo.rs:179:23: 179:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879377},"span":{"file_name":"src/pointer/geo.rs","byte_start":226259,"byte_end":226269,"line_start":181,"line_end":181,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859153},"span":{"file_name":"src/pointer/geo.rs","byte_start":226414,"byte_end":226418,"line_start":188,"line_end":188,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909713},"span":{"file_name":"src/pointer/geo.rs","byte_start":226516,"byte_end":226520,"line_start":190,"line_end":190,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534929},"span":{"file_name":"src/pointer/geo.rs","byte_start":226604,"byte_end":226613,"line_start":194,"line_end":194,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 100 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040188113},"span":{"file_name":"src/pointer/geo.rs","byte_start":226697,"byte_end":226706,"line_start":195,"line_end":195,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 124 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768241361},"span":{"file_name":"src/pointer/geo.rs","byte_start":226921,"byte_end":226930,"line_start":200,"line_end":200,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 165 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170894545},"span":{"file_name":"src/pointer/geo.rs","byte_start":227014,"byte_end":227023,"line_start":201,"line_end":201,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 189 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1728053969},"span":{"file_name":"src/pointer/geo.rs","byte_start":227237,"byte_end":227246,"line_start":206,"line_end":206,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 230 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2130707153},"span":{"file_name":"src/pointer/geo.rs","byte_start":227330,"byte_end":227339,"line_start":207,"line_end":207,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:721 ~ no_proto[2d88]::pointer::geo::{impl#3}::into_value), local_id: 254 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742559},"span":{"file_name":"src/pointer/geo.rs","byte_start":227625,"byte_end":227631,"line_start":217,"line_end":217,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871647},"span":{"file_name":"src/pointer/geo.rs","byte_start":227656,"byte_end":227667,"line_start":217,"line_end":217,"column_start":59,"column_end":70},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":735},"span":{"file_name":"src/pointer/geo.rs","byte_start":227605,"byte_end":227624,"line_start":217,"line_end":217,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742560},"span":{"file_name":"src/pointer/geo.rs","byte_start":227838,"byte_end":227844,"line_start":221,"line_end":221,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871648},"span":{"file_name":"src/pointer/geo.rs","byte_start":227869,"byte_end":227876,"line_start":221,"line_end":221,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613472},"span":{"file_name":"src/pointer/geo.rs","byte_start":227885,"byte_end":227890,"line_start":221,"line_end":221,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":736},"span":{"file_name":"src/pointer/geo.rs","byte_start":227817,"byte_end":227837,"line_start":221,"line_end":221,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3142},"span":{"file_name":"src/pointer/geo.rs","byte_start":228150,"byte_end":228156,"line_start":233,"line_end":233,"column_start":12,"column_end":18},"name":"NP_Geo","qualname":"::pointer::geo::NP_Geo","value":"NP_Geo { size, lat, lng }","parent":null,"children":[{"krate":0,"index":3143},{"krate":0,"index":3144},{"krate":0,"index":3145}],"decl_id":null,"docs":" Holds geographic coordinates\n \n Check out documentation [here](../geo/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds geographic coordinates","span":{"file_name":"src/pointer/geo.rs","byte_start":228006,"byte_end":228038,"line_start":228,"line_end":228,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":228039,"byte_end":228043,"line_start":229,"line_end":229,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../geo/index.html).","span":{"file_name":"src/pointer/geo.rs","byte_start":228044,"byte_end":228098,"line_start":230,"line_end":230,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":228099,"byte_end":228103,"line_start":231,"line_end":231,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3143},"span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"name":"size","qualname":"::pointer::geo::NP_Geo::size","value":"u8","parent":{"krate":0,"index":3142},"children":[],"decl_id":null,"docs":" The size of this geographic coordinate. 4, 8 or 16\n","sig":null,"attributes":[{"value":"/ The size of this geographic coordinate. 4, 8 or 16","span":{"file_name":"src/pointer/geo.rs","byte_start":228163,"byte_end":228218,"line_start":234,"line_end":234,"column_start":5,"column_end":60}}]},{"kind":"Field","id":{"krate":0,"index":3144},"span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"name":"lat","qualname":"::pointer::geo::NP_Geo::lat","value":"f64","parent":{"krate":0,"index":3142},"children":[],"decl_id":null,"docs":" The latitude of this coordinate\n","sig":null,"attributes":[{"value":"/ The latitude of this coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":228241,"byte_end":228276,"line_start":236,"line_end":236,"column_start":5,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":3145},"span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"name":"lng","qualname":"::pointer::geo::NP_Geo::lng","value":"f64","parent":{"krate":0,"index":3142},"children":[],"decl_id":null,"docs":" The longitude of this coordinate\n","sig":null,"attributes":[{"value":"/ The longitude of this coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":228299,"byte_end":228335,"line_start":238,"line_end":238,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073742563},"span":{"file_name":"src/pointer/geo.rs","byte_start":228429,"byte_end":228435,"line_start":243,"line_end":243,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":739},"span":{"file_name":"src/pointer/geo.rs","byte_start":228414,"byte_end":228428,"line_start":243,"line_end":243,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702115},"span":{"file_name":"src/pointer/geo.rs","byte_start":228504,"byte_end":228508,"line_start":244,"line_end":244,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:739 ~ no_proto[2d88]::pointer::geo::{impl#4}::schema_default), local_id: 17 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742564},"span":{"file_name":"src/pointer/geo.rs","byte_start":228649,"byte_end":228655,"line_start":248,"line_end":248,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871652},"span":{"file_name":"src/pointer/geo.rs","byte_start":228669,"byte_end":228675,"line_start":248,"line_end":248,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":740},"span":{"file_name":"src/pointer/geo.rs","byte_start":228636,"byte_end":228648,"line_start":248,"line_end":248,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653924},"span":{"file_name":"src/pointer/geo.rs","byte_start":228719,"byte_end":228723,"line_start":249,"line_end":249,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:740 ~ no_proto[2d88]::pointer::geo::{impl#4}::np_max_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742565},"span":{"file_name":"src/pointer/geo.rs","byte_start":228900,"byte_end":228906,"line_start":253,"line_end":253,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871653},"span":{"file_name":"src/pointer/geo.rs","byte_start":228920,"byte_end":228926,"line_start":253,"line_end":253,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":741},"span":{"file_name":"src/pointer/geo.rs","byte_start":228887,"byte_end":228899,"line_start":253,"line_end":253,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653925},"span":{"file_name":"src/pointer/geo.rs","byte_start":228970,"byte_end":228974,"line_start":254,"line_end":254,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:741 ~ no_proto[2d88]::pointer::geo::{impl#4}::np_min_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742567},"span":{"file_name":"src/pointer/geo.rs","byte_start":229238,"byte_end":229242,"line_start":262,"line_end":262,"column_start":16,"column_end":20},"name":"size","qualname":"::new::size","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871655},"span":{"file_name":"src/pointer/geo.rs","byte_start":229248,"byte_end":229251,"line_start":262,"line_end":262,"column_start":26,"column_end":29},"name":"lat","qualname":"::new::lat","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613479},"span":{"file_name":"src/pointer/geo.rs","byte_start":229258,"byte_end":229261,"line_start":262,"line_end":262,"column_start":36,"column_end":39},"name":"lng","qualname":"::new::lng","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":743},"span":{"file_name":"src/pointer/geo.rs","byte_start":229234,"byte_end":229237,"line_start":262,"line_end":262,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u8, f64, f64) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new NP_Geo value, make sure the size matches the schema\n","sig":null,"attributes":[{"value":"/ Create a new NP_Geo value, make sure the size matches the schema","span":{"file_name":"src/pointer/geo.rs","byte_start":229154,"byte_end":229222,"line_start":261,"line_end":261,"column_start":5,"column_end":73}}]},{"kind":"Local","id":{"krate":0,"index":1073742568},"span":{"file_name":"src/pointer/geo.rs","byte_start":229425,"byte_end":229429,"line_start":267,"line_end":267,"column_start":24,"column_end":28},"name":"size","qualname":"::get_deviser::size","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":744},"span":{"file_name":"src/pointer/geo.rs","byte_start":229413,"byte_end":229424,"line_start":267,"line_end":267,"column_start":12,"column_end":23},"name":"get_deviser","qualname":"::get_deviser","value":"pub fn get_deviser(i64) -> f64","parent":null,"children":[],"decl_id":null,"docs":" Get the deviser value depending on the resolution of the type in the schema\n","sig":null,"attributes":[{"value":"/ Get the deviser value depending on the resolution of the type in the schema","span":{"file_name":"src/pointer/geo.rs","byte_start":229322,"byte_end":229401,"line_start":266,"line_end":266,"column_start":5,"column_end":84}}]},{"kind":"Local","id":{"krate":0,"index":1073742569},"span":{"file_name":"src/pointer/geo.rs","byte_start":229667,"byte_end":229671,"line_start":278,"line_end":278,"column_start":24,"column_end":28},"name":"self","qualname":"::into_json::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":745},"span":{"file_name":"src/pointer/geo.rs","byte_start":229656,"byte_end":229665,"line_start":278,"line_end":278,"column_start":13,"column_end":22},"name":"into_json","qualname":"::into_json","value":"pub fn into_json(&Self) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" Export this Geo point to JSON\n \n","sig":null,"attributes":[{"value":"/ Export this Geo point to JSON","span":{"file_name":"src/pointer/geo.rs","byte_start":229600,"byte_end":229633,"line_start":276,"line_end":276,"column_start":6,"column_end":39}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":229639,"byte_end":229643,"line_start":277,"line_end":277,"column_start":6,"column_end":10}}]},{"kind":"Local","id":{"krate":0,"index":1342178025},"span":{"file_name":"src/pointer/geo.rs","byte_start":229702,"byte_end":229713,"line_start":279,"line_end":279,"column_start":17,"column_end":28},"name":"result_json","qualname":"result_json$HirId { owner: DefId(0:745 ~ no_proto[2d88]::pointer::geo::{impl#5}::into_json), local_id: 10 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742570},"span":{"file_name":"src/pointer/geo.rs","byte_start":230011,"byte_end":230015,"line_start":286,"line_end":286,"column_start":24,"column_end":28},"name":"self","qualname":"::get_bytes::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":746},"span":{"file_name":"src/pointer/geo.rs","byte_start":230000,"byte_end":230009,"line_start":286,"line_end":286,"column_start":13,"column_end":22},"name":"get_bytes","qualname":"::get_bytes","value":"pub fn get_bytes(&Self) -> Option","parent":null,"children":[],"decl_id":null,"docs":" Get the bytes that represent this geographic coordinate\n","sig":null,"attributes":[{"value":"/ Get the bytes that represent this geographic coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":229928,"byte_end":229987,"line_start":285,"line_end":285,"column_start":6,"column_end":65}}]},{"kind":"Local","id":{"krate":0,"index":3087008490},"span":{"file_name":"src/pointer/geo.rs","byte_start":230118,"byte_end":230121,"line_start":291,"line_end":291,"column_start":13,"column_end":16},"name":"dev","qualname":"dev$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 29 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327338},"span":{"file_name":"src/pointer/geo.rs","byte_start":230177,"byte_end":230184,"line_start":294,"line_end":294,"column_start":13,"column_end":20},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 48 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780650},"span":{"file_name":"src/pointer/geo.rs","byte_start":230244,"byte_end":230251,"line_start":295,"line_end":295,"column_start":13,"column_end":20},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 67 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778385642},"span":{"file_name":"src/pointer/geo.rs","byte_start":230373,"byte_end":230382,"line_start":300,"line_end":300,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 86 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321889514},"span":{"file_name":"src/pointer/geo.rs","byte_start":230449,"byte_end":230458,"line_start":301,"line_end":301,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 99 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157628650},"span":{"file_name":"src/pointer/geo.rs","byte_start":230828,"byte_end":230837,"line_start":311,"line_end":311,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 162 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110418666},"span":{"file_name":"src/pointer/geo.rs","byte_start":230904,"byte_end":230913,"line_start":312,"line_end":312,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 175 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996489450},"span":{"file_name":"src/pointer/geo.rs","byte_start":231283,"byte_end":231292,"line_start":322,"line_end":322,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 238 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3741319914},"span":{"file_name":"src/pointer/geo.rs","byte_start":231359,"byte_end":231368,"line_start":323,"line_end":323,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:746 ~ no_proto[2d88]::pointer::geo::{impl#5}::get_bytes), local_id: 251 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":748},"span":{"file_name":"src/pointer/geo.rs","byte_start":231801,"byte_end":231808,"line_start":339,"line_end":339,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742573},"span":{"file_name":"src/pointer/geo.rs","byte_start":231900,"byte_end":231904,"line_start":344,"line_end":344,"column_start":22,"column_end":26},"name":"size","qualname":"::pointer::geo::geo_default_value::size","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871661},"span":{"file_name":"src/pointer/geo.rs","byte_start":231910,"byte_end":231914,"line_start":344,"line_end":344,"column_start":32,"column_end":36},"name":"json","qualname":"::pointer::geo::geo_default_value::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":749},"span":{"file_name":"src/pointer/geo.rs","byte_start":231882,"byte_end":231899,"line_start":344,"line_end":344,"column_start":4,"column_end":21},"name":"geo_default_value","qualname":"::pointer::geo::geo_default_value","value":"fn geo_default_value(u8, &NP_JSON) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307117},"span":{"file_name":"src/pointer/geo.rs","byte_start":232027,"byte_end":232028,"line_start":346,"line_end":346,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 12 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960301},"span":{"file_name":"src/pointer/geo.rs","byte_start":232055,"byte_end":232058,"line_start":347,"line_end":347,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 18 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137581},"span":{"file_name":"src/pointer/geo.rs","byte_start":232121,"byte_end":232122,"line_start":349,"line_end":349,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 25 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109613},"span":{"file_name":"src/pointer/geo.rs","byte_start":232200,"byte_end":232201,"line_start":351,"line_end":351,"column_start":42,"column_end":43},"name":"y","qualname":"y$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 32 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810989},"span":{"file_name":"src/pointer/geo.rs","byte_start":232319,"byte_end":232320,"line_start":354,"line_end":354,"column_start":40,"column_end":41},"name":"y","qualname":"y$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 49 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509950189},"span":{"file_name":"src/pointer/geo.rs","byte_start":232647,"byte_end":232650,"line_start":364,"line_end":364,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 90 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248147693},"span":{"file_name":"src/pointer/geo.rs","byte_start":232713,"byte_end":232714,"line_start":366,"line_end":366,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 97 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369099501},"span":{"file_name":"src/pointer/geo.rs","byte_start":232792,"byte_end":232793,"line_start":368,"line_end":368,"column_start":42,"column_end":43},"name":"y","qualname":"y$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 104 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650800877},"span":{"file_name":"src/pointer/geo.rs","byte_start":232911,"byte_end":232912,"line_start":371,"line_end":371,"column_start":40,"column_end":41},"name":"y","qualname":"y$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 121 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3036676845},"span":{"file_name":"src/pointer/geo.rs","byte_start":233301,"byte_end":233302,"line_start":383,"line_end":383,"column_start":22,"column_end":23},"name":"b","qualname":"b$HirId { owner: DefId(0:749 ~ no_proto[2d88]::pointer::geo::geo_default_value), local_id: 173 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742576},"span":{"file_name":"src/pointer/geo.rs","byte_start":233495,"byte_end":233501,"line_start":393,"line_end":393,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871664},"span":{"file_name":"src/pointer/geo.rs","byte_start":233510,"byte_end":233514,"line_start":393,"line_end":393,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613488},"span":{"file_name":"src/pointer/geo.rs","byte_start":233523,"byte_end":233529,"line_start":393,"line_end":393,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":752},"span":{"file_name":"src/pointer/geo.rs","byte_start":233481,"byte_end":233494,"line_start":393,"line_end":393,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653936},"span":{"file_name":"src/pointer/geo.rs","byte_start":233585,"byte_end":233589,"line_start":394,"line_end":394,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:752 ~ no_proto[2d88]::pointer::geo::{impl#7}::default_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742577},"span":{"file_name":"src/pointer/geo.rs","byte_start":233807,"byte_end":233813,"line_start":404,"line_end":404,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871665},"span":{"file_name":"src/pointer/geo.rs","byte_start":233822,"byte_end":233833,"line_start":404,"line_end":404,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613489},"span":{"file_name":"src/pointer/geo.rs","byte_start":233841,"byte_end":233847,"line_start":404,"line_end":404,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436209},"span":{"file_name":"src/pointer/geo.rs","byte_start":233860,"byte_end":233866,"line_start":404,"line_end":404,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178033},"span":{"file_name":"src/pointer/geo.rs","byte_start":233885,"byte_end":233890,"line_start":404,"line_end":404,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":753},"span":{"file_name":"src/pointer/geo.rs","byte_start":233787,"byte_end":233800,"line_start":404,"line_end":404,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266673},"span":{"file_name":"src/pointer/geo.rs","byte_start":233979,"byte_end":233983,"line_start":406,"line_end":406,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:753 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_from_json), local_id: 30 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603980529},"span":{"file_name":"src/pointer/geo.rs","byte_start":234081,"byte_end":234085,"line_start":408,"line_end":408,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:753 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_from_json), local_id: 36 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415985},"span":{"file_name":"src/pointer/geo.rs","byte_start":234157,"byte_end":234160,"line_start":411,"line_end":411,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:753 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_from_json), local_id: 44 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504625},"span":{"file_name":"src/pointer/geo.rs","byte_start":234191,"byte_end":234196,"line_start":412,"line_end":412,"column_start":25,"column_end":30},"name":"value","qualname":"value$HirId { owner: DefId(0:753 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_from_json), local_id: 58 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":755},"span":{"file_name":"src/pointer/geo.rs","byte_start":234894,"byte_end":234902,"line_start":438,"line_end":438,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742580},"span":{"file_name":"src/pointer/geo.rs","byte_start":234987,"byte_end":234991,"line_start":439,"line_end":439,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":756},"span":{"file_name":"src/pointer/geo.rs","byte_start":234972,"byte_end":234985,"line_start":439,"line_end":439,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742581},"span":{"file_name":"src/pointer/geo.rs","byte_start":235076,"byte_end":235082,"line_start":441,"line_end":441,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871669},"span":{"file_name":"src/pointer/geo.rs","byte_start":235108,"byte_end":235115,"line_start":441,"line_end":441,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":757},"span":{"file_name":"src/pointer/geo.rs","byte_start":235061,"byte_end":235075,"line_start":441,"line_end":441,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307125},"span":{"file_name":"src/pointer/geo.rs","byte_start":235170,"byte_end":235181,"line_start":442,"line_end":442,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:757 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266677},"span":{"file_name":"src/pointer/geo.rs","byte_start":235211,"byte_end":235215,"line_start":444,"line_end":444,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:757 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_json), local_id: 30 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483028725},"span":{"file_name":"src/pointer/geo.rs","byte_start":235297,"byte_end":235305,"line_start":446,"line_end":446,"column_start":17,"column_end":25},"name":"type_str","qualname":"type_str$HirId { owner: DefId(0:757 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_json), local_id: 41 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704643829},"span":{"file_name":"src/pointer/geo.rs","byte_start":235539,"byte_end":235550,"line_start":451,"line_end":451,"column_start":21,"column_end":32},"name":"default_map","qualname":"default_map$HirId { owner: DefId(0:757 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_json), local_id: 84 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742582},"span":{"file_name":"src/pointer/geo.rs","byte_start":235897,"byte_end":235903,"line_start":461,"line_end":461,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871670},"span":{"file_name":"src/pointer/geo.rs","byte_start":235916,"byte_end":235922,"line_start":461,"line_end":461,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613494},"span":{"file_name":"src/pointer/geo.rs","byte_start":235941,"byte_end":235946,"line_start":461,"line_end":461,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":758},"span":{"file_name":"src/pointer/geo.rs","byte_start":235881,"byte_end":235890,"line_start":461,"line_end":461,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960310},"span":{"file_name":"src/pointer/geo.rs","byte_start":236025,"byte_end":236032,"line_start":463,"line_end":463,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 18 }","value":"[closure@src/pointer/geo.rs:463:23: 463:52]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722358},"span":{"file_name":"src/pointer/geo.rs","byte_start":236079,"byte_end":236083,"line_start":465,"line_end":465,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 38 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415990},"span":{"file_name":"src/pointer/geo.rs","byte_start":236181,"byte_end":236185,"line_start":467,"line_end":467,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 44 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198262},"span":{"file_name":"src/pointer/geo.rs","byte_start":236212,"byte_end":236228,"line_start":469,"line_end":469,"column_start":13,"column_end":29},"name":"value_bytes_size","qualname":"value_bytes_size$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838861558},"span":{"file_name":"src/pointer/geo.rs","byte_start":236333,"byte_end":236344,"line_start":475,"line_end":475,"column_start":13,"column_end":24},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 76 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388998390},"span":{"file_name":"src/pointer/geo.rs","byte_start":236370,"byte_end":236386,"line_start":477,"line_end":477,"column_start":13,"column_end":29},"name":"half_value_bytes","qualname":"half_value_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 83 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276790},"span":{"file_name":"src/pointer/geo.rs","byte_start":236424,"byte_end":236431,"line_start":479,"line_end":479,"column_start":13,"column_end":20},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 102 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650800886},"span":{"file_name":"src/pointer/geo.rs","byte_start":236492,"byte_end":236499,"line_start":480,"line_end":480,"column_start":13,"column_end":20},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 121 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3258974966},"span":{"file_name":"src/pointer/geo.rs","byte_start":236606,"byte_end":236617,"line_start":483,"line_end":483,"column_start":13,"column_end":24},"name":"value_bytes","qualname":"value_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 579 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285213430},"span":{"file_name":"src/pointer/geo.rs","byte_start":236673,"byte_end":236676,"line_start":485,"line_end":485,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 136 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":687866614},"span":{"file_name":"src/pointer/geo.rs","byte_start":236729,"byte_end":236736,"line_start":487,"line_end":487,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 148 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2231370486},"span":{"file_name":"src/pointer/geo.rs","byte_start":236782,"byte_end":236791,"line_start":488,"line_end":488,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 161 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962935030},"span":{"file_name":"src/pointer/geo.rs","byte_start":236858,"byte_end":236867,"line_start":489,"line_end":489,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 174 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076864246},"span":{"file_name":"src/pointer/geo.rs","byte_start":237093,"byte_end":237094,"line_start":495,"line_end":495,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 207 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":947913462},"span":{"file_name":"src/pointer/geo.rs","byte_start":237435,"byte_end":237438,"line_start":505,"line_end":505,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 284 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":343933686},"span":{"file_name":"src/pointer/geo.rs","byte_start":237490,"byte_end":237497,"line_start":507,"line_end":507,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 296 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894070518},"span":{"file_name":"src/pointer/geo.rs","byte_start":237543,"byte_end":237552,"line_start":508,"line_end":508,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 309 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685622},"span":{"file_name":"src/pointer/geo.rs","byte_start":237619,"byte_end":237628,"line_start":509,"line_end":509,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 322 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3330278134},"span":{"file_name":"src/pointer/geo.rs","byte_start":237854,"byte_end":237855,"line_start":515,"line_end":515,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 355 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493174},"span":{"file_name":"src/pointer/geo.rs","byte_start":238196,"byte_end":238199,"line_start":525,"line_end":525,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1031799542},"span":{"file_name":"src/pointer/geo.rs","byte_start":238251,"byte_end":238258,"line_start":527,"line_end":527,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 444 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2474640118},"span":{"file_name":"src/pointer/geo.rs","byte_start":238304,"byte_end":238313,"line_start":528,"line_end":528,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 457 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803551478},"span":{"file_name":"src/pointer/geo.rs","byte_start":238380,"byte_end":238389,"line_start":529,"line_end":529,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 470 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4018143990},"span":{"file_name":"src/pointer/geo.rs","byte_start":238615,"byte_end":238616,"line_start":535,"line_end":535,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 503 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1916797686},"span":{"file_name":"src/pointer/geo.rs","byte_start":239003,"byte_end":239016,"line_start":549,"line_end":549,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 590 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":641729270},"span":{"file_name":"src/pointer/geo.rs","byte_start":239233,"byte_end":239234,"line_start":556,"line_end":556,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 612 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3502244598},"span":{"file_name":"src/pointer/geo.rs","byte_start":239801,"byte_end":239802,"line_start":575,"line_end":575,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:758 ~ no_proto[2d88]::pointer::geo::{impl#7}::set_value), local_id: 779 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742595},"span":{"file_name":"src/pointer/geo.rs","byte_start":240108,"byte_end":240114,"line_start":588,"line_end":588,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871683},"span":{"file_name":"src/pointer/geo.rs","byte_start":240128,"byte_end":240134,"line_start":588,"line_end":588,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":771},"span":{"file_name":"src/pointer/geo.rs","byte_start":240097,"byte_end":240107,"line_start":588,"line_end":588,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218499},"span":{"file_name":"src/pointer/geo.rs","byte_start":240222,"byte_end":240229,"line_start":590,"line_end":590,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 16 }","value":"[closure@src/pointer/geo.rs:590:23: 590:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879427},"span":{"file_name":"src/pointer/geo.rs","byte_start":240278,"byte_end":240288,"line_start":592,"line_end":592,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859203},"span":{"file_name":"src/pointer/geo.rs","byte_start":240433,"byte_end":240437,"line_start":598,"line_end":598,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 63 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909763},"span":{"file_name":"src/pointer/geo.rs","byte_start":240539,"byte_end":240543,"line_start":600,"line_end":600,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534979},"span":{"file_name":"src/pointer/geo.rs","byte_start":240641,"byte_end":240650,"line_start":605,"line_end":605,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 100 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040188163},"span":{"file_name":"src/pointer/geo.rs","byte_start":240738,"byte_end":240747,"line_start":606,"line_end":606,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 124 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3305112323},"span":{"file_name":"src/pointer/geo.rs","byte_start":240994,"byte_end":240997,"line_start":612,"line_end":612,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 163 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218104579},"span":{"file_name":"src/pointer/geo.rs","byte_start":241058,"byte_end":241061,"line_start":613,"line_end":613,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 176 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634023683},"span":{"file_name":"src/pointer/geo.rs","byte_start":241123,"byte_end":241126,"line_start":615,"line_end":615,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 185 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":654312195},"span":{"file_name":"src/pointer/geo.rs","byte_start":241280,"byte_end":241289,"line_start":620,"line_end":620,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 228 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1056965379},"span":{"file_name":"src/pointer/geo.rs","byte_start":241377,"byte_end":241386,"line_start":621,"line_end":621,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 252 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723715},"span":{"file_name":"src/pointer/geo.rs","byte_start":241633,"byte_end":241636,"line_start":627,"line_end":627,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 291 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":209715971},"span":{"file_name":"src/pointer/geo.rs","byte_start":241697,"byte_end":241700,"line_start":628,"line_end":628,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 304 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2625635075},"span":{"file_name":"src/pointer/geo.rs","byte_start":241762,"byte_end":241765,"line_start":630,"line_end":630,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 313 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":645923587},"span":{"file_name":"src/pointer/geo.rs","byte_start":241917,"byte_end":241926,"line_start":635,"line_end":635,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 356 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1048576771},"span":{"file_name":"src/pointer/geo.rs","byte_start":242014,"byte_end":242023,"line_start":636,"line_end":636,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 380 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3313500931},"span":{"file_name":"src/pointer/geo.rs","byte_start":242270,"byte_end":242273,"line_start":642,"line_end":642,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 419 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493187},"span":{"file_name":"src/pointer/geo.rs","byte_start":242334,"byte_end":242337,"line_start":643,"line_end":643,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2642412291},"span":{"file_name":"src/pointer/geo.rs","byte_start":242399,"byte_end":242402,"line_start":645,"line_end":645,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:771 ~ no_proto[2d88]::pointer::geo::{impl#7}::into_value), local_id: 441 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742609},"span":{"file_name":"src/pointer/geo.rs","byte_start":242610,"byte_end":242616,"line_start":655,"line_end":655,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871697},"span":{"file_name":"src/pointer/geo.rs","byte_start":242624,"byte_end":242630,"line_start":655,"line_end":655,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613521},"span":{"file_name":"src/pointer/geo.rs","byte_start":242644,"byte_end":242650,"line_start":655,"line_end":655,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":785},"span":{"file_name":"src/pointer/geo.rs","byte_start":242602,"byte_end":242609,"line_start":655,"line_end":655,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702161},"span":{"file_name":"src/pointer/geo.rs","byte_start":242749,"byte_end":242750,"line_start":658,"line_end":658,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314897},"span":{"file_name":"src/pointer/geo.rs","byte_start":242808,"byte_end":242809,"line_start":660,"line_end":660,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 23 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593297},"span":{"file_name":"src/pointer/geo.rs","byte_start":242848,"byte_end":242854,"line_start":661,"line_end":661,"column_start":33,"column_end":39},"name":"object","qualname":"object$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 33 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562961},"span":{"file_name":"src/pointer/geo.rs","byte_start":243191,"byte_end":243195,"line_start":670,"line_end":670,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 93 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979712273},"span":{"file_name":"src/pointer/geo.rs","byte_start":243374,"byte_end":243380,"line_start":673,"line_end":673,"column_start":37,"column_end":43},"name":"object","qualname":"object$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 110 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2231370513},"span":{"file_name":"src/pointer/geo.rs","byte_start":243849,"byte_end":243851,"line_start":686,"line_end":686,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:785 ~ no_proto[2d88]::pointer::geo::{impl#7}::to_json), local_id: 161 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742610},"span":{"file_name":"src/pointer/geo.rs","byte_start":243940,"byte_end":243946,"line_start":692,"line_end":692,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871698},"span":{"file_name":"src/pointer/geo.rs","byte_start":243972,"byte_end":243979,"line_start":692,"line_end":692,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":786},"span":{"file_name":"src/pointer/geo.rs","byte_start":243926,"byte_end":243939,"line_start":692,"line_end":692,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831250},"span":{"file_name":"src/pointer/geo.rs","byte_start":244038,"byte_end":244042,"line_start":694,"line_end":694,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:786 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301990674},"span":{"file_name":"src/pointer/geo.rs","byte_start":244122,"byte_end":244132,"line_start":696,"line_end":696,"column_start":17,"column_end":27},"name":"schema_idl","qualname":"schema_idl$HirId { owner: DefId(0:786 ~ no_proto[2d88]::pointer::geo::{impl#7}::schema_to_idl), local_id: 72 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742611},"span":{"file_name":"src/pointer/geo.rs","byte_start":244840,"byte_end":244846,"line_start":719,"line_end":719,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871699},"span":{"file_name":"src/pointer/geo.rs","byte_start":244871,"byte_end":244875,"line_start":719,"line_end":719,"column_start":62,"column_end":66},"name":"name","qualname":"::from_idl_to_schema::name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613523},"span":{"file_name":"src/pointer/geo.rs","byte_start":244883,"byte_end":244886,"line_start":719,"line_end":719,"column_start":74,"column_end":77},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436243},"span":{"file_name":"src/pointer/geo.rs","byte_start":244900,"byte_end":244904,"line_start":719,"line_end":719,"column_start":91,"column_end":95},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":787},"span":{"file_name":"src/pointer/geo.rs","byte_start":244817,"byte_end":244835,"line_start":719,"line_end":719,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831251},"span":{"file_name":"src/pointer/geo.rs","byte_start":244999,"byte_end":245006,"line_start":721,"line_end":721,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 22 }","value":"(bool, f64, f64)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722387},"span":{"file_name":"src/pointer/geo.rs","byte_start":245137,"byte_end":245147,"line_start":725,"line_end":725,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 38 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770579},"span":{"file_name":"src/pointer/geo.rs","byte_start":245180,"byte_end":245183,"line_start":726,"line_end":726,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 43 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416019},"span":{"file_name":"src/pointer/geo.rs","byte_start":245185,"byte_end":245190,"line_start":726,"line_end":726,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 44 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":570426131},"span":{"file_name":"src/pointer/geo.rs","byte_start":245377,"byte_end":245390,"line_start":729,"line_end":729,"column_start":62,"column_end":75},"name":"default_props","qualname":"default_props$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 68 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474323},"span":{"file_name":"src/pointer/geo.rs","byte_start":245439,"byte_end":245443,"line_start":730,"line_end":730,"column_start":42,"column_end":46},"name":"dkey","qualname":"dkey$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 73 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732499},"span":{"file_name":"src/pointer/geo.rs","byte_start":245445,"byte_end":245451,"line_start":730,"line_end":730,"column_start":48,"column_end":54},"name":"dvalue","qualname":"dvalue$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 74 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3590325011},"span":{"file_name":"src/pointer/geo.rs","byte_start":245809,"byte_end":245813,"line_start":735,"line_end":735,"column_start":69,"column_end":73},"name":"addr","qualname":"addr$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 107 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3724542739},"span":{"file_name":"src/pointer/geo.rs","byte_start":245988,"byte_end":245989,"line_start":737,"line_end":737,"column_start":64,"column_end":65},"name":"x","qualname":"x$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 123 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2164261651},"span":{"file_name":"src/pointer/geo.rs","byte_start":246061,"byte_end":246063,"line_start":738,"line_end":738,"column_start":65,"column_end":67},"name":"_e","qualname":"_e$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 129 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2499805971},"span":{"file_name":"src/pointer/geo.rs","byte_start":246665,"byte_end":246669,"line_start":747,"line_end":747,"column_start":69,"column_end":73},"name":"addr","qualname":"addr$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 169 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634023699},"span":{"file_name":"src/pointer/geo.rs","byte_start":246844,"byte_end":246845,"line_start":749,"line_end":749,"column_start":64,"column_end":65},"name":"x","qualname":"x$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 185 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244636435},"span":{"file_name":"src/pointer/geo.rs","byte_start":246917,"byte_end":246919,"line_start":750,"line_end":750,"column_start":65,"column_end":67},"name":"_e","qualname":"_e$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 191 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":612369171},"span":{"file_name":"src/pointer/geo.rs","byte_start":247624,"byte_end":247628,"line_start":769,"line_end":769,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 292 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2726298387},"span":{"file_name":"src/pointer/geo.rs","byte_start":247764,"byte_end":247771,"line_start":776,"line_end":776,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 325 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2323645203},"span":{"file_name":"src/pointer/geo.rs","byte_start":247964,"byte_end":247975,"line_start":784,"line_end":784,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 337 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":897581843},"span":{"file_name":"src/pointer/geo.rs","byte_start":248093,"byte_end":248100,"line_start":787,"line_end":787,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 428 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":377488147},"span":{"file_name":"src/pointer/geo.rs","byte_start":248136,"byte_end":248137,"line_start":788,"line_end":788,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 360 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3514827539},"span":{"file_name":"src/pointer/geo.rs","byte_start":248303,"byte_end":248304,"line_start":792,"line_end":792,"column_start":21,"column_end":22},"name":"g","qualname":"g$HirId { owner: DefId(0:787 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 395 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742612},"span":{"file_name":"src/pointer/geo.rs","byte_start":248820,"byte_end":248826,"line_start":809,"line_end":809,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871700},"span":{"file_name":"src/pointer/geo.rs","byte_start":248834,"byte_end":248840,"line_start":809,"line_end":809,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613524},"span":{"file_name":"src/pointer/geo.rs","byte_start":248854,"byte_end":248860,"line_start":809,"line_end":809,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":788},"span":{"file_name":"src/pointer/geo.rs","byte_start":248811,"byte_end":248819,"line_start":809,"line_end":809,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960340},"span":{"file_name":"src/pointer/geo.rs","byte_start":248916,"byte_end":248923,"line_start":811,"line_end":811,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:788 ~ no_proto[2d88]::pointer::geo::{impl#7}::get_size), local_id: 18 }","value":"[closure@src/pointer/geo.rs:811:23: 811:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395796},"span":{"file_name":"src/pointer/geo.rs","byte_start":248972,"byte_end":248982,"line_start":813,"line_end":813,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:788 ~ no_proto[2d88]::pointer::geo::{impl#7}::get_size), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504660},"span":{"file_name":"src/pointer/geo.rs","byte_start":249102,"byte_end":249106,"line_start":818,"line_end":818,"column_start":17,"column_end":21},"name":"data","qualname":"data$HirId { owner: DefId(0:788 ~ no_proto[2d88]::pointer::geo::{impl#7}::get_size), local_id: 58 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742614},"span":{"file_name":"src/pointer/geo.rs","byte_start":249274,"byte_end":249280,"line_start":823,"line_end":823,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871702},"span":{"file_name":"src/pointer/geo.rs","byte_start":249305,"byte_end":249316,"line_start":823,"line_end":823,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":790},"span":{"file_name":"src/pointer/geo.rs","byte_start":249250,"byte_end":249269,"line_start":823,"line_end":823,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750358},"span":{"file_name":"src/pointer/geo.rs","byte_start":249408,"byte_end":249416,"line_start":825,"line_end":825,"column_start":13,"column_end":21},"name":"type_str","qualname":"type_str$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069206},"span":{"file_name":"src/pointer/geo.rs","byte_start":249539,"byte_end":249550,"line_start":829,"line_end":829,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 50 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886870},"span":{"file_name":"src/pointer/geo.rs","byte_start":249689,"byte_end":249696,"line_start":832,"line_end":832,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 160 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562966},"span":{"file_name":"src/pointer/geo.rs","byte_start":249768,"byte_end":249769,"line_start":833,"line_end":833,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 93 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16778006},"span":{"file_name":"src/pointer/geo.rs","byte_start":249967,"byte_end":249968,"line_start":837,"line_end":837,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 128 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385876758},"span":{"file_name":"src/pointer/geo.rs","byte_start":250626,"byte_end":250637,"line_start":854,"line_end":854,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 232 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1786774294},"span":{"file_name":"src/pointer/geo.rs","byte_start":250776,"byte_end":250783,"line_start":857,"line_end":857,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 342 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3363832598},"span":{"file_name":"src/pointer/geo.rs","byte_start":250855,"byte_end":250856,"line_start":858,"line_end":858,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 275 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1820328726},"span":{"file_name":"src/pointer/geo.rs","byte_start":251054,"byte_end":251055,"line_start":862,"line_end":862,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 310 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2038432534},"span":{"file_name":"src/pointer/geo.rs","byte_start":251714,"byte_end":251725,"line_start":879,"line_end":879,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 414 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":809501462},"span":{"file_name":"src/pointer/geo.rs","byte_start":251865,"byte_end":251872,"line_start":882,"line_end":882,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 524 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2474640150},"span":{"file_name":"src/pointer/geo.rs","byte_start":251945,"byte_end":251946,"line_start":883,"line_end":883,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 457 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":931136278},"span":{"file_name":"src/pointer/geo.rs","byte_start":252144,"byte_end":252145,"line_start":887,"line_end":887,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:790 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 492 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742615},"span":{"file_name":"src/pointer/geo.rs","byte_start":252892,"byte_end":252898,"line_start":909,"line_end":909,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871703},"span":{"file_name":"src/pointer/geo.rs","byte_start":252923,"byte_end":252930,"line_start":909,"line_end":909,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613527},"span":{"file_name":"src/pointer/geo.rs","byte_start":252939,"byte_end":252944,"line_start":909,"line_end":909,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":791},"span":{"file_name":"src/pointer/geo.rs","byte_start":252867,"byte_end":252887,"line_start":909,"line_end":909,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218519},"span":{"file_name":"src/pointer/geo.rs","byte_start":253000,"byte_end":253004,"line_start":910,"line_end":910,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053454103},"span":{"file_name":"src/pointer/geo.rs","byte_start":253514,"byte_end":253517,"line_start":926,"line_end":926,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 109 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261413655},"span":{"file_name":"src/pointer/geo.rs","byte_start":253578,"byte_end":253581,"line_start":927,"line_end":927,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 127 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298479383},"span":{"file_name":"src/pointer/geo.rs","byte_start":253642,"byte_end":253655,"line_start":928,"line_end":928,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 145 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":654312215},"span":{"file_name":"src/pointer/geo.rs","byte_start":254156,"byte_end":254159,"line_start":938,"line_end":938,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 228 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1862271767},"span":{"file_name":"src/pointer/geo.rs","byte_start":254220,"byte_end":254223,"line_start":939,"line_end":939,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 246 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":276824855},"span":{"file_name":"src/pointer/geo.rs","byte_start":254285,"byte_end":254298,"line_start":940,"line_end":940,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 264 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3665822487},"span":{"file_name":"src/pointer/geo.rs","byte_start":254800,"byte_end":254803,"line_start":950,"line_end":950,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 347 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3061842711},"span":{"file_name":"src/pointer/geo.rs","byte_start":254865,"byte_end":254868,"line_start":951,"line_end":951,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 365 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4269802263},"span":{"file_name":"src/pointer/geo.rs","byte_start":254931,"byte_end":254944,"line_start":952,"line_end":952,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:791 ~ no_proto[2d88]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 383 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":792},"span":{"file_name":"src/pointer/dec.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"dec","qualname":"::pointer::dec","value":"src/pointer/dec.rs","parent":null,"children":[{"krate":0,"index":793},{"krate":0,"index":794},{"krate":0,"index":797},{"krate":0,"index":800},{"krate":0,"index":803},{"krate":0,"index":804},{"krate":0,"index":805},{"krate":0,"index":808},{"krate":0,"index":811},{"krate":0,"index":812},{"krate":0,"index":815},{"krate":0,"index":818},{"krate":0,"index":821},{"krate":0,"index":822},{"krate":0,"index":825},{"krate":0,"index":828},{"krate":0,"index":831},{"krate":0,"index":832},{"krate":0,"index":835},{"krate":0,"index":838},{"krate":0,"index":839},{"krate":0,"index":842},{"krate":0,"index":843},{"krate":0,"index":846},{"krate":0,"index":849},{"krate":0,"index":850},{"krate":0,"index":851},{"krate":0,"index":852},{"krate":0,"index":854},{"krate":0,"index":857},{"krate":0,"index":858},{"krate":0,"index":861},{"krate":0,"index":864},{"krate":0,"index":3154},{"krate":0,"index":3157},{"krate":0,"index":3159},{"krate":0,"index":3160},{"krate":0,"index":867},{"krate":0,"index":872},{"krate":0,"index":878},{"krate":0,"index":881},{"krate":0,"index":887},{"krate":0,"index":889},{"krate":0,"index":891},{"krate":0,"index":893},{"krate":0,"index":895},{"krate":0,"index":896},{"krate":0,"index":897},{"krate":0,"index":898},{"krate":0,"index":899},{"krate":0,"index":900},{"krate":0,"index":901},{"krate":0,"index":903},{"krate":0,"index":905},{"krate":0,"index":907},{"krate":0,"index":909},{"krate":0,"index":911},{"krate":0,"index":914},{"krate":0,"index":916},{"krate":0,"index":919},{"krate":0,"index":921},{"krate":0,"index":924},{"krate":0,"index":926},{"krate":0,"index":929},{"krate":0,"index":931}],"decl_id":null,"docs":" Represents a fixed point decimal number.\n \n Allows floating point values to be stored without rounding errors, useful for storing financial data.\n \n Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot.\n \n NP_Dec values contain two parts:\n 1. The actual number value (`num`)\n 2. The position of the decimal point from the right (`exp`)\n \n A value of \"2039.756\" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`.\n \n The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. \n \n If `exp` is zero, all values stored are whole numbers.\n \n For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. \n However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13.\n \n Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision.\n \n `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect.\n \n When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n // Creating a new NP_Dec for 20.49\n let mut dec = NP_Dec::new(2049, 2);\n \n // add 2\n dec += NP_Dec::new(200, 2);\n \n // add 0.03\n dec += NP_Dec::new(3, 2);\n \n // convert float then use it to minus 5\n let mut f: NP_Dec = 5.0_f64.into();\n f.shift_exp(2); // set new NP_Dec to `exp` of 2.\n dec -= f; // subtract\n \n assert_eq!(dec.to_float(), 17.52_f64);\n \n ```\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::dec::NP_Dec;\n \n let factory: NP_Factory = NP_Factory::new(\"dec({exp: 2})\")?;","sig":null,"attributes":[{"value":"/ Represents a fixed point decimal number.","span":{"file_name":"src/pointer/dec.rs","byte_start":260835,"byte_end":260879,"line_start":1,"line_end":1,"column_start":1,"column_end":45}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":260880,"byte_end":260884,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Allows floating point values to be stored without rounding errors, useful for storing financial data.","span":{"file_name":"src/pointer/dec.rs","byte_start":260885,"byte_end":260990,"line_start":3,"line_end":3,"column_start":1,"column_end":106}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":260991,"byte_end":260995,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot.","span":{"file_name":"src/pointer/dec.rs","byte_start":260996,"byte_end":261091,"line_start":5,"line_end":5,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261092,"byte_end":261096,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ NP_Dec values contain two parts:","span":{"file_name":"src/pointer/dec.rs","byte_start":261097,"byte_end":261133,"line_start":7,"line_end":7,"column_start":1,"column_end":37}},{"value":"/ 1. The actual number value (`num`)","span":{"file_name":"src/pointer/dec.rs","byte_start":261134,"byte_end":261176,"line_start":8,"line_end":8,"column_start":1,"column_end":43}},{"value":"/ 2. The position of the decimal point from the right (`exp`)","span":{"file_name":"src/pointer/dec.rs","byte_start":261177,"byte_end":261244,"line_start":9,"line_end":9,"column_start":1,"column_end":68}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261245,"byte_end":261249,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ A value of \"2039.756\" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`.","span":{"file_name":"src/pointer/dec.rs","byte_start":261250,"byte_end":261391,"line_start":11,"line_end":11,"column_start":1,"column_end":142}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261392,"byte_end":261396,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. ","span":{"file_name":"src/pointer/dec.rs","byte_start":261397,"byte_end":261557,"line_start":13,"line_end":13,"column_start":1,"column_end":161}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261558,"byte_end":261562,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ If `exp` is zero, all values stored are whole numbers.","span":{"file_name":"src/pointer/dec.rs","byte_start":261563,"byte_end":261621,"line_start":15,"line_end":15,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261622,"byte_end":261626,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. ","span":{"file_name":"src/pointer/dec.rs","byte_start":261627,"byte_end":261796,"line_start":17,"line_end":17,"column_start":1,"column_end":170}},{"value":"/ However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13.","span":{"file_name":"src/pointer/dec.rs","byte_start":261797,"byte_end":261984,"line_start":18,"line_end":18,"column_start":1,"column_end":188}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261985,"byte_end":261989,"line_start":19,"line_end":19,"column_start":1,"column_end":5}},{"value":"/ Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision.","span":{"file_name":"src/pointer/dec.rs","byte_start":261990,"byte_end":262146,"line_start":20,"line_end":20,"column_start":1,"column_end":157}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262147,"byte_end":262151,"line_start":21,"line_end":21,"column_start":1,"column_end":5}},{"value":"/ `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect.","span":{"file_name":"src/pointer/dec.rs","byte_start":262152,"byte_end":262430,"line_start":22,"line_end":22,"column_start":1,"column_end":279}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262431,"byte_end":262435,"line_start":23,"line_end":23,"column_start":1,"column_end":5}},{"value":"/ When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema.","span":{"file_name":"src/pointer/dec.rs","byte_start":262436,"byte_end":262588,"line_start":24,"line_end":24,"column_start":1,"column_end":153}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262589,"byte_end":262593,"line_start":25,"line_end":25,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":262594,"byte_end":262601,"line_start":26,"line_end":26,"column_start":1,"column_end":8}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":262602,"byte_end":262641,"line_start":27,"line_end":27,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262642,"byte_end":262646,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ // Creating a new NP_Dec for 20.49","span":{"file_name":"src/pointer/dec.rs","byte_start":262647,"byte_end":262685,"line_start":29,"line_end":29,"column_start":1,"column_end":39}},{"value":"/ let mut dec = NP_Dec::new(2049, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262686,"byte_end":262725,"line_start":30,"line_end":30,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262726,"byte_end":262730,"line_start":31,"line_end":31,"column_start":1,"column_end":5}},{"value":"/ // add 2","span":{"file_name":"src/pointer/dec.rs","byte_start":262731,"byte_end":262743,"line_start":32,"line_end":32,"column_start":1,"column_end":13}},{"value":"/ dec += NP_Dec::new(200, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262744,"byte_end":262775,"line_start":33,"line_end":33,"column_start":1,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262776,"byte_end":262780,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ // add 0.03","span":{"file_name":"src/pointer/dec.rs","byte_start":262781,"byte_end":262796,"line_start":35,"line_end":35,"column_start":1,"column_end":16}},{"value":"/ dec += NP_Dec::new(3, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262797,"byte_end":262826,"line_start":36,"line_end":36,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262827,"byte_end":262831,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ // convert float then use it to minus 5","span":{"file_name":"src/pointer/dec.rs","byte_start":262832,"byte_end":262875,"line_start":38,"line_end":38,"column_start":1,"column_end":44}},{"value":"/ let mut f: NP_Dec = 5.0_f64.into();","span":{"file_name":"src/pointer/dec.rs","byte_start":262876,"byte_end":262915,"line_start":39,"line_end":39,"column_start":1,"column_end":40}},{"value":"/ f.shift_exp(2); // set new NP_Dec to `exp` of 2.","span":{"file_name":"src/pointer/dec.rs","byte_start":262916,"byte_end":262968,"line_start":40,"line_end":40,"column_start":1,"column_end":53}},{"value":"/ dec -= f; // subtract","span":{"file_name":"src/pointer/dec.rs","byte_start":262969,"byte_end":262994,"line_start":41,"line_end":41,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262995,"byte_end":262999,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(dec.to_float(), 17.52_f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":263000,"byte_end":263042,"line_start":43,"line_end":43,"column_start":1,"column_end":43}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263043,"byte_end":263047,"line_start":44,"line_end":44,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263048,"byte_end":263055,"line_start":45,"line_end":45,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263056,"byte_end":263060,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263061,"byte_end":263068,"line_start":47,"line_end":47,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/dec.rs","byte_start":263069,"byte_end":263103,"line_start":48,"line_end":48,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/dec.rs","byte_start":263104,"byte_end":263133,"line_start":49,"line_end":49,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":263134,"byte_end":263173,"line_start":50,"line_end":50,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263174,"byte_end":263178,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"dec({exp: 2})\")?;","span":{"file_name":"src/pointer/dec.rs","byte_start":263179,"byte_end":263243,"line_start":52,"line_end":52,"column_start":1,"column_end":65}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263244,"byte_end":263247,"line_start":53,"line_end":53,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/dec.rs","byte_start":263248,"byte_end":263298,"line_start":54,"line_end":54,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Dec::new(50283, 2))?;","span":{"file_name":"src/pointer/dec.rs","byte_start":263299,"byte_end":263347,"line_start":55,"line_end":55,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263348,"byte_end":263352,"line_start":56,"line_end":56,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float());","span":{"file_name":"src/pointer/dec.rs","byte_start":263353,"byte_end":263431,"line_start":57,"line_end":57,"column_start":1,"column_end":79}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263432,"byte_end":263435,"line_start":58,"line_end":58,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/dec.rs","byte_start":263436,"byte_end":263465,"line_start":59,"line_end":59,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263466,"byte_end":263473,"line_start":60,"line_end":60,"column_start":1,"column_end":8}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263474,"byte_end":263477,"line_start":61,"line_end":61,"column_start":1,"column_end":4}}]},{"kind":"Struct","id":{"krate":0,"index":3154},"span":{"file_name":"src/pointer/dec.rs","byte_start":264124,"byte_end":264130,"line_start":84,"line_end":84,"column_start":12,"column_end":18},"name":"NP_Dec","qualname":"::pointer::dec::NP_Dec","value":"NP_Dec { num, exp }","parent":null,"children":[{"krate":0,"index":3155},{"krate":0,"index":3156}],"decl_id":null,"docs":" Holds fixed decimal data.\n \n Check out documentation [here](../dec/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds fixed decimal data.","span":{"file_name":"src/pointer/dec.rs","byte_start":263988,"byte_end":264017,"line_start":79,"line_end":79,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":264018,"byte_end":264022,"line_start":80,"line_end":80,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../dec/index.html).","span":{"file_name":"src/pointer/dec.rs","byte_start":264023,"byte_end":264077,"line_start":81,"line_end":81,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":264078,"byte_end":264082,"line_start":82,"line_end":82,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3155},"span":{"file_name":"src/pointer/dec.rs","byte_start":264210,"byte_end":264213,"line_start":86,"line_end":86,"column_start":9,"column_end":12},"name":"num","qualname":"::pointer::dec::NP_Dec::num","value":"i64","parent":{"krate":0,"index":3154},"children":[],"decl_id":null,"docs":" The number being stored, does not include decimal point data\n","sig":null,"attributes":[{"value":"/ The number being stored, does not include decimal point data","span":{"file_name":"src/pointer/dec.rs","byte_start":264137,"byte_end":264201,"line_start":85,"line_end":85,"column_start":5,"column_end":69}}]},{"kind":"Field","id":{"krate":0,"index":3156},"span":{"file_name":"src/pointer/dec.rs","byte_start":264264,"byte_end":264267,"line_start":88,"line_end":88,"column_start":9,"column_end":12},"name":"exp","qualname":"::pointer::dec::NP_Dec::exp","value":"u8","parent":{"krate":0,"index":3154},"children":[],"decl_id":null,"docs":" The exponent of this number\n","sig":null,"attributes":[{"value":"/ The exponent of this number","span":{"file_name":"src/pointer/dec.rs","byte_start":264224,"byte_end":264255,"line_start":87,"line_end":87,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":1073742693},"span":{"file_name":"src/pointer/dec.rs","byte_start":264348,"byte_end":264354,"line_start":92,"line_end":92,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":869},"span":{"file_name":"src/pointer/dec.rs","byte_start":264333,"byte_end":264347,"line_start":92,"line_end":92,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702245},"span":{"file_name":"src/pointer/dec.rs","byte_start":264423,"byte_end":264427,"line_start":93,"line_end":93,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:869 ~ no_proto[2d88]::pointer::dec::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742694},"span":{"file_name":"src/pointer/dec.rs","byte_start":264554,"byte_end":264560,"line_start":97,"line_end":97,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871782},"span":{"file_name":"src/pointer/dec.rs","byte_start":264574,"byte_end":264580,"line_start":97,"line_end":97,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":870},"span":{"file_name":"src/pointer/dec.rs","byte_start":264541,"byte_end":264553,"line_start":97,"line_end":97,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654054},"span":{"file_name":"src/pointer/dec.rs","byte_start":264624,"byte_end":264628,"line_start":98,"line_end":98,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:870 ~ no_proto[2d88]::pointer::dec::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742695},"span":{"file_name":"src/pointer/dec.rs","byte_start":264786,"byte_end":264792,"line_start":102,"line_end":102,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871783},"span":{"file_name":"src/pointer/dec.rs","byte_start":264806,"byte_end":264812,"line_start":102,"line_end":102,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":871},"span":{"file_name":"src/pointer/dec.rs","byte_start":264773,"byte_end":264785,"line_start":102,"line_end":102,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654055},"span":{"file_name":"src/pointer/dec.rs","byte_start":264856,"byte_end":264860,"line_start":103,"line_end":103,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:871 ~ no_proto[2d88]::pointer::dec::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742697},"span":{"file_name":"src/pointer/dec.rs","byte_start":265407,"byte_end":265411,"line_start":121,"line_end":121,"column_start":22,"column_end":26},"name":"self","qualname":"::to_float::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":873},"span":{"file_name":"src/pointer/dec.rs","byte_start":265397,"byte_end":265405,"line_start":121,"line_end":121,"column_start":12,"column_end":20},"name":"to_float","qualname":"::to_float","value":"pub fn to_float(&Self) -> f64","parent":null,"children":[],"decl_id":null,"docs":" Convert an NP_Dec into a native floating point value.\n \n DO NOT use this to perform calculations, only to export/display the value.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n assert_eq!(my_num.to_float(), 2.203f64);\n ```\n \n","sig":null,"attributes":[{"value":"/ Convert an NP_Dec into a native floating point value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265018,"byte_end":265075,"line_start":109,"line_end":109,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265080,"byte_end":265084,"line_start":110,"line_end":110,"column_start":5,"column_end":9}},{"value":"/ DO NOT use this to perform calculations, only to export/display the value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265089,"byte_end":265167,"line_start":111,"line_end":111,"column_start":5,"column_end":83}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265172,"byte_end":265176,"line_start":112,"line_end":112,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265181,"byte_end":265188,"line_start":113,"line_end":113,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":265193,"byte_end":265232,"line_start":114,"line_end":114,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265237,"byte_end":265245,"line_start":115,"line_end":115,"column_start":5,"column_end":13}},{"value":"/ let my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":265250,"byte_end":265306,"line_start":116,"line_end":116,"column_start":5,"column_end":61}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265311,"byte_end":265315,"line_start":117,"line_end":117,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.to_float(), 2.203f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":265320,"byte_end":265364,"line_start":118,"line_end":118,"column_start":5,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265369,"byte_end":265376,"line_start":119,"line_end":119,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265381,"byte_end":265385,"line_start":120,"line_end":120,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489661801},"span":{"file_name":"src/pointer/dec.rs","byte_start":265434,"byte_end":265435,"line_start":122,"line_end":122,"column_start":13,"column_end":14},"name":"m","qualname":"m$HirId { owner: DefId(0:873 ~ no_proto[2d88]::pointer::dec::{impl#1}::to_float), local_id: 11 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702249},"span":{"file_name":"src/pointer/dec.rs","byte_start":265471,"byte_end":265475,"line_start":123,"line_end":123,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:873 ~ no_proto[2d88]::pointer::dec::{impl#1}::to_float), local_id: 17 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818573161},"span":{"file_name":"src/pointer/dec.rs","byte_start":265504,"byte_end":265505,"line_start":124,"line_end":124,"column_start":17,"column_end":18},"name":"s","qualname":"s$HirId { owner: DefId(0:873 ~ no_proto[2d88]::pointer::dec::{impl#1}::to_float), local_id: 21 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742698},"span":{"file_name":"src/pointer/dec.rs","byte_start":266374,"byte_end":266378,"line_start":148,"line_end":148,"column_start":27,"column_end":31},"name":"self","qualname":"::shift_exp::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871786},"span":{"file_name":"src/pointer/dec.rs","byte_start":266380,"byte_end":266387,"line_start":148,"line_end":148,"column_start":33,"column_end":40},"name":"new_exp","qualname":"::shift_exp::new_exp","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":874},"span":{"file_name":"src/pointer/dec.rs","byte_start":266359,"byte_end":266368,"line_start":148,"line_end":148,"column_start":12,"column_end":21},"name":"shift_exp","qualname":"::shift_exp","value":"pub fn shift_exp(&mut Self, u8) -> NP_Dec","parent":null,"children":[],"decl_id":null,"docs":" Shift the exponent of this NP_Dec to a new value.\n \n If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value.\n \n If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let mut my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2\n \n assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the \"03\" at the end because of reducing the `exp` value. \n \n ```\n","sig":null,"attributes":[{"value":"/ Shift the exponent of this NP_Dec to a new value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265621,"byte_end":265674,"line_start":132,"line_end":132,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265679,"byte_end":265683,"line_start":133,"line_end":133,"column_start":5,"column_end":9}},{"value":"/ If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265688,"byte_end":265793,"line_start":134,"line_end":134,"column_start":5,"column_end":110}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265798,"byte_end":265802,"line_start":135,"line_end":135,"column_start":5,"column_end":9}},{"value":"/ If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number.","span":{"file_name":"src/pointer/dec.rs","byte_start":265807,"byte_end":265947,"line_start":136,"line_end":136,"column_start":5,"column_end":145}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265952,"byte_end":265956,"line_start":137,"line_end":137,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265961,"byte_end":265968,"line_start":138,"line_end":138,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":265973,"byte_end":266012,"line_start":139,"line_end":139,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266017,"byte_end":266021,"line_start":140,"line_end":140,"column_start":5,"column_end":9}},{"value":"/ let mut my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":266026,"byte_end":266086,"line_start":141,"line_end":141,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266091,"byte_end":266095,"line_start":142,"line_end":142,"column_start":5,"column_end":9}},{"value":"/ my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2","span":{"file_name":"src/pointer/dec.rs","byte_start":266100,"byte_end":266190,"line_start":143,"line_end":143,"column_start":5,"column_end":95}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266195,"byte_end":266199,"line_start":144,"line_end":144,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the \"03\" at the end because of reducing the `exp` value. ","span":{"file_name":"src/pointer/dec.rs","byte_start":266204,"byte_end":266326,"line_start":145,"line_end":145,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266331,"byte_end":266335,"line_start":146,"line_end":146,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":266340,"byte_end":266347,"line_start":147,"line_end":147,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":3355444074},"span":{"file_name":"src/pointer/dec.rs","byte_start":266417,"byte_end":266421,"line_start":149,"line_end":149,"column_start":13,"column_end":17},"name":"diff","qualname":"diff$HirId { owner: DefId(0:874 ~ no_proto[2d88]::pointer::dec::{impl#1}::shift_exp), local_id: 19 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008618},"span":{"file_name":"src/pointer/dec.rs","byte_start":266475,"byte_end":266479,"line_start":151,"line_end":151,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:874 ~ no_proto[2d88]::pointer::dec::{impl#1}::shift_exp), local_id: 29 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742699},"span":{"file_name":"src/pointer/dec.rs","byte_start":267781,"byte_end":267784,"line_start":198,"line_end":198,"column_start":16,"column_end":19},"name":"num","qualname":"::new::num","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871787},"span":{"file_name":"src/pointer/dec.rs","byte_start":267791,"byte_end":267794,"line_start":198,"line_end":198,"column_start":26,"column_end":29},"name":"exp","qualname":"::new::exp","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":875},"span":{"file_name":"src/pointer/dec.rs","byte_start":267777,"byte_end":267780,"line_start":198,"line_end":198,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(i64, u8) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new NP_Dec value\n \n First argument is the `num` value, second is the `exp` or exponent.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let x = NP_Dec::new(2, 0); // stores \"2.00\"\n assert_eq!(x.to_float(), 2f64);\n \n let x = NP_Dec::new(2, 1); // stores \"0.20\"\n assert_eq!(x.to_float(), 0.2f64);\n \n let x = NP_Dec::new(2, 2); // stores \"0.02\"\n assert_eq!(x.to_float(), 0.02f64);\n \n let x = NP_Dec::new(5928, 1); // stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n let x = NP_Dec::new(59280, 2); // also stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n let x = NP_Dec::new(592800, 3); // also stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n ```\n","sig":null,"attributes":[{"value":"/ Generate a new NP_Dec value","span":{"file_name":"src/pointer/dec.rs","byte_start":266915,"byte_end":266946,"line_start":172,"line_end":172,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266951,"byte_end":266955,"line_start":173,"line_end":173,"column_start":5,"column_end":9}},{"value":"/ First argument is the `num` value, second is the `exp` or exponent.","span":{"file_name":"src/pointer/dec.rs","byte_start":266960,"byte_end":267031,"line_start":174,"line_end":174,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267036,"byte_end":267040,"line_start":175,"line_end":175,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":267045,"byte_end":267052,"line_start":176,"line_end":176,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":267057,"byte_end":267096,"line_start":177,"line_end":177,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267101,"byte_end":267105,"line_start":178,"line_end":178,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 0); // stores \"2.00\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267110,"byte_end":267157,"line_start":179,"line_end":179,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 2f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267162,"byte_end":267197,"line_start":180,"line_end":180,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267202,"byte_end":267206,"line_start":181,"line_end":181,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 1); // stores \"0.20\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267211,"byte_end":267258,"line_start":182,"line_end":182,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 0.2f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267263,"byte_end":267300,"line_start":183,"line_end":183,"column_start":5,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267305,"byte_end":267309,"line_start":184,"line_end":184,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 2); // stores \"0.02\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267314,"byte_end":267361,"line_start":185,"line_end":185,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 0.02f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267366,"byte_end":267404,"line_start":186,"line_end":186,"column_start":5,"column_end":43}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267409,"byte_end":267413,"line_start":187,"line_end":187,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(5928, 1); // stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267418,"byte_end":267469,"line_start":188,"line_end":188,"column_start":5,"column_end":56}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267474,"byte_end":267513,"line_start":189,"line_end":189,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267518,"byte_end":267522,"line_start":190,"line_end":190,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(59280, 2); // also stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267527,"byte_end":267584,"line_start":191,"line_end":191,"column_start":5,"column_end":62}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267589,"byte_end":267628,"line_start":192,"line_end":192,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267633,"byte_end":267637,"line_start":193,"line_end":193,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(592800, 3); // also stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267642,"byte_end":267700,"line_start":194,"line_end":194,"column_start":5,"column_end":63}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267705,"byte_end":267744,"line_start":195,"line_end":195,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267749,"byte_end":267753,"line_start":196,"line_end":196,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":267758,"byte_end":267765,"line_start":197,"line_end":197,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":1073742700},"span":{"file_name":"src/pointer/dec.rs","byte_start":268520,"byte_end":268524,"line_start":218,"line_end":218,"column_start":23,"column_end":27},"name":"self","qualname":"::match_exp::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871788},"span":{"file_name":"src/pointer/dec.rs","byte_start":268526,"byte_end":268531,"line_start":218,"line_end":218,"column_start":29,"column_end":34},"name":"other","qualname":"::match_exp::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":876},"span":{"file_name":"src/pointer/dec.rs","byte_start":268509,"byte_end":268518,"line_start":218,"line_end":218,"column_start":12,"column_end":21},"name":"match_exp","qualname":"::match_exp","value":"pub fn match_exp(&Self, &NP_Dec) -> NP_Dec","parent":null,"children":[],"decl_id":null,"docs":" Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec.\n \n This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let mut my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n let other_num = NP_Dec::new(50, 1); // value is 5.0\n \n let matched_dec = my_num.match_exp(&other_num);\n // `exp` values match now! They're both 3.\n assert_eq!(matched_dec.exp, my_num.exp);\n ```\n \n","sig":null,"attributes":[{"value":"/ Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec.","span":{"file_name":"src/pointer/dec.rs","byte_start":267849,"byte_end":267972,"line_start":202,"line_end":202,"column_start":5,"column_end":128}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267977,"byte_end":267981,"line_start":203,"line_end":203,"column_start":5,"column_end":9}},{"value":"/ This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy.","span":{"file_name":"src/pointer/dec.rs","byte_start":267986,"byte_end":268103,"line_start":204,"line_end":204,"column_start":5,"column_end":122}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268108,"byte_end":268112,"line_start":205,"line_end":205,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268117,"byte_end":268124,"line_start":206,"line_end":206,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":268129,"byte_end":268168,"line_start":207,"line_end":207,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268173,"byte_end":268177,"line_start":208,"line_end":208,"column_start":5,"column_end":9}},{"value":"/ let mut my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":268182,"byte_end":268242,"line_start":209,"line_end":209,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268247,"byte_end":268251,"line_start":210,"line_end":210,"column_start":5,"column_end":9}},{"value":"/ let other_num = NP_Dec::new(50, 1); // value is 5.0","span":{"file_name":"src/pointer/dec.rs","byte_start":268256,"byte_end":268311,"line_start":211,"line_end":211,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268316,"byte_end":268320,"line_start":212,"line_end":212,"column_start":5,"column_end":9}},{"value":"/ let matched_dec = my_num.match_exp(&other_num);","span":{"file_name":"src/pointer/dec.rs","byte_start":268325,"byte_end":268376,"line_start":213,"line_end":213,"column_start":5,"column_end":56}},{"value":"/ // `exp` values match now! They're both 3.","span":{"file_name":"src/pointer/dec.rs","byte_start":268381,"byte_end":268427,"line_start":214,"line_end":214,"column_start":5,"column_end":51}},{"value":"/ assert_eq!(matched_dec.exp, my_num.exp);","span":{"file_name":"src/pointer/dec.rs","byte_start":268432,"byte_end":268476,"line_start":215,"line_end":215,"column_start":5,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268481,"byte_end":268488,"line_start":216,"line_end":216,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268493,"byte_end":268497,"line_start":217,"line_end":217,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489661804},"span":{"file_name":"src/pointer/dec.rs","byte_start":268570,"byte_end":268580,"line_start":219,"line_end":219,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:876 ~ no_proto[2d88]::pointer::dec::{impl#1}::match_exp), local_id: 11 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742701},"span":{"file_name":"src/pointer/dec.rs","byte_start":269022,"byte_end":269026,"line_start":239,"line_end":239,"column_start":20,"column_end":24},"name":"self","qualname":"::export::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":877},"span":{"file_name":"src/pointer/dec.rs","byte_start":269014,"byte_end":269020,"line_start":239,"line_end":239,"column_start":12,"column_end":18},"name":"export","qualname":"::export","value":"pub fn export(&Self) -> (i64, u8)","parent":null,"children":[],"decl_id":null,"docs":" Export NP_Dec to it's component parts.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n assert_eq!(my_num.export(), (2203i64, 3u8));\n ```\n","sig":null,"attributes":[{"value":"/ Export NP_Dec to it's component parts.","span":{"file_name":"src/pointer/dec.rs","byte_start":268751,"byte_end":268793,"line_start":230,"line_end":230,"column_start":5,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268798,"byte_end":268802,"line_start":231,"line_end":231,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268807,"byte_end":268814,"line_start":232,"line_end":232,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":268819,"byte_end":268858,"line_start":233,"line_end":233,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268863,"byte_end":268867,"line_start":234,"line_end":234,"column_start":5,"column_end":9}},{"value":"/ let my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":268872,"byte_end":268928,"line_start":235,"line_end":235,"column_start":5,"column_end":61}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268933,"byte_end":268937,"line_start":236,"line_end":236,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.export(), (2203i64, 3u8));","span":{"file_name":"src/pointer/dec.rs","byte_start":268942,"byte_end":268990,"line_start":237,"line_end":237,"column_start":5,"column_end":53}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268995,"byte_end":269002,"line_start":238,"line_end":238,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":1073742703},"span":{"file_name":"src/pointer/dec.rs","byte_start":269728,"byte_end":269732,"line_start":265,"line_end":265,"column_start":12,"column_end":16},"name":"self","qualname":"::ne::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871791},"span":{"file_name":"src/pointer/dec.rs","byte_start":269734,"byte_end":269739,"line_start":265,"line_end":265,"column_start":18,"column_end":23},"name":"other","qualname":"::ne::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":879},"span":{"file_name":"src/pointer/dec.rs","byte_start":269724,"byte_end":269726,"line_start":265,"line_end":265,"column_start":8,"column_end":10},"name":"ne","qualname":"::ne","value":"fn ne(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2675},"children":[],"decl_id":{"krate":1,"index":2678},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464303},"span":{"file_name":"src/pointer/dec.rs","byte_start":269871,"byte_end":269878,"line_start":270,"line_end":270,"column_start":17,"column_end":24},"name":"new_exp","qualname":"new_exp$HirId { owner: DefId(0:879 ~ no_proto[2d88]::pointer::dec::{impl#2}::ne), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859311},"span":{"file_name":"src/pointer/dec.rs","byte_start":269927,"byte_end":269935,"line_start":271,"line_end":271,"column_start":17,"column_end":25},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:879 ~ no_proto[2d88]::pointer::dec::{impl#2}::ne), local_id: 63 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583692143},"span":{"file_name":"src/pointer/dec.rs","byte_start":270029,"byte_end":270038,"line_start":272,"line_end":272,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:879 ~ no_proto[2d88]::pointer::dec::{impl#2}::ne), local_id: 89 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742704},"span":{"file_name":"src/pointer/dec.rs","byte_start":270197,"byte_end":270201,"line_start":277,"line_end":277,"column_start":12,"column_end":16},"name":"self","qualname":"::eq::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871792},"span":{"file_name":"src/pointer/dec.rs","byte_start":270203,"byte_end":270208,"line_start":277,"line_end":277,"column_start":18,"column_end":23},"name":"other","qualname":"::eq::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":880},"span":{"file_name":"src/pointer/dec.rs","byte_start":270193,"byte_end":270195,"line_start":277,"line_end":277,"column_start":8,"column_end":10},"name":"eq","qualname":"::eq","value":"fn eq(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2675},"children":[],"decl_id":{"krate":1,"index":2677},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464304},"span":{"file_name":"src/pointer/dec.rs","byte_start":270341,"byte_end":270348,"line_start":282,"line_end":282,"column_start":17,"column_end":24},"name":"new_exp","qualname":"new_exp$HirId { owner: DefId(0:880 ~ no_proto[2d88]::pointer::dec::{impl#2}::eq), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859312},"span":{"file_name":"src/pointer/dec.rs","byte_start":270397,"byte_end":270405,"line_start":283,"line_end":283,"column_start":17,"column_end":25},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:880 ~ no_proto[2d88]::pointer::dec::{impl#2}::eq), local_id: 63 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583692144},"span":{"file_name":"src/pointer/dec.rs","byte_start":270499,"byte_end":270508,"line_start":284,"line_end":284,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:880 ~ no_proto[2d88]::pointer::dec::{impl#2}::eq), local_id: 89 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742706},"span":{"file_name":"src/pointer/dec.rs","byte_start":271282,"byte_end":271286,"line_start":312,"line_end":312,"column_start":12,"column_end":16},"name":"self","qualname":"::lt::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871794},"span":{"file_name":"src/pointer/dec.rs","byte_start":271288,"byte_end":271293,"line_start":312,"line_end":312,"column_start":18,"column_end":23},"name":"other","qualname":"::lt::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":882},"span":{"file_name":"src/pointer/dec.rs","byte_start":271278,"byte_end":271280,"line_start":312,"line_end":312,"column_start":8,"column_end":10},"name":"lt","qualname":"::lt","value":"fn lt(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109746},"span":{"file_name":"src/pointer/dec.rs","byte_start":271423,"byte_end":271432,"line_start":316,"line_end":316,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:882 ~ no_proto[2d88]::pointer::dec::{impl#3}::lt), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742707},"span":{"file_name":"src/pointer/dec.rs","byte_start":271531,"byte_end":271535,"line_start":321,"line_end":321,"column_start":12,"column_end":16},"name":"self","qualname":"::le::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871795},"span":{"file_name":"src/pointer/dec.rs","byte_start":271537,"byte_end":271542,"line_start":321,"line_end":321,"column_start":18,"column_end":23},"name":"other","qualname":"::le::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":883},"span":{"file_name":"src/pointer/dec.rs","byte_start":271527,"byte_end":271529,"line_start":321,"line_end":321,"column_start":8,"column_end":10},"name":"le","qualname":"::le","value":"fn le(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109747},"span":{"file_name":"src/pointer/dec.rs","byte_start":271673,"byte_end":271682,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:883 ~ no_proto[2d88]::pointer::dec::{impl#3}::le), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742708},"span":{"file_name":"src/pointer/dec.rs","byte_start":271782,"byte_end":271786,"line_start":330,"line_end":330,"column_start":12,"column_end":16},"name":"self","qualname":"::gt::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871796},"span":{"file_name":"src/pointer/dec.rs","byte_start":271788,"byte_end":271793,"line_start":330,"line_end":330,"column_start":18,"column_end":23},"name":"other","qualname":"::gt::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":884},"span":{"file_name":"src/pointer/dec.rs","byte_start":271778,"byte_end":271780,"line_start":330,"line_end":330,"column_start":8,"column_end":10},"name":"gt","qualname":"::gt","value":"fn gt(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109748},"span":{"file_name":"src/pointer/dec.rs","byte_start":271923,"byte_end":271932,"line_start":334,"line_end":334,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:884 ~ no_proto[2d88]::pointer::dec::{impl#3}::gt), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742709},"span":{"file_name":"src/pointer/dec.rs","byte_start":272031,"byte_end":272035,"line_start":339,"line_end":339,"column_start":12,"column_end":16},"name":"self","qualname":"::ge::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871797},"span":{"file_name":"src/pointer/dec.rs","byte_start":272037,"byte_end":272042,"line_start":339,"line_end":339,"column_start":18,"column_end":23},"name":"other","qualname":"::ge::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":885},"span":{"file_name":"src/pointer/dec.rs","byte_start":272027,"byte_end":272029,"line_start":339,"line_end":339,"column_start":8,"column_end":10},"name":"ge","qualname":"::ge","value":"fn ge(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109749},"span":{"file_name":"src/pointer/dec.rs","byte_start":272173,"byte_end":272182,"line_start":343,"line_end":343,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:885 ~ no_proto[2d88]::pointer::dec::{impl#3}::ge), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742710},"span":{"file_name":"src/pointer/dec.rs","byte_start":272291,"byte_end":272295,"line_start":348,"line_end":348,"column_start":21,"column_end":25},"name":"self","qualname":"::partial_cmp::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871798},"span":{"file_name":"src/pointer/dec.rs","byte_start":272297,"byte_end":272302,"line_start":348,"line_end":348,"column_start":27,"column_end":32},"name":"other","qualname":"::partial_cmp::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":886},"span":{"file_name":"src/pointer/dec.rs","byte_start":272278,"byte_end":272289,"line_start":348,"line_end":348,"column_start":8,"column_end":19},"name":"partial_cmp","qualname":"::partial_cmp","value":"fn partial_cmp(&Self, &NP_Dec) -> Option","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2724},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770678},"span":{"file_name":"src/pointer/dec.rs","byte_start":272361,"byte_end":272362,"line_start":350,"line_end":350,"column_start":14,"column_end":15},"name":"a","qualname":"a$HirId { owner: DefId(0:886 ~ no_proto[2d88]::pointer::dec::{impl#3}::partial_cmp), local_id: 43 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416118},"span":{"file_name":"src/pointer/dec.rs","byte_start":272364,"byte_end":272365,"line_start":350,"line_end":350,"column_start":17,"column_end":18},"name":"b","qualname":"b$HirId { owner: DefId(0:886 ~ no_proto[2d88]::pointer::dec::{impl#3}::partial_cmp), local_id: 44 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750454},"span":{"file_name":"src/pointer/dec.rs","byte_start":272463,"byte_end":272472,"line_start":353,"line_end":353,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:886 ~ no_proto[2d88]::pointer::dec::{impl#3}::partial_cmp), local_id: 31 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742712},"span":{"file_name":"src/pointer/dec.rs","byte_start":273086,"byte_end":273090,"line_start":380,"line_end":380,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":888},"span":{"file_name":"src/pointer/dec.rs","byte_start":273081,"byte_end":273085,"line_start":380,"line_end":380,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> i32","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436344},"span":{"file_name":"src/pointer/dec.rs","byte_start":273118,"byte_end":273130,"line_start":381,"line_end":381,"column_start":17,"column_end":29},"name":"change_value","qualname":"change_value$HirId { owner: DefId(0:888 ~ no_proto[2d88]::pointer::dec::{impl#4}::into), local_id: 8 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879049080},"span":{"file_name":"src/pointer/dec.rs","byte_start":273159,"byte_end":273167,"line_start":382,"line_end":382,"column_start":17,"column_end":25},"name":"loop_val","qualname":"loop_val$HirId { owner: DefId(0:888 ~ no_proto[2d88]::pointer::dec::{impl#4}::into), local_id: 14 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742714},"span":{"file_name":"src/pointer/dec.rs","byte_start":273540,"byte_end":273544,"line_start":401,"line_end":401,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":890},"span":{"file_name":"src/pointer/dec.rs","byte_start":273535,"byte_end":273539,"line_start":401,"line_end":401,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742716},"span":{"file_name":"src/pointer/dec.rs","byte_start":273869,"byte_end":273873,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":892},"span":{"file_name":"src/pointer/dec.rs","byte_start":273864,"byte_end":273868,"line_start":417,"line_end":417,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> i64","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436348},"span":{"file_name":"src/pointer/dec.rs","byte_start":273901,"byte_end":273913,"line_start":418,"line_end":418,"column_start":17,"column_end":29},"name":"change_value","qualname":"change_value$HirId { owner: DefId(0:892 ~ no_proto[2d88]::pointer::dec::{impl#6}::into), local_id: 8 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879049084},"span":{"file_name":"src/pointer/dec.rs","byte_start":273942,"byte_end":273950,"line_start":419,"line_end":419,"column_start":17,"column_end":25},"name":"loop_val","qualname":"loop_val$HirId { owner: DefId(0:892 ~ no_proto[2d88]::pointer::dec::{impl#6}::into), local_id: 14 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742718},"span":{"file_name":"src/pointer/dec.rs","byte_start":274309,"byte_end":274313,"line_start":438,"line_end":438,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":894},"span":{"file_name":"src/pointer/dec.rs","byte_start":274304,"byte_end":274308,"line_start":438,"line_end":438,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742719},"span":{"file_name":"src/pointer/dec.rs","byte_start":274381,"byte_end":274382,"line_start":445,"line_end":445,"column_start":14,"column_end":15},"name":"n","qualname":"::pointer::dec::round_f64::n","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":895},"span":{"file_name":"src/pointer/dec.rs","byte_start":274371,"byte_end":274380,"line_start":445,"line_end":445,"column_start":4,"column_end":13},"name":"round_f64","qualname":"::pointer::dec::round_f64","value":"fn round_f64(f64) -> f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315007},"span":{"file_name":"src/pointer/dec.rs","byte_start":274406,"byte_end":274411,"line_start":446,"line_end":446,"column_start":9,"column_end":14},"name":"value","qualname":"value$HirId { owner: DefId(0:895 ~ no_proto[2d88]::pointer::dec::round_f64), local_id: 23 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946157951},"span":{"file_name":"src/pointer/dec.rs","byte_start":274464,"byte_end":274476,"line_start":448,"line_end":448,"column_start":9,"column_end":21},"name":"bounds_value","qualname":"bounds_value$HirId { owner: DefId(0:895 ~ no_proto[2d88]::pointer::dec::round_f64), local_id: 46 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742720},"span":{"file_name":"src/pointer/dec.rs","byte_start":274590,"byte_end":274591,"line_start":453,"line_end":453,"column_start":14,"column_end":15},"name":"n","qualname":"::pointer::dec::round_f32::n","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":896},"span":{"file_name":"src/pointer/dec.rs","byte_start":274580,"byte_end":274589,"line_start":453,"line_end":453,"column_start":4,"column_end":13},"name":"round_f32","qualname":"::pointer::dec::round_f32","value":"fn round_f32(f32) -> f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315008},"span":{"file_name":"src/pointer/dec.rs","byte_start":274615,"byte_end":274620,"line_start":454,"line_end":454,"column_start":9,"column_end":14},"name":"value","qualname":"value$HirId { owner: DefId(0:896 ~ no_proto[2d88]::pointer::dec::round_f32), local_id: 23 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946157952},"span":{"file_name":"src/pointer/dec.rs","byte_start":274673,"byte_end":274685,"line_start":456,"line_end":456,"column_start":9,"column_end":21},"name":"bounds_value","qualname":"bounds_value$HirId { owner: DefId(0:896 ~ no_proto[2d88]::pointer::dec::round_f32), local_id: 46 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742721},"span":{"file_name":"src/pointer/dec.rs","byte_start":274795,"byte_end":274796,"line_start":461,"line_end":461,"column_start":10,"column_end":11},"name":"n","qualname":"::pointer::dec::round::n","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871809},"span":{"file_name":"src/pointer/dec.rs","byte_start":274803,"byte_end":274812,"line_start":461,"line_end":461,"column_start":18,"column_end":27},"name":"precision","qualname":"::pointer::dec::round::precision","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":897},"span":{"file_name":"src/pointer/dec.rs","byte_start":274789,"byte_end":274794,"line_start":461,"line_end":461,"column_start":4,"column_end":9},"name":"round","qualname":"::pointer::dec::round","value":"fn round(f64, u32) -> f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742722},"span":{"file_name":"src/pointer/dec.rs","byte_start":274923,"byte_end":274924,"line_start":465,"line_end":465,"column_start":14,"column_end":15},"name":"x","qualname":"::pointer::dec::precision::x","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":898},"span":{"file_name":"src/pointer/dec.rs","byte_start":274913,"byte_end":274922,"line_start":465,"line_end":465,"column_start":4,"column_end":13},"name":"precision","qualname":"::pointer::dec::precision","value":"fn precision(f64) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489661826},"span":{"file_name":"src/pointer/dec.rs","byte_start":274956,"byte_end":274962,"line_start":466,"line_end":466,"column_start":9,"column_end":15},"name":"digits","qualname":"digits$HirId { owner: DefId(0:898 ~ no_proto[2d88]::pointer::dec::precision), local_id: 11 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742723},"span":{"file_name":"src/pointer/dec.rs","byte_start":275096,"byte_end":275097,"line_start":474,"line_end":474,"column_start":12,"column_end":13},"name":"n","qualname":"::pointer::dec::round32::n","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871811},"span":{"file_name":"src/pointer/dec.rs","byte_start":275104,"byte_end":275113,"line_start":474,"line_end":474,"column_start":20,"column_end":29},"name":"precision","qualname":"::pointer::dec::round32::precision","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":899},"span":{"file_name":"src/pointer/dec.rs","byte_start":275088,"byte_end":275095,"line_start":474,"line_end":474,"column_start":4,"column_end":11},"name":"round32","qualname":"::pointer::dec::round32","value":"fn round32(f32, u32) -> f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742724},"span":{"file_name":"src/pointer/dec.rs","byte_start":275226,"byte_end":275227,"line_start":478,"line_end":478,"column_start":16,"column_end":17},"name":"x","qualname":"::pointer::dec::precision32::x","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":900},"span":{"file_name":"src/pointer/dec.rs","byte_start":275214,"byte_end":275225,"line_start":478,"line_end":478,"column_start":4,"column_end":15},"name":"precision32","qualname":"::pointer::dec::precision32","value":"fn precision32(f32) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489661828},"span":{"file_name":"src/pointer/dec.rs","byte_start":275259,"byte_end":275265,"line_start":479,"line_end":479,"column_start":9,"column_end":15},"name":"digits","qualname":"digits$HirId { owner: DefId(0:900 ~ no_proto[2d88]::pointer::dec::precision32), local_id: 11 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742726},"span":{"file_name":"src/pointer/dec.rs","byte_start":275628,"byte_end":275632,"line_start":497,"line_end":497,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":902},"span":{"file_name":"src/pointer/dec.rs","byte_start":275623,"byte_end":275627,"line_start":497,"line_end":497,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> f64","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742728},"span":{"file_name":"src/pointer/dec.rs","byte_start":275907,"byte_end":275911,"line_start":512,"line_end":512,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":904},"span":{"file_name":"src/pointer/dec.rs","byte_start":275902,"byte_end":275906,"line_start":512,"line_end":512,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415920008},"span":{"file_name":"src/pointer/dec.rs","byte_start":275975,"byte_end":275976,"line_start":514,"line_end":514,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 9 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137736},"span":{"file_name":"src/pointer/dec.rs","byte_start":276003,"byte_end":276021,"line_start":515,"line_end":515,"column_start":21,"column_end":39},"name":"max_decimal_places","qualname":"max_decimal_places$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 25 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109768},"span":{"file_name":"src/pointer/dec.rs","byte_start":276070,"byte_end":276078,"line_start":516,"line_end":516,"column_start":25,"column_end":33},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 32 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464328},"span":{"file_name":"src/pointer/dec.rs","byte_start":276119,"byte_end":276127,"line_start":517,"line_end":517,"column_start":25,"column_end":33},"name":"loop_exp","qualname":"loop_exp$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474440},"span":{"file_name":"src/pointer/dec.rs","byte_start":276299,"byte_end":276304,"line_start":522,"line_end":522,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 73 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276936},"span":{"file_name":"src/pointer/dec.rs","byte_start":276507,"byte_end":276512,"line_start":526,"line_end":526,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:904 ~ no_proto[2d88]::pointer::dec::{impl#9}::into), local_id: 102 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742730},"span":{"file_name":"src/pointer/dec.rs","byte_start":276863,"byte_end":276867,"line_start":543,"line_end":543,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":906},"span":{"file_name":"src/pointer/dec.rs","byte_start":276858,"byte_end":276862,"line_start":543,"line_end":543,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> f32","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742732},"span":{"file_name":"src/pointer/dec.rs","byte_start":277156,"byte_end":277160,"line_start":558,"line_end":558,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":908},"span":{"file_name":"src/pointer/dec.rs","byte_start":277151,"byte_end":277155,"line_start":558,"line_end":558,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415920012},"span":{"file_name":"src/pointer/dec.rs","byte_start":277226,"byte_end":277227,"line_start":560,"line_end":560,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 9 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137740},"span":{"file_name":"src/pointer/dec.rs","byte_start":277254,"byte_end":277272,"line_start":561,"line_end":561,"column_start":21,"column_end":39},"name":"max_decimal_places","qualname":"max_decimal_places$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 25 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109772},"span":{"file_name":"src/pointer/dec.rs","byte_start":277321,"byte_end":277329,"line_start":562,"line_end":562,"column_start":25,"column_end":33},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 32 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464332},"span":{"file_name":"src/pointer/dec.rs","byte_start":277370,"byte_end":277378,"line_start":563,"line_end":563,"column_start":25,"column_end":33},"name":"loop_exp","qualname":"loop_exp$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474444},"span":{"file_name":"src/pointer/dec.rs","byte_start":277550,"byte_end":277555,"line_start":568,"line_end":568,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 73 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276940},"span":{"file_name":"src/pointer/dec.rs","byte_start":277758,"byte_end":277763,"line_start":572,"line_end":572,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:908 ~ no_proto[2d88]::pointer::dec::{impl#11}::into), local_id: 102 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742734},"span":{"file_name":"src/pointer/dec.rs","byte_start":277941,"byte_end":277945,"line_start":580,"line_end":580,"column_start":24,"column_end":28},"name":"self","qualname":"::div_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871822},"span":{"file_name":"src/pointer/dec.rs","byte_start":277947,"byte_end":277952,"line_start":580,"line_end":580,"column_start":30,"column_end":35},"name":"other","qualname":"::div_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":910},"span":{"file_name":"src/pointer/dec.rs","byte_start":277925,"byte_end":277935,"line_start":580,"line_end":580,"column_start":8,"column_end":18},"name":"div_assign","qualname":"::div_assign","value":"fn div_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3134},"children":[],"decl_id":{"krate":1,"index":3136},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831374},"span":{"file_name":"src/pointer/dec.rs","byte_start":278016,"byte_end":278026,"line_start":582,"line_end":582,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:910 ~ no_proto[2d88]::pointer::dec::{impl#12}::div_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742737},"span":{"file_name":"src/pointer/dec.rs","byte_start":278267,"byte_end":278271,"line_start":592,"line_end":592,"column_start":16,"column_end":20},"name":"self","qualname":"::div::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871825},"span":{"file_name":"src/pointer/dec.rs","byte_start":278273,"byte_end":278278,"line_start":592,"line_end":592,"column_start":22,"column_end":27},"name":"other","qualname":"::div::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":913},"span":{"file_name":"src/pointer/dec.rs","byte_start":278259,"byte_end":278262,"line_start":592,"line_end":592,"column_start":8,"column_end":11},"name":"div","qualname":"::div","value":"fn div(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3106},"children":[],"decl_id":{"krate":1,"index":3109},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831377},"span":{"file_name":"src/pointer/dec.rs","byte_start":278386,"byte_end":278396,"line_start":594,"line_end":594,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:913 ~ no_proto[2d88]::pointer::dec::{impl#13}::div), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742739},"span":{"file_name":"src/pointer/dec.rs","byte_start":278647,"byte_end":278651,"line_start":604,"line_end":604,"column_start":24,"column_end":28},"name":"self","qualname":"::sub_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871827},"span":{"file_name":"src/pointer/dec.rs","byte_start":278653,"byte_end":278658,"line_start":604,"line_end":604,"column_start":30,"column_end":35},"name":"other","qualname":"::sub_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":915},"span":{"file_name":"src/pointer/dec.rs","byte_start":278631,"byte_end":278641,"line_start":604,"line_end":604,"column_start":8,"column_end":18},"name":"sub_assign","qualname":"::sub_assign","value":"fn sub_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3126},"children":[],"decl_id":{"krate":1,"index":3128},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831379},"span":{"file_name":"src/pointer/dec.rs","byte_start":278722,"byte_end":278732,"line_start":606,"line_end":606,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:915 ~ no_proto[2d88]::pointer::dec::{impl#14}::sub_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742742},"span":{"file_name":"src/pointer/dec.rs","byte_start":278973,"byte_end":278977,"line_start":616,"line_end":616,"column_start":16,"column_end":20},"name":"self","qualname":"::sub::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871830},"span":{"file_name":"src/pointer/dec.rs","byte_start":278979,"byte_end":278984,"line_start":616,"line_end":616,"column_start":22,"column_end":27},"name":"other","qualname":"::sub::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":918},"span":{"file_name":"src/pointer/dec.rs","byte_start":278965,"byte_end":278968,"line_start":616,"line_end":616,"column_start":8,"column_end":11},"name":"sub","qualname":"::sub","value":"fn sub(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3096},"children":[],"decl_id":{"krate":1,"index":3099},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831382},"span":{"file_name":"src/pointer/dec.rs","byte_start":279092,"byte_end":279102,"line_start":618,"line_end":618,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:918 ~ no_proto[2d88]::pointer::dec::{impl#15}::sub), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742744},"span":{"file_name":"src/pointer/dec.rs","byte_start":279353,"byte_end":279357,"line_start":628,"line_end":628,"column_start":24,"column_end":28},"name":"self","qualname":"::add_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871832},"span":{"file_name":"src/pointer/dec.rs","byte_start":279359,"byte_end":279364,"line_start":628,"line_end":628,"column_start":30,"column_end":35},"name":"other","qualname":"::add_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":920},"span":{"file_name":"src/pointer/dec.rs","byte_start":279337,"byte_end":279347,"line_start":628,"line_end":628,"column_start":8,"column_end":18},"name":"add_assign","qualname":"::add_assign","value":"fn add_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3122},"children":[],"decl_id":{"krate":1,"index":3124},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831384},"span":{"file_name":"src/pointer/dec.rs","byte_start":279428,"byte_end":279438,"line_start":630,"line_end":630,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:920 ~ no_proto[2d88]::pointer::dec::{impl#16}::add_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742747},"span":{"file_name":"src/pointer/dec.rs","byte_start":279679,"byte_end":279683,"line_start":640,"line_end":640,"column_start":16,"column_end":20},"name":"self","qualname":"::add::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871835},"span":{"file_name":"src/pointer/dec.rs","byte_start":279685,"byte_end":279690,"line_start":640,"line_end":640,"column_start":22,"column_end":27},"name":"other","qualname":"::add::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":923},"span":{"file_name":"src/pointer/dec.rs","byte_start":279671,"byte_end":279674,"line_start":640,"line_end":640,"column_start":8,"column_end":11},"name":"add","qualname":"::add","value":"fn add(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3091},"children":[],"decl_id":{"krate":1,"index":3094},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831387},"span":{"file_name":"src/pointer/dec.rs","byte_start":279798,"byte_end":279808,"line_start":642,"line_end":642,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:923 ~ no_proto[2d88]::pointer::dec::{impl#17}::add), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742749},"span":{"file_name":"src/pointer/dec.rs","byte_start":280059,"byte_end":280063,"line_start":652,"line_end":652,"column_start":24,"column_end":28},"name":"self","qualname":"::mul_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871837},"span":{"file_name":"src/pointer/dec.rs","byte_start":280065,"byte_end":280070,"line_start":652,"line_end":652,"column_start":30,"column_end":35},"name":"other","qualname":"::mul_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":925},"span":{"file_name":"src/pointer/dec.rs","byte_start":280043,"byte_end":280053,"line_start":652,"line_end":652,"column_start":8,"column_end":18},"name":"mul_assign","qualname":"::mul_assign","value":"fn mul_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3130},"children":[],"decl_id":{"krate":1,"index":3132},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831389},"span":{"file_name":"src/pointer/dec.rs","byte_start":280134,"byte_end":280144,"line_start":654,"line_end":654,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:925 ~ no_proto[2d88]::pointer::dec::{impl#18}::mul_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742752},"span":{"file_name":"src/pointer/dec.rs","byte_start":280385,"byte_end":280389,"line_start":664,"line_end":664,"column_start":16,"column_end":20},"name":"self","qualname":"::mul::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871840},"span":{"file_name":"src/pointer/dec.rs","byte_start":280391,"byte_end":280396,"line_start":664,"line_end":664,"column_start":22,"column_end":27},"name":"other","qualname":"::mul::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":928},"span":{"file_name":"src/pointer/dec.rs","byte_start":280377,"byte_end":280380,"line_start":664,"line_end":664,"column_start":8,"column_end":11},"name":"mul","qualname":"::mul","value":"fn mul(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3101},"children":[],"decl_id":{"krate":1,"index":3104},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831392},"span":{"file_name":"src/pointer/dec.rs","byte_start":280505,"byte_end":280515,"line_start":667,"line_end":667,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:928 ~ no_proto[2d88]::pointer::dec::{impl#19}::mul), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":930},"span":{"file_name":"src/pointer/dec.rs","byte_start":280727,"byte_end":280734,"line_start":677,"line_end":677,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":933},"span":{"file_name":"src/pointer/dec.rs","byte_start":280837,"byte_end":280845,"line_start":687,"line_end":687,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742758},"span":{"file_name":"src/pointer/dec.rs","byte_start":280938,"byte_end":280942,"line_start":688,"line_end":688,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":934},"span":{"file_name":"src/pointer/dec.rs","byte_start":280923,"byte_end":280936,"line_start":688,"line_end":688,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742759},"span":{"file_name":"src/pointer/dec.rs","byte_start":281035,"byte_end":281041,"line_start":690,"line_end":690,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871847},"span":{"file_name":"src/pointer/dec.rs","byte_start":281067,"byte_end":281074,"line_start":690,"line_end":690,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":935},"span":{"file_name":"src/pointer/dec.rs","byte_start":281020,"byte_end":281034,"line_start":690,"line_end":690,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307303},"span":{"file_name":"src/pointer/dec.rs","byte_start":281129,"byte_end":281140,"line_start":691,"line_end":691,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:935 ~ no_proto[2d88]::pointer::dec::{impl#21}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069351},"span":{"file_name":"src/pointer/dec.rs","byte_start":281266,"byte_end":281270,"line_start":694,"line_end":694,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:935 ~ no_proto[2d88]::pointer::dec::{impl#21}::schema_to_json), local_id: 50 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100664231},"span":{"file_name":"src/pointer/dec.rs","byte_start":281480,"byte_end":281485,"line_start":699,"line_end":699,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:935 ~ no_proto[2d88]::pointer::dec::{impl#21}::schema_to_json), local_id: 96 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742760},"span":{"file_name":"src/pointer/dec.rs","byte_start":281712,"byte_end":281718,"line_start":707,"line_end":707,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871848},"span":{"file_name":"src/pointer/dec.rs","byte_start":281727,"byte_end":281731,"line_start":707,"line_end":707,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613672},"span":{"file_name":"src/pointer/dec.rs","byte_start":281740,"byte_end":281746,"line_start":707,"line_end":707,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":936},"span":{"file_name":"src/pointer/dec.rs","byte_start":281698,"byte_end":281711,"line_start":707,"line_end":707,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654120},"span":{"file_name":"src/pointer/dec.rs","byte_start":281802,"byte_end":281806,"line_start":708,"line_end":708,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:936 ~ no_proto[2d88]::pointer::dec::{impl#21}::default_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742761},"span":{"file_name":"src/pointer/dec.rs","byte_start":282028,"byte_end":282034,"line_start":718,"line_end":718,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871849},"span":{"file_name":"src/pointer/dec.rs","byte_start":282043,"byte_end":282054,"line_start":718,"line_end":718,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613673},"span":{"file_name":"src/pointer/dec.rs","byte_start":282062,"byte_end":282068,"line_start":718,"line_end":718,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436393},"span":{"file_name":"src/pointer/dec.rs","byte_start":282081,"byte_end":282087,"line_start":718,"line_end":718,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178217},"span":{"file_name":"src/pointer/dec.rs","byte_start":282106,"byte_end":282111,"line_start":718,"line_end":718,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":937},"span":{"file_name":"src/pointer/dec.rs","byte_start":282008,"byte_end":282021,"line_start":718,"line_end":718,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960489},"span":{"file_name":"src/pointer/dec.rs","byte_start":282236,"byte_end":282239,"line_start":720,"line_end":720,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:937 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_from_json), local_id: 18 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742763},"span":{"file_name":"src/pointer/dec.rs","byte_start":283109,"byte_end":283115,"line_start":741,"line_end":741,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871851},"span":{"file_name":"src/pointer/dec.rs","byte_start":283128,"byte_end":283134,"line_start":741,"line_end":741,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613675},"span":{"file_name":"src/pointer/dec.rs","byte_start":283153,"byte_end":283158,"line_start":741,"line_end":741,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":939},"span":{"file_name":"src/pointer/dec.rs","byte_start":283093,"byte_end":283102,"line_start":741,"line_end":741,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960491},"span":{"file_name":"src/pointer/dec.rs","byte_start":283237,"byte_end":283244,"line_start":743,"line_end":743,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 18 }","value":"[closure@src/pointer/dec.rs:743:23: 743:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008683},"span":{"file_name":"src/pointer/dec.rs","byte_start":283297,"byte_end":283310,"line_start":745,"line_end":745,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811179},"span":{"file_name":"src/pointer/dec.rs","byte_start":283363,"byte_end":283367,"line_start":747,"line_end":747,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 49 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959423915},"span":{"file_name":"src/pointer/dec.rs","byte_start":283465,"byte_end":283468,"line_start":749,"line_end":749,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 55 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080375723},"span":{"file_name":"src/pointer/dec.rs","byte_start":283498,"byte_end":283510,"line_start":751,"line_end":751,"column_start":17,"column_end":29},"name":"cloned_value","qualname":"cloned_value$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 62 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523216299},"span":{"file_name":"src/pointer/dec.rs","byte_start":283580,"byte_end":283589,"line_start":754,"line_end":754,"column_start":13,"column_end":22},"name":"i64_value","qualname":"i64_value$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 75 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925869483},"span":{"file_name":"src/pointer/dec.rs","byte_start":283690,"byte_end":283695,"line_start":757,"line_end":757,"column_start":21,"column_end":26},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 87 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3590325163},"span":{"file_name":"src/pointer/dec.rs","byte_start":283822,"byte_end":283833,"line_start":762,"line_end":762,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 107 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771752875},"span":{"file_name":"src/pointer/dec.rs","byte_start":283926,"byte_end":283927,"line_start":765,"line_end":765,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 116 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157628843},"span":{"file_name":"src/pointer/dec.rs","byte_start":284073,"byte_end":284081,"line_start":771,"line_end":771,"column_start":21,"column_end":29},"name":"be_bytes","qualname":"be_bytes$HirId { owner: DefId(0:939 ~ no_proto[2d88]::pointer::dec::{impl#21}::set_value), local_id: 162 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742766},"span":{"file_name":"src/pointer/dec.rs","byte_start":284395,"byte_end":284401,"line_start":784,"line_end":784,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871854},"span":{"file_name":"src/pointer/dec.rs","byte_start":284415,"byte_end":284421,"line_start":784,"line_end":784,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":942},"span":{"file_name":"src/pointer/dec.rs","byte_start":284384,"byte_end":284394,"line_start":784,"line_end":784,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218670},"span":{"file_name":"src/pointer/dec.rs","byte_start":284509,"byte_end":284516,"line_start":786,"line_end":786,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 16 }","value":"[closure@src/pointer/dec.rs:786:23: 786:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879598},"span":{"file_name":"src/pointer/dec.rs","byte_start":284565,"byte_end":284575,"line_start":788,"line_end":788,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859374},"span":{"file_name":"src/pointer/dec.rs","byte_start":284720,"byte_end":284724,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 63 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909934},"span":{"file_name":"src/pointer/dec.rs","byte_start":284822,"byte_end":284825,"line_start":797,"line_end":797,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060087214},"span":{"file_name":"src/pointer/dec.rs","byte_start":284906,"byte_end":284907,"line_start":800,"line_end":800,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 79 }","value":"&[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436208558},"span":{"file_name":"src/pointer/dec.rs","byte_start":284938,"byte_end":284946,"line_start":801,"line_end":801,"column_start":25,"column_end":33},"name":"be_bytes","qualname":"be_bytes$HirId { owner: DefId(0:942 ~ no_proto[2d88]::pointer::dec::{impl#21}::into_value), local_id: 88 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742768},"span":{"file_name":"src/pointer/dec.rs","byte_start":285156,"byte_end":285162,"line_start":809,"line_end":809,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871856},"span":{"file_name":"src/pointer/dec.rs","byte_start":285170,"byte_end":285176,"line_start":809,"line_end":809,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613680},"span":{"file_name":"src/pointer/dec.rs","byte_start":285190,"byte_end":285196,"line_start":809,"line_end":809,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":944},"span":{"file_name":"src/pointer/dec.rs","byte_start":285148,"byte_end":285155,"line_start":809,"line_end":809,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395952},"span":{"file_name":"src/pointer/dec.rs","byte_start":285243,"byte_end":285247,"line_start":811,"line_end":811,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 26 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109808},"span":{"file_name":"src/pointer/dec.rs","byte_start":285345,"byte_end":285348,"line_start":813,"line_end":813,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 32 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770736},"span":{"file_name":"src/pointer/dec.rs","byte_start":285426,"byte_end":285427,"line_start":816,"line_end":816,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 43 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811184},"span":{"file_name":"src/pointer/dec.rs","byte_start":285485,"byte_end":285486,"line_start":818,"line_end":818,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 49 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690988464},"span":{"file_name":"src/pointer/dec.rs","byte_start":285525,"byte_end":285531,"line_start":819,"line_end":819,"column_start":33,"column_end":39},"name":"object","qualname":"object$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 59 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780848},"span":{"file_name":"src/pointer/dec.rs","byte_start":285581,"byte_end":285586,"line_start":821,"line_end":821,"column_start":33,"column_end":38},"name":"parts","qualname":"parts$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 67 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177527728},"span":{"file_name":"src/pointer/dec.rs","byte_start":286105,"byte_end":286109,"line_start":831,"line_end":831,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 159 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110418864},"span":{"file_name":"src/pointer/dec.rs","byte_start":286287,"byte_end":286293,"line_start":834,"line_end":834,"column_start":37,"column_end":43},"name":"object","qualname":"object$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 175 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976201136},"span":{"file_name":"src/pointer/dec.rs","byte_start":286346,"byte_end":286351,"line_start":835,"line_end":835,"column_start":37,"column_end":42},"name":"parts","qualname":"parts$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 183 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2961179568},"span":{"file_name":"src/pointer/dec.rs","byte_start":287024,"byte_end":287026,"line_start":850,"line_end":850,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:944 ~ no_proto[2d88]::pointer::dec::{impl#21}::to_json), local_id: 269 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742769},"span":{"file_name":"src/pointer/dec.rs","byte_start":287110,"byte_end":287116,"line_start":856,"line_end":856,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871857},"span":{"file_name":"src/pointer/dec.rs","byte_start":287124,"byte_end":287130,"line_start":856,"line_end":856,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613681},"span":{"file_name":"src/pointer/dec.rs","byte_start":287144,"byte_end":287150,"line_start":856,"line_end":856,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":945},"span":{"file_name":"src/pointer/dec.rs","byte_start":287101,"byte_end":287109,"line_start":856,"line_end":856,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960497},"span":{"file_name":"src/pointer/dec.rs","byte_start":287214,"byte_end":287221,"line_start":858,"line_end":858,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:945 ~ no_proto[2d88]::pointer::dec::{impl#21}::get_size), local_id: 18 }","value":"[closure@src/pointer/dec.rs:858:23: 858:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742771},"span":{"file_name":"src/pointer/dec.rs","byte_start":287422,"byte_end":287428,"line_start":868,"line_end":868,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871859},"span":{"file_name":"src/pointer/dec.rs","byte_start":287454,"byte_end":287461,"line_start":868,"line_end":868,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":947},"span":{"file_name":"src/pointer/dec.rs","byte_start":287408,"byte_end":287421,"line_start":868,"line_end":868,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831411},"span":{"file_name":"src/pointer/dec.rs","byte_start":287511,"byte_end":287515,"line_start":869,"line_end":869,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:947 ~ no_proto[2d88]::pointer::dec::{impl#21}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750515},"span":{"file_name":"src/pointer/dec.rs","byte_start":287595,"byte_end":287601,"line_start":871,"line_end":871,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:947 ~ no_proto[2d88]::pointer::dec::{impl#21}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742772},"span":{"file_name":"src/pointer/dec.rs","byte_start":287941,"byte_end":287947,"line_start":882,"line_end":882,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871860},"span":{"file_name":"src/pointer/dec.rs","byte_start":287972,"byte_end":287977,"line_start":882,"line_end":882,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613684},"span":{"file_name":"src/pointer/dec.rs","byte_start":287985,"byte_end":287988,"line_start":882,"line_end":882,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436404},"span":{"file_name":"src/pointer/dec.rs","byte_start":288002,"byte_end":288006,"line_start":882,"line_end":882,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":948},"span":{"file_name":"src/pointer/dec.rs","byte_start":287918,"byte_end":287936,"line_start":882,"line_end":882,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702324},"span":{"file_name":"src/pointer/dec.rs","byte_start":288101,"byte_end":288104,"line_start":884,"line_end":884,"column_start":17,"column_end":20},"name":"exp","qualname":"exp$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395956},"span":{"file_name":"src/pointer/dec.rs","byte_start":288141,"byte_end":288148,"line_start":885,"line_end":885,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 26 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287092},"span":{"file_name":"src/pointer/dec.rs","byte_start":288260,"byte_end":288270,"line_start":888,"line_end":888,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 42 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641652},"span":{"file_name":"src/pointer/dec.rs","byte_start":288303,"byte_end":288306,"line_start":889,"line_end":889,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 47 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327540},"span":{"file_name":"src/pointer/dec.rs","byte_start":288308,"byte_end":288313,"line_start":889,"line_end":889,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 48 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301990836},"span":{"file_name":"src/pointer/dec.rs","byte_start":288525,"byte_end":288529,"line_start":893,"line_end":893,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 72 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436208564},"span":{"file_name":"src/pointer/dec.rs","byte_start":288671,"byte_end":288672,"line_start":895,"line_end":895,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 88 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858760628},"span":{"file_name":"src/pointer/dec.rs","byte_start":288837,"byte_end":288839,"line_start":898,"line_end":898,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 103 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1627390900},"span":{"file_name":"src/pointer/dec.rs","byte_start":289247,"byte_end":289251,"line_start":906,"line_end":906,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 134 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761608628},"span":{"file_name":"src/pointer/dec.rs","byte_start":289394,"byte_end":289395,"line_start":908,"line_end":908,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 150 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768241588},"span":{"file_name":"src/pointer/dec.rs","byte_start":289564,"byte_end":289566,"line_start":911,"line_end":911,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 165 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3875537844},"span":{"file_name":"src/pointer/dec.rs","byte_start":290004,"byte_end":290015,"line_start":925,"line_end":925,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 231 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3900703668},"span":{"file_name":"src/pointer/dec.rs","byte_start":290116,"byte_end":290119,"line_start":930,"line_end":930,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 279 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1149240244},"span":{"file_name":"src/pointer/dec.rs","byte_start":290318,"byte_end":290322,"line_start":937,"line_end":937,"column_start":13,"column_end":17},"name":"mult","qualname":"mult$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 290 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":377488308},"span":{"file_name":"src/pointer/dec.rs","byte_start":290361,"byte_end":290368,"line_start":939,"line_end":939,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 360 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3833594804},"span":{"file_name":"src/pointer/dec.rs","byte_start":290404,"byte_end":290405,"line_start":940,"line_end":940,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 295 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1551893428},"span":{"file_name":"src/pointer/dec.rs","byte_start":290469,"byte_end":290474,"line_start":942,"line_end":942,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:948 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 314 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742773},"span":{"file_name":"src/pointer/dec.rs","byte_start":291082,"byte_end":291088,"line_start":963,"line_end":963,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871861},"span":{"file_name":"src/pointer/dec.rs","byte_start":291113,"byte_end":291124,"line_start":963,"line_end":963,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":949},"span":{"file_name":"src/pointer/dec.rs","byte_start":291058,"byte_end":291077,"line_start":963,"line_end":963,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218677},"span":{"file_name":"src/pointer/dec.rs","byte_start":291220,"byte_end":291231,"line_start":965,"line_end":965,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109813},"span":{"file_name":"src/pointer/dec.rs","byte_start":291322,"byte_end":291325,"line_start":968,"line_end":968,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 32 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206197},"span":{"file_name":"src/pointer/dec.rs","byte_start":291396,"byte_end":291397,"line_start":971,"line_end":971,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 39 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2382365621},"span":{"file_name":"src/pointer/dec.rs","byte_start":291787,"byte_end":291791,"line_start":983,"line_end":983,"column_start":13,"column_end":17},"name":"mult","qualname":"mult$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 113 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4143973301},"span":{"file_name":"src/pointer/dec.rs","byte_start":291830,"byte_end":291837,"line_start":985,"line_end":985,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 239 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650801077},"span":{"file_name":"src/pointer/dec.rs","byte_start":291898,"byte_end":291899,"line_start":986,"line_end":986,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 121 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822084533},"span":{"file_name":"src/pointer/dec.rs","byte_start":291963,"byte_end":291968,"line_start":988,"line_end":988,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 140 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962935221},"span":{"file_name":"src/pointer/dec.rs","byte_start":292162,"byte_end":292163,"line_start":992,"line_end":992,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 174 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2197816245},"span":{"file_name":"src/pointer/dec.rs","byte_start":292227,"byte_end":292232,"line_start":994,"line_end":994,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:949 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 193 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742774},"span":{"file_name":"src/pointer/dec.rs","byte_start":292911,"byte_end":292917,"line_start":1016,"line_end":1016,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871862},"span":{"file_name":"src/pointer/dec.rs","byte_start":292942,"byte_end":292949,"line_start":1016,"line_end":1016,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613686},"span":{"file_name":"src/pointer/dec.rs","byte_start":292958,"byte_end":292963,"line_start":1016,"line_end":1016,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":950},"span":{"file_name":"src/pointer/dec.rs","byte_start":292886,"byte_end":292906,"line_start":1016,"line_end":1016,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218678},"span":{"file_name":"src/pointer/dec.rs","byte_start":293019,"byte_end":293022,"line_start":1017,"line_end":1017,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:950 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704644022},"span":{"file_name":"src/pointer/dec.rs","byte_start":293058,"byte_end":293065,"line_start":1019,"line_end":1019,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:950 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 84 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464374},"span":{"file_name":"src/pointer/dec.rs","byte_start":293151,"byte_end":293156,"line_start":1022,"line_end":1022,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:950 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 37 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780854},"span":{"file_name":"src/pointer/dec.rs","byte_start":293267,"byte_end":293272,"line_start":1024,"line_end":1024,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:950 ~ no_proto[2d88]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 67 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":951},"span":{"file_name":"src/pointer/ulid.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"ulid","qualname":"::pointer::ulid","value":"src/pointer/ulid.rs","parent":null,"children":[{"krate":0,"index":952},{"krate":0,"index":953},{"krate":0,"index":954},{"krate":0,"index":957},{"krate":0,"index":960},{"krate":0,"index":963},{"krate":0,"index":964},{"krate":0,"index":967},{"krate":0,"index":970},{"krate":0,"index":973},{"krate":0,"index":976},{"krate":0,"index":977},{"krate":0,"index":980},{"krate":0,"index":983},{"krate":0,"index":986},{"krate":0,"index":987},{"krate":0,"index":990},{"krate":0,"index":993},{"krate":0,"index":994},{"krate":0,"index":997},{"krate":0,"index":998},{"krate":0,"index":1001},{"krate":0,"index":1004},{"krate":0,"index":1005},{"krate":0,"index":1008},{"krate":0,"index":1009},{"krate":0,"index":1010},{"krate":0,"index":1011},{"krate":0,"index":1013},{"krate":0,"index":1016},{"krate":0,"index":1019},{"krate":0,"index":1022},{"krate":0,"index":1025},{"krate":0,"index":1028},{"krate":0,"index":1029},{"krate":0,"index":1032},{"krate":0,"index":3162},{"krate":0,"index":3165},{"krate":0,"index":3166},{"krate":0,"index":3169},{"krate":0,"index":3170},{"krate":0,"index":3173},{"krate":0,"index":1035},{"krate":0,"index":1037},{"krate":0,"index":1059},{"krate":0,"index":1062},{"krate":0,"index":1064},{"krate":0,"index":1071},{"krate":0,"index":1089},{"krate":0,"index":1094}],"decl_id":null,"docs":" Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness\n \n Useful for storing time stamp data that doesn't have collisions.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::ulid::NP_ULID;\n \n let factory: NP_Factory = NP_Factory::new(\"ulid()\")?;","sig":null,"attributes":[{"value":"/ Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness","span":{"file_name":"src/pointer/ulid.rs","byte_start":296012,"byte_end":296094,"line_start":1,"line_end":1,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296095,"byte_end":296099,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Useful for storing time stamp data that doesn't have collisions.","span":{"file_name":"src/pointer/ulid.rs","byte_start":296100,"byte_end":296168,"line_start":3,"line_end":3,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296169,"byte_end":296173,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/ulid.rs","byte_start":296174,"byte_end":296181,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296182,"byte_end":296216,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296217,"byte_end":296246,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::ulid::NP_ULID;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296247,"byte_end":296288,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296289,"byte_end":296293,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"ulid()\")?;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296294,"byte_end":296351,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/ulid.rs","byte_start":296352,"byte_end":296355,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/ulid.rs","byte_start":296356,"byte_end":296406,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ let ulid = NP_ULID::generate(1604965249484, 50);","span":{"file_name":"src/pointer/ulid.rs","byte_start":296407,"byte_end":296459,"line_start":13,"line_end":13,"column_start":1,"column_end":53}},{"value":"/ new_buffer.set(&[], &ulid)?;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296460,"byte_end":296492,"line_start":14,"line_end":14,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296493,"byte_end":296497,"line_start":15,"line_end":15,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"01EPQP4CEC93KANC3XYNG9YKAQ\", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string());","span":{"file_name":"src/pointer/ulid.rs","byte_start":296498,"byte_end":296598,"line_start":16,"line_end":16,"column_start":1,"column_end":101}},{"value":"/","span":{"file_name":"src/pointer/ulid.rs","byte_start":296599,"byte_end":296602,"line_start":17,"line_end":17,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296603,"byte_end":296632,"line_start":18,"line_end":18,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/ulid.rs","byte_start":296633,"byte_end":296640,"line_start":19,"line_end":19,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296641,"byte_end":296645,"line_start":20,"line_end":20,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3162},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297331,"byte_end":297338,"line_start":44,"line_end":44,"column_start":12,"column_end":19},"name":"NP_ULID","qualname":"::pointer::ulid::NP_ULID","value":"NP_ULID { value }","parent":null,"children":[{"krate":0,"index":3163}],"decl_id":null,"docs":" Holds ULIDs which are good for time series keys.\n \n Check out documentation [here](../ulid/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds ULIDs which are good for time series keys.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297158,"byte_end":297210,"line_start":38,"line_end":38,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297211,"byte_end":297215,"line_start":39,"line_end":39,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../ulid/index.html).","span":{"file_name":"src/pointer/ulid.rs","byte_start":297216,"byte_end":297271,"line_start":40,"line_end":40,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297272,"byte_end":297276,"line_start":41,"line_end":41,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/ulid.rs","byte_start":297309,"byte_end":297319,"line_start":43,"line_end":43,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3163},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"name":"value","qualname":"::pointer::ulid::NP_ULID::value","value":"[u8; 16]","parent":{"krate":0,"index":3162},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1035},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297404,"byte_end":297412,"line_start":49,"line_end":49,"column_start":10,"column_end":18},"name":"_NP_ULID","qualname":"::pointer::ulid::_NP_ULID","value":"&'a NP_ULID","parent":null,"children":[],"decl_id":null,"docs":" ULID alias for shared type\n","sig":null,"attributes":[{"value":"/ ULID alias for shared type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297364,"byte_end":297394,"line_start":48,"line_end":48,"column_start":1,"column_end":31}}]},{"kind":"Local","id":{"krate":0,"index":1073742862},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297788,"byte_end":297794,"line_start":60,"line_end":60,"column_start":21,"column_end":27},"name":"now_ms","qualname":"::generate::now_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871950},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297801,"byte_end":297812,"line_start":60,"line_end":60,"column_start":34,"column_end":45},"name":"random_seed","qualname":"::generate::random_seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1038},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297779,"byte_end":297787,"line_start":60,"line_end":60,"column_start":12,"column_end":20},"name":"generate","qualname":"::generate","value":"pub fn generate(u64, u32) -> NP_ULID","parent":null,"children":[],"decl_id":null,"docs":" Creates a new ULID from the timestamp and provided seed.\n \n The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed.\n \n The time should be passed in as the unix epoch in milliseconds.\n","sig":null,"attributes":[{"value":"/ Creates a new ULID from the timestamp and provided seed.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297455,"byte_end":297515,"line_start":55,"line_end":55,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297520,"byte_end":297524,"line_start":56,"line_end":56,"column_start":5,"column_end":9}},{"value":"/ The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297529,"byte_end":297686,"line_start":57,"line_end":57,"column_start":5,"column_end":162}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297691,"byte_end":297695,"line_start":58,"line_end":58,"column_start":5,"column_end":9}},{"value":"/ The time should be passed in as the unix epoch in milliseconds.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297700,"byte_end":297767,"line_start":59,"line_end":59,"column_start":5,"column_end":72}}]},{"kind":"Local","id":{"krate":0,"index":1879049230},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297848,"byte_end":297851,"line_start":61,"line_end":61,"column_start":17,"column_end":20},"name":"rng","qualname":"rng$HirId { owner: DefId(0:1038 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate), local_id: 14 }","value":"utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396046},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297895,"byte_end":297897,"line_start":63,"line_end":63,"column_start":17,"column_end":19},"name":"id","qualname":"id$HirId { owner: DefId(0:1038 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate), local_id: 26 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593550},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297932,"byte_end":297942,"line_start":65,"line_end":65,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1038 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate), local_id: 33 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287182},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297980,"byte_end":297981,"line_start":67,"line_end":67,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1038 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate), local_id: 42 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742865},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298507,"byte_end":298513,"line_start":83,"line_end":83,"column_start":34,"column_end":40},"name":"now_ms","qualname":"::generate_with_rand::now_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871953},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298520,"byte_end":298529,"line_start":83,"line_end":83,"column_start":47,"column_end":56},"name":"random_fn","qualname":"::generate_with_rand::random_fn","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1042},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298504,"byte_end":298505,"line_start":83,"line_end":83,"column_start":31,"column_end":32},"name":"F","qualname":"::generate_with_rand::F$HirId { owner: DefId(0:1041 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1041},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298485,"byte_end":298503,"line_start":83,"line_end":83,"column_start":12,"column_end":30},"name":"generate_with_rand","qualname":"::generate_with_rand","value":"pub fn generate_with_rand(u64, F) -> NP_ULID where F: Fn() -> u8","parent":null,"children":[],"decl_id":null,"docs":" Generates a ULID with the given time and a provided random number generator.\n This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.\n \n","sig":null,"attributes":[{"value":"/ Generates a ULID with the given time and a provided random number generator.","span":{"file_name":"src/pointer/ulid.rs","byte_start":298225,"byte_end":298305,"line_start":80,"line_end":80,"column_start":5,"column_end":85}},{"value":"/ This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.","span":{"file_name":"src/pointer/ulid.rs","byte_start":298310,"byte_end":298464,"line_start":81,"line_end":81,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":298469,"byte_end":298473,"line_start":82,"line_end":82,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":134218769},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298584,"byte_end":298586,"line_start":85,"line_end":85,"column_start":17,"column_end":19},"name":"id","qualname":"id$HirId { owner: DefId(0:1041 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 16 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315153},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298621,"byte_end":298631,"line_start":87,"line_end":87,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1041 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 23 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109905},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298669,"byte_end":298670,"line_start":89,"line_end":89,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1041 ~ no_proto[2d88]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742869},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298964,"byte_end":298968,"line_start":103,"line_end":103,"column_start":22,"column_end":26},"name":"self","qualname":"::get_time::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1045},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298954,"byte_end":298962,"line_start":103,"line_end":103,"column_start":12,"column_end":20},"name":"get_time","qualname":"::get_time","value":"pub fn get_time(&Self) -> u64","parent":null,"children":[],"decl_id":null,"docs":" Get just the timestamp for this ULID\n","sig":null,"attributes":[{"value":"/ Get just the timestamp for this ULID","span":{"file_name":"src/pointer/ulid.rs","byte_start":298902,"byte_end":298942,"line_start":102,"line_end":102,"column_start":5,"column_end":45}}]},{"kind":"Local","id":{"krate":0,"index":1879049237},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298995,"byte_end":299005,"line_start":104,"line_end":104,"column_start":17,"column_end":27},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1045 ~ no_proto[2d88]::pointer::ulid::{impl#0}::get_time), local_id: 14 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137877},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299038,"byte_end":299039,"line_start":105,"line_end":105,"column_start":14,"column_end":15},"name":"i","qualname":"i$HirId { owner: DefId(0:1045 ~ no_proto[2d88]::pointer::ulid::{impl#0}::get_time), local_id: 25 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396053},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299041,"byte_end":299042,"line_start":105,"line_end":105,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1045 ~ no_proto[2d88]::pointer::ulid::{impl#0}::get_time), local_id: 26 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742872},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299248,"byte_end":299252,"line_start":112,"line_end":112,"column_start":24,"column_end":28},"name":"self","qualname":"::get_random::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1048},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299236,"byte_end":299246,"line_start":112,"line_end":112,"column_start":12,"column_end":22},"name":"get_random","qualname":"::get_random","value":"pub fn get_random(&Self) -> &[u8; ]","parent":null,"children":[],"decl_id":null,"docs":" Get the random component of this ULID\n","sig":null,"attributes":[{"value":"/ Get the random component of this ULID","span":{"file_name":"src/pointer/ulid.rs","byte_start":299183,"byte_end":299224,"line_start":111,"line_end":111,"column_start":5,"column_end":46}}]},{"kind":"Local","id":{"krate":0,"index":1073742875},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299447,"byte_end":299451,"line_start":118,"line_end":118,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1051},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299436,"byte_end":299445,"line_start":118,"line_end":118,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Generates a stringified version of this ULID with base32.\n \n","sig":null,"attributes":[{"value":"/ Generates a stringified version of this ULID with base32.","span":{"file_name":"src/pointer/ulid.rs","byte_start":299354,"byte_end":299415,"line_start":116,"line_end":116,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":299420,"byte_end":299424,"line_start":117,"line_end":117,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1342178331},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299481,"byte_end":299487,"line_start":119,"line_end":119,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1051 ~ no_proto[2d88]::pointer::ulid::{impl#0}::to_string), local_id: 10 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831515},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299530,"byte_end":299540,"line_start":121,"line_end":121,"column_start":17,"column_end":27},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1051 ~ no_proto[2d88]::pointer::ulid::{impl#0}::to_string), local_id: 22 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851739},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299578,"byte_end":299588,"line_start":122,"line_end":122,"column_start":17,"column_end":27},"name":"rand_bytes","qualname":"rand_bytes$HirId { owner: DefId(0:1051 ~ no_proto[2d88]::pointer::ulid::{impl#0}::to_string), local_id: 34 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287195},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299624,"byte_end":299625,"line_start":124,"line_end":124,"column_start":14,"column_end":15},"name":"i","qualname":"i$HirId { owner: DefId(0:1051 ~ no_proto[2d88]::pointer::ulid::{impl#0}::to_string), local_id: 42 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770843},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299627,"byte_end":299628,"line_start":124,"line_end":124,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1051 ~ no_proto[2d88]::pointer::ulid::{impl#0}::to_string), local_id: 43 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742880},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300069,"byte_end":300074,"line_start":139,"line_end":139,"column_start":39,"column_end":44},"name":"value","qualname":"::from_string::value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1057},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300054,"byte_end":300055,"line_start":139,"line_end":139,"column_start":24,"column_end":25},"name":"S","qualname":"::from_string::S$HirId { owner: DefId(0:1056 ~ no_proto[2d88]::pointer::ulid::{impl#0}::from_string), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1056},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300042,"byte_end":300053,"line_start":139,"line_end":139,"column_start":12,"column_end":23},"name":"from_string","qualname":"::from_string","value":"pub fn from_string>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Encode a ULID into bytes\n","sig":null,"attributes":[{"value":"/ Encode a ULID into bytes","span":{"file_name":"src/pointer/ulid.rs","byte_start":300002,"byte_end":300030,"line_start":138,"line_end":138,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3355444256},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300101,"byte_end":300111,"line_start":140,"line_end":140,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1056 ~ no_proto[2d88]::pointer::ulid::{impl#0}::from_string), local_id: 19 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603980832},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300176,"byte_end":300186,"line_start":141,"line_end":141,"column_start":13,"column_end":23},"name":"rand_bytes","qualname":"rand_bytes$HirId { owner: DefId(0:1056 ~ no_proto[2d88]::pointer::ulid::{impl#0}::from_string), local_id: 36 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946158112},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300256,"byte_end":300262,"line_start":143,"line_end":143,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1056 ~ no_proto[2d88]::pointer::ulid::{impl#0}::from_string), local_id: 46 }","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198560},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300306,"byte_end":300307,"line_start":145,"line_end":145,"column_start":13,"column_end":14},"name":"i","qualname":"i$HirId { owner: DefId(0:1056 ~ no_proto[2d88]::pointer::ulid::{impl#0}::from_string), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1060},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300551,"byte_end":300558,"line_start":160,"line_end":160,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742887},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300655,"byte_end":300659,"line_start":166,"line_end":166,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871975},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300661,"byte_end":300662,"line_start":166,"line_end":166,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1063},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300650,"byte_end":300653,"line_start":166,"line_end":166,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742890},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300825,"byte_end":300832,"line_start":172,"line_end":172,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1066},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300810,"byte_end":300824,"line_start":172,"line_end":172,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742891},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300946,"byte_end":300953,"line_start":176,"line_end":176,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871979},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300967,"byte_end":300974,"line_start":176,"line_end":176,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1067},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300933,"byte_end":300945,"line_start":176,"line_end":176,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742893},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301077,"byte_end":301084,"line_start":180,"line_end":180,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871981},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301098,"byte_end":301105,"line_start":180,"line_end":180,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1069},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301064,"byte_end":301076,"line_start":180,"line_end":180,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1073},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301241,"byte_end":301249,"line_start":188,"line_end":188,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742898},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301336,"byte_end":301340,"line_start":189,"line_end":189,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1074},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301321,"byte_end":301334,"line_start":189,"line_end":189,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742899},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301427,"byte_end":301434,"line_start":191,"line_end":191,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871987},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301460,"byte_end":301468,"line_start":191,"line_end":191,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1075},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301412,"byte_end":301426,"line_start":191,"line_end":191,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307443},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301523,"byte_end":301534,"line_start":192,"line_end":192,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1075 ~ no_proto[2d88]::pointer::ulid::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742900},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301727,"byte_end":301733,"line_start":198,"line_end":198,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871988},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301742,"byte_end":301753,"line_start":198,"line_end":198,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613812},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301761,"byte_end":301767,"line_start":198,"line_end":198,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436532},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301780,"byte_end":301786,"line_start":198,"line_end":198,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178356},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301805,"byte_end":301810,"line_start":198,"line_end":198,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1076},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301707,"byte_end":301720,"line_start":198,"line_end":198,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960628},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301931,"byte_end":301936,"line_start":200,"line_end":200,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:1076 ~ no_proto[2d88]::pointer::ulid::{impl#4}::set_from_json), local_id: 18 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742902},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302112,"byte_end":302119,"line_start":209,"line_end":209,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871990},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302145,"byte_end":302153,"line_start":209,"line_end":209,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1078},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302098,"byte_end":302111,"line_start":209,"line_end":209,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742903},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302259,"byte_end":302265,"line_start":213,"line_end":213,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871991},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302290,"byte_end":302295,"line_start":213,"line_end":213,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613815},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302303,"byte_end":302307,"line_start":213,"line_end":213,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436535},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302321,"byte_end":302326,"line_start":213,"line_end":213,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1079},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302240,"byte_end":302258,"line_start":213,"line_end":213,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742904},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302503,"byte_end":302509,"line_start":217,"line_end":217,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871992},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302522,"byte_end":302528,"line_start":217,"line_end":217,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613816},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302547,"byte_end":302552,"line_start":217,"line_end":217,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1080},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302487,"byte_end":302496,"line_start":217,"line_end":217,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742906},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302695,"byte_end":302701,"line_start":221,"line_end":221,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871994},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302715,"byte_end":302721,"line_start":221,"line_end":221,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1082},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302684,"byte_end":302694,"line_start":221,"line_end":221,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109946},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302867,"byte_end":302868,"line_start":223,"line_end":223,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1082 ~ no_proto[2d88]::pointer::ulid::{impl#4}::into_value), local_id: 32 }","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742907},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302965,"byte_end":302971,"line_start":228,"line_end":228,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871995},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302980,"byte_end":302991,"line_start":228,"line_end":228,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613819},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302999,"byte_end":303006,"line_start":228,"line_end":228,"column_start":56,"column_end":63},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1083},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302951,"byte_end":302964,"line_start":228,"line_end":228,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742908},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303085,"byte_end":303091,"line_start":232,"line_end":232,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871996},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303099,"byte_end":303105,"line_start":232,"line_end":232,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613820},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303119,"byte_end":303125,"line_start":232,"line_end":232,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1084},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303077,"byte_end":303084,"line_start":232,"line_end":232,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702460},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303224,"byte_end":303225,"line_start":235,"line_end":235,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1084 ~ no_proto[2d88]::pointer::ulid::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315196},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303283,"byte_end":303284,"line_start":237,"line_end":237,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1084 ~ no_proto[2d88]::pointer::ulid::{impl#4}::to_json), local_id: 23 }","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641788},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303508,"byte_end":303510,"line_start":245,"line_end":245,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1084 ~ no_proto[2d88]::pointer::ulid::{impl#4}::to_json), local_id: 47 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742909},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303594,"byte_end":303600,"line_start":251,"line_end":251,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871997},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303608,"byte_end":303614,"line_start":251,"line_end":251,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613821},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303628,"byte_end":303634,"line_start":251,"line_end":251,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1085},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303585,"byte_end":303593,"line_start":251,"line_end":251,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960637},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303690,"byte_end":303697,"line_start":253,"line_end":253,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1085 ~ no_proto[2d88]::pointer::ulid::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/ulid.rs:253:23: 253:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742911},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303882,"byte_end":303888,"line_start":262,"line_end":262,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871999},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303913,"byte_end":303925,"line_start":262,"line_end":262,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1087},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303858,"byte_end":303877,"line_start":262,"line_end":262,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218815},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304021,"byte_end":304033,"line_start":264,"line_end":264,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1087 ~ no_proto[2d88]::pointer::ulid::{impl#4}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742912},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304390,"byte_end":304396,"line_start":278,"line_end":278,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872000},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304421,"byte_end":304429,"line_start":278,"line_end":278,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613824},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304438,"byte_end":304444,"line_start":278,"line_end":278,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1088},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304365,"byte_end":304385,"line_start":278,"line_end":278,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742915},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304781,"byte_end":304788,"line_start":292,"line_end":292,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1091},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304766,"byte_end":304780,"line_start":292,"line_end":292,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742916},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304884,"byte_end":304891,"line_start":295,"line_end":295,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872004},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304905,"byte_end":304912,"line_start":295,"line_end":295,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1092},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304871,"byte_end":304883,"line_start":295,"line_end":295,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742917},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304984,"byte_end":304991,"line_start":299,"line_end":299,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872005},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305005,"byte_end":305012,"line_start":299,"line_end":299,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1093},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304971,"byte_end":304983,"line_start":299,"line_end":299,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1096},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305120,"byte_end":305128,"line_start":307,"line_end":307,"column_start":8,"column_end":16},"name":"type_idx","qualname":"<&'_ NP_ULID as pointer::NP_Value>::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742921},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305207,"byte_end":305211,"line_start":308,"line_end":308,"column_start":23,"column_end":27},"name":"self","qualname":"<&'_ NP_ULID as pointer::NP_Value>::self_type_idx::self","value":"&&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1097},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305192,"byte_end":305205,"line_start":308,"line_end":308,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"<&'_ NP_ULID as pointer::NP_Value>::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742922},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305305,"byte_end":305312,"line_start":310,"line_end":310,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872010},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305338,"byte_end":305346,"line_start":310,"line_end":310,"column_start":56,"column_end":64},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1098},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305290,"byte_end":305304,"line_start":310,"line_end":310,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742923},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305470,"byte_end":305476,"line_start":314,"line_end":314,"column_start":28,"column_end":34},"name":"_depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872011},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305485,"byte_end":305496,"line_start":314,"line_end":314,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613835},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305504,"byte_end":305511,"line_start":314,"line_end":314,"column_start":62,"column_end":69},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436555},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305524,"byte_end":305531,"line_start":314,"line_end":314,"column_start":82,"column_end":89},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178379},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305550,"byte_end":305556,"line_start":314,"line_end":314,"column_start":108,"column_end":114},"name":"_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1099},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305450,"byte_end":305463,"line_start":314,"line_end":314,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742925},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305668,"byte_end":305675,"line_start":319,"line_end":319,"column_start":22,"column_end":29},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872013},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305701,"byte_end":305709,"line_start":319,"line_end":319,"column_start":55,"column_end":63},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1101},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305654,"byte_end":305667,"line_start":319,"line_end":319,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742926},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305815,"byte_end":305821,"line_start":323,"line_end":323,"column_start":27,"column_end":33},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872014},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305846,"byte_end":305851,"line_start":323,"line_end":323,"column_start":58,"column_end":63},"name":"_name","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613838},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305859,"byte_end":305863,"line_start":323,"line_end":323,"column_start":71,"column_end":75},"name":"_idl","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436558},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305877,"byte_end":305882,"line_start":323,"line_end":323,"column_start":89,"column_end":94},"name":"_args","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1102},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305796,"byte_end":305814,"line_start":323,"line_end":323,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742927},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306058,"byte_end":306064,"line_start":327,"line_end":327,"column_start":24,"column_end":30},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872015},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306077,"byte_end":306083,"line_start":327,"line_end":327,"column_start":43,"column_end":49},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613839},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306102,"byte_end":306107,"line_start":327,"line_end":327,"column_start":68,"column_end":73},"name":"value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::value","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1103},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306042,"byte_end":306051,"line_start":327,"line_end":327,"column_start":8,"column_end":17},"name":"set_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960655},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306185,"byte_end":306192,"line_start":328,"line_end":328,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1103 ~ no_proto[2d88]::pointer::ulid::{impl#6}::set_value), local_id: 18 }","value":"[closure@src/pointer/ulid.rs:328:23: 328:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008847},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306245,"byte_end":306258,"line_start":330,"line_end":330,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1103 ~ no_proto[2d88]::pointer::ulid::{impl#6}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545423},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306374,"byte_end":306379,"line_start":333,"line_end":333,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1103 ~ no_proto[2d88]::pointer::ulid::{impl#6}::set_value), local_id: 40 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641807},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306411,"byte_end":306422,"line_start":334,"line_end":334,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1103 ~ no_proto[2d88]::pointer::ulid::{impl#6}::set_value), local_id: 47 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763151},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306515,"byte_end":306516,"line_start":337,"line_end":337,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1103 ~ no_proto[2d88]::pointer::ulid::{impl#6}::set_value), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742930},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306872,"byte_end":306878,"line_start":350,"line_end":350,"column_start":22,"column_end":28},"name":"_depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872018},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306887,"byte_end":306898,"line_start":350,"line_end":350,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613842},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306906,"byte_end":306913,"line_start":350,"line_end":350,"column_start":56,"column_end":63},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1106},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306858,"byte_end":306871,"line_start":350,"line_end":350,"column_start":8,"column_end":21},"name":"default_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742931},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306995,"byte_end":307001,"line_start":354,"line_end":354,"column_start":19,"column_end":25},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872019},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307015,"byte_end":307021,"line_start":354,"line_end":354,"column_start":39,"column_end":45},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1107},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306984,"byte_end":306994,"line_start":354,"line_end":354,"column_start":8,"column_end":18},"name":"into_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218835},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307109,"byte_end":307116,"line_start":356,"line_end":356,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1107 ~ no_proto[2d88]::pointer::ulid::{impl#6}::into_value), local_id: 16 }","value":"[closure@src/pointer/ulid.rs:356:23: 356:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654291},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307165,"byte_end":307175,"line_start":358,"line_end":358,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1107 ~ no_proto[2d88]::pointer::ulid::{impl#6}::into_value), local_id: 24 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682259},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307376,"byte_end":307377,"line_start":366,"line_end":366,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1107 ~ no_proto[2d88]::pointer::ulid::{impl#6}::into_value), local_id: 53 }","value":"&[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742933},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307523,"byte_end":307528,"line_start":373,"line_end":373,"column_start":16,"column_end":21},"name":"depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872021},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307536,"byte_end":307542,"line_start":373,"line_end":373,"column_start":29,"column_end":35},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613845},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307556,"byte_end":307562,"line_start":373,"line_end":373,"column_start":49,"column_end":55},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1109},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307515,"byte_end":307522,"line_start":373,"line_end":373,"column_start":8,"column_end":15},"name":"to_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742934},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307667,"byte_end":307672,"line_start":377,"line_end":377,"column_start":17,"column_end":22},"name":"depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872022},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307680,"byte_end":307686,"line_start":377,"line_end":377,"column_start":30,"column_end":36},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613846},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307700,"byte_end":307706,"line_start":377,"line_end":377,"column_start":50,"column_end":56},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1110},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307658,"byte_end":307666,"line_start":377,"line_end":377,"column_start":8,"column_end":16},"name":"get_size","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742935},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307832,"byte_end":307838,"line_start":381,"line_end":381,"column_start":28,"column_end":34},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872023},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307863,"byte_end":307875,"line_start":381,"line_end":381,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema::_json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1111},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307812,"byte_end":307831,"line_start":381,"line_end":381,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742936},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308049,"byte_end":308055,"line_start":386,"line_end":386,"column_start":29,"column_end":35},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872024},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308080,"byte_end":308088,"line_start":386,"line_end":386,"column_start":60,"column_end":68},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613848},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308097,"byte_end":308103,"line_start":386,"line_end":386,"column_start":77,"column_end":83},"name":"_bytes","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1112},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308028,"byte_end":308048,"line_start":386,"line_end":386,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1113},"span":{"file_name":"src/pointer/uuid.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"uuid","qualname":"::pointer::uuid","value":"src/pointer/uuid.rs","parent":null,"children":[{"krate":0,"index":1114},{"krate":0,"index":1117},{"krate":0,"index":1118},{"krate":0,"index":1121},{"krate":0,"index":1124},{"krate":0,"index":1125},{"krate":0,"index":1128},{"krate":0,"index":1131},{"krate":0,"index":1134},{"krate":0,"index":1137},{"krate":0,"index":1138},{"krate":0,"index":1141},{"krate":0,"index":1142},{"krate":0,"index":1145},{"krate":0,"index":1148},{"krate":0,"index":1149},{"krate":0,"index":1152},{"krate":0,"index":1155},{"krate":0,"index":1156},{"krate":0,"index":1159},{"krate":0,"index":1160},{"krate":0,"index":1163},{"krate":0,"index":1166},{"krate":0,"index":1167},{"krate":0,"index":1170},{"krate":0,"index":1171},{"krate":0,"index":1172},{"krate":0,"index":1173},{"krate":0,"index":1175},{"krate":0,"index":1178},{"krate":0,"index":1181},{"krate":0,"index":1184},{"krate":0,"index":1187},{"krate":0,"index":1190},{"krate":0,"index":3175},{"krate":0,"index":3178},{"krate":0,"index":3179},{"krate":0,"index":3182},{"krate":0,"index":3183},{"krate":0,"index":3186},{"krate":0,"index":1193},{"krate":0,"index":1195},{"krate":0,"index":1206},{"krate":0,"index":1208},{"krate":0,"index":1211},{"krate":0,"index":1218},{"krate":0,"index":1236},{"krate":0,"index":1241}],"decl_id":null,"docs":" Represents a V4 UUID, good for globally unique identifiers\n \n `uuid` types are always represented with this struct.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::uuid::NP_UUID;\n \n let factory: NP_Factory = NP_Factory::new(\"uuid()\")?;","sig":null,"attributes":[{"value":"/ Represents a V4 UUID, good for globally unique identifiers","span":{"file_name":"src/pointer/uuid.rs","byte_start":309697,"byte_end":309759,"line_start":1,"line_end":1,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309760,"byte_end":309764,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ `uuid` types are always represented with this struct.","span":{"file_name":"src/pointer/uuid.rs","byte_start":309765,"byte_end":309822,"line_start":3,"line_end":3,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309823,"byte_end":309827,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/uuid.rs","byte_start":309828,"byte_end":309835,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309836,"byte_end":309870,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309871,"byte_end":309900,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309901,"byte_end":309942,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309943,"byte_end":309947,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"uuid()\")?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309948,"byte_end":310005,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/uuid.rs","byte_start":310006,"byte_end":310009,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310010,"byte_end":310060,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ let uuid = NP_UUID::generate(50);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310061,"byte_end":310098,"line_start":13,"line_end":13,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[], &uuid)?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":310099,"byte_end":310131,"line_start":14,"line_end":14,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310132,"byte_end":310136,"line_start":15,"line_end":15,"column_start":1,"column_end":5}},{"value":"/ let b_uuid: Option = new_buffer.get::(&[])?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":310137,"byte_end":310203,"line_start":16,"line_end":16,"column_start":1,"column_end":67}},{"value":"/ assert_eq!(Some(uuid), b_uuid);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310204,"byte_end":310239,"line_start":17,"line_end":17,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310240,"byte_end":310244,"line_start":18,"line_end":18,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"48E6AAB0-7DF5-409F-4D57-4D969FA065EE\", b_uuid.unwrap().to_string());","span":{"file_name":"src/pointer/uuid.rs","byte_start":310245,"byte_end":310329,"line_start":19,"line_end":19,"column_start":1,"column_end":85}},{"value":"/","span":{"file_name":"src/pointer/uuid.rs","byte_start":310330,"byte_end":310333,"line_start":20,"line_end":20,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310334,"byte_end":310363,"line_start":21,"line_end":21,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/uuid.rs","byte_start":310364,"byte_end":310371,"line_start":22,"line_end":22,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310372,"byte_end":310376,"line_start":23,"line_end":23,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3175},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311067,"byte_end":311074,"line_start":49,"line_end":49,"column_start":12,"column_end":19},"name":"NP_UUID","qualname":"::pointer::uuid::NP_UUID","value":"NP_UUID { value }","parent":null,"children":[{"krate":0,"index":3176}],"decl_id":null,"docs":" Holds UUID which is good for random keys.\n \n Check out documentation [here](../uuid/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds UUID which is good for random keys.","span":{"file_name":"src/pointer/uuid.rs","byte_start":310901,"byte_end":310946,"line_start":43,"line_end":43,"column_start":1,"column_end":46}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310947,"byte_end":310951,"line_start":44,"line_end":44,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../uuid/index.html).","span":{"file_name":"src/pointer/uuid.rs","byte_start":310952,"byte_end":311007,"line_start":45,"line_end":45,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":311008,"byte_end":311012,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/uuid.rs","byte_start":311045,"byte_end":311055,"line_start":48,"line_end":48,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3176},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"name":"value","qualname":"::pointer::uuid::NP_UUID::value","value":"[u8; 16]","parent":{"krate":0,"index":3175},"children":[],"decl_id":null,"docs":" The random bytes for this UUID\n","sig":null,"attributes":[{"value":"/ The random bytes for this UUID","span":{"file_name":"src/pointer/uuid.rs","byte_start":311081,"byte_end":311115,"line_start":50,"line_end":50,"column_start":5,"column_end":39}}]},{"kind":"Type","id":{"krate":0,"index":1193},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311185,"byte_end":311193,"line_start":56,"line_end":56,"column_start":10,"column_end":18},"name":"_NP_UUID","qualname":"::pointer::uuid::_NP_UUID","value":"&'a NP_UUID","parent":null,"children":[],"decl_id":null,"docs":" ULID alias for shared value\n","sig":null,"attributes":[{"value":"/ ULID alias for shared value","span":{"file_name":"src/pointer/uuid.rs","byte_start":311144,"byte_end":311175,"line_start":55,"line_end":55,"column_start":1,"column_end":32}}]},{"kind":"Local","id":{"krate":0,"index":1073743020},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311388,"byte_end":311399,"line_start":62,"line_end":62,"column_start":21,"column_end":32},"name":"random_seed","qualname":"::generate::random_seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1196},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311379,"byte_end":311387,"line_start":62,"line_end":62,"column_start":12,"column_end":20},"name":"generate","qualname":"::generate","value":"pub fn generate(u32) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible.\n \n","sig":null,"attributes":[{"value":"/ Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311234,"byte_end":311358,"line_start":60,"line_end":60,"column_start":5,"column_end":129}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":311363,"byte_end":311367,"line_start":61,"line_end":61,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805307564},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311434,"byte_end":311438,"line_start":65,"line_end":65,"column_start":17,"column_end":21},"name":"uuid","qualname":"uuid$HirId { owner: DefId(0:1196 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate), local_id: 12 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831660},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311506,"byte_end":311509,"line_start":69,"line_end":69,"column_start":17,"column_end":20},"name":"rng","qualname":"rng$HirId { owner: DefId(0:1196 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate), local_id: 22 }","value":"utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110060},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311549,"byte_end":311550,"line_start":71,"line_end":71,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1196 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743022},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312059,"byte_end":312068,"line_start":85,"line_end":85,"column_start":34,"column_end":43},"name":"random_fn","qualname":"::generate_with_rand::random_fn","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1199},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312056,"byte_end":312057,"line_start":85,"line_end":85,"column_start":31,"column_end":32},"name":"F","qualname":"::generate_with_rand::F$HirId { owner: DefId(0:1198 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1198},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312037,"byte_end":312055,"line_start":85,"line_end":85,"column_start":12,"column_end":30},"name":"generate_with_rand","qualname":"::generate_with_rand","value":"pub fn generate_with_rand(F) -> Self where F: Fn() -> u8","parent":null,"children":[],"decl_id":null,"docs":" Generates a UUID with a provided random number generator.\n This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.\n \n","sig":null,"attributes":[{"value":"/ Generates a UUID with a provided random number generator.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311796,"byte_end":311857,"line_start":82,"line_end":82,"column_start":5,"column_end":66}},{"value":"/ This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311862,"byte_end":312016,"line_start":83,"line_end":83,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312021,"byte_end":312025,"line_start":84,"line_end":84,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805307566},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312119,"byte_end":312123,"line_start":86,"line_end":86,"column_start":17,"column_end":21},"name":"uuid","qualname":"uuid$HirId { owner: DefId(0:1198 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 12 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831662},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312187,"byte_end":312188,"line_start":90,"line_end":90,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1198 ~ no_proto[2d88]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 22 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743025},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312508,"byte_end":312512,"line_start":103,"line_end":103,"column_start":39,"column_end":43},"name":"uuid","qualname":"::from_string::uuid","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1202},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312493,"byte_end":312494,"line_start":103,"line_end":103,"column_start":24,"column_end":25},"name":"S","qualname":"::from_string::S$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1201},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312481,"byte_end":312492,"line_start":103,"line_end":103,"column_start":12,"column_end":23},"name":"from_string","qualname":"::from_string","value":"pub fn from_string>(S) -> NP_UUID","parent":null,"children":[],"decl_id":null,"docs":" Create a UUID from a string representation\n \n","sig":null,"attributes":[{"value":"/ Create a UUID from a string representation","span":{"file_name":"src/pointer/uuid.rs","byte_start":312414,"byte_end":312460,"line_start":101,"line_end":101,"column_start":5,"column_end":51}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312465,"byte_end":312469,"line_start":102,"line_end":102,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1744831665},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312542,"byte_end":312549,"line_start":104,"line_end":104,"column_start":13,"column_end":20},"name":"cleaned","qualname":"cleaned$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 22 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851889},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312638,"byte_end":312643,"line_start":106,"line_end":106,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 34 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545521},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312678,"byte_end":312679,"line_start":108,"line_end":108,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 40 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682353},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312712,"byte_end":312716,"line_start":109,"line_end":109,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732913},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312816,"byte_end":312820,"line_start":111,"line_end":111,"column_start":20,"column_end":24},"name":"byte","qualname":"byte$HirId { owner: DefId(0:1201 ~ no_proto[2d88]::pointer::uuid::{impl#0}::from_string), local_id: 74 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743029},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313012,"byte_end":313016,"line_start":121,"line_end":121,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1205},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313001,"byte_end":313010,"line_start":121,"line_end":121,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Generates a stringified version of the UUID.\n \n","sig":null,"attributes":[{"value":"/ Generates a stringified version of the UUID.","span":{"file_name":"src/pointer/uuid.rs","byte_start":312932,"byte_end":312980,"line_start":119,"line_end":119,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312985,"byte_end":312989,"line_start":120,"line_end":120,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489662133},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313047,"byte_end":313053,"line_start":123,"line_end":123,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1205 ~ no_proto[2d88]::pointer::uuid::{impl#0}::to_string), local_id: 11 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818573493},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313096,"byte_end":313097,"line_start":125,"line_end":125,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1205 ~ no_proto[2d88]::pointer::uuid::{impl#0}::to_string), local_id: 21 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717910197},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313246,"byte_end":313250,"line_start":129,"line_end":129,"column_start":17,"column_end":21},"name":"byte","qualname":"byte$HirId { owner: DefId(0:1205 ~ no_proto[2d88]::pointer::uuid::{impl#0}::to_string), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743031},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313404,"byte_end":313408,"line_start":138,"line_end":138,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872119},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313410,"byte_end":313411,"line_start":138,"line_end":138,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1207},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313399,"byte_end":313402,"line_start":138,"line_end":138,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1209},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313541,"byte_end":313548,"line_start":144,"line_end":144,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743037},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313674,"byte_end":313681,"line_start":150,"line_end":150,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1213},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313659,"byte_end":313673,"line_start":150,"line_end":150,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743038},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313794,"byte_end":313801,"line_start":153,"line_end":153,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872126},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313815,"byte_end":313822,"line_start":153,"line_end":153,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1214},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313781,"byte_end":313793,"line_start":153,"line_end":153,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743040},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313925,"byte_end":313932,"line_start":157,"line_end":157,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872128},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313946,"byte_end":313953,"line_start":157,"line_end":157,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1216},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313912,"byte_end":313924,"line_start":157,"line_end":157,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1220},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314090,"byte_end":314098,"line_start":166,"line_end":166,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743045},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314185,"byte_end":314189,"line_start":167,"line_end":167,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1221},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314170,"byte_end":314183,"line_start":167,"line_end":167,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743046},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314276,"byte_end":314283,"line_start":169,"line_end":169,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872134},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314309,"byte_end":314317,"line_start":169,"line_end":169,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1222},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314261,"byte_end":314275,"line_start":169,"line_end":169,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307590},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314372,"byte_end":314383,"line_start":170,"line_end":170,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1222 ~ no_proto[2d88]::pointer::uuid::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743047},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314572,"byte_end":314578,"line_start":176,"line_end":176,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872135},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314591,"byte_end":314597,"line_start":176,"line_end":176,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613959},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314616,"byte_end":314621,"line_start":176,"line_end":176,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1223},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314556,"byte_end":314565,"line_start":176,"line_end":176,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743049},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314773,"byte_end":314779,"line_start":180,"line_end":180,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872137},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314788,"byte_end":314799,"line_start":180,"line_end":180,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613961},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314807,"byte_end":314813,"line_start":180,"line_end":180,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436681},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314826,"byte_end":314832,"line_start":180,"line_end":180,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178505},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314851,"byte_end":314856,"line_start":180,"line_end":180,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1225},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314753,"byte_end":314766,"line_start":180,"line_end":180,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960777},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314978,"byte_end":314983,"line_start":183,"line_end":183,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:1225 ~ no_proto[2d88]::pointer::uuid::{impl#4}::set_from_json), local_id: 18 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743051},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315160,"byte_end":315167,"line_start":193,"line_end":193,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872139},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315193,"byte_end":315201,"line_start":193,"line_end":193,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1227},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315146,"byte_end":315159,"line_start":193,"line_end":193,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743052},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315307,"byte_end":315313,"line_start":197,"line_end":197,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872140},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315338,"byte_end":315343,"line_start":197,"line_end":197,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613964},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315351,"byte_end":315355,"line_start":197,"line_end":197,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436684},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315369,"byte_end":315374,"line_start":197,"line_end":197,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1228},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315288,"byte_end":315306,"line_start":197,"line_end":197,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743053},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315548,"byte_end":315554,"line_start":201,"line_end":201,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872141},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315563,"byte_end":315574,"line_start":201,"line_end":201,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613965},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315582,"byte_end":315589,"line_start":201,"line_end":201,"column_start":56,"column_end":63},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1229},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315534,"byte_end":315547,"line_start":201,"line_end":201,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743054},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315671,"byte_end":315677,"line_start":205,"line_end":205,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872142},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315691,"byte_end":315697,"line_start":205,"line_end":205,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1230},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315660,"byte_end":315670,"line_start":205,"line_end":205,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110094},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315843,"byte_end":315844,"line_start":207,"line_end":207,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1230 ~ no_proto[2d88]::pointer::uuid::{impl#4}::into_value), local_id: 32 }","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743055},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315935,"byte_end":315941,"line_start":212,"line_end":212,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872143},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315949,"byte_end":315955,"line_start":212,"line_end":212,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613967},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315969,"byte_end":315975,"line_start":212,"line_end":212,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1231},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315927,"byte_end":315934,"line_start":212,"line_end":212,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702607},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316074,"byte_end":316075,"line_start":215,"line_end":215,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1231 ~ no_proto[2d88]::pointer::uuid::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315343},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316133,"byte_end":316134,"line_start":217,"line_end":217,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1231 ~ no_proto[2d88]::pointer::uuid::{impl#4}::to_json), local_id: 23 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641935},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316358,"byte_end":316360,"line_start":225,"line_end":225,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1231 ~ no_proto[2d88]::pointer::uuid::{impl#4}::to_json), local_id: 47 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743056},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316444,"byte_end":316450,"line_start":231,"line_end":231,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872144},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316458,"byte_end":316464,"line_start":231,"line_end":231,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613968},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316478,"byte_end":316484,"line_start":231,"line_end":231,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1232},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316435,"byte_end":316443,"line_start":231,"line_end":231,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960784},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316540,"byte_end":316547,"line_start":233,"line_end":233,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1232 ~ no_proto[2d88]::pointer::uuid::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/uuid.rs:233:23: 233:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743058},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316732,"byte_end":316738,"line_start":242,"line_end":242,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872146},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316763,"byte_end":316775,"line_start":242,"line_end":242,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1234},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316708,"byte_end":316727,"line_start":242,"line_end":242,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218962},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316879,"byte_end":316891,"line_start":245,"line_end":245,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1234 ~ no_proto[2d88]::pointer::uuid::{impl#4}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743059},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317251,"byte_end":317257,"line_start":258,"line_end":258,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872147},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317282,"byte_end":317290,"line_start":258,"line_end":258,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613971},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317299,"byte_end":317305,"line_start":258,"line_end":258,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1235},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317226,"byte_end":317246,"line_start":258,"line_end":258,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743062},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317641,"byte_end":317648,"line_start":271,"line_end":271,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1238},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317626,"byte_end":317640,"line_start":271,"line_end":271,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743063},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317745,"byte_end":317752,"line_start":275,"line_end":275,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872151},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317766,"byte_end":317773,"line_start":275,"line_end":275,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1239},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317732,"byte_end":317744,"line_start":275,"line_end":275,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743064},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317845,"byte_end":317852,"line_start":279,"line_end":279,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872152},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317866,"byte_end":317873,"line_start":279,"line_end":279,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1240},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317832,"byte_end":317844,"line_start":279,"line_end":279,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1243},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317980,"byte_end":317988,"line_start":286,"line_end":286,"column_start":8,"column_end":16},"name":"type_idx","qualname":"<&'_ NP_UUID as pointer::NP_Value>::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743068},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318067,"byte_end":318071,"line_start":287,"line_end":287,"column_start":23,"column_end":27},"name":"self","qualname":"<&'_ NP_UUID as pointer::NP_Value>::self_type_idx::self","value":"&&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1244},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318052,"byte_end":318065,"line_start":287,"line_end":287,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"<&'_ NP_UUID as pointer::NP_Value>::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743069},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318165,"byte_end":318172,"line_start":289,"line_end":289,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872157},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318198,"byte_end":318206,"line_start":289,"line_end":289,"column_start":56,"column_end":64},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1245},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318150,"byte_end":318164,"line_start":289,"line_end":289,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743070},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318326,"byte_end":318332,"line_start":293,"line_end":293,"column_start":24,"column_end":30},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872158},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318345,"byte_end":318351,"line_start":293,"line_end":293,"column_start":43,"column_end":49},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613982},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318370,"byte_end":318375,"line_start":293,"line_end":293,"column_start":68,"column_end":73},"name":"value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::value","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1246},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318310,"byte_end":318319,"line_start":293,"line_end":293,"column_start":8,"column_end":17},"name":"set_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960798},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318453,"byte_end":318460,"line_start":294,"line_end":294,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1246 ~ no_proto[2d88]::pointer::uuid::{impl#6}::set_value), local_id: 18 }","value":"[closure@src/pointer/uuid.rs:294:23: 294:52]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008990},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318511,"byte_end":318524,"line_start":296,"line_end":296,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1246 ~ no_proto[2d88]::pointer::uuid::{impl#6}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545566},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318640,"byte_end":318645,"line_start":299,"line_end":299,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1246 ~ no_proto[2d88]::pointer::uuid::{impl#6}::set_value), local_id: 40 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641950},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318677,"byte_end":318688,"line_start":300,"line_end":300,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1246 ~ no_proto[2d88]::pointer::uuid::{impl#6}::set_value), local_id: 47 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763294},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318781,"byte_end":318782,"line_start":303,"line_end":303,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1246 ~ no_proto[2d88]::pointer::uuid::{impl#6}::set_value), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743073},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319118,"byte_end":319125,"line_start":316,"line_end":316,"column_start":22,"column_end":29},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872161},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319151,"byte_end":319159,"line_start":316,"line_end":316,"column_start":55,"column_end":63},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1249},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319104,"byte_end":319117,"line_start":316,"line_end":316,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743074},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319265,"byte_end":319271,"line_start":320,"line_end":320,"column_start":27,"column_end":33},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872162},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319296,"byte_end":319301,"line_start":320,"line_end":320,"column_start":58,"column_end":63},"name":"_name","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613986},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319309,"byte_end":319313,"line_start":320,"line_end":320,"column_start":71,"column_end":75},"name":"_idl","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436706},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319327,"byte_end":319332,"line_start":320,"line_end":320,"column_start":89,"column_end":94},"name":"_args","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1250},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319246,"byte_end":319264,"line_start":320,"line_end":320,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743075},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319506,"byte_end":319512,"line_start":324,"line_end":324,"column_start":22,"column_end":28},"name":"_depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872163},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319521,"byte_end":319532,"line_start":324,"line_end":324,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613987},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319540,"byte_end":319547,"line_start":324,"line_end":324,"column_start":56,"column_end":63},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1251},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319492,"byte_end":319505,"line_start":324,"line_end":324,"column_start":8,"column_end":21},"name":"default_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743076},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319638,"byte_end":319644,"line_start":328,"line_end":328,"column_start":28,"column_end":34},"name":"_depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872164},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319653,"byte_end":319664,"line_start":328,"line_end":328,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613988},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319672,"byte_end":319679,"line_start":328,"line_end":328,"column_start":62,"column_end":69},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436708},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319692,"byte_end":319699,"line_start":328,"line_end":328,"column_start":82,"column_end":89},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178532},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319718,"byte_end":319724,"line_start":328,"line_end":328,"column_start":108,"column_end":114},"name":"_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1252},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319618,"byte_end":319631,"line_start":328,"line_end":328,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743078},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319832,"byte_end":319838,"line_start":332,"line_end":332,"column_start":19,"column_end":25},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872166},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319852,"byte_end":319858,"line_start":332,"line_end":332,"column_start":39,"column_end":45},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1254},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319821,"byte_end":319831,"line_start":332,"line_end":332,"column_start":8,"column_end":18},"name":"into_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218982},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319946,"byte_end":319953,"line_start":334,"line_end":334,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1254 ~ no_proto[2d88]::pointer::uuid::{impl#6}::into_value), local_id: 16 }","value":"[closure@src/pointer/uuid.rs:334:23: 334:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654438},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320002,"byte_end":320012,"line_start":336,"line_end":336,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1254 ~ no_proto[2d88]::pointer::uuid::{impl#6}::into_value), local_id: 24 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682406},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320213,"byte_end":320214,"line_start":344,"line_end":344,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1254 ~ no_proto[2d88]::pointer::uuid::{impl#6}::into_value), local_id: 53 }","value":"&[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743080},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320360,"byte_end":320365,"line_start":351,"line_end":351,"column_start":16,"column_end":21},"name":"depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872168},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320373,"byte_end":320379,"line_start":351,"line_end":351,"column_start":29,"column_end":35},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613992},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320393,"byte_end":320399,"line_start":351,"line_end":351,"column_start":49,"column_end":55},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1256},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320352,"byte_end":320359,"line_start":351,"line_end":351,"column_start":8,"column_end":15},"name":"to_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743081},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320504,"byte_end":320509,"line_start":355,"line_end":355,"column_start":17,"column_end":22},"name":"depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872169},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320517,"byte_end":320523,"line_start":355,"line_end":355,"column_start":30,"column_end":36},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613993},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320537,"byte_end":320543,"line_start":355,"line_end":355,"column_start":50,"column_end":56},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1257},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320495,"byte_end":320503,"line_start":355,"line_end":355,"column_start":8,"column_end":16},"name":"get_size","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743082},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320669,"byte_end":320675,"line_start":359,"line_end":359,"column_start":28,"column_end":34},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872170},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320700,"byte_end":320712,"line_start":359,"line_end":359,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1258},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320649,"byte_end":320668,"line_start":359,"line_end":359,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743083},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320885,"byte_end":320891,"line_start":363,"line_end":363,"column_start":29,"column_end":35},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872171},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320916,"byte_end":320924,"line_start":363,"line_end":363,"column_start":60,"column_end":68},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613995},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320933,"byte_end":320939,"line_start":363,"line_end":363,"column_start":77,"column_end":83},"name":"_bytes","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1259},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320864,"byte_end":320884,"line_start":363,"line_end":363,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1260},"span":{"file_name":"src/pointer/option.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"option","qualname":"::pointer::option","value":"src/pointer/option.rs","parent":null,"children":[{"krate":0,"index":1261},{"krate":0,"index":1262},{"krate":0,"index":1265},{"krate":0,"index":1268},{"krate":0,"index":1269},{"krate":0,"index":1272},{"krate":0,"index":1275},{"krate":0,"index":1276},{"krate":0,"index":1279},{"krate":0,"index":1280},{"krate":0,"index":1283},{"krate":0,"index":1284},{"krate":0,"index":1287},{"krate":0,"index":1290},{"krate":0,"index":1291},{"krate":0,"index":1294},{"krate":0,"index":1297},{"krate":0,"index":1298},{"krate":0,"index":1301},{"krate":0,"index":1302},{"krate":0,"index":1305},{"krate":0,"index":1308},{"krate":0,"index":1309},{"krate":0,"index":1310},{"krate":0,"index":1311},{"krate":0,"index":1313},{"krate":0,"index":1316},{"krate":0,"index":1319},{"krate":0,"index":1322},{"krate":0,"index":1323},{"krate":0,"index":1326},{"krate":0,"index":1327},{"krate":0,"index":3188},{"krate":0,"index":3194},{"krate":0,"index":3196},{"krate":0,"index":3198},{"krate":0,"index":3199},{"krate":0,"index":3201},{"krate":0,"index":3202},{"krate":0,"index":1330},{"krate":0,"index":1335},{"krate":0,"index":1342},{"krate":0,"index":1344}],"decl_id":null,"docs":" Represents the string value of a choice in a schema\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::option::NP_Enum;\n \n let factory: NP_Factory = NP_Factory::new(r#\"enum({choices: [\"red\", \"green\", \"blue\"] })\"#)?;","sig":null,"attributes":[{"value":"/ Represents the string value of a choice in a schema","span":{"file_name":"src/pointer/option.rs","byte_start":322546,"byte_end":322601,"line_start":1,"line_end":1,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322602,"byte_end":322606,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/option.rs","byte_start":322607,"byte_end":322614,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/option.rs","byte_start":322615,"byte_end":322649,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/option.rs","byte_start":322650,"byte_end":322679,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/pointer/option.rs","byte_start":322680,"byte_end":322723,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322724,"byte_end":322728,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"enum({choices: [\"red\", \"green\", \"blue\"] })\"#)?;","span":{"file_name":"src/pointer/option.rs","byte_start":322729,"byte_end":322825,"line_start":8,"line_end":8,"column_start":1,"column_end":97}},{"value":"/","span":{"file_name":"src/pointer/option.rs","byte_start":322826,"byte_end":322829,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/option.rs","byte_start":322830,"byte_end":322880,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Enum::new(\"green\"))?;","span":{"file_name":"src/pointer/option.rs","byte_start":322881,"byte_end":322929,"line_start":11,"line_end":11,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322930,"byte_end":322934,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(NP_Enum::new(\"green\"), new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/option.rs","byte_start":322935,"byte_end":323015,"line_start":13,"line_end":13,"column_start":1,"column_end":81}},{"value":"/","span":{"file_name":"src/pointer/option.rs","byte_start":323016,"byte_end":323019,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/option.rs","byte_start":323020,"byte_end":323049,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/option.rs","byte_start":323050,"byte_end":323057,"line_start":16,"line_end":16,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323058,"byte_end":323062,"line_start":17,"line_end":17,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3189},"span":{"file_name":"src/pointer/option.rs","byte_start":323700,"byte_end":323704,"line_start":40,"line_end":40,"column_start":5,"column_end":9},"name":"None","qualname":"::pointer::option::NP_Enum::None","value":"NP_Enum::None","parent":{"krate":0,"index":3188},"children":[],"decl_id":null,"docs":" No value\n","sig":null,"attributes":[{"value":"/ No value","span":{"file_name":"src/pointer/option.rs","byte_start":323683,"byte_end":323695,"line_start":39,"line_end":39,"column_start":5,"column_end":17}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3191},"span":{"file_name":"src/pointer/option.rs","byte_start":323724,"byte_end":323728,"line_start":42,"line_end":42,"column_start":5,"column_end":9},"name":"Some","qualname":"::pointer::option::NP_Enum::Some","value":"NP_Enum::Some(String)","parent":{"krate":0,"index":3188},"children":[],"decl_id":null,"docs":" Value\n","sig":null,"attributes":[{"value":"/ Value","span":{"file_name":"src/pointer/option.rs","byte_start":323710,"byte_end":323719,"line_start":41,"line_end":41,"column_start":5,"column_end":14}}]},{"kind":"Field","id":{"krate":0,"index":3193},"span":{"file_name":"src/pointer/option.rs","byte_start":323729,"byte_end":323735,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"name":"0","qualname":"::pointer::option::NP_Enum::Some::0","value":"alloc::string::String","parent":{"krate":0,"index":3191},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3188},"span":{"file_name":"src/pointer/option.rs","byte_start":323669,"byte_end":323676,"line_start":38,"line_end":38,"column_start":10,"column_end":17},"name":"NP_Enum","qualname":"::pointer::option::NP_Enum","value":"pub enum NP_Enum { None, Some(String), }","parent":null,"children":[{"krate":0,"index":3189},{"krate":0,"index":3191}],"decl_id":null,"docs":" Holds Enum / Option type data.\n \n Check out documentation [here](../option/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds Enum / Option type data.","span":{"file_name":"src/pointer/option.rs","byte_start":323518,"byte_end":323552,"line_start":33,"line_end":33,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323553,"byte_end":323557,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../option/index.html).","span":{"file_name":"src/pointer/option.rs","byte_start":323558,"byte_end":323615,"line_start":35,"line_end":35,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323616,"byte_end":323620,"line_start":36,"line_end":36,"column_start":1,"column_end":5}}]},{"kind":"Local","id":{"krate":0,"index":1073743156},"span":{"file_name":"src/pointer/option.rs","byte_start":323814,"byte_end":323821,"line_start":46,"line_end":46,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1332},"span":{"file_name":"src/pointer/option.rs","byte_start":323799,"byte_end":323813,"line_start":46,"line_end":46,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743157},"span":{"file_name":"src/pointer/option.rs","byte_start":323935,"byte_end":323941,"line_start":50,"line_end":50,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872245},"span":{"file_name":"src/pointer/option.rs","byte_start":323955,"byte_end":323961,"line_start":50,"line_end":50,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1333},"span":{"file_name":"src/pointer/option.rs","byte_start":323922,"byte_end":323934,"line_start":50,"line_end":50,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654517},"span":{"file_name":"src/pointer/option.rs","byte_start":324005,"byte_end":324009,"line_start":51,"line_end":51,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1333 ~ no_proto[2d88]::pointer::option::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743158},"span":{"file_name":"src/pointer/option.rs","byte_start":324181,"byte_end":324187,"line_start":55,"line_end":55,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872246},"span":{"file_name":"src/pointer/option.rs","byte_start":324201,"byte_end":324207,"line_start":55,"line_end":55,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1334},"span":{"file_name":"src/pointer/option.rs","byte_start":324168,"byte_end":324180,"line_start":55,"line_end":55,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654518},"span":{"file_name":"src/pointer/option.rs","byte_start":324251,"byte_end":324255,"line_start":56,"line_end":56,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1334 ~ no_proto[2d88]::pointer::option::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743160},"span":{"file_name":"src/pointer/option.rs","byte_start":324491,"byte_end":324496,"line_start":64,"line_end":64,"column_start":33,"column_end":38},"name":"value","qualname":"::new::value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1337},"span":{"file_name":"src/pointer/option.rs","byte_start":324474,"byte_end":324475,"line_start":64,"line_end":64,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:1336 ~ no_proto[2d88]::pointer::option::{impl#1}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1336},"span":{"file_name":"src/pointer/option.rs","byte_start":324470,"byte_end":324473,"line_start":64,"line_end":64,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new option type with the given string\n","sig":null,"attributes":[{"value":"/ Create a new option type with the given string","span":{"file_name":"src/pointer/option.rs","byte_start":324408,"byte_end":324458,"line_start":63,"line_end":63,"column_start":5,"column_end":55}}]},{"kind":"Local","id":{"krate":0,"index":1073743162},"span":{"file_name":"src/pointer/option.rs","byte_start":324600,"byte_end":324604,"line_start":71,"line_end":71,"column_start":17,"column_end":21},"name":"self","qualname":"::len::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1338},"span":{"file_name":"src/pointer/option.rs","byte_start":324595,"byte_end":324598,"line_start":71,"line_end":71,"column_start":12,"column_end":15},"name":"len","qualname":"::len","value":"pub fn len(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" get length of value\n","sig":null,"attributes":[{"value":"/ get length of value","span":{"file_name":"src/pointer/option.rs","byte_start":324560,"byte_end":324583,"line_start":70,"line_end":70,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":805307706},"span":{"file_name":"src/pointer/option.rs","byte_start":324696,"byte_end":324697,"line_start":74,"line_end":74,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1338 ~ no_proto[2d88]::pointer::option::{impl#1}::len), local_id: 12 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743163},"span":{"file_name":"src/pointer/option.rs","byte_start":324775,"byte_end":324779,"line_start":79,"line_end":79,"column_start":22,"column_end":26},"name":"self","qualname":"::as_bytes::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1339},"span":{"file_name":"src/pointer/option.rs","byte_start":324765,"byte_end":324773,"line_start":79,"line_end":79,"column_start":12,"column_end":20},"name":"as_bytes","qualname":"::as_bytes","value":"pub fn as_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" get value as bytes\n","sig":null,"attributes":[{"value":"/ get value as bytes","span":{"file_name":"src/pointer/option.rs","byte_start":324731,"byte_end":324753,"line_start":78,"line_end":78,"column_start":5,"column_end":27}}]},{"kind":"Local","id":{"krate":0,"index":2952791355},"span":{"file_name":"src/pointer/option.rs","byte_start":324873,"byte_end":324874,"line_start":82,"line_end":82,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1339 ~ no_proto[2d88]::pointer::option::{impl#1}::as_bytes), local_id: 13 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743164},"span":{"file_name":"src/pointer/option.rs","byte_start":324956,"byte_end":324960,"line_start":87,"line_end":87,"column_start":20,"column_end":24},"name":"self","qualname":"::to_str::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1340},"span":{"file_name":"src/pointer/option.rs","byte_start":324948,"byte_end":324954,"line_start":87,"line_end":87,"column_start":12,"column_end":18},"name":"to_str","qualname":"::to_str","value":"pub fn to_str(&Self) -> &str","parent":null,"children":[],"decl_id":null,"docs":" get string of value\n","sig":null,"attributes":[{"value":"/ get string of value","span":{"file_name":"src/pointer/option.rs","byte_start":324913,"byte_end":324936,"line_start":86,"line_end":86,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":805307708},"span":{"file_name":"src/pointer/option.rs","byte_start":325052,"byte_end":325053,"line_start":90,"line_end":90,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1340 ~ no_proto[2d88]::pointer::option::{impl#1}::to_str), local_id: 12 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743165},"span":{"file_name":"src/pointer/option.rs","byte_start":325127,"byte_end":325131,"line_start":95,"line_end":95,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1341},"span":{"file_name":"src/pointer/option.rs","byte_start":325116,"byte_end":325125,"line_start":95,"line_end":95,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" get string of value\n","sig":null,"attributes":[{"value":"/ get string of value","span":{"file_name":"src/pointer/option.rs","byte_start":325081,"byte_end":325104,"line_start":94,"line_end":94,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":2281702717},"span":{"file_name":"src/pointer/option.rs","byte_start":325239,"byte_end":325240,"line_start":98,"line_end":98,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1341 ~ no_proto[2d88]::pointer::option::{impl#1}::to_string), local_id: 17 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1343},"span":{"file_name":"src/pointer/option.rs","byte_start":325308,"byte_end":325315,"line_start":104,"line_end":104,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1346},"span":{"file_name":"src/pointer/option.rs","byte_start":325413,"byte_end":325421,"line_start":111,"line_end":111,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743171},"span":{"file_name":"src/pointer/option.rs","byte_start":325510,"byte_end":325514,"line_start":112,"line_end":112,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1347},"span":{"file_name":"src/pointer/option.rs","byte_start":325495,"byte_end":325508,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743172},"span":{"file_name":"src/pointer/option.rs","byte_start":325603,"byte_end":325609,"line_start":114,"line_end":114,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872260},"span":{"file_name":"src/pointer/option.rs","byte_start":325635,"byte_end":325642,"line_start":114,"line_end":114,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1348},"span":{"file_name":"src/pointer/option.rs","byte_start":325588,"byte_end":325602,"line_start":114,"line_end":114,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307716},"span":{"file_name":"src/pointer/option.rs","byte_start":325697,"byte_end":325708,"line_start":115,"line_end":115,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1348 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069764},"span":{"file_name":"src/pointer/option.rs","byte_start":325834,"byte_end":325838,"line_start":118,"line_end":118,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1348 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_json), local_id: 50 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167773508},"span":{"file_name":"src/pointer/option.rs","byte_start":325915,"byte_end":325922,"line_start":120,"line_end":120,"column_start":13,"column_end":20},"name":"options","qualname":"options$HirId { owner: DefId(0:1348 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_json), local_id: 80 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33555780},"span":{"file_name":"src/pointer/option.rs","byte_start":325964,"byte_end":325969,"line_start":120,"line_end":120,"column_start":62,"column_end":67},"name":"value","qualname":"$HirId { owner: DefId(0:1348 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_json), local_id: 76 }::value","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743174},"span":{"file_name":"src/pointer/option.rs","byte_start":326410,"byte_end":326416,"line_start":136,"line_end":136,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872262},"span":{"file_name":"src/pointer/option.rs","byte_start":326425,"byte_end":326436,"line_start":136,"line_end":136,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614086},"span":{"file_name":"src/pointer/option.rs","byte_start":326444,"byte_end":326450,"line_start":136,"line_end":136,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436806},"span":{"file_name":"src/pointer/option.rs","byte_start":326463,"byte_end":326469,"line_start":136,"line_end":136,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178630},"span":{"file_name":"src/pointer/option.rs","byte_start":326488,"byte_end":326493,"line_start":136,"line_end":136,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1350},"span":{"file_name":"src/pointer/option.rs","byte_start":326390,"byte_end":326403,"line_start":136,"line_end":136,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960902},"span":{"file_name":"src/pointer/option.rs","byte_start":326614,"byte_end":326615,"line_start":138,"line_end":138,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:1350 ~ no_proto[2d88]::pointer::option::{impl#3}::set_from_json), local_id: 18 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743176},"span":{"file_name":"src/pointer/option.rs","byte_start":326786,"byte_end":326792,"line_start":147,"line_end":147,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872264},"span":{"file_name":"src/pointer/option.rs","byte_start":326805,"byte_end":326811,"line_start":147,"line_end":147,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614088},"span":{"file_name":"src/pointer/option.rs","byte_start":326830,"byte_end":326835,"line_start":147,"line_end":147,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1352},"span":{"file_name":"src/pointer/option.rs","byte_start":326770,"byte_end":326779,"line_start":147,"line_end":147,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960904},"span":{"file_name":"src/pointer/option.rs","byte_start":326914,"byte_end":326921,"line_start":149,"line_end":149,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/option.rs:149:23: 149:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722952},"span":{"file_name":"src/pointer/option.rs","byte_start":326970,"byte_end":326974,"line_start":151,"line_end":151,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 38 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019900232},"span":{"file_name":"src/pointer/option.rs","byte_start":327077,"byte_end":327086,"line_start":153,"line_end":153,"column_start":17,"column_end":26},"name":"value_num","qualname":"value_num$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 45 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422553416},"span":{"file_name":"src/pointer/option.rs","byte_start":327129,"byte_end":327131,"line_start":156,"line_end":156,"column_start":21,"column_end":23},"name":"ct","qualname":"ct$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 51 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763400},"span":{"file_name":"src/pointer/option.rs","byte_start":327159,"byte_end":327162,"line_start":158,"line_end":158,"column_start":17,"column_end":20},"name":"opt","qualname":"opt$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 56 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774874952},"span":{"file_name":"src/pointer/option.rs","byte_start":327479,"byte_end":327484,"line_start":170,"line_end":170,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 135 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1224738120},"span":{"file_name":"src/pointer/option.rs","byte_start":327521,"byte_end":327531,"line_start":172,"line_end":172,"column_start":17,"column_end":27},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 146 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030044488},"span":{"file_name":"src/pointer/option.rs","byte_start":327645,"byte_end":327656,"line_start":176,"line_end":176,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1352 ~ no_proto[2d88]::pointer::option::{impl#3}::set_value), local_id: 158 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743179},"span":{"file_name":"src/pointer/option.rs","byte_start":328021,"byte_end":328027,"line_start":191,"line_end":191,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872267},"span":{"file_name":"src/pointer/option.rs","byte_start":328053,"byte_end":328060,"line_start":191,"line_end":191,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1355},"span":{"file_name":"src/pointer/option.rs","byte_start":328007,"byte_end":328020,"line_start":191,"line_end":191,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791371},"span":{"file_name":"src/pointer/option.rs","byte_start":328114,"byte_end":328120,"line_start":192,"line_end":192,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1355 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_idl), local_id: 13 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750923},"span":{"file_name":"src/pointer/option.rs","byte_start":328160,"byte_end":328164,"line_start":194,"line_end":194,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1355 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_idl), local_id: 31 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434443},"span":{"file_name":"src/pointer/option.rs","byte_start":328521,"byte_end":328532,"line_start":206,"line_end":206,"column_start":13,"column_end":24},"name":"last_choice","qualname":"last_choice$HirId { owner: DefId(0:1355 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_idl), local_id: 91 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321890123},"span":{"file_name":"src/pointer/option.rs","byte_start":328572,"byte_end":328575,"line_start":207,"line_end":207,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1355 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_idl), local_id: 99 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637535563},"span":{"file_name":"src/pointer/option.rs","byte_start":328577,"byte_end":328583,"line_start":207,"line_end":207,"column_start":19,"column_end":25},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1355 ~ no_proto[2d88]::pointer::option::{impl#3}::schema_to_idl), local_id: 100 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743180},"span":{"file_name":"src/pointer/option.rs","byte_start":329029,"byte_end":329035,"line_start":225,"line_end":225,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872268},"span":{"file_name":"src/pointer/option.rs","byte_start":329060,"byte_end":329065,"line_start":225,"line_end":225,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614092},"span":{"file_name":"src/pointer/option.rs","byte_start":329073,"byte_end":329076,"line_start":225,"line_end":225,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436812},"span":{"file_name":"src/pointer/option.rs","byte_start":329090,"byte_end":329094,"line_start":225,"line_end":225,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1356},"span":{"file_name":"src/pointer/option.rs","byte_start":329006,"byte_end":329024,"line_start":225,"line_end":225,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671089996},"span":{"file_name":"src/pointer/option.rs","byte_start":329188,"byte_end":329199,"line_start":226,"line_end":226,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556771148},"span":{"file_name":"src/pointer/option.rs","byte_start":329291,"byte_end":329298,"line_start":229,"line_end":229,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 43 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198860},"span":{"file_name":"src/pointer/option.rs","byte_start":329344,"byte_end":329356,"line_start":231,"line_end":231,"column_start":17,"column_end":29},"name":"default_stir","qualname":"default_stir$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 52 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154117964},"span":{"file_name":"src/pointer/option.rs","byte_start":329398,"byte_end":329411,"line_start":233,"line_end":233,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 61 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644168524},"span":{"file_name":"src/pointer/option.rs","byte_start":329453,"byte_end":329466,"line_start":234,"line_end":234,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 70 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386252},"span":{"file_name":"src/pointer/option.rs","byte_start":329578,"byte_end":329588,"line_start":238,"line_end":238,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 86 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434444},"span":{"file_name":"src/pointer/option.rs","byte_start":329621,"byte_end":329624,"line_start":239,"line_end":239,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 91 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973079884},"span":{"file_name":"src/pointer/option.rs","byte_start":329626,"byte_end":329631,"line_start":239,"line_end":239,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 92 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771753292},"span":{"file_name":"src/pointer/option.rs","byte_start":329847,"byte_end":329851,"line_start":243,"line_end":243,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 116 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493173580},"span":{"file_name":"src/pointer/option.rs","byte_start":330243,"byte_end":330249,"line_start":251,"line_end":251,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 154 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177528140},"span":{"file_name":"src/pointer/option.rs","byte_start":330301,"byte_end":330307,"line_start":252,"line_end":252,"column_start":45,"column_end":51},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 159 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573548364},"span":{"file_name":"src/pointer/option.rs","byte_start":330444,"byte_end":330448,"line_start":254,"line_end":254,"column_start":66,"column_end":70},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 171 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1828717900},"span":{"file_name":"src/pointer/option.rs","byte_start":330512,"byte_end":330516,"line_start":255,"line_end":255,"column_start":57,"column_end":61},"name":"stir","qualname":"stir$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 182 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":713033036},"span":{"file_name":"src/pointer/option.rs","byte_start":331719,"byte_end":331722,"line_start":283,"line_end":283,"column_start":18,"column_end":21},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 340 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2860516684},"span":{"file_name":"src/pointer/option.rs","byte_start":331724,"byte_end":331730,"line_start":283,"line_end":283,"column_start":23,"column_end":29},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 341 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3917481292},"span":{"file_name":"src/pointer/option.rs","byte_start":332033,"byte_end":332034,"line_start":293,"line_end":293,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 407 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3716154700},"span":{"file_name":"src/pointer/option.rs","byte_start":332194,"byte_end":332200,"line_start":299,"line_end":299,"column_start":13,"column_end":19},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1356 ~ no_proto[2d88]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 443 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743181},"span":{"file_name":"src/pointer/option.rs","byte_start":332679,"byte_end":332685,"line_start":314,"line_end":314,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872269},"span":{"file_name":"src/pointer/option.rs","byte_start":332699,"byte_end":332705,"line_start":314,"line_end":314,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1357},"span":{"file_name":"src/pointer/option.rs","byte_start":332668,"byte_end":332678,"line_start":314,"line_end":314,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219085},"span":{"file_name":"src/pointer/option.rs","byte_start":332793,"byte_end":332800,"line_start":316,"line_end":316,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1357 ~ no_proto[2d88]::pointer::option::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/option.rs:316:23: 316:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880013},"span":{"file_name":"src/pointer/option.rs","byte_start":332849,"byte_end":332859,"line_start":318,"line_end":318,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1357 ~ no_proto[2d88]::pointer::option::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859789},"span":{"file_name":"src/pointer/option.rs","byte_start":333004,"byte_end":333008,"line_start":325,"line_end":325,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1357 ~ no_proto[2d88]::pointer::option::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474893},"span":{"file_name":"src/pointer/option.rs","byte_start":333163,"byte_end":333164,"line_start":328,"line_end":328,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1357 ~ no_proto[2d88]::pointer::option::{impl#3}::into_value), local_id: 73 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388998989},"span":{"file_name":"src/pointer/option.rs","byte_start":333191,"byte_end":333200,"line_start":329,"line_end":329,"column_start":21,"column_end":30},"name":"value_num","qualname":"value_num$HirId { owner: DefId(0:1357 ~ no_proto[2d88]::pointer::option::{impl#3}::into_value), local_id: 83 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743183},"span":{"file_name":"src/pointer/option.rs","byte_start":333482,"byte_end":333488,"line_start":342,"line_end":342,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872271},"span":{"file_name":"src/pointer/option.rs","byte_start":333497,"byte_end":333508,"line_start":342,"line_end":342,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614095},"span":{"file_name":"src/pointer/option.rs","byte_start":333516,"byte_end":333522,"line_start":342,"line_end":342,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1359},"span":{"file_name":"src/pointer/option.rs","byte_start":333468,"byte_end":333481,"line_start":342,"line_end":342,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654543},"span":{"file_name":"src/pointer/option.rs","byte_start":333579,"byte_end":333583,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1359 ~ no_proto[2d88]::pointer::option::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743184},"span":{"file_name":"src/pointer/option.rs","byte_start":333800,"byte_end":333806,"line_start":355,"line_end":355,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872272},"span":{"file_name":"src/pointer/option.rs","byte_start":333814,"byte_end":333820,"line_start":355,"line_end":355,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614096},"span":{"file_name":"src/pointer/option.rs","byte_start":333834,"byte_end":333840,"line_start":355,"line_end":355,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1360},"span":{"file_name":"src/pointer/option.rs","byte_start":333792,"byte_end":333799,"line_start":355,"line_end":355,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702736},"span":{"file_name":"src/pointer/option.rs","byte_start":333939,"byte_end":333940,"line_start":358,"line_end":358,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315472},"span":{"file_name":"src/pointer/option.rs","byte_start":333998,"byte_end":333999,"line_start":360,"line_end":360,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 23 }","value":"pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267280},"span":{"file_name":"src/pointer/option.rs","byte_start":334082,"byte_end":334091,"line_start":362,"line_end":362,"column_start":43,"column_end":52},"name":"str_value","qualname":"str_value$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 30 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107297616},"span":{"file_name":"src/pointer/option.rs","byte_start":334283,"byte_end":334287,"line_start":366,"line_end":366,"column_start":37,"column_end":41},"name":"data","qualname":"data$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 66 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167773520},"span":{"file_name":"src/pointer/option.rs","byte_start":334539,"byte_end":334542,"line_start":370,"line_end":370,"column_start":55,"column_end":58},"name":"val","qualname":"val$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 80 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432697680},"span":{"file_name":"src/pointer/option.rs","byte_start":335159,"byte_end":335163,"line_start":385,"line_end":385,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 137 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3909092688},"span":{"file_name":"src/pointer/option.rs","byte_start":335391,"byte_end":335392,"line_start":389,"line_end":389,"column_start":47,"column_end":48},"name":"x","qualname":"x$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 151 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":486540624},"span":{"file_name":"src/pointer/option.rs","byte_start":335717,"byte_end":335719,"line_start":399,"line_end":399,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1360 ~ no_proto[2d88]::pointer::option::{impl#3}::to_json), local_id: 184 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743185},"span":{"file_name":"src/pointer/option.rs","byte_start":335803,"byte_end":335809,"line_start":405,"line_end":405,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872273},"span":{"file_name":"src/pointer/option.rs","byte_start":335817,"byte_end":335823,"line_start":405,"line_end":405,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614097},"span":{"file_name":"src/pointer/option.rs","byte_start":335837,"byte_end":335843,"line_start":405,"line_end":405,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1361},"span":{"file_name":"src/pointer/option.rs","byte_start":335794,"byte_end":335802,"line_start":405,"line_end":405,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960913},"span":{"file_name":"src/pointer/option.rs","byte_start":335898,"byte_end":335905,"line_start":406,"line_end":406,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1361 ~ no_proto[2d88]::pointer::option::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/pointer/option.rs:406:23: 406:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087009105},"span":{"file_name":"src/pointer/option.rs","byte_start":335954,"byte_end":335967,"line_start":408,"line_end":408,"column_start":13,"column_end":26},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1361 ~ no_proto[2d88]::pointer::option::{impl#3}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743187},"span":{"file_name":"src/pointer/option.rs","byte_start":336174,"byte_end":336180,"line_start":417,"line_end":417,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872275},"span":{"file_name":"src/pointer/option.rs","byte_start":336205,"byte_end":336216,"line_start":417,"line_end":417,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1363},"span":{"file_name":"src/pointer/option.rs","byte_start":336150,"byte_end":336169,"line_start":417,"line_end":417,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219091},"span":{"file_name":"src/pointer/option.rs","byte_start":336313,"byte_end":336324,"line_start":420,"line_end":420,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206611},"span":{"file_name":"src/pointer/option.rs","byte_start":336416,"byte_end":336423,"line_start":423,"line_end":423,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 39 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327955},"span":{"file_name":"src/pointer/option.rs","byte_start":336469,"byte_end":336481,"line_start":425,"line_end":425,"column_start":17,"column_end":29},"name":"default_stir","qualname":"default_stir$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 48 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763411},"span":{"file_name":"src/pointer/option.rs","byte_start":336575,"byte_end":336578,"line_start":428,"line_end":428,"column_start":29,"column_end":32},"name":"def","qualname":"def$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 56 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386259},"span":{"file_name":"src/pointer/option.rs","byte_start":336697,"byte_end":336710,"line_start":434,"line_end":434,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 86 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4194305363},"span":{"file_name":"src/pointer/option.rs","byte_start":336752,"byte_end":336765,"line_start":435,"line_end":435,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 95 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858761043},"span":{"file_name":"src/pointer/option.rs","byte_start":336854,"byte_end":336855,"line_start":438,"line_end":438,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 103 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971027},"span":{"file_name":"src/pointer/option.rs","byte_start":336882,"byte_end":336885,"line_start":439,"line_end":439,"column_start":21,"column_end":24},"name":"opt","qualname":"opt$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 108 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3992978771},"span":{"file_name":"src/pointer/option.rs","byte_start":336965,"byte_end":336969,"line_start":441,"line_end":441,"column_start":41,"column_end":45},"name":"stir","qualname":"stir$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 119 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1216349523},"span":{"file_name":"src/pointer/option.rs","byte_start":338063,"byte_end":338064,"line_start":469,"line_end":469,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 274 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1820329299},"span":{"file_name":"src/pointer/option.rs","byte_start":338224,"byte_end":338230,"line_start":475,"line_end":475,"column_start":13,"column_end":19},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1363 ~ no_proto[2d88]::pointer::option::{impl#3}::from_json_to_schema), local_id: 310 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743188},"span":{"file_name":"src/pointer/option.rs","byte_start":338738,"byte_end":338744,"line_start":491,"line_end":491,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872276},"span":{"file_name":"src/pointer/option.rs","byte_start":338769,"byte_end":338776,"line_start":491,"line_end":491,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614100},"span":{"file_name":"src/pointer/option.rs","byte_start":338785,"byte_end":338790,"line_start":491,"line_end":491,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1364},"span":{"file_name":"src/pointer/option.rs","byte_start":338713,"byte_end":338733,"line_start":491,"line_end":491,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4026533204},"span":{"file_name":"src/pointer/option.rs","byte_start":338850,"byte_end":338863,"line_start":492,"line_end":492,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 15 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654548},"span":{"file_name":"src/pointer/option.rs","byte_start":338900,"byte_end":338913,"line_start":493,"line_end":493,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 24 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33555796},"span":{"file_name":"src/pointer/option.rs","byte_start":339057,"byte_end":339068,"line_start":499,"line_end":499,"column_start":13,"column_end":24},"name":"choices_len","qualname":"choices_len$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 64 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862164},"span":{"file_name":"src/pointer/option.rs","byte_start":339108,"byte_end":339115,"line_start":501,"line_end":501,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 76 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852128084},"span":{"file_name":"src/pointer/option.rs","byte_start":339160,"byte_end":339166,"line_start":502,"line_end":502,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 85 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973079892},"span":{"file_name":"src/pointer/option.rs","byte_start":339201,"byte_end":339202,"line_start":503,"line_end":503,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 92 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053454676},"span":{"file_name":"src/pointer/option.rs","byte_start":339239,"byte_end":339250,"line_start":504,"line_end":504,"column_start":17,"column_end":28},"name":"choice_size","qualname":"choice_size$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 109 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1090520404},"span":{"file_name":"src/pointer/option.rs","byte_start":339293,"byte_end":339305,"line_start":505,"line_end":505,"column_start":17,"column_end":29},"name":"choice_bytes","qualname":"choice_bytes$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 130 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895826772},"span":{"file_name":"src/pointer/option.rs","byte_start":339374,"byte_end":339387,"line_start":506,"line_end":506,"column_start":17,"column_end":30},"name":"choice_string","qualname":"choice_string$HirId { owner: DefId(0:1364 ~ no_proto[2d88]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 142 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1365},"span":{"file_name":"src/pointer/date.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"date","qualname":"::pointer::date","value":"src/pointer/date.rs","parent":null,"children":[{"krate":0,"index":1366},{"krate":0,"index":1367},{"krate":0,"index":1370},{"krate":0,"index":1373},{"krate":0,"index":1374},{"krate":0,"index":1375},{"krate":0,"index":1378},{"krate":0,"index":1381},{"krate":0,"index":1382},{"krate":0,"index":1385},{"krate":0,"index":1388},{"krate":0,"index":1391},{"krate":0,"index":1394},{"krate":0,"index":1395},{"krate":0,"index":1398},{"krate":0,"index":1401},{"krate":0,"index":1402},{"krate":0,"index":1405},{"krate":0,"index":1406},{"krate":0,"index":1409},{"krate":0,"index":1412},{"krate":0,"index":1413},{"krate":0,"index":1414},{"krate":0,"index":1415},{"krate":0,"index":1417},{"krate":0,"index":1420},{"krate":0,"index":1423},{"krate":0,"index":1426},{"krate":0,"index":1427},{"krate":0,"index":1430},{"krate":0,"index":1433},{"krate":0,"index":3205},{"krate":0,"index":3207},{"krate":0,"index":3209},{"krate":0,"index":3210},{"krate":0,"index":3211},{"krate":0,"index":3213},{"krate":0,"index":3214},{"krate":0,"index":1436},{"krate":0,"index":1441},{"krate":0,"index":1443},{"krate":0,"index":1445},{"krate":0,"index":1447}],"decl_id":null,"docs":" Stores the current unix epoch in u64.\n \n Epoch should be stored in milliseconds.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::date::NP_Date;\n \n let factory: NP_Factory = NP_Factory::new(\"date()\")?;","sig":null,"attributes":[{"value":"/ Stores the current unix epoch in u64.","span":{"file_name":"src/pointer/date.rs","byte_start":342436,"byte_end":342477,"line_start":1,"line_end":1,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342478,"byte_end":342482,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Epoch should be stored in milliseconds.","span":{"file_name":"src/pointer/date.rs","byte_start":342483,"byte_end":342526,"line_start":3,"line_end":3,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342527,"byte_end":342531,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/date.rs","byte_start":342532,"byte_end":342539,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/date.rs","byte_start":342540,"byte_end":342574,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/date.rs","byte_start":342575,"byte_end":342604,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/pointer/date.rs","byte_start":342605,"byte_end":342646,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342647,"byte_end":342651,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"date()\")?;","span":{"file_name":"src/pointer/date.rs","byte_start":342652,"byte_end":342709,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/date.rs","byte_start":342710,"byte_end":342713,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/date.rs","byte_start":342714,"byte_end":342764,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Date::new(1604965249484))?;","span":{"file_name":"src/pointer/date.rs","byte_start":342765,"byte_end":342819,"line_start":13,"line_end":13,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342820,"byte_end":342824,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/date.rs","byte_start":342825,"byte_end":342911,"line_start":15,"line_end":15,"column_start":1,"column_end":87}},{"value":"/","span":{"file_name":"src/pointer/date.rs","byte_start":342912,"byte_end":342915,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/date.rs","byte_start":342916,"byte_end":342945,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/date.rs","byte_start":342946,"byte_end":342953,"line_start":18,"line_end":18,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342954,"byte_end":342958,"line_start":19,"line_end":19,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3205},"span":{"file_name":"src/pointer/date.rs","byte_start":343552,"byte_end":343559,"line_start":42,"line_end":42,"column_start":12,"column_end":19},"name":"NP_Date","qualname":"::pointer::date::NP_Date","value":"NP_Date { value }","parent":null,"children":[{"krate":0,"index":3206}],"decl_id":null,"docs":" Holds Date data.\n \n Check out documentation [here](../date/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds Date data.","span":{"file_name":"src/pointer/date.rs","byte_start":343405,"byte_end":343425,"line_start":36,"line_end":36,"column_start":1,"column_end":21}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":343426,"byte_end":343430,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../date/index.html).","span":{"file_name":"src/pointer/date.rs","byte_start":343431,"byte_end":343486,"line_start":38,"line_end":38,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":343487,"byte_end":343491,"line_start":39,"line_end":39,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/date.rs","byte_start":343530,"byte_end":343540,"line_start":41,"line_end":41,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3206},"span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"name":"value","qualname":"::pointer::date::NP_Date::value","value":"u64","parent":{"krate":0,"index":3205},"children":[],"decl_id":null,"docs":" The value of the date\n","sig":null,"attributes":[{"value":"/ The value of the date","span":{"file_name":"src/pointer/date.rs","byte_start":343566,"byte_end":343591,"line_start":43,"line_end":43,"column_start":5,"column_end":30}}]},{"kind":"Local","id":{"krate":0,"index":1073743262},"span":{"file_name":"src/pointer/date.rs","byte_start":343688,"byte_end":343695,"line_start":48,"line_end":48,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1438},"span":{"file_name":"src/pointer/date.rs","byte_start":343673,"byte_end":343687,"line_start":48,"line_end":48,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1720},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743263},"span":{"file_name":"src/pointer/date.rs","byte_start":343809,"byte_end":343816,"line_start":52,"line_end":52,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872351},"span":{"file_name":"src/pointer/date.rs","byte_start":343830,"byte_end":343837,"line_start":52,"line_end":52,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1439},"span":{"file_name":"src/pointer/date.rs","byte_start":343796,"byte_end":343808,"line_start":52,"line_end":52,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743264},"span":{"file_name":"src/pointer/date.rs","byte_start":343938,"byte_end":343945,"line_start":56,"line_end":56,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872352},"span":{"file_name":"src/pointer/date.rs","byte_start":343959,"byte_end":343966,"line_start":56,"line_end":56,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1440},"span":{"file_name":"src/pointer/date.rs","byte_start":343925,"byte_end":343937,"line_start":56,"line_end":56,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1718},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743266},"span":{"file_name":"src/pointer/date.rs","byte_start":344135,"byte_end":344142,"line_start":64,"line_end":64,"column_start":16,"column_end":23},"name":"time_ms","qualname":"::new::time_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1442},"span":{"file_name":"src/pointer/date.rs","byte_start":344131,"byte_end":344134,"line_start":64,"line_end":64,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u64) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new date type with the given time\n","sig":null,"attributes":[{"value":"/ Create a new date type with the given time","span":{"file_name":"src/pointer/date.rs","byte_start":344073,"byte_end":344119,"line_start":63,"line_end":63,"column_start":5,"column_end":51}}]},{"kind":"Method","id":{"krate":0,"index":1444},"span":{"file_name":"src/pointer/date.rs","byte_start":344237,"byte_end":344244,"line_start":70,"line_end":70,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743270},"span":{"file_name":"src/pointer/date.rs","byte_start":344334,"byte_end":344338,"line_start":76,"line_end":76,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872358},"span":{"file_name":"src/pointer/date.rs","byte_start":344340,"byte_end":344341,"line_start":76,"line_end":76,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1446},"span":{"file_name":"src/pointer/date.rs","byte_start":344329,"byte_end":344332,"line_start":76,"line_end":76,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1449},"span":{"file_name":"src/pointer/date.rs","byte_start":344485,"byte_end":344493,"line_start":85,"line_end":85,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743274},"span":{"file_name":"src/pointer/date.rs","byte_start":344580,"byte_end":344584,"line_start":86,"line_end":86,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1450},"span":{"file_name":"src/pointer/date.rs","byte_start":344565,"byte_end":344578,"line_start":86,"line_end":86,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743275},"span":{"file_name":"src/pointer/date.rs","byte_start":344671,"byte_end":344677,"line_start":88,"line_end":88,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872363},"span":{"file_name":"src/pointer/date.rs","byte_start":344703,"byte_end":344710,"line_start":88,"line_end":88,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1451},"span":{"file_name":"src/pointer/date.rs","byte_start":344656,"byte_end":344670,"line_start":88,"line_end":88,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307819},"span":{"file_name":"src/pointer/date.rs","byte_start":344765,"byte_end":344776,"line_start":89,"line_end":89,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1451 ~ no_proto[2d88]::pointer::date::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069867},"span":{"file_name":"src/pointer/date.rs","byte_start":344902,"byte_end":344906,"line_start":92,"line_end":92,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1451 ~ no_proto[2d88]::pointer::date::{impl#4}::schema_to_json), local_id: 50 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743276},"span":{"file_name":"src/pointer/date.rs","byte_start":345185,"byte_end":345191,"line_start":101,"line_end":101,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872364},"span":{"file_name":"src/pointer/date.rs","byte_start":345200,"byte_end":345204,"line_start":101,"line_end":101,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614188},"span":{"file_name":"src/pointer/date.rs","byte_start":345213,"byte_end":345219,"line_start":101,"line_end":101,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1452},"span":{"file_name":"src/pointer/date.rs","byte_start":345171,"byte_end":345184,"line_start":101,"line_end":101,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654636},"span":{"file_name":"src/pointer/date.rs","byte_start":345275,"byte_end":345279,"line_start":102,"line_end":102,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1452 ~ no_proto[2d88]::pointer::date::{impl#4}::default_value), local_id: 24 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743277},"span":{"file_name":"src/pointer/date.rs","byte_start":345515,"byte_end":345521,"line_start":112,"line_end":112,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872365},"span":{"file_name":"src/pointer/date.rs","byte_start":345530,"byte_end":345541,"line_start":112,"line_end":112,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614189},"span":{"file_name":"src/pointer/date.rs","byte_start":345549,"byte_end":345555,"line_start":112,"line_end":112,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436909},"span":{"file_name":"src/pointer/date.rs","byte_start":345568,"byte_end":345574,"line_start":112,"line_end":112,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178733},"span":{"file_name":"src/pointer/date.rs","byte_start":345593,"byte_end":345598,"line_start":112,"line_end":112,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1453},"span":{"file_name":"src/pointer/date.rs","byte_start":345495,"byte_end":345508,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416685},"span":{"file_name":"src/pointer/date.rs","byte_start":345678,"byte_end":345683,"line_start":113,"line_end":113,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:1453 ~ no_proto[2d88]::pointer::date::{impl#4}::set_from_json), local_id: 44 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355444653},"span":{"file_name":"src/pointer/date.rs","byte_start":345732,"byte_end":345733,"line_start":114,"line_end":114,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1453 ~ no_proto[2d88]::pointer::date::{impl#4}::set_from_json), local_id: 19 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267373},"span":{"file_name":"src/pointer/date.rs","byte_start":345776,"byte_end":345777,"line_start":115,"line_end":115,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1453 ~ no_proto[2d88]::pointer::date::{impl#4}::set_from_json), local_id: 30 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743279},"span":{"file_name":"src/pointer/date.rs","byte_start":345933,"byte_end":345939,"line_start":124,"line_end":124,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872367},"span":{"file_name":"src/pointer/date.rs","byte_start":345952,"byte_end":345958,"line_start":124,"line_end":124,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614191},"span":{"file_name":"src/pointer/date.rs","byte_start":345977,"byte_end":345982,"line_start":124,"line_end":124,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1455},"span":{"file_name":"src/pointer/date.rs","byte_start":345917,"byte_end":345926,"line_start":124,"line_end":124,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961007},"span":{"file_name":"src/pointer/date.rs","byte_start":346061,"byte_end":346068,"line_start":126,"line_end":126,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 18 }","value":"[closure@src/pointer/date.rs:126:23: 126:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087009199},"span":{"file_name":"src/pointer/date.rs","byte_start":346121,"byte_end":346134,"line_start":128,"line_end":128,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287599},"span":{"file_name":"src/pointer/date.rs","byte_start":346250,"byte_end":346255,"line_start":131,"line_end":131,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 42 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811695},"span":{"file_name":"src/pointer/date.rs","byte_start":346302,"byte_end":346313,"line_start":133,"line_end":133,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 49 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543505327},"span":{"file_name":"src/pointer/date.rs","byte_start":346406,"byte_end":346407,"line_start":136,"line_end":136,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 58 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2516583855},"span":{"file_name":"src/pointer/date.rs","byte_start":346549,"byte_end":346554,"line_start":142,"line_end":142,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1455 ~ no_proto[2d88]::pointer::date::{impl#4}::set_value), local_id: 105 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743282},"span":{"file_name":"src/pointer/date.rs","byte_start":346797,"byte_end":346803,"line_start":150,"line_end":150,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872370},"span":{"file_name":"src/pointer/date.rs","byte_start":346817,"byte_end":346823,"line_start":150,"line_end":150,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1458},"span":{"file_name":"src/pointer/date.rs","byte_start":346786,"byte_end":346796,"line_start":150,"line_end":150,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1736},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219186},"span":{"file_name":"src/pointer/date.rs","byte_start":346911,"byte_end":346918,"line_start":152,"line_end":152,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1458 ~ no_proto[2d88]::pointer::date::{impl#4}::into_value), local_id: 16 }","value":"[closure@src/pointer/date.rs:152:23: 152:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880114},"span":{"file_name":"src/pointer/date.rs","byte_start":346967,"byte_end":346977,"line_start":154,"line_end":154,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1458 ~ no_proto[2d88]::pointer::date::{impl#4}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682610},"span":{"file_name":"src/pointer/date.rs","byte_start":347177,"byte_end":347178,"line_start":162,"line_end":162,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1458 ~ no_proto[2d88]::pointer::date::{impl#4}::into_value), local_id: 53 }","value":"&[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743284},"span":{"file_name":"src/pointer/date.rs","byte_start":347322,"byte_end":347328,"line_start":169,"line_end":169,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872372},"span":{"file_name":"src/pointer/date.rs","byte_start":347336,"byte_end":347342,"line_start":169,"line_end":169,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614196},"span":{"file_name":"src/pointer/date.rs","byte_start":347356,"byte_end":347362,"line_start":169,"line_end":169,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1460},"span":{"file_name":"src/pointer/date.rs","byte_start":347314,"byte_end":347321,"line_start":169,"line_end":169,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702836},"span":{"file_name":"src/pointer/date.rs","byte_start":347461,"byte_end":347462,"line_start":172,"line_end":172,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1460 ~ no_proto[2d88]::pointer::date::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315572},"span":{"file_name":"src/pointer/date.rs","byte_start":347520,"byte_end":347521,"line_start":174,"line_end":174,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1460 ~ no_proto[2d88]::pointer::date::{impl#4}::to_json), local_id: 23 }","value":"pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690988980},"span":{"file_name":"src/pointer/date.rs","byte_start":347666,"byte_end":347670,"line_start":178,"line_end":178,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:1460 ~ no_proto[2d88]::pointer::date::{impl#4}::to_json), local_id: 59 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120563636},"span":{"file_name":"src/pointer/date.rs","byte_start":348047,"byte_end":348049,"line_start":188,"line_end":188,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1460 ~ no_proto[2d88]::pointer::date::{impl#4}::to_json), local_id: 93 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743285},"span":{"file_name":"src/pointer/date.rs","byte_start":348133,"byte_end":348139,"line_start":194,"line_end":194,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872373},"span":{"file_name":"src/pointer/date.rs","byte_start":348147,"byte_end":348153,"line_start":194,"line_end":194,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614197},"span":{"file_name":"src/pointer/date.rs","byte_start":348167,"byte_end":348173,"line_start":194,"line_end":194,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1461},"span":{"file_name":"src/pointer/date.rs","byte_start":348124,"byte_end":348132,"line_start":194,"line_end":194,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961013},"span":{"file_name":"src/pointer/date.rs","byte_start":348229,"byte_end":348236,"line_start":196,"line_end":196,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1461 ~ no_proto[2d88]::pointer::date::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/date.rs:196:23: 196:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743287},"span":{"file_name":"src/pointer/date.rs","byte_start":348437,"byte_end":348443,"line_start":206,"line_end":206,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872375},"span":{"file_name":"src/pointer/date.rs","byte_start":348469,"byte_end":348476,"line_start":206,"line_end":206,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1463},"span":{"file_name":"src/pointer/date.rs","byte_start":348423,"byte_end":348436,"line_start":206,"line_end":206,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831927},"span":{"file_name":"src/pointer/date.rs","byte_start":348526,"byte_end":348530,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1463 ~ no_proto[2d88]::pointer::date::{impl#4}::schema_to_idl), local_id: 22 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751031},"span":{"file_name":"src/pointer/date.rs","byte_start":348610,"byte_end":348616,"line_start":209,"line_end":209,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1463 ~ no_proto[2d88]::pointer::date::{impl#4}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743288},"span":{"file_name":"src/pointer/date.rs","byte_start":348918,"byte_end":348924,"line_start":220,"line_end":220,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872376},"span":{"file_name":"src/pointer/date.rs","byte_start":348949,"byte_end":348954,"line_start":220,"line_end":220,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614200},"span":{"file_name":"src/pointer/date.rs","byte_start":348962,"byte_end":348965,"line_start":220,"line_end":220,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436920},"span":{"file_name":"src/pointer/date.rs","byte_start":348979,"byte_end":348983,"line_start":220,"line_end":220,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1464},"span":{"file_name":"src/pointer/date.rs","byte_start":348895,"byte_end":348913,"line_start":220,"line_end":220,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702840},"span":{"file_name":"src/pointer/date.rs","byte_start":349078,"byte_end":349085,"line_start":222,"line_end":222,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593976},"span":{"file_name":"src/pointer/date.rs","byte_start":349197,"byte_end":349207,"line_start":225,"line_end":225,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 33 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723064},"span":{"file_name":"src/pointer/date.rs","byte_start":349240,"byte_end":349243,"line_start":226,"line_end":226,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206712},"span":{"file_name":"src/pointer/date.rs","byte_start":349245,"byte_end":349250,"line_start":226,"line_end":226,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859896},"span":{"file_name":"src/pointer/date.rs","byte_start":349466,"byte_end":349470,"line_start":230,"line_end":230,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 63 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060087736},"span":{"file_name":"src/pointer/date.rs","byte_start":349613,"byte_end":349614,"line_start":232,"line_end":232,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 79 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046821816},"span":{"file_name":"src/pointer/date.rs","byte_start":349783,"byte_end":349785,"line_start":235,"line_end":235,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 94 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83887544},"span":{"file_name":"src/pointer/date.rs","byte_start":350211,"byte_end":350222,"line_start":249,"line_end":249,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 160 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599032},"span":{"file_name":"src/pointer/date.rs","byte_start":350310,"byte_end":350317,"line_start":252,"line_end":252,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 222 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218105272},"span":{"file_name":"src/pointer/date.rs","byte_start":350353,"byte_end":350354,"line_start":253,"line_end":253,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1464 ~ no_proto[2d88]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 176 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743289},"span":{"file_name":"src/pointer/date.rs","byte_start":350962,"byte_end":350968,"line_start":275,"line_end":275,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872377},"span":{"file_name":"src/pointer/date.rs","byte_start":350993,"byte_end":351004,"line_start":275,"line_end":275,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1465},"span":{"file_name":"src/pointer/date.rs","byte_start":350938,"byte_end":350957,"line_start":275,"line_end":275,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219193},"span":{"file_name":"src/pointer/date.rs","byte_start":351100,"byte_end":351111,"line_start":277,"line_end":277,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1465 ~ no_proto[2d88]::pointer::date::{impl#4}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241515449},"span":{"file_name":"src/pointer/date.rs","byte_start":351199,"byte_end":351206,"line_start":280,"line_end":280,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1465 ~ no_proto[2d88]::pointer::date::{impl#4}::from_json_to_schema), local_id: 82 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288335801},"span":{"file_name":"src/pointer/date.rs","byte_start":351269,"byte_end":351270,"line_start":281,"line_end":281,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1465 ~ no_proto[2d88]::pointer::date::{impl#4}::from_json_to_schema), local_id: 35 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743290},"span":{"file_name":"src/pointer/date.rs","byte_start":351876,"byte_end":351882,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872378},"span":{"file_name":"src/pointer/date.rs","byte_start":351907,"byte_end":351914,"line_start":303,"line_end":303,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614202},"span":{"file_name":"src/pointer/date.rs","byte_start":351923,"byte_end":351928,"line_start":303,"line_end":303,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1466},"span":{"file_name":"src/pointer/date.rs","byte_start":351851,"byte_end":351871,"line_start":303,"line_end":303,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219194},"span":{"file_name":"src/pointer/date.rs","byte_start":351984,"byte_end":351995,"line_start":304,"line_end":304,"column_start":13,"column_end":24},"name":"has_default","qualname":"has_default$HirId { owner: DefId(0:1466 ~ no_proto[2d88]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301991354},"span":{"file_name":"src/pointer/date.rs","byte_start":352031,"byte_end":352038,"line_start":306,"line_end":306,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1466 ~ no_proto[2d88]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 72 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416698},"span":{"file_name":"src/pointer/date.rs","byte_start":352113,"byte_end":352124,"line_start":309,"line_end":309,"column_start":17,"column_end":28},"name":"bytes_slice","qualname":"bytes_slice$HirId { owner: DefId(0:1466 ~ no_proto[2d88]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 44 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069882},"span":{"file_name":"src/pointer/date.rs","byte_start":352187,"byte_end":352196,"line_start":311,"line_end":311,"column_start":21,"column_end":30},"name":"u64_bytes","qualname":"u64_bytes$HirId { owner: DefId(0:1466 ~ no_proto[2d88]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 50 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1467},"span":{"file_name":"src/pointer/portal.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"portal","qualname":"::pointer::portal","value":"src/pointer/portal.rs","parent":null,"children":[{"krate":0,"index":1468},{"krate":0,"index":1469},{"krate":0,"index":1470},{"krate":0,"index":1473},{"krate":0,"index":1476},{"krate":0,"index":1479},{"krate":0,"index":1480},{"krate":0,"index":1483},{"krate":0,"index":1486},{"krate":0,"index":1489},{"krate":0,"index":1490},{"krate":0,"index":1493},{"krate":0,"index":1496},{"krate":0,"index":1497},{"krate":0,"index":1500},{"krate":0,"index":1503},{"krate":0,"index":1504},{"krate":0,"index":1507},{"krate":0,"index":1508},{"krate":0,"index":1511},{"krate":0,"index":1514},{"krate":0,"index":1517},{"krate":0,"index":1520},{"krate":0,"index":1523},{"krate":0,"index":1526},{"krate":0,"index":1527},{"krate":0,"index":1530},{"krate":0,"index":1532}],"decl_id":null,"docs":" Clone type for recursion or duplicating data types.\n \n Portal types allow you to teleport a type from one part of a schema to another.\n \n This is useful for recursive types or if you'd like one type to be duplicated into multiple fields.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n // use portal to duplicate type\n let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {\n point1: struct({fields: { x: i32(), y: i32() }}),\n point2: portal({ to: \"point1\" }) // point2 is a \"clone\" of point1\n }})\"#)?;","sig":null,"attributes":[{"value":"/ Clone type for recursion or duplicating data types.","span":{"file_name":"src/pointer/portal.rs","byte_start":353984,"byte_end":354039,"line_start":1,"line_end":1,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354040,"byte_end":354044,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Portal types allow you to teleport a type from one part of a schema to another.","span":{"file_name":"src/pointer/portal.rs","byte_start":354045,"byte_end":354128,"line_start":3,"line_end":3,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354129,"byte_end":354133,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ This is useful for recursive types or if you'd like one type to be duplicated into multiple fields.","span":{"file_name":"src/pointer/portal.rs","byte_start":354134,"byte_end":354237,"line_start":5,"line_end":5,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354238,"byte_end":354242,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/portal.rs","byte_start":354243,"byte_end":354250,"line_start":7,"line_end":7,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/portal.rs","byte_start":354251,"byte_end":354285,"line_start":8,"line_end":8,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/portal.rs","byte_start":354286,"byte_end":354315,"line_start":9,"line_end":9,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354316,"byte_end":354320,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ // use portal to duplicate type","span":{"file_name":"src/pointer/portal.rs","byte_start":354321,"byte_end":354356,"line_start":11,"line_end":11,"column_start":1,"column_end":36}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {","span":{"file_name":"src/pointer/portal.rs","byte_start":354357,"byte_end":354423,"line_start":12,"line_end":12,"column_start":1,"column_end":67}},{"value":"/ point1: struct({fields: { x: i32(), y: i32() }}),","span":{"file_name":"src/pointer/portal.rs","byte_start":354424,"byte_end":354481,"line_start":13,"line_end":13,"column_start":1,"column_end":58}},{"value":"/ point2: portal({ to: \"point1\" }) // point2 is a \"clone\" of point1","span":{"file_name":"src/pointer/portal.rs","byte_start":354482,"byte_end":354555,"line_start":14,"line_end":14,"column_start":1,"column_end":74}},{"value":"/ }})\"#)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354556,"byte_end":354568,"line_start":15,"line_end":15,"column_start":1,"column_end":13}},{"value":"/","span":{"file_name":"src/pointer/portal.rs","byte_start":354569,"byte_end":354572,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/portal.rs","byte_start":354573,"byte_end":354623,"line_start":17,"line_end":17,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"point1\", \"x\"], 200i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354624,"byte_end":354670,"line_start":18,"line_end":18,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"point1\", \"y\"], 100i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354671,"byte_end":354717,"line_start":19,"line_end":19,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354718,"byte_end":354722,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ // point2 can be treated just like point1","span":{"file_name":"src/pointer/portal.rs","byte_start":354723,"byte_end":354768,"line_start":21,"line_end":21,"column_start":1,"column_end":46}},{"value":"/ new_buffer.set(&[\"point2\", \"x\"], 250i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354769,"byte_end":354815,"line_start":22,"line_end":22,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"point2\", \"y\"], 150i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354816,"byte_end":354862,"line_start":23,"line_end":23,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354863,"byte_end":354867,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point1\", \"x\"])?, Some(200i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":354868,"byte_end":354939,"line_start":25,"line_end":25,"column_start":1,"column_end":72}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point1\", \"y\"])?, Some(100i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":354940,"byte_end":355011,"line_start":26,"line_end":26,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355012,"byte_end":355016,"line_start":27,"line_end":27,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point2\", \"x\"])?, Some(250i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":355017,"byte_end":355088,"line_start":28,"line_end":28,"column_start":1,"column_end":72}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point2\", \"y\"])?, Some(150i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":355089,"byte_end":355160,"line_start":29,"line_end":29,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355161,"byte_end":355165,"line_start":30,"line_end":30,"column_start":1,"column_end":5}},{"value":"/ // use portal for recursive type","span":{"file_name":"src/pointer/portal.rs","byte_start":355166,"byte_end":355202,"line_start":31,"line_end":31,"column_start":1,"column_end":37}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {","span":{"file_name":"src/pointer/portal.rs","byte_start":355203,"byte_end":355269,"line_start":32,"line_end":32,"column_start":1,"column_end":67}},{"value":"/ node: u32(),","span":{"file_name":"src/pointer/portal.rs","byte_start":355270,"byte_end":355290,"line_start":33,"line_end":33,"column_start":1,"column_end":21}},{"value":"/ child: portal({ to: \"\" }) // child is a clone of the root object","span":{"file_name":"src/pointer/portal.rs","byte_start":355291,"byte_end":355363,"line_start":34,"line_end":34,"column_start":1,"column_end":73}},{"value":"/ }})\"#)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355364,"byte_end":355376,"line_start":35,"line_end":35,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355377,"byte_end":355381,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/portal.rs","byte_start":355382,"byte_end":355432,"line_start":37,"line_end":37,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"node\"], 1u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355433,"byte_end":355470,"line_start":38,"line_end":38,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[\"child\", \"node\"], 2u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355471,"byte_end":355517,"line_start":39,"line_end":39,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"child\", \"child\", \"node\"], 3u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355518,"byte_end":355573,"line_start":40,"line_end":40,"column_start":1,"column_end":56}},{"value":"/ new_buffer.set(&[\"child\", \"child\", \"child\", \"node\"], 4u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355574,"byte_end":355638,"line_start":41,"line_end":41,"column_start":1,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355639,"byte_end":355643,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(Some(1u32), new_buffer.get(&[\"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355644,"byte_end":355699,"line_start":43,"line_end":43,"column_start":1,"column_end":56}},{"value":"/ assert_eq!(Some(2u32), new_buffer.get(&[\"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355700,"byte_end":355764,"line_start":44,"line_end":44,"column_start":1,"column_end":65}},{"value":"/ assert_eq!(Some(3u32), new_buffer.get(&[\"child\", \"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355765,"byte_end":355838,"line_start":45,"line_end":45,"column_start":1,"column_end":74}},{"value":"/ assert_eq!(Some(4u32), new_buffer.get(&[\"child\", \"child\", \"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355839,"byte_end":355921,"line_start":46,"line_end":46,"column_start":1,"column_end":83}},{"value":"/","span":{"file_name":"src/pointer/portal.rs","byte_start":355922,"byte_end":355925,"line_start":47,"line_end":47,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/portal.rs","byte_start":355926,"byte_end":355955,"line_start":48,"line_end":48,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/portal.rs","byte_start":355956,"byte_end":355963,"line_start":49,"line_end":49,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355964,"byte_end":355968,"line_start":50,"line_end":50,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355969,"byte_end":355973,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355974,"byte_end":355978,"line_start":52,"line_end":52,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":1530},"span":{"file_name":"src/pointer/portal.rs","byte_start":356450,"byte_end":356459,"line_start":70,"line_end":70,"column_start":12,"column_end":21},"name":"NP_Portal","qualname":"::pointer::portal::NP_Portal","value":"","parent":null,"children":[],"decl_id":null,"docs":" Defines the behavior of the portal data type\n","sig":null,"attributes":[{"value":"/ Defines the behavior of the portal data type","span":{"file_name":"src/pointer/portal.rs","byte_start":356390,"byte_end":356438,"line_start":69,"line_end":69,"column_start":1,"column_end":49}}]},{"kind":"Method","id":{"krate":0,"index":1534},"span":{"file_name":"src/pointer/portal.rs","byte_start":356518,"byte_end":356526,"line_start":74,"line_end":74,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743359},"span":{"file_name":"src/pointer/portal.rs","byte_start":356630,"byte_end":356634,"line_start":78,"line_end":78,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::portal::NP_Portal","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1535},"span":{"file_name":"src/pointer/portal.rs","byte_start":356615,"byte_end":356628,"line_start":78,"line_end":78,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743360},"span":{"file_name":"src/pointer/portal.rs","byte_start":356737,"byte_end":356743,"line_start":82,"line_end":82,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872448},"span":{"file_name":"src/pointer/portal.rs","byte_start":356769,"byte_end":356776,"line_start":82,"line_end":82,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1536},"span":{"file_name":"src/pointer/portal.rs","byte_start":356722,"byte_end":356736,"line_start":82,"line_end":82,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791552},"span":{"file_name":"src/pointer/portal.rs","byte_start":356827,"byte_end":356833,"line_start":83,"line_end":83,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1536 ~ no_proto[2d88]::pointer::portal::{impl#0}::schema_to_json), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939525632},"span":{"file_name":"src/pointer/portal.rs","byte_start":356867,"byte_end":356871,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1536 ~ no_proto[2d88]::pointer::portal::{impl#0}::schema_to_json), local_id: 28 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603981312},"span":{"file_name":"src/pointer/portal.rs","byte_start":356945,"byte_end":356956,"line_start":87,"line_end":87,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1536 ~ no_proto[2d88]::pointer::portal::{impl#0}::schema_to_json), local_id: 36 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743361},"span":{"file_name":"src/pointer/portal.rs","byte_start":357308,"byte_end":357314,"line_start":102,"line_end":102,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872449},"span":{"file_name":"src/pointer/portal.rs","byte_start":357340,"byte_end":357347,"line_start":102,"line_end":102,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1537},"span":{"file_name":"src/pointer/portal.rs","byte_start":357294,"byte_end":357307,"line_start":102,"line_end":102,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832001},"span":{"file_name":"src/pointer/portal.rs","byte_start":357398,"byte_end":357402,"line_start":104,"line_end":104,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1537 ~ no_proto[2d88]::pointer::portal::{impl#0}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751105},"span":{"file_name":"src/pointer/portal.rs","byte_start":357485,"byte_end":357491,"line_start":106,"line_end":106,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1537 ~ no_proto[2d88]::pointer::portal::{impl#0}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743362},"span":{"file_name":"src/pointer/portal.rs","byte_start":357669,"byte_end":357675,"line_start":113,"line_end":113,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872450},"span":{"file_name":"src/pointer/portal.rs","byte_start":357700,"byte_end":357705,"line_start":113,"line_end":113,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614274},"span":{"file_name":"src/pointer/portal.rs","byte_start":357713,"byte_end":357716,"line_start":113,"line_end":113,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436994},"span":{"file_name":"src/pointer/portal.rs","byte_start":357730,"byte_end":357734,"line_start":113,"line_end":113,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1538},"span":{"file_name":"src/pointer/portal.rs","byte_start":357646,"byte_end":357664,"line_start":113,"line_end":113,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702914},"span":{"file_name":"src/pointer/portal.rs","byte_start":357829,"byte_end":357831,"line_start":115,"line_end":115,"column_start":17,"column_end":19},"name":"to","qualname":"to$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594050},"span":{"file_name":"src/pointer/portal.rs","byte_start":357946,"byte_end":357956,"line_start":118,"line_end":118,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 33 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723138},"span":{"file_name":"src/pointer/portal.rs","byte_start":357989,"byte_end":357992,"line_start":119,"line_end":119,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206786},"span":{"file_name":"src/pointer/portal.rs","byte_start":357994,"byte_end":357999,"line_start":119,"line_end":119,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859970},"span":{"file_name":"src/pointer/portal.rs","byte_start":358210,"byte_end":358214,"line_start":123,"line_end":123,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 63 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298480130},"span":{"file_name":"src/pointer/portal.rs","byte_start":358669,"byte_end":358679,"line_start":138,"line_end":138,"column_start":21,"column_end":31},"name":"schema_vec","qualname":"schema_vec$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 145 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776386},"span":{"file_name":"src/pointer/portal.rs","byte_start":359089,"byte_end":359099,"line_start":146,"line_end":146,"column_start":17,"column_end":27},"name":"path_bytes","qualname":"path_bytes$HirId { owner: DefId(0:1538 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 211 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743363},"span":{"file_name":"src/pointer/portal.rs","byte_start":359435,"byte_end":359441,"line_start":156,"line_end":156,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872451},"span":{"file_name":"src/pointer/portal.rs","byte_start":359466,"byte_end":359477,"line_start":156,"line_end":156,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1539},"span":{"file_name":"src/pointer/portal.rs","byte_start":359411,"byte_end":359430,"line_start":156,"line_end":156,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219267},"span":{"file_name":"src/pointer/portal.rs","byte_start":359572,"byte_end":359582,"line_start":157,"line_end":157,"column_start":17,"column_end":27},"name":"schema_vec","qualname":"schema_vec$HirId { owner: DefId(0:1539 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288335875},"span":{"file_name":"src/pointer/portal.rs","byte_start":359721,"byte_end":359725,"line_start":160,"line_end":160,"column_start":29,"column_end":33},"name":"path","qualname":"path$HirId { owner: DefId(0:1539 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 35 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080067},"span":{"file_name":"src/pointer/portal.rs","byte_start":360090,"byte_end":360100,"line_start":167,"line_end":167,"column_start":21,"column_end":31},"name":"path_bytes","qualname":"path_bytes$HirId { owner: DefId(0:1539 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743364},"span":{"file_name":"src/pointer/portal.rs","byte_start":360439,"byte_end":360445,"line_start":177,"line_end":177,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872452},"span":{"file_name":"src/pointer/portal.rs","byte_start":360470,"byte_end":360477,"line_start":177,"line_end":177,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614276},"span":{"file_name":"src/pointer/portal.rs","byte_start":360486,"byte_end":360491,"line_start":177,"line_end":177,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1540},"span":{"file_name":"src/pointer/portal.rs","byte_start":360414,"byte_end":360434,"line_start":177,"line_end":177,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416772},"span":{"file_name":"src/pointer/portal.rs","byte_start":360547,"byte_end":360556,"line_start":178,"line_end":178,"column_start":13,"column_end":22},"name":"path_size","qualname":"path_size$HirId { owner: DefId(0:1540 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 44 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247236},"span":{"file_name":"src/pointer/portal.rs","byte_start":360664,"byte_end":360673,"line_start":180,"line_end":180,"column_start":13,"column_end":22},"name":"path_size","qualname":"path_size$HirId { owner: DefId(0:1540 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604164},"span":{"file_name":"src/pointer/portal.rs","byte_start":360729,"byte_end":360733,"line_start":182,"line_end":182,"column_start":13,"column_end":17},"name":"path","qualname":"path$HirId { owner: DefId(0:1540 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 78 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509950980},"span":{"file_name":"src/pointer/portal.rs","byte_start":360793,"byte_end":360801,"line_start":184,"line_end":184,"column_start":13,"column_end":21},"name":"path_str","qualname":"path_str$HirId { owner: DefId(0:1540 ~ no_proto[2d88]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 90 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743367},"span":{"file_name":"src/pointer/portal.rs","byte_start":361207,"byte_end":361213,"line_start":196,"line_end":196,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872455},"span":{"file_name":"src/pointer/portal.rs","byte_start":361222,"byte_end":361234,"line_start":196,"line_end":196,"column_start":37,"column_end":49},"name":"_schema_addr","qualname":"::default_value::_schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614279},"span":{"file_name":"src/pointer/portal.rs","byte_start":361243,"byte_end":361251,"line_start":196,"line_end":196,"column_start":58,"column_end":66},"name":"_schemas","qualname":"::default_value::_schemas","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1543},"span":{"file_name":"src/pointer/portal.rs","byte_start":361193,"byte_end":361206,"line_start":196,"line_end":196,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743368},"span":{"file_name":"src/pointer/portal.rs","byte_start":361330,"byte_end":361335,"line_start":200,"line_end":200,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872456},"span":{"file_name":"src/pointer/portal.rs","byte_start":361343,"byte_end":361349,"line_start":200,"line_end":200,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614280},"span":{"file_name":"src/pointer/portal.rs","byte_start":361363,"byte_end":361369,"line_start":200,"line_end":200,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1544},"span":{"file_name":"src/pointer/portal.rs","byte_start":361322,"byte_end":361329,"line_start":200,"line_end":200,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396552},"span":{"file_name":"src/pointer/portal.rs","byte_start":361415,"byte_end":361419,"line_start":201,"line_end":201,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1544 ~ no_proto[2d88]::pointer::portal::{impl#0}::to_json), local_id: 26 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594056},"span":{"file_name":"src/pointer/portal.rs","byte_start":361524,"byte_end":361528,"line_start":203,"line_end":203,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1544 ~ no_proto[2d88]::pointer::portal::{impl#0}::to_json), local_id: 33 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743369},"span":{"file_name":"src/pointer/portal.rs","byte_start":361732,"byte_end":361737,"line_start":209,"line_end":209,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872457},"span":{"file_name":"src/pointer/portal.rs","byte_start":361746,"byte_end":361756,"line_start":209,"line_end":209,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614281},"span":{"file_name":"src/pointer/portal.rs","byte_start":361764,"byte_end":361770,"line_start":209,"line_end":209,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437001},"span":{"file_name":"src/pointer/portal.rs","byte_start":361783,"byte_end":361789,"line_start":209,"line_end":209,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178825},"span":{"file_name":"src/pointer/portal.rs","byte_start":361808,"byte_end":361813,"line_start":209,"line_end":209,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1545},"span":{"file_name":"src/pointer/portal.rs","byte_start":361712,"byte_end":361725,"line_start":209,"line_end":209,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267465},"span":{"file_name":"src/pointer/portal.rs","byte_start":361902,"byte_end":361906,"line_start":211,"line_end":211,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1545 ~ no_proto[2d88]::pointer::portal::{impl#0}::set_from_json), local_id: 30 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464969},"span":{"file_name":"src/pointer/portal.rs","byte_start":362011,"byte_end":362015,"line_start":213,"line_end":213,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1545 ~ no_proto[2d88]::pointer::portal::{impl#0}::set_from_json), local_id: 37 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743371},"span":{"file_name":"src/pointer/portal.rs","byte_start":362236,"byte_end":362241,"line_start":220,"line_end":220,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872459},"span":{"file_name":"src/pointer/portal.rs","byte_start":362249,"byte_end":362255,"line_start":220,"line_end":220,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614283},"span":{"file_name":"src/pointer/portal.rs","byte_start":362276,"byte_end":362282,"line_start":220,"line_end":220,"column_start":57,"column_end":63},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1547},"span":{"file_name":"src/pointer/portal.rs","byte_start":362227,"byte_end":362235,"line_start":220,"line_end":220,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &'value NP_Cursor, &'value NP_Memory)\n-> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396555},"span":{"file_name":"src/pointer/portal.rs","byte_start":362344,"byte_end":362348,"line_start":221,"line_end":221,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1547 ~ no_proto[2d88]::pointer::portal::{impl#0}::get_size), local_id: 26 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594059},"span":{"file_name":"src/pointer/portal.rs","byte_start":362452,"byte_end":362456,"line_start":222,"line_end":222,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1547 ~ no_proto[2d88]::pointer::portal::{impl#0}::get_size), local_id: 33 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743372},"span":{"file_name":"src/pointer/portal.rs","byte_start":362659,"byte_end":362664,"line_start":229,"line_end":229,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872460},"span":{"file_name":"src/pointer/portal.rs","byte_start":362676,"byte_end":362687,"line_start":229,"line_end":229,"column_start":36,"column_end":47},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614284},"span":{"file_name":"src/pointer/portal.rs","byte_start":362700,"byte_end":362711,"line_start":229,"line_end":229,"column_start":60,"column_end":71},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437004},"span":{"file_name":"src/pointer/portal.rs","byte_start":362736,"byte_end":362745,"line_start":229,"line_end":229,"column_start":96,"column_end":105},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178828},"span":{"file_name":"src/pointer/portal.rs","byte_start":362758,"byte_end":362767,"line_start":229,"line_end":229,"column_start":118,"column_end":127},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1548},"span":{"file_name":"src/pointer/portal.rs","byte_start":362648,"byte_end":362658,"line_start":229,"line_end":229,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267468},"span":{"file_name":"src/pointer/portal.rs","byte_start":362869,"byte_end":362873,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1548 ~ no_proto[2d88]::pointer::portal::{impl#0}::do_compact), local_id: 30 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3217},"span":{"file_name":"src/pointer/mod.rs","byte_start":58168,"byte_end":58185,"line_start":46,"line_end":46,"column_start":12,"column_end":29},"name":"NP_Pointer_Scalar","qualname":"::pointer::NP_Pointer_Scalar","value":"NP_Pointer_Scalar { addr_value }","parent":null,"children":[{"krate":0,"index":3218}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58146,"byte_end":58156,"line_start":45,"line_end":45,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3218},"span":{"file_name":"src/pointer/mod.rs","byte_start":58196,"byte_end":58206,"line_start":47,"line_end":47,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_Scalar::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3217},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1645},"span":{"file_name":"src/pointer/mod.rs","byte_start":58263,"byte_end":58270,"line_start":51,"line_end":51,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3226},"span":{"file_name":"src/pointer/mod.rs","byte_start":58382,"byte_end":58402,"line_start":59,"line_end":59,"column_start":12,"column_end":32},"name":"NP_Pointer_List_Item","qualname":"::pointer::NP_Pointer_List_Item","value":"NP_Pointer_List_Item { addr_value, next_value, index }","parent":null,"children":[{"krate":0,"index":3227},{"krate":0,"index":3229},{"krate":0,"index":3231}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58360,"byte_end":58370,"line_start":58,"line_end":58,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3227},"span":{"file_name":"src/pointer/mod.rs","byte_start":58413,"byte_end":58423,"line_start":60,"line_end":60,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_List_Item::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3226},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3229},"span":{"file_name":"src/pointer/mod.rs","byte_start":58442,"byte_end":58452,"line_start":61,"line_end":61,"column_start":9,"column_end":19},"name":"next_value","qualname":"::pointer::NP_Pointer_List_Item::next_value","value":"[u8; 4]","parent":{"krate":0,"index":3226},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3231},"span":{"file_name":"src/pointer/mod.rs","byte_start":58471,"byte_end":58476,"line_start":62,"line_end":62,"column_start":9,"column_end":14},"name":"index","qualname":"::pointer::NP_Pointer_List_Item::index","value":"[u8; 2]","parent":{"krate":0,"index":3226},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3235},"span":{"file_name":"src/pointer/mod.rs","byte_start":58543,"byte_end":58562,"line_start":68,"line_end":68,"column_start":12,"column_end":31},"name":"NP_Pointer_Map_Item","qualname":"::pointer::NP_Pointer_Map_Item","value":"NP_Pointer_Map_Item { addr_value, next_value, key_addr }","parent":null,"children":[{"krate":0,"index":3236},{"krate":0,"index":3238},{"krate":0,"index":3240}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58521,"byte_end":58531,"line_start":67,"line_end":67,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3236},"span":{"file_name":"src/pointer/mod.rs","byte_start":58573,"byte_end":58583,"line_start":69,"line_end":69,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_Map_Item::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3235},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3238},"span":{"file_name":"src/pointer/mod.rs","byte_start":58602,"byte_end":58612,"line_start":70,"line_end":70,"column_start":9,"column_end":19},"name":"next_value","qualname":"::pointer::NP_Pointer_Map_Item::next_value","value":"[u8; 4]","parent":{"krate":0,"index":3235},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3240},"span":{"file_name":"src/pointer/mod.rs","byte_start":58631,"byte_end":58639,"line_start":71,"line_end":71,"column_start":9,"column_end":17},"name":"key_addr","qualname":"::pointer::NP_Pointer_Map_Item::key_addr","value":"[u8; 4]","parent":{"krate":0,"index":3235},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Trait","id":{"krate":0,"index":1647},"span":{"file_name":"src/pointer/mod.rs","byte_start":58718,"byte_end":58734,"line_start":76,"line_end":76,"column_start":11,"column_end":27},"name":"NP_Pointer_Bytes","qualname":"::pointer::NP_Pointer_Bytes","value":"NP_Pointer_Bytes","parent":null,"children":[{"krate":0,"index":1648},{"krate":0,"index":1649},{"krate":0,"index":1650},{"krate":0,"index":1651},{"krate":0,"index":1652},{"krate":0,"index":1653},{"krate":0,"index":1654},{"krate":0,"index":1655},{"krate":0,"index":1656},{"krate":0,"index":1657},{"krate":0,"index":1658},{"krate":0,"index":1659},{"krate":0,"index":1661}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs, unused_variables)","span":{"file_name":"src/pointer/mod.rs","byte_start":58667,"byte_end":58707,"line_start":75,"line_end":75,"column_start":1,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073743472},"span":{"file_name":"src/pointer/mod.rs","byte_start":58754,"byte_end":58758,"line_start":77,"line_end":77,"column_start":18,"column_end":22},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_type::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1648},"span":{"file_name":"src/pointer/mod.rs","byte_start":58744,"byte_end":58752,"line_start":77,"line_end":77,"column_start":8,"column_end":16},"name":"get_type","qualname":"::pointer::NP_Pointer_Bytes::get_type","value":"pub fn get_type(&Self) -> &str","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743473},"span":{"file_name":"src/pointer/mod.rs","byte_start":58834,"byte_end":58838,"line_start":78,"line_end":78,"column_start":24,"column_end":28},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_addr_value::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1649},"span":{"file_name":"src/pointer/mod.rs","byte_start":58818,"byte_end":58832,"line_start":78,"line_end":78,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::pointer::NP_Pointer_Bytes::get_addr_value","value":"pub fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743474},"span":{"file_name":"src/pointer/mod.rs","byte_start":58911,"byte_end":58915,"line_start":79,"line_end":79,"column_start":28,"column_end":32},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872562},"span":{"file_name":"src/pointer/mod.rs","byte_start":58917,"byte_end":58921,"line_start":79,"line_end":79,"column_start":34,"column_end":38},"name":"addr","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1650},"span":{"file_name":"src/pointer/mod.rs","byte_start":58891,"byte_end":58905,"line_start":79,"line_end":79,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value","value":"pub fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743475},"span":{"file_name":"src/pointer/mod.rs","byte_start":58979,"byte_end":58983,"line_start":80,"line_end":80,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_next_addr::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1651},"span":{"file_name":"src/pointer/mod.rs","byte_start":58964,"byte_end":58977,"line_start":80,"line_end":80,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::pointer::NP_Pointer_Bytes::get_next_addr","value":"pub fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743476},"span":{"file_name":"src/pointer/mod.rs","byte_start":59056,"byte_end":59060,"line_start":81,"line_end":81,"column_start":27,"column_end":31},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872564},"span":{"file_name":"src/pointer/mod.rs","byte_start":59062,"byte_end":59066,"line_start":81,"line_end":81,"column_start":33,"column_end":37},"name":"addr","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1652},"span":{"file_name":"src/pointer/mod.rs","byte_start":59037,"byte_end":59050,"line_start":81,"line_end":81,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr","value":"pub fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743477},"span":{"file_name":"src/pointer/mod.rs","byte_start":59125,"byte_end":59129,"line_start":82,"line_end":82,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_index::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872565},"span":{"file_name":"src/pointer/mod.rs","byte_start":59131,"byte_end":59136,"line_start":82,"line_end":82,"column_start":29,"column_end":34},"name":"index","qualname":"::pointer::NP_Pointer_Bytes::set_index::index","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1653},"span":{"file_name":"src/pointer/mod.rs","byte_start":59110,"byte_end":59119,"line_start":82,"line_end":82,"column_start":8,"column_end":17},"name":"set_index","qualname":"::pointer::NP_Pointer_Bytes::set_index","value":"pub fn set_index(&mut Self, u16)","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743478},"span":{"file_name":"src/pointer/mod.rs","byte_start":59194,"byte_end":59198,"line_start":83,"line_end":83,"column_start":19,"column_end":23},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_index::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1654},"span":{"file_name":"src/pointer/mod.rs","byte_start":59183,"byte_end":59192,"line_start":83,"line_end":83,"column_start":8,"column_end":17},"name":"get_index","qualname":"::pointer::NP_Pointer_Bytes::get_index","value":"pub fn get_index(&Self) -> u16","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743479},"span":{"file_name":"src/pointer/mod.rs","byte_start":59274,"byte_end":59278,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872567},"span":{"file_name":"src/pointer/mod.rs","byte_start":59280,"byte_end":59284,"line_start":84,"line_end":84,"column_start":32,"column_end":36},"name":"hash","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr::hash","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1655},"span":{"file_name":"src/pointer/mod.rs","byte_start":59256,"byte_end":59268,"line_start":84,"line_end":84,"column_start":8,"column_end":20},"name":"set_key_addr","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr","value":"pub fn set_key_addr(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743480},"span":{"file_name":"src/pointer/mod.rs","byte_start":59343,"byte_end":59347,"line_start":85,"line_end":85,"column_start":22,"column_end":26},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key_addr::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1656},"span":{"file_name":"src/pointer/mod.rs","byte_start":59329,"byte_end":59341,"line_start":85,"line_end":85,"column_start":8,"column_end":20},"name":"get_key_addr","qualname":"::pointer::NP_Pointer_Bytes::get_key_addr","value":"pub fn get_key_addr(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743481},"span":{"file_name":"src/pointer/mod.rs","byte_start":59413,"byte_end":59417,"line_start":86,"line_end":86,"column_start":19,"column_end":23},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::reset::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1657},"span":{"file_name":"src/pointer/mod.rs","byte_start":59402,"byte_end":59407,"line_start":86,"line_end":86,"column_start":8,"column_end":13},"name":"reset","qualname":"::pointer::NP_Pointer_Bytes::reset","value":"pub fn reset(&mut Self)","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743482},"span":{"file_name":"src/pointer/mod.rs","byte_start":59485,"byte_end":59489,"line_start":87,"line_end":87,"column_start":18,"column_end":22},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_size::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1658},"span":{"file_name":"src/pointer/mod.rs","byte_start":59475,"byte_end":59483,"line_start":87,"line_end":87,"column_start":8,"column_end":16},"name":"get_size","qualname":"::pointer::NP_Pointer_Bytes::get_size","value":"pub fn get_size(&Self) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743483},"span":{"file_name":"src/pointer/mod.rs","byte_start":59563,"byte_end":59567,"line_start":88,"line_end":88,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872571},"span":{"file_name":"src/pointer/mod.rs","byte_start":59569,"byte_end":59575,"line_start":88,"line_end":88,"column_start":29,"column_end":35},"name":"memory","qualname":"::pointer::NP_Pointer_Bytes::get_key::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1659},"span":{"file_name":"src/pointer/mod.rs","byte_start":59548,"byte_end":59555,"line_start":88,"line_end":88,"column_start":8,"column_end":15},"name":"get_key","qualname":"::pointer::NP_Pointer_Bytes::get_key","value":"pub fn get_key<'key>(&Self, &'key NP_Memory) -> &'key str","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743485},"span":{"file_name":"src/pointer/mod.rs","byte_start":59642,"byte_end":59646,"line_start":89,"line_end":89,"column_start":28,"column_end":32},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key_size::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872573},"span":{"file_name":"src/pointer/mod.rs","byte_start":59648,"byte_end":59654,"line_start":89,"line_end":89,"column_start":34,"column_end":40},"name":"memory","qualname":"::pointer::NP_Pointer_Bytes::get_key_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1661},"span":{"file_name":"src/pointer/mod.rs","byte_start":59622,"byte_end":59634,"line_start":89,"line_end":89,"column_start":8,"column_end":20},"name":"get_key_size","qualname":"::pointer::NP_Pointer_Bytes::get_key_size","value":"pub fn get_key_size<'key>(&Self, &'key NP_Memory) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743488},"span":{"file_name":"src/pointer/mod.rs","byte_start":59755,"byte_end":59759,"line_start":93,"line_end":93,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1664},"span":{"file_name":"src/pointer/mod.rs","byte_start":59745,"byte_end":59753,"line_start":93,"line_end":93,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1648},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743489},"span":{"file_name":"src/pointer/mod.rs","byte_start":59827,"byte_end":59831,"line_start":95,"line_end":95,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1665},"span":{"file_name":"src/pointer/mod.rs","byte_start":59811,"byte_end":59825,"line_start":95,"line_end":95,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59786,"byte_end":59803,"line_start":94,"line_end":94,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743490},"span":{"file_name":"src/pointer/mod.rs","byte_start":59929,"byte_end":59933,"line_start":97,"line_end":97,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872578},"span":{"file_name":"src/pointer/mod.rs","byte_start":59935,"byte_end":59939,"line_start":97,"line_end":97,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1666},"span":{"file_name":"src/pointer/mod.rs","byte_start":59909,"byte_end":59923,"line_start":97,"line_end":97,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59884,"byte_end":59901,"line_start":96,"line_end":96,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743491},"span":{"file_name":"src/pointer/mod.rs","byte_start":60027,"byte_end":60031,"line_start":99,"line_end":99,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1667},"span":{"file_name":"src/pointer/mod.rs","byte_start":60016,"byte_end":60021,"line_start":99,"line_end":99,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1657},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59991,"byte_end":60008,"line_start":98,"line_end":98,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743493},"span":{"file_name":"src/pointer/mod.rs","byte_start":60102,"byte_end":60106,"line_start":101,"line_end":101,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1669},"span":{"file_name":"src/pointer/mod.rs","byte_start":60092,"byte_end":60100,"line_start":101,"line_end":101,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60067,"byte_end":60084,"line_start":100,"line_end":100,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743495},"span":{"file_name":"src/pointer/mod.rs","byte_start":60191,"byte_end":60195,"line_start":104,"line_end":104,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1671},"span":{"file_name":"src/pointer/mod.rs","byte_start":60181,"byte_end":60189,"line_start":104,"line_end":104,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1648},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743496},"span":{"file_name":"src/pointer/mod.rs","byte_start":60266,"byte_end":60270,"line_start":106,"line_end":106,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1672},"span":{"file_name":"src/pointer/mod.rs","byte_start":60250,"byte_end":60264,"line_start":106,"line_end":106,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60225,"byte_end":60242,"line_start":105,"line_end":105,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743497},"span":{"file_name":"src/pointer/mod.rs","byte_start":60368,"byte_end":60372,"line_start":108,"line_end":108,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872585},"span":{"file_name":"src/pointer/mod.rs","byte_start":60374,"byte_end":60378,"line_start":108,"line_end":108,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1673},"span":{"file_name":"src/pointer/mod.rs","byte_start":60348,"byte_end":60362,"line_start":108,"line_end":108,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60323,"byte_end":60340,"line_start":107,"line_end":107,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743498},"span":{"file_name":"src/pointer/mod.rs","byte_start":60470,"byte_end":60474,"line_start":110,"line_end":110,"column_start":23,"column_end":27},"name":"self","qualname":"::get_next_addr::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1674},"span":{"file_name":"src/pointer/mod.rs","byte_start":60455,"byte_end":60468,"line_start":110,"line_end":110,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::get_next_addr","value":"fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1651},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60430,"byte_end":60447,"line_start":109,"line_end":109,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743499},"span":{"file_name":"src/pointer/mod.rs","byte_start":60571,"byte_end":60575,"line_start":112,"line_end":112,"column_start":27,"column_end":31},"name":"self","qualname":"::set_next_addr::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872587},"span":{"file_name":"src/pointer/mod.rs","byte_start":60577,"byte_end":60581,"line_start":112,"line_end":112,"column_start":33,"column_end":37},"name":"addr","qualname":"::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1675},"span":{"file_name":"src/pointer/mod.rs","byte_start":60552,"byte_end":60565,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::set_next_addr","value":"fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1652},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60527,"byte_end":60544,"line_start":111,"line_end":111,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743500},"span":{"file_name":"src/pointer/mod.rs","byte_start":60673,"byte_end":60677,"line_start":114,"line_end":114,"column_start":23,"column_end":27},"name":"self","qualname":"::set_index::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872588},"span":{"file_name":"src/pointer/mod.rs","byte_start":60679,"byte_end":60684,"line_start":114,"line_end":114,"column_start":29,"column_end":34},"name":"index","qualname":"::set_index::index","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1676},"span":{"file_name":"src/pointer/mod.rs","byte_start":60658,"byte_end":60667,"line_start":114,"line_end":114,"column_start":8,"column_end":17},"name":"set_index","qualname":"::set_index","value":"fn set_index(&mut Self, u16)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1653},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60633,"byte_end":60650,"line_start":113,"line_end":113,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743501},"span":{"file_name":"src/pointer/mod.rs","byte_start":60769,"byte_end":60773,"line_start":116,"line_end":116,"column_start":19,"column_end":23},"name":"self","qualname":"::get_index::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1677},"span":{"file_name":"src/pointer/mod.rs","byte_start":60758,"byte_end":60767,"line_start":116,"line_end":116,"column_start":8,"column_end":17},"name":"get_index","qualname":"::get_index","value":"fn get_index(&Self) -> u16","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1654},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60733,"byte_end":60750,"line_start":115,"line_end":115,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743502},"span":{"file_name":"src/pointer/mod.rs","byte_start":60858,"byte_end":60862,"line_start":118,"line_end":118,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1678},"span":{"file_name":"src/pointer/mod.rs","byte_start":60847,"byte_end":60852,"line_start":118,"line_end":118,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1657},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60822,"byte_end":60839,"line_start":117,"line_end":117,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743506},"span":{"file_name":"src/pointer/mod.rs","byte_start":60980,"byte_end":60984,"line_start":120,"line_end":120,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1682},"span":{"file_name":"src/pointer/mod.rs","byte_start":60970,"byte_end":60978,"line_start":120,"line_end":120,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60945,"byte_end":60962,"line_start":119,"line_end":119,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743508},"span":{"file_name":"src/pointer/mod.rs","byte_start":61069,"byte_end":61073,"line_start":123,"line_end":123,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1684},"span":{"file_name":"src/pointer/mod.rs","byte_start":61059,"byte_end":61067,"line_start":123,"line_end":123,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1648},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743509},"span":{"file_name":"src/pointer/mod.rs","byte_start":61143,"byte_end":61147,"line_start":125,"line_end":125,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1685},"span":{"file_name":"src/pointer/mod.rs","byte_start":61127,"byte_end":61141,"line_start":125,"line_end":125,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61102,"byte_end":61119,"line_start":124,"line_end":124,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743510},"span":{"file_name":"src/pointer/mod.rs","byte_start":61245,"byte_end":61249,"line_start":127,"line_end":127,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872598},"span":{"file_name":"src/pointer/mod.rs","byte_start":61251,"byte_end":61255,"line_start":127,"line_end":127,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1686},"span":{"file_name":"src/pointer/mod.rs","byte_start":61225,"byte_end":61239,"line_start":127,"line_end":127,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61200,"byte_end":61217,"line_start":126,"line_end":126,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743511},"span":{"file_name":"src/pointer/mod.rs","byte_start":61347,"byte_end":61351,"line_start":129,"line_end":129,"column_start":23,"column_end":27},"name":"self","qualname":"::get_next_addr::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1687},"span":{"file_name":"src/pointer/mod.rs","byte_start":61332,"byte_end":61345,"line_start":129,"line_end":129,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::get_next_addr","value":"fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1651},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61307,"byte_end":61324,"line_start":128,"line_end":128,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743512},"span":{"file_name":"src/pointer/mod.rs","byte_start":61448,"byte_end":61452,"line_start":131,"line_end":131,"column_start":27,"column_end":31},"name":"self","qualname":"::set_next_addr::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872600},"span":{"file_name":"src/pointer/mod.rs","byte_start":61454,"byte_end":61458,"line_start":131,"line_end":131,"column_start":33,"column_end":37},"name":"addr","qualname":"::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1688},"span":{"file_name":"src/pointer/mod.rs","byte_start":61429,"byte_end":61442,"line_start":131,"line_end":131,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::set_next_addr","value":"fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1652},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61404,"byte_end":61421,"line_start":130,"line_end":130,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743513},"span":{"file_name":"src/pointer/mod.rs","byte_start":61553,"byte_end":61557,"line_start":133,"line_end":133,"column_start":26,"column_end":30},"name":"self","qualname":"::set_key_addr::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872601},"span":{"file_name":"src/pointer/mod.rs","byte_start":61559,"byte_end":61563,"line_start":133,"line_end":133,"column_start":32,"column_end":36},"name":"addr","qualname":"::set_key_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1689},"span":{"file_name":"src/pointer/mod.rs","byte_start":61535,"byte_end":61547,"line_start":133,"line_end":133,"column_start":8,"column_end":20},"name":"set_key_addr","qualname":"::set_key_addr","value":"fn set_key_addr(&mut Self, u32)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1655},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61510,"byte_end":61527,"line_start":132,"line_end":132,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743514},"span":{"file_name":"src/pointer/mod.rs","byte_start":61654,"byte_end":61658,"line_start":135,"line_end":135,"column_start":22,"column_end":26},"name":"self","qualname":"::get_key_addr::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1690},"span":{"file_name":"src/pointer/mod.rs","byte_start":61640,"byte_end":61652,"line_start":135,"line_end":135,"column_start":8,"column_end":20},"name":"get_key_addr","qualname":"::get_key_addr","value":"fn get_key_addr(&Self) -> u32","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1656},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61615,"byte_end":61632,"line_start":134,"line_end":134,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743515},"span":{"file_name":"src/pointer/mod.rs","byte_start":61746,"byte_end":61750,"line_start":137,"line_end":137,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1691},"span":{"file_name":"src/pointer/mod.rs","byte_start":61735,"byte_end":61740,"line_start":137,"line_end":137,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1657},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61710,"byte_end":61727,"line_start":136,"line_end":136,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743519},"span":{"file_name":"src/pointer/mod.rs","byte_start":61871,"byte_end":61875,"line_start":139,"line_end":139,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1695},"span":{"file_name":"src/pointer/mod.rs","byte_start":61861,"byte_end":61869,"line_start":139,"line_end":139,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61836,"byte_end":61853,"line_start":138,"line_end":138,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743520},"span":{"file_name":"src/pointer/mod.rs","byte_start":61937,"byte_end":61941,"line_start":141,"line_end":141,"column_start":23,"column_end":27},"name":"self","qualname":"::get_key::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872608},"span":{"file_name":"src/pointer/mod.rs","byte_start":61943,"byte_end":61949,"line_start":141,"line_end":141,"column_start":29,"column_end":35},"name":"memory","qualname":"::get_key::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1696},"span":{"file_name":"src/pointer/mod.rs","byte_start":61922,"byte_end":61929,"line_start":141,"line_end":141,"column_start":8,"column_end":15},"name":"get_key","qualname":"::get_key","value":"fn get_key<'key>(&Self, &'key NP_Memory) -> &'key str","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1659},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61897,"byte_end":61914,"line_start":140,"line_end":140,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879049888},"span":{"file_name":"src/pointer/mod.rs","byte_start":61995,"byte_end":62003,"line_start":142,"line_end":142,"column_start":13,"column_end":21},"name":"key_addr","qualname":"key_addr$HirId { owner: DefId(0:1696 ~ no_proto[2d88]::pointer::{impl#3}::get_key), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751465120},"span":{"file_name":"src/pointer/mod.rs","byte_start":62119,"byte_end":62129,"line_start":146,"line_end":146,"column_start":17,"column_end":27},"name":"key_length","qualname":"key_length$HirId { owner: DefId(0:1696 ~ no_proto[2d88]::pointer::{impl#3}::get_key), local_id: 37 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006634656},"span":{"file_name":"src/pointer/mod.rs","byte_start":62188,"byte_end":62197,"line_start":147,"line_end":147,"column_start":17,"column_end":26},"name":"key_bytes","qualname":"key_bytes$HirId { owner: DefId(0:1696 ~ no_proto[2d88]::pointer::{impl#3}::get_key), local_id: 60 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743522},"span":{"file_name":"src/pointer/mod.rs","byte_start":62397,"byte_end":62401,"line_start":152,"line_end":152,"column_start":28,"column_end":32},"name":"self","qualname":"::get_key_size::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872610},"span":{"file_name":"src/pointer/mod.rs","byte_start":62403,"byte_end":62409,"line_start":152,"line_end":152,"column_start":34,"column_end":40},"name":"memory","qualname":"::get_key_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1698},"span":{"file_name":"src/pointer/mod.rs","byte_start":62377,"byte_end":62389,"line_start":152,"line_end":152,"column_start":8,"column_end":20},"name":"get_key_size","qualname":"::get_key_size","value":"fn get_key_size<'key>(&Self, &'key NP_Memory) -> usize","parent":{"krate":0,"index":1647},"children":[],"decl_id":{"krate":0,"index":1661},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":62352,"byte_end":62369,"line_start":151,"line_end":151,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879049890},"span":{"file_name":"src/pointer/mod.rs","byte_start":62451,"byte_end":62459,"line_start":153,"line_end":153,"column_start":13,"column_end":21},"name":"key_addr","qualname":"key_addr$HirId { owner: DefId(0:1698 ~ no_proto[2d88]::pointer::{impl#3}::get_key_size), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3244},"span":{"file_name":"src/pointer/mod.rs","byte_start":62782,"byte_end":62791,"line_start":170,"line_end":170,"column_start":12,"column_end":21},"name":"NP_Vtable","qualname":"::pointer::NP_Vtable","value":"NP_Vtable { values, next }","parent":null,"children":[{"krate":0,"index":3245},{"krate":0,"index":3247}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":62692,"byte_end":62702,"line_start":166,"line_end":166,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/pointer/mod.rs","byte_start":62748,"byte_end":62770,"line_start":169,"line_end":169,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3245},"span":{"file_name":"src/pointer/mod.rs","byte_start":62802,"byte_end":62808,"line_start":171,"line_end":171,"column_start":9,"column_end":15},"name":"values","qualname":"::pointer::NP_Vtable::values","value":"[pointer::NP_Pointer_Scalar; 4]","parent":{"krate":0,"index":3244},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3247},"span":{"file_name":"src/pointer/mod.rs","byte_start":62838,"byte_end":62842,"line_start":172,"line_end":172,"column_start":5,"column_end":9},"name":"next","qualname":"::pointer::NP_Vtable::next","value":"[u8; 4]","parent":{"krate":0,"index":3244},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743525},"span":{"file_name":"src/pointer/mod.rs","byte_start":62940,"byte_end":62944,"line_start":180,"line_end":180,"column_start":22,"column_end":26},"name":"self","qualname":"::get_next::self","value":"&pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1701},"span":{"file_name":"src/pointer/mod.rs","byte_start":62930,"byte_end":62938,"line_start":180,"line_end":180,"column_start":12,"column_end":20},"name":"get_next","qualname":"::get_next","value":"pub fn get_next(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":62901,"byte_end":62918,"line_start":179,"line_end":179,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743527},"span":{"file_name":"src/pointer/mod.rs","byte_start":63096,"byte_end":63100,"line_start":185,"line_end":185,"column_start":26,"column_end":30},"name":"self","qualname":"::set_next::self","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872615},"span":{"file_name":"src/pointer/mod.rs","byte_start":63102,"byte_end":63107,"line_start":185,"line_end":185,"column_start":32,"column_end":37},"name":"value","qualname":"::set_next::value","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1703},"span":{"file_name":"src/pointer/mod.rs","byte_start":63082,"byte_end":63090,"line_start":185,"line_end":185,"column_start":12,"column_end":20},"name":"set_next","qualname":"::set_next","value":"pub fn set_next(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":63053,"byte_end":63070,"line_start":184,"line_end":184,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3489662631},"span":{"file_name":"src/pointer/mod.rs","byte_start":63128,"byte_end":63133,"line_start":186,"line_end":186,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1703 ~ no_proto[2d88]::pointer::{impl#4}::set_next), local_id: 11 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3257},"span":{"file_name":"src/pointer/mod.rs","byte_start":63386,"byte_end":63390,"line_start":197,"line_end":197,"column_start":5,"column_end":9},"name":"None","qualname":"::pointer::NP_Cursor_Parent::None","value":"NP_Cursor_Parent::None","parent":{"krate":0,"index":3256},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3259},"span":{"file_name":"src/pointer/mod.rs","byte_start":63396,"byte_end":63401,"line_start":198,"line_end":198,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::pointer::NP_Cursor_Parent::Tuple","value":"NP_Cursor_Parent::Tuple","parent":{"krate":0,"index":3256},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3256},"span":{"file_name":"src/pointer/mod.rs","byte_start":63363,"byte_end":63379,"line_start":196,"line_end":196,"column_start":10,"column_end":26},"name":"NP_Cursor_Parent","qualname":"::pointer::NP_Cursor_Parent","value":"pub enum NP_Cursor_Parent { None, Tuple, }","parent":null,"children":[{"krate":0,"index":3257},{"krate":0,"index":3259}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/mod.rs","byte_start":63505,"byte_end":63514,"line_start":205,"line_end":205,"column_start":12,"column_end":21},"name":"NP_Cursor","qualname":"::pointer::NP_Cursor","value":"NP_Cursor { buff_addr, schema_addr, parent_schema_addr, value_bytes, parent_type }","parent":null,"children":[{"krate":0,"index":3270},{"krate":0,"index":3271},{"krate":0,"index":3272},{"krate":0,"index":3273},{"krate":0,"index":3275}],"decl_id":null,"docs":" Cursor for pointer value in buffer\n \n","sig":null,"attributes":[{"value":"/ Cursor for pointer value in buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":63405,"byte_end":63443,"line_start":201,"line_end":201,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":63444,"byte_end":63448,"line_start":202,"line_end":202,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3270},"span":{"file_name":"src/pointer/mod.rs","byte_start":63575,"byte_end":63584,"line_start":207,"line_end":207,"column_start":9,"column_end":18},"name":"buff_addr","qualname":"::pointer::NP_Cursor::buff_addr","value":"usize","parent":{"krate":0,"index":3269},"children":[],"decl_id":null,"docs":" The location of this cursor in the buffer\n","sig":null,"attributes":[{"value":"/ The location of this cursor in the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":63521,"byte_end":63566,"line_start":206,"line_end":206,"column_start":5,"column_end":50}}]},{"kind":"Field","id":{"krate":0,"index":3271},"span":{"file_name":"src/pointer/mod.rs","byte_start":63651,"byte_end":63662,"line_start":209,"line_end":209,"column_start":9,"column_end":20},"name":"schema_addr","qualname":"::pointer::NP_Cursor::schema_addr","value":"usize","parent":{"krate":0,"index":3269},"children":[],"decl_id":null,"docs":" The address of the schema for this cursor\n","sig":null,"attributes":[{"value":"/ The address of the schema for this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":63597,"byte_end":63642,"line_start":208,"line_end":208,"column_start":5,"column_end":50}}]},{"kind":"Field","id":{"krate":0,"index":3272},"span":{"file_name":"src/pointer/mod.rs","byte_start":63765,"byte_end":63783,"line_start":211,"line_end":211,"column_start":9,"column_end":27},"name":"parent_schema_addr","qualname":"::pointer::NP_Cursor::parent_schema_addr","value":"usize","parent":{"krate":0,"index":3269},"children":[],"decl_id":null,"docs":" the parent schema address (so we know if we're in a collection type)\n","sig":null,"attributes":[{"value":"/ the parent schema address (so we know if we're in a collection type)","span":{"file_name":"src/pointer/mod.rs","byte_start":63684,"byte_end":63756,"line_start":210,"line_end":210,"column_start":5,"column_end":77}}]},{"kind":"Field","id":{"krate":0,"index":3273},"span":{"file_name":"src/pointer/mod.rs","byte_start":63866,"byte_end":63877,"line_start":213,"line_end":213,"column_start":9,"column_end":20},"name":"value_bytes","qualname":"::pointer::NP_Cursor::value_bytes","value":"core::option::Option<[u8; 4]>","parent":{"krate":0,"index":3269},"children":[],"decl_id":null,"docs":" used by tuple type to store scalar pointer bytes\n","sig":null,"attributes":[{"value":"/ used by tuple type to store scalar pointer bytes","span":{"file_name":"src/pointer/mod.rs","byte_start":63805,"byte_end":63857,"line_start":212,"line_end":212,"column_start":5,"column_end":57}}]},{"kind":"Field","id":{"krate":0,"index":3275},"span":{"file_name":"src/pointer/mod.rs","byte_start":63931,"byte_end":63942,"line_start":215,"line_end":215,"column_start":9,"column_end":20},"name":"parent_type","qualname":"::pointer::NP_Cursor::parent_type","value":"pointer::NP_Cursor_Parent","parent":{"krate":0,"index":3269},"children":[],"decl_id":null,"docs":" if parent is tuple\n","sig":null,"attributes":[{"value":"/ if parent is tuple","span":{"file_name":"src/pointer/mod.rs","byte_start":63900,"byte_end":63922,"line_start":214,"line_end":214,"column_start":5,"column_end":27}}]},{"kind":"Local","id":{"krate":0,"index":1073743530},"span":{"file_name":"src/pointer/mod.rs","byte_start":64034,"byte_end":64043,"line_start":221,"line_end":221,"column_start":16,"column_end":25},"name":"buff_addr","qualname":"::new::buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872618},"span":{"file_name":"src/pointer/mod.rs","byte_start":64052,"byte_end":64063,"line_start":221,"line_end":221,"column_start":34,"column_end":45},"name":"schema_addr","qualname":"::new::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614442},"span":{"file_name":"src/pointer/mod.rs","byte_start":64072,"byte_end":64090,"line_start":221,"line_end":221,"column_start":54,"column_end":72},"name":"parent_schema_addr","qualname":"::new::parent_schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1706},"span":{"file_name":"src/pointer/mod.rs","byte_start":64030,"byte_end":64033,"line_start":221,"line_end":221,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(usize, usize, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new cursor\n","sig":null,"attributes":[{"value":"/ Create a new cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":63995,"byte_end":64018,"line_start":220,"line_end":220,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":1073743531},"span":{"file_name":"src/pointer/mod.rs","byte_start":64391,"byte_end":64395,"line_start":233,"line_end":233,"column_start":23,"column_end":27},"name":"self","qualname":"::get_value::self","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872619},"span":{"file_name":"src/pointer/mod.rs","byte_start":64397,"byte_end":64403,"line_start":233,"line_end":233,"column_start":29,"column_end":35},"name":"memory","qualname":"::get_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1707},"span":{"file_name":"src/pointer/mod.rs","byte_start":64380,"byte_end":64389,"line_start":233,"line_end":233,"column_start":12,"column_end":21},"name":"get_value","qualname":"::get_value","value":"pub fn get_value(&Self, &NP_Memory) -> &'cursor dyn NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":" Get the value bytes of this cursor\n","sig":null,"attributes":[{"value":"/ Get the value bytes of this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":64308,"byte_end":64346,"line_start":231,"line_end":231,"column_start":5,"column_end":43}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":64351,"byte_end":64368,"line_start":232,"line_end":232,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2952791723},"span":{"file_name":"src/pointer/mod.rs","byte_start":64464,"byte_end":64467,"line_start":234,"line_end":234,"column_start":13,"column_end":16},"name":"ptr","qualname":"ptr$HirId { owner: DefId(0:1707 ~ no_proto[2d88]::pointer::{impl#5}::get_value), local_id: 13 }","value":"*const u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455019},"span":{"file_name":"src/pointer/mod.rs","byte_start":65243,"byte_end":65244,"line_start":248,"line_end":248,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1707 ~ no_proto[2d88]::pointer::{impl#5}::get_value), local_id: 109 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743532},"span":{"file_name":"src/pointer/mod.rs","byte_start":65771,"byte_end":65775,"line_start":261,"line_end":261,"column_start":31,"column_end":35},"name":"self","qualname":"::get_value_mut::self","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872620},"span":{"file_name":"src/pointer/mod.rs","byte_start":65777,"byte_end":65783,"line_start":261,"line_end":261,"column_start":37,"column_end":43},"name":"memory","qualname":"::get_value_mut::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1708},"span":{"file_name":"src/pointer/mod.rs","byte_start":65756,"byte_end":65769,"line_start":261,"line_end":261,"column_start":16,"column_end":29},"name":"get_value_mut","qualname":"::get_value_mut","value":"pub fn get_value_mut(&Self, &NP_Memory) -> &'cursor mut dyn NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":" Get the value bytes of this cursor\n","sig":null,"attributes":[{"value":"/ Get the value bytes of this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":65676,"byte_end":65714,"line_start":259,"line_end":259,"column_start":9,"column_end":47}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":65723,"byte_end":65740,"line_start":260,"line_end":260,"column_start":9,"column_end":26}}]},{"kind":"Local","id":{"krate":0,"index":2952791724},"span":{"file_name":"src/pointer/mod.rs","byte_start":65852,"byte_end":65855,"line_start":262,"line_end":262,"column_start":17,"column_end":20},"name":"ptr","qualname":"ptr$HirId { owner: DefId(0:1708 ~ no_proto[2d88]::pointer::{impl#5}::get_value_mut), local_id: 13 }","value":"*mut u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455020},"span":{"file_name":"src/pointer/mod.rs","byte_start":66695,"byte_end":66696,"line_start":276,"line_end":276,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:1708 ~ no_proto[2d88]::pointer::{impl#5}::get_value_mut), local_id: 109 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743533},"span":{"file_name":"src/pointer/mod.rs","byte_start":67280,"byte_end":67286,"line_start":290,"line_end":290,"column_start":19,"column_end":25},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872621},"span":{"file_name":"src/pointer/mod.rs","byte_start":67300,"byte_end":67306,"line_start":290,"line_end":290,"column_start":39,"column_end":45},"name":"cursor","qualname":"::select::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614445},"span":{"file_name":"src/pointer/mod.rs","byte_start":67319,"byte_end":67328,"line_start":290,"line_end":290,"column_start":58,"column_end":67},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437165},"span":{"file_name":"src/pointer/mod.rs","byte_start":67336,"byte_end":67348,"line_start":290,"line_end":290,"column_start":75,"column_end":87},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178989},"span":{"file_name":"src/pointer/mod.rs","byte_start":67356,"byte_end":67360,"line_start":290,"line_end":290,"column_start":95,"column_end":99},"name":"path","qualname":"::select::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1709},"span":{"file_name":"src/pointer/mod.rs","byte_start":67273,"byte_end":67279,"line_start":290,"line_end":290,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(&NP_Memory, NP_Cursor, bool, bool, &[&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Given a starting cursor, select into the buffer at a new location\n \n","sig":null,"attributes":[{"value":"/ Given a starting cursor, select into the buffer at a new location","span":{"file_name":"src/pointer/mod.rs","byte_start":67161,"byte_end":67230,"line_start":287,"line_end":287,"column_start":5,"column_end":74}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":67235,"byte_end":67239,"line_start":288,"line_end":288,"column_start":5,"column_end":9}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":67244,"byte_end":67261,"line_start":289,"line_end":289,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":4026533549},"span":{"file_name":"src/pointer/mod.rs","byte_start":67429,"byte_end":67440,"line_start":292,"line_end":292,"column_start":17,"column_end":28},"name":"loop_cursor","qualname":"loop_cursor$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 15 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355444909},"span":{"file_name":"src/pointer/mod.rs","byte_start":67472,"byte_end":67482,"line_start":294,"line_end":294,"column_start":17,"column_end":27},"name":"path_index","qualname":"path_index$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315821},"span":{"file_name":"src/pointer/mod.rs","byte_start":67518,"byte_end":67528,"line_start":296,"line_end":296,"column_start":17,"column_end":27},"name":"loop_count","qualname":"loop_count$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 23 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862509},"span":{"file_name":"src/pointer/mod.rs","byte_start":67829,"byte_end":67835,"line_start":310,"line_end":310,"column_start":17,"column_end":23},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 76 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242349},"span":{"file_name":"src/pointer/mod.rs","byte_start":68458,"byte_end":68459,"line_start":324,"line_end":324,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 165 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385877677},"span":{"file_name":"src/pointer/mod.rs","byte_start":68863,"byte_end":68865,"line_start":332,"line_end":332,"column_start":29,"column_end":31},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 232 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":276825773},"span":{"file_name":"src/pointer/mod.rs","byte_start":69173,"byte_end":69174,"line_start":339,"line_end":339,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 264 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3128952493},"span":{"file_name":"src/pointer/mod.rs","byte_start":69581,"byte_end":69583,"line_start":347,"line_end":347,"column_start":29,"column_end":31},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 349 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1669334701},"span":{"file_name":"src/pointer/mod.rs","byte_start":70593,"byte_end":70604,"line_start":370,"line_end":370,"column_start":25,"column_end":36},"name":"portal_data","qualname":"portal_data$HirId { owner: DefId(0:1709 ~ no_proto[2d88]::pointer::{impl#5}::select), local_id: 454 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743534},"span":{"file_name":"src/pointer/mod.rs","byte_start":71080,"byte_end":71086,"line_start":384,"line_end":384,"column_start":20,"column_end":26},"name":"cursor","qualname":"::set_max::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872622},"span":{"file_name":"src/pointer/mod.rs","byte_start":71099,"byte_end":71105,"line_start":384,"line_end":384,"column_start":39,"column_end":45},"name":"memory","qualname":"::set_max::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1710},"span":{"file_name":"src/pointer/mod.rs","byte_start":71072,"byte_end":71079,"line_start":384,"line_end":384,"column_start":12,"column_end":19},"name":"set_max","qualname":"::set_max","value":"pub fn set_max(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the max value at this cursor\n","sig":null,"attributes":[{"value":"/ Set the max value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":71024,"byte_end":71060,"line_start":383,"line_end":383,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":2099250862},"span":{"file_name":"src/pointer/mod.rs","byte_start":74001,"byte_end":74006,"line_start":411,"line_end":411,"column_start":25,"column_end":30},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1710 ~ no_proto[2d88]::pointer::{impl#5}::set_max), local_id: 1214 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1889535662},"span":{"file_name":"src/pointer/mod.rs","byte_start":74376,"byte_end":74381,"line_start":419,"line_end":419,"column_start":25,"column_end":30},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:1710 ~ no_proto[2d88]::pointer::{impl#5}::set_max), local_id: 1294 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":111150766},"span":{"file_name":"src/pointer/mod.rs","byte_start":74751,"byte_end":74755,"line_start":427,"line_end":427,"column_start":25,"column_end":29},"name":"list","qualname":"list$HirId { owner: DefId(0:1710 ~ no_proto[2d88]::pointer::{impl#5}::set_max), local_id: 1376 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":228591278},"span":{"file_name":"src/pointer/mod.rs","byte_start":75125,"byte_end":75128,"line_start":435,"line_end":435,"column_start":25,"column_end":28},"name":"map","qualname":"map$HirId { owner: DefId(0:1710 ~ no_proto[2d88]::pointer::{impl#5}::set_max), local_id: 1456 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743535},"span":{"file_name":"src/pointer/mod.rs","byte_start":75479,"byte_end":75485,"line_start":447,"line_end":447,"column_start":20,"column_end":26},"name":"cursor","qualname":"::set_min::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872623},"span":{"file_name":"src/pointer/mod.rs","byte_start":75498,"byte_end":75504,"line_start":447,"line_end":447,"column_start":39,"column_end":45},"name":"memory","qualname":"::set_min::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1711},"span":{"file_name":"src/pointer/mod.rs","byte_start":75471,"byte_end":75478,"line_start":447,"line_end":447,"column_start":12,"column_end":19},"name":"set_min","qualname":"::set_min","value":"pub fn set_min(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the min value at this cursor\n","sig":null,"attributes":[{"value":"/ Set the min value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":75423,"byte_end":75459,"line_start":446,"line_end":446,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":2099250863},"span":{"file_name":"src/pointer/mod.rs","byte_start":78400,"byte_end":78405,"line_start":474,"line_end":474,"column_start":25,"column_end":30},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1711 ~ no_proto[2d88]::pointer::{impl#5}::set_min), local_id: 1214 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1889535663},"span":{"file_name":"src/pointer/mod.rs","byte_start":78775,"byte_end":78780,"line_start":482,"line_end":482,"column_start":25,"column_end":30},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:1711 ~ no_proto[2d88]::pointer::{impl#5}::set_min), local_id: 1294 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":111150767},"span":{"file_name":"src/pointer/mod.rs","byte_start":79151,"byte_end":79155,"line_start":490,"line_end":490,"column_start":25,"column_end":29},"name":"list","qualname":"list$HirId { owner: DefId(0:1711 ~ no_proto[2d88]::pointer::{impl#5}::set_min), local_id: 1376 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":228591279},"span":{"file_name":"src/pointer/mod.rs","byte_start":79525,"byte_end":79528,"line_start":498,"line_end":498,"column_start":25,"column_end":28},"name":"map","qualname":"map$HirId { owner: DefId(0:1711 ~ no_proto[2d88]::pointer::{impl#5}::set_min), local_id: 1456 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743536},"span":{"file_name":"src/pointer/mod.rs","byte_start":80030,"byte_end":80035,"line_start":512,"line_end":512,"column_start":24,"column_end":29},"name":"depth","qualname":"::json_encode::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872624},"span":{"file_name":"src/pointer/mod.rs","byte_start":80044,"byte_end":80050,"line_start":512,"line_end":512,"column_start":38,"column_end":44},"name":"cursor","qualname":"::json_encode::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614448},"span":{"file_name":"src/pointer/mod.rs","byte_start":80064,"byte_end":80070,"line_start":512,"line_end":512,"column_start":58,"column_end":64},"name":"memory","qualname":"::json_encode::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1712},"span":{"file_name":"src/pointer/mod.rs","byte_start":80018,"byte_end":80029,"line_start":512,"line_end":512,"column_start":12,"column_end":23},"name":"json_encode","qualname":"::json_encode","value":"pub fn json_encode(usize, &NP_Cursor, &NP_Memory) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" Exports this pointer and all it's descendants into a JSON object.\n This will create a copy of the underlying data and return default values where there isn't data.\n \n","sig":null,"attributes":[{"value":"/ Exports this pointer and all it's descendants into a JSON object.","span":{"file_name":"src/pointer/mod.rs","byte_start":79823,"byte_end":79892,"line_start":509,"line_end":509,"column_start":5,"column_end":74}},{"value":"/ This will create a copy of the underlying data and return default values where there isn't data.","span":{"file_name":"src/pointer/mod.rs","byte_start":79897,"byte_end":79997,"line_start":510,"line_end":510,"column_start":5,"column_end":105}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":80002,"byte_end":80006,"line_start":511,"line_end":511,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743537},"span":{"file_name":"src/pointer/mod.rs","byte_start":82696,"byte_end":82701,"line_start":550,"line_end":550,"column_start":20,"column_end":25},"name":"depth","qualname":"::compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872625},"span":{"file_name":"src/pointer/mod.rs","byte_start":82710,"byte_end":82721,"line_start":550,"line_end":550,"column_start":34,"column_end":45},"name":"from_cursor","qualname":"::compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614449},"span":{"file_name":"src/pointer/mod.rs","byte_start":82734,"byte_end":82745,"line_start":550,"line_end":550,"column_start":58,"column_end":69},"name":"from_memory","qualname":"::compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437169},"span":{"file_name":"src/pointer/mod.rs","byte_start":82759,"byte_end":82768,"line_start":550,"line_end":550,"column_start":83,"column_end":92},"name":"to_cursor","qualname":"::compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178993},"span":{"file_name":"src/pointer/mod.rs","byte_start":82781,"byte_end":82790,"line_start":550,"line_end":550,"column_start":105,"column_end":114},"name":"to_memory","qualname":"::compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1713},"span":{"file_name":"src/pointer/mod.rs","byte_start":82688,"byte_end":82695,"line_start":550,"line_end":550,"column_start":12,"column_end":19},"name":"compact","qualname":"::compact","value":"pub fn compact(usize, NP_Cursor, &NP_Memory, NP_Cursor, &NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Compact from old cursor and memory into new cursor and memory\n \n","sig":null,"attributes":[{"value":"/ Compact from old cursor and memory into new cursor and memory","span":{"file_name":"src/pointer/mod.rs","byte_start":82602,"byte_end":82667,"line_start":548,"line_end":548,"column_start":5,"column_end":70}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":82672,"byte_end":82676,"line_start":549,"line_end":549,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743538},"span":{"file_name":"src/pointer/mod.rs","byte_start":86328,"byte_end":86334,"line_start":588,"line_end":588,"column_start":31,"column_end":37},"name":"cursor","qualname":"::set_schema_default::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872626},"span":{"file_name":"src/pointer/mod.rs","byte_start":86347,"byte_end":86353,"line_start":588,"line_end":588,"column_start":50,"column_end":56},"name":"memory","qualname":"::set_schema_default::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1714},"span":{"file_name":"src/pointer/mod.rs","byte_start":86309,"byte_end":86327,"line_start":588,"line_end":588,"column_start":12,"column_end":30},"name":"set_schema_default","qualname":"::set_schema_default","value":"pub fn set_schema_default(NP_Cursor, &NP_Memory) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Set default for this value. Not related to the schema default, this is the default value for this data type\n \n","sig":null,"attributes":[{"value":"/ Set default for this value. Not related to the schema default, this is the default value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":86176,"byte_end":86288,"line_start":586,"line_end":586,"column_start":5,"column_end":117}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":86293,"byte_end":86297,"line_start":587,"line_end":587,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1879049906},"span":{"file_name":"src/pointer/mod.rs","byte_start":86406,"byte_end":86412,"line_start":590,"line_end":590,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1714 ~ no_proto[2d88]::pointer::{impl#5}::set_schema_default), local_id: 14 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743539},"span":{"file_name":"src/pointer/mod.rs","byte_start":89678,"byte_end":89683,"line_start":626,"line_end":626,"column_start":26,"column_end":31},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872627},"span":{"file_name":"src/pointer/mod.rs","byte_start":89692,"byte_end":89702,"line_start":626,"line_end":626,"column_start":40,"column_end":50},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614451},"span":{"file_name":"src/pointer/mod.rs","byte_start":89710,"byte_end":89716,"line_start":626,"line_end":626,"column_start":58,"column_end":64},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437171},"span":{"file_name":"src/pointer/mod.rs","byte_start":89729,"byte_end":89735,"line_start":626,"line_end":626,"column_start":77,"column_end":83},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178995},"span":{"file_name":"src/pointer/mod.rs","byte_start":89749,"byte_end":89753,"line_start":626,"line_end":626,"column_start":97,"column_end":101},"name":"json","qualname":"::set_from_json::json","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1715},"span":{"file_name":"src/pointer/mod.rs","byte_start":89664,"byte_end":89677,"line_start":626,"line_end":626,"column_start":12,"column_end":25},"name":"set_from_json","qualname":"::set_from_json","value":"pub fn set_from_json(usize, bool, NP_Cursor, &NP_Memory, &Box)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Set a JSON value into the buffer\n","sig":null,"attributes":[{"value":"/ Set a JSON value into the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":89616,"byte_end":89652,"line_start":625,"line_end":625,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073743540},"span":{"file_name":"src/pointer/mod.rs","byte_start":93415,"byte_end":93421,"line_start":676,"line_end":676,"column_start":19,"column_end":25},"name":"cursor","qualname":"::delete::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872628},"span":{"file_name":"src/pointer/mod.rs","byte_start":93434,"byte_end":93440,"line_start":676,"line_end":676,"column_start":38,"column_end":44},"name":"memory","qualname":"::delete::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1716},"span":{"file_name":"src/pointer/mod.rs","byte_start":93408,"byte_end":93414,"line_start":676,"line_end":676,"column_start":12,"column_end":18},"name":"delete","qualname":"::delete","value":"pub fn delete(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Delete the value at this cursor\n \n Returns `true` if something was deleted, `false` otherwise.\n \n","sig":null,"attributes":[{"value":"/ Delete the value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":93275,"byte_end":93310,"line_start":672,"line_end":672,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93315,"byte_end":93319,"line_start":673,"line_end":673,"column_start":5,"column_end":9}},{"value":"/ Returns `true` if something was deleted, `false` otherwise.","span":{"file_name":"src/pointer/mod.rs","byte_start":93324,"byte_end":93387,"line_start":674,"line_end":674,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93392,"byte_end":93396,"line_start":675,"line_end":675,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743541},"span":{"file_name":"src/pointer/mod.rs","byte_start":93967,"byte_end":93972,"line_start":694,"line_end":694,"column_start":22,"column_end":27},"name":"depth","qualname":"::calc_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872629},"span":{"file_name":"src/pointer/mod.rs","byte_start":93981,"byte_end":93987,"line_start":694,"line_end":694,"column_start":36,"column_end":42},"name":"cursor","qualname":"::calc_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614453},"span":{"file_name":"src/pointer/mod.rs","byte_start":94001,"byte_end":94007,"line_start":694,"line_end":694,"column_start":56,"column_end":62},"name":"memory","qualname":"::calc_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1717},"span":{"file_name":"src/pointer/mod.rs","byte_start":93957,"byte_end":93966,"line_start":694,"line_end":694,"column_start":12,"column_end":21},"name":"calc_size","qualname":"::calc_size","value":"pub fn calc_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Calculate the number of bytes used by this pointer and it's descendants.\n \n","sig":null,"attributes":[{"value":"/ Calculate the number of bytes used by this pointer and it's descendants.","span":{"file_name":"src/pointer/mod.rs","byte_start":93860,"byte_end":93936,"line_start":692,"line_end":692,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93941,"byte_end":93945,"line_start":693,"line_end":693,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1140852405},"span":{"file_name":"src/pointer/mod.rs","byte_start":94141,"byte_end":94146,"line_start":698,"line_end":698,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:1717 ~ no_proto[2d88]::pointer::{impl#5}::calc_size), local_id: 34 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019900597},"span":{"file_name":"src/pointer/mod.rs","byte_start":94188,"byte_end":94196,"line_start":700,"line_end":700,"column_start":13,"column_end":21},"name":"type_key","qualname":"type_key$HirId { owner: DefId(0:1717 ~ no_proto[2d88]::pointer::{impl#5}::calc_size), local_id: 45 }","value":"schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181039797},"span":{"file_name":"src/pointer/mod.rs","byte_start":94280,"byte_end":94289,"line_start":703,"line_end":703,"column_start":13,"column_end":22},"name":"base_size","qualname":"base_size$HirId { owner: DefId(0:1717 ~ no_proto[2d88]::pointer::{impl#5}::calc_size), local_id: 65 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3896510133},"span":{"file_name":"src/pointer/mod.rs","byte_start":94593,"byte_end":94602,"line_start":711,"line_end":711,"column_start":13,"column_end":22},"name":"type_size","qualname":"type_size$HirId { owner: DefId(0:1717 ~ no_proto[2d88]::pointer::{impl#5}::calc_size), local_id: 535 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Trait","id":{"krate":0,"index":1718},"span":{"file_name":"src/pointer/mod.rs","byte_start":97097,"byte_end":97106,"line_start":747,"line_end":747,"column_start":11,"column_end":20},"name":"NP_Scalar","qualname":"::pointer::NP_Scalar","value":"NP_Scalar<'scalar>","parent":null,"children":[{"krate":0,"index":1720},{"krate":0,"index":1721},{"krate":0,"index":1722}],"decl_id":null,"docs":" This trait is used to restrict which types can be set/get in the buffer\n","sig":null,"attributes":[{"value":"/ This trait is used to restrict which types can be set/get in the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":97011,"byte_end":97086,"line_start":746,"line_end":746,"column_start":1,"column_end":76}}]},{"kind":"Method","id":{"krate":0,"index":1720},"span":{"file_name":"src/pointer/mod.rs","byte_start":97287,"byte_end":97301,"line_start":750,"line_end":750,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::pointer::NP_Scalar::schema_default","value":"pub fn schema_default(&'scalar NP_Parsed_Schema) -> Option where\nSelf: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":null,"docs":" Get the default for the schema type\n Does NOT get the `default` property of the schema, but generates a default value based on the schema settings\n","sig":null,"attributes":[{"value":"/ Get the default for the schema type","span":{"file_name":"src/pointer/mod.rs","byte_start":97122,"byte_end":97161,"line_start":748,"line_end":748,"column_start":5,"column_end":44}},{"value":"/ Does NOT get the `default` property of the schema, but generates a default value based on the schema settings","span":{"file_name":"src/pointer/mod.rs","byte_start":97166,"byte_end":97279,"line_start":749,"line_end":749,"column_start":5,"column_end":118}}]},{"kind":"Method","id":{"krate":0,"index":1721},"span":{"file_name":"src/pointer/mod.rs","byte_start":97426,"byte_end":97438,"line_start":753,"line_end":753,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::pointer::NP_Scalar::np_max_value","value":"pub fn np_max_value(&NP_Cursor, &NP_Memory) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":null,"docs":" Get the max value for this data type\n","sig":null,"attributes":[{"value":"/ Get the max value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":97378,"byte_end":97418,"line_start":752,"line_end":752,"column_start":5,"column_end":45}}]},{"kind":"Method","id":{"krate":0,"index":1722},"span":{"file_name":"src/pointer/mod.rs","byte_start":97569,"byte_end":97581,"line_start":756,"line_end":756,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::pointer::NP_Scalar::np_min_value","value":"pub fn np_min_value(&NP_Cursor, &NP_Memory) -> Option where Self: Sized","parent":{"krate":0,"index":1718},"children":[],"decl_id":null,"docs":" Get the min value for this data type\n","sig":null,"attributes":[{"value":"/ Get the min value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":97521,"byte_end":97561,"line_start":755,"line_end":755,"column_start":5,"column_end":45}}]},{"kind":"Trait","id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/mod.rs","byte_start":97823,"byte_end":97831,"line_start":763,"line_end":763,"column_start":11,"column_end":19},"name":"NP_Value","qualname":"::pointer::NP_Value","value":"NP_Value<'value>","parent":null,"children":[{"krate":0,"index":1725},{"krate":0,"index":1726},{"krate":0,"index":1727},{"krate":0,"index":1728},{"krate":0,"index":1729},{"krate":0,"index":1730},{"krate":0,"index":1731},{"krate":0,"index":1732},{"krate":0,"index":1734},{"krate":0,"index":1736},{"krate":0,"index":1737},{"krate":0,"index":1738},{"krate":0,"index":1739},{"krate":0,"index":1740}],"decl_id":null,"docs":" This trait is used to implement types as NoProto buffer types.\n This includes all the type data, encoding and decoding methods.\n","sig":null,"attributes":[{"value":"/ This trait is used to implement types as NoProto buffer types.","span":{"file_name":"src/pointer/mod.rs","byte_start":97663,"byte_end":97729,"line_start":760,"line_end":760,"column_start":1,"column_end":67}},{"value":"/ This includes all the type data, encoding and decoding methods.","span":{"file_name":"src/pointer/mod.rs","byte_start":97730,"byte_end":97797,"line_start":761,"line_end":761,"column_start":1,"column_end":68}}]},{"kind":"Method","id":{"krate":0,"index":1725},"span":{"file_name":"src/pointer/mod.rs","byte_start":97915,"byte_end":97923,"line_start":767,"line_end":767,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::pointer::NP_Value::type_idx","value":"pub fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Get the type information for this type (static)\n \n","sig":null,"attributes":[{"value":"/ Get the type information for this type (static)","span":{"file_name":"src/pointer/mod.rs","byte_start":97847,"byte_end":97898,"line_start":765,"line_end":765,"column_start":5,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":97903,"byte_end":97907,"line_start":766,"line_end":766,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1726},"span":{"file_name":"src/pointer/mod.rs","byte_start":98032,"byte_end":98045,"line_start":771,"line_end":771,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::pointer::NP_Value::self_type_idx","value":"pub fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Get the type information for this type (instance)\n \n","sig":null,"attributes":[{"value":"/ Get the type information for this type (instance)","span":{"file_name":"src/pointer/mod.rs","byte_start":97962,"byte_end":98015,"line_start":769,"line_end":769,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98020,"byte_end":98024,"line_start":770,"line_end":770,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1727},"span":{"file_name":"src/pointer/mod.rs","byte_start":98163,"byte_end":98177,"line_start":775,"line_end":775,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::pointer::NP_Value::schema_to_json","value":"pub fn schema_to_json(&Vec, usize)\n-> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Convert the schema byte array for this type into JSON\n \n","sig":null,"attributes":[{"value":"/ Convert the schema byte array for this type into JSON","span":{"file_name":"src/pointer/mod.rs","byte_start":98089,"byte_end":98146,"line_start":773,"line_end":773,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98151,"byte_end":98155,"line_start":774,"line_end":774,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1728},"span":{"file_name":"src/pointer/mod.rs","byte_start":98301,"byte_end":98314,"line_start":779,"line_end":779,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::pointer::NP_Value::schema_to_idl","value":"pub fn schema_to_idl(&Vec, usize)\n-> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Export schema to IDL\n \n","sig":null,"attributes":[{"value":"/ Export schema to IDL","span":{"file_name":"src/pointer/mod.rs","byte_start":98260,"byte_end":98284,"line_start":777,"line_end":777,"column_start":5,"column_end":29}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98289,"byte_end":98293,"line_start":778,"line_end":778,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1729},"span":{"file_name":"src/pointer/mod.rs","byte_start":98445,"byte_end":98463,"line_start":783,"line_end":783,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::pointer::NP_Value::from_idl_to_schema","value":"pub fn from_idl_to_schema(Vec, &str, &JS_Schema,\n&Vec) -> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Parse JSON schema into schema","sig":null,"attributes":[{"value":"/ Parse JSON schema into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98396,"byte_end":98429,"line_start":781,"line_end":781,"column_start":5,"column_end":38}},{"value":"/","span":{"file_name":"src/pointer/mod.rs","byte_start":98434,"byte_end":98437,"line_start":782,"line_end":782,"column_start":5,"column_end":8}}]},{"kind":"Method","id":{"krate":0,"index":1730},"span":{"file_name":"src/pointer/mod.rs","byte_start":98659,"byte_end":98678,"line_start":787,"line_end":787,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::pointer::NP_Value::from_json_to_schema","value":"pub fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Parse JSON schema into schema","sig":null,"attributes":[{"value":"/ Parse JSON schema into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98610,"byte_end":98643,"line_start":785,"line_end":785,"column_start":5,"column_end":38}},{"value":"/","span":{"file_name":"src/pointer/mod.rs","byte_start":98648,"byte_end":98651,"line_start":786,"line_end":786,"column_start":5,"column_end":8}}]},{"kind":"Method","id":{"krate":0,"index":1731},"span":{"file_name":"src/pointer/mod.rs","byte_start":98848,"byte_end":98868,"line_start":791,"line_end":791,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::pointer::NP_Value::from_bytes_to_schema","value":"pub fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Parse bytes into schema\n \n","sig":null,"attributes":[{"value":"/ Parse bytes into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98804,"byte_end":98831,"line_start":789,"line_end":789,"column_start":5,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98836,"byte_end":98840,"line_start":790,"line_end":790,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743556},"span":{"file_name":"src/pointer/mod.rs","byte_start":99050,"byte_end":99057,"line_start":795,"line_end":795,"column_start":24,"column_end":31},"name":"_cursor","qualname":"::pointer::NP_Value::set_value::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872644},"span":{"file_name":"src/pointer/mod.rs","byte_start":99070,"byte_end":99077,"line_start":795,"line_end":795,"column_start":44,"column_end":51},"name":"_memory","qualname":"::pointer::NP_Value::set_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614468},"span":{"file_name":"src/pointer/mod.rs","byte_start":99096,"byte_end":99102,"line_start":795,"line_end":795,"column_start":70,"column_end":76},"name":"_value","qualname":"::pointer::NP_Value::set_value::_value","value":"Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1732},"span":{"file_name":"src/pointer/mod.rs","byte_start":99034,"byte_end":99043,"line_start":795,"line_end":795,"column_start":8,"column_end":17},"name":"set_value","qualname":"::pointer::NP_Value::set_value","value":"pub fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Set the value of this scalar into the buffer\n \n","sig":null,"attributes":[{"value":"/ Set the value of this scalar into the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":98969,"byte_end":99017,"line_start":793,"line_end":793,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99022,"byte_end":99026,"line_start":794,"line_end":794,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308100},"span":{"file_name":"src/pointer/mod.rs","byte_start":99180,"byte_end":99187,"line_start":796,"line_end":796,"column_start":13,"column_end":20},"name":"message","qualname":"message$HirId { owner: DefId(0:1732 ~ no_proto[2d88]::pointer::NP_Value::set_value), local_id: 12 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1734},"span":{"file_name":"src/pointer/mod.rs","byte_start":99337,"byte_end":99350,"line_start":802,"line_end":802,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::pointer::NP_Value::set_from_json","value":"pub fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory,\n&Box) -> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Set value from JSON\n \n","sig":null,"attributes":[{"value":"/ Set value from JSON","span":{"file_name":"src/pointer/mod.rs","byte_start":99297,"byte_end":99320,"line_start":800,"line_end":800,"column_start":5,"column_end":28}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99325,"byte_end":99329,"line_start":801,"line_end":801,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743560},"span":{"file_name":"src/pointer/mod.rs","byte_start":99593,"byte_end":99600,"line_start":806,"line_end":806,"column_start":19,"column_end":26},"name":"_cursor","qualname":"::pointer::NP_Value::into_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872648},"span":{"file_name":"src/pointer/mod.rs","byte_start":99614,"byte_end":99621,"line_start":806,"line_end":806,"column_start":40,"column_end":47},"name":"_memory","qualname":"::pointer::NP_Value::into_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1736},"span":{"file_name":"src/pointer/mod.rs","byte_start":99582,"byte_end":99592,"line_start":806,"line_end":806,"column_start":8,"column_end":18},"name":"into_value","qualname":"::pointer::NP_Value::into_value","value":"pub fn into_value(&NP_Cursor, &'value NP_Memory)\n-> Result, NP_Error> where Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Pull the data from the buffer and convert into type\n \n","sig":null,"attributes":[{"value":"/ Pull the data from the buffer and convert into type","span":{"file_name":"src/pointer/mod.rs","byte_start":99510,"byte_end":99565,"line_start":804,"line_end":804,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99570,"byte_end":99574,"line_start":805,"line_end":805,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1342179016},"span":{"file_name":"src/pointer/mod.rs","byte_start":99708,"byte_end":99715,"line_start":807,"line_end":807,"column_start":13,"column_end":20},"name":"message","qualname":"message$HirId { owner: DefId(0:1736 ~ no_proto[2d88]::pointer::NP_Value::into_value), local_id: 10 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1737},"span":{"file_name":"src/pointer/mod.rs","byte_start":99878,"byte_end":99891,"line_start":813,"line_end":813,"column_start":8,"column_end":21},"name":"default_value","qualname":"::pointer::NP_Value::default_value","value":"pub fn default_value(usize, usize, &'value Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Get the default value from the schema\n \n","sig":null,"attributes":[{"value":"/ Get the default value from the schema","span":{"file_name":"src/pointer/mod.rs","byte_start":99820,"byte_end":99861,"line_start":811,"line_end":811,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99866,"byte_end":99870,"line_start":812,"line_end":812,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1738},"span":{"file_name":"src/pointer/mod.rs","byte_start":100088,"byte_end":100095,"line_start":817,"line_end":817,"column_start":8,"column_end":15},"name":"to_json","qualname":"::pointer::NP_Value::to_json","value":"pub fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Convert this type into a JSON value (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Convert this type into a JSON value (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100004,"byte_end":100071,"line_start":815,"line_end":815,"column_start":5,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100076,"byte_end":100080,"line_start":816,"line_end":816,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1739},"span":{"file_name":"src/pointer/mod.rs","byte_start":100275,"byte_end":100283,"line_start":821,"line_end":821,"column_start":8,"column_end":16},"name":"get_size","qualname":"::pointer::NP_Value::get_size","value":"pub fn get_size(usize, &'value NP_Cursor, &'value NP_Memory)\n-> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Calculate the size of this pointer and it's children (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Calculate the size of this pointer and it's children (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100174,"byte_end":100258,"line_start":819,"line_end":819,"column_start":5,"column_end":89}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100263,"byte_end":100267,"line_start":820,"line_end":820,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743564},"span":{"file_name":"src/pointer/mod.rs","byte_start":100509,"byte_end":100515,"line_start":825,"line_end":825,"column_start":19,"column_end":25},"name":"_depth","qualname":"::pointer::NP_Value::do_compact::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872652},"span":{"file_name":"src/pointer/mod.rs","byte_start":100524,"byte_end":100535,"line_start":825,"line_end":825,"column_start":34,"column_end":45},"name":"from_cursor","qualname":"::pointer::NP_Value::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614476},"span":{"file_name":"src/pointer/mod.rs","byte_start":100548,"byte_end":100559,"line_start":825,"line_end":825,"column_start":58,"column_end":69},"name":"from_memory","qualname":"::pointer::NP_Value::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437196},"span":{"file_name":"src/pointer/mod.rs","byte_start":100580,"byte_end":100589,"line_start":825,"line_end":825,"column_start":90,"column_end":99},"name":"to_cursor","qualname":"::pointer::NP_Value::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179020},"span":{"file_name":"src/pointer/mod.rs","byte_start":100602,"byte_end":100611,"line_start":825,"line_end":825,"column_start":112,"column_end":121},"name":"to_memory","qualname":"::pointer::NP_Value::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1740},"span":{"file_name":"src/pointer/mod.rs","byte_start":100498,"byte_end":100508,"line_start":825,"line_end":825,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::pointer::NP_Value::do_compact","value":"pub fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":null,"docs":" Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100389,"byte_end":100481,"line_start":823,"line_end":823,"column_start":5,"column_end":97}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100486,"byte_end":100490,"line_start":824,"line_end":824,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1677723340},"span":{"file_name":"src/pointer/mod.rs","byte_start":100771,"byte_end":100772,"line_start":828,"line_end":828,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1740 ~ no_proto[2d88]::pointer::NP_Value::do_compact), local_id: 38 }","value":"Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1741},"span":{"file_name":"src/collection/mod.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"collection","qualname":"::collection","value":"src/collection/mod.rs","parent":null,"children":[{"krate":0,"index":1742},{"krate":0,"index":1865},{"krate":0,"index":1965},{"krate":0,"index":2083}],"decl_id":null,"docs":" Collections: NP_Struct, NP_Tuple, NP_List & NP_Map\n","sig":null,"attributes":[{"value":"/ Collections: NP_Struct, NP_Tuple, NP_List & NP_Map","span":{"file_name":"src/collection/mod.rs","byte_start":366705,"byte_end":366759,"line_start":1,"line_end":1,"column_start":1,"column_end":55}}]},{"kind":"Mod","id":{"krate":0,"index":1742},"span":{"file_name":"src/collection/struc.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"struc","qualname":"::collection::struc","value":"src/collection/struc.rs","parent":null,"children":[{"krate":0,"index":1743},{"krate":0,"index":1746},{"krate":0,"index":1747},{"krate":0,"index":1750},{"krate":0,"index":1751},{"krate":0,"index":1754},{"krate":0,"index":1757},{"krate":0,"index":1760},{"krate":0,"index":1761},{"krate":0,"index":1762},{"krate":0,"index":1765},{"krate":0,"index":1768},{"krate":0,"index":1769},{"krate":0,"index":1772},{"krate":0,"index":1775},{"krate":0,"index":1778},{"krate":0,"index":1779},{"krate":0,"index":1782},{"krate":0,"index":1783},{"krate":0,"index":1784},{"krate":0,"index":1787},{"krate":0,"index":1788},{"krate":0,"index":1791},{"krate":0,"index":1792},{"krate":0,"index":1793},{"krate":0,"index":1796},{"krate":0,"index":1797},{"krate":0,"index":1800},{"krate":0,"index":1803},{"krate":0,"index":1804},{"krate":0,"index":1807},{"krate":0,"index":1810},{"krate":0,"index":1811},{"krate":0,"index":1814},{"krate":0,"index":1817},{"krate":0,"index":1820},{"krate":0,"index":1823},{"krate":0,"index":1826},{"krate":0,"index":1829},{"krate":0,"index":1830},{"krate":0,"index":3282},{"krate":0,"index":3289},{"krate":0,"index":1833},{"krate":0,"index":1847}],"decl_id":null,"docs":" Struct data type\n","sig":null,"attributes":[{"value":"/ Struct data type","span":{"file_name":"src/collection/mod.rs","byte_start":366761,"byte_end":366781,"line_start":3,"line_end":3,"column_start":1,"column_end":21}}]},{"kind":"Struct","id":{"krate":0,"index":3282},"span":{"file_name":"src/collection/struc.rs","byte_start":367565,"byte_end":367574,"line_start":19,"line_end":19,"column_start":12,"column_end":21},"name":"NP_Struct","qualname":"::collection::struc::NP_Struct","value":"NP_Struct { index, v_table, v_table_addr, v_table_index, table }","parent":null,"children":[{"krate":0,"index":3284},{"krate":0,"index":3285},{"krate":0,"index":3286},{"krate":0,"index":3287},{"krate":0,"index":3288}],"decl_id":null,"docs":" The data type for tables in NoProto buffers.\n \n","sig":null,"attributes":[{"value":"/ The data type for tables in NoProto buffers.","span":{"file_name":"src/collection/struc.rs","byte_start":367468,"byte_end":367516,"line_start":15,"line_end":15,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/collection/struc.rs","byte_start":367517,"byte_end":367521,"line_start":16,"line_end":16,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3284},"span":{"file_name":"src/collection/struc.rs","byte_start":367589,"byte_end":367594,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::struc::NP_Struct::index","value":"usize","parent":{"krate":0,"index":3282},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3285},"span":{"file_name":"src/collection/struc.rs","byte_start":367607,"byte_end":367614,"line_start":21,"line_end":21,"column_start":5,"column_end":12},"name":"v_table","qualname":"::collection::struc::NP_Struct::v_table","value":"core::option::Option<&'table mut pointer::NP_Vtable>","parent":{"krate":0,"index":3282},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3286},"span":{"file_name":"src/collection/struc.rs","byte_start":367651,"byte_end":367663,"line_start":22,"line_end":22,"column_start":5,"column_end":17},"name":"v_table_addr","qualname":"::collection::struc::NP_Struct::v_table_addr","value":"usize","parent":{"krate":0,"index":3282},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3287},"span":{"file_name":"src/collection/struc.rs","byte_start":367676,"byte_end":367689,"line_start":23,"line_end":23,"column_start":5,"column_end":18},"name":"v_table_index","qualname":"::collection::struc::NP_Struct::v_table_index","value":"usize","parent":{"krate":0,"index":3282},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3288},"span":{"file_name":"src/collection/struc.rs","byte_start":367702,"byte_end":367707,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"name":"table","qualname":"::collection::struc::NP_Struct::table","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3282},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743659},"span":{"file_name":"src/collection/struc.rs","byte_start":367827,"byte_end":367839,"line_start":31,"line_end":31,"column_start":23,"column_end":35},"name":"table_cursor","qualname":"::select::table_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872747},"span":{"file_name":"src/collection/struc.rs","byte_start":367852,"byte_end":367858,"line_start":31,"line_end":31,"column_start":48,"column_end":54},"name":"schema","qualname":"::select::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614571},"span":{"file_name":"src/collection/struc.rs","byte_start":367880,"byte_end":367883,"line_start":31,"line_end":31,"column_start":76,"column_end":79},"name":"key","qualname":"::select::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437291},"span":{"file_name":"src/collection/struc.rs","byte_start":367891,"byte_end":367900,"line_start":31,"line_end":31,"column_start":87,"column_end":96},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179115},"span":{"file_name":"src/collection/struc.rs","byte_start":367908,"byte_end":367920,"line_start":31,"line_end":31,"column_start":104,"column_end":116},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308203},"span":{"file_name":"src/collection/struc.rs","byte_start":367928,"byte_end":367934,"line_start":31,"line_end":31,"column_start":124,"column_end":130},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1835},"span":{"file_name":"src/collection/struc.rs","byte_start":367816,"byte_end":367822,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &NP_Parsed_Schema, &str, bool, bool, &NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":367787,"byte_end":367804,"line_start":30,"line_end":30,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3623880491},"span":{"file_name":"src/collection/struc.rs","byte_start":368013,"byte_end":368017,"line_start":33,"line_end":33,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 27 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336171},"span":{"file_name":"src/collection/struc.rs","byte_start":368118,"byte_end":368121,"line_start":35,"line_end":35,"column_start":44,"column_end":47},"name":"val","qualname":"$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 45 }::val","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201328427},"span":{"file_name":"src/collection/struc.rs","byte_start":368162,"byte_end":368163,"line_start":36,"line_end":36,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 48 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583693099},"span":{"file_name":"src/collection/struc.rs","byte_start":368349,"byte_end":368356,"line_start":42,"line_end":42,"column_start":21,"column_end":28},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 89 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148779},"span":{"file_name":"src/collection/struc.rs","byte_start":368413,"byte_end":368424,"line_start":43,"line_end":43,"column_start":21,"column_end":32},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 97 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842411},"span":{"file_name":"src/collection/struc.rs","byte_start":368507,"byte_end":368518,"line_start":45,"line_end":45,"column_start":25,"column_end":36},"name":"table_value","qualname":"table_value$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 106 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110419755},"span":{"file_name":"src/collection/struc.rs","byte_start":368937,"byte_end":368948,"line_start":57,"line_end":57,"column_start":25,"column_end":36},"name":"seek_vtable","qualname":"seek_vtable$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 175 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634024747},"span":{"file_name":"src/collection/struc.rs","byte_start":368983,"byte_end":368997,"line_start":58,"line_end":58,"column_start":25,"column_end":39},"name":"vtable_address","qualname":"vtable_address$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 185 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124075307},"span":{"file_name":"src/collection/struc.rs","byte_start":369101,"byte_end":369109,"line_start":61,"line_end":61,"column_start":29,"column_end":37},"name":"loop_max","qualname":"loop_max$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 194 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600470315},"span":{"file_name":"src/collection/struc.rs","byte_start":369215,"byte_end":369226,"line_start":63,"line_end":63,"column_start":29,"column_end":40},"name":"this_vtable","qualname":"this_vtable$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 217 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":117442347},"span":{"file_name":"src/collection/struc.rs","byte_start":369299,"byte_end":369310,"line_start":64,"line_end":64,"column_start":29,"column_end":40},"name":"next_vtable","qualname":"next_vtable$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 224 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115686699},"span":{"file_name":"src/collection/struc.rs","byte_start":369875,"byte_end":369887,"line_start":80,"line_end":80,"column_start":21,"column_end":33},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:1835 ~ no_proto[2d88]::collection::struc::{impl#0}::select), local_id: 322 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743661},"span":{"file_name":"src/collection/struc.rs","byte_start":370157,"byte_end":370169,"line_start":90,"line_end":90,"column_start":37,"column_end":49},"name":"table_cursor","qualname":"::make_first_vtable::table_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872749},"span":{"file_name":"src/collection/struc.rs","byte_start":370182,"byte_end":370188,"line_start":90,"line_end":90,"column_start":62,"column_end":68},"name":"memory","qualname":"::make_first_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1837},"span":{"file_name":"src/collection/struc.rs","byte_start":370132,"byte_end":370149,"line_start":90,"line_end":90,"column_start":12,"column_end":29},"name":"make_first_vtable","qualname":"::make_first_vtable","value":"pub fn make_first_vtable<'make>(NP_Cursor, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370103,"byte_end":370120,"line_start":89,"line_end":89,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2214594349},"span":{"file_name":"src/collection/struc.rs","byte_start":370254,"byte_end":370271,"line_start":92,"line_end":92,"column_start":13,"column_end":30},"name":"first_vtable_addr","qualname":"first_vtable_addr$HirId { owner: DefId(0:1837 ~ no_proto[2d88]::collection::struc::{impl#0}::make_first_vtable), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743664},"span":{"file_name":"src/collection/struc.rs","byte_start":370503,"byte_end":370514,"line_start":100,"line_end":100,"column_start":36,"column_end":47},"name":"prev_vtable","qualname":"::make_next_vtable::prev_vtable","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872752},"span":{"file_name":"src/collection/struc.rs","byte_start":370538,"byte_end":370544,"line_start":100,"line_end":100,"column_start":71,"column_end":77},"name":"memory","qualname":"::make_next_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1840},"span":{"file_name":"src/collection/struc.rs","byte_start":370479,"byte_end":370495,"line_start":100,"line_end":100,"column_start":12,"column_end":28},"name":"make_next_vtable","qualname":"::make_next_vtable","value":"pub fn make_next_vtable<'make>(&'make mut NP_Vtable, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370450,"byte_end":370467,"line_start":99,"line_end":99,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2214594352},"span":{"file_name":"src/collection/struc.rs","byte_start":370606,"byte_end":370617,"line_start":102,"line_end":102,"column_start":13,"column_end":24},"name":"vtable_addr","qualname":"vtable_addr$HirId { owner: DefId(0:1840 ~ no_proto[2d88]::collection::struc::{impl#0}::make_next_vtable), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743667},"span":{"file_name":"src/collection/struc.rs","byte_start":370798,"byte_end":370804,"line_start":110,"line_end":110,"column_start":21,"column_end":27},"name":"cursor","qualname":"::new_iter::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872755},"span":{"file_name":"src/collection/struc.rs","byte_start":370818,"byte_end":370824,"line_start":110,"line_end":110,"column_start":41,"column_end":47},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1843},"span":{"file_name":"src/collection/struc.rs","byte_start":370789,"byte_end":370797,"line_start":110,"line_end":110,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &'table NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370760,"byte_end":370777,"line_start":109,"line_end":109,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2952791859},"span":{"file_name":"src/collection/struc.rs","byte_start":370868,"byte_end":370879,"line_start":112,"line_end":112,"column_start":13,"column_end":24},"name":"table_value","qualname":"table_value$HirId { owner: DefId(0:1843 ~ no_proto[2d88]::collection::struc::{impl#0}::new_iter), local_id: 13 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315955},"span":{"file_name":"src/collection/struc.rs","byte_start":370921,"byte_end":370931,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:1843 ~ no_proto[2d88]::collection::struc::{impl#0}::new_iter), local_id: 23 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743668},"span":{"file_name":"src/collection/struc.rs","byte_start":371342,"byte_end":371354,"line_start":130,"line_end":130,"column_start":32,"column_end":44},"name":"v_table_addr","qualname":"::get_vtable::v_table_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872756},"span":{"file_name":"src/collection/struc.rs","byte_start":371363,"byte_end":371369,"line_start":130,"line_end":130,"column_start":53,"column_end":59},"name":"memory","qualname":"::get_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1844},"span":{"file_name":"src/collection/struc.rs","byte_start":371322,"byte_end":371332,"line_start":130,"line_end":130,"column_start":12,"column_end":22},"name":"get_vtable","qualname":"::get_vtable","value":"pub fn get_vtable<'vtable>(usize, &'vtable NP_Memory)\n-> &'vtable mut NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":371293,"byte_end":371310,"line_start":129,"line_end":129,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743670},"span":{"file_name":"src/collection/struc.rs","byte_start":371761,"byte_end":371765,"line_start":139,"line_end":139,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872758},"span":{"file_name":"src/collection/struc.rs","byte_start":371767,"byte_end":371773,"line_start":139,"line_end":139,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1846},"span":{"file_name":"src/collection/struc.rs","byte_start":371746,"byte_end":371755,"line_start":139,"line_end":139,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &'table NP_Memory)\n-> Option<(usize, &'table str, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":371717,"byte_end":371734,"line_start":138,"line_end":138,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2550138678},"span":{"file_name":"src/collection/struc.rs","byte_start":371860,"byte_end":371864,"line_start":141,"line_end":141,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 25 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199350},"span":{"file_name":"src/collection/struc.rs","byte_start":372050,"byte_end":372057,"line_start":147,"line_end":147,"column_start":13,"column_end":20},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154118454},"span":{"file_name":"src/collection/struc.rs","byte_start":372115,"byte_end":372126,"line_start":148,"line_end":148,"column_start":13,"column_end":24},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 61 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257654},"span":{"file_name":"src/collection/struc.rs","byte_start":372333,"byte_end":372339,"line_start":153,"line_end":153,"column_start":22,"column_end":28},"name":"vtable","qualname":"vtable$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 81 }","value":"&&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564022},"span":{"file_name":"src/collection/struc.rs","byte_start":372370,"byte_end":372381,"line_start":154,"line_end":154,"column_start":25,"column_end":36},"name":"next_vtable","qualname":"next_vtable$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 93 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103786806},"span":{"file_name":"src/collection/struc.rs","byte_start":372817,"byte_end":372827,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"name":"this_index","qualname":"this_index$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 157 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":754976566},"span":{"file_name":"src/collection/struc.rs","byte_start":372920,"byte_end":372932,"line_start":171,"line_end":171,"column_start":17,"column_end":29},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:1846 ~ no_proto[2d88]::collection::struc::{impl#0}::step_iter), local_id: 180 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743673},"span":{"file_name":"src/collection/struc.rs","byte_start":373320,"byte_end":373325,"line_start":182,"line_end":182,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872761},"span":{"file_name":"src/collection/struc.rs","byte_start":373333,"byte_end":373339,"line_start":182,"line_end":182,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614585},"span":{"file_name":"src/collection/struc.rs","byte_start":373353,"byte_end":373359,"line_start":182,"line_end":182,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1849},"span":{"file_name":"src/collection/struc.rs","byte_start":373312,"byte_end":373319,"line_start":182,"line_end":182,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961401},"span":{"file_name":"src/collection/struc.rs","byte_start":373405,"byte_end":373412,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1849 ~ no_proto[2d88]::collection::struc::{impl#1}::to_json), local_id: 18 }","value":"[closure@src/collection/struc.rs:183:23: 183:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287993},"span":{"file_name":"src/collection/struc.rs","byte_start":373535,"byte_end":373543,"line_start":187,"line_end":187,"column_start":17,"column_end":25},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1849 ~ no_proto[2d88]::collection::struc::{impl#1}::to_json), local_id: 42 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763897},"span":{"file_name":"src/collection/struc.rs","byte_start":373577,"byte_end":373582,"line_start":189,"line_end":189,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1849 ~ no_proto[2d88]::collection::struc::{impl#1}::to_json), local_id: 56 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1851},"span":{"file_name":"src/collection/struc.rs","byte_start":374018,"byte_end":374026,"line_start":202,"line_end":202,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743676},"span":{"file_name":"src/collection/struc.rs","byte_start":374117,"byte_end":374121,"line_start":203,"line_end":203,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1852},"span":{"file_name":"src/collection/struc.rs","byte_start":374102,"byte_end":374115,"line_start":203,"line_end":203,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743677},"span":{"file_name":"src/collection/struc.rs","byte_start":374217,"byte_end":374222,"line_start":205,"line_end":205,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872765},"span":{"file_name":"src/collection/struc.rs","byte_start":374231,"byte_end":374241,"line_start":205,"line_end":205,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614589},"span":{"file_name":"src/collection/struc.rs","byte_start":374249,"byte_end":374255,"line_start":205,"line_end":205,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437309},"span":{"file_name":"src/collection/struc.rs","byte_start":374268,"byte_end":374274,"line_start":205,"line_end":205,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179133},"span":{"file_name":"src/collection/struc.rs","byte_start":374293,"byte_end":374298,"line_start":205,"line_end":205,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1853},"span":{"file_name":"src/collection/struc.rs","byte_start":374197,"byte_end":374210,"line_start":205,"line_end":205,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267773},"span":{"file_name":"src/collection/struc.rs","byte_start":374387,"byte_end":374391,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1853 ~ no_proto[2d88]::collection::struc::{impl#1}::set_from_json), local_id: 30 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603981629},"span":{"file_name":"src/collection/struc.rs","byte_start":374492,"byte_end":374495,"line_start":209,"line_end":209,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1853 ~ no_proto[2d88]::collection::struc::{impl#1}::set_from_json), local_id: 36 }","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941181},"span":{"file_name":"src/collection/struc.rs","byte_start":374536,"byte_end":374544,"line_start":210,"line_end":210,"column_start":17,"column_end":25},"name":"json_col","qualname":"json_col$HirId { owner: DefId(0:1853 ~ no_proto[2d88]::collection::struc::{impl#1}::set_from_json), local_id: 54 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100605},"span":{"file_name":"src/collection/struc.rs","byte_start":374836,"byte_end":374837,"line_start":215,"line_end":215,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:1853 ~ no_proto[2d88]::collection::struc::{impl#1}::set_from_json), local_id: 104 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3707766589},"span":{"file_name":"src/collection/struc.rs","byte_start":375222,"byte_end":375223,"line_start":224,"line_end":224,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1853 ~ no_proto[2d88]::collection::struc::{impl#1}::set_from_json), local_id: 187 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743679},"span":{"file_name":"src/collection/struc.rs","byte_start":375657,"byte_end":375663,"line_start":240,"line_end":240,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872767},"span":{"file_name":"src/collection/struc.rs","byte_start":375688,"byte_end":375695,"line_start":240,"line_end":240,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614591},"span":{"file_name":"src/collection/struc.rs","byte_start":375704,"byte_end":375709,"line_start":240,"line_end":240,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1855},"span":{"file_name":"src/collection/struc.rs","byte_start":375632,"byte_end":375652,"line_start":240,"line_end":240,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219583},"span":{"file_name":"src/collection/struc.rs","byte_start":375765,"byte_end":375777,"line_start":241,"line_end":241,"column_start":13,"column_end":25},"name":"fields_count","qualname":"fields_count$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939525951},"span":{"file_name":"src/collection/struc.rs","byte_start":375817,"byte_end":375830,"line_start":243,"line_end":243,"column_start":17,"column_end":30},"name":"parsed_fields","qualname":"parsed_fields$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 28 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336191},"span":{"file_name":"src/collection/struc.rs","byte_start":375880,"byte_end":375897,"line_start":245,"line_end":245,"column_start":13,"column_end":30},"name":"table_schema_addr","qualname":"table_schema_addr$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 35 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434943},"span":{"file_name":"src/collection/struc.rs","byte_start":376212,"byte_end":376225,"line_start":254,"line_end":254,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 91 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1174406975},"span":{"file_name":"src/collection/struc.rs","byte_start":376253,"byte_end":376259,"line_start":256,"line_end":256,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 98 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842431},"span":{"file_name":"src/collection/struc.rs","byte_start":376292,"byte_end":376300,"line_start":258,"line_end":258,"column_start":17,"column_end":25},"name":"hash_map","qualname":"hash_map$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 106 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771753791},"span":{"file_name":"src/collection/struc.rs","byte_start":376328,"byte_end":376329,"line_start":260,"line_end":260,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 116 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2701133631},"span":{"file_name":"src/collection/struc.rs","byte_start":376376,"byte_end":376388,"line_start":261,"line_end":261,"column_start":17,"column_end":29},"name":"col_name_len","qualname":"col_name_len$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 133 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493174079},"span":{"file_name":"src/collection/struc.rs","byte_start":376431,"byte_end":376445,"line_start":262,"line_end":262,"column_start":17,"column_end":31},"name":"col_name_bytes","qualname":"col_name_bytes$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 154 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694500671},"span":{"file_name":"src/collection/struc.rs","byte_start":376515,"byte_end":376523,"line_start":263,"line_end":263,"column_start":17,"column_end":25},"name":"col_name","qualname":"col_name$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 166 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946239},"span":{"file_name":"src/collection/struc.rs","byte_start":376643,"byte_end":376654,"line_start":267,"line_end":267,"column_start":17,"column_end":28},"name":"schema_size","qualname":"schema_size$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 198 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3003123519},"span":{"file_name":"src/collection/struc.rs","byte_start":376785,"byte_end":376795,"line_start":272,"line_end":272,"column_start":17,"column_end":27},"name":"field_addr","qualname":"field_addr$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 205 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599423},"span":{"file_name":"src/collection/struc.rs","byte_start":376839,"byte_end":376845,"line_start":273,"line_end":273,"column_start":21,"column_end":27},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1855 ~ no_proto[2d88]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 222 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743680},"span":{"file_name":"src/collection/struc.rs","byte_start":377744,"byte_end":377750,"line_start":294,"line_end":294,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872768},"span":{"file_name":"src/collection/struc.rs","byte_start":377776,"byte_end":377783,"line_start":294,"line_end":294,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1856},"span":{"file_name":"src/collection/struc.rs","byte_start":377729,"byte_end":377743,"line_start":294,"line_end":294,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308224},"span":{"file_name":"src/collection/struc.rs","byte_start":377838,"byte_end":377849,"line_start":295,"line_end":295,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1856 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070272},"span":{"file_name":"src/collection/struc.rs","byte_start":377975,"byte_end":377979,"line_start":298,"line_end":298,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1856 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187672896},"span":{"file_name":"src/collection/struc.rs","byte_start":378058,"byte_end":378064,"line_start":300,"line_end":300,"column_start":13,"column_end":19},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1856 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_json), local_id: 125 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556288},"span":{"file_name":"src/collection/struc.rs","byte_start":378105,"byte_end":378110,"line_start":300,"line_end":300,"column_start":60,"column_end":65},"name":"field","qualname":"$HirId { owner: DefId(0:1856 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_json), local_id: 121 }::field","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862656},"span":{"file_name":"src/collection/struc.rs","byte_start":378134,"byte_end":378138,"line_start":301,"line_end":301,"column_start":21,"column_end":25},"name":"cols","qualname":"cols$HirId { owner: DefId(0:1856 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_json), local_id: 76 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743682},"span":{"file_name":"src/collection/struc.rs","byte_start":378539,"byte_end":378544,"line_start":313,"line_end":313,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872770},"span":{"file_name":"src/collection/struc.rs","byte_start":378552,"byte_end":378558,"line_start":313,"line_end":313,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614594},"span":{"file_name":"src/collection/struc.rs","byte_start":378572,"byte_end":378578,"line_start":313,"line_end":313,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1858},"span":{"file_name":"src/collection/struc.rs","byte_start":378530,"byte_end":378538,"line_start":313,"line_end":313,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961410},"span":{"file_name":"src/collection/struc.rs","byte_start":378641,"byte_end":378648,"line_start":315,"line_end":315,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/collection/struc.rs:315:23: 315:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207106},"span":{"file_name":"src/collection/struc.rs","byte_start":378783,"byte_end":378791,"line_start":321,"line_end":321,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070274},"span":{"file_name":"src/collection/struc.rs","byte_start":378819,"byte_end":378829,"line_start":323,"line_end":323,"column_start":17,"column_end":27},"name":"nex_vtable","qualname":"nex_vtable$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 50 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941186},"span":{"file_name":"src/collection/struc.rs","byte_start":378885,"byte_end":378893,"line_start":324,"line_end":324,"column_start":17,"column_end":25},"name":"loop_max","qualname":"loop_max$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 54 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257666},"span":{"file_name":"src/collection/struc.rs","byte_start":378996,"byte_end":379002,"line_start":327,"line_end":327,"column_start":17,"column_end":23},"name":"vtable","qualname":"vtable$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 81 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503318338},"span":{"file_name":"src/collection/struc.rs","byte_start":379150,"byte_end":379155,"line_start":332,"line_end":332,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 120 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936130},"span":{"file_name":"src/collection/struc.rs","byte_start":379324,"byte_end":379332,"line_start":336,"line_end":336,"column_start":21,"column_end":29},"name":"add_size","qualname":"add_size$HirId { owner: DefId(0:1858 ~ no_proto[2d88]::collection::struc::{impl#1}::get_size), local_id: 174 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743684},"span":{"file_name":"src/collection/struc.rs","byte_start":379635,"byte_end":379640,"line_start":349,"line_end":349,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872772},"span":{"file_name":"src/collection/struc.rs","byte_start":379648,"byte_end":379659,"line_start":349,"line_end":349,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614596},"span":{"file_name":"src/collection/struc.rs","byte_start":379672,"byte_end":379683,"line_start":349,"line_end":349,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437316},"span":{"file_name":"src/collection/struc.rs","byte_start":379708,"byte_end":379717,"line_start":349,"line_end":349,"column_start":92,"column_end":101},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179140},"span":{"file_name":"src/collection/struc.rs","byte_start":379730,"byte_end":379739,"line_start":349,"line_end":349,"column_start":114,"column_end":123},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1860},"span":{"file_name":"src/collection/struc.rs","byte_start":379624,"byte_end":379634,"line_start":349,"line_end":349,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445060},"span":{"file_name":"src/collection/struc.rs","byte_start":379833,"byte_end":379843,"line_start":351,"line_end":351,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733572},"span":{"file_name":"src/collection/struc.rs","byte_start":380054,"byte_end":380069,"line_start":358,"line_end":358,"column_start":13,"column_end":28},"name":"to_cursor_value","qualname":"to_cursor_value$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 74 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704644932},"span":{"file_name":"src/collection/struc.rs","byte_start":380120,"byte_end":380136,"line_start":359,"line_end":359,"column_start":17,"column_end":33},"name":"last_real_vtable","qualname":"last_real_vtable$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 84 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436209476},"span":{"file_name":"src/collection/struc.rs","byte_start":380198,"byte_end":380213,"line_start":360,"line_end":360,"column_start":17,"column_end":32},"name":"last_vtable_idx","qualname":"last_vtable_idx$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 88 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971524},"span":{"file_name":"src/collection/struc.rs","byte_start":380237,"byte_end":380241,"line_start":362,"line_end":362,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 108 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108356},"span":{"file_name":"src/collection/struc.rs","byte_start":380352,"byte_end":380363,"line_start":364,"line_end":364,"column_start":13,"column_end":24},"name":"col_schemas","qualname":"col_schemas$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 115 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16779076},"span":{"file_name":"src/collection/struc.rs","byte_start":380397,"byte_end":380402,"line_start":366,"line_end":366,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 128 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103786820},"span":{"file_name":"src/collection/struc.rs","byte_start":380583,"byte_end":380590,"line_start":371,"line_end":371,"column_start":21,"column_end":28},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 157 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242500},"span":{"file_name":"src/collection/struc.rs","byte_start":380649,"byte_end":380660,"line_start":372,"line_end":372,"column_start":21,"column_end":32},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 165 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976202052},"span":{"file_name":"src/collection/struc.rs","byte_start":380808,"byte_end":380819,"line_start":375,"line_end":375,"column_start":25,"column_end":36},"name":"vtable_data","qualname":"vtable_data$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 183 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3875538756},"span":{"file_name":"src/collection/struc.rs","byte_start":381038,"byte_end":381047,"line_start":380,"line_end":380,"column_start":21,"column_end":30},"name":"item_addr","qualname":"item_addr$HirId { owner: DefId(0:1860 ~ no_proto[2d88]::collection::struc::{impl#1}::do_compact), local_id: 231 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743685},"span":{"file_name":"src/collection/struc.rs","byte_start":381333,"byte_end":381339,"line_start":388,"line_end":388,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872773},"span":{"file_name":"src/collection/struc.rs","byte_start":381365,"byte_end":381372,"line_start":388,"line_end":388,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1861},"span":{"file_name":"src/collection/struc.rs","byte_start":381319,"byte_end":381332,"line_start":388,"line_end":388,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832325},"span":{"file_name":"src/collection/struc.rs","byte_start":381422,"byte_end":381426,"line_start":389,"line_end":389,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1861 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751429},"span":{"file_name":"src/collection/struc.rs","byte_start":381509,"byte_end":381515,"line_start":391,"line_end":391,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1861 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483029829},"span":{"file_name":"src/collection/struc.rs","byte_start":381566,"byte_end":381576,"line_start":393,"line_end":393,"column_start":13,"column_end":23},"name":"last_index","qualname":"last_index$HirId { owner: DefId(0:1861 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_idl), local_id: 41 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812101},"span":{"file_name":"src/collection/struc.rs","byte_start":381615,"byte_end":381618,"line_start":394,"line_end":394,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1861 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_idl), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070277},"span":{"file_name":"src/collection/struc.rs","byte_start":381620,"byte_end":381625,"line_start":394,"line_end":394,"column_start":19,"column_end":24},"name":"field","qualname":"field$HirId { owner: DefId(0:1861 ~ no_proto[2d88]::collection::struc::{impl#1}::schema_to_idl), local_id: 50 }","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743686},"span":{"file_name":"src/collection/struc.rs","byte_start":382028,"byte_end":382034,"line_start":408,"line_end":408,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872774},"span":{"file_name":"src/collection/struc.rs","byte_start":382059,"byte_end":382064,"line_start":408,"line_end":408,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614598},"span":{"file_name":"src/collection/struc.rs","byte_start":382072,"byte_end":382075,"line_start":408,"line_end":408,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437318},"span":{"file_name":"src/collection/struc.rs","byte_start":382089,"byte_end":382093,"line_start":408,"line_end":408,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1862},"span":{"file_name":"src/collection/struc.rs","byte_start":382005,"byte_end":382023,"line_start":408,"line_end":408,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090502},"span":{"file_name":"src/collection/struc.rs","byte_start":382187,"byte_end":382199,"line_start":409,"line_end":409,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723462},"span":{"file_name":"src/collection/struc.rs","byte_start":382290,"byte_end":382307,"line_start":412,"line_end":412,"column_start":13,"column_end":30},"name":"schema_table_addr","qualname":"schema_table_addr$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785019718},"span":{"file_name":"src/collection/struc.rs","byte_start":382621,"byte_end":382627,"line_start":420,"line_end":420,"column_start":17,"column_end":23},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 101 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845495622},"span":{"file_name":"src/collection/struc.rs","byte_start":382681,"byte_end":382691,"line_start":422,"line_end":422,"column_start":17,"column_end":27},"name":"field_data","qualname":"field_data$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 118 }","value":"alloc::vec::Vec<(alloc::string::String, alloc::vec::Vec)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261414726},"span":{"file_name":"src/collection/struc.rs","byte_start":382747,"byte_end":382760,"line_start":424,"line_end":424,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 127 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043310918},"span":{"file_name":"src/collection/struc.rs","byte_start":382811,"byte_end":382821,"line_start":426,"line_end":426,"column_start":17,"column_end":27},"name":"idl_fields","qualname":"idl_fields$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 143 }","value":"core::option::Option<&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177528646},"span":{"file_name":"src/collection/struc.rs","byte_start":382954,"byte_end":382964,"line_start":430,"line_end":430,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 159 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":620758854},"span":{"file_name":"src/collection/struc.rs","byte_start":382997,"byte_end":383000,"line_start":431,"line_end":431,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 164 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242502},"span":{"file_name":"src/collection/struc.rs","byte_start":383002,"byte_end":383007,"line_start":431,"line_end":431,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 165 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170895686},"span":{"file_name":"src/collection/struc.rs","byte_start":383222,"byte_end":383232,"line_start":435,"line_end":435,"column_start":54,"column_end":64},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 189 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526728518},"span":{"file_name":"src/collection/struc.rs","byte_start":383602,"byte_end":383612,"line_start":443,"line_end":443,"column_start":54,"column_end":64},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 218 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3632269126},"span":{"file_name":"src/collection/struc.rs","byte_start":384062,"byte_end":384063,"line_start":459,"line_end":459,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 283 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2021656390},"span":{"file_name":"src/collection/struc.rs","byte_start":384089,"byte_end":384092,"line_start":460,"line_end":460,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 286 }","value":"&(idl::AST_STR, idl::JS_AST)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2357200710},"span":{"file_name":"src/collection/struc.rs","byte_start":384129,"byte_end":384139,"line_start":461,"line_end":461,"column_start":21,"column_end":31},"name":"field_name","qualname":"field_name$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 305 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2994734918},"span":{"file_name":"src/collection/struc.rs","byte_start":384363,"byte_end":384380,"line_start":466,"line_end":466,"column_start":21,"column_end":38},"name":"field_schema_addr","qualname":"field_schema_addr$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 333 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783264070},"span":{"file_name":"src/collection/struc.rs","byte_start":384638,"byte_end":384650,"line_start":469,"line_end":469,"column_start":22,"column_end":34},"name":"_is_sortable","qualname":"_is_sortable$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 391 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":293603142},"span":{"file_name":"src/collection/struc.rs","byte_start":384652,"byte_end":384662,"line_start":469,"line_end":469,"column_start":36,"column_end":46},"name":"field_type","qualname":"field_type$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 392 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2441086790},"span":{"file_name":"src/collection/struc.rs","byte_start":384664,"byte_end":384672,"line_start":469,"line_end":469,"column_start":48,"column_end":56},"name":"schema_p","qualname":"schema_p$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 393 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":71305030},"span":{"file_name":"src/collection/struc.rs","byte_start":385606,"byte_end":385609,"line_start":493,"line_end":493,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 544 }","value":"(alloc::string::String, alloc::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":205522758},"span":{"file_name":"src/collection/struc.rs","byte_start":385676,"byte_end":385681,"line_start":495,"line_end":495,"column_start":21,"column_end":26},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1862 ~ no_proto[2d88]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 560 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743687},"span":{"file_name":"src/collection/struc.rs","byte_start":386366,"byte_end":386372,"line_start":514,"line_end":514,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872775},"span":{"file_name":"src/collection/struc.rs","byte_start":386397,"byte_end":386408,"line_start":514,"line_end":514,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1863},"span":{"file_name":"src/collection/struc.rs","byte_start":386342,"byte_end":386361,"line_start":514,"line_end":514,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219591},"span":{"file_name":"src/collection/struc.rs","byte_start":386504,"byte_end":386516,"line_start":516,"line_end":516,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852551},"span":{"file_name":"src/collection/struc.rs","byte_start":386607,"byte_end":386624,"line_start":519,"line_end":519,"column_start":13,"column_end":30},"name":"schema_table_addr","qualname":"schema_table_addr$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148807},"span":{"file_name":"src/collection/struc.rs","byte_start":386938,"byte_end":386944,"line_start":527,"line_end":527,"column_start":17,"column_end":23},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 97 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624711},"span":{"file_name":"src/collection/struc.rs","byte_start":386998,"byte_end":387008,"line_start":529,"line_end":529,"column_start":17,"column_end":27},"name":"field_data","qualname":"field_data$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 114 }","value":"alloc::vec::Vec<(alloc::string::String, alloc::vec::Vec)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3724543815},"span":{"file_name":"src/collection/struc.rs","byte_start":387064,"byte_end":387077,"line_start":531,"line_end":531,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 123 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1426065223},"span":{"file_name":"src/collection/struc.rs","byte_start":387124,"byte_end":387135,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"name":"json_fields","qualname":"json_fields$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 170 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218105671},"span":{"file_name":"src/collection/struc.rs","byte_start":387459,"byte_end":387460,"line_start":542,"line_end":542,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 176 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439331143},"span":{"file_name":"src/collection/struc.rs","byte_start":387482,"byte_end":387485,"line_start":543,"line_end":543,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 179 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":184551239},"span":{"file_name":"src/collection/struc.rs","byte_start":387519,"byte_end":387529,"line_start":544,"line_end":544,"column_start":17,"column_end":27},"name":"field_name","qualname":"field_name$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 208 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124075335},"span":{"file_name":"src/collection/struc.rs","byte_start":387580,"byte_end":387581,"line_start":545,"line_end":545,"column_start":33,"column_end":34},"name":"x","qualname":"x$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 194 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":922748743},"span":{"file_name":"src/collection/struc.rs","byte_start":387820,"byte_end":387837,"line_start":552,"line_end":552,"column_start":17,"column_end":34},"name":"field_schema_addr","qualname":"field_schema_addr$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 236 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2491418439},"span":{"file_name":"src/collection/struc.rs","byte_start":388071,"byte_end":388083,"line_start":555,"line_end":555,"column_start":18,"column_end":30},"name":"_is_sortable","qualname":"_is_sortable$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 297 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1417676615},"span":{"file_name":"src/collection/struc.rs","byte_start":388085,"byte_end":388095,"line_start":555,"line_end":555,"column_start":32,"column_end":42},"name":"field_type","qualname":"field_type$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 298 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3565160263},"span":{"file_name":"src/collection/struc.rs","byte_start":388097,"byte_end":388105,"line_start":555,"line_end":555,"column_start":44,"column_end":52},"name":"schema_p","qualname":"schema_p$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 299 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3179284295},"span":{"file_name":"src/collection/struc.rs","byte_start":388944,"byte_end":388947,"line_start":579,"line_end":579,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 445 }","value":"(alloc::string::String, alloc::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3011512135},"span":{"file_name":"src/collection/struc.rs","byte_start":389006,"byte_end":389011,"line_start":581,"line_end":581,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1863 ~ no_proto[2d88]::collection::struc::{impl#1}::from_json_to_schema), local_id: 461 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743688},"span":{"file_name":"src/collection/struc.rs","byte_start":389519,"byte_end":389525,"line_start":598,"line_end":598,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872776},"span":{"file_name":"src/collection/struc.rs","byte_start":389534,"byte_end":389539,"line_start":598,"line_end":598,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614600},"span":{"file_name":"src/collection/struc.rs","byte_start":389548,"byte_end":389555,"line_start":598,"line_end":598,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1864},"span":{"file_name":"src/collection/struc.rs","byte_start":389505,"byte_end":389518,"line_start":598,"line_end":598,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1865},"span":{"file_name":"src/collection/map.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"map","qualname":"::collection::map","value":"src/collection/map.rs","parent":null,"children":[{"krate":0,"index":1866},{"krate":0,"index":1867},{"krate":0,"index":1870},{"krate":0,"index":1873},{"krate":0,"index":1874},{"krate":0,"index":1875},{"krate":0,"index":1878},{"krate":0,"index":1881},{"krate":0,"index":1884},{"krate":0,"index":1885},{"krate":0,"index":1888},{"krate":0,"index":1891},{"krate":0,"index":1892},{"krate":0,"index":1895},{"krate":0,"index":1896},{"krate":0,"index":1899},{"krate":0,"index":1900},{"krate":0,"index":1901},{"krate":0,"index":1904},{"krate":0,"index":1905},{"krate":0,"index":1908},{"krate":0,"index":1911},{"krate":0,"index":1914},{"krate":0,"index":1917},{"krate":0,"index":1920},{"krate":0,"index":1923},{"krate":0,"index":1926},{"krate":0,"index":1929},{"krate":0,"index":3292},{"krate":0,"index":3295},{"krate":0,"index":1932},{"krate":0,"index":3297},{"krate":0,"index":3301},{"krate":0,"index":3304},{"krate":0,"index":3307},{"krate":0,"index":1935},{"krate":0,"index":3309},{"krate":0,"index":3316},{"krate":0,"index":1938},{"krate":0,"index":1948}],"decl_id":null,"docs":" Map data type\n","sig":null,"attributes":[{"value":"/ Map data type","span":{"file_name":"src/collection/mod.rs","byte_start":366797,"byte_end":366814,"line_start":5,"line_end":5,"column_start":1,"column_end":18}}]},{"kind":"Struct","id":{"krate":0,"index":3292},"span":{"file_name":"src/collection/map.rs","byte_start":394077,"byte_end":394089,"line_start":16,"line_end":16,"column_start":12,"column_end":24},"name":"NP_Map_Bytes","qualname":"::collection::map::NP_Map_Bytes","value":"NP_Map_Bytes { head }","parent":null,"children":[{"krate":0,"index":3293}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/collection/map.rs","byte_start":394000,"byte_end":394010,"line_start":12,"line_end":12,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/collection/map.rs","byte_start":394043,"byte_end":394065,"line_start":15,"line_end":15,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3293},"span":{"file_name":"src/collection/map.rs","byte_start":394096,"byte_end":394100,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::map::NP_Map_Bytes::head","value":"[u8; 4]","parent":{"krate":0,"index":3292},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743757},"span":{"file_name":"src/collection/map.rs","byte_start":394203,"byte_end":394207,"line_start":23,"line_end":23,"column_start":26,"column_end":30},"name":"self","qualname":"::set_head::self","value":"&mut collection::map::NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872845},"span":{"file_name":"src/collection/map.rs","byte_start":394209,"byte_end":394213,"line_start":23,"line_end":23,"column_start":32,"column_end":36},"name":"head","qualname":"::set_head::head","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1933},"span":{"file_name":"src/collection/map.rs","byte_start":394189,"byte_end":394197,"line_start":23,"line_end":23,"column_start":12,"column_end":20},"name":"set_head","qualname":"::set_head","value":"pub fn set_head(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394160,"byte_end":394177,"line_start":22,"line_end":22,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743758},"span":{"file_name":"src/collection/map.rs","byte_start":394311,"byte_end":394315,"line_start":27,"line_end":27,"column_start":22,"column_end":26},"name":"self","qualname":"::get_head::self","value":"&collection::map::NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1934},"span":{"file_name":"src/collection/map.rs","byte_start":394301,"byte_end":394309,"line_start":27,"line_end":27,"column_start":12,"column_end":20},"name":"get_head","qualname":"::get_head","value":"pub fn get_head(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394272,"byte_end":394289,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Struct","id":{"krate":0,"index":3297},"span":{"file_name":"src/collection/map.rs","byte_start":394425,"byte_end":394433,"line_start":34,"line_end":34,"column_start":8,"column_end":16},"name":"Map_Item","qualname":"::collection::map::Map_Item","value":"Map_Item { key, buff_addr }","parent":null,"children":[{"krate":0,"index":3299},{"krate":0,"index":3300}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3299},"span":{"file_name":"src/collection/map.rs","byte_start":394447,"byte_end":394450,"line_start":35,"line_end":35,"column_start":5,"column_end":8},"name":"key","qualname":"::collection::map::Map_Item::key","value":"&'item str","parent":{"krate":0,"index":3297},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3300},"span":{"file_name":"src/collection/map.rs","byte_start":394468,"byte_end":394477,"line_start":36,"line_end":36,"column_start":5,"column_end":14},"name":"buff_addr","qualname":"::collection::map::Map_Item::buff_addr","value":"usize","parent":{"krate":0,"index":3297},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743761},"span":{"file_name":"src/collection/map.rs","byte_start":394533,"byte_end":394536,"line_start":40,"line_end":40,"column_start":16,"column_end":19},"name":"key","qualname":"::new::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872849},"span":{"file_name":"src/collection/map.rs","byte_start":394550,"byte_end":394559,"line_start":40,"line_end":40,"column_start":33,"column_end":42},"name":"buff_addr","qualname":"::new::buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1937},"span":{"file_name":"src/collection/map.rs","byte_start":394529,"byte_end":394532,"line_start":40,"line_end":40,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(&'item str, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3309},"span":{"file_name":"src/collection/map.rs","byte_start":394684,"byte_end":394690,"line_start":49,"line_end":49,"column_start":12,"column_end":18},"name":"NP_Map","qualname":"::collection::map::NP_Map","value":"NP_Map { count, current, head, map, value_of }","parent":null,"children":[{"krate":0,"index":3311},{"krate":0,"index":3312},{"krate":0,"index":3313},{"krate":0,"index":3314},{"krate":0,"index":3315}],"decl_id":null,"docs":" The map type.\n \n","sig":null,"attributes":[{"value":"/ The map type.","span":{"file_name":"src/collection/map.rs","byte_start":394618,"byte_end":394635,"line_start":45,"line_end":45,"column_start":1,"column_end":18}},{"value":"/ ","span":{"file_name":"src/collection/map.rs","byte_start":394636,"byte_end":394640,"line_start":46,"line_end":46,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3311},"span":{"file_name":"src/collection/map.rs","byte_start":394704,"byte_end":394709,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"name":"count","qualname":"::collection::map::NP_Map::count","value":"usize","parent":{"krate":0,"index":3309},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3312},"span":{"file_name":"src/collection/map.rs","byte_start":394722,"byte_end":394729,"line_start":51,"line_end":51,"column_start":5,"column_end":12},"name":"current","qualname":"::collection::map::NP_Map::current","value":"core::option::Option>","parent":{"krate":0,"index":3309},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3313},"span":{"file_name":"src/collection/map.rs","byte_start":394759,"byte_end":394763,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::map::NP_Map::head","value":"core::option::Option>","parent":{"krate":0,"index":3309},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3314},"span":{"file_name":"src/collection/map.rs","byte_start":394793,"byte_end":394796,"line_start":53,"line_end":53,"column_start":5,"column_end":8},"name":"map","qualname":"::collection::map::NP_Map::map","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3309},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3315},"span":{"file_name":"src/collection/map.rs","byte_start":394813,"byte_end":394821,"line_start":54,"line_end":54,"column_start":5,"column_end":13},"name":"value_of","qualname":"::collection::map::NP_Map::value_of","value":"usize","parent":{"krate":0,"index":3309},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743764},"span":{"file_name":"src/collection/map.rs","byte_start":394922,"byte_end":394932,"line_start":61,"line_end":61,"column_start":19,"column_end":29},"name":"map_cursor","qualname":"::select::map_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872852},"span":{"file_name":"src/collection/map.rs","byte_start":394945,"byte_end":394948,"line_start":61,"line_end":61,"column_start":42,"column_end":45},"name":"key","qualname":"::select::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614676},"span":{"file_name":"src/collection/map.rs","byte_start":394956,"byte_end":394965,"line_start":61,"line_end":61,"column_start":53,"column_end":62},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437396},"span":{"file_name":"src/collection/map.rs","byte_start":394973,"byte_end":394985,"line_start":61,"line_end":61,"column_start":70,"column_end":82},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179220},"span":{"file_name":"src/collection/map.rs","byte_start":394993,"byte_end":394999,"line_start":61,"line_end":61,"column_start":90,"column_end":96},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1940},"span":{"file_name":"src/collection/map.rs","byte_start":394915,"byte_end":394921,"line_start":61,"line_end":61,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &str, bool, bool, &'map NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394886,"byte_end":394903,"line_start":60,"line_end":60,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2013267860},"span":{"file_name":"src/collection/map.rs","byte_start":395072,"byte_end":395076,"line_start":63,"line_end":63,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1940 ~ no_proto[2d88]::collection::map::{impl#2}::select), local_id: 30 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207188},"span":{"file_name":"src/collection/map.rs","byte_start":395213,"byte_end":395221,"line_start":66,"line_end":66,"column_start":17,"column_end":25},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1940 ~ no_proto[2d88]::collection::map::{impl#2}::select), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523217300},"span":{"file_name":"src/collection/map.rs","byte_start":395346,"byte_end":395354,"line_start":71,"line_end":71,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1940 ~ no_proto[2d88]::collection::map::{impl#2}::select), local_id: 75 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743765},"span":{"file_name":"src/collection/map.rs","byte_start":395810,"byte_end":395823,"line_start":89,"line_end":89,"column_start":26,"column_end":39},"name":"map_buff_addr","qualname":"::get_map::map_buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872853},"span":{"file_name":"src/collection/map.rs","byte_start":395832,"byte_end":395838,"line_start":89,"line_end":89,"column_start":48,"column_end":54},"name":"memory","qualname":"::get_map::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1941},"span":{"file_name":"src/collection/map.rs","byte_start":395796,"byte_end":395803,"line_start":89,"line_end":89,"column_start":12,"column_end":19},"name":"get_map","qualname":"::get_map","value":"pub fn get_map<'get>(usize, &'get NP_Memory) -> &'get mut NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":395767,"byte_end":395784,"line_start":88,"line_end":88,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743767},"span":{"file_name":"src/collection/map.rs","byte_start":396238,"byte_end":396248,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"name":"map_cursor","qualname":"::new_iter::map_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872855},"span":{"file_name":"src/collection/map.rs","byte_start":396262,"byte_end":396268,"line_start":98,"line_end":98,"column_start":45,"column_end":51},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1943},"span":{"file_name":"src/collection/map.rs","byte_start":396229,"byte_end":396237,"line_start":98,"line_end":98,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &'map NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":396200,"byte_end":396217,"line_start":97,"line_end":97,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655127},"span":{"file_name":"src/collection/map.rs","byte_start":396310,"byte_end":396314,"line_start":100,"line_end":100,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1943 ~ no_proto[2d88]::collection::map::{impl#2}::new_iter), local_id: 24 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267863},"span":{"file_name":"src/collection/map.rs","byte_start":396421,"byte_end":396429,"line_start":102,"line_end":102,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1943 ~ no_proto[2d88]::collection::map::{impl#2}::new_iter), local_id: 30 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060088215},"span":{"file_name":"src/collection/map.rs","byte_start":396723,"byte_end":396732,"line_start":114,"line_end":114,"column_start":13,"column_end":22},"name":"head_addr","qualname":"head_addr$HirId { owner: DefId(0:1943 ~ no_proto[2d88]::collection::map::{impl#2}::new_iter), local_id: 79 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148887},"span":{"file_name":"src/collection/map.rs","byte_start":396804,"byte_end":396815,"line_start":116,"line_end":116,"column_start":13,"column_end":24},"name":"head_cursor","qualname":"head_cursor$HirId { owner: DefId(0:1943 ~ no_proto[2d88]::collection::map::{impl#2}::new_iter), local_id: 97 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842519},"span":{"file_name":"src/collection/map.rs","byte_start":396900,"byte_end":396917,"line_start":117,"line_end":117,"column_start":13,"column_end":30},"name":"head_cursor_value","qualname":"head_cursor_value$HirId { owner: DefId(0:1943 ~ no_proto[2d88]::collection::map::{impl#2}::new_iter), local_id: 106 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743768},"span":{"file_name":"src/collection/map.rs","byte_start":397237,"byte_end":397241,"line_start":129,"line_end":129,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872856},"span":{"file_name":"src/collection/map.rs","byte_start":397243,"byte_end":397249,"line_start":129,"line_end":129,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1944},"span":{"file_name":"src/collection/map.rs","byte_start":397222,"byte_end":397231,"line_start":129,"line_end":129,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &'map NP_Memory) -> Option<(&'map str, NP_Cursor)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":397193,"byte_end":397210,"line_start":128,"line_end":128,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3087009688},"span":{"file_name":"src/collection/map.rs","byte_start":397436,"byte_end":397440,"line_start":136,"line_end":136,"column_start":18,"column_end":22},"name":"head","qualname":"head$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 29 }","value":"collection::map::Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288088},"span":{"file_name":"src/collection/map.rs","byte_start":397544,"byte_end":397551,"line_start":141,"line_end":141,"column_start":26,"column_end":33},"name":"current","qualname":"current$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 42 }","value":"collection::map::Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080376728},"span":{"file_name":"src/collection/map.rs","byte_start":397611,"byte_end":397623,"line_start":142,"line_end":142,"column_start":29,"column_end":41},"name":"current_item","qualname":"current_item$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 62 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3791652760},"span":{"file_name":"src/collection/map.rs","byte_start":397726,"byte_end":397739,"line_start":143,"line_end":143,"column_start":29,"column_end":42},"name":"current_value","qualname":"current_value$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 71 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257752},"span":{"file_name":"src/collection/map.rs","byte_start":397802,"byte_end":397812,"line_start":144,"line_end":144,"column_start":29,"column_end":39},"name":"next_value","qualname":"next_value$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 81 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455256},"span":{"file_name":"src/collection/map.rs","byte_start":398029,"byte_end":398046,"line_start":148,"line_end":148,"column_start":33,"column_end":50},"name":"next_value_cursor","qualname":"next_value_cursor$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 109 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845495704},"span":{"file_name":"src/collection/map.rs","byte_start":398146,"byte_end":398162,"line_start":149,"line_end":149,"column_start":33,"column_end":49},"name":"next_value_value","qualname":"next_value_value$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 118 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261414808},"span":{"file_name":"src/collection/map.rs","byte_start":398234,"byte_end":398237,"line_start":150,"line_end":150,"column_start":33,"column_end":36},"name":"key","qualname":"key$HirId { owner: DefId(0:1944 ~ no_proto[2d88]::collection::map::{impl#2}::step_iter), local_id: 127 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743769},"span":{"file_name":"src/collection/map.rs","byte_start":398865,"byte_end":398875,"line_start":168,"line_end":168,"column_start":19,"column_end":29},"name":"map_cursor","qualname":"::insert::map_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872857},"span":{"file_name":"src/collection/map.rs","byte_start":398889,"byte_end":398895,"line_start":168,"line_end":168,"column_start":43,"column_end":49},"name":"memory","qualname":"::insert::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614681},"span":{"file_name":"src/collection/map.rs","byte_start":398909,"byte_end":398912,"line_start":168,"line_end":168,"column_start":63,"column_end":66},"name":"key","qualname":"::insert::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1945},"span":{"file_name":"src/collection/map.rs","byte_start":398858,"byte_end":398864,"line_start":168,"line_end":168,"column_start":12,"column_end":18},"name":"insert","qualname":"::insert","value":"pub fn insert(&NP_Cursor, &NP_Memory, &str) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":398829,"byte_end":398846,"line_start":167,"line_end":167,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1476396953},"span":{"file_name":"src/collection/map.rs","byte_start":398966,"byte_end":398970,"line_start":170,"line_end":170,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 26 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110809},"span":{"file_name":"src/collection/map.rs","byte_start":399077,"byte_end":399085,"line_start":172,"line_end":172,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298201},"span":{"file_name":"src/collection/map.rs","byte_start":399245,"byte_end":399254,"line_start":178,"line_end":178,"column_start":13,"column_end":22},"name":"map_value","qualname":"map_value$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 66 }","value":"[closure@src/collection/map.rs:178:25: 178:60]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822297},"span":{"file_name":"src/collection/map.rs","byte_start":399307,"byte_end":399322,"line_start":180,"line_end":180,"column_start":13,"column_end":28},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 94 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455257},"span":{"file_name":"src/collection/map.rs","byte_start":399372,"byte_end":399382,"line_start":181,"line_end":181,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 109 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2969569177},"span":{"file_name":"src/collection/map.rs","byte_start":399484,"byte_end":399497,"line_start":184,"line_end":184,"column_start":13,"column_end":26},"name":"key_item_addr","qualname":"key_item_addr$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 141 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244637593},"span":{"file_name":"src/collection/map.rs","byte_start":399680,"byte_end":399684,"line_start":188,"line_end":188,"column_start":13,"column_end":17},"name":"head","qualname":"head$HirId { owner: DefId(0:1945 ~ no_proto[2d88]::collection::map::{impl#2}::insert), local_id: 191 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743774},"span":{"file_name":"src/collection/map.rs","byte_start":400093,"byte_end":400098,"line_start":204,"line_end":204,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872862},"span":{"file_name":"src/collection/map.rs","byte_start":400106,"byte_end":400112,"line_start":204,"line_end":204,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614686},"span":{"file_name":"src/collection/map.rs","byte_start":400126,"byte_end":400132,"line_start":204,"line_end":204,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1950},"span":{"file_name":"src/collection/map.rs","byte_start":400085,"byte_end":400092,"line_start":204,"line_end":204,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961502},"span":{"file_name":"src/collection/map.rs","byte_start":400178,"byte_end":400185,"line_start":205,"line_end":205,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1950 ~ no_proto[2d88]::collection::map::{impl#3}::to_json), local_id: 18 }","value":"[closure@src/collection/map.rs:205:23: 205:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288094},"span":{"file_name":"src/collection/map.rs","byte_start":400327,"byte_end":400335,"line_start":211,"line_end":211,"column_start":17,"column_end":25},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1950 ~ no_proto[2d88]::collection::map::{impl#3}::to_json), local_id: 42 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763998},"span":{"file_name":"src/collection/map.rs","byte_start":400369,"byte_end":400377,"line_start":213,"line_end":213,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1950 ~ no_proto[2d88]::collection::map::{impl#3}::to_json), local_id: 56 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743776},"span":{"file_name":"src/collection/map.rs","byte_start":400683,"byte_end":400688,"line_start":222,"line_end":222,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872864},"span":{"file_name":"src/collection/map.rs","byte_start":400697,"byte_end":400707,"line_start":222,"line_end":222,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614688},"span":{"file_name":"src/collection/map.rs","byte_start":400715,"byte_end":400721,"line_start":222,"line_end":222,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437408},"span":{"file_name":"src/collection/map.rs","byte_start":400734,"byte_end":400740,"line_start":222,"line_end":222,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179232},"span":{"file_name":"src/collection/map.rs","byte_start":400759,"byte_end":400764,"line_start":222,"line_end":222,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1952},"span":{"file_name":"src/collection/map.rs","byte_start":400663,"byte_end":400676,"line_start":222,"line_end":222,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961504},"span":{"file_name":"src/collection/map.rs","byte_start":400898,"byte_end":400906,"line_start":225,"line_end":225,"column_start":33,"column_end":41},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1952 ~ no_proto[2d88]::collection::map::{impl#3}::set_from_json), local_id: 18 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396960},"span":{"file_name":"src/collection/map.rs","byte_start":400933,"byte_end":400940,"line_start":226,"line_end":226,"column_start":21,"column_end":28},"name":"js_item","qualname":"js_item$HirId { owner: DefId(0:1952 ~ no_proto[2d88]::collection::map::{impl#3}::set_from_json), local_id: 26 }","value":"&(alloc::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298208},"span":{"file_name":"src/collection/map.rs","byte_start":401083,"byte_end":401088,"line_start":228,"line_end":228,"column_start":30,"column_end":35},"name":"value","qualname":"value$HirId { owner: DefId(0:1952 ~ no_proto[2d88]::collection::map::{impl#3}::set_from_json), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1954},"span":{"file_name":"src/collection/map.rs","byte_start":401401,"byte_end":401409,"line_start":241,"line_end":241,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743779},"span":{"file_name":"src/collection/map.rs","byte_start":401494,"byte_end":401498,"line_start":242,"line_end":242,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1955},"span":{"file_name":"src/collection/map.rs","byte_start":401479,"byte_end":401492,"line_start":242,"line_end":242,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743780},"span":{"file_name":"src/collection/map.rs","byte_start":401587,"byte_end":401593,"line_start":244,"line_end":244,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872868},"span":{"file_name":"src/collection/map.rs","byte_start":401619,"byte_end":401626,"line_start":244,"line_end":244,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1956},"span":{"file_name":"src/collection/map.rs","byte_start":401572,"byte_end":401586,"line_start":244,"line_end":244,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308324},"span":{"file_name":"src/collection/map.rs","byte_start":401681,"byte_end":401692,"line_start":245,"line_end":245,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1956 ~ no_proto[2d88]::collection::map::{impl#3}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070372},"span":{"file_name":"src/collection/map.rs","byte_start":401818,"byte_end":401822,"line_start":248,"line_end":248,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1956 ~ no_proto[2d88]::collection::map::{impl#3}::schema_to_json), local_id: 50 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764004},"span":{"file_name":"src/collection/map.rs","byte_start":401903,"byte_end":401911,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1956 ~ no_proto[2d88]::collection::map::{impl#3}::schema_to_json), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743781},"span":{"file_name":"src/collection/map.rs","byte_start":402089,"byte_end":402094,"line_start":257,"line_end":257,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872869},"span":{"file_name":"src/collection/map.rs","byte_start":402102,"byte_end":402108,"line_start":257,"line_end":257,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614693},"span":{"file_name":"src/collection/map.rs","byte_start":402122,"byte_end":402128,"line_start":257,"line_end":257,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1957},"span":{"file_name":"src/collection/map.rs","byte_start":402080,"byte_end":402088,"line_start":257,"line_end":257,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961509},"span":{"file_name":"src/collection/map.rs","byte_start":402191,"byte_end":402198,"line_start":259,"line_end":259,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1957 ~ no_proto[2d88]::collection::map::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/collection/map.rs:259:23: 259:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207205},"span":{"file_name":"src/collection/map.rs","byte_start":402333,"byte_end":402341,"line_start":265,"line_end":265,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:1957 ~ no_proto[2d88]::collection::map::{impl#3}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199461},"span":{"file_name":"src/collection/map.rs","byte_start":402369,"byte_end":402377,"line_start":267,"line_end":267,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1957 ~ no_proto[2d88]::collection::map::{impl#3}::get_size), local_id: 52 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241515941},"span":{"file_name":"src/collection/map.rs","byte_start":402512,"byte_end":402520,"line_start":270,"line_end":270,"column_start":17,"column_end":25},"name":"key_size","qualname":"key_size$HirId { owner: DefId(0:1957 ~ no_proto[2d88]::collection::map::{impl#3}::get_size), local_id: 82 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743783},"span":{"file_name":"src/collection/map.rs","byte_start":402781,"byte_end":402786,"line_start":283,"line_end":283,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872871},"span":{"file_name":"src/collection/map.rs","byte_start":402794,"byte_end":402805,"line_start":283,"line_end":283,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614695},"span":{"file_name":"src/collection/map.rs","byte_start":402818,"byte_end":402829,"line_start":283,"line_end":283,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437415},"span":{"file_name":"src/collection/map.rs","byte_start":402850,"byte_end":402859,"line_start":283,"line_end":283,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179239},"span":{"file_name":"src/collection/map.rs","byte_start":402872,"byte_end":402881,"line_start":283,"line_end":283,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1959},"span":{"file_name":"src/collection/map.rs","byte_start":402770,"byte_end":402780,"line_start":283,"line_end":283,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445159},"span":{"file_name":"src/collection/map.rs","byte_start":402975,"byte_end":402985,"line_start":285,"line_end":285,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:1959 ~ no_proto[2d88]::collection::map::{impl#3}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812199},"span":{"file_name":"src/collection/map.rs","byte_start":403132,"byte_end":403140,"line_start":291,"line_end":291,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1959 ~ no_proto[2d88]::collection::map::{impl#3}::do_compact), local_id: 49 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148903},"span":{"file_name":"src/collection/map.rs","byte_start":403287,"byte_end":403295,"line_start":294,"line_end":294,"column_start":17,"column_end":25},"name":"new_item","qualname":"new_item$HirId { owner: DefId(0:1959 ~ no_proto[2d88]::collection::map::{impl#3}::do_compact), local_id: 97 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743784},"span":{"file_name":"src/collection/map.rs","byte_start":403499,"byte_end":403505,"line_start":302,"line_end":302,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872872},"span":{"file_name":"src/collection/map.rs","byte_start":403531,"byte_end":403538,"line_start":302,"line_end":302,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1960},"span":{"file_name":"src/collection/map.rs","byte_start":403485,"byte_end":403498,"line_start":302,"line_end":302,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832424},"span":{"file_name":"src/collection/map.rs","byte_start":403588,"byte_end":403592,"line_start":303,"line_end":303,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1960 ~ no_proto[2d88]::collection::map::{impl#3}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751528},"span":{"file_name":"src/collection/map.rs","byte_start":403677,"byte_end":403683,"line_start":305,"line_end":305,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1960 ~ no_proto[2d88]::collection::map::{impl#3}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743785},"span":{"file_name":"src/collection/map.rs","byte_start":403894,"byte_end":403900,"line_start":312,"line_end":312,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872873},"span":{"file_name":"src/collection/map.rs","byte_start":403925,"byte_end":403930,"line_start":312,"line_end":312,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614697},"span":{"file_name":"src/collection/map.rs","byte_start":403938,"byte_end":403941,"line_start":312,"line_end":312,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437417},"span":{"file_name":"src/collection/map.rs","byte_start":403955,"byte_end":403959,"line_start":312,"line_end":312,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1961},"span":{"file_name":"src/collection/map.rs","byte_start":403871,"byte_end":403889,"line_start":312,"line_end":312,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090601},"span":{"file_name":"src/collection/map.rs","byte_start":404053,"byte_end":404064,"line_start":313,"line_end":313,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723561},"span":{"file_name":"src/collection/map.rs","byte_start":404160,"byte_end":404170,"line_start":317,"line_end":317,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564137},"span":{"file_name":"src/collection/map.rs","byte_start":404467,"byte_end":404476,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"value_jst","qualname":"value_jst$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 93 }","value":"core::option::Option<&idl::JS_AST>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455273},"span":{"file_name":"src/collection/map.rs","byte_start":404593,"byte_end":404603,"line_start":329,"line_end":329,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 109 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624809},"span":{"file_name":"src/collection/map.rs","byte_start":404636,"byte_end":404639,"line_start":330,"line_end":330,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 114 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108457},"span":{"file_name":"src/collection/map.rs","byte_start":404641,"byte_end":404646,"line_start":330,"line_end":330,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 115 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2332034985},"span":{"file_name":"src/collection/map.rs","byte_start":404996,"byte_end":405005,"line_start":342,"line_end":342,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 209 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293161},"span":{"file_name":"src/collection/map.rs","byte_start":405007,"byte_end":405018,"line_start":342,"line_end":342,"column_start":29,"column_end":40},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 210 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776809},"span":{"file_name":"src/collection/map.rs","byte_start":405020,"byte_end":405026,"line_start":342,"line_end":342,"column_start":42,"column_end":48},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1961 ~ no_proto[2d88]::collection::map::{impl#3}::from_idl_to_schema), local_id: 211 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743786},"span":{"file_name":"src/collection/map.rs","byte_start":405303,"byte_end":405309,"line_start":352,"line_end":352,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872874},"span":{"file_name":"src/collection/map.rs","byte_start":405334,"byte_end":405345,"line_start":352,"line_end":352,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1962},"span":{"file_name":"src/collection/map.rs","byte_start":405279,"byte_end":405298,"line_start":352,"line_end":352,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219690},"span":{"file_name":"src/collection/map.rs","byte_start":405447,"byte_end":405458,"line_start":354,"line_end":354,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1962 ~ no_proto[2d88]::collection::map::{impl#3}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852650},"span":{"file_name":"src/collection/map.rs","byte_start":405545,"byte_end":405555,"line_start":357,"line_end":357,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1962 ~ no_proto[2d88]::collection::map::{impl#3}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827370},"span":{"file_name":"src/collection/map.rs","byte_start":406073,"byte_end":406082,"line_start":373,"line_end":373,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1962 ~ no_proto[2d88]::collection::map::{impl#3}::from_json_to_schema), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043311018},"span":{"file_name":"src/collection/map.rs","byte_start":406084,"byte_end":406095,"line_start":373,"line_end":373,"column_start":25,"column_end":36},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:1962 ~ no_proto[2d88]::collection::map::{impl#3}::from_json_to_schema), local_id: 143 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150996906},"span":{"file_name":"src/collection/map.rs","byte_start":406097,"byte_end":406103,"line_start":373,"line_end":373,"column_start":38,"column_end":44},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1962 ~ no_proto[2d88]::collection::map::{impl#3}::from_json_to_schema), local_id: 144 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743787},"span":{"file_name":"src/collection/map.rs","byte_start":406307,"byte_end":406313,"line_start":381,"line_end":381,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872875},"span":{"file_name":"src/collection/map.rs","byte_start":406322,"byte_end":406327,"line_start":381,"line_end":381,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614699},"span":{"file_name":"src/collection/map.rs","byte_start":406336,"byte_end":406343,"line_start":381,"line_end":381,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1963},"span":{"file_name":"src/collection/map.rs","byte_start":406293,"byte_end":406306,"line_start":381,"line_end":381,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743788},"span":{"file_name":"src/collection/map.rs","byte_start":406439,"byte_end":406445,"line_start":385,"line_end":385,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872876},"span":{"file_name":"src/collection/map.rs","byte_start":406470,"byte_end":406477,"line_start":385,"line_end":385,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614700},"span":{"file_name":"src/collection/map.rs","byte_start":406486,"byte_end":406491,"line_start":385,"line_end":385,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1964},"span":{"file_name":"src/collection/map.rs","byte_start":406414,"byte_end":406434,"line_start":385,"line_end":385,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791980},"span":{"file_name":"src/collection/map.rs","byte_start":406547,"byte_end":406554,"line_start":386,"line_end":386,"column_start":13,"column_end":20},"name":"of_addr","qualname":"of_addr$HirId { owner: DefId(0:1964 ~ no_proto[2d88]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 13 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475500},"span":{"file_name":"src/collection/map.rs","byte_start":406844,"byte_end":406853,"line_start":393,"line_end":393,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1964 ~ no_proto[2d88]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 73 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733676},"span":{"file_name":"src/collection/map.rs","byte_start":406855,"byte_end":406861,"line_start":393,"line_end":393,"column_start":25,"column_end":31},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1964 ~ no_proto[2d88]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 74 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1965},"span":{"file_name":"src/collection/list.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"list","qualname":"::collection::list","value":"src/collection/list.rs","parent":null,"children":[{"krate":0,"index":1966},{"krate":0,"index":1967},{"krate":0,"index":1970},{"krate":0,"index":1973},{"krate":0,"index":1974},{"krate":0,"index":1975},{"krate":0,"index":1978},{"krate":0,"index":1981},{"krate":0,"index":1982},{"krate":0,"index":1985},{"krate":0,"index":1988},{"krate":0,"index":1991},{"krate":0,"index":1992},{"krate":0,"index":1995},{"krate":0,"index":1996},{"krate":0,"index":1999},{"krate":0,"index":2002},{"krate":0,"index":2003},{"krate":0,"index":2006},{"krate":0,"index":2007},{"krate":0,"index":2010},{"krate":0,"index":2011},{"krate":0,"index":2014},{"krate":0,"index":2017},{"krate":0,"index":2018},{"krate":0,"index":2021},{"krate":0,"index":2024},{"krate":0,"index":2027},{"krate":0,"index":2030},{"krate":0,"index":2031},{"krate":0,"index":2032},{"krate":0,"index":3319},{"krate":0,"index":3324},{"krate":0,"index":2035},{"krate":0,"index":3326},{"krate":0,"index":3329},{"krate":0,"index":3331},{"krate":0,"index":3333},{"krate":0,"index":3334},{"krate":0,"index":3335},{"krate":0,"index":3338},{"krate":0,"index":3348},{"krate":0,"index":2040},{"krate":0,"index":2066}],"decl_id":null,"docs":" List data type\n","sig":null,"attributes":[{"value":"/ List data type","span":{"file_name":"src/collection/mod.rs","byte_start":366828,"byte_end":366846,"line_start":7,"line_end":7,"column_start":1,"column_end":19}}]},{"kind":"Struct","id":{"krate":0,"index":3319},"span":{"file_name":"src/collection/list.rs","byte_start":409694,"byte_end":409707,"line_start":15,"line_end":15,"column_start":12,"column_end":25},"name":"NP_List_Bytes","qualname":"::collection::list::NP_List_Bytes","value":"NP_List_Bytes { head, tail }","parent":null,"children":[{"krate":0,"index":3320},{"krate":0,"index":3322}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/collection/list.rs","byte_start":409617,"byte_end":409627,"line_start":11,"line_end":11,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/collection/list.rs","byte_start":409660,"byte_end":409682,"line_start":14,"line_end":14,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3320},"span":{"file_name":"src/collection/list.rs","byte_start":409714,"byte_end":409718,"line_start":16,"line_end":16,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::list::NP_List_Bytes::head","value":"[u8; 4]","parent":{"krate":0,"index":3319},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3322},"span":{"file_name":"src/collection/list.rs","byte_start":409733,"byte_end":409737,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"name":"tail","qualname":"::collection::list::NP_List_Bytes::tail","value":"[u8; 4]","parent":{"krate":0,"index":3319},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743860},"span":{"file_name":"src/collection/list.rs","byte_start":409841,"byte_end":409845,"line_start":23,"line_end":23,"column_start":26,"column_end":30},"name":"self","qualname":"::set_head::self","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872948},"span":{"file_name":"src/collection/list.rs","byte_start":409847,"byte_end":409851,"line_start":23,"line_end":23,"column_start":32,"column_end":36},"name":"head","qualname":"::set_head::head","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2036},"span":{"file_name":"src/collection/list.rs","byte_start":409827,"byte_end":409835,"line_start":23,"line_end":23,"column_start":12,"column_end":20},"name":"set_head","qualname":"::set_head","value":"pub fn set_head(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":409798,"byte_end":409815,"line_start":22,"line_end":22,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743861},"span":{"file_name":"src/collection/list.rs","byte_start":409949,"byte_end":409953,"line_start":27,"line_end":27,"column_start":22,"column_end":26},"name":"self","qualname":"::get_head::self","value":"&collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2037},"span":{"file_name":"src/collection/list.rs","byte_start":409939,"byte_end":409947,"line_start":27,"line_end":27,"column_start":12,"column_end":20},"name":"get_head","qualname":"::get_head","value":"pub fn get_head(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":409910,"byte_end":409927,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743862},"span":{"file_name":"src/collection/list.rs","byte_start":410055,"byte_end":410059,"line_start":31,"line_end":31,"column_start":26,"column_end":30},"name":"self","qualname":"::set_tail::self","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872950},"span":{"file_name":"src/collection/list.rs","byte_start":410061,"byte_end":410065,"line_start":31,"line_end":31,"column_start":32,"column_end":36},"name":"tail","qualname":"::set_tail::tail","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2038},"span":{"file_name":"src/collection/list.rs","byte_start":410041,"byte_end":410049,"line_start":31,"line_end":31,"column_start":12,"column_end":20},"name":"set_tail","qualname":"::set_tail","value":"pub fn set_tail(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410012,"byte_end":410029,"line_start":30,"line_end":30,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743863},"span":{"file_name":"src/collection/list.rs","byte_start":410163,"byte_end":410167,"line_start":35,"line_end":35,"column_start":22,"column_end":26},"name":"self","qualname":"::get_tail::self","value":"&collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2039},"span":{"file_name":"src/collection/list.rs","byte_start":410153,"byte_end":410161,"line_start":35,"line_end":35,"column_start":12,"column_end":20},"name":"get_tail","qualname":"::get_tail","value":"pub fn get_tail(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410124,"byte_end":410141,"line_start":34,"line_end":34,"column_start":5,"column_end":22}}]},{"kind":"Struct","id":{"krate":0,"index":3326},"span":{"file_name":"src/collection/list.rs","byte_start":410288,"byte_end":410297,"line_start":42,"line_end":42,"column_start":8,"column_end":17},"name":"List_Item","qualname":"::collection::list::List_Item","value":"List_Item { index, buff_addr }","parent":null,"children":[{"krate":0,"index":3327},{"krate":0,"index":3328}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3327},"span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::list::List_Item::index","value":"usize","parent":{"krate":0,"index":3326},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3328},"span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"name":"buff_addr","qualname":"::collection::list::List_Item::buff_addr","value":"usize","parent":{"krate":0,"index":3326},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3338},"span":{"file_name":"src/collection/list.rs","byte_start":410410,"byte_end":410417,"line_start":51,"line_end":51,"column_start":12,"column_end":19},"name":"NP_List","qualname":"::collection::list::NP_List","value":"NP_List { next, current, index, count, tail, head, only_real, schema_of, list }","parent":null,"children":[{"krate":0,"index":3339},{"krate":0,"index":3340},{"krate":0,"index":3341},{"krate":0,"index":3342},{"krate":0,"index":3343},{"krate":0,"index":3344},{"krate":0,"index":3345},{"krate":0,"index":3346},{"krate":0,"index":3347}],"decl_id":null,"docs":" List data type.\n \n","sig":null,"attributes":[{"value":"/ List data type.","span":{"file_name":"src/collection/list.rs","byte_start":410342,"byte_end":410361,"line_start":47,"line_end":47,"column_start":1,"column_end":20}},{"value":"/ ","span":{"file_name":"src/collection/list.rs","byte_start":410362,"byte_end":410366,"line_start":48,"line_end":48,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3339},"span":{"file_name":"src/collection/list.rs","byte_start":410424,"byte_end":410428,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"name":"next","qualname":"::collection::list::NP_List::next","value":"core::option::Option","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3340},"span":{"file_name":"src/collection/list.rs","byte_start":410453,"byte_end":410460,"line_start":53,"line_end":53,"column_start":5,"column_end":12},"name":"current","qualname":"::collection::list::NP_List::current","value":"core::option::Option","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3341},"span":{"file_name":"src/collection/list.rs","byte_start":410485,"byte_end":410490,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::list::NP_List::index","value":"usize","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3342},"span":{"file_name":"src/collection/list.rs","byte_start":410503,"byte_end":410508,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"name":"count","qualname":"::collection::list::NP_List::count","value":"usize","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3343},"span":{"file_name":"src/collection/list.rs","byte_start":410521,"byte_end":410525,"line_start":56,"line_end":56,"column_start":5,"column_end":9},"name":"tail","qualname":"::collection::list::NP_List::tail","value":"core::option::Option","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3344},"span":{"file_name":"src/collection/list.rs","byte_start":410550,"byte_end":410554,"line_start":57,"line_end":57,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::list::NP_List::head","value":"core::option::Option","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3345},"span":{"file_name":"src/collection/list.rs","byte_start":410579,"byte_end":410588,"line_start":58,"line_end":58,"column_start":5,"column_end":14},"name":"only_real","qualname":"::collection::list::NP_List::only_real","value":"bool","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3346},"span":{"file_name":"src/collection/list.rs","byte_start":410600,"byte_end":410609,"line_start":59,"line_end":59,"column_start":5,"column_end":14},"name":"schema_of","qualname":"::collection::list::NP_List::schema_of","value":"usize","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3347},"span":{"file_name":"src/collection/list.rs","byte_start":410622,"byte_end":410626,"line_start":60,"line_end":60,"column_start":5,"column_end":9},"name":"list","qualname":"::collection::list::NP_List::list","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3338},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743865},"span":{"file_name":"src/collection/list.rs","byte_start":410721,"byte_end":410732,"line_start":68,"line_end":68,"column_start":19,"column_end":30},"name":"list_cursor","qualname":"::select::list_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872953},"span":{"file_name":"src/collection/list.rs","byte_start":410745,"byte_end":410750,"line_start":68,"line_end":68,"column_start":43,"column_end":48},"name":"index","qualname":"::select::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614777},"span":{"file_name":"src/collection/list.rs","byte_start":410759,"byte_end":410768,"line_start":68,"line_end":68,"column_start":57,"column_end":66},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437497},"span":{"file_name":"src/collection/list.rs","byte_start":410776,"byte_end":410788,"line_start":68,"line_end":68,"column_start":74,"column_end":86},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179321},"span":{"file_name":"src/collection/list.rs","byte_start":410796,"byte_end":410802,"line_start":68,"line_end":68,"column_start":94,"column_end":100},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2041},"span":{"file_name":"src/collection/list.rs","byte_start":410714,"byte_end":410720,"line_start":68,"line_end":68,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, usize, bool, bool, &NP_Memory)\n-> Result)>, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410685,"byte_end":410702,"line_start":67,"line_end":67,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1744832505},"span":{"file_name":"src/collection/list.rs","byte_start":410886,"byte_end":410896,"line_start":69,"line_end":69,"column_start":13,"column_end":23},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 22 }","value":"[closure@src/collection/list.rs:69:26: 69:62]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247737},"span":{"file_name":"src/collection/list.rs","byte_start":410994,"byte_end":410998,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 57 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227860473},"span":{"file_name":"src/collection/list.rs","byte_start":411106,"byte_end":411115,"line_start":75,"line_end":75,"column_start":13,"column_end":22},"name":"schema_of","qualname":"schema_of$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 63 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110419961},"span":{"file_name":"src/collection/list.rs","byte_start":411547,"byte_end":411556,"line_start":90,"line_end":90,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 175 }","value":"[closure@src/collection/list.rs:90:25: 92:10]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776889},"span":{"file_name":"src/collection/list.rs","byte_start":411731,"byte_end":411746,"line_start":96,"line_end":96,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 211 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1191184377},"span":{"file_name":"src/collection/list.rs","byte_start":411820,"byte_end":411830,"line_start":97,"line_end":97,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 226 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3607103481},"span":{"file_name":"src/collection/list.rs","byte_start":411918,"byte_end":411934,"line_start":98,"line_end":98,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 235 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3430942713},"span":{"file_name":"src/collection/list.rs","byte_start":412228,"byte_end":412232,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"name":"head","qualname":"head$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 307 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189428729},"span":{"file_name":"src/collection/list.rs","byte_start":412333,"byte_end":412343,"line_start":108,"line_end":108,"column_start":13,"column_end":23},"name":"head_index","qualname":"head_index$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 321 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3330279417},"span":{"file_name":"src/collection/list.rs","byte_start":412483,"byte_end":412498,"line_start":111,"line_end":111,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 355 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1317013497},"span":{"file_name":"src/collection/list.rs","byte_start":412572,"byte_end":412582,"line_start":112,"line_end":112,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 370 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3732932601},"span":{"file_name":"src/collection/list.rs","byte_start":412670,"byte_end":412686,"line_start":113,"line_end":113,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 379 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3682600953},"span":{"file_name":"src/collection/list.rs","byte_start":413146,"byte_end":413150,"line_start":123,"line_end":123,"column_start":13,"column_end":17},"name":"tail","qualname":"tail$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 475 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3883927545},"span":{"file_name":"src/collection/list.rs","byte_start":413251,"byte_end":413261,"line_start":125,"line_end":125,"column_start":13,"column_end":23},"name":"tail_value","qualname":"tail_value$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 487 }","value":"[closure@src/collection/list.rs:125:26: 125:59]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1333790713},"span":{"file_name":"src/collection/list.rs","byte_start":413311,"byte_end":413321,"line_start":126,"line_end":126,"column_start":13,"column_end":23},"name":"tail_index","qualname":"tail_index$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 498 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":675284985},"span":{"file_name":"src/collection/list.rs","byte_start":413432,"byte_end":413447,"line_start":129,"line_end":129,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 532 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3292530681},"span":{"file_name":"src/collection/list.rs","byte_start":413521,"byte_end":413531,"line_start":130,"line_end":130,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 547 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":876611577},"span":{"file_name":"src/collection/list.rs","byte_start":413619,"byte_end":413635,"line_start":131,"line_end":131,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 556 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1363150841},"span":{"file_name":"src/collection/list.rs","byte_start":414091,"byte_end":414100,"line_start":141,"line_end":141,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2041 ~ no_proto[2d88]::collection::list::{impl#1}::select), local_id: 650 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743872},"span":{"file_name":"src/collection/list.rs","byte_start":414732,"byte_end":414736,"line_start":159,"line_end":159,"column_start":30,"column_end":34},"name":"self","qualname":"::make_item_in_loop::self","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872960},"span":{"file_name":"src/collection/list.rs","byte_start":414738,"byte_end":414744,"line_start":159,"line_end":159,"column_start":36,"column_end":42},"name":"memory","qualname":"::make_item_in_loop::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2048},"span":{"file_name":"src/collection/list.rs","byte_start":414714,"byte_end":414731,"line_start":159,"line_end":159,"column_start":12,"column_end":29},"name":"make_item_in_loop","qualname":"::make_item_in_loop","value":"pub fn make_item_in_loop(Self, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":414685,"byte_end":414702,"line_start":158,"line_end":158,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3087009792},"span":{"file_name":"src/collection/list.rs","byte_start":414804,"byte_end":414813,"line_start":161,"line_end":161,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 29 }","value":"[closure@src/collection/list.rs:161:25: 161:109]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247744},"span":{"file_name":"src/collection/list.rs","byte_start":414915,"byte_end":414930,"line_start":163,"line_end":163,"column_start":13,"column_end":28},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733760},"span":{"file_name":"src/collection/list.rs","byte_start":415000,"byte_end":415010,"line_start":164,"line_end":164,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 74 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386944},"span":{"file_name":"src/collection/list.rs","byte_start":415097,"byte_end":415113,"line_start":165,"line_end":165,"column_start":13,"column_end":29},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 86 }","value":"[closure@src/collection/list.rs:165:32: 165:71]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2113931264},"span":{"file_name":"src/collection/list.rs","byte_start":415343,"byte_end":415354,"line_start":172,"line_end":172,"column_start":17,"column_end":28},"name":"curr_cursor","qualname":"curr_cursor$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 126 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774875648},"span":{"file_name":"src/collection/list.rs","byte_start":415447,"byte_end":415464,"line_start":173,"line_end":173,"column_start":17,"column_end":34},"name":"prev_cursor_value","qualname":"prev_cursor_value$HirId { owner: DefId(0:2048 ~ no_proto[2d88]::collection::list::{impl#1}::make_item_in_loop), local_id: 135 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743876},"span":{"file_name":"src/collection/list.rs","byte_start":415953,"byte_end":415964,"line_start":189,"line_end":189,"column_start":29,"column_end":40},"name":"list_cursor","qualname":"::make_list::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872964},"span":{"file_name":"src/collection/list.rs","byte_start":415978,"byte_end":415984,"line_start":189,"line_end":189,"column_start":54,"column_end":60},"name":"memory","qualname":"::make_list::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2052},"span":{"file_name":"src/collection/list.rs","byte_start":415936,"byte_end":415945,"line_start":189,"line_end":189,"column_start":12,"column_end":21},"name":"make_list","qualname":"::make_list","value":"pub fn make_list<'make>(&NP_Cursor, &'make NP_Memory) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":415907,"byte_end":415924,"line_start":188,"line_end":188,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":67110916},"span":{"file_name":"src/collection/list.rs","byte_start":416042,"byte_end":416051,"line_start":190,"line_end":190,"column_start":13,"column_end":22},"name":"list_addr","qualname":"list_addr$HirId { owner: DefId(0:2052 ~ no_proto[2d88]::collection::list::{impl#1}::make_list), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030020},"span":{"file_name":"src/collection/list.rs","byte_start":416115,"byte_end":416120,"line_start":191,"line_end":191,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2052 ~ no_proto[2d88]::collection::list::{impl#1}::make_list), local_id: 41 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743879},"span":{"file_name":"src/collection/list.rs","byte_start":416277,"byte_end":416299,"line_start":197,"line_end":197,"column_start":28,"column_end":50},"name":"list_cursor_value_addr","qualname":"::get_list::list_cursor_value_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872967},"span":{"file_name":"src/collection/list.rs","byte_start":416308,"byte_end":416314,"line_start":197,"line_end":197,"column_start":59,"column_end":65},"name":"memory","qualname":"::get_list::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2055},"span":{"file_name":"src/collection/list.rs","byte_start":416261,"byte_end":416269,"line_start":197,"line_end":197,"column_start":12,"column_end":20},"name":"get_list","qualname":"::get_list","value":"pub fn get_list<'list>(usize, &'list NP_Memory) -> &'list mut NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":416232,"byte_end":416249,"line_start":196,"line_end":196,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743881},"span":{"file_name":"src/collection/list.rs","byte_start":416737,"byte_end":416748,"line_start":206,"line_end":206,"column_start":21,"column_end":32},"name":"list_cursor","qualname":"::new_iter::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872969},"span":{"file_name":"src/collection/list.rs","byte_start":416762,"byte_end":416768,"line_start":206,"line_end":206,"column_start":46,"column_end":52},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614793},"span":{"file_name":"src/collection/list.rs","byte_start":416782,"byte_end":416791,"line_start":206,"line_end":206,"column_start":66,"column_end":75},"name":"only_real","qualname":"::new_iter::only_real","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437513},"span":{"file_name":"src/collection/list.rs","byte_start":416799,"byte_end":416813,"line_start":206,"line_end":206,"column_start":83,"column_end":97},"name":"starting_index","qualname":"::new_iter::starting_index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2057},"span":{"file_name":"src/collection/list.rs","byte_start":416728,"byte_end":416736,"line_start":206,"line_end":206,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &NP_Memory, bool, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":416699,"byte_end":416716,"line_start":205,"line_end":205,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2281703433},"span":{"file_name":"src/collection/list.rs","byte_start":416845,"byte_end":416850,"line_start":208,"line_end":208,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 17 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880713},"span":{"file_name":"src/collection/list.rs","byte_start":416897,"byte_end":416906,"line_start":210,"line_end":210,"column_start":13,"column_end":22},"name":"list_addr","qualname":"list_addr$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093642761},"span":{"file_name":"src/collection/list.rs","byte_start":416955,"byte_end":416959,"line_start":212,"line_end":212,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 47 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885683209},"span":{"file_name":"src/collection/list.rs","byte_start":417067,"byte_end":417076,"line_start":214,"line_end":214,"column_start":13,"column_end":22},"name":"schema_of","qualname":"schema_of$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006635017},"span":{"file_name":"src/collection/list.rs","byte_start":417104,"byte_end":417116,"line_start":216,"line_end":216,"column_start":13,"column_end":25},"name":"memory_bytes","qualname":"memory_bytes$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 60 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822409},"span":{"file_name":"src/collection/list.rs","byte_start":417226,"byte_end":417231,"line_start":220,"line_end":220,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 94 }","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100809},"span":{"file_name":"src/collection/list.rs","byte_start":417330,"byte_end":417339,"line_start":222,"line_end":222,"column_start":17,"column_end":26},"name":"tail_addr","qualname":"tail_addr$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 104 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040189449},"span":{"file_name":"src/collection/list.rs","byte_start":417436,"byte_end":417447,"line_start":226,"line_end":226,"column_start":21,"column_end":32},"name":"tail_cursor","qualname":"tail_cursor$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 124 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150997001},"span":{"file_name":"src/collection/list.rs","byte_start":417533,"byte_end":417544,"line_start":227,"line_end":227,"column_start":21,"column_end":32},"name":"head_cursor","qualname":"head_cursor$HirId { owner: DefId(0:2057 ~ no_proto[2d88]::collection::list::{impl#1}::new_iter), local_id: 144 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743882},"span":{"file_name":"src/collection/list.rs","byte_start":418679,"byte_end":418683,"line_start":257,"line_end":257,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872970},"span":{"file_name":"src/collection/list.rs","byte_start":418685,"byte_end":418691,"line_start":257,"line_end":257,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2058},"span":{"file_name":"src/collection/list.rs","byte_start":418664,"byte_end":418673,"line_start":257,"line_end":257,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &NP_Memory) -> Option<(usize, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":418635,"byte_end":418652,"line_start":256,"line_end":256,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3288336394},"span":{"file_name":"src/collection/list.rs","byte_start":418895,"byte_end":418899,"line_start":266,"line_end":266,"column_start":18,"column_end":22},"name":"next","qualname":"next$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 35 }","value":"collection::list::List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254781962},"span":{"file_name":"src/collection/list.rs","byte_start":419013,"byte_end":419024,"line_start":270,"line_end":270,"column_start":25,"column_end":36},"name":"this_cursor","qualname":"this_cursor$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 67 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862858},"span":{"file_name":"src/collection/list.rs","byte_start":419122,"byte_end":419132,"line_start":271,"line_end":271,"column_start":25,"column_end":35},"name":"this_value","qualname":"this_value$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 76 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386954},"span":{"file_name":"src/collection/list.rs","byte_start":419190,"byte_end":419199,"line_start":272,"line_end":272,"column_start":25,"column_end":34},"name":"next_addr","qualname":"next_addr$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 86 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503318538},"span":{"file_name":"src/collection/list.rs","byte_start":419374,"byte_end":419385,"line_start":276,"line_end":276,"column_start":29,"column_end":40},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 120 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1627392010},"span":{"file_name":"src/collection/list.rs","byte_start":419482,"byte_end":419492,"line_start":277,"line_end":277,"column_start":29,"column_end":39},"name":"next_index","qualname":"next_index$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 134 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996490762},"span":{"file_name":"src/collection/list.rs","byte_start":420099,"byte_end":420110,"line_start":290,"line_end":290,"column_start":29,"column_end":40},"name":"this_cursor","qualname":"this_cursor$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 238 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4009756682},"span":{"file_name":"src/collection/list.rs","byte_start":420212,"byte_end":420222,"line_start":291,"line_end":291,"column_start":29,"column_end":39},"name":"this_value","qualname":"this_value$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 247 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155874314},"span":{"file_name":"src/collection/list.rs","byte_start":420285,"byte_end":420294,"line_start":293,"line_end":293,"column_start":29,"column_end":38},"name":"next_addr","qualname":"next_addr$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 257 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3095398410},"span":{"file_name":"src/collection/list.rs","byte_start":420456,"byte_end":420467,"line_start":297,"line_end":297,"column_start":33,"column_end":44},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 285 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3565160458},"span":{"file_name":"src/collection/list.rs","byte_start":420568,"byte_end":420578,"line_start":298,"line_end":298,"column_start":33,"column_end":43},"name":"next_index","qualname":"next_index$HirId { owner: DefId(0:2058 ~ no_proto[2d88]::collection::list::{impl#1}::step_iter), local_id: 299 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743883},"span":{"file_name":"src/collection/list.rs","byte_start":421106,"byte_end":421117,"line_start":315,"line_end":315,"column_start":24,"column_end":35},"name":"list_cursor","qualname":"::push::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872971},"span":{"file_name":"src/collection/list.rs","byte_start":421131,"byte_end":421137,"line_start":315,"line_end":315,"column_start":49,"column_end":55},"name":"memory","qualname":"::push::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614795},"span":{"file_name":"src/collection/list.rs","byte_start":421151,"byte_end":421156,"line_start":315,"line_end":315,"column_start":69,"column_end":74},"name":"index","qualname":"::push::index","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2059},"span":{"file_name":"src/collection/list.rs","byte_start":421094,"byte_end":421098,"line_start":315,"line_end":315,"column_start":12,"column_end":16},"name":"push","qualname":"::push","value":"pub fn push<'push>(&NP_Cursor, &NP_Memory, Option)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":421065,"byte_end":421082,"line_start":314,"line_end":314,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1207961611},"span":{"file_name":"src/collection/list.rs","byte_start":421234,"byte_end":421244,"line_start":317,"line_end":317,"column_start":13,"column_end":23},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 18 }","value":"[closure@src/collection/list.rs:317:26: 317:60]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2986346507},"span":{"file_name":"src/collection/list.rs","byte_start":421407,"byte_end":421411,"line_start":323,"line_end":323,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 77 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925870603},"span":{"file_name":"src/collection/list.rs","byte_start":421523,"byte_end":421532,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"new_index","qualname":"new_index$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 87 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108555},"span":{"file_name":"src/collection/list.rs","byte_start":421575,"byte_end":421588,"line_start":327,"line_end":327,"column_start":13,"column_end":26},"name":"new_item_addr","qualname":"new_item_addr$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 115 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285214731},"span":{"file_name":"src/collection/list.rs","byte_start":421652,"byte_end":421661,"line_start":329,"line_end":329,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 136 }","value":"[closure@src/collection/list.rs:329:25: 329:92]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":419432459},"span":{"file_name":"src/collection/list.rs","byte_start":421746,"byte_end":421756,"line_start":331,"line_end":331,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 152 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":620759051},"span":{"file_name":"src/collection/list.rs","byte_start":421839,"byte_end":421855,"line_start":332,"line_end":332,"column_start":13,"column_end":29},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 164 }","value":"[closure@src/collection/list.rs:332:32: 332:69]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3204450315},"span":{"file_name":"src/collection/list.rs","byte_start":422325,"byte_end":422333,"line_start":343,"line_end":343,"column_start":17,"column_end":25},"name":"old_tail","qualname":"old_tail$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 253 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2424309771},"span":{"file_name":"src/collection/list.rs","byte_start":422438,"byte_end":422452,"line_start":344,"line_end":344,"column_start":17,"column_end":31},"name":"old_tail_value","qualname":"old_tail_value$HirId { owner: DefId(0:2059 ~ no_proto[2d88]::collection::list::{impl#1}::push), local_id: 265 }","value":"[closure@src/collection/list.rs:344:34: 344:69]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743892},"span":{"file_name":"src/collection/list.rs","byte_start":423152,"byte_end":423157,"line_start":367,"line_end":367,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872980},"span":{"file_name":"src/collection/list.rs","byte_start":423165,"byte_end":423171,"line_start":367,"line_end":367,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614804},"span":{"file_name":"src/collection/list.rs","byte_start":423185,"byte_end":423191,"line_start":367,"line_end":367,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2068},"span":{"file_name":"src/collection/list.rs","byte_start":423144,"byte_end":423151,"line_start":367,"line_end":367,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961620},"span":{"file_name":"src/collection/list.rs","byte_start":423237,"byte_end":423244,"line_start":368,"line_end":368,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2068 ~ no_proto[2d88]::collection::list::{impl#2}::to_json), local_id: 18 }","value":"[closure@src/collection/list.rs:368:23: 368:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288212},"span":{"file_name":"src/collection/list.rs","byte_start":423386,"byte_end":423395,"line_start":374,"line_end":374,"column_start":17,"column_end":26},"name":"json_list","qualname":"json_list$HirId { owner: DefId(0:2068 ~ no_proto[2d88]::collection::list::{impl#2}::to_json), local_id: 42 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247764},"span":{"file_name":"src/collection/list.rs","byte_start":423427,"byte_end":423436,"line_start":376,"line_end":376,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2068 ~ no_proto[2d88]::collection::list::{impl#2}::to_json), local_id: 57 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2070},"span":{"file_name":"src/collection/list.rs","byte_start":423859,"byte_end":423867,"line_start":389,"line_end":389,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743895},"span":{"file_name":"src/collection/list.rs","byte_start":423954,"byte_end":423958,"line_start":390,"line_end":390,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2071},"span":{"file_name":"src/collection/list.rs","byte_start":423939,"byte_end":423952,"line_start":390,"line_end":390,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743896},"span":{"file_name":"src/collection/list.rs","byte_start":424045,"byte_end":424051,"line_start":392,"line_end":392,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872984},"span":{"file_name":"src/collection/list.rs","byte_start":424077,"byte_end":424084,"line_start":392,"line_end":392,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2072},"span":{"file_name":"src/collection/list.rs","byte_start":424030,"byte_end":424044,"line_start":392,"line_end":392,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308440},"span":{"file_name":"src/collection/list.rs","byte_start":424139,"byte_end":424150,"line_start":393,"line_end":393,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:2072 ~ no_proto[2d88]::collection::list::{impl#2}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070488},"span":{"file_name":"src/collection/list.rs","byte_start":424276,"byte_end":424280,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2072 ~ no_proto[2d88]::collection::list::{impl#2}::schema_to_json), local_id: 50 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764120},"span":{"file_name":"src/collection/list.rs","byte_start":424361,"byte_end":424368,"line_start":398,"line_end":398,"column_start":13,"column_end":20},"name":"list_of","qualname":"list_of$HirId { owner: DefId(0:2072 ~ no_proto[2d88]::collection::list::{impl#2}::schema_to_json), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743897},"span":{"file_name":"src/collection/list.rs","byte_start":424553,"byte_end":424558,"line_start":405,"line_end":405,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872985},"span":{"file_name":"src/collection/list.rs","byte_start":424567,"byte_end":424577,"line_start":405,"line_end":405,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614809},"span":{"file_name":"src/collection/list.rs","byte_start":424585,"byte_end":424591,"line_start":405,"line_end":405,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437529},"span":{"file_name":"src/collection/list.rs","byte_start":424604,"byte_end":424610,"line_start":405,"line_end":405,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179353},"span":{"file_name":"src/collection/list.rs","byte_start":424629,"byte_end":424634,"line_start":405,"line_end":405,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2073},"span":{"file_name":"src/collection/list.rs","byte_start":424533,"byte_end":424546,"line_start":405,"line_end":405,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961625},"span":{"file_name":"src/collection/list.rs","byte_start":424755,"byte_end":424759,"line_start":408,"line_end":408,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2073 ~ no_proto[2d88]::collection::list::{impl#2}::set_from_json), local_id: 18 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880729},"span":{"file_name":"src/collection/list.rs","byte_start":424787,"byte_end":424790,"line_start":409,"line_end":409,"column_start":22,"column_end":25},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2073 ~ no_proto[2d88]::collection::list::{impl#2}::set_from_json), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526169},"span":{"file_name":"src/collection/list.rs","byte_start":424792,"byte_end":424801,"line_start":409,"line_end":409,"column_start":27,"column_end":36},"name":"list_item","qualname":"list_item$HirId { owner: DefId(0:2073 ~ no_proto[2d88]::collection::list::{impl#2}::set_from_json), local_id: 28 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298329},"span":{"file_name":"src/collection/list.rs","byte_start":424940,"byte_end":424941,"line_start":411,"line_end":411,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:2073 ~ no_proto[2d88]::collection::list::{impl#2}::set_from_json), local_id: 66 }","value":"(usize, core::option::Option)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475609},"span":{"file_name":"src/collection/list.rs","byte_start":425025,"byte_end":425035,"line_start":413,"line_end":413,"column_start":38,"column_end":48},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2073 ~ no_proto[2d88]::collection::list::{impl#2}::set_from_json), local_id: 73 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743899},"span":{"file_name":"src/collection/list.rs","byte_start":425594,"byte_end":425599,"line_start":432,"line_end":432,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872987},"span":{"file_name":"src/collection/list.rs","byte_start":425607,"byte_end":425613,"line_start":432,"line_end":432,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614811},"span":{"file_name":"src/collection/list.rs","byte_start":425627,"byte_end":425633,"line_start":432,"line_end":432,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2075},"span":{"file_name":"src/collection/list.rs","byte_start":425585,"byte_end":425593,"line_start":432,"line_end":432,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961627},"span":{"file_name":"src/collection/list.rs","byte_start":425689,"byte_end":425696,"line_start":434,"line_end":434,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2075 ~ no_proto[2d88]::collection::list::{impl#2}::get_size), local_id: 18 }","value":"[closure@src/collection/list.rs:434:23: 434:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207323},"span":{"file_name":"src/collection/list.rs","byte_start":425850,"byte_end":425859,"line_start":441,"line_end":441,"column_start":13,"column_end":22},"name":"base_size","qualname":"base_size$HirId { owner: DefId(0:2075 ~ no_proto[2d88]::collection::list::{impl#2}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556771867},"span":{"file_name":"src/collection/list.rs","byte_start":425887,"byte_end":425895,"line_start":443,"line_end":443,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:2075 ~ no_proto[2d88]::collection::list::{impl#2}::get_size), local_id: 43 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543505947},"span":{"file_name":"src/collection/list.rs","byte_start":425923,"byte_end":425932,"line_start":445,"line_end":445,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2075 ~ no_proto[2d88]::collection::list::{impl#2}::get_size), local_id: 58 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743901},"span":{"file_name":"src/collection/list.rs","byte_start":426280,"byte_end":426285,"line_start":458,"line_end":458,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872989},"span":{"file_name":"src/collection/list.rs","byte_start":426293,"byte_end":426304,"line_start":458,"line_end":458,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614813},"span":{"file_name":"src/collection/list.rs","byte_start":426317,"byte_end":426328,"line_start":458,"line_end":458,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437533},"span":{"file_name":"src/collection/list.rs","byte_start":426349,"byte_end":426358,"line_start":458,"line_end":458,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179357},"span":{"file_name":"src/collection/list.rs","byte_start":426371,"byte_end":426380,"line_start":458,"line_end":458,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2077},"span":{"file_name":"src/collection/list.rs","byte_start":426269,"byte_end":426279,"line_start":458,"line_end":458,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445277},"span":{"file_name":"src/collection/list.rs","byte_start":426474,"byte_end":426484,"line_start":460,"line_end":460,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:2077 ~ no_proto[2d88]::collection::list::{impl#2}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604701},"span":{"file_name":"src/collection/list.rs","byte_start":426681,"byte_end":426690,"line_start":468,"line_end":468,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2077 ~ no_proto[2d88]::collection::list::{impl#2}::do_compact), local_id: 78 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303389},"span":{"file_name":"src/collection/list.rs","byte_start":426898,"byte_end":426908,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"name":"_new_index","qualname":"_new_index$HirId { owner: DefId(0:2077 ~ no_proto[2d88]::collection::list::{impl#2}::do_compact), local_id: 156 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103787037},"span":{"file_name":"src/collection/list.rs","byte_start":426910,"byte_end":426918,"line_start":472,"line_end":472,"column_start":34,"column_end":42},"name":"new_item","qualname":"new_item$HirId { owner: DefId(0:2077 ~ no_proto[2d88]::collection::list::{impl#2}::do_compact), local_id: 157 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743902},"span":{"file_name":"src/collection/list.rs","byte_start":427166,"byte_end":427172,"line_start":480,"line_end":480,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872990},"span":{"file_name":"src/collection/list.rs","byte_start":427198,"byte_end":427205,"line_start":480,"line_end":480,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2078},"span":{"file_name":"src/collection/list.rs","byte_start":427152,"byte_end":427165,"line_start":480,"line_end":480,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832542},"span":{"file_name":"src/collection/list.rs","byte_start":427255,"byte_end":427259,"line_start":481,"line_end":481,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2078 ~ no_proto[2d88]::collection::list::{impl#2}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751646},"span":{"file_name":"src/collection/list.rs","byte_start":427344,"byte_end":427350,"line_start":483,"line_end":483,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2078 ~ no_proto[2d88]::collection::list::{impl#2}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743903},"span":{"file_name":"src/collection/list.rs","byte_start":427557,"byte_end":427563,"line_start":490,"line_end":490,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872991},"span":{"file_name":"src/collection/list.rs","byte_start":427588,"byte_end":427593,"line_start":490,"line_end":490,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614815},"span":{"file_name":"src/collection/list.rs","byte_start":427601,"byte_end":427604,"line_start":490,"line_end":490,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437535},"span":{"file_name":"src/collection/list.rs","byte_start":427618,"byte_end":427622,"line_start":490,"line_end":490,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2079},"span":{"file_name":"src/collection/list.rs","byte_start":427534,"byte_end":427552,"line_start":490,"line_end":490,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090719},"span":{"file_name":"src/collection/list.rs","byte_start":427716,"byte_end":427728,"line_start":491,"line_end":491,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723679},"span":{"file_name":"src/collection/list.rs","byte_start":427817,"byte_end":427833,"line_start":494,"line_end":494,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564255},"span":{"file_name":"src/collection/list.rs","byte_start":428137,"byte_end":428143,"line_start":502,"line_end":502,"column_start":17,"column_end":23},"name":"of_jst","qualname":"of_jst$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 93 }","value":"core::option::Option<&idl::JS_AST>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455391},"span":{"file_name":"src/collection/list.rs","byte_start":428260,"byte_end":428270,"line_start":506,"line_end":506,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 109 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624927},"span":{"file_name":"src/collection/list.rs","byte_start":428303,"byte_end":428306,"line_start":507,"line_end":507,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 114 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108575},"span":{"file_name":"src/collection/list.rs","byte_start":428308,"byte_end":428313,"line_start":507,"line_end":507,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 115 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2332035103},"span":{"file_name":"src/collection/list.rs","byte_start":428654,"byte_end":428663,"line_start":519,"line_end":519,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 209 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293279},"span":{"file_name":"src/collection/list.rs","byte_start":428665,"byte_end":428676,"line_start":519,"line_end":519,"column_start":29,"column_end":40},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 210 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776927},"span":{"file_name":"src/collection/list.rs","byte_start":428678,"byte_end":428684,"line_start":519,"line_end":519,"column_start":42,"column_end":48},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2079 ~ no_proto[2d88]::collection::list::{impl#2}::from_idl_to_schema), local_id: 211 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743904},"span":{"file_name":"src/collection/list.rs","byte_start":428963,"byte_end":428969,"line_start":529,"line_end":529,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872992},"span":{"file_name":"src/collection/list.rs","byte_start":428994,"byte_end":429005,"line_start":529,"line_end":529,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2080},"span":{"file_name":"src/collection/list.rs","byte_start":428939,"byte_end":428958,"line_start":529,"line_end":529,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219808},"span":{"file_name":"src/collection/list.rs","byte_start":429101,"byte_end":429113,"line_start":531,"line_end":531,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2080 ~ no_proto[2d88]::collection::list::{impl#2}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852768},"span":{"file_name":"src/collection/list.rs","byte_start":429202,"byte_end":429218,"line_start":534,"line_end":534,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2080 ~ no_proto[2d88]::collection::list::{impl#2}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827488},"span":{"file_name":"src/collection/list.rs","byte_start":429768,"byte_end":429777,"line_start":550,"line_end":550,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2080 ~ no_proto[2d88]::collection::list::{impl#2}::from_json_to_schema), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043311136},"span":{"file_name":"src/collection/list.rs","byte_start":429779,"byte_end":429790,"line_start":550,"line_end":550,"column_start":25,"column_end":36},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:2080 ~ no_proto[2d88]::collection::list::{impl#2}::from_json_to_schema), local_id: 143 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150997024},"span":{"file_name":"src/collection/list.rs","byte_start":429792,"byte_end":429798,"line_start":550,"line_end":550,"column_start":38,"column_end":44},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2080 ~ no_proto[2d88]::collection::list::{impl#2}::from_json_to_schema), local_id: 144 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743905},"span":{"file_name":"src/collection/list.rs","byte_start":430000,"byte_end":430006,"line_start":557,"line_end":557,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872993},"span":{"file_name":"src/collection/list.rs","byte_start":430015,"byte_end":430020,"line_start":557,"line_end":557,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614817},"span":{"file_name":"src/collection/list.rs","byte_start":430029,"byte_end":430036,"line_start":557,"line_end":557,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2081},"span":{"file_name":"src/collection/list.rs","byte_start":429986,"byte_end":429999,"line_start":557,"line_end":557,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743906},"span":{"file_name":"src/collection/list.rs","byte_start":430132,"byte_end":430138,"line_start":561,"line_end":561,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872994},"span":{"file_name":"src/collection/list.rs","byte_start":430163,"byte_end":430170,"line_start":561,"line_end":561,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614818},"span":{"file_name":"src/collection/list.rs","byte_start":430179,"byte_end":430184,"line_start":561,"line_end":561,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2082},"span":{"file_name":"src/collection/list.rs","byte_start":430107,"byte_end":430127,"line_start":561,"line_end":561,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952792098},"span":{"file_name":"src/collection/list.rs","byte_start":430241,"byte_end":430257,"line_start":563,"line_end":563,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2082 ~ no_proto[2d88]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 13 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475618},"span":{"file_name":"src/collection/list.rs","byte_start":430565,"byte_end":430574,"line_start":571,"line_end":571,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2082 ~ no_proto[2d88]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 73 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733794},"span":{"file_name":"src/collection/list.rs","byte_start":430576,"byte_end":430582,"line_start":571,"line_end":571,"column_start":25,"column_end":31},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2082 ~ no_proto[2d88]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 74 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2083},"span":{"file_name":"src/collection/tuple.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"tuple","qualname":"::collection::tuple","value":"src/collection/tuple.rs","parent":null,"children":[{"krate":0,"index":2084},{"krate":0,"index":2085},{"krate":0,"index":2088},{"krate":0,"index":2091},{"krate":0,"index":2092},{"krate":0,"index":2095},{"krate":0,"index":2098},{"krate":0,"index":2101},{"krate":0,"index":2102},{"krate":0,"index":2105},{"krate":0,"index":2108},{"krate":0,"index":2109},{"krate":0,"index":2112},{"krate":0,"index":2113},{"krate":0,"index":2116},{"krate":0,"index":2117},{"krate":0,"index":2120},{"krate":0,"index":2121},{"krate":0,"index":2124},{"krate":0,"index":2125},{"krate":0,"index":2126},{"krate":0,"index":2129},{"krate":0,"index":2130},{"krate":0,"index":2133},{"krate":0,"index":2136},{"krate":0,"index":2139},{"krate":0,"index":2142},{"krate":0,"index":2145},{"krate":0,"index":2148},{"krate":0,"index":2151},{"krate":0,"index":2152},{"krate":0,"index":2155},{"krate":0,"index":3350},{"krate":0,"index":3353},{"krate":0,"index":2158},{"krate":0,"index":2164}],"decl_id":null,"docs":" Tuple data type\n","sig":null,"attributes":[{"value":"/ Tuple data type","span":{"file_name":"src/collection/mod.rs","byte_start":366861,"byte_end":366880,"line_start":9,"line_end":9,"column_start":1,"column_end":20}}]},{"kind":"Struct","id":{"krate":0,"index":3350},"span":{"file_name":"src/collection/tuple.rs","byte_start":434273,"byte_end":434281,"line_start":18,"line_end":18,"column_start":12,"column_end":20},"name":"NP_Tuple","qualname":"::collection::tuple::NP_Tuple","value":"NP_Tuple { index, table }","parent":null,"children":[{"krate":0,"index":3351},{"krate":0,"index":3352}],"decl_id":null,"docs":" Tuple data type.\n \n","sig":null,"attributes":[{"value":"/ Tuple data type.","span":{"file_name":"src/collection/tuple.rs","byte_start":434204,"byte_end":434224,"line_start":14,"line_end":14,"column_start":1,"column_end":21}},{"value":"/ ","span":{"file_name":"src/collection/tuple.rs","byte_start":434225,"byte_end":434229,"line_start":15,"line_end":15,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3351},"span":{"file_name":"src/collection/tuple.rs","byte_start":434288,"byte_end":434293,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::tuple::NP_Tuple::index","value":"usize","parent":{"krate":0,"index":3350},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3352},"span":{"file_name":"src/collection/tuple.rs","byte_start":434306,"byte_end":434311,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"table","qualname":"::collection::tuple::NP_Tuple::table","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3350},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743983},"span":{"file_name":"src/collection/tuple.rs","byte_start":434410,"byte_end":434422,"line_start":27,"line_end":27,"column_start":23,"column_end":35},"name":"tuple_cursor","qualname":"::select::tuple_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873071},"span":{"file_name":"src/collection/tuple.rs","byte_start":434435,"byte_end":434441,"line_start":27,"line_end":27,"column_start":48,"column_end":54},"name":"schema","qualname":"::select::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614895},"span":{"file_name":"src/collection/tuple.rs","byte_start":434462,"byte_end":434467,"line_start":27,"line_end":27,"column_start":75,"column_end":80},"name":"index","qualname":"::select::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437615},"span":{"file_name":"src/collection/tuple.rs","byte_start":434476,"byte_end":434485,"line_start":27,"line_end":27,"column_start":89,"column_end":98},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179439},"span":{"file_name":"src/collection/tuple.rs","byte_start":434493,"byte_end":434505,"line_start":27,"line_end":27,"column_start":106,"column_end":118},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308527},"span":{"file_name":"src/collection/tuple.rs","byte_start":434513,"byte_end":434519,"line_start":27,"line_end":27,"column_start":126,"column_end":132},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2159},"span":{"file_name":"src/collection/tuple.rs","byte_start":434399,"byte_end":434405,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &NP_Parsed_Schema, usize, bool, bool, &NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/tuple.rs","byte_start":434370,"byte_end":434387,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3623880815},"span":{"file_name":"src/collection/tuple.rs","byte_start":434796,"byte_end":434800,"line_start":30,"line_end":30,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2159 ~ no_proto[2d88]::collection::tuple::{impl#0}::select), local_id: 27 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925870703},"span":{"file_name":"src/collection/tuple.rs","byte_start":435086,"byte_end":435103,"line_start":40,"line_end":40,"column_start":13,"column_end":30},"name":"value_schema_data","qualname":"value_schema_data$HirId { owner: DefId(0:2159 ~ no_proto[2d88]::collection::tuple::{impl#0}::select), local_id: 87 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100665455},"span":{"file_name":"src/collection/tuple.rs","byte_start":435150,"byte_end":435155,"line_start":42,"line_end":42,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2159 ~ no_proto[2d88]::collection::tuple::{impl#0}::select), local_id: 96 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976202351},"span":{"file_name":"src/collection/tuple.rs","byte_start":435500,"byte_end":435512,"line_start":53,"line_end":53,"column_start":13,"column_end":25},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:2159 ~ no_proto[2d88]::collection::tuple::{impl#0}::select), local_id: 183 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946543},"span":{"file_name":"src/collection/tuple.rs","byte_start":435593,"byte_end":435599,"line_start":55,"line_end":55,"column_start":17,"column_end":23},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2159 ~ no_proto[2d88]::collection::tuple::{impl#0}::select), local_id: 198 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743984},"span":{"file_name":"src/collection/tuple.rs","byte_start":436079,"byte_end":436091,"line_start":73,"line_end":73,"column_start":31,"column_end":43},"name":"tuple_cursor","qualname":"::alloc_tuple::tuple_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873072},"span":{"file_name":"src/collection/tuple.rs","byte_start":436104,"byte_end":436109,"line_start":73,"line_end":73,"column_start":56,"column_end":61},"name":"empty","qualname":"::alloc_tuple::empty","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614896},"span":{"file_name":"src/collection/tuple.rs","byte_start":436121,"byte_end":436127,"line_start":73,"line_end":73,"column_start":73,"column_end":79},"name":"memory","qualname":"::alloc_tuple::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2160},"span":{"file_name":"src/collection/tuple.rs","byte_start":436060,"byte_end":436071,"line_start":73,"line_end":73,"column_start":12,"column_end":23},"name":"alloc_tuple","qualname":"::alloc_tuple","value":"pub fn alloc_tuple<'make>(NP_Cursor, &Vec, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/tuple.rs","byte_start":436031,"byte_end":436048,"line_start":72,"line_end":72,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":4160751728},"span":{"file_name":"src/collection/tuple.rs","byte_start":436193,"byte_end":436201,"line_start":75,"line_end":75,"column_start":13,"column_end":21},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:2160 ~ no_proto[2d88]::collection::tuple::{impl#0}::alloc_tuple), local_id: 31 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743986},"span":{"file_name":"src/collection/tuple.rs","byte_start":436372,"byte_end":436378,"line_start":82,"line_end":82,"column_start":21,"column_end":27},"name":"cursor","qualname":"::new_iter::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873074},"span":{"file_name":"src/collection/tuple.rs","byte_start":436392,"byte_end":436399,"line_start":82,"line_end":82,"column_start":41,"column_end":48},"name":"_memory","qualname":"::new_iter::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2162},"span":{"file_name":"src/collection/tuple.rs","byte_start":436363,"byte_end":436371,"line_start":82,"line_end":82,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743987},"span":{"file_name":"src/collection/tuple.rs","byte_start":436539,"byte_end":436543,"line_start":90,"line_end":90,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873075},"span":{"file_name":"src/collection/tuple.rs","byte_start":436545,"byte_end":436551,"line_start":90,"line_end":90,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614899},"span":{"file_name":"src/collection/tuple.rs","byte_start":436565,"byte_end":436575,"line_start":90,"line_end":90,"column_start":53,"column_end":63},"name":"show_empty","qualname":"::step_iter::show_empty","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2163},"span":{"file_name":"src/collection/tuple.rs","byte_start":436524,"byte_end":436533,"line_start":90,"line_end":90,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &NP_Memory, bool)\n-> Option<(usize, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880819},"span":{"file_name":"src/collection/tuple.rs","byte_start":436636,"byte_end":436640,"line_start":92,"line_end":92,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 27 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422554227},"span":{"file_name":"src/collection/tuple.rs","byte_start":436825,"byte_end":436835,"line_start":98,"line_end":98,"column_start":13,"column_end":23},"name":"this_index","qualname":"this_index$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 51 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241516147},"span":{"file_name":"src/collection/tuple.rs","byte_start":436888,"byte_end":436899,"line_start":101,"line_end":101,"column_start":13,"column_end":24},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 82 }","value":"core::result::Result, error::NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778387059},"span":{"file_name":"src/collection/tuple.rs","byte_start":437048,"byte_end":437052,"line_start":104,"line_end":104,"column_start":16,"column_end":20},"name":"next","qualname":"next$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 86 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080691},"span":{"file_name":"src/collection/tuple.rs","byte_start":437113,"byte_end":437119,"line_start":106,"line_end":106,"column_start":26,"column_end":32},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 92 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298480755},"span":{"file_name":"src/collection/tuple.rs","byte_start":437494,"byte_end":437496,"line_start":116,"line_end":116,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2163 ~ no_proto[2d88]::collection::tuple::{impl#0}::step_iter), local_id: 145 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743990},"span":{"file_name":"src/collection/tuple.rs","byte_start":437595,"byte_end":437600,"line_start":125,"line_end":125,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873078},"span":{"file_name":"src/collection/tuple.rs","byte_start":437608,"byte_end":437614,"line_start":125,"line_end":125,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614902},"span":{"file_name":"src/collection/tuple.rs","byte_start":437628,"byte_end":437634,"line_start":125,"line_end":125,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2166},"span":{"file_name":"src/collection/tuple.rs","byte_start":437587,"byte_end":437594,"line_start":125,"line_end":125,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961718},"span":{"file_name":"src/collection/tuple.rs","byte_start":437680,"byte_end":437687,"line_start":126,"line_end":126,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2166 ~ no_proto[2d88]::collection::tuple::{impl#1}::to_json), local_id: 18 }","value":"[closure@src/collection/tuple.rs:126:23: 126:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288310},"span":{"file_name":"src/collection/tuple.rs","byte_start":437810,"byte_end":437819,"line_start":130,"line_end":130,"column_start":17,"column_end":26},"name":"json_list","qualname":"json_list$HirId { owner: DefId(0:2166 ~ no_proto[2d88]::collection::tuple::{impl#1}::to_json), local_id: 42 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959425142},"span":{"file_name":"src/collection/tuple.rs","byte_start":437851,"byte_end":437856,"line_start":132,"line_end":132,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2166 ~ no_proto[2d88]::collection::tuple::{impl#1}::to_json), local_id: 55 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2168},"span":{"file_name":"src/collection/tuple.rs","byte_start":438227,"byte_end":438235,"line_start":146,"line_end":146,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743993},"span":{"file_name":"src/collection/tuple.rs","byte_start":438324,"byte_end":438328,"line_start":147,"line_end":147,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2169},"span":{"file_name":"src/collection/tuple.rs","byte_start":438309,"byte_end":438322,"line_start":147,"line_end":147,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743994},"span":{"file_name":"src/collection/tuple.rs","byte_start":438417,"byte_end":438423,"line_start":149,"line_end":149,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873082},"span":{"file_name":"src/collection/tuple.rs","byte_start":438449,"byte_end":438456,"line_start":149,"line_end":149,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2170},"span":{"file_name":"src/collection/tuple.rs","byte_start":438402,"byte_end":438416,"line_start":149,"line_end":149,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308538},"span":{"file_name":"src/collection/tuple.rs","byte_start":438511,"byte_end":438522,"line_start":150,"line_end":150,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:2170 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070586},"span":{"file_name":"src/collection/tuple.rs","byte_start":438648,"byte_end":438652,"line_start":153,"line_end":153,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2170 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248149114},"span":{"file_name":"src/collection/tuple.rs","byte_start":438730,"byte_end":438742,"line_start":155,"line_end":155,"column_start":13,"column_end":25},"name":"schema_state","qualname":"schema_state$HirId { owner: DefId(0:2170 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_json), local_id: 97 }","value":"(bool, alloc::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475706},"span":{"file_name":"src/collection/tuple.rs","byte_start":438818,"byte_end":438824,"line_start":155,"line_end":155,"column_start":101,"column_end":107},"name":"column","qualname":"$HirId { owner: DefId(0:2170 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_json), local_id: 92 }::column","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743996},"span":{"file_name":"src/collection/tuple.rs","byte_start":439205,"byte_end":439210,"line_start":168,"line_end":168,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873084},"span":{"file_name":"src/collection/tuple.rs","byte_start":439219,"byte_end":439229,"line_start":168,"line_end":168,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614908},"span":{"file_name":"src/collection/tuple.rs","byte_start":439237,"byte_end":439243,"line_start":168,"line_end":168,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437628},"span":{"file_name":"src/collection/tuple.rs","byte_start":439256,"byte_end":439262,"line_start":168,"line_end":168,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179452},"span":{"file_name":"src/collection/tuple.rs","byte_start":439281,"byte_end":439286,"line_start":168,"line_end":168,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2172},"span":{"file_name":"src/collection/tuple.rs","byte_start":439185,"byte_end":439198,"line_start":168,"line_end":168,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1734},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961724},"span":{"file_name":"src/collection/tuple.rs","byte_start":439415,"byte_end":439419,"line_start":171,"line_end":171,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2172 ~ no_proto[2d88]::collection::tuple::{impl#1}::set_from_json), local_id: 18 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880828},"span":{"file_name":"src/collection/tuple.rs","byte_start":439447,"byte_end":439450,"line_start":172,"line_end":172,"column_start":22,"column_end":25},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2172 ~ no_proto[2d88]::collection::tuple::{impl#1}::set_from_json), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526268},"span":{"file_name":"src/collection/tuple.rs","byte_start":439452,"byte_end":439462,"line_start":172,"line_end":172,"column_start":27,"column_end":37},"name":"tuple_item","qualname":"tuple_item$HirId { owner: DefId(0:2172 ~ no_proto[2d88]::collection::tuple::{impl#1}::set_from_json), local_id: 28 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475708},"span":{"file_name":"src/collection/tuple.rs","byte_start":439641,"byte_end":439642,"line_start":174,"line_end":174,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:2172 ~ no_proto[2d88]::collection::tuple::{impl#1}::set_from_json), local_id: 73 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743998},"span":{"file_name":"src/collection/tuple.rs","byte_start":440076,"byte_end":440081,"line_start":189,"line_end":189,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873086},"span":{"file_name":"src/collection/tuple.rs","byte_start":440089,"byte_end":440095,"line_start":189,"line_end":189,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614910},"span":{"file_name":"src/collection/tuple.rs","byte_start":440109,"byte_end":440115,"line_start":189,"line_end":189,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2174},"span":{"file_name":"src/collection/tuple.rs","byte_start":440067,"byte_end":440075,"line_start":189,"line_end":189,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961726},"span":{"file_name":"src/collection/tuple.rs","byte_start":440178,"byte_end":440185,"line_start":191,"line_end":191,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2174 ~ no_proto[2d88]::collection::tuple::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/collection/tuple.rs:191:23: 191:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207422},"span":{"file_name":"src/collection/tuple.rs","byte_start":440320,"byte_end":440328,"line_start":197,"line_end":197,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:2174 ~ no_proto[2d88]::collection::tuple::{impl#1}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199678},"span":{"file_name":"src/collection/tuple.rs","byte_start":440356,"byte_end":440361,"line_start":199,"line_end":199,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2174 ~ no_proto[2d88]::collection::tuple::{impl#1}::get_size), local_id: 52 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992062},"span":{"file_name":"src/collection/tuple.rs","byte_start":440410,"byte_end":440414,"line_start":201,"line_end":201,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2174 ~ no_proto[2d88]::collection::tuple::{impl#1}::get_size), local_id: 72 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971838},"span":{"file_name":"src/collection/tuple.rs","byte_start":440667,"byte_end":440679,"line_start":206,"line_end":206,"column_start":21,"column_end":33},"name":"schema_value","qualname":"schema_value$HirId { owner: DefId(0:2174 ~ no_proto[2d88]::collection::tuple::{impl#1}::get_size), local_id: 108 }","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744000},"span":{"file_name":"src/collection/tuple.rs","byte_start":441009,"byte_end":441014,"line_start":219,"line_end":219,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873088},"span":{"file_name":"src/collection/tuple.rs","byte_start":441022,"byte_end":441033,"line_start":219,"line_end":219,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614912},"span":{"file_name":"src/collection/tuple.rs","byte_start":441046,"byte_end":441057,"line_start":219,"line_end":219,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437632},"span":{"file_name":"src/collection/tuple.rs","byte_start":441082,"byte_end":441091,"line_start":219,"line_end":219,"column_start":92,"column_end":101},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179456},"span":{"file_name":"src/collection/tuple.rs","byte_start":441104,"byte_end":441113,"line_start":219,"line_end":219,"column_start":114,"column_end":123},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2176},"span":{"file_name":"src/collection/tuple.rs","byte_start":440998,"byte_end":441008,"line_start":219,"line_end":219,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445376},"span":{"file_name":"src/collection/tuple.rs","byte_start":441207,"byte_end":441217,"line_start":221,"line_end":221,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:2176 ~ no_proto[2d88]::collection::tuple::{impl#1}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764224},"span":{"file_name":"src/collection/tuple.rs","byte_start":441360,"byte_end":441364,"line_start":227,"line_end":227,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2176 ~ no_proto[2d88]::collection::tuple::{impl#1}::do_compact), local_id: 56 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":570427520},"span":{"file_name":"src/collection/tuple.rs","byte_start":441475,"byte_end":441486,"line_start":229,"line_end":229,"column_start":14,"column_end":25},"name":"col_schemas","qualname":"col_schemas$HirId { owner: DefId(0:2176 ~ no_proto[2d88]::collection::tuple::{impl#1}::do_compact), local_id: 68 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911168},"span":{"file_name":"src/collection/tuple.rs","byte_start":441488,"byte_end":441494,"line_start":229,"line_end":229,"column_start":27,"column_end":33},"name":"_empty","qualname":"_empty$HirId { owner: DefId(0:2176 ~ no_proto[2d88]::collection::tuple::{impl#1}::do_compact), local_id: 69 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771754112},"span":{"file_name":"src/collection/tuple.rs","byte_start":441620,"byte_end":441625,"line_start":233,"line_end":233,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2176 ~ no_proto[2d88]::collection::tuple::{impl#1}::do_compact), local_id: 116 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744001},"span":{"file_name":"src/collection/tuple.rs","byte_start":442117,"byte_end":442123,"line_start":245,"line_end":245,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873089},"span":{"file_name":"src/collection/tuple.rs","byte_start":442149,"byte_end":442156,"line_start":245,"line_end":245,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2177},"span":{"file_name":"src/collection/tuple.rs","byte_start":442103,"byte_end":442116,"line_start":245,"line_end":245,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832641},"span":{"file_name":"src/collection/tuple.rs","byte_start":442206,"byte_end":442210,"line_start":246,"line_end":246,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2177 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751745},"span":{"file_name":"src/collection/tuple.rs","byte_start":442292,"byte_end":442298,"line_start":248,"line_end":248,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2177 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_idl), local_id: 31 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030145},"span":{"file_name":"src/collection/tuple.rs","byte_start":442348,"byte_end":442358,"line_start":250,"line_end":250,"column_start":13,"column_end":23},"name":"last_index","qualname":"last_index$HirId { owner: DefId(0:2177 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_idl), local_id: 41 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812417},"span":{"file_name":"src/collection/tuple.rs","byte_start":442397,"byte_end":442400,"line_start":251,"line_end":251,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2177 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_idl), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070593},"span":{"file_name":"src/collection/tuple.rs","byte_start":442402,"byte_end":442407,"line_start":251,"line_end":251,"column_start":19,"column_end":24},"name":"field","qualname":"field$HirId { owner: DefId(0:2177 ~ no_proto[2d88]::collection::tuple::{impl#1}::schema_to_idl), local_id: 50 }","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744002},"span":{"file_name":"src/collection/tuple.rs","byte_start":442859,"byte_end":442865,"line_start":267,"line_end":267,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873090},"span":{"file_name":"src/collection/tuple.rs","byte_start":442890,"byte_end":442895,"line_start":267,"line_end":267,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614914},"span":{"file_name":"src/collection/tuple.rs","byte_start":442903,"byte_end":442906,"line_start":267,"line_end":267,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437634},"span":{"file_name":"src/collection/tuple.rs","byte_start":442920,"byte_end":442924,"line_start":267,"line_end":267,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2178},"span":{"file_name":"src/collection/tuple.rs","byte_start":442836,"byte_end":442854,"line_start":267,"line_end":267,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090818},"span":{"file_name":"src/collection/tuple.rs","byte_start":443018,"byte_end":443029,"line_start":268,"line_end":268,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336514},"span":{"file_name":"src/collection/tuple.rs","byte_start":443122,"byte_end":443128,"line_start":271,"line_end":271,"column_start":17,"column_end":23},"name":"sorted","qualname":"sorted$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201328770},"span":{"file_name":"src/collection/tuple.rs","byte_start":443154,"byte_end":443166,"line_start":272,"line_end":272,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 48 }","value":"core::option::Option<&alloc::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556610},"span":{"file_name":"src/collection/tuple.rs","byte_start":443288,"byte_end":443298,"line_start":276,"line_end":276,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 64 }","value":"&alloc::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911170},"span":{"file_name":"src/collection/tuple.rs","byte_start":443331,"byte_end":443334,"line_start":277,"line_end":277,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 69 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169346},"span":{"file_name":"src/collection/tuple.rs","byte_start":443336,"byte_end":443341,"line_start":277,"line_end":277,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 70 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100930},"span":{"file_name":"src/collection/tuple.rs","byte_start":443675,"byte_end":443681,"line_start":284,"line_end":284,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 104 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946562},"span":{"file_name":"src/collection/tuple.rs","byte_start":444245,"byte_end":444259,"line_start":306,"line_end":306,"column_start":21,"column_end":35},"name":"column_schemas","qualname":"column_schemas$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 198 }","value":"alloc::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3003123842},"span":{"file_name":"src/collection/tuple.rs","byte_start":444304,"byte_end":444314,"line_start":307,"line_end":307,"column_start":17,"column_end":27},"name":"tuple_addr","qualname":"tuple_addr$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 205 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2961180802},"span":{"file_name":"src/collection/tuple.rs","byte_start":444659,"byte_end":444671,"line_start":315,"line_end":315,"column_start":21,"column_end":33},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 269 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1216350338},"span":{"file_name":"src/collection/tuple.rs","byte_start":444732,"byte_end":444746,"line_start":317,"line_end":317,"column_start":21,"column_end":35},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 274 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1753221250},"span":{"file_name":"src/collection/tuple.rs","byte_start":444778,"byte_end":444789,"line_start":319,"line_end":319,"column_start":21,"column_end":32},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 278 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2558527618},"span":{"file_name":"src/collection/tuple.rs","byte_start":444821,"byte_end":444824,"line_start":321,"line_end":321,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 281 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1686112386},"span":{"file_name":"src/collection/tuple.rs","byte_start":444861,"byte_end":444871,"line_start":322,"line_end":322,"column_start":21,"column_end":31},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 294 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2726299778},"span":{"file_name":"src/collection/tuple.rs","byte_start":444917,"byte_end":444928,"line_start":323,"line_end":323,"column_start":22,"column_end":33},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 325 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1652557954},"span":{"file_name":"src/collection/tuple.rs","byte_start":444930,"byte_end":444942,"line_start":323,"line_end":323,"column_start":35,"column_end":47},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 326 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3800041602},"span":{"file_name":"src/collection/tuple.rs","byte_start":444944,"byte_end":444950,"line_start":323,"line_end":323,"column_start":49,"column_end":55},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 327 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3061844098},"span":{"file_name":"src/collection/tuple.rs","byte_start":445331,"byte_end":445332,"line_start":329,"line_end":329,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 365 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1681918082},"span":{"file_name":"src/collection/tuple.rs","byte_start":446494,"byte_end":446497,"line_start":356,"line_end":356,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:2178 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 550 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744003},"span":{"file_name":"src/collection/tuple.rs","byte_start":447068,"byte_end":447074,"line_start":373,"line_end":373,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873091},"span":{"file_name":"src/collection/tuple.rs","byte_start":447099,"byte_end":447110,"line_start":373,"line_end":373,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2179},"span":{"file_name":"src/collection/tuple.rs","byte_start":447044,"byte_end":447063,"line_start":373,"line_end":373,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219907},"span":{"file_name":"src/collection/tuple.rs","byte_start":447211,"byte_end":447222,"line_start":376,"line_end":376,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751747},"span":{"file_name":"src/collection/tuple.rs","byte_start":447315,"byte_end":447321,"line_start":379,"line_end":379,"column_start":17,"column_end":23},"name":"sorted","qualname":"sorted$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 31 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604803},"span":{"file_name":"src/collection/tuple.rs","byte_start":447581,"byte_end":447595,"line_start":391,"line_end":391,"column_start":17,"column_end":31},"name":"column_schemas","qualname":"column_schemas$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 78 }","value":"alloc::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852128899},"span":{"file_name":"src/collection/tuple.rs","byte_start":447636,"byte_end":447646,"line_start":392,"line_end":392,"column_start":13,"column_end":23},"name":"tuple_addr","qualname":"tuple_addr$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 85 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2835351683},"span":{"file_name":"src/collection/tuple.rs","byte_start":447959,"byte_end":447971,"line_start":400,"line_end":400,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 149 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493174403},"span":{"file_name":"src/collection/tuple.rs","byte_start":448024,"byte_end":448038,"line_start":402,"line_end":402,"column_start":17,"column_end":31},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 154 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030045315},"span":{"file_name":"src/collection/tuple.rs","byte_start":448066,"byte_end":448077,"line_start":404,"line_end":404,"column_start":17,"column_end":28},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 158 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694500995},"span":{"file_name":"src/collection/tuple.rs","byte_start":448155,"byte_end":448159,"line_start":407,"line_end":407,"column_start":28,"column_end":32},"name":"cols","qualname":"cols$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 166 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573549187},"span":{"file_name":"src/collection/tuple.rs","byte_start":448186,"byte_end":448189,"line_start":408,"line_end":408,"column_start":21,"column_end":24},"name":"col","qualname":"col$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 171 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":486541443},"span":{"file_name":"src/collection/tuple.rs","byte_start":448224,"byte_end":448234,"line_start":409,"line_end":409,"column_start":25,"column_end":35},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 184 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":989857923},"span":{"file_name":"src/collection/tuple.rs","byte_start":448284,"byte_end":448295,"line_start":410,"line_end":410,"column_start":26,"column_end":37},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 220 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3137341571},"span":{"file_name":"src/collection/tuple.rs","byte_start":448297,"byte_end":448309,"line_start":410,"line_end":410,"column_start":39,"column_end":51},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 221 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599747},"span":{"file_name":"src/collection/tuple.rs","byte_start":448311,"byte_end":448317,"line_start":410,"line_end":410,"column_start":53,"column_end":59},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 222 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545261699},"span":{"file_name":"src/collection/tuple.rs","byte_start":448757,"byte_end":448758,"line_start":417,"line_end":417,"column_start":46,"column_end":47},"name":"x","qualname":"x$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 260 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1937770627},"span":{"file_name":"src/collection/tuple.rs","byte_start":450072,"byte_end":450075,"line_start":449,"line_end":449,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:2179 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 462 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744004},"span":{"file_name":"src/collection/tuple.rs","byte_start":450480,"byte_end":450486,"line_start":464,"line_end":464,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873092},"span":{"file_name":"src/collection/tuple.rs","byte_start":450495,"byte_end":450500,"line_start":464,"line_end":464,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614916},"span":{"file_name":"src/collection/tuple.rs","byte_start":450509,"byte_end":450516,"line_start":464,"line_end":464,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2180},"span":{"file_name":"src/collection/tuple.rs","byte_start":450466,"byte_end":450479,"line_start":464,"line_end":464,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744005},"span":{"file_name":"src/collection/tuple.rs","byte_start":450608,"byte_end":450614,"line_start":468,"line_end":468,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873093},"span":{"file_name":"src/collection/tuple.rs","byte_start":450639,"byte_end":450646,"line_start":468,"line_end":468,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614917},"span":{"file_name":"src/collection/tuple.rs","byte_start":450655,"byte_end":450660,"line_start":468,"line_end":468,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2181},"span":{"file_name":"src/collection/tuple.rs","byte_start":450587,"byte_end":450607,"line_start":468,"line_end":468,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1723},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219909},"span":{"file_name":"src/collection/tuple.rs","byte_start":450716,"byte_end":450725,"line_start":469,"line_end":469,"column_start":13,"column_end":22},"name":"is_sorted","qualname":"is_sorted$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476397189},"span":{"file_name":"src/collection/tuple.rs","byte_start":450761,"byte_end":450771,"line_start":471,"line_end":471,"column_start":13,"column_end":23},"name":"column_len","qualname":"column_len$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 26 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751749},"span":{"file_name":"src/collection/tuple.rs","byte_start":450811,"byte_end":450825,"line_start":473,"line_end":473,"column_start":17,"column_end":31},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 31 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723781},"span":{"file_name":"src/collection/tuple.rs","byte_start":450849,"byte_end":450866,"line_start":475,"line_end":475,"column_start":13,"column_end":30},"name":"tuple_schema_addr","qualname":"tuple_schema_addr$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100933},"span":{"file_name":"src/collection/tuple.rs","byte_start":451203,"byte_end":451215,"line_start":483,"line_end":483,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 104 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4127197317},"span":{"file_name":"src/collection/tuple.rs","byte_start":451268,"byte_end":451274,"line_start":485,"line_end":485,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 111 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108677},"span":{"file_name":"src/collection/tuple.rs","byte_start":451307,"byte_end":451318,"line_start":487,"line_end":487,"column_start":17,"column_end":28},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 115 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187673221},"span":{"file_name":"src/collection/tuple.rs","byte_start":451342,"byte_end":451344,"line_start":489,"line_end":489,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 125 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3640658053},"span":{"file_name":"src/collection/tuple.rs","byte_start":451390,"byte_end":451401,"line_start":491,"line_end":491,"column_start":17,"column_end":28},"name":"schema_size","qualname":"schema_size$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 155 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157630085},"span":{"file_name":"src/collection/tuple.rs","byte_start":451531,"byte_end":451541,"line_start":495,"line_end":495,"column_start":17,"column_end":27},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 162 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1291847813},"span":{"file_name":"src/collection/tuple.rs","byte_start":451583,"byte_end":451592,"line_start":496,"line_end":496,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 178 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439331461},"span":{"file_name":"src/collection/tuple.rs","byte_start":451594,"byte_end":451600,"line_start":496,"line_end":496,"column_start":29,"column_end":35},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 179 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600470661},"span":{"file_name":"src/collection/tuple.rs","byte_start":451965,"byte_end":451966,"line_start":502,"line_end":502,"column_start":38,"column_end":39},"name":"x","qualname":"x$HirId { owner: DefId(0:2181 ~ no_proto[2d88]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 217 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2182},"span":{"file_name":"src/buffer.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"buffer","qualname":"::buffer","value":"src/buffer.rs","parent":null,"children":[{"krate":0,"index":2183},{"krate":0,"index":2186},{"krate":0,"index":2187},{"krate":0,"index":2190},{"krate":0,"index":2193},{"krate":0,"index":2196},{"krate":0,"index":2197},{"krate":0,"index":2200},{"krate":0,"index":2203},{"krate":0,"index":2206},{"krate":0,"index":2209},{"krate":0,"index":2212},{"krate":0,"index":2215},{"krate":0,"index":2216},{"krate":0,"index":2219},{"krate":0,"index":2222},{"krate":0,"index":2223},{"krate":0,"index":2226},{"krate":0,"index":2229},{"krate":0,"index":2232},{"krate":0,"index":2233},{"krate":0,"index":2234},{"krate":0,"index":2237},{"krate":0,"index":2238},{"krate":0,"index":2241},{"krate":0,"index":2242},{"krate":0,"index":2245},{"krate":0,"index":2248},{"krate":0,"index":2249},{"krate":0,"index":2252},{"krate":0,"index":2255},{"krate":0,"index":2258},{"krate":0,"index":2259},{"krate":0,"index":2260},{"krate":0,"index":2263},{"krate":0,"index":2266},{"krate":0,"index":2267},{"krate":0,"index":2270},{"krate":0,"index":2273},{"krate":0,"index":2274},{"krate":0,"index":2275},{"krate":0,"index":2276},{"krate":0,"index":3355},{"krate":0,"index":3359},{"krate":0,"index":3361},{"krate":0,"index":2277},{"krate":0,"index":3363},{"krate":0,"index":3365},{"krate":0,"index":2278},{"krate":0,"index":2282},{"krate":0,"index":2322},{"krate":0,"index":2330},{"krate":0,"index":3367},{"krate":0,"index":3383},{"krate":0,"index":2338},{"krate":0,"index":2341},{"krate":0,"index":2347},{"krate":0,"index":2350}],"decl_id":null,"docs":" Top level abstraction for buffer objects\n","sig":null,"attributes":[{"value":"/ Top level abstraction for buffer objects","span":{"file_name":"src/buffer.rs","byte_start":456104,"byte_end":456148,"line_start":1,"line_end":1,"column_start":1,"column_end":45}}]},{"kind":"Const","id":{"krate":0,"index":2273},"span":{"file_name":"src/buffer.rs","byte_start":456940,"byte_end":456961,"line_start":23,"line_end":23,"column_start":11,"column_end":32},"name":"DEFAULT_ROOT_PTR_ADDR","qualname":"::buffer::DEFAULT_ROOT_PTR_ADDR","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" The address location of the root pointer.\n","sig":null,"attributes":[{"value":"/ The address location of the root pointer.","span":{"file_name":"src/buffer.rs","byte_start":456869,"byte_end":456914,"line_start":21,"line_end":21,"column_start":1,"column_end":46}}]},{"kind":"Const","id":{"krate":0,"index":2274},"span":{"file_name":"src/buffer.rs","byte_start":457036,"byte_end":457049,"line_start":26,"line_end":26,"column_start":11,"column_end":24},"name":"LIST_MAX_SIZE","qualname":"::buffer::LIST_MAX_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" Maximum size of list collections\n","sig":null,"attributes":[{"value":"/ Maximum size of list collections","span":{"file_name":"src/buffer.rs","byte_start":456974,"byte_end":457010,"line_start":24,"line_end":24,"column_start":1,"column_end":37}}]},{"kind":"Const","id":{"krate":0,"index":2275},"span":{"file_name":"src/buffer.rs","byte_start":457109,"byte_end":457120,"line_start":28,"line_end":28,"column_start":11,"column_end":22},"name":"VTABLE_SIZE","qualname":"::buffer::VTABLE_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2276},"span":{"file_name":"src/buffer.rs","byte_start":457158,"byte_end":457170,"line_start":30,"line_end":30,"column_start":11,"column_end":23},"name":"VTABLE_BYTES","qualname":"::buffer::VTABLE_BYTES","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3355},"span":{"file_name":"src/buffer.rs","byte_start":457341,"byte_end":457350,"line_start":37,"line_end":37,"column_start":12,"column_end":21},"name":"NP_Buffer","qualname":"::buffer::NP_Buffer","value":"NP_Buffer { memory, mutable, cursor }","parent":null,"children":[{"krate":0,"index":3356},{"krate":0,"index":3357},{"krate":0,"index":3358}],"decl_id":null,"docs":" Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction.\n \n \n","sig":null,"attributes":[{"value":"/ Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction.","span":{"file_name":"src/buffer.rs","byte_start":457186,"byte_end":457295,"line_start":33,"line_end":33,"column_start":1,"column_end":110}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457296,"byte_end":457300,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457301,"byte_end":457305,"line_start":35,"line_end":35,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3356},"span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Buffer::memory","value":"memory::NP_Memory","parent":{"krate":0,"index":3355},"children":[],"decl_id":null,"docs":" Memory object used by this buffer\n","sig":null,"attributes":[{"value":"/ Memory object used by this buffer","span":{"file_name":"src/buffer.rs","byte_start":457357,"byte_end":457394,"line_start":38,"line_end":38,"column_start":5,"column_end":42}}]},{"kind":"Field","id":{"krate":0,"index":3357},"span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"name":"mutable","qualname":"::buffer::NP_Buffer::mutable","value":"bool","parent":{"krate":0,"index":3355},"children":[],"decl_id":null,"docs":" Is this buffer mutable?\n","sig":null,"attributes":[{"value":"/ Is this buffer mutable?","span":{"file_name":"src/buffer.rs","byte_start":457422,"byte_end":457449,"line_start":40,"line_end":40,"column_start":5,"column_end":32}}]},{"kind":"Field","id":{"krate":0,"index":3358},"span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"name":"cursor","qualname":"::buffer::NP_Buffer::cursor","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3355},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3363},"span":{"file_name":"src/buffer.rs","byte_start":457620,"byte_end":457638,"line_start":50,"line_end":50,"column_start":12,"column_end":30},"name":"NP_Finished_Buffer","qualname":"::buffer::NP_Finished_Buffer","value":"NP_Finished_Buffer { memory }","parent":null,"children":[{"krate":0,"index":3364}],"decl_id":null,"docs":" Finished buffer, can't be edited. Just exported.\n \n","sig":null,"attributes":[{"value":"/ Finished buffer, can't be edited. Just exported.","span":{"file_name":"src/buffer.rs","byte_start":457533,"byte_end":457586,"line_start":47,"line_end":47,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457587,"byte_end":457591,"line_start":48,"line_end":48,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3364},"span":{"file_name":"src/buffer.rs","byte_start":457645,"byte_end":457651,"line_start":51,"line_end":51,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Finished_Buffer::memory","value":"memory::NP_Memory","parent":{"krate":0,"index":3363},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744103},"span":{"file_name":"src/buffer.rs","byte_start":457755,"byte_end":457759,"line_start":57,"line_end":57,"column_start":23,"column_end":27},"name":"self","qualname":"::buffer_len::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2279},"span":{"file_name":"src/buffer.rs","byte_start":457744,"byte_end":457754,"line_start":57,"line_end":57,"column_start":12,"column_end":22},"name":"buffer_len","qualname":"::buffer_len","value":"pub fn buffer_len(Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" How large the buffer is\n \n","sig":null,"attributes":[{"value":"/ How large the buffer is","span":{"file_name":"src/buffer.rs","byte_start":457696,"byte_end":457723,"line_start":55,"line_end":55,"column_start":5,"column_end":32}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457728,"byte_end":457732,"line_start":56,"line_end":56,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744104},"span":{"file_name":"src/buffer.rs","byte_start":457902,"byte_end":457906,"line_start":63,"line_end":63,"column_start":21,"column_end":25},"name":"self","qualname":"::data_len::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2280},"span":{"file_name":"src/buffer.rs","byte_start":457893,"byte_end":457901,"line_start":63,"line_end":63,"column_start":12,"column_end":20},"name":"data_len","qualname":"::data_len","value":"pub fn data_len(Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" How many bytes the data is using in the buffer\n \n","sig":null,"attributes":[{"value":"/ How many bytes the data is using in the buffer","span":{"file_name":"src/buffer.rs","byte_start":457822,"byte_end":457872,"line_start":61,"line_end":61,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457877,"byte_end":457881,"line_start":62,"line_end":62,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744105},"span":{"file_name":"src/buffer.rs","byte_start":458206,"byte_end":458210,"line_start":71,"line_end":71,"column_start":18,"column_end":22},"name":"self","qualname":"::bytes::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2281},"span":{"file_name":"src/buffer.rs","byte_start":458200,"byte_end":458205,"line_start":71,"line_end":71,"column_start":12,"column_end":17},"name":"bytes","qualname":"::bytes","value":"pub fn bytes(Self) -> Vec","parent":null,"children":[],"decl_id":null,"docs":" Get an owned copy of the bytes in the buffer\n If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes.\n If the buffer was an owned type, this moves the bytes out of the buffer\n \n","sig":null,"attributes":[{"value":"/ Get an owned copy of the bytes in the buffer","span":{"file_name":"src/buffer.rs","byte_start":457959,"byte_end":458007,"line_start":67,"line_end":67,"column_start":5,"column_end":53}},{"value":"/ If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes.","span":{"file_name":"src/buffer.rs","byte_start":458012,"byte_end":458099,"line_start":68,"line_end":68,"column_start":5,"column_end":92}},{"value":"/ If the buffer was an owned type, this moves the bytes out of the buffer","span":{"file_name":"src/buffer.rs","byte_start":458104,"byte_end":458179,"line_start":69,"line_end":69,"column_start":5,"column_end":80}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458184,"byte_end":458188,"line_start":70,"line_end":70,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744107},"span":{"file_name":"src/buffer.rs","byte_start":458314,"byte_end":458320,"line_start":79,"line_end":79,"column_start":17,"column_end":23},"name":"memory","qualname":"::_new::memory","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2283},"span":{"file_name":"src/buffer.rs","byte_start":458309,"byte_end":458313,"line_start":79,"line_end":79,"column_start":12,"column_end":16},"name":"_new","qualname":"::_new","value":"pub fn _new(NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744108},"span":{"file_name":"src/buffer.rs","byte_start":459366,"byte_end":459370,"line_start":112,"line_end":112,"column_start":25,"column_end":29},"name":"self","qualname":"::json_encode::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873196},"span":{"file_name":"src/buffer.rs","byte_start":459372,"byte_end":459376,"line_start":112,"line_end":112,"column_start":31,"column_end":35},"name":"path","qualname":"::json_encode::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2284},"span":{"file_name":"src/buffer.rs","byte_start":459353,"byte_end":459364,"line_start":112,"line_end":112,"column_start":12,"column_end":23},"name":"json_encode","qualname":"::json_encode","value":"pub fn json_encode(&Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Copy an object at the provided path and all it's children into JSON.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n struct({fields: {\n age: u8(),\n name: string()\n }})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[\"name\"], \"Jeb Kermin\");\n new_buffer.set(&[\"age\"], 30u8);\n \n assert_eq!(r#\"{\"value\":{\"age\":30,\"name\":\"Jeb Kermin\"}}\"#, new_buffer.json_encode(&[])?.stringify());\n assert_eq!(r#\"{\"value\":\"Jeb Kermin\"}\"#, new_buffer.json_encode(&[\"name\"])?.stringify());\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Copy an object at the provided path and all it's children into JSON.","span":{"file_name":"src/buffer.rs","byte_start":458526,"byte_end":458598,"line_start":88,"line_end":88,"column_start":5,"column_end":77}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458603,"byte_end":458607,"line_start":89,"line_end":89,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":458612,"byte_end":458619,"line_start":90,"line_end":90,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":458624,"byte_end":458658,"line_start":91,"line_end":91,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":458663,"byte_end":458692,"line_start":92,"line_end":92,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":458697,"byte_end":458728,"line_start":93,"line_end":93,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458733,"byte_end":458737,"line_start":94,"line_end":94,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":458742,"byte_end":458791,"line_start":95,"line_end":95,"column_start":5,"column_end":54}},{"value":"/ struct({fields: {","span":{"file_name":"src/buffer.rs","byte_start":458796,"byte_end":458821,"line_start":96,"line_end":96,"column_start":5,"column_end":30}},{"value":"/ age: u8(),","span":{"file_name":"src/buffer.rs","byte_start":458826,"byte_end":458848,"line_start":97,"line_end":97,"column_start":5,"column_end":27}},{"value":"/ name: string()","span":{"file_name":"src/buffer.rs","byte_start":458853,"byte_end":458879,"line_start":98,"line_end":98,"column_start":5,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/buffer.rs","byte_start":458884,"byte_end":458895,"line_start":99,"line_end":99,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":458900,"byte_end":458909,"line_start":100,"line_end":100,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458914,"byte_end":458918,"line_start":101,"line_end":101,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":458923,"byte_end":458973,"line_start":102,"line_end":102,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[\"name\"], \"Jeb Kermin\");","span":{"file_name":"src/buffer.rs","byte_start":458978,"byte_end":459022,"line_start":103,"line_end":103,"column_start":5,"column_end":49}},{"value":"/ new_buffer.set(&[\"age\"], 30u8);","span":{"file_name":"src/buffer.rs","byte_start":459027,"byte_end":459062,"line_start":104,"line_end":104,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459067,"byte_end":459071,"line_start":105,"line_end":105,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(r#\"{\"value\":{\"age\":30,\"name\":\"Jeb Kermin\"}}\"#, new_buffer.json_encode(&[])?.stringify());","span":{"file_name":"src/buffer.rs","byte_start":459076,"byte_end":459180,"line_start":106,"line_end":106,"column_start":5,"column_end":109}},{"value":"/ assert_eq!(r#\"{\"value\":\"Jeb Kermin\"}\"#, new_buffer.json_encode(&[\"name\"])?.stringify());","span":{"file_name":"src/buffer.rs","byte_start":459185,"byte_end":459277,"line_start":107,"line_end":107,"column_start":5,"column_end":97}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459282,"byte_end":459286,"line_start":108,"line_end":108,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":459291,"byte_end":459320,"line_start":109,"line_end":109,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":459325,"byte_end":459332,"line_start":110,"line_end":110,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459337,"byte_end":459341,"line_start":111,"line_end":111,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030252},"span":{"file_name":"src/buffer.rs","byte_start":459431,"byte_end":459443,"line_start":114,"line_end":114,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2284 ~ no_proto[2d88]::buffer::{impl#2}::json_encode), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764332},"span":{"file_name":"src/buffer.rs","byte_start":459583,"byte_end":459591,"line_start":118,"line_end":118,"column_start":21,"column_end":29},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:2284 ~ no_proto[2d88]::buffer::{impl#2}::json_encode), local_id: 56 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744109},"span":{"file_name":"src/buffer.rs","byte_start":460785,"byte_end":460789,"line_start":152,"line_end":152,"column_start":19,"column_end":23},"name":"self","qualname":"::finish::self","value":"buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2285},"span":{"file_name":"src/buffer.rs","byte_start":460778,"byte_end":460784,"line_start":152,"line_end":152,"column_start":12,"column_end":18},"name":"finish","qualname":"::finish","value":"pub fn finish(Self) -> NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Finish the buffer.\n \n If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method.\n \n If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // close buffer and get bytes\n let bytes: Vec = new_buffer.finish().bytes();\n assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Finish the buffer.","span":{"file_name":"src/buffer.rs","byte_start":459826,"byte_end":459848,"line_start":129,"line_end":129,"column_start":5,"column_end":27}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459853,"byte_end":459857,"line_start":130,"line_end":130,"column_start":5,"column_end":9}},{"value":"/ If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method.","span":{"file_name":"src/buffer.rs","byte_start":459862,"byte_end":460026,"line_start":131,"line_end":131,"column_start":5,"column_end":169}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460031,"byte_end":460035,"line_start":132,"line_end":132,"column_start":5,"column_end":9}},{"value":"/ If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`.","span":{"file_name":"src/buffer.rs","byte_start":460040,"byte_end":460178,"line_start":133,"line_end":133,"column_start":5,"column_end":143}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460183,"byte_end":460187,"line_start":134,"line_end":134,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":460192,"byte_end":460199,"line_start":135,"line_end":135,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":460204,"byte_end":460238,"line_start":136,"line_end":136,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":460243,"byte_end":460272,"line_start":137,"line_end":137,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":460277,"byte_end":460308,"line_start":138,"line_end":138,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460313,"byte_end":460317,"line_start":139,"line_end":139,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":460322,"byte_end":460381,"line_start":140,"line_end":140,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460386,"byte_end":460390,"line_start":141,"line_end":141,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":460395,"byte_end":460445,"line_start":142,"line_end":142,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":460450,"byte_end":460474,"line_start":143,"line_end":143,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":460479,"byte_end":460513,"line_start":144,"line_end":144,"column_start":5,"column_end":39}},{"value":"/ // close buffer and get bytes","span":{"file_name":"src/buffer.rs","byte_start":460518,"byte_end":460551,"line_start":145,"line_end":145,"column_start":5,"column_end":38}},{"value":"/ let bytes: Vec = new_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":460556,"byte_end":460609,"line_start":146,"line_end":146,"column_start":5,"column_end":58}},{"value":"/ assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes);","span":{"file_name":"src/buffer.rs","byte_start":460614,"byte_end":460702,"line_start":147,"line_end":147,"column_start":5,"column_end":93}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460707,"byte_end":460711,"line_start":148,"line_end":148,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":460716,"byte_end":460745,"line_start":149,"line_end":149,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":460750,"byte_end":460757,"line_start":150,"line_end":150,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460762,"byte_end":460766,"line_start":151,"line_end":151,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744110},"span":{"file_name":"src/buffer.rs","byte_start":460967,"byte_end":460971,"line_start":158,"line_end":158,"column_start":24,"column_end":28},"name":"self","qualname":"::read_bytes::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2286},"span":{"file_name":"src/buffer.rs","byte_start":460955,"byte_end":460965,"line_start":158,"line_end":158,"column_start":12,"column_end":22},"name":"read_bytes","qualname":"::read_bytes","value":"pub fn read_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Read the bytes of the buffer immutably. No touching!\n \n","sig":null,"attributes":[{"value":"/ Read the bytes of the buffer immutably. No touching!","span":{"file_name":"src/buffer.rs","byte_start":460877,"byte_end":460934,"line_start":156,"line_end":156,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460939,"byte_end":460943,"line_start":157,"line_end":157,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744111},"span":{"file_name":"src/buffer.rs","byte_start":461514,"byte_end":461518,"line_start":166,"line_end":166,"column_start":29,"column_end":33},"name":"self","qualname":"::move_cursor::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873199},"span":{"file_name":"src/buffer.rs","byte_start":461520,"byte_end":461524,"line_start":166,"line_end":166,"column_start":35,"column_end":39},"name":"path","qualname":"::move_cursor::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2287},"span":{"file_name":"src/buffer.rs","byte_start":461497,"byte_end":461508,"line_start":166,"line_end":166,"column_start":12,"column_end":23},"name":"move_cursor","qualname":"::move_cursor","value":"pub fn move_cursor(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level.\n \n This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist.\n \n","sig":null,"attributes":[{"value":"/ Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level.","span":{"file_name":"src/buffer.rs","byte_start":461028,"byte_end":461201,"line_start":162,"line_end":162,"column_start":5,"column_end":178}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461206,"byte_end":461210,"line_start":163,"line_end":163,"column_start":5,"column_end":9}},{"value":"/ This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist.","span":{"file_name":"src/buffer.rs","byte_start":461215,"byte_end":461476,"line_start":164,"line_end":164,"column_start":5,"column_end":266}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461481,"byte_end":461485,"line_start":165,"line_end":165,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3556772079},"span":{"file_name":"src/buffer.rs","byte_start":461576,"byte_end":461588,"line_start":168,"line_end":168,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2287 ~ no_proto[2d88]::buffer::{impl#2}::move_cursor), local_id: 43 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298543},"span":{"file_name":"src/buffer.rs","byte_start":461686,"byte_end":461692,"line_start":170,"line_end":170,"column_start":13,"column_end":19},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2287 ~ no_proto[2d88]::buffer::{impl#2}::move_cursor), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744112},"span":{"file_name":"src/buffer.rs","byte_start":461957,"byte_end":461961,"line_start":183,"line_end":183,"column_start":32,"column_end":36},"name":"self","qualname":"::cursor_to_root::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2288},"span":{"file_name":"src/buffer.rs","byte_start":461937,"byte_end":461951,"line_start":183,"line_end":183,"column_start":12,"column_end":26},"name":"cursor_to_root","qualname":"::cursor_to_root","value":"pub fn cursor_to_root(&mut Self)","parent":null,"children":[],"decl_id":null,"docs":" Moves cursor position to root of buffer, the default.\n \n","sig":null,"attributes":[{"value":"/ Moves cursor position to root of buffer, the default.","span":{"file_name":"src/buffer.rs","byte_start":461859,"byte_end":461916,"line_start":181,"line_end":181,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461921,"byte_end":461925,"line_start":182,"line_end":182,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744113},"span":{"file_name":"src/buffer.rs","byte_start":463814,"byte_end":463818,"line_start":233,"line_end":233,"column_start":25,"column_end":29},"name":"self","qualname":"::set_max::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873201},"span":{"file_name":"src/buffer.rs","byte_start":463820,"byte_end":463824,"line_start":233,"line_end":233,"column_start":31,"column_end":35},"name":"path","qualname":"::set_max::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2289},"span":{"file_name":"src/buffer.rs","byte_start":463801,"byte_end":463808,"line_start":233,"line_end":233,"column_start":12,"column_end":19},"name":"set_max","qualname":"::set_max","value":"pub fn set_max(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the max value allowed for the specific data type at the given key.\n \n String & Byte types only work if a `size` property is set in the schema.\n \n Will return `true` if a value was found and succesfully set, `false` otherwise.\n \n *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.\n \n When this is applied to a `string` data type, only ascii values are supported.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({\n sorted: true,\n values: [string({size: 10}), u32()]\n })\n \"#)?;\n \n let mut low_buffer = factory.new_buffer(None);\n // set all types to minimum value\n low_buffer.set_min(&[])?;\n // get bytes\n let low_bytes: Vec = low_buffer.finish().bytes();\n \n let mut high_buffer = factory.new_buffer(None);\n // set all types to max value\n high_buffer.set_max(&[])?;\n // get bytes\n let high_bytes: Vec = high_buffer.finish().bytes();\n \n let mut middle_buffer = factory.new_buffer(None);\n middle_buffer.set(&[\"0\"], \"Light This Candle!\");\n middle_buffer.set(&[\"1\"], 22938u32);\n let middle_bytes: Vec = middle_buffer.finish().bytes();\n \n assert!(low_bytes < middle_bytes);\n assert!(middle_bytes < high_bytes);\n assert!(low_bytes < high_bytes);\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set the max value allowed for the specific data type at the given key.","span":{"file_name":"src/buffer.rs","byte_start":462038,"byte_end":462112,"line_start":187,"line_end":187,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462117,"byte_end":462121,"line_start":188,"line_end":188,"column_start":5,"column_end":9}},{"value":"/ String & Byte types only work if a `size` property is set in the schema.","span":{"file_name":"src/buffer.rs","byte_start":462126,"byte_end":462202,"line_start":189,"line_end":189,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462207,"byte_end":462211,"line_start":190,"line_end":190,"column_start":5,"column_end":9}},{"value":"/ Will return `true` if a value was found and succesfully set, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":462216,"byte_end":462299,"line_start":191,"line_end":191,"column_start":5,"column_end":88}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462304,"byte_end":462308,"line_start":192,"line_end":192,"column_start":5,"column_end":9}},{"value":"/ *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.","span":{"file_name":"src/buffer.rs","byte_start":462313,"byte_end":462512,"line_start":193,"line_end":193,"column_start":5,"column_end":204}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462517,"byte_end":462521,"line_start":194,"line_end":194,"column_start":5,"column_end":9}},{"value":"/ When this is applied to a `string` data type, only ascii values are supported.","span":{"file_name":"src/buffer.rs","byte_start":462526,"byte_end":462608,"line_start":195,"line_end":195,"column_start":5,"column_end":87}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462613,"byte_end":462617,"line_start":196,"line_end":196,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":462622,"byte_end":462629,"line_start":197,"line_end":197,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":462634,"byte_end":462668,"line_start":198,"line_end":198,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":462673,"byte_end":462702,"line_start":199,"line_end":199,"column_start":5,"column_end":34}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462707,"byte_end":462711,"line_start":200,"line_end":200,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":462716,"byte_end":462765,"line_start":201,"line_end":201,"column_start":5,"column_end":54}},{"value":"/ tuple({","span":{"file_name":"src/buffer.rs","byte_start":462770,"byte_end":462785,"line_start":202,"line_end":202,"column_start":5,"column_end":20}},{"value":"/ sorted: true,","span":{"file_name":"src/buffer.rs","byte_start":462790,"byte_end":462815,"line_start":203,"line_end":203,"column_start":5,"column_end":30}},{"value":"/ values: [string({size: 10}), u32()]","span":{"file_name":"src/buffer.rs","byte_start":462820,"byte_end":462867,"line_start":204,"line_end":204,"column_start":5,"column_end":52}},{"value":"/ })","span":{"file_name":"src/buffer.rs","byte_start":462872,"byte_end":462882,"line_start":205,"line_end":205,"column_start":5,"column_end":15}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":462887,"byte_end":462896,"line_start":206,"line_end":206,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462901,"byte_end":462905,"line_start":207,"line_end":207,"column_start":5,"column_end":9}},{"value":"/ let mut low_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":462910,"byte_end":462960,"line_start":208,"line_end":208,"column_start":5,"column_end":55}},{"value":"/ // set all types to minimum value","span":{"file_name":"src/buffer.rs","byte_start":462965,"byte_end":463002,"line_start":209,"line_end":209,"column_start":5,"column_end":42}},{"value":"/ low_buffer.set_min(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":463007,"byte_end":463036,"line_start":210,"line_end":210,"column_start":5,"column_end":34}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":463041,"byte_end":463057,"line_start":211,"line_end":211,"column_start":5,"column_end":21}},{"value":"/ let low_bytes: Vec = low_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463062,"byte_end":463119,"line_start":212,"line_end":212,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463124,"byte_end":463128,"line_start":213,"line_end":213,"column_start":5,"column_end":9}},{"value":"/ let mut high_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":463133,"byte_end":463184,"line_start":214,"line_end":214,"column_start":5,"column_end":56}},{"value":"/ // set all types to max value","span":{"file_name":"src/buffer.rs","byte_start":463189,"byte_end":463222,"line_start":215,"line_end":215,"column_start":5,"column_end":38}},{"value":"/ high_buffer.set_max(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":463227,"byte_end":463257,"line_start":216,"line_end":216,"column_start":5,"column_end":35}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":463262,"byte_end":463278,"line_start":217,"line_end":217,"column_start":5,"column_end":21}},{"value":"/ let high_bytes: Vec = high_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463283,"byte_end":463342,"line_start":218,"line_end":218,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463347,"byte_end":463351,"line_start":219,"line_end":219,"column_start":5,"column_end":9}},{"value":"/ let mut middle_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":463356,"byte_end":463409,"line_start":220,"line_end":220,"column_start":5,"column_end":58}},{"value":"/ middle_buffer.set(&[\"0\"], \"Light This Candle!\");","span":{"file_name":"src/buffer.rs","byte_start":463414,"byte_end":463466,"line_start":221,"line_end":221,"column_start":5,"column_end":57}},{"value":"/ middle_buffer.set(&[\"1\"], 22938u32);","span":{"file_name":"src/buffer.rs","byte_start":463471,"byte_end":463511,"line_start":222,"line_end":222,"column_start":5,"column_end":45}},{"value":"/ let middle_bytes: Vec = middle_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463516,"byte_end":463579,"line_start":223,"line_end":223,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463584,"byte_end":463588,"line_start":224,"line_end":224,"column_start":5,"column_end":9}},{"value":"/ assert!(low_bytes < middle_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463593,"byte_end":463631,"line_start":225,"line_end":225,"column_start":5,"column_end":43}},{"value":"/ assert!(middle_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463636,"byte_end":463675,"line_start":226,"line_end":226,"column_start":5,"column_end":44}},{"value":"/ assert!(low_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463680,"byte_end":463716,"line_start":227,"line_end":227,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463721,"byte_end":463725,"line_start":228,"line_end":228,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463730,"byte_end":463734,"line_start":229,"line_end":229,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":463739,"byte_end":463768,"line_start":230,"line_end":230,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":463773,"byte_end":463780,"line_start":231,"line_end":231,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463785,"byte_end":463789,"line_start":232,"line_end":232,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1006635249},"span":{"file_name":"src/buffer.rs","byte_start":463970,"byte_end":463982,"line_start":238,"line_end":238,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2289 ~ no_proto[2d88]::buffer::{impl#2}::set_max), local_id: 60 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556721},"span":{"file_name":"src/buffer.rs","byte_start":464113,"byte_end":464114,"line_start":240,"line_end":240,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2289 ~ no_proto[2d88]::buffer::{impl#2}::set_max), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744114},"span":{"file_name":"src/buffer.rs","byte_start":466019,"byte_end":466023,"line_start":293,"line_end":293,"column_start":25,"column_end":29},"name":"self","qualname":"::set_min::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873202},"span":{"file_name":"src/buffer.rs","byte_start":466025,"byte_end":466029,"line_start":293,"line_end":293,"column_start":31,"column_end":35},"name":"path","qualname":"::set_min::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2290},"span":{"file_name":"src/buffer.rs","byte_start":466006,"byte_end":466013,"line_start":293,"line_end":293,"column_start":12,"column_end":19},"name":"set_min","qualname":"::set_min","value":"pub fn set_min(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the min value allowed for the specific data type at the given key.\n \n String & Byte types only work if a `size` property is set in the schema.\n \n Will return `true` if a value was found and succesfully set, `false` otherwise.\n \n *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.\n \n When this is applied to a `string` data type, only ascii values are supported.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({\n sorted: true,\n values: [string({size: 10}), u32()]\n })\n \"#)?;\n \n let mut low_buffer = factory.new_buffer(None);\n // set all types to minimum value\n low_buffer.set_min(&[])?;\n // get bytes\n let low_bytes: Vec = low_buffer.finish().bytes();\n \n let mut high_buffer = factory.new_buffer(None);\n // set all types to max value\n high_buffer.set_max(&[])?;\n // get bytes\n let high_bytes: Vec = high_buffer.finish().bytes();\n \n let mut middle_buffer = factory.new_buffer(None);\n middle_buffer.set(&[\"0\"], \"Light This Candle!\");\n middle_buffer.set(&[\"1\"], 22938u32);\n let middle_bytes: Vec = middle_buffer.finish().bytes();\n \n assert!(low_bytes < middle_bytes);\n assert!(middle_bytes < high_bytes);\n assert!(low_bytes < high_bytes);\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set the min value allowed for the specific data type at the given key.","span":{"file_name":"src/buffer.rs","byte_start":464243,"byte_end":464317,"line_start":247,"line_end":247,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464322,"byte_end":464326,"line_start":248,"line_end":248,"column_start":5,"column_end":9}},{"value":"/ String & Byte types only work if a `size` property is set in the schema.","span":{"file_name":"src/buffer.rs","byte_start":464331,"byte_end":464407,"line_start":249,"line_end":249,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464412,"byte_end":464416,"line_start":250,"line_end":250,"column_start":5,"column_end":9}},{"value":"/ Will return `true` if a value was found and succesfully set, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":464421,"byte_end":464504,"line_start":251,"line_end":251,"column_start":5,"column_end":88}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464509,"byte_end":464513,"line_start":252,"line_end":252,"column_start":5,"column_end":9}},{"value":"/ *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.","span":{"file_name":"src/buffer.rs","byte_start":464518,"byte_end":464717,"line_start":253,"line_end":253,"column_start":5,"column_end":204}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464722,"byte_end":464726,"line_start":254,"line_end":254,"column_start":5,"column_end":9}},{"value":"/ When this is applied to a `string` data type, only ascii values are supported.","span":{"file_name":"src/buffer.rs","byte_start":464731,"byte_end":464813,"line_start":255,"line_end":255,"column_start":5,"column_end":87}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464818,"byte_end":464822,"line_start":256,"line_end":256,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":464827,"byte_end":464834,"line_start":257,"line_end":257,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":464839,"byte_end":464873,"line_start":258,"line_end":258,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":464878,"byte_end":464907,"line_start":259,"line_end":259,"column_start":5,"column_end":34}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464912,"byte_end":464916,"line_start":260,"line_end":260,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":464921,"byte_end":464970,"line_start":261,"line_end":261,"column_start":5,"column_end":54}},{"value":"/ tuple({","span":{"file_name":"src/buffer.rs","byte_start":464975,"byte_end":464990,"line_start":262,"line_end":262,"column_start":5,"column_end":20}},{"value":"/ sorted: true,","span":{"file_name":"src/buffer.rs","byte_start":464995,"byte_end":465020,"line_start":263,"line_end":263,"column_start":5,"column_end":30}},{"value":"/ values: [string({size: 10}), u32()]","span":{"file_name":"src/buffer.rs","byte_start":465025,"byte_end":465072,"line_start":264,"line_end":264,"column_start":5,"column_end":52}},{"value":"/ })","span":{"file_name":"src/buffer.rs","byte_start":465077,"byte_end":465087,"line_start":265,"line_end":265,"column_start":5,"column_end":15}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":465092,"byte_end":465101,"line_start":266,"line_end":266,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465106,"byte_end":465110,"line_start":267,"line_end":267,"column_start":5,"column_end":9}},{"value":"/ let mut low_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465115,"byte_end":465165,"line_start":268,"line_end":268,"column_start":5,"column_end":55}},{"value":"/ // set all types to minimum value","span":{"file_name":"src/buffer.rs","byte_start":465170,"byte_end":465207,"line_start":269,"line_end":269,"column_start":5,"column_end":42}},{"value":"/ low_buffer.set_min(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":465212,"byte_end":465241,"line_start":270,"line_end":270,"column_start":5,"column_end":34}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":465246,"byte_end":465262,"line_start":271,"line_end":271,"column_start":5,"column_end":21}},{"value":"/ let low_bytes: Vec = low_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465267,"byte_end":465324,"line_start":272,"line_end":272,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465329,"byte_end":465333,"line_start":273,"line_end":273,"column_start":5,"column_end":9}},{"value":"/ let mut high_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465338,"byte_end":465389,"line_start":274,"line_end":274,"column_start":5,"column_end":56}},{"value":"/ // set all types to max value","span":{"file_name":"src/buffer.rs","byte_start":465394,"byte_end":465427,"line_start":275,"line_end":275,"column_start":5,"column_end":38}},{"value":"/ high_buffer.set_max(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":465432,"byte_end":465462,"line_start":276,"line_end":276,"column_start":5,"column_end":35}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":465467,"byte_end":465483,"line_start":277,"line_end":277,"column_start":5,"column_end":21}},{"value":"/ let high_bytes: Vec = high_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465488,"byte_end":465547,"line_start":278,"line_end":278,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465552,"byte_end":465556,"line_start":279,"line_end":279,"column_start":5,"column_end":9}},{"value":"/ let mut middle_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465561,"byte_end":465614,"line_start":280,"line_end":280,"column_start":5,"column_end":58}},{"value":"/ middle_buffer.set(&[\"0\"], \"Light This Candle!\");","span":{"file_name":"src/buffer.rs","byte_start":465619,"byte_end":465671,"line_start":281,"line_end":281,"column_start":5,"column_end":57}},{"value":"/ middle_buffer.set(&[\"1\"], 22938u32);","span":{"file_name":"src/buffer.rs","byte_start":465676,"byte_end":465716,"line_start":282,"line_end":282,"column_start":5,"column_end":45}},{"value":"/ let middle_bytes: Vec = middle_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465721,"byte_end":465784,"line_start":283,"line_end":283,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465789,"byte_end":465793,"line_start":284,"line_end":284,"column_start":5,"column_end":9}},{"value":"/ assert!(low_bytes < middle_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465798,"byte_end":465836,"line_start":285,"line_end":285,"column_start":5,"column_end":43}},{"value":"/ assert!(middle_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465841,"byte_end":465880,"line_start":286,"line_end":286,"column_start":5,"column_end":44}},{"value":"/ assert!(low_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465885,"byte_end":465921,"line_start":287,"line_end":287,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465926,"byte_end":465930,"line_start":288,"line_end":288,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465935,"byte_end":465939,"line_start":289,"line_end":289,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":465944,"byte_end":465973,"line_start":290,"line_end":290,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":465978,"byte_end":465985,"line_start":291,"line_end":291,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465990,"byte_end":465994,"line_start":292,"line_end":292,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1006635250},"span":{"file_name":"src/buffer.rs","byte_start":466176,"byte_end":466188,"line_start":299,"line_end":299,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2290 ~ no_proto[2d88]::buffer::{impl#2}::set_min), local_id: 60 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556722},"span":{"file_name":"src/buffer.rs","byte_start":466319,"byte_end":466320,"line_start":301,"line_end":301,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2290 ~ no_proto[2d88]::buffer::{impl#2}::set_min), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744115},"span":{"file_name":"src/buffer.rs","byte_start":467550,"byte_end":467554,"line_start":333,"line_end":333,"column_start":36,"column_end":40},"name":"self","qualname":"::set::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873203},"span":{"file_name":"src/buffer.rs","byte_start":467556,"byte_end":467560,"line_start":333,"line_end":333,"column_start":42,"column_end":46},"name":"path","qualname":"::set::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615027},"span":{"file_name":"src/buffer.rs","byte_start":467571,"byte_end":467576,"line_start":333,"line_end":333,"column_start":57,"column_end":62},"name":"value","qualname":"::set::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2293},"span":{"file_name":"src/buffer.rs","byte_start":467536,"byte_end":467537,"line_start":333,"line_end":333,"column_start":22,"column_end":23},"name":"X","qualname":"::set::X$HirId { owner: DefId(0:2291 ~ no_proto[2d88]::buffer::{impl#2}::set), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2291},"span":{"file_name":"src/buffer.rs","byte_start":467526,"byte_end":467529,"line_start":333,"line_end":333,"column_start":12,"column_end":15},"name":"set","qualname":"::set","value":"pub fn set<'set, X: 'set>(&mut Self, &[&str], X) -> Result\nwhere X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Used to set scalar values inside the buffer.\n \n The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({ of: string() })})})\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key\n // \n new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"look at all this nesting madness\")?;\n \n // get the same item we just set\n let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;\n \n assert_eq!(message, Some(\"look at all this nesting madness\"));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Used to set scalar values inside the buffer.","span":{"file_name":"src/buffer.rs","byte_start":466449,"byte_end":466497,"line_start":308,"line_end":308,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466502,"byte_end":466506,"line_start":309,"line_end":309,"column_start":5,"column_end":9}},{"value":"/ The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":466511,"byte_end":466627,"line_start":310,"line_end":310,"column_start":5,"column_end":121}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466632,"byte_end":466636,"line_start":311,"line_end":311,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":466641,"byte_end":466648,"line_start":312,"line_end":312,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":466653,"byte_end":466687,"line_start":313,"line_end":313,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":466692,"byte_end":466721,"line_start":314,"line_end":314,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":466726,"byte_end":466757,"line_start":315,"line_end":315,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466762,"byte_end":466766,"line_start":316,"line_end":316,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":466771,"byte_end":466865,"line_start":317,"line_end":317,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({ of: string() })})})\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":466870,"byte_end":466973,"line_start":318,"line_end":318,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466978,"byte_end":466982,"line_start":319,"line_end":319,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":466987,"byte_end":467037,"line_start":320,"line_end":320,"column_start":5,"column_end":55}},{"value":"/ // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key","span":{"file_name":"src/buffer.rs","byte_start":467042,"byte_end":467156,"line_start":321,"line_end":321,"column_start":5,"column_end":119}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":467161,"byte_end":467168,"line_start":322,"line_end":322,"column_start":5,"column_end":12}},{"value":"/ new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"look at all this nesting madness\")?;","span":{"file_name":"src/buffer.rs","byte_start":467173,"byte_end":467251,"line_start":323,"line_end":323,"column_start":5,"column_end":83}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467256,"byte_end":467260,"line_start":324,"line_end":324,"column_start":5,"column_end":9}},{"value":"/ // get the same item we just set","span":{"file_name":"src/buffer.rs","byte_start":467265,"byte_end":467301,"line_start":325,"line_end":325,"column_start":5,"column_end":41}},{"value":"/ let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;","span":{"file_name":"src/buffer.rs","byte_start":467306,"byte_end":467370,"line_start":326,"line_end":326,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467375,"byte_end":467379,"line_start":327,"line_end":327,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(message, Some(\"look at all this nesting madness\"));","span":{"file_name":"src/buffer.rs","byte_start":467384,"byte_end":467450,"line_start":328,"line_end":328,"column_start":5,"column_end":71}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467455,"byte_end":467459,"line_start":329,"line_end":329,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":467464,"byte_end":467493,"line_start":330,"line_end":330,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":467498,"byte_end":467505,"line_start":331,"line_end":331,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467510,"byte_end":467514,"line_start":332,"line_end":332,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":4227860723},"span":{"file_name":"src/buffer.rs","byte_start":467760,"byte_end":467772,"line_start":339,"line_end":339,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2291 ~ no_proto[2d88]::buffer::{impl#2}::set), local_id: 63 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782195},"span":{"file_name":"src/buffer.rs","byte_start":467903,"byte_end":467904,"line_start":341,"line_end":341,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2291 ~ no_proto[2d88]::buffer::{impl#2}::set), local_id: 67 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080819},"span":{"file_name":"src/buffer.rs","byte_start":468066,"byte_end":468069,"line_start":345,"line_end":345,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2291 ~ no_proto[2d88]::buffer::{impl#2}::set), local_id: 92 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744118},"span":{"file_name":"src/buffer.rs","byte_start":470225,"byte_end":470229,"line_start":397,"line_end":397,"column_start":48,"column_end":52},"name":"self","qualname":"::set_with_json::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873206},"span":{"file_name":"src/buffer.rs","byte_start":470231,"byte_end":470235,"line_start":397,"line_end":397,"column_start":54,"column_end":58},"name":"path","qualname":"::set_with_json::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615030},"span":{"file_name":"src/buffer.rs","byte_start":470246,"byte_end":470256,"line_start":397,"line_end":397,"column_start":69,"column_end":79},"name":"json_value","qualname":"::set_with_json::json_value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2295},"span":{"file_name":"src/buffer.rs","byte_start":470203,"byte_end":470204,"line_start":397,"line_end":397,"column_start":26,"column_end":27},"name":"S","qualname":"::set_with_json::S$HirId { owner: DefId(0:2294 ~ no_proto[2d88]::buffer::{impl#2}::set_with_json), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2294},"span":{"file_name":"src/buffer.rs","byte_start":470189,"byte_end":470202,"line_start":397,"line_end":397,"column_start":12,"column_end":25},"name":"set_with_json","qualname":"::set_with_json","value":"pub fn set_with_json>(&mut Self, &[&str], S)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Set value with JSON\n \n This works with all types including portals.\n \n Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored.\n \n Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values.\n \n Using the `.set()` method is far more performant. I recommend only using this on the client side of your application.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set_with_json(&[], r#\"{\"value\": [\"foo\", \"bar\", null, \"baz\"]}\"#)?;\n \n assert_eq!(new_buffer.get_length(&[])?, Some(4));\n assert_eq!(new_buffer.get::<&str>(&[\"0\"])?, Some(\"foo\"));\n assert_eq!(new_buffer.get::<&str>(&[\"1\"])?, Some(\"bar\"));\n assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, None);\n assert_eq!(new_buffer.get::<&str>(&[\"3\"])?, Some(\"baz\"));\n \n new_buffer.set_with_json(&[\"2\"], r#\"{\"value\": \"bazzy\"}\"#)?;\n assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, Some(\"bazzy\"));\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set value with JSON","span":{"file_name":"src/buffer.rs","byte_start":468742,"byte_end":468765,"line_start":364,"line_end":364,"column_start":5,"column_end":28}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468770,"byte_end":468774,"line_start":365,"line_end":365,"column_start":5,"column_end":9}},{"value":"/ This works with all types including portals.","span":{"file_name":"src/buffer.rs","byte_start":468779,"byte_end":468827,"line_start":366,"line_end":366,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468832,"byte_end":468836,"line_start":367,"line_end":367,"column_start":5,"column_end":9}},{"value":"/ Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored.","span":{"file_name":"src/buffer.rs","byte_start":468841,"byte_end":468949,"line_start":368,"line_end":368,"column_start":5,"column_end":113}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468954,"byte_end":468958,"line_start":369,"line_end":369,"column_start":5,"column_end":9}},{"value":"/ Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values.","span":{"file_name":"src/buffer.rs","byte_start":468963,"byte_end":469132,"line_start":370,"line_end":370,"column_start":5,"column_end":174}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469137,"byte_end":469141,"line_start":371,"line_end":371,"column_start":5,"column_end":9}},{"value":"/ Using the `.set()` method is far more performant. I recommend only using this on the client side of your application.","span":{"file_name":"src/buffer.rs","byte_start":469146,"byte_end":469268,"line_start":372,"line_end":372,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469273,"byte_end":469277,"line_start":373,"line_end":373,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":469282,"byte_end":469289,"line_start":374,"line_end":374,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":469294,"byte_end":469328,"line_start":375,"line_end":375,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":469333,"byte_end":469362,"line_start":376,"line_end":376,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":469367,"byte_end":469398,"line_start":377,"line_end":377,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469403,"byte_end":469407,"line_start":378,"line_end":378,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;","span":{"file_name":"src/buffer.rs","byte_start":469412,"byte_end":469483,"line_start":379,"line_end":379,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469488,"byte_end":469492,"line_start":380,"line_end":380,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":469497,"byte_end":469547,"line_start":381,"line_end":381,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set_with_json(&[], r#\"{\"value\": [\"foo\", \"bar\", null, \"baz\"]}\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":469552,"byte_end":469632,"line_start":382,"line_end":382,"column_start":5,"column_end":85}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469637,"byte_end":469644,"line_start":383,"line_end":383,"column_start":5,"column_end":12}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(4));","span":{"file_name":"src/buffer.rs","byte_start":469649,"byte_end":469702,"line_start":384,"line_end":384,"column_start":5,"column_end":58}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"0\"])?, Some(\"foo\"));","span":{"file_name":"src/buffer.rs","byte_start":469707,"byte_end":469768,"line_start":385,"line_end":385,"column_start":5,"column_end":66}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"1\"])?, Some(\"bar\"));","span":{"file_name":"src/buffer.rs","byte_start":469773,"byte_end":469834,"line_start":386,"line_end":386,"column_start":5,"column_end":66}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, None);","span":{"file_name":"src/buffer.rs","byte_start":469839,"byte_end":469893,"line_start":387,"line_end":387,"column_start":5,"column_end":59}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"3\"])?, Some(\"baz\"));","span":{"file_name":"src/buffer.rs","byte_start":469898,"byte_end":469959,"line_start":388,"line_end":388,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469964,"byte_end":469968,"line_start":389,"line_end":389,"column_start":5,"column_end":9}},{"value":"/ new_buffer.set_with_json(&[\"2\"], r#\"{\"value\": \"bazzy\"}\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":469973,"byte_end":470036,"line_start":390,"line_end":390,"column_start":5,"column_end":68}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, Some(\"bazzy\"));","span":{"file_name":"src/buffer.rs","byte_start":470041,"byte_end":470104,"line_start":391,"line_end":391,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470109,"byte_end":470113,"line_start":392,"line_end":392,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470118,"byte_end":470122,"line_start":393,"line_end":393,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":470127,"byte_end":470156,"line_start":394,"line_end":394,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":470161,"byte_end":470168,"line_start":395,"line_end":395,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470173,"byte_end":470177,"line_start":396,"line_end":396,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2080377078},"span":{"file_name":"src/buffer.rs","byte_start":470397,"byte_end":470409,"line_start":403,"line_end":403,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2294 ~ no_proto[2d88]::buffer::{impl#2}::set_with_json), local_id: 62 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298550},"span":{"file_name":"src/buffer.rs","byte_start":470540,"byte_end":470541,"line_start":405,"line_end":405,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2294 ~ no_proto[2d88]::buffer::{impl#2}::set_with_json), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822646},"span":{"file_name":"src/buffer.rs","byte_start":470568,"byte_end":470574,"line_start":406,"line_end":406,"column_start":21,"column_end":27},"name":"parsed","qualname":"parsed$HirId { owner: DefId(0:2294 ~ no_proto[2d88]::buffer::{impl#2}::set_with_json), local_id: 94 }","value":"alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744120},"span":{"file_name":"src/buffer.rs","byte_start":476204,"byte_end":476208,"line_start":568,"line_end":568,"column_start":41,"column_end":45},"name":"self","qualname":"::get_collection::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873208},"span":{"file_name":"src/buffer.rs","byte_start":476210,"byte_end":476214,"line_start":568,"line_end":568,"column_start":47,"column_end":51},"name":"path","qualname":"::get_collection::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2296},"span":{"file_name":"src/buffer.rs","byte_start":476175,"byte_end":476189,"line_start":568,"line_end":568,"column_start":12,"column_end":26},"name":"get_collection","qualname":"::get_collection","value":"pub fn get_collection<'iter>(&'iter Self, &'iter [&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Get an iterator for a collection\n \n \n ## List Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 1 index\n new_buffer.set(&[\"1\"], \"hello\")?;\n // set value at 4 index\n new_buffer.set(&[\"4\"], \"world\")?;\n // push value onto the end\n new_buffer.list_push(&[], \"!\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), None),\n 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),\n 2 => assert_eq!(item.get::<&str>().unwrap(), None),\n 3 => assert_eq!(item.get::<&str>().unwrap(), None),\n 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"world\")),\n 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"!\")),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Struct Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"struct\",\n \"fields\": [\n [\"age\", {\"type\": \"uint8\"}],\n [\"name\", {\"type\": \"string\"}],\n [\"job\", {\"type\": \"string\"}],\n [\"tags\", {\"type\": \"list\", \"of\": {\"type\": \"string\"}}]\n ]\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value of age\n new_buffer.set(&[\"age\"], 20u8)?;\n // set value of name\n new_buffer.set(&[\"name\"], \"Bill Kerman\")?;\n // push value onto tags list\n new_buffer.list_push(&[\"tags\"], \"rocket\")?;\n \n // get iterator of root (table)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n \n match item.key {\n \"name\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"Bill Kerman\")),\n \"age\" => assert_eq!(item.get::().unwrap(), Some(20)),\n \"job\" => assert_eq!(item.get::<&str>().unwrap(), None),\n \"tags\" => { /* tags field is list, can't do anything with it here */ },\n _ => { panic!() }\n };\n });\n \n // we can also loop through items of the tags list\n new_buffer.get_collection(&[\"tags\"])?.unwrap().into_iter().for_each(|item| {\n assert_eq!(item.index, 0);\n assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\"));\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Map Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"map\",\n \"value\": {\"type\": \"string\"}\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value of color key\n new_buffer.set(&[\"color\"], \"blue\")?;\n // set value of sport key\n new_buffer.set(&[\"sport\"], \"soccor\")?;\n \n // get iterator of root (map)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n \n match item.key {\n \"color\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"blue\")),\n \"sport\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"soccor\")),\n _ => panic!()\n }\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Tuple Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"tuple\",\n \"values\": [\n {\"type\": \"string\"},\n {\"type\": \"u8\"},\n {\"type\": \"bool\"}\n ]\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 0 index\n new_buffer.set(&[\"0\"], \"hello\")?;\n // set value at 2 index\n new_buffer.set(&[\"2\"], false)?;\n \n // get iterator of root (tuple item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),\n 1 => assert_eq!(item.get::().unwrap(), None),\n 2 => assert_eq!(item.get::().unwrap(), Some(false)),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Get an iterator for a collection","span":{"file_name":"src/buffer.rs","byte_start":471101,"byte_end":471137,"line_start":424,"line_end":424,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471142,"byte_end":471146,"line_start":425,"line_end":425,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471151,"byte_end":471155,"line_start":426,"line_end":426,"column_start":5,"column_end":9}},{"value":"/ ## List Example","span":{"file_name":"src/buffer.rs","byte_start":471160,"byte_end":471179,"line_start":427,"line_end":427,"column_start":5,"column_end":24}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":471184,"byte_end":471191,"line_start":428,"line_end":428,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":471196,"byte_end":471230,"line_start":429,"line_end":429,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":471235,"byte_end":471264,"line_start":430,"line_end":430,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":471269,"byte_end":471300,"line_start":431,"line_end":431,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471305,"byte_end":471309,"line_start":432,"line_end":432,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;","span":{"file_name":"src/buffer.rs","byte_start":471314,"byte_end":471385,"line_start":433,"line_end":433,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471390,"byte_end":471394,"line_start":434,"line_end":434,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":471399,"byte_end":471449,"line_start":435,"line_end":435,"column_start":5,"column_end":55}},{"value":"/ // set value at 1 index","span":{"file_name":"src/buffer.rs","byte_start":471454,"byte_end":471481,"line_start":436,"line_end":436,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"1\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":471486,"byte_end":471523,"line_start":437,"line_end":437,"column_start":5,"column_end":42}},{"value":"/ // set value at 4 index","span":{"file_name":"src/buffer.rs","byte_start":471528,"byte_end":471555,"line_start":438,"line_end":438,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"4\"], \"world\")?;","span":{"file_name":"src/buffer.rs","byte_start":471560,"byte_end":471597,"line_start":439,"line_end":439,"column_start":5,"column_end":42}},{"value":"/ // push value onto the end","span":{"file_name":"src/buffer.rs","byte_start":471602,"byte_end":471632,"line_start":440,"line_end":440,"column_start":5,"column_end":35}},{"value":"/ new_buffer.list_push(&[], \"!\")?;","span":{"file_name":"src/buffer.rs","byte_start":471637,"byte_end":471673,"line_start":441,"line_end":441,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471678,"byte_end":471682,"line_start":442,"line_end":442,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":471687,"byte_end":471726,"line_start":443,"line_end":443,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":471731,"byte_end":471805,"line_start":444,"line_end":444,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":471810,"byte_end":471836,"line_start":445,"line_end":445,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":471841,"byte_end":471904,"line_start":446,"line_end":446,"column_start":5,"column_end":68}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),","span":{"file_name":"src/buffer.rs","byte_start":471909,"byte_end":471981,"line_start":447,"line_end":447,"column_start":5,"column_end":77}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":471986,"byte_end":472049,"line_start":448,"line_end":448,"column_start":5,"column_end":68}},{"value":"/ 3 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":472054,"byte_end":472117,"line_start":449,"line_end":449,"column_start":5,"column_end":68}},{"value":"/ 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"world\")),","span":{"file_name":"src/buffer.rs","byte_start":472122,"byte_end":472194,"line_start":450,"line_end":450,"column_start":5,"column_end":77}},{"value":"/ 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"!\")),","span":{"file_name":"src/buffer.rs","byte_start":472199,"byte_end":472267,"line_start":451,"line_end":451,"column_start":5,"column_end":73}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":472272,"byte_end":472297,"line_start":452,"line_end":452,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":472302,"byte_end":472312,"line_start":453,"line_end":453,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":472317,"byte_end":472324,"line_start":454,"line_end":454,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472329,"byte_end":472333,"line_start":455,"line_end":455,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":472338,"byte_end":472367,"line_start":456,"line_end":456,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":472372,"byte_end":472379,"line_start":457,"line_end":457,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472384,"byte_end":472388,"line_start":458,"line_end":458,"column_start":5,"column_end":9}},{"value":"/ ## Struct Example","span":{"file_name":"src/buffer.rs","byte_start":472393,"byte_end":472414,"line_start":459,"line_end":459,"column_start":5,"column_end":26}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":472419,"byte_end":472426,"line_start":460,"line_end":460,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":472431,"byte_end":472465,"line_start":461,"line_end":461,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":472470,"byte_end":472499,"line_start":462,"line_end":462,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":472504,"byte_end":472535,"line_start":463,"line_end":463,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472540,"byte_end":472544,"line_start":464,"line_end":464,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":472549,"byte_end":472604,"line_start":465,"line_end":465,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/buffer.rs","byte_start":472609,"byte_end":472633,"line_start":466,"line_end":466,"column_start":5,"column_end":29}},{"value":"/ \"fields\": [","span":{"file_name":"src/buffer.rs","byte_start":472638,"byte_end":472656,"line_start":467,"line_end":467,"column_start":5,"column_end":23}},{"value":"/ [\"age\", {\"type\": \"uint8\"}],","span":{"file_name":"src/buffer.rs","byte_start":472661,"byte_end":472700,"line_start":468,"line_end":468,"column_start":5,"column_end":44}},{"value":"/ [\"name\", {\"type\": \"string\"}],","span":{"file_name":"src/buffer.rs","byte_start":472705,"byte_end":472746,"line_start":469,"line_end":469,"column_start":5,"column_end":46}},{"value":"/ [\"job\", {\"type\": \"string\"}],","span":{"file_name":"src/buffer.rs","byte_start":472751,"byte_end":472791,"line_start":470,"line_end":470,"column_start":5,"column_end":45}},{"value":"/ [\"tags\", {\"type\": \"list\", \"of\": {\"type\": \"string\"}}]","span":{"file_name":"src/buffer.rs","byte_start":472796,"byte_end":472860,"line_start":471,"line_end":471,"column_start":5,"column_end":69}},{"value":"/ ]","span":{"file_name":"src/buffer.rs","byte_start":472865,"byte_end":472874,"line_start":472,"line_end":472,"column_start":5,"column_end":14}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":472879,"byte_end":472889,"line_start":473,"line_end":473,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472894,"byte_end":472898,"line_start":474,"line_end":474,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":472903,"byte_end":472953,"line_start":475,"line_end":475,"column_start":5,"column_end":55}},{"value":"/ // set value of age","span":{"file_name":"src/buffer.rs","byte_start":472958,"byte_end":472981,"line_start":476,"line_end":476,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/buffer.rs","byte_start":472986,"byte_end":473022,"line_start":477,"line_end":477,"column_start":5,"column_end":41}},{"value":"/ // set value of name","span":{"file_name":"src/buffer.rs","byte_start":473027,"byte_end":473051,"line_start":478,"line_end":478,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[\"name\"], \"Bill Kerman\")?;","span":{"file_name":"src/buffer.rs","byte_start":473056,"byte_end":473102,"line_start":479,"line_end":479,"column_start":5,"column_end":51}},{"value":"/ // push value onto tags list","span":{"file_name":"src/buffer.rs","byte_start":473107,"byte_end":473139,"line_start":480,"line_end":480,"column_start":5,"column_end":37}},{"value":"/ new_buffer.list_push(&[\"tags\"], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":473144,"byte_end":473191,"line_start":481,"line_end":481,"column_start":5,"column_end":52}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473196,"byte_end":473200,"line_start":482,"line_end":482,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (table)","span":{"file_name":"src/buffer.rs","byte_start":473205,"byte_end":473240,"line_start":483,"line_end":483,"column_start":5,"column_end":40}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":473245,"byte_end":473319,"line_start":484,"line_end":484,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473324,"byte_end":473332,"line_start":485,"line_end":485,"column_start":5,"column_end":13}},{"value":"/ match item.key {","span":{"file_name":"src/buffer.rs","byte_start":473337,"byte_end":473361,"line_start":486,"line_end":486,"column_start":5,"column_end":29}},{"value":"/ \"name\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"Bill Kerman\")),","span":{"file_name":"src/buffer.rs","byte_start":473366,"byte_end":473449,"line_start":487,"line_end":487,"column_start":5,"column_end":88}},{"value":"/ \"age\" => assert_eq!(item.get::().unwrap(), Some(20)),","span":{"file_name":"src/buffer.rs","byte_start":473454,"byte_end":473524,"line_start":488,"line_end":488,"column_start":5,"column_end":75}},{"value":"/ \"job\" => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":473529,"byte_end":473596,"line_start":489,"line_end":489,"column_start":5,"column_end":72}},{"value":"/ \"tags\" => { /* tags field is list, can't do anything with it here */ },","span":{"file_name":"src/buffer.rs","byte_start":473601,"byte_end":473684,"line_start":490,"line_end":490,"column_start":5,"column_end":88}},{"value":"/ _ => { panic!() }","span":{"file_name":"src/buffer.rs","byte_start":473689,"byte_end":473718,"line_start":491,"line_end":491,"column_start":5,"column_end":34}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":473723,"byte_end":473733,"line_start":492,"line_end":492,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":473738,"byte_end":473745,"line_start":493,"line_end":493,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473750,"byte_end":473754,"line_start":494,"line_end":494,"column_start":5,"column_end":9}},{"value":"/ // we can also loop through items of the tags list","span":{"file_name":"src/buffer.rs","byte_start":473759,"byte_end":473813,"line_start":495,"line_end":495,"column_start":5,"column_end":59}},{"value":"/ new_buffer.get_collection(&[\"tags\"])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":473818,"byte_end":473898,"line_start":496,"line_end":496,"column_start":5,"column_end":85}},{"value":"/ assert_eq!(item.index, 0);","span":{"file_name":"src/buffer.rs","byte_start":473903,"byte_end":473937,"line_start":497,"line_end":497,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\"));","span":{"file_name":"src/buffer.rs","byte_start":473942,"byte_end":474006,"line_start":498,"line_end":498,"column_start":5,"column_end":69}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":474011,"byte_end":474018,"line_start":499,"line_end":499,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474023,"byte_end":474027,"line_start":500,"line_end":500,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":474032,"byte_end":474061,"line_start":501,"line_end":501,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":474066,"byte_end":474073,"line_start":502,"line_end":502,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474078,"byte_end":474082,"line_start":503,"line_end":503,"column_start":5,"column_end":9}},{"value":"/ ## Map Example","span":{"file_name":"src/buffer.rs","byte_start":474087,"byte_end":474105,"line_start":504,"line_end":504,"column_start":5,"column_end":23}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":474110,"byte_end":474117,"line_start":505,"line_end":505,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":474122,"byte_end":474156,"line_start":506,"line_end":506,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":474161,"byte_end":474190,"line_start":507,"line_end":507,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":474195,"byte_end":474226,"line_start":508,"line_end":508,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474231,"byte_end":474235,"line_start":509,"line_end":509,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":474240,"byte_end":474295,"line_start":510,"line_end":510,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/buffer.rs","byte_start":474300,"byte_end":474321,"line_start":511,"line_end":511,"column_start":5,"column_end":26}},{"value":"/ \"value\": {\"type\": \"string\"}","span":{"file_name":"src/buffer.rs","byte_start":474326,"byte_end":474360,"line_start":512,"line_end":512,"column_start":5,"column_end":39}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":474365,"byte_end":474375,"line_start":513,"line_end":513,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474380,"byte_end":474384,"line_start":514,"line_end":514,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":474389,"byte_end":474439,"line_start":515,"line_end":515,"column_start":5,"column_end":55}},{"value":"/ // set value of color key","span":{"file_name":"src/buffer.rs","byte_start":474444,"byte_end":474473,"line_start":516,"line_end":516,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"color\"], \"blue\")?;","span":{"file_name":"src/buffer.rs","byte_start":474478,"byte_end":474518,"line_start":517,"line_end":517,"column_start":5,"column_end":45}},{"value":"/ // set value of sport key","span":{"file_name":"src/buffer.rs","byte_start":474523,"byte_end":474552,"line_start":518,"line_end":518,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"sport\"], \"soccor\")?;","span":{"file_name":"src/buffer.rs","byte_start":474557,"byte_end":474599,"line_start":519,"line_end":519,"column_start":5,"column_end":47}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474604,"byte_end":474608,"line_start":520,"line_end":520,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (map)","span":{"file_name":"src/buffer.rs","byte_start":474613,"byte_end":474646,"line_start":521,"line_end":521,"column_start":5,"column_end":38}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":474651,"byte_end":474725,"line_start":522,"line_end":522,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474730,"byte_end":474738,"line_start":523,"line_end":523,"column_start":5,"column_end":13}},{"value":"/ match item.key {","span":{"file_name":"src/buffer.rs","byte_start":474743,"byte_end":474767,"line_start":524,"line_end":524,"column_start":5,"column_end":29}},{"value":"/ \"color\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"blue\")),","span":{"file_name":"src/buffer.rs","byte_start":474772,"byte_end":474849,"line_start":525,"line_end":525,"column_start":5,"column_end":82}},{"value":"/ \"sport\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"soccor\")),","span":{"file_name":"src/buffer.rs","byte_start":474854,"byte_end":474933,"line_start":526,"line_end":526,"column_start":5,"column_end":84}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":474938,"byte_end":474963,"line_start":527,"line_end":527,"column_start":5,"column_end":30}},{"value":"/ }","span":{"file_name":"src/buffer.rs","byte_start":474968,"byte_end":474977,"line_start":528,"line_end":528,"column_start":5,"column_end":14}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":474982,"byte_end":474989,"line_start":529,"line_end":529,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474994,"byte_end":474998,"line_start":530,"line_end":530,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":475003,"byte_end":475032,"line_start":531,"line_end":531,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":475037,"byte_end":475044,"line_start":532,"line_end":532,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475049,"byte_end":475053,"line_start":533,"line_end":533,"column_start":5,"column_end":9}},{"value":"/ ## Tuple Example","span":{"file_name":"src/buffer.rs","byte_start":475058,"byte_end":475078,"line_start":534,"line_end":534,"column_start":5,"column_end":25}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":475083,"byte_end":475090,"line_start":535,"line_end":535,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":475095,"byte_end":475129,"line_start":536,"line_end":536,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":475134,"byte_end":475163,"line_start":537,"line_end":537,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":475168,"byte_end":475199,"line_start":538,"line_end":538,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475204,"byte_end":475208,"line_start":539,"line_end":539,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":475213,"byte_end":475268,"line_start":540,"line_end":540,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/buffer.rs","byte_start":475273,"byte_end":475296,"line_start":541,"line_end":541,"column_start":5,"column_end":28}},{"value":"/ \"values\": [","span":{"file_name":"src/buffer.rs","byte_start":475301,"byte_end":475320,"line_start":542,"line_end":542,"column_start":5,"column_end":24}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/buffer.rs","byte_start":475325,"byte_end":475356,"line_start":543,"line_end":543,"column_start":5,"column_end":36}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/buffer.rs","byte_start":475361,"byte_end":475388,"line_start":544,"line_end":544,"column_start":5,"column_end":32}},{"value":"/ {\"type\": \"bool\"}","span":{"file_name":"src/buffer.rs","byte_start":475393,"byte_end":475421,"line_start":545,"line_end":545,"column_start":5,"column_end":33}},{"value":"/ ]","span":{"file_name":"src/buffer.rs","byte_start":475426,"byte_end":475435,"line_start":546,"line_end":546,"column_start":5,"column_end":14}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":475440,"byte_end":475450,"line_start":547,"line_end":547,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475455,"byte_end":475459,"line_start":548,"line_end":548,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":475464,"byte_end":475514,"line_start":549,"line_end":549,"column_start":5,"column_end":55}},{"value":"/ // set value at 0 index","span":{"file_name":"src/buffer.rs","byte_start":475519,"byte_end":475546,"line_start":550,"line_end":550,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"0\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":475551,"byte_end":475588,"line_start":551,"line_end":551,"column_start":5,"column_end":42}},{"value":"/ // set value at 2 index","span":{"file_name":"src/buffer.rs","byte_start":475593,"byte_end":475620,"line_start":552,"line_end":552,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"2\"], false)?;","span":{"file_name":"src/buffer.rs","byte_start":475625,"byte_end":475660,"line_start":553,"line_end":553,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475665,"byte_end":475669,"line_start":554,"line_end":554,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (tuple item)","span":{"file_name":"src/buffer.rs","byte_start":475674,"byte_end":475714,"line_start":555,"line_end":555,"column_start":5,"column_end":45}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":475719,"byte_end":475793,"line_start":556,"line_end":556,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":475798,"byte_end":475824,"line_start":557,"line_end":557,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),","span":{"file_name":"src/buffer.rs","byte_start":475829,"byte_end":475901,"line_start":558,"line_end":558,"column_start":5,"column_end":77}},{"value":"/ 1 => assert_eq!(item.get::().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":475906,"byte_end":475967,"line_start":559,"line_end":559,"column_start":5,"column_end":66}},{"value":"/ 2 => assert_eq!(item.get::().unwrap(), Some(false)),","span":{"file_name":"src/buffer.rs","byte_start":475972,"byte_end":476042,"line_start":560,"line_end":560,"column_start":5,"column_end":75}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":476047,"byte_end":476072,"line_start":561,"line_end":561,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":476077,"byte_end":476087,"line_start":562,"line_end":562,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":476092,"byte_end":476099,"line_start":563,"line_end":563,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476104,"byte_end":476108,"line_start":564,"line_end":564,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":476113,"byte_end":476142,"line_start":565,"line_end":565,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":476147,"byte_end":476154,"line_start":566,"line_end":566,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476159,"byte_end":476163,"line_start":567,"line_end":567,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030264},"span":{"file_name":"src/buffer.rs","byte_start":476302,"byte_end":476307,"line_start":570,"line_end":570,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2296 ~ no_proto[2d88]::buffer::{impl#2}::get_collection), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040376},"span":{"file_name":"src/buffer.rs","byte_start":476398,"byte_end":476403,"line_start":572,"line_end":572,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2296 ~ no_proto[2d88]::buffer::{impl#2}::get_collection), local_id: 65 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838863096},"span":{"file_name":"src/buffer.rs","byte_start":476515,"byte_end":476525,"line_start":578,"line_end":578,"column_start":13,"column_end":23},"name":"value_data","qualname":"value_data$HirId { owner: DefId(0:2296 ~ no_proto[2d88]::buffer::{impl#2}::get_collection), local_id: 76 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744122},"span":{"file_name":"src/buffer.rs","byte_start":478865,"byte_end":478869,"line_start":639,"line_end":639,"column_start":44,"column_end":48},"name":"self","qualname":"::list_push::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873210},"span":{"file_name":"src/buffer.rs","byte_start":478871,"byte_end":478875,"line_start":639,"line_end":639,"column_start":50,"column_end":54},"name":"path","qualname":"::list_push::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615034},"span":{"file_name":"src/buffer.rs","byte_start":478886,"byte_end":478891,"line_start":639,"line_end":639,"column_start":65,"column_end":70},"name":"value","qualname":"::list_push::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2300},"span":{"file_name":"src/buffer.rs","byte_start":478850,"byte_end":478851,"line_start":639,"line_end":639,"column_start":29,"column_end":30},"name":"X","qualname":"::list_push::X$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2298},"span":{"file_name":"src/buffer.rs","byte_start":478833,"byte_end":478842,"line_start":639,"line_end":639,"column_start":12,"column_end":21},"name":"list_push","qualname":"::list_push","value":"pub fn list_push<'push, X: 'push>(&mut Self, &[&str], X)\n-> Result, NP_Error> where X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Push a value onto the end of a list.\n The path provided must resolve to a list type, and the type being pushed must match the schema\n \n This is the most efficient way to add values to a list type.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"list\",\n \"of\": {\"type\": \"string\"}\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[\"3\"], \"launch\")?;\n new_buffer.list_push(&[], \"this\")?;\n new_buffer.list_push(&[], \"rocket\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), None),\n 1 => assert_eq!(item.get::<&str>().unwrap(), None),\n 2 => assert_eq!(item.get::<&str>().unwrap(), None),\n 3 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),\n 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),\n 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),\n _ => panic!()\n };\n });\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.list_push(&[], \"launch\")?;\n new_buffer.list_push(&[], \"this\")?;\n new_buffer.list_push(&[], \"rocket\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),\n 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),\n 2 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Push a value onto the end of a list.","span":{"file_name":"src/buffer.rs","byte_start":476753,"byte_end":476793,"line_start":588,"line_end":588,"column_start":5,"column_end":45}},{"value":"/ The path provided must resolve to a list type, and the type being pushed must match the schema","span":{"file_name":"src/buffer.rs","byte_start":476798,"byte_end":476896,"line_start":589,"line_end":589,"column_start":5,"column_end":103}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476901,"byte_end":476905,"line_start":590,"line_end":590,"column_start":5,"column_end":9}},{"value":"/ This is the most efficient way to add values to a list type.","span":{"file_name":"src/buffer.rs","byte_start":476910,"byte_end":476974,"line_start":591,"line_end":591,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476979,"byte_end":476983,"line_start":592,"line_end":592,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":476988,"byte_end":476995,"line_start":593,"line_end":593,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":477000,"byte_end":477034,"line_start":594,"line_end":594,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":477039,"byte_end":477068,"line_start":595,"line_end":595,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":477073,"byte_end":477104,"line_start":596,"line_end":596,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477109,"byte_end":477113,"line_start":597,"line_end":597,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":477118,"byte_end":477173,"line_start":598,"line_end":598,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/buffer.rs","byte_start":477178,"byte_end":477200,"line_start":599,"line_end":599,"column_start":5,"column_end":27}},{"value":"/ \"of\": {\"type\": \"string\"}","span":{"file_name":"src/buffer.rs","byte_start":477205,"byte_end":477237,"line_start":600,"line_end":600,"column_start":5,"column_end":37}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":477242,"byte_end":477252,"line_start":601,"line_end":601,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477257,"byte_end":477261,"line_start":602,"line_end":602,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":477266,"byte_end":477316,"line_start":603,"line_end":603,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[\"3\"], \"launch\")?;","span":{"file_name":"src/buffer.rs","byte_start":477321,"byte_end":477359,"line_start":604,"line_end":604,"column_start":5,"column_end":43}},{"value":"/ new_buffer.list_push(&[], \"this\")?;","span":{"file_name":"src/buffer.rs","byte_start":477364,"byte_end":477403,"line_start":605,"line_end":605,"column_start":5,"column_end":44}},{"value":"/ new_buffer.list_push(&[], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":477408,"byte_end":477449,"line_start":606,"line_end":606,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477454,"byte_end":477458,"line_start":607,"line_end":607,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":477463,"byte_end":477502,"line_start":608,"line_end":608,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":477507,"byte_end":477581,"line_start":609,"line_end":609,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":477586,"byte_end":477612,"line_start":610,"line_end":610,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477617,"byte_end":477680,"line_start":611,"line_end":611,"column_start":5,"column_end":68}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477685,"byte_end":477748,"line_start":612,"line_end":612,"column_start":5,"column_end":68}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477753,"byte_end":477816,"line_start":613,"line_end":613,"column_start":5,"column_end":68}},{"value":"/ 3 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),","span":{"file_name":"src/buffer.rs","byte_start":477821,"byte_end":477894,"line_start":614,"line_end":614,"column_start":5,"column_end":78}},{"value":"/ 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),","span":{"file_name":"src/buffer.rs","byte_start":477899,"byte_end":477970,"line_start":615,"line_end":615,"column_start":5,"column_end":76}},{"value":"/ 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),","span":{"file_name":"src/buffer.rs","byte_start":477975,"byte_end":478048,"line_start":616,"line_end":616,"column_start":5,"column_end":78}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":478053,"byte_end":478078,"line_start":617,"line_end":617,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":478083,"byte_end":478093,"line_start":618,"line_end":618,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":478098,"byte_end":478105,"line_start":619,"line_end":619,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478110,"byte_end":478114,"line_start":620,"line_end":620,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":478119,"byte_end":478169,"line_start":621,"line_end":621,"column_start":5,"column_end":55}},{"value":"/ new_buffer.list_push(&[], \"launch\")?;","span":{"file_name":"src/buffer.rs","byte_start":478174,"byte_end":478215,"line_start":622,"line_end":622,"column_start":5,"column_end":46}},{"value":"/ new_buffer.list_push(&[], \"this\")?;","span":{"file_name":"src/buffer.rs","byte_start":478220,"byte_end":478259,"line_start":623,"line_end":623,"column_start":5,"column_end":44}},{"value":"/ new_buffer.list_push(&[], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":478264,"byte_end":478305,"line_start":624,"line_end":624,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478310,"byte_end":478314,"line_start":625,"line_end":625,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":478319,"byte_end":478358,"line_start":626,"line_end":626,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":478363,"byte_end":478437,"line_start":627,"line_end":627,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":478442,"byte_end":478468,"line_start":628,"line_end":628,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),","span":{"file_name":"src/buffer.rs","byte_start":478473,"byte_end":478546,"line_start":629,"line_end":629,"column_start":5,"column_end":78}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),","span":{"file_name":"src/buffer.rs","byte_start":478551,"byte_end":478622,"line_start":630,"line_end":630,"column_start":5,"column_end":76}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),","span":{"file_name":"src/buffer.rs","byte_start":478627,"byte_end":478700,"line_start":631,"line_end":631,"column_start":5,"column_end":78}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":478705,"byte_end":478730,"line_start":632,"line_end":632,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":478735,"byte_end":478745,"line_start":633,"line_end":633,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":478750,"byte_end":478757,"line_start":634,"line_end":634,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478762,"byte_end":478766,"line_start":635,"line_end":635,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":478771,"byte_end":478800,"line_start":636,"line_end":636,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":478805,"byte_end":478812,"line_start":637,"line_end":637,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478817,"byte_end":478821,"line_start":638,"line_end":638,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":973080826},"span":{"file_name":"src/buffer.rs","byte_start":479083,"byte_end":479094,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"name":"list_cursor","qualname":"list_cursor$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 92 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375734010},"span":{"file_name":"src/buffer.rs","byte_start":479245,"byte_end":479246,"line_start":646,"line_end":646,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 74 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858761978},"span":{"file_name":"src/buffer.rs","byte_start":479315,"byte_end":479321,"line_start":650,"line_end":650,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 103 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187673338},"span":{"file_name":"src/buffer.rs","byte_start":479455,"byte_end":479459,"line_start":655,"line_end":655,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 125 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238004986},"span":{"file_name":"src/buffer.rs","byte_start":479539,"byte_end":479541,"line_start":657,"line_end":657,"column_start":21,"column_end":23},"name":"of","qualname":"of$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 131 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827706},"span":{"file_name":"src/buffer.rs","byte_start":479597,"byte_end":479606,"line_start":659,"line_end":659,"column_start":21,"column_end":30},"name":"of_schema","qualname":"of_schema$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 142 }","value":"&&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177529082},"span":{"file_name":"src/buffer.rs","byte_start":479765,"byte_end":479768,"line_start":663,"line_end":663,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 159 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":8390906},"span":{"file_name":"src/buffer.rs","byte_start":480308,"byte_end":480313,"line_start":675,"line_end":675,"column_start":19,"column_end":24},"name":"index","qualname":"index$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 256 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155874554},"span":{"file_name":"src/buffer.rs","byte_start":480315,"byte_end":480328,"line_start":675,"line_end":675,"column_start":26,"column_end":39},"name":"new_item_addr","qualname":"new_item_addr$HirId { owner: DefId(0:2298 ~ no_proto[2d88]::buffer::{impl#2}::list_push), local_id: 257 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744125},"span":{"file_name":"src/buffer.rs","byte_start":483604,"byte_end":483608,"line_start":779,"line_end":779,"column_start":24,"column_end":28},"name":"self","qualname":"::get_length::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873213},"span":{"file_name":"src/buffer.rs","byte_start":483610,"byte_end":483614,"line_start":779,"line_end":779,"column_start":30,"column_end":34},"name":"path","qualname":"::get_length::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2301},"span":{"file_name":"src/buffer.rs","byte_start":483592,"byte_end":483602,"line_start":779,"line_end":779,"column_start":12,"column_end":22},"name":"get_length","qualname":"::get_length","value":"pub fn get_length(&Self, &[&str]) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Get length of String, Bytes, Table, Tuple, List or Map Type\n \n If the type found at the path provided does not support length operations, you'll get `None`.\n \n If there is no value at the path provodid, you will get `None`.\n \n If an item is found and it's length is zero, you can expect `Some(0)`.\n \n ## String Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // get length of value at root (String)\n assert_eq!(new_buffer.get_length(&[])?, Some(5));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (List) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 9th index\n new_buffer.set(&[\"9\"], \"hello\")?;\n // get length of value at root (List)\n assert_eq!(new_buffer.get_length(&[])?, Some(10));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Table) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n struct({fields: {\n age: u8(),\n name: string()\n }})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // get length of value at root (Table)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Map) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"map({value: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set values\n new_buffer.set(&[\"foo\"], \"bar\")?;\n new_buffer.set(&[\"foo2\"], \"bar2\")?;\n // get length of value at root (Map)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Tuple) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"tuple({values: [string(), string()]})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // get length of value at root (Tuple)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Get length of String, Bytes, Table, Tuple, List or Map Type","span":{"file_name":"src/buffer.rs","byte_start":480501,"byte_end":480564,"line_start":684,"line_end":684,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480569,"byte_end":480573,"line_start":685,"line_end":685,"column_start":5,"column_end":9}},{"value":"/ If the type found at the path provided does not support length operations, you'll get `None`.","span":{"file_name":"src/buffer.rs","byte_start":480578,"byte_end":480675,"line_start":686,"line_end":686,"column_start":5,"column_end":102}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480680,"byte_end":480684,"line_start":687,"line_end":687,"column_start":5,"column_end":9}},{"value":"/ If there is no value at the path provodid, you will get `None`.","span":{"file_name":"src/buffer.rs","byte_start":480689,"byte_end":480756,"line_start":688,"line_end":688,"column_start":5,"column_end":72}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480761,"byte_end":480765,"line_start":689,"line_end":689,"column_start":5,"column_end":9}},{"value":"/ If an item is found and it's length is zero, you can expect `Some(0)`.","span":{"file_name":"src/buffer.rs","byte_start":480770,"byte_end":480844,"line_start":690,"line_end":690,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480849,"byte_end":480853,"line_start":691,"line_end":691,"column_start":5,"column_end":9}},{"value":"/ ## String Example","span":{"file_name":"src/buffer.rs","byte_start":480858,"byte_end":480879,"line_start":692,"line_end":692,"column_start":5,"column_end":26}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":480884,"byte_end":480891,"line_start":693,"line_end":693,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":480896,"byte_end":480930,"line_start":694,"line_end":694,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":480935,"byte_end":480964,"line_start":695,"line_end":695,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":480969,"byte_end":481000,"line_start":696,"line_end":696,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481005,"byte_end":481009,"line_start":697,"line_end":697,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":481014,"byte_end":481073,"line_start":698,"line_end":698,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481078,"byte_end":481082,"line_start":699,"line_end":699,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":481087,"byte_end":481137,"line_start":700,"line_end":700,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":481142,"byte_end":481166,"line_start":701,"line_end":701,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":481171,"byte_end":481205,"line_start":702,"line_end":702,"column_start":5,"column_end":39}},{"value":"/ // get length of value at root (String)","span":{"file_name":"src/buffer.rs","byte_start":481210,"byte_end":481253,"line_start":703,"line_end":703,"column_start":5,"column_end":48}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(5));","span":{"file_name":"src/buffer.rs","byte_start":481258,"byte_end":481311,"line_start":704,"line_end":704,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481316,"byte_end":481320,"line_start":705,"line_end":705,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":481325,"byte_end":481354,"line_start":706,"line_end":706,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481359,"byte_end":481366,"line_start":707,"line_end":707,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481371,"byte_end":481375,"line_start":708,"line_end":708,"column_start":5,"column_end":9}},{"value":"/ ## Collection (List) Example","span":{"file_name":"src/buffer.rs","byte_start":481380,"byte_end":481412,"line_start":709,"line_end":709,"column_start":5,"column_end":37}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481417,"byte_end":481424,"line_start":710,"line_end":710,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":481429,"byte_end":481463,"line_start":711,"line_end":711,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":481468,"byte_end":481497,"line_start":712,"line_end":712,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":481502,"byte_end":481533,"line_start":713,"line_end":713,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481538,"byte_end":481542,"line_start":714,"line_end":714,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":481547,"byte_end":481620,"line_start":715,"line_end":715,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481625,"byte_end":481629,"line_start":716,"line_end":716,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":481634,"byte_end":481684,"line_start":717,"line_end":717,"column_start":5,"column_end":55}},{"value":"/ // set value at 9th index","span":{"file_name":"src/buffer.rs","byte_start":481689,"byte_end":481718,"line_start":718,"line_end":718,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"9\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":481723,"byte_end":481760,"line_start":719,"line_end":719,"column_start":5,"column_end":42}},{"value":"/ // get length of value at root (List)","span":{"file_name":"src/buffer.rs","byte_start":481765,"byte_end":481806,"line_start":720,"line_end":720,"column_start":5,"column_end":46}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(10));","span":{"file_name":"src/buffer.rs","byte_start":481811,"byte_end":481865,"line_start":721,"line_end":721,"column_start":5,"column_end":59}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481870,"byte_end":481874,"line_start":722,"line_end":722,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":481879,"byte_end":481908,"line_start":723,"line_end":723,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481913,"byte_end":481920,"line_start":724,"line_end":724,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481925,"byte_end":481929,"line_start":725,"line_end":725,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Table) Example","span":{"file_name":"src/buffer.rs","byte_start":481934,"byte_end":481967,"line_start":726,"line_end":726,"column_start":5,"column_end":38}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481972,"byte_end":481979,"line_start":727,"line_end":727,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":481984,"byte_end":482018,"line_start":728,"line_end":728,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":482023,"byte_end":482052,"line_start":729,"line_end":729,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":482057,"byte_end":482088,"line_start":730,"line_end":730,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482093,"byte_end":482097,"line_start":731,"line_end":731,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":482102,"byte_end":482151,"line_start":732,"line_end":732,"column_start":5,"column_end":54}},{"value":"/ struct({fields: {","span":{"file_name":"src/buffer.rs","byte_start":482156,"byte_end":482181,"line_start":733,"line_end":733,"column_start":5,"column_end":30}},{"value":"/ age: u8(),","span":{"file_name":"src/buffer.rs","byte_start":482186,"byte_end":482208,"line_start":734,"line_end":734,"column_start":5,"column_end":27}},{"value":"/ name: string()","span":{"file_name":"src/buffer.rs","byte_start":482213,"byte_end":482239,"line_start":735,"line_end":735,"column_start":5,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/buffer.rs","byte_start":482244,"byte_end":482255,"line_start":736,"line_end":736,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":482260,"byte_end":482269,"line_start":737,"line_end":737,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482274,"byte_end":482278,"line_start":738,"line_end":738,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":482283,"byte_end":482333,"line_start":739,"line_end":739,"column_start":5,"column_end":55}},{"value":"/ // get length of value at root (Table)","span":{"file_name":"src/buffer.rs","byte_start":482338,"byte_end":482380,"line_start":740,"line_end":740,"column_start":5,"column_end":47}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":482385,"byte_end":482438,"line_start":741,"line_end":741,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482443,"byte_end":482447,"line_start":742,"line_end":742,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":482452,"byte_end":482481,"line_start":743,"line_end":743,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":482486,"byte_end":482493,"line_start":744,"line_end":744,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482498,"byte_end":482502,"line_start":745,"line_end":745,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Map) Example","span":{"file_name":"src/buffer.rs","byte_start":482507,"byte_end":482538,"line_start":746,"line_end":746,"column_start":5,"column_end":36}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":482543,"byte_end":482550,"line_start":747,"line_end":747,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":482555,"byte_end":482589,"line_start":748,"line_end":748,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":482594,"byte_end":482623,"line_start":749,"line_end":749,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":482628,"byte_end":482659,"line_start":750,"line_end":750,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482664,"byte_end":482668,"line_start":751,"line_end":751,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"map({value: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":482673,"byte_end":482747,"line_start":752,"line_end":752,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482752,"byte_end":482756,"line_start":753,"line_end":753,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":482761,"byte_end":482811,"line_start":754,"line_end":754,"column_start":5,"column_end":55}},{"value":"/ // set values","span":{"file_name":"src/buffer.rs","byte_start":482816,"byte_end":482833,"line_start":755,"line_end":755,"column_start":5,"column_end":22}},{"value":"/ new_buffer.set(&[\"foo\"], \"bar\")?;","span":{"file_name":"src/buffer.rs","byte_start":482838,"byte_end":482875,"line_start":756,"line_end":756,"column_start":5,"column_end":42}},{"value":"/ new_buffer.set(&[\"foo2\"], \"bar2\")?;","span":{"file_name":"src/buffer.rs","byte_start":482880,"byte_end":482919,"line_start":757,"line_end":757,"column_start":5,"column_end":44}},{"value":"/ // get length of value at root (Map)","span":{"file_name":"src/buffer.rs","byte_start":482924,"byte_end":482964,"line_start":758,"line_end":758,"column_start":5,"column_end":45}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":482969,"byte_end":483022,"line_start":759,"line_end":759,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483027,"byte_end":483031,"line_start":760,"line_end":760,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":483036,"byte_end":483065,"line_start":761,"line_end":761,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483070,"byte_end":483077,"line_start":762,"line_end":762,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483082,"byte_end":483086,"line_start":763,"line_end":763,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Tuple) Example","span":{"file_name":"src/buffer.rs","byte_start":483091,"byte_end":483124,"line_start":764,"line_end":764,"column_start":5,"column_end":38}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483129,"byte_end":483136,"line_start":765,"line_end":765,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":483141,"byte_end":483175,"line_start":766,"line_end":766,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":483180,"byte_end":483209,"line_start":767,"line_end":767,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":483214,"byte_end":483245,"line_start":768,"line_end":768,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483250,"byte_end":483254,"line_start":769,"line_end":769,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"tuple({values: [string(), string()]})\")?;","span":{"file_name":"src/buffer.rs","byte_start":483259,"byte_end":483347,"line_start":770,"line_end":770,"column_start":5,"column_end":93}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483352,"byte_end":483356,"line_start":771,"line_end":771,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":483361,"byte_end":483411,"line_start":772,"line_end":772,"column_start":5,"column_end":55}},{"value":"/ // get length of value at root (Tuple)","span":{"file_name":"src/buffer.rs","byte_start":483416,"byte_end":483458,"line_start":773,"line_end":773,"column_start":5,"column_end":47}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":483463,"byte_end":483516,"line_start":774,"line_end":774,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483521,"byte_end":483525,"line_start":775,"line_end":775,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":483530,"byte_end":483559,"line_start":776,"line_end":776,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483564,"byte_end":483571,"line_start":777,"line_end":777,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483576,"byte_end":483580,"line_start":778,"line_end":778,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030269},"span":{"file_name":"src/buffer.rs","byte_start":483674,"byte_end":483686,"line_start":780,"line_end":780,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040381},"span":{"file_name":"src/buffer.rs","byte_start":483777,"byte_end":483789,"line_start":782,"line_end":782,"column_start":13,"column_end":25},"name":"found_cursor","qualname":"found_cursor$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 65 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604925},"span":{"file_name":"src/buffer.rs","byte_start":483908,"byte_end":483918,"line_start":788,"line_end":788,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 78 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583693565},"span":{"file_name":"src/buffer.rs","byte_start":483989,"byte_end":483995,"line_start":790,"line_end":790,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 89 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261415165},"span":{"file_name":"src/buffer.rs","byte_start":484222,"byte_end":484226,"line_start":798,"line_end":798,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 127 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2701134077},"span":{"file_name":"src/buffer.rs","byte_start":484306,"byte_end":484308,"line_start":800,"line_end":800,"column_start":21,"column_end":23},"name":"of","qualname":"of$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 133 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761609981},"span":{"file_name":"src/buffer.rs","byte_start":484344,"byte_end":484353,"line_start":802,"line_end":802,"column_start":21,"column_end":30},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 150 }","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83888381},"span":{"file_name":"src/buffer.rs","byte_start":484430,"byte_end":484439,"line_start":803,"line_end":803,"column_start":21,"column_end":30},"name":"tail_addr","qualname":"tail_addr$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 160 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170896125},"span":{"file_name":"src/buffer.rs","byte_start":484590,"byte_end":484601,"line_start":807,"line_end":807,"column_start":25,"column_end":36},"name":"tail_cursor","qualname":"tail_cursor$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 189 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":318769405},"span":{"file_name":"src/buffer.rs","byte_start":484685,"byte_end":484696,"line_start":808,"line_end":808,"column_start":25,"column_end":36},"name":"cursor_data","qualname":"cursor_data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 200 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":788531453},"span":{"file_name":"src/buffer.rs","byte_start":484986,"byte_end":484991,"line_start":816,"line_end":816,"column_start":25,"column_end":30},"name":"count","qualname":"count$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 244 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545261821},"span":{"file_name":"src/buffer.rs","byte_start":485048,"byte_end":485056,"line_start":818,"line_end":818,"column_start":29,"column_end":37},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 260 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189428989},"span":{"file_name":"src/buffer.rs","byte_start":485376,"byte_end":485380,"line_start":828,"line_end":828,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 321 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2256537853},"span":{"file_name":"src/buffer.rs","byte_start":485552,"byte_end":485556,"line_start":832,"line_end":832,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 353 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2172651773},"span":{"file_name":"src/buffer.rs","byte_start":485728,"byte_end":485732,"line_start":837,"line_end":837,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 385 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783264509},"span":{"file_name":"src/buffer.rs","byte_start":485809,"byte_end":485813,"line_start":839,"line_end":839,"column_start":21,"column_end":25},"name":"size","qualname":"size$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 391 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3045067005},"span":{"file_name":"src/buffer.rs","byte_start":485960,"byte_end":485972,"line_start":844,"line_end":844,"column_start":25,"column_end":37},"name":"length_bytes","qualname":"length_bytes$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 429 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803553021},"span":{"file_name":"src/buffer.rs","byte_start":486226,"byte_end":486230,"line_start":851,"line_end":851,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 470 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":998246653},"span":{"file_name":"src/buffer.rs","byte_start":486308,"byte_end":486312,"line_start":853,"line_end":853,"column_start":21,"column_end":25},"name":"size","qualname":"size$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 476 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1077938429},"span":{"file_name":"src/buffer.rs","byte_start":486462,"byte_end":486474,"line_start":858,"line_end":858,"column_start":25,"column_end":37},"name":"length_bytes","qualname":"length_bytes$HirId { owner: DefId(0:2301 ~ no_proto[2d88]::buffer::{impl#2}::get_length), local_id: 514 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744128},"span":{"file_name":"src/buffer.rs","byte_start":487544,"byte_end":487548,"line_start":893,"line_end":893,"column_start":21,"column_end":25},"name":"self","qualname":"::del::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873216},"span":{"file_name":"src/buffer.rs","byte_start":487550,"byte_end":487554,"line_start":893,"line_end":893,"column_start":27,"column_end":31},"name":"path","qualname":"::del::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2304},"span":{"file_name":"src/buffer.rs","byte_start":487535,"byte_end":487538,"line_start":893,"line_end":893,"column_start":12,"column_end":15},"name":"del","qualname":"::del","value":"pub fn del(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Clear an inner value from the buffer.\n This can also be used to clear deeply nested collection objects or scalar objects.\n \n Returns `true` if it found a value to delete (and deleted it), `false` otherwise.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set index 0\n new_buffer.set(&[\"0\"], \"hello\")?;\n // del index 0\n new_buffer.del(&[\"0\"])?;\n // value is gone now!\n assert_eq!(None, new_buffer.get::<&str>(&[\"0\"])?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Clear an inner value from the buffer.","span":{"file_name":"src/buffer.rs","byte_start":486737,"byte_end":486778,"line_start":870,"line_end":870,"column_start":5,"column_end":46}},{"value":"/ This can also be used to clear deeply nested collection objects or scalar objects.","span":{"file_name":"src/buffer.rs","byte_start":486783,"byte_end":486869,"line_start":871,"line_end":871,"column_start":5,"column_end":91}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":486874,"byte_end":486878,"line_start":872,"line_end":872,"column_start":5,"column_end":9}},{"value":"/ Returns `true` if it found a value to delete (and deleted it), `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":486883,"byte_end":486968,"line_start":873,"line_end":873,"column_start":5,"column_end":90}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":486973,"byte_end":486977,"line_start":874,"line_end":874,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":486982,"byte_end":486989,"line_start":875,"line_end":875,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":486994,"byte_end":487028,"line_start":876,"line_end":876,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":487033,"byte_end":487062,"line_start":877,"line_end":877,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":487067,"byte_end":487098,"line_start":878,"line_end":878,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487103,"byte_end":487107,"line_start":879,"line_end":879,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":487112,"byte_end":487185,"line_start":880,"line_end":880,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487190,"byte_end":487194,"line_start":881,"line_end":881,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":487199,"byte_end":487249,"line_start":882,"line_end":882,"column_start":5,"column_end":55}},{"value":"/ // set index 0","span":{"file_name":"src/buffer.rs","byte_start":487254,"byte_end":487272,"line_start":883,"line_end":883,"column_start":5,"column_end":23}},{"value":"/ new_buffer.set(&[\"0\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":487277,"byte_end":487314,"line_start":884,"line_end":884,"column_start":5,"column_end":42}},{"value":"/ // del index 0","span":{"file_name":"src/buffer.rs","byte_start":487319,"byte_end":487337,"line_start":885,"line_end":885,"column_start":5,"column_end":23}},{"value":"/ new_buffer.del(&[\"0\"])?;","span":{"file_name":"src/buffer.rs","byte_start":487342,"byte_end":487370,"line_start":886,"line_end":886,"column_start":5,"column_end":33}},{"value":"/ // value is gone now!","span":{"file_name":"src/buffer.rs","byte_start":487375,"byte_end":487400,"line_start":887,"line_end":887,"column_start":5,"column_end":30}},{"value":"/ assert_eq!(None, new_buffer.get::<&str>(&[\"0\"])?);","span":{"file_name":"src/buffer.rs","byte_start":487405,"byte_end":487459,"line_start":888,"line_end":888,"column_start":5,"column_end":59}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487464,"byte_end":487468,"line_start":889,"line_end":889,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":487473,"byte_end":487502,"line_start":890,"line_end":890,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":487507,"byte_end":487514,"line_start":891,"line_end":891,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487519,"byte_end":487523,"line_start":892,"line_end":892,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1543506176},"span":{"file_name":"src/buffer.rs","byte_start":487701,"byte_end":487713,"line_start":899,"line_end":899,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2304 ~ no_proto[2d88]::buffer::{impl#2}::del), local_id: 58 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080377088},"span":{"file_name":"src/buffer.rs","byte_start":487846,"byte_end":487847,"line_start":902,"line_end":902,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2304 ~ no_proto[2d88]::buffer::{impl#2}::del), local_id: 62 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744129},"span":{"file_name":"src/buffer.rs","byte_start":488790,"byte_end":488794,"line_start":929,"line_end":929,"column_start":29,"column_end":33},"name":"self","qualname":"::get_schema_type::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873217},"span":{"file_name":"src/buffer.rs","byte_start":488796,"byte_end":488800,"line_start":929,"line_end":929,"column_start":35,"column_end":39},"name":"path","qualname":"::get_schema_type::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2305},"span":{"file_name":"src/buffer.rs","byte_start":488773,"byte_end":488788,"line_start":929,"line_end":929,"column_start":12,"column_end":27},"name":"get_schema_type","qualname":"::get_schema_type","value":"pub fn get_schema_type(&Self, &[&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Retrieve the schema type at a given path.\n \n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::schema::NP_TypeKeys;\n \n let factory: NP_Factory = NP_Factory::new(\"tuple({values: [ geo8(), dec({exp: 2}), string() ]})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n \n assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple);\n assert_eq!(new_buffer.get_schema_type(&[\"0\"])?.unwrap(), NP_TypeKeys::Geo);\n assert_eq!(new_buffer.get_schema_type(&[\"1\"])?.unwrap(), NP_TypeKeys::Decimal);\n assert_eq!(new_buffer.get_schema_type(&[\"2\"])?.unwrap(), NP_TypeKeys::UTF8String);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve the schema type at a given path.","span":{"file_name":"src/buffer.rs","byte_start":487970,"byte_end":488015,"line_start":909,"line_end":909,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488020,"byte_end":488024,"line_start":910,"line_end":910,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488029,"byte_end":488033,"line_start":911,"line_end":911,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":488038,"byte_end":488045,"line_start":912,"line_end":912,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":488050,"byte_end":488084,"line_start":913,"line_end":913,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":488089,"byte_end":488118,"line_start":914,"line_end":914,"column_start":5,"column_end":34}},{"value":"/ use no_proto::schema::NP_TypeKeys;","span":{"file_name":"src/buffer.rs","byte_start":488123,"byte_end":488161,"line_start":915,"line_end":915,"column_start":5,"column_end":43}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488166,"byte_end":488170,"line_start":916,"line_end":916,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"tuple({values: [ geo8(), dec({exp: 2}), string() ]})\")?;","span":{"file_name":"src/buffer.rs","byte_start":488175,"byte_end":488278,"line_start":917,"line_end":917,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488283,"byte_end":488287,"line_start":918,"line_end":918,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":488292,"byte_end":488342,"line_start":919,"line_end":919,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488347,"byte_end":488351,"line_start":920,"line_end":920,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple);","span":{"file_name":"src/buffer.rs","byte_start":488356,"byte_end":488434,"line_start":921,"line_end":921,"column_start":5,"column_end":83}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"0\"])?.unwrap(), NP_TypeKeys::Geo);","span":{"file_name":"src/buffer.rs","byte_start":488439,"byte_end":488518,"line_start":922,"line_end":922,"column_start":5,"column_end":84}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"1\"])?.unwrap(), NP_TypeKeys::Decimal);","span":{"file_name":"src/buffer.rs","byte_start":488523,"byte_end":488606,"line_start":923,"line_end":923,"column_start":5,"column_end":88}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"2\"])?.unwrap(), NP_TypeKeys::UTF8String);","span":{"file_name":"src/buffer.rs","byte_start":488611,"byte_end":488697,"line_start":924,"line_end":924,"column_start":5,"column_end":91}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488702,"byte_end":488706,"line_start":925,"line_end":925,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":488711,"byte_end":488740,"line_start":926,"line_end":926,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":488745,"byte_end":488752,"line_start":927,"line_end":927,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488757,"byte_end":488761,"line_start":928,"line_end":928,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":335546625},"span":{"file_name":"src/buffer.rs","byte_start":488961,"byte_end":488962,"line_start":932,"line_end":932,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2305 ~ no_proto[2d88]::buffer::{impl#2}::get_schema_type), local_id: 40 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744130},"span":{"file_name":"src/buffer.rs","byte_start":490812,"byte_end":490816,"line_start":975,"line_end":975,"column_start":52,"column_end":56},"name":"self","qualname":"::get_schema_default::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873218},"span":{"file_name":"src/buffer.rs","byte_start":490818,"byte_end":490822,"line_start":975,"line_end":975,"column_start":58,"column_end":62},"name":"path","qualname":"::get_schema_default::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2308},"span":{"file_name":"src/buffer.rs","byte_start":490797,"byte_end":490798,"line_start":975,"line_end":975,"column_start":37,"column_end":38},"name":"X","qualname":"::get_schema_default::X$HirId { owner: DefId(0:2306 ~ no_proto[2d88]::buffer::{impl#2}::get_schema_default), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2306},"span":{"file_name":"src/buffer.rs","byte_start":490772,"byte_end":490790,"line_start":975,"line_end":975,"column_start":12,"column_end":30},"name":"get_schema_default","qualname":"::get_schema_default","value":"pub fn get_schema_default<'get, X: 'get>(&'get Self, &[&str])\n-> Result, NP_Error> where X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Retrieve the schema default at a given path.\n \n This is useful for `geo` and `dec` data types where there is information about the value in the schema.\n \n For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema.\n \n The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::dec::NP_Dec;\n use no_proto::pointer::geo::NP_Geo;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({values: [\n geo8(),\n dec({exp: 2})\n ]})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // Get an empty NP_Geo type that has the correct resolution for the schema\n // \n let geo_default: NP_Geo = new_buffer.get_schema_default::(&[\"0\"])?.unwrap();\n assert_eq!(geo_default.size, 8); // geo is size 8 in schema\n \n // Get an empty NP_Dec type that has the correct exp for the schema\n // \n let dec_default: NP_Dec = new_buffer.get_schema_default::(&[\"1\"])?.unwrap();\n assert_eq!(dec_default.exp, 2); // exponent is 2 in schema\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve the schema default at a given path.","span":{"file_name":"src/buffer.rs","byte_start":489099,"byte_end":489147,"line_start":939,"line_end":939,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489152,"byte_end":489156,"line_start":940,"line_end":940,"column_start":5,"column_end":9}},{"value":"/ This is useful for `geo` and `dec` data types where there is information about the value in the schema.","span":{"file_name":"src/buffer.rs","byte_start":489161,"byte_end":489268,"line_start":941,"line_end":941,"column_start":5,"column_end":112}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489273,"byte_end":489277,"line_start":942,"line_end":942,"column_start":5,"column_end":9}},{"value":"/ For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema.","span":{"file_name":"src/buffer.rs","byte_start":489282,"byte_end":489521,"line_start":943,"line_end":943,"column_start":5,"column_end":244}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489526,"byte_end":489530,"line_start":944,"line_end":944,"column_start":5,"column_end":9}},{"value":"/ The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":489535,"byte_end":489662,"line_start":945,"line_end":945,"column_start":5,"column_end":132}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489667,"byte_end":489671,"line_start":946,"line_end":946,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":489676,"byte_end":489683,"line_start":947,"line_end":947,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":489688,"byte_end":489722,"line_start":948,"line_end":948,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":489727,"byte_end":489756,"line_start":949,"line_end":949,"column_start":5,"column_end":34}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/buffer.rs","byte_start":489761,"byte_end":489800,"line_start":950,"line_end":950,"column_start":5,"column_end":44}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/buffer.rs","byte_start":489805,"byte_end":489844,"line_start":951,"line_end":951,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489849,"byte_end":489853,"line_start":952,"line_end":952,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":489858,"byte_end":489952,"line_start":953,"line_end":953,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":489957,"byte_end":490006,"line_start":954,"line_end":954,"column_start":5,"column_end":54}},{"value":"/ tuple({values: [","span":{"file_name":"src/buffer.rs","byte_start":490011,"byte_end":490035,"line_start":955,"line_end":955,"column_start":5,"column_end":29}},{"value":"/ geo8(),","span":{"file_name":"src/buffer.rs","byte_start":490040,"byte_end":490059,"line_start":956,"line_end":956,"column_start":5,"column_end":24}},{"value":"/ dec({exp: 2})","span":{"file_name":"src/buffer.rs","byte_start":490064,"byte_end":490089,"line_start":957,"line_end":957,"column_start":5,"column_end":30}},{"value":"/ ]})","span":{"file_name":"src/buffer.rs","byte_start":490094,"byte_end":490105,"line_start":958,"line_end":958,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":490110,"byte_end":490119,"line_start":959,"line_end":959,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490124,"byte_end":490128,"line_start":960,"line_end":960,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":490133,"byte_end":490183,"line_start":961,"line_end":961,"column_start":5,"column_end":55}},{"value":"/ // Get an empty NP_Geo type that has the correct resolution for the schema","span":{"file_name":"src/buffer.rs","byte_start":490188,"byte_end":490266,"line_start":962,"line_end":962,"column_start":5,"column_end":83}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":490271,"byte_end":490278,"line_start":963,"line_end":963,"column_start":5,"column_end":12}},{"value":"/ let geo_default: NP_Geo = new_buffer.get_schema_default::(&[\"0\"])?.unwrap();","span":{"file_name":"src/buffer.rs","byte_start":490283,"byte_end":490371,"line_start":964,"line_end":964,"column_start":5,"column_end":93}},{"value":"/ assert_eq!(geo_default.size, 8); // geo is size 8 in schema","span":{"file_name":"src/buffer.rs","byte_start":490376,"byte_end":490439,"line_start":965,"line_end":965,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490444,"byte_end":490448,"line_start":966,"line_end":966,"column_start":5,"column_end":9}},{"value":"/ // Get an empty NP_Dec type that has the correct exp for the schema","span":{"file_name":"src/buffer.rs","byte_start":490453,"byte_end":490524,"line_start":967,"line_end":967,"column_start":5,"column_end":76}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":490529,"byte_end":490536,"line_start":968,"line_end":968,"column_start":5,"column_end":12}},{"value":"/ let dec_default: NP_Dec = new_buffer.get_schema_default::(&[\"1\"])?.unwrap();","span":{"file_name":"src/buffer.rs","byte_start":490541,"byte_end":490629,"line_start":969,"line_end":969,"column_start":5,"column_end":93}},{"value":"/ assert_eq!(dec_default.exp, 2); // exponent is 2 in schema","span":{"file_name":"src/buffer.rs","byte_start":490634,"byte_end":490696,"line_start":970,"line_end":970,"column_start":5,"column_end":67}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490701,"byte_end":490705,"line_start":971,"line_end":971,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":490710,"byte_end":490739,"line_start":972,"line_end":972,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":490744,"byte_end":490751,"line_start":973,"line_end":973,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490756,"byte_end":490760,"line_start":974,"line_end":974,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":335546626},"span":{"file_name":"src/buffer.rs","byte_start":491015,"byte_end":491016,"line_start":978,"line_end":978,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2306 ~ no_proto[2d88]::buffer::{impl#2}::get_schema_default), local_id: 40 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040386},"span":{"file_name":"src/buffer.rs","byte_start":491210,"byte_end":491213,"line_start":982,"line_end":982,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2306 ~ no_proto[2d88]::buffer::{impl#2}::get_schema_default), local_id: 65 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744133},"span":{"file_name":"src/buffer.rs","byte_start":492850,"byte_end":492854,"line_start":1021,"line_end":1021,"column_start":37,"column_end":41},"name":"self","qualname":"::get::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873221},"span":{"file_name":"src/buffer.rs","byte_start":492856,"byte_end":492860,"line_start":1021,"line_end":1021,"column_start":43,"column_end":47},"name":"path","qualname":"::get::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2311},"span":{"file_name":"src/buffer.rs","byte_start":492835,"byte_end":492836,"line_start":1021,"line_end":1021,"column_start":22,"column_end":23},"name":"X","qualname":"::get::X$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2309},"span":{"file_name":"src/buffer.rs","byte_start":492825,"byte_end":492828,"line_start":1021,"line_end":1021,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get<'get, X: 'get>(&'get Self, &[&str]) -> Result, NP_Error>\nwhere X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Retrieve an inner value from the buffer. \n \n The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({of: string() }) })})\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key\n // \n new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"who would build a schema like this\")?;\n \n // get the same item we just set\n let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;\n \n assert_eq!(message, Some(\"who would build a schema like this\"));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve an inner value from the buffer. ","span":{"file_name":"src/buffer.rs","byte_start":491736,"byte_end":491781,"line_start":996,"line_end":996,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":491786,"byte_end":491790,"line_start":997,"line_end":997,"column_start":5,"column_end":9}},{"value":"/ The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":491795,"byte_end":491922,"line_start":998,"line_end":998,"column_start":5,"column_end":132}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":491927,"byte_end":491931,"line_start":999,"line_end":999,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":491936,"byte_end":491943,"line_start":1000,"line_end":1000,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":491948,"byte_end":491982,"line_start":1001,"line_end":1001,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":491987,"byte_end":492016,"line_start":1002,"line_end":1002,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":492021,"byte_end":492052,"line_start":1003,"line_end":1003,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492057,"byte_end":492061,"line_start":1004,"line_end":1004,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":492066,"byte_end":492160,"line_start":1005,"line_end":1005,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({of: string() }) })})\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":492165,"byte_end":492268,"line_start":1006,"line_end":1006,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492273,"byte_end":492277,"line_start":1007,"line_end":1007,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":492282,"byte_end":492332,"line_start":1008,"line_end":1008,"column_start":5,"column_end":55}},{"value":"/ // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key","span":{"file_name":"src/buffer.rs","byte_start":492337,"byte_end":492451,"line_start":1009,"line_end":1009,"column_start":5,"column_end":119}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":492456,"byte_end":492463,"line_start":1010,"line_end":1010,"column_start":5,"column_end":12}},{"value":"/ new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"who would build a schema like this\")?;","span":{"file_name":"src/buffer.rs","byte_start":492468,"byte_end":492548,"line_start":1011,"line_end":1011,"column_start":5,"column_end":85}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492553,"byte_end":492557,"line_start":1012,"line_end":1012,"column_start":5,"column_end":9}},{"value":"/ // get the same item we just set","span":{"file_name":"src/buffer.rs","byte_start":492562,"byte_end":492598,"line_start":1013,"line_end":1013,"column_start":5,"column_end":41}},{"value":"/ let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;","span":{"file_name":"src/buffer.rs","byte_start":492603,"byte_end":492667,"line_start":1014,"line_end":1014,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492672,"byte_end":492676,"line_start":1015,"line_end":1015,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(message, Some(\"who would build a schema like this\"));","span":{"file_name":"src/buffer.rs","byte_start":492681,"byte_end":492749,"line_start":1016,"line_end":1016,"column_start":5,"column_end":73}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492754,"byte_end":492758,"line_start":1017,"line_end":1017,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":492763,"byte_end":492792,"line_start":1018,"line_end":1018,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":492797,"byte_end":492804,"line_start":1019,"line_end":1019,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492809,"byte_end":492813,"line_start":1020,"line_end":1020,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030277},"span":{"file_name":"src/buffer.rs","byte_start":492958,"byte_end":492970,"line_start":1022,"line_end":1022,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019901189},"span":{"file_name":"src/buffer.rs","byte_start":493095,"byte_end":493096,"line_start":1025,"line_end":1025,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 45 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169477},"span":{"file_name":"src/buffer.rs","byte_start":493290,"byte_end":493293,"line_start":1029,"line_end":1029,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 70 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303621},"span":{"file_name":"src/buffer.rs","byte_start":493753,"byte_end":493754,"line_start":1038,"line_end":1038,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 156 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3707767045},"span":{"file_name":"src/buffer.rs","byte_start":494029,"byte_end":494030,"line_start":1043,"line_end":1043,"column_start":34,"column_end":35},"name":"y","qualname":"y$HirId { owner: DefId(0:2309 ~ no_proto[2d88]::buffer::{impl#2}::get), local_id: 187 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744136},"span":{"file_name":"src/buffer.rs","byte_start":496589,"byte_end":496593,"line_start":1109,"line_end":1109,"column_start":34,"column_end":38},"name":"self","qualname":"::maybe_compact::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873224},"span":{"file_name":"src/buffer.rs","byte_start":496595,"byte_end":496607,"line_start":1109,"line_end":1109,"column_start":40,"column_end":52},"name":"new_capacity","qualname":"::maybe_compact::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615048},"span":{"file_name":"src/buffer.rs","byte_start":496628,"byte_end":496636,"line_start":1109,"line_end":1109,"column_start":73,"column_end":81},"name":"callback","qualname":"::maybe_compact::callback","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2313},"span":{"file_name":"src/buffer.rs","byte_start":496581,"byte_end":496582,"line_start":1109,"line_end":1109,"column_start":26,"column_end":27},"name":"F","qualname":"::maybe_compact::F$HirId { owner: DefId(0:2312 ~ no_proto[2d88]::buffer::{impl#2}::maybe_compact), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2312},"span":{"file_name":"src/buffer.rs","byte_start":496567,"byte_end":496580,"line_start":1109,"line_end":1109,"column_start":12,"column_end":25},"name":"maybe_compact","qualname":"::maybe_compact","value":"pub fn maybe_compact(&mut Self, Option, F) -> Result<(), NP_Error>\nwhere F: FnMut(NP_Size_Data) -> bool","parent":null,"children":[],"decl_id":null,"docs":" This performs a compaction if the closure provided as the second argument returns `true`.\n Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.\n The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise.\n \n The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.\n \n **WARNING** Your cursor location will be reset to the root.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // using 15 bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n // update the value\n new_buffer.set(&[], \"hello, world\")?;\n // now using 31 bytes, with 9 bytes of wasted space\n assert_eq!(NP_Size_Data {\n current_buffer: 31,\n after_compaction: 22,\n wasted_bytes: 9\n }, new_buffer.calc_bytes()?);\n // compact to save space\n new_buffer.maybe_compact(None, |compact_data| {\n // only compact if wasted bytes are greater than 5\n if compact_data.wasted_bytes > 5 {\n true\n } else {\n false\n }\n })?;\n // back down to 18 bytes with no wasted bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 22,\n after_compaction: 22,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ This performs a compaction if the closure provided as the second argument returns `true`.","span":{"file_name":"src/buffer.rs","byte_start":494421,"byte_end":494514,"line_start":1058,"line_end":1058,"column_start":5,"column_end":98}},{"value":"/ Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.","span":{"file_name":"src/buffer.rs","byte_start":494519,"byte_end":494635,"line_start":1059,"line_end":1059,"column_start":5,"column_end":121}},{"value":"/ The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":494640,"byte_end":494903,"line_start":1060,"line_end":1060,"column_start":5,"column_end":268}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":494908,"byte_end":494912,"line_start":1061,"line_end":1061,"column_start":5,"column_end":9}},{"value":"/ The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.","span":{"file_name":"src/buffer.rs","byte_start":494917,"byte_end":495077,"line_start":1062,"line_end":1062,"column_start":5,"column_end":165}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495082,"byte_end":495086,"line_start":1063,"line_end":1063,"column_start":5,"column_end":9}},{"value":"/ **WARNING** Your cursor location will be reset to the root.","span":{"file_name":"src/buffer.rs","byte_start":495091,"byte_end":495154,"line_start":1064,"line_end":1064,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495159,"byte_end":495163,"line_start":1065,"line_end":1065,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":495168,"byte_end":495175,"line_start":1066,"line_end":1066,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":495180,"byte_end":495214,"line_start":1067,"line_end":1067,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":495219,"byte_end":495248,"line_start":1068,"line_end":1068,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":495253,"byte_end":495284,"line_start":1069,"line_end":1069,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495289,"byte_end":495293,"line_start":1070,"line_end":1070,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":495298,"byte_end":495357,"line_start":1071,"line_end":1071,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495362,"byte_end":495366,"line_start":1072,"line_end":1072,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":495371,"byte_end":495421,"line_start":1073,"line_end":1073,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":495426,"byte_end":495450,"line_start":1074,"line_end":1074,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":495455,"byte_end":495489,"line_start":1075,"line_end":1075,"column_start":5,"column_end":39}},{"value":"/ // using 15 bytes","span":{"file_name":"src/buffer.rs","byte_start":495494,"byte_end":495515,"line_start":1076,"line_end":1076,"column_start":5,"column_end":26}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":495520,"byte_end":495549,"line_start":1077,"line_end":1077,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":495554,"byte_end":495581,"line_start":1078,"line_end":1078,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":495586,"byte_end":495615,"line_start":1079,"line_end":1079,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":495620,"byte_end":495643,"line_start":1080,"line_end":1080,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":495648,"byte_end":495681,"line_start":1081,"line_end":1081,"column_start":5,"column_end":38}},{"value":"/ // update the value","span":{"file_name":"src/buffer.rs","byte_start":495686,"byte_end":495709,"line_start":1082,"line_end":1082,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[], \"hello, world\")?;","span":{"file_name":"src/buffer.rs","byte_start":495714,"byte_end":495755,"line_start":1083,"line_end":1083,"column_start":5,"column_end":46}},{"value":"/ // now using 31 bytes, with 9 bytes of wasted space","span":{"file_name":"src/buffer.rs","byte_start":495760,"byte_end":495815,"line_start":1084,"line_end":1084,"column_start":5,"column_end":60}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":495820,"byte_end":495849,"line_start":1085,"line_end":1085,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 31,","span":{"file_name":"src/buffer.rs","byte_start":495854,"byte_end":495881,"line_start":1086,"line_end":1086,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":495886,"byte_end":495915,"line_start":1087,"line_end":1087,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 9","span":{"file_name":"src/buffer.rs","byte_start":495920,"byte_end":495943,"line_start":1088,"line_end":1088,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":495948,"byte_end":495981,"line_start":1089,"line_end":1089,"column_start":5,"column_end":38}},{"value":"/ // compact to save space","span":{"file_name":"src/buffer.rs","byte_start":495986,"byte_end":496014,"line_start":1090,"line_end":1090,"column_start":5,"column_end":33}},{"value":"/ new_buffer.maybe_compact(None, |compact_data| {","span":{"file_name":"src/buffer.rs","byte_start":496019,"byte_end":496070,"line_start":1091,"line_end":1091,"column_start":5,"column_end":56}},{"value":"/ // only compact if wasted bytes are greater than 5","span":{"file_name":"src/buffer.rs","byte_start":496075,"byte_end":496133,"line_start":1092,"line_end":1092,"column_start":5,"column_end":63}},{"value":"/ if compact_data.wasted_bytes > 5 {","span":{"file_name":"src/buffer.rs","byte_start":496138,"byte_end":496180,"line_start":1093,"line_end":1093,"column_start":5,"column_end":47}},{"value":"/ true","span":{"file_name":"src/buffer.rs","byte_start":496185,"byte_end":496201,"line_start":1094,"line_end":1094,"column_start":5,"column_end":21}},{"value":"/ } else {","span":{"file_name":"src/buffer.rs","byte_start":496206,"byte_end":496222,"line_start":1095,"line_end":1095,"column_start":5,"column_end":21}},{"value":"/ false","span":{"file_name":"src/buffer.rs","byte_start":496227,"byte_end":496244,"line_start":1096,"line_end":1096,"column_start":5,"column_end":22}},{"value":"/ }","span":{"file_name":"src/buffer.rs","byte_start":496249,"byte_end":496258,"line_start":1097,"line_end":1097,"column_start":5,"column_end":14}},{"value":"/ })?;","span":{"file_name":"src/buffer.rs","byte_start":496263,"byte_end":496271,"line_start":1098,"line_end":1098,"column_start":5,"column_end":13}},{"value":"/ // back down to 18 bytes with no wasted bytes","span":{"file_name":"src/buffer.rs","byte_start":496276,"byte_end":496325,"line_start":1099,"line_end":1099,"column_start":5,"column_end":54}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":496330,"byte_end":496359,"line_start":1100,"line_end":1100,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 22,","span":{"file_name":"src/buffer.rs","byte_start":496364,"byte_end":496391,"line_start":1101,"line_end":1101,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":496396,"byte_end":496425,"line_start":1102,"line_end":1102,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":496430,"byte_end":496453,"line_start":1103,"line_end":1103,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":496458,"byte_end":496491,"line_start":1104,"line_end":1104,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":496496,"byte_end":496500,"line_start":1105,"line_end":1105,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":496505,"byte_end":496534,"line_start":1106,"line_end":1106,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":496539,"byte_end":496546,"line_start":1107,"line_end":1107,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":496551,"byte_end":496555,"line_start":1108,"line_end":1108,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1946159368},"span":{"file_name":"src/buffer.rs","byte_start":496812,"byte_end":496822,"line_start":1115,"line_end":1115,"column_start":13,"column_end":23},"name":"bytes_data","qualname":"bytes_data$HirId { owner: DefId(0:2312 ~ no_proto[2d88]::buffer::{impl#2}::maybe_compact), local_id: 46 }","value":"NP_Size_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744138},"span":{"file_name":"src/buffer.rs","byte_start":499102,"byte_end":499106,"line_start":1171,"line_end":1171,"column_start":35,"column_end":39},"name":"self","qualname":"::compact::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873226},"span":{"file_name":"src/buffer.rs","byte_start":499108,"byte_end":499120,"line_start":1171,"line_end":1171,"column_start":41,"column_end":53},"name":"new_capacity","qualname":"::compact::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2314},"span":{"file_name":"src/buffer.rs","byte_start":499079,"byte_end":499086,"line_start":1171,"line_end":1171,"column_start":12,"column_end":19},"name":"compact","qualname":"::compact","value":"pub fn compact<'compact>(&mut Self, Option) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Compacts a buffer to remove an unused bytes or free space after a mutation.\n This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.\n \n The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.\n \n - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. \n - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead.\n - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated.\n \n **WARNING** Your cursor location will be reset to the root.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // using 15 bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n // update the value\n new_buffer.set(&[], \"hello, world\")?;\n // now using 31 bytes, with 9 bytes of wasted space\n assert_eq!(NP_Size_Data {\n current_buffer: 31,\n after_compaction: 22,\n wasted_bytes: 9\n }, new_buffer.calc_bytes()?);\n // compact to save space\n new_buffer.compact(None)?;\n // back down to 18 bytes with no wasted bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 22,\n after_compaction: 22,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Compacts a buffer to remove an unused bytes or free space after a mutation.","span":{"file_name":"src/buffer.rs","byte_start":496966,"byte_end":497045,"line_start":1124,"line_end":1124,"column_start":5,"column_end":84}},{"value":"/ This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.","span":{"file_name":"src/buffer.rs","byte_start":497050,"byte_end":497160,"line_start":1125,"line_end":1125,"column_start":5,"column_end":115}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497165,"byte_end":497169,"line_start":1126,"line_end":1126,"column_start":5,"column_end":9}},{"value":"/ The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.","span":{"file_name":"src/buffer.rs","byte_start":497174,"byte_end":497334,"line_start":1127,"line_end":1127,"column_start":5,"column_end":165}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497339,"byte_end":497343,"line_start":1128,"line_end":1128,"column_start":5,"column_end":9}},{"value":"/ - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. ","span":{"file_name":"src/buffer.rs","byte_start":497348,"byte_end":497503,"line_start":1129,"line_end":1129,"column_start":5,"column_end":160}},{"value":"/ - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead.","span":{"file_name":"src/buffer.rs","byte_start":497508,"byte_end":497637,"line_start":1130,"line_end":1130,"column_start":5,"column_end":134}},{"value":"/ - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated.","span":{"file_name":"src/buffer.rs","byte_start":497642,"byte_end":497811,"line_start":1131,"line_end":1131,"column_start":5,"column_end":174}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497816,"byte_end":497820,"line_start":1132,"line_end":1132,"column_start":5,"column_end":9}},{"value":"/ **WARNING** Your cursor location will be reset to the root.","span":{"file_name":"src/buffer.rs","byte_start":497825,"byte_end":497888,"line_start":1133,"line_end":1133,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497893,"byte_end":497897,"line_start":1134,"line_end":1134,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":497902,"byte_end":497909,"line_start":1135,"line_end":1135,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":497914,"byte_end":497948,"line_start":1136,"line_end":1136,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":497953,"byte_end":497982,"line_start":1137,"line_end":1137,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":497987,"byte_end":498018,"line_start":1138,"line_end":1138,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":498023,"byte_end":498027,"line_start":1139,"line_end":1139,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":498032,"byte_end":498091,"line_start":1140,"line_end":1140,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":498096,"byte_end":498100,"line_start":1141,"line_end":1141,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":498105,"byte_end":498155,"line_start":1142,"line_end":1142,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":498160,"byte_end":498184,"line_start":1143,"line_end":1143,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":498189,"byte_end":498223,"line_start":1144,"line_end":1144,"column_start":5,"column_end":39}},{"value":"/ // using 15 bytes","span":{"file_name":"src/buffer.rs","byte_start":498228,"byte_end":498249,"line_start":1145,"line_end":1145,"column_start":5,"column_end":26}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498254,"byte_end":498283,"line_start":1146,"line_end":1146,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":498288,"byte_end":498315,"line_start":1147,"line_end":1147,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":498320,"byte_end":498349,"line_start":1148,"line_end":1148,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":498354,"byte_end":498377,"line_start":1149,"line_end":1149,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498382,"byte_end":498415,"line_start":1150,"line_end":1150,"column_start":5,"column_end":38}},{"value":"/ // update the value","span":{"file_name":"src/buffer.rs","byte_start":498420,"byte_end":498443,"line_start":1151,"line_end":1151,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[], \"hello, world\")?;","span":{"file_name":"src/buffer.rs","byte_start":498448,"byte_end":498489,"line_start":1152,"line_end":1152,"column_start":5,"column_end":46}},{"value":"/ // now using 31 bytes, with 9 bytes of wasted space","span":{"file_name":"src/buffer.rs","byte_start":498494,"byte_end":498549,"line_start":1153,"line_end":1153,"column_start":5,"column_end":60}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498554,"byte_end":498583,"line_start":1154,"line_end":1154,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 31,","span":{"file_name":"src/buffer.rs","byte_start":498588,"byte_end":498615,"line_start":1155,"line_end":1155,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":498620,"byte_end":498649,"line_start":1156,"line_end":1156,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 9","span":{"file_name":"src/buffer.rs","byte_start":498654,"byte_end":498677,"line_start":1157,"line_end":1157,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498682,"byte_end":498715,"line_start":1158,"line_end":1158,"column_start":5,"column_end":38}},{"value":"/ // compact to save space","span":{"file_name":"src/buffer.rs","byte_start":498720,"byte_end":498748,"line_start":1159,"line_end":1159,"column_start":5,"column_end":33}},{"value":"/ new_buffer.compact(None)?;","span":{"file_name":"src/buffer.rs","byte_start":498753,"byte_end":498783,"line_start":1160,"line_end":1160,"column_start":5,"column_end":35}},{"value":"/ // back down to 18 bytes with no wasted bytes","span":{"file_name":"src/buffer.rs","byte_start":498788,"byte_end":498837,"line_start":1161,"line_end":1161,"column_start":5,"column_end":54}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498842,"byte_end":498871,"line_start":1162,"line_end":1162,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 22,","span":{"file_name":"src/buffer.rs","byte_start":498876,"byte_end":498903,"line_start":1163,"line_end":1163,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":498908,"byte_end":498937,"line_start":1164,"line_end":1164,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":498942,"byte_end":498965,"line_start":1165,"line_end":1165,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498970,"byte_end":499003,"line_start":1166,"line_end":1166,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":499008,"byte_end":499012,"line_start":1167,"line_end":1167,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":499017,"byte_end":499046,"line_start":1168,"line_end":1168,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":499051,"byte_end":499058,"line_start":1169,"line_end":1169,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":499063,"byte_end":499067,"line_start":1170,"line_end":1170,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1275070730},"span":{"file_name":"src/buffer.rs","byte_start":499271,"byte_end":499279,"line_start":1177,"line_end":1177,"column_start":13,"column_end":21},"name":"capacity","qualname":"capacity$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 50 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526410},"span":{"file_name":"src/buffer.rs","byte_start":499325,"byte_end":499326,"line_start":1178,"line_end":1178,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 28 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556746},"span":{"file_name":"src/buffer.rs","byte_start":499423,"byte_end":499431,"line_start":1182,"line_end":1182,"column_start":13,"column_end":21},"name":"old_root","qualname":"old_root$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604938},"span":{"file_name":"src/buffer.rs","byte_start":499486,"byte_end":499494,"line_start":1183,"line_end":1183,"column_start":13,"column_end":21},"name":"new_root","qualname":"new_root$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 78 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455626},"span":{"file_name":"src/buffer.rs","byte_start":499702,"byte_end":499711,"line_start":1187,"line_end":1187,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 109 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761609994},"span":{"file_name":"src/buffer.rs","byte_start":499916,"byte_end":499926,"line_start":1190,"line_end":1190,"column_start":17,"column_end":27},"name":"new_length","qualname":"new_length$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 150 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103787274},"span":{"file_name":"src/buffer.rs","byte_start":499965,"byte_end":499975,"line_start":1191,"line_end":1191,"column_start":17,"column_end":27},"name":"read_bytes","qualname":"read_bytes$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 157 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242954},"span":{"file_name":"src/buffer.rs","byte_start":500018,"byte_end":500024,"line_start":1192,"line_end":1192,"column_start":17,"column_end":23},"name":"memory","qualname":"memory$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 165 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936586},"span":{"file_name":"src/buffer.rs","byte_start":500071,"byte_end":500072,"line_start":1194,"line_end":1194,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 174 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":411044106},"span":{"file_name":"src/buffer.rs","byte_start":500409,"byte_end":500418,"line_start":1206,"line_end":1206,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2314 ~ no_proto[2d88]::buffer::{impl#2}::compact), local_id: 280 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744140},"span":{"file_name":"src/buffer.rs","byte_start":501079,"byte_end":501083,"line_start":1223,"line_end":1223,"column_start":30,"column_end":34},"name":"self","qualname":"::compact_into::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873228},"span":{"file_name":"src/buffer.rs","byte_start":501085,"byte_end":501097,"line_start":1223,"line_end":1223,"column_start":36,"column_end":48},"name":"new_capacity","qualname":"::compact_into::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2316},"span":{"file_name":"src/buffer.rs","byte_start":501061,"byte_end":501073,"line_start":1223,"line_end":1223,"column_start":12,"column_end":24},"name":"compact_into","qualname":"::compact_into","value":"pub fn compact_into(&mut Self, Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Compact the current buffer into a new owned buffer.\n Returns an owned buffer of the compacted result.\n \n This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer.\n \n If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction.\n \n","sig":null,"attributes":[{"value":"/ Compact the current buffer into a new owned buffer.","span":{"file_name":"src/buffer.rs","byte_start":500674,"byte_end":500729,"line_start":1216,"line_end":1216,"column_start":5,"column_end":60}},{"value":"/ Returns an owned buffer of the compacted result.","span":{"file_name":"src/buffer.rs","byte_start":500734,"byte_end":500786,"line_start":1217,"line_end":1217,"column_start":5,"column_end":57}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":500791,"byte_end":500795,"line_start":1218,"line_end":1218,"column_start":5,"column_end":9}},{"value":"/ This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer.","span":{"file_name":"src/buffer.rs","byte_start":500800,"byte_end":500922,"line_start":1219,"line_end":1219,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":500927,"byte_end":500931,"line_start":1220,"line_end":1220,"column_start":5,"column_end":9}},{"value":"/ If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction.","span":{"file_name":"src/buffer.rs","byte_start":500936,"byte_end":501040,"line_start":1221,"line_end":1221,"column_start":5,"column_end":109}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":501045,"byte_end":501049,"line_start":1222,"line_end":1222,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2214594828},"span":{"file_name":"src/buffer.rs","byte_start":501160,"byte_end":501168,"line_start":1225,"line_end":1225,"column_start":13,"column_end":21},"name":"capacity","qualname":"capacity$HirId { owner: DefId(0:2316 ~ no_proto[2d88]::buffer::{impl#2}::compact_into), local_id: 33 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489663244},"span":{"file_name":"src/buffer.rs","byte_start":501214,"byte_end":501215,"line_start":1226,"line_end":1226,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2316 ~ no_proto[2d88]::buffer::{impl#2}::compact_into), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093643020},"span":{"file_name":"src/buffer.rs","byte_start":501312,"byte_end":501320,"line_start":1230,"line_end":1230,"column_start":13,"column_end":21},"name":"old_root","qualname":"old_root$HirId { owner: DefId(0:2316 ~ no_proto[2d88]::buffer::{impl#2}::compact_into), local_id: 47 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992204},"span":{"file_name":"src/buffer.rs","byte_start":501376,"byte_end":501385,"line_start":1232,"line_end":1232,"column_start":13,"column_end":22},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2316 ~ no_proto[2d88]::buffer::{impl#2}::compact_into), local_id: 72 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778387212},"span":{"file_name":"src/buffer.rs","byte_start":501503,"byte_end":501511,"line_start":1233,"line_end":1233,"column_start":13,"column_end":21},"name":"new_root","qualname":"new_root$HirId { owner: DefId(0:2316 ~ no_proto[2d88]::buffer::{impl#2}::compact_into), local_id: 86 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744141},"span":{"file_name":"src/buffer.rs","byte_start":501834,"byte_end":501838,"line_start":1244,"line_end":1244,"column_start":25,"column_end":29},"name":"self","qualname":"::copy_buffer::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2317},"span":{"file_name":"src/buffer.rs","byte_start":501821,"byte_end":501832,"line_start":1244,"line_end":1244,"column_start":12,"column_end":23},"name":"copy_buffer","qualname":"::copy_buffer","value":"pub fn copy_buffer(&Self) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Copy the current buffer into a new owned buffer.\n \n","sig":null,"attributes":[{"value":"/ Copy the current buffer into a new owned buffer.","span":{"file_name":"src/buffer.rs","byte_start":501748,"byte_end":501800,"line_start":1242,"line_end":1242,"column_start":5,"column_end":57}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":501805,"byte_end":501809,"line_start":1243,"line_end":1243,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308685},"span":{"file_name":"src/buffer.rs","byte_start":501867,"byte_end":501877,"line_start":1245,"line_end":1245,"column_start":13,"column_end":23},"name":"copy_bytes","qualname":"copy_bytes$HirId { owner: DefId(0:2317 ~ no_proto[2d88]::buffer::{impl#2}::copy_buffer), local_id: 12 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751465741},"span":{"file_name":"src/buffer.rs","byte_start":501927,"byte_end":501937,"line_start":1246,"line_end":1246,"column_start":13,"column_end":23},"name":"new_memory","qualname":"new_memory$HirId { owner: DefId(0:2317 ~ no_proto[2d88]::buffer::{impl#2}::copy_buffer), local_id: 37 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744142},"span":{"file_name":"src/buffer.rs","byte_start":502825,"byte_end":502829,"line_start":1271,"line_end":1271,"column_start":32,"column_end":36},"name":"self","qualname":"::calc_bytes::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2318},"span":{"file_name":"src/buffer.rs","byte_start":502805,"byte_end":502815,"line_start":1271,"line_end":1271,"column_start":12,"column_end":22},"name":"calc_bytes","qualname":"::calc_bytes","value":"pub fn calc_bytes<'bytes>(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursively measures how many bytes each element in the buffer is using.\n This will let you know how many bytes can be saved from a compaction.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[], \"hello\")?;\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Recursively measures how many bytes each element in the buffer is using.","span":{"file_name":"src/buffer.rs","byte_start":502103,"byte_end":502179,"line_start":1250,"line_end":1250,"column_start":5,"column_end":81}},{"value":"/ This will let you know how many bytes can be saved from a compaction.","span":{"file_name":"src/buffer.rs","byte_start":502184,"byte_end":502257,"line_start":1251,"line_end":1251,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502262,"byte_end":502266,"line_start":1252,"line_end":1252,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":502271,"byte_end":502278,"line_start":1253,"line_end":1253,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":502283,"byte_end":502317,"line_start":1254,"line_end":1254,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":502322,"byte_end":502351,"line_start":1255,"line_end":1255,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":502356,"byte_end":502387,"line_start":1256,"line_end":1256,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502392,"byte_end":502396,"line_start":1257,"line_end":1257,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":502401,"byte_end":502460,"line_start":1258,"line_end":1258,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502465,"byte_end":502469,"line_start":1259,"line_end":1259,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":502474,"byte_end":502524,"line_start":1260,"line_end":1260,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":502529,"byte_end":502563,"line_start":1261,"line_end":1261,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":502568,"byte_end":502597,"line_start":1262,"line_end":1262,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":502602,"byte_end":502629,"line_start":1263,"line_end":1263,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":502634,"byte_end":502663,"line_start":1264,"line_end":1264,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":502668,"byte_end":502691,"line_start":1265,"line_end":1265,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":502696,"byte_end":502729,"line_start":1266,"line_end":1266,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502734,"byte_end":502738,"line_start":1267,"line_end":1267,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":502743,"byte_end":502772,"line_start":1268,"line_end":1268,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":502777,"byte_end":502784,"line_start":1269,"line_end":1269,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502789,"byte_end":502793,"line_start":1270,"line_end":1270,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":134220046},"span":{"file_name":"src/buffer.rs","byte_start":502880,"byte_end":502884,"line_start":1273,"line_end":1273,"column_start":13,"column_end":17},"name":"root","qualname":"root$HirId { owner: DefId(0:2318 ~ no_proto[2d88]::buffer::{impl#2}::calc_bytes), local_id: 16 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885683470},"span":{"file_name":"src/buffer.rs","byte_start":502939,"byte_end":502949,"line_start":1274,"line_end":1274,"column_start":13,"column_end":23},"name":"real_bytes","qualname":"real_bytes$HirId { owner: DefId(0:2318 ~ no_proto[2d88]::buffer::{impl#2}::calc_bytes), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154118926},"span":{"file_name":"src/buffer.rs","byte_start":503030,"byte_end":503040,"line_start":1275,"line_end":1275,"column_start":13,"column_end":23},"name":"total_size","qualname":"total_size$HirId { owner: DefId(0:2318 ~ no_proto[2d88]::buffer::{impl#2}::calc_bytes), local_id: 61 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744144},"span":{"file_name":"src/buffer.rs","byte_start":503734,"byte_end":503738,"line_start":1295,"line_end":1295,"column_start":37,"column_end":41},"name":"self","qualname":"::set_max_data_length::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873232},"span":{"file_name":"src/buffer.rs","byte_start":503740,"byte_end":503743,"line_start":1295,"line_end":1295,"column_start":43,"column_end":46},"name":"len","qualname":"::set_max_data_length::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2320},"span":{"file_name":"src/buffer.rs","byte_start":503709,"byte_end":503728,"line_start":1295,"line_end":1295,"column_start":12,"column_end":31},"name":"set_max_data_length","qualname":"::set_max_data_length","value":"pub fn set_max_data_length(&mut Self, usize)","parent":null,"children":[],"decl_id":null,"docs":" Set the maximum allowed of size of this buffer, in bytes.\n \n Once this value is set, the buffer will not be allowed to grow beyond this size.\n \n This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. \n \n","sig":null,"attributes":[{"value":"/ Set the maximum allowed of size of this buffer, in bytes.","span":{"file_name":"src/buffer.rs","byte_start":503407,"byte_end":503468,"line_start":1289,"line_end":1289,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503473,"byte_end":503477,"line_start":1290,"line_end":1290,"column_start":5,"column_end":9}},{"value":"/ Once this value is set, the buffer will not be allowed to grow beyond this size.","span":{"file_name":"src/buffer.rs","byte_start":503482,"byte_end":503566,"line_start":1291,"line_end":1291,"column_start":5,"column_end":89}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503571,"byte_end":503575,"line_start":1292,"line_end":1292,"column_start":5,"column_end":9}},{"value":"/ This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. ","span":{"file_name":"src/buffer.rs","byte_start":503580,"byte_end":503688,"line_start":1293,"line_end":1293,"column_start":5,"column_end":113}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503693,"byte_end":503697,"line_start":1294,"line_end":1294,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744145},"span":{"file_name":"src/buffer.rs","byte_start":504008,"byte_end":504012,"line_start":1303,"line_end":1303,"column_start":25,"column_end":29},"name":"self","qualname":"::data_length::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2321},"span":{"file_name":"src/buffer.rs","byte_start":503995,"byte_end":504006,"line_start":1303,"line_end":1303,"column_start":12,"column_end":23},"name":"data_length","qualname":"::data_length","value":"pub fn data_length(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" Get the number of bytes used by the data in this buffer.\n \n This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer.\n \n","sig":null,"attributes":[{"value":"/ Get the number of bytes used by the data in this buffer.","span":{"file_name":"src/buffer.rs","byte_start":503806,"byte_end":503866,"line_start":1299,"line_end":1299,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503871,"byte_end":503875,"line_start":1300,"line_end":1300,"column_start":5,"column_end":9}},{"value":"/ This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer.","span":{"file_name":"src/buffer.rs","byte_start":503880,"byte_end":503974,"line_start":1301,"line_end":1301,"column_start":5,"column_end":99}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503979,"byte_end":503983,"line_start":1302,"line_end":1302,"column_start":5,"column_end":9}}]},{"kind":"Struct","id":{"krate":0,"index":2322},"span":{"file_name":"src/buffer.rs","byte_start":504086,"byte_end":504093,"line_start":1309,"line_end":1309,"column_start":12,"column_end":19},"name":"NP_Item","qualname":"::buffer::NP_Item","value":"NP_Item { index, key, field, cursor, parent, memory }","parent":null,"children":[{"krate":0,"index":2324},{"krate":0,"index":2325},{"krate":0,"index":2326},{"krate":0,"index":2327},{"krate":0,"index":2328},{"krate":0,"index":2329}],"decl_id":null,"docs":" NP Item\n","sig":null,"attributes":[{"value":"/ NP Item","span":{"file_name":"src/buffer.rs","byte_start":504063,"byte_end":504074,"line_start":1308,"line_end":1308,"column_start":1,"column_end":12}}]},{"kind":"Field","id":{"krate":0,"index":2324},"span":{"file_name":"src/buffer.rs","byte_start":504139,"byte_end":504144,"line_start":1311,"line_end":1311,"column_start":9,"column_end":14},"name":"index","qualname":"::buffer::NP_Item::index","value":"usize","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":" index of this value\n","sig":null,"attributes":[{"value":"/ index of this value","span":{"file_name":"src/buffer.rs","byte_start":504107,"byte_end":504130,"line_start":1310,"line_end":1310,"column_start":5,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2325},"span":{"file_name":"src/buffer.rs","byte_start":504187,"byte_end":504190,"line_start":1313,"line_end":1313,"column_start":9,"column_end":12},"name":"key","qualname":"::buffer::NP_Item::key","value":"&'item str","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":" Key at this index\n","sig":null,"attributes":[{"value":"/ Key at this index","span":{"file_name":"src/buffer.rs","byte_start":504157,"byte_end":504178,"line_start":1312,"line_end":1312,"column_start":5,"column_end":26}}]},{"kind":"Field","id":{"krate":0,"index":2326},"span":{"file_name":"src/buffer.rs","byte_start":504240,"byte_end":504245,"line_start":1315,"line_end":1315,"column_start":9,"column_end":14},"name":"field","qualname":"::buffer::NP_Item::field","value":"&'item str","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":" Field at this index\n","sig":null,"attributes":[{"value":"/ Field at this index","span":{"file_name":"src/buffer.rs","byte_start":504208,"byte_end":504231,"line_start":1314,"line_end":1314,"column_start":5,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2327},"span":{"file_name":"src/buffer.rs","byte_start":504284,"byte_end":504290,"line_start":1317,"line_end":1317,"column_start":5,"column_end":11},"name":"cursor","qualname":"::buffer::NP_Item::cursor","value":"core::option::Option","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":" Cursor value\n","sig":null,"attributes":[{"value":"/ Cursor value","span":{"file_name":"src/buffer.rs","byte_start":504263,"byte_end":504279,"line_start":1316,"line_end":1316,"column_start":5,"column_end":21}}]},{"kind":"Field","id":{"krate":0,"index":2328},"span":{"file_name":"src/buffer.rs","byte_start":504315,"byte_end":504321,"line_start":1318,"line_end":1318,"column_start":5,"column_end":11},"name":"parent","qualname":"::buffer::NP_Item::parent","value":"pointer::NP_Cursor","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2329},"span":{"file_name":"src/buffer.rs","byte_start":504338,"byte_end":504344,"line_start":1319,"line_end":1319,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Item::memory","value":"&'item memory::NP_Memory","parent":{"krate":0,"index":2322},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744156},"span":{"file_name":"src/buffer.rs","byte_start":504451,"byte_end":504455,"line_start":1325,"line_end":1325,"column_start":23,"column_end":27},"name":"self","qualname":"::has_value::self","value":"&buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2332},"span":{"file_name":"src/buffer.rs","byte_start":504440,"byte_end":504449,"line_start":1325,"line_end":1325,"column_start":12,"column_end":21},"name":"has_value","qualname":"::has_value","value":"pub fn has_value(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" If this item has a value\n","sig":null,"attributes":[{"value":"/ If this item has a value","span":{"file_name":"src/buffer.rs","byte_start":504400,"byte_end":504428,"line_start":1324,"line_end":1324,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":671090972},"span":{"file_name":"src/buffer.rs","byte_start":504522,"byte_end":504527,"line_start":1327,"line_end":1327,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:2332 ~ no_proto[2d88]::buffer::{impl#3}::has_value), local_id: 20 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744157},"span":{"file_name":"src/buffer.rs","byte_start":504706,"byte_end":504710,"line_start":1334,"line_end":1334,"column_start":26,"column_end":30},"name":"self","qualname":"::get::self","value":"&buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2334},"span":{"file_name":"src/buffer.rs","byte_start":504696,"byte_end":504697,"line_start":1334,"line_end":1334,"column_start":16,"column_end":17},"name":"X","qualname":"::get::X$HirId { owner: DefId(0:2333 ~ no_proto[2d88]::buffer::{impl#3}::get), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2333},"span":{"file_name":"src/buffer.rs","byte_start":504692,"byte_end":504695,"line_start":1334,"line_end":1334,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get(&'item Self) -> Result, NP_Error> where X: NP_Value +\nNP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Get value at this pointer\n","sig":null,"attributes":[{"value":"/ Get value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":504651,"byte_end":504680,"line_start":1333,"line_end":1333,"column_start":5,"column_end":34}}]},{"kind":"Local","id":{"krate":0,"index":3825207581},"span":{"file_name":"src/buffer.rs","byte_start":504911,"byte_end":504912,"line_start":1337,"line_end":1337,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:2333 ~ no_proto[2d88]::buffer::{impl#3}::get), local_id: 39 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169501},"span":{"file_name":"src/buffer.rs","byte_start":505121,"byte_end":505122,"line_start":1342,"line_end":1342,"column_start":30,"column_end":31},"name":"y","qualname":"y$HirId { owner: DefId(0:2333 ~ no_proto[2d88]::buffer::{impl#3}::get), local_id: 70 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744159},"span":{"file_name":"src/buffer.rs","byte_start":505465,"byte_end":505469,"line_start":1357,"line_end":1357,"column_start":30,"column_end":34},"name":"self","qualname":"::set::self","value":"&mut buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873247},"span":{"file_name":"src/buffer.rs","byte_start":505471,"byte_end":505476,"line_start":1357,"line_end":1357,"column_start":36,"column_end":41},"name":"value","qualname":"::set::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2336},"span":{"file_name":"src/buffer.rs","byte_start":505451,"byte_end":505452,"line_start":1357,"line_end":1357,"column_start":16,"column_end":17},"name":"X","qualname":"::set::X$HirId { owner: DefId(0:2335 ~ no_proto[2d88]::buffer::{impl#3}::set), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2335},"span":{"file_name":"src/buffer.rs","byte_start":505447,"byte_end":505450,"line_start":1357,"line_end":1357,"column_start":12,"column_end":15},"name":"set","qualname":"::set","value":"pub fn set(&'item mut Self, X) -> Result<(), NP_Error> where X: NP_Value +\nNP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Set value at this pointer\n","sig":null,"attributes":[{"value":"/ Set value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":505406,"byte_end":505435,"line_start":1356,"line_end":1356,"column_start":5,"column_end":34}}]},{"kind":"Local","id":{"krate":0,"index":3523217695},"span":{"file_name":"src/buffer.rs","byte_start":505797,"byte_end":505803,"line_start":1366,"line_end":1366,"column_start":17,"column_end":23},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2335 ~ no_proto[2d88]::buffer::{impl#3}::set), local_id: 75 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030045471},"span":{"file_name":"src/buffer.rs","byte_start":506034,"byte_end":506038,"line_start":1370,"line_end":1370,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2335 ~ no_proto[2d88]::buffer::{impl#3}::set), local_id: 158 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3204450591},"span":{"file_name":"src/buffer.rs","byte_start":506284,"byte_end":506288,"line_start":1374,"line_end":1374,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2335 ~ no_proto[2d88]::buffer::{impl#3}::set), local_id: 253 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1518340383},"span":{"file_name":"src/buffer.rs","byte_start":506531,"byte_end":506535,"line_start":1378,"line_end":1378,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2335 ~ no_proto[2d88]::buffer::{impl#3}::set), local_id: 346 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744161},"span":{"file_name":"src/buffer.rs","byte_start":506851,"byte_end":506855,"line_start":1389,"line_end":1389,"column_start":27,"column_end":31},"name":"self","qualname":"::del::self","value":"&mut buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2337},"span":{"file_name":"src/buffer.rs","byte_start":506836,"byte_end":506839,"line_start":1389,"line_end":1389,"column_start":12,"column_end":15},"name":"del","qualname":"::del","value":"pub fn del(&'item mut Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Clear the value at this pointer\n","sig":null,"attributes":[{"value":"/ Clear the value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":506789,"byte_end":506824,"line_start":1388,"line_end":1388,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":3288336673},"span":{"file_name":"src/buffer.rs","byte_start":507093,"byte_end":507099,"line_start":1398,"line_end":1398,"column_start":20,"column_end":26},"name":"result","qualname":"result$HirId { owner: DefId(0:2337 ~ no_proto[2d88]::buffer::{impl#3}::del), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030305},"span":{"file_name":"src/buffer.rs","byte_start":507132,"byte_end":507134,"line_start":1399,"line_end":1399,"column_start":21,"column_end":23},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2337 ~ no_proto[2d88]::buffer::{impl#3}::del), local_id: 41 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3369},"span":{"file_name":"src/buffer.rs","byte_start":507322,"byte_end":507326,"line_start":1414,"line_end":1414,"column_start":5,"column_end":9},"name":"None","qualname":"::buffer::NP_Iterator_Collection::None","value":"NP_Iterator_Collection::None","parent":{"krate":0,"index":3367},"children":[],"decl_id":null,"docs":" None\n","sig":null,"attributes":[{"value":"/ None","span":{"file_name":"src/buffer.rs","byte_start":507309,"byte_end":507317,"line_start":1413,"line_end":1413,"column_start":5,"column_end":13}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3371},"span":{"file_name":"src/buffer.rs","byte_start":507344,"byte_end":507347,"line_start":1416,"line_end":1416,"column_start":5,"column_end":8},"name":"Map","qualname":"::buffer::NP_Iterator_Collection::Map","value":"NP_Iterator_Collection::Map(NP_Map)","parent":{"krate":0,"index":3367},"children":[],"decl_id":null,"docs":" Map\n","sig":null,"attributes":[{"value":"/ Map","span":{"file_name":"src/buffer.rs","byte_start":507332,"byte_end":507339,"line_start":1415,"line_end":1415,"column_start":5,"column_end":12}}]},{"kind":"Field","id":{"krate":0,"index":3373},"span":{"file_name":"src/buffer.rs","byte_start":507348,"byte_end":507360,"line_start":1416,"line_end":1416,"column_start":9,"column_end":21},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Map::0","value":"collection::map::NP_Map<'col>","parent":{"krate":0,"index":3371},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3374},"span":{"file_name":"src/buffer.rs","byte_start":507380,"byte_end":507384,"line_start":1418,"line_end":1418,"column_start":5,"column_end":9},"name":"List","qualname":"::buffer::NP_Iterator_Collection::List","value":"NP_Iterator_Collection::List(NP_List)","parent":{"krate":0,"index":3367},"children":[],"decl_id":null,"docs":" List\n","sig":null,"attributes":[{"value":"/ List","span":{"file_name":"src/buffer.rs","byte_start":507367,"byte_end":507375,"line_start":1417,"line_end":1417,"column_start":5,"column_end":13}}]},{"kind":"Field","id":{"krate":0,"index":3376},"span":{"file_name":"src/buffer.rs","byte_start":507385,"byte_end":507392,"line_start":1418,"line_end":1418,"column_start":10,"column_end":17},"name":"0","qualname":"::buffer::NP_Iterator_Collection::List::0","value":"collection::list::NP_List","parent":{"krate":0,"index":3374},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3377},"span":{"file_name":"src/buffer.rs","byte_start":507414,"byte_end":507420,"line_start":1420,"line_end":1420,"column_start":5,"column_end":11},"name":"Struct","qualname":"::buffer::NP_Iterator_Collection::Struct","value":"NP_Iterator_Collection::Struct(NP_Struct)","parent":{"krate":0,"index":3367},"children":[],"decl_id":null,"docs":" Struct\n","sig":null,"attributes":[{"value":"/ Struct","span":{"file_name":"src/buffer.rs","byte_start":507399,"byte_end":507409,"line_start":1419,"line_end":1419,"column_start":5,"column_end":15}}]},{"kind":"Field","id":{"krate":0,"index":3379},"span":{"file_name":"src/buffer.rs","byte_start":507421,"byte_end":507436,"line_start":1420,"line_end":1420,"column_start":12,"column_end":27},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Struct::0","value":"collection::struc::NP_Struct<'col>","parent":{"krate":0,"index":3377},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3380},"span":{"file_name":"src/buffer.rs","byte_start":507457,"byte_end":507462,"line_start":1422,"line_end":1422,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::buffer::NP_Iterator_Collection::Tuple","value":"NP_Iterator_Collection::Tuple(NP_Tuple)","parent":{"krate":0,"index":3367},"children":[],"decl_id":null,"docs":" Tuple\n","sig":null,"attributes":[{"value":"/ Tuple","span":{"file_name":"src/buffer.rs","byte_start":507443,"byte_end":507452,"line_start":1421,"line_end":1421,"column_start":5,"column_end":14}}]},{"kind":"Field","id":{"krate":0,"index":3382},"span":{"file_name":"src/buffer.rs","byte_start":507463,"byte_end":507471,"line_start":1422,"line_end":1422,"column_start":11,"column_end":19},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Tuple::0","value":"collection::tuple::NP_Tuple","parent":{"krate":0,"index":3380},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3367},"span":{"file_name":"src/buffer.rs","byte_start":507274,"byte_end":507296,"line_start":1412,"line_end":1412,"column_start":10,"column_end":32},"name":"NP_Iterator_Collection","qualname":"::buffer::NP_Iterator_Collection","value":"pub enum NP_Iterator_Collection<'col> {\n None,\n Map(NP_Map),\n List(NP_List),\n Struct(NP_Struct),\n Tuple(NP_Tuple),\n}","parent":null,"children":[{"krate":0,"index":3369},{"krate":0,"index":3371},{"krate":0,"index":3374},{"krate":0,"index":3377},{"krate":0,"index":3380}],"decl_id":null,"docs":" Iterator Enum\n","sig":null,"attributes":[{"value":"/ Iterator Enum","span":{"file_name":"src/buffer.rs","byte_start":507215,"byte_end":507232,"line_start":1409,"line_end":1409,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744164},"span":{"file_name":"src/buffer.rs","byte_start":507556,"byte_end":507562,"line_start":1427,"line_end":1427,"column_start":16,"column_end":22},"name":"cursor","qualname":"::new::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873252},"span":{"file_name":"src/buffer.rs","byte_start":507575,"byte_end":507581,"line_start":1427,"line_end":1427,"column_start":35,"column_end":41},"name":"memory","qualname":"::new::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2340},"span":{"file_name":"src/buffer.rs","byte_start":507552,"byte_end":507555,"line_start":1427,"line_end":1427,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(NP_Cursor, &'col NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013268260},"span":{"file_name":"src/buffer.rs","byte_start":507742,"byte_end":507747,"line_start":1430,"line_end":1430,"column_start":21,"column_end":26},"name":"struc","qualname":"struc$HirId { owner: DefId(0:2340 ~ no_proto[2d88]::buffer::{impl#4}::new), local_id: 30 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006635300},"span":{"file_name":"src/buffer.rs","byte_start":507919,"byte_end":507923,"line_start":1434,"line_end":1434,"column_start":21,"column_end":25},"name":"list","qualname":"list$HirId { owner: DefId(0:2340 ~ no_proto[2d88]::buffer::{impl#4}::new), local_id: 60 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436209956},"span":{"file_name":"src/buffer.rs","byte_start":508100,"byte_end":508105,"line_start":1438,"line_end":1438,"column_start":21,"column_end":26},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2340 ~ no_proto[2d88]::buffer::{impl#4}::new), local_id: 88 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2919237924},"span":{"file_name":"src/buffer.rs","byte_start":508275,"byte_end":508278,"line_start":1442,"line_end":1442,"column_start":21,"column_end":24},"name":"map","qualname":"map$HirId { owner: DefId(0:2340 ~ no_proto[2d88]::buffer::{impl#4}::new), local_id: 117 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":2341},"span":{"file_name":"src/buffer.rs","byte_start":508525,"byte_end":508544,"line_start":1451,"line_end":1451,"column_start":12,"column_end":31},"name":"NP_Generic_Iterator","qualname":"::buffer::NP_Generic_Iterator","value":"NP_Generic_Iterator { root, value, memory, index }","parent":null,"children":[{"krate":0,"index":2343},{"krate":0,"index":2344},{"krate":0,"index":2345},{"krate":0,"index":2346}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/buffer.rs","byte_start":508491,"byte_end":508513,"line_start":1450,"line_end":1450,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":2343},"span":{"file_name":"src/buffer.rs","byte_start":508556,"byte_end":508560,"line_start":1452,"line_end":1452,"column_start":5,"column_end":9},"name":"root","qualname":"::buffer::NP_Generic_Iterator::root","value":"pointer::NP_Cursor","parent":{"krate":0,"index":2341},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2344},"span":{"file_name":"src/buffer.rs","byte_start":508577,"byte_end":508582,"line_start":1453,"line_end":1453,"column_start":5,"column_end":10},"name":"value","qualname":"::buffer::NP_Generic_Iterator::value","value":"buffer::NP_Iterator_Collection<'it>","parent":{"krate":0,"index":2341},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2345},"span":{"file_name":"src/buffer.rs","byte_start":508617,"byte_end":508623,"line_start":1454,"line_end":1454,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Generic_Iterator::memory","value":"&'it memory::NP_Memory","parent":{"krate":0,"index":2341},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2346},"span":{"file_name":"src/buffer.rs","byte_start":508645,"byte_end":508650,"line_start":1455,"line_end":1455,"column_start":5,"column_end":10},"name":"index","qualname":"::buffer::NP_Generic_Iterator::index","value":"usize","parent":{"krate":0,"index":2341},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744173},"span":{"file_name":"src/buffer.rs","byte_start":508736,"byte_end":508742,"line_start":1460,"line_end":1460,"column_start":16,"column_end":22},"name":"cursor","qualname":"::new::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873261},"span":{"file_name":"src/buffer.rs","byte_start":508755,"byte_end":508761,"line_start":1460,"line_end":1460,"column_start":35,"column_end":41},"name":"memory","qualname":"::new::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2349},"span":{"file_name":"src/buffer.rs","byte_start":508732,"byte_end":508735,"line_start":1460,"line_end":1460,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(NP_Cursor, &'it NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744177},"span":{"file_name":"src/buffer.rs","byte_start":509101,"byte_end":509105,"line_start":1474,"line_end":1474,"column_start":18,"column_end":22},"name":"self","qualname":"::next::self","value":"&mut buffer::NP_Generic_Iterator","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2353},"span":{"file_name":"src/buffer.rs","byte_start":509091,"byte_end":509095,"line_start":1474,"line_end":1474,"column_start":8,"column_end":12},"name":"next","qualname":"::next","value":"fn next(&mut Self) -> Option","parent":{"krate":1,"index":7914},"children":[],"decl_id":{"krate":1,"index":7916},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415921457},"span":{"file_name":"src/buffer.rs","byte_start":509203,"byte_end":509204,"line_start":1476,"line_end":1476,"column_start":41,"column_end":42},"name":"x","qualname":"x$HirId { owner: DefId(0:2353 ~ no_proto[2d88]::buffer::{impl#6}::next), local_id: 9 }","value":"&mut collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604977},"span":{"file_name":"src/buffer.rs","byte_start":509613,"byte_end":509614,"line_start":1484,"line_end":1484,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:2353 ~ no_proto[2d88]::buffer::{impl#6}::next), local_id: 78 }","value":"&mut collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553650481},"span":{"file_name":"src/buffer.rs","byte_start":509961,"byte_end":509962,"line_start":1491,"line_end":1491,"column_start":44,"column_end":45},"name":"x","qualname":"x$HirId { owner: DefId(0:2353 ~ no_proto[2d88]::buffer::{impl#6}::next), local_id: 132 }","value":"&mut collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2097154353},"span":{"file_name":"src/buffer.rs","byte_start":510326,"byte_end":510327,"line_start":1498,"line_end":1498,"column_start":43,"column_end":44},"name":"x","qualname":"x$HirId { owner: DefId(0:2353 ~ no_proto[2d88]::buffer::{impl#6}::next), local_id: 190 }","value":"&mut collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2354},"span":{"file_name":"src/schema.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"schema","qualname":"::schema","value":"src/schema.rs","parent":null,"children":[{"krate":0,"index":2355},{"krate":0,"index":2356},{"krate":0,"index":2359},{"krate":0,"index":2360},{"krate":0,"index":2363},{"krate":0,"index":2366},{"krate":0,"index":2367},{"krate":0,"index":2370},{"krate":0,"index":2371},{"krate":0,"index":2374},{"krate":0,"index":2375},{"krate":0,"index":2378},{"krate":0,"index":2381},{"krate":0,"index":2382},{"krate":0,"index":2383},{"krate":0,"index":2385},{"krate":0,"index":2386},{"krate":0,"index":2389},{"krate":0,"index":2392},{"krate":0,"index":2395},{"krate":0,"index":2396},{"krate":0,"index":2397},{"krate":0,"index":2398},{"krate":0,"index":2400},{"krate":0,"index":2403},{"krate":0,"index":2406},{"krate":0,"index":2409},{"krate":0,"index":2412},{"krate":0,"index":2415},{"krate":0,"index":2418},{"krate":0,"index":2421},{"krate":0,"index":2424},{"krate":0,"index":2425},{"krate":0,"index":2428},{"krate":0,"index":2431},{"krate":0,"index":2434},{"krate":0,"index":2435},{"krate":0,"index":2438},{"krate":0,"index":2441},{"krate":0,"index":2444},{"krate":0,"index":2447},{"krate":0,"index":3386},{"krate":0,"index":3465},{"krate":0,"index":3467},{"krate":0,"index":3469},{"krate":0,"index":3470},{"krate":0,"index":3472},{"krate":0,"index":3473},{"krate":0,"index":3475},{"krate":0,"index":2450},{"krate":0,"index":2452},{"krate":0,"index":2455},{"krate":0,"index":3476},{"krate":0,"index":3486},{"krate":0,"index":3488},{"krate":0,"index":3490},{"krate":0,"index":3491},{"krate":0,"index":3493},{"krate":0,"index":3494},{"krate":0,"index":3496},{"krate":0,"index":2456},{"krate":0,"index":3497},{"krate":0,"index":3503},{"krate":0,"index":3505},{"krate":0,"index":3507},{"krate":0,"index":3508},{"krate":0,"index":3510},{"krate":0,"index":3511},{"krate":0,"index":3514},{"krate":0,"index":3515},{"krate":0,"index":3520},{"krate":0,"index":3522},{"krate":0,"index":3524},{"krate":0,"index":3525},{"krate":0,"index":3528},{"krate":0,"index":3533},{"krate":0,"index":3535},{"krate":0,"index":3537},{"krate":0,"index":3538},{"krate":0,"index":2458},{"krate":0,"index":3541},{"krate":0,"index":3556},{"krate":0,"index":3558},{"krate":0,"index":3560},{"krate":0,"index":3567},{"krate":0,"index":3569},{"krate":0,"index":2460},{"krate":0,"index":2461},{"krate":0,"index":2462},{"krate":0,"index":3571},{"krate":0,"index":3573},{"krate":0,"index":3575},{"krate":0,"index":3577},{"krate":0,"index":3579},{"krate":0,"index":3581},{"krate":0,"index":3583},{"krate":0,"index":3585},{"krate":0,"index":3587},{"krate":0,"index":3589},{"krate":0,"index":3591},{"krate":0,"index":3593},{"krate":0,"index":3595},{"krate":0,"index":3597},{"krate":0,"index":3599},{"krate":0,"index":3601},{"krate":0,"index":3603},{"krate":0,"index":3605},{"krate":0,"index":3607},{"krate":0,"index":3609},{"krate":0,"index":3611},{"krate":0,"index":3613},{"krate":0,"index":3615},{"krate":0,"index":3617},{"krate":0,"index":3619},{"krate":0,"index":3621},{"krate":0,"index":3623},{"krate":0,"index":3625},{"krate":0,"index":3627},{"krate":0,"index":3629},{"krate":0,"index":3631},{"krate":0,"index":3633},{"krate":0,"index":3635},{"krate":0,"index":3637},{"krate":0,"index":3642},{"krate":0,"index":3644},{"krate":0,"index":3646},{"krate":0,"index":3649},{"krate":0,"index":3651},{"krate":0,"index":3653},{"krate":0,"index":3656},{"krate":0,"index":3658},{"krate":0,"index":3660},{"krate":0,"index":3663},{"krate":0,"index":3665},{"krate":0,"index":3667},{"krate":0,"index":3670},{"krate":0,"index":3672},{"krate":0,"index":3674},{"krate":0,"index":3677},{"krate":0,"index":3679},{"krate":0,"index":3681},{"krate":0,"index":3683},{"krate":0,"index":3685},{"krate":0,"index":3687},{"krate":0,"index":3690},{"krate":0,"index":3692},{"krate":0,"index":3694},{"krate":0,"index":3698},{"krate":0,"index":3700},{"krate":0,"index":2464},{"krate":0,"index":3702},{"krate":0,"index":3705},{"krate":0,"index":3707},{"krate":0,"index":2466}],"decl_id":null,"docs":" Schemas are used to describe the shape and types of buffer objects\n \n NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it.\n \n Schemas can be loaded from JSON, ES6 or Bytes.\n \n As a quick example, the schemas below are indentical in what they describe, only different in syntax.\n ```text\n /* List Of Strings */\n \n // JSON Schema\n {\"type\": \"list\", \"of\": {\"type\": \"string\"}}\n \n // ES6 Schema\n list({of: string()})\n \n // Byte schema (not human readable)\n [23, 2, 0, 0, 0, 0, 0]\n ```\n \n NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it.\n \n Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it.\n \n Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. \n \n Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string:\n ```text\n // JSON\n {\n \"type\": \"string\"\n }\n // ES6\n string()\n ```\n \n However, you will likely want to store more complicated objects, so that's easy to do as well.\n ```text\n // JSON\n {\n \"type\": \"struct\",\n \"fields\": [\n [\"userID\", {\"type\": \"string\"}], // userID field contains a string\n [\"password\", {\"type\": \"string\"}], // password field contains a string\n [\"email\", {\"type\": \"string\"}], // email field contains a string\n [\"age\", {\"type\": \"u8\"}] // age field contains a Uint8 number (0 - 255)\n ]\n }\n \n // ES6\n struct({fields: {\n userID: string(), // userID field contains a string\n password: string(), // password field contains a string\n email: string(), // email field contains a string\n age: u8() // age field contains a Uint8 number (0 - 255)\n }})\n ```\n \n There are multiple collection types and they can be nested.\n \n For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type.\n ```text\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\n \"type\": \"struct\",\n \"fields\": [\n [\"id\", {\"type\": \"string\"}]\n [\"title\", {\"type\": \"string\"}]\n ]\n }\n }\n \n // ES6\n list({of: struct({fields: {\n id: string(),\n title: string()\n }})})\n ```\n You can nest collections as much and however you'd like, up to 255 levels.\n \n A list of strings is just as easy...\n \n ```text\n // JSON\n {\n \"type\": \"list\",\n \"of\": { \"type\": \"string\" }\n }\n \n // ES6\n list({of: string()})\n ```\n \n **ES6 Schemas**
\n NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax.\n \n The following ES6 syntax is supported:\n - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn(\"hello\", [1, 2])`\n - Single line comments on their own line or at the end of a line using double slash `//`.\n - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `[\"hello\", myFn()]`\n - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: \"value\"}`, `{foo: \"bar\", baz: myFn()}`\n - Arrays and objects can be safely nested. There is a nesting limit of 255 levels.\n - Numbers, Strings contained in double quotes '`\"`', and Boolean values.\n - Strings can safely contain escaped double quotes `\\\"` inside them.\n - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }`\n \n If the syntax is not in the above list, it will not be parsed correctly by NoProto.\n \n ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas.\n \n **JSON Schemas**
\n \n If you're familiar with Typescript, JSON schemas can be described by this recursive interface:\n \n ```typescript\n interface NP_Schema {\n // table, string, bytes, etc\n type: string; \n \n // used by string & bytes types\n size?: number;\n \n // used by decimal type, the number of decimal places every value has\n exp?: number;\n \n // used by tuple to indicite bytewise sorting of children\n sorted?: boolean;\n \n // used by list types\n of?: NP_Schema\n \n // used by map types\n value?: NP_Schema\n \n // used by tuple types\n values?: NP_Schema[]\n \n // used by struct types\n fields?: [string, NP_Schema][];\n \n // used by option/enum types\n choices?: string[];\n \n // used by unions\n types?: [string, NP_Schema][];\n \n // used by portals\n to?: string\n \n // default value for this item\n default?: any;\n }\n ```\n \n ## Schema Data Types\n Each type has trade offs associated with it. The table and documentation below go into further detail.\n \n ### Supported Data Types\n \n | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes |\n |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------|\n | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. |\n | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. |\n | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. |\n | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. |\n | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. |\n | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. |\n | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. |\n | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 |\n | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 |\n | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 |\n | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 |\n | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 |\n | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 |\n | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 |\n | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 |\n | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 |\n | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 |\n | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. |\n | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | |\n | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. |\n | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate |\n | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate |\n | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate |\n | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) |\n | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs |\n | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 |\n | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | \n \n - \\* `sorting` must be set to `true` in the schema for this object to enable sorting.\n - \\*\\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema\n \n # Legend\n \n **Bytewise Sorting**
\n Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases.\n \n Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose.\n \n You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical.\n \n **Compaction**
\n Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided.\n \n Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence.\n \n Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options.\n \n Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space.\n \n - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact)\n \n **Schema Mutations**
\n Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction.\n \n There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe.\n \n Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`.\n \n # Schema Types\n \n Every schema type maps exactly to a native data type in your code.\n \n ## struct\n Structs represnt a fixed number of named fields, with each field having it's own data type.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Fields without values will be removed from the buffer durring compaction.\n - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. \n \n Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes.\n \n Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data.\n \n If you need flexible field names use a `map` type instead.\n \n ```text\n // JSON\n {\n \"type\": \"struct\",\n \"fields\": [ // can have between 1 and 255 fields\n [\"field name\", {\"type\": \"data type for this field\"}],\n [\"name\", {\"type\": \"string\"}],\n [\"tags\", {\"type\": \"list\", \"of\": { // nested list of strings\n \"type\": \"string\"\n }}],\n [\"age\", {\"type\": \"u8\"}], // Uint8 number\n [\"meta\", {\"type\": \"struct\", \"fields\": [ // nested struct\n [\"favorite_color\", {\"type\": \"string\"}],\n [\"favorite_sport\", {\"type\": \"string\"}]\n ]}]\n ]\n }\n \n // ES6\n struct({fields: {\n // data_type() isn't a real data type...\n field_name: data_type(),\n name: string(),\n tags: list({of: string()}),\n age: u8(),\n meta: struct({fields: {\n favorite_color: string(),\n favorite_sport: string()\n }})\n }})\n ```\n \n ## list\n Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space.\n - **Schema Mutations**: None\n \n Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. \n \n The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list.\n \n ```text\n // a list of list of strings\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\n \"type\": \"list\",\n \"of\": {\"type\": \"string\"}\n }\n }\n // ES6\n list({of: list({of: string()})})\n \n // list of numbers\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\"type\": \"i32\"}\n }\n \n // ES6\n list({of: i32()})\n ```\n \n \n ## map\n A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Keys without values are removed from the buffer\n - **Schema Mutations**: None\n \n Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map.\n \n If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. \n \n The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values.\n \n ```text\n // a map where every value is a string\n // JSON\n {\n \"type\": \"map\",\n \"value\": {\n \"type\": \"string\"\n }\n }\n // ES6\n map({value: string()})\n ```\n \n \n ## tuple\n A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items.\n \n - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`.\n - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated.\n - **Schema Mutations**: No mutations are safe\n \n Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples.\n \n **Sorting**
\n You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size.\n \n When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size.\n \n ```text\n // JSON\n {\n \"type\": \"tuple\",\n \"values\": [\n {\"type\": \"string\"},\n {\"type\": \"list\", \"of\": {\"type\": \"strings\"}},\n {\"type\": \"u64\"}\n ]\n }\n // ES6\n tuple({values: [string(), list({of: string()}), u64()]})\n \n // tuple for bytewise sorting\n // JSON\n {\n \"type\": \"tuple\",\n \"sorted\": true,\n \"values\": [\n {\"type\": \"string\", \"size\": 25},\n {\"type\": \"u8\"},\n {\"type\": \"i64\"}\n ]\n }\n \n // ES6\n tuple({storted: true, values: [\n string({size: 25}), \n u8(), \n i64()\n ]})\n ```","sig":null,"attributes":[{"value":"/ Schemas are used to describe the shape and types of buffer objects","span":{"file_name":"src/schema.rs","byte_start":510681,"byte_end":510751,"line_start":1,"line_end":1,"column_start":1,"column_end":71}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":510752,"byte_end":510756,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it.","span":{"file_name":"src/schema.rs","byte_start":510757,"byte_end":510958,"line_start":3,"line_end":3,"column_start":1,"column_end":202}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":510959,"byte_end":510963,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ Schemas can be loaded from JSON, ES6 or Bytes.","span":{"file_name":"src/schema.rs","byte_start":510964,"byte_end":511014,"line_start":5,"line_end":5,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511015,"byte_end":511019,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ As a quick example, the schemas below are indentical in what they describe, only different in syntax.","span":{"file_name":"src/schema.rs","byte_start":511020,"byte_end":511125,"line_start":7,"line_end":7,"column_start":1,"column_end":106}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":511126,"byte_end":511137,"line_start":8,"line_end":8,"column_start":1,"column_end":12}},{"value":"/ /* List Of Strings */","span":{"file_name":"src/schema.rs","byte_start":511138,"byte_end":511163,"line_start":9,"line_end":9,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511164,"byte_end":511168,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ // JSON Schema","span":{"file_name":"src/schema.rs","byte_start":511169,"byte_end":511187,"line_start":11,"line_end":11,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"list\", \"of\": {\"type\": \"string\"}}","span":{"file_name":"src/schema.rs","byte_start":511188,"byte_end":511234,"line_start":12,"line_end":12,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511235,"byte_end":511239,"line_start":13,"line_end":13,"column_start":1,"column_end":5}},{"value":"/ // ES6 Schema","span":{"file_name":"src/schema.rs","byte_start":511240,"byte_end":511257,"line_start":14,"line_end":14,"column_start":1,"column_end":18}},{"value":"/ list({of: string()})","span":{"file_name":"src/schema.rs","byte_start":511258,"byte_end":511282,"line_start":15,"line_end":15,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511283,"byte_end":511287,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ // Byte schema (not human readable)","span":{"file_name":"src/schema.rs","byte_start":511288,"byte_end":511327,"line_start":17,"line_end":17,"column_start":1,"column_end":40}},{"value":"/ [23, 2, 0, 0, 0, 0, 0]","span":{"file_name":"src/schema.rs","byte_start":511328,"byte_end":511354,"line_start":18,"line_end":18,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":511355,"byte_end":511362,"line_start":19,"line_end":19,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511363,"byte_end":511367,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it.","span":{"file_name":"src/schema.rs","byte_start":511368,"byte_end":511687,"line_start":21,"line_end":21,"column_start":1,"column_end":320}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511688,"byte_end":511692,"line_start":22,"line_end":22,"column_start":1,"column_end":5}},{"value":"/ Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it.","span":{"file_name":"src/schema.rs","byte_start":511693,"byte_end":511886,"line_start":23,"line_end":23,"column_start":1,"column_end":194}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511887,"byte_end":511891,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. ","span":{"file_name":"src/schema.rs","byte_start":511892,"byte_end":512060,"line_start":25,"line_end":25,"column_start":1,"column_end":169}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512061,"byte_end":512065,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string:","span":{"file_name":"src/schema.rs","byte_start":512066,"byte_end":512198,"line_start":27,"line_end":27,"column_start":1,"column_end":133}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":512199,"byte_end":512210,"line_start":28,"line_end":28,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":512211,"byte_end":512222,"line_start":29,"line_end":29,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":512223,"byte_end":512228,"line_start":30,"line_end":30,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":512229,"byte_end":512253,"line_start":31,"line_end":31,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":512254,"byte_end":512259,"line_start":32,"line_end":32,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":512260,"byte_end":512270,"line_start":33,"line_end":33,"column_start":1,"column_end":11}},{"value":"/ string()","span":{"file_name":"src/schema.rs","byte_start":512271,"byte_end":512283,"line_start":34,"line_end":34,"column_start":1,"column_end":13}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":512284,"byte_end":512291,"line_start":35,"line_end":35,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512292,"byte_end":512296,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ However, you will likely want to store more complicated objects, so that's easy to do as well.","span":{"file_name":"src/schema.rs","byte_start":512297,"byte_end":512395,"line_start":37,"line_end":37,"column_start":1,"column_end":99}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":512396,"byte_end":512407,"line_start":38,"line_end":38,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":512408,"byte_end":512419,"line_start":39,"line_end":39,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":512420,"byte_end":512425,"line_start":40,"line_end":40,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":512426,"byte_end":512451,"line_start":41,"line_end":41,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":512452,"byte_end":512471,"line_start":42,"line_end":42,"column_start":1,"column_end":20}},{"value":"/ [\"userID\", {\"type\": \"string\"}], // userID field contains a string","span":{"file_name":"src/schema.rs","byte_start":512472,"byte_end":512551,"line_start":43,"line_end":43,"column_start":1,"column_end":80}},{"value":"/ [\"password\", {\"type\": \"string\"}], // password field contains a string","span":{"file_name":"src/schema.rs","byte_start":512552,"byte_end":512633,"line_start":44,"line_end":44,"column_start":1,"column_end":82}},{"value":"/ [\"email\", {\"type\": \"string\"}], // email field contains a string","span":{"file_name":"src/schema.rs","byte_start":512634,"byte_end":512712,"line_start":45,"line_end":45,"column_start":1,"column_end":79}},{"value":"/ [\"age\", {\"type\": \"u8\"}] // age field contains a Uint8 number (0 - 255)","span":{"file_name":"src/schema.rs","byte_start":512713,"byte_end":512804,"line_start":46,"line_end":46,"column_start":1,"column_end":92}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":512805,"byte_end":512814,"line_start":47,"line_end":47,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":512815,"byte_end":512820,"line_start":48,"line_end":48,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512821,"byte_end":512825,"line_start":49,"line_end":49,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":512826,"byte_end":512836,"line_start":50,"line_end":50,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":512837,"byte_end":512858,"line_start":51,"line_end":51,"column_start":1,"column_end":22}},{"value":"/ userID: string(), // userID field contains a string","span":{"file_name":"src/schema.rs","byte_start":512859,"byte_end":512921,"line_start":52,"line_end":52,"column_start":1,"column_end":63}},{"value":"/ password: string(), // password field contains a string","span":{"file_name":"src/schema.rs","byte_start":512922,"byte_end":512986,"line_start":53,"line_end":53,"column_start":1,"column_end":65}},{"value":"/ email: string(), // email field contains a string","span":{"file_name":"src/schema.rs","byte_start":512987,"byte_end":513048,"line_start":54,"line_end":54,"column_start":1,"column_end":62}},{"value":"/ age: u8() // age field contains a Uint8 number (0 - 255)","span":{"file_name":"src/schema.rs","byte_start":513049,"byte_end":513124,"line_start":55,"line_end":55,"column_start":1,"column_end":76}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":513125,"byte_end":513132,"line_start":56,"line_end":56,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513133,"byte_end":513140,"line_start":57,"line_end":57,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513141,"byte_end":513145,"line_start":58,"line_end":58,"column_start":1,"column_end":5}},{"value":"/ There are multiple collection types and they can be nested.","span":{"file_name":"src/schema.rs","byte_start":513146,"byte_end":513209,"line_start":59,"line_end":59,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513210,"byte_end":513214,"line_start":60,"line_end":60,"column_start":1,"column_end":5}},{"value":"/ For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type.","span":{"file_name":"src/schema.rs","byte_start":513215,"byte_end":513357,"line_start":61,"line_end":61,"column_start":1,"column_end":143}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":513358,"byte_end":513369,"line_start":62,"line_end":62,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":513370,"byte_end":513381,"line_start":63,"line_end":63,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":513382,"byte_end":513387,"line_start":64,"line_end":64,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":513388,"byte_end":513411,"line_start":65,"line_end":65,"column_start":1,"column_end":24}},{"value":"/ \"of\": {","span":{"file_name":"src/schema.rs","byte_start":513412,"byte_end":513427,"line_start":66,"line_end":66,"column_start":1,"column_end":16}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":513428,"byte_end":513457,"line_start":67,"line_end":67,"column_start":1,"column_end":30}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":513458,"byte_end":513481,"line_start":68,"line_end":68,"column_start":1,"column_end":24}},{"value":"/ [\"id\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":513482,"byte_end":513527,"line_start":69,"line_end":69,"column_start":1,"column_end":46}},{"value":"/ [\"title\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":513528,"byte_end":513573,"line_start":70,"line_end":70,"column_start":1,"column_end":46}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":513574,"byte_end":513587,"line_start":71,"line_end":71,"column_start":1,"column_end":14}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513588,"byte_end":513597,"line_start":72,"line_end":72,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513598,"byte_end":513603,"line_start":73,"line_end":73,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513604,"byte_end":513608,"line_start":74,"line_end":74,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":513609,"byte_end":513619,"line_start":75,"line_end":75,"column_start":1,"column_end":11}},{"value":"/ list({of: struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":513620,"byte_end":513651,"line_start":76,"line_end":76,"column_start":1,"column_end":32}},{"value":"/ id: string(),","span":{"file_name":"src/schema.rs","byte_start":513652,"byte_end":513673,"line_start":77,"line_end":77,"column_start":1,"column_end":22}},{"value":"/ title: string()","span":{"file_name":"src/schema.rs","byte_start":513674,"byte_end":513697,"line_start":78,"line_end":78,"column_start":1,"column_end":24}},{"value":"/ }})})","span":{"file_name":"src/schema.rs","byte_start":513698,"byte_end":513707,"line_start":79,"line_end":79,"column_start":1,"column_end":10}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513708,"byte_end":513715,"line_start":80,"line_end":80,"column_start":1,"column_end":8}},{"value":"/ You can nest collections as much and however you'd like, up to 255 levels.","span":{"file_name":"src/schema.rs","byte_start":513716,"byte_end":513794,"line_start":81,"line_end":81,"column_start":1,"column_end":79}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513795,"byte_end":513799,"line_start":82,"line_end":82,"column_start":1,"column_end":5}},{"value":"/ A list of strings is just as easy...","span":{"file_name":"src/schema.rs","byte_start":513800,"byte_end":513840,"line_start":83,"line_end":83,"column_start":1,"column_end":41}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513841,"byte_end":513845,"line_start":84,"line_end":84,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":513846,"byte_end":513857,"line_start":85,"line_end":85,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":513858,"byte_end":513869,"line_start":86,"line_end":86,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":513870,"byte_end":513875,"line_start":87,"line_end":87,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":513876,"byte_end":513899,"line_start":88,"line_end":88,"column_start":1,"column_end":24}},{"value":"/ \"of\": { \"type\": \"string\" }","span":{"file_name":"src/schema.rs","byte_start":513900,"byte_end":513934,"line_start":89,"line_end":89,"column_start":1,"column_end":35}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513935,"byte_end":513940,"line_start":90,"line_end":90,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513941,"byte_end":513945,"line_start":91,"line_end":91,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":513946,"byte_end":513956,"line_start":92,"line_end":92,"column_start":1,"column_end":11}},{"value":"/ list({of: string()})","span":{"file_name":"src/schema.rs","byte_start":513957,"byte_end":513981,"line_start":93,"line_end":93,"column_start":1,"column_end":25}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513982,"byte_end":513989,"line_start":94,"line_end":94,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513990,"byte_end":513994,"line_start":95,"line_end":95,"column_start":1,"column_end":5}},{"value":"/ **ES6 Schemas**
","span":{"file_name":"src/schema.rs","byte_start":513995,"byte_end":514019,"line_start":96,"line_end":96,"column_start":1,"column_end":25}},{"value":"/ NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax.","span":{"file_name":"src/schema.rs","byte_start":514020,"byte_end":514274,"line_start":97,"line_end":97,"column_start":1,"column_end":255}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":514275,"byte_end":514279,"line_start":98,"line_end":98,"column_start":1,"column_end":5}},{"value":"/ The following ES6 syntax is supported:","span":{"file_name":"src/schema.rs","byte_start":514280,"byte_end":514322,"line_start":99,"line_end":99,"column_start":1,"column_end":43}},{"value":"/ - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn(\"hello\", [1, 2])`","span":{"file_name":"src/schema.rs","byte_start":514323,"byte_end":514428,"line_start":100,"line_end":100,"column_start":1,"column_end":106}},{"value":"/ - Single line comments on their own line or at the end of a line using double slash `//`.","span":{"file_name":"src/schema.rs","byte_start":514429,"byte_end":514522,"line_start":101,"line_end":101,"column_start":1,"column_end":94}},{"value":"/ - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `[\"hello\", myFn()]`","span":{"file_name":"src/schema.rs","byte_start":514523,"byte_end":514608,"line_start":102,"line_end":102,"column_start":1,"column_end":86}},{"value":"/ - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: \"value\"}`, `{foo: \"bar\", baz: myFn()}`","span":{"file_name":"src/schema.rs","byte_start":514609,"byte_end":514767,"line_start":103,"line_end":103,"column_start":1,"column_end":159}},{"value":"/ - Arrays and objects can be safely nested. There is a nesting limit of 255 levels.","span":{"file_name":"src/schema.rs","byte_start":514768,"byte_end":514855,"line_start":104,"line_end":104,"column_start":1,"column_end":88}},{"value":"/ - Numbers, Strings contained in double quotes '`\"`', and Boolean values.","span":{"file_name":"src/schema.rs","byte_start":514856,"byte_end":514932,"line_start":105,"line_end":105,"column_start":1,"column_end":77}},{"value":"/ - Strings can safely contain escaped double quotes `\\\"` inside them.","span":{"file_name":"src/schema.rs","byte_start":514933,"byte_end":515005,"line_start":106,"line_end":106,"column_start":1,"column_end":73}},{"value":"/ - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }`","span":{"file_name":"src/schema.rs","byte_start":515006,"byte_end":515121,"line_start":107,"line_end":107,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515122,"byte_end":515126,"line_start":108,"line_end":108,"column_start":1,"column_end":5}},{"value":"/ If the syntax is not in the above list, it will not be parsed correctly by NoProto.","span":{"file_name":"src/schema.rs","byte_start":515127,"byte_end":515214,"line_start":109,"line_end":109,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515215,"byte_end":515219,"line_start":110,"line_end":110,"column_start":1,"column_end":5}},{"value":"/ ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas.","span":{"file_name":"src/schema.rs","byte_start":515220,"byte_end":515333,"line_start":111,"line_end":111,"column_start":1,"column_end":114}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515334,"byte_end":515338,"line_start":112,"line_end":112,"column_start":1,"column_end":5}},{"value":"/ **JSON Schemas**
","span":{"file_name":"src/schema.rs","byte_start":515339,"byte_end":515364,"line_start":113,"line_end":113,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515365,"byte_end":515369,"line_start":114,"line_end":114,"column_start":1,"column_end":5}},{"value":"/ If you're familiar with Typescript, JSON schemas can be described by this recursive interface:","span":{"file_name":"src/schema.rs","byte_start":515370,"byte_end":515468,"line_start":115,"line_end":115,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515469,"byte_end":515473,"line_start":116,"line_end":116,"column_start":1,"column_end":5}},{"value":"/ ```typescript","span":{"file_name":"src/schema.rs","byte_start":515474,"byte_end":515491,"line_start":117,"line_end":117,"column_start":1,"column_end":18}},{"value":"/ interface NP_Schema {","span":{"file_name":"src/schema.rs","byte_start":515492,"byte_end":515517,"line_start":118,"line_end":118,"column_start":1,"column_end":26}},{"value":"/ // table, string, bytes, etc","span":{"file_name":"src/schema.rs","byte_start":515518,"byte_end":515554,"line_start":119,"line_end":119,"column_start":1,"column_end":37}},{"value":"/ type: string; ","span":{"file_name":"src/schema.rs","byte_start":515555,"byte_end":515577,"line_start":120,"line_end":120,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515578,"byte_end":515586,"line_start":121,"line_end":121,"column_start":1,"column_end":9}},{"value":"/ // used by string & bytes types","span":{"file_name":"src/schema.rs","byte_start":515587,"byte_end":515626,"line_start":122,"line_end":122,"column_start":1,"column_end":40}},{"value":"/ size?: number;","span":{"file_name":"src/schema.rs","byte_start":515627,"byte_end":515649,"line_start":123,"line_end":123,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515650,"byte_end":515658,"line_start":124,"line_end":124,"column_start":1,"column_end":9}},{"value":"/ // used by decimal type, the number of decimal places every value has","span":{"file_name":"src/schema.rs","byte_start":515659,"byte_end":515736,"line_start":125,"line_end":125,"column_start":1,"column_end":78}},{"value":"/ exp?: number;","span":{"file_name":"src/schema.rs","byte_start":515737,"byte_end":515758,"line_start":126,"line_end":126,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515759,"byte_end":515767,"line_start":127,"line_end":127,"column_start":1,"column_end":9}},{"value":"/ // used by tuple to indicite bytewise sorting of children","span":{"file_name":"src/schema.rs","byte_start":515768,"byte_end":515833,"line_start":128,"line_end":128,"column_start":1,"column_end":66}},{"value":"/ sorted?: boolean;","span":{"file_name":"src/schema.rs","byte_start":515834,"byte_end":515859,"line_start":129,"line_end":129,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515860,"byte_end":515868,"line_start":130,"line_end":130,"column_start":1,"column_end":9}},{"value":"/ // used by list types","span":{"file_name":"src/schema.rs","byte_start":515869,"byte_end":515898,"line_start":131,"line_end":131,"column_start":1,"column_end":30}},{"value":"/ of?: NP_Schema","span":{"file_name":"src/schema.rs","byte_start":515899,"byte_end":515921,"line_start":132,"line_end":132,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515922,"byte_end":515930,"line_start":133,"line_end":133,"column_start":1,"column_end":9}},{"value":"/ // used by map types","span":{"file_name":"src/schema.rs","byte_start":515931,"byte_end":515959,"line_start":134,"line_end":134,"column_start":1,"column_end":29}},{"value":"/ value?: NP_Schema","span":{"file_name":"src/schema.rs","byte_start":515960,"byte_end":515985,"line_start":135,"line_end":135,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515986,"byte_end":515990,"line_start":136,"line_end":136,"column_start":1,"column_end":5}},{"value":"/ // used by tuple types","span":{"file_name":"src/schema.rs","byte_start":515991,"byte_end":516021,"line_start":137,"line_end":137,"column_start":1,"column_end":31}},{"value":"/ values?: NP_Schema[]","span":{"file_name":"src/schema.rs","byte_start":516022,"byte_end":516050,"line_start":138,"line_end":138,"column_start":1,"column_end":29}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516051,"byte_end":516055,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ // used by struct types","span":{"file_name":"src/schema.rs","byte_start":516056,"byte_end":516087,"line_start":140,"line_end":140,"column_start":1,"column_end":32}},{"value":"/ fields?: [string, NP_Schema][];","span":{"file_name":"src/schema.rs","byte_start":516088,"byte_end":516127,"line_start":141,"line_end":141,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516128,"byte_end":516132,"line_start":142,"line_end":142,"column_start":1,"column_end":5}},{"value":"/ // used by option/enum types","span":{"file_name":"src/schema.rs","byte_start":516133,"byte_end":516169,"line_start":143,"line_end":143,"column_start":1,"column_end":37}},{"value":"/ choices?: string[];","span":{"file_name":"src/schema.rs","byte_start":516170,"byte_end":516197,"line_start":144,"line_end":144,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516198,"byte_end":516206,"line_start":145,"line_end":145,"column_start":1,"column_end":9}},{"value":"/ // used by unions","span":{"file_name":"src/schema.rs","byte_start":516207,"byte_end":516232,"line_start":146,"line_end":146,"column_start":1,"column_end":26}},{"value":"/ types?: [string, NP_Schema][];","span":{"file_name":"src/schema.rs","byte_start":516233,"byte_end":516271,"line_start":147,"line_end":147,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516272,"byte_end":516280,"line_start":148,"line_end":148,"column_start":1,"column_end":9}},{"value":"/ // used by portals","span":{"file_name":"src/schema.rs","byte_start":516281,"byte_end":516307,"line_start":149,"line_end":149,"column_start":1,"column_end":27}},{"value":"/ to?: string","span":{"file_name":"src/schema.rs","byte_start":516308,"byte_end":516327,"line_start":150,"line_end":150,"column_start":1,"column_end":20}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516328,"byte_end":516332,"line_start":151,"line_end":151,"column_start":1,"column_end":5}},{"value":"/ // default value for this item","span":{"file_name":"src/schema.rs","byte_start":516333,"byte_end":516371,"line_start":152,"line_end":152,"column_start":1,"column_end":39}},{"value":"/ default?: any;","span":{"file_name":"src/schema.rs","byte_start":516372,"byte_end":516394,"line_start":153,"line_end":153,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":516395,"byte_end":516400,"line_start":154,"line_end":154,"column_start":1,"column_end":6}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":516401,"byte_end":516408,"line_start":155,"line_end":155,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516409,"byte_end":516413,"line_start":156,"line_end":156,"column_start":1,"column_end":5}},{"value":"/ ## Schema Data Types","span":{"file_name":"src/schema.rs","byte_start":516414,"byte_end":516438,"line_start":157,"line_end":157,"column_start":1,"column_end":25}},{"value":"/ Each type has trade offs associated with it. The table and documentation below go into further detail.","span":{"file_name":"src/schema.rs","byte_start":516439,"byte_end":516546,"line_start":158,"line_end":158,"column_start":1,"column_end":108}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516547,"byte_end":516551,"line_start":159,"line_end":159,"column_start":1,"column_end":5}},{"value":"/ ### Supported Data Types","span":{"file_name":"src/schema.rs","byte_start":516552,"byte_end":516580,"line_start":160,"line_end":160,"column_start":1,"column_end":29}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516581,"byte_end":516585,"line_start":161,"line_end":161,"column_start":1,"column_end":5}},{"value":"/ | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes |","span":{"file_name":"src/schema.rs","byte_start":516586,"byte_end":516838,"line_start":162,"line_end":162,"column_start":1,"column_end":253}},{"value":"/ |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------|","span":{"file_name":"src/schema.rs","byte_start":516839,"byte_end":517091,"line_start":163,"line_end":163,"column_start":1,"column_end":253}},{"value":"/ | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. |","span":{"file_name":"src/schema.rs","byte_start":517092,"byte_end":517346,"line_start":164,"line_end":164,"column_start":1,"column_end":252}},{"value":"/ | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. |","span":{"file_name":"src/schema.rs","byte_start":517347,"byte_end":517602,"line_start":165,"line_end":165,"column_start":1,"column_end":253}},{"value":"/ | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. |","span":{"file_name":"src/schema.rs","byte_start":517603,"byte_end":517858,"line_start":166,"line_end":166,"column_start":1,"column_end":253}},{"value":"/ | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. |","span":{"file_name":"src/schema.rs","byte_start":517859,"byte_end":518113,"line_start":167,"line_end":167,"column_start":1,"column_end":253}},{"value":"/ | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. |","span":{"file_name":"src/schema.rs","byte_start":518114,"byte_end":518369,"line_start":168,"line_end":168,"column_start":1,"column_end":253}},{"value":"/ | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. |","span":{"file_name":"src/schema.rs","byte_start":518370,"byte_end":518624,"line_start":169,"line_end":169,"column_start":1,"column_end":253}},{"value":"/ | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. |","span":{"file_name":"src/schema.rs","byte_start":518625,"byte_end":518879,"line_start":170,"line_end":170,"column_start":1,"column_end":253}},{"value":"/ | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 |","span":{"file_name":"src/schema.rs","byte_start":518880,"byte_end":519134,"line_start":171,"line_end":171,"column_start":1,"column_end":253}},{"value":"/ | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 |","span":{"file_name":"src/schema.rs","byte_start":519135,"byte_end":519389,"line_start":172,"line_end":172,"column_start":1,"column_end":253}},{"value":"/ | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 |","span":{"file_name":"src/schema.rs","byte_start":519390,"byte_end":519644,"line_start":173,"line_end":173,"column_start":1,"column_end":253}},{"value":"/ | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 |","span":{"file_name":"src/schema.rs","byte_start":519645,"byte_end":519899,"line_start":174,"line_end":174,"column_start":1,"column_end":253}},{"value":"/ | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 |","span":{"file_name":"src/schema.rs","byte_start":519900,"byte_end":520154,"line_start":175,"line_end":175,"column_start":1,"column_end":253}},{"value":"/ | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 |","span":{"file_name":"src/schema.rs","byte_start":520155,"byte_end":520409,"line_start":176,"line_end":176,"column_start":1,"column_end":253}},{"value":"/ | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 |","span":{"file_name":"src/schema.rs","byte_start":520410,"byte_end":520664,"line_start":177,"line_end":177,"column_start":1,"column_end":253}},{"value":"/ | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 |","span":{"file_name":"src/schema.rs","byte_start":520665,"byte_end":520919,"line_start":178,"line_end":178,"column_start":1,"column_end":253}},{"value":"/ | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 |","span":{"file_name":"src/schema.rs","byte_start":520920,"byte_end":521175,"line_start":179,"line_end":179,"column_start":1,"column_end":253}},{"value":"/ | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 |","span":{"file_name":"src/schema.rs","byte_start":521176,"byte_end":521431,"line_start":180,"line_end":180,"column_start":1,"column_end":253}},{"value":"/ | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. |","span":{"file_name":"src/schema.rs","byte_start":521432,"byte_end":521686,"line_start":181,"line_end":181,"column_start":1,"column_end":253}},{"value":"/ | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | |","span":{"file_name":"src/schema.rs","byte_start":521687,"byte_end":521941,"line_start":182,"line_end":182,"column_start":1,"column_end":253}},{"value":"/ | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. |","span":{"file_name":"src/schema.rs","byte_start":521942,"byte_end":522196,"line_start":183,"line_end":183,"column_start":1,"column_end":253}},{"value":"/ | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522197,"byte_end":522451,"line_start":184,"line_end":184,"column_start":1,"column_end":253}},{"value":"/ | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522452,"byte_end":522706,"line_start":185,"line_end":185,"column_start":1,"column_end":253}},{"value":"/ | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522707,"byte_end":522961,"line_start":186,"line_end":186,"column_start":1,"column_end":253}},{"value":"/ | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) |","span":{"file_name":"src/schema.rs","byte_start":522962,"byte_end":523216,"line_start":187,"line_end":187,"column_start":1,"column_end":253}},{"value":"/ | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs |","span":{"file_name":"src/schema.rs","byte_start":523217,"byte_end":523471,"line_start":188,"line_end":188,"column_start":1,"column_end":253}},{"value":"/ | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 |","span":{"file_name":"src/schema.rs","byte_start":523472,"byte_end":523726,"line_start":189,"line_end":189,"column_start":1,"column_end":253}},{"value":"/ | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | ","span":{"file_name":"src/schema.rs","byte_start":523727,"byte_end":523983,"line_start":190,"line_end":190,"column_start":1,"column_end":254}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":523984,"byte_end":523988,"line_start":191,"line_end":191,"column_start":1,"column_end":5}},{"value":"/ - \\* `sorting` must be set to `true` in the schema for this object to enable sorting.","span":{"file_name":"src/schema.rs","byte_start":523989,"byte_end":524078,"line_start":192,"line_end":192,"column_start":1,"column_end":90}},{"value":"/ - \\*\\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema","span":{"file_name":"src/schema.rs","byte_start":524079,"byte_end":524177,"line_start":193,"line_end":193,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524178,"byte_end":524182,"line_start":194,"line_end":194,"column_start":1,"column_end":5}},{"value":"/ # Legend","span":{"file_name":"src/schema.rs","byte_start":524183,"byte_end":524195,"line_start":195,"line_end":195,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524196,"byte_end":524200,"line_start":196,"line_end":196,"column_start":1,"column_end":5}},{"value":"/ **Bytewise Sorting**
","span":{"file_name":"src/schema.rs","byte_start":524201,"byte_end":524230,"line_start":197,"line_end":197,"column_start":1,"column_end":30}},{"value":"/ Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases.","span":{"file_name":"src/schema.rs","byte_start":524231,"byte_end":524472,"line_start":198,"line_end":198,"column_start":1,"column_end":242}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524473,"byte_end":524477,"line_start":199,"line_end":199,"column_start":1,"column_end":5}},{"value":"/ Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose.","span":{"file_name":"src/schema.rs","byte_start":524478,"byte_end":524607,"line_start":200,"line_end":200,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524608,"byte_end":524612,"line_start":201,"line_end":201,"column_start":1,"column_end":5}},{"value":"/ You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical.","span":{"file_name":"src/schema.rs","byte_start":524613,"byte_end":524981,"line_start":202,"line_end":202,"column_start":1,"column_end":369}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524982,"byte_end":524986,"line_start":203,"line_end":203,"column_start":1,"column_end":5}},{"value":"/ **Compaction**
","span":{"file_name":"src/schema.rs","byte_start":524987,"byte_end":525010,"line_start":204,"line_end":204,"column_start":1,"column_end":24}},{"value":"/ Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided.","span":{"file_name":"src/schema.rs","byte_start":525011,"byte_end":525545,"line_start":205,"line_end":205,"column_start":1,"column_end":535}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525546,"byte_end":525550,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence.","span":{"file_name":"src/schema.rs","byte_start":525551,"byte_end":525778,"line_start":207,"line_end":207,"column_start":1,"column_end":228}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525779,"byte_end":525783,"line_start":208,"line_end":208,"column_start":1,"column_end":5}},{"value":"/ Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options.","span":{"file_name":"src/schema.rs","byte_start":525784,"byte_end":525969,"line_start":209,"line_end":209,"column_start":1,"column_end":186}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525970,"byte_end":525974,"line_start":210,"line_end":210,"column_start":1,"column_end":5}},{"value":"/ Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space.","span":{"file_name":"src/schema.rs","byte_start":525975,"byte_end":526096,"line_start":211,"line_end":211,"column_start":1,"column_end":122}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526097,"byte_end":526101,"line_start":212,"line_end":212,"column_start":1,"column_end":5}},{"value":"/ - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact)","span":{"file_name":"src/schema.rs","byte_start":526102,"byte_end":526196,"line_start":213,"line_end":213,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526197,"byte_end":526201,"line_start":214,"line_end":214,"column_start":1,"column_end":5}},{"value":"/ **Schema Mutations**
","span":{"file_name":"src/schema.rs","byte_start":526202,"byte_end":526232,"line_start":215,"line_end":215,"column_start":1,"column_end":31}},{"value":"/ Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction.","span":{"file_name":"src/schema.rs","byte_start":526233,"byte_end":526370,"line_start":216,"line_end":216,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526371,"byte_end":526375,"line_start":217,"line_end":217,"column_start":1,"column_end":5}},{"value":"/ There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe.","span":{"file_name":"src/schema.rs","byte_start":526376,"byte_end":526609,"line_start":218,"line_end":218,"column_start":1,"column_end":234}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526610,"byte_end":526614,"line_start":219,"line_end":219,"column_start":1,"column_end":5}},{"value":"/ Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`.","span":{"file_name":"src/schema.rs","byte_start":526615,"byte_end":526748,"line_start":220,"line_end":220,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526749,"byte_end":526753,"line_start":221,"line_end":221,"column_start":1,"column_end":5}},{"value":"/ # Schema Types","span":{"file_name":"src/schema.rs","byte_start":526754,"byte_end":526772,"line_start":222,"line_end":222,"column_start":1,"column_end":19}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526773,"byte_end":526777,"line_start":223,"line_end":223,"column_start":1,"column_end":5}},{"value":"/ Every schema type maps exactly to a native data type in your code.","span":{"file_name":"src/schema.rs","byte_start":526778,"byte_end":526848,"line_start":224,"line_end":224,"column_start":1,"column_end":71}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526849,"byte_end":526853,"line_start":225,"line_end":225,"column_start":1,"column_end":5}},{"value":"/ ## struct","span":{"file_name":"src/schema.rs","byte_start":526854,"byte_end":526867,"line_start":226,"line_end":226,"column_start":1,"column_end":14}},{"value":"/ Structs represnt a fixed number of named fields, with each field having it's own data type.","span":{"file_name":"src/schema.rs","byte_start":526868,"byte_end":526963,"line_start":227,"line_end":227,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526964,"byte_end":526968,"line_start":228,"line_end":228,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":526969,"byte_end":527008,"line_start":229,"line_end":229,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Fields without values will be removed from the buffer durring compaction.","span":{"file_name":"src/schema.rs","byte_start":527009,"byte_end":527104,"line_start":230,"line_end":230,"column_start":1,"column_end":96}},{"value":"/ - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. ","span":{"file_name":"src/schema.rs","byte_start":527105,"byte_end":527425,"line_start":231,"line_end":231,"column_start":1,"column_end":321}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527426,"byte_end":527430,"line_start":232,"line_end":232,"column_start":1,"column_end":5}},{"value":"/ Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes.","span":{"file_name":"src/schema.rs","byte_start":527431,"byte_end":527773,"line_start":233,"line_end":233,"column_start":1,"column_end":343}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527774,"byte_end":527778,"line_start":234,"line_end":234,"column_start":1,"column_end":5}},{"value":"/ Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data.","span":{"file_name":"src/schema.rs","byte_start":527779,"byte_end":527914,"line_start":235,"line_end":235,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527915,"byte_end":527919,"line_start":236,"line_end":236,"column_start":1,"column_end":5}},{"value":"/ If you need flexible field names use a `map` type instead.","span":{"file_name":"src/schema.rs","byte_start":527920,"byte_end":527982,"line_start":237,"line_end":237,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527983,"byte_end":527987,"line_start":238,"line_end":238,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":527988,"byte_end":527999,"line_start":239,"line_end":239,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":528000,"byte_end":528011,"line_start":240,"line_end":240,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":528012,"byte_end":528017,"line_start":241,"line_end":241,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":528018,"byte_end":528043,"line_start":242,"line_end":242,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [ // can have between 1 and 255 fields","span":{"file_name":"src/schema.rs","byte_start":528044,"byte_end":528100,"line_start":243,"line_end":243,"column_start":1,"column_end":57}},{"value":"/ [\"field name\", {\"type\": \"data type for this field\"}],","span":{"file_name":"src/schema.rs","byte_start":528101,"byte_end":528167,"line_start":244,"line_end":244,"column_start":1,"column_end":67}},{"value":"/ [\"name\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":528168,"byte_end":528217,"line_start":245,"line_end":245,"column_start":1,"column_end":50}},{"value":"/ [\"tags\", {\"type\": \"list\", \"of\": { // nested list of strings","span":{"file_name":"src/schema.rs","byte_start":528218,"byte_end":528297,"line_start":246,"line_end":246,"column_start":1,"column_end":80}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":528298,"byte_end":528330,"line_start":247,"line_end":247,"column_start":1,"column_end":33}},{"value":"/ }}],","span":{"file_name":"src/schema.rs","byte_start":528331,"byte_end":528347,"line_start":248,"line_end":248,"column_start":1,"column_end":17}},{"value":"/ [\"age\", {\"type\": \"u8\"}], // Uint8 number","span":{"file_name":"src/schema.rs","byte_start":528348,"byte_end":528409,"line_start":249,"line_end":249,"column_start":1,"column_end":62}},{"value":"/ [\"meta\", {\"type\": \"struct\", \"fields\": [ // nested struct","span":{"file_name":"src/schema.rs","byte_start":528410,"byte_end":528486,"line_start":250,"line_end":250,"column_start":1,"column_end":77}},{"value":"/ [\"favorite_color\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":528487,"byte_end":528543,"line_start":251,"line_end":251,"column_start":1,"column_end":57}},{"value":"/ [\"favorite_sport\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":528544,"byte_end":528599,"line_start":252,"line_end":252,"column_start":1,"column_end":56}},{"value":"/ ]}]","span":{"file_name":"src/schema.rs","byte_start":528600,"byte_end":528615,"line_start":253,"line_end":253,"column_start":1,"column_end":16}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":528616,"byte_end":528625,"line_start":254,"line_end":254,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":528626,"byte_end":528631,"line_start":255,"line_end":255,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":528632,"byte_end":528636,"line_start":256,"line_end":256,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":528637,"byte_end":528647,"line_start":257,"line_end":257,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":528648,"byte_end":528669,"line_start":258,"line_end":258,"column_start":1,"column_end":22}},{"value":"/ // data_type() isn't a real data type...","span":{"file_name":"src/schema.rs","byte_start":528670,"byte_end":528718,"line_start":259,"line_end":259,"column_start":1,"column_end":49}},{"value":"/ field_name: data_type(),","span":{"file_name":"src/schema.rs","byte_start":528719,"byte_end":528751,"line_start":260,"line_end":260,"column_start":1,"column_end":33}},{"value":"/ name: string(),","span":{"file_name":"src/schema.rs","byte_start":528752,"byte_end":528775,"line_start":261,"line_end":261,"column_start":1,"column_end":24}},{"value":"/ tags: list({of: string()}),","span":{"file_name":"src/schema.rs","byte_start":528776,"byte_end":528811,"line_start":262,"line_end":262,"column_start":1,"column_end":36}},{"value":"/ age: u8(),","span":{"file_name":"src/schema.rs","byte_start":528812,"byte_end":528830,"line_start":263,"line_end":263,"column_start":1,"column_end":19}},{"value":"/ meta: struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":528831,"byte_end":528862,"line_start":264,"line_end":264,"column_start":1,"column_end":32}},{"value":"/ favorite_color: string(),","span":{"file_name":"src/schema.rs","byte_start":528863,"byte_end":528900,"line_start":265,"line_end":265,"column_start":1,"column_end":38}},{"value":"/ favorite_sport: string()","span":{"file_name":"src/schema.rs","byte_start":528901,"byte_end":528937,"line_start":266,"line_end":266,"column_start":1,"column_end":37}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":528938,"byte_end":528949,"line_start":267,"line_end":267,"column_start":1,"column_end":12}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":528950,"byte_end":528957,"line_start":268,"line_end":268,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":528958,"byte_end":528965,"line_start":269,"line_end":269,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":528966,"byte_end":528970,"line_start":270,"line_end":270,"column_start":1,"column_end":5}},{"value":"/ ## list","span":{"file_name":"src/schema.rs","byte_start":528971,"byte_end":528982,"line_start":271,"line_end":271,"column_start":1,"column_end":12}},{"value":"/ Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored.","span":{"file_name":"src/schema.rs","byte_start":528983,"byte_end":529231,"line_start":272,"line_end":272,"column_start":1,"column_end":249}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529232,"byte_end":529236,"line_start":273,"line_end":273,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":529237,"byte_end":529276,"line_start":274,"line_end":274,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space.","span":{"file_name":"src/schema.rs","byte_start":529277,"byte_end":529439,"line_start":275,"line_end":275,"column_start":1,"column_end":163}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":529440,"byte_end":529472,"line_start":276,"line_end":276,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529473,"byte_end":529477,"line_start":277,"line_end":277,"column_start":1,"column_end":5}},{"value":"/ Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. ","span":{"file_name":"src/schema.rs","byte_start":529478,"byte_end":529677,"line_start":278,"line_end":278,"column_start":1,"column_end":200}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529678,"byte_end":529682,"line_start":279,"line_end":279,"column_start":1,"column_end":5}},{"value":"/ The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list.","span":{"file_name":"src/schema.rs","byte_start":529683,"byte_end":529815,"line_start":280,"line_end":280,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529816,"byte_end":529820,"line_start":281,"line_end":281,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":529821,"byte_end":529832,"line_start":282,"line_end":282,"column_start":1,"column_end":12}},{"value":"/ // a list of list of strings","span":{"file_name":"src/schema.rs","byte_start":529833,"byte_end":529865,"line_start":283,"line_end":283,"column_start":1,"column_end":33}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":529866,"byte_end":529877,"line_start":284,"line_end":284,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":529878,"byte_end":529883,"line_start":285,"line_end":285,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":529884,"byte_end":529907,"line_start":286,"line_end":286,"column_start":1,"column_end":24}},{"value":"/ \"of\": {","span":{"file_name":"src/schema.rs","byte_start":529908,"byte_end":529923,"line_start":287,"line_end":287,"column_start":1,"column_end":16}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":529924,"byte_end":529951,"line_start":288,"line_end":288,"column_start":1,"column_end":28}},{"value":"/ \"of\": {\"type\": \"string\"}","span":{"file_name":"src/schema.rs","byte_start":529952,"byte_end":529988,"line_start":289,"line_end":289,"column_start":1,"column_end":37}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":529989,"byte_end":529998,"line_start":290,"line_end":290,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":529999,"byte_end":530004,"line_start":291,"line_end":291,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":530005,"byte_end":530015,"line_start":292,"line_end":292,"column_start":1,"column_end":11}},{"value":"/ list({of: list({of: string()})})","span":{"file_name":"src/schema.rs","byte_start":530016,"byte_end":530052,"line_start":293,"line_end":293,"column_start":1,"column_end":37}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530053,"byte_end":530057,"line_start":294,"line_end":294,"column_start":1,"column_end":5}},{"value":"/ // list of numbers","span":{"file_name":"src/schema.rs","byte_start":530058,"byte_end":530080,"line_start":295,"line_end":295,"column_start":1,"column_end":23}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":530081,"byte_end":530092,"line_start":296,"line_end":296,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":530093,"byte_end":530098,"line_start":297,"line_end":297,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":530099,"byte_end":530122,"line_start":298,"line_end":298,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"i32\"}","span":{"file_name":"src/schema.rs","byte_start":530123,"byte_end":530152,"line_start":299,"line_end":299,"column_start":1,"column_end":30}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":530153,"byte_end":530158,"line_start":300,"line_end":300,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530159,"byte_end":530163,"line_start":301,"line_end":301,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":530164,"byte_end":530174,"line_start":302,"line_end":302,"column_start":1,"column_end":11}},{"value":"/ list({of: i32()})","span":{"file_name":"src/schema.rs","byte_start":530175,"byte_end":530196,"line_start":303,"line_end":303,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":530197,"byte_end":530204,"line_start":304,"line_end":304,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530205,"byte_end":530209,"line_start":305,"line_end":305,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530210,"byte_end":530214,"line_start":306,"line_end":306,"column_start":1,"column_end":5}},{"value":"/ ## map","span":{"file_name":"src/schema.rs","byte_start":530215,"byte_end":530225,"line_start":307,"line_end":307,"column_start":1,"column_end":11}},{"value":"/ A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type.","span":{"file_name":"src/schema.rs","byte_start":530226,"byte_end":530341,"line_start":308,"line_end":308,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530342,"byte_end":530346,"line_start":309,"line_end":309,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":530347,"byte_end":530386,"line_start":310,"line_end":310,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Keys without values are removed from the buffer","span":{"file_name":"src/schema.rs","byte_start":530387,"byte_end":530456,"line_start":311,"line_end":311,"column_start":1,"column_end":70}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":530457,"byte_end":530489,"line_start":312,"line_end":312,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530490,"byte_end":530494,"line_start":313,"line_end":313,"column_start":1,"column_end":5}},{"value":"/ Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map.","span":{"file_name":"src/schema.rs","byte_start":530495,"byte_end":530685,"line_start":314,"line_end":314,"column_start":1,"column_end":191}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530686,"byte_end":530690,"line_start":315,"line_end":315,"column_start":1,"column_end":5}},{"value":"/ If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. ","span":{"file_name":"src/schema.rs","byte_start":530691,"byte_end":530851,"line_start":316,"line_end":316,"column_start":1,"column_end":161}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530852,"byte_end":530856,"line_start":317,"line_end":317,"column_start":1,"column_end":5}},{"value":"/ The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values.","span":{"file_name":"src/schema.rs","byte_start":530857,"byte_end":531014,"line_start":318,"line_end":318,"column_start":1,"column_end":158}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531015,"byte_end":531019,"line_start":319,"line_end":319,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":531020,"byte_end":531031,"line_start":320,"line_end":320,"column_start":1,"column_end":12}},{"value":"/ // a map where every value is a string","span":{"file_name":"src/schema.rs","byte_start":531032,"byte_end":531074,"line_start":321,"line_end":321,"column_start":1,"column_end":43}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":531075,"byte_end":531086,"line_start":322,"line_end":322,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":531087,"byte_end":531092,"line_start":323,"line_end":323,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/schema.rs","byte_start":531093,"byte_end":531115,"line_start":324,"line_end":324,"column_start":1,"column_end":23}},{"value":"/ \"value\": {","span":{"file_name":"src/schema.rs","byte_start":531116,"byte_end":531134,"line_start":325,"line_end":325,"column_start":1,"column_end":19}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":531135,"byte_end":531163,"line_start":326,"line_end":326,"column_start":1,"column_end":29}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":531164,"byte_end":531173,"line_start":327,"line_end":327,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":531174,"byte_end":531179,"line_start":328,"line_end":328,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":531180,"byte_end":531190,"line_start":329,"line_end":329,"column_start":1,"column_end":11}},{"value":"/ map({value: string()})","span":{"file_name":"src/schema.rs","byte_start":531191,"byte_end":531217,"line_start":330,"line_end":330,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":531218,"byte_end":531225,"line_start":331,"line_end":331,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531226,"byte_end":531230,"line_start":332,"line_end":332,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531231,"byte_end":531235,"line_start":333,"line_end":333,"column_start":1,"column_end":5}},{"value":"/ ## tuple","span":{"file_name":"src/schema.rs","byte_start":531236,"byte_end":531248,"line_start":334,"line_end":334,"column_start":1,"column_end":13}},{"value":"/ A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items.","span":{"file_name":"src/schema.rs","byte_start":531249,"byte_end":531364,"line_start":335,"line_end":335,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531365,"byte_end":531369,"line_start":336,"line_end":336,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`.","span":{"file_name":"src/schema.rs","byte_start":531370,"byte_end":531503,"line_start":337,"line_end":337,"column_start":1,"column_end":134}},{"value":"/ - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated.","span":{"file_name":"src/schema.rs","byte_start":531504,"byte_end":531686,"line_start":338,"line_end":338,"column_start":1,"column_end":183}},{"value":"/ - **Schema Mutations**: No mutations are safe","span":{"file_name":"src/schema.rs","byte_start":531687,"byte_end":531736,"line_start":339,"line_end":339,"column_start":1,"column_end":50}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531737,"byte_end":531741,"line_start":340,"line_end":340,"column_start":1,"column_end":5}},{"value":"/ Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples.","span":{"file_name":"src/schema.rs","byte_start":531742,"byte_end":531921,"line_start":341,"line_end":341,"column_start":1,"column_end":180}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531922,"byte_end":531926,"line_start":342,"line_end":342,"column_start":1,"column_end":5}},{"value":"/ **Sorting**
","span":{"file_name":"src/schema.rs","byte_start":531927,"byte_end":531947,"line_start":343,"line_end":343,"column_start":1,"column_end":21}},{"value":"/ You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size.","span":{"file_name":"src/schema.rs","byte_start":531948,"byte_end":532315,"line_start":344,"line_end":344,"column_start":1,"column_end":368}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532316,"byte_end":532320,"line_start":345,"line_end":345,"column_start":1,"column_end":5}},{"value":"/ When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size.","span":{"file_name":"src/schema.rs","byte_start":532321,"byte_end":532454,"line_start":346,"line_end":346,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532455,"byte_end":532459,"line_start":347,"line_end":347,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":532460,"byte_end":532471,"line_start":348,"line_end":348,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":532472,"byte_end":532483,"line_start":349,"line_end":349,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":532484,"byte_end":532489,"line_start":350,"line_end":350,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/schema.rs","byte_start":532490,"byte_end":532514,"line_start":351,"line_end":351,"column_start":1,"column_end":25}},{"value":"/ \"values\": [","span":{"file_name":"src/schema.rs","byte_start":532515,"byte_end":532534,"line_start":352,"line_end":352,"column_start":1,"column_end":20}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/schema.rs","byte_start":532535,"byte_end":532566,"line_start":353,"line_end":353,"column_start":1,"column_end":32}},{"value":"/ {\"type\": \"list\", \"of\": {\"type\": \"strings\"}},","span":{"file_name":"src/schema.rs","byte_start":532567,"byte_end":532623,"line_start":354,"line_end":354,"column_start":1,"column_end":57}},{"value":"/ {\"type\": \"u64\"}","span":{"file_name":"src/schema.rs","byte_start":532624,"byte_end":532651,"line_start":355,"line_end":355,"column_start":1,"column_end":28}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":532652,"byte_end":532661,"line_start":356,"line_end":356,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":532662,"byte_end":532667,"line_start":357,"line_end":357,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":532668,"byte_end":532678,"line_start":358,"line_end":358,"column_start":1,"column_end":11}},{"value":"/ tuple({values: [string(), list({of: string()}), u64()]})","span":{"file_name":"src/schema.rs","byte_start":532679,"byte_end":532739,"line_start":359,"line_end":359,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532740,"byte_end":532744,"line_start":360,"line_end":360,"column_start":1,"column_end":5}},{"value":"/ // tuple for bytewise sorting","span":{"file_name":"src/schema.rs","byte_start":532745,"byte_end":532778,"line_start":361,"line_end":361,"column_start":1,"column_end":34}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":532779,"byte_end":532790,"line_start":362,"line_end":362,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":532791,"byte_end":532796,"line_start":363,"line_end":363,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/schema.rs","byte_start":532797,"byte_end":532821,"line_start":364,"line_end":364,"column_start":1,"column_end":25}},{"value":"/ \"sorted\": true,","span":{"file_name":"src/schema.rs","byte_start":532822,"byte_end":532845,"line_start":365,"line_end":365,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/schema.rs","byte_start":532846,"byte_end":532865,"line_start":366,"line_end":366,"column_start":1,"column_end":20}},{"value":"/ {\"type\": \"string\", \"size\": 25},","span":{"file_name":"src/schema.rs","byte_start":532866,"byte_end":532909,"line_start":367,"line_end":367,"column_start":1,"column_end":44}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/schema.rs","byte_start":532910,"byte_end":532937,"line_start":368,"line_end":368,"column_start":1,"column_end":28}},{"value":"/ {\"type\": \"i64\"}","span":{"file_name":"src/schema.rs","byte_start":532938,"byte_end":532965,"line_start":369,"line_end":369,"column_start":1,"column_end":28}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":532966,"byte_end":532975,"line_start":370,"line_end":370,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":532976,"byte_end":532981,"line_start":371,"line_end":371,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532982,"byte_end":532986,"line_start":372,"line_end":372,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":532987,"byte_end":532997,"line_start":373,"line_end":373,"column_start":1,"column_end":11}},{"value":"/ tuple({storted: true, values: [","span":{"file_name":"src/schema.rs","byte_start":532998,"byte_end":533033,"line_start":374,"line_end":374,"column_start":1,"column_end":36}},{"value":"/ string({size: 25}), ","span":{"file_name":"src/schema.rs","byte_start":533034,"byte_end":533062,"line_start":375,"line_end":375,"column_start":1,"column_end":29}},{"value":"/ u8(), ","span":{"file_name":"src/schema.rs","byte_start":533063,"byte_end":533077,"line_start":376,"line_end":376,"column_start":1,"column_end":15}},{"value":"/ i64()","span":{"file_name":"src/schema.rs","byte_start":533078,"byte_end":533091,"line_start":377,"line_end":377,"column_start":1,"column_end":14}},{"value":"/ ]})","span":{"file_name":"src/schema.rs","byte_start":533092,"byte_end":533099,"line_start":378,"line_end":378,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":533100,"byte_end":533107,"line_start":379,"line_end":379,"column_start":1,"column_end":8}},{"value":"/","span":{"file_name":"src/schema.rs","byte_start":533108,"byte_end":533111,"line_start":380,"line_end":380,"column_start":1,"column_end":4}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533112,"byte_end":533116,"line_start":381,"line_end":381,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533117,"byte_end":533121,"line_start":382,"line_end":382,"column_start":1,"column_end":5}},{"value":"/ ## string","span":{"file_name":"src/schema.rs","byte_start":533122,"byte_end":533135,"line_start":383,"line_end":383,"column_start":1,"column_end":14}},{"value":"/ A string is a fixed or dynamically sized collection of utf-8 encoded bytes.","span":{"file_name":"src/schema.rs","byte_start":533136,"byte_end":533215,"line_start":384,"line_end":384,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533216,"byte_end":533220,"line_start":385,"line_end":385,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported only if `size` property is set in schema.","span":{"file_name":"src/schema.rs","byte_start":533221,"byte_end":533300,"line_start":386,"line_end":386,"column_start":1,"column_end":80}},{"value":"/ - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length.","span":{"file_name":"src/schema.rs","byte_start":533301,"byte_end":533465,"line_start":387,"line_end":387,"column_start":1,"column_end":165}},{"value":"/ - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing string values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe.","span":{"file_name":"src/schema.rs","byte_start":533466,"byte_end":533700,"line_start":388,"line_end":388,"column_start":1,"column_end":235}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533701,"byte_end":533705,"line_start":389,"line_end":389,"column_start":1,"column_end":5}},{"value":"/ The `size` property provides a way to have fixed size strings in your buffers. If a provided string is larger than the `size` property it will be truncated. Smaller strings will be padded with white space.","span":{"file_name":"src/schema.rs","byte_start":533706,"byte_end":533917,"line_start":390,"line_end":390,"column_start":1,"column_end":212}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533918,"byte_end":533922,"line_start":391,"line_end":391,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":533923,"byte_end":533934,"line_start":392,"line_end":392,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":533935,"byte_end":533946,"line_start":393,"line_end":393,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":533947,"byte_end":533952,"line_start":394,"line_end":394,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":533953,"byte_end":533977,"line_start":395,"line_end":395,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":533978,"byte_end":533983,"line_start":396,"line_end":396,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":533984,"byte_end":533994,"line_start":397,"line_end":397,"column_start":1,"column_end":11}},{"value":"/ string()","span":{"file_name":"src/schema.rs","byte_start":533995,"byte_end":534007,"line_start":398,"line_end":398,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534008,"byte_end":534012,"line_start":399,"line_end":399,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534013,"byte_end":534017,"line_start":400,"line_end":400,"column_start":1,"column_end":5}},{"value":"/ // fixed size","span":{"file_name":"src/schema.rs","byte_start":534018,"byte_end":534035,"line_start":401,"line_end":401,"column_start":1,"column_end":18}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":534036,"byte_end":534047,"line_start":402,"line_end":402,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":534048,"byte_end":534053,"line_start":403,"line_end":403,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/schema.rs","byte_start":534054,"byte_end":534079,"line_start":404,"line_end":404,"column_start":1,"column_end":26}},{"value":"/ \"size\": 20","span":{"file_name":"src/schema.rs","byte_start":534080,"byte_end":534098,"line_start":405,"line_end":405,"column_start":1,"column_end":19}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":534099,"byte_end":534104,"line_start":406,"line_end":406,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":534105,"byte_end":534115,"line_start":407,"line_end":407,"column_start":1,"column_end":11}},{"value":"/ string({size: 20})","span":{"file_name":"src/schema.rs","byte_start":534116,"byte_end":534138,"line_start":408,"line_end":408,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534139,"byte_end":534143,"line_start":409,"line_end":409,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":534144,"byte_end":534169,"line_start":410,"line_end":410,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":534170,"byte_end":534181,"line_start":411,"line_end":411,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":534182,"byte_end":534187,"line_start":412,"line_end":412,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/schema.rs","byte_start":534188,"byte_end":534213,"line_start":413,"line_end":413,"column_start":1,"column_end":26}},{"value":"/ \"default\": \"Default string value\"","span":{"file_name":"src/schema.rs","byte_start":534214,"byte_end":534255,"line_start":414,"line_end":414,"column_start":1,"column_end":42}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":534256,"byte_end":534261,"line_start":415,"line_end":415,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534262,"byte_end":534266,"line_start":416,"line_end":416,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":534267,"byte_end":534277,"line_start":417,"line_end":417,"column_start":1,"column_end":11}},{"value":"/ string({default: \"Default string value\"})","span":{"file_name":"src/schema.rs","byte_start":534278,"byte_end":534323,"line_start":418,"line_end":418,"column_start":1,"column_end":46}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":534324,"byte_end":534331,"line_start":419,"line_end":419,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534332,"byte_end":534336,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":534337,"byte_end":534354,"line_start":421,"line_end":421,"column_start":1,"column_end":18}},{"value":"/ - [Using String data type](../pointer/string/index.html)","span":{"file_name":"src/schema.rs","byte_start":534355,"byte_end":534415,"line_start":422,"line_end":422,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534416,"byte_end":534420,"line_start":423,"line_end":423,"column_start":1,"column_end":5}},{"value":"/ ## bytes","span":{"file_name":"src/schema.rs","byte_start":534421,"byte_end":534433,"line_start":424,"line_end":424,"column_start":1,"column_end":13}},{"value":"/ Bytes are fixed or dynimcally sized Vec collections. ","span":{"file_name":"src/schema.rs","byte_start":534434,"byte_end":534495,"line_start":425,"line_end":425,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534496,"byte_end":534500,"line_start":426,"line_end":426,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported only if `size` property is set in schema.","span":{"file_name":"src/schema.rs","byte_start":534501,"byte_end":534580,"line_start":427,"line_end":427,"column_start":1,"column_end":80}},{"value":"/ - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length.","span":{"file_name":"src/schema.rs","byte_start":534581,"byte_end":534745,"line_start":428,"line_end":428,"column_start":1,"column_end":165}},{"value":"/ - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing bytes values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe.","span":{"file_name":"src/schema.rs","byte_start":534746,"byte_end":534979,"line_start":429,"line_end":429,"column_start":1,"column_end":234}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534980,"byte_end":534984,"line_start":430,"line_end":430,"column_start":1,"column_end":5}},{"value":"/ The `size` property provides a way to have fixed size `&[u8]` in your buffers. If a provided byte slice is larger than the `size` property it will be truncated. Smaller byte slices will be padded with zeros.","span":{"file_name":"src/schema.rs","byte_start":534985,"byte_end":535198,"line_start":431,"line_end":431,"column_start":1,"column_end":214}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535199,"byte_end":535203,"line_start":432,"line_end":432,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":535204,"byte_end":535215,"line_start":433,"line_end":433,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535216,"byte_end":535227,"line_start":434,"line_end":434,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535228,"byte_end":535233,"line_start":435,"line_end":435,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\"","span":{"file_name":"src/schema.rs","byte_start":535234,"byte_end":535257,"line_start":436,"line_end":436,"column_start":1,"column_end":24}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535258,"byte_end":535263,"line_start":437,"line_end":437,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535264,"byte_end":535274,"line_start":438,"line_end":438,"column_start":1,"column_end":11}},{"value":"/ bytes()","span":{"file_name":"src/schema.rs","byte_start":535275,"byte_end":535286,"line_start":439,"line_end":439,"column_start":1,"column_end":12}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535287,"byte_end":535291,"line_start":440,"line_end":440,"column_start":1,"column_end":5}},{"value":"/ // fixed size","span":{"file_name":"src/schema.rs","byte_start":535292,"byte_end":535309,"line_start":441,"line_end":441,"column_start":1,"column_end":18}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535310,"byte_end":535321,"line_start":442,"line_end":442,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535322,"byte_end":535327,"line_start":443,"line_end":443,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\",","span":{"file_name":"src/schema.rs","byte_start":535328,"byte_end":535352,"line_start":444,"line_end":444,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20","span":{"file_name":"src/schema.rs","byte_start":535353,"byte_end":535371,"line_start":445,"line_end":445,"column_start":1,"column_end":19}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535372,"byte_end":535377,"line_start":446,"line_end":446,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535378,"byte_end":535388,"line_start":447,"line_end":447,"column_start":1,"column_end":11}},{"value":"/ bytes({size: 20})","span":{"file_name":"src/schema.rs","byte_start":535389,"byte_end":535410,"line_start":448,"line_end":448,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535411,"byte_end":535415,"line_start":449,"line_end":449,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":535416,"byte_end":535441,"line_start":450,"line_end":450,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535442,"byte_end":535453,"line_start":451,"line_end":451,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535454,"byte_end":535459,"line_start":452,"line_end":452,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\",","span":{"file_name":"src/schema.rs","byte_start":535460,"byte_end":535484,"line_start":453,"line_end":453,"column_start":1,"column_end":25}},{"value":"/ \"default\": [1, 2, 3, 4]","span":{"file_name":"src/schema.rs","byte_start":535485,"byte_end":535516,"line_start":454,"line_end":454,"column_start":1,"column_end":32}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535517,"byte_end":535522,"line_start":455,"line_end":455,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535523,"byte_end":535527,"line_start":456,"line_end":456,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535528,"byte_end":535538,"line_start":457,"line_end":457,"column_start":1,"column_end":11}},{"value":"/ bytes({default: [1, 2, 3, 4]})","span":{"file_name":"src/schema.rs","byte_start":535539,"byte_end":535573,"line_start":458,"line_end":458,"column_start":1,"column_end":35}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":535574,"byte_end":535581,"line_start":459,"line_end":459,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535582,"byte_end":535586,"line_start":460,"line_end":460,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":535587,"byte_end":535604,"line_start":461,"line_end":461,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Bytes data type](../pointer/bytes/index.html)","span":{"file_name":"src/schema.rs","byte_start":535605,"byte_end":535666,"line_start":462,"line_end":462,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535667,"byte_end":535671,"line_start":463,"line_end":463,"column_start":1,"column_end":5}},{"value":"/ ## int8, int16, int32, int64","span":{"file_name":"src/schema.rs","byte_start":535672,"byte_end":535704,"line_start":464,"line_end":464,"column_start":1,"column_end":33}},{"value":"/ Signed integers allow positive or negative whole numbers to be stored. The bytes are stored in big endian format and converted to unsigned types to allow bytewise sorting.","span":{"file_name":"src/schema.rs","byte_start":535705,"byte_end":535881,"line_start":465,"line_end":465,"column_start":1,"column_end":177}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535882,"byte_end":535886,"line_start":466,"line_end":466,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":535887,"byte_end":535898,"line_start":467,"line_end":467,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535899,"byte_end":535910,"line_start":468,"line_end":468,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535911,"byte_end":535916,"line_start":469,"line_end":469,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"i8\"","span":{"file_name":"src/schema.rs","byte_start":535917,"byte_end":535937,"line_start":470,"line_end":470,"column_start":1,"column_end":21}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535938,"byte_end":535943,"line_start":471,"line_end":471,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535944,"byte_end":535948,"line_start":472,"line_end":472,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535949,"byte_end":535959,"line_start":473,"line_end":473,"column_start":1,"column_end":11}},{"value":"/ i8()","span":{"file_name":"src/schema.rs","byte_start":535960,"byte_end":535968,"line_start":474,"line_end":474,"column_start":1,"column_end":9}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535969,"byte_end":535973,"line_start":475,"line_end":475,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":535974,"byte_end":535999,"line_start":476,"line_end":476,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536000,"byte_end":536011,"line_start":477,"line_end":477,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536012,"byte_end":536017,"line_start":478,"line_end":478,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"i8\",","span":{"file_name":"src/schema.rs","byte_start":536018,"byte_end":536039,"line_start":479,"line_end":479,"column_start":1,"column_end":22}},{"value":"/ \"default\": 20","span":{"file_name":"src/schema.rs","byte_start":536040,"byte_end":536061,"line_start":480,"line_end":480,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536062,"byte_end":536067,"line_start":481,"line_end":481,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536068,"byte_end":536072,"line_start":482,"line_end":482,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536073,"byte_end":536083,"line_start":483,"line_end":483,"column_start":1,"column_end":11}},{"value":"/ i8({default: 20})","span":{"file_name":"src/schema.rs","byte_start":536084,"byte_end":536105,"line_start":484,"line_end":484,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":536106,"byte_end":536113,"line_start":485,"line_end":485,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536114,"byte_end":536118,"line_start":486,"line_end":486,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":536119,"byte_end":536156,"line_start":487,"line_end":487,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":536157,"byte_end":536233,"line_start":488,"line_end":488,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":536234,"byte_end":536266,"line_start":489,"line_end":489,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536267,"byte_end":536271,"line_start":490,"line_end":490,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":536272,"byte_end":536289,"line_start":491,"line_end":491,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":536290,"byte_end":536352,"line_start":492,"line_end":492,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536353,"byte_end":536357,"line_start":493,"line_end":493,"column_start":1,"column_end":5}},{"value":"/ ## uint8, uint16, uint32, uint64","span":{"file_name":"src/schema.rs","byte_start":536358,"byte_end":536394,"line_start":494,"line_end":494,"column_start":1,"column_end":37}},{"value":"/ Unsgined integers allow only positive whole numbers to be stored. The bytes are stored in big endian format to allow bytewise sorting.","span":{"file_name":"src/schema.rs","byte_start":536395,"byte_end":536534,"line_start":495,"line_end":495,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536535,"byte_end":536539,"line_start":496,"line_end":496,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":536540,"byte_end":536577,"line_start":497,"line_end":497,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":536578,"byte_end":536654,"line_start":498,"line_end":498,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":536655,"byte_end":536687,"line_start":499,"line_end":499,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536688,"byte_end":536692,"line_start":500,"line_end":500,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":536693,"byte_end":536704,"line_start":501,"line_end":501,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536705,"byte_end":536716,"line_start":502,"line_end":502,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536717,"byte_end":536722,"line_start":503,"line_end":503,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"u8\"","span":{"file_name":"src/schema.rs","byte_start":536723,"byte_end":536743,"line_start":504,"line_end":504,"column_start":1,"column_end":21}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536744,"byte_end":536749,"line_start":505,"line_end":505,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536750,"byte_end":536754,"line_start":506,"line_end":506,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536755,"byte_end":536765,"line_start":507,"line_end":507,"column_start":1,"column_end":11}},{"value":"/ u8()","span":{"file_name":"src/schema.rs","byte_start":536766,"byte_end":536774,"line_start":508,"line_end":508,"column_start":1,"column_end":9}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536775,"byte_end":536779,"line_start":509,"line_end":509,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536780,"byte_end":536784,"line_start":510,"line_end":510,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":536785,"byte_end":536810,"line_start":511,"line_end":511,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536811,"byte_end":536822,"line_start":512,"line_end":512,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536823,"byte_end":536828,"line_start":513,"line_end":513,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"u8\",","span":{"file_name":"src/schema.rs","byte_start":536829,"byte_end":536850,"line_start":514,"line_end":514,"column_start":1,"column_end":22}},{"value":"/ \"default\": 20","span":{"file_name":"src/schema.rs","byte_start":536851,"byte_end":536872,"line_start":515,"line_end":515,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536873,"byte_end":536878,"line_start":516,"line_end":516,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536879,"byte_end":536889,"line_start":517,"line_end":517,"column_start":1,"column_end":11}},{"value":"/ u8({default: 20})","span":{"file_name":"src/schema.rs","byte_start":536890,"byte_end":536911,"line_start":518,"line_end":518,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":536912,"byte_end":536919,"line_start":519,"line_end":519,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536920,"byte_end":536924,"line_start":520,"line_end":520,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":536925,"byte_end":536942,"line_start":521,"line_end":521,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":536943,"byte_end":537005,"line_start":522,"line_end":522,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537006,"byte_end":537010,"line_start":523,"line_end":523,"column_start":1,"column_end":5}},{"value":"/ ## float, double","span":{"file_name":"src/schema.rs","byte_start":537011,"byte_end":537031,"line_start":524,"line_end":524,"column_start":1,"column_end":21}},{"value":"/ Allows the storage of floating point numbers of various sizes. Bytes are stored in big endian format.","span":{"file_name":"src/schema.rs","byte_start":537032,"byte_end":537138,"line_start":525,"line_end":525,"column_start":1,"column_end":107}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537139,"byte_end":537143,"line_start":526,"line_end":526,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported, use decimal type.","span":{"file_name":"src/schema.rs","byte_start":537144,"byte_end":537202,"line_start":527,"line_end":527,"column_start":1,"column_end":59}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":537203,"byte_end":537279,"line_start":528,"line_end":528,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":537280,"byte_end":537312,"line_start":529,"line_end":529,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537313,"byte_end":537317,"line_start":530,"line_end":530,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":537318,"byte_end":537329,"line_start":531,"line_end":531,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":537330,"byte_end":537341,"line_start":532,"line_end":532,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":537342,"byte_end":537347,"line_start":533,"line_end":533,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"f32\"","span":{"file_name":"src/schema.rs","byte_start":537348,"byte_end":537369,"line_start":534,"line_end":534,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":537370,"byte_end":537375,"line_start":535,"line_end":535,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537376,"byte_end":537380,"line_start":536,"line_end":536,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":537381,"byte_end":537391,"line_start":537,"line_end":537,"column_start":1,"column_end":11}},{"value":"/ f32()","span":{"file_name":"src/schema.rs","byte_start":537392,"byte_end":537401,"line_start":538,"line_end":538,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537402,"byte_end":537406,"line_start":539,"line_end":539,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":537407,"byte_end":537432,"line_start":540,"line_end":540,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":537433,"byte_end":537444,"line_start":541,"line_end":541,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":537445,"byte_end":537450,"line_start":542,"line_end":542,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"f32\",","span":{"file_name":"src/schema.rs","byte_start":537451,"byte_end":537473,"line_start":543,"line_end":543,"column_start":1,"column_end":23}},{"value":"/ \"default\": 20.283","span":{"file_name":"src/schema.rs","byte_start":537474,"byte_end":537499,"line_start":544,"line_end":544,"column_start":1,"column_end":26}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":537500,"byte_end":537505,"line_start":545,"line_end":545,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537506,"byte_end":537510,"line_start":546,"line_end":546,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":537511,"byte_end":537521,"line_start":547,"line_end":547,"column_start":1,"column_end":11}},{"value":"/ f32({default: 20.283})","span":{"file_name":"src/schema.rs","byte_start":537522,"byte_end":537548,"line_start":548,"line_end":548,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537549,"byte_end":537553,"line_start":549,"line_end":549,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":537554,"byte_end":537561,"line_start":550,"line_end":550,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537562,"byte_end":537566,"line_start":551,"line_end":551,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":537567,"byte_end":537584,"line_start":552,"line_end":552,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":537585,"byte_end":537647,"line_start":553,"line_end":553,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537648,"byte_end":537652,"line_start":554,"line_end":554,"column_start":1,"column_end":5}},{"value":"/ ## enum","span":{"file_name":"src/schema.rs","byte_start":537653,"byte_end":537664,"line_start":555,"line_end":555,"column_start":1,"column_end":12}},{"value":"/ Allows efficeint storage of a selection between a known collection of ordered strings. The selection is stored as a single u8 byte, limiting the max number of choices to 255. Also the choices themselves cannot be longer than 255 UTF8 bytes each.","span":{"file_name":"src/schema.rs","byte_start":537665,"byte_end":537916,"line_start":556,"line_end":556,"column_start":1,"column_end":252}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537917,"byte_end":537921,"line_start":557,"line_end":557,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":537922,"byte_end":537959,"line_start":558,"line_end":558,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":537960,"byte_end":538036,"line_start":559,"line_end":559,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: You can safely add new choices to the end of the list or update the existing choices in place. If you need to delete a choice, just make it an empty string. Changing the order of the choices is destructive as this type only stores the index of the choice it's set to.","span":{"file_name":"src/schema.rs","byte_start":538037,"byte_end":538334,"line_start":560,"line_end":560,"column_start":1,"column_end":298}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538335,"byte_end":538339,"line_start":561,"line_end":561,"column_start":1,"column_end":5}},{"value":"/ There is one required property of this schema called `choices`. The property should contain an array of strings that represent all possible choices of the option.","span":{"file_name":"src/schema.rs","byte_start":538340,"byte_end":538507,"line_start":562,"line_end":562,"column_start":1,"column_end":168}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538508,"byte_end":538512,"line_start":563,"line_end":563,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":538513,"byte_end":538524,"line_start":564,"line_end":564,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":538525,"byte_end":538536,"line_start":565,"line_end":565,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":538537,"byte_end":538542,"line_start":566,"line_end":566,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"enum\",","span":{"file_name":"src/schema.rs","byte_start":538543,"byte_end":538566,"line_start":567,"line_end":567,"column_start":1,"column_end":24}},{"value":"/ \"choices\": [\"choice 1\", \"choice 2\", \"etc\"]","span":{"file_name":"src/schema.rs","byte_start":538567,"byte_end":538617,"line_start":568,"line_end":568,"column_start":1,"column_end":51}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":538618,"byte_end":538623,"line_start":569,"line_end":569,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":538624,"byte_end":538634,"line_start":570,"line_end":570,"column_start":1,"column_end":11}},{"value":"/ enum({choices: [\"choice 1\", \"choice 2\", \"etc\"]})","span":{"file_name":"src/schema.rs","byte_start":538635,"byte_end":538687,"line_start":571,"line_end":571,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538688,"byte_end":538692,"line_start":572,"line_end":572,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":538693,"byte_end":538718,"line_start":573,"line_end":573,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":538719,"byte_end":538730,"line_start":574,"line_end":574,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":538731,"byte_end":538736,"line_start":575,"line_end":575,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"enum\",","span":{"file_name":"src/schema.rs","byte_start":538737,"byte_end":538760,"line_start":576,"line_end":576,"column_start":1,"column_end":24}},{"value":"/ \"choices\": [\"choice 1\", \"choice 2\", \"etc\"],","span":{"file_name":"src/schema.rs","byte_start":538761,"byte_end":538812,"line_start":577,"line_end":577,"column_start":1,"column_end":52}},{"value":"/ \"default\": \"etc\"","span":{"file_name":"src/schema.rs","byte_start":538813,"byte_end":538837,"line_start":578,"line_end":578,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":538838,"byte_end":538843,"line_start":579,"line_end":579,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538844,"byte_end":538848,"line_start":580,"line_end":580,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":538849,"byte_end":538859,"line_start":581,"line_end":581,"column_start":1,"column_end":11}},{"value":"/ enum({choices: [\"choice 1\", \"choice 2\", \"etc\"], default: \"etc\"})","span":{"file_name":"src/schema.rs","byte_start":538860,"byte_end":538928,"line_start":582,"line_end":582,"column_start":1,"column_end":69}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":538929,"byte_end":538936,"line_start":583,"line_end":583,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538937,"byte_end":538941,"line_start":584,"line_end":584,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":538942,"byte_end":538959,"line_start":585,"line_end":585,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Enum data type](../pointer/option/index.html)","span":{"file_name":"src/schema.rs","byte_start":538960,"byte_end":539021,"line_start":586,"line_end":586,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539022,"byte_end":539026,"line_start":587,"line_end":587,"column_start":1,"column_end":5}},{"value":"/ ## bool","span":{"file_name":"src/schema.rs","byte_start":539027,"byte_end":539038,"line_start":588,"line_end":588,"column_start":1,"column_end":12}},{"value":"/ Allows efficent storage of a true or false value. The value is stored as a single byte that is set to either 1 or 0.","span":{"file_name":"src/schema.rs","byte_start":539039,"byte_end":539160,"line_start":589,"line_end":589,"column_start":1,"column_end":122}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539161,"byte_end":539165,"line_start":590,"line_end":590,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":539166,"byte_end":539203,"line_start":591,"line_end":591,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":539204,"byte_end":539280,"line_start":592,"line_end":592,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":539281,"byte_end":539313,"line_start":593,"line_end":593,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539314,"byte_end":539318,"line_start":594,"line_end":594,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":539319,"byte_end":539330,"line_start":595,"line_end":595,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":539331,"byte_end":539342,"line_start":596,"line_end":596,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":539343,"byte_end":539348,"line_start":597,"line_end":597,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/schema.rs","byte_start":539349,"byte_end":539371,"line_start":598,"line_end":598,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":539372,"byte_end":539377,"line_start":599,"line_end":599,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":539378,"byte_end":539388,"line_start":600,"line_end":600,"column_start":1,"column_end":11}},{"value":"/ bool()","span":{"file_name":"src/schema.rs","byte_start":539389,"byte_end":539399,"line_start":601,"line_end":601,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539400,"byte_end":539404,"line_start":602,"line_end":602,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":539405,"byte_end":539430,"line_start":603,"line_end":603,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":539431,"byte_end":539442,"line_start":604,"line_end":604,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":539443,"byte_end":539448,"line_start":605,"line_end":605,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/schema.rs","byte_start":539449,"byte_end":539472,"line_start":606,"line_end":606,"column_start":1,"column_end":24}},{"value":"/ \"default\": false","span":{"file_name":"src/schema.rs","byte_start":539473,"byte_end":539497,"line_start":607,"line_end":607,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":539498,"byte_end":539503,"line_start":608,"line_end":608,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":539504,"byte_end":539514,"line_start":609,"line_end":609,"column_start":1,"column_end":11}},{"value":"/ bool({default: false})","span":{"file_name":"src/schema.rs","byte_start":539515,"byte_end":539541,"line_start":610,"line_end":610,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":539542,"byte_end":539549,"line_start":611,"line_end":611,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539550,"byte_end":539554,"line_start":612,"line_end":612,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":539555,"byte_end":539572,"line_start":613,"line_end":613,"column_start":1,"column_end":18}},{"value":"/ - [Using Bool data type](../pointer/bool/index.html)","span":{"file_name":"src/schema.rs","byte_start":539573,"byte_end":539629,"line_start":614,"line_end":614,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539630,"byte_end":539634,"line_start":615,"line_end":615,"column_start":1,"column_end":5}},{"value":"/ ## decimal","span":{"file_name":"src/schema.rs","byte_start":539635,"byte_end":539649,"line_start":616,"line_end":616,"column_start":1,"column_end":15}},{"value":"/ Allows you to store fixed point decimal numbers. The number of decimal places must be declared in the schema as `exp` property and will be used for every value.","span":{"file_name":"src/schema.rs","byte_start":539650,"byte_end":539815,"line_start":617,"line_end":617,"column_start":1,"column_end":166}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539816,"byte_end":539820,"line_start":618,"line_end":618,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":539821,"byte_end":539858,"line_start":619,"line_end":619,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":539859,"byte_end":539935,"line_start":620,"line_end":620,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":539936,"byte_end":539968,"line_start":621,"line_end":621,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539969,"byte_end":539973,"line_start":622,"line_end":622,"column_start":1,"column_end":5}},{"value":"/ There is a single required property called `exp` that represents the number of decimal points every value will have.","span":{"file_name":"src/schema.rs","byte_start":539974,"byte_end":540094,"line_start":623,"line_end":623,"column_start":1,"column_end":121}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540095,"byte_end":540099,"line_start":624,"line_end":624,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":540100,"byte_end":540111,"line_start":625,"line_end":625,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":540112,"byte_end":540123,"line_start":626,"line_end":626,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":540124,"byte_end":540129,"line_start":627,"line_end":627,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/schema.rs","byte_start":540130,"byte_end":540156,"line_start":628,"line_end":628,"column_start":1,"column_end":27}},{"value":"/ \"exp\": 3","span":{"file_name":"src/schema.rs","byte_start":540157,"byte_end":540173,"line_start":629,"line_end":629,"column_start":1,"column_end":17}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":540174,"byte_end":540179,"line_start":630,"line_end":630,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":540180,"byte_end":540190,"line_start":631,"line_end":631,"column_start":1,"column_end":11}},{"value":"/ decimal({exp: 3})","span":{"file_name":"src/schema.rs","byte_start":540191,"byte_end":540212,"line_start":632,"line_end":632,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540213,"byte_end":540217,"line_start":633,"line_end":633,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":540218,"byte_end":540243,"line_start":634,"line_end":634,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":540244,"byte_end":540255,"line_start":635,"line_end":635,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":540256,"byte_end":540261,"line_start":636,"line_end":636,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/schema.rs","byte_start":540262,"byte_end":540288,"line_start":637,"line_end":637,"column_start":1,"column_end":27}},{"value":"/ \"exp\": 3,","span":{"file_name":"src/schema.rs","byte_start":540289,"byte_end":540306,"line_start":638,"line_end":638,"column_start":1,"column_end":18}},{"value":"/ \"default\": 20.293","span":{"file_name":"src/schema.rs","byte_start":540307,"byte_end":540332,"line_start":639,"line_end":639,"column_start":1,"column_end":26}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":540333,"byte_end":540338,"line_start":640,"line_end":640,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":540339,"byte_end":540349,"line_start":641,"line_end":641,"column_start":1,"column_end":11}},{"value":"/ decimal({exp: 3, default: 20.293})","span":{"file_name":"src/schema.rs","byte_start":540350,"byte_end":540388,"line_start":642,"line_end":642,"column_start":1,"column_end":39}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":540389,"byte_end":540396,"line_start":643,"line_end":643,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540397,"byte_end":540401,"line_start":644,"line_end":644,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":540402,"byte_end":540419,"line_start":645,"line_end":645,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Dec data type](../pointer/dec/index.html)","span":{"file_name":"src/schema.rs","byte_start":540420,"byte_end":540477,"line_start":646,"line_end":646,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540478,"byte_end":540482,"line_start":647,"line_end":647,"column_start":1,"column_end":5}},{"value":"/ ## geo4, ge8, geo16","span":{"file_name":"src/schema.rs","byte_start":540483,"byte_end":540506,"line_start":648,"line_end":648,"column_start":1,"column_end":24}},{"value":"/ Allows you to store geographic coordinates with varying levels of accuracy and space usage. ","span":{"file_name":"src/schema.rs","byte_start":540507,"byte_end":540604,"line_start":649,"line_end":649,"column_start":1,"column_end":98}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540605,"byte_end":540609,"line_start":650,"line_end":650,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Not supported","span":{"file_name":"src/schema.rs","byte_start":540610,"byte_end":540651,"line_start":651,"line_end":651,"column_start":1,"column_end":42}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":540652,"byte_end":540728,"line_start":652,"line_end":652,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":540729,"byte_end":540761,"line_start":653,"line_end":653,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540762,"byte_end":540766,"line_start":654,"line_end":654,"column_start":1,"column_end":5}},{"value":"/ Larger geo values take up more space, but allow greater resolution.","span":{"file_name":"src/schema.rs","byte_start":540767,"byte_end":540838,"line_start":655,"line_end":655,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540839,"byte_end":540843,"line_start":656,"line_end":656,"column_start":1,"column_end":5}},{"value":"/ | Type | Bytes | Earth Resolution | Decimal Places |","span":{"file_name":"src/schema.rs","byte_start":540844,"byte_end":540923,"line_start":657,"line_end":657,"column_start":1,"column_end":80}},{"value":"/ |-------|-------|----------------------------------------|----------------|","span":{"file_name":"src/schema.rs","byte_start":540924,"byte_end":541003,"line_start":658,"line_end":658,"column_start":1,"column_end":80}},{"value":"/ | geo4 | 4 | 1.1km resolution (city) | 2 |","span":{"file_name":"src/schema.rs","byte_start":541004,"byte_end":541083,"line_start":659,"line_end":659,"column_start":1,"column_end":80}},{"value":"/ | geo8 | 8 | 11mm resolution (marble) | 7 |","span":{"file_name":"src/schema.rs","byte_start":541084,"byte_end":541163,"line_start":660,"line_end":660,"column_start":1,"column_end":80}},{"value":"/ | geo16 | 16 | 110 microns resolution (grain of sand) | 9 |","span":{"file_name":"src/schema.rs","byte_start":541164,"byte_end":541243,"line_start":661,"line_end":661,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541244,"byte_end":541248,"line_start":662,"line_end":662,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":541249,"byte_end":541260,"line_start":663,"line_end":663,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":541261,"byte_end":541272,"line_start":664,"line_end":664,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541273,"byte_end":541278,"line_start":665,"line_end":665,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"geo4\"","span":{"file_name":"src/schema.rs","byte_start":541279,"byte_end":541301,"line_start":666,"line_end":666,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":541302,"byte_end":541307,"line_start":667,"line_end":667,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":541308,"byte_end":541318,"line_start":668,"line_end":668,"column_start":1,"column_end":11}},{"value":"/ geo4()","span":{"file_name":"src/schema.rs","byte_start":541319,"byte_end":541329,"line_start":669,"line_end":669,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541330,"byte_end":541334,"line_start":670,"line_end":670,"column_start":1,"column_end":5}},{"value":"/ // with default","span":{"file_name":"src/schema.rs","byte_start":541335,"byte_end":541354,"line_start":671,"line_end":671,"column_start":1,"column_end":20}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541355,"byte_end":541360,"line_start":672,"line_end":672,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"geo4\",","span":{"file_name":"src/schema.rs","byte_start":541361,"byte_end":541384,"line_start":673,"line_end":673,"column_start":1,"column_end":24}},{"value":"/ \"default\": {\"lat\": -20.283, \"lng\": 19.929}","span":{"file_name":"src/schema.rs","byte_start":541385,"byte_end":541435,"line_start":674,"line_end":674,"column_start":1,"column_end":51}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":541436,"byte_end":541441,"line_start":675,"line_end":675,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":541442,"byte_end":541452,"line_start":676,"line_end":676,"column_start":1,"column_end":11}},{"value":"/ geo4({default: {lat: -20.283, lng: 19.929}})","span":{"file_name":"src/schema.rs","byte_start":541453,"byte_end":541501,"line_start":677,"line_end":677,"column_start":1,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":541502,"byte_end":541509,"line_start":678,"line_end":678,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541510,"byte_end":541514,"line_start":679,"line_end":679,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":541515,"byte_end":541532,"line_start":680,"line_end":680,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Geo data type](../pointer/geo/index.html)","span":{"file_name":"src/schema.rs","byte_start":541533,"byte_end":541590,"line_start":681,"line_end":681,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541591,"byte_end":541595,"line_start":682,"line_end":682,"column_start":1,"column_end":5}},{"value":"/ ## ulid","span":{"file_name":"src/schema.rs","byte_start":541596,"byte_end":541607,"line_start":683,"line_end":683,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a unique ID with a timestamp. The timestamp is stored in milliseconds since the unix epoch.","span":{"file_name":"src/schema.rs","byte_start":541608,"byte_end":541724,"line_start":684,"line_end":684,"column_start":1,"column_end":117}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541725,"byte_end":541729,"line_start":685,"line_end":685,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported, orders by timestamp. Order is random if timestamp is identical between two values.","span":{"file_name":"src/schema.rs","byte_start":541730,"byte_end":541851,"line_start":686,"line_end":686,"column_start":1,"column_end":122}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":541852,"byte_end":541928,"line_start":687,"line_end":687,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":541929,"byte_end":541961,"line_start":688,"line_end":688,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541962,"byte_end":541966,"line_start":689,"line_end":689,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":541967,"byte_end":541978,"line_start":690,"line_end":690,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":541979,"byte_end":541990,"line_start":691,"line_end":691,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541991,"byte_end":541996,"line_start":692,"line_end":692,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"ulid\"","span":{"file_name":"src/schema.rs","byte_start":541997,"byte_end":542019,"line_start":693,"line_end":693,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542020,"byte_end":542025,"line_start":694,"line_end":694,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542026,"byte_end":542036,"line_start":695,"line_end":695,"column_start":1,"column_end":11}},{"value":"/ ulid()","span":{"file_name":"src/schema.rs","byte_start":542037,"byte_end":542047,"line_start":696,"line_end":696,"column_start":1,"column_end":11}},{"value":"/ // no default supported","span":{"file_name":"src/schema.rs","byte_start":542048,"byte_end":542075,"line_start":697,"line_end":697,"column_start":1,"column_end":28}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":542076,"byte_end":542083,"line_start":698,"line_end":698,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542084,"byte_end":542088,"line_start":699,"line_end":699,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":542089,"byte_end":542106,"line_start":700,"line_end":700,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_ULID data type](../pointer/ulid/index.html)","span":{"file_name":"src/schema.rs","byte_start":542107,"byte_end":542166,"line_start":701,"line_end":701,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542167,"byte_end":542171,"line_start":702,"line_end":702,"column_start":1,"column_end":5}},{"value":"/ ## uuid","span":{"file_name":"src/schema.rs","byte_start":542172,"byte_end":542183,"line_start":703,"line_end":703,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a universally unique ID.","span":{"file_name":"src/schema.rs","byte_start":542184,"byte_end":542232,"line_start":704,"line_end":704,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542233,"byte_end":542237,"line_start":705,"line_end":705,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported, but values are random","span":{"file_name":"src/schema.rs","byte_start":542238,"byte_end":542298,"line_start":706,"line_end":706,"column_start":1,"column_end":61}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":542299,"byte_end":542375,"line_start":707,"line_end":707,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":542376,"byte_end":542408,"line_start":708,"line_end":708,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542409,"byte_end":542413,"line_start":709,"line_end":709,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":542414,"byte_end":542425,"line_start":710,"line_end":710,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":542426,"byte_end":542437,"line_start":711,"line_end":711,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":542438,"byte_end":542443,"line_start":712,"line_end":712,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/schema.rs","byte_start":542444,"byte_end":542466,"line_start":713,"line_end":713,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542467,"byte_end":542472,"line_start":714,"line_end":714,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542473,"byte_end":542483,"line_start":715,"line_end":715,"column_start":1,"column_end":11}},{"value":"/ uuid()","span":{"file_name":"src/schema.rs","byte_start":542484,"byte_end":542494,"line_start":716,"line_end":716,"column_start":1,"column_end":11}},{"value":"/ // no default supported","span":{"file_name":"src/schema.rs","byte_start":542495,"byte_end":542522,"line_start":717,"line_end":717,"column_start":1,"column_end":28}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":542523,"byte_end":542530,"line_start":718,"line_end":718,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542531,"byte_end":542535,"line_start":719,"line_end":719,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":542536,"byte_end":542553,"line_start":720,"line_end":720,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_UUID data type](../pointer/uuid/index.html)","span":{"file_name":"src/schema.rs","byte_start":542554,"byte_end":542613,"line_start":721,"line_end":721,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542614,"byte_end":542618,"line_start":722,"line_end":722,"column_start":1,"column_end":5}},{"value":"/ ## date","span":{"file_name":"src/schema.rs","byte_start":542619,"byte_end":542630,"line_start":723,"line_end":723,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a timestamp as a u64 value. This is just a thin wrapper around the u64 type.","span":{"file_name":"src/schema.rs","byte_start":542631,"byte_end":542732,"line_start":724,"line_end":724,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542733,"byte_end":542737,"line_start":725,"line_end":725,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":542738,"byte_end":542775,"line_start":726,"line_end":726,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":542776,"byte_end":542852,"line_start":727,"line_end":727,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":542853,"byte_end":542885,"line_start":728,"line_end":728,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542886,"byte_end":542890,"line_start":729,"line_end":729,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":542891,"byte_end":542902,"line_start":730,"line_end":730,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":542903,"byte_end":542914,"line_start":731,"line_end":731,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":542915,"byte_end":542920,"line_start":732,"line_end":732,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/schema.rs","byte_start":542921,"byte_end":542943,"line_start":733,"line_end":733,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542944,"byte_end":542949,"line_start":734,"line_end":734,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542950,"byte_end":542960,"line_start":735,"line_end":735,"column_start":1,"column_end":11}},{"value":"/ date()","span":{"file_name":"src/schema.rs","byte_start":542961,"byte_end":542971,"line_start":736,"line_end":736,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542972,"byte_end":542976,"line_start":737,"line_end":737,"column_start":1,"column_end":5}},{"value":"/ // with default value (default should be in ms)","span":{"file_name":"src/schema.rs","byte_start":542977,"byte_end":543028,"line_start":738,"line_end":738,"column_start":1,"column_end":52}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":543029,"byte_end":543040,"line_start":739,"line_end":739,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":543041,"byte_end":543046,"line_start":740,"line_end":740,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"date\",","span":{"file_name":"src/schema.rs","byte_start":543047,"byte_end":543070,"line_start":741,"line_end":741,"column_start":1,"column_end":24}},{"value":"/ \"default\": 1605909163951","span":{"file_name":"src/schema.rs","byte_start":543071,"byte_end":543103,"line_start":742,"line_end":742,"column_start":1,"column_end":33}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":543104,"byte_end":543109,"line_start":743,"line_end":743,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":543110,"byte_end":543120,"line_start":744,"line_end":744,"column_start":1,"column_end":11}},{"value":"/ date({default: 1605909163951})","span":{"file_name":"src/schema.rs","byte_start":543121,"byte_end":543155,"line_start":745,"line_end":745,"column_start":1,"column_end":35}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":543156,"byte_end":543163,"line_start":746,"line_end":746,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543164,"byte_end":543168,"line_start":747,"line_end":747,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":543169,"byte_end":543186,"line_start":748,"line_end":748,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Date data type](../pointer/date/index.html)","span":{"file_name":"src/schema.rs","byte_start":543187,"byte_end":543246,"line_start":749,"line_end":749,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543247,"byte_end":543252,"line_start":750,"line_end":750,"column_start":1,"column_end":6}},{"value":"/ ## portal","span":{"file_name":"src/schema.rs","byte_start":543253,"byte_end":543266,"line_start":751,"line_end":751,"column_start":1,"column_end":14}},{"value":"/ Portals allow types/schemas to be \"teleported\" from one part of a schema to another.","span":{"file_name":"src/schema.rs","byte_start":543267,"byte_end":543355,"line_start":752,"line_end":752,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543356,"byte_end":543360,"line_start":753,"line_end":753,"column_start":1,"column_end":5}},{"value":"/ You can use these for duplicating a type many times in a schema or for recursive data types.","span":{"file_name":"src/schema.rs","byte_start":543361,"byte_end":543457,"line_start":754,"line_end":754,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543458,"byte_end":543462,"line_start":755,"line_end":755,"column_start":1,"column_end":5}},{"value":"/ The one required property is `to`, it should be a dot notated path to the type being teleported. If `to` is an empty string, the root is used.","span":{"file_name":"src/schema.rs","byte_start":543463,"byte_end":543610,"line_start":756,"line_end":756,"column_start":1,"column_end":148}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543611,"byte_end":543615,"line_start":757,"line_end":757,"column_start":1,"column_end":5}},{"value":"/ Recursion works up to 255 levels of depth.","span":{"file_name":"src/schema.rs","byte_start":543616,"byte_end":543662,"line_start":758,"line_end":758,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543663,"byte_end":543667,"line_start":759,"line_end":759,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Not Supported","span":{"file_name":"src/schema.rs","byte_start":543668,"byte_end":543709,"line_start":760,"line_end":760,"column_start":1,"column_end":42}},{"value":"/ - **Compaction**: Same behavior as type being teleported.","span":{"file_name":"src/schema.rs","byte_start":543710,"byte_end":543771,"line_start":761,"line_end":761,"column_start":1,"column_end":62}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":543772,"byte_end":543804,"line_start":762,"line_end":762,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543805,"byte_end":543809,"line_start":763,"line_end":763,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":543810,"byte_end":543821,"line_start":764,"line_end":764,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":543822,"byte_end":543833,"line_start":765,"line_end":765,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":543834,"byte_end":543839,"line_start":766,"line_end":766,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":543840,"byte_end":543865,"line_start":767,"line_end":767,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":543866,"byte_end":543885,"line_start":768,"line_end":768,"column_start":1,"column_end":20}},{"value":"/ [\"value\", {\"type\": \"u8\"}],","span":{"file_name":"src/schema.rs","byte_start":543886,"byte_end":543924,"line_start":769,"line_end":769,"column_start":1,"column_end":39}},{"value":"/ [\"next\", {\"type\": \"portal\", \"to\": \"\"}]","span":{"file_name":"src/schema.rs","byte_start":543925,"byte_end":543975,"line_start":770,"line_end":770,"column_start":1,"column_end":51}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":543976,"byte_end":543985,"line_start":771,"line_end":771,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":543986,"byte_end":543991,"line_start":772,"line_end":772,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":543992,"byte_end":544002,"line_start":773,"line_end":773,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":544003,"byte_end":544024,"line_start":774,"line_end":774,"column_start":1,"column_end":22}},{"value":"/ value: u8(),","span":{"file_name":"src/schema.rs","byte_start":544025,"byte_end":544045,"line_start":775,"line_end":775,"column_start":1,"column_end":21}},{"value":"/ next: portal({to: \"\"})","span":{"file_name":"src/schema.rs","byte_start":544046,"byte_end":544076,"line_start":776,"line_end":776,"column_start":1,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":544077,"byte_end":544084,"line_start":777,"line_end":777,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":544085,"byte_end":544092,"line_start":778,"line_end":778,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544093,"byte_end":544097,"line_start":779,"line_end":779,"column_start":1,"column_end":5}},{"value":"/ With the above schema, values can be stored at `value`, `next.value`, `next.next.next.value`, etc.","span":{"file_name":"src/schema.rs","byte_start":544098,"byte_end":544200,"line_start":780,"line_end":780,"column_start":1,"column_end":103}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544201,"byte_end":544205,"line_start":781,"line_end":781,"column_start":1,"column_end":5}},{"value":"/ Here is an example where `portal` is used to duplicate a type.","span":{"file_name":"src/schema.rs","byte_start":544206,"byte_end":544272,"line_start":782,"line_end":782,"column_start":1,"column_end":67}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544273,"byte_end":544277,"line_start":783,"line_end":783,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":544278,"byte_end":544289,"line_start":784,"line_end":784,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":544290,"byte_end":544301,"line_start":785,"line_end":785,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":544302,"byte_end":544307,"line_start":786,"line_end":786,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":544308,"byte_end":544333,"line_start":787,"line_end":787,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":544334,"byte_end":544353,"line_start":788,"line_end":788,"column_start":1,"column_end":20}},{"value":"/ [\"username\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":544354,"byte_end":544399,"line_start":789,"line_end":789,"column_start":1,"column_end":46}},{"value":"/ [\"email\", {\"type\": \"portal\", \"to\": \"username\"}]","span":{"file_name":"src/schema.rs","byte_start":544400,"byte_end":544459,"line_start":790,"line_end":790,"column_start":1,"column_end":60}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":544460,"byte_end":544469,"line_start":791,"line_end":791,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":544470,"byte_end":544475,"line_start":792,"line_end":792,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":544476,"byte_end":544486,"line_start":793,"line_end":793,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":544487,"byte_end":544508,"line_start":794,"line_end":794,"column_start":1,"column_end":22}},{"value":"/ username: string(),","span":{"file_name":"src/schema.rs","byte_start":544509,"byte_end":544536,"line_start":795,"line_end":795,"column_start":1,"column_end":28}},{"value":"/ email: portal({to: \"username\"})","span":{"file_name":"src/schema.rs","byte_start":544537,"byte_end":544576,"line_start":796,"line_end":796,"column_start":1,"column_end":40}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":544577,"byte_end":544584,"line_start":797,"line_end":797,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":544585,"byte_end":544592,"line_start":798,"line_end":798,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544593,"byte_end":544597,"line_start":799,"line_end":799,"column_start":1,"column_end":5}},{"value":"/ In the schema above `username` and `email` are both resolved to the `string` type.","span":{"file_name":"src/schema.rs","byte_start":544598,"byte_end":544684,"line_start":800,"line_end":800,"column_start":1,"column_end":87}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544685,"byte_end":544689,"line_start":801,"line_end":801,"column_start":1,"column_end":5}},{"value":"/ Even though structs are the only type used in the examples above, the `portal` type will work with any collection type.","span":{"file_name":"src/schema.rs","byte_start":544690,"byte_end":544813,"line_start":802,"line_end":802,"column_start":1,"column_end":124}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544814,"byte_end":544818,"line_start":803,"line_end":803,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":544819,"byte_end":544836,"line_start":804,"line_end":804,"column_start":1,"column_end":18}},{"value":"/ - [Using Portal data type](../pointer/portal/index.html)","span":{"file_name":"src/schema.rs","byte_start":544837,"byte_end":544897,"line_start":805,"line_end":805,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544898,"byte_end":544902,"line_start":806,"line_end":806,"column_start":1,"column_end":5}},{"value":"/ ## Next Step","span":{"file_name":"src/schema.rs","byte_start":544903,"byte_end":544919,"line_start":807,"line_end":807,"column_start":1,"column_end":17}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544920,"byte_end":544924,"line_start":808,"line_end":808,"column_start":1,"column_end":5}},{"value":"/ Read about how to initialize a schema into a NoProto Factory.","span":{"file_name":"src/schema.rs","byte_start":544925,"byte_end":544990,"line_start":809,"line_end":809,"column_start":1,"column_end":66}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544991,"byte_end":544995,"line_start":810,"line_end":810,"column_start":1,"column_end":5}},{"value":"/ [Go to NP_Factory docs](../struct.NP_Factory.html)","span":{"file_name":"src/schema.rs","byte_start":544996,"byte_end":545050,"line_start":811,"line_end":811,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":545051,"byte_end":545055,"line_start":812,"line_end":812,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3387},"span":{"file_name":"src/schema.rs","byte_start":545923,"byte_end":545927,"line_start":836,"line_end":836,"column_start":5,"column_end":9},"name":"None","qualname":"::schema::NP_TypeKeys::None","value":"NP_TypeKeys::None","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3390},"span":{"file_name":"src/schema.rs","byte_start":545944,"byte_end":545947,"line_start":837,"line_end":837,"column_start":5,"column_end":8},"name":"Any","qualname":"::schema::NP_TypeKeys::Any","value":"NP_TypeKeys::Any","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3393},"span":{"file_name":"src/schema.rs","byte_start":545965,"byte_end":545975,"line_start":838,"line_end":838,"column_start":5,"column_end":15},"name":"UTF8String","qualname":"::schema::NP_TypeKeys::UTF8String","value":"NP_TypeKeys::UTF8String","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3396},"span":{"file_name":"src/schema.rs","byte_start":545986,"byte_end":545991,"line_start":839,"line_end":839,"column_start":5,"column_end":10},"name":"Bytes","qualname":"::schema::NP_TypeKeys::Bytes","value":"NP_TypeKeys::Bytes","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3399},"span":{"file_name":"src/schema.rs","byte_start":546007,"byte_end":546011,"line_start":840,"line_end":840,"column_start":5,"column_end":9},"name":"Int8","qualname":"::schema::NP_TypeKeys::Int8","value":"NP_TypeKeys::Int8","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3402},"span":{"file_name":"src/schema.rs","byte_start":546028,"byte_end":546033,"line_start":841,"line_end":841,"column_start":5,"column_end":10},"name":"Int16","qualname":"::schema::NP_TypeKeys::Int16","value":"NP_TypeKeys::Int16","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3405},"span":{"file_name":"src/schema.rs","byte_start":546049,"byte_end":546054,"line_start":842,"line_end":842,"column_start":5,"column_end":10},"name":"Int32","qualname":"::schema::NP_TypeKeys::Int32","value":"NP_TypeKeys::Int32","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3408},"span":{"file_name":"src/schema.rs","byte_start":546070,"byte_end":546075,"line_start":843,"line_end":843,"column_start":5,"column_end":10},"name":"Int64","qualname":"::schema::NP_TypeKeys::Int64","value":"NP_TypeKeys::Int64","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3411},"span":{"file_name":"src/schema.rs","byte_start":546091,"byte_end":546096,"line_start":844,"line_end":844,"column_start":5,"column_end":10},"name":"Uint8","qualname":"::schema::NP_TypeKeys::Uint8","value":"NP_TypeKeys::Uint8","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3414},"span":{"file_name":"src/schema.rs","byte_start":546112,"byte_end":546118,"line_start":845,"line_end":845,"column_start":5,"column_end":11},"name":"Uint16","qualname":"::schema::NP_TypeKeys::Uint16","value":"NP_TypeKeys::Uint16","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3417},"span":{"file_name":"src/schema.rs","byte_start":546133,"byte_end":546139,"line_start":846,"line_end":846,"column_start":5,"column_end":11},"name":"Uint32","qualname":"::schema::NP_TypeKeys::Uint32","value":"NP_TypeKeys::Uint32","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3420},"span":{"file_name":"src/schema.rs","byte_start":546154,"byte_end":546160,"line_start":847,"line_end":847,"column_start":5,"column_end":11},"name":"Uint64","qualname":"::schema::NP_TypeKeys::Uint64","value":"NP_TypeKeys::Uint64","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3423},"span":{"file_name":"src/schema.rs","byte_start":546175,"byte_end":546180,"line_start":848,"line_end":848,"column_start":5,"column_end":10},"name":"Float","qualname":"::schema::NP_TypeKeys::Float","value":"NP_TypeKeys::Float","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3426},"span":{"file_name":"src/schema.rs","byte_start":546196,"byte_end":546202,"line_start":849,"line_end":849,"column_start":5,"column_end":11},"name":"Double","qualname":"::schema::NP_TypeKeys::Double","value":"NP_TypeKeys::Double","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3429},"span":{"file_name":"src/schema.rs","byte_start":546217,"byte_end":546224,"line_start":850,"line_end":850,"column_start":5,"column_end":12},"name":"Decimal","qualname":"::schema::NP_TypeKeys::Decimal","value":"NP_TypeKeys::Decimal","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3432},"span":{"file_name":"src/schema.rs","byte_start":546238,"byte_end":546245,"line_start":851,"line_end":851,"column_start":5,"column_end":12},"name":"Boolean","qualname":"::schema::NP_TypeKeys::Boolean","value":"NP_TypeKeys::Boolean","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3435},"span":{"file_name":"src/schema.rs","byte_start":546259,"byte_end":546262,"line_start":852,"line_end":852,"column_start":5,"column_end":8},"name":"Geo","qualname":"::schema::NP_TypeKeys::Geo","value":"NP_TypeKeys::Geo","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3438},"span":{"file_name":"src/schema.rs","byte_start":546280,"byte_end":546284,"line_start":853,"line_end":853,"column_start":5,"column_end":9},"name":"Uuid","qualname":"::schema::NP_TypeKeys::Uuid","value":"NP_TypeKeys::Uuid","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3441},"span":{"file_name":"src/schema.rs","byte_start":546301,"byte_end":546305,"line_start":854,"line_end":854,"column_start":5,"column_end":9},"name":"Ulid","qualname":"::schema::NP_TypeKeys::Ulid","value":"NP_TypeKeys::Ulid","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3444},"span":{"file_name":"src/schema.rs","byte_start":546322,"byte_end":546326,"line_start":855,"line_end":855,"column_start":5,"column_end":9},"name":"Date","qualname":"::schema::NP_TypeKeys::Date","value":"NP_TypeKeys::Date","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3447},"span":{"file_name":"src/schema.rs","byte_start":546343,"byte_end":546347,"line_start":856,"line_end":856,"column_start":5,"column_end":9},"name":"Enum","qualname":"::schema::NP_TypeKeys::Enum","value":"NP_TypeKeys::Enum","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3450},"span":{"file_name":"src/schema.rs","byte_start":546364,"byte_end":546370,"line_start":857,"line_end":857,"column_start":5,"column_end":11},"name":"Struct","qualname":"::schema::NP_TypeKeys::Struct","value":"NP_TypeKeys::Struct","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3453},"span":{"file_name":"src/schema.rs","byte_start":546385,"byte_end":546388,"line_start":858,"line_end":858,"column_start":5,"column_end":8},"name":"Map","qualname":"::schema::NP_TypeKeys::Map","value":"NP_TypeKeys::Map","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3456},"span":{"file_name":"src/schema.rs","byte_start":546407,"byte_end":546411,"line_start":859,"line_end":859,"column_start":5,"column_end":9},"name":"List","qualname":"::schema::NP_TypeKeys::List","value":"NP_TypeKeys::List","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3459},"span":{"file_name":"src/schema.rs","byte_start":546428,"byte_end":546433,"line_start":860,"line_end":860,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::schema::NP_TypeKeys::Tuple","value":"NP_TypeKeys::Tuple","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3462},"span":{"file_name":"src/schema.rs","byte_start":546449,"byte_end":546455,"line_start":861,"line_end":861,"column_start":5,"column_end":11},"name":"Portal","qualname":"::schema::NP_TypeKeys::Portal","value":"NP_TypeKeys::Portal","parent":{"krate":0,"index":3386},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3386},"span":{"file_name":"src/schema.rs","byte_start":545905,"byte_end":545916,"line_start":835,"line_end":835,"column_start":10,"column_end":21},"name":"NP_TypeKeys","qualname":"::schema::NP_TypeKeys","value":"pub enum NP_TypeKeys {\n None = ,\n Any = ,\n UTF8String = ,\n Bytes = ,\n Int8 = ,\n Int16 = ,\n Int32 = ,\n Int64 = ,\n Uint8 = ,\n Uint16 = ,\n Uint32 = ,\n Uint64 = ,\n Float = ,\n Double = ,\n Decimal = ,\n Boolean = ,\n Geo = ,\n Uuid = ,\n Ulid = ,\n Date = ,\n Enum = ,\n Struct = ,\n Map = ,\n List = ,\n Tuple = ,\n Portal = ,\n}","parent":null,"children":[{"krate":0,"index":3387},{"krate":0,"index":3390},{"krate":0,"index":3393},{"krate":0,"index":3396},{"krate":0,"index":3399},{"krate":0,"index":3402},{"krate":0,"index":3405},{"krate":0,"index":3408},{"krate":0,"index":3411},{"krate":0,"index":3414},{"krate":0,"index":3417},{"krate":0,"index":3420},{"krate":0,"index":3423},{"krate":0,"index":3426},{"krate":0,"index":3429},{"krate":0,"index":3432},{"krate":0,"index":3435},{"krate":0,"index":3438},{"krate":0,"index":3441},{"krate":0,"index":3444},{"krate":0,"index":3447},{"krate":0,"index":3450},{"krate":0,"index":3453},{"krate":0,"index":3456},{"krate":0,"index":3459},{"krate":0,"index":3462}],"decl_id":null,"docs":" Simple enum to store the schema types\n","sig":null,"attributes":[{"value":"/ Simple enum to store the schema types","span":{"file_name":"src/schema.rs","byte_start":545774,"byte_end":545815,"line_start":831,"line_end":831,"column_start":1,"column_end":42}},{"value":"repr(u8)","span":{"file_name":"src/schema.rs","byte_start":545861,"byte_end":545872,"line_start":833,"line_end":833,"column_start":1,"column_end":12}},{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":545873,"byte_end":545895,"line_start":834,"line_end":834,"column_start":1,"column_end":23}}]},{"kind":"Local","id":{"krate":0,"index":1073744275},"span":{"file_name":"src/schema.rs","byte_start":546536,"byte_end":546541,"line_start":866,"line_end":866,"column_start":13,"column_end":18},"name":"value","qualname":"::from::value","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2451},"span":{"file_name":"src/schema.rs","byte_start":546531,"byte_end":546535,"line_start":866,"line_end":866,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(u8) -> Self","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744277},"span":{"file_name":"src/schema.rs","byte_start":546775,"byte_end":546779,"line_start":874,"line_end":874,"column_start":33,"column_end":37},"name":"self","qualname":"::into_type_idx::self","value":"&schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2453},"span":{"file_name":"src/schema.rs","byte_start":546754,"byte_end":546767,"line_start":874,"line_end":874,"column_start":12,"column_end":25},"name":"into_type_idx","qualname":"::into_type_idx","value":"pub fn into_type_idx<'idx>(&Self) -> (&'idx str, NP_TypeKeys)","parent":null,"children":[],"decl_id":null,"docs":" Convert this NP_TypeKey into a specific type index\n","sig":null,"attributes":[{"value":"/ Convert this NP_TypeKey into a specific type index","span":{"file_name":"src/schema.rs","byte_start":546688,"byte_end":546742,"line_start":873,"line_end":873,"column_start":5,"column_end":59}}]},{"kind":"Type","id":{"krate":0,"index":2455},"span":{"file_name":"src/schema.rs","byte_start":548583,"byte_end":548597,"line_start":908,"line_end":908,"column_start":10,"column_end":24},"name":"NP_Schema_Addr","qualname":"::schema::NP_Schema_Addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" Schema Address (usize alias)\n","sig":null,"attributes":[{"value":"/ Schema Address (usize alias)","span":{"file_name":"src/schema.rs","byte_start":548526,"byte_end":548558,"line_start":906,"line_end":906,"column_start":1,"column_end":33}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3477},"span":{"file_name":"src/schema.rs","byte_start":548730,"byte_end":548734,"line_start":915,"line_end":915,"column_start":5,"column_end":9},"name":"None","qualname":"::schema::String_Case::None","value":"String_Case::None","parent":{"krate":0,"index":3476},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3480},"span":{"file_name":"src/schema.rs","byte_start":548744,"byte_end":548753,"line_start":916,"line_end":916,"column_start":5,"column_end":14},"name":"Lowercase","qualname":"::schema::String_Case::Lowercase","value":"String_Case::Lowercase","parent":{"krate":0,"index":3476},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3483},"span":{"file_name":"src/schema.rs","byte_start":548763,"byte_end":548772,"line_start":917,"line_end":917,"column_start":5,"column_end":14},"name":"Uppercase","qualname":"::schema::String_Case::Uppercase","value":"String_Case::Uppercase","parent":{"krate":0,"index":3476},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3476},"span":{"file_name":"src/schema.rs","byte_start":548712,"byte_end":548723,"line_start":914,"line_end":914,"column_start":10,"column_end":21},"name":"String_Case","qualname":"::schema::String_Case","value":"pub enum String_Case { None = , Lowercase = , Uppercase = , }","parent":null,"children":[{"krate":0,"index":3477},{"krate":0,"index":3480},{"krate":0,"index":3483}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(u8)","span":{"file_name":"src/schema.rs","byte_start":548653,"byte_end":548664,"line_start":911,"line_end":911,"column_start":1,"column_end":12}},{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":548680,"byte_end":548702,"line_start":913,"line_end":913,"column_start":1,"column_end":23}}]},{"kind":"Local","id":{"krate":0,"index":1073744281},"span":{"file_name":"src/schema.rs","byte_start":548825,"byte_end":548830,"line_start":921,"line_end":921,"column_start":13,"column_end":18},"name":"value","qualname":"::from::value","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2457},"span":{"file_name":"src/schema.rs","byte_start":548820,"byte_end":548824,"line_start":921,"line_end":921,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(u8) -> Self","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3498},"span":{"file_name":"src/schema.rs","byte_start":549065,"byte_end":549072,"line_start":931,"line_end":931,"column_start":5,"column_end":12},"name":"Pointer","qualname":"::schema::NP_Value_Kind::Pointer","value":"NP_Value_Kind::Pointer","parent":{"krate":0,"index":3497},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3500},"span":{"file_name":"src/schema.rs","byte_start":549078,"byte_end":549083,"line_start":932,"line_end":932,"column_start":5,"column_end":10},"name":"Fixed","qualname":"::schema::NP_Value_Kind::Fixed","value":"NP_Value_Kind::Fixed(u32)","parent":{"krate":0,"index":3497},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3502},"span":{"file_name":"src/schema.rs","byte_start":549084,"byte_end":549087,"line_start":932,"line_end":932,"column_start":11,"column_end":14},"name":"0","qualname":"::schema::NP_Value_Kind::Fixed::0","value":"u32","parent":{"krate":0,"index":3500},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3497},"span":{"file_name":"src/schema.rs","byte_start":549045,"byte_end":549058,"line_start":930,"line_end":930,"column_start":10,"column_end":23},"name":"NP_Value_Kind","qualname":"::schema::NP_Value_Kind","value":"pub enum NP_Value_Kind { Pointer, Fixed(u32), }","parent":null,"children":[{"krate":0,"index":3498},{"krate":0,"index":3500}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549013,"byte_end":549035,"line_start":929,"line_end":929,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":3515},"span":{"file_name":"src/schema.rs","byte_start":549176,"byte_end":549191,"line_start":938,"line_end":938,"column_start":12,"column_end":27},"name":"NP_Struct_Field","qualname":"::schema::NP_Struct_Field","value":"NP_Struct_Field { idx, col, schema, offset }","parent":null,"children":[{"krate":0,"index":3516},{"krate":0,"index":3517},{"krate":0,"index":3518},{"krate":0,"index":3519}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549092,"byte_end":549114,"line_start":935,"line_end":935,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3516},"span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"name":"idx","qualname":"::schema::NP_Struct_Field::idx","value":"u8","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3517},"span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"name":"col","qualname":"::schema::NP_Struct_Field::col","value":"alloc::string::String","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3518},"span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Struct_Field::schema","value":"usize","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3519},"span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"name":"offset","qualname":"::schema::NP_Struct_Field::offset","value":"usize","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3528},"span":{"file_name":"src/schema.rs","byte_start":549364,"byte_end":549378,"line_start":948,"line_end":948,"column_start":12,"column_end":26},"name":"NP_Tuple_Field","qualname":"::schema::NP_Tuple_Field","value":"NP_Tuple_Field { schema, fixed, size, offset }","parent":null,"children":[{"krate":0,"index":3529},{"krate":0,"index":3530},{"krate":0,"index":3531},{"krate":0,"index":3532}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549280,"byte_end":549302,"line_start":945,"line_end":945,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3529},"span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Tuple_Field::schema","value":"usize","parent":{"krate":0,"index":3528},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3530},"span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"name":"fixed","qualname":"::schema::NP_Tuple_Field::fixed","value":"bool","parent":{"krate":0,"index":3528},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3531},"span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Tuple_Field::size","value":"usize","parent":{"krate":0,"index":3528},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3532},"span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"name":"offset","qualname":"::schema::NP_Tuple_Field::offset","value":"usize","parent":{"krate":0,"index":3528},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":2458},"span":{"file_name":"src/schema.rs","byte_start":549520,"byte_end":549524,"line_start":957,"line_end":957,"column_start":12,"column_end":16},"name":"NULL","qualname":"::schema::NULL","value":"fn() -> *const u8","parent":null,"children":[],"decl_id":null,"docs":" NULL pointer value\n","sig":null,"attributes":[{"value":"/ NULL pointer value","span":{"file_name":"src/schema.rs","byte_start":549471,"byte_end":549493,"line_start":955,"line_end":955,"column_start":1,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3542},"span":{"file_name":"src/schema.rs","byte_start":549669,"byte_end":549673,"line_start":964,"line_end":964,"column_start":5,"column_end":9},"name":"TRUE","qualname":"::schema::NP_Schema_Property::TRUE","value":"NP_Schema_Property::TRUE","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3544},"span":{"file_name":"src/schema.rs","byte_start":549679,"byte_end":549684,"line_start":965,"line_end":965,"column_start":5,"column_end":10},"name":"FALSE","qualname":"::schema::NP_Schema_Property::FALSE","value":"NP_Schema_Property::FALSE","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3546},"span":{"file_name":"src/schema.rs","byte_start":549690,"byte_end":549696,"line_start":966,"line_end":966,"column_start":5,"column_end":11},"name":"NUMBER","qualname":"::schema::NP_Schema_Property::NUMBER","value":"NP_Schema_Property::NUMBER { source }","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3547},"span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"name":"source","qualname":"::schema::NP_Schema_Property::NUMBER::source","value":"alloc::string::String","parent":{"krate":0,"index":3546},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3548},"span":{"file_name":"src/schema.rs","byte_start":549721,"byte_end":549727,"line_start":967,"line_end":967,"column_start":5,"column_end":11},"name":"STRING","qualname":"::schema::NP_Schema_Property::STRING","value":"NP_Schema_Property::STRING { source }","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3549},"span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"name":"source","qualname":"::schema::NP_Schema_Property::STRING::source","value":"alloc::string::String","parent":{"krate":0,"index":3548},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3550},"span":{"file_name":"src/schema.rs","byte_start":549752,"byte_end":549757,"line_start":968,"line_end":968,"column_start":5,"column_end":10},"name":"TOKEN","qualname":"::schema::NP_Schema_Property::TOKEN","value":"NP_Schema_Property::TOKEN { source }","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3551},"span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"name":"source","qualname":"::schema::NP_Schema_Property::TOKEN::source","value":"alloc::string::String","parent":{"krate":0,"index":3550},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3552},"span":{"file_name":"src/schema.rs","byte_start":549782,"byte_end":549786,"line_start":969,"line_end":969,"column_start":5,"column_end":9},"name":"LIST","qualname":"::schema::NP_Schema_Property::LIST","value":"NP_Schema_Property::LIST { items }","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3553},"span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"name":"items","qualname":"::schema::NP_Schema_Property::LIST::items","value":"alloc::vec::Vec","parent":{"krate":0,"index":3552},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3554},"span":{"file_name":"src/schema.rs","byte_start":549827,"byte_end":549830,"line_start":970,"line_end":970,"column_start":5,"column_end":8},"name":"MAP","qualname":"::schema::NP_Schema_Property::MAP","value":"NP_Schema_Property::MAP { items }","parent":{"krate":0,"index":3541},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3555},"span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"name":"items","qualname":"::schema::NP_Schema_Property::MAP::items","value":"hashmap::NP_HashMap","parent":{"krate":0,"index":3554},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3541},"span":{"file_name":"src/schema.rs","byte_start":549644,"byte_end":549662,"line_start":963,"line_end":963,"column_start":10,"column_end":28},"name":"NP_Schema_Property","qualname":"::schema::NP_Schema_Property","value":"pub enum NP_Schema_Property {\n TRUE,\n FALSE,\n NUMBER {\n source: String,\n },\n STRING {\n source: String,\n },\n TOKEN {\n source: String,\n },\n LIST {\n items: Vec,\n },\n MAP {\n items: NP_HashMap,\n },\n}","parent":null,"children":[{"krate":0,"index":3542},{"krate":0,"index":3544},{"krate":0,"index":3546},{"krate":0,"index":3548},{"krate":0,"index":3550},{"krate":0,"index":3552},{"krate":0,"index":3554}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549573,"byte_end":549595,"line_start":960,"line_end":960,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":3560},"span":{"file_name":"src/schema.rs","byte_start":549949,"byte_end":549965,"line_start":976,"line_end":976,"column_start":12,"column_end":28},"name":"NP_Parsed_Schema","qualname":"::schema::NP_Parsed_Schema","value":"NP_Parsed_Schema { val, i, sortable, generics, all_props, data }","parent":null,"children":[{"krate":0,"index":3561},{"krate":0,"index":3562},{"krate":0,"index":3563},{"krate":0,"index":3564},{"krate":0,"index":3565},{"krate":0,"index":3566}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549876,"byte_end":549898,"line_start":973,"line_end":973,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3561},"span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"name":"val","qualname":"::schema::NP_Parsed_Schema::val","value":"schema::NP_Value_Kind","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3562},"span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"name":"i","qualname":"::schema::NP_Parsed_Schema::i","value":"schema::NP_TypeKeys","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3563},"span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"name":"sortable","qualname":"::schema::NP_Parsed_Schema::sortable","value":"bool","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3564},"span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"name":"generics","qualname":"::schema::NP_Parsed_Schema::generics","value":"alloc::vec::Vec","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3565},"span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"name":"all_props","qualname":"::schema::NP_Parsed_Schema::all_props","value":"hashmap::NP_HashMap","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3566},"span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"name":"data","qualname":"::schema::NP_Parsed_Schema::data","value":"alloc::sync::Arc<*const u8>","parent":{"krate":0,"index":3560},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2463},"span":{"file_name":"src/schema.rs","byte_start":550304,"byte_end":550311,"line_start":989,"line_end":989,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3571},"span":{"file_name":"src/schema.rs","byte_start":550646,"byte_end":550656,"line_start":1004,"line_end":1004,"column_start":12,"column_end":22},"name":"NP_u8_Data","qualname":"::schema::NP_u8_Data","value":"NP_u8_Data { default }","parent":null,"children":[{"krate":0,"index":3572}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550573,"byte_end":550595,"line_start":1001,"line_end":1001,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3572},"span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u8_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3577},"span":{"file_name":"src/schema.rs","byte_start":550763,"byte_end":550774,"line_start":1011,"line_end":1011,"column_start":12,"column_end":23},"name":"NP_u16_Data","qualname":"::schema::NP_u16_Data","value":"NP_u16_Data { default }","parent":null,"children":[{"krate":0,"index":3578}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550690,"byte_end":550712,"line_start":1008,"line_end":1008,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3578},"span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u16_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3577},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3583},"span":{"file_name":"src/schema.rs","byte_start":550882,"byte_end":550893,"line_start":1018,"line_end":1018,"column_start":12,"column_end":23},"name":"NP_u32_Data","qualname":"::schema::NP_u32_Data","value":"NP_u32_Data { default }","parent":null,"children":[{"krate":0,"index":3584}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550809,"byte_end":550831,"line_start":1015,"line_end":1015,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3584},"span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3583},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3589},"span":{"file_name":"src/schema.rs","byte_start":551001,"byte_end":551012,"line_start":1025,"line_end":1025,"column_start":12,"column_end":23},"name":"NP_u64_Data","qualname":"::schema::NP_u64_Data","value":"NP_u64_Data { default }","parent":null,"children":[{"krate":0,"index":3590}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550928,"byte_end":550950,"line_start":1022,"line_end":1022,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3590},"span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3589},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3595},"span":{"file_name":"src/schema.rs","byte_start":551120,"byte_end":551130,"line_start":1032,"line_end":1032,"column_start":12,"column_end":22},"name":"NP_i8_Data","qualname":"::schema::NP_i8_Data","value":"NP_i8_Data { default }","parent":null,"children":[{"krate":0,"index":3596}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551047,"byte_end":551069,"line_start":1029,"line_end":1029,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3596},"span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i8_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3595},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3601},"span":{"file_name":"src/schema.rs","byte_start":551237,"byte_end":551248,"line_start":1039,"line_end":1039,"column_start":12,"column_end":23},"name":"NP_i16_Data","qualname":"::schema::NP_i16_Data","value":"NP_i16_Data { default }","parent":null,"children":[{"krate":0,"index":3602}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551164,"byte_end":551186,"line_start":1036,"line_end":1036,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3602},"span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i16_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3601},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3607},"span":{"file_name":"src/schema.rs","byte_start":551356,"byte_end":551367,"line_start":1046,"line_end":1046,"column_start":12,"column_end":23},"name":"NP_i32_Data","qualname":"::schema::NP_i32_Data","value":"NP_i32_Data { default }","parent":null,"children":[{"krate":0,"index":3608}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551283,"byte_end":551305,"line_start":1043,"line_end":1043,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3608},"span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3607},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3613},"span":{"file_name":"src/schema.rs","byte_start":551475,"byte_end":551486,"line_start":1053,"line_end":1053,"column_start":12,"column_end":23},"name":"NP_i64_Data","qualname":"::schema::NP_i64_Data","value":"NP_i64_Data { default }","parent":null,"children":[{"krate":0,"index":3614}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551402,"byte_end":551424,"line_start":1050,"line_end":1050,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3614},"span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3613},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3619},"span":{"file_name":"src/schema.rs","byte_start":551594,"byte_end":551605,"line_start":1060,"line_end":1060,"column_start":12,"column_end":23},"name":"NP_f32_Data","qualname":"::schema::NP_f32_Data","value":"NP_f32_Data { default }","parent":null,"children":[{"krate":0,"index":3620}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551521,"byte_end":551543,"line_start":1057,"line_end":1057,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3620},"span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_f32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3619},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3625},"span":{"file_name":"src/schema.rs","byte_start":551713,"byte_end":551724,"line_start":1067,"line_end":1067,"column_start":12,"column_end":23},"name":"NP_f64_Data","qualname":"::schema::NP_f64_Data","value":"NP_f64_Data { default }","parent":null,"children":[{"krate":0,"index":3626}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551640,"byte_end":551662,"line_start":1064,"line_end":1064,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3626},"span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_f64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3625},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3631},"span":{"file_name":"src/schema.rs","byte_start":551832,"byte_end":551844,"line_start":1074,"line_end":1074,"column_start":12,"column_end":24},"name":"NP_Bool_Data","qualname":"::schema::NP_Bool_Data","value":"NP_Bool_Data { default }","parent":null,"children":[{"krate":0,"index":3632}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551759,"byte_end":551781,"line_start":1071,"line_end":1071,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3632},"span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Bool_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3631},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3637},"span":{"file_name":"src/schema.rs","byte_start":551953,"byte_end":551967,"line_start":1081,"line_end":1081,"column_start":12,"column_end":26},"name":"NP_String_Data","qualname":"::schema::NP_String_Data","value":"NP_String_Data { default, size, case, empty }","parent":null,"children":[{"krate":0,"index":3638},{"krate":0,"index":3639},{"krate":0,"index":3640},{"krate":0,"index":3641}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551880,"byte_end":551902,"line_start":1078,"line_end":1078,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3638},"span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_String_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3639},"span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_String_Data::size","value":"u32","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3640},"span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"name":"case","qualname":"::schema::NP_String_Data::case","value":"schema::String_Case","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3641},"span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_String_Data::empty","value":"alloc::vec::Vec","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3646},"span":{"file_name":"src/schema.rs","byte_start":552148,"byte_end":552161,"line_start":1091,"line_end":1091,"column_start":12,"column_end":25},"name":"NP_Bytes_Data","qualname":"::schema::NP_Bytes_Data","value":"NP_Bytes_Data { default, size }","parent":null,"children":[{"krate":0,"index":3647},{"krate":0,"index":3648}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552075,"byte_end":552097,"line_start":1088,"line_end":1088,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3647},"span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Bytes_Data::default","value":"core::option::Option>","parent":{"krate":0,"index":3646},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3648},"span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Bytes_Data::size","value":"u32","parent":{"krate":0,"index":3646},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3653},"span":{"file_name":"src/schema.rs","byte_start":552292,"byte_end":552303,"line_start":1099,"line_end":1099,"column_start":12,"column_end":23},"name":"NP_Geo_Data","qualname":"::schema::NP_Geo_Data","value":"NP_Geo_Data { default, size }","parent":null,"children":[{"krate":0,"index":3654},{"krate":0,"index":3655}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552219,"byte_end":552241,"line_start":1096,"line_end":1096,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3654},"span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Geo_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3653},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3655},"span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Geo_Data::size","value":"u8","parent":{"krate":0,"index":3653},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3660},"span":{"file_name":"src/schema.rs","byte_start":552433,"byte_end":552444,"line_start":1107,"line_end":1107,"column_start":12,"column_end":23},"name":"NP_Dec_Data","qualname":"::schema::NP_Dec_Data","value":"NP_Dec_Data { default, exp }","parent":null,"children":[{"krate":0,"index":3661},{"krate":0,"index":3662}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552360,"byte_end":552382,"line_start":1104,"line_end":1104,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3661},"span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Dec_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3660},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3662},"span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"name":"exp","qualname":"::schema::NP_Dec_Data::exp","value":"u8","parent":{"krate":0,"index":3660},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3667},"span":{"file_name":"src/schema.rs","byte_start":552572,"byte_end":552584,"line_start":1115,"line_end":1115,"column_start":12,"column_end":24},"name":"NP_Enum_Data","qualname":"::schema::NP_Enum_Data","value":"NP_Enum_Data { default, choices }","parent":null,"children":[{"krate":0,"index":3668},{"krate":0,"index":3669}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552499,"byte_end":552521,"line_start":1112,"line_end":1112,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3668},"span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Enum_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3667},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3669},"span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"name":"choices","qualname":"::schema::NP_Enum_Data::choices","value":"alloc::vec::Vec","parent":{"krate":0,"index":3667},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3674},"span":{"file_name":"src/schema.rs","byte_start":552727,"byte_end":552741,"line_start":1123,"line_end":1123,"column_start":12,"column_end":26},"name":"NP_Struct_Data","qualname":"::schema::NP_Struct_Data","value":"NP_Struct_Data { fields, empty }","parent":null,"children":[{"krate":0,"index":3675},{"krate":0,"index":3676}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552654,"byte_end":552676,"line_start":1120,"line_end":1120,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3675},"span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"name":"fields","qualname":"::schema::NP_Struct_Data::fields","value":"alloc::vec::Vec","parent":{"krate":0,"index":3674},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3676},"span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_Struct_Data::empty","value":"alloc::vec::Vec","parent":{"krate":0,"index":3674},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3681},"span":{"file_name":"src/schema.rs","byte_start":552882,"byte_end":552898,"line_start":1131,"line_end":1131,"column_start":12,"column_end":28},"name":"NP_Map_List_Data","qualname":"::schema::NP_Map_List_Data","value":"NP_Map_List_Data { child }","parent":null,"children":[{"krate":0,"index":3682}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552809,"byte_end":552831,"line_start":1128,"line_end":1128,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3682},"span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"name":"child","qualname":"::schema::NP_Map_List_Data::child","value":"usize","parent":{"krate":0,"index":3681},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3687},"span":{"file_name":"src/schema.rs","byte_start":552998,"byte_end":553011,"line_start":1138,"line_end":1138,"column_start":12,"column_end":25},"name":"NP_Tuple_Data","qualname":"::schema::NP_Tuple_Data","value":"NP_Tuple_Data { values, empty }","parent":null,"children":[{"krate":0,"index":3688},{"krate":0,"index":3689}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552925,"byte_end":552947,"line_start":1135,"line_end":1135,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3688},"span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"name":"values","qualname":"::schema::NP_Tuple_Data::values","value":"alloc::vec::Vec","parent":{"krate":0,"index":3687},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3689},"span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_Tuple_Data::empty","value":"alloc::vec::Vec","parent":{"krate":0,"index":3687},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3694},"span":{"file_name":"src/schema.rs","byte_start":553151,"byte_end":553165,"line_start":1146,"line_end":1146,"column_start":12,"column_end":26},"name":"NP_Portal_Data","qualname":"::schema::NP_Portal_Data","value":"NP_Portal_Data { path, schema, parent_schema }","parent":null,"children":[{"krate":0,"index":3695},{"krate":0,"index":3696},{"krate":0,"index":3697}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":553078,"byte_end":553100,"line_start":1143,"line_end":1143,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3695},"span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"name":"path","qualname":"::schema::NP_Portal_Data::path","value":"alloc::string::String","parent":{"krate":0,"index":3694},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3696},"span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Portal_Data::schema","value":"usize","parent":{"krate":0,"index":3694},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3697},"span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"name":"parent_schema","qualname":"::schema::NP_Portal_Data::parent_schema","value":"usize","parent":{"krate":0,"index":3694},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744289},"span":{"file_name":"src/schema.rs","byte_start":553297,"byte_end":553301,"line_start":1153,"line_end":1153,"column_start":18,"column_end":22},"name":"self","qualname":"::drop::self","value":"&mut schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2465},"span":{"file_name":"src/schema.rs","byte_start":553287,"byte_end":553291,"line_start":1153,"line_end":1153,"column_start":8,"column_end":12},"name":"drop","qualname":"::drop","value":"fn drop(&mut Self)","parent":{"krate":1,"index":3266},"children":[],"decl_id":{"krate":1,"index":3267},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3702},"span":{"file_name":"src/schema.rs","byte_start":558765,"byte_end":558774,"line_start":1279,"line_end":1279,"column_start":12,"column_end":21},"name":"NP_Schema","qualname":"::schema::NP_Schema","value":"NP_Schema { is_sortable, parsed }","parent":null,"children":[{"krate":0,"index":3703},{"krate":0,"index":3704}],"decl_id":null,"docs":" New NP Schema\n","sig":null,"attributes":[{"value":"/ New NP Schema","span":{"file_name":"src/schema.rs","byte_start":558697,"byte_end":558714,"line_start":1276,"line_end":1276,"column_start":1,"column_end":18}}]},{"kind":"Field","id":{"krate":0,"index":3703},"span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"name":"is_sortable","qualname":"::schema::NP_Schema::is_sortable","value":"bool","parent":{"krate":0,"index":3702},"children":[],"decl_id":null,"docs":" is this schema sortable?\n","sig":null,"attributes":[{"value":"/ is this schema sortable?","span":{"file_name":"src/schema.rs","byte_start":558781,"byte_end":558809,"line_start":1280,"line_end":1280,"column_start":5,"column_end":33}}]},{"kind":"Field","id":{"krate":0,"index":3704},"span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"name":"parsed","qualname":"::schema::NP_Schema::parsed","value":"alloc::vec::Vec","parent":{"krate":0,"index":3702},"children":[],"decl_id":null,"docs":" recursive parsed schema\n","sig":null,"attributes":[{"value":"/ recursive parsed schema","span":{"file_name":"src/schema.rs","byte_start":558841,"byte_end":558868,"line_start":1282,"line_end":1282,"column_start":5,"column_end":32}}]},{"kind":"Local","id":{"krate":0,"index":1073744291},"span":{"file_name":"src/schema.rs","byte_start":558997,"byte_end":559001,"line_start":1290,"line_end":1290,"column_start":20,"column_end":24},"name":"self","qualname":"::to_idl::self","value":"&schema::NP_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2467},"span":{"file_name":"src/schema.rs","byte_start":558989,"byte_end":558995,"line_start":1290,"line_end":1290,"column_start":12,"column_end":18},"name":"to_idl","qualname":"::to_idl","value":"pub fn to_idl(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get a IDL represenatation of this schema\n","sig":null,"attributes":[{"value":"/ Get a IDL represenatation of this schema","span":{"file_name":"src/schema.rs","byte_start":558933,"byte_end":558977,"line_start":1289,"line_end":1289,"column_start":5,"column_end":49}}]},{"kind":"Local","id":{"krate":0,"index":1073744292},"span":{"file_name":"src/schema.rs","byte_start":559181,"byte_end":559194,"line_start":1296,"line_end":1296,"column_start":25,"column_end":38},"name":"parsed_schema","qualname":"::_type_to_idl::parsed_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873380},"span":{"file_name":"src/schema.rs","byte_start":559220,"byte_end":559227,"line_start":1296,"line_end":1296,"column_start":64,"column_end":71},"name":"address","qualname":"::_type_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2468},"span":{"file_name":"src/schema.rs","byte_start":559168,"byte_end":559180,"line_start":1296,"line_end":1296,"column_start":12,"column_end":24},"name":"_type_to_idl","qualname":"::_type_to_idl","value":"pub fn _type_to_idl(&Vec, usize) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursive function parse schema into IDL\n","sig":null,"attributes":[{"value":"/ Recursive function parse schema into IDL","span":{"file_name":"src/schema.rs","byte_start":559093,"byte_end":559137,"line_start":1294,"line_end":1294,"column_start":5,"column_end":49}}]},{"kind":"Local","id":{"krate":0,"index":1073744293},"span":{"file_name":"src/schema.rs","byte_start":561910,"byte_end":561914,"line_start":1329,"line_end":1329,"column_start":21,"column_end":25},"name":"self","qualname":"::to_json::self","value":"&schema::NP_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2469},"span":{"file_name":"src/schema.rs","byte_start":561901,"byte_end":561908,"line_start":1329,"line_end":1329,"column_start":12,"column_end":19},"name":"to_json","qualname":"::to_json","value":"pub fn to_json(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get a JSON represenatation of this schema\n","sig":null,"attributes":[{"value":"/ Get a JSON represenatation of this schema","span":{"file_name":"src/schema.rs","byte_start":561844,"byte_end":561889,"line_start":1328,"line_end":1328,"column_start":5,"column_end":50}}]},{"kind":"Local","id":{"krate":0,"index":1073744294},"span":{"file_name":"src/schema.rs","byte_start":562098,"byte_end":562111,"line_start":1335,"line_end":1335,"column_start":26,"column_end":39},"name":"parsed_schema","qualname":"::_type_to_json::parsed_schema","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873382},"span":{"file_name":"src/schema.rs","byte_start":562137,"byte_end":562144,"line_start":1335,"line_end":1335,"column_start":65,"column_end":72},"name":"address","qualname":"::_type_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2470},"span":{"file_name":"src/schema.rs","byte_start":562084,"byte_end":562097,"line_start":1335,"line_end":1335,"column_start":12,"column_end":25},"name":"_type_to_json","qualname":"::_type_to_json","value":"pub fn _type_to_json(&Vec, usize)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursive function parse schema into JSON\n","sig":null,"attributes":[{"value":"/ Recursive function parse schema into JSON","span":{"file_name":"src/schema.rs","byte_start":562008,"byte_end":562053,"line_start":1333,"line_end":1333,"column_start":5,"column_end":50}}]},{"kind":"Local","id":{"krate":0,"index":1073744295},"span":{"file_name":"src/schema.rs","byte_start":564861,"byte_end":564872,"line_start":1369,"line_end":1369,"column_start":22,"column_end":33},"name":"json_schema","qualname":"::_get_type::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2471},"span":{"file_name":"src/schema.rs","byte_start":564851,"byte_end":564860,"line_start":1369,"line_end":1369,"column_start":12,"column_end":21},"name":"_get_type","qualname":"::_get_type","value":"pub fn _get_type(&Box) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get type string for this schema\n","sig":null,"attributes":[{"value":"/ Get type string for this schema","span":{"file_name":"src/schema.rs","byte_start":564785,"byte_end":564820,"line_start":1367,"line_end":1367,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":1342179751},"span":{"file_name":"src/schema.rs","byte_start":564984,"byte_end":564985,"line_start":1371,"line_end":1371,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:2471 ~ no_proto[2d88]::schema::{impl#7}::_get_type), local_id: 10 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744296},"span":{"file_name":"src/schema.rs","byte_start":567024,"byte_end":567030,"line_start":1422,"line_end":1422,"column_start":21,"column_end":27},"name":"parsed","qualname":"::from_idl::parsed","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873384},"span":{"file_name":"src/schema.rs","byte_start":567055,"byte_end":567058,"line_start":1422,"line_end":1422,"column_start":52,"column_end":55},"name":"idl","qualname":"::from_idl::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615208},"span":{"file_name":"src/schema.rs","byte_start":567072,"byte_end":567075,"line_start":1422,"line_end":1422,"column_start":69,"column_end":72},"name":"ast","qualname":"::from_idl::ast","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2472},"span":{"file_name":"src/schema.rs","byte_start":567015,"byte_end":567023,"line_start":1422,"line_end":1422,"column_start":12,"column_end":20},"name":"from_idl","qualname":"::from_idl","value":"pub fn from_idl(Vec, &JS_Schema, &JS_AST)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Scan the schema for portals and resolve their locations\n Generate a schema from a parsed IDL\n","sig":null,"attributes":[{"value":"/ Scan the schema for portals and resolve their locations","span":{"file_name":"src/schema.rs","byte_start":565166,"byte_end":565225,"line_start":1380,"line_end":1380,"column_start":5,"column_end":64}},{"value":"/ Generate a schema from a parsed IDL","span":{"file_name":"src/schema.rs","byte_start":566964,"byte_end":567003,"line_start":1421,"line_end":1421,"column_start":5,"column_end":44}}]},{"kind":"Local","id":{"krate":0,"index":805308840},"span":{"file_name":"src/schema.rs","byte_start":567206,"byte_end":567210,"line_start":1425,"line_end":1425,"column_start":30,"column_end":34},"name":"name","qualname":"name$HirId { owner: DefId(0:2472 ~ no_proto[2d88]::schema::{impl#7}::from_idl), local_id: 12 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050664},"span":{"file_name":"src/schema.rs","byte_start":567212,"byte_end":567216,"line_start":1425,"line_end":1425,"column_start":36,"column_end":40},"name":"args","qualname":"args$HirId { owner: DefId(0:2472 ~ no_proto[2d88]::schema::{impl#7}::from_idl), local_id: 14 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881128},"span":{"file_name":"src/schema.rs","byte_start":567244,"byte_end":567253,"line_start":1426,"line_end":1426,"column_start":21,"column_end":30},"name":"type_name","qualname":"type_name$HirId { owner: DefId(0:2472 ~ no_proto[2d88]::schema::{impl#7}::from_idl), local_id: 27 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":213911976},"span":{"file_name":"src/schema.rs","byte_start":571735,"byte_end":571742,"line_start":1474,"line_end":1474,"column_start":33,"column_end":40},"name":"err_msg","qualname":"err_msg$HirId { owner: DefId(0:2472 ~ no_proto[2d88]::schema::{impl#7}::from_idl), local_id: 816 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744297},"span":{"file_name":"src/schema.rs","byte_start":572139,"byte_end":572144,"line_start":1485,"line_end":1485,"column_start":27,"column_end":32},"name":"cache","qualname":"::from_bytes::cache","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873385},"span":{"file_name":"src/schema.rs","byte_start":572169,"byte_end":572176,"line_start":1485,"line_end":1485,"column_start":57,"column_end":64},"name":"address","qualname":"::from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615209},"span":{"file_name":"src/schema.rs","byte_start":572185,"byte_end":572190,"line_start":1485,"line_end":1485,"column_start":73,"column_end":78},"name":"bytes","qualname":"::from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2473},"span":{"file_name":"src/schema.rs","byte_start":572124,"byte_end":572134,"line_start":1485,"line_end":1485,"column_start":12,"column_end":22},"name":"from_bytes","qualname":"::from_bytes","value":"pub fn from_bytes(Vec, usize, &[u8])\n-> (bool, Vec)","parent":null,"children":[],"decl_id":null,"docs":" Parse a schema out of schema bytes\n","sig":null,"attributes":[{"value":"/ Parse a schema out of schema bytes","span":{"file_name":"src/schema.rs","byte_start":572074,"byte_end":572112,"line_start":1484,"line_end":1484,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":3355445673},"span":{"file_name":"src/schema.rs","byte_start":572246,"byte_end":572255,"line_start":1486,"line_end":1486,"column_start":13,"column_end":22},"name":"this_type","qualname":"this_type$HirId { owner: DefId(0:2473 ~ no_proto[2d88]::schema::{impl#7}::from_bytes), local_id: 19 }","value":"schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744298},"span":{"file_name":"src/schema.rs","byte_start":575365,"byte_end":575371,"line_start":1524,"line_end":1524,"column_start":22,"column_end":28},"name":"schema","qualname":"::from_json::schema","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873386},"span":{"file_name":"src/schema.rs","byte_start":575396,"byte_end":575407,"line_start":1524,"line_end":1524,"column_start":53,"column_end":64},"name":"json_schema","qualname":"::from_json::json_schema","value":"&alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2474},"span":{"file_name":"src/schema.rs","byte_start":575355,"byte_end":575364,"line_start":1524,"line_end":1524,"column_start":12,"column_end":21},"name":"from_json","qualname":"::from_json","value":"pub fn from_json(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Parse schema from JSON object\n \n Given a valid JSON schema, parse and validate, then provide a compiled byte schema.\n \n If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick.\n \n","sig":null,"attributes":[{"value":"/ Parse schema from JSON object","span":{"file_name":"src/schema.rs","byte_start":575070,"byte_end":575103,"line_start":1518,"line_end":1518,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575108,"byte_end":575112,"line_start":1519,"line_end":1519,"column_start":5,"column_end":9}},{"value":"/ Given a valid JSON schema, parse and validate, then provide a compiled byte schema.","span":{"file_name":"src/schema.rs","byte_start":575117,"byte_end":575204,"line_start":1520,"line_end":1520,"column_start":5,"column_end":92}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575209,"byte_end":575213,"line_start":1521,"line_end":1521,"column_start":5,"column_end":9}},{"value":"/ If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick.","span":{"file_name":"src/schema.rs","byte_start":575218,"byte_end":575334,"line_start":1522,"line_end":1522,"column_start":5,"column_end":121}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575339,"byte_end":575343,"line_start":1523,"line_end":1523,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308842},"span":{"file_name":"src/schema.rs","byte_start":575552,"byte_end":575553,"line_start":1527,"line_end":1527,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:2474 ~ no_proto[2d88]::schema::{impl#7}::from_json), local_id: 12 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1262487978},"span":{"file_name":"src/schema.rs","byte_start":579981,"byte_end":579988,"line_start":1577,"line_end":1577,"column_start":33,"column_end":40},"name":"err_msg","qualname":"err_msg$HirId { owner: DefId(0:2474 ~ no_proto[2d88]::schema::{impl#7}::from_json), local_id: 722 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2475},"span":{"file_name":"src/error.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"error","qualname":"::error","value":"src/error.rs","parent":null,"children":[{"krate":0,"index":2476},{"krate":0,"index":2479},{"krate":0,"index":2482},{"krate":0,"index":2485},{"krate":0,"index":3709},{"krate":0,"index":3720},{"krate":0,"index":2488},{"krate":0,"index":2493},{"krate":0,"index":2495},{"krate":0,"index":2497}],"decl_id":null,"docs":" Primary error type used by the library\n","sig":null,"attributes":[{"value":"/ Primary error type used by the library","span":{"file_name":"src/error.rs","byte_start":580379,"byte_end":580421,"line_start":1,"line_end":1,"column_start":1,"column_end":43}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3710},"span":{"file_name":"src/error.rs","byte_start":580658,"byte_end":580672,"line_start":12,"line_end":12,"column_start":5,"column_end":19},"name":"MemoryReadOnly","qualname":"::error::NP_Error::MemoryReadOnly","value":"NP_Error::MemoryReadOnly","parent":{"krate":0,"index":3709},"children":[],"decl_id":null,"docs":" Read only error\n","sig":null,"attributes":[{"value":"/ Read only error","span":{"file_name":"src/error.rs","byte_start":580634,"byte_end":580653,"line_start":11,"line_end":11,"column_start":5,"column_end":24}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3712},"span":{"file_name":"src/error.rs","byte_start":580738,"byte_end":580749,"line_start":14,"line_end":14,"column_start":5,"column_end":16},"name":"Unreachable","qualname":"::error::NP_Error::Unreachable","value":"NP_Error::Unreachable","parent":{"krate":0,"index":3709},"children":[],"decl_id":null,"docs":" Use this instead of unreachable! which causes panic\n","sig":null,"attributes":[{"value":"/ Use this instead of unreachable! which causes panic","span":{"file_name":"src/error.rs","byte_start":580678,"byte_end":580733,"line_start":13,"line_end":13,"column_start":5,"column_end":60}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3714},"span":{"file_name":"src/error.rs","byte_start":580780,"byte_end":580796,"line_start":16,"line_end":16,"column_start":5,"column_end":21},"name":"MemoryOutOfSpace","qualname":"::error::NP_Error::MemoryOutOfSpace","value":"NP_Error::MemoryOutOfSpace","parent":{"krate":0,"index":3709},"children":[],"decl_id":null,"docs":" Not Enough Space\n","sig":null,"attributes":[{"value":"/ Not Enough Space","span":{"file_name":"src/error.rs","byte_start":580755,"byte_end":580775,"line_start":15,"line_end":15,"column_start":5,"column_end":25}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3716},"span":{"file_name":"src/error.rs","byte_start":580835,"byte_end":580849,"line_start":18,"line_end":18,"column_start":5,"column_end":19},"name":"RecursionLimit","qualname":"::error::NP_Error::RecursionLimit","value":"NP_Error::RecursionLimit","parent":{"krate":0,"index":3709},"children":[],"decl_id":null,"docs":" Too many recursive calls\n","sig":null,"attributes":[{"value":"/ Too many recursive calls","span":{"file_name":"src/error.rs","byte_start":580802,"byte_end":580830,"line_start":17,"line_end":17,"column_start":5,"column_end":33}}]},{"kind":"StructVariant","id":{"krate":0,"index":3718},"span":{"file_name":"src/error.rs","byte_start":580884,"byte_end":580890,"line_start":20,"line_end":20,"column_start":5,"column_end":11},"name":"Custom","qualname":"::error::NP_Error::Custom","value":"NP_Error::Custom { message }","parent":{"krate":0,"index":3709},"children":[],"decl_id":null,"docs":" Custom error message\n","sig":null,"attributes":[{"value":"/ Custom error message","span":{"file_name":"src/error.rs","byte_start":580855,"byte_end":580879,"line_start":19,"line_end":19,"column_start":5,"column_end":29}}]},{"kind":"Field","id":{"krate":0,"index":3719},"span":{"file_name":"src/error.rs","byte_start":580928,"byte_end":580935,"line_start":22,"line_end":22,"column_start":9,"column_end":16},"name":"message","qualname":"::error::NP_Error::Custom::message","value":"alloc::string::String","parent":{"krate":0,"index":3718},"children":[],"decl_id":null,"docs":" Error message\n","sig":null,"attributes":[{"value":"/ Error message","span":{"file_name":"src/error.rs","byte_start":580902,"byte_end":580919,"line_start":21,"line_end":21,"column_start":9,"column_end":26}}]},{"kind":"Enum","id":{"krate":0,"index":3709},"span":{"file_name":"src/error.rs","byte_start":580619,"byte_end":580627,"line_start":10,"line_end":10,"column_start":10,"column_end":18},"name":"NP_Error","qualname":"::error::NP_Error","value":"pub enum NP_Error {\n MemoryReadOnly,\n Unreachable,\n MemoryOutOfSpace,\n RecursionLimit,\n Custom {\n message: String,\n },\n}","parent":null,"children":[{"krate":0,"index":3710},{"krate":0,"index":3712},{"krate":0,"index":3714},{"krate":0,"index":3716},{"krate":0,"index":3718}],"decl_id":null,"docs":" The error type used for errors in this library\n","sig":null,"attributes":[{"value":"/ The error type used for errors in this library","span":{"file_name":"src/error.rs","byte_start":580542,"byte_end":580592,"line_start":8,"line_end":8,"column_start":1,"column_end":51}}]},{"kind":"Local","id":{"krate":0,"index":1073744313},"span":{"file_name":"src/error.rs","byte_start":581053,"byte_end":581060,"line_start":28,"line_end":28,"column_start":31,"column_end":38},"name":"message","qualname":"::new::message","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2490},"span":{"file_name":"src/error.rs","byte_start":581038,"byte_end":581039,"line_start":28,"line_end":28,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:2489 ~ no_proto[2d88]::error::{impl#0}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2489},"span":{"file_name":"src/error.rs","byte_start":581034,"byte_end":581037,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new error with a specific message\n","sig":null,"attributes":[{"value":"/ Generate a new error with a specific message","span":{"file_name":"src/error.rs","byte_start":580974,"byte_end":581022,"line_start":27,"line_end":27,"column_start":5,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":1073744315},"span":{"file_name":"src/error.rs","byte_start":581211,"byte_end":581216,"line_start":32,"line_end":32,"column_start":22,"column_end":27},"name":"value","qualname":"::unwrap::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2492},"span":{"file_name":"src/error.rs","byte_start":581208,"byte_end":581209,"line_start":32,"line_end":32,"column_start":19,"column_end":20},"name":"T","qualname":"::unwrap::T$HirId { owner: DefId(0:2491 ~ no_proto[2d88]::error::{impl#0}::unwrap), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2491},"span":{"file_name":"src/error.rs","byte_start":581201,"byte_end":581207,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"name":"unwrap","qualname":"::unwrap","value":"pub fn unwrap(Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Convert an option to an error type\n","sig":null,"attributes":[{"value":"/ Convert an option to an error type","span":{"file_name":"src/error.rs","byte_start":581151,"byte_end":581189,"line_start":31,"line_end":31,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":1610615227},"span":{"file_name":"src/error.rs","byte_start":581293,"byte_end":581294,"line_start":34,"line_end":34,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2491 ~ no_proto[2d88]::error::{impl#0}::unwrap), local_id: 6 }","value":"T","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744318},"span":{"file_name":"src/error.rs","byte_start":581444,"byte_end":581447,"line_start":41,"line_end":41,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"alloc::string::FromUtf8Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2494},"span":{"file_name":"src/error.rs","byte_start":581439,"byte_end":581443,"line_start":41,"line_end":41,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(FromUtf8Error) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744320},"span":{"file_name":"src/error.rs","byte_start":581600,"byte_end":581603,"line_start":47,"line_end":47,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2496},"span":{"file_name":"src/error.rs","byte_start":581595,"byte_end":581599,"line_start":47,"line_end":47,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(core::num::ParseFloatError) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744322},"span":{"file_name":"src/error.rs","byte_start":581767,"byte_end":581770,"line_start":53,"line_end":53,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2498},"span":{"file_name":"src/error.rs","byte_start":581762,"byte_end":581766,"line_start":53,"line_end":53,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(core::num::ParseIntError) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2499},"span":{"file_name":"src/json_flex.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"json_flex","qualname":"::json_flex","value":"src/json_flex.rs","parent":null,"children":[{"krate":0,"index":2500},{"krate":0,"index":2503},{"krate":0,"index":2506},{"krate":0,"index":2509},{"krate":0,"index":2512},{"krate":0,"index":2515},{"krate":0,"index":2518},{"krate":0,"index":2521},{"krate":0,"index":2522},{"krate":0,"index":3722},{"krate":0,"index":3724},{"krate":0,"index":3726},{"krate":0,"index":3728},{"krate":0,"index":3729},{"krate":0,"index":2525},{"krate":0,"index":3732},{"krate":0,"index":3754},{"krate":0,"index":3756},{"krate":0,"index":3758},{"krate":0,"index":3759},{"krate":0,"index":2531},{"krate":0,"index":2552},{"krate":0,"index":2556},{"krate":0,"index":2560},{"krate":0,"index":2565},{"krate":0,"index":2566}],"decl_id":null,"docs":" JSON Parser, serializer and deserializer\n \n This file is derived from the json_flex crate.\n \n [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex)\n \n Changes:\n - Library has been converted & stripped for no_std use\n - All `.unwrap()`s have been replaced with proper error handling\n - Several additions that were needed for NoProto\n - Some minor optimizations\n \n The MIT License (MIT)\n \n Copyright (c) 2015 nacika\n Copyright (c) 2020 Scott Lott\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n","sig":null,"attributes":[{"value":"/ JSON Parser, serializer and deserializer","span":{"file_name":"src/json_flex.rs","byte_start":581868,"byte_end":581912,"line_start":1,"line_end":1,"column_start":1,"column_end":45}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":581913,"byte_end":581917,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ This file is derived from the json_flex crate.","span":{"file_name":"src/json_flex.rs","byte_start":581918,"byte_end":581968,"line_start":3,"line_end":3,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":581969,"byte_end":581973,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex)","span":{"file_name":"src/json_flex.rs","byte_start":581974,"byte_end":582077,"line_start":5,"line_end":5,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582078,"byte_end":582082,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ Changes:","span":{"file_name":"src/json_flex.rs","byte_start":582083,"byte_end":582095,"line_start":7,"line_end":7,"column_start":1,"column_end":13}},{"value":"/ - Library has been converted & stripped for no_std use","span":{"file_name":"src/json_flex.rs","byte_start":582096,"byte_end":582154,"line_start":8,"line_end":8,"column_start":1,"column_end":59}},{"value":"/ - All `.unwrap()`s have been replaced with proper error handling","span":{"file_name":"src/json_flex.rs","byte_start":582155,"byte_end":582223,"line_start":9,"line_end":9,"column_start":1,"column_end":69}},{"value":"/ - Several additions that were needed for NoProto","span":{"file_name":"src/json_flex.rs","byte_start":582224,"byte_end":582276,"line_start":10,"line_end":10,"column_start":1,"column_end":53}},{"value":"/ - Some minor optimizations","span":{"file_name":"src/json_flex.rs","byte_start":582277,"byte_end":582307,"line_start":11,"line_end":11,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582308,"byte_end":582312,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The MIT License (MIT)","span":{"file_name":"src/json_flex.rs","byte_start":582313,"byte_end":582338,"line_start":13,"line_end":13,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582339,"byte_end":582343,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ Copyright (c) 2015 nacika","span":{"file_name":"src/json_flex.rs","byte_start":582344,"byte_end":582373,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ Copyright (c) 2020 Scott Lott","span":{"file_name":"src/json_flex.rs","byte_start":582374,"byte_end":582407,"line_start":16,"line_end":16,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582408,"byte_end":582412,"line_start":17,"line_end":17,"column_start":1,"column_end":5}},{"value":"/ Permission is hereby granted, free of charge, to any person obtaining a copy","span":{"file_name":"src/json_flex.rs","byte_start":582413,"byte_end":582493,"line_start":18,"line_end":18,"column_start":1,"column_end":81}},{"value":"/ of this software and associated documentation files (the \"Software\"), to deal","span":{"file_name":"src/json_flex.rs","byte_start":582494,"byte_end":582575,"line_start":19,"line_end":19,"column_start":1,"column_end":82}},{"value":"/ in the Software without restriction, including without limitation the rights","span":{"file_name":"src/json_flex.rs","byte_start":582576,"byte_end":582656,"line_start":20,"line_end":20,"column_start":1,"column_end":81}},{"value":"/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell","span":{"file_name":"src/json_flex.rs","byte_start":582657,"byte_end":582734,"line_start":21,"line_end":21,"column_start":1,"column_end":78}},{"value":"/ copies of the Software, and to permit persons to whom the Software is","span":{"file_name":"src/json_flex.rs","byte_start":582735,"byte_end":582808,"line_start":22,"line_end":22,"column_start":1,"column_end":74}},{"value":"/ furnished to do so, subject to the following conditions:","span":{"file_name":"src/json_flex.rs","byte_start":582809,"byte_end":582869,"line_start":23,"line_end":23,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582870,"byte_end":582874,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ The above copyright notice and this permission notice shall be included in all","span":{"file_name":"src/json_flex.rs","byte_start":582875,"byte_end":582957,"line_start":25,"line_end":25,"column_start":1,"column_end":83}},{"value":"/ copies or substantial portions of the Software.","span":{"file_name":"src/json_flex.rs","byte_start":582958,"byte_end":583009,"line_start":26,"line_end":26,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":583010,"byte_end":583014,"line_start":27,"line_end":27,"column_start":1,"column_end":5}},{"value":"/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR","span":{"file_name":"src/json_flex.rs","byte_start":583015,"byte_end":583093,"line_start":28,"line_end":28,"column_start":1,"column_end":79}},{"value":"/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,","span":{"file_name":"src/json_flex.rs","byte_start":583094,"byte_end":583170,"line_start":29,"line_end":29,"column_start":1,"column_end":77}},{"value":"/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE","span":{"file_name":"src/json_flex.rs","byte_start":583171,"byte_end":583250,"line_start":30,"line_end":30,"column_start":1,"column_end":80}},{"value":"/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER","span":{"file_name":"src/json_flex.rs","byte_start":583251,"byte_end":583325,"line_start":31,"line_end":31,"column_start":1,"column_end":75}},{"value":"/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,","span":{"file_name":"src/json_flex.rs","byte_start":583326,"byte_end":583407,"line_start":32,"line_end":32,"column_start":1,"column_end":82}},{"value":"/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE","span":{"file_name":"src/json_flex.rs","byte_start":583408,"byte_end":583489,"line_start":33,"line_end":33,"column_start":1,"column_end":82}},{"value":"/ SOFTWARE.","span":{"file_name":"src/json_flex.rs","byte_start":583490,"byte_end":583503,"line_start":34,"line_end":34,"column_start":1,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":3722},"span":{"file_name":"src/json_flex.rs","byte_start":583797,"byte_end":583802,"line_start":48,"line_end":48,"column_start":12,"column_end":17},"name":"JSMAP","qualname":"::json_flex::JSMAP","value":"JSMAP { values }","parent":null,"children":[{"krate":0,"index":3723}],"decl_id":null,"docs":" The JSON representation of a JS Map\n","sig":null,"attributes":[{"value":"/ The JSON representation of a JS Map","span":{"file_name":"src/json_flex.rs","byte_start":583711,"byte_end":583750,"line_start":46,"line_end":46,"column_start":1,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":3723},"span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"name":"values","qualname":"::json_flex::JSMAP::values","value":"alloc::vec::Vec<(alloc::string::String, json_flex::NP_JSON)>","parent":{"krate":0,"index":3722},"children":[],"decl_id":null,"docs":" The vec of values in the map\n","sig":null,"attributes":[{"value":"/ The vec of values in the map","span":{"file_name":"src/json_flex.rs","byte_start":583809,"byte_end":583841,"line_start":49,"line_end":49,"column_start":5,"column_end":37}}]},{"kind":"Method","id":{"krate":0,"index":2526},"span":{"file_name":"src/json_flex.rs","byte_start":583942,"byte_end":583945,"line_start":56,"line_end":56,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new() -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty map\n","sig":null,"attributes":[{"value":"/ Generate a new empty map","span":{"file_name":"src/json_flex.rs","byte_start":583902,"byte_end":583930,"line_start":55,"line_end":55,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":1073744351},"span":{"file_name":"src/json_flex.rs","byte_start":584061,"byte_end":584065,"line_start":61,"line_end":61,"column_start":24,"column_end":28},"name":"self","qualname":"::insert::self","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873439},"span":{"file_name":"src/json_flex.rs","byte_start":584067,"byte_end":584070,"line_start":61,"line_end":61,"column_start":30,"column_end":33},"name":"key","qualname":"::insert::key","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615263},"span":{"file_name":"src/json_flex.rs","byte_start":584080,"byte_end":584085,"line_start":61,"line_end":61,"column_start":43,"column_end":48},"name":"value","qualname":"::insert::value","value":"json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2527},"span":{"file_name":"src/json_flex.rs","byte_start":584049,"byte_end":584055,"line_start":61,"line_end":61,"column_start":12,"column_end":18},"name":"insert","qualname":"::insert","value":"pub fn insert(&mut Self, String, NP_JSON) -> usize","parent":null,"children":[],"decl_id":null,"docs":" Insert a value into the map\n","sig":null,"attributes":[{"value":"/ Insert a value into the map","span":{"file_name":"src/json_flex.rs","byte_start":584006,"byte_end":584037,"line_start":60,"line_end":60,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":134220255},"span":{"file_name":"src/json_flex.rs","byte_start":584120,"byte_end":584121,"line_start":63,"line_end":63,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2527 ~ no_proto[2d88]::json_flex::{impl#0}::insert), local_id: 16 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744352},"span":{"file_name":"src/json_flex.rs","byte_start":584439,"byte_end":584443,"line_start":76,"line_end":76,"column_start":25,"column_end":29},"name":"self","qualname":"::get_mut::self","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873440},"span":{"file_name":"src/json_flex.rs","byte_start":584445,"byte_end":584448,"line_start":76,"line_end":76,"column_start":31,"column_end":34},"name":"key","qualname":"::get_mut::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2528},"span":{"file_name":"src/json_flex.rs","byte_start":584426,"byte_end":584433,"line_start":76,"line_end":76,"column_start":12,"column_end":19},"name":"get_mut","qualname":"::get_mut","value":"pub fn get_mut(&mut Self, &str) -> Option<&mut NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":" Get a mutable reference to a value in the map\n","sig":null,"attributes":[{"value":"/ Get a mutable reference to a value in the map","span":{"file_name":"src/json_flex.rs","byte_start":584365,"byte_end":584414,"line_start":75,"line_end":75,"column_start":5,"column_end":54}}]},{"kind":"Local","id":{"krate":0,"index":1879050720},"span":{"file_name":"src/json_flex.rs","byte_start":584494,"byte_end":584495,"line_start":77,"line_end":77,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2528 ~ no_proto[2d88]::json_flex::{impl#0}::get_mut), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744353},"span":{"file_name":"src/json_flex.rs","byte_start":584733,"byte_end":584737,"line_start":86,"line_end":86,"column_start":17,"column_end":21},"name":"self","qualname":"::get::self","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873441},"span":{"file_name":"src/json_flex.rs","byte_start":584739,"byte_end":584742,"line_start":86,"line_end":86,"column_start":23,"column_end":26},"name":"key","qualname":"::get::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2529},"span":{"file_name":"src/json_flex.rs","byte_start":584728,"byte_end":584731,"line_start":86,"line_end":86,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get(&Self, &str) -> Option<&NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":" Get an immutable reference to a value in the map\n","sig":null,"attributes":[{"value":"/ Get an immutable reference to a value in the map","span":{"file_name":"src/json_flex.rs","byte_start":584664,"byte_end":584716,"line_start":85,"line_end":85,"column_start":5,"column_end":57}}]},{"kind":"Local","id":{"krate":0,"index":1879050721},"span":{"file_name":"src/json_flex.rs","byte_start":584784,"byte_end":584785,"line_start":87,"line_end":87,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2529 ~ no_proto[2d88]::json_flex::{impl#0}::get), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744354},"span":{"file_name":"src/json_flex.rs","byte_start":585005,"byte_end":585009,"line_start":96,"line_end":96,"column_start":17,"column_end":21},"name":"self","qualname":"::has::self","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873442},"span":{"file_name":"src/json_flex.rs","byte_start":585011,"byte_end":585014,"line_start":96,"line_end":96,"column_start":23,"column_end":26},"name":"key","qualname":"::has::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2530},"span":{"file_name":"src/json_flex.rs","byte_start":585000,"byte_end":585003,"line_start":96,"line_end":96,"column_start":12,"column_end":15},"name":"has","qualname":"::has","value":"pub fn has(&Self, &str) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if a value exists in the map\n","sig":null,"attributes":[{"value":"/ Check if a value exists in the map","span":{"file_name":"src/json_flex.rs","byte_start":584950,"byte_end":584988,"line_start":95,"line_end":95,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":1879050722},"span":{"file_name":"src/json_flex.rs","byte_start":585044,"byte_end":585045,"line_start":97,"line_end":97,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2530 ~ no_proto[2d88]::json_flex::{impl#0}::has), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3733},"span":{"file_name":"src/json_flex.rs","byte_start":585302,"byte_end":585308,"line_start":110,"line_end":110,"column_start":5,"column_end":11},"name":"String","qualname":"::json_flex::NP_JSON::String","value":"NP_JSON::String(String)","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" String JSON type\n","sig":null,"attributes":[{"value":"/ String JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585277,"byte_end":585297,"line_start":109,"line_end":109,"column_start":5,"column_end":25}}]},{"kind":"Field","id":{"krate":0,"index":3735},"span":{"file_name":"src/json_flex.rs","byte_start":585309,"byte_end":585315,"line_start":110,"line_end":110,"column_start":12,"column_end":18},"name":"0","qualname":"::json_flex::NP_JSON::String::0","value":"alloc::string::String","parent":{"krate":0,"index":3733},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3736},"span":{"file_name":"src/json_flex.rs","byte_start":585349,"byte_end":585356,"line_start":112,"line_end":112,"column_start":5,"column_end":12},"name":"Integer","qualname":"::json_flex::NP_JSON::Integer","value":"NP_JSON::Integer(i64)","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" Integer JSON type\n","sig":null,"attributes":[{"value":"/ Integer JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585323,"byte_end":585344,"line_start":111,"line_end":111,"column_start":5,"column_end":26}}]},{"kind":"Field","id":{"krate":0,"index":3738},"span":{"file_name":"src/json_flex.rs","byte_start":585357,"byte_end":585360,"line_start":112,"line_end":112,"column_start":13,"column_end":16},"name":"0","qualname":"::json_flex::NP_JSON::Integer::0","value":"i64","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3739},"span":{"file_name":"src/json_flex.rs","byte_start":585392,"byte_end":585397,"line_start":114,"line_end":114,"column_start":5,"column_end":10},"name":"Float","qualname":"::json_flex::NP_JSON::Float","value":"NP_JSON::Float(f64)","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" Float JSON type\n","sig":null,"attributes":[{"value":"/ Float JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585368,"byte_end":585387,"line_start":113,"line_end":113,"column_start":5,"column_end":24}}]},{"kind":"Field","id":{"krate":0,"index":3741},"span":{"file_name":"src/json_flex.rs","byte_start":585398,"byte_end":585401,"line_start":114,"line_end":114,"column_start":11,"column_end":14},"name":"0","qualname":"::json_flex::NP_JSON::Float::0","value":"f64","parent":{"krate":0,"index":3739},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3742},"span":{"file_name":"src/json_flex.rs","byte_start":585431,"byte_end":585441,"line_start":116,"line_end":116,"column_start":5,"column_end":15},"name":"Dictionary","qualname":"::json_flex::NP_JSON::Dictionary","value":"NP_JSON::Dictionary(JSMAP)","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" Map JSON type\n","sig":null,"attributes":[{"value":"/ Map JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585409,"byte_end":585426,"line_start":115,"line_end":115,"column_start":5,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":3744},"span":{"file_name":"src/json_flex.rs","byte_start":585442,"byte_end":585447,"line_start":116,"line_end":116,"column_start":16,"column_end":21},"name":"0","qualname":"::json_flex::NP_JSON::Dictionary::0","value":"json_flex::JSMAP","parent":{"krate":0,"index":3742},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3745},"span":{"file_name":"src/json_flex.rs","byte_start":585478,"byte_end":585483,"line_start":118,"line_end":118,"column_start":5,"column_end":10},"name":"Array","qualname":"::json_flex::NP_JSON::Array","value":"NP_JSON::Array(Vec)","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" List JSON type\n","sig":null,"attributes":[{"value":"/ List JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585455,"byte_end":585473,"line_start":117,"line_end":117,"column_start":5,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3747},"span":{"file_name":"src/json_flex.rs","byte_start":585484,"byte_end":585496,"line_start":118,"line_end":118,"column_start":11,"column_end":23},"name":"0","qualname":"::json_flex::NP_JSON::Array::0","value":"alloc::vec::Vec","parent":{"krate":0,"index":3745},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3748},"span":{"file_name":"src/json_flex.rs","byte_start":585527,"byte_end":585531,"line_start":120,"line_end":120,"column_start":5,"column_end":9},"name":"Null","qualname":"::json_flex::NP_JSON::Null","value":"NP_JSON::Null","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" NULL json type\n","sig":null,"attributes":[{"value":"/ NULL json type","span":{"file_name":"src/json_flex.rs","byte_start":585504,"byte_end":585522,"line_start":119,"line_end":119,"column_start":5,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3750},"span":{"file_name":"src/json_flex.rs","byte_start":585565,"byte_end":585570,"line_start":122,"line_end":122,"column_start":5,"column_end":10},"name":"False","qualname":"::json_flex::NP_JSON::False","value":"NP_JSON::False","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" boolean false type\n","sig":null,"attributes":[{"value":"/ boolean false type","span":{"file_name":"src/json_flex.rs","byte_start":585538,"byte_end":585560,"line_start":121,"line_end":121,"column_start":5,"column_end":27}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3752},"span":{"file_name":"src/json_flex.rs","byte_start":585603,"byte_end":585607,"line_start":124,"line_end":124,"column_start":5,"column_end":9},"name":"True","qualname":"::json_flex::NP_JSON::True","value":"NP_JSON::True","parent":{"krate":0,"index":3732},"children":[],"decl_id":null,"docs":" boolean true type\n","sig":null,"attributes":[{"value":"/ boolean true type","span":{"file_name":"src/json_flex.rs","byte_start":585577,"byte_end":585598,"line_start":123,"line_end":123,"column_start":5,"column_end":26}}]},{"kind":"Enum","id":{"krate":0,"index":3732},"span":{"file_name":"src/json_flex.rs","byte_start":585263,"byte_end":585270,"line_start":108,"line_end":108,"column_start":10,"column_end":17},"name":"NP_JSON","qualname":"::json_flex::NP_JSON","value":"pub enum NP_JSON {\n String(String),\n Integer(i64),\n Float(f64),\n Dictionary(JSMAP),\n Array(Vec),\n Null,\n False,\n True,\n}","parent":null,"children":[{"krate":0,"index":3733},{"krate":0,"index":3736},{"krate":0,"index":3739},{"krate":0,"index":3742},{"krate":0,"index":3745},{"krate":0,"index":3748},{"krate":0,"index":3750},{"krate":0,"index":3752}],"decl_id":null,"docs":" Represents an JSON value\n","sig":null,"attributes":[{"value":"/ Represents an JSON value","span":{"file_name":"src/json_flex.rs","byte_start":585190,"byte_end":585218,"line_start":106,"line_end":106,"column_start":1,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073744356},"span":{"file_name":"src/json_flex.rs","byte_start":585691,"byte_end":585695,"line_start":133,"line_end":133,"column_start":19,"column_end":23},"name":"self","qualname":"::clone::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2532},"span":{"file_name":"src/json_flex.rs","byte_start":585684,"byte_end":585689,"line_start":133,"line_end":133,"column_start":12,"column_end":17},"name":"clone","qualname":"::clone","value":"pub fn clone(&Self) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" copy this value and it's children\n","sig":null,"attributes":[{"value":"/ copy this value and it's children","span":{"file_name":"src/json_flex.rs","byte_start":585635,"byte_end":585672,"line_start":132,"line_end":132,"column_start":5,"column_end":42}}]},{"kind":"Local","id":{"krate":0,"index":3758098916},"span":{"file_name":"src/json_flex.rs","byte_start":585764,"byte_end":585767,"line_start":136,"line_end":136,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281703908},"span":{"file_name":"src/json_flex.rs","byte_start":585798,"byte_end":585805,"line_start":137,"line_end":137,"column_start":25,"column_end":32},"name":"new_map","qualname":"new_map$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 17 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832996},"span":{"file_name":"src/json_flex.rs","byte_start":585843,"byte_end":585847,"line_start":139,"line_end":139,"column_start":21,"column_end":25},"name":"item","qualname":"item$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 22 }","value":"&(alloc::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417764},"span":{"file_name":"src/json_flex.rs","byte_start":585889,"byte_end":585895,"line_start":140,"line_end":140,"column_start":25,"column_end":31},"name":"cloned","qualname":"cloned$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 44 }","value":"(alloc::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774692},"span":{"file_name":"src/json_flex.rs","byte_start":586217,"byte_end":586221,"line_start":151,"line_end":151,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 80 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509951972},"span":{"file_name":"src/json_flex.rs","byte_start":586252,"byte_end":586257,"line_start":152,"line_end":152,"column_start":25,"column_end":30},"name":"array","qualname":"array$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 90 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564708},"span":{"file_name":"src/json_flex.rs","byte_start":586292,"byte_end":586296,"line_start":153,"line_end":153,"column_start":21,"column_end":25},"name":"item","qualname":"item$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 93 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285215204},"span":{"file_name":"src/json_flex.rs","byte_start":586452,"byte_end":586457,"line_start":158,"line_end":158,"column_start":29,"column_end":34},"name":"strng","qualname":"strng$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 136 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3909093860},"span":{"file_name":"src/json_flex.rs","byte_start":586555,"byte_end":586558,"line_start":161,"line_end":161,"column_start":30,"column_end":33},"name":"int","qualname":"int$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 151 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768243172},"span":{"file_name":"src/json_flex.rs","byte_start":586646,"byte_end":586649,"line_start":164,"line_end":164,"column_start":28,"column_end":31},"name":"num","qualname":"num$HirId { owner: DefId(0:2532 ~ no_proto[2d88]::json_flex::{impl#1}::clone), local_id: 165 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744357},"span":{"file_name":"src/json_flex.rs","byte_start":587013,"byte_end":587017,"line_start":179,"line_end":179,"column_start":25,"column_end":29},"name":"self","qualname":"::into_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2533},"span":{"file_name":"src/json_flex.rs","byte_start":587000,"byte_end":587011,"line_start":179,"line_end":179,"column_start":12,"column_end":23},"name":"into_string","qualname":"::into_string","value":"pub fn into_string(&Self) -> Option<&String>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a string\n","sig":null,"attributes":[{"value":"/ Get this value as a string","span":{"file_name":"src/json_flex.rs","byte_start":586958,"byte_end":586988,"line_start":178,"line_end":178,"column_start":5,"column_end":35}}]},{"kind":"Local","id":{"krate":0,"index":3758098917},"span":{"file_name":"src/json_flex.rs","byte_start":587094,"byte_end":587095,"line_start":181,"line_end":181,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2533 ~ no_proto[2d88]::json_flex::{impl#1}::into_string), local_id: 7 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744358},"span":{"file_name":"src/json_flex.rs","byte_start":587202,"byte_end":587206,"line_start":186,"line_end":186,"column_start":22,"column_end":26},"name":"self","qualname":"::into_i64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2534},"span":{"file_name":"src/json_flex.rs","byte_start":587192,"byte_end":587200,"line_start":186,"line_end":186,"column_start":12,"column_end":20},"name":"into_i64","qualname":"::into_i64","value":"pub fn into_i64(&Self) -> Option<&i64>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as an i64\n","sig":null,"attributes":[{"value":"/ Get this value as an i64","span":{"file_name":"src/json_flex.rs","byte_start":587152,"byte_end":587180,"line_start":185,"line_end":185,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098918},"span":{"file_name":"src/json_flex.rs","byte_start":587281,"byte_end":587282,"line_start":188,"line_end":188,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2534 ~ no_proto[2d88]::json_flex::{impl#1}::into_i64), local_id: 7 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744359},"span":{"file_name":"src/json_flex.rs","byte_start":587389,"byte_end":587393,"line_start":193,"line_end":193,"column_start":22,"column_end":26},"name":"self","qualname":"::into_f64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2535},"span":{"file_name":"src/json_flex.rs","byte_start":587379,"byte_end":587387,"line_start":193,"line_end":193,"column_start":12,"column_end":20},"name":"into_f64","qualname":"::into_f64","value":"pub fn into_f64(&Self) -> Option<&f64>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as an f64\n","sig":null,"attributes":[{"value":"/ Get this value as an f64","span":{"file_name":"src/json_flex.rs","byte_start":587339,"byte_end":587367,"line_start":192,"line_end":192,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098919},"span":{"file_name":"src/json_flex.rs","byte_start":587466,"byte_end":587467,"line_start":195,"line_end":195,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2535 ~ no_proto[2d88]::json_flex::{impl#1}::into_f64), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744360},"span":{"file_name":"src/json_flex.rs","byte_start":587581,"byte_end":587585,"line_start":200,"line_end":200,"column_start":26,"column_end":30},"name":"self","qualname":"::into_hashmap::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2536},"span":{"file_name":"src/json_flex.rs","byte_start":587567,"byte_end":587579,"line_start":200,"line_end":200,"column_start":12,"column_end":24},"name":"into_hashmap","qualname":"::into_hashmap","value":"pub fn into_hashmap(&Self) -> Option<&JSMAP>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a hashmap\n","sig":null,"attributes":[{"value":"/ Get this value as a hashmap","span":{"file_name":"src/json_flex.rs","byte_start":587524,"byte_end":587555,"line_start":199,"line_end":199,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":3758098920},"span":{"file_name":"src/json_flex.rs","byte_start":587665,"byte_end":587666,"line_start":202,"line_end":202,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2536 ~ no_proto[2d88]::json_flex::{impl#1}::into_hashmap), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744361},"span":{"file_name":"src/json_flex.rs","byte_start":587773,"byte_end":587777,"line_start":207,"line_end":207,"column_start":22,"column_end":26},"name":"self","qualname":"::into_vec::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2537},"span":{"file_name":"src/json_flex.rs","byte_start":587763,"byte_end":587771,"line_start":207,"line_end":207,"column_start":12,"column_end":20},"name":"into_vec","qualname":"::into_vec","value":"pub fn into_vec(&Self) -> Option<&Vec>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a list\n","sig":null,"attributes":[{"value":"/ Get this value as a list","span":{"file_name":"src/json_flex.rs","byte_start":587723,"byte_end":587751,"line_start":206,"line_end":206,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098921},"span":{"file_name":"src/json_flex.rs","byte_start":587859,"byte_end":587860,"line_start":209,"line_end":209,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2537 ~ no_proto[2d88]::json_flex::{impl#1}::into_vec), local_id: 7 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744362},"span":{"file_name":"src/json_flex.rs","byte_start":587969,"byte_end":587973,"line_start":214,"line_end":214,"column_start":21,"column_end":25},"name":"self","qualname":"::is_null::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2538},"span":{"file_name":"src/json_flex.rs","byte_start":587960,"byte_end":587967,"line_start":214,"line_end":214,"column_start":12,"column_end":19},"name":"is_null","qualname":"::is_null","value":"pub fn is_null(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is null\n","sig":null,"attributes":[{"value":"/ Check if this value is null","span":{"file_name":"src/json_flex.rs","byte_start":587917,"byte_end":587948,"line_start":213,"line_end":213,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":1073744363},"span":{"file_name":"src/json_flex.rs","byte_start":588146,"byte_end":588150,"line_start":221,"line_end":221,"column_start":21,"column_end":25},"name":"self","qualname":"::is_true::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2539},"span":{"file_name":"src/json_flex.rs","byte_start":588137,"byte_end":588144,"line_start":221,"line_end":221,"column_start":12,"column_end":19},"name":"is_true","qualname":"::is_true","value":"pub fn is_true(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is boolean true\n","sig":null,"attributes":[{"value":"/ Check if this value is boolean true","span":{"file_name":"src/json_flex.rs","byte_start":588086,"byte_end":588125,"line_start":220,"line_end":220,"column_start":5,"column_end":44}}]},{"kind":"Local","id":{"krate":0,"index":1073744364},"span":{"file_name":"src/json_flex.rs","byte_start":588325,"byte_end":588329,"line_start":228,"line_end":228,"column_start":22,"column_end":26},"name":"self","qualname":"::is_false::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2540},"span":{"file_name":"src/json_flex.rs","byte_start":588315,"byte_end":588323,"line_start":228,"line_end":228,"column_start":12,"column_end":20},"name":"is_false","qualname":"::is_false","value":"pub fn is_false(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is boolean false\n","sig":null,"attributes":[{"value":"/ Check if this value is boolean false","span":{"file_name":"src/json_flex.rs","byte_start":588263,"byte_end":588303,"line_start":227,"line_end":227,"column_start":5,"column_end":45}}]},{"kind":"Local","id":{"krate":0,"index":1073744365},"span":{"file_name":"src/json_flex.rs","byte_start":588497,"byte_end":588501,"line_start":235,"line_end":235,"column_start":22,"column_end":26},"name":"self","qualname":"::is_array::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2541},"span":{"file_name":"src/json_flex.rs","byte_start":588487,"byte_end":588495,"line_start":235,"line_end":235,"column_start":12,"column_end":20},"name":"is_array","qualname":"::is_array","value":"pub fn is_array(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is array\n","sig":null,"attributes":[{"value":"/ Check if this value is array","span":{"file_name":"src/json_flex.rs","byte_start":588443,"byte_end":588475,"line_start":234,"line_end":234,"column_start":5,"column_end":37}}]},{"kind":"Local","id":{"krate":0,"index":1073744366},"span":{"file_name":"src/json_flex.rs","byte_start":588675,"byte_end":588679,"line_start":242,"line_end":242,"column_start":27,"column_end":31},"name":"self","qualname":"::is_dictionary::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2542},"span":{"file_name":"src/json_flex.rs","byte_start":588660,"byte_end":588673,"line_start":242,"line_end":242,"column_start":12,"column_end":25},"name":"is_dictionary","qualname":"::is_dictionary","value":"pub fn is_dictionary(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is map\n","sig":null,"attributes":[{"value":"/ Check if this value is map","span":{"file_name":"src/json_flex.rs","byte_start":588618,"byte_end":588648,"line_start":241,"line_end":241,"column_start":5,"column_end":35}}]},{"kind":"Local","id":{"krate":0,"index":1073744367},"span":{"file_name":"src/json_flex.rs","byte_start":588857,"byte_end":588861,"line_start":249,"line_end":249,"column_start":23,"column_end":27},"name":"self","qualname":"::is_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2543},"span":{"file_name":"src/json_flex.rs","byte_start":588846,"byte_end":588855,"line_start":249,"line_end":249,"column_start":12,"column_end":21},"name":"is_string","qualname":"::is_string","value":"pub fn is_string(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is string\n","sig":null,"attributes":[{"value":"/ Check if this value is string","span":{"file_name":"src/json_flex.rs","byte_start":588801,"byte_end":588834,"line_start":248,"line_end":248,"column_start":5,"column_end":38}}]},{"kind":"Local","id":{"krate":0,"index":1073744368},"span":{"file_name":"src/json_flex.rs","byte_start":589040,"byte_end":589044,"line_start":256,"line_end":256,"column_start":24,"column_end":28},"name":"self","qualname":"::is_integer::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2544},"span":{"file_name":"src/json_flex.rs","byte_start":589028,"byte_end":589038,"line_start":256,"line_end":256,"column_start":12,"column_end":22},"name":"is_integer","qualname":"::is_integer","value":"pub fn is_integer(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is an integer\n","sig":null,"attributes":[{"value":"/ Check if this value is an integer","span":{"file_name":"src/json_flex.rs","byte_start":588979,"byte_end":589016,"line_start":255,"line_end":255,"column_start":5,"column_end":42}}]},{"kind":"Local","id":{"krate":0,"index":1073744369},"span":{"file_name":"src/json_flex.rs","byte_start":589217,"byte_end":589221,"line_start":263,"line_end":263,"column_start":22,"column_end":26},"name":"self","qualname":"::is_float::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2545},"span":{"file_name":"src/json_flex.rs","byte_start":589207,"byte_end":589215,"line_start":263,"line_end":263,"column_start":12,"column_end":20},"name":"is_float","qualname":"::is_float","value":"pub fn is_float(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is float\n","sig":null,"attributes":[{"value":"/ Check if this value is float","span":{"file_name":"src/json_flex.rs","byte_start":589163,"byte_end":589195,"line_start":262,"line_end":262,"column_start":5,"column_end":37}}]},{"kind":"Local","id":{"krate":0,"index":1073744370},"span":{"file_name":"src/json_flex.rs","byte_start":589429,"byte_end":589433,"line_start":270,"line_end":270,"column_start":27,"column_end":31},"name":"self","qualname":"::unwrap_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2546},"span":{"file_name":"src/json_flex.rs","byte_start":589414,"byte_end":589427,"line_start":270,"line_end":270,"column_start":12,"column_end":25},"name":"unwrap_string","qualname":"::unwrap_string","value":"pub fn unwrap_string(&Self) -> Option<&String>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the string in this value if it's a string\n","sig":null,"attributes":[{"value":"/ Get a reference to the string in this value if it's a string","span":{"file_name":"src/json_flex.rs","byte_start":589338,"byte_end":589402,"line_start":269,"line_end":269,"column_start":5,"column_end":69}}]},{"kind":"Local","id":{"krate":0,"index":3758098930},"span":{"file_name":"src/json_flex.rs","byte_start":589510,"byte_end":589511,"line_start":272,"line_end":272,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2546 ~ no_proto[2d88]::json_flex::{impl#1}::unwrap_string), local_id: 7 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744371},"span":{"file_name":"src/json_flex.rs","byte_start":589650,"byte_end":589654,"line_start":277,"line_end":277,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_i64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2547},"span":{"file_name":"src/json_flex.rs","byte_start":589638,"byte_end":589648,"line_start":277,"line_end":277,"column_start":12,"column_end":22},"name":"unwrap_i64","qualname":"::unwrap_i64","value":"pub fn unwrap_i64(&Self) -> Option<&i64>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the i64 in this value if it's a i64\n","sig":null,"attributes":[{"value":"/ Get a reference to the i64 in this value if it's a i64","span":{"file_name":"src/json_flex.rs","byte_start":589568,"byte_end":589626,"line_start":276,"line_end":276,"column_start":5,"column_end":63}}]},{"kind":"Local","id":{"krate":0,"index":3758098931},"span":{"file_name":"src/json_flex.rs","byte_start":589729,"byte_end":589730,"line_start":279,"line_end":279,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2547 ~ no_proto[2d88]::json_flex::{impl#1}::unwrap_i64), local_id: 7 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744372},"span":{"file_name":"src/json_flex.rs","byte_start":589869,"byte_end":589873,"line_start":284,"line_end":284,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_f64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2548},"span":{"file_name":"src/json_flex.rs","byte_start":589857,"byte_end":589867,"line_start":284,"line_end":284,"column_start":12,"column_end":22},"name":"unwrap_f64","qualname":"::unwrap_f64","value":"pub fn unwrap_f64(&Self) -> Option<&f64>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the f64 in this value if it's a f64\n","sig":null,"attributes":[{"value":"/ Get a reference to the f64 in this value if it's a f64","span":{"file_name":"src/json_flex.rs","byte_start":589787,"byte_end":589845,"line_start":283,"line_end":283,"column_start":5,"column_end":63}}]},{"kind":"Local","id":{"krate":0,"index":3758098932},"span":{"file_name":"src/json_flex.rs","byte_start":589946,"byte_end":589947,"line_start":286,"line_end":286,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2548 ~ no_proto[2d88]::json_flex::{impl#1}::unwrap_f64), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744373},"span":{"file_name":"src/json_flex.rs","byte_start":590098,"byte_end":590102,"line_start":291,"line_end":291,"column_start":28,"column_end":32},"name":"self","qualname":"::unwrap_hashmap::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2549},"span":{"file_name":"src/json_flex.rs","byte_start":590082,"byte_end":590096,"line_start":291,"line_end":291,"column_start":12,"column_end":26},"name":"unwrap_hashmap","qualname":"::unwrap_hashmap","value":"pub fn unwrap_hashmap(&Self) -> Option<&JSMAP>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the hashmap in this value if it's a hashmap\n","sig":null,"attributes":[{"value":"/ Get a reference to the hashmap in this value if it's a hashmap","span":{"file_name":"src/json_flex.rs","byte_start":590004,"byte_end":590070,"line_start":290,"line_end":290,"column_start":5,"column_end":71}}]},{"kind":"Local","id":{"krate":0,"index":3758098933},"span":{"file_name":"src/json_flex.rs","byte_start":590182,"byte_end":590183,"line_start":293,"line_end":293,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2549 ~ no_proto[2d88]::json_flex::{impl#1}::unwrap_hashmap), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744374},"span":{"file_name":"src/json_flex.rs","byte_start":590324,"byte_end":590328,"line_start":298,"line_end":298,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_vec::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2550},"span":{"file_name":"src/json_flex.rs","byte_start":590312,"byte_end":590322,"line_start":298,"line_end":298,"column_start":12,"column_end":22},"name":"unwrap_vec","qualname":"::unwrap_vec","value":"pub fn unwrap_vec(&Self) -> Option<&Vec>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the list in this value if it's a list\n","sig":null,"attributes":[{"value":"/ Get a reference to the list in this value if it's a list","span":{"file_name":"src/json_flex.rs","byte_start":590240,"byte_end":590300,"line_start":297,"line_end":297,"column_start":5,"column_end":65}}]},{"kind":"Local","id":{"krate":0,"index":3758098934},"span":{"file_name":"src/json_flex.rs","byte_start":590410,"byte_end":590411,"line_start":300,"line_end":300,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2550 ~ no_proto[2d88]::json_flex::{impl#1}::unwrap_vec), local_id: 7 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744375},"span":{"file_name":"src/json_flex.rs","byte_start":590539,"byte_end":590543,"line_start":305,"line_end":305,"column_start":23,"column_end":27},"name":"self","qualname":"::stringify::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2551},"span":{"file_name":"src/json_flex.rs","byte_start":590528,"byte_end":590537,"line_start":305,"line_end":305,"column_start":12,"column_end":21},"name":"stringify","qualname":"::stringify","value":"pub fn stringify(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Stringify this JSON object and it's children\n","sig":null,"attributes":[{"value":"/ Stringify this JSON object and it's children","span":{"file_name":"src/json_flex.rs","byte_start":590468,"byte_end":590516,"line_start":304,"line_end":304,"column_start":5,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":3758098935},"span":{"file_name":"src/json_flex.rs","byte_start":590611,"byte_end":590612,"line_start":307,"line_end":307,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 7 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962103},"span":{"file_name":"src/json_flex.rs","byte_start":590643,"byte_end":590649,"line_start":308,"line_end":308,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 18 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417783},"span":{"file_name":"src/json_flex.rs","byte_start":590855,"byte_end":590856,"line_start":313,"line_end":313,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 44 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941879},"span":{"file_name":"src/json_flex.rs","byte_start":590908,"byte_end":590909,"line_start":314,"line_end":314,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 54 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556983},"span":{"file_name":"src/json_flex.rs","byte_start":590966,"byte_end":590967,"line_start":315,"line_end":315,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 64 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523217911},"span":{"file_name":"src/json_flex.rs","byte_start":590998,"byte_end":591004,"line_start":316,"line_end":316,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 75 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060088823},"span":{"file_name":"src/json_flex.rs","byte_start":591055,"byte_end":591063,"line_start":317,"line_end":317,"column_start":25,"column_end":33},"name":"is_first","qualname":"is_first$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 79 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704645623},"span":{"file_name":"src/json_flex.rs","byte_start":591093,"byte_end":591094,"line_start":318,"line_end":318,"column_start":22,"column_end":23},"name":"k","qualname":"k$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 84 }","value":"&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852129271},"span":{"file_name":"src/json_flex.rs","byte_start":591096,"byte_end":591097,"line_start":318,"line_end":318,"column_start":25,"column_end":26},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 85 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845496311},"span":{"file_name":"src/json_flex.rs","byte_start":591311,"byte_end":591320,"line_start":324,"line_end":324,"column_start":29,"column_end":38},"name":"substring","qualname":"substring$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 118 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1560283639},"span":{"file_name":"src/json_flex.rs","byte_start":591696,"byte_end":591697,"line_start":333,"line_end":333,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 186 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2734688759},"span":{"file_name":"src/json_flex.rs","byte_start":591728,"byte_end":591734,"line_start":334,"line_end":334,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 197 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2466253303},"span":{"file_name":"src/json_flex.rs","byte_start":591784,"byte_end":591792,"line_start":335,"line_end":335,"column_start":25,"column_end":33},"name":"is_first","qualname":"is_first$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 201 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":855640567},"span":{"file_name":"src/json_flex.rs","byte_start":591821,"byte_end":591822,"line_start":336,"line_end":336,"column_start":21,"column_end":22},"name":"i","qualname":"i$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 204 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3766487543},"span":{"file_name":"src/json_flex.rs","byte_start":592094,"byte_end":592107,"line_start":344,"line_end":344,"column_start":25,"column_end":38},"name":"return_string","qualname":"return_string$HirId { owner: DefId(0:2551 ~ no_proto[2d88]::json_flex::{impl#1}::stringify), local_id: 263 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744378},"span":{"file_name":"src/json_flex.rs","byte_start":592520,"byte_end":592524,"line_start":358,"line_end":358,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873466},"span":{"file_name":"src/json_flex.rs","byte_start":592526,"byte_end":592528,"line_start":358,"line_end":358,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2554},"span":{"file_name":"src/json_flex.rs","byte_start":592506,"byte_end":592511,"line_start":358,"line_end":358,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'a>(&'a Self, usize) -> &'a Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179834},"span":{"file_name":"src/json_flex.rs","byte_start":592608,"byte_end":592609,"line_start":360,"line_end":360,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2554 ~ no_proto[2d88]::json_flex::{impl#2}::index), local_id: 10 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091194},"span":{"file_name":"src/json_flex.rs","byte_start":592675,"byte_end":592676,"line_start":362,"line_end":362,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2554 ~ no_proto[2d88]::json_flex::{impl#2}::index), local_id: 20 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744382},"span":{"file_name":"src/json_flex.rs","byte_start":592895,"byte_end":592899,"line_start":373,"line_end":373,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873470},"span":{"file_name":"src/json_flex.rs","byte_start":592901,"byte_end":592903,"line_start":373,"line_end":373,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2558},"span":{"file_name":"src/json_flex.rs","byte_start":592881,"byte_end":592886,"line_start":373,"line_end":373,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'a>(&'a Self, String) -> &'a Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179838},"span":{"file_name":"src/json_flex.rs","byte_start":592988,"byte_end":592989,"line_start":375,"line_end":375,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2558 ~ no_proto[2d88]::json_flex::{impl#3}::index), local_id: 10 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744833022},"span":{"file_name":"src/json_flex.rs","byte_start":593064,"byte_end":593065,"line_start":377,"line_end":377,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2558 ~ no_proto[2d88]::json_flex::{impl#3}::index), local_id: 22 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744387},"span":{"file_name":"src/json_flex.rs","byte_start":593289,"byte_end":593293,"line_start":388,"line_end":388,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873475},"span":{"file_name":"src/json_flex.rs","byte_start":593295,"byte_end":593297,"line_start":388,"line_end":388,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2563},"span":{"file_name":"src/json_flex.rs","byte_start":593275,"byte_end":593280,"line_start":388,"line_end":388,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'b>(&'b Self, &str) -> &'b Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179843},"span":{"file_name":"src/json_flex.rs","byte_start":593380,"byte_end":593381,"line_start":390,"line_end":390,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2563 ~ no_proto[2d88]::json_flex::{impl#4}::index), local_id: 10 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892316675},"span":{"file_name":"src/json_flex.rs","byte_start":593459,"byte_end":593460,"line_start":392,"line_end":392,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2563 ~ no_proto[2d88]::json_flex::{impl#4}::index), local_id: 23 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744389},"span":{"file_name":"src/json_flex.rs","byte_start":593612,"byte_end":593613,"line_start":402,"line_end":402,"column_start":14,"column_end":15},"name":"v","qualname":"::json_flex::recursive::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873477},"span":{"file_name":"src/json_flex.rs","byte_start":593642,"byte_end":593649,"line_start":403,"line_end":403,"column_start":14,"column_end":21},"name":"a_chain","qualname":"::json_flex::recursive::a_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615301},"span":{"file_name":"src/json_flex.rs","byte_start":593674,"byte_end":593681,"line_start":404,"line_end":404,"column_start":14,"column_end":21},"name":"d_chain","qualname":"::json_flex::recursive::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438021},"span":{"file_name":"src/json_flex.rs","byte_start":593713,"byte_end":593719,"line_start":405,"line_end":405,"column_start":18,"column_end":24},"name":"a_nest","qualname":"::json_flex::recursive::a_nest","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179845},"span":{"file_name":"src/json_flex.rs","byte_start":593743,"byte_end":593749,"line_start":406,"line_end":406,"column_start":18,"column_end":24},"name":"d_nest","qualname":"::json_flex::recursive::d_nest","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308933},"span":{"file_name":"src/json_flex.rs","byte_start":593769,"byte_end":593779,"line_start":407,"line_end":407,"column_start":14,"column_end":24},"name":"last_chain","qualname":"::json_flex::recursive::last_chain","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050757},"span":{"file_name":"src/json_flex.rs","byte_start":593800,"byte_end":593806,"line_start":408,"line_end":408,"column_start":14,"column_end":20},"name":"last_c","qualname":"::json_flex::recursive::last_c","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220293},"span":{"file_name":"src/json_flex.rs","byte_start":593827,"byte_end":593831,"line_start":409,"line_end":409,"column_start":14,"column_end":18},"name":"func","qualname":"::json_flex::recursive::func","value":"for<'r> fn(&'r mut json_flex::NP_JSON, core::option::Option, alloc::vec::Vec, alloc::vec::Vec, i64, i64, char) -> core::result::Result<(), error::NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962117},"span":{"file_name":"src/json_flex.rs","byte_start":594097,"byte_end":594102,"line_start":417,"line_end":417,"column_start":14,"column_end":19},"name":"value","qualname":"::json_flex::recursive::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091205},"span":{"file_name":"src/json_flex.rs","byte_start":594133,"byte_end":594136,"line_start":418,"line_end":418,"column_start":14,"column_end":17},"name":"log","qualname":"::json_flex::recursive::log","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2565},"span":{"file_name":"src/json_flex.rs","byte_start":593602,"byte_end":593611,"line_start":402,"line_end":402,"column_start":4,"column_end":13},"name":"recursive","qualname":"::json_flex::recursive","value":"fn recursive(&mut NP_JSON, Vec, Vec, i64, i64, char, char,\nfn(: &mut NP_JSON, : Option, : Vec, : Vec, : i64, : i64,\n : char) -> Result<(), NP_Error>, Option, String)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3028290053},"span":{"file_name":"src/json_flex.rs","byte_start":594196,"byte_end":594203,"line_start":421,"line_end":421,"column_start":9,"column_end":16},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 301 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881221},"span":{"file_name":"src/json_flex.rs","byte_start":594249,"byte_end":594252,"line_start":423,"line_end":423,"column_start":32,"column_end":35},"name":"vvz","qualname":"vvz$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 27 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227860997},"span":{"file_name":"src/json_flex.rs","byte_start":594275,"byte_end":594276,"line_start":424,"line_end":424,"column_start":17,"column_end":18},"name":"i","qualname":"i$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 63 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177529349},"span":{"file_name":"src/json_flex.rs","byte_start":594345,"byte_end":594352,"line_start":425,"line_end":425,"column_start":17,"column_end":24},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 159 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605189},"span":{"file_name":"src/json_flex.rs","byte_start":594383,"byte_end":594386,"line_start":426,"line_end":426,"column_start":21,"column_end":24},"name":"vvv","qualname":"vvv$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 78 }","value":"core::option::Option<&mut json_flex::NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2566916613},"span":{"file_name":"src/json_flex.rs","byte_start":594434,"byte_end":594441,"line_start":427,"line_end":427,"column_start":21,"column_end":28},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 153 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852129285},"span":{"file_name":"src/json_flex.rs","byte_start":594491,"byte_end":594495,"line_start":428,"line_end":428,"column_start":30,"column_end":34},"name":"vvvv","qualname":"vvvv$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 85 }","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936837},"span":{"file_name":"src/json_flex.rs","byte_start":595276,"byte_end":595278,"line_start":452,"line_end":452,"column_start":37,"column_end":39},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 174 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1023412741},"span":{"file_name":"src/json_flex.rs","byte_start":595301,"byte_end":595306,"line_start":453,"line_end":453,"column_start":17,"column_end":22},"name":"o_key","qualname":"o_key$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 188 }","value":"core::option::Option<&alloc::string::String>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":50334213},"span":{"file_name":"src/json_flex.rs","byte_start":595390,"byte_end":595393,"line_start":455,"line_end":455,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 192 }","value":"&&alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293765},"span":{"file_name":"src/json_flex.rs","byte_start":595424,"byte_end":595427,"line_start":456,"line_end":456,"column_start":25,"column_end":28},"name":"vvv","qualname":"vvv$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 210 }","value":"core::option::Option<&mut json_flex::NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3095398917},"span":{"file_name":"src/json_flex.rs","byte_start":595509,"byte_end":595516,"line_start":458,"line_end":458,"column_start":25,"column_end":32},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 285 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600471045},"span":{"file_name":"src/json_flex.rs","byte_start":595570,"byte_end":595574,"line_start":459,"line_end":459,"column_start":34,"column_end":38},"name":"vvvv","qualname":"vvvv$HirId { owner: DefId(0:2565 ~ no_proto[2d88]::json_flex::recursive), local_id: 217 }","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744390},"span":{"file_name":"src/json_flex.rs","byte_start":596684,"byte_end":596688,"line_start":497,"line_end":497,"column_start":27,"column_end":31},"name":"text","qualname":"::json_flex::json_decode::text","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2566},"span":{"file_name":"src/json_flex.rs","byte_start":596665,"byte_end":596676,"line_start":497,"line_end":497,"column_start":8,"column_end":19},"name":"json_decode","qualname":"::json_flex::json_decode","value":"pub fn json_decode<'json>(String) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Parse a JSON string into a JSON object in memory\n","sig":null,"attributes":[{"value":"/ Parse a JSON string into a JSON object in memory","span":{"file_name":"src/json_flex.rs","byte_start":596605,"byte_end":596657,"line_start":496,"line_end":496,"column_start":1,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":2952792582},"span":{"file_name":"src/json_flex.rs","byte_start":596747,"byte_end":596750,"line_start":499,"line_end":499,"column_start":13,"column_end":16},"name":"ret","qualname":"ret$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 13 }","value":"alloc::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445766},"span":{"file_name":"src/json_flex.rs","byte_start":596791,"byte_end":596794,"line_start":501,"line_end":501,"column_start":13,"column_end":16},"name":"pos","qualname":"pos$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752134},"span":{"file_name":"src/json_flex.rs","byte_start":596820,"byte_end":596825,"line_start":503,"line_end":503,"column_start":13,"column_end":18},"name":"chain","qualname":"chain$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 31 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556772358},"span":{"file_name":"src/json_flex.rs","byte_start":596863,"byte_end":596870,"line_start":504,"line_end":504,"column_start":13,"column_end":20},"name":"d_chain","qualname":"d_chain$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 43 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959425542},"span":{"file_name":"src/json_flex.rs","byte_start":596910,"byte_end":596917,"line_start":505,"line_end":505,"column_start":13,"column_end":20},"name":"a_chain","qualname":"a_chain$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 55 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154119174},"span":{"file_name":"src/json_flex.rs","byte_start":596954,"byte_end":596964,"line_start":506,"line_end":506,"column_start":13,"column_end":23},"name":"last_chain","qualname":"last_chain$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 61 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782470},"span":{"file_name":"src/json_flex.rs","byte_start":596990,"byte_end":597006,"line_start":507,"line_end":507,"column_start":13,"column_end":29},"name":"last_active_char","qualname":"last_active_char$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 67 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992454},"span":{"file_name":"src/json_flex.rs","byte_start":597032,"byte_end":597035,"line_start":508,"line_end":508,"column_start":13,"column_end":16},"name":"key","qualname":"key$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 72 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774726},"span":{"file_name":"src/json_flex.rs","byte_start":597057,"byte_end":597063,"line_start":509,"line_end":509,"column_start":13,"column_end":19},"name":"string","qualname":"string$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 80 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436210182},"span":{"file_name":"src/json_flex.rs","byte_start":597101,"byte_end":597104,"line_start":510,"line_end":510,"column_start":13,"column_end":16},"name":"num","qualname":"num$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 88 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822918},"span":{"file_name":"src/json_flex.rs","byte_start":597142,"byte_end":597148,"line_start":511,"line_end":511,"column_start":13,"column_end":19},"name":"last_c","qualname":"last_c$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 94 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711278598},"span":{"file_name":"src/json_flex.rs","byte_start":597174,"byte_end":597180,"line_start":512,"line_end":512,"column_start":13,"column_end":19},"name":"s_true","qualname":"s_true$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 102 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714054},"span":{"file_name":"src/json_flex.rs","byte_start":597218,"byte_end":597225,"line_start":513,"line_end":513,"column_start":13,"column_end":20},"name":"s_false","qualname":"s_false$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 110 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845496326},"span":{"file_name":"src/json_flex.rs","byte_start":597263,"byte_end":597269,"line_start":514,"line_end":514,"column_start":13,"column_end":19},"name":"s_null","qualname":"s_null$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 118 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238005254},"span":{"file_name":"src/json_flex.rs","byte_start":597304,"byte_end":597308,"line_start":516,"line_end":516,"column_start":9,"column_end":13},"name":"body","qualname":"body$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 131 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1358957062},"span":{"file_name":"src/json_flex.rs","byte_start":597354,"byte_end":597358,"line_start":517,"line_end":517,"column_start":9,"column_end":13},"name":"size","qualname":"size$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 138 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827974},"span":{"file_name":"src/json_flex.rs","byte_start":597385,"byte_end":597389,"line_start":518,"line_end":518,"column_start":13,"column_end":17},"name":"done","qualname":"done$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303878},"span":{"file_name":"src/json_flex.rs","byte_start":597430,"byte_end":597431,"line_start":521,"line_end":521,"column_start":13,"column_end":14},"name":"c","qualname":"c$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 156 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3229616646},"span":{"file_name":"src/json_flex.rs","byte_start":598105,"byte_end":598106,"line_start":556,"line_end":556,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 259 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894072326},"span":{"file_name":"src/json_flex.rs","byte_start":598263,"byte_end":598270,"line_start":561,"line_end":561,"column_start":29,"column_end":36},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 309 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3162507782},"span":{"file_name":"src/json_flex.rs","byte_start":598607,"byte_end":598613,"line_start":572,"line_end":572,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 317 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189429254},"span":{"file_name":"src/json_flex.rs","byte_start":598654,"byte_end":598660,"line_start":573,"line_end":573,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 321 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2457864710},"span":{"file_name":"src/json_flex.rs","byte_start":598701,"byte_end":598704,"line_start":574,"line_end":574,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 329 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744392},"span":{"file_name":"src/json_flex.rs","byte_start":598766,"byte_end":598767,"line_start":575,"line_end":575,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438024},"span":{"file_name":"src/json_flex.rs","byte_start":598923,"byte_end":598930,"line_start":578,"line_end":578,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2568},"span":{"file_name":"src/json_flex.rs","byte_start":598761,"byte_end":598765,"line_start":575,"line_end":575,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091208},"span":{"file_name":"src/json_flex.rs","byte_start":599206,"byte_end":599208,"line_start":583,"line_end":583,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2568 ~ no_proto[2d88]::json_flex::json_decode::func), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030536},"span":{"file_name":"src/json_flex.rs","byte_start":599394,"byte_end":599396,"line_start":586,"line_end":586,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2568 ~ no_proto[2d88]::json_flex::json_decode::func), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476104},"span":{"file_name":"src/json_flex.rs","byte_start":599447,"byte_end":599450,"line_start":587,"line_end":587,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2568 ~ no_proto[2d88]::json_flex::json_decode::func), local_id: 73 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803553286},"span":{"file_name":"src/json_flex.rs","byte_start":600813,"byte_end":600819,"line_start":623,"line_end":623,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 470 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1535117830},"span":{"file_name":"src/json_flex.rs","byte_start":600856,"byte_end":600862,"line_start":624,"line_end":624,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 474 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1199573510},"span":{"file_name":"src/json_flex.rs","byte_start":600899,"byte_end":600902,"line_start":625,"line_end":625,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 482 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744393},"span":{"file_name":"src/json_flex.rs","byte_start":600960,"byte_end":600961,"line_start":626,"line_end":626,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2569},"span":{"file_name":"src/json_flex.rs","byte_start":600955,"byte_end":600959,"line_start":626,"line_end":626,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091209},"span":{"file_name":"src/json_flex.rs","byte_start":601362,"byte_end":601364,"line_start":634,"line_end":634,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2569 ~ no_proto[2d88]::json_flex::json_decode::func#1), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":759171590},"span":{"file_name":"src/json_flex.rs","byte_start":602684,"byte_end":602690,"line_start":667,"line_end":667,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 692 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":490736134},"span":{"file_name":"src/json_flex.rs","byte_start":602727,"byte_end":602733,"line_start":668,"line_end":668,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 696 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":54528518},"span":{"file_name":"src/json_flex.rs","byte_start":602770,"byte_end":602773,"line_start":669,"line_end":669,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 704 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744394},"span":{"file_name":"src/json_flex.rs","byte_start":602831,"byte_end":602832,"line_start":670,"line_end":670,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2570},"span":{"file_name":"src/json_flex.rs","byte_start":602826,"byte_end":602830,"line_start":670,"line_end":670,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091210},"span":{"file_name":"src/json_flex.rs","byte_start":603233,"byte_end":603235,"line_start":678,"line_end":678,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2570 ~ no_proto[2d88]::json_flex::json_decode::func#2), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1237322246},"span":{"file_name":"src/json_flex.rs","byte_start":604553,"byte_end":604559,"line_start":712,"line_end":712,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 914 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1774193158},"span":{"file_name":"src/json_flex.rs","byte_start":604596,"byte_end":604602,"line_start":713,"line_end":713,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 918 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2042628614},"span":{"file_name":"src/json_flex.rs","byte_start":604639,"byte_end":604642,"line_start":714,"line_end":714,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 926 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744395},"span":{"file_name":"src/json_flex.rs","byte_start":604700,"byte_end":604701,"line_start":715,"line_end":715,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2571},"span":{"file_name":"src/json_flex.rs","byte_start":604695,"byte_end":604699,"line_start":715,"line_end":715,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091211},"span":{"file_name":"src/json_flex.rs","byte_start":605102,"byte_end":605104,"line_start":723,"line_end":723,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2571 ~ no_proto[2d88]::json_flex::json_decode::func#3), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":471861766},"span":{"file_name":"src/json_flex.rs","byte_start":606156,"byte_end":606162,"line_start":752,"line_end":752,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1080 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1008732678},"span":{"file_name":"src/json_flex.rs","byte_start":606199,"byte_end":606205,"line_start":753,"line_end":753,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1084 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":572525062},"span":{"file_name":"src/json_flex.rs","byte_start":606242,"byte_end":606245,"line_start":754,"line_end":754,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1092 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744396},"span":{"file_name":"src/json_flex.rs","byte_start":606303,"byte_end":606304,"line_start":755,"line_end":755,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873484},"span":{"file_name":"src/json_flex.rs","byte_start":606352,"byte_end":606357,"line_start":756,"line_end":756,"column_start":33,"column_end":38},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2572},"span":{"file_name":"src/json_flex.rs","byte_start":606298,"byte_end":606302,"line_start":755,"line_end":755,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091212},"span":{"file_name":"src/json_flex.rs","byte_start":606709,"byte_end":606711,"line_start":763,"line_end":763,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2572 ~ no_proto[2d88]::json_flex::json_decode::func#4), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201329164},"span":{"file_name":"src/json_flex.rs","byte_start":606763,"byte_end":606770,"line_start":765,"line_end":765,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2572 ~ no_proto[2d88]::json_flex::json_decode::func#4), local_id: 48 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1730152966},"span":{"file_name":"src/json_flex.rs","byte_start":608317,"byte_end":608323,"line_start":803,"line_end":803,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1254 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1461717510},"span":{"file_name":"src/json_flex.rs","byte_start":608364,"byte_end":608370,"line_start":804,"line_end":804,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1258 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1327499782},"span":{"file_name":"src/json_flex.rs","byte_start":608411,"byte_end":608414,"line_start":805,"line_end":805,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1266 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744397},"span":{"file_name":"src/json_flex.rs","byte_start":608476,"byte_end":608477,"line_start":806,"line_end":806,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2573},"span":{"file_name":"src/json_flex.rs","byte_start":608471,"byte_end":608475,"line_start":806,"line_end":806,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091213},"span":{"file_name":"src/json_flex.rs","byte_start":608910,"byte_end":608912,"line_start":814,"line_end":814,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2573 ~ no_proto[2d88]::json_flex::json_decode::func#5), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1772096006},"span":{"file_name":"src/json_flex.rs","byte_start":610247,"byte_end":610248,"line_start":855,"line_end":855,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1430 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3852470790},"span":{"file_name":"src/json_flex.rs","byte_start":610364,"byte_end":610370,"line_start":859,"line_end":859,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1447 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3584035334},"span":{"file_name":"src/json_flex.rs","byte_start":610407,"byte_end":610413,"line_start":860,"line_end":860,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1451 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3449817606},"span":{"file_name":"src/json_flex.rs","byte_start":610450,"byte_end":610453,"line_start":861,"line_end":861,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1459 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744398},"span":{"file_name":"src/json_flex.rs","byte_start":610512,"byte_end":610513,"line_start":863,"line_end":863,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438030},"span":{"file_name":"src/json_flex.rs","byte_start":610657,"byte_end":610664,"line_start":866,"line_end":866,"column_start":33,"column_end":40},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2574},"span":{"file_name":"src/json_flex.rs","byte_start":610507,"byte_end":610511,"line_start":863,"line_end":863,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091214},"span":{"file_name":"src/json_flex.rs","byte_start":610920,"byte_end":610922,"line_start":871,"line_end":871,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2574 ~ no_proto[2d88]::json_flex::json_decode::func#6), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030542},"span":{"file_name":"src/json_flex.rs","byte_start":611103,"byte_end":611105,"line_start":874,"line_end":874,"column_start":61,"column_end":63},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2574 ~ no_proto[2d88]::json_flex::json_decode::func#6), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476110},"span":{"file_name":"src/json_flex.rs","byte_start":611152,"byte_end":611155,"line_start":875,"line_end":875,"column_start":41,"column_end":44},"name":"key","qualname":"key$HirId { owner: DefId(0:2574 ~ no_proto[2d88]::json_flex::json_decode::func#6), local_id: 73 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2543847942},"span":{"file_name":"src/json_flex.rs","byte_start":611973,"byte_end":611974,"line_start":897,"line_end":897,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1513 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2824866310},"span":{"file_name":"src/json_flex.rs","byte_start":612091,"byte_end":612098,"line_start":902,"line_end":902,"column_start":29,"column_end":36},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1557 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3093301766},"span":{"file_name":"src/json_flex.rs","byte_start":612440,"byte_end":612446,"line_start":911,"line_end":911,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1565 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2220886534},"span":{"file_name":"src/json_flex.rs","byte_start":612487,"byte_end":612493,"line_start":912,"line_end":912,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1569 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2489321990},"span":{"file_name":"src/json_flex.rs","byte_start":612534,"byte_end":612537,"line_start":913,"line_end":913,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1577 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744399},"span":{"file_name":"src/json_flex.rs","byte_start":612599,"byte_end":612600,"line_start":914,"line_end":914,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438031},"span":{"file_name":"src/json_flex.rs","byte_start":612756,"byte_end":612763,"line_start":917,"line_end":917,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2575},"span":{"file_name":"src/json_flex.rs","byte_start":612594,"byte_end":612598,"line_start":914,"line_end":914,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091215},"span":{"file_name":"src/json_flex.rs","byte_start":613039,"byte_end":613041,"line_start":922,"line_end":922,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2575 ~ no_proto[2d88]::json_flex::json_decode::func#7), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030543},"span":{"file_name":"src/json_flex.rs","byte_start":613234,"byte_end":613236,"line_start":925,"line_end":925,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2575 ~ no_proto[2d88]::json_flex::json_decode::func#7), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476111},"span":{"file_name":"src/json_flex.rs","byte_start":613287,"byte_end":613290,"line_start":926,"line_end":926,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2575 ~ no_proto[2d88]::json_flex::json_decode::func#7), local_id: 73 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3210742278},"span":{"file_name":"src/json_flex.rs","byte_start":614908,"byte_end":614914,"line_start":970,"line_end":970,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1789 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2162166278},"span":{"file_name":"src/json_flex.rs","byte_start":614955,"byte_end":614961,"line_start":971,"line_end":971,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1793 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2430601734},"span":{"file_name":"src/json_flex.rs","byte_start":615002,"byte_end":615005,"line_start":972,"line_end":972,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 1801 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744400},"span":{"file_name":"src/json_flex.rs","byte_start":615067,"byte_end":615068,"line_start":973,"line_end":973,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438032},"span":{"file_name":"src/json_flex.rs","byte_start":615224,"byte_end":615231,"line_start":976,"line_end":976,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2576},"span":{"file_name":"src/json_flex.rs","byte_start":615062,"byte_end":615066,"line_start":973,"line_end":973,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091216},"span":{"file_name":"src/json_flex.rs","byte_start":615513,"byte_end":615515,"line_start":982,"line_end":982,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2576 ~ no_proto[2d88]::json_flex::json_decode::func#8), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200080},"span":{"file_name":"src/json_flex.rs","byte_start":615566,"byte_end":615569,"line_start":983,"line_end":983,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2576 ~ no_proto[2d88]::json_flex::json_decode::func#8), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":806357510},"span":{"file_name":"src/json_flex.rs","byte_start":617215,"byte_end":617221,"line_start":1021,"line_end":1021,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2060 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":135268870},"span":{"file_name":"src/json_flex.rs","byte_start":617262,"byte_end":617268,"line_start":1022,"line_end":1022,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2064 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":403704326},"span":{"file_name":"src/json_flex.rs","byte_start":617309,"byte_end":617312,"line_start":1023,"line_end":1023,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2072 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744401},"span":{"file_name":"src/json_flex.rs","byte_start":617374,"byte_end":617375,"line_start":1024,"line_end":1024,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438033},"span":{"file_name":"src/json_flex.rs","byte_start":617531,"byte_end":617538,"line_start":1027,"line_end":1027,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2577},"span":{"file_name":"src/json_flex.rs","byte_start":617369,"byte_end":617373,"line_start":1024,"line_end":1024,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091217},"span":{"file_name":"src/json_flex.rs","byte_start":617820,"byte_end":617822,"line_start":1033,"line_end":1033,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2577 ~ no_proto[2d88]::json_flex::json_decode::func#9), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200081},"span":{"file_name":"src/json_flex.rs","byte_start":617873,"byte_end":617876,"line_start":1034,"line_end":1034,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2577 ~ no_proto[2d88]::json_flex::json_decode::func#9), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3633318406},"span":{"file_name":"src/json_flex.rs","byte_start":619521,"byte_end":619527,"line_start":1074,"line_end":1074,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2331 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4170189318},"span":{"file_name":"src/json_flex.rs","byte_start":619568,"byte_end":619574,"line_start":1075,"line_end":1075,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2335 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3834644998},"span":{"file_name":"src/json_flex.rs","byte_start":619615,"byte_end":619618,"line_start":1076,"line_end":1076,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2343 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744402},"span":{"file_name":"src/json_flex.rs","byte_start":619680,"byte_end":619681,"line_start":1077,"line_end":1077,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438034},"span":{"file_name":"src/json_flex.rs","byte_start":619837,"byte_end":619844,"line_start":1080,"line_end":1080,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2578},"span":{"file_name":"src/json_flex.rs","byte_start":619675,"byte_end":619679,"line_start":1077,"line_end":1077,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091218},"span":{"file_name":"src/json_flex.rs","byte_start":620126,"byte_end":620128,"line_start":1086,"line_end":1086,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2578 ~ no_proto[2d88]::json_flex::json_decode::func#10), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200082},"span":{"file_name":"src/json_flex.rs","byte_start":620179,"byte_end":620182,"line_start":1087,"line_end":1087,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2578 ~ no_proto[2d88]::json_flex::json_decode::func#10), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1334839814},"span":{"file_name":"src/json_flex.rs","byte_start":621558,"byte_end":621564,"line_start":1119,"line_end":1119,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2546 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1871710726},"span":{"file_name":"src/json_flex.rs","byte_start":621605,"byte_end":621611,"line_start":1120,"line_end":1120,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2550 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2140146182},"span":{"file_name":"src/json_flex.rs","byte_start":621652,"byte_end":621655,"line_start":1121,"line_end":1121,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2558 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744403},"span":{"file_name":"src/json_flex.rs","byte_start":621717,"byte_end":621718,"line_start":1122,"line_end":1122,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873491},"span":{"file_name":"src/json_flex.rs","byte_start":621770,"byte_end":621775,"line_start":1123,"line_end":1123,"column_start":37,"column_end":42},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438035},"span":{"file_name":"src/json_flex.rs","byte_start":621878,"byte_end":621885,"line_start":1125,"line_end":1125,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2579},"span":{"file_name":"src/json_flex.rs","byte_start":621712,"byte_end":621716,"line_start":1122,"line_end":1122,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091219},"span":{"file_name":"src/json_flex.rs","byte_start":622167,"byte_end":622169,"line_start":1131,"line_end":1131,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2579 ~ no_proto[2d88]::json_flex::json_decode::func#11), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200083},"span":{"file_name":"src/json_flex.rs","byte_start":622220,"byte_end":622223,"line_start":1132,"line_end":1132,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2579 ~ no_proto[2d88]::json_flex::json_decode::func#11), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605203},"span":{"file_name":"src/json_flex.rs","byte_start":622317,"byte_end":622322,"line_start":1133,"line_end":1133,"column_start":49,"column_end":54},"name":"value","qualname":"value$HirId { owner: DefId(0:2579 ~ no_proto[2d88]::json_flex::json_decode::func#11), local_id: 78 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2463107590},"span":{"file_name":"src/json_flex.rs","byte_start":624606,"byte_end":624607,"line_start":1187,"line_end":1187,"column_start":29,"column_end":30},"name":"v","qualname":"v$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 2889 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3083864582},"span":{"file_name":"src/json_flex.rs","byte_start":625521,"byte_end":625527,"line_start":1222,"line_end":1222,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3053 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2412775942},"span":{"file_name":"src/json_flex.rs","byte_start":625568,"byte_end":625574,"line_start":1223,"line_end":1223,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3057 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2681211398},"span":{"file_name":"src/json_flex.rs","byte_start":625615,"byte_end":625618,"line_start":1224,"line_end":1224,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3065 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744404},"span":{"file_name":"src/json_flex.rs","byte_start":625680,"byte_end":625681,"line_start":1225,"line_end":1225,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438036},"span":{"file_name":"src/json_flex.rs","byte_start":625837,"byte_end":625844,"line_start":1228,"line_end":1228,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2580},"span":{"file_name":"src/json_flex.rs","byte_start":625675,"byte_end":625679,"line_start":1225,"line_end":1225,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091220},"span":{"file_name":"src/json_flex.rs","byte_start":626120,"byte_end":626122,"line_start":1233,"line_end":1233,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2580 ~ no_proto[2d88]::json_flex::json_decode::func#12), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336916},"span":{"file_name":"src/json_flex.rs","byte_start":626295,"byte_end":626297,"line_start":1236,"line_end":1236,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2580 ~ no_proto[2d88]::json_flex::json_decode::func#12), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782484},"span":{"file_name":"src/json_flex.rs","byte_start":626349,"byte_end":626352,"line_start":1238,"line_end":1238,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2580 ~ no_proto[2d88]::json_flex::json_decode::func#12), local_id: 67 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":489687558},"span":{"file_name":"src/json_flex.rs","byte_start":627615,"byte_end":627616,"line_start":1268,"line_end":1268,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3256 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1219496454},"span":{"file_name":"src/json_flex.rs","byte_start":628182,"byte_end":628188,"line_start":1284,"line_end":1284,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3346 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1756367366},"span":{"file_name":"src/json_flex.rs","byte_start":628229,"byte_end":628235,"line_start":1285,"line_end":1285,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3350 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2024802822},"span":{"file_name":"src/json_flex.rs","byte_start":628276,"byte_end":628279,"line_start":1286,"line_end":1286,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3358 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744405},"span":{"file_name":"src/json_flex.rs","byte_start":628341,"byte_end":628342,"line_start":1287,"line_end":1287,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438037},"span":{"file_name":"src/json_flex.rs","byte_start":628498,"byte_end":628505,"line_start":1290,"line_end":1290,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2581},"span":{"file_name":"src/json_flex.rs","byte_start":628336,"byte_end":628340,"line_start":1287,"line_end":1287,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091221},"span":{"file_name":"src/json_flex.rs","byte_start":628781,"byte_end":628783,"line_start":1295,"line_end":1295,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2581 ~ no_proto[2d88]::json_flex::json_decode::func#13), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336917},"span":{"file_name":"src/json_flex.rs","byte_start":628957,"byte_end":628959,"line_start":1298,"line_end":1298,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2581 ~ no_proto[2d88]::json_flex::json_decode::func#13), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782485},"span":{"file_name":"src/json_flex.rs","byte_start":629011,"byte_end":629014,"line_start":1300,"line_end":1300,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2581 ~ no_proto[2d88]::json_flex::json_decode::func#13), local_id: 67 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3148876294},"span":{"file_name":"src/json_flex.rs","byte_start":630278,"byte_end":630279,"line_start":1330,"line_end":1330,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3549 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3966765574},"span":{"file_name":"src/json_flex.rs","byte_start":630841,"byte_end":630847,"line_start":1346,"line_end":1346,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3639 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3698330118},"span":{"file_name":"src/json_flex.rs","byte_start":630888,"byte_end":630894,"line_start":1347,"line_end":1347,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3643 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3262122502},"span":{"file_name":"src/json_flex.rs","byte_start":630935,"byte_end":630938,"line_start":1348,"line_end":1348,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3651 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744406},"span":{"file_name":"src/json_flex.rs","byte_start":631000,"byte_end":631001,"line_start":1349,"line_end":1349,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438038},"span":{"file_name":"src/json_flex.rs","byte_start":631157,"byte_end":631164,"line_start":1352,"line_end":1352,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2582},"span":{"file_name":"src/json_flex.rs","byte_start":630995,"byte_end":630999,"line_start":1349,"line_end":1349,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091222},"span":{"file_name":"src/json_flex.rs","byte_start":631440,"byte_end":631442,"line_start":1357,"line_end":1357,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2582 ~ no_proto[2d88]::json_flex::json_decode::func#14), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336918},"span":{"file_name":"src/json_flex.rs","byte_start":631615,"byte_end":631617,"line_start":1360,"line_end":1360,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2582 ~ no_proto[2d88]::json_flex::json_decode::func#14), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782486},"span":{"file_name":"src/json_flex.rs","byte_start":631668,"byte_end":631671,"line_start":1361,"line_end":1361,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2582 ~ no_proto[2d88]::json_flex::json_decode::func#14), local_id: 67 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1089473030},"span":{"file_name":"src/json_flex.rs","byte_start":632936,"byte_end":632937,"line_start":1389,"line_end":1389,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3842 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3975154182},"span":{"file_name":"src/json_flex.rs","byte_start":633180,"byte_end":633181,"line_start":1396,"line_end":1396,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3895 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1928333830},"span":{"file_name":"src/json_flex.rs","byte_start":633378,"byte_end":633384,"line_start":1399,"line_end":1399,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3918 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1257245190},"span":{"file_name":"src/json_flex.rs","byte_start":633425,"byte_end":633431,"line_start":1400,"line_end":1400,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3922 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1525680646},"span":{"file_name":"src/json_flex.rs","byte_start":633472,"byte_end":633475,"line_start":1401,"line_end":1401,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3930 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744407},"span":{"file_name":"src/json_flex.rs","byte_start":633537,"byte_end":633538,"line_start":1402,"line_end":1402,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2583},"span":{"file_name":"src/json_flex.rs","byte_start":633532,"byte_end":633536,"line_start":1402,"line_end":1402,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091223},"span":{"file_name":"src/json_flex.rs","byte_start":633971,"byte_end":633973,"line_start":1410,"line_end":1410,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2583 ~ no_proto[2d88]::json_flex::json_decode::func#15), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":703597062},"span":{"file_name":"src/json_flex.rs","byte_start":634816,"byte_end":634822,"line_start":1432,"line_end":1432,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3988 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":435161606},"span":{"file_name":"src/json_flex.rs","byte_start":634859,"byte_end":634865,"line_start":1433,"line_end":1433,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 3992 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":99617286},"span":{"file_name":"src/json_flex.rs","byte_start":634902,"byte_end":634905,"line_start":1434,"line_end":1434,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4000 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744408},"span":{"file_name":"src/json_flex.rs","byte_start":634963,"byte_end":634964,"line_start":1435,"line_end":1435,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873496},"span":{"file_name":"src/json_flex.rs","byte_start":635012,"byte_end":635017,"line_start":1436,"line_end":1436,"column_start":33,"column_end":38},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438040},"span":{"file_name":"src/json_flex.rs","byte_start":635112,"byte_end":635119,"line_start":1438,"line_end":1438,"column_start":33,"column_end":40},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2584},"span":{"file_name":"src/json_flex.rs","byte_start":634958,"byte_end":634962,"line_start":1435,"line_end":1435,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091224},"span":{"file_name":"src/json_flex.rs","byte_start":635375,"byte_end":635377,"line_start":1443,"line_end":1443,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2584 ~ no_proto[2d88]::json_flex::json_decode::func#16), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275071000},"span":{"file_name":"src/json_flex.rs","byte_start":635428,"byte_end":635435,"line_start":1444,"line_end":1444,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2584 ~ no_proto[2d88]::json_flex::json_decode::func#16), local_id: 50 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":889195032},"span":{"file_name":"src/json_flex.rs","byte_start":636190,"byte_end":636192,"line_start":1458,"line_end":1458,"column_start":61,"column_end":63},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2584 ~ no_proto[2d88]::json_flex::json_decode::func#16), local_id: 172 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":855640600},"span":{"file_name":"src/json_flex.rs","byte_start":636240,"byte_end":636243,"line_start":1460,"line_end":1460,"column_start":41,"column_end":44},"name":"key","qualname":"key$HirId { owner: DefId(0:2584 ~ no_proto[2d88]::json_flex::json_decode::func#16), local_id: 204 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385878552},"span":{"file_name":"src/json_flex.rs","byte_start":636334,"byte_end":636341,"line_start":1462,"line_end":1462,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2584 ~ no_proto[2d88]::json_flex::json_decode::func#16), local_id: 232 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785544710},"span":{"file_name":"src/json_flex.rs","byte_start":638232,"byte_end":638233,"line_start":1503,"line_end":1503,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4197 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":277350918},"span":{"file_name":"src/json_flex.rs","byte_start":639088,"byte_end":639094,"line_start":1534,"line_end":1534,"column_start":37,"column_end":43},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4360 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":814221830},"span":{"file_name":"src/json_flex.rs","byte_start":639139,"byte_end":639145,"line_start":1535,"line_end":1535,"column_start":37,"column_end":43},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4364 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":680004102},"span":{"file_name":"src/json_flex.rs","byte_start":639190,"byte_end":639193,"line_start":1536,"line_end":1536,"column_start":37,"column_end":40},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4372 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744409},"span":{"file_name":"src/json_flex.rs","byte_start":639259,"byte_end":639260,"line_start":1537,"line_end":1537,"column_start":41,"column_end":42},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873497},"span":{"file_name":"src/json_flex.rs","byte_start":639316,"byte_end":639321,"line_start":1538,"line_end":1538,"column_start":41,"column_end":46},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438041},"span":{"file_name":"src/json_flex.rs","byte_start":639432,"byte_end":639439,"line_start":1540,"line_end":1540,"column_start":41,"column_end":48},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2585},"span":{"file_name":"src/json_flex.rs","byte_start":639254,"byte_end":639258,"line_start":1537,"line_end":1537,"column_start":36,"column_end":40},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091225},"span":{"file_name":"src/json_flex.rs","byte_start":639741,"byte_end":639743,"line_start":1546,"line_end":1546,"column_start":69,"column_end":71},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2585 ~ no_proto[2d88]::json_flex::json_decode::func#17), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200089},"span":{"file_name":"src/json_flex.rs","byte_start":639798,"byte_end":639801,"line_start":1547,"line_end":1547,"column_start":49,"column_end":52},"name":"key","qualname":"key$HirId { owner: DefId(0:2585 ~ no_proto[2d88]::json_flex::json_decode::func#17), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605209},"span":{"file_name":"src/json_flex.rs","byte_start":639899,"byte_end":639904,"line_start":1548,"line_end":1548,"column_start":53,"column_end":58},"name":"value","qualname":"value$HirId { owner: DefId(0:2585 ~ no_proto[2d88]::json_flex::json_decode::func#17), local_id: 78 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2978482694},"span":{"file_name":"src/json_flex.rs","byte_start":641057,"byte_end":641064,"line_start":1569,"line_end":1569,"column_start":37,"column_end":44},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4493 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2844264966},"span":{"file_name":"src/json_flex.rs","byte_start":641468,"byte_end":641474,"line_start":1578,"line_end":1578,"column_start":41,"column_end":47},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4501 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2575829510},"span":{"file_name":"src/json_flex.rs","byte_start":641523,"byte_end":641529,"line_start":1579,"line_end":1579,"column_start":41,"column_end":47},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4505 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2240285190},"span":{"file_name":"src/json_flex.rs","byte_start":641578,"byte_end":641581,"line_start":1580,"line_end":1580,"column_start":41,"column_end":44},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4513 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744410},"span":{"file_name":"src/json_flex.rs","byte_start":641651,"byte_end":641652,"line_start":1581,"line_end":1581,"column_start":45,"column_end":46},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873498},"span":{"file_name":"src/json_flex.rs","byte_start":641712,"byte_end":641717,"line_start":1582,"line_end":1582,"column_start":45,"column_end":50},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2586},"span":{"file_name":"src/json_flex.rs","byte_start":641646,"byte_end":641650,"line_start":1581,"line_end":1581,"column_start":40,"column_end":44},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091226},"span":{"file_name":"src/json_flex.rs","byte_start":642153,"byte_end":642155,"line_start":1589,"line_end":1589,"column_start":68,"column_end":70},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2586 ~ no_proto[2d88]::json_flex::json_decode::func#18), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":931662342},"span":{"file_name":"src/json_flex.rs","byte_start":643366,"byte_end":643367,"line_start":1614,"line_end":1614,"column_start":29,"column_end":30},"name":"w","qualname":"w$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4588 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":843581958},"span":{"file_name":"src/json_flex.rs","byte_start":643965,"byte_end":643971,"line_start":1633,"line_end":1633,"column_start":37,"column_end":43},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4684 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":172493318},"span":{"file_name":"src/json_flex.rs","byte_start":644016,"byte_end":644022,"line_start":1634,"line_end":1634,"column_start":37,"column_end":43},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4688 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":440928774},"span":{"file_name":"src/json_flex.rs","byte_start":644067,"byte_end":644070,"line_start":1635,"line_end":1635,"column_start":37,"column_end":40},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4696 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744411},"span":{"file_name":"src/json_flex.rs","byte_start":644136,"byte_end":644137,"line_start":1636,"line_end":1636,"column_start":41,"column_end":42},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873499},"span":{"file_name":"src/json_flex.rs","byte_start":644193,"byte_end":644198,"line_start":1637,"line_end":1637,"column_start":41,"column_end":46},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438043},"span":{"file_name":"src/json_flex.rs","byte_start":644309,"byte_end":644316,"line_start":1639,"line_end":1639,"column_start":41,"column_end":48},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2587},"span":{"file_name":"src/json_flex.rs","byte_start":644131,"byte_end":644135,"line_start":1636,"line_end":1636,"column_start":36,"column_end":40},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091227},"span":{"file_name":"src/json_flex.rs","byte_start":644618,"byte_end":644620,"line_start":1645,"line_end":1645,"column_start":69,"column_end":71},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2587 ~ no_proto[2d88]::json_flex::json_decode::func#19), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200091},"span":{"file_name":"src/json_flex.rs","byte_start":644675,"byte_end":644678,"line_start":1646,"line_end":1646,"column_start":49,"column_end":52},"name":"key","qualname":"key$HirId { owner: DefId(0:2587 ~ no_proto[2d88]::json_flex::json_decode::func#19), local_id: 52 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605211},"span":{"file_name":"src/json_flex.rs","byte_start":644776,"byte_end":644781,"line_start":1647,"line_end":1647,"column_start":53,"column_end":58},"name":"value","qualname":"value$HirId { owner: DefId(0:2587 ~ no_proto[2d88]::json_flex::json_decode::func#19), local_id: 78 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1732774406},"span":{"file_name":"src/json_flex.rs","byte_start":645989,"byte_end":645996,"line_start":1669,"line_end":1669,"column_start":37,"column_end":44},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4838 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2001209862},"span":{"file_name":"src/json_flex.rs","byte_start":646400,"byte_end":646406,"line_start":1678,"line_end":1678,"column_start":41,"column_end":47},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4846 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1330121222},"span":{"file_name":"src/json_flex.rs","byte_start":646455,"byte_end":646461,"line_start":1679,"line_end":1679,"column_start":41,"column_end":47},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4850 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1598556678},"span":{"file_name":"src/json_flex.rs","byte_start":646510,"byte_end":646513,"line_start":1680,"line_end":1680,"column_start":41,"column_end":44},"name":"log","qualname":"log$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4858 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744412},"span":{"file_name":"src/json_flex.rs","byte_start":646583,"byte_end":646584,"line_start":1681,"line_end":1681,"column_start":45,"column_end":46},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873500},"span":{"file_name":"src/json_flex.rs","byte_start":646644,"byte_end":646649,"line_start":1682,"line_end":1682,"column_start":45,"column_end":50},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2588},"span":{"file_name":"src/json_flex.rs","byte_start":646578,"byte_end":646582,"line_start":1681,"line_end":1681,"column_start":40,"column_end":44},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091228},"span":{"file_name":"src/json_flex.rs","byte_start":647085,"byte_end":647087,"line_start":1689,"line_end":1689,"column_start":68,"column_end":70},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2588 ~ no_proto[2d88]::json_flex::json_decode::func#20), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3536325126},"span":{"file_name":"src/json_flex.rs","byte_start":648345,"byte_end":648346,"line_start":1714,"line_end":1714,"column_start":29,"column_end":30},"name":"s","qualname":"s$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 4939 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1506281990},"span":{"file_name":"src/json_flex.rs","byte_start":648834,"byte_end":648835,"line_start":1729,"line_end":1729,"column_start":29,"column_end":30},"name":"n","qualname":"n$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 5018 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3150449158},"span":{"file_name":"src/json_flex.rs","byte_start":649306,"byte_end":649307,"line_start":1745,"line_end":1745,"column_start":29,"column_end":30},"name":"n","qualname":"n$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 5085 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2552760838},"span":{"file_name":"src/json_flex.rs","byte_start":649735,"byte_end":649736,"line_start":1762,"line_end":1762,"column_start":29,"column_end":30},"name":"t","qualname":"t$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 5145 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":975702534},"span":{"file_name":"src/json_flex.rs","byte_start":650213,"byte_end":650214,"line_start":1778,"line_end":1778,"column_start":29,"column_end":30},"name":"f","qualname":"f$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 5212 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4180150790},"span":{"file_name":"src/json_flex.rs","byte_start":650693,"byte_end":650697,"line_start":1794,"line_end":1794,"column_start":29,"column_end":33},"name":"null","qualname":"null$HirId { owner: DefId(0:2566 ~ no_proto[2d88]::json_flex::json_decode), local_id: 5279 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2589},"span":{"file_name":"src/format.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"format","qualname":"::format","value":"src/format.rs","parent":null,"children":[],"decl_id":null,"docs":" # NoProto Data Format Documentaion\n \n NoProto buffers are built out of pointers and data. \n \n They are designed to hold a variable amount of data that is parsed based on a schema provided by the client.\n \n \n ## Pointers\n \n Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers.\n \n There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer.\n \n | Pointer Kind | u32 size (bytes) |\n |--------------|------------------|\n | Standard | 4 | \n | Map Item | 12 | \n | List Item | 10 |\n \n \n The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a \"1\", non packed buffers start with a \"0\".\n \n The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer.\n \n Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else.\n \n For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: \"string\"}`.\n \n ```text\n [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111]\n [ root pointer, string length, h, e, l, l, o]\n ```\n \n It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root.\n \n Let's look at the different pointer types you will encounter in a buffer.\n \n ### Standard Pointer\n This is used for any scalar or collection data types. The standard pointer is just a single u32.\n \n ### Map Item Pointer\n \n Used by items in a map object. Contains the following:\n ```text\n | address of data | next map item pointer address | address of bytes for this key |\n | u32 | u32 | u32 |\n ```\n \n Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data.\n \n The last map item pointer in a map should have a zero in the next item address for no further map items.\n \n The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key.\n \n \n ### List Item Pointer\n \n Used by items in a list object. Contains the following:\n ```text\n | address of data | next list item pointer address | item index |\n | u32 | u32 | u16 |\n ```\n \n Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence.\n \n You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order.\n \n There should be list item pointers only for indexes that have data in the list.\n \n The last list item pointer in a list should have a zero in the next item address for no further list items.\n \n \n ## Data\n \n Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated.\n \n When a pointer's address \"points\" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below.\n \n Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema.\n \n \n ### Struct (Collection)\n \n The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains:\n - 4 address (u32) pointers for the field values\n - a trailing address(u32) of the next vtable (should be zero if no more vtables)\n \n Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5`\n \n Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer.\n \n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"struct\",\n \"fields\": [\n [\"age\", {\"type\": \"u8\"}]\n ]\n }\"#)?;","sig":null,"attributes":[{"value":"/ # NoProto Data Format Documentaion","span":{"file_name":"src/format.rs","byte_start":651164,"byte_end":651202,"line_start":1,"line_end":1,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651203,"byte_end":651207,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NoProto buffers are built out of pointers and data. ","span":{"file_name":"src/format.rs","byte_start":651208,"byte_end":651265,"line_start":3,"line_end":3,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651266,"byte_end":651270,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ They are designed to hold a variable amount of data that is parsed based on a schema provided by the client.","span":{"file_name":"src/format.rs","byte_start":651271,"byte_end":651383,"line_start":5,"line_end":5,"column_start":1,"column_end":113}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651384,"byte_end":651388,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651389,"byte_end":651393,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ ## Pointers","span":{"file_name":"src/format.rs","byte_start":651394,"byte_end":651409,"line_start":8,"line_end":8,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651410,"byte_end":651414,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers.","span":{"file_name":"src/format.rs","byte_start":651415,"byte_end":651541,"line_start":10,"line_end":10,"column_start":1,"column_end":127}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651542,"byte_end":651546,"line_start":11,"line_end":11,"column_start":1,"column_end":5}},{"value":"/ There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer.","span":{"file_name":"src/format.rs","byte_start":651547,"byte_end":651793,"line_start":12,"line_end":12,"column_start":1,"column_end":247}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651794,"byte_end":651798,"line_start":13,"line_end":13,"column_start":1,"column_end":5}},{"value":"/ | Pointer Kind | u32 size (bytes) |","span":{"file_name":"src/format.rs","byte_start":651799,"byte_end":651838,"line_start":14,"line_end":14,"column_start":1,"column_end":40}},{"value":"/ |--------------|------------------|","span":{"file_name":"src/format.rs","byte_start":651839,"byte_end":651878,"line_start":15,"line_end":15,"column_start":1,"column_end":40}},{"value":"/ | Standard | 4 | ","span":{"file_name":"src/format.rs","byte_start":651879,"byte_end":651919,"line_start":16,"line_end":16,"column_start":1,"column_end":41}},{"value":"/ | Map Item | 12 | ","span":{"file_name":"src/format.rs","byte_start":651920,"byte_end":651960,"line_start":17,"line_end":17,"column_start":1,"column_end":41}},{"value":"/ | List Item | 10 |","span":{"file_name":"src/format.rs","byte_start":651961,"byte_end":652000,"line_start":18,"line_end":18,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652001,"byte_end":652006,"line_start":19,"line_end":19,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652007,"byte_end":652011,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a \"1\", non packed buffers start with a \"0\".","span":{"file_name":"src/format.rs","byte_start":652012,"byte_end":652184,"line_start":21,"line_end":21,"column_start":1,"column_end":173}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652185,"byte_end":652189,"line_start":22,"line_end":22,"column_start":1,"column_end":5}},{"value":"/ The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer.","span":{"file_name":"src/format.rs","byte_start":652190,"byte_end":652418,"line_start":23,"line_end":23,"column_start":1,"column_end":229}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652419,"byte_end":652423,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else.","span":{"file_name":"src/format.rs","byte_start":652424,"byte_end":652669,"line_start":25,"line_end":25,"column_start":1,"column_end":246}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652670,"byte_end":652674,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: \"string\"}`.","span":{"file_name":"src/format.rs","byte_start":652675,"byte_end":652804,"line_start":27,"line_end":27,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652805,"byte_end":652809,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":652810,"byte_end":652821,"line_start":29,"line_end":29,"column_start":1,"column_end":12}},{"value":"/ [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":652822,"byte_end":652885,"line_start":30,"line_end":30,"column_start":1,"column_end":64}},{"value":"/ [ root pointer, string length, h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":652886,"byte_end":652949,"line_start":31,"line_end":31,"column_start":1,"column_end":64}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":652950,"byte_end":652957,"line_start":32,"line_end":32,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652958,"byte_end":652962,"line_start":33,"line_end":33,"column_start":1,"column_end":5}},{"value":"/ It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root.","span":{"file_name":"src/format.rs","byte_start":652963,"byte_end":653132,"line_start":34,"line_end":34,"column_start":1,"column_end":170}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653133,"byte_end":653137,"line_start":35,"line_end":35,"column_start":1,"column_end":5}},{"value":"/ Let's look at the different pointer types you will encounter in a buffer.","span":{"file_name":"src/format.rs","byte_start":653138,"byte_end":653215,"line_start":36,"line_end":36,"column_start":1,"column_end":78}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653216,"byte_end":653220,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ ### Standard Pointer","span":{"file_name":"src/format.rs","byte_start":653221,"byte_end":653245,"line_start":38,"line_end":38,"column_start":1,"column_end":25}},{"value":"/ This is used for any scalar or collection data types. The standard pointer is just a single u32.","span":{"file_name":"src/format.rs","byte_start":653246,"byte_end":653347,"line_start":39,"line_end":39,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653348,"byte_end":653352,"line_start":40,"line_end":40,"column_start":1,"column_end":5}},{"value":"/ ### Map Item Pointer","span":{"file_name":"src/format.rs","byte_start":653353,"byte_end":653377,"line_start":41,"line_end":41,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653378,"byte_end":653382,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ Used by items in a map object. Contains the following:","span":{"file_name":"src/format.rs","byte_start":653383,"byte_end":653442,"line_start":43,"line_end":43,"column_start":1,"column_end":60}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":653443,"byte_end":653454,"line_start":44,"line_end":44,"column_start":1,"column_end":12}},{"value":"/ | address of data | next map item pointer address | address of bytes for this key |","span":{"file_name":"src/format.rs","byte_start":653455,"byte_end":653542,"line_start":45,"line_end":45,"column_start":1,"column_end":88}},{"value":"/ | u32 | u32 | u32 |","span":{"file_name":"src/format.rs","byte_start":653543,"byte_end":653630,"line_start":46,"line_end":46,"column_start":1,"column_end":88}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":653631,"byte_end":653638,"line_start":47,"line_end":47,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653639,"byte_end":653643,"line_start":48,"line_end":48,"column_start":1,"column_end":5}},{"value":"/ Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data.","span":{"file_name":"src/format.rs","byte_start":653644,"byte_end":653783,"line_start":49,"line_end":49,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653784,"byte_end":653788,"line_start":50,"line_end":50,"column_start":1,"column_end":5}},{"value":"/ The last map item pointer in a map should have a zero in the next item address for no further map items.","span":{"file_name":"src/format.rs","byte_start":653789,"byte_end":653897,"line_start":51,"line_end":51,"column_start":1,"column_end":109}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653898,"byte_end":653902,"line_start":52,"line_end":52,"column_start":1,"column_end":5}},{"value":"/ The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key.","span":{"file_name":"src/format.rs","byte_start":653903,"byte_end":654118,"line_start":53,"line_end":53,"column_start":1,"column_end":216}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654119,"byte_end":654123,"line_start":54,"line_end":54,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654124,"byte_end":654128,"line_start":55,"line_end":55,"column_start":1,"column_end":5}},{"value":"/ ### List Item Pointer","span":{"file_name":"src/format.rs","byte_start":654129,"byte_end":654154,"line_start":56,"line_end":56,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654155,"byte_end":654159,"line_start":57,"line_end":57,"column_start":1,"column_end":5}},{"value":"/ Used by items in a list object. Contains the following:","span":{"file_name":"src/format.rs","byte_start":654160,"byte_end":654220,"line_start":58,"line_end":58,"column_start":1,"column_end":61}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":654221,"byte_end":654232,"line_start":59,"line_end":59,"column_start":1,"column_end":12}},{"value":"/ | address of data | next list item pointer address | item index |","span":{"file_name":"src/format.rs","byte_start":654233,"byte_end":654302,"line_start":60,"line_end":60,"column_start":1,"column_end":70}},{"value":"/ | u32 | u32 | u16 |","span":{"file_name":"src/format.rs","byte_start":654303,"byte_end":654372,"line_start":61,"line_end":61,"column_start":1,"column_end":70}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":654373,"byte_end":654380,"line_start":62,"line_end":62,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654381,"byte_end":654385,"line_start":63,"line_end":63,"column_start":1,"column_end":5}},{"value":"/ Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence.","span":{"file_name":"src/format.rs","byte_start":654386,"byte_end":654518,"line_start":64,"line_end":64,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654519,"byte_end":654523,"line_start":65,"line_end":65,"column_start":1,"column_end":5}},{"value":"/ You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order.","span":{"file_name":"src/format.rs","byte_start":654524,"byte_end":654827,"line_start":66,"line_end":66,"column_start":1,"column_end":304}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654828,"byte_end":654832,"line_start":67,"line_end":67,"column_start":1,"column_end":5}},{"value":"/ There should be list item pointers only for indexes that have data in the list.","span":{"file_name":"src/format.rs","byte_start":654833,"byte_end":654916,"line_start":68,"line_end":68,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654917,"byte_end":654921,"line_start":69,"line_end":69,"column_start":1,"column_end":5}},{"value":"/ The last list item pointer in a list should have a zero in the next item address for no further list items.","span":{"file_name":"src/format.rs","byte_start":654922,"byte_end":655033,"line_start":70,"line_end":70,"column_start":1,"column_end":112}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655034,"byte_end":655038,"line_start":71,"line_end":71,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655039,"byte_end":655043,"line_start":72,"line_end":72,"column_start":1,"column_end":5}},{"value":"/ ## Data","span":{"file_name":"src/format.rs","byte_start":655044,"byte_end":655055,"line_start":73,"line_end":73,"column_start":1,"column_end":12}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655056,"byte_end":655060,"line_start":74,"line_end":74,"column_start":1,"column_end":5}},{"value":"/ Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated.","span":{"file_name":"src/format.rs","byte_start":655061,"byte_end":655212,"line_start":75,"line_end":75,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655213,"byte_end":655217,"line_start":76,"line_end":76,"column_start":1,"column_end":5}},{"value":"/ When a pointer's address \"points\" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below.","span":{"file_name":"src/format.rs","byte_start":655218,"byte_end":655400,"line_start":77,"line_end":77,"column_start":1,"column_end":183}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655401,"byte_end":655405,"line_start":78,"line_end":78,"column_start":1,"column_end":5}},{"value":"/ Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema.","span":{"file_name":"src/format.rs","byte_start":655406,"byte_end":655516,"line_start":79,"line_end":79,"column_start":1,"column_end":111}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655517,"byte_end":655521,"line_start":80,"line_end":80,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655522,"byte_end":655526,"line_start":81,"line_end":81,"column_start":1,"column_end":5}},{"value":"/ ### Struct (Collection)","span":{"file_name":"src/format.rs","byte_start":655527,"byte_end":655554,"line_start":82,"line_end":82,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655555,"byte_end":655559,"line_start":83,"line_end":83,"column_start":1,"column_end":5}},{"value":"/ The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains:","span":{"file_name":"src/format.rs","byte_start":655560,"byte_end":655668,"line_start":84,"line_end":84,"column_start":1,"column_end":109}},{"value":"/ - 4 address (u32) pointers for the field values","span":{"file_name":"src/format.rs","byte_start":655669,"byte_end":655720,"line_start":85,"line_end":85,"column_start":1,"column_end":52}},{"value":"/ - a trailing address(u32) of the next vtable (should be zero if no more vtables)","span":{"file_name":"src/format.rs","byte_start":655721,"byte_end":655805,"line_start":86,"line_end":86,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655806,"byte_end":655810,"line_start":87,"line_end":87,"column_start":1,"column_end":5}},{"value":"/ Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5`","span":{"file_name":"src/format.rs","byte_start":655811,"byte_end":655956,"line_start":88,"line_end":88,"column_start":1,"column_end":146}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655957,"byte_end":655961,"line_start":89,"line_end":89,"column_start":1,"column_end":5}},{"value":"/ Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer.","span":{"file_name":"src/format.rs","byte_start":655962,"byte_end":656154,"line_start":90,"line_end":90,"column_start":1,"column_end":193}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656155,"byte_end":656159,"line_start":91,"line_end":91,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656160,"byte_end":656164,"line_start":92,"line_end":92,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":656165,"byte_end":656172,"line_start":93,"line_end":93,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":656173,"byte_end":656207,"line_start":94,"line_end":94,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":656208,"byte_end":656237,"line_start":95,"line_end":95,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656238,"byte_end":656242,"line_start":96,"line_end":96,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":656243,"byte_end":656298,"line_start":97,"line_end":97,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/format.rs","byte_start":656299,"byte_end":656324,"line_start":98,"line_end":98,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/format.rs","byte_start":656325,"byte_end":656344,"line_start":99,"line_end":99,"column_start":1,"column_end":20}},{"value":"/ [\"age\", {\"type\": \"u8\"}]","span":{"file_name":"src/format.rs","byte_start":656345,"byte_end":656381,"line_start":100,"line_end":100,"column_start":1,"column_end":37}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":656382,"byte_end":656391,"line_start":101,"line_end":101,"column_start":1,"column_end":10}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":656392,"byte_end":656402,"line_start":102,"line_end":102,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656403,"byte_end":656406,"line_start":103,"line_end":103,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":656407,"byte_end":656457,"line_start":104,"line_end":104,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":656458,"byte_end":656494,"line_start":105,"line_end":105,"column_start":1,"column_end":37}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656495,"byte_end":656498,"line_start":106,"line_end":106,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":656499,"byte_end":656632,"line_start":107,"line_end":107,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656633,"byte_end":656637,"line_start":108,"line_end":108,"column_start":1,"column_end":5}},{"value":"/ // [0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20]","span":{"file_name":"src/format.rs","byte_start":656638,"byte_end":656731,"line_start":109,"line_end":109,"column_start":1,"column_end":94}},{"value":"/ // [ root ptr, vtable, data]","span":{"file_name":"src/format.rs","byte_start":656732,"byte_end":656825,"line_start":110,"line_end":110,"column_start":1,"column_end":94}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656826,"byte_end":656829,"line_start":111,"line_end":111,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":656830,"byte_end":656859,"line_start":112,"line_end":112,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":656860,"byte_end":656867,"line_start":113,"line_end":113,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656868,"byte_end":656872,"line_start":114,"line_end":114,"column_start":1,"column_end":5}},{"value":"/ ### List (Collection)","span":{"file_name":"src/format.rs","byte_start":656873,"byte_end":656898,"line_start":115,"line_end":115,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656899,"byte_end":656903,"line_start":116,"line_end":116,"column_start":1,"column_end":5}},{"value":"/ The list type stores two addresses (u32), one to the first `ListItem` pointer (head) and one to the last `ListItem` pointer (tail).","span":{"file_name":"src/format.rs","byte_start":656904,"byte_end":657039,"line_start":117,"line_end":117,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657040,"byte_end":657044,"line_start":118,"line_end":118,"column_start":1,"column_end":5}},{"value":"/ If there is only one list item pointer in the list, the head and tail addresses should be identical.","span":{"file_name":"src/format.rs","byte_start":657045,"byte_end":657149,"line_start":119,"line_end":119,"column_start":1,"column_end":105}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657150,"byte_end":657154,"line_start":120,"line_end":120,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657155,"byte_end":657162,"line_start":121,"line_end":121,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":657163,"byte_end":657197,"line_start":122,"line_end":122,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":657198,"byte_end":657227,"line_start":123,"line_end":123,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657228,"byte_end":657232,"line_start":124,"line_end":124,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":657233,"byte_end":657288,"line_start":125,"line_end":125,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/format.rs","byte_start":657289,"byte_end":657312,"line_start":126,"line_end":126,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":657313,"byte_end":657341,"line_start":127,"line_end":127,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":657342,"byte_end":657352,"line_start":128,"line_end":128,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":657353,"byte_end":657356,"line_start":129,"line_end":129,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":657357,"byte_end":657407,"line_start":130,"line_end":130,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"4\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":657408,"byte_end":657442,"line_start":131,"line_end":131,"column_start":1,"column_end":35}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":657443,"byte_end":657572,"line_start":132,"line_end":132,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657573,"byte_end":657577,"line_start":133,"line_end":133,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20]","span":{"file_name":"src/format.rs","byte_start":657578,"byte_end":657669,"line_start":134,"line_end":134,"column_start":1,"column_end":92}},{"value":"/ // [ root ptr, head, tail, list item ptr, data]","span":{"file_name":"src/format.rs","byte_start":657670,"byte_end":657761,"line_start":135,"line_end":135,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":657762,"byte_end":657765,"line_start":136,"line_end":136,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":657766,"byte_end":657795,"line_start":137,"line_end":137,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657796,"byte_end":657803,"line_start":138,"line_end":138,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657804,"byte_end":657808,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ ### Map (Collection)","span":{"file_name":"src/format.rs","byte_start":657809,"byte_end":657833,"line_start":140,"line_end":140,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657834,"byte_end":657838,"line_start":141,"line_end":141,"column_start":1,"column_end":5}},{"value":"/ The map type stores a single address (u32) to the first `MapItem` pointer.","span":{"file_name":"src/format.rs","byte_start":657839,"byte_end":657917,"line_start":142,"line_end":142,"column_start":1,"column_end":79}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657918,"byte_end":657922,"line_start":143,"line_end":143,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657923,"byte_end":657930,"line_start":144,"line_end":144,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":657931,"byte_end":657965,"line_start":145,"line_end":145,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":657966,"byte_end":657995,"line_start":146,"line_end":146,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657996,"byte_end":658000,"line_start":147,"line_end":147,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":658001,"byte_end":658056,"line_start":148,"line_end":148,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/format.rs","byte_start":658057,"byte_end":658079,"line_start":149,"line_end":149,"column_start":1,"column_end":23}},{"value":"/ \"value\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":658080,"byte_end":658111,"line_start":150,"line_end":150,"column_start":1,"column_end":32}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":658112,"byte_end":658122,"line_start":151,"line_end":151,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":658123,"byte_end":658126,"line_start":152,"line_end":152,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":658127,"byte_end":658177,"line_start":153,"line_end":153,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":658178,"byte_end":658214,"line_start":154,"line_end":154,"column_start":1,"column_end":37}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":658215,"byte_end":658342,"line_start":155,"line_end":155,"column_start":1,"column_end":128}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658343,"byte_end":658347,"line_start":156,"line_end":156,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20]","span":{"file_name":"src/format.rs","byte_start":658348,"byte_end":658439,"line_start":157,"line_end":157,"column_start":1,"column_end":92}},{"value":"/ // [ root ptr, map item ptr, a, g, e, data]","span":{"file_name":"src/format.rs","byte_start":658440,"byte_end":658531,"line_start":158,"line_end":158,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":658532,"byte_end":658535,"line_start":159,"line_end":159,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":658536,"byte_end":658565,"line_start":160,"line_end":160,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":658566,"byte_end":658573,"line_start":161,"line_end":161,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658574,"byte_end":658578,"line_start":162,"line_end":162,"column_start":1,"column_end":5}},{"value":"/ ### Tuple (Collection)","span":{"file_name":"src/format.rs","byte_start":658579,"byte_end":658605,"line_start":163,"line_end":163,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658606,"byte_end":658610,"line_start":164,"line_end":164,"column_start":1,"column_end":5}},{"value":"/ Tuples are stored by packing the types next to eachother.","span":{"file_name":"src/format.rs","byte_start":658611,"byte_end":658672,"line_start":165,"line_end":165,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658673,"byte_end":658677,"line_start":166,"line_end":166,"column_start":1,"column_end":5}},{"value":"/ Before each type is a byte that is either 1 or 0. It should be zero if the value has not been set, otherwise it should be one.","span":{"file_name":"src/format.rs","byte_start":658678,"byte_end":658809,"line_start":167,"line_end":167,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658810,"byte_end":658814,"line_start":168,"line_end":168,"column_start":1,"column_end":5}},{"value":"/ If a child type is flexible in size, a pointer address is put in the tuple.","span":{"file_name":"src/format.rs","byte_start":658815,"byte_end":658894,"line_start":169,"line_end":169,"column_start":1,"column_end":80}},{"value":"/ If a child type is fixed in size, it is placed inline in the tuple.","span":{"file_name":"src/format.rs","byte_start":658895,"byte_end":658966,"line_start":170,"line_end":170,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658967,"byte_end":658971,"line_start":171,"line_end":171,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":658972,"byte_end":658979,"line_start":172,"line_end":172,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":658980,"byte_end":659014,"line_start":173,"line_end":173,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":659015,"byte_end":659044,"line_start":174,"line_end":174,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659045,"byte_end":659049,"line_start":175,"line_end":175,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":659050,"byte_end":659105,"line_start":176,"line_end":176,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/format.rs","byte_start":659106,"byte_end":659129,"line_start":177,"line_end":177,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/format.rs","byte_start":659130,"byte_end":659148,"line_start":178,"line_end":178,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/format.rs","byte_start":659149,"byte_end":659175,"line_start":179,"line_end":179,"column_start":1,"column_end":27}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/format.rs","byte_start":659176,"byte_end":659206,"line_start":180,"line_end":180,"column_start":1,"column_end":31}},{"value":"/ {\"type\": \"u32\"}","span":{"file_name":"src/format.rs","byte_start":659207,"byte_end":659233,"line_start":181,"line_end":181,"column_start":1,"column_end":27}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":659234,"byte_end":659242,"line_start":182,"line_end":182,"column_start":1,"column_end":9}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":659243,"byte_end":659253,"line_start":183,"line_end":183,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659254,"byte_end":659258,"line_start":184,"line_end":184,"column_start":1,"column_end":5}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":659259,"byte_end":659262,"line_start":185,"line_end":185,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":659263,"byte_end":659313,"line_start":186,"line_end":186,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"0\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":659314,"byte_end":659348,"line_start":187,"line_end":187,"column_start":1,"column_end":35}},{"value":"/ new_buffer.set(&[\"1\"], \"hello\")?;","span":{"file_name":"src/format.rs","byte_start":659349,"byte_end":659386,"line_start":188,"line_end":188,"column_start":1,"column_end":38}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":659387,"byte_end":659530,"line_start":189,"line_end":189,"column_start":1,"column_end":144}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659531,"byte_end":659535,"line_start":190,"line_end":190,"column_start":1,"column_end":5}},{"value":"/ // [0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":659536,"byte_end":659638,"line_start":191,"line_end":191,"column_start":1,"column_end":103}},{"value":"/ // [ root ptr, u8, str ptr, u32, h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":659639,"byte_end":659741,"line_start":192,"line_end":192,"column_start":1,"column_end":103}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":659742,"byte_end":659745,"line_start":193,"line_end":193,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":659746,"byte_end":659775,"line_start":194,"line_end":194,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":659776,"byte_end":659783,"line_start":195,"line_end":195,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659784,"byte_end":659788,"line_start":196,"line_end":196,"column_start":1,"column_end":5}},{"value":"/ ### int8, int16, int32, int64 (Scalar)","span":{"file_name":"src/format.rs","byte_start":659789,"byte_end":659831,"line_start":197,"line_end":197,"column_start":1,"column_end":43}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659832,"byte_end":659836,"line_start":198,"line_end":198,"column_start":1,"column_end":5}},{"value":"/ Signed integers should be converted to unsigned values, then saved in big endian format.","span":{"file_name":"src/format.rs","byte_start":659837,"byte_end":659929,"line_start":199,"line_end":199,"column_start":1,"column_end":93}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659930,"byte_end":659934,"line_start":200,"line_end":200,"column_start":1,"column_end":5}},{"value":"/ The size of the integer should determine how many bytes are used. For example, i8 is 1 byte, i16 is 2 bytes, etc.","span":{"file_name":"src/format.rs","byte_start":659935,"byte_end":660053,"line_start":201,"line_end":201,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660054,"byte_end":660058,"line_start":202,"line_end":202,"column_start":1,"column_end":5}},{"value":"/ For example, an i8 of value -20 should be converted to 108, then saved as 108.","span":{"file_name":"src/format.rs","byte_start":660059,"byte_end":660141,"line_start":203,"line_end":203,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660142,"byte_end":660146,"line_start":204,"line_end":204,"column_start":1,"column_end":5}},{"value":"/ When it's requested by the client, it should be converted back to signed before being passed to the client.","span":{"file_name":"src/format.rs","byte_start":660147,"byte_end":660258,"line_start":205,"line_end":205,"column_start":1,"column_end":112}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660259,"byte_end":660263,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":660264,"byte_end":660271,"line_start":207,"line_end":207,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":660272,"byte_end":660306,"line_start":208,"line_end":208,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":660307,"byte_end":660336,"line_start":209,"line_end":209,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660337,"byte_end":660341,"line_start":210,"line_end":210,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":660342,"byte_end":660397,"line_start":211,"line_end":211,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\"","span":{"file_name":"src/format.rs","byte_start":660398,"byte_end":660418,"line_start":212,"line_end":212,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":660419,"byte_end":660429,"line_start":213,"line_end":213,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":660430,"byte_end":660433,"line_start":214,"line_end":214,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":660434,"byte_end":660484,"line_start":215,"line_end":215,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], -2023830i32)?;","span":{"file_name":"src/format.rs","byte_start":660485,"byte_end":660523,"line_start":216,"line_end":216,"column_start":1,"column_end":39}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 127, 225, 30, 106], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":660524,"byte_end":660611,"line_start":217,"line_end":217,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660612,"byte_end":660616,"line_start":218,"line_end":218,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 127, 225, 30, 106]","span":{"file_name":"src/format.rs","byte_start":660617,"byte_end":660662,"line_start":219,"line_end":219,"column_start":1,"column_end":46}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":660663,"byte_end":660708,"line_start":220,"line_end":220,"column_start":1,"column_end":46}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":660709,"byte_end":660712,"line_start":221,"line_end":221,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":660713,"byte_end":660742,"line_start":222,"line_end":222,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":660743,"byte_end":660750,"line_start":223,"line_end":223,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660751,"byte_end":660755,"line_start":224,"line_end":224,"column_start":1,"column_end":5}},{"value":"/ ### uint8, uint16, uint32, uint64 (Scalar)","span":{"file_name":"src/format.rs","byte_start":660756,"byte_end":660802,"line_start":225,"line_end":225,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660803,"byte_end":660807,"line_start":226,"line_end":226,"column_start":1,"column_end":5}},{"value":"/ Unsigned integers should be converted to big endian format, then saved to the buffer.","span":{"file_name":"src/format.rs","byte_start":660808,"byte_end":660897,"line_start":227,"line_end":227,"column_start":1,"column_end":90}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660898,"byte_end":660902,"line_start":228,"line_end":228,"column_start":1,"column_end":5}},{"value":"/ The size of the integer should determine how many bytes are used. For example, u8 is 1 byte, u32 is 2 bytes, etc.","span":{"file_name":"src/format.rs","byte_start":660903,"byte_end":661021,"line_start":229,"line_end":229,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661022,"byte_end":661026,"line_start":230,"line_end":230,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661027,"byte_end":661034,"line_start":231,"line_end":231,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":661035,"byte_end":661069,"line_start":232,"line_end":232,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":661070,"byte_end":661099,"line_start":233,"line_end":233,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661100,"byte_end":661104,"line_start":234,"line_end":234,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":661105,"byte_end":661160,"line_start":235,"line_end":235,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"u32\"","span":{"file_name":"src/format.rs","byte_start":661161,"byte_end":661181,"line_start":236,"line_end":236,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":661182,"byte_end":661192,"line_start":237,"line_end":237,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661193,"byte_end":661196,"line_start":238,"line_end":238,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":661197,"byte_end":661247,"line_start":239,"line_end":239,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 28378u32)?;","span":{"file_name":"src/format.rs","byte_start":661248,"byte_end":661283,"line_start":240,"line_end":240,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 110, 218], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":661284,"byte_end":661368,"line_start":241,"line_end":241,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661369,"byte_end":661373,"line_start":242,"line_end":242,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 110, 218]","span":{"file_name":"src/format.rs","byte_start":661374,"byte_end":661415,"line_start":243,"line_end":243,"column_start":1,"column_end":42}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":661416,"byte_end":661457,"line_start":244,"line_end":244,"column_start":1,"column_end":42}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661458,"byte_end":661461,"line_start":245,"line_end":245,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":661462,"byte_end":661491,"line_start":246,"line_end":246,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661492,"byte_end":661499,"line_start":247,"line_end":247,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661500,"byte_end":661504,"line_start":248,"line_end":248,"column_start":1,"column_end":5}},{"value":"/ ### float, double (Scalar)","span":{"file_name":"src/format.rs","byte_start":661505,"byte_end":661535,"line_start":249,"line_end":249,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661536,"byte_end":661540,"line_start":250,"line_end":250,"column_start":1,"column_end":5}},{"value":"/ Floating point vales should be converted to big endian format, then saved to the buffer.","span":{"file_name":"src/format.rs","byte_start":661541,"byte_end":661633,"line_start":251,"line_end":251,"column_start":1,"column_end":93}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661634,"byte_end":661638,"line_start":252,"line_end":252,"column_start":1,"column_end":5}},{"value":"/ The size of the floating point value should determine how many bytes are used. `float` is `f32` (4 bytes) and `double` is `f64` (8 bytes)","span":{"file_name":"src/format.rs","byte_start":661639,"byte_end":661781,"line_start":253,"line_end":253,"column_start":1,"column_end":143}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661782,"byte_end":661786,"line_start":254,"line_end":254,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661787,"byte_end":661794,"line_start":255,"line_end":255,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":661795,"byte_end":661829,"line_start":256,"line_end":256,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":661830,"byte_end":661859,"line_start":257,"line_end":257,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661860,"byte_end":661864,"line_start":258,"line_end":258,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":661865,"byte_end":661920,"line_start":259,"line_end":259,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"f32\"","span":{"file_name":"src/format.rs","byte_start":661921,"byte_end":661941,"line_start":260,"line_end":260,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":661942,"byte_end":661952,"line_start":261,"line_end":261,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661953,"byte_end":661956,"line_start":262,"line_end":262,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":661957,"byte_end":662007,"line_start":263,"line_end":263,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 2.389988f32)?;","span":{"file_name":"src/format.rs","byte_start":662008,"byte_end":662046,"line_start":264,"line_end":264,"column_start":1,"column_end":39}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 64, 24, 245, 144], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":662047,"byte_end":662133,"line_start":265,"line_end":265,"column_start":1,"column_end":87}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662134,"byte_end":662138,"line_start":266,"line_end":266,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 64, 24, 245, 144]","span":{"file_name":"src/format.rs","byte_start":662139,"byte_end":662182,"line_start":267,"line_end":267,"column_start":1,"column_end":44}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":662183,"byte_end":662226,"line_start":268,"line_end":268,"column_start":1,"column_end":44}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":662227,"byte_end":662230,"line_start":269,"line_end":269,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":662231,"byte_end":662260,"line_start":270,"line_end":270,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":662261,"byte_end":662268,"line_start":271,"line_end":271,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662269,"byte_end":662273,"line_start":272,"line_end":272,"column_start":1,"column_end":5}},{"value":"/ ### option (Scalar)","span":{"file_name":"src/format.rs","byte_start":662274,"byte_end":662297,"line_start":273,"line_end":273,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662298,"byte_end":662302,"line_start":274,"line_end":274,"column_start":1,"column_end":5}},{"value":"/ Option values are stored as a single `u8` value. The value should represent the zero based location in the choice set.","span":{"file_name":"src/format.rs","byte_start":662303,"byte_end":662426,"line_start":275,"line_end":275,"column_start":1,"column_end":124}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662427,"byte_end":662431,"line_start":276,"line_end":276,"column_start":1,"column_end":5}},{"value":"/ For example if the schema has `choices: [\"red\", \"blue\", \"yellow\"]` and the user selects `yellow`, this value should be `2`.","span":{"file_name":"src/format.rs","byte_start":662432,"byte_end":662559,"line_start":277,"line_end":277,"column_start":1,"column_end":128}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662560,"byte_end":662564,"line_start":278,"line_end":278,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":662565,"byte_end":662572,"line_start":279,"line_end":279,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":662573,"byte_end":662607,"line_start":280,"line_end":280,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":662608,"byte_end":662637,"line_start":281,"line_end":281,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":662638,"byte_end":662681,"line_start":282,"line_end":282,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662682,"byte_end":662686,"line_start":283,"line_end":283,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":662687,"byte_end":662742,"line_start":284,"line_end":284,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":662743,"byte_end":662767,"line_start":285,"line_end":285,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"]","span":{"file_name":"src/format.rs","byte_start":662768,"byte_end":662811,"line_start":286,"line_end":286,"column_start":1,"column_end":44}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":662812,"byte_end":662822,"line_start":287,"line_end":287,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":662823,"byte_end":662826,"line_start":288,"line_end":288,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":662827,"byte_end":662877,"line_start":289,"line_end":289,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Enum::new(\"red\"))?;","span":{"file_name":"src/format.rs","byte_start":662878,"byte_end":662924,"line_start":290,"line_end":290,"column_start":1,"column_end":47}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 2], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":662925,"byte_end":662996,"line_start":291,"line_end":291,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662997,"byte_end":663001,"line_start":292,"line_end":292,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 2]","span":{"file_name":"src/format.rs","byte_start":663002,"byte_end":663035,"line_start":293,"line_end":293,"column_start":1,"column_end":34}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":663036,"byte_end":663069,"line_start":294,"line_end":294,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663070,"byte_end":663073,"line_start":295,"line_end":295,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":663074,"byte_end":663103,"line_start":296,"line_end":296,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663104,"byte_end":663111,"line_start":297,"line_end":297,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663112,"byte_end":663116,"line_start":298,"line_end":298,"column_start":1,"column_end":5}},{"value":"/ ### bool (Scalar)","span":{"file_name":"src/format.rs","byte_start":663117,"byte_end":663138,"line_start":299,"line_end":299,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663139,"byte_end":663143,"line_start":300,"line_end":300,"column_start":1,"column_end":5}},{"value":"/ A single `u8` byte. `1` for `true`, `0` for `false`.","span":{"file_name":"src/format.rs","byte_start":663144,"byte_end":663201,"line_start":301,"line_end":301,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663202,"byte_end":663206,"line_start":302,"line_end":302,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663207,"byte_end":663214,"line_start":303,"line_end":303,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":663215,"byte_end":663249,"line_start":304,"line_end":304,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":663250,"byte_end":663279,"line_start":305,"line_end":305,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663280,"byte_end":663284,"line_start":306,"line_end":306,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":663285,"byte_end":663340,"line_start":307,"line_end":307,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/format.rs","byte_start":663341,"byte_end":663362,"line_start":308,"line_end":308,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":663363,"byte_end":663373,"line_start":309,"line_end":309,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663374,"byte_end":663377,"line_start":310,"line_end":310,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":663378,"byte_end":663428,"line_start":311,"line_end":311,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], true)?;","span":{"file_name":"src/format.rs","byte_start":663429,"byte_end":663460,"line_start":312,"line_end":312,"column_start":1,"column_end":32}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 1], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":663461,"byte_end":663532,"line_start":313,"line_end":313,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663533,"byte_end":663537,"line_start":314,"line_end":314,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 1]","span":{"file_name":"src/format.rs","byte_start":663538,"byte_end":663571,"line_start":315,"line_end":315,"column_start":1,"column_end":34}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":663572,"byte_end":663605,"line_start":316,"line_end":316,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663606,"byte_end":663609,"line_start":317,"line_end":317,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":663610,"byte_end":663639,"line_start":318,"line_end":318,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663640,"byte_end":663647,"line_start":319,"line_end":319,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663648,"byte_end":663652,"line_start":320,"line_end":320,"column_start":1,"column_end":5}},{"value":"/ ### decimal (Scalar)","span":{"file_name":"src/format.rs","byte_start":663653,"byte_end":663677,"line_start":321,"line_end":321,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663678,"byte_end":663682,"line_start":322,"line_end":322,"column_start":1,"column_end":5}},{"value":"/ Stored the same as an i64 value (including converting to unsigned format described above).","span":{"file_name":"src/format.rs","byte_start":663683,"byte_end":663777,"line_start":323,"line_end":323,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663778,"byte_end":663782,"line_start":324,"line_end":324,"column_start":1,"column_end":5}},{"value":"/ The `i64` number should be devided by `10 ^ exp` to get the true value. The `exp` value is provided in the schema.","span":{"file_name":"src/format.rs","byte_start":663783,"byte_end":663902,"line_start":325,"line_end":325,"column_start":1,"column_end":120}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663903,"byte_end":663907,"line_start":326,"line_end":326,"column_start":1,"column_end":5}},{"value":"/ For example, if you pull a `293` i64 value from the buffer and the `exp` value in the schema is `2`, the value is actually `293 / 100` or 2.93.","span":{"file_name":"src/format.rs","byte_start":663908,"byte_end":664055,"line_start":327,"line_end":327,"column_start":1,"column_end":148}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664056,"byte_end":664060,"line_start":328,"line_end":328,"column_start":1,"column_end":5}},{"value":"/ You should avoid converting the number to floating point values except for display purposes. Study the source code for the `NP_Dec` type to see how to preserve the internal i64 value correctly.","span":{"file_name":"src/format.rs","byte_start":664061,"byte_end":664259,"line_start":329,"line_end":329,"column_start":1,"column_end":199}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664260,"byte_end":664264,"line_start":330,"line_end":330,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":664265,"byte_end":664272,"line_start":331,"line_end":331,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":664273,"byte_end":664307,"line_start":332,"line_end":332,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":664308,"byte_end":664337,"line_start":333,"line_end":333,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/format.rs","byte_start":664338,"byte_end":664377,"line_start":334,"line_end":334,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664378,"byte_end":664382,"line_start":335,"line_end":335,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":664383,"byte_end":664438,"line_start":336,"line_end":336,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":664439,"byte_end":664464,"line_start":337,"line_end":337,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2","span":{"file_name":"src/format.rs","byte_start":664465,"byte_end":664480,"line_start":338,"line_end":338,"column_start":1,"column_end":16}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":664481,"byte_end":664491,"line_start":339,"line_end":339,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":664492,"byte_end":664495,"line_start":340,"line_end":340,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":664496,"byte_end":664546,"line_start":341,"line_end":341,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Dec::new(200, 0))?;","span":{"file_name":"src/format.rs","byte_start":664547,"byte_end":664593,"line_start":342,"line_end":342,"column_start":1,"column_end":47}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":664594,"byte_end":664690,"line_start":343,"line_end":343,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664691,"byte_end":664695,"line_start":344,"line_end":344,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32]","span":{"file_name":"src/format.rs","byte_start":664696,"byte_end":664750,"line_start":345,"line_end":345,"column_start":1,"column_end":55}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":664751,"byte_end":664805,"line_start":346,"line_end":346,"column_start":1,"column_end":55}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":664806,"byte_end":664809,"line_start":347,"line_end":347,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":664810,"byte_end":664839,"line_start":348,"line_end":348,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":664840,"byte_end":664847,"line_start":349,"line_end":349,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664848,"byte_end":664852,"line_start":350,"line_end":350,"column_start":1,"column_end":5}},{"value":"/ ### geo4, geo8, geo16 (Scalar)","span":{"file_name":"src/format.rs","byte_start":664853,"byte_end":664887,"line_start":351,"line_end":351,"column_start":1,"column_end":35}},{"value":"/ Each geo size uses two signed integers right next to eachother in the buffer. i16/i16 for geo4, i32/i32 for geo8 and i64/i64 for geo16","span":{"file_name":"src/format.rs","byte_start":664888,"byte_end":665027,"line_start":352,"line_end":352,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665028,"byte_end":665032,"line_start":353,"line_end":353,"column_start":1,"column_end":5}},{"value":"/ The two signed integers are converted to unsigned values before being saved into big endian format. ","span":{"file_name":"src/format.rs","byte_start":665033,"byte_end":665137,"line_start":354,"line_end":354,"column_start":1,"column_end":105}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665138,"byte_end":665142,"line_start":355,"line_end":355,"column_start":1,"column_end":5}},{"value":"/ Depending on the size, the floating point value of each geographic coordinate is multiplied by a specific value before being saved as an integer.","span":{"file_name":"src/format.rs","byte_start":665143,"byte_end":665292,"line_start":356,"line_end":356,"column_start":1,"column_end":150}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665293,"byte_end":665297,"line_start":357,"line_end":357,"column_start":1,"column_end":5}},{"value":"/ | Size | Bytes | Factor |","span":{"file_name":"src/format.rs","byte_start":665298,"byte_end":665336,"line_start":358,"line_end":358,"column_start":1,"column_end":39}},{"value":"/ |------|------------|------------|","span":{"file_name":"src/format.rs","byte_start":665337,"byte_end":665375,"line_start":359,"line_end":359,"column_start":1,"column_end":39}},{"value":"/ | 4 | i16 \\| i16 | 100 |","span":{"file_name":"src/format.rs","byte_start":665376,"byte_end":665414,"line_start":360,"line_end":360,"column_start":1,"column_end":39}},{"value":"/ | 8 | i32 \\| i32 | 10000000 |","span":{"file_name":"src/format.rs","byte_start":665415,"byte_end":665453,"line_start":361,"line_end":361,"column_start":1,"column_end":39}},{"value":"/ | 16 | i64 \\| i64 | 1000000000 |","span":{"file_name":"src/format.rs","byte_start":665454,"byte_end":665492,"line_start":362,"line_end":362,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665493,"byte_end":665497,"line_start":363,"line_end":363,"column_start":1,"column_end":5}},{"value":"/ For example, if a user provides these coordinates: 41.303921, -81.901693","span":{"file_name":"src/format.rs","byte_start":665498,"byte_end":665574,"line_start":364,"line_end":364,"column_start":1,"column_end":77}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665575,"byte_end":665579,"line_start":365,"line_end":365,"column_start":1,"column_end":5}},{"value":"/ To save into buffer:
","span":{"file_name":"src/format.rs","byte_start":665580,"byte_end":665609,"line_start":366,"line_end":366,"column_start":1,"column_end":30}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665610,"byte_end":665619,"line_start":367,"line_end":367,"column_start":1,"column_end":10}},{"value":"/ geo4:
","span":{"file_name":"src/format.rs","byte_start":665620,"byte_end":665635,"line_start":368,"line_end":368,"column_start":1,"column_end":16}},{"value":"/ 1 - Multiply by 100: (4130.3921, -8190.1693)
","span":{"file_name":"src/format.rs","byte_start":665636,"byte_end":665690,"line_start":369,"line_end":369,"column_start":1,"column_end":55}},{"value":"/ 2 - Make i16 (4130, -8190)
","span":{"file_name":"src/format.rs","byte_start":665691,"byte_end":665726,"line_start":370,"line_end":370,"column_start":1,"column_end":36}},{"value":"/ 3 - Save/convert as unsigned in big endian format
","span":{"file_name":"src/format.rs","byte_start":665727,"byte_end":665785,"line_start":371,"line_end":371,"column_start":1,"column_end":59}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665786,"byte_end":665795,"line_start":372,"line_end":372,"column_start":1,"column_end":10}},{"value":"/ geo8:
","span":{"file_name":"src/format.rs","byte_start":665796,"byte_end":665811,"line_start":373,"line_end":373,"column_start":1,"column_end":16}},{"value":"/ 1 - Multiply by 10000000: (413039210, -819016930)
","span":{"file_name":"src/format.rs","byte_start":665812,"byte_end":665870,"line_start":374,"line_end":374,"column_start":1,"column_end":59}},{"value":"/ 2 - Make i32 (413039210, -819016930)
","span":{"file_name":"src/format.rs","byte_start":665871,"byte_end":665916,"line_start":375,"line_end":375,"column_start":1,"column_end":46}},{"value":"/ 3 - Save/convert as unsigned in big endian format
","span":{"file_name":"src/format.rs","byte_start":665917,"byte_end":665975,"line_start":376,"line_end":376,"column_start":1,"column_end":59}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665976,"byte_end":665985,"line_start":377,"line_end":377,"column_start":1,"column_end":10}},{"value":"/ geo16: ....","span":{"file_name":"src/format.rs","byte_start":665986,"byte_end":666001,"line_start":378,"line_end":378,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666002,"byte_end":666006,"line_start":379,"line_end":379,"column_start":1,"column_end":5}},{"value":"/ This process is reversed when the client requests the geo data from the buffer.","span":{"file_name":"src/format.rs","byte_start":666007,"byte_end":666090,"line_start":380,"line_end":380,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666091,"byte_end":666095,"line_start":381,"line_end":381,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666096,"byte_end":666103,"line_start":382,"line_end":382,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":666104,"byte_end":666138,"line_start":383,"line_end":383,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":666139,"byte_end":666168,"line_start":384,"line_end":384,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/format.rs","byte_start":666169,"byte_end":666208,"line_start":385,"line_end":385,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666209,"byte_end":666213,"line_start":386,"line_end":386,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":666214,"byte_end":666269,"line_start":387,"line_end":387,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\"","span":{"file_name":"src/format.rs","byte_start":666270,"byte_end":666291,"line_start":388,"line_end":388,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":666292,"byte_end":666302,"line_start":389,"line_end":389,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":666303,"byte_end":666306,"line_start":390,"line_end":390,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":666307,"byte_end":666357,"line_start":391,"line_end":391,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Geo::new(8, 41.303921, -81.901693))?;","span":{"file_name":"src/format.rs","byte_start":666358,"byte_end":666422,"line_start":392,"line_end":392,"column_start":1,"column_end":65}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":666423,"byte_end":666528,"line_start":393,"line_end":393,"column_start":1,"column_end":106}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666529,"byte_end":666533,"line_start":394,"line_end":394,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30]","span":{"file_name":"src/format.rs","byte_start":666534,"byte_end":666597,"line_start":395,"line_end":395,"column_start":1,"column_end":64}},{"value":"/ // [ root ptr, latitude, longitude]","span":{"file_name":"src/format.rs","byte_start":666598,"byte_end":666661,"line_start":396,"line_end":396,"column_start":1,"column_end":64}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":666662,"byte_end":666665,"line_start":397,"line_end":397,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":666666,"byte_end":666695,"line_start":398,"line_end":398,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666696,"byte_end":666703,"line_start":399,"line_end":399,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666704,"byte_end":666708,"line_start":400,"line_end":400,"column_start":1,"column_end":5}},{"value":"/ ### ulid, uuid (Scalar)","span":{"file_name":"src/format.rs","byte_start":666709,"byte_end":666736,"line_start":401,"line_end":401,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666737,"byte_end":666741,"line_start":402,"line_end":402,"column_start":1,"column_end":5}},{"value":"/ Saved as 16 bytes following the respective formats for each data type.","span":{"file_name":"src/format.rs","byte_start":666742,"byte_end":666816,"line_start":403,"line_end":403,"column_start":1,"column_end":75}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666817,"byte_end":666821,"line_start":404,"line_end":404,"column_start":1,"column_end":5}},{"value":"/ ULIDs store the date in the first 6 bytes, then the random bytes in the last 10.","span":{"file_name":"src/format.rs","byte_start":666822,"byte_end":666906,"line_start":405,"line_end":405,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666907,"byte_end":666911,"line_start":406,"line_end":406,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666912,"byte_end":666919,"line_start":407,"line_end":407,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":666920,"byte_end":666954,"line_start":408,"line_end":408,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":666955,"byte_end":666984,"line_start":409,"line_end":409,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/format.rs","byte_start":666985,"byte_end":667026,"line_start":410,"line_end":410,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667027,"byte_end":667031,"line_start":411,"line_end":411,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":667032,"byte_end":667087,"line_start":412,"line_end":412,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/format.rs","byte_start":667088,"byte_end":667109,"line_start":413,"line_end":413,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":667110,"byte_end":667120,"line_start":414,"line_end":414,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":667121,"byte_end":667124,"line_start":415,"line_end":415,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":667125,"byte_end":667175,"line_start":416,"line_end":416,"column_start":1,"column_end":51}},{"value":"/ let uuid = NP_UUID::generate(32);","span":{"file_name":"src/format.rs","byte_start":667176,"byte_end":667213,"line_start":417,"line_end":417,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[], &uuid)?;","span":{"file_name":"src/format.rs","byte_start":667214,"byte_end":667246,"line_start":418,"line_end":418,"column_start":1,"column_end":33}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":667247,"byte_end":667389,"line_start":419,"line_end":419,"column_start":1,"column_end":143}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667390,"byte_end":667394,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252]","span":{"file_name":"src/format.rs","byte_start":667395,"byte_end":667495,"line_start":421,"line_end":421,"column_start":1,"column_end":101}},{"value":"/ // [ root ptr, UUID ]","span":{"file_name":"src/format.rs","byte_start":667496,"byte_end":667596,"line_start":422,"line_end":422,"column_start":1,"column_end":101}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":667597,"byte_end":667600,"line_start":423,"line_end":423,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":667601,"byte_end":667630,"line_start":424,"line_end":424,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":667631,"byte_end":667638,"line_start":425,"line_end":425,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667639,"byte_end":667643,"line_start":426,"line_end":426,"column_start":1,"column_end":5}},{"value":"/ ### bytes, string (Scalar)","span":{"file_name":"src/format.rs","byte_start":667644,"byte_end":667674,"line_start":427,"line_end":427,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667675,"byte_end":667679,"line_start":428,"line_end":428,"column_start":1,"column_end":5}},{"value":"/ If there is a `size` property in the schema, store the provided data and pad the remainder of the space with zeros (for bytes) or 32 (for strings).","span":{"file_name":"src/format.rs","byte_start":667680,"byte_end":667831,"line_start":429,"line_end":429,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667832,"byte_end":667836,"line_start":430,"line_end":430,"column_start":1,"column_end":5}},{"value":"/ If the provided data is too large, truncate it.","span":{"file_name":"src/format.rs","byte_start":667837,"byte_end":667888,"line_start":431,"line_end":431,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667889,"byte_end":667893,"line_start":432,"line_end":432,"column_start":1,"column_end":5}},{"value":"/ For example, if the user provideds a single byte `[22]` and the size is `3`, this should be in the buffer:","span":{"file_name":"src/format.rs","byte_start":667894,"byte_end":668004,"line_start":433,"line_end":433,"column_start":1,"column_end":111}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":668005,"byte_end":668016,"line_start":434,"line_end":434,"column_start":1,"column_end":12}},{"value":"/ [22, 0, 0]","span":{"file_name":"src/format.rs","byte_start":668017,"byte_end":668031,"line_start":435,"line_end":435,"column_start":1,"column_end":15}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668032,"byte_end":668039,"line_start":436,"line_end":436,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668040,"byte_end":668044,"line_start":437,"line_end":437,"column_start":1,"column_end":5}},{"value":"/ If there is no fixed `size` in the schema, store a size (u32) followed by the actual data.","span":{"file_name":"src/format.rs","byte_start":668045,"byte_end":668139,"line_start":438,"line_end":438,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668140,"byte_end":668144,"line_start":439,"line_end":439,"column_start":1,"column_end":5}},{"value":"/ If it's a string, the data should be utf-8 encoded when it's saved into the buffer and utf-8 decoded when it's retrieved.","span":{"file_name":"src/format.rs","byte_start":668145,"byte_end":668270,"line_start":440,"line_end":440,"column_start":1,"column_end":126}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668271,"byte_end":668275,"line_start":441,"line_end":441,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668276,"byte_end":668283,"line_start":442,"line_end":442,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":668284,"byte_end":668318,"line_start":443,"line_end":443,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":668319,"byte_end":668348,"line_start":444,"line_end":444,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668349,"byte_end":668353,"line_start":445,"line_end":445,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":668354,"byte_end":668409,"line_start":446,"line_end":446,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/format.rs","byte_start":668410,"byte_end":668433,"line_start":447,"line_end":447,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":668434,"byte_end":668444,"line_start":448,"line_end":448,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":668445,"byte_end":668448,"line_start":449,"line_end":449,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":668449,"byte_end":668499,"line_start":450,"line_end":450,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], \"hello, world!\")?;","span":{"file_name":"src/format.rs","byte_start":668500,"byte_end":668542,"line_start":451,"line_end":451,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":668543,"byte_end":668686,"line_start":452,"line_end":452,"column_start":1,"column_end":144}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668687,"byte_end":668691,"line_start":453,"line_end":453,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]","span":{"file_name":"src/format.rs","byte_start":668692,"byte_end":668795,"line_start":454,"line_end":454,"column_start":1,"column_end":104}},{"value":"/ // [ root ptr, length, h, e, l, l, o, ,, , w, o, r, l, d, !]","span":{"file_name":"src/format.rs","byte_start":668796,"byte_end":668899,"line_start":455,"line_end":455,"column_start":1,"column_end":104}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":668900,"byte_end":668903,"line_start":456,"line_end":456,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":668904,"byte_end":668933,"line_start":457,"line_end":457,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668934,"byte_end":668941,"line_start":458,"line_end":458,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668942,"byte_end":668946,"line_start":459,"line_end":459,"column_start":1,"column_end":5}},{"value":"/ ### date (Scalar)","span":{"file_name":"src/format.rs","byte_start":668947,"byte_end":668968,"line_start":460,"line_end":460,"column_start":1,"column_end":22}},{"value":"/ This is stored the same as a uint64 value, should be unix timestamp in milliseconds.","span":{"file_name":"src/format.rs","byte_start":668969,"byte_end":669057,"line_start":461,"line_end":461,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669058,"byte_end":669062,"line_start":462,"line_end":462,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":669063,"byte_end":669070,"line_start":463,"line_end":463,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":669071,"byte_end":669105,"line_start":464,"line_end":464,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":669106,"byte_end":669135,"line_start":465,"line_end":465,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/format.rs","byte_start":669136,"byte_end":669177,"line_start":466,"line_end":466,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669178,"byte_end":669182,"line_start":467,"line_end":467,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":669183,"byte_end":669238,"line_start":468,"line_end":468,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/format.rs","byte_start":669239,"byte_end":669260,"line_start":469,"line_end":469,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":669261,"byte_end":669271,"line_start":470,"line_end":470,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":669272,"byte_end":669275,"line_start":471,"line_end":471,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":669276,"byte_end":669326,"line_start":472,"line_end":472,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Date::new(1598490738507))?;","span":{"file_name":"src/format.rs","byte_start":669327,"byte_end":669381,"line_start":473,"line_end":473,"column_start":1,"column_end":55}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":669382,"byte_end":669482,"line_start":474,"line_end":474,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669483,"byte_end":669487,"line_start":475,"line_end":475,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75]","span":{"file_name":"src/format.rs","byte_start":669488,"byte_end":669546,"line_start":476,"line_end":476,"column_start":1,"column_end":59}},{"value":"/ // [ root ptr, timestamp ]","span":{"file_name":"src/format.rs","byte_start":669547,"byte_end":669605,"line_start":477,"line_end":477,"column_start":1,"column_end":59}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":669606,"byte_end":669609,"line_start":478,"line_end":478,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":669610,"byte_end":669639,"line_start":479,"line_end":479,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":669640,"byte_end":669647,"line_start":480,"line_end":480,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669648,"byte_end":669652,"line_start":481,"line_end":481,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669653,"byte_end":669657,"line_start":482,"line_end":482,"column_start":1,"column_end":5}},{"value":"/ # NoProto Schema Format Documentation","span":{"file_name":"src/format.rs","byte_start":669658,"byte_end":669699,"line_start":483,"line_end":483,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669700,"byte_end":669704,"line_start":484,"line_end":484,"column_start":1,"column_end":5}},{"value":"/ NoProto JSON schemas are compiled into a byte array as part of the parsing process.","span":{"file_name":"src/format.rs","byte_start":669705,"byte_end":669792,"line_start":485,"line_end":485,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669793,"byte_end":669797,"line_start":486,"line_end":486,"column_start":1,"column_end":5}},{"value":"/ The compiled byte array is a significantly more compact and efficient way to store the schema. It also takes almost no time to parse a byte schema, where parsing a JSON schema can be a comparitively expensive operation.","span":{"file_name":"src/format.rs","byte_start":669798,"byte_end":670022,"line_start":487,"line_end":487,"column_start":1,"column_end":225}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670023,"byte_end":670027,"line_start":488,"line_end":488,"column_start":1,"column_end":5}},{"value":"/ You can use the runtime to parse JSON schemas into byte array schemas at any time, and the JSON/byte array schemas can be used interchangebly.","span":{"file_name":"src/format.rs","byte_start":670028,"byte_end":670174,"line_start":489,"line_end":489,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670175,"byte_end":670179,"line_start":490,"line_end":490,"column_start":1,"column_end":5}},{"value":"/ The byte array schema store default values and all other supported schema properties.","span":{"file_name":"src/format.rs","byte_start":670180,"byte_end":670269,"line_start":491,"line_end":491,"column_start":1,"column_end":90}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670270,"byte_end":670274,"line_start":492,"line_end":492,"column_start":1,"column_end":5}},{"value":"/ Schema data is stored in a recursive format, each nested schema contains at least one byte that describes the data type. The single data type byte is usually but not always followed by schema data specific to that data type. The document below describes all of the data types and their specifics.","span":{"file_name":"src/format.rs","byte_start":670275,"byte_end":670577,"line_start":493,"line_end":493,"column_start":1,"column_end":303}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670578,"byte_end":670582,"line_start":494,"line_end":494,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670583,"byte_end":670587,"line_start":495,"line_end":495,"column_start":1,"column_end":5}},{"value":"/ ### int8, int16, int32, int64, uint8, uint16, uint32, uint64, float, double (Scalar)","span":{"file_name":"src/format.rs","byte_start":670588,"byte_end":670676,"line_start":496,"line_end":496,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670677,"byte_end":670681,"line_start":497,"line_end":497,"column_start":1,"column_end":5}},{"value":"/ Integer values store the data type followed by wether there is a default value or not, followed optionally by the default value","span":{"file_name":"src/format.rs","byte_start":670682,"byte_end":670813,"line_start":498,"line_end":498,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670814,"byte_end":670818,"line_start":499,"line_end":499,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":670819,"byte_end":670826,"line_start":500,"line_end":500,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":670827,"byte_end":670861,"line_start":501,"line_end":501,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":670862,"byte_end":670891,"line_start":502,"line_end":502,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670892,"byte_end":670896,"line_start":503,"line_end":503,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":670897,"byte_end":670952,"line_start":504,"line_end":504,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\",","span":{"file_name":"src/format.rs","byte_start":670953,"byte_end":670974,"line_start":505,"line_end":505,"column_start":1,"column_end":22}},{"value":"/ \"default\": 56","span":{"file_name":"src/format.rs","byte_start":670975,"byte_end":670995,"line_start":506,"line_end":506,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":670996,"byte_end":671006,"line_start":507,"line_end":507,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671007,"byte_end":671010,"line_start":508,"line_end":508,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[6, 1, 0, 0, 0, 56], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":671011,"byte_end":671079,"line_start":509,"line_end":509,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671080,"byte_end":671084,"line_start":510,"line_end":510,"column_start":1,"column_end":5}},{"value":"/ // [ 6, 1, 0, 0, 0, 56]","span":{"file_name":"src/format.rs","byte_start":671085,"byte_end":671133,"line_start":511,"line_end":511,"column_start":1,"column_end":49}},{"value":"/ // [i32 type, has default, default value]","span":{"file_name":"src/format.rs","byte_start":671134,"byte_end":671182,"line_start":512,"line_end":512,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671183,"byte_end":671187,"line_start":513,"line_end":513,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":671188,"byte_end":671243,"line_start":514,"line_end":514,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\"","span":{"file_name":"src/format.rs","byte_start":671244,"byte_end":671264,"line_start":515,"line_end":515,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":671265,"byte_end":671275,"line_start":516,"line_end":516,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671276,"byte_end":671279,"line_start":517,"line_end":517,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[6, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":671280,"byte_end":671335,"line_start":518,"line_end":518,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671336,"byte_end":671340,"line_start":519,"line_end":519,"column_start":1,"column_end":5}},{"value":"/ // [ 6, 0]","span":{"file_name":"src/format.rs","byte_start":671341,"byte_end":671371,"line_start":520,"line_end":520,"column_start":1,"column_end":31}},{"value":"/ // [i32 type, no default]","span":{"file_name":"src/format.rs","byte_start":671372,"byte_end":671402,"line_start":521,"line_end":521,"column_start":1,"column_end":31}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671403,"byte_end":671406,"line_start":522,"line_end":522,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":671407,"byte_end":671436,"line_start":523,"line_end":523,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":671437,"byte_end":671444,"line_start":524,"line_end":524,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671445,"byte_end":671449,"line_start":525,"line_end":525,"column_start":1,"column_end":5}},{"value":"/ ### option (Scalar)","span":{"file_name":"src/format.rs","byte_start":671450,"byte_end":671473,"line_start":526,"line_end":526,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671474,"byte_end":671478,"line_start":527,"line_end":527,"column_start":1,"column_end":5}},{"value":"/ Option types will store the list of options and the index of the default value, if there is one.","span":{"file_name":"src/format.rs","byte_start":671479,"byte_end":671579,"line_start":528,"line_end":528,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671580,"byte_end":671584,"line_start":529,"line_end":529,"column_start":1,"column_end":5}},{"value":"/ The second byte is `0` if there is no default, otherwise it contains the default index + 1.","span":{"file_name":"src/format.rs","byte_start":671585,"byte_end":671680,"line_start":530,"line_end":530,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671681,"byte_end":671685,"line_start":531,"line_end":531,"column_start":1,"column_end":5}},{"value":"/ The third byte contains a `u8` that is the number of options available.","span":{"file_name":"src/format.rs","byte_start":671686,"byte_end":671761,"line_start":532,"line_end":532,"column_start":1,"column_end":76}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671762,"byte_end":671766,"line_start":533,"line_end":533,"column_start":1,"column_end":5}},{"value":"/ The remaining bytes go on a loop for each option, with each loop containing 1 u8 byte at the begining describing the length of the string option, followed by the string value itself.","span":{"file_name":"src/format.rs","byte_start":671767,"byte_end":671953,"line_start":534,"line_end":534,"column_start":1,"column_end":187}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671954,"byte_end":671958,"line_start":535,"line_end":535,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":671959,"byte_end":671966,"line_start":536,"line_end":536,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":671967,"byte_end":672001,"line_start":537,"line_end":537,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":672002,"byte_end":672031,"line_start":538,"line_end":538,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":672032,"byte_end":672075,"line_start":539,"line_end":539,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672076,"byte_end":672080,"line_start":540,"line_end":540,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":672081,"byte_end":672136,"line_start":541,"line_end":541,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":672137,"byte_end":672161,"line_start":542,"line_end":542,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"],","span":{"file_name":"src/format.rs","byte_start":672162,"byte_end":672206,"line_start":543,"line_end":543,"column_start":1,"column_end":45}},{"value":"/ \"default\": \"red\"","span":{"file_name":"src/format.rs","byte_start":672207,"byte_end":672230,"line_start":544,"line_end":544,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":672231,"byte_end":672241,"line_start":545,"line_end":545,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":672242,"byte_end":672245,"line_start":546,"line_end":546,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":672246,"byte_end":672377,"line_start":547,"line_end":547,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672378,"byte_end":672382,"line_start":548,"line_end":548,"column_start":1,"column_end":5}},{"value":"/ // [ 20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100]","span":{"file_name":"src/format.rs","byte_start":672383,"byte_end":672513,"line_start":549,"line_end":549,"column_start":1,"column_end":131}},{"value":"/ // [data type, 1 based index of default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] ","span":{"file_name":"src/format.rs","byte_start":672514,"byte_end":672646,"line_start":550,"line_end":550,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672647,"byte_end":672651,"line_start":551,"line_end":551,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":672652,"byte_end":672707,"line_start":552,"line_end":552,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":672708,"byte_end":672732,"line_start":553,"line_end":553,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"]","span":{"file_name":"src/format.rs","byte_start":672733,"byte_end":672776,"line_start":554,"line_end":554,"column_start":1,"column_end":44}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":672777,"byte_end":672787,"line_start":555,"line_end":555,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":672788,"byte_end":672791,"line_start":556,"line_end":556,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":672792,"byte_end":672923,"line_start":557,"line_end":557,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672924,"byte_end":672928,"line_start":558,"line_end":558,"column_start":1,"column_end":5}},{"value":"/ // [ 20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100]","span":{"file_name":"src/format.rs","byte_start":672929,"byte_end":673046,"line_start":559,"line_end":559,"column_start":1,"column_end":118}},{"value":"/ // [data type, no default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] ","span":{"file_name":"src/format.rs","byte_start":673047,"byte_end":673166,"line_start":560,"line_end":560,"column_start":1,"column_end":120}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673167,"byte_end":673170,"line_start":561,"line_end":561,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":673171,"byte_end":673200,"line_start":562,"line_end":562,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":673201,"byte_end":673208,"line_start":563,"line_end":563,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673209,"byte_end":673213,"line_start":564,"line_end":564,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673214,"byte_end":673218,"line_start":565,"line_end":565,"column_start":1,"column_end":5}},{"value":"/ ### bool (Scalar)","span":{"file_name":"src/format.rs","byte_start":673219,"byte_end":673240,"line_start":566,"line_end":566,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673241,"byte_end":673245,"line_start":567,"line_end":567,"column_start":1,"column_end":5}},{"value":"/ The second byte of a bool schema is used to store the default value.","span":{"file_name":"src/format.rs","byte_start":673246,"byte_end":673318,"line_start":568,"line_end":568,"column_start":1,"column_end":73}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673319,"byte_end":673323,"line_start":569,"line_end":569,"column_start":1,"column_end":5}},{"value":"/ If there is no default value, the second byte is 0.
","span":{"file_name":"src/format.rs","byte_start":673324,"byte_end":673384,"line_start":570,"line_end":570,"column_start":1,"column_end":61}},{"value":"/ If the default is true, the second byte is 1.
","span":{"file_name":"src/format.rs","byte_start":673385,"byte_end":673439,"line_start":571,"line_end":571,"column_start":1,"column_end":55}},{"value":"/ If the default is false, the second byte is 2.
","span":{"file_name":"src/format.rs","byte_start":673440,"byte_end":673495,"line_start":572,"line_end":572,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673496,"byte_end":673500,"line_start":573,"line_end":573,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":673501,"byte_end":673508,"line_start":574,"line_end":574,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":673509,"byte_end":673543,"line_start":575,"line_end":575,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":673544,"byte_end":673573,"line_start":576,"line_end":576,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":673574,"byte_end":673617,"line_start":577,"line_end":577,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673618,"byte_end":673622,"line_start":578,"line_end":578,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":673623,"byte_end":673678,"line_start":579,"line_end":579,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/format.rs","byte_start":673679,"byte_end":673701,"line_start":580,"line_end":580,"column_start":1,"column_end":23}},{"value":"/ \"default\": true","span":{"file_name":"src/format.rs","byte_start":673702,"byte_end":673724,"line_start":581,"line_end":581,"column_start":1,"column_end":23}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":673725,"byte_end":673735,"line_start":582,"line_end":582,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673736,"byte_end":673739,"line_start":583,"line_end":583,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 1], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":673740,"byte_end":673796,"line_start":584,"line_end":584,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673797,"byte_end":673801,"line_start":585,"line_end":585,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 1]","span":{"file_name":"src/format.rs","byte_start":673802,"byte_end":673837,"line_start":586,"line_end":586,"column_start":1,"column_end":36}},{"value":"/ // [data type, default is true] ","span":{"file_name":"src/format.rs","byte_start":673838,"byte_end":673875,"line_start":587,"line_end":587,"column_start":1,"column_end":38}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673876,"byte_end":673880,"line_start":588,"line_end":588,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":673881,"byte_end":673936,"line_start":589,"line_end":589,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/format.rs","byte_start":673937,"byte_end":673959,"line_start":590,"line_end":590,"column_start":1,"column_end":23}},{"value":"/ \"default\": false","span":{"file_name":"src/format.rs","byte_start":673960,"byte_end":673983,"line_start":591,"line_end":591,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":673984,"byte_end":673994,"line_start":592,"line_end":592,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673995,"byte_end":673998,"line_start":593,"line_end":593,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 2], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":673999,"byte_end":674055,"line_start":594,"line_end":594,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674056,"byte_end":674060,"line_start":595,"line_end":595,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 2]","span":{"file_name":"src/format.rs","byte_start":674061,"byte_end":674097,"line_start":596,"line_end":596,"column_start":1,"column_end":37}},{"value":"/ // [data type, default is false] ","span":{"file_name":"src/format.rs","byte_start":674098,"byte_end":674136,"line_start":597,"line_end":597,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674137,"byte_end":674141,"line_start":598,"line_end":598,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674142,"byte_end":674146,"line_start":599,"line_end":599,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":674147,"byte_end":674202,"line_start":600,"line_end":600,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/format.rs","byte_start":674203,"byte_end":674224,"line_start":601,"line_end":601,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":674225,"byte_end":674235,"line_start":602,"line_end":602,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":674236,"byte_end":674239,"line_start":603,"line_end":603,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":674240,"byte_end":674296,"line_start":604,"line_end":604,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674297,"byte_end":674301,"line_start":605,"line_end":605,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 0]","span":{"file_name":"src/format.rs","byte_start":674302,"byte_end":674332,"line_start":606,"line_end":606,"column_start":1,"column_end":31}},{"value":"/ // [data type, no default] ","span":{"file_name":"src/format.rs","byte_start":674333,"byte_end":674365,"line_start":607,"line_end":607,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674366,"byte_end":674370,"line_start":608,"line_end":608,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":674371,"byte_end":674400,"line_start":609,"line_end":609,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":674401,"byte_end":674408,"line_start":610,"line_end":610,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674409,"byte_end":674413,"line_start":611,"line_end":611,"column_start":1,"column_end":5}},{"value":"/ ### decimal (Scalar)","span":{"file_name":"src/format.rs","byte_start":674414,"byte_end":674438,"line_start":612,"line_end":612,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674439,"byte_end":674443,"line_start":613,"line_end":613,"column_start":1,"column_end":5}},{"value":"/ Decimal stores the expontent in the second byte.","span":{"file_name":"src/format.rs","byte_start":674444,"byte_end":674496,"line_start":614,"line_end":614,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674497,"byte_end":674501,"line_start":615,"line_end":615,"column_start":1,"column_end":5}},{"value":"/ The third byte is 0 if there is no default value, otherwise it is 1.","span":{"file_name":"src/format.rs","byte_start":674502,"byte_end":674574,"line_start":616,"line_end":616,"column_start":1,"column_end":73}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674575,"byte_end":674579,"line_start":617,"line_end":617,"column_start":1,"column_end":5}},{"value":"/ If there is a default value, multiply the default value by (10^exp) and convert it into an i64, then save it in the bytes following the default flag byte.","span":{"file_name":"src/format.rs","byte_start":674580,"byte_end":674738,"line_start":618,"line_end":618,"column_start":1,"column_end":159}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674739,"byte_end":674743,"line_start":619,"line_end":619,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":674744,"byte_end":674751,"line_start":620,"line_end":620,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":674752,"byte_end":674786,"line_start":621,"line_end":621,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":674787,"byte_end":674816,"line_start":622,"line_end":622,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/format.rs","byte_start":674817,"byte_end":674856,"line_start":623,"line_end":623,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674857,"byte_end":674861,"line_start":624,"line_end":624,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":674862,"byte_end":674917,"line_start":625,"line_end":625,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":674918,"byte_end":674943,"line_start":626,"line_end":626,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2","span":{"file_name":"src/format.rs","byte_start":674944,"byte_end":674959,"line_start":627,"line_end":627,"column_start":1,"column_end":16}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":674960,"byte_end":674970,"line_start":628,"line_end":628,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":674971,"byte_end":674974,"line_start":629,"line_end":629,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[14, 2, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":674975,"byte_end":675034,"line_start":630,"line_end":630,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675035,"byte_end":675039,"line_start":631,"line_end":631,"column_start":1,"column_end":5}},{"value":"/ // [ 14, 2, 0]","span":{"file_name":"src/format.rs","byte_start":675040,"byte_end":675087,"line_start":632,"line_end":632,"column_start":1,"column_end":48}},{"value":"/ // [data type, expontent, no default value]","span":{"file_name":"src/format.rs","byte_start":675088,"byte_end":675135,"line_start":633,"line_end":633,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675136,"byte_end":675140,"line_start":634,"line_end":634,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":675141,"byte_end":675196,"line_start":635,"line_end":635,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":675197,"byte_end":675222,"line_start":636,"line_end":636,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2,","span":{"file_name":"src/format.rs","byte_start":675223,"byte_end":675239,"line_start":637,"line_end":637,"column_start":1,"column_end":17}},{"value":"/ \"default\": 521.32","span":{"file_name":"src/format.rs","byte_start":675240,"byte_end":675264,"line_start":638,"line_end":638,"column_start":1,"column_end":25}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":675265,"byte_end":675275,"line_start":639,"line_end":639,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":675276,"byte_end":675279,"line_start":640,"line_end":640,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":675280,"byte_end":675367,"line_start":641,"line_end":641,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675368,"byte_end":675372,"line_start":642,"line_end":642,"column_start":1,"column_end":5}},{"value":"/ // [ 14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164]","span":{"file_name":"src/format.rs","byte_start":675373,"byte_end":675449,"line_start":643,"line_end":643,"column_start":1,"column_end":77}},{"value":"/ // [data type, expontent, has default value, default value]","span":{"file_name":"src/format.rs","byte_start":675450,"byte_end":675526,"line_start":644,"line_end":644,"column_start":1,"column_end":77}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":675527,"byte_end":675530,"line_start":645,"line_end":645,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":675531,"byte_end":675560,"line_start":646,"line_end":646,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":675561,"byte_end":675568,"line_start":647,"line_end":647,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675569,"byte_end":675573,"line_start":648,"line_end":648,"column_start":1,"column_end":5}},{"value":"/ ### geo4, geo8, geo16 (Scalar)","span":{"file_name":"src/format.rs","byte_start":675574,"byte_end":675608,"line_start":649,"line_end":649,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675609,"byte_end":675613,"line_start":650,"line_end":650,"column_start":1,"column_end":5}},{"value":"/ Geo stores the size of the data type in the second byte.","span":{"file_name":"src/format.rs","byte_start":675614,"byte_end":675674,"line_start":651,"line_end":651,"column_start":1,"column_end":61}},{"value":"/ The third byte is 0 if there is no default, and 1 if there is a default.","span":{"file_name":"src/format.rs","byte_start":675675,"byte_end":675751,"line_start":652,"line_end":652,"column_start":1,"column_end":77}},{"value":"/ The remaining bytes are the default value (if there is one) parsed in the specific size designated in the second byte.","span":{"file_name":"src/format.rs","byte_start":675752,"byte_end":675874,"line_start":653,"line_end":653,"column_start":1,"column_end":123}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675875,"byte_end":675879,"line_start":654,"line_end":654,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":675880,"byte_end":675887,"line_start":655,"line_end":655,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":675888,"byte_end":675922,"line_start":656,"line_end":656,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":675923,"byte_end":675952,"line_start":657,"line_end":657,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/format.rs","byte_start":675953,"byte_end":675992,"line_start":658,"line_end":658,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675993,"byte_end":675997,"line_start":659,"line_end":659,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":675998,"byte_end":676053,"line_start":660,"line_end":660,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\"","span":{"file_name":"src/format.rs","byte_start":676054,"byte_end":676075,"line_start":661,"line_end":661,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":676076,"byte_end":676086,"line_start":662,"line_end":662,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676087,"byte_end":676090,"line_start":663,"line_end":663,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[16, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":676091,"byte_end":676150,"line_start":664,"line_end":664,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676151,"byte_end":676155,"line_start":665,"line_end":665,"column_start":1,"column_end":5}},{"value":"/ // [ 16, 8, 0]","span":{"file_name":"src/format.rs","byte_start":676156,"byte_end":676211,"line_start":666,"line_end":666,"column_start":1,"column_end":56}},{"value":"/ // [data type, geo size (4/8/16), no default value]","span":{"file_name":"src/format.rs","byte_start":676212,"byte_end":676267,"line_start":667,"line_end":667,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676268,"byte_end":676272,"line_start":668,"line_end":668,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676273,"byte_end":676277,"line_start":669,"line_end":669,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":676278,"byte_end":676333,"line_start":670,"line_end":670,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\",","span":{"file_name":"src/format.rs","byte_start":676334,"byte_end":676356,"line_start":671,"line_end":671,"column_start":1,"column_end":23}},{"value":"/ \"default\": {\"lat\": 29.2, \"lng\": -19.2}","span":{"file_name":"src/format.rs","byte_start":676357,"byte_end":676402,"line_start":672,"line_end":672,"column_start":1,"column_end":46}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":676403,"byte_end":676413,"line_start":673,"line_end":673,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676414,"byte_end":676417,"line_start":674,"line_end":674,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":676418,"byte_end":676512,"line_start":675,"line_end":675,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676513,"byte_end":676517,"line_start":676,"line_end":676,"column_start":1,"column_end":5}},{"value":"/ // [ 16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0]","span":{"file_name":"src/format.rs","byte_start":676518,"byte_end":676609,"line_start":677,"line_end":677,"column_start":1,"column_end":92}},{"value":"/ // [data type, geo size (4/8/16), has default value, geo8 value (lat/lng) ]","span":{"file_name":"src/format.rs","byte_start":676610,"byte_end":676701,"line_start":678,"line_end":678,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676702,"byte_end":676705,"line_start":679,"line_end":679,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":676706,"byte_end":676735,"line_start":680,"line_end":680,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":676736,"byte_end":676743,"line_start":681,"line_end":681,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676744,"byte_end":676748,"line_start":682,"line_end":682,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676749,"byte_end":676753,"line_start":683,"line_end":683,"column_start":1,"column_end":5}},{"value":"/ ### ulid, uuid (Scalar)","span":{"file_name":"src/format.rs","byte_start":676754,"byte_end":676781,"line_start":684,"line_end":684,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676782,"byte_end":676786,"line_start":685,"line_end":685,"column_start":1,"column_end":5}},{"value":"/ UUID and ULID do not have default options, so this data type is very simple.","span":{"file_name":"src/format.rs","byte_start":676787,"byte_end":676867,"line_start":686,"line_end":686,"column_start":1,"column_end":81}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676868,"byte_end":676872,"line_start":687,"line_end":687,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":676873,"byte_end":676880,"line_start":688,"line_end":688,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":676881,"byte_end":676915,"line_start":689,"line_end":689,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":676916,"byte_end":676945,"line_start":690,"line_end":690,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/format.rs","byte_start":676946,"byte_end":676987,"line_start":691,"line_end":691,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676988,"byte_end":676992,"line_start":692,"line_end":692,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":676993,"byte_end":677048,"line_start":693,"line_end":693,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/format.rs","byte_start":677049,"byte_end":677070,"line_start":694,"line_end":694,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":677071,"byte_end":677081,"line_start":695,"line_end":695,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677082,"byte_end":677085,"line_start":696,"line_end":696,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[17], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":677086,"byte_end":677139,"line_start":697,"line_end":697,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677140,"byte_end":677144,"line_start":698,"line_end":698,"column_start":1,"column_end":5}},{"value":"/ // [ 17]","span":{"file_name":"src/format.rs","byte_start":677145,"byte_end":677163,"line_start":699,"line_end":699,"column_start":1,"column_end":19}},{"value":"/ // [data type]","span":{"file_name":"src/format.rs","byte_start":677164,"byte_end":677182,"line_start":700,"line_end":700,"column_start":1,"column_end":19}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677183,"byte_end":677186,"line_start":701,"line_end":701,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":677187,"byte_end":677216,"line_start":702,"line_end":702,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":677217,"byte_end":677224,"line_start":703,"line_end":703,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677225,"byte_end":677229,"line_start":704,"line_end":704,"column_start":1,"column_end":5}},{"value":"/ ### bytes, string (Scalar)","span":{"file_name":"src/format.rs","byte_start":677230,"byte_end":677260,"line_start":705,"line_end":705,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677261,"byte_end":677265,"line_start":706,"line_end":706,"column_start":1,"column_end":5}},{"value":"/ The second and third bytes are a u32 of the fixed size. If there is no fixed size, these two bytes are zero.","span":{"file_name":"src/format.rs","byte_start":677266,"byte_end":677379,"line_start":707,"line_end":707,"column_start":1,"column_end":114}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677380,"byte_end":677384,"line_start":708,"line_end":708,"column_start":1,"column_end":5}},{"value":"/ Thhe length of the default value follows as a u32, if there is no default value the u32 is zero. If there is a default value, it follows the length bytes.","span":{"file_name":"src/format.rs","byte_start":677385,"byte_end":677544,"line_start":709,"line_end":709,"column_start":1,"column_end":160}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677545,"byte_end":677549,"line_start":710,"line_end":710,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":677550,"byte_end":677557,"line_start":711,"line_end":711,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":677558,"byte_end":677592,"line_start":712,"line_end":712,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":677593,"byte_end":677622,"line_start":713,"line_end":713,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677623,"byte_end":677627,"line_start":714,"line_end":714,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":677628,"byte_end":677683,"line_start":715,"line_end":715,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/format.rs","byte_start":677684,"byte_end":677707,"line_start":716,"line_end":716,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":677708,"byte_end":677718,"line_start":717,"line_end":717,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677719,"byte_end":677722,"line_start":718,"line_end":718,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":677723,"byte_end":677796,"line_start":719,"line_end":719,"column_start":1,"column_end":74}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677797,"byte_end":677801,"line_start":720,"line_end":720,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":677802,"byte_end":677881,"line_start":721,"line_end":721,"column_start":1,"column_end":80}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ]","span":{"file_name":"src/format.rs","byte_start":677882,"byte_end":677961,"line_start":722,"line_end":722,"column_start":1,"column_end":80}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677962,"byte_end":677965,"line_start":723,"line_end":723,"column_start":1,"column_end":4}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":677966,"byte_end":678021,"line_start":724,"line_end":724,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/format.rs","byte_start":678022,"byte_end":678046,"line_start":725,"line_end":725,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20","span":{"file_name":"src/format.rs","byte_start":678047,"byte_end":678064,"line_start":726,"line_end":726,"column_start":1,"column_end":18}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":678065,"byte_end":678075,"line_start":727,"line_end":727,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678076,"byte_end":678079,"line_start":728,"line_end":728,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":678080,"byte_end":678154,"line_start":729,"line_end":729,"column_start":1,"column_end":75}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678155,"byte_end":678159,"line_start":730,"line_end":730,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 20, 0, 0]","span":{"file_name":"src/format.rs","byte_start":678160,"byte_end":678239,"line_start":731,"line_end":731,"column_start":1,"column_end":80}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ]","span":{"file_name":"src/format.rs","byte_start":678240,"byte_end":678319,"line_start":732,"line_end":732,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678320,"byte_end":678324,"line_start":733,"line_end":733,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":678325,"byte_end":678380,"line_start":734,"line_end":734,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/format.rs","byte_start":678381,"byte_end":678405,"line_start":735,"line_end":735,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20,","span":{"file_name":"src/format.rs","byte_start":678406,"byte_end":678424,"line_start":736,"line_end":736,"column_start":1,"column_end":19}},{"value":"/ \"default\": \"hello\"","span":{"file_name":"src/format.rs","byte_start":678425,"byte_end":678450,"line_start":737,"line_end":737,"column_start":1,"column_end":26}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":678451,"byte_end":678461,"line_start":738,"line_end":738,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678462,"byte_end":678465,"line_start":739,"line_end":739,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":678466,"byte_end":678565,"line_start":740,"line_end":740,"column_start":1,"column_end":100}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678566,"byte_end":678570,"line_start":741,"line_end":741,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":678571,"byte_end":678675,"line_start":742,"line_end":742,"column_start":1,"column_end":105}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16), h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":678676,"byte_end":678780,"line_start":743,"line_end":743,"column_start":1,"column_end":105}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678781,"byte_end":678784,"line_start":744,"line_end":744,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":678785,"byte_end":678814,"line_start":745,"line_end":745,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":678815,"byte_end":678822,"line_start":746,"line_end":746,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678823,"byte_end":678827,"line_start":747,"line_end":747,"column_start":1,"column_end":5}},{"value":"/ ### date (Scalar)","span":{"file_name":"src/format.rs","byte_start":678828,"byte_end":678849,"line_start":748,"line_end":748,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678850,"byte_end":678854,"line_start":749,"line_end":749,"column_start":1,"column_end":5}},{"value":"/ The second byte is a 1 if there is a default value, 0 otherwise.","span":{"file_name":"src/format.rs","byte_start":678855,"byte_end":678923,"line_start":750,"line_end":750,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678924,"byte_end":678928,"line_start":751,"line_end":751,"column_start":1,"column_end":5}},{"value":"/ If there is a default value it follows the second byte.","span":{"file_name":"src/format.rs","byte_start":678929,"byte_end":678988,"line_start":752,"line_end":752,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678989,"byte_end":678993,"line_start":753,"line_end":753,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":678994,"byte_end":679001,"line_start":754,"line_end":754,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":679002,"byte_end":679036,"line_start":755,"line_end":755,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":679037,"byte_end":679066,"line_start":756,"line_end":756,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/format.rs","byte_start":679067,"byte_end":679108,"line_start":757,"line_end":757,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679109,"byte_end":679113,"line_start":758,"line_end":758,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":679114,"byte_end":679169,"line_start":759,"line_end":759,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/format.rs","byte_start":679170,"byte_end":679191,"line_start":760,"line_end":760,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":679192,"byte_end":679202,"line_start":761,"line_end":761,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679203,"byte_end":679206,"line_start":762,"line_end":762,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[19, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":679207,"byte_end":679263,"line_start":763,"line_end":763,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679264,"byte_end":679268,"line_start":764,"line_end":764,"column_start":1,"column_end":5}},{"value":"/ // [ 19, 0]","span":{"file_name":"src/format.rs","byte_start":679269,"byte_end":679302,"line_start":765,"line_end":765,"column_start":1,"column_end":34}},{"value":"/ // [data type, default flag ]","span":{"file_name":"src/format.rs","byte_start":679303,"byte_end":679336,"line_start":766,"line_end":766,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679337,"byte_end":679341,"line_start":767,"line_end":767,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":679342,"byte_end":679397,"line_start":768,"line_end":768,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\",","span":{"file_name":"src/format.rs","byte_start":679398,"byte_end":679420,"line_start":769,"line_end":769,"column_start":1,"column_end":23}},{"value":"/ \"default\": 1604862252","span":{"file_name":"src/format.rs","byte_start":679421,"byte_end":679449,"line_start":770,"line_end":770,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":679450,"byte_end":679460,"line_start":771,"line_end":771,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679461,"byte_end":679464,"line_start":772,"line_end":772,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[19, 1, 0, 0, 0, 0, 95, 168, 65, 44], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":679465,"byte_end":679550,"line_start":773,"line_end":773,"column_start":1,"column_end":86}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679551,"byte_end":679555,"line_start":774,"line_end":774,"column_start":1,"column_end":5}},{"value":"/ // [ 19, 1, 0, 0, 0, 0, 95, 168, 65, 44]","span":{"file_name":"src/format.rs","byte_start":679556,"byte_end":679617,"line_start":775,"line_end":775,"column_start":1,"column_end":62}},{"value":"/ // [data type, default flag, default value ]","span":{"file_name":"src/format.rs","byte_start":679618,"byte_end":679679,"line_start":776,"line_end":776,"column_start":1,"column_end":62}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679680,"byte_end":679683,"line_start":777,"line_end":777,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":679684,"byte_end":679713,"line_start":778,"line_end":778,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":679714,"byte_end":679721,"line_start":779,"line_end":779,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679722,"byte_end":679726,"line_start":780,"line_end":780,"column_start":1,"column_end":5}},{"value":"/ ## Collection Schemas","span":{"file_name":"src/format.rs","byte_start":679727,"byte_end":679752,"line_start":781,"line_end":781,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679753,"byte_end":679757,"line_start":782,"line_end":782,"column_start":1,"column_end":5}},{"value":"/ Collection based schemas nest schemas in a way that allows any type to be the child of any collection, including other collections.","span":{"file_name":"src/format.rs","byte_start":679758,"byte_end":679893,"line_start":783,"line_end":783,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679894,"byte_end":679898,"line_start":784,"line_end":784,"column_start":1,"column_end":5}},{"value":"/ ### Struct (collection)","span":{"file_name":"src/format.rs","byte_start":679899,"byte_end":679926,"line_start":785,"line_end":785,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679927,"byte_end":679931,"line_start":786,"line_end":786,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":679932,"byte_end":679939,"line_start":787,"line_end":787,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":679940,"byte_end":679974,"line_start":788,"line_end":788,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":679975,"byte_end":680004,"line_start":789,"line_end":789,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680005,"byte_end":680009,"line_start":790,"line_end":790,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":680010,"byte_end":680065,"line_start":791,"line_end":791,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/format.rs","byte_start":680066,"byte_end":680091,"line_start":792,"line_end":792,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/format.rs","byte_start":680092,"byte_end":680111,"line_start":793,"line_end":793,"column_start":1,"column_end":20}},{"value":"/ [\"age\", {\"type\": \"u8\"}],","span":{"file_name":"src/format.rs","byte_start":680112,"byte_end":680149,"line_start":794,"line_end":794,"column_start":1,"column_end":38}},{"value":"/ [\"name\", {\"type\": \"string\"}]","span":{"file_name":"src/format.rs","byte_start":680150,"byte_end":680190,"line_start":795,"line_end":795,"column_start":1,"column_end":41}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":680191,"byte_end":680200,"line_start":796,"line_end":796,"column_start":1,"column_end":10}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":680201,"byte_end":680211,"line_start":797,"line_end":797,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680212,"byte_end":680215,"line_start":798,"line_end":798,"column_start":1,"column_end":4}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680216,"byte_end":680219,"line_start":799,"line_end":799,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":680220,"byte_end":680357,"line_start":800,"line_end":800,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680358,"byte_end":680362,"line_start":801,"line_end":801,"column_start":1,"column_end":5}},{"value":"/ // [21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":680363,"byte_end":680458,"line_start":802,"line_end":802,"column_start":1,"column_end":96}},{"value":"/ // [data type, # of fields, a, g, e, field schema size (u32), field schema, n, a, m, e, field schema size (u32), field schema ]","span":{"file_name":"src/format.rs","byte_start":680459,"byte_end":680619,"line_start":803,"line_end":803,"column_start":1,"column_end":161}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680620,"byte_end":680623,"line_start":804,"line_end":804,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":680624,"byte_end":680653,"line_start":805,"line_end":805,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":680654,"byte_end":680661,"line_start":806,"line_end":806,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680662,"byte_end":680666,"line_start":807,"line_end":807,"column_start":1,"column_end":5}},{"value":"/ ### List (Collection)","span":{"file_name":"src/format.rs","byte_start":680667,"byte_end":680692,"line_start":808,"line_end":808,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680693,"byte_end":680697,"line_start":809,"line_end":809,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":680698,"byte_end":680705,"line_start":810,"line_end":810,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":680706,"byte_end":680740,"line_start":811,"line_end":811,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":680741,"byte_end":680770,"line_start":812,"line_end":812,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680771,"byte_end":680775,"line_start":813,"line_end":813,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":680776,"byte_end":680831,"line_start":814,"line_end":814,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/format.rs","byte_start":680832,"byte_end":680855,"line_start":815,"line_end":815,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":680856,"byte_end":680884,"line_start":816,"line_end":816,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":680885,"byte_end":680895,"line_start":817,"line_end":817,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680896,"byte_end":680899,"line_start":818,"line_end":818,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[23, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":680900,"byte_end":680959,"line_start":819,"line_end":819,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680960,"byte_end":680964,"line_start":820,"line_end":820,"column_start":1,"column_end":5}},{"value":"/ // [ 23, 8, 0]","span":{"file_name":"src/format.rs","byte_start":680965,"byte_end":680996,"line_start":821,"line_end":821,"column_start":1,"column_end":32}},{"value":"/ // [data type, \"of\" schema]","span":{"file_name":"src/format.rs","byte_start":680997,"byte_end":681028,"line_start":822,"line_end":822,"column_start":1,"column_end":32}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681029,"byte_end":681032,"line_start":823,"line_end":823,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":681033,"byte_end":681062,"line_start":824,"line_end":824,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681063,"byte_end":681070,"line_start":825,"line_end":825,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681071,"byte_end":681075,"line_start":826,"line_end":826,"column_start":1,"column_end":5}},{"value":"/ ### Map (Collection)","span":{"file_name":"src/format.rs","byte_start":681076,"byte_end":681100,"line_start":827,"line_end":827,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681101,"byte_end":681105,"line_start":828,"line_end":828,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681106,"byte_end":681113,"line_start":829,"line_end":829,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":681114,"byte_end":681148,"line_start":830,"line_end":830,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":681149,"byte_end":681178,"line_start":831,"line_end":831,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681179,"byte_end":681183,"line_start":832,"line_end":832,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":681184,"byte_end":681239,"line_start":833,"line_end":833,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/format.rs","byte_start":681240,"byte_end":681262,"line_start":834,"line_end":834,"column_start":1,"column_end":23}},{"value":"/ \"value\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":681263,"byte_end":681294,"line_start":835,"line_end":835,"column_start":1,"column_end":32}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":681295,"byte_end":681305,"line_start":836,"line_end":836,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681306,"byte_end":681310,"line_start":837,"line_end":837,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(&[22, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":681311,"byte_end":681370,"line_start":838,"line_end":838,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681371,"byte_end":681375,"line_start":839,"line_end":839,"column_start":1,"column_end":5}},{"value":"/ // [ 22, 8, 0]","span":{"file_name":"src/format.rs","byte_start":681376,"byte_end":681408,"line_start":840,"line_end":840,"column_start":1,"column_end":33}},{"value":"/ // [data type, value schema]","span":{"file_name":"src/format.rs","byte_start":681409,"byte_end":681441,"line_start":841,"line_end":841,"column_start":1,"column_end":33}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681442,"byte_end":681445,"line_start":842,"line_end":842,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":681446,"byte_end":681475,"line_start":843,"line_end":843,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681476,"byte_end":681483,"line_start":844,"line_end":844,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681484,"byte_end":681488,"line_start":845,"line_end":845,"column_start":1,"column_end":5}},{"value":"/ ### Tuple (Collection)","span":{"file_name":"src/format.rs","byte_start":681489,"byte_end":681515,"line_start":846,"line_end":846,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681516,"byte_end":681520,"line_start":847,"line_end":847,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681521,"byte_end":681528,"line_start":848,"line_end":848,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":681529,"byte_end":681563,"line_start":849,"line_end":849,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":681564,"byte_end":681593,"line_start":850,"line_end":850,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681594,"byte_end":681598,"line_start":851,"line_end":851,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":681599,"byte_end":681654,"line_start":852,"line_end":852,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/format.rs","byte_start":681655,"byte_end":681678,"line_start":853,"line_end":853,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/format.rs","byte_start":681679,"byte_end":681697,"line_start":854,"line_end":854,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/format.rs","byte_start":681698,"byte_end":681724,"line_start":855,"line_end":855,"column_start":1,"column_end":27}},{"value":"/ {\"type\": \"string\"}","span":{"file_name":"src/format.rs","byte_start":681725,"byte_end":681754,"line_start":856,"line_end":856,"column_start":1,"column_end":30}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":681755,"byte_end":681763,"line_start":857,"line_end":857,"column_start":1,"column_end":9}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":681764,"byte_end":681774,"line_start":858,"line_end":858,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681775,"byte_end":681778,"line_start":859,"line_end":859,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":681779,"byte_end":681880,"line_start":860,"line_end":860,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681881,"byte_end":681885,"line_start":861,"line_end":861,"column_start":1,"column_end":5}},{"value":"/ // [ 24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":681886,"byte_end":681998,"line_start":862,"line_end":862,"column_start":1,"column_end":113}},{"value":"/ // [data type, sorted, length (u8), schema size (u16), schema, schema size (u16), schema ]","span":{"file_name":"src/format.rs","byte_start":681999,"byte_end":682111,"line_start":863,"line_end":863,"column_start":1,"column_end":113}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":682112,"byte_end":682115,"line_start":864,"line_end":864,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":682116,"byte_end":682145,"line_start":865,"line_end":865,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":682146,"byte_end":682153,"line_start":866,"line_end":866,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682154,"byte_end":682158,"line_start":867,"line_end":867,"column_start":1,"column_end":5}},{"value":"/ ### Portal (Collection/Scalar)","span":{"file_name":"src/format.rs","byte_start":682159,"byte_end":682193,"line_start":868,"line_end":868,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682194,"byte_end":682198,"line_start":869,"line_end":869,"column_start":1,"column_end":5}},{"value":"/ ### Union (Collection/Scalar)","span":{"file_name":"src/format.rs","byte_start":682199,"byte_end":682232,"line_start":870,"line_end":870,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682233,"byte_end":682237,"line_start":871,"line_end":871,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682238,"byte_end":682242,"line_start":872,"line_end":872,"column_start":1,"column_end":5}}]},{"kind":"Mod","id":{"krate":0,"index":2590},"span":{"file_name":"src/memory.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"memory","qualname":"::memory","value":"src/memory.rs","parent":null,"children":[{"krate":0,"index":2591},{"krate":0,"index":2592},{"krate":0,"index":2595},{"krate":0,"index":2596},{"krate":0,"index":2599},{"krate":0,"index":2602},{"krate":0,"index":3762},{"krate":0,"index":3770},{"krate":0,"index":3771},{"krate":0,"index":3774},{"krate":0,"index":3776},{"krate":0,"index":3782},{"krate":0,"index":2605},{"krate":0,"index":2606},{"krate":0,"index":2608}],"decl_id":null,"docs":" Internal buffer memory management\n","sig":null,"attributes":[{"value":"/ Internal buffer memory management","span":{"file_name":"src/memory.rs","byte_start":682243,"byte_end":682280,"line_start":1,"line_end":1,"column_start":1,"column_end":38}}]},{"kind":"StructVariant","id":{"krate":0,"index":3763},"span":{"file_name":"src/memory.rs","byte_start":682474,"byte_end":682479,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"name":"Owned","qualname":"::memory::NP_Memory_Kind::Owned","value":"NP_Memory_Kind::Owned { vec }","parent":{"krate":0,"index":3762},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3764},"span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"name":"vec","qualname":"::memory::NP_Memory_Kind::Owned::vec","value":"alloc::vec::Vec","parent":{"krate":0,"index":3763},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3765},"span":{"file_name":"src/memory.rs","byte_start":682502,"byte_end":682505,"line_start":12,"line_end":12,"column_start":5,"column_end":8},"name":"Ref","qualname":"::memory::NP_Memory_Kind::Ref","value":"NP_Memory_Kind::Ref { vec }","parent":{"krate":0,"index":3762},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3766},"span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"name":"vec","qualname":"::memory::NP_Memory_Kind::Ref::vec","value":"*const [u8]","parent":{"krate":0,"index":3765},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3767},"span":{"file_name":"src/memory.rs","byte_start":682532,"byte_end":682538,"line_start":13,"line_end":13,"column_start":5,"column_end":11},"name":"RefMut","qualname":"::memory::NP_Memory_Kind::RefMut","value":"NP_Memory_Kind::RefMut { vec, len }","parent":{"krate":0,"index":3762},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3768},"span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"name":"vec","qualname":"::memory::NP_Memory_Kind::RefMut::vec","value":"*mut [u8]","parent":{"krate":0,"index":3767},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3769},"span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"name":"len","qualname":"::memory::NP_Memory_Kind::RefMut::len","value":"usize","parent":{"krate":0,"index":3767},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3762},"span":{"file_name":"src/memory.rs","byte_start":682453,"byte_end":682467,"line_start":10,"line_end":10,"column_start":10,"column_end":24},"name":"NP_Memory_Kind","qualname":"::memory::NP_Memory_Kind","value":"pub enum NP_Memory_Kind {\n Owned {\n vec: Vec,\n },\n Ref {\n vec: *const [u8],\n },\n RefMut {\n vec: *mut [u8],\n len: usize,\n },\n}","parent":null,"children":[{"krate":0,"index":3763},{"krate":0,"index":3765},{"krate":0,"index":3767}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3776},"span":{"file_name":"src/memory.rs","byte_start":682618,"byte_end":682627,"line_start":20,"line_end":20,"column_start":12,"column_end":21},"name":"NP_Memory","qualname":"::memory::NP_Memory","value":"NP_Memory { bytes, root, schema, max_size, is_mutable }","parent":null,"children":[{"krate":0,"index":3777},{"krate":0,"index":3778},{"krate":0,"index":3779},{"krate":0,"index":3780},{"krate":0,"index":3781}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3777},"span":{"file_name":"src/memory.rs","byte_start":682634,"byte_end":682639,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"name":"bytes","qualname":"::memory::NP_Memory::bytes","value":"core::cell::UnsafeCell","parent":{"krate":0,"index":3776},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3778},"span":{"file_name":"src/memory.rs","byte_start":682677,"byte_end":682681,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"name":"root","qualname":"::memory::NP_Memory::root","value":"usize","parent":{"krate":0,"index":3776},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3779},"span":{"file_name":"src/memory.rs","byte_start":682698,"byte_end":682704,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"name":"schema","qualname":"::memory::NP_Memory::schema","value":"*const alloc::vec::Vec","parent":{"krate":0,"index":3776},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3780},"span":{"file_name":"src/memory.rs","byte_start":682744,"byte_end":682752,"line_start":24,"line_end":24,"column_start":9,"column_end":17},"name":"max_size","qualname":"::memory::NP_Memory::max_size","value":"usize","parent":{"krate":0,"index":3776},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3781},"span":{"file_name":"src/memory.rs","byte_start":682769,"byte_end":682779,"line_start":25,"line_end":25,"column_start":9,"column_end":19},"name":"is_mutable","qualname":"::memory::NP_Memory::is_mutable","value":"bool","parent":{"krate":0,"index":3776},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744431},"span":{"file_name":"src/memory.rs","byte_start":682866,"byte_end":682870,"line_start":31,"line_end":31,"column_start":15,"column_end":19},"name":"self","qualname":"::clone::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2607},"span":{"file_name":"src/memory.rs","byte_start":682859,"byte_end":682864,"line_start":31,"line_end":31,"column_start":8,"column_end":13},"name":"clone","qualname":"::clone","value":"fn clone(&Self) -> Self","parent":{"krate":1,"index":2645},"children":[],"decl_id":{"krate":1,"index":2646},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744433},"span":{"file_name":"src/memory.rs","byte_start":683228,"byte_end":683233,"line_start":46,"line_end":46,"column_start":27,"column_end":32},"name":"bytes","qualname":"::existing_owned::bytes","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873521},"span":{"file_name":"src/memory.rs","byte_start":683244,"byte_end":683250,"line_start":46,"line_end":46,"column_start":43,"column_end":49},"name":"schema","qualname":"::existing_owned::schema","value":"*const alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615345},"span":{"file_name":"src/memory.rs","byte_start":683282,"byte_end":683286,"line_start":46,"line_end":46,"column_start":81,"column_end":85},"name":"root","qualname":"::existing_owned::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2609},"span":{"file_name":"src/memory.rs","byte_start":683213,"byte_end":683227,"line_start":46,"line_end":46,"column_start":12,"column_end":26},"name":"existing_owned","qualname":"::existing_owned","value":"pub fn existing_owned(Vec, *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683184,"byte_end":683201,"line_start":45,"line_end":45,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744434},"span":{"file_name":"src/memory.rs","byte_start":683574,"byte_end":683579,"line_start":58,"line_end":58,"column_start":25,"column_end":30},"name":"bytes","qualname":"::existing_ref::bytes","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873522},"span":{"file_name":"src/memory.rs","byte_start":683594,"byte_end":683600,"line_start":58,"line_end":58,"column_start":45,"column_end":51},"name":"schema","qualname":"::existing_ref::schema","value":"*const alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615346},"span":{"file_name":"src/memory.rs","byte_start":683632,"byte_end":683636,"line_start":58,"line_end":58,"column_start":83,"column_end":87},"name":"root","qualname":"::existing_ref::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2610},"span":{"file_name":"src/memory.rs","byte_start":683561,"byte_end":683573,"line_start":58,"line_end":58,"column_start":12,"column_end":24},"name":"existing_ref","qualname":"::existing_ref","value":"pub fn existing_ref(*const [u8], *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683532,"byte_end":683549,"line_start":57,"line_end":57,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744435},"span":{"file_name":"src/memory.rs","byte_start":683911,"byte_end":683916,"line_start":70,"line_end":70,"column_start":29,"column_end":34},"name":"bytes","qualname":"::existing_ref_mut::bytes","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873523},"span":{"file_name":"src/memory.rs","byte_start":683929,"byte_end":683932,"line_start":70,"line_end":70,"column_start":47,"column_end":50},"name":"len","qualname":"::existing_ref_mut::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615347},"span":{"file_name":"src/memory.rs","byte_start":683941,"byte_end":683947,"line_start":70,"line_end":70,"column_start":59,"column_end":65},"name":"schema","qualname":"::existing_ref_mut::schema","value":"*const alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438067},"span":{"file_name":"src/memory.rs","byte_start":683979,"byte_end":683983,"line_start":70,"line_end":70,"column_start":97,"column_end":101},"name":"root","qualname":"::existing_ref_mut::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2611},"span":{"file_name":"src/memory.rs","byte_start":683894,"byte_end":683910,"line_start":70,"line_end":70,"column_start":12,"column_end":28},"name":"existing_ref_mut","qualname":"::existing_ref_mut","value":"pub fn existing_ref_mut(*mut [u8], usize, *const Vec, usize)\n-> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683865,"byte_end":683882,"line_start":69,"line_end":69,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744436},"span":{"file_name":"src/memory.rs","byte_start":684290,"byte_end":684298,"line_start":82,"line_end":82,"column_start":16,"column_end":24},"name":"capacity","qualname":"::new::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873524},"span":{"file_name":"src/memory.rs","byte_start":684315,"byte_end":684321,"line_start":82,"line_end":82,"column_start":41,"column_end":47},"name":"schema","qualname":"::new::schema","value":"*const alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615348},"span":{"file_name":"src/memory.rs","byte_start":684353,"byte_end":684357,"line_start":82,"line_end":82,"column_start":79,"column_end":83},"name":"root","qualname":"::new::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2612},"span":{"file_name":"src/memory.rs","byte_start":684286,"byte_end":684289,"line_start":82,"line_end":82,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(Option, *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":684257,"byte_end":684274,"line_start":81,"line_end":81,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2818574900},"span":{"file_name":"src/memory.rs","byte_start":684388,"byte_end":684396,"line_start":83,"line_end":83,"column_start":13,"column_end":21},"name":"use_size","qualname":"use_size$HirId { owner: DefId(0:2612 ~ no_proto[2d88]::memory::{impl#2}::new), local_id: 21 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489663540},"span":{"file_name":"src/memory.rs","byte_start":684433,"byte_end":684434,"line_start":84,"line_end":84,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2612 ~ no_proto[2d88]::memory::{impl#2}::new), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752180},"span":{"file_name":"src/memory.rs","byte_start":684495,"byte_end":684504,"line_start":88,"line_end":88,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2612 ~ no_proto[2d88]::memory::{impl#2}::new), local_id: 31 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744438},"span":{"file_name":"src/memory.rs","byte_start":684888,"byte_end":684893,"line_start":103,"line_end":103,"column_start":24,"column_end":29},"name":"bytes","qualname":"::new_ref_mut::bytes","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873526},"span":{"file_name":"src/memory.rs","byte_start":684906,"byte_end":684912,"line_start":103,"line_end":103,"column_start":42,"column_end":48},"name":"schema","qualname":"::new_ref_mut::schema","value":"*const alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615350},"span":{"file_name":"src/memory.rs","byte_start":684944,"byte_end":684948,"line_start":103,"line_end":103,"column_start":80,"column_end":84},"name":"root","qualname":"::new_ref_mut::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2614},"span":{"file_name":"src/memory.rs","byte_start":684876,"byte_end":684887,"line_start":103,"line_end":103,"column_start":12,"column_end":23},"name":"new_ref_mut","qualname":"::new_ref_mut","value":"pub fn new_ref_mut(*mut [u8], *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":684847,"byte_end":684864,"line_start":102,"line_end":102,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744439},"span":{"file_name":"src/memory.rs","byte_start":685221,"byte_end":685225,"line_start":114,"line_end":114,"column_start":23,"column_end":27},"name":"self","qualname":"::new_empty::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873527},"span":{"file_name":"src/memory.rs","byte_start":685227,"byte_end":685235,"line_start":114,"line_end":114,"column_start":29,"column_end":37},"name":"capacity","qualname":"::new_empty::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2615},"span":{"file_name":"src/memory.rs","byte_start":685210,"byte_end":685219,"line_start":114,"line_end":114,"column_start":12,"column_end":21},"name":"new_empty","qualname":"::new_empty","value":"pub fn new_empty(&Self, Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445815},"span":{"file_name":"src/memory.rs","byte_start":685292,"byte_end":685300,"line_start":115,"line_end":115,"column_start":13,"column_end":21},"name":"use_size","qualname":"use_size$HirId { owner: DefId(0:2615 ~ no_proto[2d88]::memory::{impl#2}::new_empty), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415921719},"span":{"file_name":"src/memory.rs","byte_start":685337,"byte_end":685338,"line_start":116,"line_end":116,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2615 ~ no_proto[2d88]::memory::{impl#2}::new_empty), local_id: 9 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087010359},"span":{"file_name":"src/memory.rs","byte_start":685399,"byte_end":685408,"line_start":120,"line_end":120,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2615 ~ no_proto[2d88]::memory::{impl#2}::new_empty), local_id: 29 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744441},"span":{"file_name":"src/memory.rs","byte_start":685790,"byte_end":685794,"line_start":134,"line_end":134,"column_start":24,"column_end":28},"name":"self","qualname":"::is_ref_mut::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2617},"span":{"file_name":"src/memory.rs","byte_start":685778,"byte_end":685788,"line_start":134,"line_end":134,"column_start":12,"column_end":22},"name":"is_ref_mut","qualname":"::is_ref_mut","value":"pub fn is_ref_mut(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050809},"span":{"file_name":"src/memory.rs","byte_start":685818,"byte_end":685828,"line_start":135,"line_end":135,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2617 ~ no_proto[2d88]::memory::{impl#2}::is_ref_mut), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744442},"span":{"file_name":"src/memory.rs","byte_start":686008,"byte_end":686012,"line_start":143,"line_end":143,"column_start":28,"column_end":32},"name":"self","qualname":"::set_length::self","value":"&mut memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873530},"span":{"file_name":"src/memory.rs","byte_start":686014,"byte_end":686021,"line_start":143,"line_end":143,"column_start":34,"column_end":41},"name":"new_len","qualname":"::set_length::new_len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2618},"span":{"file_name":"src/memory.rs","byte_start":685992,"byte_end":686002,"line_start":143,"line_end":143,"column_start":12,"column_end":22},"name":"set_length","qualname":"::set_length","value":"pub fn set_length(&mut Self, usize) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220346},"span":{"file_name":"src/memory.rs","byte_start":686069,"byte_end":686079,"line_start":145,"line_end":145,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2618 ~ no_proto[2d88]::memory::{impl#2}::set_length), local_id: 16 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159674},"span":{"file_name":"src/memory.rs","byte_start":686438,"byte_end":686441,"line_start":156,"line_end":156,"column_start":38,"column_end":41},"name":"len","qualname":"len$HirId { owner: DefId(0:2618 ~ no_proto[2d88]::memory::{impl#2}::set_length), local_id: 46 }","value":"&mut usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744443},"span":{"file_name":"src/memory.rs","byte_start":686580,"byte_end":686584,"line_start":165,"line_end":165,"column_start":32,"column_end":36},"name":"self","qualname":"::set_max_length::self","value":"&mut memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873531},"span":{"file_name":"src/memory.rs","byte_start":686586,"byte_end":686589,"line_start":165,"line_end":165,"column_start":38,"column_end":41},"name":"len","qualname":"::set_max_length::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2619},"span":{"file_name":"src/memory.rs","byte_start":686560,"byte_end":686574,"line_start":165,"line_end":165,"column_start":12,"column_end":26},"name":"set_max_length","qualname":"::set_max_length","value":"pub fn set_max_length(&mut Self, usize)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220347},"span":{"file_name":"src/memory.rs","byte_start":686613,"byte_end":686623,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2619 ~ no_proto[2d88]::memory::{impl#2}::set_max_length), local_id: 16 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744444},"span":{"file_name":"src/memory.rs","byte_start":687093,"byte_end":687097,"line_start":183,"line_end":183,"column_start":20,"column_end":24},"name":"self","qualname":"::length::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2620},"span":{"file_name":"src/memory.rs","byte_start":687085,"byte_end":687091,"line_start":183,"line_end":183,"column_start":12,"column_end":18},"name":"length","qualname":"::length","value":"pub fn length(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687056,"byte_end":687073,"line_start":182,"line_end":182,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050812},"span":{"file_name":"src/memory.rs","byte_start":687122,"byte_end":687132,"line_start":184,"line_end":184,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2620 ~ no_proto[2d88]::memory::{impl#2}::length), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091260},"span":{"file_name":"src/memory.rs","byte_start":687229,"byte_end":687232,"line_start":186,"line_end":186,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2620 ~ no_proto[2d88]::memory::{impl#2}::length), local_id: 20 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336956},"span":{"file_name":"src/memory.rs","byte_start":687330,"byte_end":687333,"line_start":188,"line_end":188,"column_start":38,"column_end":41},"name":"len","qualname":"len$HirId { owner: DefId(0:2620 ~ no_proto[2d88]::memory::{impl#2}::length), local_id: 35 }","value":"&usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744445},"span":{"file_name":"src/memory.rs","byte_start":687411,"byte_end":687415,"line_start":193,"line_end":193,"column_start":25,"column_end":29},"name":"self","qualname":"::get_schemas::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2621},"span":{"file_name":"src/memory.rs","byte_start":687398,"byte_end":687409,"line_start":193,"line_end":193,"column_start":12,"column_end":23},"name":"get_schemas","qualname":"::get_schemas","value":"pub fn get_schemas(&Self) -> &Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687369,"byte_end":687386,"line_start":192,"line_end":192,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744446},"span":{"file_name":"src/memory.rs","byte_start":687530,"byte_end":687534,"line_start":198,"line_end":198,"column_start":24,"column_end":28},"name":"self","qualname":"::get_schema::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873534},"span":{"file_name":"src/memory.rs","byte_start":687536,"byte_end":687539,"line_start":198,"line_end":198,"column_start":30,"column_end":33},"name":"idx","qualname":"::get_schema::idx","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2622},"span":{"file_name":"src/memory.rs","byte_start":687518,"byte_end":687528,"line_start":198,"line_end":198,"column_start":12,"column_end":22},"name":"get_schema","qualname":"::get_schema","value":"pub fn get_schema(&Self, usize) -> &NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687489,"byte_end":687506,"line_start":197,"line_end":197,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744447},"span":{"file_name":"src/memory.rs","byte_start":687667,"byte_end":687671,"line_start":203,"line_end":203,"column_start":27,"column_end":31},"name":"self","qualname":"::malloc_borrow::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873535},"span":{"file_name":"src/memory.rs","byte_start":687673,"byte_end":687678,"line_start":203,"line_end":203,"column_start":33,"column_end":38},"name":"bytes","qualname":"::malloc_borrow::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2623},"span":{"file_name":"src/memory.rs","byte_start":687652,"byte_end":687665,"line_start":203,"line_end":203,"column_start":12,"column_end":25},"name":"malloc_borrow","qualname":"::malloc_borrow","value":"pub fn malloc_borrow(&Self, &[u8]) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687623,"byte_end":687640,"line_start":202,"line_end":202,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3489663551},"span":{"file_name":"src/memory.rs","byte_start":687730,"byte_end":687738,"line_start":205,"line_end":205,"column_start":13,"column_end":21},"name":"location","qualname":"location$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159679},"span":{"file_name":"src/memory.rs","byte_start":687918,"byte_end":687928,"line_start":212,"line_end":212,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 46 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200127},"span":{"file_name":"src/memory.rs","byte_start":688030,"byte_end":688033,"line_start":215,"line_end":215,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 52 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774783},"span":{"file_name":"src/memory.rs","byte_start":688251,"byte_end":688254,"line_start":221,"line_end":221,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 80 }","value":"&mut *mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241516607},"span":{"file_name":"src/memory.rs","byte_start":688256,"byte_end":688259,"line_start":221,"line_end":221,"column_start":43,"column_end":46},"name":"len","qualname":"len$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 82 }","value":"&mut usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822975},"span":{"file_name":"src/memory.rs","byte_start":688287,"byte_end":688288,"line_start":222,"line_end":222,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 94 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714111},"span":{"file_name":"src/memory.rs","byte_start":688372,"byte_end":688373,"line_start":224,"line_end":224,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 110 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4127197759},"span":{"file_name":"src/memory.rs","byte_start":688375,"byte_end":688376,"line_start":224,"line_end":224,"column_start":25,"column_end":26},"name":"b","qualname":"b$HirId { owner: DefId(0:2623 ~ no_proto[2d88]::memory::{impl#2}::malloc_borrow), local_id: 111 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744448},"span":{"file_name":"src/memory.rs","byte_start":688572,"byte_end":688576,"line_start":236,"line_end":236,"column_start":20,"column_end":24},"name":"self","qualname":"::malloc::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873536},"span":{"file_name":"src/memory.rs","byte_start":688578,"byte_end":688583,"line_start":236,"line_end":236,"column_start":26,"column_end":31},"name":"bytes","qualname":"::malloc::bytes","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2624},"span":{"file_name":"src/memory.rs","byte_start":688564,"byte_end":688570,"line_start":236,"line_end":236,"column_start":12,"column_end":18},"name":"malloc","qualname":"::malloc","value":"pub fn malloc(&Self, Vec) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":688535,"byte_end":688552,"line_start":235,"line_end":235,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744449},"span":{"file_name":"src/memory.rs","byte_start":688710,"byte_end":688714,"line_start":241,"line_end":241,"column_start":24,"column_end":28},"name":"self","qualname":"::read_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2625},"span":{"file_name":"src/memory.rs","byte_start":688698,"byte_end":688708,"line_start":241,"line_end":241,"column_start":12,"column_end":22},"name":"read_bytes","qualname":"::read_bytes","value":"pub fn read_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":688669,"byte_end":688686,"line_start":240,"line_end":240,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050817},"span":{"file_name":"src/memory.rs","byte_start":688739,"byte_end":688749,"line_start":242,"line_end":242,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2625 ~ no_proto[2d88]::memory::{impl#2}::read_bytes), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091265},"span":{"file_name":"src/memory.rs","byte_start":688846,"byte_end":688849,"line_start":244,"line_end":244,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2625 ~ no_proto[2d88]::memory::{impl#2}::read_bytes), local_id: 20 }","value":"&alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752193},"span":{"file_name":"src/memory.rs","byte_start":688899,"byte_end":688902,"line_start":245,"line_end":245,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2625 ~ no_proto[2d88]::memory::{impl#2}::read_bytes), local_id: 31 }","value":"&*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417857},"span":{"file_name":"src/memory.rs","byte_start":688964,"byte_end":688967,"line_start":246,"line_end":246,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2625 ~ no_proto[2d88]::memory::{impl#2}::read_bytes), local_id: 44 }","value":"&*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744450},"span":{"file_name":"src/memory.rs","byte_start":689062,"byte_end":689066,"line_start":251,"line_end":251,"column_start":25,"column_end":29},"name":"self","qualname":"::write_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2626},"span":{"file_name":"src/memory.rs","byte_start":689049,"byte_end":689060,"line_start":251,"line_end":251,"column_start":12,"column_end":23},"name":"write_bytes","qualname":"::write_bytes","value":"pub fn write_bytes(&Self) -> &mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689020,"byte_end":689037,"line_start":250,"line_end":250,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050818},"span":{"file_name":"src/memory.rs","byte_start":689095,"byte_end":689105,"line_start":252,"line_end":252,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 14 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091266},"span":{"file_name":"src/memory.rs","byte_start":689206,"byte_end":689209,"line_start":254,"line_end":254,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 20 }","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752194},"span":{"file_name":"src/memory.rs","byte_start":689263,"byte_end":689266,"line_start":255,"line_end":255,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 31 }","value":"&mut *const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207874},"span":{"file_name":"src/memory.rs","byte_start":689301,"byte_end":689310,"line_start":256,"line_end":256,"column_start":21,"column_end":30},"name":"const_ptr","qualname":"const_ptr$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 39 }","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812866},"span":{"file_name":"src/memory.rs","byte_start":689339,"byte_end":689346,"line_start":257,"line_end":257,"column_start":21,"column_end":28},"name":"mut_ptr","qualname":"mut_ptr$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 49 }","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690990146},"span":{"file_name":"src/memory.rs","byte_start":689455,"byte_end":689458,"line_start":260,"line_end":260,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[2d88]::memory::{impl#2}::write_bytes), local_id: 59 }","value":"&mut *mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744451},"span":{"file_name":"src/memory.rs","byte_start":689553,"byte_end":689557,"line_start":265,"line_end":265,"column_start":24,"column_end":28},"name":"self","qualname":"::get_1_byte::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873539},"span":{"file_name":"src/memory.rs","byte_start":689559,"byte_end":689566,"line_start":265,"line_end":265,"column_start":30,"column_end":37},"name":"address","qualname":"::get_1_byte::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2627},"span":{"file_name":"src/memory.rs","byte_start":689541,"byte_end":689551,"line_start":265,"line_end":265,"column_start":12,"column_end":22},"name":"get_1_byte","qualname":"::get_1_byte","value":"pub fn get_1_byte(&Self, usize) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689512,"byte_end":689529,"line_start":264,"line_end":264,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744452},"span":{"file_name":"src/memory.rs","byte_start":689772,"byte_end":689776,"line_start":276,"line_end":276,"column_start":25,"column_end":29},"name":"self","qualname":"::get_2_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873540},"span":{"file_name":"src/memory.rs","byte_start":689778,"byte_end":689785,"line_start":276,"line_end":276,"column_start":31,"column_end":38},"name":"address","qualname":"::get_2_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2628},"span":{"file_name":"src/memory.rs","byte_start":689759,"byte_end":689770,"line_start":276,"line_end":276,"column_start":12,"column_end":23},"name":"get_2_bytes","qualname":"::get_2_bytes","value":"pub fn get_2_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689730,"byte_end":689747,"line_start":275,"line_end":275,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655812},"span":{"file_name":"src/memory.rs","byte_start":689914,"byte_end":689924,"line_start":283,"line_end":283,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2628 ~ no_proto[2d88]::memory::{impl#2}::get_2_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506500},"span":{"file_name":"src/memory.rs","byte_start":690039,"byte_end":690044,"line_start":289,"line_end":289,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2628 ~ no_proto[2d88]::memory::{impl#2}::get_2_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744455},"span":{"file_name":"src/memory.rs","byte_start":690206,"byte_end":690210,"line_start":295,"line_end":295,"column_start":25,"column_end":29},"name":"self","qualname":"::get_4_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873543},"span":{"file_name":"src/memory.rs","byte_start":690212,"byte_end":690219,"line_start":295,"line_end":295,"column_start":31,"column_end":38},"name":"address","qualname":"::get_4_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2631},"span":{"file_name":"src/memory.rs","byte_start":690193,"byte_end":690204,"line_start":295,"line_end":295,"column_start":12,"column_end":23},"name":"get_4_bytes","qualname":"::get_4_bytes","value":"pub fn get_4_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":690164,"byte_end":690181,"line_start":294,"line_end":294,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655815},"span":{"file_name":"src/memory.rs","byte_start":690348,"byte_end":690358,"line_start":302,"line_end":302,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2631 ~ no_proto[2d88]::memory::{impl#2}::get_4_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506503},"span":{"file_name":"src/memory.rs","byte_start":690473,"byte_end":690478,"line_start":308,"line_end":308,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2631 ~ no_proto[2d88]::memory::{impl#2}::get_4_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744458},"span":{"file_name":"src/memory.rs","byte_start":690640,"byte_end":690644,"line_start":314,"line_end":314,"column_start":25,"column_end":29},"name":"self","qualname":"::get_8_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873546},"span":{"file_name":"src/memory.rs","byte_start":690646,"byte_end":690653,"line_start":314,"line_end":314,"column_start":31,"column_end":38},"name":"address","qualname":"::get_8_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2634},"span":{"file_name":"src/memory.rs","byte_start":690627,"byte_end":690638,"line_start":314,"line_end":314,"column_start":12,"column_end":23},"name":"get_8_bytes","qualname":"::get_8_bytes","value":"pub fn get_8_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":690598,"byte_end":690615,"line_start":313,"line_end":313,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655818},"span":{"file_name":"src/memory.rs","byte_start":690782,"byte_end":690792,"line_start":321,"line_end":321,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2634 ~ no_proto[2d88]::memory::{impl#2}::get_8_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506506},"span":{"file_name":"src/memory.rs","byte_start":690907,"byte_end":690912,"line_start":327,"line_end":327,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2634 ~ no_proto[2d88]::memory::{impl#2}::get_8_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744461},"span":{"file_name":"src/memory.rs","byte_start":691075,"byte_end":691079,"line_start":333,"line_end":333,"column_start":26,"column_end":30},"name":"self","qualname":"::get_16_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873549},"span":{"file_name":"src/memory.rs","byte_start":691081,"byte_end":691088,"line_start":333,"line_end":333,"column_start":32,"column_end":39},"name":"address","qualname":"::get_16_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2637},"span":{"file_name":"src/memory.rs","byte_start":691061,"byte_end":691073,"line_start":333,"line_end":333,"column_start":12,"column_end":24},"name":"get_16_bytes","qualname":"::get_16_bytes","value":"pub fn get_16_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":691032,"byte_end":691049,"line_start":332,"line_end":332,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655821},"span":{"file_name":"src/memory.rs","byte_start":691218,"byte_end":691228,"line_start":340,"line_end":340,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2637 ~ no_proto[2d88]::memory::{impl#2}::get_16_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506509},"span":{"file_name":"src/memory.rs","byte_start":691344,"byte_end":691349,"line_start":346,"line_end":346,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2637 ~ no_proto[2d88]::memory::{impl#2}::get_16_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744464},"span":{"file_name":"src/memory.rs","byte_start":691514,"byte_end":691518,"line_start":352,"line_end":352,"column_start":26,"column_end":30},"name":"self","qualname":"::get_32_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873552},"span":{"file_name":"src/memory.rs","byte_start":691520,"byte_end":691527,"line_start":352,"line_end":352,"column_start":32,"column_end":39},"name":"address","qualname":"::get_32_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2640},"span":{"file_name":"src/memory.rs","byte_start":691500,"byte_end":691512,"line_start":352,"line_end":352,"column_start":12,"column_end":24},"name":"get_32_bytes","qualname":"::get_32_bytes","value":"pub fn get_32_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":691471,"byte_end":691488,"line_start":351,"line_end":351,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655824},"span":{"file_name":"src/memory.rs","byte_start":691657,"byte_end":691667,"line_start":359,"line_end":359,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2640 ~ no_proto[2d88]::memory::{impl#2}::get_32_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506512},"span":{"file_name":"src/memory.rs","byte_start":691783,"byte_end":691788,"line_start":365,"line_end":365,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2640 ~ no_proto[2d88]::memory::{impl#2}::get_32_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744467},"span":{"file_name":"src/memory.rs","byte_start":691922,"byte_end":691926,"line_start":370,"line_end":370,"column_start":17,"column_end":21},"name":"self","qualname":"::dump::self","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2643},"span":{"file_name":"src/memory.rs","byte_start":691917,"byte_end":691921,"line_start":370,"line_end":370,"column_start":12,"column_end":16},"name":"dump","qualname":"::dump","value":"pub fn dump(Self) -> Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179923},"span":{"file_name":"src/memory.rs","byte_start":691953,"byte_end":691958,"line_start":371,"line_end":371,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2643 ~ no_proto[2d88]::memory::{impl#2}::dump), local_id: 10 }","value":"memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220371},"span":{"file_name":"src/memory.rs","byte_start":692044,"byte_end":692047,"line_start":373,"line_end":373,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2643 ~ no_proto[2d88]::memory::{impl#2}::dump), local_id: 16 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402655827},"span":{"file_name":"src/memory.rs","byte_start":692092,"byte_end":692095,"line_start":374,"line_end":374,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2643 ~ no_proto[2d88]::memory::{impl#2}::dump), local_id: 24 }","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030611},"span":{"file_name":"src/memory.rs","byte_start":692167,"byte_end":692170,"line_start":375,"line_end":375,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2643 ~ no_proto[2d88]::memory::{impl#2}::dump), local_id: 41 }","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2644},"span":{"file_name":"src/new_idl.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"new_idl","qualname":"::new_idl","value":"src/new_idl.rs","parent":null,"children":[{"krate":0,"index":2645},{"krate":0,"index":2648},{"krate":0,"index":2651},{"krate":0,"index":2654},{"krate":0,"index":3784},{"krate":0,"index":3787},{"krate":0,"index":3788},{"krate":0,"index":3791},{"krate":0,"index":3793},{"krate":0,"index":3794},{"krate":0,"index":3796},{"krate":0,"index":3820},{"krate":0,"index":2657},{"krate":0,"index":2676},{"krate":0,"index":2682}],"decl_id":null,"docs":" ES6 IDL for Schemas\n \n Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.\n \n","sig":null,"attributes":[{"value":"/ ES6 IDL for Schemas","span":{"file_name":"src/new_idl.rs","byte_start":692227,"byte_end":692250,"line_start":1,"line_end":1,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/new_idl.rs","byte_start":692251,"byte_end":692255,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.","span":{"file_name":"src/new_idl.rs","byte_start":692256,"byte_end":692340,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/new_idl.rs","byte_start":692341,"byte_end":692345,"line_start":4,"line_end":4,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3784},"span":{"file_name":"src/new_idl.rs","byte_start":692526,"byte_end":692533,"line_start":12,"line_end":12,"column_start":12,"column_end":19},"name":"AST_STR","qualname":"::new_idl::AST_STR","value":"AST_STR { start, end }","parent":null,"children":[{"krate":0,"index":3785},{"krate":0,"index":3786}],"decl_id":null,"docs":" Parsed AST String\n","sig":null,"attributes":[{"value":"/ Parsed AST String","span":{"file_name":"src/new_idl.rs","byte_start":692452,"byte_end":692473,"line_start":10,"line_end":10,"column_start":1,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":3785},"span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"name":"start","qualname":"::new_idl::AST_STR::start","value":"usize","parent":{"krate":0,"index":3784},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3786},"span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"name":"end","qualname":"::new_idl::AST_STR::end","value":"usize","parent":{"krate":0,"index":3784},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3797},"span":{"file_name":"src/new_idl.rs","byte_start":692661,"byte_end":692666,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"name":"colon","qualname":"::new_idl::AST::colon","value":"AST::colon","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3799},"span":{"file_name":"src/new_idl.rs","byte_start":692672,"byte_end":692677,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"name":"comma","qualname":"::new_idl::AST::comma","value":"AST::comma","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3801},"span":{"file_name":"src/new_idl.rs","byte_start":692683,"byte_end":692688,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"name":"arrow","qualname":"::new_idl::AST::arrow","value":"AST::arrow","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3803},"span":{"file_name":"src/new_idl.rs","byte_start":692694,"byte_end":692699,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"name":"token","qualname":"::new_idl::AST::token","value":"AST::token { addr }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3804},"span":{"file_name":"src/new_idl.rs","byte_start":692702,"byte_end":692706,"line_start":26,"line_end":26,"column_start":13,"column_end":17},"name":"addr","qualname":"::new_idl::AST::token::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":3803},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3805},"span":{"file_name":"src/new_idl.rs","byte_start":692723,"byte_end":692729,"line_start":27,"line_end":27,"column_start":5,"column_end":11},"name":"arrows","qualname":"::new_idl::AST::arrows","value":"AST::arrows { items }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3806},"span":{"file_name":"src/new_idl.rs","byte_start":692732,"byte_end":692737,"line_start":27,"line_end":27,"column_start":14,"column_end":19},"name":"items","qualname":"::new_idl::AST::arrows::items","value":"alloc::vec::Vec","parent":{"krate":0,"index":3805},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3807},"span":{"file_name":"src/new_idl.rs","byte_start":692755,"byte_end":692761,"line_start":28,"line_end":28,"column_start":5,"column_end":11},"name":"method","qualname":"::new_idl::AST::method","value":"AST::method { call, result }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3808},"span":{"file_name":"src/new_idl.rs","byte_start":692764,"byte_end":692768,"line_start":28,"line_end":28,"column_start":14,"column_end":18},"name":"call","qualname":"::new_idl::AST::method::call","value":"[type error]","parent":{"krate":0,"index":3807},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3809},"span":{"file_name":"src/new_idl.rs","byte_start":692780,"byte_end":692786,"line_start":28,"line_end":28,"column_start":30,"column_end":36},"name":"result","qualname":"::new_idl::AST::method::result","value":"[type error]","parent":{"krate":0,"index":3807},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3810},"span":{"file_name":"src/new_idl.rs","byte_start":692803,"byte_end":692807,"line_start":29,"line_end":29,"column_start":5,"column_end":9},"name":"args","qualname":"::new_idl::AST::args","value":"AST::args { items }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3811},"span":{"file_name":"src/new_idl.rs","byte_start":692810,"byte_end":692815,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"name":"items","qualname":"::new_idl::AST::args::items","value":"alloc::vec::Vec","parent":{"krate":0,"index":3810},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3812},"span":{"file_name":"src/new_idl.rs","byte_start":692833,"byte_end":692837,"line_start":30,"line_end":30,"column_start":5,"column_end":9},"name":"list","qualname":"::new_idl::AST::list","value":"AST::list { items }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3813},"span":{"file_name":"src/new_idl.rs","byte_start":692840,"byte_end":692845,"line_start":30,"line_end":30,"column_start":12,"column_end":17},"name":"items","qualname":"::new_idl::AST::list::items","value":"alloc::vec::Vec","parent":{"krate":0,"index":3812},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3814},"span":{"file_name":"src/new_idl.rs","byte_start":692863,"byte_end":692870,"line_start":31,"line_end":31,"column_start":5,"column_end":12},"name":"closure","qualname":"::new_idl::AST::closure","value":"AST::closure { items }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3815},"span":{"file_name":"src/new_idl.rs","byte_start":692873,"byte_end":692878,"line_start":31,"line_end":31,"column_start":15,"column_end":20},"name":"items","qualname":"::new_idl::AST::closure::items","value":"alloc::vec::Vec","parent":{"krate":0,"index":3814},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3816},"span":{"file_name":"src/new_idl.rs","byte_start":692896,"byte_end":692902,"line_start":32,"line_end":32,"column_start":5,"column_end":11},"name":"string","qualname":"::new_idl::AST::string","value":"AST::string { addr }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3817},"span":{"file_name":"src/new_idl.rs","byte_start":692905,"byte_end":692909,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"name":"addr","qualname":"::new_idl::AST::string::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":3816},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3818},"span":{"file_name":"src/new_idl.rs","byte_start":692926,"byte_end":692932,"line_start":33,"line_end":33,"column_start":5,"column_end":11},"name":"number","qualname":"::new_idl::AST::number","value":"AST::number { addr }","parent":{"krate":0,"index":3796},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3819},"span":{"file_name":"src/new_idl.rs","byte_start":692935,"byte_end":692939,"line_start":33,"line_end":33,"column_start":14,"column_end":18},"name":"addr","qualname":"::new_idl::AST::number::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":3818},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3796},"span":{"file_name":"src/new_idl.rs","byte_start":692651,"byte_end":692654,"line_start":22,"line_end":22,"column_start":10,"column_end":13},"name":"AST","qualname":"::new_idl::AST","value":"pub enum AST {\n colon,\n comma,\n arrow,\n token {\n addr: AST_STR,\n },\n arrows {\n items: Vec,\n },\n method {\n call: Box,\n result: Box,\n },\n args {\n items: Vec,\n },\n list {\n items: Vec,\n },\n closure {\n items: Vec,\n },\n string {\n addr: AST_STR,\n },\n number {\n addr: AST_STR,\n },\n}","parent":null,"children":[{"krate":0,"index":3797},{"krate":0,"index":3799},{"krate":0,"index":3801},{"krate":0,"index":3803},{"krate":0,"index":3805},{"krate":0,"index":3807},{"krate":0,"index":3810},{"krate":0,"index":3812},{"krate":0,"index":3814},{"krate":0,"index":3816},{"krate":0,"index":3818}],"decl_id":null,"docs":" AST object of schema\n","sig":null,"attributes":[{"value":"/ AST object of schema","span":{"file_name":"src/new_idl.rs","byte_start":692577,"byte_end":692601,"line_start":19,"line_end":19,"column_start":1,"column_end":25}},{"value":"allow(missing_docs)","span":{"file_name":"src/new_idl.rs","byte_start":692602,"byte_end":692624,"line_start":20,"line_end":20,"column_start":1,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2658},"span":{"file_name":"src/new_idl.rs","byte_start":692982,"byte_end":692991,"line_start":37,"line_end":37,"column_start":5,"column_end":14},"name":"searching","qualname":"::new_idl::ast_cursor_state::searching","value":"ast_cursor_state::searching","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2660},"span":{"file_name":"src/new_idl.rs","byte_start":692997,"byte_end":693002,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"name":"token","qualname":"::new_idl::ast_cursor_state::token","value":"ast_cursor_state::token","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2662},"span":{"file_name":"src/new_idl.rs","byte_start":693008,"byte_end":693014,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"name":"parens","qualname":"::new_idl::ast_cursor_state::parens","value":"ast_cursor_state::parens { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2663},"span":{"file_name":"src/new_idl.rs","byte_start":693017,"byte_end":693025,"line_start":39,"line_end":39,"column_start":14,"column_end":22},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::parens::open_idx","value":"usize","parent":{"krate":0,"index":2662},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2664},"span":{"file_name":"src/new_idl.rs","byte_start":693040,"byte_end":693046,"line_start":40,"line_end":40,"column_start":5,"column_end":11},"name":"arrows","qualname":"::new_idl::ast_cursor_state::arrows","value":"ast_cursor_state::arrows { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2665},"span":{"file_name":"src/new_idl.rs","byte_start":693049,"byte_end":693057,"line_start":40,"line_end":40,"column_start":14,"column_end":22},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::arrows::open_idx","value":"usize","parent":{"krate":0,"index":2664},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2666},"span":{"file_name":"src/new_idl.rs","byte_start":693073,"byte_end":693085,"line_start":41,"line_end":41,"column_start":5,"column_end":17},"name":"single_quote","qualname":"::new_idl::ast_cursor_state::single_quote","value":"ast_cursor_state::single_quote { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2667},"span":{"file_name":"src/new_idl.rs","byte_start":693088,"byte_end":693096,"line_start":41,"line_end":41,"column_start":20,"column_end":28},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::single_quote::open_idx","value":"usize","parent":{"krate":0,"index":2666},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2668},"span":{"file_name":"src/new_idl.rs","byte_start":693111,"byte_end":693123,"line_start":42,"line_end":42,"column_start":5,"column_end":17},"name":"double_quote","qualname":"::new_idl::ast_cursor_state::double_quote","value":"ast_cursor_state::double_quote { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2669},"span":{"file_name":"src/new_idl.rs","byte_start":693126,"byte_end":693134,"line_start":42,"line_end":42,"column_start":20,"column_end":28},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::double_quote::open_idx","value":"usize","parent":{"krate":0,"index":2668},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2670},"span":{"file_name":"src/new_idl.rs","byte_start":693149,"byte_end":693157,"line_start":43,"line_end":43,"column_start":5,"column_end":13},"name":"brackets","qualname":"::new_idl::ast_cursor_state::brackets","value":"ast_cursor_state::brackets { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2671},"span":{"file_name":"src/new_idl.rs","byte_start":693160,"byte_end":693168,"line_start":43,"line_end":43,"column_start":16,"column_end":24},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::brackets::open_idx","value":"usize","parent":{"krate":0,"index":2670},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2672},"span":{"file_name":"src/new_idl.rs","byte_start":693183,"byte_end":693188,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"name":"curly","qualname":"::new_idl::ast_cursor_state::curly","value":"ast_cursor_state::curly { open_idx }","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2673},"span":{"file_name":"src/new_idl.rs","byte_start":693191,"byte_end":693199,"line_start":44,"line_end":44,"column_start":13,"column_end":21},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::curly::open_idx","value":"usize","parent":{"krate":0,"index":2672},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2674},"span":{"file_name":"src/new_idl.rs","byte_start":693214,"byte_end":693220,"line_start":45,"line_end":45,"column_start":5,"column_end":11},"name":"number","qualname":"::new_idl::ast_cursor_state::number","value":"ast_cursor_state::number","parent":{"krate":0,"index":2657},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2657},"span":{"file_name":"src/new_idl.rs","byte_start":692959,"byte_end":692975,"line_start":36,"line_end":36,"column_start":6,"column_end":22},"name":"ast_cursor_state","qualname":"::new_idl::ast_cursor_state","value":"enum ast_cursor_state {\n searching,\n token,\n parens {\n open_idx: usize,\n },\n arrows {\n open_idx: usize,\n },\n single_quote {\n open_idx: usize,\n },\n double_quote {\n open_idx: usize,\n },\n brackets {\n open_idx: usize,\n },\n curly {\n open_idx: usize,\n },\n number,\n}","parent":null,"children":[{"krate":0,"index":2658},{"krate":0,"index":2660},{"krate":0,"index":2662},{"krate":0,"index":2664},{"krate":0,"index":2666},{"krate":0,"index":2668},{"krate":0,"index":2670},{"krate":0,"index":2672},{"krate":0,"index":2674}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":2676},"span":{"file_name":"src/new_idl.rs","byte_start":693231,"byte_end":693240,"line_start":48,"line_end":48,"column_start":8,"column_end":17},"name":"ast_state","qualname":"::new_idl::ast_state","value":"ast_state { start, end, state, escaped, level }","parent":null,"children":[{"krate":0,"index":2677},{"krate":0,"index":2678},{"krate":0,"index":2679},{"krate":0,"index":2680},{"krate":0,"index":2681}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2677},"span":{"file_name":"src/new_idl.rs","byte_start":693247,"byte_end":693252,"line_start":49,"line_end":49,"column_start":5,"column_end":10},"name":"start","qualname":"::new_idl::ast_state::start","value":"usize","parent":{"krate":0,"index":2676},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2678},"span":{"file_name":"src/new_idl.rs","byte_start":693265,"byte_end":693268,"line_start":50,"line_end":50,"column_start":5,"column_end":8},"name":"end","qualname":"::new_idl::ast_state::end","value":"usize","parent":{"krate":0,"index":2676},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2679},"span":{"file_name":"src/new_idl.rs","byte_start":693281,"byte_end":693286,"line_start":51,"line_end":51,"column_start":5,"column_end":10},"name":"state","qualname":"::new_idl::ast_state::state","value":"new_idl::ast_cursor_state","parent":{"krate":0,"index":2676},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2680},"span":{"file_name":"src/new_idl.rs","byte_start":693310,"byte_end":693317,"line_start":52,"line_end":52,"column_start":5,"column_end":12},"name":"escaped","qualname":"::new_idl::ast_state::escaped","value":"bool","parent":{"krate":0,"index":2676},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2681},"span":{"file_name":"src/new_idl.rs","byte_start":693329,"byte_end":693334,"line_start":53,"line_end":53,"column_start":5,"column_end":10},"name":"level","qualname":"::new_idl::ast_state::level","value":"i16","parent":{"krate":0,"index":2676},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744507},"span":{"file_name":"src/new_idl.rs","byte_start":693414,"byte_end":693419,"line_start":60,"line_end":60,"column_start":18,"column_end":23},"name":"input","qualname":"::parse::input","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2683},"span":{"file_name":"src/new_idl.rs","byte_start":693408,"byte_end":693413,"line_start":60,"line_end":60,"column_start":12,"column_end":17},"name":"parse","qualname":"::parse","value":"pub fn parse(&str) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Convert an ASCII string into AST\n","sig":null,"attributes":[{"value":"/ Convert an ASCII string into AST","span":{"file_name":"src/new_idl.rs","byte_start":693360,"byte_end":693396,"line_start":59,"line_end":59,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1879050875},"span":{"file_name":"src/new_idl.rs","byte_start":693476,"byte_end":693482,"line_start":61,"line_end":61,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2683 ~ no_proto[2d88]::new_idl::{impl#0}::parse), local_id: 14 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744508},"span":{"file_name":"src/new_idl.rs","byte_start":693684,"byte_end":693689,"line_start":67,"line_end":67,"column_start":28,"column_end":33},"name":"depth","qualname":"::recursive_parse::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873596},"span":{"file_name":"src/new_idl.rs","byte_start":693698,"byte_end":693704,"line_start":67,"line_end":67,"column_start":42,"column_end":48},"name":"result","qualname":"::recursive_parse::result","value":"&mut alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615420},"span":{"file_name":"src/new_idl.rs","byte_start":693721,"byte_end":693727,"line_start":67,"line_end":67,"column_start":65,"column_end":71},"name":"source","qualname":"::recursive_parse::source","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438140},"span":{"file_name":"src/new_idl.rs","byte_start":693735,"byte_end":693738,"line_start":67,"line_end":67,"column_start":79,"column_end":82},"name":"ast","qualname":"::recursive_parse::ast","value":"new_idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2684},"span":{"file_name":"src/new_idl.rs","byte_start":693668,"byte_end":693683,"line_start":67,"line_end":67,"column_start":12,"column_end":27},"name":"recursive_parse","qualname":"::recursive_parse","value":"pub fn recursive_parse(usize, &mut Vec, &str, AST_STR)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Recursive AST parser\n","sig":null,"attributes":[{"value":"/ Recursive AST parser","span":{"file_name":"src/new_idl.rs","byte_start":693632,"byte_end":693656,"line_start":66,"line_end":66,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":3019901564},"span":{"file_name":"src/new_idl.rs","byte_start":693877,"byte_end":693883,"line_start":73,"line_end":73,"column_start":17,"column_end":23},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 45 }","value":"new_idl::ast_state","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506556},"span":{"file_name":"src/new_idl.rs","byte_start":694080,"byte_end":694085,"line_start":81,"line_end":81,"column_start":13,"column_end":18},"name":"chars","qualname":"chars$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 58 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774844},"span":{"file_name":"src/new_idl.rs","byte_start":694183,"byte_end":694192,"line_start":84,"line_end":84,"column_start":21,"column_end":30},"name":"curr_char","qualname":"curr_char$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 80 }","value":"&char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3191868028},"span":{"file_name":"src/new_idl.rs","byte_start":698360,"byte_end":698371,"line_start":174,"line_end":174,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 637 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":792726140},"span":{"file_name":"src/new_idl.rs","byte_start":699064,"byte_end":699075,"line_start":190,"line_end":190,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 756 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3602909820},"span":{"file_name":"src/new_idl.rs","byte_start":699770,"byte_end":699781,"line_start":206,"line_end":206,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 875 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3474983548},"span":{"file_name":"src/new_idl.rs","byte_start":702376,"byte_end":702387,"line_start":259,"line_end":259,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1267 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3399486076},"span":{"file_name":"src/new_idl.rs","byte_start":702904,"byte_end":702912,"line_start":273,"line_end":273,"column_start":42,"column_end":50},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1363 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2057308796},"span":{"file_name":"src/new_idl.rs","byte_start":702944,"byte_end":702949,"line_start":274,"line_end":274,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1374 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2510293628},"span":{"file_name":"src/new_idl.rs","byte_start":703361,"byte_end":703369,"line_start":280,"line_end":280,"column_start":40,"column_end":48},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1449 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":765463164},"span":{"file_name":"src/new_idl.rs","byte_start":703402,"byte_end":703407,"line_start":281,"line_end":281,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1460 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4288678524},"span":{"file_name":"src/new_idl.rs","byte_start":703814,"byte_end":703822,"line_start":287,"line_end":287,"column_start":40,"column_end":48},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1535 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1348471420},"span":{"file_name":"src/new_idl.rs","byte_start":703854,"byte_end":703859,"line_start":288,"line_end":288,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1546 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2858420860},"span":{"file_name":"src/new_idl.rs","byte_start":704271,"byte_end":704279,"line_start":294,"line_end":294,"column_start":46,"column_end":54},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1621 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":106957436},"span":{"file_name":"src/new_idl.rs","byte_start":704312,"byte_end":704317,"line_start":295,"line_end":295,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1632 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3579841148},"span":{"file_name":"src/new_idl.rs","byte_start":704730,"byte_end":704738,"line_start":301,"line_end":301,"column_start":46,"column_end":54},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1707 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1835010684},"span":{"file_name":"src/new_idl.rs","byte_start":704771,"byte_end":704776,"line_start":302,"line_end":302,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1718 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2162166396},"span":{"file_name":"src/new_idl.rs","byte_start":705183,"byte_end":705191,"line_start":308,"line_end":308,"column_start":39,"column_end":47},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1793 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":819989116},"span":{"file_name":"src/new_idl.rs","byte_start":705224,"byte_end":705229,"line_start":309,"line_end":309,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2684 ~ no_proto[2d88]::new_idl::{impl#0}::recursive_parse), local_id: 1804 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2685},"span":{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"hashmap","qualname":"::hashmap","value":"src/hashmap.rs","parent":null,"children":[{"krate":0,"index":2686},{"krate":0,"index":2689},{"krate":0,"index":2692},{"krate":0,"index":2695},{"krate":0,"index":3822},{"krate":0,"index":3825},{"krate":0,"index":3828},{"krate":0,"index":2696},{"krate":0,"index":2697},{"krate":0,"index":2706},{"krate":0,"index":2707},{"krate":0,"index":2709}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/lib.rs","byte_start":22045,"byte_end":22067,"line_start":338,"line_end":338,"column_start":1,"column_end":23}}]},{"kind":"Static","id":{"krate":0,"index":2695},"span":{"file_name":"src/hashmap.rs","byte_start":706428,"byte_end":706432,"line_start":6,"line_end":6,"column_start":12,"column_end":16},"name":"SEED","qualname":"::hashmap::SEED","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3822},"span":{"file_name":"src/hashmap.rs","byte_start":706488,"byte_end":706498,"line_start":9,"line_end":9,"column_start":12,"column_end":22},"name":"NP_HashMap","qualname":"::hashmap::NP_HashMap","value":"NP_HashMap { data }","parent":null,"children":[{"krate":0,"index":3824}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3824},"span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"name":"data","qualname":"::hashmap::NP_HashMap::data","value":"alloc::vec::Vec>","parent":{"krate":0,"index":3822},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":3823},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::hashmap::NP_HashMap::V$HirId { owner: DefId(0:3822 ~ no_proto[2d88]::hashmap::NP_HashMap), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":3826},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::V$HirId { owner: DefId(0:3825 ~ no_proto[2d88]::hashmap::{impl#1}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":3829},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::V$HirId { owner: DefId(0:3828 ~ no_proto[2d88]::hashmap::{impl#2}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2696},"span":{"file_name":"src/hashmap.rs","byte_start":706542,"byte_end":706551,"line_start":13,"line_end":13,"column_start":7,"column_end":16},"name":"HASH_SIZE","qualname":"::hashmap::HASH_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2698},"span":{"file_name":"src/hashmap.rs","byte_start":706573,"byte_end":706574,"line_start":15,"line_end":15,"column_start":6,"column_end":7},"name":"V","qualname":"::V$HirId { owner: DefId(0:2697 ~ no_proto[2d88]::hashmap::{impl#0}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2699},"span":{"file_name":"src/hashmap.rs","byte_start":706604,"byte_end":706609,"line_start":17,"line_end":17,"column_start":12,"column_end":17},"name":"empty","qualname":">::empty","value":"pub fn empty() -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2700},"span":{"file_name":"src/hashmap.rs","byte_start":706685,"byte_end":706688,"line_start":21,"line_end":21,"column_start":12,"column_end":15},"name":"new","qualname":">::new","value":"pub fn new() -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179980},"span":{"file_name":"src/hashmap.rs","byte_start":706717,"byte_end":706723,"line_start":22,"line_end":22,"column_start":17,"column_end":23},"name":"vector","qualname":"vector$HirId { owner: DefId(0:2700 ~ no_proto[2d88]::hashmap::{impl#0}::new), local_id: 10 }","value":"alloc::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744526},"span":{"file_name":"src/hashmap.rs","byte_start":706887,"byte_end":706891,"line_start":27,"line_end":27,"column_start":24,"column_end":28},"name":"self","qualname":">::insert::self","value":"&mut hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873614},"span":{"file_name":"src/hashmap.rs","byte_start":706893,"byte_end":706896,"line_start":27,"line_end":27,"column_start":30,"column_end":33},"name":"key","qualname":">::insert::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615438},"span":{"file_name":"src/hashmap.rs","byte_start":706904,"byte_end":706909,"line_start":27,"line_end":27,"column_start":41,"column_end":46},"name":"value","qualname":">::insert::value","value":"V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2702},"span":{"file_name":"src/hashmap.rs","byte_start":706875,"byte_end":706881,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"name":"insert","qualname":">::insert","value":"pub fn insert(&mut Self, &str, V) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962254},"span":{"file_name":"src/hashmap.rs","byte_start":706953,"byte_end":706957,"line_start":29,"line_end":29,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2702 ~ no_proto[2d88]::hashmap::{impl#0}::insert), local_id: 18 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087010446},"span":{"file_name":"src/hashmap.rs","byte_start":707019,"byte_end":707025,"line_start":31,"line_end":31,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2702 ~ no_proto[2d88]::hashmap::{impl#0}::insert), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040782},"span":{"file_name":"src/hashmap.rs","byte_start":707183,"byte_end":707184,"line_start":36,"line_end":36,"column_start":18,"column_end":19},"name":"k","qualname":"k$HirId { owner: DefId(0:2702 ~ no_proto[2d88]::hashmap::{impl#0}::insert), local_id: 65 }","value":"&mut u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298958},"span":{"file_name":"src/hashmap.rs","byte_start":707186,"byte_end":707187,"line_start":36,"line_end":36,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:2702 ~ no_proto[2d88]::hashmap::{impl#0}::insert), local_id: 66 }","value":"&mut V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744527},"span":{"file_name":"src/hashmap.rs","byte_start":707453,"byte_end":707457,"line_start":48,"line_end":48,"column_start":17,"column_end":21},"name":"self","qualname":">::get::self","value":"&hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873615},"span":{"file_name":"src/hashmap.rs","byte_start":707459,"byte_end":707462,"line_start":48,"line_end":48,"column_start":23,"column_end":26},"name":"key","qualname":">::get::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2703},"span":{"file_name":"src/hashmap.rs","byte_start":707448,"byte_end":707451,"line_start":48,"line_end":48,"column_start":12,"column_end":15},"name":"get","qualname":">::get","value":"pub fn get(&Self, &str) -> Option<&V>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220431},"span":{"file_name":"src/hashmap.rs","byte_start":707498,"byte_end":707502,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881359},"span":{"file_name":"src/hashmap.rs","byte_start":707559,"byte_end":707565,"line_start":50,"line_end":50,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603982479},"span":{"file_name":"src/hashmap.rs","byte_start":707651,"byte_end":707652,"line_start":53,"line_end":53,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 36 }","value":"&alloc::vec::Vec<(u32, V)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019901583},"span":{"file_name":"src/hashmap.rs","byte_start":707679,"byte_end":707682,"line_start":54,"line_end":54,"column_start":21,"column_end":24},"name":"len","qualname":"len$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 45 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785020559},"span":{"file_name":"src/hashmap.rs","byte_start":708018,"byte_end":708019,"line_start":65,"line_end":65,"column_start":22,"column_end":23},"name":"k","qualname":"k$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 101 }","value":"&u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711278735},"span":{"file_name":"src/hashmap.rs","byte_start":708021,"byte_end":708022,"line_start":65,"line_end":65,"column_start":25,"column_end":26},"name":"v","qualname":"v$HirId { owner: DefId(0:2703 ~ no_proto[2d88]::hashmap::{impl#0}::get), local_id: 102 }","value":"&V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744528},"span":{"file_name":"src/hashmap.rs","byte_start":708254,"byte_end":708258,"line_start":76,"line_end":76,"column_start":24,"column_end":28},"name":"self","qualname":">::delete::self","value":"&mut hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873616},"span":{"file_name":"src/hashmap.rs","byte_start":708260,"byte_end":708263,"line_start":76,"line_end":76,"column_start":30,"column_end":33},"name":"key","qualname":">::delete::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2704},"span":{"file_name":"src/hashmap.rs","byte_start":708242,"byte_end":708248,"line_start":76,"line_end":76,"column_start":12,"column_end":18},"name":"delete","qualname":">::delete","value":"pub fn delete(&mut Self, &str)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220432},"span":{"file_name":"src/hashmap.rs","byte_start":708285,"byte_end":708289,"line_start":77,"line_end":77,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2704 ~ no_proto[2d88]::hashmap::{impl#0}::delete), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881360},"span":{"file_name":"src/hashmap.rs","byte_start":708346,"byte_end":708352,"line_start":78,"line_end":78,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2704 ~ no_proto[2d88]::hashmap::{impl#0}::delete), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603982480},"span":{"file_name":"src/hashmap.rs","byte_start":708441,"byte_end":708447,"line_start":80,"line_end":80,"column_start":18,"column_end":24},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2704 ~ no_proto[2d88]::hashmap::{impl#0}::delete), local_id: 36 }","value":"&mut alloc::vec::Vec<(u32, V)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556772496},"span":{"file_name":"src/hashmap.rs","byte_start":708486,"byte_end":708487,"line_start":81,"line_end":81,"column_start":33,"column_end":34},"name":"k","qualname":"$HirId { owner: DefId(0:2704 ~ no_proto[2d88]::hashmap::{impl#0}::delete), local_id: 53 }::k","value":"&u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417936},"span":{"file_name":"src/hashmap.rs","byte_start":708489,"byte_end":708491,"line_start":81,"line_end":81,"column_start":36,"column_end":38},"name":"_v","qualname":"$HirId { owner: DefId(0:2704 ~ no_proto[2d88]::hashmap::{impl#0}::delete), local_id: 53 }::_v","value":"&V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744530},"span":{"file_name":"src/hashmap.rs","byte_start":709787,"byte_end":709788,"line_start":113,"line_end":113,"column_start":15,"column_end":16},"name":"h","qualname":"::hashmap::fmix32::h","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2706},"span":{"file_name":"src/hashmap.rs","byte_start":709776,"byte_end":709782,"line_start":113,"line_end":113,"column_start":4,"column_end":10},"name":"fmix32","qualname":"::hashmap::fmix32","value":"fn fmix32(u32) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":709755,"byte_end":709772,"line_start":112,"line_end":112,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744531},"span":{"file_name":"src/hashmap.rs","byte_start":709982,"byte_end":709987,"line_start":124,"line_end":124,"column_start":17,"column_end":22},"name":"bytes","qualname":"::hashmap::get_32_block::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873619},"span":{"file_name":"src/hashmap.rs","byte_start":709996,"byte_end":710001,"line_start":124,"line_end":124,"column_start":31,"column_end":36},"name":"index","qualname":"::hashmap::get_32_block::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2707},"span":{"file_name":"src/hashmap.rs","byte_start":709969,"byte_end":709981,"line_start":124,"line_end":124,"column_start":4,"column_end":16},"name":"get_32_block","qualname":"::hashmap::get_32_block","value":"fn get_32_block(&[u8], usize) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":709948,"byte_end":709965,"line_start":123,"line_end":123,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":805309075},"span":{"file_name":"src/hashmap.rs","byte_start":710027,"byte_end":710037,"line_start":125,"line_end":125,"column_start":9,"column_end":19},"name":"real_index","qualname":"real_index$HirId { owner: DefId(0:2707 ~ no_proto[2d88]::hashmap::get_32_block), local_id: 12 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526803},"span":{"file_name":"src/hashmap.rs","byte_start":710071,"byte_end":710080,"line_start":126,"line_end":126,"column_start":9,"column_end":18},"name":"u32_bytes","qualname":"u32_bytes$HirId { owner: DefId(0:2707 ~ no_proto[2d88]::hashmap::get_32_block), local_id: 28 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159763},"span":{"file_name":"src/hashmap.rs","byte_start":710154,"byte_end":710159,"line_start":129,"line_end":129,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2707 ~ no_proto[2d88]::hashmap::get_32_block), local_id: 46 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744533},"span":{"file_name":"src/hashmap.rs","byte_start":710298,"byte_end":710303,"line_start":135,"line_end":135,"column_start":27,"column_end":32},"name":"bytes","qualname":"::hashmap::murmurhash3_x86_32::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873621},"span":{"file_name":"src/hashmap.rs","byte_start":710312,"byte_end":710316,"line_start":135,"line_end":135,"column_start":41,"column_end":45},"name":"seed","qualname":"::hashmap::murmurhash3_x86_32::seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2709},"span":{"file_name":"src/hashmap.rs","byte_start":710279,"byte_end":710297,"line_start":135,"line_end":135,"column_start":8,"column_end":26},"name":"murmurhash3_x86_32","qualname":"::hashmap::murmurhash3_x86_32","value":"pub fn murmurhash3_x86_32(&[u8], u32) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":710254,"byte_end":710271,"line_start":134,"line_end":134,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":268438165},"span":{"file_name":"src/hashmap.rs","byte_start":710340,"byte_end":710342,"line_start":136,"line_end":136,"column_start":9,"column_end":11},"name":"c1","qualname":"c1$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 8 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805309077},"span":{"file_name":"src/hashmap.rs","byte_start":710368,"byte_end":710370,"line_start":137,"line_end":137,"column_start":9,"column_end":11},"name":"c2","qualname":"c2$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 12 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220437},"span":{"file_name":"src/hashmap.rs","byte_start":710396,"byte_end":710405,"line_start":138,"line_end":138,"column_start":9,"column_end":18},"name":"read_size","qualname":"read_size$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476397717},"span":{"file_name":"src/hashmap.rs","byte_start":710419,"byte_end":710422,"line_start":139,"line_end":139,"column_start":9,"column_end":12},"name":"len","qualname":"len$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140853397},"span":{"file_name":"src/hashmap.rs","byte_start":710453,"byte_end":710464,"line_start":140,"line_end":140,"column_start":9,"column_end":20},"name":"block_count","qualname":"block_count$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 34 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207957},"span":{"file_name":"src/hashmap.rs","byte_start":710497,"byte_end":710499,"line_start":142,"line_end":142,"column_start":13,"column_end":15},"name":"h1","qualname":"h1$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 39 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812949},"span":{"file_name":"src/hashmap.rs","byte_start":710517,"byte_end":710518,"line_start":144,"line_end":144,"column_start":9,"column_end":10},"name":"i","qualname":"i$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040789},"span":{"file_name":"src/hashmap.rs","byte_start":710564,"byte_end":710566,"line_start":145,"line_end":145,"column_start":17,"column_end":19},"name":"k1","qualname":"k1$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 65 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3372223125},"span":{"file_name":"src/hashmap.rs","byte_start":710839,"byte_end":710841,"line_start":156,"line_end":156,"column_start":13,"column_end":15},"name":"k1","qualname":"k1$HirId { owner: DefId(0:2709 ~ no_proto[2d88]::hashmap::murmurhash3_x86_32), local_id: 147 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2710},"span":{"file_name":"src/utils.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"utils","qualname":"::utils","value":"src/utils.rs","parent":null,"children":[{"krate":0,"index":2711},{"krate":0,"index":2714},{"krate":0,"index":2717},{"krate":0,"index":2720},{"krate":0,"index":2723},{"krate":0,"index":2726},{"krate":0,"index":2727},{"krate":0,"index":2728},{"krate":0,"index":2729},{"krate":0,"index":2730},{"krate":0,"index":2731},{"krate":0,"index":2732},{"krate":0,"index":2737},{"krate":0,"index":2741},{"krate":0,"index":2743},{"krate":0,"index":2745},{"krate":0,"index":2748}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2726},"span":{"file_name":"src/utils.rs","byte_start":711439,"byte_end":711441,"line_start":8,"line_end":8,"column_start":7,"column_end":9},"name":"KX","qualname":"::utils::KX","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2727},"span":{"file_name":"src/utils.rs","byte_start":711466,"byte_end":711468,"line_start":9,"line_end":9,"column_start":7,"column_end":9},"name":"KY","qualname":"::utils::KY","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2728},"span":{"file_name":"src/utils.rs","byte_start":711493,"byte_end":711495,"line_start":10,"line_end":10,"column_start":7,"column_end":9},"name":"KZ","qualname":"::utils::KZ","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2729},"span":{"file_name":"src/utils.rs","byte_start":711520,"byte_end":711522,"line_start":11,"line_end":11,"column_start":7,"column_end":9},"name":"KW","qualname":"::utils::KW","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744554},"span":{"file_name":"src/utils.rs","byte_start":711578,"byte_end":711582,"line_start":14,"line_end":14,"column_start":20,"column_end":24},"name":"byte","qualname":"::utils::to_unsigned::byte","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2730},"span":{"file_name":"src/utils.rs","byte_start":711566,"byte_end":711577,"line_start":14,"line_end":14,"column_start":8,"column_end":19},"name":"to_unsigned","qualname":"::utils::to_unsigned","value":"pub fn to_unsigned(u8) -> u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":711541,"byte_end":711558,"line_start":13,"line_end":13,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744555},"span":{"file_name":"src/utils.rs","byte_start":711688,"byte_end":711692,"line_start":19,"line_end":19,"column_start":18,"column_end":22},"name":"byte","qualname":"::utils::to_signed::byte","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2731},"span":{"file_name":"src/utils.rs","byte_start":711678,"byte_end":711687,"line_start":19,"line_end":19,"column_start":8,"column_end":17},"name":"to_signed","qualname":"::utils::to_signed","value":"pub fn to_signed(u8) -> u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":711653,"byte_end":711670,"line_start":18,"line_end":18,"column_start":1,"column_end":18}}]},{"kind":"Struct","id":{"krate":0,"index":2732},"span":{"file_name":"src/utils.rs","byte_start":711775,"byte_end":711779,"line_start":25,"line_end":25,"column_start":12,"column_end":16},"name":"Rand","qualname":"::utils::Rand","value":"Rand { x, y, z, w }","parent":null,"children":[{"krate":0,"index":2733},{"krate":0,"index":2734},{"krate":0,"index":2735},{"krate":0,"index":2736}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2733},"span":{"file_name":"src/utils.rs","byte_start":711786,"byte_end":711787,"line_start":26,"line_end":26,"column_start":5,"column_end":6},"name":"x","qualname":"::utils::Rand::x","value":"u32","parent":{"krate":0,"index":2732},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2734},"span":{"file_name":"src/utils.rs","byte_start":711794,"byte_end":711795,"line_start":26,"line_end":26,"column_start":13,"column_end":14},"name":"y","qualname":"::utils::Rand::y","value":"u32","parent":{"krate":0,"index":2732},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2735},"span":{"file_name":"src/utils.rs","byte_start":711802,"byte_end":711803,"line_start":26,"line_end":26,"column_start":21,"column_end":22},"name":"z","qualname":"::utils::Rand::z","value":"u32","parent":{"krate":0,"index":2732},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2736},"span":{"file_name":"src/utils.rs","byte_start":711810,"byte_end":711811,"line_start":26,"line_end":26,"column_start":29,"column_end":30},"name":"w","qualname":"::utils::Rand::w","value":"u32","parent":{"krate":0,"index":2732},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744562},"span":{"file_name":"src/utils.rs","byte_start":711847,"byte_end":711851,"line_start":30,"line_end":30,"column_start":16,"column_end":20},"name":"seed","qualname":"::new::seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2738},"span":{"file_name":"src/utils.rs","byte_start":711843,"byte_end":711846,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u32) -> Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744563},"span":{"file_name":"src/utils.rs","byte_start":712030,"byte_end":712034,"line_start":38,"line_end":38,"column_start":22,"column_end":26},"name":"self","qualname":"::rand::self","value":"&mut utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2739},"span":{"file_name":"src/utils.rs","byte_start":712020,"byte_end":712024,"line_start":38,"line_end":38,"column_start":12,"column_end":16},"name":"rand","qualname":"::rand","value":"pub fn rand(&mut Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4026534579},"span":{"file_name":"src/utils.rs","byte_start":712057,"byte_end":712058,"line_start":39,"line_end":39,"column_start":13,"column_end":14},"name":"t","qualname":"t$HirId { owner: DefId(0:2739 ~ no_proto[2d88]::utils::{impl#0}::rand), local_id: 15 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744564},"span":{"file_name":"src/utils.rs","byte_start":712271,"byte_end":712275,"line_start":45,"line_end":45,"column_start":27,"column_end":31},"name":"self","qualname":"::gen_range::self","value":"&mut utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873652},"span":{"file_name":"src/utils.rs","byte_start":712277,"byte_end":712278,"line_start":45,"line_end":45,"column_start":33,"column_end":34},"name":"a","qualname":"::gen_range::a","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615476},"span":{"file_name":"src/utils.rs","byte_start":712285,"byte_end":712286,"line_start":45,"line_end":45,"column_start":41,"column_end":42},"name":"b","qualname":"::gen_range::b","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2740},"span":{"file_name":"src/utils.rs","byte_start":712256,"byte_end":712265,"line_start":45,"line_end":45,"column_start":12,"column_end":21},"name":"gen_range","qualname":"::gen_range","value":"pub fn gen_range(&mut Self, i32, i32) -> i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445940},"span":{"file_name":"src/utils.rs","byte_start":712314,"byte_end":712315,"line_start":46,"line_end":46,"column_start":13,"column_end":14},"name":"m","qualname":"m$HirId { owner: DefId(0:2740 ~ no_proto[2d88]::utils::{impl#0}::gen_range), local_id: 19 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744565},"span":{"file_name":"src/utils.rs","byte_start":712420,"byte_end":712425,"line_start":52,"line_end":52,"column_start":19,"column_end":24},"name":"optin","qualname":"::utils::opt_err::optin","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2742},"span":{"file_name":"src/utils.rs","byte_start":712417,"byte_end":712418,"line_start":52,"line_end":52,"column_start":16,"column_end":17},"name":"T","qualname":"::utils::opt_err::T$HirId { owner: DefId(0:2741 ~ no_proto[2d88]::utils::opt_err), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2741},"span":{"file_name":"src/utils.rs","byte_start":712409,"byte_end":712416,"line_start":52,"line_end":52,"column_start":8,"column_end":15},"name":"opt_err","qualname":"::utils::opt_err","value":"pub fn opt_err(Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":712384,"byte_end":712401,"line_start":51,"line_end":51,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1610615477},"span":{"file_name":"src/utils.rs","byte_start":712494,"byte_end":712495,"line_start":54,"line_end":54,"column_start":14,"column_end":15},"name":"x","qualname":"x$HirId { owner: DefId(0:2741 ~ no_proto[2d88]::utils::opt_err), local_id: 6 }","value":"T","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":2743},"span":{"file_name":"src/utils.rs","byte_start":712582,"byte_end":712594,"line_start":59,"line_end":59,"column_start":8,"column_end":20},"name":"CROCKFORD_32","qualname":"::utils::CROCKFORD_32","value":"[char; ]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744569},"span":{"file_name":"src/utils.rs","byte_start":712807,"byte_end":712816,"line_start":62,"line_end":62,"column_start":35,"column_end":44},"name":"value_str","qualname":"::utils::from_base32::value_str","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2746},"span":{"file_name":"src/utils.rs","byte_start":712792,"byte_end":712793,"line_start":62,"line_end":62,"column_start":20,"column_end":21},"name":"S","qualname":"::utils::from_base32::S$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2745},"span":{"file_name":"src/utils.rs","byte_start":712780,"byte_end":712791,"line_start":62,"line_end":62,"column_start":8,"column_end":19},"name":"from_base32","qualname":"::utils::from_base32","value":"pub fn from_base32>(S) -> u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107299001},"span":{"file_name":"src/utils.rs","byte_start":712840,"byte_end":712846,"line_start":64,"line_end":64,"column_start":9,"column_end":15},"name":"to_num","qualname":"to_num$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 66 }","value":"[closure@src/utils.rs:64:18: 71:6]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2684357305},"span":{"file_name":"src/utils.rs","byte_start":712850,"byte_end":712856,"line_start":64,"line_end":64,"column_start":19,"column_end":25},"name":"encode","qualname":"$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 64 }::encode","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805309113},"span":{"file_name":"src/utils.rs","byte_start":712885,"byte_end":712888,"line_start":65,"line_end":65,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 12 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952792761},"span":{"file_name":"src/utils.rs","byte_start":712890,"byte_end":712894,"line_start":65,"line_end":65,"column_start":19,"column_end":23},"name":"base","qualname":"base$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 13 }","value":"&char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992633},"span":{"file_name":"src/utils.rs","byte_start":713062,"byte_end":713069,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"name":"decoded","qualname":"decoded$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 72 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583694009},"span":{"file_name":"src/utils.rs","byte_start":713093,"byte_end":713098,"line_start":74,"line_end":74,"column_start":13,"column_end":18},"name":"place","qualname":"place$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 89 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100666041},"span":{"file_name":"src/utils.rs","byte_start":713159,"byte_end":713161,"line_start":76,"line_end":76,"column_start":9,"column_end":11},"name":"ch","qualname":"ch$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 96 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714233},"span":{"file_name":"src/utils.rs","byte_start":713206,"byte_end":713211,"line_start":77,"line_end":77,"column_start":13,"column_end":18},"name":"digit","qualname":"digit$HirId { owner: DefId(0:2745 ~ no_proto[2d88]::utils::from_base32), local_id: 110 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744572},"span":{"file_name":"src/utils.rs","byte_start":713344,"byte_end":713347,"line_start":85,"line_end":85,"column_start":18,"column_end":21},"name":"num","qualname":"::utils::to_base32::num","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873660},"span":{"file_name":"src/utils.rs","byte_start":713355,"byte_end":713361,"line_start":85,"line_end":85,"column_start":29,"column_end":35},"name":"length","qualname":"::utils::to_base32::length","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2748},"span":{"file_name":"src/utils.rs","byte_start":713334,"byte_end":713343,"line_start":85,"line_end":85,"column_start":8,"column_end":17},"name":"to_base32","qualname":"::utils::to_base32","value":"pub fn to_base32(u128, i32) -> String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818575036},"span":{"file_name":"src/utils.rs","byte_start":713393,"byte_end":713399,"line_start":87,"line_end":87,"column_start":13,"column_end":19},"name":"result","qualname":"result$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 21 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526844},"span":{"file_name":"src/utils.rs","byte_start":713458,"byte_end":713460,"line_start":88,"line_end":88,"column_start":9,"column_end":11},"name":"_x","qualname":"_x$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 28 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080377532},"span":{"file_name":"src/utils.rs","byte_start":713521,"byte_end":713526,"line_start":92,"line_end":92,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 62 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911740},"span":{"file_name":"src/utils.rs","byte_start":713542,"byte_end":713543,"line_start":93,"line_end":93,"column_start":9,"column_end":10},"name":"i","qualname":"i$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 69 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838863548},"span":{"file_name":"src/utils.rs","byte_start":713566,"byte_end":713567,"line_start":94,"line_end":94,"column_start":9,"column_end":10},"name":"x","qualname":"x$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 76 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583694012},"span":{"file_name":"src/utils.rs","byte_start":713595,"byte_end":713602,"line_start":95,"line_end":95,"column_start":13,"column_end":20},"name":"modulus","qualname":"modulus$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 89 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1224739516},"span":{"file_name":"src/utils.rs","byte_start":713744,"byte_end":713756,"line_start":100,"line_end":100,"column_start":13,"column_end":25},"name":"final_string","qualname":"final_string$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 146 }","value":"alloc::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2835352252},"span":{"file_name":"src/utils.rs","byte_start":713791,"byte_end":713793,"line_start":102,"line_end":102,"column_start":9,"column_end":11},"name":"ch","qualname":"ch$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 149 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":352324284},"span":{"file_name":"src/utils.rs","byte_start":713865,"byte_end":713866,"line_start":104,"line_end":104,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 168 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2902461116},"span":{"file_name":"src/utils.rs","byte_start":713946,"byte_end":713948,"line_start":107,"line_end":107,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2748 ~ no_proto[2d88]::utils::to_base32), local_id: 181 }","value":"core::str::Utf8Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3831},"span":{"file_name":"src/lib.rs","byte_start":25772,"byte_end":25782,"line_start":466,"line_end":466,"column_start":12,"column_end":22},"name":"NP_Factory","qualname":"::NP_Factory","value":"NP_Factory { schema, schema_bytes }","parent":null,"children":[{"krate":0,"index":3832},{"krate":0,"index":3833}],"decl_id":null,"docs":" Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones.\n \n The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html)\n \n You can also create a factory with a compiled byte schema using the static `new_bytes` method.\n \n # Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let user_factory = NP_Factory::new(r#\"\n struct({fields: {\n name: string(),\n pass: string(),\n age: u16(),\n todos: list({of: string()})\n }})\n \"#)?;\n \n \n // user_factory can now be used to make or open buffers that contain the data in the schema.\n \n // create new buffer\n let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size\n \n // set the \"name\" field of the struct\n user_buffer.set(&[\"name\"], \"Billy Joel\")?;\n \n // set the first todo\n user_buffer.set(&[\"todos\", \"0\"], \"Write a rust library.\")?;\n \n // close buffer \n let user_vec:Vec = user_buffer.finish().bytes();\n \n // open existing buffer for reading\n let user_buffer_2 = user_factory.open_buffer(user_vec);\n \n // read field name\n let name_field = user_buffer_2.get::<&str>(&[\"name\"])?;\n assert_eq!(name_field, Some(\"Billy Joel\"));\n \n \n // read first todo\n let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"0\"])?;\n assert_eq!(todo_value, Some(\"Write a rust library.\"));\n \n // read second todo\n let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"1\"])?;\n assert_eq!(todo_value, None);\n \n \n // close buffer again\n let user_vec: Vec = user_buffer_2.finish().bytes();\n // user_vec is a serialized Vec with our data\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Next Step\n \n Read about how to use buffers to access, mutate and compact data.\n \n [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html)\n \n","sig":null,"attributes":[{"value":"/ Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones.","span":{"file_name":"src/lib.rs","byte_start":23646,"byte_end":23770,"line_start":400,"line_end":400,"column_start":1,"column_end":125}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":23771,"byte_end":23775,"line_start":401,"line_end":401,"column_start":1,"column_end":5}},{"value":"/ The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html)","span":{"file_name":"src/lib.rs","byte_start":23776,"byte_end":23927,"line_start":402,"line_end":402,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":23928,"byte_end":23932,"line_start":403,"line_end":403,"column_start":1,"column_end":5}},{"value":"/ You can also create a factory with a compiled byte schema using the static `new_bytes` method.","span":{"file_name":"src/lib.rs","byte_start":23933,"byte_end":24031,"line_start":404,"line_end":404,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24032,"byte_end":24036,"line_start":405,"line_end":405,"column_start":1,"column_end":5}},{"value":"/ # Example","span":{"file_name":"src/lib.rs","byte_start":24037,"byte_end":24050,"line_start":406,"line_end":406,"column_start":1,"column_end":14}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":24051,"byte_end":24058,"line_start":407,"line_end":407,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/lib.rs","byte_start":24059,"byte_end":24093,"line_start":408,"line_end":408,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/lib.rs","byte_start":24094,"byte_end":24123,"line_start":409,"line_end":409,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24124,"byte_end":24128,"line_start":410,"line_end":410,"column_start":1,"column_end":5}},{"value":"/ let user_factory = NP_Factory::new(r#\"","span":{"file_name":"src/lib.rs","byte_start":24129,"byte_end":24171,"line_start":411,"line_end":411,"column_start":1,"column_end":43}},{"value":"/ struct({fields: {","span":{"file_name":"src/lib.rs","byte_start":24172,"byte_end":24197,"line_start":412,"line_end":412,"column_start":1,"column_end":26}},{"value":"/ name: string(),","span":{"file_name":"src/lib.rs","byte_start":24198,"byte_end":24226,"line_start":413,"line_end":413,"column_start":1,"column_end":29}},{"value":"/ pass: string(),","span":{"file_name":"src/lib.rs","byte_start":24227,"byte_end":24255,"line_start":414,"line_end":414,"column_start":1,"column_end":29}},{"value":"/ age: u16(),","span":{"file_name":"src/lib.rs","byte_start":24256,"byte_end":24281,"line_start":415,"line_end":415,"column_start":1,"column_end":26}},{"value":"/ todos: list({of: string()})","span":{"file_name":"src/lib.rs","byte_start":24282,"byte_end":24321,"line_start":416,"line_end":416,"column_start":1,"column_end":40}},{"value":"/ }})","span":{"file_name":"src/lib.rs","byte_start":24322,"byte_end":24333,"line_start":417,"line_end":417,"column_start":1,"column_end":12}},{"value":"/ \"#)?;","span":{"file_name":"src/lib.rs","byte_start":24334,"byte_end":24343,"line_start":418,"line_end":418,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24344,"byte_end":24348,"line_start":419,"line_end":419,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24349,"byte_end":24353,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ // user_factory can now be used to make or open buffers that contain the data in the schema.","span":{"file_name":"src/lib.rs","byte_start":24354,"byte_end":24450,"line_start":421,"line_end":421,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24451,"byte_end":24455,"line_start":422,"line_end":422,"column_start":1,"column_end":5}},{"value":"/ // create new buffer","span":{"file_name":"src/lib.rs","byte_start":24456,"byte_end":24480,"line_start":423,"line_end":423,"column_start":1,"column_end":25}},{"value":"/ let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size","span":{"file_name":"src/lib.rs","byte_start":24481,"byte_end":24581,"line_start":424,"line_end":424,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24582,"byte_end":24589,"line_start":425,"line_end":425,"column_start":1,"column_end":8}},{"value":"/ // set the \"name\" field of the struct","span":{"file_name":"src/lib.rs","byte_start":24590,"byte_end":24631,"line_start":426,"line_end":426,"column_start":1,"column_end":42}},{"value":"/ user_buffer.set(&[\"name\"], \"Billy Joel\")?;","span":{"file_name":"src/lib.rs","byte_start":24632,"byte_end":24678,"line_start":427,"line_end":427,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24679,"byte_end":24683,"line_start":428,"line_end":428,"column_start":1,"column_end":5}},{"value":"/ // set the first todo","span":{"file_name":"src/lib.rs","byte_start":24684,"byte_end":24709,"line_start":429,"line_end":429,"column_start":1,"column_end":26}},{"value":"/ user_buffer.set(&[\"todos\", \"0\"], \"Write a rust library.\")?;","span":{"file_name":"src/lib.rs","byte_start":24710,"byte_end":24773,"line_start":430,"line_end":430,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24774,"byte_end":24778,"line_start":431,"line_end":431,"column_start":1,"column_end":5}},{"value":"/ // close buffer ","span":{"file_name":"src/lib.rs","byte_start":24779,"byte_end":24799,"line_start":432,"line_end":432,"column_start":1,"column_end":21}},{"value":"/ let user_vec:Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":24800,"byte_end":24856,"line_start":433,"line_end":433,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24857,"byte_end":24861,"line_start":434,"line_end":434,"column_start":1,"column_end":5}},{"value":"/ // open existing buffer for reading","span":{"file_name":"src/lib.rs","byte_start":24862,"byte_end":24901,"line_start":435,"line_end":435,"column_start":1,"column_end":40}},{"value":"/ let user_buffer_2 = user_factory.open_buffer(user_vec);","span":{"file_name":"src/lib.rs","byte_start":24902,"byte_end":24961,"line_start":436,"line_end":436,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24962,"byte_end":24966,"line_start":437,"line_end":437,"column_start":1,"column_end":5}},{"value":"/ // read field name","span":{"file_name":"src/lib.rs","byte_start":24967,"byte_end":24989,"line_start":438,"line_end":438,"column_start":1,"column_end":23}},{"value":"/ let name_field = user_buffer_2.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":24990,"byte_end":25049,"line_start":439,"line_end":439,"column_start":1,"column_end":60}},{"value":"/ assert_eq!(name_field, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":25050,"byte_end":25097,"line_start":440,"line_end":440,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25098,"byte_end":25102,"line_start":441,"line_end":441,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25103,"byte_end":25107,"line_start":442,"line_end":442,"column_start":1,"column_end":5}},{"value":"/ // read first todo","span":{"file_name":"src/lib.rs","byte_start":25108,"byte_end":25130,"line_start":443,"line_end":443,"column_start":1,"column_end":23}},{"value":"/ let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"0\"])?;","span":{"file_name":"src/lib.rs","byte_start":25131,"byte_end":25196,"line_start":444,"line_end":444,"column_start":1,"column_end":66}},{"value":"/ assert_eq!(todo_value, Some(\"Write a rust library.\"));","span":{"file_name":"src/lib.rs","byte_start":25197,"byte_end":25255,"line_start":445,"line_end":445,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25256,"byte_end":25260,"line_start":446,"line_end":446,"column_start":1,"column_end":5}},{"value":"/ // read second todo","span":{"file_name":"src/lib.rs","byte_start":25261,"byte_end":25284,"line_start":447,"line_end":447,"column_start":1,"column_end":24}},{"value":"/ let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"1\"])?;","span":{"file_name":"src/lib.rs","byte_start":25285,"byte_end":25350,"line_start":448,"line_end":448,"column_start":1,"column_end":66}},{"value":"/ assert_eq!(todo_value, None);","span":{"file_name":"src/lib.rs","byte_start":25351,"byte_end":25384,"line_start":449,"line_end":449,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25385,"byte_end":25389,"line_start":450,"line_end":450,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25390,"byte_end":25394,"line_start":451,"line_end":451,"column_start":1,"column_end":5}},{"value":"/ // close buffer again","span":{"file_name":"src/lib.rs","byte_start":25395,"byte_end":25420,"line_start":452,"line_end":452,"column_start":1,"column_end":26}},{"value":"/ let user_vec: Vec = user_buffer_2.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":25421,"byte_end":25480,"line_start":453,"line_end":453,"column_start":1,"column_end":60}},{"value":"/ // user_vec is a serialized Vec with our data","span":{"file_name":"src/lib.rs","byte_start":25481,"byte_end":25534,"line_start":454,"line_end":454,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25535,"byte_end":25539,"line_start":455,"line_end":455,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/lib.rs","byte_start":25540,"byte_end":25569,"line_start":456,"line_end":456,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":25570,"byte_end":25577,"line_start":457,"line_end":457,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25578,"byte_end":25582,"line_start":458,"line_end":458,"column_start":1,"column_end":5}},{"value":"/ ## Next Step","span":{"file_name":"src/lib.rs","byte_start":25583,"byte_end":25599,"line_start":459,"line_end":459,"column_start":1,"column_end":17}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25600,"byte_end":25604,"line_start":460,"line_end":460,"column_start":1,"column_end":5}},{"value":"/ Read about how to use buffers to access, mutate and compact data.","span":{"file_name":"src/lib.rs","byte_start":25605,"byte_end":25674,"line_start":461,"line_end":461,"column_start":1,"column_end":70}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25675,"byte_end":25679,"line_start":462,"line_end":462,"column_start":1,"column_end":5}},{"value":"/ [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html)","span":{"file_name":"src/lib.rs","byte_start":25680,"byte_end":25738,"line_start":463,"line_end":463,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25739,"byte_end":25743,"line_start":464,"line_end":464,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3832},"span":{"file_name":"src/lib.rs","byte_start":25834,"byte_end":25840,"line_start":468,"line_end":468,"column_start":9,"column_end":15},"name":"schema","qualname":"::NP_Factory::schema","value":"schema::NP_Schema","parent":{"krate":0,"index":3831},"children":[],"decl_id":null,"docs":" schema data used by this factory\n","sig":null,"attributes":[{"value":"/ schema data used by this factory","span":{"file_name":"src/lib.rs","byte_start":25789,"byte_end":25825,"line_start":467,"line_end":467,"column_start":5,"column_end":41}}]},{"kind":"Field","id":{"krate":0,"index":3833},"span":{"file_name":"src/lib.rs","byte_start":25857,"byte_end":25869,"line_start":469,"line_end":469,"column_start":5,"column_end":17},"name":"schema_bytes","qualname":"::NP_Factory::schema_bytes","value":"alloc::vec::Vec","parent":{"krate":0,"index":3831},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3836},"span":{"file_name":"src/lib.rs","byte_start":26117,"byte_end":26129,"line_start":477,"line_end":477,"column_start":12,"column_end":24},"name":"NP_Size_Data","qualname":"::NP_Size_Data","value":"NP_Size_Data { current_buffer, after_compaction, wasted_bytes }","parent":null,"children":[{"krate":0,"index":3837},{"krate":0,"index":3838},{"krate":0,"index":3839}],"decl_id":null,"docs":" When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not.\n","sig":null,"attributes":[{"value":"/ When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not.","span":{"file_name":"src/lib.rs","byte_start":25953,"byte_end":26073,"line_start":475,"line_end":475,"column_start":1,"column_end":121}}]},{"kind":"Field","id":{"krate":0,"index":3837},"span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"name":"current_buffer","qualname":"::NP_Size_Data::current_buffer","value":"usize","parent":{"krate":0,"index":3836},"children":[],"decl_id":null,"docs":" The size of the existing buffer\n","sig":null,"attributes":[{"value":"/ The size of the existing buffer","span":{"file_name":"src/lib.rs","byte_start":26136,"byte_end":26171,"line_start":478,"line_end":478,"column_start":5,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":3838},"span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"name":"after_compaction","qualname":"::NP_Size_Data::after_compaction","value":"usize","parent":{"krate":0,"index":3836},"children":[],"decl_id":null,"docs":" The estimated size of buffer after compaction\n","sig":null,"attributes":[{"value":"/ The estimated size of buffer after compaction","span":{"file_name":"src/lib.rs","byte_start":26207,"byte_end":26256,"line_start":480,"line_end":480,"column_start":5,"column_end":54}}]},{"kind":"Field","id":{"krate":0,"index":3839},"span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"name":"wasted_bytes","qualname":"::NP_Size_Data::wasted_bytes","value":"usize","parent":{"krate":0,"index":3836},"children":[],"decl_id":null,"docs":" How many known wasted bytes in existing buffer\n","sig":null,"attributes":[{"value":"/ How many known wasted bytes in existing buffer","span":{"file_name":"src/lib.rs","byte_start":26294,"byte_end":26344,"line_start":482,"line_end":482,"column_start":5,"column_end":55}}]},{"kind":"Local","id":{"krate":0,"index":1073744616},"span":{"file_name":"src/lib.rs","byte_start":26579,"byte_end":26589,"line_start":492,"line_end":492,"column_start":19,"column_end":29},"name":"es6_schema","qualname":"::new::es6_schema","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2793},"span":{"file_name":"src/lib.rs","byte_start":26576,"byte_end":26577,"line_start":492,"line_end":492,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:2792 ~ no_proto[2d88]::{impl#2}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2792},"span":{"file_name":"src/lib.rs","byte_start":26572,"byte_end":26575,"line_start":492,"line_end":492,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(S) -> Result where S: Into","parent":null,"children":[],"decl_id":null,"docs":" Generate a new factory from an ES6 schema\n \n The operation will fail if the string can't be parsed or the schema is otherwise invalid.\n \n","sig":null,"attributes":[{"value":"/ Generate a new factory from an ES6 schema","span":{"file_name":"src/lib.rs","byte_start":26399,"byte_end":26444,"line_start":488,"line_end":488,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":26449,"byte_end":26453,"line_start":489,"line_end":489,"column_start":5,"column_end":9}},{"value":"/ The operation will fail if the string can't be parsed or the schema is otherwise invalid.","span":{"file_name":"src/lib.rs","byte_start":26458,"byte_end":26551,"line_start":490,"line_end":490,"column_start":5,"column_end":98}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":26556,"byte_end":26560,"line_start":491,"line_end":491,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1677724392},"span":{"file_name":"src/lib.rs","byte_start":26715,"byte_end":26726,"line_start":495,"line_end":495,"column_start":14,"column_end":25},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2792 ~ no_proto[2d88]::{impl#2}::new), local_id: 38 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825208040},"span":{"file_name":"src/lib.rs","byte_start":26728,"byte_end":26740,"line_start":495,"line_end":495,"column_start":27,"column_end":39},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2792 ~ no_proto[2d88]::{impl#2}::new), local_id: 39 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547112},"span":{"file_name":"src/lib.rs","byte_start":26746,"byte_end":26752,"line_start":495,"line_end":495,"column_start":45,"column_end":51},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2792 ~ no_proto[2d88]::{impl#2}::new), local_id: 40 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744618},"span":{"file_name":"src/lib.rs","byte_start":27259,"byte_end":27271,"line_start":511,"line_end":511,"column_start":22,"column_end":34},"name":"schema_bytes","qualname":"::new_bytes::schema_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2794},"span":{"file_name":"src/lib.rs","byte_start":27249,"byte_end":27258,"line_start":511,"line_end":511,"column_start":12,"column_end":21},"name":"new_bytes","qualname":"::new_bytes","value":"pub fn new_bytes(&[u8]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Create a new factory from a compiled schema byte array.\n The byte schemas are at least an order of magnitude faster to parse than JSON schemas.\n \n","sig":null,"attributes":[{"value":"/ Create a new factory from a compiled schema byte array.","span":{"file_name":"src/lib.rs","byte_start":27074,"byte_end":27133,"line_start":508,"line_end":508,"column_start":5,"column_end":64}},{"value":"/ The byte schemas are at least an order of magnitude faster to parse than JSON schemas.","span":{"file_name":"src/lib.rs","byte_start":27138,"byte_end":27228,"line_start":509,"line_end":509,"column_start":5,"column_end":95}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27233,"byte_end":27237,"line_start":510,"line_end":510,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1207962346},"span":{"file_name":"src/lib.rs","byte_start":27330,"byte_end":27341,"line_start":513,"line_end":513,"column_start":14,"column_end":25},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2794 ~ no_proto[2d88]::{impl#2}::new_bytes), local_id: 18 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445994},"span":{"file_name":"src/lib.rs","byte_start":27347,"byte_end":27353,"line_start":513,"line_end":513,"column_start":31,"column_end":37},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2794 ~ no_proto[2d88]::{impl#2}::new_bytes), local_id: 19 }","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744619},"span":{"file_name":"src/lib.rs","byte_start":27770,"byte_end":27774,"line_start":528,"line_end":528,"column_start":33,"column_end":37},"name":"self","qualname":"::export_schema_bytes::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2795},"span":{"file_name":"src/lib.rs","byte_start":27749,"byte_end":27768,"line_start":528,"line_end":528,"column_start":12,"column_end":31},"name":"export_schema_bytes","qualname":"::export_schema_bytes","value":"pub fn export_schema_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Get a copy of the compiled schema byte array\n \n","sig":null,"attributes":[{"value":"/ Get a copy of the compiled schema byte array","span":{"file_name":"src/lib.rs","byte_start":27680,"byte_end":27728,"line_start":526,"line_end":526,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27733,"byte_end":27737,"line_start":527,"line_end":527,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744620},"span":{"file_name":"src/lib.rs","byte_start":28023,"byte_end":28027,"line_start":534,"line_end":534,"column_start":31,"column_end":35},"name":"self","qualname":"::export_schema_idl::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2796},"span":{"file_name":"src/lib.rs","byte_start":28004,"byte_end":28021,"line_start":534,"line_end":534,"column_start":12,"column_end":29},"name":"export_schema_idl","qualname":"::export_schema_idl","value":"pub fn export_schema_idl(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`.\n \n","sig":null,"attributes":[{"value":"/ Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`.","span":{"file_name":"src/lib.rs","byte_start":27829,"byte_end":27983,"line_start":532,"line_end":532,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27988,"byte_end":27992,"line_start":533,"line_end":533,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744621},"span":{"file_name":"src/lib.rs","byte_start":28188,"byte_end":28192,"line_start":540,"line_end":540,"column_start":25,"column_end":29},"name":"self","qualname":"::open_buffer::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873709},"span":{"file_name":"src/lib.rs","byte_start":28194,"byte_end":28199,"line_start":540,"line_end":540,"column_start":31,"column_end":36},"name":"bytes","qualname":"::open_buffer::bytes","value":"alloc::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2797},"span":{"file_name":"src/lib.rs","byte_start":28175,"byte_end":28186,"line_start":540,"line_end":540,"column_start":12,"column_end":23},"name":"open_buffer","qualname":"::open_buffer","value":"pub fn open_buffer(&Self, Vec) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing Vec as buffer for this factory. \n \n","sig":null,"attributes":[{"value":"/ Open existing Vec as buffer for this factory. ","span":{"file_name":"src/lib.rs","byte_start":28099,"byte_end":28154,"line_start":538,"line_end":538,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28159,"byte_end":28163,"line_start":539,"line_end":539,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744622},"span":{"file_name":"src/lib.rs","byte_start":28729,"byte_end":28733,"line_start":550,"line_end":550,"column_start":46,"column_end":50},"name":"self","qualname":"::open_buffer_ref::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873710},"span":{"file_name":"src/lib.rs","byte_start":28735,"byte_end":28740,"line_start":550,"line_end":550,"column_start":52,"column_end":57},"name":"bytes","qualname":"::open_buffer_ref::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2798},"span":{"file_name":"src/lib.rs","byte_start":28695,"byte_end":28710,"line_start":550,"line_end":550,"column_start":12,"column_end":27},"name":"open_buffer_ref","qualname":"::open_buffer_ref","value":"pub fn open_buffer_ref<'buffer>(&'buffer Self, &'buffer [u8]) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing buffer as ready only ref, can much faster if you don't need to mutate anything.\n \n All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method.\n \n Also, read only buffers are `Sync` and `Send` so good for multithreaded environments.\n \n","sig":null,"attributes":[{"value":"/ Open existing buffer as ready only ref, can much faster if you don't need to mutate anything.","span":{"file_name":"src/lib.rs","byte_start":28338,"byte_end":28435,"line_start":544,"line_end":544,"column_start":5,"column_end":102}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28440,"byte_end":28444,"line_start":545,"line_end":545,"column_start":5,"column_end":9}},{"value":"/ All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method.","span":{"file_name":"src/lib.rs","byte_start":28449,"byte_end":28571,"line_start":546,"line_end":546,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28576,"byte_end":28580,"line_start":547,"line_end":547,"column_start":5,"column_end":9}},{"value":"/ Also, read only buffers are `Sync` and `Send` so good for multithreaded environments.","span":{"file_name":"src/lib.rs","byte_start":28585,"byte_end":28674,"line_start":548,"line_end":548,"column_start":5,"column_end":94}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28679,"byte_end":28683,"line_start":549,"line_end":549,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744624},"span":{"file_name":"src/lib.rs","byte_start":29716,"byte_end":29720,"line_start":563,"line_end":563,"column_start":50,"column_end":54},"name":"self","qualname":"::open_buffer_ref_mut::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873712},"span":{"file_name":"src/lib.rs","byte_start":29722,"byte_end":29727,"line_start":563,"line_end":563,"column_start":56,"column_end":61},"name":"bytes","qualname":"::open_buffer_ref_mut::bytes","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615536},"span":{"file_name":"src/lib.rs","byte_start":29748,"byte_end":29756,"line_start":563,"line_end":563,"column_start":82,"column_end":90},"name":"data_len","qualname":"::open_buffer_ref_mut::data_len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2800},"span":{"file_name":"src/lib.rs","byte_start":29678,"byte_end":29697,"line_start":563,"line_end":563,"column_start":12,"column_end":31},"name":"open_buffer_ref_mut","qualname":"::open_buffer_ref_mut","value":"pub fn open_buffer_ref_mut<'buffer>(&'buffer Self, &'buffer mut [u8], usize)\n-> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up.\n \n Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer.\n \n The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. \n \n If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations.\n \n \n","sig":null,"attributes":[{"value":"/ Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up.","span":{"file_name":"src/lib.rs","byte_start":28883,"byte_end":29038,"line_start":554,"line_end":554,"column_start":5,"column_end":160}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29043,"byte_end":29047,"line_start":555,"line_end":555,"column_start":5,"column_end":9}},{"value":"/ Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer.","span":{"file_name":"src/lib.rs","byte_start":29052,"byte_end":29290,"line_start":556,"line_end":556,"column_start":5,"column_end":243}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29295,"byte_end":29299,"line_start":557,"line_end":557,"column_start":5,"column_end":9}},{"value":"/ The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. ","span":{"file_name":"src/lib.rs","byte_start":29304,"byte_end":29438,"line_start":558,"line_end":558,"column_start":5,"column_end":139}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29443,"byte_end":29447,"line_start":559,"line_end":559,"column_start":5,"column_end":9}},{"value":"/ If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations.","span":{"file_name":"src/lib.rs","byte_start":29452,"byte_end":29648,"line_start":560,"line_end":560,"column_start":5,"column_end":201}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29653,"byte_end":29657,"line_start":561,"line_end":561,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29662,"byte_end":29666,"line_start":562,"line_end":562,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744626},"span":{"file_name":"src/lib.rs","byte_start":30341,"byte_end":30345,"line_start":572,"line_end":572,"column_start":41,"column_end":45},"name":"self","qualname":"::new_buffer::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873714},"span":{"file_name":"src/lib.rs","byte_start":30347,"byte_end":30355,"line_start":572,"line_end":572,"column_start":47,"column_end":55},"name":"capacity","qualname":"::new_buffer::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2802},"span":{"file_name":"src/lib.rs","byte_start":30312,"byte_end":30322,"line_start":572,"line_end":572,"column_start":12,"column_end":22},"name":"new_buffer","qualname":"::new_buffer","value":"pub fn new_buffer<'buffer>(&'buffer Self, Option) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty buffer from this factory.\n \n The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes.\n \n \n","sig":null,"attributes":[{"value":"/ Generate a new empty buffer from this factory.","span":{"file_name":"src/lib.rs","byte_start":29905,"byte_end":29955,"line_start":567,"line_end":567,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29960,"byte_end":29964,"line_start":568,"line_end":568,"column_start":5,"column_end":9}},{"value":"/ The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes.","span":{"file_name":"src/lib.rs","byte_start":29969,"byte_end":30282,"line_start":569,"line_end":569,"column_start":5,"column_end":318}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30287,"byte_end":30291,"line_start":570,"line_end":570,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30296,"byte_end":30300,"line_start":571,"line_end":571,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744628},"span":{"file_name":"src/lib.rs","byte_start":30710,"byte_end":30714,"line_start":580,"line_end":580,"column_start":49,"column_end":53},"name":"self","qualname":"::new_buffer_ref_mut::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873716},"span":{"file_name":"src/lib.rs","byte_start":30716,"byte_end":30721,"line_start":580,"line_end":580,"column_start":55,"column_end":60},"name":"bytes","qualname":"::new_buffer_ref_mut::bytes","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2804},"span":{"file_name":"src/lib.rs","byte_start":30673,"byte_end":30691,"line_start":580,"line_end":580,"column_start":12,"column_end":30},"name":"new_buffer_ref_mut","qualname":"::new_buffer_ref_mut","value":"pub fn new_buffer_ref_mut<'buffer>(&'buffer Self, &'buffer mut [u8])\n-> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty buffer from this factory.\n \n Make sure the mutable slice is large enough to fit all the data you plan on putting into it.\n \n","sig":null,"attributes":[{"value":"/ Generate a new empty buffer from this factory.","span":{"file_name":"src/lib.rs","byte_start":30492,"byte_end":30542,"line_start":576,"line_end":576,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30547,"byte_end":30551,"line_start":577,"line_end":577,"column_start":5,"column_end":9}},{"value":"/ Make sure the mutable slice is large enough to fit all the data you plan on putting into it.","span":{"file_name":"src/lib.rs","byte_start":30556,"byte_end":30652,"line_start":578,"line_end":578,"column_start":5,"column_end":101}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30657,"byte_end":30661,"line_start":579,"line_end":579,"column_start":5,"column_end":9}}]}],"impls":[{"id":0,"kind":"Inherent","span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":15},{"krate":0,"index":17},{"krate":0,"index":18}],"docs":"","sig":null,"attributes":[]},{"id":1,"kind":"Direct","span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":83},{"krate":0,"index":84},{"krate":0,"index":85},{"krate":0,"index":86},{"krate":0,"index":87},{"krate":0,"index":88},{"krate":0,"index":90},{"krate":0,"index":92},{"krate":0,"index":93},{"krate":0,"index":94},{"krate":0,"index":95},{"krate":0,"index":96},{"krate":0,"index":97},{"krate":0,"index":98}],"docs":"","sig":null,"attributes":[]},{"id":2,"kind":"Direct","span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"value":"","parent":null,"children":[{"krate":0,"index":101}],"docs":"","sig":null,"attributes":[]},{"id":3,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":177},{"krate":0,"index":178},{"krate":0,"index":179}],"docs":"","sig":null,"attributes":[]},{"id":4,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":182},{"krate":0,"index":183},{"krate":0,"index":184},{"krate":0,"index":185},{"krate":0,"index":186},{"krate":0,"index":187},{"krate":0,"index":189},{"krate":0,"index":190},{"krate":0,"index":192},{"krate":0,"index":193},{"krate":0,"index":196},{"krate":0,"index":197},{"krate":0,"index":198}],"docs":"","sig":null,"attributes":[]},{"id":5,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"value":"","parent":null,"children":[{"krate":0,"index":201},{"krate":0,"index":202},{"krate":0,"index":203}],"docs":"","sig":null,"attributes":[]},{"id":6,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":206},{"krate":0,"index":207},{"krate":0,"index":208},{"krate":0,"index":209},{"krate":0,"index":211},{"krate":0,"index":216},{"krate":0,"index":217},{"krate":0,"index":218},{"krate":0,"index":219},{"krate":0,"index":222},{"krate":0,"index":223},{"krate":0,"index":224},{"krate":0,"index":225}],"docs":"","sig":null,"attributes":[]},{"id":7,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"value":"","parent":null,"children":[{"krate":0,"index":294},{"krate":0,"index":295},{"krate":0,"index":296}],"docs":"","sig":null,"attributes":[]},{"id":8,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":299},{"krate":0,"index":300},{"krate":0,"index":301},{"krate":0,"index":303},{"krate":0,"index":304},{"krate":0,"index":306},{"krate":0,"index":308},{"krate":0,"index":309},{"krate":0,"index":312},{"krate":0,"index":313},{"krate":0,"index":316},{"krate":0,"index":319},{"krate":0,"index":321}],"docs":"","sig":null,"attributes":[]},{"id":9,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":329},{"krate":0,"index":330},{"krate":0,"index":331},{"krate":0,"index":332},{"krate":0,"index":334},{"krate":0,"index":335},{"krate":0,"index":336},{"krate":0,"index":337},{"krate":0,"index":342},{"krate":0,"index":345},{"krate":0,"index":346},{"krate":0,"index":347},{"krate":0,"index":348}],"docs":"","sig":null,"attributes":[]},{"id":42,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"value":"","parent":null,"children":[{"krate":0,"index":693},{"krate":0,"index":694},{"krate":0,"index":695}],"docs":"","sig":null,"attributes":[]},{"id":43,"kind":"Inherent","span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":697}],"docs":"","sig":null,"attributes":[]},{"id":44,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":705}],"docs":"","sig":null,"attributes":[]},{"id":45,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"value":"","parent":null,"children":[{"krate":0,"index":708},{"krate":0,"index":710},{"krate":0,"index":711},{"krate":0,"index":712},{"krate":0,"index":713},{"krate":0,"index":714},{"krate":0,"index":715},{"krate":0,"index":716},{"krate":0,"index":718},{"krate":0,"index":719},{"krate":0,"index":721},{"krate":0,"index":735},{"krate":0,"index":736}],"docs":"","sig":null,"attributes":[]},{"id":46,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":739},{"krate":0,"index":740},{"krate":0,"index":741}],"docs":"","sig":null,"attributes":[]},{"id":47,"kind":"Inherent","span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":743},{"krate":0,"index":744},{"krate":0,"index":745},{"krate":0,"index":746}],"docs":"","sig":null,"attributes":[]},{"id":48,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":748}],"docs":"","sig":null,"attributes":[]},{"id":49,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":752},{"krate":0,"index":753},{"krate":0,"index":755},{"krate":0,"index":756},{"krate":0,"index":757},{"krate":0,"index":758},{"krate":0,"index":771},{"krate":0,"index":785},{"krate":0,"index":786},{"krate":0,"index":787},{"krate":0,"index":788},{"krate":0,"index":790},{"krate":0,"index":791}],"docs":"","sig":null,"attributes":[]},{"id":50,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":869},{"krate":0,"index":870},{"krate":0,"index":871}],"docs":"","sig":null,"attributes":[]},{"id":51,"kind":"Inherent","span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":873},{"krate":0,"index":874},{"krate":0,"index":875},{"krate":0,"index":876},{"krate":0,"index":877}],"docs":"","sig":null,"attributes":[]},{"id":52,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":879},{"krate":0,"index":880}],"docs":"","sig":null,"attributes":[]},{"id":53,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":882},{"krate":0,"index":883},{"krate":0,"index":884},{"krate":0,"index":885},{"krate":0,"index":886}],"docs":"","sig":null,"attributes":[]},{"id":54,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":888}],"docs":"","sig":null,"attributes":[]},{"id":56,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":892}],"docs":"","sig":null,"attributes":[]},{"id":58,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":902}],"docs":"","sig":null,"attributes":[]},{"id":60,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":906}],"docs":"","sig":null,"attributes":[]},{"id":62,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":910}],"docs":"","sig":null,"attributes":[]},{"id":63,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":912},{"krate":0,"index":913}],"docs":"","sig":null,"attributes":[]},{"id":64,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":915}],"docs":"","sig":null,"attributes":[]},{"id":65,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":917},{"krate":0,"index":918}],"docs":"","sig":null,"attributes":[]},{"id":66,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":920}],"docs":"","sig":null,"attributes":[]},{"id":67,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":922},{"krate":0,"index":923}],"docs":"","sig":null,"attributes":[]},{"id":68,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":925}],"docs":"","sig":null,"attributes":[]},{"id":69,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":927},{"krate":0,"index":928}],"docs":"","sig":null,"attributes":[]},{"id":70,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":930}],"docs":"","sig":null,"attributes":[]},{"id":71,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":933},{"krate":0,"index":934},{"krate":0,"index":935},{"krate":0,"index":936},{"krate":0,"index":937},{"krate":0,"index":939},{"krate":0,"index":942},{"krate":0,"index":944},{"krate":0,"index":945},{"krate":0,"index":947},{"krate":0,"index":948},{"krate":0,"index":949},{"krate":0,"index":950}],"docs":"","sig":null,"attributes":[]},{"id":72,"kind":"Inherent","span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1038},{"krate":0,"index":1041},{"krate":0,"index":1045},{"krate":0,"index":1048},{"krate":0,"index":1051},{"krate":0,"index":1056}],"docs":"","sig":null,"attributes":[]},{"id":73,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1060}],"docs":"","sig":null,"attributes":[]},{"id":74,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1063}],"docs":"","sig":null,"attributes":[]},{"id":75,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":1066},{"krate":0,"index":1067},{"krate":0,"index":1069}],"docs":"","sig":null,"attributes":[]},{"id":76,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1073},{"krate":0,"index":1074},{"krate":0,"index":1075},{"krate":0,"index":1076},{"krate":0,"index":1078},{"krate":0,"index":1079},{"krate":0,"index":1080},{"krate":0,"index":1082},{"krate":0,"index":1083},{"krate":0,"index":1084},{"krate":0,"index":1085},{"krate":0,"index":1087},{"krate":0,"index":1088}],"docs":"","sig":null,"attributes":[]},{"id":77,"kind":"Inherent","span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1196},{"krate":0,"index":1198},{"krate":0,"index":1201},{"krate":0,"index":1205}],"docs":"","sig":null,"attributes":[]},{"id":78,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1207}],"docs":"","sig":null,"attributes":[]},{"id":79,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1209}],"docs":"","sig":null,"attributes":[]},{"id":80,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":1213},{"krate":0,"index":1214},{"krate":0,"index":1216}],"docs":"","sig":null,"attributes":[]},{"id":81,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1220},{"krate":0,"index":1221},{"krate":0,"index":1222},{"krate":0,"index":1223},{"krate":0,"index":1225},{"krate":0,"index":1227},{"krate":0,"index":1228},{"krate":0,"index":1229},{"krate":0,"index":1230},{"krate":0,"index":1231},{"krate":0,"index":1232},{"krate":0,"index":1234},{"krate":0,"index":1235}],"docs":"","sig":null,"attributes":[]},{"id":82,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":1332},{"krate":0,"index":1333},{"krate":0,"index":1334}],"docs":"","sig":null,"attributes":[]},{"id":83,"kind":"Inherent","span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1336},{"krate":0,"index":1338},{"krate":0,"index":1339},{"krate":0,"index":1340},{"krate":0,"index":1341}],"docs":"","sig":null,"attributes":[]},{"id":84,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1343}],"docs":"","sig":null,"attributes":[]},{"id":85,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1346},{"krate":0,"index":1347},{"krate":0,"index":1348},{"krate":0,"index":1350},{"krate":0,"index":1352},{"krate":0,"index":1355},{"krate":0,"index":1356},{"krate":0,"index":1357},{"krate":0,"index":1359},{"krate":0,"index":1360},{"krate":0,"index":1361},{"krate":0,"index":1363},{"krate":0,"index":1364}],"docs":"","sig":null,"attributes":[]},{"id":86,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":1438},{"krate":0,"index":1439},{"krate":0,"index":1440}],"docs":"","sig":null,"attributes":[]},{"id":87,"kind":"Inherent","span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1442}],"docs":"","sig":null,"attributes":[]},{"id":88,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1444}],"docs":"","sig":null,"attributes":[]},{"id":89,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1446}],"docs":"","sig":null,"attributes":[]},{"id":90,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1449},{"krate":0,"index":1450},{"krate":0,"index":1451},{"krate":0,"index":1452},{"krate":0,"index":1453},{"krate":0,"index":1455},{"krate":0,"index":1458},{"krate":0,"index":1460},{"krate":0,"index":1461},{"krate":0,"index":1463},{"krate":0,"index":1464},{"krate":0,"index":1465},{"krate":0,"index":1466}],"docs":"","sig":null,"attributes":[]},{"id":91,"kind":"Direct","span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1534},{"krate":0,"index":1535},{"krate":0,"index":1536},{"krate":0,"index":1537},{"krate":0,"index":1538},{"krate":0,"index":1539},{"krate":0,"index":1540},{"krate":0,"index":1543},{"krate":0,"index":1544},{"krate":0,"index":1545},{"krate":0,"index":1547},{"krate":0,"index":1548}],"docs":"","sig":null,"attributes":[]},{"id":92,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"value":"","parent":null,"children":[{"krate":0,"index":1645}],"docs":"","sig":null,"attributes":[]},{"id":93,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1664},{"krate":0,"index":1665},{"krate":0,"index":1666},{"krate":0,"index":1667},{"krate":0,"index":1669}],"docs":"","sig":null,"attributes":[]},{"id":94,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"value":"","parent":null,"children":[{"krate":0,"index":1671},{"krate":0,"index":1672},{"krate":0,"index":1673},{"krate":0,"index":1674},{"krate":0,"index":1675},{"krate":0,"index":1676},{"krate":0,"index":1677},{"krate":0,"index":1678},{"krate":0,"index":1682}],"docs":"","sig":null,"attributes":[]},{"id":95,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"value":"","parent":null,"children":[{"krate":0,"index":1684},{"krate":0,"index":1685},{"krate":0,"index":1686},{"krate":0,"index":1687},{"krate":0,"index":1688},{"krate":0,"index":1689},{"krate":0,"index":1690},{"krate":0,"index":1691},{"krate":0,"index":1695},{"krate":0,"index":1696},{"krate":0,"index":1698}],"docs":"","sig":null,"attributes":[]},{"id":96,"kind":"Inherent","span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":1701},{"krate":0,"index":1703}],"docs":"","sig":null,"attributes":[]},{"id":97,"kind":"Inherent","span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":1706},{"krate":0,"index":1707},{"krate":0,"index":1708},{"krate":0,"index":1709},{"krate":0,"index":1710},{"krate":0,"index":1711},{"krate":0,"index":1712},{"krate":0,"index":1713},{"krate":0,"index":1714},{"krate":0,"index":1715},{"krate":0,"index":1716},{"krate":0,"index":1717}],"docs":"","sig":null,"attributes":[]},{"id":98,"kind":"Inherent","span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1835},{"krate":0,"index":1837},{"krate":0,"index":1840},{"krate":0,"index":1843},{"krate":0,"index":1844},{"krate":0,"index":1846}],"docs":"","sig":null,"attributes":[]},{"id":99,"kind":"Direct","span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1849},{"krate":0,"index":1851},{"krate":0,"index":1852},{"krate":0,"index":1853},{"krate":0,"index":1855},{"krate":0,"index":1856},{"krate":0,"index":1858},{"krate":0,"index":1860},{"krate":0,"index":1861},{"krate":0,"index":1862},{"krate":0,"index":1863},{"krate":0,"index":1864}],"docs":"","sig":null,"attributes":[]},{"id":100,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":1933},{"krate":0,"index":1934}],"docs":"","sig":null,"attributes":[]},{"id":101,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"value":"","parent":null,"children":[{"krate":0,"index":1937}],"docs":"","sig":null,"attributes":[]},{"id":102,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":1940},{"krate":0,"index":1941},{"krate":0,"index":1943},{"krate":0,"index":1944},{"krate":0,"index":1945}],"docs":"","sig":null,"attributes":[]},{"id":103,"kind":"Direct","span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":1950},{"krate":0,"index":1952},{"krate":0,"index":1954},{"krate":0,"index":1955},{"krate":0,"index":1956},{"krate":0,"index":1957},{"krate":0,"index":1959},{"krate":0,"index":1960},{"krate":0,"index":1961},{"krate":0,"index":1962},{"krate":0,"index":1963},{"krate":0,"index":1964}],"docs":"","sig":null,"attributes":[]},{"id":104,"kind":"Inherent","span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":2036},{"krate":0,"index":2037},{"krate":0,"index":2038},{"krate":0,"index":2039}],"docs":"","sig":null,"attributes":[]},{"id":105,"kind":"Inherent","span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":2041},{"krate":0,"index":2048},{"krate":0,"index":2052},{"krate":0,"index":2055},{"krate":0,"index":2057},{"krate":0,"index":2058},{"krate":0,"index":2059}],"docs":"","sig":null,"attributes":[]},{"id":106,"kind":"Direct","span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":2068},{"krate":0,"index":2070},{"krate":0,"index":2071},{"krate":0,"index":2072},{"krate":0,"index":2073},{"krate":0,"index":2075},{"krate":0,"index":2077},{"krate":0,"index":2078},{"krate":0,"index":2079},{"krate":0,"index":2080},{"krate":0,"index":2081},{"krate":0,"index":2082}],"docs":"","sig":null,"attributes":[]},{"id":107,"kind":"Inherent","span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"value":"","parent":null,"children":[{"krate":0,"index":2159},{"krate":0,"index":2160},{"krate":0,"index":2162},{"krate":0,"index":2163}],"docs":"","sig":null,"attributes":[]},{"id":108,"kind":"Direct","span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":2166},{"krate":0,"index":2168},{"krate":0,"index":2169},{"krate":0,"index":2170},{"krate":0,"index":2172},{"krate":0,"index":2174},{"krate":0,"index":2176},{"krate":0,"index":2177},{"krate":0,"index":2178},{"krate":0,"index":2179},{"krate":0,"index":2180},{"krate":0,"index":2181}],"docs":"","sig":null,"attributes":[]},{"id":109,"kind":"Direct","span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":110,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":2279},{"krate":0,"index":2280},{"krate":0,"index":2281}],"docs":"","sig":null,"attributes":[]},{"id":111,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2283},{"krate":0,"index":2284},{"krate":0,"index":2285},{"krate":0,"index":2286},{"krate":0,"index":2287},{"krate":0,"index":2288},{"krate":0,"index":2289},{"krate":0,"index":2290},{"krate":0,"index":2291},{"krate":0,"index":2294},{"krate":0,"index":2296},{"krate":0,"index":2298},{"krate":0,"index":2301},{"krate":0,"index":2304},{"krate":0,"index":2305},{"krate":0,"index":2306},{"krate":0,"index":2309},{"krate":0,"index":2312},{"krate":0,"index":2314},{"krate":0,"index":2316},{"krate":0,"index":2317},{"krate":0,"index":2318},{"krate":0,"index":2320},{"krate":0,"index":2321}],"docs":"","sig":null,"attributes":[]},{"id":112,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"value":"","parent":null,"children":[{"krate":0,"index":2332},{"krate":0,"index":2333},{"krate":0,"index":2335},{"krate":0,"index":2337}],"docs":"","sig":null,"attributes":[]},{"id":113,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"value":"","parent":null,"children":[{"krate":0,"index":2340}],"docs":"","sig":null,"attributes":[]},{"id":114,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2349}],"docs":"","sig":null,"attributes":[]},{"id":115,"kind":"Direct","span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":2352},{"krate":0,"index":2353}],"docs":"","sig":null,"attributes":[]},{"id":116,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2451}],"docs":"","sig":null,"attributes":[]},{"id":117,"kind":"Inherent","span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"value":"","parent":null,"children":[{"krate":0,"index":2453}],"docs":"","sig":null,"attributes":[]},{"id":118,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2457}],"docs":"","sig":null,"attributes":[]},{"id":119,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":120,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":121,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"value":"","parent":null,"children":[{"krate":0,"index":2463}],"docs":"","sig":null,"attributes":[]},{"id":122,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":2465}],"docs":"","sig":null,"attributes":[]},{"id":123,"kind":"Inherent","span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2467},{"krate":0,"index":2468},{"krate":0,"index":2469},{"krate":0,"index":2470},{"krate":0,"index":2471},{"krate":0,"index":2472},{"krate":0,"index":2473},{"krate":0,"index":2474}],"docs":"","sig":null,"attributes":[]},{"id":124,"kind":"Inherent","span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"value":"","parent":null,"children":[{"krate":0,"index":2489},{"krate":0,"index":2491}],"docs":"","sig":null,"attributes":[]},{"id":125,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":2494}],"docs":"","sig":null,"attributes":[]},{"id":126,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"value":"","parent":null,"children":[{"krate":0,"index":2496}],"docs":"","sig":null,"attributes":[]},{"id":127,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":2498}],"docs":"","sig":null,"attributes":[]},{"id":128,"kind":"Inherent","span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"value":"","parent":null,"children":[{"krate":0,"index":2526},{"krate":0,"index":2527},{"krate":0,"index":2528},{"krate":0,"index":2529},{"krate":0,"index":2530}],"docs":"","sig":null,"attributes":[]},{"id":129,"kind":"Inherent","span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":2532},{"krate":0,"index":2533},{"krate":0,"index":2534},{"krate":0,"index":2535},{"krate":0,"index":2536},{"krate":0,"index":2537},{"krate":0,"index":2538},{"krate":0,"index":2539},{"krate":0,"index":2540},{"krate":0,"index":2541},{"krate":0,"index":2542},{"krate":0,"index":2543},{"krate":0,"index":2544},{"krate":0,"index":2545},{"krate":0,"index":2546},{"krate":0,"index":2547},{"krate":0,"index":2548},{"krate":0,"index":2549},{"krate":0,"index":2550},{"krate":0,"index":2551}],"docs":"","sig":null,"attributes":[]},{"id":130,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2553},{"krate":0,"index":2554}],"docs":"","sig":null,"attributes":[]},{"id":131,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":2557},{"krate":0,"index":2558}],"docs":"","sig":null,"attributes":[]},{"id":132,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"value":"","parent":null,"children":[{"krate":0,"index":2562},{"krate":0,"index":2563}],"docs":"","sig":null,"attributes":[]},{"id":133,"kind":"Direct","span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":134,"kind":"Direct","span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":2607}],"docs":"","sig":null,"attributes":[]},{"id":135,"kind":"Inherent","span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2609},{"krate":0,"index":2610},{"krate":0,"index":2611},{"krate":0,"index":2612},{"krate":0,"index":2614},{"krate":0,"index":2615},{"krate":0,"index":2617},{"krate":0,"index":2618},{"krate":0,"index":2619},{"krate":0,"index":2620},{"krate":0,"index":2621},{"krate":0,"index":2622},{"krate":0,"index":2623},{"krate":0,"index":2624},{"krate":0,"index":2625},{"krate":0,"index":2626},{"krate":0,"index":2627},{"krate":0,"index":2628},{"krate":0,"index":2631},{"krate":0,"index":2634},{"krate":0,"index":2637},{"krate":0,"index":2640},{"krate":0,"index":2643}],"docs":"","sig":null,"attributes":[]},{"id":136,"kind":"Inherent","span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"value":"","parent":null,"children":[{"krate":0,"index":2683},{"krate":0,"index":2684}],"docs":"","sig":null,"attributes":[]},{"id":137,"kind":"Inherent","span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":2699},{"krate":0,"index":2700},{"krate":0,"index":2702},{"krate":0,"index":2703},{"krate":0,"index":2704}],"docs":"","sig":null,"attributes":[]},{"id":138,"kind":"Inherent","span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"value":"","parent":null,"children":[{"krate":0,"index":2738},{"krate":0,"index":2739},{"krate":0,"index":2740}],"docs":"","sig":null,"attributes":[]},{"id":139,"kind":"Direct","span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":140,"kind":"Direct","span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":141,"kind":"Inherent","span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":2792},{"krate":0,"index":2794},{"krate":0,"index":2795},{"krate":0,"index":2796},{"krate":0,"index":2797},{"krate":0,"index":2798},{"krate":0,"index":2800},{"krate":0,"index":2802},{"krate":0,"index":2804}],"docs":"","sig":null,"attributes":[]}],"refs":[{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21888,"byte_end":21891,"line_start":328,"line_end":328,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35055,"byte_end":35060,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35062,"byte_end":35067,"line_start":5,"line_end":5,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35083,"byte_end":35088,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35090,"byte_end":35096,"line_start":6,"line_end":6,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35110,"byte_end":35115,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35117,"byte_end":35120,"line_start":7,"line_end":7,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2808}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35368,"byte_end":35375,"line_start":21,"line_end":21,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35383,"byte_end":35386,"line_start":21,"line_end":21,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35387,"byte_end":35393,"line_start":21,"line_end":21,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35423,"byte_end":35426,"line_start":22,"line_end":22,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35428,"byte_end":35435,"line_start":22,"line_end":22,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35437,"byte_end":35443,"line_start":22,"line_end":22,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35494,"byte_end":35501,"line_start":24,"line_end":24,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35525,"byte_end":35528,"line_start":25,"line_end":25,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35529,"byte_end":35535,"line_start":25,"line_end":25,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35559,"byte_end":35566,"line_start":26,"line_end":26,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35597,"byte_end":35600,"line_start":27,"line_end":27,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35601,"byte_end":35607,"line_start":27,"line_end":27,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35362,"byte_end":35366,"line_start":21,"line_end":21,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2822}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35377,"byte_end":35381,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":2823}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35411,"byte_end":35421,"line_start":22,"line_end":22,"column_start":14,"column_end":24},"ref_id":{"krate":0,"index":2825}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35460,"byte_end":35465,"line_start":23,"line_end":23,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2827}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35488,"byte_end":35492,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2829}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35517,"byte_end":35523,"line_start":25,"line_end":25,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2831}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35553,"byte_end":35557,"line_start":26,"line_end":26,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2833}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35584,"byte_end":35595,"line_start":27,"line_end":27,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":2835}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35716,"byte_end":35722,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35737,"byte_end":35743,"line_start":35,"line_end":35,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35709,"byte_end":35714,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35732,"byte_end":35735,"line_start":35,"line_end":35,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":2840}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35924,"byte_end":35930,"line_start":49,"line_end":49,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35935,"byte_end":35941,"line_start":49,"line_end":49,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35948,"byte_end":35956,"line_start":49,"line_end":49,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35989,"byte_end":35995,"line_start":50,"line_end":50,"column_start":30,"column_end":36},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36006,"byte_end":36019,"line_start":50,"line_end":50,"column_start":47,"column_end":60},"ref_id":{"krate":4,"index":5549}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35998,"byte_end":36004,"line_start":50,"line_end":50,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36027,"byte_end":36030,"line_start":50,"line_end":50,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":5601}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36020,"byte_end":36026,"line_start":50,"line_end":50,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1073741839}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36070,"byte_end":36078,"line_start":52,"line_end":52,"column_start":35,"column_end":43},"ref_id":{"krate":1,"index":7936}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36058,"byte_end":36063,"line_start":52,"line_end":52,"column_start":23,"column_end":28},"ref_id":{"krate":1,"index":12669}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36051,"byte_end":36055,"line_start":52,"line_end":52,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36044,"byte_end":36050,"line_start":52,"line_end":52,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741839}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36113,"byte_end":36117,"line_start":53,"line_end":53,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36111,"byte_end":36112,"line_start":53,"line_end":53,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1476395023}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36145,"byte_end":36148,"line_start":55,"line_end":55,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36137,"byte_end":36144,"line_start":55,"line_end":55,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":2214592527}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36200,"byte_end":36204,"line_start":56,"line_end":56,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36192,"byte_end":36199,"line_start":56,"line_end":56,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2214592527}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36180,"byte_end":36184,"line_start":56,"line_end":56,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36236,"byte_end":36239,"line_start":57,"line_end":57,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3556769807}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36282,"byte_end":36290,"line_start":58,"line_end":58,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36270,"byte_end":36281,"line_start":58,"line_end":58,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":134217743}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36292,"byte_end":36299,"line_start":58,"line_end":58,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":2214592527}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36300,"byte_end":36305,"line_start":58,"line_end":58,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":37912}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36302,"byte_end":36305,"line_start":58,"line_end":58,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":37914}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36302,"byte_end":36305,"line_start":58,"line_end":58,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3556769807}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36388,"byte_end":36396,"line_start":61,"line_end":61,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36376,"byte_end":36387,"line_start":61,"line_end":61,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":134217743}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36397,"byte_end":36404,"line_start":61,"line_end":61,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2214592527}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36462,"byte_end":36464,"line_start":67,"line_end":67,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36465,"byte_end":36469,"line_start":67,"line_end":67,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36484,"byte_end":36487,"line_start":68,"line_end":68,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2840}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36495,"byte_end":36500,"line_start":68,"line_end":68,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":18}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36519,"byte_end":36522,"line_start":68,"line_end":68,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":5601}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36507,"byte_end":36518,"line_start":68,"line_end":68,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":134217743}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36527,"byte_end":36538,"line_start":68,"line_end":68,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":134217743}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36554,"byte_end":36559,"line_start":69,"line_end":69,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2839}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36561,"byte_end":36572,"line_start":69,"line_end":69,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":134217743}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36665,"byte_end":36672,"line_start":74,"line_end":74,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":2806}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36693,"byte_end":36697,"line_start":75,"line_end":75,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073741841}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36698,"byte_end":36703,"line_start":75,"line_end":75,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36724,"line_start":75,"line_end":75,"column_start":21,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36714,"line_start":75,"line_end":75,"column_start":21,"column_end":31},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36708,"line_start":75,"line_end":75,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536870929}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36709,"byte_end":36714,"line_start":75,"line_end":75,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36716,"byte_end":36724,"line_start":75,"line_end":75,"column_start":33,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36716,"byte_end":36720,"line_start":75,"line_end":75,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":536870929}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36721,"byte_end":36724,"line_start":75,"line_end":75,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2808}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36803,"byte_end":36809,"line_start":78,"line_end":78,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36810,"byte_end":36816,"line_start":78,"line_end":78,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36818,"byte_end":36826,"line_start":78,"line_end":78,"column_start":86,"column_end":94},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36842,"byte_end":36847,"line_start":80,"line_end":80,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36851,"byte_end":36854,"line_start":80,"line_end":80,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36876,"byte_end":36879,"line_start":81,"line_end":81,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36890,"byte_end":36893,"line_start":81,"line_end":81,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36880,"byte_end":36888,"line_start":81,"line_end":81,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36935,"byte_end":36940,"line_start":84,"line_end":84,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36968,"byte_end":36971,"line_start":85,"line_end":85,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36982,"byte_end":36996,"line_start":85,"line_end":85,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3716}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36972,"byte_end":36980,"line_start":85,"line_end":85,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37054,"byte_end":37058,"line_start":89,"line_end":89,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37042,"byte_end":37052,"line_start":89,"line_end":89,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37085,"byte_end":37090,"line_start":91,"line_end":91,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37106,"byte_end":37118,"line_start":92,"line_end":92,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":738197522}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37134,"byte_end":37138,"line_start":92,"line_end":92,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37122,"byte_end":37132,"line_start":92,"line_end":92,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37142,"byte_end":37147,"line_start":92,"line_end":92,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37150,"byte_end":37153,"line_start":92,"line_end":92,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37175,"byte_end":37181,"line_start":93,"line_end":93,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37200,"line_start":93,"line_end":93,"column_start":27,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37187,"line_start":93,"line_end":93,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37187,"line_start":93,"line_end":93,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37189,"byte_end":37200,"line_start":93,"line_end":93,"column_start":34,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37190,"byte_end":37195,"line_start":93,"line_end":93,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37256,"byte_end":37262,"line_start":94,"line_end":94,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2850}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37244,"byte_end":37254,"line_start":94,"line_end":94,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37229,"byte_end":37241,"line_start":94,"line_end":94,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197522}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37319,"byte_end":37324,"line_start":95,"line_end":95,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":2848}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37307,"byte_end":37317,"line_start":95,"line_end":95,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37292,"byte_end":37304,"line_start":95,"line_end":95,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197522}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37381,"byte_end":37386,"line_start":96,"line_end":96,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":2846}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37369,"byte_end":37379,"line_start":96,"line_end":96,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37354,"byte_end":37366,"line_start":96,"line_end":96,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197522}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37444,"byte_end":37449,"line_start":97,"line_end":97,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":2852}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37432,"byte_end":37442,"line_start":97,"line_end":97,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37417,"byte_end":37429,"line_start":97,"line_end":97,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":738197522}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37505,"byte_end":37510,"line_start":101,"line_end":101,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37596,"byte_end":37611,"line_start":106,"line_end":106,"column_start":27,"column_end":42},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37677,"byte_end":37682,"line_start":109,"line_end":109,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37767,"byte_end":37779,"line_start":113,"line_end":113,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":738197522}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37806,"byte_end":37810,"line_start":114,"line_end":114,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37794,"byte_end":37804,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37806,"byte_end":37810,"line_start":114,"line_end":114,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37794,"byte_end":37804,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":37882,"byte_end":37886,"line_start":115,"line_end":115,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37863,"byte_end":37869,"line_start":115,"line_end":115,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37880,"line_start":115,"line_end":115,"column_start":30,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37875,"line_start":115,"line_end":115,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37875,"line_start":115,"line_end":115,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37877,"byte_end":37880,"line_start":115,"line_end":115,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37877,"byte_end":37880,"line_start":115,"line_end":115,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37921,"byte_end":37923,"line_start":116,"line_end":116,"column_start":31,"column_end":33},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37924,"byte_end":37930,"line_start":116,"line_end":116,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37932,"byte_end":37936,"line_start":116,"line_end":116,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37939,"byte_end":37944,"line_start":116,"line_end":116,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2827}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37986,"byte_end":37988,"line_start":117,"line_end":117,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37989,"byte_end":37995,"line_start":117,"line_end":117,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37997,"byte_end":38001,"line_start":117,"line_end":117,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38004,"byte_end":38009,"line_start":117,"line_end":117,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":2827}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38047,"byte_end":38049,"line_start":118,"line_end":118,"column_start":27,"column_end":29},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38058,"byte_end":38063,"line_start":118,"line_end":118,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38050,"byte_end":38056,"line_start":118,"line_end":118,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38091,"byte_end":38093,"line_start":119,"line_end":119,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38094,"byte_end":38100,"line_start":119,"line_end":119,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38102,"byte_end":38108,"line_start":119,"line_end":119,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38111,"byte_end":38115,"line_start":119,"line_end":119,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38117,"byte_end":38124,"line_start":119,"line_end":119,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2806}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38127,"byte_end":38132,"line_start":119,"line_end":119,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38127,"byte_end":38132,"line_start":119,"line_end":119,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38134,"byte_end":38137,"line_start":119,"line_end":119,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38134,"byte_end":38137,"line_start":119,"line_end":119,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38199,"byte_end":38205,"line_start":122,"line_end":122,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2850}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38187,"byte_end":38197,"line_start":122,"line_end":122,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38199,"byte_end":38205,"line_start":122,"line_end":122,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2850}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38187,"byte_end":38197,"line_start":122,"line_end":122,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38249,"byte_end":38252,"line_start":123,"line_end":123,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38253,"byte_end":38259,"line_start":123,"line_end":123,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38268,"byte_end":38271,"line_start":123,"line_end":123,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38263,"byte_end":38266,"line_start":123,"line_end":123,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38298,"byte_end":38304,"line_start":125,"line_end":125,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38317,"byte_end":38322,"line_start":125,"line_end":125,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38325,"byte_end":38328,"line_start":125,"line_end":125,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38332,"byte_end":38339,"line_start":125,"line_end":125,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38350,"byte_end":38357,"line_start":125,"line_end":125,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38394,"byte_end":38400,"line_start":127,"line_end":127,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38419,"line_start":127,"line_end":127,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38406,"line_start":127,"line_end":127,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38406,"line_start":127,"line_end":127,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38408,"byte_end":38419,"line_start":127,"line_end":127,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38409,"byte_end":38414,"line_start":127,"line_end":127,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38484,"byte_end":38491,"line_start":129,"line_end":129,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38534,"byte_end":38543,"line_start":131,"line_end":131,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38581,"byte_end":38588,"line_start":132,"line_end":132,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38592,"byte_end":38607,"line_start":132,"line_end":132,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38649,"byte_end":38661,"line_start":133,"line_end":133,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38665,"byte_end":38670,"line_start":133,"line_end":133,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38717,"byte_end":38721,"line_start":134,"line_end":134,"column_start":45,"column_end":49},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38713,"byte_end":38716,"line_start":134,"line_end":134,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":545259538}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38728,"byte_end":38733,"line_start":134,"line_end":134,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38734,"byte_end":38739,"line_start":134,"line_end":134,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38745,"byte_end":38757,"line_start":134,"line_end":134,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38759,"byte_end":38764,"line_start":134,"line_end":134,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38766,"byte_end":38772,"line_start":134,"line_end":134,"column_start":94,"column_end":100},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38851,"byte_end":38857,"line_start":136,"line_end":136,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38944,"byte_end":38951,"line_start":138,"line_end":138,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39147,"byte_end":39156,"line_start":143,"line_end":143,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39191,"byte_end":39198,"line_start":144,"line_end":144,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39240,"byte_end":39247,"line_start":145,"line_end":145,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39376,"byte_end":39385,"line_start":149,"line_end":149,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39420,"byte_end":39427,"line_start":150,"line_end":150,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39469,"byte_end":39476,"line_start":151,"line_end":151,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39636,"byte_end":39645,"line_start":155,"line_end":155,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39680,"byte_end":39687,"line_start":156,"line_end":156,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39729,"byte_end":39736,"line_start":157,"line_end":157,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39894,"byte_end":39901,"line_start":161,"line_end":161,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40002,"byte_end":40009,"line_start":164,"line_end":164,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40303,"byte_end":40312,"line_start":170,"line_end":170,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40290,"byte_end":40299,"line_start":170,"line_end":170,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40435,"byte_end":40442,"line_start":174,"line_end":174,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40446,"byte_end":40461,"line_start":174,"line_end":174,"column_start":43,"column_end":58},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40466,"byte_end":40475,"line_start":174,"line_end":174,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40513,"byte_end":40525,"line_start":175,"line_end":175,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40529,"byte_end":40534,"line_start":175,"line_end":175,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":40577,"byte_end":40581,"line_start":176,"line_end":176,"column_start":41,"column_end":45},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40573,"byte_end":40576,"line_start":176,"line_end":176,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":545259538}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":40588,"byte_end":40593,"line_start":176,"line_end":176,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40594,"byte_end":40599,"line_start":176,"line_end":176,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40605,"byte_end":40617,"line_start":176,"line_end":176,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40619,"byte_end":40624,"line_start":176,"line_end":176,"column_start":83,"column_end":88},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40626,"byte_end":40632,"line_start":176,"line_end":176,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40718,"byte_end":40723,"line_start":178,"line_end":178,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40703,"byte_end":40715,"line_start":178,"line_end":178,"column_start":33,"column_end":45},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40846,"byte_end":40853,"line_start":182,"line_end":182,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40931,"byte_end":40936,"line_start":185,"line_end":185,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40981,"byte_end":40987,"line_start":188,"line_end":188,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41045,"byte_end":41049,"line_start":189,"line_end":189,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41037,"byte_end":41043,"line_start":189,"line_end":189,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41129,"byte_end":41137,"line_start":190,"line_end":190,"column_start":29,"column_end":37},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41121,"byte_end":41128,"line_start":190,"line_end":190,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3527409682}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41139,"byte_end":41145,"line_start":190,"line_end":190,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41180,"line_start":190,"line_end":190,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41151,"line_start":190,"line_end":190,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41151,"line_start":190,"line_end":190,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41153,"byte_end":41180,"line_start":190,"line_end":190,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41160,"byte_end":41163,"line_start":190,"line_end":190,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41164,"byte_end":41167,"line_start":190,"line_end":190,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41169,"byte_end":41174,"line_start":190,"line_end":190,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41211,"byte_end":41214,"line_start":191,"line_end":191,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41225,"byte_end":41228,"line_start":191,"line_end":191,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41215,"byte_end":41223,"line_start":191,"line_end":191,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41237,"byte_end":41243,"line_start":191,"line_end":191,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41229,"byte_end":41236,"line_start":191,"line_end":191,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3527409682}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41283,"byte_end":41285,"line_start":194,"line_end":194,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41286,"byte_end":41292,"line_start":194,"line_end":194,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41294,"byte_end":41299,"line_start":194,"line_end":194,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41302,"byte_end":41308,"line_start":194,"line_end":194,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2831}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41310,"byte_end":41313,"line_start":194,"line_end":194,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":545259538}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41356,"byte_end":41361,"line_start":196,"line_end":196,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2846}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41344,"byte_end":41354,"line_start":196,"line_end":196,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41356,"byte_end":41361,"line_start":196,"line_end":196,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2846}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41344,"byte_end":41354,"line_start":196,"line_end":196,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41410,"byte_end":41415,"line_start":197,"line_end":197,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41424,"byte_end":41429,"line_start":197,"line_end":197,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536870930}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41467,"byte_end":41470,"line_start":197,"line_end":197,"column_start":78,"column_end":81},"ref_id":{"krate":1,"index":12620}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41460,"byte_end":41464,"line_start":197,"line_end":197,"column_start":71,"column_end":75},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41433,"byte_end":41439,"line_start":197,"line_end":197,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41458,"line_start":197,"line_end":197,"column_start":51,"column_end":69},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41445,"line_start":197,"line_end":197,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41445,"line_start":197,"line_end":197,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41447,"byte_end":41458,"line_start":197,"line_end":197,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41448,"byte_end":41453,"line_start":197,"line_end":197,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41667,"byte_end":41679,"line_start":201,"line_end":201,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":3309305874}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41692,"byte_end":41697,"line_start":201,"line_end":201,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41700,"byte_end":41703,"line_start":201,"line_end":201,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41737,"byte_end":41743,"line_start":202,"line_end":202,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41762,"line_start":202,"line_end":202,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41749,"line_start":202,"line_end":202,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41749,"line_start":202,"line_end":202,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41751,"byte_end":41762,"line_start":202,"line_end":202,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41752,"byte_end":41757,"line_start":202,"line_end":202,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41803,"byte_end":41815,"line_start":203,"line_end":203,"column_start":38,"column_end":50},"ref_id":{"krate":0,"index":3309305874}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41913,"byte_end":41918,"line_start":206,"line_end":206,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41971,"byte_end":41983,"line_start":209,"line_end":209,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":3309305874}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42045,"byte_end":42049,"line_start":210,"line_end":210,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42037,"byte_end":42043,"line_start":210,"line_end":210,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42118,"byte_end":42126,"line_start":211,"line_end":211,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42110,"byte_end":42117,"line_start":211,"line_end":211,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3879731218}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42128,"byte_end":42134,"line_start":211,"line_end":211,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42169,"line_start":211,"line_end":211,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42140,"line_start":211,"line_end":211,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42140,"line_start":211,"line_end":211,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42142,"byte_end":42169,"line_start":211,"line_end":211,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42149,"byte_end":42152,"line_start":211,"line_end":211,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42153,"byte_end":42156,"line_start":211,"line_end":211,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42158,"byte_end":42163,"line_start":211,"line_end":211,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42204,"byte_end":42207,"line_start":212,"line_end":212,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42218,"byte_end":42221,"line_start":212,"line_end":212,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42208,"byte_end":42216,"line_start":212,"line_end":212,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42230,"byte_end":42236,"line_start":212,"line_end":212,"column_start":58,"column_end":64},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42222,"byte_end":42229,"line_start":212,"line_end":212,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3879731218}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42299,"byte_end":42304,"line_start":215,"line_end":215,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42284,"byte_end":42296,"line_start":215,"line_end":215,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42348,"byte_end":42351,"line_start":217,"line_end":217,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42352,"byte_end":42358,"line_start":217,"line_end":217,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42367,"byte_end":42370,"line_start":217,"line_end":217,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42362,"byte_end":42365,"line_start":217,"line_end":217,"column_start":56,"column_end":59},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42401,"byte_end":42407,"line_start":219,"line_end":219,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42420,"byte_end":42425,"line_start":219,"line_end":219,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42428,"byte_end":42431,"line_start":219,"line_end":219,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42435,"byte_end":42442,"line_start":219,"line_end":219,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42453,"byte_end":42460,"line_start":219,"line_end":219,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42500,"byte_end":42506,"line_start":220,"line_end":220,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42525,"line_start":220,"line_end":220,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42512,"line_start":220,"line_end":220,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42512,"line_start":220,"line_end":220,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42514,"byte_end":42525,"line_start":220,"line_end":220,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42515,"byte_end":42520,"line_start":220,"line_end":220,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42602,"byte_end":42611,"line_start":222,"line_end":222,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42650,"byte_end":42657,"line_start":223,"line_end":223,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42703,"byte_end":42710,"line_start":224,"line_end":224,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42888,"byte_end":42897,"line_start":228,"line_end":228,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42936,"byte_end":42943,"line_start":229,"line_end":229,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42989,"byte_end":42996,"line_start":230,"line_end":230,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43173,"byte_end":43182,"line_start":234,"line_end":234,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43221,"byte_end":43228,"line_start":235,"line_end":235,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43274,"byte_end":43281,"line_start":236,"line_end":236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43458,"byte_end":43467,"line_start":240,"line_end":240,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43506,"byte_end":43513,"line_start":241,"line_end":241,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43559,"byte_end":43566,"line_start":242,"line_end":242,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43743,"byte_end":43752,"line_start":246,"line_end":246,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43791,"byte_end":43798,"line_start":247,"line_end":247,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43844,"byte_end":43851,"line_start":248,"line_end":248,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44023,"byte_end":44030,"line_start":252,"line_end":252,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44076,"byte_end":44085,"line_start":253,"line_end":253,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44127,"byte_end":44134,"line_start":254,"line_end":254,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44138,"byte_end":44153,"line_start":254,"line_end":254,"column_start":51,"column_end":66},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44199,"byte_end":44211,"line_start":255,"line_end":255,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44215,"byte_end":44220,"line_start":255,"line_end":255,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":44279,"byte_end":44283,"line_start":256,"line_end":256,"column_start":57,"column_end":61},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44267,"byte_end":44278,"line_start":256,"line_end":256,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3300917266}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":44290,"byte_end":44295,"line_start":256,"line_end":256,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44296,"byte_end":44301,"line_start":256,"line_end":256,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44307,"byte_end":44319,"line_start":256,"line_end":256,"column_start":85,"column_end":97},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44321,"byte_end":44326,"line_start":256,"line_end":256,"column_start":99,"column_end":104},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44328,"byte_end":44334,"line_start":256,"line_end":256,"column_start":106,"column_end":112},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44421,"byte_end":44427,"line_start":258,"line_end":258,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44522,"byte_end":44529,"line_start":260,"line_end":260,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44745,"byte_end":44752,"line_start":265,"line_end":265,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44865,"byte_end":44872,"line_start":268,"line_end":268,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45190,"byte_end":45199,"line_start":274,"line_end":274,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45177,"byte_end":45186,"line_start":274,"line_end":274,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45338,"byte_end":45345,"line_start":278,"line_end":278,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45349,"byte_end":45364,"line_start":278,"line_end":278,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45369,"byte_end":45378,"line_start":278,"line_end":278,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45420,"byte_end":45432,"line_start":279,"line_end":279,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45436,"byte_end":45441,"line_start":279,"line_end":279,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":45496,"byte_end":45500,"line_start":280,"line_end":280,"column_start":53,"column_end":57},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45484,"byte_end":45495,"line_start":280,"line_end":280,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":3300917266}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":45507,"byte_end":45512,"line_start":280,"line_end":280,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45513,"byte_end":45518,"line_start":280,"line_end":280,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45524,"byte_end":45536,"line_start":280,"line_end":280,"column_start":81,"column_end":93},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45538,"byte_end":45543,"line_start":280,"line_end":280,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45545,"byte_end":45551,"line_start":280,"line_end":280,"column_start":102,"column_end":108},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45645,"byte_end":45650,"line_start":282,"line_end":282,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45630,"byte_end":45642,"line_start":282,"line_end":282,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45789,"byte_end":45796,"line_start":286,"line_end":286,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45886,"byte_end":45891,"line_start":289,"line_end":289,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45944,"byte_end":45950,"line_start":292,"line_end":292,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46012,"byte_end":46016,"line_start":293,"line_end":293,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46004,"byte_end":46010,"line_start":293,"line_end":293,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46094,"byte_end":46102,"line_start":294,"line_end":294,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46086,"byte_end":46093,"line_start":294,"line_end":294,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1763704850}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46104,"byte_end":46110,"line_start":294,"line_end":294,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46145,"line_start":294,"line_end":294,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46116,"line_start":294,"line_end":294,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46116,"line_start":294,"line_end":294,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46118,"byte_end":46145,"line_start":294,"line_end":294,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46125,"byte_end":46128,"line_start":294,"line_end":294,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46129,"byte_end":46132,"line_start":294,"line_end":294,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46134,"byte_end":46139,"line_start":294,"line_end":294,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46180,"byte_end":46183,"line_start":295,"line_end":295,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46194,"byte_end":46197,"line_start":295,"line_end":295,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46184,"byte_end":46192,"line_start":295,"line_end":295,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46206,"byte_end":46212,"line_start":295,"line_end":295,"column_start":58,"column_end":64},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46198,"byte_end":46205,"line_start":295,"line_end":295,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":1763704850}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46260,"byte_end":46262,"line_start":298,"line_end":298,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46263,"byte_end":46269,"line_start":298,"line_end":298,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46271,"byte_end":46278,"line_start":298,"line_end":298,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46281,"byte_end":46292,"line_start":298,"line_end":298,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":2835}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46281,"byte_end":46292,"line_start":298,"line_end":298,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":3300917266}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46391,"byte_end":46398,"line_start":300,"line_end":300,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":2806}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46401,"byte_end":46406,"line_start":300,"line_end":300,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46401,"byte_end":46406,"line_start":300,"line_end":300,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46408,"byte_end":46411,"line_start":300,"line_end":300,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46413,"byte_end":46418,"line_start":300,"line_end":300,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46461,"byte_end":46464,"line_start":302,"line_end":302,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46465,"byte_end":46471,"line_start":302,"line_end":302,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46480,"byte_end":46483,"line_start":302,"line_end":302,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46475,"byte_end":46478,"line_start":302,"line_end":302,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46514,"byte_end":46520,"line_start":304,"line_end":304,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46533,"byte_end":46538,"line_start":304,"line_end":304,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46541,"byte_end":46544,"line_start":304,"line_end":304,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46548,"byte_end":46555,"line_start":304,"line_end":304,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46566,"byte_end":46573,"line_start":304,"line_end":304,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46613,"byte_end":46619,"line_start":305,"line_end":305,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46638,"line_start":305,"line_end":305,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46625,"line_start":305,"line_end":305,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46625,"line_start":305,"line_end":305,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46627,"byte_end":46638,"line_start":305,"line_end":305,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46628,"byte_end":46633,"line_start":305,"line_end":305,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46715,"byte_end":46724,"line_start":307,"line_end":307,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46763,"byte_end":46770,"line_start":308,"line_end":308,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46816,"byte_end":46823,"line_start":309,"line_end":309,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47001,"byte_end":47010,"line_start":313,"line_end":313,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47049,"byte_end":47056,"line_start":314,"line_end":314,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47102,"byte_end":47109,"line_start":315,"line_end":315,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47286,"byte_end":47295,"line_start":319,"line_end":319,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47334,"byte_end":47341,"line_start":320,"line_end":320,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47387,"byte_end":47394,"line_start":321,"line_end":321,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47567,"byte_end":47574,"line_start":325,"line_end":325,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47620,"byte_end":47629,"line_start":326,"line_end":326,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47671,"byte_end":47678,"line_start":327,"line_end":327,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47682,"byte_end":47697,"line_start":327,"line_end":327,"column_start":51,"column_end":66},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47743,"byte_end":47755,"line_start":328,"line_end":328,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47759,"byte_end":47764,"line_start":328,"line_end":328,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":47816,"byte_end":47820,"line_start":329,"line_end":329,"column_start":50,"column_end":54},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47811,"byte_end":47815,"line_start":329,"line_end":329,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":656408594}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":47827,"byte_end":47832,"line_start":329,"line_end":329,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47833,"byte_end":47838,"line_start":329,"line_end":329,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47844,"byte_end":47856,"line_start":329,"line_end":329,"column_start":78,"column_end":90},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47858,"byte_end":47863,"line_start":329,"line_end":329,"column_start":92,"column_end":97},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47865,"byte_end":47871,"line_start":329,"line_end":329,"column_start":99,"column_end":105},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47958,"byte_end":47964,"line_start":331,"line_end":331,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48059,"byte_end":48066,"line_start":333,"line_end":333,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48285,"byte_end":48294,"line_start":338,"line_end":338,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48333,"byte_end":48340,"line_start":339,"line_end":339,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48386,"byte_end":48393,"line_start":340,"line_end":340,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48569,"byte_end":48578,"line_start":344,"line_end":344,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48617,"byte_end":48624,"line_start":345,"line_end":345,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48670,"byte_end":48677,"line_start":346,"line_end":346,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48851,"byte_end":48858,"line_start":350,"line_end":350,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48971,"byte_end":48978,"line_start":353,"line_end":353,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49296,"byte_end":49305,"line_start":359,"line_end":359,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49283,"byte_end":49292,"line_start":359,"line_end":359,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49444,"byte_end":49451,"line_start":363,"line_end":363,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49455,"byte_end":49470,"line_start":363,"line_end":363,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49476,"byte_end":49485,"line_start":363,"line_end":363,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49527,"byte_end":49539,"line_start":364,"line_end":364,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49543,"byte_end":49548,"line_start":364,"line_end":364,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":49596,"byte_end":49600,"line_start":365,"line_end":365,"column_start":46,"column_end":50},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49591,"byte_end":49595,"line_start":365,"line_end":365,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":656408594}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":49607,"byte_end":49612,"line_start":365,"line_end":365,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49613,"byte_end":49618,"line_start":365,"line_end":365,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49624,"byte_end":49636,"line_start":365,"line_end":365,"column_start":74,"column_end":86},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49638,"byte_end":49643,"line_start":365,"line_end":365,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49645,"byte_end":49651,"line_start":365,"line_end":365,"column_start":95,"column_end":101},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49745,"byte_end":49750,"line_start":367,"line_end":367,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49730,"byte_end":49742,"line_start":367,"line_end":367,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49889,"byte_end":49896,"line_start":371,"line_end":371,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49986,"byte_end":49991,"line_start":374,"line_end":374,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50044,"byte_end":50050,"line_start":377,"line_end":377,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50112,"byte_end":50116,"line_start":378,"line_end":378,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50104,"byte_end":50110,"line_start":378,"line_end":378,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50192,"byte_end":50200,"line_start":379,"line_end":379,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50184,"byte_end":50191,"line_start":379,"line_end":379,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160018}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50202,"byte_end":50208,"line_start":379,"line_end":379,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50243,"line_start":379,"line_end":379,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50214,"line_start":379,"line_end":379,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50214,"line_start":379,"line_end":379,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50216,"byte_end":50243,"line_start":379,"line_end":379,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50223,"byte_end":50226,"line_start":379,"line_end":379,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50227,"byte_end":50230,"line_start":379,"line_end":379,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50232,"byte_end":50237,"line_start":379,"line_end":379,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870930}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50279,"byte_end":50287,"line_start":380,"line_end":380,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50271,"byte_end":50278,"line_start":380,"line_end":380,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160018}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50327,"byte_end":50335,"line_start":381,"line_end":381,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50319,"byte_end":50326,"line_start":381,"line_end":381,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160018}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50381,"byte_end":50384,"line_start":382,"line_end":382,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50395,"byte_end":50398,"line_start":382,"line_end":382,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50385,"byte_end":50393,"line_start":382,"line_end":382,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50407,"byte_end":50413,"line_start":382,"line_end":382,"column_start":58,"column_end":64},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50399,"byte_end":50406,"line_start":382,"line_end":382,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3932160018}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50461,"byte_end":50463,"line_start":385,"line_end":385,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50464,"byte_end":50470,"line_start":385,"line_end":385,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50472,"byte_end":50478,"line_start":385,"line_end":385,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50481,"byte_end":50485,"line_start":385,"line_end":385,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":2822}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50487,"byte_end":50494,"line_start":385,"line_end":385,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":455082002}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50496,"byte_end":50500,"line_start":385,"line_end":385,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":2823}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50496,"byte_end":50500,"line_start":385,"line_end":385,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":656408594}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50561,"byte_end":50566,"line_start":388,"line_end":388,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2848}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50549,"byte_end":50559,"line_start":388,"line_end":388,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50561,"byte_end":50566,"line_start":388,"line_end":388,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2848}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50549,"byte_end":50559,"line_start":388,"line_end":388,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50611,"byte_end":50614,"line_start":389,"line_end":389,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50616,"byte_end":50623,"line_start":389,"line_end":389,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50625,"byte_end":50631,"line_start":389,"line_end":389,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50641,"byte_end":50644,"line_start":389,"line_end":389,"column_start":60,"column_end":63},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50636,"byte_end":50639,"line_start":389,"line_end":389,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50678,"byte_end":50684,"line_start":391,"line_end":391,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50685,"byte_end":50692,"line_start":391,"line_end":391,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50696,"byte_end":50700,"line_start":391,"line_end":391,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50725,"byte_end":50731,"line_start":393,"line_end":393,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50744,"byte_end":50749,"line_start":393,"line_end":393,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50752,"byte_end":50755,"line_start":393,"line_end":393,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50759,"byte_end":50766,"line_start":393,"line_end":393,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50777,"byte_end":50784,"line_start":393,"line_end":393,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50820,"byte_end":50826,"line_start":394,"line_end":394,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50845,"line_start":394,"line_end":394,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50832,"line_start":394,"line_end":394,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50832,"line_start":394,"line_end":394,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50834,"byte_end":50845,"line_start":394,"line_end":394,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50835,"byte_end":50840,"line_start":394,"line_end":394,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50914,"byte_end":50923,"line_start":396,"line_end":396,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50961,"byte_end":50968,"line_start":397,"line_end":397,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50972,"byte_end":50987,"line_start":397,"line_end":397,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51029,"byte_end":51041,"line_start":398,"line_end":398,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51045,"byte_end":51050,"line_start":398,"line_end":398,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":51099,"byte_end":51103,"line_start":399,"line_end":399,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":51104,"byte_end":51111,"line_start":399,"line_end":399,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2806}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51114,"byte_end":51119,"line_start":399,"line_end":399,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51121,"byte_end":51133,"line_start":399,"line_end":399,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51135,"byte_end":51138,"line_start":399,"line_end":399,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51140,"byte_end":51145,"line_start":399,"line_end":399,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51093,"byte_end":51096,"line_start":399,"line_end":399,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1566572562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51238,"byte_end":51243,"line_start":401,"line_end":401,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51223,"byte_end":51235,"line_start":401,"line_end":401,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51438,"byte_end":51447,"line_start":407,"line_end":407,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51482,"byte_end":51489,"line_start":408,"line_end":408,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51531,"byte_end":51538,"line_start":409,"line_end":409,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51700,"byte_end":51709,"line_start":413,"line_end":413,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51744,"byte_end":51751,"line_start":414,"line_end":414,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51793,"byte_end":51800,"line_start":415,"line_end":415,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51961,"byte_end":51970,"line_start":419,"line_end":419,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52005,"byte_end":52012,"line_start":420,"line_end":420,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52054,"byte_end":52061,"line_start":421,"line_end":421,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52217,"byte_end":52224,"line_start":425,"line_end":425,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52266,"byte_end":52275,"line_start":426,"line_end":426,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52313,"byte_end":52320,"line_start":427,"line_end":427,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52324,"byte_end":52339,"line_start":427,"line_end":427,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52402,"byte_end":52405,"line_start":428,"line_end":428,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":1566572562}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52385,"byte_end":52389,"line_start":428,"line_end":428,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52451,"byte_end":52463,"line_start":429,"line_end":429,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52467,"byte_end":52472,"line_start":429,"line_end":429,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52523,"byte_end":52527,"line_start":430,"line_end":430,"column_start":49,"column_end":53},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52519,"byte_end":52522,"line_start":430,"line_end":430,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":2371878930}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52537,"byte_end":52542,"line_start":430,"line_end":430,"column_start":63,"column_end":68},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52529,"byte_end":52536,"line_start":430,"line_end":430,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":1457520658}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52552,"byte_end":52557,"line_start":430,"line_end":430,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52558,"byte_end":52563,"line_start":430,"line_end":430,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52569,"byte_end":52581,"line_start":430,"line_end":430,"column_start":95,"column_end":107},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52583,"byte_end":52588,"line_start":430,"line_end":430,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52590,"byte_end":52596,"line_start":430,"line_end":430,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52699,"byte_end":52704,"line_start":432,"line_end":432,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52684,"byte_end":52696,"line_start":432,"line_end":432,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52764,"byte_end":52768,"line_start":433,"line_end":433,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52756,"byte_end":52762,"line_start":433,"line_end":433,"column_start":47,"column_end":53},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52750,"byte_end":52753,"line_start":433,"line_end":433,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1566572562}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52881,"byte_end":52885,"line_start":435,"line_end":435,"column_start":67,"column_end":71},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52873,"byte_end":52879,"line_start":435,"line_end":435,"column_start":59,"column_end":65},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52975,"byte_end":52983,"line_start":436,"line_end":436,"column_start":49,"column_end":57},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52967,"byte_end":52974,"line_start":436,"line_end":436,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":1038090258}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52985,"byte_end":52991,"line_start":436,"line_end":436,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53040,"line_start":436,"line_end":436,"column_start":66,"column_end":114},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53004,"line_start":436,"line_end":436,"column_start":66,"column_end":78},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53004,"line_start":436,"line_end":436,"column_start":66,"column_end":78},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53006,"byte_end":53040,"line_start":436,"line_end":436,"column_start":80,"column_end":114},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53013,"byte_end":53016,"line_start":436,"line_end":436,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53017,"byte_end":53020,"line_start":436,"line_end":436,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53022,"byte_end":53034,"line_start":436,"line_end":436,"column_start":96,"column_end":108},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":53091,"byte_end":53094,"line_start":437,"line_end":437,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53105,"byte_end":53108,"line_start":437,"line_end":437,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":53095,"byte_end":53103,"line_start":437,"line_end":437,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53117,"byte_end":53123,"line_start":437,"line_end":437,"column_start":74,"column_end":80},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53109,"byte_end":53116,"line_start":437,"line_end":437,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":1038090258}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53202,"byte_end":53208,"line_start":439,"line_end":439,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53295,"byte_end":53302,"line_start":441,"line_end":441,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53494,"byte_end":53501,"line_start":446,"line_end":446,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53602,"byte_end":53609,"line_start":449,"line_end":449,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53903,"byte_end":53912,"line_start":455,"line_end":455,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53890,"byte_end":53899,"line_start":455,"line_end":455,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54035,"byte_end":54042,"line_start":459,"line_end":459,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2030043154}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54046,"byte_end":54061,"line_start":459,"line_end":459,"column_start":43,"column_end":58},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54066,"byte_end":54075,"line_start":459,"line_end":459,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":4110417938}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54134,"byte_end":54137,"line_start":460,"line_end":460,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":1566572562}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54117,"byte_end":54121,"line_start":460,"line_end":460,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54180,"byte_end":54184,"line_start":461,"line_end":461,"column_start":41,"column_end":45},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54176,"byte_end":54179,"line_start":461,"line_end":461,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2371878930}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54194,"byte_end":54199,"line_start":461,"line_end":461,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54186,"byte_end":54193,"line_start":461,"line_end":461,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":336592914}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54209,"byte_end":54214,"line_start":461,"line_end":461,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54215,"byte_end":54220,"line_start":461,"line_end":461,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54226,"byte_end":54238,"line_start":461,"line_end":461,"column_start":87,"column_end":99},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54240,"byte_end":54245,"line_start":461,"line_end":461,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54247,"byte_end":54253,"line_start":461,"line_end":461,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":268435474}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54310,"byte_end":54315,"line_start":462,"line_end":462,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54295,"byte_end":54307,"line_start":462,"line_end":462,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54371,"byte_end":54375,"line_start":463,"line_end":463,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54363,"byte_end":54369,"line_start":463,"line_end":463,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54357,"byte_end":54360,"line_start":463,"line_end":463,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1566572562}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54480,"byte_end":54484,"line_start":465,"line_end":465,"column_start":63,"column_end":67},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54472,"byte_end":54478,"line_start":465,"line_end":465,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54570,"byte_end":54578,"line_start":466,"line_end":466,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54562,"byte_end":54569,"line_start":466,"line_end":466,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":235929618}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54580,"byte_end":54586,"line_start":466,"line_end":466,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54635,"line_start":466,"line_end":466,"column_start":62,"column_end":110},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54599,"line_start":466,"line_end":466,"column_start":62,"column_end":74},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54599,"line_start":466,"line_end":466,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54601,"byte_end":54635,"line_start":466,"line_end":466,"column_start":76,"column_end":110},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54608,"byte_end":54611,"line_start":466,"line_end":466,"column_start":83,"column_end":86},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54612,"byte_end":54615,"line_start":466,"line_end":466,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54617,"byte_end":54629,"line_start":466,"line_end":466,"column_start":92,"column_end":104},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54682,"byte_end":54685,"line_start":467,"line_end":467,"column_start":44,"column_end":47},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54696,"byte_end":54699,"line_start":467,"line_end":467,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54686,"byte_end":54694,"line_start":467,"line_end":467,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54708,"byte_end":54714,"line_start":467,"line_end":467,"column_start":70,"column_end":76},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54700,"byte_end":54707,"line_start":467,"line_end":467,"column_start":62,"column_end":69},"ref_id":{"krate":0,"index":235929618}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54870,"byte_end":54877,"line_start":472,"line_end":472,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54955,"byte_end":54960,"line_start":475,"line_end":475,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55005,"byte_end":55011,"line_start":478,"line_end":478,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55069,"byte_end":55073,"line_start":479,"line_end":479,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55061,"byte_end":55067,"line_start":479,"line_end":479,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55153,"byte_end":55161,"line_start":480,"line_end":480,"column_start":29,"column_end":37},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55145,"byte_end":55152,"line_start":480,"line_end":480,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":1661992978}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55163,"byte_end":55169,"line_start":480,"line_end":480,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55204,"line_start":480,"line_end":480,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55175,"line_start":480,"line_end":480,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55175,"line_start":480,"line_end":480,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55177,"byte_end":55204,"line_start":480,"line_end":480,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55184,"byte_end":55187,"line_start":480,"line_end":480,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55188,"byte_end":55191,"line_start":480,"line_end":480,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55193,"byte_end":55198,"line_start":480,"line_end":480,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55235,"byte_end":55238,"line_start":481,"line_end":481,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55249,"byte_end":55252,"line_start":481,"line_end":481,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55239,"byte_end":55247,"line_start":481,"line_end":481,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55261,"byte_end":55267,"line_start":481,"line_end":481,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55253,"byte_end":55260,"line_start":481,"line_end":481,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":1661992978}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55307,"byte_end":55309,"line_start":484,"line_end":484,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55310,"byte_end":55316,"line_start":484,"line_end":484,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55318,"byte_end":55324,"line_start":484,"line_end":484,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55326,"byte_end":55336,"line_start":484,"line_end":484,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":2825}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55338,"byte_end":55341,"line_start":484,"line_end":484,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2371878930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55384,"byte_end":55389,"line_start":486,"line_end":486,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2852}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55372,"byte_end":55382,"line_start":486,"line_end":486,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55384,"byte_end":55389,"line_start":486,"line_end":486,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2852}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55372,"byte_end":55382,"line_start":486,"line_end":486,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55427,"byte_end":55433,"line_start":487,"line_end":487,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55446,"byte_end":55451,"line_start":487,"line_end":487,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55454,"byte_end":55457,"line_start":487,"line_end":487,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55487,"byte_end":55493,"line_start":488,"line_end":488,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55512,"line_start":488,"line_end":488,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55499,"line_start":488,"line_end":488,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55499,"line_start":488,"line_end":488,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55501,"byte_end":55512,"line_start":488,"line_end":488,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55502,"byte_end":55507,"line_start":488,"line_end":488,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55578,"byte_end":55585,"line_start":490,"line_end":490,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55686,"byte_end":55693,"line_start":493,"line_end":493,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55737,"byte_end":55743,"line_start":494,"line_end":494,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55869,"byte_end":55876,"line_start":498,"line_end":498,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547026}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55954,"byte_end":55959,"line_start":501,"line_end":501,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56004,"byte_end":56010,"line_start":504,"line_end":504,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627922}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56068,"byte_end":56072,"line_start":505,"line_end":505,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56060,"byte_end":56066,"line_start":505,"line_end":505,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56145,"byte_end":56153,"line_start":506,"line_end":506,"column_start":29,"column_end":37},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56137,"byte_end":56144,"line_start":506,"line_end":506,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3666870290}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56155,"byte_end":56161,"line_start":506,"line_end":506,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435474}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56196,"line_start":506,"line_end":506,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56167,"line_start":506,"line_end":506,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56167,"line_start":506,"line_end":506,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56169,"byte_end":56196,"line_start":506,"line_end":506,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56176,"byte_end":56179,"line_start":506,"line_end":506,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56180,"byte_end":56183,"line_start":506,"line_end":506,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612754}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56185,"byte_end":56190,"line_start":506,"line_end":506,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870930}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56227,"byte_end":56230,"line_start":507,"line_end":507,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56241,"byte_end":56244,"line_start":507,"line_end":507,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56231,"byte_end":56239,"line_start":507,"line_end":507,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56253,"byte_end":56259,"line_start":507,"line_end":507,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56245,"byte_end":56252,"line_start":507,"line_end":507,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3666870290}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56299,"byte_end":56301,"line_start":510,"line_end":510,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56302,"byte_end":56308,"line_start":510,"line_end":510,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56310,"byte_end":56316,"line_start":510,"line_end":510,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56318,"byte_end":56322,"line_start":510,"line_end":510,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56324,"byte_end":56331,"line_start":510,"line_end":510,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2806}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56334,"byte_end":56339,"line_start":510,"line_end":510,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56341,"byte_end":56353,"line_start":510,"line_end":510,"column_start":59,"column_end":71},"ref_id":{"krate":0,"index":3841982482}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56355,"byte_end":56358,"line_start":510,"line_end":510,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56360,"byte_end":56365,"line_start":510,"line_end":510,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":2617245714}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21901,"byte_end":21908,"line_start":329,"line_end":329,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57322,"byte_end":57325,"line_start":14,"line_end":14,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101034,"byte_end":101039,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101042,"byte_end":101048,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101034,"byte_end":101039,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101058,"byte_end":101062,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101082,"byte_end":101085,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101082,"byte_end":101085,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101108,"byte_end":101117,"line_start":2,"line_end":2,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2458}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101182,"byte_end":101187,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101189,"byte_end":101192,"line_start":3,"line_end":3,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101203,"byte_end":101208,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101210,"byte_end":101215,"line_start":4,"line_end":4,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101239,"byte_end":101245,"line_start":5,"line_end":5,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101262,"byte_end":101269,"line_start":5,"line_end":5,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101281,"byte_end":101290,"line_start":5,"line_end":5,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101308,"byte_end":101313,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101315,"byte_end":101320,"line_start":8,"line_end":8,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101331,"byte_end":101336,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101338,"byte_end":101344,"line_start":9,"line_end":9,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101359,"byte_end":101364,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101383,"byte_end":101388,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2857}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101500,"byte_end":101508,"line_start":18,"line_end":18,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101566,"byte_end":101577,"line_start":20,"line_end":20,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101602,"byte_end":101605,"line_start":20,"line_end":20,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101589,"byte_end":101600,"line_start":20,"line_end":20,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101654,"byte_end":101665,"line_start":21,"line_end":21,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101690,"byte_end":101693,"line_start":21,"line_end":21,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101677,"byte_end":101688,"line_start":21,"line_end":21,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101730,"byte_end":101733,"line_start":23,"line_end":23,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101734,"byte_end":101750,"line_start":23,"line_end":23,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101772,"byte_end":101778,"line_start":23,"line_end":23,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101779,"byte_end":101786,"line_start":23,"line_end":23,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101788,"byte_end":101796,"line_start":23,"line_end":23,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101837,"byte_end":101840,"line_start":24,"line_end":24,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101830,"byte_end":101835,"line_start":24,"line_end":24,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101864,"byte_end":101870,"line_start":25,"line_end":25,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101852,"byte_end":101863,"line_start":25,"line_end":25,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306453}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101878,"byte_end":101886,"line_start":25,"line_end":25,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101899,"byte_end":101905,"line_start":25,"line_end":25,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101890,"byte_end":101897,"line_start":25,"line_end":25,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101912,"byte_end":101920,"line_start":25,"line_end":25,"column_start":69,"column_end":77},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101935,"byte_end":101937,"line_start":27,"line_end":27,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101947,"byte_end":101957,"line_start":27,"line_end":27,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101938,"byte_end":101945,"line_start":27,"line_end":27,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101958,"byte_end":101969,"line_start":27,"line_end":27,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306453}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102010,"byte_end":102013,"line_start":30,"line_end":30,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102014,"byte_end":102030,"line_start":30,"line_end":30,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102052,"byte_end":102058,"line_start":30,"line_end":30,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102059,"byte_end":102065,"line_start":30,"line_end":30,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102067,"byte_end":102075,"line_start":30,"line_end":30,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102087,"byte_end":102089,"line_start":31,"line_end":31,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102098,"byte_end":102102,"line_start":31,"line_end":31,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102090,"byte_end":102096,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102154,"byte_end":102157,"line_start":34,"line_end":34,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102158,"byte_end":102174,"line_start":34,"line_end":34,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102197,"byte_end":102206,"line_start":34,"line_end":34,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102216,"byte_end":102219,"line_start":34,"line_end":34,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102220,"byte_end":102226,"line_start":34,"line_end":34,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102232,"byte_end":102238,"line_start":34,"line_end":34,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102246,"byte_end":102249,"line_start":34,"line_end":34,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102255,"byte_end":102258,"line_start":34,"line_end":34,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102259,"byte_end":102275,"line_start":34,"line_end":34,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102279,"byte_end":102287,"line_start":34,"line_end":34,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102305,"byte_end":102324,"line_start":35,"line_end":35,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":102325,"byte_end":102331,"line_start":35,"line_end":35,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073741911}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102339,"byte_end":102342,"line_start":35,"line_end":35,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102334,"byte_end":102337,"line_start":35,"line_end":35,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102352,"byte_end":102356,"line_start":35,"line_end":35,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102343,"byte_end":102350,"line_start":35,"line_end":35,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102534,"byte_end":102539,"line_start":38,"line_end":38,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102433,"byte_end":102442,"line_start":38,"line_end":38,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102458,"byte_end":102467,"line_start":38,"line_end":38,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102477,"byte_end":102480,"line_start":38,"line_end":38,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102481,"byte_end":102488,"line_start":38,"line_end":38,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102494,"byte_end":102500,"line_start":38,"line_end":38,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102505,"byte_end":102513,"line_start":38,"line_end":38,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102550,"byte_end":102553,"line_start":39,"line_end":39,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102564,"byte_end":102567,"line_start":39,"line_end":39,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102554,"byte_end":102562,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102737,"byte_end":102742,"line_start":42,"line_end":42,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102638,"byte_end":102647,"line_start":42,"line_end":42,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102663,"byte_end":102672,"line_start":42,"line_end":42,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102690,"byte_end":102696,"line_start":42,"line_end":42,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102697,"byte_end":102706,"line_start":42,"line_end":42,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102708,"byte_end":102716,"line_start":42,"line_end":42,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102753,"byte_end":102756,"line_start":43,"line_end":43,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102767,"byte_end":102770,"line_start":43,"line_end":43,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102757,"byte_end":102765,"line_start":43,"line_end":43,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102968,"byte_end":102973,"line_start":45,"line_end":45,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102884,"byte_end":102893,"line_start":45,"line_end":45,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102911,"byte_end":102920,"line_start":45,"line_end":45,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102925,"byte_end":102931,"line_start":45,"line_end":45,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102932,"byte_end":102938,"line_start":45,"line_end":45,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102946,"byte_end":102954,"line_start":45,"line_end":45,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102984,"byte_end":102987,"line_start":46,"line_end":46,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102998,"byte_end":103001,"line_start":46,"line_end":46,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102988,"byte_end":102996,"line_start":46,"line_end":46,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103085,"byte_end":103094,"line_start":48,"line_end":48,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103112,"byte_end":103121,"line_start":48,"line_end":48,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103126,"byte_end":103133,"line_start":48,"line_end":48,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103153,"byte_end":103157,"line_start":49,"line_end":49,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103144,"byte_end":103151,"line_start":49,"line_end":49,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103203,"byte_end":103212,"line_start":51,"line_end":51,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103224,"byte_end":103233,"line_start":51,"line_end":51,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103238,"byte_end":103244,"line_start":51,"line_end":51,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103252,"byte_end":103260,"line_start":51,"line_end":51,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103272,"byte_end":103274,"line_start":52,"line_end":52,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103475,"byte_end":103480,"line_start":54,"line_end":54,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103328,"byte_end":103337,"line_start":54,"line_end":54,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103360,"byte_end":103369,"line_start":54,"line_end":54,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103382,"byte_end":103391,"line_start":54,"line_end":54,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103412,"byte_end":103421,"line_start":54,"line_end":54,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103426,"byte_end":103432,"line_start":54,"line_end":54,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103433,"byte_end":103442,"line_start":54,"line_end":54,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103444,"byte_end":103452,"line_start":54,"line_end":54,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103491,"byte_end":103494,"line_start":55,"line_end":55,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103505,"byte_end":103508,"line_start":55,"line_end":55,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103495,"byte_end":103503,"line_start":55,"line_end":55,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103587,"byte_end":103590,"line_start":57,"line_end":57,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103591,"byte_end":103607,"line_start":57,"line_end":57,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103625,"byte_end":103628,"line_start":57,"line_end":57,"column_start":78,"column_end":81},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103629,"byte_end":103636,"line_start":57,"line_end":57,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103642,"byte_end":103648,"line_start":57,"line_end":57,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103656,"byte_end":103659,"line_start":57,"line_end":57,"column_start":109,"column_end":112},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103665,"byte_end":103668,"line_start":57,"line_end":57,"column_start":118,"column_end":121},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103669,"byte_end":103685,"line_start":57,"line_end":57,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103689,"byte_end":103697,"line_start":57,"line_end":57,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103731,"byte_end":103734,"line_start":59,"line_end":59,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103746,"byte_end":103749,"line_start":59,"line_end":59,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103741,"byte_end":103744,"line_start":59,"line_end":59,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103773,"byte_end":103777,"line_start":60,"line_end":60,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103761,"byte_end":103772,"line_start":60,"line_end":60,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217824}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103791,"byte_end":103794,"line_start":60,"line_end":60,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103778,"byte_end":103789,"line_start":60,"line_end":60,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103818,"byte_end":103822,"line_start":61,"line_end":61,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103811,"byte_end":103817,"line_start":61,"line_end":61,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741920}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103823,"byte_end":103839,"line_start":61,"line_end":61,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103854,"byte_end":103857,"line_start":62,"line_end":62,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103874,"byte_end":103881,"line_start":62,"line_end":62,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103859,"byte_end":103872,"line_start":62,"line_end":62,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103895,"byte_end":103896,"line_start":63,"line_end":63,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103911,"byte_end":103914,"line_start":63,"line_end":63,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103898,"byte_end":103909,"line_start":63,"line_end":63,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103928,"byte_end":103936,"line_start":64,"line_end":64,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103957,"byte_end":103961,"line_start":65,"line_end":65,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103968,"byte_end":103971,"line_start":65,"line_end":65,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103963,"byte_end":103966,"line_start":65,"line_end":65,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103972,"byte_end":103976,"line_start":65,"line_end":65,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104007,"byte_end":104009,"line_start":67,"line_end":67,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104018,"byte_end":104029,"line_start":67,"line_end":67,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":134217824}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104031,"byte_end":104037,"line_start":67,"line_end":67,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073741920}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104107,"byte_end":104110,"line_start":71,"line_end":71,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104111,"byte_end":104127,"line_start":71,"line_end":71,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104133,"byte_end":104139,"line_start":71,"line_end":71,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104156,"byte_end":104160,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104208,"byte_end":104211,"line_start":75,"line_end":75,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104212,"byte_end":104228,"line_start":75,"line_end":75,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104273,"byte_end":104276,"line_start":75,"line_end":75,"column_start":106,"column_end":109},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104277,"byte_end":104293,"line_start":75,"line_end":75,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104313,"byte_end":104317,"line_start":76,"line_end":76,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104306,"byte_end":104312,"line_start":76,"line_end":76,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741922}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104318,"byte_end":104334,"line_start":76,"line_end":76,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104349,"byte_end":104352,"line_start":77,"line_end":77,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104369,"byte_end":104376,"line_start":77,"line_end":77,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104354,"byte_end":104367,"line_start":77,"line_end":77,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104390,"byte_end":104391,"line_start":78,"line_end":78,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104406,"byte_end":104409,"line_start":78,"line_end":78,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104393,"byte_end":104404,"line_start":78,"line_end":78,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104423,"byte_end":104431,"line_start":79,"line_end":79,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104452,"byte_end":104456,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104463,"byte_end":104466,"line_start":80,"line_end":80,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104458,"byte_end":104461,"line_start":80,"line_end":80,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104467,"byte_end":104471,"line_start":80,"line_end":80,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104503,"byte_end":104509,"line_start":82,"line_end":82,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073741922}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2857}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104533,"byte_end":104540,"line_start":86,"line_end":86,"column_start":14,"column_end":21},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104590,"byte_end":104596,"line_start":88,"line_end":88,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2857}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57335,"byte_end":57341,"line_start":15,"line_end":15,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":102}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105478,"byte_end":105483,"line_start":17,"line_end":17,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105485,"byte_end":105489,"line_start":17,"line_end":17,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105500,"byte_end":105505,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105507,"byte_end":105513,"line_start":18,"line_end":18,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105527,"byte_end":105532,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105564,"byte_end":105569,"line_start":20,"line_end":20,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105581,"byte_end":105584,"line_start":20,"line_end":20,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105581,"byte_end":105584,"line_start":20,"line_end":20,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105679,"byte_end":105688,"line_start":22,"line_end":22,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105701,"byte_end":105707,"line_start":23,"line_end":23,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105724,"byte_end":105730,"line_start":24,"line_end":24,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105767,"byte_end":105776,"line_start":26,"line_end":26,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105787,"byte_end":105794,"line_start":26,"line_end":26,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105806,"byte_end":105812,"line_start":26,"line_end":26,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":2354}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105832,"byte_end":105837,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105839,"byte_end":105842,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105854,"byte_end":105859,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105854,"byte_end":105859,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1718}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105889,"byte_end":105894,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105896,"byte_end":105902,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105917,"byte_end":105921,"line_start":31,"line_end":31,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105932,"byte_end":105937,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105939,"byte_end":105945,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106208,"byte_end":106217,"line_start":43,"line_end":43,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106316,"byte_end":106321,"line_start":44,"line_end":44,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106270,"byte_end":106286,"line_start":44,"line_end":44,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106291,"byte_end":106297,"line_start":44,"line_end":44,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106356,"byte_end":106362,"line_start":45,"line_end":45,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742001}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106363,"byte_end":106367,"line_start":45,"line_end":45,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106378,"byte_end":106392,"line_start":45,"line_end":45,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106417,"byte_end":106421,"line_start":47,"line_end":47,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2281701553}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106422,"byte_end":106426,"line_start":47,"line_end":47,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3639}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106437,"byte_end":106441,"line_start":49,"line_end":49,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106445,"byte_end":106449,"line_start":49,"line_end":49,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3892314289}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106479,"byte_end":106485,"line_start":50,"line_end":50,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106496,"byte_end":106509,"line_start":50,"line_end":50,"column_start":41,"column_end":54},"ref_id":{"krate":4,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106488,"byte_end":106494,"line_start":50,"line_end":50,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106510,"byte_end":106514,"line_start":50,"line_end":50,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3892314289}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106548,"byte_end":106555,"line_start":51,"line_end":51,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106548,"byte_end":106549,"line_start":51,"line_end":51,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106551,"byte_end":106555,"line_start":51,"line_end":51,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106551,"byte_end":106555,"line_start":51,"line_end":51,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3892314289}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106576,"byte_end":106580,"line_start":52,"line_end":52,"column_start":19,"column_end":23},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106574,"byte_end":106575,"line_start":52,"line_end":52,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3019899057}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106613,"byte_end":106614,"line_start":54,"line_end":54,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019899057}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106652,"byte_end":106656,"line_start":56,"line_end":56,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106644,"byte_end":106650,"line_start":56,"line_end":56,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106708,"byte_end":106717,"line_start":60,"line_end":60,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106728,"byte_end":106737,"line_start":60,"line_end":60,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106742,"byte_end":106748,"line_start":60,"line_end":60,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106797,"byte_end":106807,"line_start":62,"line_end":62,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106790,"byte_end":106796,"line_start":62,"line_end":62,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871090}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106808,"byte_end":106814,"line_start":62,"line_end":62,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742002}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106815,"byte_end":106826,"line_start":62,"line_end":62,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106828,"byte_end":106832,"line_start":62,"line_end":62,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106843,"byte_end":106857,"line_start":62,"line_end":62,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106882,"byte_end":106886,"line_start":64,"line_end":64,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653362}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106887,"byte_end":106891,"line_start":64,"line_end":64,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106906,"byte_end":106910,"line_start":67,"line_end":67,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266098}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106930,"byte_end":106934,"line_start":68,"line_end":68,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106979,"byte_end":106985,"line_start":70,"line_end":70,"column_start":28,"column_end":34},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106996,"byte_end":107009,"line_start":70,"line_end":70,"column_start":45,"column_end":58},"ref_id":{"krate":4,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106988,"byte_end":106994,"line_start":70,"line_end":70,"column_start":37,"column_end":43},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107010,"byte_end":107014,"line_start":70,"line_end":70,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2013266098}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107049,"byte_end":107056,"line_start":72,"line_end":72,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107049,"byte_end":107050,"line_start":72,"line_end":72,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107052,"byte_end":107056,"line_start":72,"line_end":72,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107052,"byte_end":107056,"line_start":72,"line_end":72,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266098}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107081,"byte_end":107089,"line_start":73,"line_end":73,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107075,"byte_end":107080,"line_start":73,"line_end":73,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1811939506}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107104,"byte_end":107123,"line_start":73,"line_end":73,"column_start":46,"column_end":65},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":107099,"byte_end":107102,"line_start":73,"line_end":73,"column_start":41,"column_end":44},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107162,"byte_end":107166,"line_start":76,"line_end":76,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107167,"byte_end":107172,"line_start":76,"line_end":76,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1811939506}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107220,"byte_end":107229,"line_start":80,"line_end":80,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107240,"byte_end":107249,"line_start":80,"line_end":80,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107254,"byte_end":107260,"line_start":80,"line_end":80,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107309,"byte_end":107319,"line_start":82,"line_end":82,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107302,"byte_end":107308,"line_start":82,"line_end":82,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871091}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107320,"byte_end":107326,"line_start":82,"line_end":82,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742003}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107327,"byte_end":107338,"line_start":82,"line_end":82,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107340,"byte_end":107344,"line_start":82,"line_end":82,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107355,"byte_end":107369,"line_start":82,"line_end":82,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107394,"byte_end":107398,"line_start":84,"line_end":84,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653363}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107399,"byte_end":107403,"line_start":84,"line_end":84,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107418,"byte_end":107422,"line_start":87,"line_end":87,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107442,"byte_end":107446,"line_start":88,"line_end":88,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107491,"byte_end":107497,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107508,"byte_end":107521,"line_start":90,"line_end":90,"column_start":45,"column_end":58},"ref_id":{"krate":4,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107500,"byte_end":107506,"line_start":90,"line_end":90,"column_start":37,"column_end":43},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107522,"byte_end":107526,"line_start":90,"line_end":90,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107561,"byte_end":107568,"line_start":92,"line_end":92,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107561,"byte_end":107562,"line_start":92,"line_end":92,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107564,"byte_end":107568,"line_start":92,"line_end":92,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107564,"byte_end":107568,"line_start":92,"line_end":92,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107593,"byte_end":107601,"line_start":93,"line_end":93,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107587,"byte_end":107592,"line_start":93,"line_end":93,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1811939507}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107616,"byte_end":107635,"line_start":93,"line_end":93,"column_start":46,"column_end":65},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":107611,"byte_end":107614,"line_start":93,"line_end":93,"column_start":41,"column_end":44},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107673,"byte_end":107677,"line_start":96,"line_end":96,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107678,"byte_end":107683,"line_start":96,"line_end":96,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1811939507}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107718,"byte_end":107726,"line_start":102,"line_end":102,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107786,"byte_end":107797,"line_start":106,"line_end":106,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107833,"byte_end":107843,"line_start":107,"line_end":107,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107820,"byte_end":107831,"line_start":107,"line_end":107,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107896,"byte_end":107907,"line_start":109,"line_end":109,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107943,"byte_end":107953,"line_start":110,"line_end":110,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107930,"byte_end":107941,"line_start":110,"line_end":110,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107993,"byte_end":107996,"line_start":113,"line_end":113,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107997,"byte_end":108013,"line_start":113,"line_end":113,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108035,"byte_end":108041,"line_start":113,"line_end":113,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108042,"byte_end":108049,"line_start":113,"line_end":113,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108051,"byte_end":108059,"line_start":113,"line_end":113,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108085,"byte_end":108091,"line_start":114,"line_end":114,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742008}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108092,"byte_end":108099,"line_start":114,"line_end":114,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536871096}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108135,"byte_end":108141,"line_start":116,"line_end":116,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952790200}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108142,"byte_end":108146,"line_start":116,"line_end":116,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108157,"byte_end":108171,"line_start":116,"line_end":116,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3637}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108214,"byte_end":108217,"line_start":118,"line_end":118,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108207,"byte_end":108212,"line_start":118,"line_end":118,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108241,"byte_end":108247,"line_start":119,"line_end":119,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108229,"byte_end":108240,"line_start":119,"line_end":119,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603979960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108268,"byte_end":108276,"line_start":120,"line_end":120,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108301,"byte_end":108307,"line_start":121,"line_end":121,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108292,"byte_end":108299,"line_start":121,"line_end":121,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108327,"byte_end":108336,"line_start":121,"line_end":121,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108314,"byte_end":108322,"line_start":121,"line_end":121,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108367,"byte_end":108371,"line_start":124,"line_end":124,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":939524280}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108372,"byte_end":108376,"line_start":124,"line_end":124,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3640}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108404,"byte_end":108413,"line_start":125,"line_end":125,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108391,"byte_end":108402,"line_start":125,"line_end":125,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108404,"byte_end":108413,"line_start":125,"line_end":125,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108391,"byte_end":108402,"line_start":125,"line_end":125,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108447,"byte_end":108453,"line_start":126,"line_end":126,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108435,"byte_end":108446,"line_start":126,"line_end":126,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":603979960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108466,"byte_end":108474,"line_start":126,"line_end":126,"column_start":48,"column_end":56},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108487,"byte_end":108491,"line_start":126,"line_end":126,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108478,"byte_end":108485,"line_start":126,"line_end":126,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108534,"byte_end":108543,"line_start":128,"line_end":128,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108521,"byte_end":108532,"line_start":128,"line_end":128,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108534,"byte_end":108543,"line_start":128,"line_end":128,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108521,"byte_end":108532,"line_start":128,"line_end":128,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108577,"byte_end":108583,"line_start":129,"line_end":129,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108565,"byte_end":108576,"line_start":129,"line_end":129,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":603979960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108596,"byte_end":108604,"line_start":129,"line_end":129,"column_start":48,"column_end":56},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108617,"byte_end":108621,"line_start":129,"line_end":129,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108608,"byte_end":108615,"line_start":129,"line_end":129,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108681,"byte_end":108685,"line_start":134,"line_end":134,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":939524280}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108686,"byte_end":108690,"line_start":134,"line_end":134,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3639}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108721,"byte_end":108727,"line_start":135,"line_end":135,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108709,"byte_end":108720,"line_start":135,"line_end":135,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":603979960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108735,"byte_end":108743,"line_start":135,"line_end":135,"column_start":39,"column_end":47},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108756,"byte_end":108763,"line_start":135,"line_end":135,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108747,"byte_end":108754,"line_start":135,"line_end":135,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108782,"byte_end":108786,"line_start":135,"line_end":135,"column_start":86,"column_end":90},"ref_id":{"krate":1,"index":2929}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108774,"byte_end":108779,"line_start":135,"line_end":135,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108764,"byte_end":108768,"line_start":135,"line_end":135,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":939524280}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108769,"byte_end":108773,"line_start":135,"line_end":135,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108841,"byte_end":108845,"line_start":138,"line_end":138,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":939524280}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108846,"byte_end":108853,"line_start":138,"line_end":138,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108818,"byte_end":108822,"line_start":138,"line_end":138,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108880,"byte_end":108886,"line_start":139,"line_end":139,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108868,"byte_end":108879,"line_start":139,"line_end":139,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":603979960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108914,"byte_end":108922,"line_start":140,"line_end":140,"column_start":27,"column_end":35},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108951,"byte_end":108957,"line_start":141,"line_end":141,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108942,"byte_end":108949,"line_start":141,"line_end":141,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108972,"byte_end":108981,"line_start":141,"line_end":141,"column_start":47,"column_end":56},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108958,"byte_end":108971,"line_start":141,"line_end":141,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":3238002872}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109020,"byte_end":109022,"line_start":145,"line_end":145,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109032,"byte_end":109042,"line_start":145,"line_end":145,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109023,"byte_end":109030,"line_start":145,"line_end":145,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109043,"byte_end":109054,"line_start":145,"line_end":145,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":603979960}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109101,"byte_end":109104,"line_start":149,"line_end":149,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109105,"byte_end":109121,"line_start":149,"line_end":149,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109142,"byte_end":109148,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109149,"byte_end":109155,"line_start":149,"line_end":149,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109157,"byte_end":109165,"line_start":149,"line_end":149,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109191,"byte_end":109197,"line_start":150,"line_end":150,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742009}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109198,"byte_end":109205,"line_start":150,"line_end":150,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536871097}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109241,"byte_end":109247,"line_start":152,"line_end":152,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952790201}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109248,"byte_end":109252,"line_start":152,"line_end":152,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109263,"byte_end":109277,"line_start":152,"line_end":152,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109311,"byte_end":109314,"line_start":154,"line_end":154,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109315,"byte_end":109321,"line_start":154,"line_end":154,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109330,"byte_end":109333,"line_start":154,"line_end":154,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109325,"byte_end":109328,"line_start":154,"line_end":154,"column_start":43,"column_end":46},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109364,"byte_end":109368,"line_start":156,"line_end":156,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109369,"byte_end":109376,"line_start":156,"line_end":156,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109353,"byte_end":109357,"line_start":156,"line_end":156,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109413,"byte_end":109417,"line_start":157,"line_end":157,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109405,"byte_end":109411,"line_start":157,"line_end":157,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109448,"byte_end":109456,"line_start":158,"line_end":158,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109444,"byte_end":109447,"line_start":158,"line_end":158,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504057}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109480,"byte_end":109488,"line_start":159,"line_end":159,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109476,"byte_end":109479,"line_start":159,"line_end":159,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504057}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109491,"byte_end":109497,"line_start":159,"line_end":159,"column_start":28,"column_end":34},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109489,"byte_end":109490,"line_start":159,"line_end":159,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3556769977}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109518,"byte_end":109526,"line_start":160,"line_end":160,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109514,"byte_end":109517,"line_start":160,"line_end":160,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504057}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109557,"byte_end":109561,"line_start":161,"line_end":161,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109546,"byte_end":109556,"line_start":161,"line_end":161,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":335544505}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109562,"byte_end":109565,"line_start":161,"line_end":161,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1543504057}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109590,"byte_end":109594,"line_start":164,"line_end":164,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109595,"byte_end":109599,"line_start":164,"line_end":164,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3639}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109640,"byte_end":109644,"line_start":165,"line_end":165,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109632,"byte_end":109638,"line_start":165,"line_end":165,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109672,"byte_end":109680,"line_start":166,"line_end":166,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109668,"byte_end":109671,"line_start":166,"line_end":166,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2516582585}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109703,"byte_end":109709,"line_start":166,"line_end":166,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109691,"byte_end":109700,"line_start":166,"line_end":166,"column_start":36,"column_end":45},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109681,"byte_end":109685,"line_start":166,"line_end":166,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109686,"byte_end":109690,"line_start":166,"line_end":166,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3639}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109737,"byte_end":109741,"line_start":167,"line_end":167,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109726,"byte_end":109736,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":335544505}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109742,"byte_end":109745,"line_start":167,"line_end":167,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2516582585}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109773,"byte_end":109777,"line_start":170,"line_end":170,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109778,"byte_end":109782,"line_start":170,"line_end":170,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3640}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109810,"byte_end":109819,"line_start":171,"line_end":171,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109797,"byte_end":109808,"line_start":171,"line_end":171,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109810,"byte_end":109819,"line_start":171,"line_end":171,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109797,"byte_end":109808,"line_start":171,"line_end":171,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109852,"byte_end":109856,"line_start":172,"line_end":172,"column_start":28,"column_end":32},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109841,"byte_end":109851,"line_start":172,"line_end":172,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":335544505}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109865,"byte_end":109869,"line_start":172,"line_end":172,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109857,"byte_end":109863,"line_start":172,"line_end":172,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109931,"byte_end":109940,"line_start":174,"line_end":174,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109918,"byte_end":109929,"line_start":174,"line_end":174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109931,"byte_end":109940,"line_start":174,"line_end":174,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109918,"byte_end":109929,"line_start":174,"line_end":174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109973,"byte_end":109977,"line_start":175,"line_end":175,"column_start":28,"column_end":32},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109962,"byte_end":109972,"line_start":175,"line_end":175,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":335544505}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109986,"byte_end":109990,"line_start":175,"line_end":175,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109978,"byte_end":109984,"line_start":175,"line_end":175,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110080,"byte_end":110083,"line_start":180,"line_end":180,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110069,"byte_end":110079,"line_start":180,"line_end":180,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":335544505}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110105,"byte_end":110107,"line_start":181,"line_end":181,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110116,"byte_end":110120,"line_start":181,"line_end":181,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110108,"byte_end":110114,"line_start":181,"line_end":181,"column_start":16,"column_end":22},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110191,"byte_end":110195,"line_start":183,"line_end":183,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110183,"byte_end":110189,"line_start":183,"line_end":183,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110231,"byte_end":110239,"line_start":184,"line_end":184,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110221,"byte_end":110230,"line_start":184,"line_end":184,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1660944569}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110262,"byte_end":110268,"line_start":184,"line_end":184,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110251,"byte_end":110255,"line_start":184,"line_end":184,"column_start":43,"column_end":47},"ref_id":{"krate":4,"index":5165}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110240,"byte_end":110250,"line_start":184,"line_end":184,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":335544505}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110295,"byte_end":110303,"line_start":185,"line_end":185,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110285,"byte_end":110294,"line_start":185,"line_end":185,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1660944569}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110323,"byte_end":110325,"line_start":186,"line_end":186,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110326,"byte_end":110335,"line_start":186,"line_end":186,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1660944569}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110399,"byte_end":110402,"line_start":191,"line_end":191,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110403,"byte_end":110419,"line_start":191,"line_end":191,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110441,"byte_end":110450,"line_start":191,"line_end":191,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110459,"byte_end":110462,"line_start":191,"line_end":191,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110463,"byte_end":110469,"line_start":191,"line_end":191,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110475,"byte_end":110481,"line_start":191,"line_end":191,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110489,"byte_end":110492,"line_start":191,"line_end":191,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110498,"byte_end":110501,"line_start":191,"line_end":191,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110502,"byte_end":110518,"line_start":191,"line_end":191,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110522,"byte_end":110530,"line_start":191,"line_end":191,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110563,"byte_end":110566,"line_start":192,"line_end":192,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110578,"byte_end":110581,"line_start":192,"line_end":192,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110573,"byte_end":110576,"line_start":192,"line_end":192,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110605,"byte_end":110609,"line_start":193,"line_end":193,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110593,"byte_end":110604,"line_start":193,"line_end":193,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110623,"byte_end":110633,"line_start":193,"line_end":193,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110610,"byte_end":110621,"line_start":193,"line_end":193,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110684,"byte_end":110688,"line_start":195,"line_end":195,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3477}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110671,"byte_end":110682,"line_start":195,"line_end":195,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110811,"byte_end":110817,"line_start":201,"line_end":201,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110818,"byte_end":110824,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110836,"byte_end":110840,"line_start":201,"line_end":201,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110828,"byte_end":110834,"line_start":201,"line_end":201,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110859,"byte_end":110862,"line_start":203,"line_end":203,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110854,"byte_end":110858,"line_start":203,"line_end":203,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268435642}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110891,"byte_end":110895,"line_start":205,"line_end":205,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268435642}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110934,"byte_end":110944,"line_start":206,"line_end":206,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110925,"byte_end":110931,"line_start":206,"line_end":206,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110917,"byte_end":110923,"line_start":206,"line_end":206,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111003,"byte_end":111007,"line_start":207,"line_end":207,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110992,"byte_end":111002,"line_start":207,"line_end":207,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3523215546}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111059,"byte_end":111063,"line_start":208,"line_end":208,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111046,"byte_end":111053,"line_start":208,"line_end":208,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111042,"byte_end":111045,"line_start":208,"line_end":208,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610612922}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111054,"byte_end":111057,"line_start":208,"line_end":208,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1241514170}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111170,"byte_end":111179,"line_start":210,"line_end":210,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111157,"byte_end":111168,"line_start":210,"line_end":210,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111145,"byte_end":111154,"line_start":210,"line_end":210,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2751463610}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111214,"byte_end":111217,"line_start":211,"line_end":211,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2483028154}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111357,"byte_end":111366,"line_start":214,"line_end":214,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111344,"byte_end":111355,"line_start":214,"line_end":214,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111332,"byte_end":111341,"line_start":214,"line_end":214,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2751463610}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111401,"byte_end":111404,"line_start":215,"line_end":215,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2483028154}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111520,"byte_end":111525,"line_start":218,"line_end":218,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3388997818}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111581,"byte_end":111585,"line_start":219,"line_end":219,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111572,"byte_end":111578,"line_start":219,"line_end":219,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111564,"byte_end":111570,"line_start":219,"line_end":219,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111664,"byte_end":111669,"line_start":220,"line_end":220,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111657,"byte_end":111661,"line_start":220,"line_end":220,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111643,"byte_end":111650,"line_start":220,"line_end":220,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111639,"byte_end":111642,"line_start":220,"line_end":220,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610612922}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111651,"byte_end":111655,"line_start":220,"line_end":220,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2969567418}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111725,"byte_end":111727,"line_start":221,"line_end":221,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111725,"byte_end":111727,"line_start":221,"line_end":221,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111791,"byte_end":111792,"line_start":222,"line_end":222,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3103785146}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111784,"byte_end":111788,"line_start":222,"line_end":222,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111842,"byte_end":111856,"line_start":223,"line_end":223,"column_start":49,"column_end":63},"ref_id":{"krate":0,"index":3019899066}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111956,"byte_end":111959,"line_start":225,"line_end":225,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111956,"byte_end":111959,"line_start":225,"line_end":225,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111976,"byte_end":111979,"line_start":225,"line_end":225,"column_start":65,"column_end":68},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111990,"byte_end":111993,"line_start":225,"line_end":225,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111980,"byte_end":111988,"line_start":225,"line_end":225,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112306,"byte_end":112311,"line_start":232,"line_end":232,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3388997818}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112367,"byte_end":112371,"line_start":233,"line_end":233,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112358,"byte_end":112364,"line_start":233,"line_end":233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112350,"byte_end":112356,"line_start":233,"line_end":233,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112429,"byte_end":112433,"line_start":234,"line_end":234,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112442,"byte_end":112446,"line_start":234,"line_end":234,"column_start":64,"column_end":68},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112434,"byte_end":112440,"line_start":234,"line_end":234,"column_start":56,"column_end":62},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112451,"byte_end":112458,"line_start":234,"line_end":234,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112447,"byte_end":112450,"line_start":234,"line_end":234,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":1610612922}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112459,"byte_end":112463,"line_start":234,"line_end":234,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":4076863674}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112419,"byte_end":112426,"line_start":234,"line_end":234,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3690987706}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112788,"byte_end":112791,"line_start":248,"line_end":248,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":2483028154}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112818,"byte_end":112821,"line_start":249,"line_end":249,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112832,"byte_end":112835,"line_start":249,"line_end":249,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112822,"byte_end":112830,"line_start":249,"line_end":249,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112919,"byte_end":112923,"line_start":252,"line_end":252,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112907,"byte_end":112918,"line_start":252,"line_end":252,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112924,"byte_end":112933,"line_start":252,"line_end":252,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2751463610}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112954,"byte_end":112968,"line_start":254,"line_end":254,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":3019899066}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112995,"byte_end":113012,"line_start":255,"line_end":255,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112983,"byte_end":112994,"line_start":255,"line_end":255,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113019,"byte_end":113030,"line_start":255,"line_end":255,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113014,"byte_end":113018,"line_start":255,"line_end":255,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113076,"byte_end":113093,"line_start":257,"line_end":257,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113064,"byte_end":113075,"line_start":257,"line_end":257,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113100,"byte_end":113111,"line_start":257,"line_end":257,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113153,"byte_end":113160,"line_start":260,"line_end":260,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3690987706}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113142,"byte_end":113146,"line_start":260,"line_end":260,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113193,"byte_end":113201,"line_start":261,"line_end":261,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113191,"byte_end":113192,"line_start":261,"line_end":261,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":310378682}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113229,"byte_end":113246,"line_start":262,"line_end":262,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113217,"byte_end":113228,"line_start":262,"line_end":262,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113279,"byte_end":113290,"line_start":262,"line_end":262,"column_start":75,"column_end":86},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113260,"byte_end":113263,"line_start":262,"line_end":262,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113250,"byte_end":113259,"line_start":262,"line_end":262,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":713031866}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113319,"byte_end":113336,"line_start":263,"line_end":263,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113307,"byte_end":113318,"line_start":263,"line_end":263,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113337,"byte_end":113346,"line_start":263,"line_end":263,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":713031866}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113390,"byte_end":113407,"line_start":265,"line_end":265,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113378,"byte_end":113389,"line_start":265,"line_end":265,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113414,"byte_end":113425,"line_start":265,"line_end":265,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113464,"byte_end":113467,"line_start":268,"line_end":268,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113479,"byte_end":113482,"line_start":268,"line_end":268,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113474,"byte_end":113477,"line_start":268,"line_end":268,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113505,"byte_end":113512,"line_start":270,"line_end":270,"column_start":19,"column_end":26},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113505,"byte_end":113506,"line_start":270,"line_end":270,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113508,"byte_end":113512,"line_start":270,"line_end":270,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113508,"byte_end":113512,"line_start":270,"line_end":270,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113533,"byte_end":113537,"line_start":271,"line_end":271,"column_start":19,"column_end":23},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113527,"byte_end":113532,"line_start":271,"line_end":271,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3783262394}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113569,"byte_end":113573,"line_start":274,"line_end":274,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113562,"byte_end":113568,"line_start":274,"line_end":274,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742010}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113574,"byte_end":113590,"line_start":274,"line_end":274,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113605,"byte_end":113608,"line_start":275,"line_end":275,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113613,"byte_end":113617,"line_start":275,"line_end":275,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113655,"byte_end":113660,"line_start":276,"line_end":276,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113640,"byte_end":113653,"line_start":276,"line_end":276,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113661,"byte_end":113665,"line_start":276,"line_end":276,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113726,"byte_end":113733,"line_start":278,"line_end":278,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113711,"byte_end":113724,"line_start":278,"line_end":278,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113761,"byte_end":113762,"line_start":280,"line_end":280,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113777,"byte_end":113787,"line_start":280,"line_end":280,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113764,"byte_end":113775,"line_start":280,"line_end":280,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113801,"byte_end":113809,"line_start":281,"line_end":281,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113811,"byte_end":113825,"line_start":281,"line_end":281,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":3019899066}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113839,"byte_end":113843,"line_start":282,"line_end":282,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113851,"byte_end":113854,"line_start":282,"line_end":282,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113846,"byte_end":113849,"line_start":282,"line_end":282,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113878,"byte_end":113892,"line_start":282,"line_end":282,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113895,"byte_end":113899,"line_start":282,"line_end":282,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113901,"byte_end":113905,"line_start":282,"line_end":282,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":2348810426}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113907,"byte_end":113914,"line_start":282,"line_end":282,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113907,"byte_end":113914,"line_start":282,"line_end":282,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3690987706}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113916,"byte_end":113920,"line_start":282,"line_end":282,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113922,"byte_end":113931,"line_start":282,"line_end":282,"column_start":96,"column_end":105},"ref_id":{"krate":0,"index":2751463610}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113933,"byte_end":113938,"line_start":282,"line_end":282,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113933,"byte_end":113938,"line_start":282,"line_end":282,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":3783262394}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113985,"byte_end":113987,"line_start":285,"line_end":285,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113989,"byte_end":114003,"line_start":285,"line_end":285,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":3019899066}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114005,"byte_end":114016,"line_start":285,"line_end":285,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114018,"byte_end":114024,"line_start":285,"line_end":285,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742010}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114205,"byte_end":114210,"line_start":288,"line_end":288,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114104,"byte_end":114113,"line_start":288,"line_end":288,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114129,"byte_end":114138,"line_start":288,"line_end":288,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114152,"byte_end":114159,"line_start":288,"line_end":288,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114165,"byte_end":114171,"line_start":288,"line_end":288,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114176,"byte_end":114184,"line_start":288,"line_end":288,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114230,"byte_end":114235,"line_start":289,"line_end":289,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342177467}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114259,"byte_end":114265,"line_start":290,"line_end":290,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114250,"byte_end":114257,"line_start":290,"line_end":290,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114259,"byte_end":114265,"line_start":290,"line_end":290,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114250,"byte_end":114257,"line_start":290,"line_end":290,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114300,"byte_end":114309,"line_start":291,"line_end":291,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114310,"byte_end":114316,"line_start":291,"line_end":291,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612923}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114318,"byte_end":114324,"line_start":291,"line_end":291,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268435643}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114332,"byte_end":114337,"line_start":291,"line_end":291,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114326,"byte_end":114331,"line_start":291,"line_end":291,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1207959739}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114397,"byte_end":114399,"line_start":296,"line_end":296,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114451,"byte_end":114454,"line_start":299,"line_end":299,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114455,"byte_end":114471,"line_start":299,"line_end":299,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114514,"byte_end":114517,"line_start":299,"line_end":299,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114518,"byte_end":114534,"line_start":299,"line_end":299,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114598,"byte_end":114602,"line_start":302,"line_end":302,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114585,"byte_end":114596,"line_start":302,"line_end":302,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114603,"byte_end":114608,"line_start":302,"line_end":302,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114609,"byte_end":114616,"line_start":302,"line_end":302,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":536871101}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114677,"byte_end":114690,"line_start":305,"line_end":305,"column_start":31,"column_end":44},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114692,"byte_end":114697,"line_start":305,"line_end":305,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114698,"byte_end":114705,"line_start":305,"line_end":305,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114712,"byte_end":114717,"line_start":305,"line_end":305,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114718,"byte_end":114725,"line_start":305,"line_end":305,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114731,"byte_end":114736,"line_start":305,"line_end":305,"column_start":85,"column_end":90},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114737,"byte_end":114744,"line_start":305,"line_end":305,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114751,"byte_end":114756,"line_start":305,"line_end":305,"column_start":105,"column_end":110},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114757,"byte_end":114764,"line_start":305,"line_end":305,"column_start":111,"column_end":118},"ref_id":{"krate":0,"index":536871101}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114836,"byte_end":114849,"line_start":308,"line_end":308,"column_start":33,"column_end":46},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114851,"byte_end":114856,"line_start":308,"line_end":308,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114857,"byte_end":114864,"line_start":308,"line_end":308,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114871,"byte_end":114876,"line_start":308,"line_end":308,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114877,"byte_end":114884,"line_start":308,"line_end":308,"column_start":74,"column_end":81},"ref_id":{"krate":0,"index":536871101}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114926,"byte_end":114929,"line_start":310,"line_end":310,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114941,"byte_end":114944,"line_start":310,"line_end":310,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114936,"byte_end":114939,"line_start":310,"line_end":310,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114967,"byte_end":114980,"line_start":312,"line_end":312,"column_start":19,"column_end":32},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114967,"byte_end":114968,"line_start":312,"line_end":312,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114970,"byte_end":114980,"line_start":312,"line_end":312,"column_start":22,"column_end":32},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114970,"byte_end":114980,"line_start":312,"line_end":312,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115001,"byte_end":115005,"line_start":313,"line_end":313,"column_start":19,"column_end":23},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114995,"byte_end":115000,"line_start":313,"line_end":313,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":100663485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115033,"byte_end":115045,"line_start":316,"line_end":316,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":704643261}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115072,"byte_end":115076,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115065,"byte_end":115071,"line_start":317,"line_end":317,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742013}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115077,"byte_end":115093,"line_start":317,"line_end":317,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115112,"byte_end":115115,"line_start":318,"line_end":318,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115120,"byte_end":115130,"line_start":318,"line_end":318,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115172,"byte_end":115177,"line_start":319,"line_end":319,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115157,"byte_end":115170,"line_start":319,"line_end":319,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115178,"byte_end":115188,"line_start":319,"line_end":319,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115257,"byte_end":115264,"line_start":321,"line_end":321,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115242,"byte_end":115255,"line_start":321,"line_end":321,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115300,"byte_end":115301,"line_start":323,"line_end":323,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115316,"byte_end":115326,"line_start":323,"line_end":323,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115303,"byte_end":115314,"line_start":323,"line_end":323,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115344,"byte_end":115352,"line_start":324,"line_end":324,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115354,"byte_end":115364,"line_start":324,"line_end":324,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115386,"byte_end":115390,"line_start":325,"line_end":325,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115398,"byte_end":115401,"line_start":325,"line_end":325,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115393,"byte_end":115396,"line_start":325,"line_end":325,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115425,"byte_end":115439,"line_start":325,"line_end":325,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115442,"byte_end":115446,"line_start":325,"line_end":325,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115448,"byte_end":115458,"line_start":325,"line_end":325,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115460,"byte_end":115467,"line_start":325,"line_end":325,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115469,"byte_end":115473,"line_start":325,"line_end":325,"column_start":100,"column_end":104},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115475,"byte_end":115479,"line_start":325,"line_end":325,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115481,"byte_end":115490,"line_start":325,"line_end":325,"column_start":112,"column_end":121},"ref_id":{"krate":0,"index":2818572477}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115492,"byte_end":115497,"line_start":325,"line_end":325,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115492,"byte_end":115497,"line_start":325,"line_end":325,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":100663485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115654,"byte_end":115671,"line_start":328,"line_end":328,"column_start":107,"column_end":124},"ref_id":{"krate":1,"index":8973}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115585,"byte_end":115594,"line_start":328,"line_end":328,"column_start":38,"column_end":47},"ref_id":{"krate":1,"index":11729}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":115580,"byte_end":115583,"line_start":328,"line_end":328,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115596,"byte_end":115601,"line_start":328,"line_end":328,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1610612925}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115602,"byte_end":115651,"line_start":328,"line_end":328,"column_start":55,"column_end":104},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115602,"byte_end":115615,"line_start":328,"line_end":328,"column_start":55,"column_end":68},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115603,"byte_end":115610,"line_start":328,"line_end":328,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115617,"byte_end":115651,"line_start":328,"line_end":328,"column_start":70,"column_end":104},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115618,"byte_end":115625,"line_start":328,"line_end":328,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":536871101}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115633,"byte_end":115645,"line_start":328,"line_end":328,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":704643261}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115695,"byte_end":115699,"line_start":330,"line_end":330,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115688,"byte_end":115694,"line_start":330,"line_end":330,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742013}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115700,"byte_end":115716,"line_start":330,"line_end":330,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115735,"byte_end":115738,"line_start":331,"line_end":331,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115743,"byte_end":115753,"line_start":331,"line_end":331,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115795,"byte_end":115800,"line_start":332,"line_end":332,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115780,"byte_end":115793,"line_start":332,"line_end":332,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115801,"byte_end":115811,"line_start":332,"line_end":332,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115880,"byte_end":115887,"line_start":334,"line_end":334,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115865,"byte_end":115878,"line_start":334,"line_end":334,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115923,"byte_end":115924,"line_start":336,"line_end":336,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115939,"byte_end":115949,"line_start":336,"line_end":336,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115926,"byte_end":115937,"line_start":336,"line_end":336,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115967,"byte_end":115975,"line_start":337,"line_end":337,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115977,"byte_end":115987,"line_start":337,"line_end":337,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116009,"byte_end":116013,"line_start":338,"line_end":338,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116021,"byte_end":116024,"line_start":338,"line_end":338,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116016,"byte_end":116019,"line_start":338,"line_end":338,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116048,"byte_end":116062,"line_start":338,"line_end":338,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116065,"byte_end":116069,"line_start":338,"line_end":338,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116071,"byte_end":116081,"line_start":338,"line_end":338,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116083,"byte_end":116090,"line_start":338,"line_end":338,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116092,"byte_end":116096,"line_start":338,"line_end":338,"column_start":100,"column_end":104},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116111,"byte_end":116120,"line_start":338,"line_end":338,"column_start":119,"column_end":128},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116097,"byte_end":116110,"line_start":338,"line_end":338,"column_start":105,"column_end":118},"ref_id":{"krate":0,"index":1996488893}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116125,"byte_end":116129,"line_start":338,"line_end":338,"column_start":133,"column_end":137},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116131,"byte_end":116140,"line_start":338,"line_end":338,"column_start":139,"column_end":148},"ref_id":{"krate":0,"index":2818572477}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116142,"byte_end":116147,"line_start":338,"line_end":338,"column_start":150,"column_end":155},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116142,"byte_end":116147,"line_start":338,"line_end":338,"column_start":150,"column_end":155},"ref_id":{"krate":0,"index":100663485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116201,"byte_end":116211,"line_start":342,"line_end":342,"column_start":10,"column_end":20},"ref_id":{"krate":0,"index":1543504061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116217,"byte_end":116223,"line_start":342,"line_end":342,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742013}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116362,"byte_end":116367,"line_start":345,"line_end":345,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116263,"byte_end":116272,"line_start":345,"line_end":345,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116288,"byte_end":116297,"line_start":345,"line_end":345,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116315,"byte_end":116321,"line_start":345,"line_end":345,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116322,"byte_end":116331,"line_start":345,"line_end":345,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116333,"byte_end":116341,"line_start":345,"line_end":345,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116389,"byte_end":116398,"line_start":346,"line_end":346,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116378,"byte_end":116387,"line_start":346,"line_end":346,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":173}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116399,"byte_end":116405,"line_start":346,"line_end":346,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1073742014}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116407,"byte_end":116413,"line_start":346,"line_end":346,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116416,"byte_end":116421,"line_start":346,"line_end":346,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116541,"byte_end":116546,"line_start":349,"line_end":349,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116457,"byte_end":116466,"line_start":349,"line_end":349,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116484,"byte_end":116493,"line_start":349,"line_end":349,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116498,"byte_end":116504,"line_start":349,"line_end":349,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116505,"byte_end":116511,"line_start":349,"line_end":349,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116519,"byte_end":116527,"line_start":349,"line_end":349,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116574,"byte_end":116584,"line_start":350,"line_end":350,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116563,"byte_end":116572,"line_start":350,"line_end":350,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":173}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116585,"byte_end":116591,"line_start":350,"line_end":350,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742016}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116593,"byte_end":116599,"line_start":350,"line_end":350,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871104}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116616,"byte_end":116620,"line_start":351,"line_end":351,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116616,"byte_end":116620,"line_start":351,"line_end":351,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116627,"byte_end":116629,"line_start":351,"line_end":351,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116630,"byte_end":116634,"line_start":351,"line_end":351,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116643,"byte_end":116647,"line_start":351,"line_end":351,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116635,"byte_end":116641,"line_start":351,"line_end":351,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116648,"byte_end":116649,"line_start":351,"line_end":351,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":67109056}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116666,"byte_end":116670,"line_start":352,"line_end":352,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116666,"byte_end":116670,"line_start":352,"line_end":352,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116674,"byte_end":116676,"line_start":352,"line_end":352,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116677,"byte_end":116681,"line_start":352,"line_end":352,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116740,"byte_end":116749,"line_start":357,"line_end":357,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116760,"byte_end":116769,"line_start":357,"line_end":357,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116774,"byte_end":116780,"line_start":357,"line_end":357,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116788,"byte_end":116796,"line_start":357,"line_end":357,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116835,"byte_end":116844,"line_start":359,"line_end":359,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116828,"byte_end":116834,"line_start":359,"line_end":359,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871105}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116845,"byte_end":116851,"line_start":359,"line_end":359,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610612929}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116891,"byte_end":116905,"line_start":360,"line_end":360,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116881,"byte_end":116888,"line_start":360,"line_end":360,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959745}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116953,"byte_end":116963,"line_start":363,"line_end":363,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3087007937}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116990,"byte_end":116992,"line_start":364,"line_end":364,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117047,"byte_end":117057,"line_start":367,"line_end":367,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117040,"byte_end":117046,"line_start":367,"line_end":367,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117058,"byte_end":117064,"line_start":367,"line_end":367,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871105}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117065,"byte_end":117076,"line_start":367,"line_end":367,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117078,"byte_end":117082,"line_start":367,"line_end":367,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117093,"byte_end":117107,"line_start":367,"line_end":367,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117146,"byte_end":117150,"line_start":370,"line_end":370,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":33554625}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117151,"byte_end":117155,"line_start":370,"line_end":370,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3639}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117181,"byte_end":117183,"line_start":371,"line_end":371,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117184,"byte_end":117188,"line_start":371,"line_end":371,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":33554625}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117189,"byte_end":117193,"line_start":371,"line_end":371,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3639}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117277,"byte_end":117290,"line_start":375,"line_end":375,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117323,"byte_end":117332,"line_start":375,"line_end":375,"column_start":84,"column_end":93},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117299,"byte_end":117310,"line_start":375,"line_end":375,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117292,"byte_end":117298,"line_start":375,"line_end":375,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610612929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117311,"byte_end":117321,"line_start":375,"line_end":375,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":3087007937}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117431,"byte_end":117433,"line_start":378,"line_end":378,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117434,"byte_end":117444,"line_start":378,"line_end":378,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":234881217}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117514,"byte_end":117517,"line_start":383,"line_end":383,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117518,"byte_end":117534,"line_start":383,"line_end":383,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117555,"byte_end":117562,"line_start":383,"line_end":383,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117568,"byte_end":117574,"line_start":383,"line_end":383,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117582,"byte_end":117585,"line_start":383,"line_end":383,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117591,"byte_end":117594,"line_start":383,"line_end":383,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117595,"byte_end":117611,"line_start":383,"line_end":383,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117615,"byte_end":117623,"line_start":383,"line_end":383,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117657,"byte_end":117660,"line_start":385,"line_end":385,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117672,"byte_end":117675,"line_start":385,"line_end":385,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117667,"byte_end":117670,"line_start":385,"line_end":385,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117699,"byte_end":117703,"line_start":386,"line_end":386,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117687,"byte_end":117698,"line_start":386,"line_end":386,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217924}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117717,"byte_end":117727,"line_start":386,"line_end":386,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117704,"byte_end":117715,"line_start":386,"line_end":386,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117778,"byte_end":117782,"line_start":388,"line_end":388,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3477}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117765,"byte_end":117776,"line_start":388,"line_end":388,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117824,"byte_end":117835,"line_start":391,"line_end":391,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871108}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117872,"byte_end":117876,"line_start":392,"line_end":392,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117863,"byte_end":117870,"line_start":392,"line_end":392,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117872,"byte_end":117876,"line_start":392,"line_end":392,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117863,"byte_end":117870,"line_start":392,"line_end":392,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117907,"byte_end":117916,"line_start":392,"line_end":392,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117894,"byte_end":117905,"line_start":392,"line_end":392,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117882,"byte_end":117891,"line_start":392,"line_end":392,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2214592708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117918,"byte_end":117921,"line_start":392,"line_end":392,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2751463620}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117976,"byte_end":117987,"line_start":396,"line_end":396,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871108}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118024,"byte_end":118028,"line_start":397,"line_end":397,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118015,"byte_end":118022,"line_start":397,"line_end":397,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118024,"byte_end":118028,"line_start":397,"line_end":397,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118015,"byte_end":118022,"line_start":397,"line_end":397,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118059,"byte_end":118068,"line_start":397,"line_end":397,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118046,"byte_end":118057,"line_start":397,"line_end":397,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3476}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118034,"byte_end":118043,"line_start":397,"line_end":397,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2214592708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118070,"byte_end":118073,"line_start":397,"line_end":397,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2751463620}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118125,"byte_end":118128,"line_start":401,"line_end":401,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":2751463620}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118155,"byte_end":118158,"line_start":402,"line_end":402,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118169,"byte_end":118172,"line_start":402,"line_end":402,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118159,"byte_end":118167,"line_start":402,"line_end":402,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118257,"byte_end":118261,"line_start":405,"line_end":405,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118245,"byte_end":118256,"line_start":405,"line_end":405,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217924}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118262,"byte_end":118271,"line_start":405,"line_end":405,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2214592708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118347,"byte_end":118358,"line_start":409,"line_end":409,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536871108}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118390,"byte_end":118397,"line_start":410,"line_end":410,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118381,"byte_end":118388,"line_start":410,"line_end":410,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118390,"byte_end":118397,"line_start":410,"line_end":410,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118381,"byte_end":118388,"line_start":410,"line_end":410,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118422,"byte_end":118436,"line_start":411,"line_end":411,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":4261413060}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118464,"byte_end":118465,"line_start":412,"line_end":412,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3774873796}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118499,"byte_end":118502,"line_start":413,"line_end":413,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118513,"byte_end":118516,"line_start":413,"line_end":413,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118503,"byte_end":118511,"line_start":413,"line_end":413,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118651,"byte_end":118652,"line_start":417,"line_end":417,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3774873796}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118664,"byte_end":118668,"line_start":417,"line_end":417,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118660,"byte_end":118663,"line_start":417,"line_end":417,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118700,"byte_end":118703,"line_start":418,"line_end":418,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118714,"byte_end":118717,"line_start":418,"line_end":418,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118704,"byte_end":118712,"line_start":418,"line_end":418,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118866,"byte_end":118872,"line_start":422,"line_end":422,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118854,"byte_end":118865,"line_start":422,"line_end":422,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118898,"byte_end":118904,"line_start":422,"line_end":422,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118884,"byte_end":118895,"line_start":422,"line_end":422,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118874,"byte_end":118875,"line_start":422,"line_end":422,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3774873796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118925,"byte_end":118926,"line_start":423,"line_end":423,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3774873796}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118969,"byte_end":118974,"line_start":425,"line_end":425,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118960,"byte_end":118967,"line_start":425,"line_end":425,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118969,"byte_end":118974,"line_start":425,"line_end":425,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118960,"byte_end":118967,"line_start":425,"line_end":425,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118999,"byte_end":119013,"line_start":426,"line_end":426,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":4261413060}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119041,"byte_end":119042,"line_start":427,"line_end":427,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3405775044}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119078,"byte_end":119081,"line_start":428,"line_end":428,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119092,"byte_end":119095,"line_start":428,"line_end":428,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119082,"byte_end":119090,"line_start":428,"line_end":428,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119230,"byte_end":119231,"line_start":432,"line_end":432,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3405775044}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119243,"byte_end":119247,"line_start":432,"line_end":432,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119239,"byte_end":119242,"line_start":432,"line_end":432,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119279,"byte_end":119282,"line_start":433,"line_end":433,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119293,"byte_end":119296,"line_start":433,"line_end":433,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119283,"byte_end":119291,"line_start":433,"line_end":433,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119446,"byte_end":119452,"line_start":438,"line_end":438,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119434,"byte_end":119445,"line_start":438,"line_end":438,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119478,"byte_end":119484,"line_start":438,"line_end":438,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119464,"byte_end":119475,"line_start":438,"line_end":438,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119454,"byte_end":119455,"line_start":438,"line_end":438,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3405775044}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119505,"byte_end":119506,"line_start":439,"line_end":439,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3405775044}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119575,"byte_end":119581,"line_start":442,"line_end":442,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119563,"byte_end":119574,"line_start":442,"line_end":442,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119601,"byte_end":119607,"line_start":442,"line_end":442,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119587,"byte_end":119598,"line_start":442,"line_end":442,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119688,"byte_end":119699,"line_start":447,"line_end":447,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":536871108}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119734,"byte_end":119740,"line_start":448,"line_end":448,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119725,"byte_end":119732,"line_start":448,"line_end":448,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119734,"byte_end":119740,"line_start":448,"line_end":448,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119725,"byte_end":119732,"line_start":448,"line_end":448,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119799,"byte_end":119809,"line_start":449,"line_end":449,"column_start":47,"column_end":57},"ref_id":{"krate":4,"index":5559}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119791,"byte_end":119796,"line_start":449,"line_end":449,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119785,"byte_end":119790,"line_start":449,"line_end":449,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3967811780}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119842,"byte_end":119845,"line_start":450,"line_end":450,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119832,"byte_end":119841,"line_start":450,"line_end":450,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1115685060}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119855,"byte_end":119858,"line_start":450,"line_end":450,"column_start":43,"column_end":46},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119901,"byte_end":119904,"line_start":451,"line_end":451,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119915,"byte_end":119918,"line_start":451,"line_end":451,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119905,"byte_end":119913,"line_start":451,"line_end":451,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120072,"byte_end":120078,"line_start":455,"line_end":455,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120060,"byte_end":120071,"line_start":455,"line_end":455,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120124,"byte_end":120130,"line_start":455,"line_end":455,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120110,"byte_end":120121,"line_start":455,"line_end":455,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120091,"byte_end":120094,"line_start":455,"line_end":455,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120081,"byte_end":120090,"line_start":455,"line_end":455,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1115685060}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120163,"byte_end":120169,"line_start":456,"line_end":456,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120151,"byte_end":120162,"line_start":456,"line_end":456,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120170,"byte_end":120179,"line_start":456,"line_end":456,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":1115685060}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120198,"byte_end":120202,"line_start":457,"line_end":457,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120209,"byte_end":120218,"line_start":457,"line_end":457,"column_start":28,"column_end":37},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120203,"byte_end":120208,"line_start":457,"line_end":457,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3967811780}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120283,"byte_end":120289,"line_start":460,"line_end":460,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120271,"byte_end":120282,"line_start":460,"line_end":460,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217924}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120309,"byte_end":120315,"line_start":460,"line_end":460,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120295,"byte_end":120306,"line_start":460,"line_end":460,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120336,"byte_end":120340,"line_start":461,"line_end":461,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120390,"byte_end":120393,"line_start":465,"line_end":465,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120405,"byte_end":120408,"line_start":465,"line_end":465,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120400,"byte_end":120403,"line_start":465,"line_end":465,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120431,"byte_end":120438,"line_start":467,"line_end":467,"column_start":19,"column_end":26},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120431,"byte_end":120432,"line_start":467,"line_end":467,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120434,"byte_end":120438,"line_start":467,"line_end":467,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120434,"byte_end":120438,"line_start":467,"line_end":467,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1954545860}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120459,"byte_end":120463,"line_start":468,"line_end":468,"column_start":19,"column_end":23},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120453,"byte_end":120458,"line_start":468,"line_end":468,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2239758532}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120495,"byte_end":120499,"line_start":471,"line_end":471,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120488,"byte_end":120494,"line_start":471,"line_end":471,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742020}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120500,"byte_end":120516,"line_start":471,"line_end":471,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120531,"byte_end":120534,"line_start":472,"line_end":472,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120539,"byte_end":120543,"line_start":472,"line_end":472,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1954545860}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120581,"byte_end":120586,"line_start":473,"line_end":473,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120566,"byte_end":120579,"line_start":473,"line_end":473,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120587,"byte_end":120591,"line_start":473,"line_end":473,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1954545860}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120652,"byte_end":120659,"line_start":475,"line_end":475,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120637,"byte_end":120650,"line_start":475,"line_end":475,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120687,"byte_end":120688,"line_start":477,"line_end":477,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120703,"byte_end":120713,"line_start":477,"line_end":477,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120690,"byte_end":120701,"line_start":477,"line_end":477,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120727,"byte_end":120735,"line_start":478,"line_end":478,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120737,"byte_end":120751,"line_start":478,"line_end":478,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":4261413060}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120765,"byte_end":120769,"line_start":479,"line_end":479,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120777,"byte_end":120780,"line_start":479,"line_end":479,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120772,"byte_end":120775,"line_start":479,"line_end":479,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120804,"byte_end":120818,"line_start":479,"line_end":479,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120821,"byte_end":120825,"line_start":479,"line_end":479,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120821,"byte_end":120825,"line_start":479,"line_end":479,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1954545860}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120827,"byte_end":120834,"line_start":479,"line_end":479,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120827,"byte_end":120834,"line_start":479,"line_end":479,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2843738308}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120836,"byte_end":120840,"line_start":479,"line_end":479,"column_start":84,"column_end":88},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120842,"byte_end":120851,"line_start":479,"line_end":479,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":2214592708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120853,"byte_end":120858,"line_start":479,"line_end":479,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120853,"byte_end":120858,"line_start":479,"line_end":479,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":2239758532}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120905,"byte_end":120907,"line_start":482,"line_end":482,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120909,"byte_end":120923,"line_start":482,"line_end":482,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":4261413060}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120925,"byte_end":120936,"line_start":482,"line_end":482,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":134217924}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120938,"byte_end":120944,"line_start":482,"line_end":482,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742020}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120993,"byte_end":121002,"line_start":485,"line_end":485,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121020,"byte_end":121029,"line_start":485,"line_end":485,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121034,"byte_end":121041,"line_start":485,"line_end":485,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121065,"byte_end":121075,"line_start":487,"line_end":487,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121076,"byte_end":121082,"line_start":487,"line_end":487,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871109}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121084,"byte_end":121090,"line_start":487,"line_end":487,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610612933}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121106,"byte_end":121108,"line_start":488,"line_end":488,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121106,"byte_end":121108,"line_start":488,"line_end":488,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121121,"byte_end":121122,"line_start":488,"line_end":488,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":2281701573}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121141,"byte_end":121145,"line_start":489,"line_end":489,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121141,"byte_end":121145,"line_start":489,"line_end":489,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121161,"byte_end":121167,"line_start":489,"line_end":489,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121152,"byte_end":121159,"line_start":489,"line_end":489,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121170,"byte_end":121179,"line_start":489,"line_end":489,"column_start":46,"column_end":55},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121168,"byte_end":121169,"line_start":489,"line_end":489,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3892314309}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121200,"byte_end":121204,"line_start":490,"line_end":490,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121200,"byte_end":121204,"line_start":490,"line_end":490,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121261,"byte_end":121271,"line_start":491,"line_end":491,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121254,"byte_end":121260,"line_start":491,"line_end":491,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610612933}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121272,"byte_end":121278,"line_start":491,"line_end":491,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":536871109}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121279,"byte_end":121290,"line_start":491,"line_end":491,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121292,"byte_end":121296,"line_start":491,"line_end":491,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121307,"byte_end":121321,"line_start":491,"line_end":491,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121374,"byte_end":121378,"line_start":493,"line_end":493,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3959423173}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121379,"byte_end":121386,"line_start":493,"line_end":493,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121413,"byte_end":121417,"line_start":494,"line_end":494,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121413,"byte_end":121417,"line_start":494,"line_end":494,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121433,"byte_end":121439,"line_start":494,"line_end":494,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121424,"byte_end":121431,"line_start":494,"line_end":494,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121442,"byte_end":121451,"line_start":494,"line_end":494,"column_start":54,"column_end":63},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121440,"byte_end":121441,"line_start":494,"line_end":494,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":3154116805}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121480,"byte_end":121484,"line_start":495,"line_end":495,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121480,"byte_end":121484,"line_start":495,"line_end":495,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121497,"byte_end":121501,"line_start":495,"line_end":495,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121488,"byte_end":121495,"line_start":495,"line_end":495,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121594,"byte_end":121597,"line_start":500,"line_end":500,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121594,"byte_end":121597,"line_start":500,"line_end":500,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121614,"byte_end":121618,"line_start":500,"line_end":500,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121605,"byte_end":121612,"line_start":500,"line_end":500,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121705,"byte_end":121708,"line_start":504,"line_end":504,"column_start":65,"column_end":68},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121709,"byte_end":121725,"line_start":504,"line_end":504,"column_start":69,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121731,"byte_end":121737,"line_start":504,"line_end":504,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121771,"byte_end":121784,"line_start":505,"line_end":505,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121760,"byte_end":121769,"line_start":505,"line_end":505,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":173}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121788,"byte_end":121799,"line_start":505,"line_end":505,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":536871110}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121801,"byte_end":121807,"line_start":505,"line_end":505,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610612934}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121823,"byte_end":121827,"line_start":506,"line_end":506,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121823,"byte_end":121827,"line_start":506,"line_end":506,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121834,"byte_end":121838,"line_start":506,"line_end":506,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121847,"byte_end":121851,"line_start":506,"line_end":506,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121839,"byte_end":121845,"line_start":506,"line_end":506,"column_start":29,"column_end":35},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121852,"byte_end":121853,"line_start":506,"line_end":506,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3355443398}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121869,"byte_end":121873,"line_start":507,"line_end":507,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121869,"byte_end":121873,"line_start":507,"line_end":507,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121877,"byte_end":121881,"line_start":507,"line_end":507,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":173}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121916,"byte_end":121925,"line_start":514,"line_end":514,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122036,"byte_end":122041,"line_start":515,"line_end":515,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121990,"byte_end":122006,"line_start":515,"line_end":515,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122011,"byte_end":122017,"line_start":515,"line_end":515,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122052,"byte_end":122056,"line_start":516,"line_end":516,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122093,"byte_end":122102,"line_start":518,"line_end":518,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122114,"byte_end":122123,"line_start":518,"line_end":518,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122128,"byte_end":122134,"line_start":518,"line_end":518,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122151,"byte_end":122155,"line_start":519,"line_end":519,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122193,"byte_end":122202,"line_start":522,"line_end":522,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122214,"byte_end":122223,"line_start":522,"line_end":522,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122228,"byte_end":122234,"line_start":522,"line_end":522,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122251,"byte_end":122255,"line_start":523,"line_end":523,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":173}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122278,"byte_end":122286,"line_start":527,"line_end":527,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122355,"byte_end":122366,"line_start":529,"line_end":529,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122378,"byte_end":122386,"line_start":529,"line_end":529,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122370,"byte_end":122376,"line_start":529,"line_end":529,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122436,"byte_end":122447,"line_start":530,"line_end":530,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122469,"byte_end":122482,"line_start":530,"line_end":530,"column_start":79,"column_end":92},"ref_id":{"krate":0,"index":1726}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122459,"byte_end":122466,"line_start":530,"line_end":530,"column_start":69,"column_end":76},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122451,"byte_end":122457,"line_start":530,"line_end":530,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122520,"byte_end":122523,"line_start":532,"line_end":532,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122524,"byte_end":122540,"line_start":532,"line_end":532,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122562,"byte_end":122568,"line_start":532,"line_end":532,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122569,"byte_end":122576,"line_start":532,"line_end":532,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122578,"byte_end":122586,"line_start":532,"line_end":532,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122606,"byte_end":122620,"line_start":533,"line_end":533,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122598,"byte_end":122604,"line_start":533,"line_end":533,"column_start":9,"column_end":15},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":122621,"byte_end":122628,"line_start":533,"line_end":533,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1073742032}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":122630,"byte_end":122638,"line_start":533,"line_end":533,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":536871120}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122820,"byte_end":122825,"line_start":536,"line_end":536,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122717,"byte_end":122726,"line_start":536,"line_end":536,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122743,"byte_end":122752,"line_start":536,"line_end":536,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122767,"byte_end":122774,"line_start":536,"line_end":536,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122780,"byte_end":122786,"line_start":536,"line_end":536,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122791,"byte_end":122799,"line_start":536,"line_end":536,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122837,"byte_end":122839,"line_start":538,"line_end":538,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122981,"byte_end":122986,"line_start":541,"line_end":541,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122882,"byte_end":122891,"line_start":541,"line_end":541,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122907,"byte_end":122916,"line_start":541,"line_end":541,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122934,"byte_end":122940,"line_start":541,"line_end":541,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122941,"byte_end":122950,"line_start":541,"line_end":541,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122952,"byte_end":122960,"line_start":541,"line_end":541,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123024,"byte_end":123033,"line_start":543,"line_end":543,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123017,"byte_end":123023,"line_start":543,"line_end":543,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123034,"byte_end":123040,"line_start":543,"line_end":543,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871123}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123085,"byte_end":123095,"line_start":545,"line_end":545,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123078,"byte_end":123084,"line_start":545,"line_end":545,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123096,"byte_end":123102,"line_start":545,"line_end":545,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123103,"byte_end":123114,"line_start":545,"line_end":545,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123116,"byte_end":123120,"line_start":545,"line_end":545,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123131,"byte_end":123145,"line_start":545,"line_end":545,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123179,"byte_end":123183,"line_start":547,"line_end":547,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1677721811}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123184,"byte_end":123188,"line_start":547,"line_end":547,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123190,"byte_end":123194,"line_start":547,"line_end":547,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1677721811}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123195,"byte_end":123199,"line_start":547,"line_end":547,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3640}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123233,"byte_end":123241,"line_start":549,"line_end":549,"column_start":31,"column_end":39},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123227,"byte_end":123232,"line_start":549,"line_end":549,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610612947}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123269,"byte_end":123275,"line_start":551,"line_end":551,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123291,"byte_end":123295,"line_start":552,"line_end":552,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":2348810451}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123323,"byte_end":123332,"line_start":553,"line_end":553,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123310,"byte_end":123321,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123323,"byte_end":123332,"line_start":553,"line_end":553,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3483}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123310,"byte_end":123321,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123370,"byte_end":123374,"line_start":554,"line_end":554,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123362,"byte_end":123368,"line_start":554,"line_end":554,"column_start":25,"column_end":31},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123375,"byte_end":123380,"line_start":554,"line_end":554,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":1610612947}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123354,"byte_end":123359,"line_start":554,"line_end":554,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123405,"byte_end":123425,"line_start":555,"line_end":555,"column_start":23,"column_end":43},"ref_id":{"krate":1,"index":12741}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123399,"byte_end":123404,"line_start":555,"line_end":555,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123459,"byte_end":123467,"line_start":556,"line_end":556,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123453,"byte_end":123458,"line_start":556,"line_end":556,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123445,"byte_end":123450,"line_start":556,"line_end":556,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123511,"byte_end":123520,"line_start":558,"line_end":558,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123498,"byte_end":123509,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123511,"byte_end":123520,"line_start":558,"line_end":558,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3480}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123498,"byte_end":123509,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123558,"byte_end":123562,"line_start":559,"line_end":559,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123550,"byte_end":123556,"line_start":559,"line_end":559,"column_start":25,"column_end":31},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123563,"byte_end":123568,"line_start":559,"line_end":559,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":1610612947}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123542,"byte_end":123547,"line_start":559,"line_end":559,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123593,"byte_end":123613,"line_start":560,"line_end":560,"column_start":23,"column_end":43},"ref_id":{"krate":1,"index":12742}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123587,"byte_end":123592,"line_start":560,"line_end":560,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123647,"byte_end":123655,"line_start":561,"line_end":561,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123641,"byte_end":123646,"line_start":561,"line_end":561,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2080374995}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123633,"byte_end":123638,"line_start":561,"line_end":561,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123738,"byte_end":123741,"line_start":566,"line_end":566,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123732,"byte_end":123737,"line_start":566,"line_end":566,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123766,"byte_end":123770,"line_start":568,"line_end":568,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":201326803}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123839,"byte_end":123853,"line_start":571,"line_end":571,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123829,"byte_end":123836,"line_start":571,"line_end":571,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1207959763}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123937,"byte_end":123950,"line_start":573,"line_end":573,"column_start":39,"column_end":52},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123930,"byte_end":123936,"line_start":573,"line_end":573,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123952,"byte_end":123956,"line_start":573,"line_end":573,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1677721811}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123957,"byte_end":123962,"line_start":573,"line_end":573,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3641}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124020,"byte_end":124034,"line_start":574,"line_end":574,"column_start":46,"column_end":60},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123998,"byte_end":124011,"line_start":574,"line_end":574,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123991,"byte_end":123997,"line_start":574,"line_end":574,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124012,"byte_end":124018,"line_start":574,"line_end":574,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124035,"byte_end":124043,"line_start":574,"line_end":574,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":3976200403}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124101,"byte_end":124115,"line_start":577,"line_end":577,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124091,"byte_end":124098,"line_start":577,"line_end":577,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1207959763}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124165,"byte_end":124176,"line_start":578,"line_end":578,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124158,"byte_end":124164,"line_start":578,"line_end":578,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871123}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":124206,"byte_end":124224,"line_start":580,"line_end":580,"column_start":22,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124206,"byte_end":124207,"line_start":580,"line_end":580,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124209,"byte_end":124224,"line_start":580,"line_end":580,"column_start":25,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124210,"byte_end":124214,"line_start":580,"line_end":580,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":201326803}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124246,"byte_end":124247,"line_start":581,"line_end":581,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2801795283}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124256,"byte_end":124259,"line_start":581,"line_end":581,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124250,"byte_end":124255,"line_start":581,"line_end":581,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124356,"byte_end":124361,"line_start":583,"line_end":583,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124362,"byte_end":124363,"line_start":583,"line_end":583,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":2801795283}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124330,"byte_end":124341,"line_start":583,"line_end":583,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3674210515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124343,"byte_end":124347,"line_start":583,"line_end":583,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":721420499}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124350,"byte_end":124351,"line_start":583,"line_end":583,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":2801795283}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124454,"byte_end":124465,"line_start":586,"line_end":586,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3674210515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124467,"byte_end":124471,"line_start":586,"line_end":586,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":721420499}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124474,"byte_end":124475,"line_start":586,"line_end":586,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":2801795283}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":124540,"byte_end":124542,"line_start":590,"line_end":590,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124543,"byte_end":124549,"line_start":590,"line_end":590,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124627,"byte_end":124641,"line_start":594,"line_end":594,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124617,"byte_end":124624,"line_start":594,"line_end":594,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959763}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124693,"byte_end":124703,"line_start":596,"line_end":596,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2625634515}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124781,"byte_end":124790,"line_start":597,"line_end":597,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124757,"byte_end":124768,"line_start":597,"line_end":597,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124750,"byte_end":124756,"line_start":597,"line_end":597,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124769,"byte_end":124779,"line_start":597,"line_end":597,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2625634515}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124818,"byte_end":124831,"line_start":598,"line_end":598,"column_start":18,"column_end":31},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124833,"byte_end":124843,"line_start":598,"line_end":598,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":444596435}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124921,"byte_end":124930,"line_start":603,"line_end":603,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":1988100307}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124934,"byte_end":124942,"line_start":603,"line_end":603,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":822083795}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125096,"byte_end":125104,"line_start":607,"line_end":607,"column_start":16,"column_end":24},"ref_id":{"krate":0,"index":822083795}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125118,"byte_end":125121,"line_start":607,"line_end":607,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125107,"byte_end":125111,"line_start":607,"line_end":607,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125113,"byte_end":125116,"line_start":607,"line_end":607,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125156,"byte_end":125159,"line_start":608,"line_end":608,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125170,"byte_end":125173,"line_start":608,"line_end":608,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125160,"byte_end":125168,"line_start":608,"line_end":608,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125258,"byte_end":125269,"line_start":610,"line_end":610,"column_start":48,"column_end":59},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125241,"byte_end":125249,"line_start":610,"line_end":610,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":822083795}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125311,"byte_end":125322,"line_start":612,"line_end":612,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125304,"byte_end":125310,"line_start":612,"line_end":612,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871123}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125379,"byte_end":125398,"line_start":615,"line_end":615,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125379,"byte_end":125380,"line_start":615,"line_end":615,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125382,"byte_end":125398,"line_start":615,"line_end":615,"column_start":25,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125393,"byte_end":125396,"line_start":615,"line_end":615,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125382,"byte_end":125392,"line_start":615,"line_end":615,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3649044691}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125449,"byte_end":125459,"line_start":616,"line_end":616,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":3649044691}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125460,"byte_end":125461,"line_start":616,"line_end":616,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":3581935827}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125417,"byte_end":125428,"line_start":616,"line_end":616,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1166016723}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125430,"byte_end":125440,"line_start":616,"line_end":616,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2625634515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125443,"byte_end":125444,"line_start":616,"line_end":616,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3581935827}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125558,"byte_end":125572,"line_start":622,"line_end":622,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125558,"byte_end":125559,"line_start":622,"line_end":622,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125561,"byte_end":125572,"line_start":622,"line_end":622,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125567,"byte_end":125570,"line_start":622,"line_end":622,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125561,"byte_end":125566,"line_start":622,"line_end":622,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125641,"byte_end":125646,"line_start":623,"line_end":623,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125647,"byte_end":125648,"line_start":623,"line_end":623,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2071986387}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125591,"byte_end":125602,"line_start":623,"line_end":623,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1166016723}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125604,"byte_end":125614,"line_start":623,"line_end":623,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2625634515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125617,"byte_end":125618,"line_start":623,"line_end":623,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2071986387}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125621,"byte_end":125627,"line_start":623,"line_end":623,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2877292755}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125689,"byte_end":125691,"line_start":626,"line_end":626,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125692,"byte_end":125698,"line_start":626,"line_end":626,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125883,"byte_end":125891,"line_start":632,"line_end":632,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":822083795}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125905,"byte_end":125908,"line_start":632,"line_end":632,"column_start":42,"column_end":45},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125894,"byte_end":125898,"line_start":632,"line_end":632,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125900,"byte_end":125903,"line_start":632,"line_end":632,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125947,"byte_end":125950,"line_start":633,"line_end":633,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125961,"byte_end":125964,"line_start":633,"line_end":633,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125951,"byte_end":125959,"line_start":633,"line_end":633,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126057,"byte_end":126068,"line_start":635,"line_end":635,"column_start":52,"column_end":63},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126040,"byte_end":126048,"line_start":635,"line_end":635,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":822083795}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126095,"byte_end":126108,"line_start":636,"line_end":636,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126088,"byte_end":126094,"line_start":636,"line_end":636,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126110,"byte_end":126120,"line_start":636,"line_end":636,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":473956563}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126184,"byte_end":126198,"line_start":639,"line_end":639,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126162,"byte_end":126175,"line_start":639,"line_end":639,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126155,"byte_end":126161,"line_start":639,"line_end":639,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126176,"byte_end":126182,"line_start":639,"line_end":639,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126199,"byte_end":126207,"line_start":639,"line_end":639,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":3393192147}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126241,"byte_end":126254,"line_start":641,"line_end":641,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126234,"byte_end":126240,"line_start":641,"line_end":641,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871123}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126255,"byte_end":126260,"line_start":641,"line_end":641,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":2617245907}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126288,"byte_end":126290,"line_start":643,"line_end":643,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126291,"byte_end":126297,"line_start":643,"line_end":643,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742035}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126388,"byte_end":126391,"line_start":647,"line_end":647,"column_start":72,"column_end":75},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126392,"byte_end":126408,"line_start":647,"line_end":647,"column_start":76,"column_end":92},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126414,"byte_end":126420,"line_start":647,"line_end":647,"column_start":98,"column_end":104},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126461,"byte_end":126467,"line_start":648,"line_end":648,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612952}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126468,"byte_end":126479,"line_start":648,"line_end":648,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":536871128}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126481,"byte_end":126485,"line_start":648,"line_end":648,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126496,"byte_end":126510,"line_start":648,"line_end":648,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126531,"byte_end":126535,"line_start":650,"line_end":650,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":402653400}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126536,"byte_end":126543,"line_start":650,"line_end":650,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3638}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126558,"byte_end":126562,"line_start":651,"line_end":651,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126558,"byte_end":126562,"line_start":651,"line_end":651,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126569,"byte_end":126573,"line_start":651,"line_end":651,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126574,"byte_end":126575,"line_start":651,"line_end":651,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2013266136}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126590,"byte_end":126594,"line_start":652,"line_end":652,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126590,"byte_end":126594,"line_start":652,"line_end":652,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126598,"byte_end":126602,"line_start":652,"line_end":652,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126681,"byte_end":126684,"line_start":657,"line_end":657,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126685,"byte_end":126701,"line_start":657,"line_end":657,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126723,"byte_end":126729,"line_start":657,"line_end":657,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126730,"byte_end":126736,"line_start":657,"line_end":657,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126738,"byte_end":126746,"line_start":657,"line_end":657,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126758,"byte_end":126760,"line_start":658,"line_end":658,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126769,"byte_end":126773,"line_start":658,"line_end":658,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126761,"byte_end":126767,"line_start":658,"line_end":658,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126857,"byte_end":126860,"line_start":662,"line_end":662,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126861,"byte_end":126877,"line_start":662,"line_end":662,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126900,"byte_end":126909,"line_start":662,"line_end":662,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126919,"byte_end":126922,"line_start":662,"line_end":662,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126923,"byte_end":126929,"line_start":662,"line_end":662,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126935,"byte_end":126941,"line_start":662,"line_end":662,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126949,"byte_end":126952,"line_start":662,"line_end":662,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126958,"byte_end":126961,"line_start":662,"line_end":662,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126962,"byte_end":126978,"line_start":662,"line_end":662,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126982,"byte_end":126990,"line_start":662,"line_end":662,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127008,"byte_end":127027,"line_start":663,"line_end":663,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127028,"byte_end":127034,"line_start":663,"line_end":663,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742042}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127055,"byte_end":127059,"line_start":663,"line_end":663,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127046,"byte_end":127053,"line_start":663,"line_end":663,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127180,"byte_end":127185,"line_start":666,"line_end":666,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127096,"byte_end":127105,"line_start":666,"line_end":666,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127123,"byte_end":127132,"line_start":666,"line_end":666,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127137,"byte_end":127143,"line_start":666,"line_end":666,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127144,"byte_end":127150,"line_start":666,"line_end":666,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127158,"byte_end":127166,"line_start":666,"line_end":666,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127223,"byte_end":127232,"line_start":668,"line_end":668,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127216,"byte_end":127222,"line_start":668,"line_end":668,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742043}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127233,"byte_end":127239,"line_start":668,"line_end":668,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871131}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127280,"byte_end":127294,"line_start":670,"line_end":670,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127270,"byte_end":127277,"line_start":670,"line_end":670,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134217947}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127341,"byte_end":127351,"line_start":672,"line_end":672,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127378,"byte_end":127380,"line_start":673,"line_end":673,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127381,"byte_end":127385,"line_start":673,"line_end":673,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127438,"byte_end":127448,"line_start":676,"line_end":676,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127431,"byte_end":127437,"line_start":676,"line_end":676,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871131}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127449,"byte_end":127455,"line_start":676,"line_end":676,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742043}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127456,"byte_end":127467,"line_start":676,"line_end":676,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127469,"byte_end":127473,"line_start":676,"line_end":676,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127484,"byte_end":127498,"line_start":676,"line_end":676,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127515,"byte_end":127519,"line_start":678,"line_end":678,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4227858651}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127520,"byte_end":127524,"line_start":678,"line_end":678,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3639}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127615,"byte_end":127625,"line_start":682,"line_end":682,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127608,"byte_end":127614,"line_start":682,"line_end":682,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871131}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127628,"byte_end":127677,"line_start":682,"line_end":682,"column_start":46,"column_end":95},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127628,"byte_end":127640,"line_start":682,"line_end":682,"column_start":46,"column_end":58},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127629,"byte_end":127639,"line_start":682,"line_end":682,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127642,"byte_end":127677,"line_start":682,"line_end":682,"column_start":60,"column_end":95},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127643,"byte_end":127653,"line_start":682,"line_end":682,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127657,"byte_end":127661,"line_start":682,"line_end":682,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":4227858651}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127662,"byte_end":127666,"line_start":682,"line_end":682,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":3639}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127700,"byte_end":127702,"line_start":684,"line_end":684,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127703,"byte_end":127707,"line_start":684,"line_end":684,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127722,"byte_end":127741,"line_start":684,"line_end":684,"column_start":42,"column_end":61},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":127717,"byte_end":127720,"line_start":684,"line_end":684,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127742,"byte_end":127747,"line_start":684,"line_end":684,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":973078747}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127874,"byte_end":127887,"line_start":689,"line_end":689,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127920,"byte_end":127929,"line_start":689,"line_end":689,"column_start":88,"column_end":97},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127896,"byte_end":127907,"line_start":689,"line_end":689,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127889,"byte_end":127895,"line_start":689,"line_end":689,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536871131}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127908,"byte_end":127918,"line_start":689,"line_end":689,"column_start":76,"column_end":86},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128010,"byte_end":128020,"line_start":692,"line_end":692,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128003,"byte_end":128009,"line_start":692,"line_end":692,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871131}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128023,"byte_end":128070,"line_start":692,"line_end":692,"column_start":46,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128023,"byte_end":128039,"line_start":692,"line_end":692,"column_start":46,"column_end":62},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128024,"byte_end":128034,"line_start":692,"line_end":692,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128041,"byte_end":128070,"line_start":692,"line_end":692,"column_start":64,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128042,"byte_end":128052,"line_start":692,"line_end":692,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3623878875}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128059,"byte_end":128069,"line_start":692,"line_end":692,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":2432696539}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128093,"byte_end":128095,"line_start":694,"line_end":694,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128096,"byte_end":128100,"line_start":694,"line_end":694,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128115,"byte_end":128134,"line_start":694,"line_end":694,"column_start":42,"column_end":61},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":128110,"byte_end":128113,"line_start":694,"line_end":694,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128135,"byte_end":128140,"line_start":694,"line_end":694,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":83886299}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128211,"byte_end":128220,"line_start":700,"line_end":700,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128238,"byte_end":128247,"line_start":700,"line_end":700,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128252,"byte_end":128259,"line_start":700,"line_end":700,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128278,"byte_end":128285,"line_start":701,"line_end":701,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128270,"byte_end":128276,"line_start":701,"line_end":701,"column_start":9,"column_end":15},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128286,"byte_end":128291,"line_start":701,"line_end":701,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1073742046}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128293,"byte_end":128299,"line_start":701,"line_end":701,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871134}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128301,"byte_end":128307,"line_start":701,"line_end":701,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610612958}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128354,"byte_end":128363,"line_start":704,"line_end":704,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128374,"byte_end":128383,"line_start":704,"line_end":704,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128388,"byte_end":128394,"line_start":704,"line_end":704,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128402,"byte_end":128410,"line_start":704,"line_end":704,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128430,"byte_end":128438,"line_start":705,"line_end":705,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128422,"byte_end":128428,"line_start":705,"line_end":705,"column_start":9,"column_end":15},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128439,"byte_end":128444,"line_start":705,"line_end":705,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742047}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128446,"byte_end":128452,"line_start":705,"line_end":705,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871135}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128454,"byte_end":128460,"line_start":705,"line_end":705,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610612959}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128504,"byte_end":128507,"line_start":708,"line_end":708,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128508,"byte_end":128524,"line_start":708,"line_end":708,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128546,"byte_end":128553,"line_start":708,"line_end":708,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128559,"byte_end":128565,"line_start":708,"line_end":708,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128573,"byte_end":128576,"line_start":708,"line_end":708,"column_start":105,"column_end":108},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128582,"byte_end":128585,"line_start":708,"line_end":708,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128586,"byte_end":128602,"line_start":708,"line_end":708,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128606,"byte_end":128614,"line_start":708,"line_end":708,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128634,"byte_end":128653,"line_start":709,"line_end":709,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128626,"byte_end":128632,"line_start":709,"line_end":709,"column_start":9,"column_end":15},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128654,"byte_end":128660,"line_start":709,"line_end":709,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742048}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128662,"byte_end":128674,"line_start":709,"line_end":709,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":536871136}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128720,"byte_end":128723,"line_start":713,"line_end":713,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128724,"byte_end":128740,"line_start":713,"line_end":713,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128785,"byte_end":128788,"line_start":713,"line_end":713,"column_start":102,"column_end":105},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128789,"byte_end":128805,"line_start":713,"line_end":713,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128826,"byte_end":128846,"line_start":714,"line_end":714,"column_start":17,"column_end":37},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128818,"byte_end":128824,"line_start":714,"line_end":714,"column_start":9,"column_end":15},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128847,"byte_end":128853,"line_start":714,"line_end":714,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742049}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128855,"byte_end":128863,"line_start":714,"line_end":714,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":536871137}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128865,"byte_end":128871,"line_start":714,"line_end":714,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610612961}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57351,"byte_end":57356,"line_start":16,"line_end":16,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":226}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134416,"byte_end":134421,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134424,"byte_end":134430,"line_start":19,"line_end":19,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134416,"byte_end":134421,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134440,"byte_end":134444,"line_start":19,"line_end":19,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134464,"byte_end":134467,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134464,"byte_end":134467,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134490,"byte_end":134499,"line_start":20,"line_end":20,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134571,"byte_end":134576,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134578,"byte_end":134583,"line_start":21,"line_end":21,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134607,"byte_end":134613,"line_start":22,"line_end":22,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134630,"byte_end":134637,"line_start":22,"line_end":22,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134649,"byte_end":134658,"line_start":22,"line_end":22,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134675,"byte_end":134680,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134682,"byte_end":134685,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134696,"byte_end":134701,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134703,"byte_end":134708,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134719,"byte_end":134724,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134727,"byte_end":134733,"line_start":26,"line_end":26,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134749,"byte_end":134754,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134773,"byte_end":134778,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134795,"byte_end":134800,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134802,"byte_end":134808,"line_start":29,"line_end":29,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134883,"byte_end":134886,"line_start":33,"line_end":33,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":289}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135014,"byte_end":135023,"line_start":40,"line_end":40,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135007,"byte_end":135012,"line_start":40,"line_end":40,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135124,"byte_end":135129,"line_start":41,"line_end":41,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135078,"byte_end":135094,"line_start":41,"line_end":41,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135099,"byte_end":135105,"line_start":41,"line_end":41,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135164,"byte_end":135170,"line_start":42,"line_end":42,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742118}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135171,"byte_end":135175,"line_start":42,"line_end":42,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135186,"byte_end":135199,"line_start":42,"line_end":42,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135213,"byte_end":135217,"line_start":44,"line_end":44,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135221,"byte_end":135225,"line_start":44,"line_end":44,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":2281701670}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135226,"byte_end":135230,"line_start":44,"line_end":44,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3648}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135260,"byte_end":135263,"line_start":45,"line_end":45,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135275,"byte_end":135288,"line_start":45,"line_end":45,"column_start":39,"column_end":52},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135270,"byte_end":135273,"line_start":45,"line_end":45,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135289,"byte_end":135293,"line_start":45,"line_end":45,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":2281701670}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135294,"byte_end":135298,"line_start":45,"line_end":45,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3648}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135332,"byte_end":135344,"line_start":46,"line_end":46,"column_start":23,"column_end":35},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135332,"byte_end":135333,"line_start":46,"line_end":46,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135335,"byte_end":135344,"line_start":46,"line_end":46,"column_start":26,"column_end":35},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135335,"byte_end":135339,"line_start":46,"line_end":46,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2281701670}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135340,"byte_end":135344,"line_start":46,"line_end":46,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135365,"byte_end":135369,"line_start":47,"line_end":47,"column_start":19,"column_end":23},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135363,"byte_end":135364,"line_start":47,"line_end":47,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3556770086}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135402,"byte_end":135403,"line_start":49,"line_end":49,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3556770086}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135438,"byte_end":135441,"line_start":51,"line_end":51,"column_start":18,"column_end":21},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135433,"byte_end":135436,"line_start":51,"line_end":51,"column_start":13,"column_end":16},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135501,"byte_end":135510,"line_start":56,"line_end":56,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135521,"byte_end":135530,"line_start":56,"line_end":56,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135535,"byte_end":135541,"line_start":56,"line_end":56,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135589,"byte_end":135599,"line_start":57,"line_end":57,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135582,"byte_end":135588,"line_start":57,"line_end":57,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871207}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135600,"byte_end":135606,"line_start":57,"line_end":57,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742119}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135607,"byte_end":135618,"line_start":57,"line_end":57,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135620,"byte_end":135624,"line_start":57,"line_end":57,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135635,"byte_end":135648,"line_start":57,"line_end":57,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135673,"byte_end":135677,"line_start":59,"line_end":59,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653479}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135678,"byte_end":135682,"line_start":59,"line_end":59,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135696,"byte_end":135700,"line_start":61,"line_end":61,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266215}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135720,"byte_end":135724,"line_start":62,"line_end":62,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135769,"byte_end":135772,"line_start":64,"line_end":64,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135784,"byte_end":135797,"line_start":64,"line_end":64,"column_start":43,"column_end":56},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135779,"byte_end":135782,"line_start":64,"line_end":64,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135798,"byte_end":135802,"line_start":64,"line_end":64,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2013266215}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135837,"byte_end":135844,"line_start":66,"line_end":66,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135837,"byte_end":135838,"line_start":66,"line_end":66,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135840,"byte_end":135844,"line_start":66,"line_end":66,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135840,"byte_end":135844,"line_start":66,"line_end":66,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266215}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135869,"byte_end":135873,"line_start":67,"line_end":67,"column_start":23,"column_end":27},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135863,"byte_end":135868,"line_start":67,"line_end":67,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":469762343}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135907,"byte_end":135911,"line_start":70,"line_end":70,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135912,"byte_end":135917,"line_start":70,"line_end":70,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":469762343}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135965,"byte_end":135974,"line_start":74,"line_end":74,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135985,"byte_end":135994,"line_start":74,"line_end":74,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135999,"byte_end":136005,"line_start":74,"line_end":74,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136053,"byte_end":136063,"line_start":75,"line_end":75,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136046,"byte_end":136052,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871208}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136064,"byte_end":136070,"line_start":75,"line_end":75,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742120}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136071,"byte_end":136082,"line_start":75,"line_end":75,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136084,"byte_end":136088,"line_start":75,"line_end":75,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136099,"byte_end":136112,"line_start":75,"line_end":75,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136137,"byte_end":136141,"line_start":77,"line_end":77,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653480}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136142,"byte_end":136146,"line_start":77,"line_end":77,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136160,"byte_end":136164,"line_start":79,"line_end":79,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136184,"byte_end":136188,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136233,"byte_end":136236,"line_start":82,"line_end":82,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136248,"byte_end":136261,"line_start":82,"line_end":82,"column_start":43,"column_end":56},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136243,"byte_end":136246,"line_start":82,"line_end":82,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136262,"byte_end":136266,"line_start":82,"line_end":82,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136301,"byte_end":136308,"line_start":84,"line_end":84,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136301,"byte_end":136302,"line_start":84,"line_end":84,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136304,"byte_end":136308,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136304,"byte_end":136308,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136333,"byte_end":136337,"line_start":85,"line_end":85,"column_start":23,"column_end":27},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136327,"byte_end":136332,"line_start":85,"line_end":85,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":469762344}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136369,"byte_end":136373,"line_start":88,"line_end":88,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136374,"byte_end":136379,"line_start":88,"line_end":88,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":469762344}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":289}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136414,"byte_end":136422,"line_start":94,"line_end":94,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136484,"byte_end":136495,"line_start":98,"line_end":98,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136522,"byte_end":136527,"line_start":98,"line_end":98,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136509,"byte_end":136520,"line_start":98,"line_end":98,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136576,"byte_end":136587,"line_start":99,"line_end":99,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136614,"byte_end":136619,"line_start":99,"line_end":99,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136601,"byte_end":136612,"line_start":99,"line_end":99,"column_start":71,"column_end":82},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136655,"byte_end":136658,"line_start":101,"line_end":101,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136659,"byte_end":136675,"line_start":101,"line_end":101,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136696,"byte_end":136702,"line_start":101,"line_end":101,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136703,"byte_end":136710,"line_start":101,"line_end":101,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136712,"byte_end":136720,"line_start":101,"line_end":101,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136761,"byte_end":136764,"line_start":102,"line_end":102,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136754,"byte_end":136759,"line_start":102,"line_end":102,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136788,"byte_end":136794,"line_start":103,"line_end":103,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136776,"byte_end":136787,"line_start":103,"line_end":103,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306669}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136802,"byte_end":136810,"line_start":103,"line_end":103,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136823,"byte_end":136829,"line_start":103,"line_end":103,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136814,"byte_end":136821,"line_start":103,"line_end":103,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136849,"byte_end":136858,"line_start":103,"line_end":103,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136836,"byte_end":136844,"line_start":103,"line_end":103,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136897,"byte_end":136903,"line_start":105,"line_end":105,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742125}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136904,"byte_end":136911,"line_start":105,"line_end":105,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136913,"byte_end":136917,"line_start":105,"line_end":105,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136928,"byte_end":136941,"line_start":105,"line_end":105,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136958,"byte_end":136962,"line_start":107,"line_end":107,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1275068717}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136963,"byte_end":136967,"line_start":107,"line_end":107,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136998,"byte_end":137004,"line_start":108,"line_end":108,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136986,"byte_end":136997,"line_start":108,"line_end":108,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306669}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137012,"byte_end":137020,"line_start":108,"line_end":108,"column_start":39,"column_end":47},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137033,"byte_end":137040,"line_start":108,"line_end":108,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137024,"byte_end":137031,"line_start":108,"line_end":108,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137041,"byte_end":137045,"line_start":108,"line_end":108,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1275068717}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137046,"byte_end":137050,"line_start":108,"line_end":108,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137138,"byte_end":137142,"line_start":112,"line_end":112,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1275068717}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137143,"byte_end":137150,"line_start":112,"line_end":112,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137127,"byte_end":137131,"line_start":112,"line_end":112,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137184,"byte_end":137187,"line_start":113,"line_end":113,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137188,"byte_end":137195,"line_start":113,"line_end":113,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137289,"byte_end":137296,"line_start":115,"line_end":115,"column_start":16,"column_end":23},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137208,"byte_end":137211,"line_start":113,"line_end":113,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137201,"byte_end":137205,"line_start":113,"line_end":113,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137199,"byte_end":137200,"line_start":113,"line_end":113,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":2315256109}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137247,"byte_end":137254,"line_start":114,"line_end":114,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137238,"byte_end":137245,"line_start":114,"line_end":114,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137260,"byte_end":137264,"line_start":114,"line_end":114,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":2932}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137266,"byte_end":137271,"line_start":114,"line_end":114,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":637534509}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137324,"byte_end":137330,"line_start":116,"line_end":116,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137312,"byte_end":137323,"line_start":116,"line_end":116,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306669}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137341,"byte_end":137349,"line_start":116,"line_end":116,"column_start":42,"column_end":50},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137362,"byte_end":137367,"line_start":116,"line_end":116,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137353,"byte_end":137360,"line_start":116,"line_end":116,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137368,"byte_end":137381,"line_start":116,"line_end":116,"column_start":69,"column_end":82},"ref_id":{"krate":0,"index":503316781}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137412,"byte_end":137414,"line_start":121,"line_end":121,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137424,"byte_end":137434,"line_start":121,"line_end":121,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137415,"byte_end":137422,"line_start":121,"line_end":121,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137435,"byte_end":137446,"line_start":121,"line_end":121,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306669}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137517,"byte_end":137520,"line_start":124,"line_end":124,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137521,"byte_end":137537,"line_start":124,"line_end":124,"column_start":66,"column_end":82},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137543,"byte_end":137549,"line_start":124,"line_end":124,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137590,"byte_end":137596,"line_start":125,"line_end":125,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613039}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137597,"byte_end":137604,"line_start":125,"line_end":125,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871215}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137606,"byte_end":137610,"line_start":125,"line_end":125,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137621,"byte_end":137634,"line_start":125,"line_end":125,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137666,"byte_end":137670,"line_start":127,"line_end":127,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653487}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137671,"byte_end":137678,"line_start":127,"line_end":127,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137655,"byte_end":137659,"line_start":127,"line_end":127,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137693,"byte_end":137697,"line_start":128,"line_end":128,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137700,"byte_end":137705,"line_start":128,"line_end":128,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137698,"byte_end":137699,"line_start":128,"line_end":128,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623878959}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137738,"byte_end":137742,"line_start":130,"line_end":130,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137900,"byte_end":137905,"line_start":136,"line_end":136,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137801,"byte_end":137810,"line_start":136,"line_end":136,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137826,"byte_end":137835,"line_start":136,"line_end":136,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137853,"byte_end":137859,"line_start":136,"line_end":136,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137860,"byte_end":137869,"line_start":136,"line_end":136,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137871,"byte_end":137879,"line_start":136,"line_end":136,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137933,"byte_end":137942,"line_start":137,"line_end":137,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137916,"byte_end":137931,"line_start":137,"line_end":137,"column_start":9,"column_end":24},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137943,"byte_end":137949,"line_start":137,"line_end":137,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742128}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137951,"byte_end":137957,"line_start":137,"line_end":137,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871216}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137960,"byte_end":137965,"line_start":137,"line_end":137,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":1610613040}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138005,"byte_end":138008,"line_start":141,"line_end":141,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138009,"byte_end":138025,"line_start":141,"line_end":141,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138046,"byte_end":138052,"line_start":141,"line_end":141,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138053,"byte_end":138059,"line_start":141,"line_end":141,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138061,"byte_end":138069,"line_start":141,"line_end":141,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138105,"byte_end":138111,"line_start":142,"line_end":142,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742130}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138112,"byte_end":138119,"line_start":142,"line_end":142,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871218}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138121,"byte_end":138125,"line_start":142,"line_end":142,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138136,"byte_end":138149,"line_start":142,"line_end":142,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138183,"byte_end":138186,"line_start":144,"line_end":144,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138187,"byte_end":138193,"line_start":144,"line_end":144,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138202,"byte_end":138205,"line_start":144,"line_end":144,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138197,"byte_end":138200,"line_start":144,"line_end":144,"column_start":43,"column_end":46},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138236,"byte_end":138240,"line_start":146,"line_end":146,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1744830770}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138241,"byte_end":138248,"line_start":146,"line_end":146,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138225,"byte_end":138229,"line_start":146,"line_end":146,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138285,"byte_end":138289,"line_start":147,"line_end":147,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138277,"byte_end":138283,"line_start":147,"line_end":147,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138320,"byte_end":138328,"line_start":148,"line_end":148,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138316,"byte_end":138319,"line_start":148,"line_end":148,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197810}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138351,"byte_end":138359,"line_start":149,"line_end":149,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138347,"byte_end":138350,"line_start":149,"line_end":149,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197810}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138427,"byte_end":138433,"line_start":149,"line_end":149,"column_start":93,"column_end":99},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138417,"byte_end":138421,"line_start":149,"line_end":149,"column_start":83,"column_end":87},"ref_id":{"krate":4,"index":5165}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138392,"byte_end":138399,"line_start":149,"line_end":149,"column_start":58,"column_end":65},"ref_id":{"krate":1,"index":7971}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138402,"byte_end":138405,"line_start":149,"line_end":149,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138406,"byte_end":138412,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138369,"byte_end":138372,"line_start":149,"line_end":149,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138362,"byte_end":138366,"line_start":149,"line_end":149,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138360,"byte_end":138361,"line_start":149,"line_end":149,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":2751463730}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138379,"byte_end":138388,"line_start":149,"line_end":149,"column_start":45,"column_end":54},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138377,"byte_end":138378,"line_start":149,"line_end":149,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3523215666}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138454,"byte_end":138462,"line_start":150,"line_end":150,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138450,"byte_end":138453,"line_start":150,"line_end":150,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197810}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138492,"byte_end":138496,"line_start":151,"line_end":151,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138481,"byte_end":138491,"line_start":151,"line_end":151,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1140850994}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138497,"byte_end":138500,"line_start":151,"line_end":151,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":738197810}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138525,"byte_end":138529,"line_start":154,"line_end":154,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1744830770}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138530,"byte_end":138534,"line_start":154,"line_end":154,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138575,"byte_end":138579,"line_start":155,"line_end":155,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138567,"byte_end":138573,"line_start":155,"line_end":155,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138607,"byte_end":138615,"line_start":156,"line_end":156,"column_start":17,"column_end":25},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138603,"byte_end":138606,"line_start":156,"line_end":156,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":503316786}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138638,"byte_end":138644,"line_start":156,"line_end":156,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138626,"byte_end":138635,"line_start":156,"line_end":156,"column_start":36,"column_end":45},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138616,"byte_end":138620,"line_start":156,"line_end":156,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744830770}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138621,"byte_end":138625,"line_start":156,"line_end":156,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138672,"byte_end":138676,"line_start":157,"line_end":157,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138661,"byte_end":138671,"line_start":157,"line_end":157,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1140850994}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138677,"byte_end":138680,"line_start":157,"line_end":157,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":503316786}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138702,"byte_end":138704,"line_start":160,"line_end":160,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138719,"byte_end":138722,"line_start":160,"line_end":160,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138708,"byte_end":138718,"line_start":160,"line_end":160,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1140850994}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138752,"byte_end":138756,"line_start":161,"line_end":161,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138744,"byte_end":138750,"line_start":161,"line_end":161,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138825,"byte_end":138829,"line_start":163,"line_end":163,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138817,"byte_end":138823,"line_start":163,"line_end":163,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138864,"byte_end":138872,"line_start":164,"line_end":164,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138854,"byte_end":138863,"line_start":164,"line_end":164,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805490}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138895,"byte_end":138901,"line_start":164,"line_end":164,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138884,"byte_end":138888,"line_start":164,"line_end":164,"column_start":43,"column_end":47},"ref_id":{"krate":4,"index":5165}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138873,"byte_end":138883,"line_start":164,"line_end":164,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1140850994}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138928,"byte_end":138936,"line_start":165,"line_end":165,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138918,"byte_end":138927,"line_start":165,"line_end":165,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805490}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138956,"byte_end":138965,"line_start":166,"line_end":166,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139023,"byte_end":139026,"line_start":171,"line_end":171,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139027,"byte_end":139043,"line_start":171,"line_end":171,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139065,"byte_end":139074,"line_start":171,"line_end":171,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139083,"byte_end":139086,"line_start":171,"line_end":171,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139087,"byte_end":139093,"line_start":171,"line_end":171,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139099,"byte_end":139105,"line_start":171,"line_end":171,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139113,"byte_end":139116,"line_start":171,"line_end":171,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139122,"byte_end":139125,"line_start":171,"line_end":171,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139126,"byte_end":139142,"line_start":171,"line_end":171,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139146,"byte_end":139154,"line_start":171,"line_end":171,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139187,"byte_end":139190,"line_start":172,"line_end":172,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139202,"byte_end":139205,"line_start":172,"line_end":172,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139197,"byte_end":139200,"line_start":172,"line_end":172,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139229,"byte_end":139233,"line_start":173,"line_end":173,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139217,"byte_end":139228,"line_start":173,"line_end":173,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088948}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139247,"byte_end":139252,"line_start":173,"line_end":173,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139234,"byte_end":139245,"line_start":173,"line_end":173,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139357,"byte_end":139363,"line_start":178,"line_end":178,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139364,"byte_end":139367,"line_start":178,"line_end":178,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139383,"byte_end":139387,"line_start":178,"line_end":178,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139375,"byte_end":139381,"line_start":178,"line_end":178,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139406,"byte_end":139409,"line_start":180,"line_end":180,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139401,"byte_end":139405,"line_start":180,"line_end":180,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268435764}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139437,"byte_end":139441,"line_start":181,"line_end":181,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268435764}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139480,"byte_end":139490,"line_start":182,"line_end":182,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139471,"byte_end":139477,"line_start":182,"line_end":182,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139463,"byte_end":139469,"line_start":182,"line_end":182,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139549,"byte_end":139553,"line_start":183,"line_end":183,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139538,"byte_end":139548,"line_start":183,"line_end":183,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3254780212}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139605,"byte_end":139609,"line_start":184,"line_end":184,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139592,"byte_end":139599,"line_start":184,"line_end":184,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139588,"byte_end":139591,"line_start":184,"line_end":184,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613044}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139600,"byte_end":139603,"line_start":184,"line_end":184,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1375732020}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139692,"byte_end":139697,"line_start":186,"line_end":186,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3523215668}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139753,"byte_end":139757,"line_start":187,"line_end":187,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139744,"byte_end":139750,"line_start":187,"line_end":187,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139736,"byte_end":139742,"line_start":187,"line_end":187,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139836,"byte_end":139841,"line_start":188,"line_end":188,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139829,"byte_end":139833,"line_start":188,"line_end":188,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139815,"byte_end":139822,"line_start":188,"line_end":188,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139811,"byte_end":139814,"line_start":188,"line_end":188,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613044}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139823,"byte_end":139827,"line_start":188,"line_end":188,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":3321889076}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139897,"byte_end":139899,"line_start":189,"line_end":189,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139897,"byte_end":139899,"line_start":189,"line_end":189,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139963,"byte_end":139964,"line_start":190,"line_end":190,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3456106804}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139956,"byte_end":139960,"line_start":190,"line_end":190,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3825205556}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140014,"byte_end":140028,"line_start":191,"line_end":191,"column_start":49,"column_end":63},"ref_id":{"krate":0,"index":3288334644}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140128,"byte_end":140131,"line_start":193,"line_end":193,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140128,"byte_end":140131,"line_start":193,"line_end":193,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140148,"byte_end":140151,"line_start":193,"line_end":193,"column_start":65,"column_end":68},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140162,"byte_end":140165,"line_start":193,"line_end":193,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140152,"byte_end":140160,"line_start":193,"line_end":193,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140478,"byte_end":140483,"line_start":200,"line_end":200,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3523215668}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140538,"byte_end":140544,"line_start":201,"line_end":201,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140530,"byte_end":140535,"line_start":201,"line_end":201,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140522,"byte_end":140528,"line_start":201,"line_end":201,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140614,"byte_end":140617,"line_start":202,"line_end":202,"column_start":63,"column_end":66},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140629,"byte_end":140632,"line_start":202,"line_end":202,"column_start":78,"column_end":81},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140624,"byte_end":140627,"line_start":202,"line_end":202,"column_start":73,"column_end":76},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140688,"byte_end":140694,"line_start":204,"line_end":204,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":2768240948}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140747,"byte_end":140750,"line_start":205,"line_end":205,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1828716852}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140818,"byte_end":140822,"line_start":206,"line_end":206,"column_start":66,"column_end":70},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140809,"byte_end":140815,"line_start":206,"line_end":206,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140801,"byte_end":140807,"line_start":206,"line_end":206,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140906,"byte_end":140911,"line_start":207,"line_end":207,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140892,"byte_end":140899,"line_start":207,"line_end":207,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140888,"byte_end":140891,"line_start":207,"line_end":207,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1610613044}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140900,"byte_end":140904,"line_start":207,"line_end":207,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":1124073780}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140978,"byte_end":140980,"line_start":208,"line_end":208,"column_start":57,"column_end":59},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140978,"byte_end":140980,"line_start":208,"line_end":208,"column_start":57,"column_end":59},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141062,"byte_end":141066,"line_start":209,"line_end":209,"column_start":74,"column_end":78},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141049,"byte_end":141061,"line_start":209,"line_end":209,"column_start":61,"column_end":73},"ref_id":{"krate":0,"index":3439329588}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141067,"byte_end":141068,"line_start":209,"line_end":209,"column_start":79,"column_end":80},"ref_id":{"krate":0,"index":184549684}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":141495,"byte_end":141499,"line_start":218,"line_end":218,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141500,"byte_end":141512,"line_start":218,"line_end":218,"column_start":56,"column_end":68},"ref_id":{"krate":0,"index":3439329588}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141485,"byte_end":141492,"line_start":218,"line_end":218,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3422552372}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141828,"byte_end":141842,"line_start":231,"line_end":231,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":3288334644}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141869,"byte_end":141886,"line_start":232,"line_end":232,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141857,"byte_end":141868,"line_start":232,"line_end":232,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088948}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141893,"byte_end":141904,"line_start":232,"line_end":232,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141888,"byte_end":141892,"line_start":232,"line_end":232,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3825205556}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141950,"byte_end":141967,"line_start":234,"line_end":234,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141938,"byte_end":141949,"line_start":234,"line_end":234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088948}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141974,"byte_end":141985,"line_start":234,"line_end":234,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142027,"byte_end":142034,"line_start":237,"line_end":237,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3422552372}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142016,"byte_end":142020,"line_start":237,"line_end":237,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142061,"byte_end":142078,"line_start":238,"line_end":238,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142049,"byte_end":142060,"line_start":238,"line_end":238,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088948}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142103,"byte_end":142114,"line_start":238,"line_end":238,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142084,"byte_end":142087,"line_start":238,"line_end":238,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142082,"byte_end":142083,"line_start":238,"line_end":238,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2457862452}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142143,"byte_end":142160,"line_start":239,"line_end":239,"column_start":25,"column_end":42},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142131,"byte_end":142142,"line_start":239,"line_end":239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088948}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142162,"byte_end":142163,"line_start":239,"line_end":239,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2457862452}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142164,"byte_end":142166,"line_start":239,"line_end":239,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142211,"byte_end":142217,"line_start":241,"line_end":241,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142199,"byte_end":142210,"line_start":241,"line_end":241,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088948}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142237,"byte_end":142243,"line_start":241,"line_end":241,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142223,"byte_end":142234,"line_start":241,"line_end":241,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142274,"byte_end":142278,"line_start":244,"line_end":244,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142267,"byte_end":142273,"line_start":244,"line_end":244,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742132}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142279,"byte_end":142295,"line_start":244,"line_end":244,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142310,"byte_end":142313,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142318,"byte_end":142322,"line_start":245,"line_end":245,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3825205556}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142360,"byte_end":142365,"line_start":246,"line_end":246,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142345,"byte_end":142358,"line_start":246,"line_end":246,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142366,"byte_end":142370,"line_start":246,"line_end":246,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3825205556}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142431,"byte_end":142438,"line_start":248,"line_end":248,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142416,"byte_end":142429,"line_start":248,"line_end":248,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142466,"byte_end":142467,"line_start":250,"line_end":250,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142482,"byte_end":142487,"line_start":250,"line_end":250,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142469,"byte_end":142480,"line_start":250,"line_end":250,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142501,"byte_end":142509,"line_start":251,"line_end":251,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142511,"byte_end":142525,"line_start":251,"line_end":251,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":3288334644}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142539,"byte_end":142543,"line_start":252,"line_end":252,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142550,"byte_end":142553,"line_start":252,"line_end":252,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142545,"byte_end":142548,"line_start":252,"line_end":252,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142559,"byte_end":142567,"line_start":252,"line_end":252,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142554,"byte_end":142557,"line_start":252,"line_end":252,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142573,"byte_end":142576,"line_start":252,"line_end":252,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142568,"byte_end":142571,"line_start":252,"line_end":252,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142577,"byte_end":142590,"line_start":252,"line_end":252,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142593,"byte_end":142597,"line_start":252,"line_end":252,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142593,"byte_end":142597,"line_start":252,"line_end":252,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3825205556}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142599,"byte_end":142606,"line_start":252,"line_end":252,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3647}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142599,"byte_end":142606,"line_start":252,"line_end":252,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3422552372}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142653,"byte_end":142655,"line_start":255,"line_end":255,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142657,"byte_end":142671,"line_start":255,"line_end":255,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":3288334644}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142673,"byte_end":142684,"line_start":255,"line_end":255,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088948}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142686,"byte_end":142692,"line_start":255,"line_end":255,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742132}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142877,"byte_end":142882,"line_start":258,"line_end":258,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142776,"byte_end":142785,"line_start":258,"line_end":258,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142801,"byte_end":142810,"line_start":258,"line_end":258,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142820,"byte_end":142823,"line_start":258,"line_end":258,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142824,"byte_end":142831,"line_start":258,"line_end":258,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142837,"byte_end":142843,"line_start":258,"line_end":258,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142848,"byte_end":142856,"line_start":258,"line_end":258,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142902,"byte_end":142907,"line_start":259,"line_end":259,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342177589}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142931,"byte_end":142936,"line_start":260,"line_end":260,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142922,"byte_end":142929,"line_start":260,"line_end":260,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142931,"byte_end":142936,"line_start":260,"line_end":260,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142922,"byte_end":142929,"line_start":260,"line_end":260,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142981,"byte_end":142984,"line_start":261,"line_end":261,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142996,"byte_end":142999,"line_start":261,"line_end":261,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142991,"byte_end":142994,"line_start":261,"line_end":261,"column_start":43,"column_end":46},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143033,"byte_end":143041,"line_start":263,"line_end":263,"column_start":30,"column_end":38},"ref_id":{"krate":1,"index":7936}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143026,"byte_end":143030,"line_start":263,"line_end":263,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143020,"byte_end":143025,"line_start":263,"line_end":263,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1207959861}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143077,"byte_end":143081,"line_start":264,"line_end":264,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143117,"byte_end":143124,"line_start":265,"line_end":265,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143108,"byte_end":143115,"line_start":265,"line_end":265,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143117,"byte_end":143124,"line_start":265,"line_end":265,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143108,"byte_end":143115,"line_start":265,"line_end":265,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143168,"byte_end":143172,"line_start":266,"line_end":266,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143161,"byte_end":143167,"line_start":266,"line_end":266,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109173}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143174,"byte_end":143175,"line_start":266,"line_end":266,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":872415541}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143244,"byte_end":143249,"line_start":268,"line_end":268,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143235,"byte_end":143242,"line_start":268,"line_end":268,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143244,"byte_end":143249,"line_start":268,"line_end":268,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143235,"byte_end":143242,"line_start":268,"line_end":268,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143293,"byte_end":143297,"line_start":269,"line_end":269,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143286,"byte_end":143292,"line_start":269,"line_end":269,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109173}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143299,"byte_end":143300,"line_start":269,"line_end":269,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2080375093}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143402,"byte_end":143406,"line_start":272,"line_end":272,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143395,"byte_end":143401,"line_start":272,"line_end":272,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109173}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143502,"byte_end":143511,"line_start":277,"line_end":277,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143512,"byte_end":143518,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613045}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143520,"byte_end":143526,"line_start":277,"line_end":277,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268435765}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143528,"byte_end":143534,"line_start":277,"line_end":277,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":67109173}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143593,"byte_end":143595,"line_start":282,"line_end":282,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143718,"byte_end":143723,"line_start":285,"line_end":285,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143634,"byte_end":143643,"line_start":285,"line_end":285,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143661,"byte_end":143670,"line_start":285,"line_end":285,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143675,"byte_end":143681,"line_start":285,"line_end":285,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143682,"byte_end":143688,"line_start":285,"line_end":285,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143696,"byte_end":143704,"line_start":285,"line_end":285,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143757,"byte_end":143767,"line_start":286,"line_end":286,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143740,"byte_end":143755,"line_start":286,"line_end":286,"column_start":15,"column_end":30},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143768,"byte_end":143774,"line_start":286,"line_end":286,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1073742136}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143776,"byte_end":143782,"line_start":286,"line_end":286,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871224}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143799,"byte_end":143803,"line_start":287,"line_end":287,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143799,"byte_end":143803,"line_start":287,"line_end":287,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143814,"byte_end":143816,"line_start":287,"line_end":287,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143817,"byte_end":143821,"line_start":287,"line_end":287,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143828,"byte_end":143834,"line_start":287,"line_end":287,"column_start":42,"column_end":48},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143822,"byte_end":143827,"line_start":287,"line_end":287,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":67109176}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143852,"byte_end":143856,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143852,"byte_end":143856,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143860,"byte_end":143862,"line_start":288,"line_end":288,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143863,"byte_end":143867,"line_start":288,"line_end":288,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143924,"byte_end":143933,"line_start":292,"line_end":292,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143951,"byte_end":143960,"line_start":292,"line_end":292,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143965,"byte_end":143972,"line_start":292,"line_end":292,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143997,"byte_end":144007,"line_start":295,"line_end":295,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144008,"byte_end":144014,"line_start":295,"line_end":295,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871225}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144016,"byte_end":144022,"line_start":295,"line_end":295,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613049}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144038,"byte_end":144040,"line_start":296,"line_end":296,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144038,"byte_end":144040,"line_start":296,"line_end":296,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144071,"byte_end":144072,"line_start":297,"line_end":297,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281701689}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144095,"byte_end":144099,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144095,"byte_end":144099,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144191,"byte_end":144198,"line_start":300,"line_end":300,"column_start":83,"column_end":90},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144154,"byte_end":144157,"line_start":300,"line_end":300,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144147,"byte_end":144151,"line_start":300,"line_end":300,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144145,"byte_end":144146,"line_start":300,"line_end":300,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3892314425}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144171,"byte_end":144178,"line_start":300,"line_end":300,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144162,"byte_end":144169,"line_start":300,"line_end":300,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144180,"byte_end":144181,"line_start":300,"line_end":300,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":1140851001}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144236,"byte_end":144241,"line_start":302,"line_end":302,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144227,"byte_end":144234,"line_start":302,"line_end":302,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144242,"byte_end":144247,"line_start":302,"line_end":302,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1275068729}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144292,"byte_end":144296,"line_start":304,"line_end":304,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144292,"byte_end":144296,"line_start":304,"line_end":304,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144358,"byte_end":144368,"line_start":306,"line_end":306,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144351,"byte_end":144357,"line_start":306,"line_end":306,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613049}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144369,"byte_end":144375,"line_start":306,"line_end":306,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871225}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144376,"byte_end":144387,"line_start":306,"line_end":306,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144389,"byte_end":144393,"line_start":306,"line_end":306,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144404,"byte_end":144417,"line_start":306,"line_end":306,"column_start":102,"column_end":115},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144454,"byte_end":144458,"line_start":308,"line_end":308,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":167772473}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144459,"byte_end":144466,"line_start":308,"line_end":308,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144497,"byte_end":144501,"line_start":309,"line_end":309,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144497,"byte_end":144501,"line_start":309,"line_end":309,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144672,"byte_end":144679,"line_start":312,"line_end":312,"column_start":36,"column_end":43},"ref_id":{"krate":1,"index":7971}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144682,"byte_end":144685,"line_start":312,"line_end":312,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144686,"byte_end":144693,"line_start":312,"line_end":312,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144563,"byte_end":144566,"line_start":310,"line_end":310,"column_start":54,"column_end":57},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144556,"byte_end":144560,"line_start":310,"line_end":310,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144554,"byte_end":144555,"line_start":310,"line_end":310,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1778385209}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144618,"byte_end":144625,"line_start":311,"line_end":311,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144609,"byte_end":144616,"line_start":311,"line_end":311,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144627,"byte_end":144628,"line_start":311,"line_end":311,"column_start":55,"column_end":56},"ref_id":{"krate":0,"index":2785018169}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144741,"byte_end":144746,"line_start":314,"line_end":314,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144732,"byte_end":144739,"line_start":314,"line_end":314,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144747,"byte_end":144752,"line_start":314,"line_end":314,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":3992977721}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144813,"byte_end":144817,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144813,"byte_end":144817,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144830,"byte_end":144834,"line_start":316,"line_end":316,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144821,"byte_end":144828,"line_start":316,"line_end":316,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144952,"byte_end":144955,"line_start":322,"line_end":322,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144952,"byte_end":144955,"line_start":322,"line_end":322,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144990,"byte_end":144994,"line_start":323,"line_end":323,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144981,"byte_end":144988,"line_start":323,"line_end":323,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145064,"byte_end":145073,"line_start":327,"line_end":327,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145084,"byte_end":145093,"line_start":327,"line_end":327,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145098,"byte_end":145104,"line_start":327,"line_end":327,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145112,"byte_end":145120,"line_start":327,"line_end":327,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145159,"byte_end":145168,"line_start":329,"line_end":329,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145152,"byte_end":145158,"line_start":329,"line_end":329,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871228}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145169,"byte_end":145175,"line_start":329,"line_end":329,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613052}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145215,"byte_end":145229,"line_start":330,"line_end":330,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145205,"byte_end":145212,"line_start":330,"line_end":330,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145285,"byte_end":145295,"line_start":333,"line_end":333,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3087008060}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145322,"byte_end":145324,"line_start":334,"line_end":334,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145379,"byte_end":145389,"line_start":337,"line_end":337,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145372,"byte_end":145378,"line_start":337,"line_end":337,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613052}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145390,"byte_end":145396,"line_start":337,"line_end":337,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871228}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145397,"byte_end":145408,"line_start":337,"line_end":337,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145410,"byte_end":145414,"line_start":337,"line_end":337,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145425,"byte_end":145438,"line_start":337,"line_end":337,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145477,"byte_end":145481,"line_start":340,"line_end":340,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":33554748}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145482,"byte_end":145486,"line_start":340,"line_end":340,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3648}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145512,"byte_end":145514,"line_start":341,"line_end":341,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145515,"byte_end":145519,"line_start":341,"line_end":341,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":33554748}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145520,"byte_end":145524,"line_start":341,"line_end":341,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145608,"byte_end":145621,"line_start":345,"line_end":345,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145654,"byte_end":145663,"line_start":345,"line_end":345,"column_start":84,"column_end":93},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145630,"byte_end":145641,"line_start":345,"line_end":345,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145623,"byte_end":145629,"line_start":345,"line_end":345,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610613052}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145642,"byte_end":145652,"line_start":345,"line_end":345,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":3087008060}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145756,"byte_end":145758,"line_start":348,"line_end":348,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145759,"byte_end":145769,"line_start":348,"line_end":348,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":234881340}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145831,"byte_end":145834,"line_start":352,"line_end":352,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145835,"byte_end":145851,"line_start":352,"line_end":352,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145868,"byte_end":145871,"line_start":352,"line_end":352,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145872,"byte_end":145879,"line_start":352,"line_end":352,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145885,"byte_end":145891,"line_start":352,"line_end":352,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145899,"byte_end":145902,"line_start":352,"line_end":352,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145908,"byte_end":145911,"line_start":352,"line_end":352,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145912,"byte_end":145928,"line_start":352,"line_end":352,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145932,"byte_end":145940,"line_start":352,"line_end":352,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146015,"byte_end":146018,"line_start":356,"line_end":356,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146030,"byte_end":146033,"line_start":356,"line_end":356,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146025,"byte_end":146028,"line_start":356,"line_end":356,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146057,"byte_end":146061,"line_start":357,"line_end":357,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146045,"byte_end":146056,"line_start":357,"line_end":357,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088959}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146075,"byte_end":146080,"line_start":357,"line_end":357,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146062,"byte_end":146073,"line_start":357,"line_end":357,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146115,"byte_end":146126,"line_start":359,"line_end":359,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536871231}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146158,"byte_end":146165,"line_start":360,"line_end":360,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146149,"byte_end":146156,"line_start":360,"line_end":360,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146158,"byte_end":146165,"line_start":360,"line_end":360,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146149,"byte_end":146156,"line_start":360,"line_end":360,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146190,"byte_end":146204,"line_start":361,"line_end":361,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":268435775}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146232,"byte_end":146233,"line_start":362,"line_end":362,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825205567}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146267,"byte_end":146270,"line_start":363,"line_end":363,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146281,"byte_end":146284,"line_start":363,"line_end":363,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146271,"byte_end":146279,"line_start":363,"line_end":363,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146371,"byte_end":146372,"line_start":365,"line_end":365,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825205567}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146384,"byte_end":146388,"line_start":365,"line_end":365,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146380,"byte_end":146383,"line_start":365,"line_end":365,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146420,"byte_end":146423,"line_start":366,"line_end":366,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146434,"byte_end":146437,"line_start":366,"line_end":366,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146424,"byte_end":146432,"line_start":366,"line_end":366,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146538,"byte_end":146544,"line_start":368,"line_end":368,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146526,"byte_end":146537,"line_start":368,"line_end":368,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146570,"byte_end":146576,"line_start":368,"line_end":368,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146556,"byte_end":146567,"line_start":368,"line_end":368,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146546,"byte_end":146547,"line_start":368,"line_end":368,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3825205567}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146597,"byte_end":146598,"line_start":369,"line_end":369,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3825205567}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146642,"byte_end":146647,"line_start":371,"line_end":371,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146633,"byte_end":146640,"line_start":371,"line_end":371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146642,"byte_end":146647,"line_start":371,"line_end":371,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146633,"byte_end":146640,"line_start":371,"line_end":371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146672,"byte_end":146686,"line_start":372,"line_end":372,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":268435775}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146714,"byte_end":146715,"line_start":373,"line_end":373,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3456106815}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146751,"byte_end":146754,"line_start":374,"line_end":374,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146765,"byte_end":146768,"line_start":374,"line_end":374,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146755,"byte_end":146763,"line_start":374,"line_end":374,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146855,"byte_end":146856,"line_start":376,"line_end":376,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3456106815}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146868,"byte_end":146872,"line_start":376,"line_end":376,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146864,"byte_end":146867,"line_start":376,"line_end":376,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146904,"byte_end":146907,"line_start":377,"line_end":377,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146918,"byte_end":146921,"line_start":377,"line_end":377,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146908,"byte_end":146916,"line_start":377,"line_end":377,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147023,"byte_end":147029,"line_start":380,"line_end":380,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147011,"byte_end":147022,"line_start":380,"line_end":380,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147055,"byte_end":147061,"line_start":380,"line_end":380,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147041,"byte_end":147052,"line_start":380,"line_end":380,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147031,"byte_end":147032,"line_start":380,"line_end":380,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3456106815}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147082,"byte_end":147083,"line_start":381,"line_end":381,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3456106815}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147153,"byte_end":147159,"line_start":384,"line_end":384,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147141,"byte_end":147152,"line_start":384,"line_end":384,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147179,"byte_end":147185,"line_start":384,"line_end":384,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147165,"byte_end":147176,"line_start":384,"line_end":384,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147263,"byte_end":147274,"line_start":389,"line_end":389,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":536871231}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147309,"byte_end":147314,"line_start":390,"line_end":390,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147300,"byte_end":147307,"line_start":390,"line_end":390,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147309,"byte_end":147314,"line_start":390,"line_end":390,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147300,"byte_end":147307,"line_start":390,"line_end":390,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147363,"byte_end":147366,"line_start":392,"line_end":392,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147564,"byte_end":147571,"line_start":397,"line_end":397,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147386,"byte_end":147389,"line_start":392,"line_end":392,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147379,"byte_end":147383,"line_start":392,"line_end":392,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147373,"byte_end":147378,"line_start":392,"line_end":392,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3942646079}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147422,"byte_end":147423,"line_start":393,"line_end":393,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1728053567}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147459,"byte_end":147466,"line_start":394,"line_end":394,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147450,"byte_end":147457,"line_start":394,"line_end":394,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147459,"byte_end":147466,"line_start":394,"line_end":394,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147450,"byte_end":147457,"line_start":394,"line_end":394,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147476,"byte_end":147477,"line_start":394,"line_end":394,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":3607101759}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147618,"byte_end":147621,"line_start":398,"line_end":398,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147604,"byte_end":147617,"line_start":398,"line_end":398,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":3229614399}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147664,"byte_end":147670,"line_start":399,"line_end":399,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147652,"byte_end":147663,"line_start":399,"line_end":399,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147692,"byte_end":147698,"line_start":399,"line_end":399,"column_start":57,"column_end":63},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147678,"byte_end":147689,"line_start":399,"line_end":399,"column_start":43,"column_end":54},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147671,"byte_end":147677,"line_start":399,"line_end":399,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":4034920767}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147731,"byte_end":147737,"line_start":400,"line_end":400,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147719,"byte_end":147730,"line_start":400,"line_end":400,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147752,"byte_end":147757,"line_start":400,"line_end":400,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147738,"byte_end":147751,"line_start":400,"line_end":400,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":3229614399}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147778,"byte_end":147782,"line_start":401,"line_end":401,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147783,"byte_end":147796,"line_start":401,"line_end":401,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3229614399}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147860,"byte_end":147866,"line_start":404,"line_end":404,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147848,"byte_end":147859,"line_start":404,"line_end":404,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088959}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147886,"byte_end":147892,"line_start":404,"line_end":404,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147872,"byte_end":147883,"line_start":404,"line_end":404,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147913,"byte_end":147917,"line_start":405,"line_end":405,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147968,"byte_end":147972,"line_start":410,"line_end":410,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147961,"byte_end":147967,"line_start":410,"line_end":410,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742143}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147973,"byte_end":147989,"line_start":410,"line_end":410,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148004,"byte_end":148007,"line_start":411,"line_end":411,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148012,"byte_end":148016,"line_start":411,"line_end":411,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1929380159}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148054,"byte_end":148059,"line_start":412,"line_end":412,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148039,"byte_end":148052,"line_start":412,"line_end":412,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148060,"byte_end":148064,"line_start":412,"line_end":412,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1929380159}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148125,"byte_end":148132,"line_start":414,"line_end":414,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148110,"byte_end":148123,"line_start":414,"line_end":414,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148160,"byte_end":148161,"line_start":416,"line_end":416,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148176,"byte_end":148181,"line_start":416,"line_end":416,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148163,"byte_end":148174,"line_start":416,"line_end":416,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148195,"byte_end":148199,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148206,"byte_end":148209,"line_start":417,"line_end":417,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148201,"byte_end":148204,"line_start":417,"line_end":417,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148215,"byte_end":148223,"line_start":417,"line_end":417,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148210,"byte_end":148213,"line_start":417,"line_end":417,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148229,"byte_end":148232,"line_start":417,"line_end":417,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148224,"byte_end":148227,"line_start":417,"line_end":417,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148233,"byte_end":148246,"line_start":417,"line_end":417,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148249,"byte_end":148253,"line_start":417,"line_end":417,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148249,"byte_end":148253,"line_start":417,"line_end":417,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1929380159}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148255,"byte_end":148262,"line_start":417,"line_end":417,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3647}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148255,"byte_end":148262,"line_start":417,"line_end":417,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3162505535}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148294,"byte_end":148302,"line_start":418,"line_end":418,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148304,"byte_end":148318,"line_start":418,"line_end":418,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":268435775}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148347,"byte_end":148349,"line_start":421,"line_end":421,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148351,"byte_end":148365,"line_start":421,"line_end":421,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":268435775}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148367,"byte_end":148378,"line_start":421,"line_end":421,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088959}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148380,"byte_end":148386,"line_start":421,"line_end":421,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742143}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148437,"byte_end":148440,"line_start":424,"line_end":424,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148441,"byte_end":148457,"line_start":424,"line_end":424,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148500,"byte_end":148503,"line_start":424,"line_end":424,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148504,"byte_end":148520,"line_start":424,"line_end":424,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148577,"byte_end":148590,"line_start":426,"line_end":426,"column_start":31,"column_end":44},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148605,"byte_end":148610,"line_start":427,"line_end":427,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148611,"byte_end":148618,"line_start":427,"line_end":427,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148637,"byte_end":148642,"line_start":428,"line_end":428,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148643,"byte_end":148650,"line_start":428,"line_end":428,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148669,"byte_end":148674,"line_start":429,"line_end":429,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148675,"byte_end":148682,"line_start":429,"line_end":429,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148701,"byte_end":148706,"line_start":430,"line_end":430,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148707,"byte_end":148714,"line_start":430,"line_end":430,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148795,"byte_end":148808,"line_start":434,"line_end":434,"column_start":33,"column_end":46},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148823,"byte_end":148828,"line_start":435,"line_end":435,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148829,"byte_end":148836,"line_start":435,"line_end":435,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148855,"byte_end":148860,"line_start":436,"line_end":436,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148861,"byte_end":148868,"line_start":436,"line_end":436,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148907,"byte_end":148919,"line_start":439,"line_end":439,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":2717909313}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148946,"byte_end":148950,"line_start":440,"line_end":440,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148939,"byte_end":148945,"line_start":440,"line_end":440,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742145}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148951,"byte_end":148967,"line_start":440,"line_end":440,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148986,"byte_end":148989,"line_start":441,"line_end":441,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148994,"byte_end":149004,"line_start":441,"line_end":441,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149046,"byte_end":149051,"line_start":442,"line_end":442,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149031,"byte_end":149044,"line_start":442,"line_end":442,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149052,"byte_end":149062,"line_start":442,"line_end":442,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149131,"byte_end":149138,"line_start":444,"line_end":444,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149116,"byte_end":149129,"line_start":444,"line_end":444,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149174,"byte_end":149175,"line_start":446,"line_end":446,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149190,"byte_end":149195,"line_start":446,"line_end":446,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149177,"byte_end":149188,"line_start":446,"line_end":446,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149213,"byte_end":149221,"line_start":447,"line_end":447,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149223,"byte_end":149233,"line_start":447,"line_end":447,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149255,"byte_end":149259,"line_start":448,"line_end":448,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149266,"byte_end":149269,"line_start":448,"line_end":448,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149261,"byte_end":149264,"line_start":448,"line_end":448,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149275,"byte_end":149283,"line_start":448,"line_end":448,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149270,"byte_end":149273,"line_start":448,"line_end":448,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149289,"byte_end":149292,"line_start":448,"line_end":448,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149284,"byte_end":149287,"line_start":448,"line_end":448,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149293,"byte_end":149306,"line_start":448,"line_end":448,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149309,"byte_end":149313,"line_start":448,"line_end":448,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149315,"byte_end":149325,"line_start":448,"line_end":448,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149327,"byte_end":149334,"line_start":448,"line_end":448,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149336,"byte_end":149340,"line_start":448,"line_end":448,"column_start":98,"column_end":102},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149425,"byte_end":149430,"line_start":451,"line_end":451,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1610613057}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149431,"byte_end":149480,"line_start":451,"line_end":451,"column_start":40,"column_end":89},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149431,"byte_end":149444,"line_start":451,"line_end":451,"column_start":40,"column_end":53},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149432,"byte_end":149439,"line_start":451,"line_end":451,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149446,"byte_end":149480,"line_start":451,"line_end":451,"column_start":55,"column_end":89},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149447,"byte_end":149454,"line_start":451,"line_end":451,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":536871233}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149462,"byte_end":149474,"line_start":451,"line_end":451,"column_start":71,"column_end":83},"ref_id":{"krate":0,"index":2717909313}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149503,"byte_end":149507,"line_start":453,"line_end":453,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149496,"byte_end":149502,"line_start":453,"line_end":453,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742145}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149508,"byte_end":149524,"line_start":453,"line_end":453,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149543,"byte_end":149546,"line_start":454,"line_end":454,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149551,"byte_end":149561,"line_start":454,"line_end":454,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149603,"byte_end":149608,"line_start":455,"line_end":455,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149588,"byte_end":149601,"line_start":455,"line_end":455,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149609,"byte_end":149619,"line_start":455,"line_end":455,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149688,"byte_end":149695,"line_start":457,"line_end":457,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149673,"byte_end":149686,"line_start":457,"line_end":457,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149731,"byte_end":149732,"line_start":459,"line_end":459,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149747,"byte_end":149752,"line_start":459,"line_end":459,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149734,"byte_end":149745,"line_start":459,"line_end":459,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149770,"byte_end":149774,"line_start":460,"line_end":460,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149781,"byte_end":149784,"line_start":460,"line_end":460,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149776,"byte_end":149779,"line_start":460,"line_end":460,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149790,"byte_end":149798,"line_start":460,"line_end":460,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149785,"byte_end":149788,"line_start":460,"line_end":460,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149804,"byte_end":149807,"line_start":460,"line_end":460,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149799,"byte_end":149802,"line_start":460,"line_end":460,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149808,"byte_end":149821,"line_start":460,"line_end":460,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149824,"byte_end":149828,"line_start":460,"line_end":460,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149830,"byte_end":149840,"line_start":460,"line_end":460,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149842,"byte_end":149849,"line_start":460,"line_end":460,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149851,"byte_end":149855,"line_start":460,"line_end":460,"column_start":98,"column_end":102},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149870,"byte_end":149876,"line_start":460,"line_end":460,"column_start":117,"column_end":123},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149856,"byte_end":149869,"line_start":460,"line_end":460,"column_start":103,"column_end":116},"ref_id":{"krate":0,"index":1694499137}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149915,"byte_end":149923,"line_start":461,"line_end":461,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149925,"byte_end":149935,"line_start":461,"line_end":461,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149980,"byte_end":149990,"line_start":465,"line_end":465,"column_start":10,"column_end":20},"ref_id":{"krate":0,"index":3556770113}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149996,"byte_end":150002,"line_start":465,"line_end":465,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742145}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150034,"byte_end":150043,"line_start":470,"line_end":470,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150027,"byte_end":150032,"line_start":470,"line_end":470,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150142,"byte_end":150147,"line_start":471,"line_end":471,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150096,"byte_end":150112,"line_start":471,"line_end":471,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150117,"byte_end":150123,"line_start":471,"line_end":471,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150158,"byte_end":150162,"line_start":472,"line_end":472,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150200,"byte_end":150209,"line_start":475,"line_end":475,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150221,"byte_end":150230,"line_start":475,"line_end":475,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150235,"byte_end":150241,"line_start":475,"line_end":475,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150258,"byte_end":150262,"line_start":476,"line_end":476,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150300,"byte_end":150309,"line_start":479,"line_end":479,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150321,"byte_end":150330,"line_start":479,"line_end":479,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150335,"byte_end":150341,"line_start":479,"line_end":479,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150358,"byte_end":150362,"line_start":480,"line_end":480,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150385,"byte_end":150393,"line_start":484,"line_end":484,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150470,"byte_end":150481,"line_start":488,"line_end":488,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150495,"byte_end":150503,"line_start":488,"line_end":488,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150485,"byte_end":150493,"line_start":488,"line_end":488,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":289}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150553,"byte_end":150564,"line_start":489,"line_end":489,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150578,"byte_end":150586,"line_start":489,"line_end":489,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150568,"byte_end":150576,"line_start":489,"line_end":489,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":289}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150623,"byte_end":150626,"line_start":491,"line_end":491,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150627,"byte_end":150643,"line_start":491,"line_end":491,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150664,"byte_end":150670,"line_start":491,"line_end":491,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150671,"byte_end":150678,"line_start":491,"line_end":491,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150680,"byte_end":150688,"line_start":491,"line_end":491,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150710,"byte_end":150724,"line_start":492,"line_end":492,"column_start":19,"column_end":33},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150700,"byte_end":150708,"line_start":492,"line_end":492,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":150725,"byte_end":150731,"line_start":492,"line_end":492,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073742155}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":150733,"byte_end":150740,"line_start":492,"line_end":492,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":536871243}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150922,"byte_end":150927,"line_start":495,"line_end":495,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150819,"byte_end":150828,"line_start":495,"line_end":495,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150845,"byte_end":150854,"line_start":495,"line_end":495,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150865,"byte_end":150868,"line_start":495,"line_end":495,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150869,"byte_end":150876,"line_start":495,"line_end":495,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150882,"byte_end":150888,"line_start":495,"line_end":495,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150893,"byte_end":150901,"line_start":495,"line_end":495,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150938,"byte_end":150940,"line_start":496,"line_end":496,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151017,"byte_end":151020,"line_start":499,"line_end":499,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151021,"byte_end":151037,"line_start":499,"line_end":499,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151043,"byte_end":151049,"line_start":499,"line_end":499,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151090,"byte_end":151096,"line_start":500,"line_end":500,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613070}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151097,"byte_end":151101,"line_start":500,"line_end":500,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871246}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151103,"byte_end":151107,"line_start":500,"line_end":500,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151118,"byte_end":151131,"line_start":500,"line_end":500,"column_start":61,"column_end":74},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151163,"byte_end":151167,"line_start":502,"line_end":502,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653518}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151168,"byte_end":151175,"line_start":502,"line_end":502,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3647}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151152,"byte_end":151156,"line_start":502,"line_end":502,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151190,"byte_end":151194,"line_start":503,"line_end":503,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151196,"byte_end":151197,"line_start":503,"line_end":503,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3623878990}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151198,"byte_end":151200,"line_start":503,"line_end":503,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":37850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151232,"byte_end":151236,"line_start":505,"line_end":505,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151324,"byte_end":151327,"line_start":511,"line_end":511,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151328,"byte_end":151344,"line_start":511,"line_end":511,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151366,"byte_end":151372,"line_start":511,"line_end":511,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151373,"byte_end":151379,"line_start":511,"line_end":511,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151381,"byte_end":151389,"line_start":511,"line_end":511,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151401,"byte_end":151403,"line_start":512,"line_end":512,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151412,"byte_end":151416,"line_start":512,"line_end":512,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151404,"byte_end":151410,"line_start":512,"line_end":512,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151498,"byte_end":151501,"line_start":516,"line_end":516,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151502,"byte_end":151518,"line_start":516,"line_end":516,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151541,"byte_end":151550,"line_start":516,"line_end":516,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151560,"byte_end":151563,"line_start":516,"line_end":516,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151564,"byte_end":151570,"line_start":516,"line_end":516,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151576,"byte_end":151582,"line_start":516,"line_end":516,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151590,"byte_end":151593,"line_start":516,"line_end":516,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151599,"byte_end":151602,"line_start":516,"line_end":516,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151603,"byte_end":151619,"line_start":516,"line_end":516,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151623,"byte_end":151631,"line_start":516,"line_end":516,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151649,"byte_end":151668,"line_start":517,"line_end":517,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151669,"byte_end":151675,"line_start":517,"line_end":517,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742160}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151683,"byte_end":151686,"line_start":517,"line_end":517,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151678,"byte_end":151681,"line_start":517,"line_end":517,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151696,"byte_end":151700,"line_start":517,"line_end":517,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151687,"byte_end":151694,"line_start":517,"line_end":517,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151842,"byte_end":151847,"line_start":521,"line_end":521,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151743,"byte_end":151752,"line_start":521,"line_end":521,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151768,"byte_end":151777,"line_start":521,"line_end":521,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151795,"byte_end":151801,"line_start":521,"line_end":521,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151802,"byte_end":151811,"line_start":521,"line_end":521,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151813,"byte_end":151821,"line_start":521,"line_end":521,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151885,"byte_end":151894,"line_start":523,"line_end":523,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151878,"byte_end":151884,"line_start":523,"line_end":523,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151895,"byte_end":151901,"line_start":523,"line_end":523,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151931,"byte_end":151936,"line_start":525,"line_end":525,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1610613073}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151972,"byte_end":151975,"line_start":527,"line_end":527,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151966,"byte_end":151971,"line_start":527,"line_end":527,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152030,"byte_end":152041,"line_start":529,"line_end":529,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152023,"byte_end":152029,"line_start":529,"line_end":529,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871249}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152085,"byte_end":152095,"line_start":531,"line_end":531,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152078,"byte_end":152084,"line_start":531,"line_end":531,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152096,"byte_end":152102,"line_start":531,"line_end":531,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152103,"byte_end":152114,"line_start":531,"line_end":531,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152116,"byte_end":152120,"line_start":531,"line_end":531,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152131,"byte_end":152144,"line_start":531,"line_end":531,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152173,"byte_end":152177,"line_start":533,"line_end":533,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1006633297}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152178,"byte_end":152182,"line_start":533,"line_end":533,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152200,"byte_end":152204,"line_start":535,"line_end":535,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1107296593}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152273,"byte_end":152287,"line_start":538,"line_end":538,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152263,"byte_end":152270,"line_start":538,"line_end":538,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1207959889}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152375,"byte_end":152378,"line_start":541,"line_end":541,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152390,"byte_end":152403,"line_start":541,"line_end":541,"column_start":53,"column_end":66},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152385,"byte_end":152388,"line_start":541,"line_end":541,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152404,"byte_end":152408,"line_start":541,"line_end":541,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1107296593}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152446,"byte_end":152453,"line_start":542,"line_end":542,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152446,"byte_end":152447,"line_start":542,"line_end":542,"column_start":27,"column_end":28},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152449,"byte_end":152453,"line_start":542,"line_end":542,"column_start":30,"column_end":34},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152449,"byte_end":152453,"line_start":542,"line_end":542,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1107296593}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152488,"byte_end":152492,"line_start":543,"line_end":543,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152476,"byte_end":152487,"line_start":543,"line_end":543,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":100663633}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152558,"byte_end":152564,"line_start":546,"line_end":546,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152551,"byte_end":152557,"line_start":546,"line_end":546,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152565,"byte_end":152576,"line_start":546,"line_end":546,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":100663633}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152634,"byte_end":152648,"line_start":547,"line_end":547,"column_start":46,"column_end":60},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152612,"byte_end":152625,"line_start":547,"line_end":547,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152605,"byte_end":152611,"line_start":547,"line_end":547,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152626,"byte_end":152632,"line_start":547,"line_end":547,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152649,"byte_end":152657,"line_start":547,"line_end":547,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":83886417}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152715,"byte_end":152729,"line_start":550,"line_end":550,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152705,"byte_end":152712,"line_start":550,"line_end":550,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1207959889}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152776,"byte_end":152787,"line_start":552,"line_end":552,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152769,"byte_end":152775,"line_start":552,"line_end":552,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152755,"byte_end":152766,"line_start":552,"line_end":552,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":335544657}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152817,"byte_end":152835,"line_start":554,"line_end":554,"column_start":22,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152817,"byte_end":152818,"line_start":554,"line_end":554,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152820,"byte_end":152835,"line_start":554,"line_end":554,"column_start":25,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152821,"byte_end":152825,"line_start":554,"line_end":554,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1107296593}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152857,"byte_end":152858,"line_start":555,"line_end":555,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":4076863825}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152867,"byte_end":152870,"line_start":555,"line_end":555,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152861,"byte_end":152866,"line_start":555,"line_end":555,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152967,"byte_end":152972,"line_start":557,"line_end":557,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152973,"byte_end":152974,"line_start":557,"line_end":557,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":4076863825}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152941,"byte_end":152952,"line_start":557,"line_end":557,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":335544657}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152954,"byte_end":152958,"line_start":557,"line_end":557,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3170894161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152961,"byte_end":152962,"line_start":557,"line_end":557,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":4076863825}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153059,"byte_end":153070,"line_start":560,"line_end":560,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":335544657}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153072,"byte_end":153076,"line_start":560,"line_end":560,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3170894161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153079,"byte_end":153080,"line_start":560,"line_end":560,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":4076863825}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153144,"byte_end":153146,"line_start":564,"line_end":564,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153147,"byte_end":153153,"line_start":564,"line_end":564,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153231,"byte_end":153245,"line_start":568,"line_end":568,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153221,"byte_end":153228,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959889}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153297,"byte_end":153307,"line_start":570,"line_end":570,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3296723281}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153385,"byte_end":153394,"line_start":571,"line_end":571,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153361,"byte_end":153372,"line_start":571,"line_end":571,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153354,"byte_end":153360,"line_start":571,"line_end":571,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153373,"byte_end":153383,"line_start":571,"line_end":571,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":3296723281}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153422,"byte_end":153435,"line_start":572,"line_end":572,"column_start":18,"column_end":31},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153437,"byte_end":153447,"line_start":572,"line_end":572,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":1115685201}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153525,"byte_end":153534,"line_start":577,"line_end":577,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":444596561}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153538,"byte_end":153546,"line_start":577,"line_end":577,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2214592849}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153700,"byte_end":153708,"line_start":581,"line_end":581,"column_start":16,"column_end":24},"ref_id":{"krate":0,"index":2214592849}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153722,"byte_end":153725,"line_start":581,"line_end":581,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":153711,"byte_end":153715,"line_start":581,"line_end":581,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":153717,"byte_end":153720,"line_start":581,"line_end":581,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153760,"byte_end":153763,"line_start":582,"line_end":582,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153774,"byte_end":153777,"line_start":582,"line_end":582,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153764,"byte_end":153772,"line_start":582,"line_end":582,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153862,"byte_end":153873,"line_start":584,"line_end":584,"column_start":48,"column_end":59},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153845,"byte_end":153853,"line_start":584,"line_end":584,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2214592849}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153929,"byte_end":153948,"line_start":586,"line_end":586,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153929,"byte_end":153930,"line_start":586,"line_end":586,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153932,"byte_end":153948,"line_start":586,"line_end":586,"column_start":25,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153943,"byte_end":153946,"line_start":586,"line_end":586,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153932,"byte_end":153942,"line_start":586,"line_end":586,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2709520721}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153999,"byte_end":154009,"line_start":587,"line_end":587,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":2709520721}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154010,"byte_end":154011,"line_start":587,"line_end":587,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":1904214353}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153967,"byte_end":153978,"line_start":587,"line_end":587,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":335544657}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153980,"byte_end":153990,"line_start":587,"line_end":587,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3296723281}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153993,"byte_end":153994,"line_start":587,"line_end":587,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":1904214353}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154112,"byte_end":154126,"line_start":593,"line_end":593,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154112,"byte_end":154113,"line_start":593,"line_end":593,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154115,"byte_end":154126,"line_start":593,"line_end":593,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154121,"byte_end":154124,"line_start":593,"line_end":593,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154115,"byte_end":154120,"line_start":593,"line_end":593,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154195,"byte_end":154200,"line_start":594,"line_end":594,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154201,"byte_end":154202,"line_start":594,"line_end":594,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2206204241}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154145,"byte_end":154156,"line_start":594,"line_end":594,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":335544657}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154158,"byte_end":154168,"line_start":594,"line_end":594,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3296723281}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154171,"byte_end":154172,"line_start":594,"line_end":594,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2206204241}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154175,"byte_end":154181,"line_start":594,"line_end":594,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":494928209}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154243,"byte_end":154245,"line_start":597,"line_end":597,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154246,"byte_end":154252,"line_start":597,"line_end":597,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154437,"byte_end":154445,"line_start":603,"line_end":603,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":2214592849}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154459,"byte_end":154462,"line_start":603,"line_end":603,"column_start":42,"column_end":45},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":154448,"byte_end":154452,"line_start":603,"line_end":603,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":154454,"byte_end":154457,"line_start":603,"line_end":603,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154501,"byte_end":154504,"line_start":604,"line_end":604,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154515,"byte_end":154518,"line_start":604,"line_end":604,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154505,"byte_end":154513,"line_start":604,"line_end":604,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154610,"byte_end":154621,"line_start":606,"line_end":606,"column_start":52,"column_end":63},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154593,"byte_end":154601,"line_start":606,"line_end":606,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2214592849}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154648,"byte_end":154661,"line_start":607,"line_end":607,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154641,"byte_end":154647,"line_start":607,"line_end":607,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154663,"byte_end":154673,"line_start":607,"line_end":607,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3628073297}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154737,"byte_end":154751,"line_start":610,"line_end":610,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154715,"byte_end":154728,"line_start":610,"line_end":610,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154708,"byte_end":154714,"line_start":610,"line_end":610,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154729,"byte_end":154735,"line_start":610,"line_end":610,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154752,"byte_end":154760,"line_start":610,"line_end":610,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":1816133969}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154794,"byte_end":154807,"line_start":612,"line_end":612,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154787,"byte_end":154793,"line_start":612,"line_end":612,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871249}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154808,"byte_end":154813,"line_start":612,"line_end":612,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3892314449}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154841,"byte_end":154843,"line_start":614,"line_end":614,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154844,"byte_end":154850,"line_start":614,"line_end":614,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154986,"byte_end":154991,"line_start":619,"line_end":619,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154902,"byte_end":154911,"line_start":619,"line_end":619,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154929,"byte_end":154938,"line_start":619,"line_end":619,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154943,"byte_end":154949,"line_start":619,"line_end":619,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154950,"byte_end":154956,"line_start":619,"line_end":619,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154964,"byte_end":154972,"line_start":619,"line_end":619,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155029,"byte_end":155038,"line_start":621,"line_end":621,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155022,"byte_end":155028,"line_start":621,"line_end":621,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742166}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155039,"byte_end":155045,"line_start":621,"line_end":621,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871254}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155086,"byte_end":155100,"line_start":623,"line_end":623,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155076,"byte_end":155083,"line_start":623,"line_end":623,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218070}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155147,"byte_end":155157,"line_start":625,"line_end":625,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155184,"byte_end":155186,"line_start":626,"line_end":626,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155187,"byte_end":155191,"line_start":626,"line_end":626,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155244,"byte_end":155254,"line_start":629,"line_end":629,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155237,"byte_end":155243,"line_start":629,"line_end":629,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871254}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155255,"byte_end":155261,"line_start":629,"line_end":629,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742166}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155262,"byte_end":155273,"line_start":629,"line_end":629,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155275,"byte_end":155279,"line_start":629,"line_end":629,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155290,"byte_end":155303,"line_start":629,"line_end":629,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155320,"byte_end":155324,"line_start":631,"line_end":631,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4227858774}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155325,"byte_end":155329,"line_start":631,"line_end":631,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3648}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155420,"byte_end":155430,"line_start":635,"line_end":635,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155413,"byte_end":155419,"line_start":635,"line_end":635,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871254}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155433,"byte_end":155482,"line_start":635,"line_end":635,"column_start":46,"column_end":95},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155433,"byte_end":155445,"line_start":635,"line_end":635,"column_start":46,"column_end":58},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155434,"byte_end":155444,"line_start":635,"line_end":635,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155447,"byte_end":155482,"line_start":635,"line_end":635,"column_start":60,"column_end":95},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155448,"byte_end":155458,"line_start":635,"line_end":635,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155462,"byte_end":155466,"line_start":635,"line_end":635,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":4227858774}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155467,"byte_end":155471,"line_start":635,"line_end":635,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":3648}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155505,"byte_end":155507,"line_start":637,"line_end":637,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155508,"byte_end":155512,"line_start":637,"line_end":637,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155513,"byte_end":155518,"line_start":637,"line_end":637,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":973078870}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155642,"byte_end":155655,"line_start":642,"line_end":642,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155688,"byte_end":155697,"line_start":642,"line_end":642,"column_start":88,"column_end":97},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155664,"byte_end":155675,"line_start":642,"line_end":642,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155657,"byte_end":155663,"line_start":642,"line_end":642,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536871254}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155676,"byte_end":155686,"line_start":642,"line_end":642,"column_start":76,"column_end":86},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155776,"byte_end":155786,"line_start":645,"line_end":645,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155769,"byte_end":155775,"line_start":645,"line_end":645,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871254}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155789,"byte_end":155836,"line_start":645,"line_end":645,"column_start":46,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155789,"byte_end":155805,"line_start":645,"line_end":645,"column_start":46,"column_end":62},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155790,"byte_end":155800,"line_start":645,"line_end":645,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155807,"byte_end":155836,"line_start":645,"line_end":645,"column_start":64,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155808,"byte_end":155818,"line_start":645,"line_end":645,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3623878998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155825,"byte_end":155835,"line_start":645,"line_end":645,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":3238003030}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155859,"byte_end":155861,"line_start":647,"line_end":647,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155862,"byte_end":155866,"line_start":647,"line_end":647,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155867,"byte_end":155872,"line_start":647,"line_end":647,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1493172566}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155940,"byte_end":155949,"line_start":652,"line_end":652,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155967,"byte_end":155976,"line_start":652,"line_end":652,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155981,"byte_end":155988,"line_start":652,"line_end":652,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156009,"byte_end":156016,"line_start":653,"line_end":653,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155999,"byte_end":156007,"line_start":653,"line_end":653,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156017,"byte_end":156022,"line_start":653,"line_end":653,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073742169}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156024,"byte_end":156030,"line_start":653,"line_end":653,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871257}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156032,"byte_end":156038,"line_start":653,"line_end":653,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613081}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156085,"byte_end":156094,"line_start":656,"line_end":656,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156105,"byte_end":156114,"line_start":656,"line_end":656,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156119,"byte_end":156125,"line_start":656,"line_end":656,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156133,"byte_end":156141,"line_start":656,"line_end":656,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156163,"byte_end":156171,"line_start":657,"line_end":657,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156153,"byte_end":156161,"line_start":657,"line_end":657,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156172,"byte_end":156177,"line_start":657,"line_end":657,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1073742170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156179,"byte_end":156185,"line_start":657,"line_end":657,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":536871258}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156187,"byte_end":156193,"line_start":657,"line_end":657,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610613082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156237,"byte_end":156240,"line_start":660,"line_end":660,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156241,"byte_end":156257,"line_start":660,"line_end":660,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156274,"byte_end":156277,"line_start":660,"line_end":660,"column_start":73,"column_end":76},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156278,"byte_end":156285,"line_start":660,"line_end":660,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156291,"byte_end":156297,"line_start":660,"line_end":660,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156305,"byte_end":156308,"line_start":660,"line_end":660,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156314,"byte_end":156317,"line_start":660,"line_end":660,"column_start":113,"column_end":116},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156318,"byte_end":156334,"line_start":660,"line_end":660,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156338,"byte_end":156346,"line_start":660,"line_end":660,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156368,"byte_end":156387,"line_start":661,"line_end":661,"column_start":19,"column_end":38},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156358,"byte_end":156366,"line_start":661,"line_end":661,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156388,"byte_end":156394,"line_start":661,"line_end":661,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742171}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156396,"byte_end":156407,"line_start":661,"line_end":661,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":536871259}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156452,"byte_end":156455,"line_start":664,"line_end":664,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156456,"byte_end":156472,"line_start":664,"line_end":664,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156515,"byte_end":156518,"line_start":664,"line_end":664,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156519,"byte_end":156535,"line_start":664,"line_end":664,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156558,"byte_end":156578,"line_start":665,"line_end":665,"column_start":19,"column_end":39},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156548,"byte_end":156556,"line_start":665,"line_end":665,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156579,"byte_end":156585,"line_start":665,"line_end":665,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073742172}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156587,"byte_end":156594,"line_start":665,"line_end":665,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":536871260}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156596,"byte_end":156601,"line_start":665,"line_end":665,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":1610613084}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57366,"byte_end":57373,"line_start":17,"line_end":17,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":349}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":161098,"byte_end":161103,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2458}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161105,"byte_end":161111,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3595}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3595}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3601}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3601}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3607}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3607}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3613}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3613}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3577}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3577}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3583}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3583}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3625}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3625}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161272,"byte_end":161277,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161279,"byte_end":161283,"line_start":33,"line_end":33,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161294,"byte_end":161299,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161301,"byte_end":161307,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161328,"byte_end":161332,"line_start":35,"line_end":35,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":12197}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161335,"byte_end":161338,"line_start":35,"line_end":35,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161355,"byte_end":161360,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161362,"byte_end":161369,"line_start":37,"line_end":37,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161383,"byte_end":161388,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161390,"byte_end":161396,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161410,"byte_end":161415,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161439,"byte_end":161444,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161446,"byte_end":161452,"line_start":40,"line_end":40,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2354}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161476,"byte_end":161481,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161483,"byte_end":161486,"line_start":41,"line_end":41,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":161497,"byte_end":161502,"line_start":42,"line_end":42,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2730}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161504,"byte_end":161509,"line_start":42,"line_end":42,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":161528,"byte_end":161533,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161535,"byte_end":161540,"line_start":43,"line_end":43,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161557,"byte_end":161562,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161564,"byte_end":161569,"line_start":44,"line_end":44,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161593,"byte_end":161599,"line_start":45,"line_end":45,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161614,"byte_end":161621,"line_start":45,"line_end":45,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161633,"byte_end":161642,"line_start":45,"line_end":45,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161653,"byte_end":161662,"line_start":45,"line_end":45,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161677,"byte_end":161682,"line_start":47,"line_end":47,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161684,"byte_end":161690,"line_start":47,"line_end":47,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161706,"byte_end":161711,"line_start":48,"line_end":48,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161714,"byte_end":161720,"line_start":48,"line_end":48,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161736,"byte_end":161741,"line_start":49,"line_end":49,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161760,"byte_end":161765,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2863}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2865}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2860}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181600,"byte_end":181605,"line_start":480,"line_end":480,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181563,"byte_end":181570,"line_start":480,"line_end":480,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181575,"byte_end":181581,"line_start":480,"line_end":480,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181717,"byte_end":181722,"line_start":481,"line_end":481,"column_start":111,"column_end":116},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181692,"byte_end":181698,"line_start":481,"line_end":481,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181842,"byte_end":181847,"line_start":482,"line_end":482,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181791,"byte_end":181794,"line_start":482,"line_end":482,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181795,"byte_end":181811,"line_start":482,"line_end":482,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181817,"byte_end":181823,"line_start":482,"line_end":482,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181925,"byte_end":181930,"line_start":483,"line_end":483,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181933,"byte_end":181940,"line_start":483,"line_end":483,"column_start":85,"column_end":92},"ref_id":{"krate":1,"index":12197}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181881,"byte_end":181887,"line_start":483,"line_end":483,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181888,"byte_end":181894,"line_start":483,"line_end":483,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181900,"byte_end":181906,"line_start":483,"line_end":483,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":181968,"byte_end":181973,"line_start":484,"line_end":484,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742276}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181958,"byte_end":181962,"line_start":484,"line_end":484,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182005,"byte_end":182010,"line_start":485,"line_end":485,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182003,"byte_end":182004,"line_start":485,"line_end":485,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":2684355012}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181995,"byte_end":181997,"line_start":485,"line_end":485,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182039,"byte_end":182043,"line_start":486,"line_end":486,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182044,"byte_end":182045,"line_start":486,"line_end":486,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":805306820}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182084,"byte_end":182088,"line_start":488,"line_end":488,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182132,"byte_end":182136,"line_start":491,"line_end":491,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182162,"byte_end":182174,"line_start":497,"line_end":497,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182302,"byte_end":182307,"line_start":498,"line_end":498,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182251,"byte_end":182254,"line_start":498,"line_end":498,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182255,"byte_end":182271,"line_start":498,"line_end":498,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182277,"byte_end":182283,"line_start":498,"line_end":498,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182343,"byte_end":182346,"line_start":500,"line_end":500,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871366}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182347,"byte_end":182358,"line_start":500,"line_end":500,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742278}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182360,"byte_end":182364,"line_start":500,"line_end":500,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182375,"byte_end":182385,"line_start":500,"line_end":500,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3595}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182398,"byte_end":182402,"line_start":501,"line_end":501,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830918}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182403,"byte_end":182410,"line_start":501,"line_end":501,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3596}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182457,"byte_end":182464,"line_start":504,"line_end":504,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182469,"byte_end":182475,"line_start":504,"line_end":504,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182498,"byte_end":182502,"line_start":505,"line_end":505,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742280}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182526,"byte_end":182531,"line_start":506,"line_end":506,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182517,"byte_end":182524,"line_start":506,"line_end":506,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182526,"byte_end":182531,"line_start":506,"line_end":506,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182517,"byte_end":182524,"line_start":506,"line_end":506,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182556,"byte_end":182560,"line_start":507,"line_end":507,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182562,"byte_end":182563,"line_start":507,"line_end":507,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096840}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182609,"byte_end":182616,"line_start":509,"line_end":509,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182600,"byte_end":182607,"line_start":509,"line_end":509,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182609,"byte_end":182616,"line_start":509,"line_end":509,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182600,"byte_end":182607,"line_start":509,"line_end":509,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182641,"byte_end":182645,"line_start":510,"line_end":510,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182647,"byte_end":182648,"line_start":510,"line_end":510,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314568}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182708,"byte_end":182712,"line_start":513,"line_end":513,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182828,"byte_end":182834,"line_start":517,"line_end":517,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182854,"byte_end":182859,"line_start":518,"line_end":518,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871369}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182860,"byte_end":182867,"line_start":518,"line_end":518,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742281}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182892,"byte_end":182896,"line_start":519,"line_end":519,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182960,"byte_end":182967,"line_start":521,"line_end":521,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182951,"byte_end":182958,"line_start":521,"line_end":521,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182989,"byte_end":183004,"line_start":522,"line_end":522,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182983,"byte_end":182988,"line_start":522,"line_end":522,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266377}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183006,"byte_end":183011,"line_start":522,"line_end":522,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871369}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183012,"byte_end":183040,"line_start":522,"line_end":522,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183012,"byte_end":183025,"line_start":522,"line_end":522,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183013,"byte_end":183020,"line_start":522,"line_end":522,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742281}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183027,"byte_end":183040,"line_start":522,"line_end":522,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183028,"byte_end":183035,"line_start":522,"line_end":522,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742281}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183056,"byte_end":183060,"line_start":523,"line_end":523,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183065,"byte_end":183078,"line_start":523,"line_end":523,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":23380}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183079,"byte_end":183084,"line_start":523,"line_end":523,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2013266377}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185340,"byte_end":185352,"line_start":590,"line_end":590,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185481,"byte_end":185486,"line_start":591,"line_end":591,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185430,"byte_end":185433,"line_start":591,"line_end":591,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185434,"byte_end":185450,"line_start":591,"line_end":591,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185456,"byte_end":185462,"line_start":591,"line_end":591,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185521,"byte_end":185524,"line_start":592,"line_end":592,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871373}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185525,"byte_end":185536,"line_start":592,"line_end":592,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742285}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185538,"byte_end":185542,"line_start":592,"line_end":592,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185553,"byte_end":185564,"line_start":592,"line_end":592,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3601}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185577,"byte_end":185581,"line_start":593,"line_end":593,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830925}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185582,"byte_end":185589,"line_start":593,"line_end":593,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3602}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185635,"byte_end":185642,"line_start":595,"line_end":595,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185647,"byte_end":185653,"line_start":595,"line_end":595,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185676,"byte_end":185680,"line_start":596,"line_end":596,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742287}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185704,"byte_end":185709,"line_start":597,"line_end":597,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185695,"byte_end":185702,"line_start":597,"line_end":597,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185704,"byte_end":185709,"line_start":597,"line_end":597,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185695,"byte_end":185702,"line_start":597,"line_end":597,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185734,"byte_end":185738,"line_start":598,"line_end":598,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185740,"byte_end":185741,"line_start":598,"line_end":598,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096847}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185787,"byte_end":185794,"line_start":600,"line_end":600,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185778,"byte_end":185785,"line_start":600,"line_end":600,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185787,"byte_end":185794,"line_start":600,"line_end":600,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185778,"byte_end":185785,"line_start":600,"line_end":600,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185819,"byte_end":185823,"line_start":601,"line_end":601,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185825,"byte_end":185826,"line_start":601,"line_end":601,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314575}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185886,"byte_end":185890,"line_start":604,"line_end":604,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186006,"byte_end":186012,"line_start":608,"line_end":608,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186032,"byte_end":186037,"line_start":609,"line_end":609,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871376}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186038,"byte_end":186045,"line_start":609,"line_end":609,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742288}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186070,"byte_end":186074,"line_start":610,"line_end":610,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186138,"byte_end":186145,"line_start":612,"line_end":612,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186129,"byte_end":186136,"line_start":612,"line_end":612,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186167,"byte_end":186182,"line_start":613,"line_end":613,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186161,"byte_end":186166,"line_start":613,"line_end":613,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266384}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186184,"byte_end":186189,"line_start":613,"line_end":613,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871376}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186190,"byte_end":186218,"line_start":613,"line_end":613,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186190,"byte_end":186203,"line_start":613,"line_end":613,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186191,"byte_end":186198,"line_start":613,"line_end":613,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742288}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186205,"byte_end":186218,"line_start":613,"line_end":613,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186206,"byte_end":186213,"line_start":613,"line_end":613,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742288}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186234,"byte_end":186238,"line_start":614,"line_end":614,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186244,"byte_end":186257,"line_start":614,"line_end":614,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186258,"byte_end":186263,"line_start":614,"line_end":614,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266384}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187922,"byte_end":187934,"line_start":665,"line_end":665,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188063,"byte_end":188068,"line_start":666,"line_end":666,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188012,"byte_end":188015,"line_start":666,"line_end":666,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188016,"byte_end":188032,"line_start":666,"line_end":666,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188038,"byte_end":188044,"line_start":666,"line_end":666,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188103,"byte_end":188106,"line_start":667,"line_end":667,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871380}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188107,"byte_end":188118,"line_start":667,"line_end":667,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742292}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188120,"byte_end":188124,"line_start":667,"line_end":667,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188135,"byte_end":188146,"line_start":667,"line_end":667,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3607}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188159,"byte_end":188163,"line_start":668,"line_end":668,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830932}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188164,"byte_end":188171,"line_start":668,"line_end":668,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3608}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188217,"byte_end":188224,"line_start":670,"line_end":670,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188229,"byte_end":188235,"line_start":670,"line_end":670,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188258,"byte_end":188262,"line_start":671,"line_end":671,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742294}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188286,"byte_end":188291,"line_start":672,"line_end":672,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188277,"byte_end":188284,"line_start":672,"line_end":672,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188286,"byte_end":188291,"line_start":672,"line_end":672,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188277,"byte_end":188284,"line_start":672,"line_end":672,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188316,"byte_end":188320,"line_start":673,"line_end":673,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188322,"byte_end":188323,"line_start":673,"line_end":673,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096854}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188369,"byte_end":188376,"line_start":675,"line_end":675,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188360,"byte_end":188367,"line_start":675,"line_end":675,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188369,"byte_end":188376,"line_start":675,"line_end":675,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188360,"byte_end":188367,"line_start":675,"line_end":675,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188401,"byte_end":188405,"line_start":676,"line_end":676,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188407,"byte_end":188408,"line_start":676,"line_end":676,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314582}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188468,"byte_end":188472,"line_start":679,"line_end":679,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188588,"byte_end":188594,"line_start":683,"line_end":683,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188614,"byte_end":188619,"line_start":684,"line_end":684,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871383}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188620,"byte_end":188627,"line_start":684,"line_end":684,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742295}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188652,"byte_end":188656,"line_start":685,"line_end":685,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188720,"byte_end":188727,"line_start":687,"line_end":687,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188711,"byte_end":188718,"line_start":687,"line_end":687,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188749,"byte_end":188764,"line_start":688,"line_end":688,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188743,"byte_end":188748,"line_start":688,"line_end":688,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266391}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188766,"byte_end":188771,"line_start":688,"line_end":688,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871383}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188772,"byte_end":188800,"line_start":688,"line_end":688,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188772,"byte_end":188785,"line_start":688,"line_end":688,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188773,"byte_end":188780,"line_start":688,"line_end":688,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742295}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188787,"byte_end":188800,"line_start":688,"line_end":688,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188788,"byte_end":188795,"line_start":688,"line_end":688,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742295}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188816,"byte_end":188820,"line_start":689,"line_end":689,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188826,"byte_end":188839,"line_start":689,"line_end":689,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188840,"byte_end":188845,"line_start":689,"line_end":689,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266391}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190355,"byte_end":190367,"line_start":738,"line_end":738,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190496,"byte_end":190501,"line_start":739,"line_end":739,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190445,"byte_end":190448,"line_start":739,"line_end":739,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190449,"byte_end":190465,"line_start":739,"line_end":739,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190471,"byte_end":190477,"line_start":739,"line_end":739,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190536,"byte_end":190539,"line_start":740,"line_end":740,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871387}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190540,"byte_end":190551,"line_start":740,"line_end":740,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742299}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190553,"byte_end":190557,"line_start":740,"line_end":740,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190568,"byte_end":190579,"line_start":740,"line_end":740,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3613}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190592,"byte_end":190596,"line_start":741,"line_end":741,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830939}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190597,"byte_end":190604,"line_start":741,"line_end":741,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3614}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190650,"byte_end":190657,"line_start":743,"line_end":743,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190662,"byte_end":190668,"line_start":743,"line_end":743,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190691,"byte_end":190695,"line_start":744,"line_end":744,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742301}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190719,"byte_end":190724,"line_start":745,"line_end":745,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190710,"byte_end":190717,"line_start":745,"line_end":745,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190719,"byte_end":190724,"line_start":745,"line_end":745,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190710,"byte_end":190717,"line_start":745,"line_end":745,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190749,"byte_end":190753,"line_start":746,"line_end":746,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190755,"byte_end":190756,"line_start":746,"line_end":746,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190802,"byte_end":190809,"line_start":748,"line_end":748,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190793,"byte_end":190800,"line_start":748,"line_end":748,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190802,"byte_end":190809,"line_start":748,"line_end":748,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190793,"byte_end":190800,"line_start":748,"line_end":748,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190834,"byte_end":190838,"line_start":749,"line_end":749,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190840,"byte_end":190841,"line_start":749,"line_end":749,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190901,"byte_end":190905,"line_start":752,"line_end":752,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191021,"byte_end":191027,"line_start":756,"line_end":756,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191047,"byte_end":191052,"line_start":757,"line_end":757,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871390}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191053,"byte_end":191060,"line_start":757,"line_end":757,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742302}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191085,"byte_end":191089,"line_start":758,"line_end":758,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191153,"byte_end":191160,"line_start":760,"line_end":760,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191144,"byte_end":191151,"line_start":760,"line_end":760,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191182,"byte_end":191197,"line_start":761,"line_end":761,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191176,"byte_end":191181,"line_start":761,"line_end":761,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266398}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191199,"byte_end":191204,"line_start":761,"line_end":761,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871390}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191205,"byte_end":191234,"line_start":761,"line_end":761,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191205,"byte_end":191218,"line_start":761,"line_end":761,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191206,"byte_end":191213,"line_start":761,"line_end":761,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742302}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191220,"byte_end":191234,"line_start":761,"line_end":761,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191221,"byte_end":191228,"line_start":761,"line_end":761,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742302}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191250,"byte_end":191254,"line_start":762,"line_end":762,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191260,"byte_end":191273,"line_start":762,"line_end":762,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191274,"byte_end":191279,"line_start":762,"line_end":762,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266398}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192938,"byte_end":192950,"line_start":813,"line_end":813,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193078,"byte_end":193083,"line_start":814,"line_end":814,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193027,"byte_end":193030,"line_start":814,"line_end":814,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193031,"byte_end":193047,"line_start":814,"line_end":814,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193053,"byte_end":193059,"line_start":814,"line_end":814,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193118,"byte_end":193121,"line_start":815,"line_end":815,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871394}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193122,"byte_end":193133,"line_start":815,"line_end":815,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742306}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193135,"byte_end":193139,"line_start":815,"line_end":815,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193150,"byte_end":193160,"line_start":815,"line_end":815,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193173,"byte_end":193177,"line_start":816,"line_end":816,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830946}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193178,"byte_end":193185,"line_start":816,"line_end":816,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3572}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193231,"byte_end":193238,"line_start":818,"line_end":818,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193243,"byte_end":193249,"line_start":818,"line_end":818,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193272,"byte_end":193276,"line_start":819,"line_end":819,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742308}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193300,"byte_end":193305,"line_start":820,"line_end":820,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193291,"byte_end":193298,"line_start":820,"line_end":820,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193300,"byte_end":193305,"line_start":820,"line_end":820,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193291,"byte_end":193298,"line_start":820,"line_end":820,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193330,"byte_end":193334,"line_start":821,"line_end":821,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193336,"byte_end":193337,"line_start":821,"line_end":821,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096868}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193383,"byte_end":193390,"line_start":823,"line_end":823,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193374,"byte_end":193381,"line_start":823,"line_end":823,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193383,"byte_end":193390,"line_start":823,"line_end":823,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193374,"byte_end":193381,"line_start":823,"line_end":823,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193415,"byte_end":193419,"line_start":824,"line_end":824,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193421,"byte_end":193422,"line_start":824,"line_end":824,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314596}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193482,"byte_end":193486,"line_start":827,"line_end":827,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193602,"byte_end":193608,"line_start":831,"line_end":831,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193628,"byte_end":193633,"line_start":832,"line_end":832,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871397}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193634,"byte_end":193641,"line_start":832,"line_end":832,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742309}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193666,"byte_end":193670,"line_start":833,"line_end":833,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193734,"byte_end":193741,"line_start":835,"line_end":835,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193725,"byte_end":193732,"line_start":835,"line_end":835,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193763,"byte_end":193778,"line_start":836,"line_end":836,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193757,"byte_end":193762,"line_start":836,"line_end":836,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266405}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193780,"byte_end":193785,"line_start":836,"line_end":836,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871397}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193786,"byte_end":193814,"line_start":836,"line_end":836,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193786,"byte_end":193799,"line_start":836,"line_end":836,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193787,"byte_end":193794,"line_start":836,"line_end":836,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742309}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193801,"byte_end":193814,"line_start":836,"line_end":836,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193802,"byte_end":193809,"line_start":836,"line_end":836,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742309}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193830,"byte_end":193834,"line_start":837,"line_end":837,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193839,"byte_end":193852,"line_start":837,"line_end":837,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":24015}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193853,"byte_end":193858,"line_start":837,"line_end":837,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2013266405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195363,"byte_end":195375,"line_start":886,"line_end":886,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195504,"byte_end":195509,"line_start":887,"line_end":887,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195453,"byte_end":195456,"line_start":887,"line_end":887,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195457,"byte_end":195473,"line_start":887,"line_end":887,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195479,"byte_end":195485,"line_start":887,"line_end":887,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195544,"byte_end":195547,"line_start":888,"line_end":888,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871401}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195548,"byte_end":195559,"line_start":888,"line_end":888,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742313}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195561,"byte_end":195565,"line_start":888,"line_end":888,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195576,"byte_end":195587,"line_start":888,"line_end":888,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3577}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195600,"byte_end":195604,"line_start":889,"line_end":889,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830953}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195605,"byte_end":195612,"line_start":889,"line_end":889,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3578}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195658,"byte_end":195665,"line_start":891,"line_end":891,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195670,"byte_end":195676,"line_start":891,"line_end":891,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195699,"byte_end":195703,"line_start":892,"line_end":892,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742315}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195727,"byte_end":195732,"line_start":893,"line_end":893,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195718,"byte_end":195725,"line_start":893,"line_end":893,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195727,"byte_end":195732,"line_start":893,"line_end":893,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195718,"byte_end":195725,"line_start":893,"line_end":893,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195757,"byte_end":195761,"line_start":894,"line_end":894,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195763,"byte_end":195764,"line_start":894,"line_end":894,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096875}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195810,"byte_end":195817,"line_start":896,"line_end":896,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195801,"byte_end":195808,"line_start":896,"line_end":896,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195810,"byte_end":195817,"line_start":896,"line_end":896,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195801,"byte_end":195808,"line_start":896,"line_end":896,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195842,"byte_end":195846,"line_start":897,"line_end":897,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195848,"byte_end":195849,"line_start":897,"line_end":897,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314603}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195909,"byte_end":195913,"line_start":900,"line_end":900,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196029,"byte_end":196035,"line_start":904,"line_end":904,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196055,"byte_end":196060,"line_start":905,"line_end":905,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871404}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196061,"byte_end":196068,"line_start":905,"line_end":905,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742316}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196093,"byte_end":196097,"line_start":906,"line_end":906,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196161,"byte_end":196168,"line_start":908,"line_end":908,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196152,"byte_end":196159,"line_start":908,"line_end":908,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196190,"byte_end":196205,"line_start":909,"line_end":909,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196184,"byte_end":196189,"line_start":909,"line_end":909,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266412}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196207,"byte_end":196212,"line_start":909,"line_end":909,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871404}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196213,"byte_end":196241,"line_start":909,"line_end":909,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196213,"byte_end":196226,"line_start":909,"line_end":909,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196214,"byte_end":196221,"line_start":909,"line_end":909,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742316}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196228,"byte_end":196241,"line_start":909,"line_end":909,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196229,"byte_end":196236,"line_start":909,"line_end":909,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742316}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196257,"byte_end":196261,"line_start":910,"line_end":910,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196267,"byte_end":196280,"line_start":910,"line_end":910,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196281,"byte_end":196286,"line_start":910,"line_end":910,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266412}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197798,"byte_end":197810,"line_start":959,"line_end":959,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197939,"byte_end":197944,"line_start":960,"line_end":960,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197888,"byte_end":197891,"line_start":960,"line_end":960,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197892,"byte_end":197908,"line_start":960,"line_end":960,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197914,"byte_end":197920,"line_start":960,"line_end":960,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197979,"byte_end":197982,"line_start":961,"line_end":961,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871408}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197983,"byte_end":197994,"line_start":961,"line_end":961,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742320}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197996,"byte_end":198000,"line_start":961,"line_end":961,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198011,"byte_end":198022,"line_start":961,"line_end":961,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3583}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198035,"byte_end":198039,"line_start":962,"line_end":962,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830960}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198040,"byte_end":198047,"line_start":962,"line_end":962,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3584}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198093,"byte_end":198100,"line_start":964,"line_end":964,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198105,"byte_end":198111,"line_start":964,"line_end":964,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198134,"byte_end":198138,"line_start":965,"line_end":965,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742322}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198162,"byte_end":198167,"line_start":966,"line_end":966,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198153,"byte_end":198160,"line_start":966,"line_end":966,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198162,"byte_end":198167,"line_start":966,"line_end":966,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198153,"byte_end":198160,"line_start":966,"line_end":966,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198192,"byte_end":198196,"line_start":967,"line_end":967,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198198,"byte_end":198199,"line_start":967,"line_end":967,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096882}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198245,"byte_end":198252,"line_start":969,"line_end":969,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198236,"byte_end":198243,"line_start":969,"line_end":969,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198245,"byte_end":198252,"line_start":969,"line_end":969,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198236,"byte_end":198243,"line_start":969,"line_end":969,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198277,"byte_end":198281,"line_start":970,"line_end":970,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198283,"byte_end":198284,"line_start":970,"line_end":970,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314610}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198344,"byte_end":198348,"line_start":973,"line_end":973,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198464,"byte_end":198470,"line_start":977,"line_end":977,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198490,"byte_end":198495,"line_start":978,"line_end":978,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871411}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198496,"byte_end":198503,"line_start":978,"line_end":978,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742323}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198528,"byte_end":198532,"line_start":979,"line_end":979,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198596,"byte_end":198603,"line_start":981,"line_end":981,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198587,"byte_end":198594,"line_start":981,"line_end":981,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198625,"byte_end":198640,"line_start":982,"line_end":982,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198619,"byte_end":198624,"line_start":982,"line_end":982,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266419}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198642,"byte_end":198647,"line_start":982,"line_end":982,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871411}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198648,"byte_end":198676,"line_start":982,"line_end":982,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198648,"byte_end":198661,"line_start":982,"line_end":982,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198649,"byte_end":198656,"line_start":982,"line_end":982,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742323}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198663,"byte_end":198676,"line_start":982,"line_end":982,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198664,"byte_end":198671,"line_start":982,"line_end":982,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742323}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198692,"byte_end":198696,"line_start":983,"line_end":983,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198702,"byte_end":198715,"line_start":983,"line_end":983,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198716,"byte_end":198721,"line_start":983,"line_end":983,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266419}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200233,"byte_end":200245,"line_start":1032,"line_end":1032,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200374,"byte_end":200379,"line_start":1033,"line_end":1033,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200323,"byte_end":200326,"line_start":1033,"line_end":1033,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200327,"byte_end":200343,"line_start":1033,"line_end":1033,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200349,"byte_end":200355,"line_start":1033,"line_end":1033,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200414,"byte_end":200417,"line_start":1034,"line_end":1034,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871415}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200418,"byte_end":200429,"line_start":1034,"line_end":1034,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742327}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200431,"byte_end":200435,"line_start":1034,"line_end":1034,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200446,"byte_end":200457,"line_start":1034,"line_end":1034,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200470,"byte_end":200474,"line_start":1035,"line_end":1035,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830967}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200475,"byte_end":200482,"line_start":1035,"line_end":1035,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200528,"byte_end":200535,"line_start":1037,"line_end":1037,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200540,"byte_end":200546,"line_start":1037,"line_end":1037,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200569,"byte_end":200573,"line_start":1038,"line_end":1038,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742329}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200597,"byte_end":200602,"line_start":1039,"line_end":1039,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200588,"byte_end":200595,"line_start":1039,"line_end":1039,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200597,"byte_end":200602,"line_start":1039,"line_end":1039,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200588,"byte_end":200595,"line_start":1039,"line_end":1039,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200627,"byte_end":200631,"line_start":1040,"line_end":1040,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200633,"byte_end":200634,"line_start":1040,"line_end":1040,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096889}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200680,"byte_end":200687,"line_start":1042,"line_end":1042,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200671,"byte_end":200678,"line_start":1042,"line_end":1042,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200680,"byte_end":200687,"line_start":1042,"line_end":1042,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200671,"byte_end":200678,"line_start":1042,"line_end":1042,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200712,"byte_end":200716,"line_start":1043,"line_end":1043,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200718,"byte_end":200719,"line_start":1043,"line_end":1043,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314617}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200779,"byte_end":200783,"line_start":1046,"line_end":1046,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200899,"byte_end":200905,"line_start":1050,"line_end":1050,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200925,"byte_end":200930,"line_start":1051,"line_end":1051,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871418}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200931,"byte_end":200938,"line_start":1051,"line_end":1051,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742330}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200963,"byte_end":200967,"line_start":1052,"line_end":1052,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201031,"byte_end":201038,"line_start":1054,"line_end":1054,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201022,"byte_end":201029,"line_start":1054,"line_end":1054,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201060,"byte_end":201075,"line_start":1055,"line_end":1055,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201054,"byte_end":201059,"line_start":1055,"line_end":1055,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266426}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201077,"byte_end":201082,"line_start":1055,"line_end":1055,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871418}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201083,"byte_end":201112,"line_start":1055,"line_end":1055,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201083,"byte_end":201096,"line_start":1055,"line_end":1055,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201084,"byte_end":201091,"line_start":1055,"line_end":1055,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742330}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201098,"byte_end":201112,"line_start":1055,"line_end":1055,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201099,"byte_end":201106,"line_start":1055,"line_end":1055,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742330}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201128,"byte_end":201132,"line_start":1056,"line_end":1056,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201138,"byte_end":201151,"line_start":1056,"line_end":1056,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201152,"byte_end":201157,"line_start":1056,"line_end":1056,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202668,"byte_end":202680,"line_start":1104,"line_end":1104,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202809,"byte_end":202814,"line_start":1105,"line_end":1105,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202758,"byte_end":202761,"line_start":1105,"line_end":1105,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202762,"byte_end":202778,"line_start":1105,"line_end":1105,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202784,"byte_end":202790,"line_start":1105,"line_end":1105,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202849,"byte_end":202852,"line_start":1106,"line_end":1106,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871422}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202853,"byte_end":202864,"line_start":1106,"line_end":1106,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742334}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202866,"byte_end":202870,"line_start":1106,"line_end":1106,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202881,"byte_end":202892,"line_start":1106,"line_end":1106,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3619}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202905,"byte_end":202909,"line_start":1107,"line_end":1107,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830974}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202910,"byte_end":202917,"line_start":1107,"line_end":1107,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3620}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202963,"byte_end":202970,"line_start":1109,"line_end":1109,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202975,"byte_end":202981,"line_start":1109,"line_end":1109,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203004,"byte_end":203008,"line_start":1110,"line_end":1110,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742336}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203032,"byte_end":203037,"line_start":1111,"line_end":1111,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203023,"byte_end":203030,"line_start":1111,"line_end":1111,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203032,"byte_end":203037,"line_start":1111,"line_end":1111,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203023,"byte_end":203030,"line_start":1111,"line_end":1111,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203062,"byte_end":203066,"line_start":1112,"line_end":1112,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203068,"byte_end":203069,"line_start":1112,"line_end":1112,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096896}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203115,"byte_end":203122,"line_start":1114,"line_end":1114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203106,"byte_end":203113,"line_start":1114,"line_end":1114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203115,"byte_end":203122,"line_start":1114,"line_end":1114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203106,"byte_end":203113,"line_start":1114,"line_end":1114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203147,"byte_end":203151,"line_start":1115,"line_end":1115,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203153,"byte_end":203154,"line_start":1115,"line_end":1115,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314624}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203214,"byte_end":203218,"line_start":1118,"line_end":1118,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203334,"byte_end":203340,"line_start":1122,"line_end":1122,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203360,"byte_end":203365,"line_start":1123,"line_end":1123,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871425}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203366,"byte_end":203373,"line_start":1123,"line_end":1123,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742337}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203398,"byte_end":203402,"line_start":1124,"line_end":1124,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203466,"byte_end":203473,"line_start":1126,"line_end":1126,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203457,"byte_end":203464,"line_start":1126,"line_end":1126,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203495,"byte_end":203510,"line_start":1127,"line_end":1127,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203489,"byte_end":203494,"line_start":1127,"line_end":1127,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266433}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203512,"byte_end":203517,"line_start":1127,"line_end":1127,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871425}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203518,"byte_end":203546,"line_start":1127,"line_end":1127,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203518,"byte_end":203531,"line_start":1127,"line_end":1127,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203519,"byte_end":203526,"line_start":1127,"line_end":1127,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742337}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203533,"byte_end":203546,"line_start":1127,"line_end":1127,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203534,"byte_end":203541,"line_start":1127,"line_end":1127,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742337}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203562,"byte_end":203566,"line_start":1128,"line_end":1128,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203572,"byte_end":203585,"line_start":1128,"line_end":1128,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":168}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203586,"byte_end":203591,"line_start":1128,"line_end":1128,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266433}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205151,"byte_end":205163,"line_start":1177,"line_end":1177,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205292,"byte_end":205297,"line_start":1178,"line_end":1178,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205241,"byte_end":205244,"line_start":1178,"line_end":1178,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205245,"byte_end":205261,"line_start":1178,"line_end":1178,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205267,"byte_end":205273,"line_start":1178,"line_end":1178,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205332,"byte_end":205335,"line_start":1179,"line_end":1179,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871429}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205336,"byte_end":205347,"line_start":1179,"line_end":1179,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742341}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205349,"byte_end":205353,"line_start":1179,"line_end":1179,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205364,"byte_end":205375,"line_start":1179,"line_end":1179,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3625}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205388,"byte_end":205392,"line_start":1180,"line_end":1180,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830981}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205393,"byte_end":205400,"line_start":1180,"line_end":1180,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3626}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205446,"byte_end":205453,"line_start":1182,"line_end":1182,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205458,"byte_end":205464,"line_start":1182,"line_end":1182,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205487,"byte_end":205491,"line_start":1183,"line_end":1183,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742343}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205515,"byte_end":205520,"line_start":1184,"line_end":1184,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205506,"byte_end":205513,"line_start":1184,"line_end":1184,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205515,"byte_end":205520,"line_start":1184,"line_end":1184,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205506,"byte_end":205513,"line_start":1184,"line_end":1184,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205545,"byte_end":205549,"line_start":1185,"line_end":1185,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205551,"byte_end":205552,"line_start":1185,"line_end":1185,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096903}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205598,"byte_end":205605,"line_start":1187,"line_end":1187,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205589,"byte_end":205596,"line_start":1187,"line_end":1187,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205598,"byte_end":205605,"line_start":1187,"line_end":1187,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205589,"byte_end":205596,"line_start":1187,"line_end":1187,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205630,"byte_end":205634,"line_start":1188,"line_end":1188,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205636,"byte_end":205637,"line_start":1188,"line_end":1188,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314631}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205697,"byte_end":205701,"line_start":1191,"line_end":1191,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205817,"byte_end":205823,"line_start":1195,"line_end":1195,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205843,"byte_end":205848,"line_start":1196,"line_end":1196,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871432}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205849,"byte_end":205856,"line_start":1196,"line_end":1196,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742344}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205881,"byte_end":205885,"line_start":1197,"line_end":1197,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":205949,"byte_end":205956,"line_start":1199,"line_end":1199,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205940,"byte_end":205947,"line_start":1199,"line_end":1199,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":205978,"byte_end":205993,"line_start":1200,"line_end":1200,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205972,"byte_end":205977,"line_start":1200,"line_end":1200,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266440}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205995,"byte_end":206000,"line_start":1200,"line_end":1200,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871432}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206001,"byte_end":206030,"line_start":1200,"line_end":1200,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206001,"byte_end":206014,"line_start":1200,"line_end":1200,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206002,"byte_end":206009,"line_start":1200,"line_end":1200,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742344}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206016,"byte_end":206030,"line_start":1200,"line_end":1200,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206017,"byte_end":206024,"line_start":1200,"line_end":1200,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742344}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206046,"byte_end":206050,"line_start":1201,"line_end":1201,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206056,"byte_end":206069,"line_start":1201,"line_end":1201,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":268}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206070,"byte_end":206075,"line_start":1201,"line_end":1201,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266440}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57383,"byte_end":57387,"line_start":18,"line_end":18,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":523}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208117,"byte_end":208122,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208124,"byte_end":208128,"line_start":18,"line_end":18,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208139,"byte_end":208144,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208146,"byte_end":208152,"line_start":19,"line_end":19,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208174,"byte_end":208177,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208174,"byte_end":208177,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208200,"byte_end":208209,"line_start":20,"line_end":20,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3631}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3631}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208280,"byte_end":208285,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208287,"byte_end":208292,"line_start":21,"line_end":21,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208316,"byte_end":208322,"line_start":22,"line_end":22,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208339,"byte_end":208346,"line_start":22,"line_end":22,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208358,"byte_end":208367,"line_start":22,"line_end":22,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208384,"byte_end":208389,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208391,"byte_end":208394,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208405,"byte_end":208410,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208412,"byte_end":208417,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208428,"byte_end":208433,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208436,"byte_end":208442,"line_start":26,"line_end":26,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208458,"byte_end":208463,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208480,"byte_end":208485,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208487,"byte_end":208493,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208510,"byte_end":208515,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208549,"byte_end":208558,"line_start":32,"line_end":32,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208542,"byte_end":208547,"line_start":32,"line_end":32,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208657,"byte_end":208662,"line_start":34,"line_end":34,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208611,"byte_end":208627,"line_start":34,"line_end":34,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208632,"byte_end":208638,"line_start":34,"line_end":34,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208673,"byte_end":208677,"line_start":35,"line_end":35,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":208684,"byte_end":208691,"line_start":35,"line_end":35,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208731,"byte_end":208740,"line_start":37,"line_end":37,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208752,"byte_end":208761,"line_start":37,"line_end":37,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208766,"byte_end":208772,"line_start":37,"line_end":37,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208789,"byte_end":208793,"line_start":38,"line_end":38,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208837,"byte_end":208846,"line_start":41,"line_end":41,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208858,"byte_end":208867,"line_start":41,"line_end":41,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208872,"byte_end":208878,"line_start":41,"line_end":41,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208895,"byte_end":208899,"line_start":42,"line_end":42,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208929,"byte_end":208937,"line_start":46,"line_end":46,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208993,"byte_end":209004,"line_start":48,"line_end":48,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209030,"byte_end":209037,"line_start":48,"line_end":48,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209017,"byte_end":209028,"line_start":48,"line_end":48,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209086,"byte_end":209097,"line_start":49,"line_end":49,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209123,"byte_end":209130,"line_start":49,"line_end":49,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209110,"byte_end":209121,"line_start":49,"line_end":49,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209166,"byte_end":209169,"line_start":51,"line_end":51,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209170,"byte_end":209186,"line_start":51,"line_end":51,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209207,"byte_end":209213,"line_start":51,"line_end":51,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209214,"byte_end":209221,"line_start":51,"line_end":51,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209223,"byte_end":209231,"line_start":51,"line_end":51,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209272,"byte_end":209275,"line_start":52,"line_end":52,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209265,"byte_end":209270,"line_start":52,"line_end":52,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209299,"byte_end":209305,"line_start":53,"line_end":53,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209287,"byte_end":209298,"line_start":53,"line_end":53,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306961}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209313,"byte_end":209321,"line_start":53,"line_end":53,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209334,"byte_end":209340,"line_start":53,"line_end":53,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209325,"byte_end":209332,"line_start":53,"line_end":53,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209360,"byte_end":209369,"line_start":53,"line_end":53,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209347,"byte_end":209355,"line_start":53,"line_end":53,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209408,"byte_end":209414,"line_start":55,"line_end":55,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742417}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209415,"byte_end":209422,"line_start":55,"line_end":55,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871505}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209424,"byte_end":209428,"line_start":55,"line_end":55,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209439,"byte_end":209451,"line_start":55,"line_end":55,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209482,"byte_end":209486,"line_start":57,"line_end":57,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069009}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209487,"byte_end":209494,"line_start":57,"line_end":57,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3632}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209472,"byte_end":209476,"line_start":57,"line_end":57,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209521,"byte_end":209527,"line_start":58,"line_end":58,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209509,"byte_end":209520,"line_start":58,"line_end":58,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306961}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209538,"byte_end":209546,"line_start":58,"line_end":58,"column_start":42,"column_end":50},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209556,"byte_end":209557,"line_start":58,"line_end":58,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":2885681745}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209593,"byte_end":209597,"line_start":59,"line_end":59,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209584,"byte_end":209591,"line_start":59,"line_end":59,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209633,"byte_end":209638,"line_start":60,"line_end":60,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209624,"byte_end":209631,"line_start":60,"line_end":60,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209684,"byte_end":209686,"line_start":65,"line_end":65,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209696,"byte_end":209706,"line_start":65,"line_end":65,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209687,"byte_end":209694,"line_start":65,"line_end":65,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209707,"byte_end":209718,"line_start":65,"line_end":65,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306961}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209789,"byte_end":209792,"line_start":68,"line_end":68,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209793,"byte_end":209809,"line_start":68,"line_end":68,"column_start":66,"column_end":82},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209815,"byte_end":209821,"line_start":68,"line_end":68,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209862,"byte_end":209868,"line_start":69,"line_end":69,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613330}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209869,"byte_end":209876,"line_start":69,"line_end":69,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871506}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209878,"byte_end":209882,"line_start":69,"line_end":69,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209893,"byte_end":209905,"line_start":69,"line_end":69,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209919,"byte_end":209923,"line_start":71,"line_end":71,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":402653778}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209924,"byte_end":209931,"line_start":71,"line_end":71,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3632}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210109,"byte_end":210114,"line_start":74,"line_end":74,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210008,"byte_end":210017,"line_start":74,"line_end":74,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210033,"byte_end":210042,"line_start":74,"line_end":74,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210052,"byte_end":210055,"line_start":74,"line_end":74,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210056,"byte_end":210063,"line_start":74,"line_end":74,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210069,"byte_end":210075,"line_start":74,"line_end":74,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210080,"byte_end":210088,"line_start":74,"line_end":74,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210133,"byte_end":210138,"line_start":75,"line_end":75,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1342177875}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210162,"byte_end":210166,"line_start":76,"line_end":76,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210153,"byte_end":210160,"line_start":76,"line_end":76,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210162,"byte_end":210166,"line_start":76,"line_end":76,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210153,"byte_end":210160,"line_start":76,"line_end":76,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210194,"byte_end":210203,"line_start":77,"line_end":77,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210204,"byte_end":210210,"line_start":77,"line_end":77,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613331}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210212,"byte_end":210218,"line_start":77,"line_end":77,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436051}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210264,"byte_end":210269,"line_start":79,"line_end":79,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210255,"byte_end":210262,"line_start":79,"line_end":79,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210264,"byte_end":210269,"line_start":79,"line_end":79,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210255,"byte_end":210262,"line_start":79,"line_end":79,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210297,"byte_end":210306,"line_start":80,"line_end":80,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210307,"byte_end":210313,"line_start":80,"line_end":80,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613331}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210315,"byte_end":210321,"line_start":80,"line_end":80,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436051}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210386,"byte_end":210388,"line_start":85,"line_end":85,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210530,"byte_end":210535,"line_start":88,"line_end":88,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210431,"byte_end":210440,"line_start":88,"line_end":88,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210456,"byte_end":210465,"line_start":88,"line_end":88,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210483,"byte_end":210489,"line_start":88,"line_end":88,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210490,"byte_end":210499,"line_start":88,"line_end":88,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210501,"byte_end":210509,"line_start":88,"line_end":88,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210573,"byte_end":210582,"line_start":90,"line_end":90,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210566,"byte_end":210572,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742421}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210583,"byte_end":210589,"line_start":90,"line_end":90,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871509}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210636,"byte_end":210650,"line_start":91,"line_end":91,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210626,"byte_end":210633,"line_start":91,"line_end":91,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960149}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210668,"byte_end":210681,"line_start":93,"line_end":93,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1476395605}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210830,"byte_end":210835,"line_start":96,"line_end":96,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1610613333}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210787,"byte_end":210798,"line_start":96,"line_end":96,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210780,"byte_end":210786,"line_start":96,"line_end":96,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871509}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210801,"byte_end":210814,"line_start":96,"line_end":96,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":1476395605}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210938,"byte_end":210940,"line_start":102,"line_end":102,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210941,"byte_end":210947,"line_start":102,"line_end":102,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742421}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211009,"byte_end":211014,"line_start":106,"line_end":106,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613333}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211159,"byte_end":211172,"line_start":112,"line_end":112,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211152,"byte_end":211158,"line_start":112,"line_end":112,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536871509}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211174,"byte_end":211179,"line_start":112,"line_end":112,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":3120562773}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211136,"byte_end":211149,"line_start":112,"line_end":112,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":1476395605}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211231,"byte_end":211245,"line_start":113,"line_end":113,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211209,"byte_end":211222,"line_start":113,"line_end":113,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211202,"byte_end":211208,"line_start":113,"line_end":113,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742421}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211223,"byte_end":211229,"line_start":113,"line_end":113,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871509}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211246,"byte_end":211259,"line_start":113,"line_end":113,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1476395605}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211289,"byte_end":211291,"line_start":115,"line_end":115,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211292,"byte_end":211298,"line_start":115,"line_end":115,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742421}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211439,"byte_end":211444,"line_start":121,"line_end":121,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211355,"byte_end":211364,"line_start":121,"line_end":121,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211382,"byte_end":211391,"line_start":121,"line_end":121,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211396,"byte_end":211402,"line_start":121,"line_end":121,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211403,"byte_end":211409,"line_start":121,"line_end":121,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211417,"byte_end":211425,"line_start":121,"line_end":121,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211482,"byte_end":211491,"line_start":123,"line_end":123,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211475,"byte_end":211481,"line_start":123,"line_end":123,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742426}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211492,"byte_end":211498,"line_start":123,"line_end":123,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871514}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211539,"byte_end":211553,"line_start":125,"line_end":125,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211529,"byte_end":211536,"line_start":125,"line_end":125,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218330}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211601,"byte_end":211611,"line_start":128,"line_end":128,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879258}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211638,"byte_end":211640,"line_start":129,"line_end":129,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211641,"byte_end":211645,"line_start":129,"line_end":129,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211667,"byte_end":211669,"line_start":132,"line_end":132,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211683,"byte_end":211693,"line_start":132,"line_end":132,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211676,"byte_end":211682,"line_start":132,"line_end":132,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536871514}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211694,"byte_end":211704,"line_start":132,"line_end":132,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3623879258}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211720,"byte_end":211724,"line_start":133,"line_end":133,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211720,"byte_end":211724,"line_start":133,"line_end":133,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211749,"byte_end":211753,"line_start":134,"line_end":134,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211757,"byte_end":211758,"line_start":134,"line_end":134,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2885681754}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211816,"byte_end":211820,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211816,"byte_end":211820,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211824,"byte_end":211828,"line_start":136,"line_end":136,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211885,"byte_end":211894,"line_start":140,"line_end":140,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211912,"byte_end":211921,"line_start":140,"line_end":140,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211926,"byte_end":211933,"line_start":140,"line_end":140,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211957,"byte_end":211967,"line_start":142,"line_end":142,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211968,"byte_end":211974,"line_start":142,"line_end":142,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871516}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211976,"byte_end":211982,"line_start":142,"line_end":142,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613340}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211998,"byte_end":212000,"line_start":143,"line_end":143,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211998,"byte_end":212000,"line_start":143,"line_end":143,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212031,"byte_end":212032,"line_start":144,"line_end":144,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281701980}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212055,"byte_end":212059,"line_start":145,"line_end":145,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212055,"byte_end":212059,"line_start":145,"line_end":145,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212095,"byte_end":212096,"line_start":146,"line_end":146,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":3892314716}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212144,"byte_end":212148,"line_start":147,"line_end":147,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212135,"byte_end":212142,"line_start":147,"line_end":147,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212219,"byte_end":212224,"line_start":149,"line_end":149,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212210,"byte_end":212217,"line_start":149,"line_end":149,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212294,"byte_end":212298,"line_start":152,"line_end":152,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212294,"byte_end":212298,"line_start":152,"line_end":152,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":212384,"byte_end":212394,"line_start":154,"line_end":154,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212377,"byte_end":212383,"line_start":154,"line_end":154,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613340}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212395,"byte_end":212401,"line_start":154,"line_end":154,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871516}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212402,"byte_end":212413,"line_start":154,"line_end":154,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212415,"byte_end":212419,"line_start":154,"line_end":154,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212430,"byte_end":212442,"line_start":154,"line_end":154,"column_start":102,"column_end":114},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212489,"byte_end":212493,"line_start":156,"line_end":156,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2181038684}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212494,"byte_end":212501,"line_start":156,"line_end":156,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3632}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212479,"byte_end":212483,"line_start":156,"line_end":156,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212535,"byte_end":212536,"line_start":157,"line_end":157,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":570425948}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212588,"byte_end":212592,"line_start":158,"line_end":158,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212579,"byte_end":212586,"line_start":158,"line_end":158,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212671,"byte_end":212676,"line_start":160,"line_end":160,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212662,"byte_end":212669,"line_start":160,"line_end":160,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212777,"byte_end":212781,"line_start":163,"line_end":163,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212768,"byte_end":212775,"line_start":163,"line_end":163,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212903,"byte_end":212906,"line_start":169,"line_end":169,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212903,"byte_end":212906,"line_start":169,"line_end":169,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212941,"byte_end":212945,"line_start":170,"line_end":170,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212932,"byte_end":212939,"line_start":170,"line_end":170,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213016,"byte_end":213025,"line_start":175,"line_end":175,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213036,"byte_end":213045,"line_start":175,"line_end":175,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213050,"byte_end":213056,"line_start":175,"line_end":175,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213064,"byte_end":213072,"line_start":175,"line_end":175,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213110,"byte_end":213119,"line_start":176,"line_end":176,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213103,"byte_end":213109,"line_start":176,"line_end":176,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871517}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213120,"byte_end":213126,"line_start":176,"line_end":176,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613341}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213152,"byte_end":213166,"line_start":177,"line_end":177,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213142,"byte_end":213149,"line_start":177,"line_end":177,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960157}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213188,"byte_end":213190,"line_start":178,"line_end":178,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213224,"byte_end":213226,"line_start":180,"line_end":180,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213238,"byte_end":213245,"line_start":180,"line_end":180,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":213227,"byte_end":213231,"line_start":180,"line_end":180,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":213233,"byte_end":213236,"line_start":180,"line_end":180,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213302,"byte_end":213305,"line_start":184,"line_end":184,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213306,"byte_end":213322,"line_start":184,"line_end":184,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213343,"byte_end":213349,"line_start":184,"line_end":184,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213350,"byte_end":213356,"line_start":184,"line_end":184,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213358,"byte_end":213366,"line_start":184,"line_end":184,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213403,"byte_end":213409,"line_start":186,"line_end":186,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742431}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213410,"byte_end":213417,"line_start":186,"line_end":186,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871519}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213419,"byte_end":213423,"line_start":186,"line_end":186,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213434,"byte_end":213446,"line_start":186,"line_end":186,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3631}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213493,"byte_end":213497,"line_start":188,"line_end":188,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213485,"byte_end":213491,"line_start":188,"line_end":188,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213533,"byte_end":213537,"line_start":189,"line_end":189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831071}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213538,"byte_end":213545,"line_start":189,"line_end":189,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3632}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213523,"byte_end":213527,"line_start":189,"line_end":189,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213567,"byte_end":213575,"line_start":190,"line_end":190,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213560,"byte_end":213566,"line_start":190,"line_end":190,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213606,"byte_end":213607,"line_start":191,"line_end":191,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1140851295}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213641,"byte_end":213649,"line_start":192,"line_end":192,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213634,"byte_end":213640,"line_start":192,"line_end":192,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213703,"byte_end":213711,"line_start":194,"line_end":194,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213696,"byte_end":213702,"line_start":194,"line_end":194,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213755,"byte_end":213763,"line_start":196,"line_end":196,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213748,"byte_end":213754,"line_start":196,"line_end":196,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213795,"byte_end":213803,"line_start":198,"line_end":198,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213788,"byte_end":213794,"line_start":198,"line_end":198,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213818,"byte_end":213820,"line_start":199,"line_end":199,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213821,"byte_end":213827,"line_start":199,"line_end":199,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160750175}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213885,"byte_end":213888,"line_start":203,"line_end":203,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213889,"byte_end":213905,"line_start":203,"line_end":203,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213927,"byte_end":213936,"line_start":203,"line_end":203,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213945,"byte_end":213948,"line_start":203,"line_end":203,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213949,"byte_end":213955,"line_start":203,"line_end":203,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213961,"byte_end":213967,"line_start":203,"line_end":203,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213975,"byte_end":213978,"line_start":203,"line_end":203,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213984,"byte_end":213987,"line_start":203,"line_end":203,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213988,"byte_end":214004,"line_start":203,"line_end":203,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214008,"byte_end":214016,"line_start":203,"line_end":203,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214046,"byte_end":214052,"line_start":205,"line_end":205,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214061,"byte_end":214065,"line_start":205,"line_end":205,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214083,"byte_end":214086,"line_start":206,"line_end":206,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214078,"byte_end":214082,"line_start":206,"line_end":206,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436064}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214114,"byte_end":214118,"line_start":207,"line_end":207,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436064}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214157,"byte_end":214167,"line_start":208,"line_end":208,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214148,"byte_end":214154,"line_start":208,"line_end":208,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214140,"byte_end":214146,"line_start":208,"line_end":208,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214215,"byte_end":214225,"line_start":209,"line_end":209,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214593120}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214275,"byte_end":214279,"line_start":210,"line_end":210,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214262,"byte_end":214269,"line_start":210,"line_end":210,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214258,"byte_end":214261,"line_start":210,"line_end":210,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613344}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214270,"byte_end":214273,"line_start":210,"line_end":210,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677722208}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214365,"byte_end":214370,"line_start":212,"line_end":212,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825205856}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214424,"byte_end":214429,"line_start":213,"line_end":213,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2827}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214417,"byte_end":214421,"line_start":213,"line_end":213,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214409,"byte_end":214415,"line_start":213,"line_end":213,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214487,"byte_end":214491,"line_start":214,"line_end":214,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214493,"byte_end":214498,"line_start":214,"line_end":214,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":4227859040}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214477,"byte_end":214484,"line_start":214,"line_end":214,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2281701984}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214833,"byte_end":214836,"line_start":227,"line_end":227,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214848,"byte_end":214851,"line_start":227,"line_end":227,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214843,"byte_end":214846,"line_start":227,"line_end":227,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214875,"byte_end":214879,"line_start":228,"line_end":228,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214863,"byte_end":214874,"line_start":228,"line_end":228,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":16777824}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214893,"byte_end":214900,"line_start":228,"line_end":228,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214880,"byte_end":214891,"line_start":228,"line_end":228,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214938,"byte_end":214945,"line_start":230,"line_end":230,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2281701984}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214960,"byte_end":214964,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214960,"byte_end":214964,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214992,"byte_end":214993,"line_start":232,"line_end":232,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":150995552}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215037,"byte_end":215041,"line_start":233,"line_end":233,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215025,"byte_end":215036,"line_start":233,"line_end":233,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":16777824}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215103,"byte_end":215107,"line_start":235,"line_end":235,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215091,"byte_end":215102,"line_start":235,"line_end":235,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":16777824}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215146,"byte_end":215150,"line_start":237,"line_end":237,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215151,"byte_end":215152,"line_start":237,"line_end":237,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":150995552}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215218,"byte_end":215222,"line_start":240,"line_end":240,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215206,"byte_end":215217,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":16777824}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215243,"byte_end":215247,"line_start":241,"line_end":241,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215289,"byte_end":215293,"line_start":245,"line_end":245,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215282,"byte_end":215288,"line_start":245,"line_end":245,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215294,"byte_end":215310,"line_start":245,"line_end":245,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215325,"byte_end":215328,"line_start":246,"line_end":246,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215345,"byte_end":215350,"line_start":246,"line_end":246,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215330,"byte_end":215343,"line_start":246,"line_end":246,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215367,"byte_end":215368,"line_start":247,"line_end":247,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215383,"byte_end":215390,"line_start":247,"line_end":247,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215370,"byte_end":215381,"line_start":247,"line_end":247,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215404,"byte_end":215412,"line_start":248,"line_end":248,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215432,"byte_end":215436,"line_start":249,"line_end":249,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215443,"byte_end":215446,"line_start":249,"line_end":249,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215438,"byte_end":215441,"line_start":249,"line_end":249,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215452,"byte_end":215460,"line_start":249,"line_end":249,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215447,"byte_end":215450,"line_start":249,"line_end":249,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215466,"byte_end":215469,"line_start":249,"line_end":249,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215461,"byte_end":215464,"line_start":249,"line_end":249,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215470,"byte_end":215482,"line_start":249,"line_end":249,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215485,"byte_end":215492,"line_start":249,"line_end":249,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3632}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215485,"byte_end":215492,"line_start":249,"line_end":249,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4244636256}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215539,"byte_end":215541,"line_start":252,"line_end":252,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215549,"byte_end":215560,"line_start":252,"line_end":252,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":16777824}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215562,"byte_end":215568,"line_start":252,"line_end":252,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215619,"byte_end":215622,"line_start":256,"line_end":256,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215623,"byte_end":215639,"line_start":256,"line_end":256,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215656,"byte_end":215659,"line_start":256,"line_end":256,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215660,"byte_end":215667,"line_start":256,"line_end":256,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215673,"byte_end":215679,"line_start":256,"line_end":256,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215687,"byte_end":215690,"line_start":256,"line_end":256,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215696,"byte_end":215699,"line_start":256,"line_end":256,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215700,"byte_end":215716,"line_start":256,"line_end":256,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215720,"byte_end":215728,"line_start":256,"line_end":256,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215762,"byte_end":215765,"line_start":258,"line_end":258,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215777,"byte_end":215780,"line_start":258,"line_end":258,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215772,"byte_end":215775,"line_start":258,"line_end":258,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215804,"byte_end":215808,"line_start":259,"line_end":259,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215792,"byte_end":215803,"line_start":259,"line_end":259,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134218337}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215822,"byte_end":215829,"line_start":259,"line_end":259,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215809,"byte_end":215820,"line_start":259,"line_end":259,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215867,"byte_end":215878,"line_start":261,"line_end":261,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536871521}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215913,"byte_end":215918,"line_start":262,"line_end":262,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215904,"byte_end":215911,"line_start":262,"line_end":262,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215913,"byte_end":215918,"line_start":262,"line_end":262,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215904,"byte_end":215911,"line_start":262,"line_end":262,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215952,"byte_end":215956,"line_start":263,"line_end":263,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215940,"byte_end":215951,"line_start":263,"line_end":263,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218337}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215977,"byte_end":215981,"line_start":264,"line_end":264,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216025,"byte_end":216029,"line_start":266,"line_end":266,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216016,"byte_end":216023,"line_start":266,"line_end":266,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216025,"byte_end":216029,"line_start":266,"line_end":266,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216016,"byte_end":216023,"line_start":266,"line_end":266,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216063,"byte_end":216067,"line_start":267,"line_end":267,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216051,"byte_end":216062,"line_start":267,"line_end":267,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218337}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216088,"byte_end":216092,"line_start":268,"line_end":268,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216161,"byte_end":216165,"line_start":271,"line_end":271,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216149,"byte_end":216160,"line_start":271,"line_end":271,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218337}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216186,"byte_end":216190,"line_start":272,"line_end":272,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216232,"byte_end":216236,"line_start":276,"line_end":276,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216225,"byte_end":216231,"line_start":276,"line_end":276,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742433}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216237,"byte_end":216253,"line_start":276,"line_end":276,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216268,"byte_end":216271,"line_start":277,"line_end":277,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216288,"byte_end":216293,"line_start":277,"line_end":277,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216273,"byte_end":216286,"line_start":277,"line_end":277,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216310,"byte_end":216311,"line_start":278,"line_end":278,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216326,"byte_end":216333,"line_start":278,"line_end":278,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216313,"byte_end":216324,"line_start":278,"line_end":278,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216347,"byte_end":216351,"line_start":279,"line_end":279,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216358,"byte_end":216361,"line_start":279,"line_end":279,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216353,"byte_end":216356,"line_start":279,"line_end":279,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216367,"byte_end":216375,"line_start":279,"line_end":279,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216362,"byte_end":216365,"line_start":279,"line_end":279,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216381,"byte_end":216384,"line_start":279,"line_end":279,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216376,"byte_end":216379,"line_start":279,"line_end":279,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216385,"byte_end":216397,"line_start":279,"line_end":279,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216400,"byte_end":216407,"line_start":279,"line_end":279,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3632}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216400,"byte_end":216407,"line_start":279,"line_end":279,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4060086881}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216439,"byte_end":216447,"line_start":280,"line_end":280,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216482,"byte_end":216484,"line_start":283,"line_end":283,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216492,"byte_end":216503,"line_start":283,"line_end":283,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134218337}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216505,"byte_end":216511,"line_start":283,"line_end":283,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742433}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216564,"byte_end":216567,"line_start":286,"line_end":286,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216568,"byte_end":216584,"line_start":286,"line_end":286,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216627,"byte_end":216630,"line_start":286,"line_end":286,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216631,"byte_end":216647,"line_start":286,"line_end":286,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216667,"byte_end":216671,"line_start":287,"line_end":287,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216660,"byte_end":216666,"line_start":287,"line_end":287,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742434}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216672,"byte_end":216688,"line_start":287,"line_end":287,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216703,"byte_end":216706,"line_start":288,"line_end":288,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216723,"byte_end":216728,"line_start":288,"line_end":288,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216708,"byte_end":216721,"line_start":288,"line_end":288,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216745,"byte_end":216746,"line_start":289,"line_end":289,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216761,"byte_end":216768,"line_start":289,"line_end":289,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216748,"byte_end":216759,"line_start":289,"line_end":289,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216782,"byte_end":216790,"line_start":290,"line_end":290,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216810,"byte_end":216814,"line_start":291,"line_end":291,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216821,"byte_end":216824,"line_start":291,"line_end":291,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216816,"byte_end":216819,"line_start":291,"line_end":291,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216830,"byte_end":216838,"line_start":291,"line_end":291,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216825,"byte_end":216828,"line_start":291,"line_end":291,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216844,"byte_end":216847,"line_start":291,"line_end":291,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216839,"byte_end":216842,"line_start":291,"line_end":291,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216848,"byte_end":216860,"line_start":291,"line_end":291,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3631}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216863,"byte_end":216870,"line_start":291,"line_end":291,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3632}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216878,"byte_end":216883,"line_start":291,"line_end":291,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":1610613346}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216884,"byte_end":216891,"line_start":291,"line_end":291,"column_start":87,"column_end":94},"ref_id":{"krate":0,"index":536871522}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216920,"byte_end":216924,"line_start":292,"line_end":292,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216947,"byte_end":216951,"line_start":293,"line_end":293,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216980,"byte_end":216984,"line_start":294,"line_end":294,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217088,"byte_end":217094,"line_start":298,"line_end":298,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742434}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57397,"byte_end":57400,"line_start":19,"line_end":19,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":611}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219823,"byte_end":219828,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219830,"byte_end":219834,"line_start":21,"line_end":21,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219845,"byte_end":219850,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219852,"byte_end":219858,"line_start":22,"line_end":22,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219880,"byte_end":219883,"line_start":23,"line_end":23,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219880,"byte_end":219883,"line_start":23,"line_end":23,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3497}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219967,"byte_end":219972,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219974,"byte_end":219977,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":219988,"byte_end":219993,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219995,"byte_end":220000,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":220017,"byte_end":220022,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2730}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220024,"byte_end":220029,"line_start":26,"line_end":26,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220048,"byte_end":220053,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220055,"byte_end":220064,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220048,"byte_end":220053,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220055,"byte_end":220064,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220088,"byte_end":220093,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220095,"byte_end":220101,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220088,"byte_end":220093,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220095,"byte_end":220101,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220133,"byte_end":220138,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220141,"byte_end":220148,"line_start":29,"line_end":29,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220133,"byte_end":220138,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220160,"byte_end":220165,"line_start":29,"line_end":29,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220182,"byte_end":220186,"line_start":30,"line_end":30,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220189,"byte_end":220192,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220208,"byte_end":220212,"line_start":31,"line_end":31,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220214,"byte_end":220221,"line_start":31,"line_end":31,"column_start":11,"column_end":18},"ref_id":{"krate":1,"index":2835}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220237,"byte_end":220242,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220244,"byte_end":220249,"line_start":33,"line_end":33,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220260,"byte_end":220265,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220267,"byte_end":220273,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220288,"byte_end":220293,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5742}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220296,"byte_end":220302,"line_start":35,"line_end":35,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220319,"byte_end":220324,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220343,"byte_end":220348,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220601,"byte_end":220604,"line_start":45,"line_end":45,"column_start":14,"column_end":17},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220647,"byte_end":220650,"line_start":47,"line_end":47,"column_start":14,"column_end":17},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3131}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3132}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3131}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3132}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3131}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3132}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3131}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3132}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3131}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3132}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"ref_id":{"krate":0,"index":3129}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220678,"byte_end":220687,"line_start":50,"line_end":50,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220671,"byte_end":220676,"line_start":50,"line_end":50,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220792,"byte_end":220797,"line_start":52,"line_end":52,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220746,"byte_end":220762,"line_start":52,"line_end":52,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220767,"byte_end":220773,"line_start":52,"line_end":52,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220832,"byte_end":220838,"line_start":53,"line_end":53,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742517}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220839,"byte_end":220843,"line_start":53,"line_end":53,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220854,"byte_end":220865,"line_start":53,"line_end":53,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":3653}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":220924,"byte_end":220933,"line_start":54,"line_end":54,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":746}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220972,"byte_end":220981,"line_start":57,"line_end":57,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220992,"byte_end":221001,"line_start":57,"line_end":57,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221006,"byte_end":221012,"line_start":57,"line_end":57,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221060,"byte_end":221070,"line_start":58,"line_end":58,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221053,"byte_end":221059,"line_start":58,"line_end":58,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871606}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221071,"byte_end":221077,"line_start":58,"line_end":58,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742518}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221078,"byte_end":221089,"line_start":58,"line_end":58,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221091,"byte_end":221095,"line_start":58,"line_end":58,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221106,"byte_end":221117,"line_start":58,"line_end":58,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221181,"byte_end":221190,"line_start":59,"line_end":59,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":746}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221229,"byte_end":221238,"line_start":62,"line_end":62,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221249,"byte_end":221258,"line_start":62,"line_end":62,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221263,"byte_end":221269,"line_start":62,"line_end":62,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221317,"byte_end":221327,"line_start":63,"line_end":63,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221310,"byte_end":221316,"line_start":63,"line_end":63,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871607}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221328,"byte_end":221334,"line_start":63,"line_end":63,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221335,"byte_end":221346,"line_start":63,"line_end":63,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221348,"byte_end":221352,"line_start":63,"line_end":63,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221363,"byte_end":221374,"line_start":63,"line_end":63,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221440,"byte_end":221449,"line_start":64,"line_end":64,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":746}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":3129}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221571,"byte_end":221577,"line_start":70,"line_end":70,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221594,"byte_end":221598,"line_start":71,"line_end":71,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221599,"byte_end":221603,"line_start":71,"line_end":71,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221703,"byte_end":221712,"line_start":74,"line_end":74,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221692,"byte_end":221700,"line_start":74,"line_end":74,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221681,"byte_end":221689,"line_start":74,"line_end":74,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221672,"byte_end":221676,"line_start":74,"line_end":74,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221677,"byte_end":221680,"line_start":74,"line_end":74,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221789,"byte_end":221798,"line_start":75,"line_end":75,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221778,"byte_end":221786,"line_start":75,"line_end":75,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221767,"byte_end":221775,"line_start":75,"line_end":75,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221758,"byte_end":221762,"line_start":75,"line_end":75,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221763,"byte_end":221766,"line_start":75,"line_end":75,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221883,"byte_end":221892,"line_start":78,"line_end":78,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221893,"byte_end":221902,"line_start":78,"line_end":78,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":402653881}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221868,"byte_end":221877,"line_start":78,"line_end":78,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":402653881}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221940,"byte_end":221949,"line_start":79,"line_end":79,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221950,"byte_end":221959,"line_start":79,"line_end":79,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":335545017}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221925,"byte_end":221934,"line_start":79,"line_end":79,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":335545017}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222001,"byte_end":222012,"line_start":81,"line_end":81,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221993,"byte_end":221999,"line_start":81,"line_end":81,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222031,"byte_end":222035,"line_start":81,"line_end":81,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222014,"byte_end":222018,"line_start":81,"line_end":81,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222019,"byte_end":222023,"line_start":81,"line_end":81,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222072,"byte_end":222085,"line_start":83,"line_end":83,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222086,"byte_end":222095,"line_start":83,"line_end":83,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":402653881}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222106,"byte_end":222109,"line_start":83,"line_end":83,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":1241514681}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222142,"byte_end":222155,"line_start":84,"line_end":84,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222156,"byte_end":222165,"line_start":84,"line_end":84,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":335545017}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222176,"byte_end":222179,"line_start":84,"line_end":84,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":1241514681}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222216,"byte_end":222219,"line_start":85,"line_end":85,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222225,"byte_end":222228,"line_start":85,"line_end":85,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222229,"byte_end":222232,"line_start":85,"line_end":85,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1174405817}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222286,"byte_end":222289,"line_start":86,"line_end":86,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222295,"byte_end":222298,"line_start":86,"line_end":86,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222299,"byte_end":222302,"line_start":86,"line_end":86,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1308623545}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":222340,"byte_end":222346,"line_start":88,"line_end":88,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222349,"byte_end":222352,"line_start":88,"line_end":88,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222354,"byte_end":222361,"line_start":88,"line_end":88,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":553648825}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222363,"byte_end":222366,"line_start":88,"line_end":88,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222368,"byte_end":222375,"line_start":88,"line_end":88,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":1761608377}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222377,"byte_end":222381,"line_start":88,"line_end":88,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222383,"byte_end":222387,"line_start":88,"line_end":88,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222388,"byte_end":222392,"line_start":88,"line_end":88,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222495,"byte_end":222504,"line_start":91,"line_end":91,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222484,"byte_end":222492,"line_start":91,"line_end":91,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222473,"byte_end":222481,"line_start":91,"line_end":91,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222464,"byte_end":222468,"line_start":91,"line_end":91,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222469,"byte_end":222472,"line_start":91,"line_end":91,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222581,"byte_end":222590,"line_start":92,"line_end":92,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222570,"byte_end":222578,"line_start":92,"line_end":92,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222559,"byte_end":222567,"line_start":92,"line_end":92,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222550,"byte_end":222554,"line_start":92,"line_end":92,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222555,"byte_end":222558,"line_start":92,"line_end":92,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222675,"byte_end":222684,"line_start":95,"line_end":95,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222685,"byte_end":222694,"line_start":95,"line_end":95,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3976200889}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222660,"byte_end":222669,"line_start":95,"line_end":95,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3976200889}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222732,"byte_end":222741,"line_start":96,"line_end":96,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222742,"byte_end":222751,"line_start":96,"line_end":96,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3808428729}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222717,"byte_end":222726,"line_start":96,"line_end":96,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3808428729}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222793,"byte_end":222804,"line_start":98,"line_end":98,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":222785,"byte_end":222791,"line_start":98,"line_end":98,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222823,"byte_end":222827,"line_start":98,"line_end":98,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222806,"byte_end":222810,"line_start":98,"line_end":98,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222811,"byte_end":222815,"line_start":98,"line_end":98,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222864,"byte_end":222877,"line_start":100,"line_end":100,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222878,"byte_end":222887,"line_start":100,"line_end":100,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3976200889}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222898,"byte_end":222901,"line_start":100,"line_end":100,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":2399142585}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222934,"byte_end":222947,"line_start":101,"line_end":101,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222948,"byte_end":222957,"line_start":101,"line_end":101,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3808428729}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222968,"byte_end":222971,"line_start":101,"line_end":101,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":2399142585}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223008,"byte_end":223011,"line_start":102,"line_end":102,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223017,"byte_end":223020,"line_start":102,"line_end":102,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223021,"byte_end":223024,"line_start":102,"line_end":102,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2155872953}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223078,"byte_end":223081,"line_start":103,"line_end":103,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223087,"byte_end":223090,"line_start":103,"line_end":103,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223091,"byte_end":223094,"line_start":103,"line_end":103,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2290090681}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223132,"byte_end":223138,"line_start":105,"line_end":105,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223141,"byte_end":223144,"line_start":105,"line_end":105,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223146,"byte_end":223153,"line_start":105,"line_end":105,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3296723641}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223155,"byte_end":223158,"line_start":105,"line_end":105,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223160,"byte_end":223167,"line_start":105,"line_end":105,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":2894070457}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223169,"byte_end":223173,"line_start":105,"line_end":105,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223175,"byte_end":223179,"line_start":105,"line_end":105,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223180,"byte_end":223184,"line_start":105,"line_end":105,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223287,"byte_end":223296,"line_start":108,"line_end":108,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223276,"byte_end":223284,"line_start":108,"line_end":108,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223265,"byte_end":223273,"line_start":108,"line_end":108,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223256,"byte_end":223260,"line_start":108,"line_end":108,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223261,"byte_end":223264,"line_start":108,"line_end":108,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223373,"byte_end":223382,"line_start":109,"line_end":109,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223362,"byte_end":223370,"line_start":109,"line_end":109,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223351,"byte_end":223359,"line_start":109,"line_end":109,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223342,"byte_end":223346,"line_start":109,"line_end":109,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223347,"byte_end":223350,"line_start":109,"line_end":109,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223467,"byte_end":223476,"line_start":112,"line_end":112,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223477,"byte_end":223486,"line_start":112,"line_end":112,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1786774201}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223452,"byte_end":223461,"line_start":112,"line_end":112,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1786774201}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223524,"byte_end":223533,"line_start":113,"line_end":113,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223534,"byte_end":223543,"line_start":113,"line_end":113,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1719665337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223509,"byte_end":223518,"line_start":113,"line_end":113,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1719665337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223585,"byte_end":223596,"line_start":115,"line_end":115,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223577,"byte_end":223583,"line_start":115,"line_end":115,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223615,"byte_end":223619,"line_start":115,"line_end":115,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223598,"byte_end":223602,"line_start":115,"line_end":115,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223603,"byte_end":223607,"line_start":115,"line_end":115,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223656,"byte_end":223669,"line_start":117,"line_end":117,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223670,"byte_end":223679,"line_start":117,"line_end":117,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1786774201}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223690,"byte_end":223693,"line_start":117,"line_end":117,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":159384249}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223726,"byte_end":223739,"line_start":118,"line_end":118,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223740,"byte_end":223749,"line_start":118,"line_end":118,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1719665337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223760,"byte_end":223763,"line_start":118,"line_end":118,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":159384249}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223800,"byte_end":223803,"line_start":119,"line_end":119,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223809,"byte_end":223812,"line_start":119,"line_end":119,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223813,"byte_end":223816,"line_start":119,"line_end":119,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":92275385}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223870,"byte_end":223873,"line_start":120,"line_end":120,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223879,"byte_end":223882,"line_start":120,"line_end":120,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223883,"byte_end":223886,"line_start":120,"line_end":120,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493113}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223924,"byte_end":223930,"line_start":122,"line_end":122,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223933,"byte_end":223936,"line_start":122,"line_end":122,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223938,"byte_end":223945,"line_start":122,"line_end":122,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1132462777}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223947,"byte_end":223950,"line_start":122,"line_end":122,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223952,"byte_end":223959,"line_start":122,"line_end":122,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":729809593}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223961,"byte_end":223965,"line_start":122,"line_end":122,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223967,"byte_end":223971,"line_start":122,"line_end":122,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223972,"byte_end":223976,"line_start":122,"line_end":122,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3130}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224028,"byte_end":224034,"line_start":125,"line_end":125,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224037,"byte_end":224040,"line_start":125,"line_end":125,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224048,"byte_end":224051,"line_start":125,"line_end":125,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224059,"byte_end":224063,"line_start":125,"line_end":125,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3143}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"ref_id":{"krate":0,"index":3129}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224106,"byte_end":224113,"line_start":131,"line_end":131,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224169,"byte_end":224181,"line_start":133,"line_end":133,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224184,"byte_end":224187,"line_start":133,"line_end":133,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224194,"byte_end":224197,"line_start":133,"line_end":133,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224189,"byte_end":224192,"line_start":133,"line_end":133,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224201,"byte_end":224204,"line_start":133,"line_end":133,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224211,"byte_end":224214,"line_start":133,"line_end":133,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224206,"byte_end":224209,"line_start":133,"line_end":133,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224218,"byte_end":224222,"line_start":133,"line_end":133,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3130}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":3129}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224251,"byte_end":224259,"line_start":137,"line_end":137,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224461,"byte_end":224466,"line_start":139,"line_end":139,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224358,"byte_end":224367,"line_start":139,"line_end":139,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224384,"byte_end":224393,"line_start":139,"line_end":139,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224404,"byte_end":224407,"line_start":139,"line_end":139,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224408,"byte_end":224415,"line_start":139,"line_end":139,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224421,"byte_end":224427,"line_start":139,"line_end":139,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224432,"byte_end":224440,"line_start":139,"line_end":139,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224477,"byte_end":224479,"line_start":140,"line_end":140,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224555,"byte_end":224558,"line_start":143,"line_end":143,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224559,"byte_end":224575,"line_start":143,"line_end":143,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224581,"byte_end":224587,"line_start":143,"line_end":143,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224604,"byte_end":224608,"line_start":144,"line_end":144,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224650,"byte_end":224661,"line_start":146,"line_end":146,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224673,"byte_end":224681,"line_start":146,"line_end":146,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224665,"byte_end":224671,"line_start":146,"line_end":146,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224731,"byte_end":224742,"line_start":147,"line_end":147,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224754,"byte_end":224762,"line_start":147,"line_end":147,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224746,"byte_end":224752,"line_start":147,"line_end":147,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224798,"byte_end":224801,"line_start":149,"line_end":149,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224802,"byte_end":224818,"line_start":149,"line_end":149,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224839,"byte_end":224845,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224846,"byte_end":224852,"line_start":149,"line_end":149,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224854,"byte_end":224862,"line_start":149,"line_end":149,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224882,"byte_end":224895,"line_start":150,"line_end":150,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224874,"byte_end":224880,"line_start":150,"line_end":150,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224896,"byte_end":224902,"line_start":150,"line_end":150,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":1073742537}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224904,"byte_end":224911,"line_start":150,"line_end":150,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536871625}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224954,"byte_end":224957,"line_start":153,"line_end":153,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224958,"byte_end":224974,"line_start":153,"line_end":153,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224995,"byte_end":225004,"line_start":153,"line_end":153,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225013,"byte_end":225016,"line_start":153,"line_end":153,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225017,"byte_end":225023,"line_start":153,"line_end":153,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225029,"byte_end":225035,"line_start":153,"line_end":153,"column_start":110,"column_end":116},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225043,"byte_end":225046,"line_start":153,"line_end":153,"column_start":124,"column_end":127},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225052,"byte_end":225055,"line_start":153,"line_end":153,"column_start":133,"column_end":136},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225056,"byte_end":225072,"line_start":153,"line_end":153,"column_start":137,"column_end":153},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225076,"byte_end":225084,"line_start":153,"line_end":153,"column_start":157,"column_end":165},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225104,"byte_end":225122,"line_start":154,"line_end":154,"column_start":17,"column_end":35},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225096,"byte_end":225102,"line_start":154,"line_end":154,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225123,"byte_end":225129,"line_start":154,"line_end":154,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742538}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225131,"byte_end":225135,"line_start":154,"line_end":154,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":536871626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225137,"byte_end":225140,"line_start":154,"line_end":154,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610613450}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225142,"byte_end":225146,"line_start":154,"line_end":154,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":268436170}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225186,"byte_end":225189,"line_start":157,"line_end":157,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225190,"byte_end":225206,"line_start":157,"line_end":157,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225227,"byte_end":225233,"line_start":157,"line_end":157,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225234,"byte_end":225241,"line_start":157,"line_end":157,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225243,"byte_end":225251,"line_start":157,"line_end":157,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225263,"byte_end":225277,"line_start":157,"line_end":157,"column_start":109,"column_end":123},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225255,"byte_end":225261,"line_start":157,"line_end":157,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225278,"byte_end":225284,"line_start":157,"line_end":157,"column_start":124,"column_end":130},"ref_id":{"krate":0,"index":1073742539}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225286,"byte_end":225293,"line_start":157,"line_end":157,"column_start":132,"column_end":139},"ref_id":{"krate":0,"index":536871627}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225430,"byte_end":225435,"line_start":159,"line_end":159,"column_start":134,"column_end":139},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225329,"byte_end":225338,"line_start":159,"line_end":159,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225355,"byte_end":225364,"line_start":159,"line_end":159,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225383,"byte_end":225389,"line_start":159,"line_end":159,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225390,"byte_end":225399,"line_start":159,"line_end":159,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225401,"byte_end":225409,"line_start":159,"line_end":159,"column_start":105,"column_end":113},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225446,"byte_end":225449,"line_start":160,"line_end":160,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225460,"byte_end":225463,"line_start":160,"line_end":160,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225450,"byte_end":225458,"line_start":160,"line_end":160,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225566,"byte_end":225575,"line_start":162,"line_end":162,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225593,"byte_end":225602,"line_start":162,"line_end":162,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225607,"byte_end":225614,"line_start":162,"line_end":162,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225633,"byte_end":225640,"line_start":163,"line_end":163,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225625,"byte_end":225631,"line_start":163,"line_end":163,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225641,"byte_end":225646,"line_start":163,"line_end":163,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1073742542}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225648,"byte_end":225654,"line_start":163,"line_end":163,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871630}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225656,"byte_end":225662,"line_start":163,"line_end":163,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613454}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225709,"byte_end":225718,"line_start":165,"line_end":165,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225729,"byte_end":225738,"line_start":165,"line_end":165,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225743,"byte_end":225749,"line_start":165,"line_end":165,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225757,"byte_end":225765,"line_start":165,"line_end":165,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225804,"byte_end":225813,"line_start":167,"line_end":167,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225797,"byte_end":225803,"line_start":167,"line_end":167,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225814,"byte_end":225820,"line_start":167,"line_end":167,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613455}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225847,"byte_end":225861,"line_start":169,"line_end":169,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225837,"byte_end":225844,"line_start":169,"line_end":169,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960271}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225890,"byte_end":225892,"line_start":170,"line_end":170,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225957,"byte_end":225967,"line_start":172,"line_end":172,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225950,"byte_end":225956,"line_start":172,"line_end":172,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1610613455}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225968,"byte_end":225974,"line_start":172,"line_end":172,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536871631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225975,"byte_end":225986,"line_start":172,"line_end":172,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225988,"byte_end":225992,"line_start":172,"line_end":172,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226003,"byte_end":226014,"line_start":172,"line_end":172,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226031,"byte_end":226033,"line_start":173,"line_end":173,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226034,"byte_end":226038,"line_start":173,"line_end":173,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":2885681871}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226039,"byte_end":226043,"line_start":173,"line_end":173,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3655}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226182,"byte_end":226187,"line_start":177,"line_end":177,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226098,"byte_end":226107,"line_start":177,"line_end":177,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226125,"byte_end":226134,"line_start":177,"line_end":177,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226139,"byte_end":226145,"line_start":177,"line_end":177,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226146,"byte_end":226152,"line_start":177,"line_end":177,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226160,"byte_end":226168,"line_start":177,"line_end":177,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226225,"byte_end":226234,"line_start":179,"line_end":179,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226218,"byte_end":226224,"line_start":179,"line_end":179,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742545}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226235,"byte_end":226241,"line_start":179,"line_end":179,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871633}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226282,"byte_end":226296,"line_start":181,"line_end":181,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226272,"byte_end":226279,"line_start":181,"line_end":181,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218449}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226344,"byte_end":226354,"line_start":184,"line_end":184,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226381,"byte_end":226383,"line_start":185,"line_end":185,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226384,"byte_end":226388,"line_start":185,"line_end":185,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226441,"byte_end":226451,"line_start":188,"line_end":188,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226434,"byte_end":226440,"line_start":188,"line_end":188,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226452,"byte_end":226458,"line_start":188,"line_end":188,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742545}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226459,"byte_end":226470,"line_start":188,"line_end":188,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226472,"byte_end":226476,"line_start":188,"line_end":188,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226487,"byte_end":226498,"line_start":188,"line_end":188,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226523,"byte_end":226527,"line_start":190,"line_end":190,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4227859153}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226528,"byte_end":226532,"line_start":190,"line_end":190,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3655}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226543,"byte_end":226545,"line_start":192,"line_end":192,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226546,"byte_end":226550,"line_start":192,"line_end":192,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226557,"byte_end":226561,"line_start":192,"line_end":192,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2717909713}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226657,"byte_end":226666,"line_start":194,"line_end":194,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226633,"byte_end":226644,"line_start":194,"line_end":194,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226626,"byte_end":226632,"line_start":194,"line_end":194,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226645,"byte_end":226655,"line_start":194,"line_end":194,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226754,"byte_end":226763,"line_start":195,"line_end":195,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226726,"byte_end":226737,"line_start":195,"line_end":195,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226719,"byte_end":226725,"line_start":195,"line_end":195,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226738,"byte_end":226748,"line_start":195,"line_end":195,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226791,"byte_end":226803,"line_start":197,"line_end":197,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226806,"byte_end":226809,"line_start":197,"line_end":197,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226821,"byte_end":226827,"line_start":197,"line_end":197,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226811,"byte_end":226820,"line_start":197,"line_end":197,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":637534929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226831,"byte_end":226834,"line_start":197,"line_end":197,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226846,"byte_end":226852,"line_start":197,"line_end":197,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226836,"byte_end":226845,"line_start":197,"line_end":197,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1040188113}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226856,"byte_end":226860,"line_start":197,"line_end":197,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226974,"byte_end":226983,"line_start":200,"line_end":200,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226950,"byte_end":226961,"line_start":200,"line_end":200,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226943,"byte_end":226949,"line_start":200,"line_end":200,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226962,"byte_end":226972,"line_start":200,"line_end":200,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227071,"byte_end":227080,"line_start":201,"line_end":201,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227043,"byte_end":227054,"line_start":201,"line_end":201,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227036,"byte_end":227042,"line_start":201,"line_end":201,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227055,"byte_end":227065,"line_start":201,"line_end":201,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227108,"byte_end":227120,"line_start":203,"line_end":203,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227123,"byte_end":227126,"line_start":203,"line_end":203,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227138,"byte_end":227144,"line_start":203,"line_end":203,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227128,"byte_end":227137,"line_start":203,"line_end":203,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2768241361}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227148,"byte_end":227151,"line_start":203,"line_end":203,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227163,"byte_end":227169,"line_start":203,"line_end":203,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227153,"byte_end":227162,"line_start":203,"line_end":203,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":3170894545}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227173,"byte_end":227177,"line_start":203,"line_end":203,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3130}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227290,"byte_end":227299,"line_start":206,"line_end":206,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227266,"byte_end":227277,"line_start":206,"line_end":206,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227259,"byte_end":227265,"line_start":206,"line_end":206,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227278,"byte_end":227288,"line_start":206,"line_end":206,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227387,"byte_end":227396,"line_start":207,"line_end":207,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227359,"byte_end":227370,"line_start":207,"line_end":207,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227352,"byte_end":227358,"line_start":207,"line_end":207,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871633}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227371,"byte_end":227381,"line_start":207,"line_end":207,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879377}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227424,"byte_end":227436,"line_start":209,"line_end":209,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227439,"byte_end":227442,"line_start":209,"line_end":209,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227454,"byte_end":227460,"line_start":209,"line_end":209,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227444,"byte_end":227453,"line_start":209,"line_end":209,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1728053969}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227464,"byte_end":227467,"line_start":209,"line_end":209,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227479,"byte_end":227485,"line_start":209,"line_end":209,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227469,"byte_end":227478,"line_start":209,"line_end":209,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2130707153}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227489,"byte_end":227493,"line_start":209,"line_end":209,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3130}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227633,"byte_end":227636,"line_start":217,"line_end":217,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227637,"byte_end":227653,"line_start":217,"line_end":217,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227670,"byte_end":227673,"line_start":217,"line_end":217,"column_start":73,"column_end":76},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227674,"byte_end":227681,"line_start":217,"line_end":217,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227687,"byte_end":227693,"line_start":217,"line_end":217,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227701,"byte_end":227704,"line_start":217,"line_end":217,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227710,"byte_end":227713,"line_start":217,"line_end":217,"column_start":113,"column_end":116},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227714,"byte_end":227730,"line_start":217,"line_end":217,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227734,"byte_end":227742,"line_start":217,"line_end":217,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227762,"byte_end":227781,"line_start":218,"line_end":218,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227754,"byte_end":227760,"line_start":218,"line_end":218,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227782,"byte_end":227788,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742559}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227790,"byte_end":227801,"line_start":218,"line_end":218,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":536871647}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227846,"byte_end":227849,"line_start":221,"line_end":221,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227850,"byte_end":227866,"line_start":221,"line_end":221,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227909,"byte_end":227912,"line_start":221,"line_end":221,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227913,"byte_end":227929,"line_start":221,"line_end":221,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227950,"byte_end":227970,"line_start":222,"line_end":222,"column_start":17,"column_end":37},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227942,"byte_end":227948,"line_start":222,"line_end":222,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227971,"byte_end":227977,"line_start":222,"line_end":222,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227979,"byte_end":227986,"line_start":222,"line_end":222,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":536871648}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227988,"byte_end":227993,"line_start":222,"line_end":222,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1610613472}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228223,"byte_end":228235,"line_start":235,"line_end":235,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228281,"byte_end":228293,"line_start":237,"line_end":237,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228340,"byte_end":228352,"line_start":239,"line_end":239,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228376,"byte_end":228385,"line_start":242,"line_end":242,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228369,"byte_end":228374,"line_start":242,"line_end":242,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228484,"byte_end":228489,"line_start":243,"line_end":243,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228438,"byte_end":228454,"line_start":243,"line_end":243,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228459,"byte_end":228465,"line_start":243,"line_end":243,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228524,"byte_end":228530,"line_start":244,"line_end":244,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228531,"byte_end":228535,"line_start":244,"line_end":244,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228546,"byte_end":228557,"line_start":244,"line_end":244,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228570,"byte_end":228574,"line_start":245,"line_end":245,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228575,"byte_end":228581,"line_start":245,"line_end":245,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228584,"byte_end":228588,"line_start":245,"line_end":245,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228590,"byte_end":228594,"line_start":245,"line_end":245,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":2281702115}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228595,"byte_end":228599,"line_start":245,"line_end":245,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228601,"byte_end":228604,"line_start":245,"line_end":245,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228611,"byte_end":228614,"line_start":245,"line_end":245,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228658,"byte_end":228667,"line_start":248,"line_end":248,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228678,"byte_end":228687,"line_start":248,"line_end":248,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228692,"byte_end":228698,"line_start":248,"line_end":248,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":228746,"byte_end":228756,"line_start":249,"line_end":249,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228739,"byte_end":228745,"line_start":249,"line_end":249,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871652}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228757,"byte_end":228763,"line_start":249,"line_end":249,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742564}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228764,"byte_end":228775,"line_start":249,"line_end":249,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228777,"byte_end":228781,"line_start":249,"line_end":249,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228792,"byte_end":228803,"line_start":249,"line_end":249,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228816,"byte_end":228820,"line_start":250,"line_end":250,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228821,"byte_end":228827,"line_start":250,"line_end":250,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228830,"byte_end":228834,"line_start":250,"line_end":250,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228836,"byte_end":228840,"line_start":250,"line_end":250,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":402653924}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228841,"byte_end":228845,"line_start":250,"line_end":250,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228847,"byte_end":228850,"line_start":250,"line_end":250,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228859,"byte_end":228862,"line_start":250,"line_end":250,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228909,"byte_end":228918,"line_start":253,"line_end":253,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228929,"byte_end":228938,"line_start":253,"line_end":253,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228943,"byte_end":228949,"line_start":253,"line_end":253,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":228997,"byte_end":229007,"line_start":254,"line_end":254,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228990,"byte_end":228996,"line_start":254,"line_end":254,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229008,"byte_end":229014,"line_start":254,"line_end":254,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742565}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229015,"byte_end":229026,"line_start":254,"line_end":254,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229028,"byte_end":229032,"line_start":254,"line_end":254,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229043,"byte_end":229054,"line_start":254,"line_end":254,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229067,"byte_end":229071,"line_start":255,"line_end":255,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229072,"byte_end":229078,"line_start":255,"line_end":255,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229081,"byte_end":229085,"line_start":255,"line_end":255,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229087,"byte_end":229091,"line_start":255,"line_end":255,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":402653925}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229092,"byte_end":229096,"line_start":255,"line_end":255,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229098,"byte_end":229101,"line_start":255,"line_end":255,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229111,"byte_end":229114,"line_start":255,"line_end":255,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229286,"byte_end":229292,"line_start":263,"line_end":263,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229295,"byte_end":229299,"line_start":263,"line_end":263,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3143}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229295,"byte_end":229299,"line_start":263,"line_end":263,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":1073742567}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229301,"byte_end":229304,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229301,"byte_end":229304,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":536871655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229306,"byte_end":229309,"line_start":263,"line_end":263,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229306,"byte_end":229309,"line_start":263,"line_end":263,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1610613479}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229459,"byte_end":229463,"line_start":268,"line_end":268,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742568}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229676,"byte_end":229683,"line_start":278,"line_end":278,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229723,"byte_end":229726,"line_start":279,"line_end":279,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229716,"byte_end":229721,"line_start":279,"line_end":279,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229750,"byte_end":229756,"line_start":280,"line_end":280,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229738,"byte_end":229749,"line_start":280,"line_end":280,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1342178025}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229763,"byte_end":229771,"line_start":280,"line_end":280,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229784,"byte_end":229789,"line_start":280,"line_end":280,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229775,"byte_end":229782,"line_start":280,"line_end":280,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229790,"byte_end":229794,"line_start":280,"line_end":280,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073742569}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229795,"byte_end":229798,"line_start":280,"line_end":280,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229822,"byte_end":229828,"line_start":281,"line_end":281,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229810,"byte_end":229821,"line_start":281,"line_end":281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1342178025}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229835,"byte_end":229843,"line_start":281,"line_end":281,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229856,"byte_end":229861,"line_start":281,"line_end":281,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229847,"byte_end":229854,"line_start":281,"line_end":281,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229862,"byte_end":229866,"line_start":281,"line_end":281,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073742569}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229867,"byte_end":229870,"line_start":281,"line_end":281,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229891,"byte_end":229901,"line_start":282,"line_end":282,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229882,"byte_end":229889,"line_start":282,"line_end":282,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229902,"byte_end":229913,"line_start":282,"line_end":282,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":1342178025}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230020,"byte_end":230026,"line_start":286,"line_end":286,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230027,"byte_end":230039,"line_start":286,"line_end":286,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230054,"byte_end":230058,"line_start":287,"line_end":287,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230059,"byte_end":230063,"line_start":287,"line_end":287,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3143}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230090,"byte_end":230094,"line_start":288,"line_end":288,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230132,"byte_end":230143,"line_start":291,"line_end":291,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230124,"byte_end":230130,"line_start":291,"line_end":291,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230144,"byte_end":230148,"line_start":291,"line_end":291,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230149,"byte_end":230153,"line_start":291,"line_end":291,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230192,"byte_end":230195,"line_start":294,"line_end":294,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230201,"byte_end":230204,"line_start":294,"line_end":294,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230205,"byte_end":230209,"line_start":294,"line_end":294,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230210,"byte_end":230213,"line_start":294,"line_end":294,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230259,"byte_end":230262,"line_start":295,"line_end":295,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230268,"byte_end":230271,"line_start":295,"line_end":295,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230272,"byte_end":230276,"line_start":295,"line_end":295,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230277,"byte_end":230280,"line_start":295,"line_end":295,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230316,"byte_end":230320,"line_start":297,"line_end":297,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230321,"byte_end":230325,"line_start":297,"line_end":297,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230410,"byte_end":230421,"line_start":300,"line_end":300,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230387,"byte_end":230394,"line_start":300,"line_end":300,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230397,"byte_end":230400,"line_start":300,"line_end":300,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230486,"byte_end":230497,"line_start":301,"line_end":301,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230463,"byte_end":230470,"line_start":301,"line_end":301,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230473,"byte_end":230476,"line_start":301,"line_end":301,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230578,"byte_end":230589,"line_start":304,"line_end":304,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230590,"byte_end":230599,"line_start":304,"line_end":304,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1778385642}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230563,"byte_end":230572,"line_start":304,"line_end":304,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1778385642}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230636,"byte_end":230647,"line_start":305,"line_end":305,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230648,"byte_end":230657,"line_start":305,"line_end":305,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3321889514}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230621,"byte_end":230630,"line_start":305,"line_end":305,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3321889514}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230680,"byte_end":230684,"line_start":307,"line_end":307,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230685,"byte_end":230697,"line_start":307,"line_end":307,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230700,"byte_end":230703,"line_start":307,"line_end":307,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230715,"byte_end":230721,"line_start":307,"line_end":307,"column_start":52,"column_end":58},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230705,"byte_end":230714,"line_start":307,"line_end":307,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1778385642}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230725,"byte_end":230728,"line_start":307,"line_end":307,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230740,"byte_end":230746,"line_start":307,"line_end":307,"column_start":77,"column_end":83},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230730,"byte_end":230739,"line_start":307,"line_end":307,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3321889514}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230750,"byte_end":230754,"line_start":307,"line_end":307,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230756,"byte_end":230760,"line_start":307,"line_end":307,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230761,"byte_end":230765,"line_start":307,"line_end":307,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230865,"byte_end":230876,"line_start":311,"line_end":311,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230842,"byte_end":230849,"line_start":311,"line_end":311,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230852,"byte_end":230855,"line_start":311,"line_end":311,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230941,"byte_end":230952,"line_start":312,"line_end":312,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230918,"byte_end":230925,"line_start":312,"line_end":312,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230928,"byte_end":230931,"line_start":312,"line_end":312,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231033,"byte_end":231044,"line_start":315,"line_end":315,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231045,"byte_end":231054,"line_start":315,"line_end":315,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1157628650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231018,"byte_end":231027,"line_start":315,"line_end":315,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1157628650}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231091,"byte_end":231102,"line_start":316,"line_end":316,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231103,"byte_end":231112,"line_start":316,"line_end":316,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":4110418666}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231076,"byte_end":231085,"line_start":316,"line_end":316,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":4110418666}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231135,"byte_end":231139,"line_start":318,"line_end":318,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231140,"byte_end":231152,"line_start":318,"line_end":318,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231155,"byte_end":231158,"line_start":318,"line_end":318,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231170,"byte_end":231176,"line_start":318,"line_end":318,"column_start":52,"column_end":58},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231160,"byte_end":231169,"line_start":318,"line_end":318,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1157628650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231180,"byte_end":231183,"line_start":318,"line_end":318,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231195,"byte_end":231201,"line_start":318,"line_end":318,"column_start":77,"column_end":83},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231185,"byte_end":231194,"line_start":318,"line_end":318,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":4110418666}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231205,"byte_end":231209,"line_start":318,"line_end":318,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231211,"byte_end":231215,"line_start":318,"line_end":318,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231216,"byte_end":231220,"line_start":318,"line_end":318,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231320,"byte_end":231331,"line_start":322,"line_end":322,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231297,"byte_end":231304,"line_start":322,"line_end":322,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231307,"byte_end":231310,"line_start":322,"line_end":322,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231396,"byte_end":231407,"line_start":323,"line_end":323,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231373,"byte_end":231380,"line_start":323,"line_end":323,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231383,"byte_end":231386,"line_start":323,"line_end":323,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008490}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231488,"byte_end":231499,"line_start":326,"line_end":326,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231500,"byte_end":231509,"line_start":326,"line_end":326,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1996489450}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231473,"byte_end":231482,"line_start":326,"line_end":326,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1996489450}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231546,"byte_end":231557,"line_start":327,"line_end":327,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231558,"byte_end":231567,"line_start":327,"line_end":327,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3741319914}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231531,"byte_end":231540,"line_start":327,"line_end":327,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3741319914}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231590,"byte_end":231594,"line_start":329,"line_end":329,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231595,"byte_end":231607,"line_start":329,"line_end":329,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231610,"byte_end":231613,"line_start":329,"line_end":329,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231625,"byte_end":231631,"line_start":329,"line_end":329,"column_start":52,"column_end":58},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231615,"byte_end":231624,"line_start":329,"line_end":329,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1996489450}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231635,"byte_end":231638,"line_start":329,"line_end":329,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231650,"byte_end":231656,"line_start":329,"line_end":329,"column_start":77,"column_end":83},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231640,"byte_end":231649,"line_start":329,"line_end":329,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3741319914}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231660,"byte_end":231664,"line_start":329,"line_end":329,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231666,"byte_end":231670,"line_start":329,"line_end":329,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231671,"byte_end":231675,"line_start":329,"line_end":329,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3143}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231729,"byte_end":231733,"line_start":332,"line_end":332,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231773,"byte_end":231780,"line_start":338,"line_end":338,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231830,"byte_end":231836,"line_start":340,"line_end":340,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231839,"byte_end":231842,"line_start":340,"line_end":340,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231849,"byte_end":231852,"line_start":340,"line_end":340,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231859,"byte_end":231863,"line_start":340,"line_end":340,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3143}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231917,"byte_end":231924,"line_start":344,"line_end":344,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231929,"byte_end":231935,"line_start":344,"line_end":344,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231936,"byte_end":231942,"line_start":344,"line_end":344,"column_start":58,"column_end":64},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231943,"byte_end":231955,"line_start":344,"line_end":344,"column_start":65,"column_end":77},"ref_id":{"krate":0,"index":3129}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231958,"byte_end":231966,"line_start":344,"line_end":344,"column_start":80,"column_end":88},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231981,"byte_end":231985,"line_start":345,"line_end":345,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":536871661}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232016,"byte_end":232026,"line_start":346,"line_end":346,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232007,"byte_end":232014,"line_start":346,"line_end":346,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232016,"byte_end":232026,"line_start":346,"line_end":346,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232007,"byte_end":232014,"line_start":346,"line_end":346,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232087,"byte_end":232090,"line_start":348,"line_end":348,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232085,"byte_end":232086,"line_start":348,"line_end":348,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":805307117}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232116,"byte_end":232120,"line_start":349,"line_end":349,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232116,"byte_end":232120,"line_start":349,"line_end":349,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232155,"byte_end":232156,"line_start":350,"line_end":350,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2550137581}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232192,"byte_end":232199,"line_start":351,"line_end":351,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232183,"byte_end":232190,"line_start":351,"line_end":351,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232192,"byte_end":232199,"line_start":351,"line_end":351,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232183,"byte_end":232190,"line_start":351,"line_end":351,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232243,"byte_end":232244,"line_start":352,"line_end":352,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":67109613}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232236,"byte_end":232239,"line_start":352,"line_end":352,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1207960301}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232313,"byte_end":232318,"line_start":354,"line_end":354,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232304,"byte_end":232311,"line_start":354,"line_end":354,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232313,"byte_end":232318,"line_start":354,"line_end":354,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232304,"byte_end":232311,"line_start":354,"line_end":354,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232362,"byte_end":232363,"line_start":355,"line_end":355,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2348810989}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232355,"byte_end":232358,"line_start":355,"line_end":355,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1207960301}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232488,"byte_end":232492,"line_start":360,"line_end":360,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232488,"byte_end":232492,"line_start":360,"line_end":360,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232525,"byte_end":232528,"line_start":361,"line_end":361,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232539,"byte_end":232542,"line_start":361,"line_end":361,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232529,"byte_end":232537,"line_start":361,"line_end":361,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232679,"byte_end":232682,"line_start":365,"line_end":365,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232677,"byte_end":232678,"line_start":365,"line_end":365,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":805307117}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232708,"byte_end":232712,"line_start":366,"line_end":366,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232708,"byte_end":232712,"line_start":366,"line_end":366,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232747,"byte_end":232748,"line_start":367,"line_end":367,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2248147693}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232784,"byte_end":232791,"line_start":368,"line_end":368,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232775,"byte_end":232782,"line_start":368,"line_end":368,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232784,"byte_end":232791,"line_start":368,"line_end":368,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232775,"byte_end":232782,"line_start":368,"line_end":368,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232835,"byte_end":232836,"line_start":369,"line_end":369,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":369099501}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232828,"byte_end":232831,"line_start":369,"line_end":369,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1509950189}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232905,"byte_end":232910,"line_start":371,"line_end":371,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232896,"byte_end":232903,"line_start":371,"line_end":371,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232905,"byte_end":232910,"line_start":371,"line_end":371,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232896,"byte_end":232903,"line_start":371,"line_end":371,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232954,"byte_end":232955,"line_start":372,"line_end":372,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2650800877}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232947,"byte_end":232950,"line_start":372,"line_end":372,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1509950189}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233080,"byte_end":233084,"line_start":377,"line_end":377,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233080,"byte_end":233084,"line_start":377,"line_end":377,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233117,"byte_end":233120,"line_start":378,"line_end":378,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233131,"byte_end":233134,"line_start":378,"line_end":378,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233121,"byte_end":233129,"line_start":378,"line_end":378,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233266,"byte_end":233275,"line_start":382,"line_end":382,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":746}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233246,"byte_end":233249,"line_start":382,"line_end":382,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233238,"byte_end":233244,"line_start":382,"line_end":382,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233250,"byte_end":233254,"line_start":382,"line_end":382,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073742573}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233256,"byte_end":233259,"line_start":382,"line_end":382,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1207960301}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233261,"byte_end":233264,"line_start":382,"line_end":382,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":1509950189}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233296,"byte_end":233300,"line_start":383,"line_end":383,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233296,"byte_end":233300,"line_start":383,"line_end":383,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233314,"byte_end":233316,"line_start":383,"line_end":383,"column_start":35,"column_end":37},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233317,"byte_end":233321,"line_start":383,"line_end":383,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233322,"byte_end":233323,"line_start":383,"line_end":383,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3036676845}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233343,"byte_end":233347,"line_start":384,"line_end":384,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233343,"byte_end":233347,"line_start":384,"line_end":384,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233358,"byte_end":233360,"line_start":384,"line_end":384,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233361,"byte_end":233365,"line_start":384,"line_end":384,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233412,"byte_end":233414,"line_start":387,"line_end":387,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233415,"byte_end":233419,"line_start":387,"line_end":387,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233443,"byte_end":233451,"line_start":391,"line_end":391,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233532,"byte_end":233535,"line_start":393,"line_end":393,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233536,"byte_end":233552,"line_start":393,"line_end":393,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233558,"byte_end":233564,"line_start":393,"line_end":393,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233605,"byte_end":233611,"line_start":394,"line_end":394,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233612,"byte_end":233616,"line_start":394,"line_end":394,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871664}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233618,"byte_end":233622,"line_start":394,"line_end":394,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233633,"byte_end":233644,"line_start":394,"line_end":394,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233676,"byte_end":233680,"line_start":396,"line_end":396,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653936}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233681,"byte_end":233688,"line_start":396,"line_end":396,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233665,"byte_end":233669,"line_start":396,"line_end":396,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233703,"byte_end":233707,"line_start":397,"line_end":397,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233710,"byte_end":233715,"line_start":397,"line_end":397,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233708,"byte_end":233709,"line_start":397,"line_end":397,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623879408}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233748,"byte_end":233752,"line_start":399,"line_end":399,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233950,"byte_end":233955,"line_start":404,"line_end":404,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233849,"byte_end":233858,"line_start":404,"line_end":404,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233874,"byte_end":233883,"line_start":404,"line_end":404,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233893,"byte_end":233896,"line_start":404,"line_end":404,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233897,"byte_end":233904,"line_start":404,"line_end":404,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233910,"byte_end":233916,"line_start":404,"line_end":404,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233921,"byte_end":233929,"line_start":404,"line_end":404,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234006,"byte_end":234016,"line_start":406,"line_end":406,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233999,"byte_end":234005,"line_start":406,"line_end":406,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268436209}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234017,"byte_end":234023,"line_start":406,"line_end":406,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610613489}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234024,"byte_end":234035,"line_start":406,"line_end":406,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234037,"byte_end":234041,"line_start":406,"line_end":406,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234052,"byte_end":234063,"line_start":406,"line_end":406,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234088,"byte_end":234092,"line_start":408,"line_end":408,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2013266673}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234093,"byte_end":234097,"line_start":408,"line_end":408,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234117,"byte_end":234122,"line_start":410,"line_end":410,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234146,"byte_end":234156,"line_start":411,"line_end":411,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234137,"byte_end":234144,"line_start":411,"line_end":411,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234146,"byte_end":234156,"line_start":411,"line_end":411,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234137,"byte_end":234144,"line_start":411,"line_end":411,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234207,"byte_end":234210,"line_start":412,"line_end":412,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234199,"byte_end":234205,"line_start":412,"line_end":412,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234211,"byte_end":234215,"line_start":412,"line_end":412,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":603980529}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234286,"byte_end":234289,"line_start":414,"line_end":414,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234282,"byte_end":234285,"line_start":414,"line_end":414,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":872415985}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234252,"byte_end":234256,"line_start":414,"line_end":414,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234266,"byte_end":234273,"line_start":414,"line_end":414,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234257,"byte_end":234264,"line_start":414,"line_end":414,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234332,"byte_end":234335,"line_start":415,"line_end":415,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":4227859185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234319,"byte_end":234324,"line_start":415,"line_end":415,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504625}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234325,"byte_end":234328,"line_start":415,"line_end":415,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234418,"byte_end":234421,"line_start":418,"line_end":418,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234414,"byte_end":234417,"line_start":418,"line_end":418,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":872415985}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234386,"byte_end":234390,"line_start":418,"line_end":418,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234400,"byte_end":234405,"line_start":418,"line_end":418,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234391,"byte_end":234398,"line_start":418,"line_end":418,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234464,"byte_end":234467,"line_start":419,"line_end":419,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3657433841}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234451,"byte_end":234456,"line_start":419,"line_end":419,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504625}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234457,"byte_end":234460,"line_start":419,"line_end":419,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234552,"byte_end":234555,"line_start":422,"line_end":422,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234548,"byte_end":234551,"line_start":422,"line_end":422,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":872415985}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234518,"byte_end":234522,"line_start":422,"line_end":422,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234532,"byte_end":234539,"line_start":422,"line_end":422,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234523,"byte_end":234530,"line_start":422,"line_end":422,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234598,"byte_end":234601,"line_start":423,"line_end":423,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3992978161}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234585,"byte_end":234590,"line_start":423,"line_end":423,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504625}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234591,"byte_end":234594,"line_start":423,"line_end":423,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3145}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234684,"byte_end":234687,"line_start":426,"line_end":426,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234680,"byte_end":234683,"line_start":426,"line_end":426,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":872415985}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234652,"byte_end":234656,"line_start":426,"line_end":426,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234666,"byte_end":234671,"line_start":426,"line_end":426,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234657,"byte_end":234664,"line_start":426,"line_end":426,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234730,"byte_end":234733,"line_start":427,"line_end":427,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3372221169}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234717,"byte_end":234722,"line_start":427,"line_end":427,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504625}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234723,"byte_end":234726,"line_start":427,"line_end":427,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3145}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234783,"byte_end":234792,"line_start":430,"line_end":430,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234793,"byte_end":234799,"line_start":430,"line_end":430,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613489}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234801,"byte_end":234807,"line_start":430,"line_end":430,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436209}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234809,"byte_end":234814,"line_start":430,"line_end":430,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1543504625}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234873,"byte_end":234875,"line_start":435,"line_end":435,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234922,"byte_end":234933,"line_start":438,"line_end":438,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234958,"byte_end":234961,"line_start":438,"line_end":438,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234945,"byte_end":234956,"line_start":438,"line_end":438,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235010,"byte_end":235021,"line_start":439,"line_end":439,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235046,"byte_end":235049,"line_start":439,"line_end":439,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235033,"byte_end":235044,"line_start":439,"line_end":439,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235085,"byte_end":235088,"line_start":441,"line_end":441,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235089,"byte_end":235105,"line_start":441,"line_end":441,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235126,"byte_end":235132,"line_start":441,"line_end":441,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235133,"byte_end":235140,"line_start":441,"line_end":441,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235142,"byte_end":235150,"line_start":441,"line_end":441,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235191,"byte_end":235194,"line_start":442,"line_end":442,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235184,"byte_end":235189,"line_start":442,"line_end":442,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235231,"byte_end":235237,"line_start":444,"line_end":444,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742581}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235238,"byte_end":235245,"line_start":444,"line_end":444,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871669}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235247,"byte_end":235251,"line_start":444,"line_end":444,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235262,"byte_end":235273,"line_start":444,"line_end":444,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3653}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235327,"byte_end":235336,"line_start":446,"line_end":446,"column_start":47,"column_end":56},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235314,"byte_end":235322,"line_start":446,"line_end":446,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1725}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235357,"byte_end":235365,"line_start":447,"line_end":447,"column_start":18,"column_end":26},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235348,"byte_end":235356,"line_start":447,"line_end":447,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":2483028725}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235388,"byte_end":235394,"line_start":447,"line_end":447,"column_start":49,"column_end":55},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235376,"byte_end":235385,"line_start":447,"line_end":447,"column_start":37,"column_end":46},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235366,"byte_end":235370,"line_start":447,"line_end":447,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":2013266677}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235371,"byte_end":235375,"line_start":447,"line_end":447,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3655}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235419,"byte_end":235425,"line_start":448,"line_end":448,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235407,"byte_end":235418,"line_start":448,"line_end":448,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307125}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235433,"byte_end":235441,"line_start":448,"line_end":448,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235454,"byte_end":235460,"line_start":448,"line_end":448,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235445,"byte_end":235452,"line_start":448,"line_end":448,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235461,"byte_end":235469,"line_start":448,"line_end":448,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2483028725}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235504,"byte_end":235508,"line_start":450,"line_end":450,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":2013266677}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235509,"byte_end":235516,"line_start":450,"line_end":450,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235493,"byte_end":235497,"line_start":450,"line_end":450,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235560,"byte_end":235563,"line_start":451,"line_end":451,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235553,"byte_end":235558,"line_start":451,"line_end":451,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235591,"byte_end":235597,"line_start":452,"line_end":452,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235579,"byte_end":235590,"line_start":452,"line_end":452,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":704643829}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235604,"byte_end":235612,"line_start":452,"line_end":452,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235625,"byte_end":235630,"line_start":452,"line_end":452,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235616,"byte_end":235623,"line_start":452,"line_end":452,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235631,"byte_end":235632,"line_start":452,"line_end":452,"column_start":65,"column_end":66},"ref_id":{"krate":0,"index":1644167925}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235633,"byte_end":235636,"line_start":452,"line_end":452,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235664,"byte_end":235670,"line_start":453,"line_end":453,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235652,"byte_end":235663,"line_start":453,"line_end":453,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":704643829}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235677,"byte_end":235685,"line_start":453,"line_end":453,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235698,"byte_end":235703,"line_start":453,"line_end":453,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235689,"byte_end":235696,"line_start":453,"line_end":453,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235704,"byte_end":235705,"line_start":453,"line_end":453,"column_start":65,"column_end":66},"ref_id":{"krate":0,"index":1644167925}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235706,"byte_end":235709,"line_start":453,"line_end":453,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3145}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235737,"byte_end":235743,"line_start":454,"line_end":454,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235725,"byte_end":235736,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307125}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235754,"byte_end":235762,"line_start":454,"line_end":454,"column_start":42,"column_end":50},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235775,"byte_end":235785,"line_start":454,"line_end":454,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235766,"byte_end":235773,"line_start":454,"line_end":454,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235786,"byte_end":235797,"line_start":454,"line_end":454,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":704643829}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235820,"byte_end":235822,"line_start":457,"line_end":457,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235832,"byte_end":235842,"line_start":457,"line_end":457,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235823,"byte_end":235830,"line_start":457,"line_end":457,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235843,"byte_end":235854,"line_start":457,"line_end":457,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307125}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236004,"byte_end":236009,"line_start":461,"line_end":461,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235905,"byte_end":235914,"line_start":461,"line_end":461,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235930,"byte_end":235939,"line_start":461,"line_end":461,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235957,"byte_end":235963,"line_start":461,"line_end":461,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235964,"byte_end":235973,"line_start":461,"line_end":461,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235975,"byte_end":235983,"line_start":461,"line_end":461,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236046,"byte_end":236055,"line_start":463,"line_end":463,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236039,"byte_end":236045,"line_start":463,"line_end":463,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073742582}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236056,"byte_end":236062,"line_start":463,"line_end":463,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871670}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236106,"byte_end":236116,"line_start":465,"line_end":465,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236099,"byte_end":236105,"line_start":465,"line_end":465,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236117,"byte_end":236123,"line_start":465,"line_end":465,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742582}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236124,"byte_end":236135,"line_start":465,"line_end":465,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236137,"byte_end":236141,"line_start":465,"line_end":465,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236152,"byte_end":236163,"line_start":465,"line_end":465,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236188,"byte_end":236192,"line_start":467,"line_end":467,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1677722358}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236193,"byte_end":236197,"line_start":467,"line_end":467,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236231,"byte_end":236235,"line_start":469,"line_end":469,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":872415990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236258,"byte_end":236274,"line_start":471,"line_end":471,"column_start":12,"column_end":28},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236389,"byte_end":236405,"line_start":477,"line_end":477,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":738198262}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236439,"byte_end":236442,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236448,"byte_end":236451,"line_start":479,"line_end":479,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236452,"byte_end":236457,"line_start":479,"line_end":479,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1610613494}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236458,"byte_end":236461,"line_start":479,"line_end":479,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236507,"byte_end":236510,"line_start":480,"line_end":480,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236516,"byte_end":236519,"line_start":480,"line_end":480,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236520,"byte_end":236525,"line_start":480,"line_end":480,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1610613494}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236526,"byte_end":236529,"line_start":480,"line_end":480,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236626,"byte_end":236630,"line_start":483,"line_end":483,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":872415990}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236687,"byte_end":236698,"line_start":485,"line_end":485,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236679,"byte_end":236685,"line_start":485,"line_end":485,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236819,"byte_end":236830,"line_start":488,"line_end":488,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236796,"byte_end":236803,"line_start":488,"line_end":488,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276790}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236806,"byte_end":236809,"line_start":488,"line_end":488,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":285213430}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236895,"byte_end":236906,"line_start":489,"line_end":489,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236872,"byte_end":236879,"line_start":489,"line_end":489,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800886}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236882,"byte_end":236885,"line_start":489,"line_end":489,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":285213430}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236987,"byte_end":236998,"line_start":492,"line_end":492,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236999,"byte_end":237008,"line_start":492,"line_end":492,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2231370486}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236972,"byte_end":236981,"line_start":492,"line_end":492,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2231370486}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237045,"byte_end":237056,"line_start":493,"line_end":493,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237057,"byte_end":237066,"line_start":493,"line_end":493,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1962935030}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237030,"byte_end":237039,"line_start":493,"line_end":493,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1962935030}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237098,"byte_end":237117,"line_start":495,"line_end":495,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237098,"byte_end":237099,"line_start":495,"line_end":495,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237101,"byte_end":237117,"line_start":495,"line_end":495,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237101,"byte_end":237117,"line_start":495,"line_end":495,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237143,"byte_end":237144,"line_start":496,"line_end":496,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":4076864246}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237147,"byte_end":237163,"line_start":496,"line_end":496,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237203,"byte_end":237212,"line_start":497,"line_end":497,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2231370486}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237213,"byte_end":237214,"line_start":497,"line_end":497,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4076864246}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237190,"byte_end":237197,"line_start":497,"line_end":497,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":687866614}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237198,"byte_end":237199,"line_start":497,"line_end":497,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4076864246}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237283,"byte_end":237292,"line_start":499,"line_end":499,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1962935030}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237293,"byte_end":237294,"line_start":499,"line_end":499,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4076864246}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237297,"byte_end":237313,"line_start":499,"line_end":499,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237270,"byte_end":237277,"line_start":499,"line_end":499,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":687866614}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237278,"byte_end":237279,"line_start":499,"line_end":499,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4076864246}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237373,"byte_end":237380,"line_start":502,"line_end":502,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":687866614}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237449,"byte_end":237460,"line_start":505,"line_end":505,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237441,"byte_end":237447,"line_start":505,"line_end":505,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237580,"byte_end":237591,"line_start":508,"line_end":508,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237557,"byte_end":237564,"line_start":508,"line_end":508,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276790}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237567,"byte_end":237570,"line_start":508,"line_end":508,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":947913462}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237656,"byte_end":237667,"line_start":509,"line_end":509,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237633,"byte_end":237640,"line_start":509,"line_end":509,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800886}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237643,"byte_end":237646,"line_start":509,"line_end":509,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":947913462}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237748,"byte_end":237759,"line_start":512,"line_end":512,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237760,"byte_end":237769,"line_start":512,"line_end":512,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2894070518}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237733,"byte_end":237742,"line_start":512,"line_end":512,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2894070518}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237806,"byte_end":237817,"line_start":513,"line_end":513,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237818,"byte_end":237827,"line_start":513,"line_end":513,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1115685622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237791,"byte_end":237800,"line_start":513,"line_end":513,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1115685622}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237859,"byte_end":237878,"line_start":515,"line_end":515,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237859,"byte_end":237860,"line_start":515,"line_end":515,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237862,"byte_end":237878,"line_start":515,"line_end":515,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237862,"byte_end":237878,"line_start":515,"line_end":515,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237904,"byte_end":237905,"line_start":516,"line_end":516,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":3330278134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237908,"byte_end":237924,"line_start":516,"line_end":516,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237964,"byte_end":237973,"line_start":517,"line_end":517,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2894070518}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237974,"byte_end":237975,"line_start":517,"line_end":517,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":3330278134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237951,"byte_end":237958,"line_start":517,"line_end":517,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":343933686}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237959,"byte_end":237960,"line_start":517,"line_end":517,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3330278134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238044,"byte_end":238053,"line_start":519,"line_end":519,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1115685622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238054,"byte_end":238055,"line_start":519,"line_end":519,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":3330278134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238058,"byte_end":238074,"line_start":519,"line_end":519,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238031,"byte_end":238038,"line_start":519,"line_end":519,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":343933686}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238039,"byte_end":238040,"line_start":519,"line_end":519,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3330278134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238134,"byte_end":238141,"line_start":522,"line_end":522,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":343933686}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238210,"byte_end":238221,"line_start":525,"line_end":525,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":238202,"byte_end":238208,"line_start":525,"line_end":525,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238341,"byte_end":238352,"line_start":528,"line_end":528,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238318,"byte_end":238325,"line_start":528,"line_end":528,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276790}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238328,"byte_end":238331,"line_start":528,"line_end":528,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493174}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238417,"byte_end":238428,"line_start":529,"line_end":529,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238394,"byte_end":238401,"line_start":529,"line_end":529,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800886}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238404,"byte_end":238407,"line_start":529,"line_end":529,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493174}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238509,"byte_end":238520,"line_start":532,"line_end":532,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238521,"byte_end":238530,"line_start":532,"line_end":532,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2474640118}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238494,"byte_end":238503,"line_start":532,"line_end":532,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2474640118}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238567,"byte_end":238578,"line_start":533,"line_end":533,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238579,"byte_end":238588,"line_start":533,"line_end":533,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1803551478}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238552,"byte_end":238561,"line_start":533,"line_end":533,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1803551478}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":238620,"byte_end":238639,"line_start":535,"line_end":535,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238620,"byte_end":238621,"line_start":535,"line_end":535,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238623,"byte_end":238639,"line_start":535,"line_end":535,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238623,"byte_end":238639,"line_start":535,"line_end":535,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238665,"byte_end":238666,"line_start":536,"line_end":536,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":4018143990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238669,"byte_end":238685,"line_start":536,"line_end":536,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238725,"byte_end":238734,"line_start":537,"line_end":537,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2474640118}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238735,"byte_end":238736,"line_start":537,"line_end":537,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4018143990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238712,"byte_end":238719,"line_start":537,"line_end":537,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1031799542}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238720,"byte_end":238721,"line_start":537,"line_end":537,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4018143990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238805,"byte_end":238814,"line_start":539,"line_end":539,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1803551478}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238815,"byte_end":238816,"line_start":539,"line_end":539,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4018143990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238819,"byte_end":238835,"line_start":539,"line_end":539,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998390}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238792,"byte_end":238799,"line_start":539,"line_end":539,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1031799542}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238800,"byte_end":238801,"line_start":539,"line_end":539,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4018143990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238895,"byte_end":238902,"line_start":542,"line_end":542,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1031799542}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239029,"byte_end":239043,"line_start":549,"line_end":549,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239019,"byte_end":239026,"line_start":549,"line_end":549,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960310}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239068,"byte_end":239081,"line_start":551,"line_end":551,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1916797686}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239150,"byte_end":239161,"line_start":553,"line_end":553,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239143,"byte_end":239149,"line_start":553,"line_end":553,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239129,"byte_end":239140,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":838861558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":239238,"byte_end":239258,"line_start":556,"line_end":556,"column_start":22,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239238,"byte_end":239239,"line_start":556,"line_end":556,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239241,"byte_end":239258,"line_start":556,"line_end":556,"column_start":25,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239253,"byte_end":239256,"line_start":556,"line_end":556,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239241,"byte_end":239252,"line_start":556,"line_end":556,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3258974966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239280,"byte_end":239281,"line_start":557,"line_end":557,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":641729270}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239284,"byte_end":239300,"line_start":557,"line_end":557,"column_start":24,"column_end":40},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239356,"byte_end":239367,"line_start":558,"line_end":558,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3258974966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239368,"byte_end":239369,"line_start":558,"line_end":558,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":641729270}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239323,"byte_end":239334,"line_start":558,"line_end":558,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":838861558}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239335,"byte_end":239348,"line_start":558,"line_end":558,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1916797686}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239351,"byte_end":239352,"line_start":558,"line_end":558,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":641729270}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239471,"byte_end":239475,"line_start":565,"line_end":565,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":872415990}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239509,"byte_end":239522,"line_start":566,"line_end":566,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239502,"byte_end":239508,"line_start":566,"line_end":566,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536871670}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239569,"byte_end":239582,"line_start":567,"line_end":567,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239562,"byte_end":239568,"line_start":567,"line_end":567,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536871670}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239628,"byte_end":239641,"line_start":568,"line_end":568,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239621,"byte_end":239627,"line_start":568,"line_end":568,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239449,"byte_end":239462,"line_start":565,"line_end":565,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":1916797686}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239733,"byte_end":239744,"line_start":572,"line_end":572,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239726,"byte_end":239732,"line_start":572,"line_end":572,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239712,"byte_end":239723,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":838861558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":239806,"byte_end":239826,"line_start":575,"line_end":575,"column_start":22,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239806,"byte_end":239807,"line_start":575,"line_end":575,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239809,"byte_end":239826,"line_start":575,"line_end":575,"column_start":25,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239821,"byte_end":239824,"line_start":575,"line_end":575,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239809,"byte_end":239820,"line_start":575,"line_end":575,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3258974966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239848,"byte_end":239849,"line_start":576,"line_end":576,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3502244598}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239852,"byte_end":239868,"line_start":576,"line_end":576,"column_start":24,"column_end":40},"ref_id":{"krate":0,"index":738198262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239924,"byte_end":239935,"line_start":577,"line_end":577,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3258974966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239936,"byte_end":239937,"line_start":577,"line_end":577,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":3502244598}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239891,"byte_end":239902,"line_start":577,"line_end":577,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":838861558}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239903,"byte_end":239916,"line_start":577,"line_end":577,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1916797686}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239919,"byte_end":239920,"line_start":577,"line_end":577,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3502244598}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240014,"byte_end":240028,"line_start":581,"line_end":581,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239992,"byte_end":240005,"line_start":581,"line_end":581,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239985,"byte_end":239991,"line_start":581,"line_end":581,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742582}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240006,"byte_end":240012,"line_start":581,"line_end":581,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240029,"byte_end":240042,"line_start":581,"line_end":581,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1916797686}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240072,"byte_end":240074,"line_start":585,"line_end":585,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240075,"byte_end":240081,"line_start":585,"line_end":585,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742582}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240201,"byte_end":240206,"line_start":588,"line_end":588,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240117,"byte_end":240126,"line_start":588,"line_end":588,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240144,"byte_end":240153,"line_start":588,"line_end":588,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240158,"byte_end":240164,"line_start":588,"line_end":588,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240165,"byte_end":240171,"line_start":588,"line_end":588,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240179,"byte_end":240187,"line_start":588,"line_end":588,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240244,"byte_end":240253,"line_start":590,"line_end":590,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240237,"byte_end":240243,"line_start":590,"line_end":590,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742595}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240254,"byte_end":240260,"line_start":590,"line_end":590,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871683}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240301,"byte_end":240315,"line_start":592,"line_end":592,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240291,"byte_end":240298,"line_start":592,"line_end":592,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218499}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240364,"byte_end":240374,"line_start":595,"line_end":595,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240401,"byte_end":240403,"line_start":596,"line_end":596,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240404,"byte_end":240408,"line_start":596,"line_end":596,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240460,"byte_end":240470,"line_start":598,"line_end":598,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240453,"byte_end":240459,"line_start":598,"line_end":598,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240471,"byte_end":240477,"line_start":598,"line_end":598,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742595}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240478,"byte_end":240489,"line_start":598,"line_end":598,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240491,"byte_end":240495,"line_start":598,"line_end":598,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240506,"byte_end":240517,"line_start":598,"line_end":598,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240546,"byte_end":240550,"line_start":600,"line_end":600,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4227859203}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240551,"byte_end":240555,"line_start":600,"line_end":600,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3655}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240566,"byte_end":240568,"line_start":602,"line_end":602,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240569,"byte_end":240573,"line_start":602,"line_end":602,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240580,"byte_end":240584,"line_start":602,"line_end":602,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2717909763}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240694,"byte_end":240703,"line_start":605,"line_end":605,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240670,"byte_end":240681,"line_start":605,"line_end":605,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240663,"byte_end":240669,"line_start":605,"line_end":605,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240682,"byte_end":240692,"line_start":605,"line_end":605,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240795,"byte_end":240804,"line_start":606,"line_end":606,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240767,"byte_end":240778,"line_start":606,"line_end":606,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240760,"byte_end":240766,"line_start":606,"line_end":606,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240779,"byte_end":240789,"line_start":606,"line_end":606,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240890,"byte_end":240899,"line_start":609,"line_end":609,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240900,"byte_end":240909,"line_start":609,"line_end":609,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":637534979}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240875,"byte_end":240884,"line_start":609,"line_end":609,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":637534979}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240947,"byte_end":240956,"line_start":610,"line_end":610,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240957,"byte_end":240966,"line_start":610,"line_end":610,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1040188163}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240932,"byte_end":240941,"line_start":610,"line_end":610,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1040188163}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241005,"byte_end":241018,"line_start":612,"line_end":612,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241019,"byte_end":241028,"line_start":612,"line_end":612,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":637534979}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241069,"byte_end":241082,"line_start":613,"line_end":613,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241083,"byte_end":241092,"line_start":613,"line_end":613,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1040188163}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241137,"byte_end":241148,"line_start":615,"line_end":615,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241129,"byte_end":241135,"line_start":615,"line_end":615,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241171,"byte_end":241177,"line_start":617,"line_end":617,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241180,"byte_end":241183,"line_start":617,"line_end":617,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241185,"byte_end":241188,"line_start":617,"line_end":617,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3305112323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241191,"byte_end":241194,"line_start":617,"line_end":617,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2634023683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241196,"byte_end":241199,"line_start":617,"line_end":617,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241201,"byte_end":241204,"line_start":617,"line_end":617,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":218104579}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241207,"byte_end":241210,"line_start":617,"line_end":617,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2634023683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241212,"byte_end":241216,"line_start":617,"line_end":617,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241333,"byte_end":241342,"line_start":620,"line_end":620,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241309,"byte_end":241320,"line_start":620,"line_end":620,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241302,"byte_end":241308,"line_start":620,"line_end":620,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241321,"byte_end":241331,"line_start":620,"line_end":620,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241434,"byte_end":241443,"line_start":621,"line_end":621,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241406,"byte_end":241417,"line_start":621,"line_end":621,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241399,"byte_end":241405,"line_start":621,"line_end":621,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241418,"byte_end":241428,"line_start":621,"line_end":621,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241529,"byte_end":241538,"line_start":624,"line_end":624,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241539,"byte_end":241548,"line_start":624,"line_end":624,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":654312195}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241514,"byte_end":241523,"line_start":624,"line_end":624,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":654312195}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241586,"byte_end":241595,"line_start":625,"line_end":625,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241596,"byte_end":241605,"line_start":625,"line_end":625,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1056965379}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241571,"byte_end":241580,"line_start":625,"line_end":625,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1056965379}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241644,"byte_end":241657,"line_start":627,"line_end":627,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241658,"byte_end":241667,"line_start":627,"line_end":627,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":654312195}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241708,"byte_end":241721,"line_start":628,"line_end":628,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241722,"byte_end":241731,"line_start":628,"line_end":628,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1056965379}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241776,"byte_end":241787,"line_start":630,"line_end":630,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241768,"byte_end":241774,"line_start":630,"line_end":630,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241809,"byte_end":241815,"line_start":632,"line_end":632,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241818,"byte_end":241821,"line_start":632,"line_end":632,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241823,"byte_end":241826,"line_start":632,"line_end":632,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3296723715}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241829,"byte_end":241832,"line_start":632,"line_end":632,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2625635075}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241834,"byte_end":241837,"line_start":632,"line_end":632,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241839,"byte_end":241842,"line_start":632,"line_end":632,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":209715971}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241845,"byte_end":241848,"line_start":632,"line_end":632,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2625635075}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241850,"byte_end":241854,"line_start":632,"line_end":632,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3143}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241970,"byte_end":241979,"line_start":635,"line_end":635,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241946,"byte_end":241957,"line_start":635,"line_end":635,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241939,"byte_end":241945,"line_start":635,"line_end":635,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241958,"byte_end":241968,"line_start":635,"line_end":635,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242071,"byte_end":242080,"line_start":636,"line_end":636,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242043,"byte_end":242054,"line_start":636,"line_end":636,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242036,"byte_end":242042,"line_start":636,"line_end":636,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871683}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242055,"byte_end":242065,"line_start":636,"line_end":636,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879427}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242166,"byte_end":242175,"line_start":639,"line_end":639,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242176,"byte_end":242185,"line_start":639,"line_end":639,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":645923587}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242151,"byte_end":242160,"line_start":639,"line_end":639,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":645923587}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242223,"byte_end":242232,"line_start":640,"line_end":640,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242233,"byte_end":242242,"line_start":640,"line_end":640,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1048576771}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242208,"byte_end":242217,"line_start":640,"line_end":640,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1048576771}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242281,"byte_end":242294,"line_start":642,"line_end":642,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242295,"byte_end":242304,"line_start":642,"line_end":642,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":645923587}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242345,"byte_end":242358,"line_start":643,"line_end":643,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242359,"byte_end":242368,"line_start":643,"line_end":643,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1048576771}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242413,"byte_end":242424,"line_start":645,"line_end":645,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242405,"byte_end":242411,"line_start":645,"line_end":645,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242446,"byte_end":242452,"line_start":647,"line_end":647,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242455,"byte_end":242458,"line_start":647,"line_end":647,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242460,"byte_end":242463,"line_start":647,"line_end":647,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3313500931}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242466,"byte_end":242469,"line_start":647,"line_end":647,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2642412291}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242471,"byte_end":242474,"line_start":647,"line_end":647,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3145}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242476,"byte_end":242479,"line_start":647,"line_end":647,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":226493187}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242482,"byte_end":242485,"line_start":647,"line_end":647,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2642412291}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242487,"byte_end":242491,"line_start":647,"line_end":647,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3143}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242633,"byte_end":242642,"line_start":655,"line_end":655,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242660,"byte_end":242669,"line_start":655,"line_end":655,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242674,"byte_end":242681,"line_start":655,"line_end":655,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242705,"byte_end":242715,"line_start":657,"line_end":657,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242716,"byte_end":242722,"line_start":657,"line_end":657,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242724,"byte_end":242730,"line_start":657,"line_end":657,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613521}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242746,"byte_end":242748,"line_start":658,"line_end":658,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242746,"byte_end":242748,"line_start":658,"line_end":658,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242779,"byte_end":242780,"line_start":659,"line_end":659,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702161}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242803,"byte_end":242807,"line_start":660,"line_end":660,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242803,"byte_end":242807,"line_start":660,"line_end":660,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242864,"byte_end":242867,"line_start":661,"line_end":661,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242857,"byte_end":242862,"line_start":661,"line_end":661,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242903,"byte_end":242909,"line_start":663,"line_end":663,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242896,"byte_end":242902,"line_start":663,"line_end":663,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2214593297}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242916,"byte_end":242924,"line_start":663,"line_end":663,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242937,"byte_end":242942,"line_start":663,"line_end":663,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242928,"byte_end":242935,"line_start":663,"line_end":663,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242943,"byte_end":242944,"line_start":663,"line_end":663,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3892314897}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242945,"byte_end":242948,"line_start":663,"line_end":663,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242983,"byte_end":242989,"line_start":664,"line_end":664,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242976,"byte_end":242982,"line_start":664,"line_end":664,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2214593297}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242996,"byte_end":243004,"line_start":664,"line_end":664,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243017,"byte_end":243022,"line_start":664,"line_end":664,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243008,"byte_end":243015,"line_start":664,"line_end":664,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243023,"byte_end":243024,"line_start":664,"line_end":664,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3892314897}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243025,"byte_end":243028,"line_start":664,"line_end":664,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243090,"byte_end":243100,"line_start":666,"line_end":666,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243081,"byte_end":243088,"line_start":666,"line_end":666,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243101,"byte_end":243107,"line_start":666,"line_end":666,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2214593297}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243152,"byte_end":243156,"line_start":668,"line_end":668,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243152,"byte_end":243156,"line_start":668,"line_end":668,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243218,"byte_end":243228,"line_start":670,"line_end":670,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243211,"byte_end":243217,"line_start":670,"line_end":670,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613521}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243229,"byte_end":243235,"line_start":670,"line_end":670,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243236,"byte_end":243247,"line_start":670,"line_end":670,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243249,"byte_end":243253,"line_start":670,"line_end":670,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243264,"byte_end":243275,"line_start":670,"line_end":670,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243323,"byte_end":243327,"line_start":672,"line_end":672,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3120562961}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243328,"byte_end":243335,"line_start":672,"line_end":672,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243312,"byte_end":243316,"line_start":672,"line_end":672,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243390,"byte_end":243393,"line_start":673,"line_end":673,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243383,"byte_end":243388,"line_start":673,"line_end":673,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243433,"byte_end":243439,"line_start":675,"line_end":675,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243426,"byte_end":243432,"line_start":675,"line_end":675,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1979712273}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243446,"byte_end":243454,"line_start":675,"line_end":675,"column_start":49,"column_end":57},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243467,"byte_end":243472,"line_start":675,"line_end":675,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243458,"byte_end":243465,"line_start":675,"line_end":675,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243473,"byte_end":243474,"line_start":675,"line_end":675,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":100664081}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243475,"byte_end":243478,"line_start":675,"line_end":675,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243517,"byte_end":243523,"line_start":676,"line_end":676,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243510,"byte_end":243516,"line_start":676,"line_end":676,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1979712273}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243530,"byte_end":243538,"line_start":676,"line_end":676,"column_start":49,"column_end":57},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243551,"byte_end":243556,"line_start":676,"line_end":676,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243542,"byte_end":243549,"line_start":676,"line_end":676,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243557,"byte_end":243558,"line_start":676,"line_end":676,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":100664081}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243559,"byte_end":243562,"line_start":676,"line_end":676,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243632,"byte_end":243642,"line_start":678,"line_end":678,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243623,"byte_end":243630,"line_start":678,"line_end":678,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243643,"byte_end":243649,"line_start":678,"line_end":678,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1979712273}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243721,"byte_end":243725,"line_start":680,"line_end":680,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243712,"byte_end":243719,"line_start":680,"line_end":680,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243845,"byte_end":243848,"line_start":686,"line_end":686,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243845,"byte_end":243848,"line_start":686,"line_end":686,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243883,"byte_end":243887,"line_start":687,"line_end":687,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243874,"byte_end":243881,"line_start":687,"line_end":687,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243949,"byte_end":243952,"line_start":692,"line_end":692,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243953,"byte_end":243969,"line_start":692,"line_end":692,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243990,"byte_end":243996,"line_start":692,"line_end":692,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243997,"byte_end":244003,"line_start":692,"line_end":692,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244005,"byte_end":244013,"line_start":692,"line_end":692,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244058,"byte_end":244064,"line_start":694,"line_end":694,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742610}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244065,"byte_end":244072,"line_start":694,"line_end":694,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244074,"byte_end":244078,"line_start":694,"line_end":694,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244089,"byte_end":244100,"line_start":694,"line_end":694,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244141,"byte_end":244145,"line_start":696,"line_end":696,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1744831250}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244146,"byte_end":244150,"line_start":696,"line_end":696,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3655}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244181,"byte_end":244185,"line_start":697,"line_end":697,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244173,"byte_end":244179,"line_start":697,"line_end":697,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244226,"byte_end":244230,"line_start":698,"line_end":698,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244218,"byte_end":244224,"line_start":698,"line_end":698,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244272,"byte_end":244276,"line_start":699,"line_end":699,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244264,"byte_end":244270,"line_start":699,"line_end":699,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244318,"byte_end":244322,"line_start":700,"line_end":700,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244310,"byte_end":244316,"line_start":700,"line_end":700,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244377,"byte_end":244381,"line_start":703,"line_end":703,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1744831250}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244382,"byte_end":244389,"line_start":703,"line_end":703,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244366,"byte_end":244370,"line_start":703,"line_end":703,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244415,"byte_end":244423,"line_start":704,"line_end":704,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244404,"byte_end":244414,"line_start":704,"line_end":704,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244463,"byte_end":244471,"line_start":705,"line_end":705,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244452,"byte_end":244462,"line_start":705,"line_end":705,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244505,"byte_end":244513,"line_start":706,"line_end":706,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244494,"byte_end":244504,"line_start":706,"line_end":706,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244532,"byte_end":244538,"line_start":706,"line_end":706,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244520,"byte_end":244529,"line_start":706,"line_end":706,"column_start":39,"column_end":48},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244514,"byte_end":244515,"line_start":706,"line_end":706,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3523216146}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244516,"byte_end":244519,"line_start":706,"line_end":706,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3144}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244566,"byte_end":244574,"line_start":707,"line_end":707,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244555,"byte_end":244565,"line_start":707,"line_end":707,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244605,"byte_end":244613,"line_start":708,"line_end":708,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244594,"byte_end":244604,"line_start":708,"line_end":708,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244647,"byte_end":244655,"line_start":709,"line_end":709,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244636,"byte_end":244646,"line_start":709,"line_end":709,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244674,"byte_end":244680,"line_start":709,"line_end":709,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244662,"byte_end":244671,"line_start":709,"line_end":709,"column_start":39,"column_end":48},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244656,"byte_end":244657,"line_start":709,"line_end":709,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3523216146}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244658,"byte_end":244661,"line_start":709,"line_end":709,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3145}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244708,"byte_end":244716,"line_start":710,"line_end":710,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244697,"byte_end":244707,"line_start":710,"line_end":710,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244754,"byte_end":244762,"line_start":713,"line_end":713,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244743,"byte_end":244753,"line_start":713,"line_end":713,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":301990674}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244778,"byte_end":244780,"line_start":715,"line_end":715,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244781,"byte_end":244791,"line_start":715,"line_end":715,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":301990674}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244848,"byte_end":244851,"line_start":719,"line_end":719,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244852,"byte_end":244868,"line_start":719,"line_end":719,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244889,"byte_end":244898,"line_start":719,"line_end":719,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244907,"byte_end":244910,"line_start":719,"line_end":719,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244911,"byte_end":244917,"line_start":719,"line_end":719,"column_start":102,"column_end":108},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244923,"byte_end":244929,"line_start":719,"line_end":719,"column_start":114,"column_end":120},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244937,"byte_end":244940,"line_start":719,"line_end":719,"column_start":128,"column_end":131},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244946,"byte_end":244949,"line_start":719,"line_end":719,"column_start":137,"column_end":140},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244950,"byte_end":244966,"line_start":719,"line_end":719,"column_start":141,"column_end":157},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244970,"byte_end":244978,"line_start":719,"line_end":719,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245063,"byte_end":245066,"line_start":723,"line_end":723,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245058,"byte_end":245062,"line_start":723,"line_end":723,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436243}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245094,"byte_end":245098,"line_start":724,"line_end":724,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436243}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245137,"byte_end":245147,"line_start":725,"line_end":725,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245128,"byte_end":245134,"line_start":725,"line_end":725,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245120,"byte_end":245126,"line_start":725,"line_end":725,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245195,"byte_end":245205,"line_start":726,"line_end":726,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1677722387}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245252,"byte_end":245256,"line_start":727,"line_end":727,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245239,"byte_end":245246,"line_start":727,"line_end":727,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245235,"byte_end":245238,"line_start":727,"line_end":727,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610613523}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245247,"byte_end":245250,"line_start":727,"line_end":727,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3556770579}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245308,"byte_end":245313,"line_start":728,"line_end":728,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":872416019}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245365,"byte_end":245375,"line_start":729,"line_end":729,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245356,"byte_end":245362,"line_start":729,"line_end":729,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245348,"byte_end":245354,"line_start":729,"line_end":729,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245456,"byte_end":245469,"line_start":730,"line_end":730,"column_start":59,"column_end":72},"ref_id":{"krate":0,"index":570426131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245536,"byte_end":245540,"line_start":731,"line_end":731,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245522,"byte_end":245529,"line_start":731,"line_end":731,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245518,"byte_end":245521,"line_start":731,"line_end":731,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613523}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245530,"byte_end":245534,"line_start":731,"line_end":731,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2449474323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245648,"byte_end":245655,"line_start":733,"line_end":733,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245732,"byte_end":245738,"line_start":734,"line_end":734,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1375732499}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245809,"byte_end":245813,"line_start":735,"line_end":735,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245801,"byte_end":245807,"line_start":735,"line_end":735,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245793,"byte_end":245799,"line_start":735,"line_end":735,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245908,"byte_end":245913,"line_start":736,"line_end":736,"column_start":88,"column_end":93},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245901,"byte_end":245905,"line_start":736,"line_end":736,"column_start":81,"column_end":85},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245887,"byte_end":245894,"line_start":736,"line_end":736,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245883,"byte_end":245886,"line_start":736,"line_end":736,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1610613523}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245895,"byte_end":245899,"line_start":736,"line_end":736,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3590325011}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245985,"byte_end":245987,"line_start":737,"line_end":737,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245985,"byte_end":245987,"line_start":737,"line_end":737,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245994,"byte_end":245995,"line_start":737,"line_end":737,"column_start":70,"column_end":71},"ref_id":{"krate":0,"index":3724542739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246057,"byte_end":246060,"line_start":738,"line_end":738,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246057,"byte_end":246060,"line_start":738,"line_end":738,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246075,"byte_end":246078,"line_start":738,"line_end":738,"column_start":79,"column_end":82},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246089,"byte_end":246092,"line_start":738,"line_end":738,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246079,"byte_end":246087,"line_start":738,"line_end":738,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245714,"byte_end":245721,"line_start":734,"line_end":734,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246504,"byte_end":246511,"line_start":745,"line_end":745,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246588,"byte_end":246594,"line_start":746,"line_end":746,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1375732499}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246665,"byte_end":246669,"line_start":747,"line_end":747,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246657,"byte_end":246663,"line_start":747,"line_end":747,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246649,"byte_end":246655,"line_start":747,"line_end":747,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246764,"byte_end":246769,"line_start":748,"line_end":748,"column_start":88,"column_end":93},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246757,"byte_end":246761,"line_start":748,"line_end":748,"column_start":81,"column_end":85},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246743,"byte_end":246750,"line_start":748,"line_end":748,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246739,"byte_end":246742,"line_start":748,"line_end":748,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1610613523}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246751,"byte_end":246755,"line_start":748,"line_end":748,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":2499805971}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246841,"byte_end":246843,"line_start":749,"line_end":749,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246841,"byte_end":246843,"line_start":749,"line_end":749,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246850,"byte_end":246851,"line_start":749,"line_end":749,"column_start":70,"column_end":71},"ref_id":{"krate":0,"index":2634023699}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246913,"byte_end":246916,"line_start":750,"line_end":750,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246913,"byte_end":246916,"line_start":750,"line_end":750,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246931,"byte_end":246934,"line_start":750,"line_end":750,"column_start":79,"column_end":82},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246945,"byte_end":246948,"line_start":750,"line_end":750,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246935,"byte_end":246943,"line_start":750,"line_end":750,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246570,"byte_end":246577,"line_start":746,"line_end":746,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247637,"byte_end":247641,"line_start":769,"line_end":769,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":536871699}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247791,"byte_end":247798,"line_start":777,"line_end":777,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247828,"byte_end":247832,"line_start":778,"line_end":778,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247910,"byte_end":247919,"line_start":780,"line_end":780,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":746}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247878,"byte_end":247881,"line_start":780,"line_end":780,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247870,"byte_end":247876,"line_start":780,"line_end":780,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247882,"byte_end":247886,"line_start":780,"line_end":780,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":612369171}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247888,"byte_end":247895,"line_start":780,"line_end":780,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247899,"byte_end":247906,"line_start":780,"line_end":780,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247977,"byte_end":247980,"line_start":784,"line_end":784,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247992,"byte_end":247995,"line_start":784,"line_end":784,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247987,"byte_end":247990,"line_start":784,"line_end":784,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248019,"byte_end":248023,"line_start":785,"line_end":785,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248007,"byte_end":248018,"line_start":785,"line_end":785,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248037,"byte_end":248040,"line_start":785,"line_end":785,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248024,"byte_end":248035,"line_start":785,"line_end":785,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248069,"byte_end":248073,"line_start":786,"line_end":786,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248057,"byte_end":248068,"line_start":786,"line_end":786,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248074,"byte_end":248078,"line_start":786,"line_end":786,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":612369171}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248109,"byte_end":248116,"line_start":787,"line_end":787,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2726298387}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248131,"byte_end":248135,"line_start":788,"line_end":788,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248131,"byte_end":248135,"line_start":788,"line_end":788,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248172,"byte_end":248176,"line_start":789,"line_end":789,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248160,"byte_end":248171,"line_start":789,"line_end":789,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248209,"byte_end":248215,"line_start":790,"line_end":790,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248197,"byte_end":248208,"line_start":790,"line_end":790,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248222,"byte_end":248227,"line_start":790,"line_end":790,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248216,"byte_end":248217,"line_start":790,"line_end":790,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":377488147}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248218,"byte_end":248221,"line_start":790,"line_end":790,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248260,"byte_end":248266,"line_start":791,"line_end":791,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248248,"byte_end":248259,"line_start":791,"line_end":791,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248273,"byte_end":248278,"line_start":791,"line_end":791,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248267,"byte_end":248268,"line_start":791,"line_end":791,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":377488147}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248269,"byte_end":248272,"line_start":791,"line_end":791,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248309,"byte_end":248317,"line_start":792,"line_end":792,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248307,"byte_end":248308,"line_start":792,"line_end":792,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":377488147}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248337,"byte_end":248341,"line_start":793,"line_end":793,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248350,"byte_end":248353,"line_start":793,"line_end":793,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248342,"byte_end":248348,"line_start":793,"line_end":793,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248354,"byte_end":248358,"line_start":793,"line_end":793,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":612369171}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248360,"byte_end":248361,"line_start":793,"line_end":793,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3514827539}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248362,"byte_end":248365,"line_start":793,"line_end":793,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248367,"byte_end":248368,"line_start":793,"line_end":793,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":3514827539}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248369,"byte_end":248372,"line_start":793,"line_end":793,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248402,"byte_end":248406,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248402,"byte_end":248406,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248440,"byte_end":248444,"line_start":796,"line_end":796,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248428,"byte_end":248439,"line_start":796,"line_end":796,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248465,"byte_end":248469,"line_start":797,"line_end":797,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248510,"byte_end":248514,"line_start":800,"line_end":800,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248503,"byte_end":248509,"line_start":800,"line_end":800,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742611}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248515,"byte_end":248531,"line_start":800,"line_end":800,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248546,"byte_end":248549,"line_start":801,"line_end":801,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248566,"byte_end":248571,"line_start":801,"line_end":801,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248551,"byte_end":248564,"line_start":801,"line_end":801,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248572,"byte_end":248576,"line_start":801,"line_end":801,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":612369171}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248598,"byte_end":248599,"line_start":802,"line_end":802,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248614,"byte_end":248617,"line_start":802,"line_end":802,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248601,"byte_end":248612,"line_start":802,"line_end":802,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248631,"byte_end":248639,"line_start":803,"line_end":803,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248660,"byte_end":248664,"line_start":804,"line_end":804,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248671,"byte_end":248674,"line_start":804,"line_end":804,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248666,"byte_end":248669,"line_start":804,"line_end":804,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248680,"byte_end":248688,"line_start":804,"line_end":804,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248675,"byte_end":248678,"line_start":804,"line_end":804,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248694,"byte_end":248697,"line_start":804,"line_end":804,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248689,"byte_end":248692,"line_start":804,"line_end":804,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248698,"byte_end":248709,"line_start":804,"line_end":804,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248712,"byte_end":248716,"line_start":804,"line_end":804,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248712,"byte_end":248716,"line_start":804,"line_end":804,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":612369171}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248718,"byte_end":248725,"line_start":804,"line_end":804,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248718,"byte_end":248725,"line_start":804,"line_end":804,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":897581843}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248764,"byte_end":248766,"line_start":806,"line_end":806,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248775,"byte_end":248786,"line_start":806,"line_end":806,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2323645203}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248788,"byte_end":248794,"line_start":806,"line_end":806,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742611}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248843,"byte_end":248852,"line_start":809,"line_end":809,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248863,"byte_end":248872,"line_start":809,"line_end":809,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248877,"byte_end":248883,"line_start":809,"line_end":809,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248891,"byte_end":248899,"line_start":809,"line_end":809,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248938,"byte_end":248947,"line_start":811,"line_end":811,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248931,"byte_end":248937,"line_start":811,"line_end":811,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871700}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248948,"byte_end":248954,"line_start":811,"line_end":811,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248995,"byte_end":249009,"line_start":813,"line_end":813,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248985,"byte_end":248992,"line_start":813,"line_end":813,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207960340}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249025,"byte_end":249035,"line_start":815,"line_end":815,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1476395796}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249062,"byte_end":249064,"line_start":816,"line_end":816,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249129,"byte_end":249139,"line_start":818,"line_end":818,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249122,"byte_end":249128,"line_start":818,"line_end":818,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249140,"byte_end":249146,"line_start":818,"line_end":818,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536871700}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249147,"byte_end":249158,"line_start":818,"line_end":818,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249160,"byte_end":249164,"line_start":818,"line_end":818,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249175,"byte_end":249186,"line_start":818,"line_end":818,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249203,"byte_end":249205,"line_start":819,"line_end":819,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249206,"byte_end":249210,"line_start":819,"line_end":819,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1543504660}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249211,"byte_end":249215,"line_start":819,"line_end":819,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3655}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249282,"byte_end":249285,"line_start":823,"line_end":823,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249286,"byte_end":249302,"line_start":823,"line_end":823,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249319,"byte_end":249322,"line_start":823,"line_end":823,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249323,"byte_end":249330,"line_start":823,"line_end":823,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249336,"byte_end":249342,"line_start":823,"line_end":823,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249350,"byte_end":249353,"line_start":823,"line_end":823,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249359,"byte_end":249362,"line_start":823,"line_end":823,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249363,"byte_end":249379,"line_start":823,"line_end":823,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249383,"byte_end":249391,"line_start":823,"line_end":823,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249430,"byte_end":249439,"line_start":825,"line_end":825,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249419,"byte_end":249428,"line_start":825,"line_end":825,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249441,"byte_end":249452,"line_start":825,"line_end":825,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":536871702}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249480,"byte_end":249486,"line_start":827,"line_end":827,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249471,"byte_end":249479,"line_start":827,"line_end":827,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":4160750358}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249552,"byte_end":249555,"line_start":829,"line_end":829,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249567,"byte_end":249570,"line_start":829,"line_end":829,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249562,"byte_end":249565,"line_start":829,"line_end":829,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249602,"byte_end":249606,"line_start":830,"line_end":830,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249590,"byte_end":249601,"line_start":830,"line_end":830,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249620,"byte_end":249623,"line_start":830,"line_end":830,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249607,"byte_end":249618,"line_start":830,"line_end":830,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249660,"byte_end":249664,"line_start":831,"line_end":831,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249648,"byte_end":249659,"line_start":831,"line_end":831,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249705,"byte_end":249722,"line_start":832,"line_end":832,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":749}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249727,"byte_end":249738,"line_start":832,"line_end":832,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":536871702}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249763,"byte_end":249767,"line_start":833,"line_end":833,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249763,"byte_end":249767,"line_start":833,"line_end":833,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249812,"byte_end":249816,"line_start":834,"line_end":834,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249800,"byte_end":249811,"line_start":834,"line_end":834,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249857,"byte_end":249863,"line_start":835,"line_end":835,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249845,"byte_end":249856,"line_start":835,"line_end":835,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249870,"byte_end":249875,"line_start":835,"line_end":835,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249864,"byte_end":249865,"line_start":835,"line_end":835,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3120562966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249866,"byte_end":249869,"line_start":835,"line_end":835,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249916,"byte_end":249922,"line_start":836,"line_end":836,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249904,"byte_end":249915,"line_start":836,"line_end":836,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249929,"byte_end":249934,"line_start":836,"line_end":836,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249923,"byte_end":249924,"line_start":836,"line_end":836,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3120562966}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249925,"byte_end":249928,"line_start":836,"line_end":836,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249973,"byte_end":249981,"line_start":837,"line_end":837,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249971,"byte_end":249972,"line_start":837,"line_end":837,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3120562966}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250009,"byte_end":250013,"line_start":838,"line_end":838,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250022,"byte_end":250025,"line_start":838,"line_end":838,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250014,"byte_end":250020,"line_start":838,"line_end":838,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250029,"byte_end":250030,"line_start":838,"line_end":838,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":16778006}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250031,"byte_end":250034,"line_start":838,"line_end":838,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250036,"byte_end":250037,"line_start":838,"line_end":838,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":16778006}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250038,"byte_end":250041,"line_start":838,"line_end":838,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250087,"byte_end":250091,"line_start":840,"line_end":840,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250087,"byte_end":250091,"line_start":840,"line_end":840,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250133,"byte_end":250137,"line_start":841,"line_end":841,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250121,"byte_end":250132,"line_start":841,"line_end":841,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250166,"byte_end":250170,"line_start":842,"line_end":842,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250235,"byte_end":250239,"line_start":845,"line_end":845,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250228,"byte_end":250234,"line_start":845,"line_end":845,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250240,"byte_end":250256,"line_start":845,"line_end":845,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250279,"byte_end":250282,"line_start":846,"line_end":846,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250299,"byte_end":250304,"line_start":846,"line_end":846,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250284,"byte_end":250297,"line_start":846,"line_end":846,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250329,"byte_end":250330,"line_start":847,"line_end":847,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250345,"byte_end":250348,"line_start":847,"line_end":847,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250332,"byte_end":250343,"line_start":847,"line_end":847,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250370,"byte_end":250378,"line_start":848,"line_end":848,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250407,"byte_end":250411,"line_start":849,"line_end":849,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250418,"byte_end":250421,"line_start":849,"line_end":849,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250413,"byte_end":250416,"line_start":849,"line_end":849,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250427,"byte_end":250435,"line_start":849,"line_end":849,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250422,"byte_end":250425,"line_start":849,"line_end":849,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250441,"byte_end":250444,"line_start":849,"line_end":849,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250436,"byte_end":250439,"line_start":849,"line_end":849,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250445,"byte_end":250456,"line_start":849,"line_end":849,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250459,"byte_end":250463,"line_start":849,"line_end":849,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250468,"byte_end":250475,"line_start":849,"line_end":849,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250468,"byte_end":250475,"line_start":849,"line_end":849,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":83886870}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250530,"byte_end":250532,"line_start":851,"line_end":851,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250541,"byte_end":250552,"line_start":851,"line_end":851,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":1275069206}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250554,"byte_end":250560,"line_start":851,"line_end":851,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250639,"byte_end":250642,"line_start":854,"line_end":854,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250654,"byte_end":250657,"line_start":854,"line_end":854,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250649,"byte_end":250652,"line_start":854,"line_end":854,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250689,"byte_end":250693,"line_start":855,"line_end":855,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250677,"byte_end":250688,"line_start":855,"line_end":855,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":385876758}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250707,"byte_end":250710,"line_start":855,"line_end":855,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250694,"byte_end":250705,"line_start":855,"line_end":855,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250747,"byte_end":250751,"line_start":856,"line_end":856,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250735,"byte_end":250746,"line_start":856,"line_end":856,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":385876758}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250792,"byte_end":250809,"line_start":857,"line_end":857,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":749}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250814,"byte_end":250825,"line_start":857,"line_end":857,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":536871702}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250850,"byte_end":250854,"line_start":858,"line_end":858,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250850,"byte_end":250854,"line_start":858,"line_end":858,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250899,"byte_end":250903,"line_start":859,"line_end":859,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250887,"byte_end":250898,"line_start":859,"line_end":859,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876758}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250944,"byte_end":250950,"line_start":860,"line_end":860,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250932,"byte_end":250943,"line_start":860,"line_end":860,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876758}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250957,"byte_end":250962,"line_start":860,"line_end":860,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250951,"byte_end":250952,"line_start":860,"line_end":860,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3363832598}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250953,"byte_end":250956,"line_start":860,"line_end":860,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251003,"byte_end":251009,"line_start":861,"line_end":861,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250991,"byte_end":251002,"line_start":861,"line_end":861,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876758}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251016,"byte_end":251021,"line_start":861,"line_end":861,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251010,"byte_end":251011,"line_start":861,"line_end":861,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3363832598}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251012,"byte_end":251015,"line_start":861,"line_end":861,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251060,"byte_end":251068,"line_start":862,"line_end":862,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251058,"byte_end":251059,"line_start":862,"line_end":862,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3363832598}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251096,"byte_end":251100,"line_start":863,"line_end":863,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251109,"byte_end":251112,"line_start":863,"line_end":863,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251101,"byte_end":251107,"line_start":863,"line_end":863,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251116,"byte_end":251117,"line_start":863,"line_end":863,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1820328726}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251118,"byte_end":251121,"line_start":863,"line_end":863,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251123,"byte_end":251124,"line_start":863,"line_end":863,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":1820328726}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251125,"byte_end":251128,"line_start":863,"line_end":863,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251174,"byte_end":251178,"line_start":865,"line_end":865,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251174,"byte_end":251178,"line_start":865,"line_end":865,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251220,"byte_end":251224,"line_start":866,"line_end":866,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251208,"byte_end":251219,"line_start":866,"line_end":866,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876758}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251253,"byte_end":251257,"line_start":867,"line_end":867,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251322,"byte_end":251326,"line_start":870,"line_end":870,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251315,"byte_end":251321,"line_start":870,"line_end":870,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251327,"byte_end":251343,"line_start":870,"line_end":870,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251366,"byte_end":251369,"line_start":871,"line_end":871,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251386,"byte_end":251391,"line_start":871,"line_end":871,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251371,"byte_end":251384,"line_start":871,"line_end":871,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251416,"byte_end":251417,"line_start":872,"line_end":872,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251432,"byte_end":251435,"line_start":872,"line_end":872,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251419,"byte_end":251430,"line_start":872,"line_end":872,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251457,"byte_end":251465,"line_start":873,"line_end":873,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251494,"byte_end":251498,"line_start":874,"line_end":874,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251505,"byte_end":251508,"line_start":874,"line_end":874,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251500,"byte_end":251503,"line_start":874,"line_end":874,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251514,"byte_end":251522,"line_start":874,"line_end":874,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251509,"byte_end":251512,"line_start":874,"line_end":874,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251528,"byte_end":251531,"line_start":874,"line_end":874,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251523,"byte_end":251526,"line_start":874,"line_end":874,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251532,"byte_end":251543,"line_start":874,"line_end":874,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251546,"byte_end":251550,"line_start":874,"line_end":874,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251555,"byte_end":251562,"line_start":874,"line_end":874,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251555,"byte_end":251562,"line_start":874,"line_end":874,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":1786774294}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251617,"byte_end":251619,"line_start":876,"line_end":876,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251628,"byte_end":251639,"line_start":876,"line_end":876,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":385876758}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251641,"byte_end":251647,"line_start":876,"line_end":876,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251727,"byte_end":251730,"line_start":879,"line_end":879,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251742,"byte_end":251745,"line_start":879,"line_end":879,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251737,"byte_end":251740,"line_start":879,"line_end":879,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251777,"byte_end":251781,"line_start":880,"line_end":880,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251765,"byte_end":251776,"line_start":880,"line_end":880,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251795,"byte_end":251798,"line_start":880,"line_end":880,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251782,"byte_end":251793,"line_start":880,"line_end":880,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251835,"byte_end":251839,"line_start":881,"line_end":881,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251823,"byte_end":251834,"line_start":881,"line_end":881,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251881,"byte_end":251898,"line_start":882,"line_end":882,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":749}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251904,"byte_end":251915,"line_start":882,"line_end":882,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":536871702}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251940,"byte_end":251944,"line_start":883,"line_end":883,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251940,"byte_end":251944,"line_start":883,"line_end":883,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251989,"byte_end":251993,"line_start":884,"line_end":884,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251977,"byte_end":251988,"line_start":884,"line_end":884,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252034,"byte_end":252040,"line_start":885,"line_end":885,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252022,"byte_end":252033,"line_start":885,"line_end":885,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252047,"byte_end":252052,"line_start":885,"line_end":885,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252041,"byte_end":252042,"line_start":885,"line_end":885,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2474640150}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252043,"byte_end":252046,"line_start":885,"line_end":885,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252093,"byte_end":252099,"line_start":886,"line_end":886,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252081,"byte_end":252092,"line_start":886,"line_end":886,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252106,"byte_end":252111,"line_start":886,"line_end":886,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252100,"byte_end":252101,"line_start":886,"line_end":886,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2474640150}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252102,"byte_end":252105,"line_start":886,"line_end":886,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252150,"byte_end":252158,"line_start":887,"line_end":887,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252148,"byte_end":252149,"line_start":887,"line_end":887,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2474640150}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252186,"byte_end":252190,"line_start":888,"line_end":888,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252199,"byte_end":252202,"line_start":888,"line_end":888,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":743}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252191,"byte_end":252197,"line_start":888,"line_end":888,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252207,"byte_end":252208,"line_start":888,"line_end":888,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":931136278}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252209,"byte_end":252212,"line_start":888,"line_end":888,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":3144}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252214,"byte_end":252215,"line_start":888,"line_end":888,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":931136278}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252216,"byte_end":252219,"line_start":888,"line_end":888,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3145}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252265,"byte_end":252269,"line_start":890,"line_end":890,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252265,"byte_end":252269,"line_start":890,"line_end":890,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252311,"byte_end":252315,"line_start":891,"line_end":891,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252299,"byte_end":252310,"line_start":891,"line_end":891,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252344,"byte_end":252348,"line_start":892,"line_end":892,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252413,"byte_end":252417,"line_start":895,"line_end":895,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252406,"byte_end":252412,"line_start":895,"line_end":895,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252418,"byte_end":252434,"line_start":895,"line_end":895,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252457,"byte_end":252460,"line_start":896,"line_end":896,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252477,"byte_end":252482,"line_start":896,"line_end":896,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252462,"byte_end":252475,"line_start":896,"line_end":896,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252508,"byte_end":252509,"line_start":897,"line_end":897,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252524,"byte_end":252527,"line_start":897,"line_end":897,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252511,"byte_end":252522,"line_start":897,"line_end":897,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252549,"byte_end":252557,"line_start":898,"line_end":898,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252586,"byte_end":252590,"line_start":899,"line_end":899,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252597,"byte_end":252600,"line_start":899,"line_end":899,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252592,"byte_end":252595,"line_start":899,"line_end":899,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252606,"byte_end":252614,"line_start":899,"line_end":899,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252601,"byte_end":252604,"line_start":899,"line_end":899,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252620,"byte_end":252623,"line_start":899,"line_end":899,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252615,"byte_end":252618,"line_start":899,"line_end":899,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252624,"byte_end":252635,"line_start":899,"line_end":899,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252638,"byte_end":252642,"line_start":899,"line_end":899,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252648,"byte_end":252655,"line_start":899,"line_end":899,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252648,"byte_end":252655,"line_start":899,"line_end":899,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":809501462}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252710,"byte_end":252712,"line_start":901,"line_end":901,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252721,"byte_end":252732,"line_start":901,"line_end":901,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":2038432534}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252734,"byte_end":252740,"line_start":901,"line_end":901,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742614}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252793,"byte_end":252795,"line_start":904,"line_end":904,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252809,"byte_end":252812,"line_start":904,"line_end":904,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252804,"byte_end":252807,"line_start":904,"line_end":904,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252821,"byte_end":252824,"line_start":904,"line_end":904,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252816,"byte_end":252819,"line_start":904,"line_end":904,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252900,"byte_end":252903,"line_start":909,"line_end":909,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252904,"byte_end":252920,"line_start":909,"line_end":909,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252963,"byte_end":252966,"line_start":909,"line_end":909,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252967,"byte_end":252983,"line_start":909,"line_end":909,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253007,"byte_end":253012,"line_start":910,"line_end":910,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253013,"byte_end":253020,"line_start":910,"line_end":910,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253061,"byte_end":253066,"line_start":913,"line_end":913,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253067,"byte_end":253074,"line_start":913,"line_end":913,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":536871703}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253106,"byte_end":253110,"line_start":914,"line_end":914,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253099,"byte_end":253105,"line_start":914,"line_end":914,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253111,"byte_end":253127,"line_start":914,"line_end":914,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253146,"byte_end":253149,"line_start":915,"line_end":915,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253166,"byte_end":253171,"line_start":915,"line_end":915,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253151,"byte_end":253164,"line_start":915,"line_end":915,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253172,"byte_end":253176,"line_start":915,"line_end":915,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253202,"byte_end":253203,"line_start":916,"line_end":916,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253218,"byte_end":253221,"line_start":916,"line_end":916,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253205,"byte_end":253216,"line_start":916,"line_end":916,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253239,"byte_end":253247,"line_start":917,"line_end":917,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253272,"byte_end":253276,"line_start":918,"line_end":918,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253283,"byte_end":253286,"line_start":918,"line_end":918,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253278,"byte_end":253281,"line_start":918,"line_end":918,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253292,"byte_end":253300,"line_start":918,"line_end":918,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253287,"byte_end":253290,"line_start":918,"line_end":918,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253306,"byte_end":253309,"line_start":918,"line_end":918,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253301,"byte_end":253304,"line_start":918,"line_end":918,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253310,"byte_end":253321,"line_start":918,"line_end":918,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253324,"byte_end":253328,"line_start":918,"line_end":918,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253330,"byte_end":253334,"line_start":918,"line_end":918,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253336,"byte_end":253343,"line_start":918,"line_end":918,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253345,"byte_end":253349,"line_start":918,"line_end":918,"column_start":90,"column_end":94},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253411,"byte_end":253417,"line_start":920,"line_end":920,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253468,"byte_end":253472,"line_start":924,"line_end":924,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253521,"byte_end":253526,"line_start":926,"line_end":926,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253527,"byte_end":253555,"line_start":926,"line_end":926,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253527,"byte_end":253540,"line_start":926,"line_end":926,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253528,"byte_end":253535,"line_start":926,"line_end":926,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253542,"byte_end":253555,"line_start":926,"line_end":926,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253543,"byte_end":253550,"line_start":926,"line_end":926,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253585,"byte_end":253590,"line_start":927,"line_end":927,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253591,"byte_end":253619,"line_start":927,"line_end":927,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253591,"byte_end":253604,"line_start":927,"line_end":927,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253592,"byte_end":253599,"line_start":927,"line_end":927,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253606,"byte_end":253619,"line_start":927,"line_end":927,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253607,"byte_end":253614,"line_start":927,"line_end":927,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253658,"byte_end":253670,"line_start":928,"line_end":928,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253673,"byte_end":253677,"line_start":928,"line_end":928,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253679,"byte_end":253683,"line_start":928,"line_end":928,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253685,"byte_end":253688,"line_start":928,"line_end":928,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253694,"byte_end":253700,"line_start":928,"line_end":928,"column_start":73,"column_end":79},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253690,"byte_end":253693,"line_start":928,"line_end":928,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":3053454103}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253704,"byte_end":253707,"line_start":928,"line_end":928,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253713,"byte_end":253719,"line_start":928,"line_end":928,"column_start":92,"column_end":98},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253709,"byte_end":253712,"line_start":928,"line_end":928,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4261413655}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253747,"byte_end":253751,"line_start":929,"line_end":929,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253740,"byte_end":253746,"line_start":929,"line_end":929,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253752,"byte_end":253768,"line_start":929,"line_end":929,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253791,"byte_end":253794,"line_start":930,"line_end":930,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253811,"byte_end":253816,"line_start":930,"line_end":930,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253796,"byte_end":253809,"line_start":930,"line_end":930,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253817,"byte_end":253821,"line_start":930,"line_end":930,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253851,"byte_end":253852,"line_start":931,"line_end":931,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253867,"byte_end":253870,"line_start":931,"line_end":931,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253854,"byte_end":253865,"line_start":931,"line_end":931,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253892,"byte_end":253900,"line_start":932,"line_end":932,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253929,"byte_end":253933,"line_start":933,"line_end":933,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253940,"byte_end":253943,"line_start":933,"line_end":933,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253935,"byte_end":253938,"line_start":933,"line_end":933,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253949,"byte_end":253957,"line_start":933,"line_end":933,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253944,"byte_end":253947,"line_start":933,"line_end":933,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253963,"byte_end":253966,"line_start":933,"line_end":933,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253958,"byte_end":253961,"line_start":933,"line_end":933,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253967,"byte_end":253978,"line_start":933,"line_end":933,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253981,"byte_end":253985,"line_start":933,"line_end":933,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253987,"byte_end":253991,"line_start":933,"line_end":933,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253993,"byte_end":254000,"line_start":933,"line_end":933,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254002,"byte_end":254006,"line_start":933,"line_end":933,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254021,"byte_end":254029,"line_start":933,"line_end":933,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254007,"byte_end":254020,"line_start":933,"line_end":933,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":2298479383}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254094,"byte_end":254100,"line_start":935,"line_end":935,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254163,"byte_end":254168,"line_start":938,"line_end":938,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254169,"byte_end":254197,"line_start":938,"line_end":938,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254169,"byte_end":254182,"line_start":938,"line_end":938,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254170,"byte_end":254177,"line_start":938,"line_end":938,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254184,"byte_end":254197,"line_start":938,"line_end":938,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254185,"byte_end":254192,"line_start":938,"line_end":938,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254227,"byte_end":254232,"line_start":939,"line_end":939,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254233,"byte_end":254262,"line_start":939,"line_end":939,"column_start":34,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254233,"byte_end":254246,"line_start":939,"line_end":939,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254234,"byte_end":254241,"line_start":939,"line_end":939,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254248,"byte_end":254262,"line_start":939,"line_end":939,"column_start":49,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254249,"byte_end":254256,"line_start":939,"line_end":939,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254301,"byte_end":254313,"line_start":940,"line_end":940,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254316,"byte_end":254320,"line_start":940,"line_end":940,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254322,"byte_end":254326,"line_start":940,"line_end":940,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254328,"byte_end":254331,"line_start":940,"line_end":940,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254337,"byte_end":254343,"line_start":940,"line_end":940,"column_start":73,"column_end":79},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254333,"byte_end":254336,"line_start":940,"line_end":940,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":654312215}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254347,"byte_end":254350,"line_start":940,"line_end":940,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254356,"byte_end":254362,"line_start":940,"line_end":940,"column_start":92,"column_end":98},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254352,"byte_end":254355,"line_start":940,"line_end":940,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":1862271767}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254390,"byte_end":254394,"line_start":941,"line_end":941,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254383,"byte_end":254389,"line_start":941,"line_end":941,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254395,"byte_end":254411,"line_start":941,"line_end":941,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254434,"byte_end":254437,"line_start":942,"line_end":942,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254454,"byte_end":254459,"line_start":942,"line_end":942,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254439,"byte_end":254452,"line_start":942,"line_end":942,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254460,"byte_end":254464,"line_start":942,"line_end":942,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254494,"byte_end":254495,"line_start":943,"line_end":943,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254510,"byte_end":254513,"line_start":943,"line_end":943,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254497,"byte_end":254508,"line_start":943,"line_end":943,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254535,"byte_end":254543,"line_start":944,"line_end":944,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254572,"byte_end":254576,"line_start":945,"line_end":945,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254583,"byte_end":254586,"line_start":945,"line_end":945,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254578,"byte_end":254581,"line_start":945,"line_end":945,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254592,"byte_end":254600,"line_start":945,"line_end":945,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254587,"byte_end":254590,"line_start":945,"line_end":945,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254606,"byte_end":254609,"line_start":945,"line_end":945,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254601,"byte_end":254604,"line_start":945,"line_end":945,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254610,"byte_end":254621,"line_start":945,"line_end":945,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254624,"byte_end":254628,"line_start":945,"line_end":945,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254630,"byte_end":254634,"line_start":945,"line_end":945,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254636,"byte_end":254643,"line_start":945,"line_end":945,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254645,"byte_end":254649,"line_start":945,"line_end":945,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254664,"byte_end":254672,"line_start":945,"line_end":945,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254650,"byte_end":254663,"line_start":945,"line_end":945,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":276824855}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254737,"byte_end":254743,"line_start":947,"line_end":947,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254807,"byte_end":254812,"line_start":950,"line_end":950,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254813,"byte_end":254842,"line_start":950,"line_end":950,"column_start":34,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254813,"byte_end":254826,"line_start":950,"line_end":950,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254814,"byte_end":254821,"line_start":950,"line_end":950,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254828,"byte_end":254842,"line_start":950,"line_end":950,"column_start":49,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254829,"byte_end":254836,"line_start":950,"line_end":950,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254872,"byte_end":254877,"line_start":951,"line_end":951,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254878,"byte_end":254908,"line_start":951,"line_end":951,"column_start":34,"column_end":64},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254878,"byte_end":254892,"line_start":951,"line_end":951,"column_start":34,"column_end":48},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254879,"byte_end":254886,"line_start":951,"line_end":951,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871703}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254894,"byte_end":254908,"line_start":951,"line_end":951,"column_start":50,"column_end":64},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254895,"byte_end":254902,"line_start":951,"line_end":951,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254947,"byte_end":254959,"line_start":952,"line_end":952,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3129}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254962,"byte_end":254966,"line_start":952,"line_end":952,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3130}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254968,"byte_end":254972,"line_start":952,"line_end":952,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254974,"byte_end":254977,"line_start":952,"line_end":952,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3131}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254983,"byte_end":254989,"line_start":952,"line_end":952,"column_start":73,"column_end":79},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254979,"byte_end":254982,"line_start":952,"line_end":952,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":3665822487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254993,"byte_end":254996,"line_start":952,"line_end":952,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255002,"byte_end":255008,"line_start":952,"line_end":952,"column_start":92,"column_end":98},"ref_id":{"krate":4,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254998,"byte_end":255001,"line_start":952,"line_end":952,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":3061842711}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255036,"byte_end":255040,"line_start":953,"line_end":953,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255029,"byte_end":255035,"line_start":953,"line_end":953,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255041,"byte_end":255057,"line_start":953,"line_end":953,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255080,"byte_end":255083,"line_start":954,"line_end":954,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255100,"byte_end":255105,"line_start":954,"line_end":954,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255085,"byte_end":255098,"line_start":954,"line_end":954,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255106,"byte_end":255110,"line_start":954,"line_end":954,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255140,"byte_end":255141,"line_start":955,"line_end":955,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255156,"byte_end":255159,"line_start":955,"line_end":955,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255143,"byte_end":255154,"line_start":955,"line_end":955,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255181,"byte_end":255189,"line_start":956,"line_end":956,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255218,"byte_end":255222,"line_start":957,"line_end":957,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255229,"byte_end":255232,"line_start":957,"line_end":957,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255224,"byte_end":255227,"line_start":957,"line_end":957,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255238,"byte_end":255246,"line_start":957,"line_end":957,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255233,"byte_end":255236,"line_start":957,"line_end":957,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255252,"byte_end":255255,"line_start":957,"line_end":957,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255247,"byte_end":255250,"line_start":957,"line_end":957,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255256,"byte_end":255267,"line_start":957,"line_end":957,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255270,"byte_end":255274,"line_start":957,"line_end":957,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255276,"byte_end":255280,"line_start":957,"line_end":957,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255282,"byte_end":255289,"line_start":957,"line_end":957,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":3654}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255291,"byte_end":255295,"line_start":957,"line_end":957,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255310,"byte_end":255318,"line_start":957,"line_end":957,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":697}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255296,"byte_end":255309,"line_start":957,"line_end":957,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":4269802263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255383,"byte_end":255389,"line_start":959,"line_end":959,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57410,"byte_end":57413,"line_start":20,"line_end":20,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":792}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263483,"byte_end":263488,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263491,"byte_end":263497,"line_start":63,"line_end":63,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263483,"byte_end":263488,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263507,"byte_end":263511,"line_start":63,"line_end":63,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263523,"byte_end":263528,"line_start":64,"line_end":64,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263560,"byte_end":263563,"line_start":65,"line_end":65,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263560,"byte_end":263563,"line_start":65,"line_end":65,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263586,"byte_end":263592,"line_start":65,"line_end":65,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263586,"byte_end":263592,"line_start":65,"line_end":65,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263624,"byte_end":263629,"line_start":65,"line_end":65,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263647,"byte_end":263652,"line_start":66,"line_end":66,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263654,"byte_end":263660,"line_start":66,"line_end":66,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263686,"byte_end":263691,"line_start":67,"line_end":67,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263693,"byte_end":263696,"line_start":67,"line_end":67,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":263707,"byte_end":263712,"line_start":68,"line_end":68,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2730}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263714,"byte_end":263719,"line_start":68,"line_end":68,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263738,"byte_end":263743,"line_start":69,"line_end":69,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263745,"byte_end":263754,"line_start":69,"line_end":69,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263738,"byte_end":263743,"line_start":69,"line_end":69,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263745,"byte_end":263754,"line_start":69,"line_end":69,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263778,"byte_end":263783,"line_start":70,"line_end":70,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263785,"byte_end":263791,"line_start":70,"line_end":70,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263812,"byte_end":263817,"line_start":71,"line_end":71,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263820,"byte_end":263827,"line_start":71,"line_end":71,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263812,"byte_end":263817,"line_start":71,"line_end":71,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263839,"byte_end":263844,"line_start":71,"line_end":71,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263861,"byte_end":263865,"line_start":72,"line_end":72,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263868,"byte_end":263871,"line_start":72,"line_end":72,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263888,"byte_end":263893,"line_start":74,"line_end":74,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263895,"byte_end":263901,"line_start":74,"line_end":74,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263916,"byte_end":263921,"line_start":75,"line_end":75,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263940,"byte_end":263945,"line_start":76,"line_end":76,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263962,"byte_end":263967,"line_start":77,"line_end":77,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263969,"byte_end":263975,"line_start":77,"line_end":77,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264210,"byte_end":264213,"line_start":86,"line_end":86,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264264,"byte_end":264267,"line_start":88,"line_end":88,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3156}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264295,"byte_end":264304,"line_start":91,"line_end":91,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264288,"byte_end":264293,"line_start":91,"line_end":91,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264403,"byte_end":264408,"line_start":92,"line_end":92,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264357,"byte_end":264373,"line_start":92,"line_end":92,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264378,"byte_end":264384,"line_start":92,"line_end":92,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264443,"byte_end":264449,"line_start":93,"line_end":93,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742693}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264450,"byte_end":264454,"line_start":93,"line_end":93,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264465,"byte_end":264476,"line_start":93,"line_end":93,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264489,"byte_end":264493,"line_start":94,"line_end":94,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264494,"byte_end":264500,"line_start":94,"line_end":94,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264503,"byte_end":264506,"line_start":94,"line_end":94,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264508,"byte_end":264512,"line_start":94,"line_end":94,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2281702245}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264513,"byte_end":264516,"line_start":94,"line_end":94,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264518,"byte_end":264521,"line_start":94,"line_end":94,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264563,"byte_end":264572,"line_start":97,"line_end":97,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264583,"byte_end":264592,"line_start":97,"line_end":97,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264597,"byte_end":264603,"line_start":97,"line_end":97,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264651,"byte_end":264661,"line_start":98,"line_end":98,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264644,"byte_end":264650,"line_start":98,"line_end":98,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871782}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264662,"byte_end":264668,"line_start":98,"line_end":98,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742694}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264669,"byte_end":264680,"line_start":98,"line_end":98,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264682,"byte_end":264686,"line_start":98,"line_end":98,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264697,"byte_end":264708,"line_start":98,"line_end":98,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264721,"byte_end":264725,"line_start":99,"line_end":99,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264734,"byte_end":264737,"line_start":99,"line_end":99,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264726,"byte_end":264732,"line_start":99,"line_end":99,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264743,"byte_end":264746,"line_start":99,"line_end":99,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":23603}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264748,"byte_end":264752,"line_start":99,"line_end":99,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":402654054}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264753,"byte_end":264756,"line_start":99,"line_end":99,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264795,"byte_end":264804,"line_start":102,"line_end":102,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264815,"byte_end":264824,"line_start":102,"line_end":102,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264829,"byte_end":264835,"line_start":102,"line_end":102,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264883,"byte_end":264893,"line_start":103,"line_end":103,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264876,"byte_end":264882,"line_start":103,"line_end":103,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871783}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264894,"byte_end":264900,"line_start":103,"line_end":103,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264901,"byte_end":264912,"line_start":103,"line_end":103,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264914,"byte_end":264918,"line_start":103,"line_end":103,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264929,"byte_end":264940,"line_start":103,"line_end":103,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264953,"byte_end":264957,"line_start":104,"line_end":104,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264966,"byte_end":264969,"line_start":104,"line_end":104,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264958,"byte_end":264964,"line_start":104,"line_end":104,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264975,"byte_end":264978,"line_start":104,"line_end":104,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":23602}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264980,"byte_end":264984,"line_start":104,"line_end":104,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":402654055}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264985,"byte_end":264988,"line_start":104,"line_end":104,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265438,"byte_end":265442,"line_start":122,"line_end":122,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742697}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265443,"byte_end":265446,"line_start":122,"line_end":122,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265478,"byte_end":265482,"line_start":123,"line_end":123,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742697}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265483,"byte_end":265486,"line_start":123,"line_end":123,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265528,"byte_end":265532,"line_start":125,"line_end":125,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":2281702249}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265551,"byte_end":265552,"line_start":126,"line_end":126,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2818573161}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265575,"byte_end":265579,"line_start":127,"line_end":127,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":2281702249}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265604,"byte_end":265605,"line_start":129,"line_end":129,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3489661801}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265608,"byte_end":265609,"line_start":129,"line_end":129,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2818573161}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":266396,"byte_end":266402,"line_start":148,"line_end":148,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266424,"byte_end":266428,"line_start":149,"line_end":149,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266429,"byte_end":266432,"line_start":149,"line_end":149,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266442,"byte_end":266449,"line_start":149,"line_end":149,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":536871786}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":266487,"byte_end":266490,"line_start":151,"line_end":151,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":23690}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266491,"byte_end":266495,"line_start":151,"line_end":151,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3355444074}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266510,"byte_end":266514,"line_start":153,"line_end":153,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266515,"byte_end":266518,"line_start":153,"line_end":153,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266522,"byte_end":266529,"line_start":153,"line_end":153,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":536871786}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266540,"byte_end":266544,"line_start":153,"line_end":153,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266559,"byte_end":266563,"line_start":155,"line_end":155,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3355444074}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266615,"byte_end":266619,"line_start":156,"line_end":156,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":3087008618}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266642,"byte_end":266646,"line_start":157,"line_end":157,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266647,"byte_end":266650,"line_start":157,"line_end":157,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266674,"byte_end":266678,"line_start":158,"line_end":158,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3087008618}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266759,"byte_end":266763,"line_start":161,"line_end":161,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":3087008618}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266786,"byte_end":266790,"line_start":162,"line_end":162,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266791,"byte_end":266794,"line_start":162,"line_end":162,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266818,"byte_end":266822,"line_start":163,"line_end":163,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3087008618}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266872,"byte_end":266879,"line_start":167,"line_end":167,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":536871786}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266861,"byte_end":266865,"line_start":167,"line_end":167,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266866,"byte_end":266869,"line_start":167,"line_end":167,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266899,"byte_end":266903,"line_start":169,"line_end":169,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":267818,"byte_end":267824,"line_start":199,"line_end":199,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267827,"byte_end":267830,"line_start":199,"line_end":199,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267827,"byte_end":267830,"line_start":199,"line_end":199,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267832,"byte_end":267835,"line_start":199,"line_end":199,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267832,"byte_end":267835,"line_start":199,"line_end":199,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":536871787}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":268534,"byte_end":268540,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":268545,"byte_end":268551,"line_start":218,"line_end":218,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":268589,"byte_end":268594,"line_start":219,"line_end":219,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268583,"byte_end":268588,"line_start":219,"line_end":219,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":536871788}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268610,"byte_end":268620,"line_start":221,"line_end":221,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3489661804}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268621,"byte_end":268624,"line_start":221,"line_end":221,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268628,"byte_end":268632,"line_start":221,"line_end":221,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742700}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268633,"byte_end":268636,"line_start":221,"line_end":221,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268658,"byte_end":268668,"line_start":222,"line_end":222,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":3489661804}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":268699,"byte_end":268708,"line_start":225,"line_end":225,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268688,"byte_end":268698,"line_start":225,"line_end":225,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3489661804}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268709,"byte_end":268713,"line_start":225,"line_end":225,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742700}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268714,"byte_end":268717,"line_start":225,"line_end":225,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268729,"byte_end":268739,"line_start":227,"line_end":227,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3489661804}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269052,"byte_end":269056,"line_start":240,"line_end":240,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073742701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269057,"byte_end":269060,"line_start":240,"line_end":240,"column_start":15,"column_end":18},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269062,"byte_end":269066,"line_start":240,"line_end":240,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269067,"byte_end":269070,"line_start":240,"line_end":240,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3156}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269694,"byte_end":269703,"line_start":264,"line_end":264,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":2675}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":269683,"byte_end":269687,"line_start":264,"line_end":264,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":269689,"byte_end":269692,"line_start":264,"line_end":264,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269742,"byte_end":269748,"line_start":265,"line_end":265,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269771,"byte_end":269775,"line_start":266,"line_end":266,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269776,"byte_end":269779,"line_start":266,"line_end":266,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269783,"byte_end":269788,"line_start":266,"line_end":266,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871791}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269789,"byte_end":269792,"line_start":266,"line_end":266,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269814,"byte_end":269818,"line_start":267,"line_end":267,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269819,"byte_end":269822,"line_start":267,"line_end":267,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269826,"byte_end":269831,"line_start":267,"line_end":267,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871791}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269832,"byte_end":269835,"line_start":267,"line_end":267,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269885,"byte_end":269888,"line_start":270,"line_end":270,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269889,"byte_end":269893,"line_start":270,"line_end":270,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269894,"byte_end":269897,"line_start":270,"line_end":270,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269899,"byte_end":269904,"line_start":270,"line_end":270,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536871791}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269905,"byte_end":269908,"line_start":270,"line_end":270,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269941,"byte_end":269948,"line_start":271,"line_end":271,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2751464303}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269952,"byte_end":269956,"line_start":271,"line_end":271,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269957,"byte_end":269960,"line_start":271,"line_end":271,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269964,"byte_end":269968,"line_start":271,"line_end":271,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269991,"byte_end":270000,"line_start":271,"line_end":271,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":874}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269983,"byte_end":269988,"line_start":271,"line_end":271,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269978,"byte_end":269982,"line_start":271,"line_end":271,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073742703}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270001,"byte_end":270008,"line_start":271,"line_end":271,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":2751464303}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270044,"byte_end":270051,"line_start":272,"line_end":272,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2751464303}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270055,"byte_end":270060,"line_start":272,"line_end":272,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":536871791}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270061,"byte_end":270064,"line_start":272,"line_end":272,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270068,"byte_end":270073,"line_start":272,"line_end":272,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":536871791}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270097,"byte_end":270106,"line_start":272,"line_end":272,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":874}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270089,"byte_end":270094,"line_start":272,"line_end":272,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270083,"byte_end":270088,"line_start":272,"line_end":272,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":536871791}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270107,"byte_end":270114,"line_start":272,"line_end":272,"column_start":95,"column_end":102},"ref_id":{"krate":0,"index":2751464303}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270139,"byte_end":270147,"line_start":274,"line_end":274,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":4227859311}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270148,"byte_end":270151,"line_start":274,"line_end":274,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270155,"byte_end":270164,"line_start":274,"line_end":274,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":2583692143}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270165,"byte_end":270168,"line_start":274,"line_end":274,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":270211,"byte_end":270217,"line_start":277,"line_end":277,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270241,"byte_end":270245,"line_start":278,"line_end":278,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270246,"byte_end":270249,"line_start":278,"line_end":278,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270253,"byte_end":270258,"line_start":278,"line_end":278,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270259,"byte_end":270262,"line_start":278,"line_end":278,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270284,"byte_end":270288,"line_start":279,"line_end":279,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270289,"byte_end":270292,"line_start":279,"line_end":279,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270296,"byte_end":270301,"line_start":279,"line_end":279,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270302,"byte_end":270305,"line_start":279,"line_end":279,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270355,"byte_end":270358,"line_start":282,"line_end":282,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270359,"byte_end":270363,"line_start":282,"line_end":282,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270364,"byte_end":270367,"line_start":282,"line_end":282,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270369,"byte_end":270374,"line_start":282,"line_end":282,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270375,"byte_end":270378,"line_start":282,"line_end":282,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270411,"byte_end":270418,"line_start":283,"line_end":283,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270422,"byte_end":270426,"line_start":283,"line_end":283,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270427,"byte_end":270430,"line_start":283,"line_end":283,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270434,"byte_end":270438,"line_start":283,"line_end":283,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270461,"byte_end":270470,"line_start":283,"line_end":283,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":874}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270453,"byte_end":270458,"line_start":283,"line_end":283,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270448,"byte_end":270452,"line_start":283,"line_end":283,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270471,"byte_end":270478,"line_start":283,"line_end":283,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270514,"byte_end":270521,"line_start":284,"line_end":284,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270525,"byte_end":270530,"line_start":284,"line_end":284,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270531,"byte_end":270534,"line_start":284,"line_end":284,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270538,"byte_end":270543,"line_start":284,"line_end":284,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":536871792}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270567,"byte_end":270576,"line_start":284,"line_end":284,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":874}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270559,"byte_end":270564,"line_start":284,"line_end":284,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270553,"byte_end":270558,"line_start":284,"line_end":284,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270577,"byte_end":270584,"line_start":284,"line_end":284,"column_start":95,"column_end":102},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270609,"byte_end":270617,"line_start":286,"line_end":286,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":4227859312}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270618,"byte_end":270621,"line_start":286,"line_end":286,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270625,"byte_end":270634,"line_start":286,"line_end":286,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":2583692144}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270635,"byte_end":270638,"line_start":286,"line_end":286,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271246,"byte_end":271256,"line_start":310,"line_end":310,"column_start":17,"column_end":27},"ref_id":{"krate":1,"index":2722}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":271235,"byte_end":271239,"line_start":310,"line_end":310,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":271241,"byte_end":271244,"line_start":310,"line_end":310,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271296,"byte_end":271302,"line_start":312,"line_end":312,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271325,"byte_end":271329,"line_start":313,"line_end":313,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742706}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271330,"byte_end":271333,"line_start":313,"line_end":313,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271337,"byte_end":271342,"line_start":313,"line_end":313,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871794}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271343,"byte_end":271346,"line_start":313,"line_end":313,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271368,"byte_end":271372,"line_start":314,"line_end":314,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742706}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271373,"byte_end":271376,"line_start":314,"line_end":314,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271379,"byte_end":271384,"line_start":314,"line_end":314,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536871794}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271385,"byte_end":271388,"line_start":314,"line_end":314,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271440,"byte_end":271449,"line_start":316,"line_end":316,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271435,"byte_end":271439,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742706}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271450,"byte_end":271455,"line_start":316,"line_end":316,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871794}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271477,"byte_end":271481,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742706}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271482,"byte_end":271485,"line_start":317,"line_end":317,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271488,"byte_end":271497,"line_start":317,"line_end":317,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":67109746}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271498,"byte_end":271501,"line_start":317,"line_end":317,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271545,"byte_end":271551,"line_start":321,"line_end":321,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271574,"byte_end":271578,"line_start":322,"line_end":322,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271579,"byte_end":271582,"line_start":322,"line_end":322,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271586,"byte_end":271591,"line_start":322,"line_end":322,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271592,"byte_end":271595,"line_start":322,"line_end":322,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271617,"byte_end":271621,"line_start":323,"line_end":323,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271622,"byte_end":271625,"line_start":323,"line_end":323,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271629,"byte_end":271634,"line_start":323,"line_end":323,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271635,"byte_end":271638,"line_start":323,"line_end":323,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271690,"byte_end":271699,"line_start":325,"line_end":325,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271685,"byte_end":271689,"line_start":325,"line_end":325,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271700,"byte_end":271705,"line_start":325,"line_end":325,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271727,"byte_end":271731,"line_start":326,"line_end":326,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271732,"byte_end":271735,"line_start":326,"line_end":326,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271739,"byte_end":271748,"line_start":326,"line_end":326,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":67109747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271749,"byte_end":271752,"line_start":326,"line_end":326,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271796,"byte_end":271802,"line_start":330,"line_end":330,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271825,"byte_end":271829,"line_start":331,"line_end":331,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271830,"byte_end":271833,"line_start":331,"line_end":331,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271837,"byte_end":271842,"line_start":331,"line_end":331,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271843,"byte_end":271846,"line_start":331,"line_end":331,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271868,"byte_end":271872,"line_start":332,"line_end":332,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271873,"byte_end":271876,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271879,"byte_end":271884,"line_start":332,"line_end":332,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271885,"byte_end":271888,"line_start":332,"line_end":332,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271940,"byte_end":271949,"line_start":334,"line_end":334,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271935,"byte_end":271939,"line_start":334,"line_end":334,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271950,"byte_end":271955,"line_start":334,"line_end":334,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271977,"byte_end":271981,"line_start":335,"line_end":335,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271982,"byte_end":271985,"line_start":335,"line_end":335,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271988,"byte_end":271997,"line_start":335,"line_end":335,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":67109748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271998,"byte_end":272001,"line_start":335,"line_end":335,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272045,"byte_end":272051,"line_start":339,"line_end":339,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272074,"byte_end":272078,"line_start":340,"line_end":340,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272079,"byte_end":272082,"line_start":340,"line_end":340,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272086,"byte_end":272091,"line_start":340,"line_end":340,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272092,"byte_end":272095,"line_start":340,"line_end":340,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272117,"byte_end":272121,"line_start":341,"line_end":341,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272122,"byte_end":272125,"line_start":341,"line_end":341,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272129,"byte_end":272134,"line_start":341,"line_end":341,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272135,"byte_end":272138,"line_start":341,"line_end":341,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":272190,"byte_end":272199,"line_start":343,"line_end":343,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272185,"byte_end":272189,"line_start":343,"line_end":343,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272200,"byte_end":272205,"line_start":343,"line_end":343,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272227,"byte_end":272231,"line_start":344,"line_end":344,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272232,"byte_end":272235,"line_start":344,"line_end":344,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272239,"byte_end":272248,"line_start":344,"line_end":344,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":67109749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272249,"byte_end":272252,"line_start":344,"line_end":344,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272305,"byte_end":272311,"line_start":348,"line_end":348,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272316,"byte_end":272322,"line_start":348,"line_end":348,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272334,"byte_end":272342,"line_start":348,"line_end":348,"column_start":64,"column_end":72},"ref_id":{"krate":1,"index":29620}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272323,"byte_end":272327,"line_start":348,"line_end":348,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272329,"byte_end":272332,"line_start":348,"line_end":348,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2673}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272372,"byte_end":272376,"line_start":350,"line_end":350,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272377,"byte_end":272380,"line_start":350,"line_end":350,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272384,"byte_end":272389,"line_start":350,"line_end":350,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272390,"byte_end":272393,"line_start":350,"line_end":350,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272409,"byte_end":272413,"line_start":351,"line_end":351,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272414,"byte_end":272417,"line_start":351,"line_end":351,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272419,"byte_end":272424,"line_start":351,"line_end":351,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272425,"byte_end":272428,"line_start":351,"line_end":351,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":272480,"byte_end":272489,"line_start":353,"line_end":353,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272475,"byte_end":272479,"line_start":353,"line_end":353,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272490,"byte_end":272495,"line_start":353,"line_end":353,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272511,"byte_end":272515,"line_start":354,"line_end":354,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272516,"byte_end":272519,"line_start":354,"line_end":354,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272521,"byte_end":272530,"line_start":354,"line_end":354,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":4160750454}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272531,"byte_end":272534,"line_start":354,"line_end":354,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272559,"byte_end":272560,"line_start":357,"line_end":357,"column_start":12,"column_end":13},"ref_id":{"krate":0,"index":3556770678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272563,"byte_end":272564,"line_start":357,"line_end":357,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":872416118}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272586,"byte_end":272590,"line_start":358,"line_end":358,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272612,"byte_end":272619,"line_start":358,"line_end":358,"column_start":46,"column_end":53},"ref_id":{"krate":1,"index":29627}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272591,"byte_end":272595,"line_start":358,"line_end":358,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272597,"byte_end":272600,"line_start":358,"line_end":358,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272602,"byte_end":272610,"line_start":358,"line_end":358,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272640,"byte_end":272641,"line_start":359,"line_end":359,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3556770678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272644,"byte_end":272645,"line_start":359,"line_end":359,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":872416118}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272667,"byte_end":272671,"line_start":360,"line_end":360,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272693,"byte_end":272697,"line_start":360,"line_end":360,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":29621}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272672,"byte_end":272676,"line_start":360,"line_end":360,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272678,"byte_end":272681,"line_start":360,"line_end":360,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272683,"byte_end":272691,"line_start":360,"line_end":360,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272718,"byte_end":272719,"line_start":361,"line_end":361,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3556770678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272723,"byte_end":272724,"line_start":361,"line_end":361,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":872416118}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272746,"byte_end":272750,"line_start":362,"line_end":362,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272772,"byte_end":272777,"line_start":362,"line_end":362,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":29624}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272751,"byte_end":272755,"line_start":362,"line_end":362,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272757,"byte_end":272760,"line_start":362,"line_end":362,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272762,"byte_end":272770,"line_start":362,"line_end":362,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272806,"byte_end":272810,"line_start":365,"line_end":365,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273051,"byte_end":273055,"line_start":379,"line_end":379,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273133,"byte_end":273137,"line_start":381,"line_end":381,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073742712}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273138,"byte_end":273141,"line_start":381,"line_end":381,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273170,"byte_end":273174,"line_start":382,"line_end":382,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073742712}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273175,"byte_end":273178,"line_start":382,"line_end":382,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273194,"byte_end":273202,"line_start":383,"line_end":383,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1879049080}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273221,"byte_end":273233,"line_start":384,"line_end":384,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":268436344}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273253,"byte_end":273261,"line_start":385,"line_end":385,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1879049080}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273286,"byte_end":273298,"line_start":387,"line_end":387,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":268436344}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273505,"byte_end":273509,"line_start":400,"line_end":400,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273510,"byte_end":273516,"line_start":400,"line_end":400,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273549,"byte_end":273555,"line_start":401,"line_end":401,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":273575,"byte_end":273578,"line_start":402,"line_end":402,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273567,"byte_end":273573,"line_start":402,"line_end":402,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273579,"byte_end":273583,"line_start":402,"line_end":402,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073742714}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273834,"byte_end":273838,"line_start":416,"line_end":416,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273916,"byte_end":273920,"line_start":418,"line_end":418,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073742716}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273921,"byte_end":273924,"line_start":418,"line_end":418,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273953,"byte_end":273957,"line_start":419,"line_end":419,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073742716}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273958,"byte_end":273961,"line_start":419,"line_end":419,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273977,"byte_end":273985,"line_start":420,"line_end":420,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1879049084}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274004,"byte_end":274016,"line_start":421,"line_end":421,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":268436348}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274036,"byte_end":274044,"line_start":422,"line_end":422,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1879049084}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274069,"byte_end":274081,"line_start":424,"line_end":424,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":268436348}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274274,"byte_end":274278,"line_start":437,"line_end":437,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274279,"byte_end":274285,"line_start":437,"line_end":437,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274318,"byte_end":274324,"line_start":438,"line_end":438,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274344,"byte_end":274347,"line_start":439,"line_end":439,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274336,"byte_end":274342,"line_start":439,"line_end":439,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274348,"byte_end":274352,"line_start":439,"line_end":439,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073742718}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274417,"byte_end":274418,"line_start":446,"line_end":446,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742719}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274427,"byte_end":274428,"line_start":446,"line_end":446,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1073742719}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274444,"byte_end":274445,"line_start":446,"line_end":446,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":1073742719}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274512,"byte_end":274515,"line_start":448,"line_end":448,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274485,"byte_end":274488,"line_start":448,"line_end":448,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274479,"byte_end":274484,"line_start":448,"line_end":448,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892315007}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274500,"byte_end":274503,"line_start":448,"line_end":448,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16302}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274489,"byte_end":274493,"line_start":448,"line_end":448,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274495,"byte_end":274498,"line_start":448,"line_end":448,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274527,"byte_end":274530,"line_start":448,"line_end":448,"column_start":72,"column_end":75},"ref_id":{"krate":1,"index":16303}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274516,"byte_end":274520,"line_start":448,"line_end":448,"column_start":61,"column_end":65},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274522,"byte_end":274525,"line_start":448,"line_end":448,"column_start":67,"column_end":70},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274546,"byte_end":274558,"line_start":450,"line_end":450,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":1946157951}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274626,"byte_end":274627,"line_start":454,"line_end":454,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274636,"byte_end":274637,"line_start":454,"line_end":454,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274653,"byte_end":274654,"line_start":454,"line_end":454,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274721,"byte_end":274724,"line_start":456,"line_end":456,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274694,"byte_end":274697,"line_start":456,"line_end":456,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274688,"byte_end":274693,"line_start":456,"line_end":456,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892315008}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274709,"byte_end":274712,"line_start":456,"line_end":456,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16302}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274698,"byte_end":274702,"line_start":456,"line_end":456,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274704,"byte_end":274707,"line_start":456,"line_end":456,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274736,"byte_end":274739,"line_start":456,"line_end":456,"column_start":72,"column_end":75},"ref_id":{"krate":1,"index":16303}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274725,"byte_end":274729,"line_start":456,"line_end":456,"column_start":61,"column_end":65},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274731,"byte_end":274734,"line_start":456,"line_end":456,"column_start":67,"column_end":70},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274755,"byte_end":274767,"line_start":458,"line_end":458,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":1946157952}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274832,"byte_end":274841,"line_start":462,"line_end":462,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":895}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274842,"byte_end":274843,"line_start":462,"line_end":462,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":1073742721}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274853,"byte_end":274856,"line_start":462,"line_end":462,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":24201}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274857,"byte_end":274866,"line_start":462,"line_end":462,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":536871809}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274885,"byte_end":274888,"line_start":462,"line_end":462,"column_start":58,"column_end":61},"ref_id":{"krate":1,"index":23570}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274889,"byte_end":274898,"line_start":462,"line_end":462,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":536871809}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274934,"byte_end":274940,"line_start":465,"line_end":465,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274966,"byte_end":274986,"line_start":466,"line_end":466,"column_start":19,"column_end":39},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274966,"byte_end":274967,"line_start":466,"line_end":466,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274969,"byte_end":274986,"line_start":466,"line_end":466,"column_start":22,"column_end":39},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274980,"byte_end":274986,"line_start":466,"line_end":466,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274969,"byte_end":274973,"line_start":466,"line_end":466,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274975,"byte_end":274978,"line_start":466,"line_end":466,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":176}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275000,"byte_end":275005,"line_start":467,"line_end":467,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":897}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275006,"byte_end":275007,"line_start":467,"line_end":467,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":1073742722}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275009,"byte_end":275015,"line_start":467,"line_end":467,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3489661826}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275020,"byte_end":275021,"line_start":467,"line_end":467,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":1073742722}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275043,"byte_end":275047,"line_start":468,"line_end":468,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275048,"byte_end":275054,"line_start":468,"line_end":468,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3489661826}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275077,"byte_end":275081,"line_start":471,"line_end":471,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275133,"byte_end":275142,"line_start":475,"line_end":475,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275143,"byte_end":275144,"line_start":475,"line_end":475,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":1073742723}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275154,"byte_end":275157,"line_start":475,"line_end":475,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":24201}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275158,"byte_end":275167,"line_start":475,"line_end":475,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":536871811}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275186,"byte_end":275189,"line_start":475,"line_end":475,"column_start":58,"column_end":61},"ref_id":{"krate":1,"index":23570}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275190,"byte_end":275199,"line_start":475,"line_end":475,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":536871811}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275237,"byte_end":275243,"line_start":478,"line_end":478,"column_start":27,"column_end":33},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275269,"byte_end":275289,"line_start":479,"line_end":479,"column_start":19,"column_end":39},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275269,"byte_end":275270,"line_start":479,"line_end":479,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275272,"byte_end":275289,"line_start":479,"line_end":479,"column_start":22,"column_end":39},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275283,"byte_end":275289,"line_start":479,"line_end":479,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":275272,"byte_end":275276,"line_start":479,"line_end":479,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":275278,"byte_end":275281,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":176}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275303,"byte_end":275310,"line_start":480,"line_end":480,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":899}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275311,"byte_end":275312,"line_start":480,"line_end":480,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742724}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275314,"byte_end":275320,"line_start":480,"line_end":480,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3489661828}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275325,"byte_end":275326,"line_start":480,"line_end":480,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1073742724}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275348,"byte_end":275352,"line_start":481,"line_end":481,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275353,"byte_end":275359,"line_start":481,"line_end":481,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3489661828}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275382,"byte_end":275386,"line_start":484,"line_end":484,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275593,"byte_end":275597,"line_start":496,"line_end":496,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275657,"byte_end":275665,"line_start":498,"line_end":498,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":873}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275652,"byte_end":275656,"line_start":498,"line_end":498,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742726}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275872,"byte_end":275876,"line_start":511,"line_end":511,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275877,"byte_end":275883,"line_start":511,"line_end":511,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275916,"byte_end":275922,"line_start":512,"line_end":512,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275940,"byte_end":275949,"line_start":513,"line_end":513,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":898}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275950,"byte_end":275954,"line_start":513,"line_end":513,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742728}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275970,"byte_end":275974,"line_start":514,"line_end":514,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275970,"byte_end":275974,"line_start":514,"line_end":514,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276028,"byte_end":276031,"line_start":515,"line_end":515,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276032,"byte_end":276033,"line_start":515,"line_end":515,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2415920008}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276086,"byte_end":276091,"line_start":516,"line_end":516,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276081,"byte_end":276085,"line_start":516,"line_end":516,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073742728}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276130,"byte_end":276148,"line_start":517,"line_end":517,"column_start":36,"column_end":54},"ref_id":{"krate":0,"index":2550137736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276172,"byte_end":276180,"line_start":518,"line_end":518,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":2751464328}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276207,"byte_end":276215,"line_start":519,"line_end":519,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":67109768}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276246,"byte_end":276254,"line_start":520,"line_end":520,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":2751464328}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276307,"byte_end":276316,"line_start":522,"line_end":522,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":895}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276317,"byte_end":276325,"line_start":522,"line_end":522,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":67109768}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276366,"byte_end":276369,"line_start":523,"line_end":523,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276358,"byte_end":276364,"line_start":523,"line_end":523,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276370,"byte_end":276375,"line_start":523,"line_end":523,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2449474440}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276377,"byte_end":276395,"line_start":523,"line_end":523,"column_start":43,"column_end":61},"ref_id":{"krate":0,"index":2550137736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276431,"byte_end":276435,"line_start":525,"line_end":525,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276431,"byte_end":276435,"line_start":525,"line_end":525,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276515,"byte_end":276524,"line_start":526,"line_end":526,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":895}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276525,"byte_end":276529,"line_start":526,"line_end":526,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742728}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276570,"byte_end":276573,"line_start":527,"line_end":527,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276562,"byte_end":276568,"line_start":527,"line_end":527,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276574,"byte_end":276579,"line_start":527,"line_end":527,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1711276936}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276828,"byte_end":276832,"line_start":542,"line_end":542,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276892,"byte_end":276900,"line_start":544,"line_end":544,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":873}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276887,"byte_end":276891,"line_start":544,"line_end":544,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742730}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277121,"byte_end":277125,"line_start":557,"line_end":557,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277126,"byte_end":277132,"line_start":557,"line_end":557,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277165,"byte_end":277171,"line_start":558,"line_end":558,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277189,"byte_end":277200,"line_start":559,"line_end":559,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":900}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277201,"byte_end":277205,"line_start":559,"line_end":559,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073742732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277221,"byte_end":277225,"line_start":560,"line_end":560,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277221,"byte_end":277225,"line_start":560,"line_end":560,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277279,"byte_end":277282,"line_start":561,"line_end":561,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277283,"byte_end":277284,"line_start":561,"line_end":561,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2415920012}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277337,"byte_end":277342,"line_start":562,"line_end":562,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277332,"byte_end":277336,"line_start":562,"line_end":562,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073742732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277381,"byte_end":277399,"line_start":563,"line_end":563,"column_start":36,"column_end":54},"ref_id":{"krate":0,"index":2550137740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277423,"byte_end":277431,"line_start":564,"line_end":564,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":2751464332}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277458,"byte_end":277466,"line_start":565,"line_end":565,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":67109772}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277497,"byte_end":277505,"line_start":566,"line_end":566,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":2751464332}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277558,"byte_end":277567,"line_start":568,"line_end":568,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277568,"byte_end":277576,"line_start":568,"line_end":568,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":67109772}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277617,"byte_end":277620,"line_start":569,"line_end":569,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277609,"byte_end":277615,"line_start":569,"line_end":569,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277621,"byte_end":277626,"line_start":569,"line_end":569,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2449474444}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277628,"byte_end":277646,"line_start":569,"line_end":569,"column_start":43,"column_end":61},"ref_id":{"krate":0,"index":2550137740}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277682,"byte_end":277686,"line_start":571,"line_end":571,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277682,"byte_end":277686,"line_start":571,"line_end":571,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277766,"byte_end":277775,"line_start":572,"line_end":572,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277776,"byte_end":277780,"line_start":572,"line_end":572,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277821,"byte_end":277824,"line_start":573,"line_end":573,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277813,"byte_end":277819,"line_start":573,"line_end":573,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277825,"byte_end":277830,"line_start":573,"line_end":573,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1711276940}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277885,"byte_end":277894,"line_start":579,"line_end":579,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3134}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":277874,"byte_end":277878,"line_start":579,"line_end":579,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":277880,"byte_end":277883,"line_start":579,"line_end":579,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277954,"byte_end":277960,"line_start":580,"line_end":580,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277976,"byte_end":277980,"line_start":581,"line_end":581,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277981,"byte_end":277984,"line_start":581,"line_end":581,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277988,"byte_end":277993,"line_start":581,"line_end":581,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871822}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277994,"byte_end":277997,"line_start":581,"line_end":581,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278034,"byte_end":278043,"line_start":582,"line_end":582,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278029,"byte_end":278033,"line_start":582,"line_end":582,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278045,"byte_end":278050,"line_start":582,"line_end":582,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871822}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278076,"byte_end":278080,"line_start":583,"line_end":583,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278081,"byte_end":278084,"line_start":583,"line_end":583,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278087,"byte_end":278097,"line_start":583,"line_end":583,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831374}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278098,"byte_end":278101,"line_start":583,"line_end":583,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278065,"byte_end":278069,"line_start":583,"line_end":583,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278070,"byte_end":278073,"line_start":583,"line_end":583,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278143,"byte_end":278147,"line_start":585,"line_end":585,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278148,"byte_end":278151,"line_start":585,"line_end":585,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278154,"byte_end":278159,"line_start":585,"line_end":585,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871822}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278160,"byte_end":278163,"line_start":585,"line_end":585,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278132,"byte_end":278136,"line_start":585,"line_end":585,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742734}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278137,"byte_end":278140,"line_start":585,"line_end":585,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278200,"byte_end":278203,"line_start":590,"line_end":590,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3106}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278189,"byte_end":278193,"line_start":590,"line_end":590,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278195,"byte_end":278198,"line_start":590,"line_end":590,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278244,"byte_end":278250,"line_start":591,"line_end":591,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278280,"byte_end":278286,"line_start":592,"line_end":592,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278325,"byte_end":278331,"line_start":592,"line_end":592,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3098}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278300,"byte_end":278304,"line_start":592,"line_end":592,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278306,"byte_end":278309,"line_start":592,"line_end":592,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278311,"byte_end":278314,"line_start":592,"line_end":592,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278315,"byte_end":278321,"line_start":592,"line_end":592,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278346,"byte_end":278350,"line_start":593,"line_end":593,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278351,"byte_end":278354,"line_start":593,"line_end":593,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278358,"byte_end":278363,"line_start":593,"line_end":593,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871825}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278364,"byte_end":278367,"line_start":593,"line_end":593,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278404,"byte_end":278413,"line_start":594,"line_end":594,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278399,"byte_end":278403,"line_start":594,"line_end":594,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278415,"byte_end":278420,"line_start":594,"line_end":594,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871825}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278446,"byte_end":278450,"line_start":595,"line_end":595,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278451,"byte_end":278454,"line_start":595,"line_end":595,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278457,"byte_end":278467,"line_start":595,"line_end":595,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831377}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278468,"byte_end":278471,"line_start":595,"line_end":595,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278435,"byte_end":278439,"line_start":595,"line_end":595,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278440,"byte_end":278443,"line_start":595,"line_end":595,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278513,"byte_end":278517,"line_start":597,"line_end":597,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278518,"byte_end":278521,"line_start":597,"line_end":597,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278524,"byte_end":278529,"line_start":597,"line_end":597,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871825}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278530,"byte_end":278533,"line_start":597,"line_end":597,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278502,"byte_end":278506,"line_start":597,"line_end":597,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278507,"byte_end":278510,"line_start":597,"line_end":597,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278560,"byte_end":278564,"line_start":599,"line_end":599,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742737}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278591,"byte_end":278600,"line_start":603,"line_end":603,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3126}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278580,"byte_end":278584,"line_start":603,"line_end":603,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278586,"byte_end":278589,"line_start":603,"line_end":603,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278660,"byte_end":278666,"line_start":604,"line_end":604,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278682,"byte_end":278686,"line_start":605,"line_end":605,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278687,"byte_end":278690,"line_start":605,"line_end":605,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278694,"byte_end":278699,"line_start":605,"line_end":605,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871827}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278700,"byte_end":278703,"line_start":605,"line_end":605,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278740,"byte_end":278749,"line_start":606,"line_end":606,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278735,"byte_end":278739,"line_start":606,"line_end":606,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278751,"byte_end":278756,"line_start":606,"line_end":606,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871827}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278782,"byte_end":278786,"line_start":607,"line_end":607,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278787,"byte_end":278790,"line_start":607,"line_end":607,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278793,"byte_end":278803,"line_start":607,"line_end":607,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831379}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278804,"byte_end":278807,"line_start":607,"line_end":607,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278771,"byte_end":278775,"line_start":607,"line_end":607,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278776,"byte_end":278779,"line_start":607,"line_end":607,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278849,"byte_end":278853,"line_start":609,"line_end":609,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278854,"byte_end":278857,"line_start":609,"line_end":609,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278860,"byte_end":278865,"line_start":609,"line_end":609,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871827}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278866,"byte_end":278869,"line_start":609,"line_end":609,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278838,"byte_end":278842,"line_start":609,"line_end":609,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742739}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278843,"byte_end":278846,"line_start":609,"line_end":609,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278906,"byte_end":278909,"line_start":614,"line_end":614,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3096}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278895,"byte_end":278899,"line_start":614,"line_end":614,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278901,"byte_end":278904,"line_start":614,"line_end":614,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278950,"byte_end":278956,"line_start":615,"line_end":615,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278986,"byte_end":278992,"line_start":616,"line_end":616,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279031,"byte_end":279037,"line_start":616,"line_end":616,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3098}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279006,"byte_end":279010,"line_start":616,"line_end":616,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279012,"byte_end":279015,"line_start":616,"line_end":616,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279017,"byte_end":279020,"line_start":616,"line_end":616,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279021,"byte_end":279027,"line_start":616,"line_end":616,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279052,"byte_end":279056,"line_start":617,"line_end":617,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279057,"byte_end":279060,"line_start":617,"line_end":617,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279064,"byte_end":279069,"line_start":617,"line_end":617,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871830}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279070,"byte_end":279073,"line_start":617,"line_end":617,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279110,"byte_end":279119,"line_start":618,"line_end":618,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279105,"byte_end":279109,"line_start":618,"line_end":618,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279121,"byte_end":279126,"line_start":618,"line_end":618,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871830}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279152,"byte_end":279156,"line_start":619,"line_end":619,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279157,"byte_end":279160,"line_start":619,"line_end":619,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279163,"byte_end":279173,"line_start":619,"line_end":619,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831382}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279174,"byte_end":279177,"line_start":619,"line_end":619,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279141,"byte_end":279145,"line_start":619,"line_end":619,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279146,"byte_end":279149,"line_start":619,"line_end":619,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279219,"byte_end":279223,"line_start":621,"line_end":621,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279224,"byte_end":279227,"line_start":621,"line_end":621,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279230,"byte_end":279235,"line_start":621,"line_end":621,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871830}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279236,"byte_end":279239,"line_start":621,"line_end":621,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279208,"byte_end":279212,"line_start":621,"line_end":621,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279213,"byte_end":279216,"line_start":621,"line_end":621,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279266,"byte_end":279270,"line_start":623,"line_end":623,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279297,"byte_end":279306,"line_start":627,"line_end":627,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3122}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279286,"byte_end":279290,"line_start":627,"line_end":627,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279292,"byte_end":279295,"line_start":627,"line_end":627,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279366,"byte_end":279372,"line_start":628,"line_end":628,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279388,"byte_end":279392,"line_start":629,"line_end":629,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279393,"byte_end":279396,"line_start":629,"line_end":629,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279400,"byte_end":279405,"line_start":629,"line_end":629,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871832}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279406,"byte_end":279409,"line_start":629,"line_end":629,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279446,"byte_end":279455,"line_start":630,"line_end":630,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279441,"byte_end":279445,"line_start":630,"line_end":630,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279457,"byte_end":279462,"line_start":630,"line_end":630,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871832}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279488,"byte_end":279492,"line_start":631,"line_end":631,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279493,"byte_end":279496,"line_start":631,"line_end":631,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279499,"byte_end":279509,"line_start":631,"line_end":631,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831384}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279510,"byte_end":279513,"line_start":631,"line_end":631,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279477,"byte_end":279481,"line_start":631,"line_end":631,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279482,"byte_end":279485,"line_start":631,"line_end":631,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279555,"byte_end":279559,"line_start":633,"line_end":633,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279560,"byte_end":279563,"line_start":633,"line_end":633,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279566,"byte_end":279571,"line_start":633,"line_end":633,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871832}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279572,"byte_end":279575,"line_start":633,"line_end":633,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279544,"byte_end":279548,"line_start":633,"line_end":633,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742744}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279549,"byte_end":279552,"line_start":633,"line_end":633,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279612,"byte_end":279615,"line_start":638,"line_end":638,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3091}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279601,"byte_end":279605,"line_start":638,"line_end":638,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279607,"byte_end":279610,"line_start":638,"line_end":638,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279656,"byte_end":279662,"line_start":639,"line_end":639,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279692,"byte_end":279698,"line_start":640,"line_end":640,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279737,"byte_end":279743,"line_start":640,"line_end":640,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3093}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279712,"byte_end":279716,"line_start":640,"line_end":640,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279718,"byte_end":279721,"line_start":640,"line_end":640,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279723,"byte_end":279726,"line_start":640,"line_end":640,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3091}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279727,"byte_end":279733,"line_start":640,"line_end":640,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279758,"byte_end":279762,"line_start":641,"line_end":641,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279763,"byte_end":279766,"line_start":641,"line_end":641,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279770,"byte_end":279775,"line_start":641,"line_end":641,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871835}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279776,"byte_end":279779,"line_start":641,"line_end":641,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279816,"byte_end":279825,"line_start":642,"line_end":642,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279811,"byte_end":279815,"line_start":642,"line_end":642,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279827,"byte_end":279832,"line_start":642,"line_end":642,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871835}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279858,"byte_end":279862,"line_start":643,"line_end":643,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279863,"byte_end":279866,"line_start":643,"line_end":643,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279869,"byte_end":279879,"line_start":643,"line_end":643,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831387}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279880,"byte_end":279883,"line_start":643,"line_end":643,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279847,"byte_end":279851,"line_start":643,"line_end":643,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279852,"byte_end":279855,"line_start":643,"line_end":643,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279925,"byte_end":279929,"line_start":645,"line_end":645,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279930,"byte_end":279933,"line_start":645,"line_end":645,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279936,"byte_end":279941,"line_start":645,"line_end":645,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871835}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279942,"byte_end":279945,"line_start":645,"line_end":645,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279914,"byte_end":279918,"line_start":645,"line_end":645,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279919,"byte_end":279922,"line_start":645,"line_end":645,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279972,"byte_end":279976,"line_start":647,"line_end":647,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742747}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280003,"byte_end":280012,"line_start":651,"line_end":651,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3130}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279992,"byte_end":279996,"line_start":651,"line_end":651,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279998,"byte_end":280001,"line_start":651,"line_end":651,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280072,"byte_end":280078,"line_start":652,"line_end":652,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280094,"byte_end":280098,"line_start":653,"line_end":653,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280099,"byte_end":280102,"line_start":653,"line_end":653,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280106,"byte_end":280111,"line_start":653,"line_end":653,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871837}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280112,"byte_end":280115,"line_start":653,"line_end":653,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280152,"byte_end":280161,"line_start":654,"line_end":654,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280147,"byte_end":280151,"line_start":654,"line_end":654,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280163,"byte_end":280168,"line_start":654,"line_end":654,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871837}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280194,"byte_end":280198,"line_start":655,"line_end":655,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280199,"byte_end":280202,"line_start":655,"line_end":655,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280205,"byte_end":280215,"line_start":655,"line_end":655,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831389}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280216,"byte_end":280219,"line_start":655,"line_end":655,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280183,"byte_end":280187,"line_start":655,"line_end":655,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280188,"byte_end":280191,"line_start":655,"line_end":655,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280261,"byte_end":280265,"line_start":657,"line_end":657,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280266,"byte_end":280269,"line_start":657,"line_end":657,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280272,"byte_end":280277,"line_start":657,"line_end":657,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871837}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280278,"byte_end":280281,"line_start":657,"line_end":657,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280250,"byte_end":280254,"line_start":657,"line_end":657,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280255,"byte_end":280258,"line_start":657,"line_end":657,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280318,"byte_end":280321,"line_start":662,"line_end":662,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3101}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280307,"byte_end":280311,"line_start":662,"line_end":662,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280313,"byte_end":280316,"line_start":662,"line_end":662,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280362,"byte_end":280368,"line_start":663,"line_end":663,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280398,"byte_end":280404,"line_start":664,"line_end":664,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280443,"byte_end":280449,"line_start":664,"line_end":664,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3103}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280418,"byte_end":280422,"line_start":664,"line_end":664,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280424,"byte_end":280427,"line_start":664,"line_end":664,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280429,"byte_end":280432,"line_start":664,"line_end":664,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3101}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280433,"byte_end":280439,"line_start":664,"line_end":664,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280465,"byte_end":280469,"line_start":666,"line_end":666,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280470,"byte_end":280473,"line_start":666,"line_end":666,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3156}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280477,"byte_end":280482,"line_start":666,"line_end":666,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871840}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280483,"byte_end":280486,"line_start":666,"line_end":666,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3156}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280523,"byte_end":280532,"line_start":667,"line_end":667,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280518,"byte_end":280522,"line_start":667,"line_end":667,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280534,"byte_end":280539,"line_start":667,"line_end":667,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871840}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280565,"byte_end":280569,"line_start":668,"line_end":668,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280570,"byte_end":280573,"line_start":668,"line_end":668,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280576,"byte_end":280586,"line_start":668,"line_end":668,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831392}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280587,"byte_end":280590,"line_start":668,"line_end":668,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280554,"byte_end":280558,"line_start":668,"line_end":668,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280559,"byte_end":280562,"line_start":668,"line_end":668,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280632,"byte_end":280636,"line_start":670,"line_end":670,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280637,"byte_end":280640,"line_start":670,"line_end":670,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280643,"byte_end":280648,"line_start":670,"line_end":670,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871840}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280649,"byte_end":280652,"line_start":670,"line_end":670,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280621,"byte_end":280625,"line_start":670,"line_end":670,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280626,"byte_end":280629,"line_start":670,"line_end":670,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280679,"byte_end":280683,"line_start":672,"line_end":672,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742752}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280699,"byte_end":280706,"line_start":676,"line_end":676,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280764,"byte_end":280767,"line_start":678,"line_end":678,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280756,"byte_end":280762,"line_start":678,"line_end":678,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280797,"byte_end":280805,"line_start":683,"line_end":683,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280865,"byte_end":280876,"line_start":687,"line_end":687,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280905,"byte_end":280912,"line_start":687,"line_end":687,"column_start":76,"column_end":83},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280892,"byte_end":280903,"line_start":687,"line_end":687,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280961,"byte_end":280972,"line_start":688,"line_end":688,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281001,"byte_end":281008,"line_start":688,"line_end":688,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280988,"byte_end":280999,"line_start":688,"line_end":688,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281044,"byte_end":281047,"line_start":690,"line_end":690,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281048,"byte_end":281064,"line_start":690,"line_end":690,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281085,"byte_end":281091,"line_start":690,"line_end":690,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281092,"byte_end":281099,"line_start":690,"line_end":690,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281101,"byte_end":281109,"line_start":690,"line_end":690,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281150,"byte_end":281153,"line_start":691,"line_end":691,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281143,"byte_end":281148,"line_start":691,"line_end":691,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281177,"byte_end":281183,"line_start":692,"line_end":692,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281165,"byte_end":281176,"line_start":692,"line_end":692,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307303}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281191,"byte_end":281199,"line_start":692,"line_end":692,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281212,"byte_end":281218,"line_start":692,"line_end":692,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281203,"byte_end":281210,"line_start":692,"line_end":692,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281238,"byte_end":281247,"line_start":692,"line_end":692,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281225,"byte_end":281233,"line_start":692,"line_end":692,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281286,"byte_end":281292,"line_start":694,"line_end":694,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742759}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281293,"byte_end":281300,"line_start":694,"line_end":694,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871847}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281302,"byte_end":281306,"line_start":694,"line_end":694,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281317,"byte_end":281328,"line_start":694,"line_end":694,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3660}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281354,"byte_end":281360,"line_start":696,"line_end":696,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281342,"byte_end":281353,"line_start":696,"line_end":696,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307303}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281367,"byte_end":281375,"line_start":696,"line_end":696,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281388,"byte_end":281395,"line_start":696,"line_end":696,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281379,"byte_end":281386,"line_start":696,"line_end":696,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281405,"byte_end":281410,"line_start":696,"line_end":696,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281396,"byte_end":281400,"line_start":696,"line_end":696,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1275069351}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281401,"byte_end":281404,"line_start":696,"line_end":696,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281449,"byte_end":281453,"line_start":698,"line_end":698,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069351}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281454,"byte_end":281461,"line_start":698,"line_end":698,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281439,"byte_end":281443,"line_start":698,"line_end":698,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281496,"byte_end":281499,"line_start":699,"line_end":699,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281488,"byte_end":281494,"line_start":699,"line_end":699,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281506,"byte_end":281511,"line_start":699,"line_end":699,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281500,"byte_end":281501,"line_start":699,"line_end":699,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":2449474471}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281502,"byte_end":281505,"line_start":699,"line_end":699,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281524,"byte_end":281529,"line_start":699,"line_end":699,"column_start":61,"column_end":66},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281515,"byte_end":281519,"line_start":699,"line_end":699,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":1275069351}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281520,"byte_end":281523,"line_start":699,"line_end":699,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3662}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281558,"byte_end":281564,"line_start":700,"line_end":700,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281546,"byte_end":281557,"line_start":700,"line_end":700,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307303}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281575,"byte_end":281583,"line_start":700,"line_end":700,"column_start":42,"column_end":50},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281596,"byte_end":281601,"line_start":700,"line_end":700,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281587,"byte_end":281594,"line_start":700,"line_end":700,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281608,"byte_end":281612,"line_start":700,"line_end":700,"column_start":75,"column_end":79},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281602,"byte_end":281607,"line_start":700,"line_end":700,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":100664231}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281637,"byte_end":281639,"line_start":703,"line_end":703,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281649,"byte_end":281659,"line_start":703,"line_end":703,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281640,"byte_end":281647,"line_start":703,"line_end":703,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281660,"byte_end":281671,"line_start":703,"line_end":703,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307303}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281749,"byte_end":281752,"line_start":707,"line_end":707,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281753,"byte_end":281769,"line_start":707,"line_end":707,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281775,"byte_end":281781,"line_start":707,"line_end":707,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281822,"byte_end":281828,"line_start":708,"line_end":708,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613672}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281829,"byte_end":281833,"line_start":708,"line_end":708,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871848}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281835,"byte_end":281839,"line_start":708,"line_end":708,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281850,"byte_end":281861,"line_start":708,"line_end":708,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281896,"byte_end":281900,"line_start":710,"line_end":710,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":402654120}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281901,"byte_end":281908,"line_start":710,"line_end":710,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281886,"byte_end":281890,"line_start":710,"line_end":710,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281923,"byte_end":281927,"line_start":711,"line_end":711,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281930,"byte_end":281935,"line_start":711,"line_end":711,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281928,"byte_end":281929,"line_start":711,"line_end":711,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623879592}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281968,"byte_end":281972,"line_start":713,"line_end":713,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282171,"byte_end":282176,"line_start":718,"line_end":718,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282070,"byte_end":282079,"line_start":718,"line_end":718,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282095,"byte_end":282104,"line_start":718,"line_end":718,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282118,"byte_end":282125,"line_start":718,"line_end":718,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282131,"byte_end":282137,"line_start":718,"line_end":718,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282142,"byte_end":282150,"line_start":718,"line_end":718,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282196,"byte_end":282201,"line_start":719,"line_end":719,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178217}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282225,"byte_end":282235,"line_start":720,"line_end":720,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282216,"byte_end":282223,"line_start":720,"line_end":720,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282225,"byte_end":282235,"line_start":720,"line_end":720,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282216,"byte_end":282223,"line_start":720,"line_end":720,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282308,"byte_end":282311,"line_start":721,"line_end":721,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282304,"byte_end":282307,"line_start":721,"line_end":721,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1207960489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282269,"byte_end":282273,"line_start":721,"line_end":721,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282283,"byte_end":282293,"line_start":721,"line_end":721,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282274,"byte_end":282281,"line_start":721,"line_end":721,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282386,"byte_end":282389,"line_start":722,"line_end":722,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282380,"byte_end":282385,"line_start":722,"line_end":722,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":2550137769}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282350,"byte_end":282354,"line_start":722,"line_end":722,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282364,"byte_end":282371,"line_start":722,"line_end":722,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282355,"byte_end":282362,"line_start":722,"line_end":722,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282466,"byte_end":282469,"line_start":723,"line_end":723,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282460,"byte_end":282465,"line_start":723,"line_end":723,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2550137769}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282430,"byte_end":282434,"line_start":723,"line_end":723,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282444,"byte_end":282451,"line_start":723,"line_end":723,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282435,"byte_end":282442,"line_start":723,"line_end":723,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282513,"byte_end":282522,"line_start":724,"line_end":724,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282523,"byte_end":282529,"line_start":724,"line_end":724,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613673}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282531,"byte_end":282537,"line_start":724,"line_end":724,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":268436393}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282547,"byte_end":282550,"line_start":724,"line_end":724,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282539,"byte_end":282545,"line_start":724,"line_end":724,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282552,"byte_end":282555,"line_start":724,"line_end":724,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":1677722537}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282558,"byte_end":282561,"line_start":724,"line_end":724,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":3422553001}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282640,"byte_end":282643,"line_start":726,"line_end":726,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282654,"byte_end":282657,"line_start":726,"line_end":726,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282644,"byte_end":282652,"line_start":726,"line_end":726,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282794,"byte_end":282797,"line_start":729,"line_end":729,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282808,"byte_end":282811,"line_start":729,"line_end":729,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282798,"byte_end":282806,"line_start":729,"line_end":729,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282936,"byte_end":282939,"line_start":732,"line_end":732,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282950,"byte_end":282953,"line_start":732,"line_end":732,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282940,"byte_end":282948,"line_start":732,"line_end":732,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283072,"byte_end":283074,"line_start":738,"line_end":738,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283216,"byte_end":283221,"line_start":741,"line_end":741,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283117,"byte_end":283126,"line_start":741,"line_end":741,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283142,"byte_end":283151,"line_start":741,"line_end":741,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283169,"byte_end":283175,"line_start":741,"line_end":741,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283176,"byte_end":283185,"line_start":741,"line_end":741,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283187,"byte_end":283195,"line_start":741,"line_end":741,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283259,"byte_end":283268,"line_start":743,"line_end":743,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283252,"byte_end":283258,"line_start":743,"line_end":743,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742763}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283269,"byte_end":283275,"line_start":743,"line_end":743,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871851}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283323,"byte_end":283337,"line_start":745,"line_end":745,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283313,"byte_end":283320,"line_start":745,"line_end":745,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960491}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283390,"byte_end":283400,"line_start":747,"line_end":747,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283383,"byte_end":283389,"line_start":747,"line_end":747,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871851}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283401,"byte_end":283407,"line_start":747,"line_end":747,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742763}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283408,"byte_end":283419,"line_start":747,"line_end":747,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283421,"byte_end":283425,"line_start":747,"line_end":747,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283436,"byte_end":283447,"line_start":747,"line_end":747,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283471,"byte_end":283475,"line_start":749,"line_end":749,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":2348811179}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283476,"byte_end":283479,"line_start":749,"line_end":749,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3662}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283521,"byte_end":283526,"line_start":751,"line_end":751,"column_start":40,"column_end":45},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283514,"byte_end":283519,"line_start":751,"line_end":751,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":1610613675}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283551,"byte_end":283560,"line_start":752,"line_end":752,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283538,"byte_end":283550,"line_start":752,"line_end":752,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":2080375723}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283561,"byte_end":283564,"line_start":752,"line_end":752,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3959423915}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283592,"byte_end":283604,"line_start":754,"line_end":754,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2080375723}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283605,"byte_end":283608,"line_start":754,"line_end":754,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3155}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283622,"byte_end":283635,"line_start":756,"line_end":756,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008683}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283708,"byte_end":283719,"line_start":757,"line_end":757,"column_start":39,"column_end":50},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283698,"byte_end":283707,"line_start":757,"line_end":757,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3523216299}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283782,"byte_end":283793,"line_start":760,"line_end":760,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283794,"byte_end":283799,"line_start":760,"line_end":760,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3925869483}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283771,"byte_end":283776,"line_start":760,"line_end":760,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3925869483}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283843,"byte_end":283854,"line_start":762,"line_end":762,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283836,"byte_end":283842,"line_start":762,"line_end":762,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871851}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283931,"byte_end":283945,"line_start":765,"line_end":765,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283931,"byte_end":283932,"line_start":765,"line_end":765,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283934,"byte_end":283945,"line_start":765,"line_end":765,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283940,"byte_end":283943,"line_start":765,"line_end":765,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283934,"byte_end":283939,"line_start":765,"line_end":765,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3925869483}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283997,"byte_end":284002,"line_start":766,"line_end":766,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":3925869483}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284003,"byte_end":284004,"line_start":766,"line_end":766,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":771752875}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283964,"byte_end":283975,"line_start":766,"line_end":766,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3590325163}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283976,"byte_end":283989,"line_start":766,"line_end":766,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008683}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283992,"byte_end":283993,"line_start":766,"line_end":766,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":771752875}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284094,"byte_end":284105,"line_start":771,"line_end":771,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284084,"byte_end":284093,"line_start":771,"line_end":771,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3523216299}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284171,"byte_end":284182,"line_start":774,"line_end":774,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284183,"byte_end":284191,"line_start":774,"line_end":774,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1157628843}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284157,"byte_end":284165,"line_start":774,"line_end":774,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1157628843}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284233,"byte_end":284246,"line_start":776,"line_end":776,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284226,"byte_end":284232,"line_start":776,"line_end":776,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536871851}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284248,"byte_end":284256,"line_start":776,"line_end":776,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1157628843}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284210,"byte_end":284223,"line_start":776,"line_end":776,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008683}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284301,"byte_end":284315,"line_start":777,"line_end":777,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284279,"byte_end":284292,"line_start":777,"line_end":777,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284272,"byte_end":284278,"line_start":777,"line_end":777,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742763}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284293,"byte_end":284299,"line_start":777,"line_end":777,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871851}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284316,"byte_end":284329,"line_start":777,"line_end":777,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008683}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284359,"byte_end":284361,"line_start":781,"line_end":781,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284362,"byte_end":284368,"line_start":781,"line_end":781,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742763}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284488,"byte_end":284493,"line_start":784,"line_end":784,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284404,"byte_end":284413,"line_start":784,"line_end":784,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284431,"byte_end":284440,"line_start":784,"line_end":784,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284445,"byte_end":284451,"line_start":784,"line_end":784,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284452,"byte_end":284458,"line_start":784,"line_end":784,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284466,"byte_end":284474,"line_start":784,"line_end":784,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284531,"byte_end":284540,"line_start":786,"line_end":786,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284524,"byte_end":284530,"line_start":786,"line_end":786,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742766}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284541,"byte_end":284547,"line_start":786,"line_end":786,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871854}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284588,"byte_end":284602,"line_start":788,"line_end":788,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284578,"byte_end":284585,"line_start":788,"line_end":788,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218670}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284650,"byte_end":284660,"line_start":791,"line_end":791,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879598}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284687,"byte_end":284689,"line_start":792,"line_end":792,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284690,"byte_end":284694,"line_start":792,"line_end":792,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284747,"byte_end":284757,"line_start":795,"line_end":795,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284740,"byte_end":284746,"line_start":795,"line_end":795,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871854}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284758,"byte_end":284764,"line_start":795,"line_end":795,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742766}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284765,"byte_end":284776,"line_start":795,"line_end":795,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284778,"byte_end":284782,"line_start":795,"line_end":795,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284793,"byte_end":284804,"line_start":795,"line_end":795,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284828,"byte_end":284832,"line_start":797,"line_end":797,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":4227859374}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284833,"byte_end":284836,"line_start":797,"line_end":797,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284847,"byte_end":284849,"line_start":799,"line_end":799,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284863,"byte_end":284874,"line_start":799,"line_end":799,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284856,"byte_end":284862,"line_start":799,"line_end":799,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536871854}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284875,"byte_end":284885,"line_start":799,"line_end":799,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":3623879598}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284901,"byte_end":284905,"line_start":800,"line_end":800,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284901,"byte_end":284905,"line_start":800,"line_end":800,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284951,"byte_end":284956,"line_start":801,"line_end":801,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284949,"byte_end":284950,"line_start":801,"line_end":801,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":4060087214}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284990,"byte_end":284999,"line_start":802,"line_end":802,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285000,"byte_end":285008,"line_start":802,"line_end":802,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":436208558}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284976,"byte_end":284984,"line_start":802,"line_end":802,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":436208558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285030,"byte_end":285034,"line_start":803,"line_end":803,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285043,"byte_end":285046,"line_start":803,"line_end":803,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285035,"byte_end":285041,"line_start":803,"line_end":803,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285052,"byte_end":285065,"line_start":803,"line_end":803,"column_start":39,"column_end":52},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285066,"byte_end":285074,"line_start":803,"line_end":803,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":436208558}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285077,"byte_end":285080,"line_start":803,"line_end":803,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2717909934}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285110,"byte_end":285114,"line_start":805,"line_end":805,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285110,"byte_end":285114,"line_start":805,"line_end":805,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285118,"byte_end":285122,"line_start":805,"line_end":805,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285179,"byte_end":285188,"line_start":809,"line_end":809,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285206,"byte_end":285215,"line_start":809,"line_end":809,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285220,"byte_end":285227,"line_start":809,"line_end":809,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285270,"byte_end":285280,"line_start":811,"line_end":811,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285263,"byte_end":285269,"line_start":811,"line_end":811,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613680}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285281,"byte_end":285287,"line_start":811,"line_end":811,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871856}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285288,"byte_end":285299,"line_start":811,"line_end":811,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285301,"byte_end":285305,"line_start":811,"line_end":811,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285316,"byte_end":285327,"line_start":811,"line_end":811,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285351,"byte_end":285355,"line_start":813,"line_end":813,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1476395952}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285356,"byte_end":285359,"line_start":813,"line_end":813,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3662}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285382,"byte_end":285392,"line_start":815,"line_end":815,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285393,"byte_end":285399,"line_start":815,"line_end":815,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871856}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285401,"byte_end":285407,"line_start":815,"line_end":815,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613680}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285423,"byte_end":285425,"line_start":816,"line_end":816,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285423,"byte_end":285425,"line_start":816,"line_end":816,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285456,"byte_end":285457,"line_start":817,"line_end":817,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3556770736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285480,"byte_end":285484,"line_start":818,"line_end":818,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285480,"byte_end":285484,"line_start":818,"line_end":818,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285541,"byte_end":285544,"line_start":819,"line_end":819,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285534,"byte_end":285539,"line_start":819,"line_end":819,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285596,"byte_end":285599,"line_start":821,"line_end":821,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285589,"byte_end":285594,"line_start":821,"line_end":821,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285634,"byte_end":285640,"line_start":823,"line_end":823,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285628,"byte_end":285633,"line_start":823,"line_end":823,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3254780848}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285647,"byte_end":285655,"line_start":823,"line_end":823,"column_start":44,"column_end":52},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285668,"byte_end":285675,"line_start":823,"line_end":823,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285659,"byte_end":285666,"line_start":823,"line_end":823,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285676,"byte_end":285677,"line_start":823,"line_end":823,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2348811184}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285678,"byte_end":285681,"line_start":823,"line_end":823,"column_start":75,"column_end":78},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285715,"byte_end":285721,"line_start":824,"line_end":824,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285709,"byte_end":285714,"line_start":824,"line_end":824,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3254780848}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285728,"byte_end":285736,"line_start":824,"line_end":824,"column_start":44,"column_end":52},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285749,"byte_end":285756,"line_start":824,"line_end":824,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285740,"byte_end":285747,"line_start":824,"line_end":824,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285757,"byte_end":285760,"line_start":824,"line_end":824,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":67109808}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285802,"byte_end":285808,"line_start":825,"line_end":825,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285795,"byte_end":285801,"line_start":825,"line_end":825,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3690988464}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285817,"byte_end":285825,"line_start":825,"line_end":825,"column_start":47,"column_end":55},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285838,"byte_end":285843,"line_start":825,"line_end":825,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285829,"byte_end":285836,"line_start":825,"line_end":825,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285846,"byte_end":285854,"line_start":825,"line_end":825,"column_start":76,"column_end":84},"ref_id":{"krate":0,"index":873}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285844,"byte_end":285845,"line_start":825,"line_end":825,"column_start":74,"column_end":75},"ref_id":{"krate":0,"index":2348811184}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285891,"byte_end":285897,"line_start":826,"line_end":826,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285884,"byte_end":285890,"line_start":826,"line_end":826,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3690988464}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285906,"byte_end":285914,"line_start":826,"line_end":826,"column_start":47,"column_end":55},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285927,"byte_end":285937,"line_start":826,"line_end":826,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285918,"byte_end":285925,"line_start":826,"line_end":826,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285938,"byte_end":285943,"line_start":826,"line_end":826,"column_start":79,"column_end":84},"ref_id":{"krate":0,"index":3254780848}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286005,"byte_end":286015,"line_start":828,"line_end":828,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285996,"byte_end":286003,"line_start":828,"line_end":828,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286016,"byte_end":286022,"line_start":828,"line_end":828,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3690988464}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286067,"byte_end":286071,"line_start":830,"line_end":830,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286067,"byte_end":286071,"line_start":830,"line_end":830,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286132,"byte_end":286142,"line_start":831,"line_end":831,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286125,"byte_end":286131,"line_start":831,"line_end":831,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613680}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286143,"byte_end":286149,"line_start":831,"line_end":831,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871856}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286150,"byte_end":286161,"line_start":831,"line_end":831,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286163,"byte_end":286167,"line_start":831,"line_end":831,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286178,"byte_end":286189,"line_start":831,"line_end":831,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286236,"byte_end":286240,"line_start":833,"line_end":833,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4177527728}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286241,"byte_end":286248,"line_start":833,"line_end":833,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286226,"byte_end":286230,"line_start":833,"line_end":833,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286303,"byte_end":286306,"line_start":834,"line_end":834,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286296,"byte_end":286301,"line_start":834,"line_end":834,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286361,"byte_end":286364,"line_start":835,"line_end":835,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286354,"byte_end":286359,"line_start":835,"line_end":835,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286403,"byte_end":286409,"line_start":837,"line_end":837,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286397,"byte_end":286402,"line_start":837,"line_end":837,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3976201136}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286416,"byte_end":286424,"line_start":837,"line_end":837,"column_start":48,"column_end":56},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286437,"byte_end":286444,"line_start":837,"line_end":837,"column_start":69,"column_end":76},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286428,"byte_end":286435,"line_start":837,"line_end":837,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286451,"byte_end":286456,"line_start":837,"line_end":837,"column_start":83,"column_end":88},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286445,"byte_end":286446,"line_start":837,"line_end":837,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":1157628848}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286447,"byte_end":286450,"line_start":837,"line_end":837,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":3155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286496,"byte_end":286502,"line_start":838,"line_end":838,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286490,"byte_end":286495,"line_start":838,"line_end":838,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3976201136}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286509,"byte_end":286517,"line_start":838,"line_end":838,"column_start":48,"column_end":56},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286530,"byte_end":286537,"line_start":838,"line_end":838,"column_start":69,"column_end":76},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286521,"byte_end":286528,"line_start":838,"line_end":838,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286538,"byte_end":286542,"line_start":838,"line_end":838,"column_start":77,"column_end":81},"ref_id":{"krate":0,"index":4177527728}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286543,"byte_end":286546,"line_start":838,"line_end":838,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3662}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286592,"byte_end":286598,"line_start":839,"line_end":839,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286585,"byte_end":286591,"line_start":839,"line_end":839,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4110418864}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286607,"byte_end":286615,"line_start":839,"line_end":839,"column_start":51,"column_end":59},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286628,"byte_end":286633,"line_start":839,"line_end":839,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286619,"byte_end":286626,"line_start":839,"line_end":839,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286636,"byte_end":286644,"line_start":839,"line_end":839,"column_start":80,"column_end":88},"ref_id":{"krate":0,"index":873}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286634,"byte_end":286635,"line_start":839,"line_end":839,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":1157628848}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286685,"byte_end":286691,"line_start":840,"line_end":840,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286678,"byte_end":286684,"line_start":840,"line_end":840,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4110418864}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286700,"byte_end":286708,"line_start":840,"line_end":840,"column_start":51,"column_end":59},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286721,"byte_end":286731,"line_start":840,"line_end":840,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286712,"byte_end":286719,"line_start":840,"line_end":840,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286732,"byte_end":286737,"line_start":840,"line_end":840,"column_start":83,"column_end":88},"ref_id":{"krate":0,"index":3976201136}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286807,"byte_end":286817,"line_start":842,"line_end":842,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286798,"byte_end":286805,"line_start":842,"line_end":842,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286818,"byte_end":286824,"line_start":842,"line_end":842,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":4110418864}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286896,"byte_end":286900,"line_start":844,"line_end":844,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286887,"byte_end":286894,"line_start":844,"line_end":844,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287020,"byte_end":287023,"line_start":850,"line_end":850,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287020,"byte_end":287023,"line_start":850,"line_end":850,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287058,"byte_end":287062,"line_start":851,"line_end":851,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287049,"byte_end":287056,"line_start":851,"line_end":851,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287133,"byte_end":287142,"line_start":856,"line_end":856,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287153,"byte_end":287162,"line_start":856,"line_end":856,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287167,"byte_end":287173,"line_start":856,"line_end":856,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287181,"byte_end":287189,"line_start":856,"line_end":856,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287236,"byte_end":287245,"line_start":858,"line_end":858,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287229,"byte_end":287235,"line_start":858,"line_end":858,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871857}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287246,"byte_end":287252,"line_start":858,"line_end":858,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613681}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287279,"byte_end":287293,"line_start":860,"line_end":860,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287269,"byte_end":287276,"line_start":860,"line_end":860,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960497}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287315,"byte_end":287317,"line_start":861,"line_end":861,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287351,"byte_end":287353,"line_start":863,"line_end":863,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287365,"byte_end":287372,"line_start":863,"line_end":863,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":287354,"byte_end":287358,"line_start":863,"line_end":863,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":287360,"byte_end":287363,"line_start":863,"line_end":863,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287431,"byte_end":287434,"line_start":868,"line_end":868,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287435,"byte_end":287451,"line_start":868,"line_end":868,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287472,"byte_end":287478,"line_start":868,"line_end":868,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287479,"byte_end":287485,"line_start":868,"line_end":868,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287487,"byte_end":287495,"line_start":868,"line_end":868,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287531,"byte_end":287537,"line_start":869,"line_end":869,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742771}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287538,"byte_end":287545,"line_start":869,"line_end":869,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871859}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287547,"byte_end":287551,"line_start":869,"line_end":869,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287562,"byte_end":287573,"line_start":869,"line_end":869,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3660}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287612,"byte_end":287616,"line_start":871,"line_end":871,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287604,"byte_end":287610,"line_start":871,"line_end":871,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287647,"byte_end":287655,"line_start":872,"line_end":872,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287640,"byte_end":287646,"line_start":872,"line_end":872,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750515}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287677,"byte_end":287683,"line_start":872,"line_end":872,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287665,"byte_end":287674,"line_start":872,"line_end":872,"column_start":34,"column_end":43},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287656,"byte_end":287660,"line_start":872,"line_end":872,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1744831411}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287661,"byte_end":287664,"line_start":872,"line_end":872,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287713,"byte_end":287717,"line_start":873,"line_end":873,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831411}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287718,"byte_end":287725,"line_start":873,"line_end":873,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287703,"byte_end":287707,"line_start":873,"line_end":873,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287747,"byte_end":287755,"line_start":874,"line_end":874,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287740,"byte_end":287746,"line_start":874,"line_end":874,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750515}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287791,"byte_end":287799,"line_start":875,"line_end":875,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287784,"byte_end":287790,"line_start":875,"line_end":875,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750515}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287825,"byte_end":287831,"line_start":875,"line_end":875,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287813,"byte_end":287822,"line_start":875,"line_end":875,"column_start":42,"column_end":51},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287802,"byte_end":287810,"line_start":875,"line_end":875,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":873}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287800,"byte_end":287801,"line_start":875,"line_end":875,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1946158003}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287861,"byte_end":287869,"line_start":877,"line_end":877,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287854,"byte_end":287860,"line_start":877,"line_end":877,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750515}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287885,"byte_end":287887,"line_start":878,"line_end":878,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287888,"byte_end":287894,"line_start":878,"line_end":878,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160750515}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287949,"byte_end":287952,"line_start":882,"line_end":882,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287953,"byte_end":287969,"line_start":882,"line_end":882,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287991,"byte_end":288000,"line_start":882,"line_end":882,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288009,"byte_end":288012,"line_start":882,"line_end":882,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288013,"byte_end":288019,"line_start":882,"line_end":882,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288025,"byte_end":288031,"line_start":882,"line_end":882,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288039,"byte_end":288042,"line_start":882,"line_end":882,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288048,"byte_end":288051,"line_start":882,"line_end":882,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288052,"byte_end":288068,"line_start":882,"line_end":882,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288072,"byte_end":288080,"line_start":882,"line_end":882,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288106,"byte_end":288112,"line_start":884,"line_end":884,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288119,"byte_end":288123,"line_start":884,"line_end":884,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288150,"byte_end":288156,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288164,"byte_end":288168,"line_start":885,"line_end":885,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288186,"byte_end":288189,"line_start":886,"line_end":886,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288181,"byte_end":288185,"line_start":886,"line_end":886,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436404}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288217,"byte_end":288221,"line_start":887,"line_end":887,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436404}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288260,"byte_end":288270,"line_start":888,"line_end":888,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288251,"byte_end":288257,"line_start":888,"line_end":888,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288243,"byte_end":288249,"line_start":888,"line_end":888,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288318,"byte_end":288328,"line_start":889,"line_end":889,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1409287092}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288378,"byte_end":288382,"line_start":890,"line_end":890,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288365,"byte_end":288372,"line_start":890,"line_end":890,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288361,"byte_end":288364,"line_start":890,"line_end":890,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613684}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288373,"byte_end":288376,"line_start":890,"line_end":890,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":4093641652}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288464,"byte_end":288469,"line_start":892,"line_end":892,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":201327540}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288525,"byte_end":288529,"line_start":893,"line_end":893,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288516,"byte_end":288522,"line_start":893,"line_end":893,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288508,"byte_end":288514,"line_start":893,"line_end":893,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288608,"byte_end":288613,"line_start":894,"line_end":894,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288601,"byte_end":288605,"line_start":894,"line_end":894,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288587,"byte_end":288594,"line_start":894,"line_end":894,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288583,"byte_end":288586,"line_start":894,"line_end":894,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613684}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288595,"byte_end":288599,"line_start":894,"line_end":894,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":301990836}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288668,"byte_end":288670,"line_start":895,"line_end":895,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288668,"byte_end":288670,"line_start":895,"line_end":895,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288733,"byte_end":288737,"line_start":896,"line_end":896,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288738,"byte_end":288739,"line_start":896,"line_end":896,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":436208564}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288727,"byte_end":288730,"line_start":896,"line_end":896,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2281702324}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288833,"byte_end":288836,"line_start":898,"line_end":898,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288833,"byte_end":288836,"line_start":898,"line_end":898,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288851,"byte_end":288854,"line_start":898,"line_end":898,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288865,"byte_end":288868,"line_start":898,"line_end":898,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288855,"byte_end":288863,"line_start":898,"line_end":898,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289186,"byte_end":289191,"line_start":905,"line_end":905,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":201327540}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289247,"byte_end":289251,"line_start":906,"line_end":906,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289238,"byte_end":289244,"line_start":906,"line_end":906,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289230,"byte_end":289236,"line_start":906,"line_end":906,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289330,"byte_end":289335,"line_start":907,"line_end":907,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289323,"byte_end":289327,"line_start":907,"line_end":907,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289309,"byte_end":289316,"line_start":907,"line_end":907,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289305,"byte_end":289308,"line_start":907,"line_end":907,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613684}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289317,"byte_end":289321,"line_start":907,"line_end":907,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":1627390900}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289391,"byte_end":289393,"line_start":908,"line_end":908,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289391,"byte_end":289393,"line_start":908,"line_end":908,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289460,"byte_end":289464,"line_start":909,"line_end":909,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289465,"byte_end":289466,"line_start":909,"line_end":909,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":1761608628}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289450,"byte_end":289457,"line_start":909,"line_end":909,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1476395956}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289560,"byte_end":289563,"line_start":911,"line_end":911,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289560,"byte_end":289563,"line_start":911,"line_end":911,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289578,"byte_end":289581,"line_start":911,"line_end":911,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289592,"byte_end":289595,"line_start":911,"line_end":911,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289582,"byte_end":289590,"line_start":911,"line_end":911,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290017,"byte_end":290020,"line_start":925,"line_end":925,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290032,"byte_end":290035,"line_start":925,"line_end":925,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290027,"byte_end":290030,"line_start":925,"line_end":925,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290059,"byte_end":290063,"line_start":926,"line_end":926,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290047,"byte_end":290058,"line_start":926,"line_end":926,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290077,"byte_end":290084,"line_start":926,"line_end":926,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290064,"byte_end":290075,"line_start":926,"line_end":926,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290139,"byte_end":290142,"line_start":930,"line_end":930,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2281702324}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290129,"byte_end":290133,"line_start":930,"line_end":930,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290169,"byte_end":290173,"line_start":931,"line_end":931,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290157,"byte_end":290168,"line_start":931,"line_end":931,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290174,"byte_end":290175,"line_start":931,"line_end":931,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1862271924}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290196,"byte_end":290197,"line_start":932,"line_end":932,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":1862271924}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290234,"byte_end":290237,"line_start":934,"line_end":934,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290248,"byte_end":290251,"line_start":934,"line_end":934,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290238,"byte_end":290246,"line_start":934,"line_end":934,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290331,"byte_end":290334,"line_start":937,"line_end":937,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":23677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290335,"byte_end":290338,"line_start":937,"line_end":937,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3900703668}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290377,"byte_end":290384,"line_start":939,"line_end":939,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":1476395956}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290399,"byte_end":290403,"line_start":940,"line_end":940,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290399,"byte_end":290403,"line_start":940,"line_end":940,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290440,"byte_end":290444,"line_start":941,"line_end":941,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290428,"byte_end":290439,"line_start":941,"line_end":941,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290477,"byte_end":290478,"line_start":942,"line_end":942,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":3833594804}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290482,"byte_end":290486,"line_start":942,"line_end":942,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1149240244}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290524,"byte_end":290530,"line_start":943,"line_end":943,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290512,"byte_end":290523,"line_start":943,"line_end":943,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290560,"byte_end":290566,"line_start":943,"line_end":943,"column_start":65,"column_end":71},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290546,"byte_end":290557,"line_start":943,"line_end":943,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290532,"byte_end":290537,"line_start":943,"line_end":943,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":1551893428}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290587,"byte_end":290591,"line_start":944,"line_end":944,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290600,"byte_end":290603,"line_start":944,"line_end":944,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290592,"byte_end":290598,"line_start":944,"line_end":944,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290604,"byte_end":290609,"line_start":944,"line_end":944,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1551893428}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290618,"byte_end":290621,"line_start":944,"line_end":944,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":3900703668}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290686,"byte_end":290690,"line_start":947,"line_end":947,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290674,"byte_end":290685,"line_start":947,"line_end":947,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290711,"byte_end":290715,"line_start":948,"line_end":948,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290757,"byte_end":290761,"line_start":952,"line_end":952,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290750,"byte_end":290756,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742772}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290762,"byte_end":290778,"line_start":952,"line_end":952,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290793,"byte_end":290796,"line_start":953,"line_end":953,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290813,"byte_end":290818,"line_start":953,"line_end":953,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290798,"byte_end":290811,"line_start":953,"line_end":953,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290835,"byte_end":290836,"line_start":954,"line_end":954,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290851,"byte_end":290858,"line_start":954,"line_end":954,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290838,"byte_end":290849,"line_start":954,"line_end":954,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290872,"byte_end":290880,"line_start":955,"line_end":955,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290900,"byte_end":290904,"line_start":956,"line_end":956,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290911,"byte_end":290914,"line_start":956,"line_end":956,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290906,"byte_end":290909,"line_start":956,"line_end":956,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290938,"byte_end":290949,"line_start":956,"line_end":956,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290952,"byte_end":290955,"line_start":956,"line_end":956,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290952,"byte_end":290955,"line_start":956,"line_end":956,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":3900703668}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290957,"byte_end":290964,"line_start":956,"line_end":956,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290957,"byte_end":290964,"line_start":956,"line_end":956,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":377488308}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291011,"byte_end":291013,"line_start":959,"line_end":959,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291021,"byte_end":291032,"line_start":959,"line_end":959,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3875537844}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291034,"byte_end":291040,"line_start":959,"line_end":959,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742772}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291090,"byte_end":291093,"line_start":963,"line_end":963,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291094,"byte_end":291110,"line_start":963,"line_end":963,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291131,"byte_end":291138,"line_start":963,"line_end":963,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291144,"byte_end":291150,"line_start":963,"line_end":963,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291158,"byte_end":291161,"line_start":963,"line_end":963,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291167,"byte_end":291170,"line_start":963,"line_end":963,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291171,"byte_end":291187,"line_start":963,"line_end":963,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291191,"byte_end":291199,"line_start":963,"line_end":963,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291233,"byte_end":291236,"line_start":965,"line_end":965,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291248,"byte_end":291251,"line_start":965,"line_end":965,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291243,"byte_end":291246,"line_start":965,"line_end":965,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291275,"byte_end":291279,"line_start":966,"line_end":966,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291263,"byte_end":291274,"line_start":966,"line_end":966,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134218677}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291293,"byte_end":291300,"line_start":966,"line_end":966,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291280,"byte_end":291291,"line_start":966,"line_end":966,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291346,"byte_end":291357,"line_start":970,"line_end":970,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871861}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291388,"byte_end":291395,"line_start":971,"line_end":971,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291379,"byte_end":291386,"line_start":971,"line_end":971,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291388,"byte_end":291395,"line_start":971,"line_end":971,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291379,"byte_end":291386,"line_start":971,"line_end":971,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291423,"byte_end":291424,"line_start":972,"line_end":972,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825206197}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291434,"byte_end":291435,"line_start":972,"line_end":972,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3825206197}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291469,"byte_end":291472,"line_start":973,"line_end":973,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291483,"byte_end":291486,"line_start":973,"line_end":973,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291473,"byte_end":291481,"line_start":973,"line_end":973,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291581,"byte_end":291582,"line_start":975,"line_end":975,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3825206197}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291575,"byte_end":291578,"line_start":975,"line_end":975,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":67109813}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291618,"byte_end":291622,"line_start":976,"line_end":976,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291606,"byte_end":291617,"line_start":976,"line_end":976,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291623,"byte_end":291624,"line_start":976,"line_end":976,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":3825206197}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291690,"byte_end":291693,"line_start":979,"line_end":979,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291704,"byte_end":291707,"line_start":979,"line_end":979,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291694,"byte_end":291702,"line_start":979,"line_end":979,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291800,"byte_end":291803,"line_start":983,"line_end":983,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":23677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291804,"byte_end":291807,"line_start":983,"line_end":983,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":67109813}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291846,"byte_end":291857,"line_start":985,"line_end":985,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536871861}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291892,"byte_end":291897,"line_start":986,"line_end":986,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291883,"byte_end":291890,"line_start":986,"line_end":986,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291892,"byte_end":291897,"line_start":986,"line_end":986,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291883,"byte_end":291890,"line_start":986,"line_end":986,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291934,"byte_end":291938,"line_start":987,"line_end":987,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291922,"byte_end":291933,"line_start":987,"line_end":987,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291971,"byte_end":291972,"line_start":988,"line_end":988,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2650801077}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291976,"byte_end":291980,"line_start":988,"line_end":988,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2382365621}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292018,"byte_end":292024,"line_start":989,"line_end":989,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292006,"byte_end":292017,"line_start":989,"line_end":989,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292054,"byte_end":292060,"line_start":989,"line_end":989,"column_start":65,"column_end":71},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292040,"byte_end":292051,"line_start":989,"line_end":989,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292026,"byte_end":292031,"line_start":989,"line_end":989,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":822084533}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292081,"byte_end":292085,"line_start":990,"line_end":990,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292094,"byte_end":292097,"line_start":990,"line_end":990,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292086,"byte_end":292092,"line_start":990,"line_end":990,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292098,"byte_end":292103,"line_start":990,"line_end":990,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":822084533}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292112,"byte_end":292115,"line_start":990,"line_end":990,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":67109813}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292154,"byte_end":292161,"line_start":992,"line_end":992,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292145,"byte_end":292152,"line_start":992,"line_end":992,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292154,"byte_end":292161,"line_start":992,"line_end":992,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292145,"byte_end":292152,"line_start":992,"line_end":992,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292198,"byte_end":292202,"line_start":993,"line_end":993,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292186,"byte_end":292197,"line_start":993,"line_end":993,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292235,"byte_end":292236,"line_start":994,"line_end":994,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1962935221}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292240,"byte_end":292244,"line_start":994,"line_end":994,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2382365621}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292282,"byte_end":292288,"line_start":995,"line_end":995,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292270,"byte_end":292281,"line_start":995,"line_end":995,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292318,"byte_end":292324,"line_start":995,"line_end":995,"column_start":65,"column_end":71},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292304,"byte_end":292315,"line_start":995,"line_end":995,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292290,"byte_end":292295,"line_start":995,"line_end":995,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2197816245}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292345,"byte_end":292349,"line_start":996,"line_end":996,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292358,"byte_end":292361,"line_start":996,"line_end":996,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292350,"byte_end":292356,"line_start":996,"line_end":996,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292362,"byte_end":292367,"line_start":996,"line_end":996,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":2197816245}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292376,"byte_end":292379,"line_start":996,"line_end":996,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":67109813}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292444,"byte_end":292448,"line_start":999,"line_end":999,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292432,"byte_end":292443,"line_start":999,"line_end":999,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218677}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292536,"byte_end":292540,"line_start":1001,"line_end":1001,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292582,"byte_end":292586,"line_start":1005,"line_end":1005,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292575,"byte_end":292581,"line_start":1005,"line_end":1005,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742773}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292587,"byte_end":292603,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292618,"byte_end":292621,"line_start":1006,"line_end":1006,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292638,"byte_end":292643,"line_start":1006,"line_end":1006,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292623,"byte_end":292636,"line_start":1006,"line_end":1006,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292660,"byte_end":292661,"line_start":1007,"line_end":1007,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292676,"byte_end":292683,"line_start":1007,"line_end":1007,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292663,"byte_end":292674,"line_start":1007,"line_end":1007,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292697,"byte_end":292705,"line_start":1008,"line_end":1008,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292725,"byte_end":292729,"line_start":1009,"line_end":1009,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292736,"byte_end":292739,"line_start":1009,"line_end":1009,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292731,"byte_end":292734,"line_start":1009,"line_end":1009,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292763,"byte_end":292774,"line_start":1009,"line_end":1009,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292777,"byte_end":292780,"line_start":1009,"line_end":1009,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292777,"byte_end":292780,"line_start":1009,"line_end":1009,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":67109813}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292782,"byte_end":292789,"line_start":1009,"line_end":1009,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292782,"byte_end":292789,"line_start":1009,"line_end":1009,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4143973301}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292836,"byte_end":292838,"line_start":1012,"line_end":1012,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292846,"byte_end":292857,"line_start":1012,"line_end":1012,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134218677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292859,"byte_end":292865,"line_start":1012,"line_end":1012,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742773}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292919,"byte_end":292922,"line_start":1016,"line_end":1016,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292923,"byte_end":292939,"line_start":1016,"line_end":1016,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292982,"byte_end":292985,"line_start":1016,"line_end":1016,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292986,"byte_end":293002,"line_start":1016,"line_end":1016,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293025,"byte_end":293030,"line_start":1017,"line_end":1017,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1610613686}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293031,"byte_end":293038,"line_start":1017,"line_end":1017,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":536871862}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293071,"byte_end":293076,"line_start":1019,"line_end":1019,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610613686}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293077,"byte_end":293084,"line_start":1019,"line_end":1019,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536871862}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293109,"byte_end":293113,"line_start":1020,"line_end":1020,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293164,"byte_end":293175,"line_start":1022,"line_end":1022,"column_start":34,"column_end":45},"ref_id":{"krate":1,"index":23695}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293197,"byte_end":293212,"line_start":1023,"line_end":1023,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293191,"byte_end":293196,"line_start":1023,"line_end":1023,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2751464374}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293214,"byte_end":293219,"line_start":1023,"line_end":1023,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1610613686}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293220,"byte_end":293247,"line_start":1023,"line_end":1023,"column_start":42,"column_end":69},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293220,"byte_end":293233,"line_start":1023,"line_end":1023,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293221,"byte_end":293228,"line_start":1023,"line_end":1023,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536871862}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293235,"byte_end":293247,"line_start":1023,"line_end":1023,"column_start":57,"column_end":69},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293235,"byte_end":293242,"line_start":1023,"line_end":1023,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":536871862}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293280,"byte_end":293293,"line_start":1024,"line_end":1024,"column_start":30,"column_end":43},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293294,"byte_end":293299,"line_start":1024,"line_end":1024,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":2751464374}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293314,"byte_end":293318,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293327,"byte_end":293330,"line_start":1025,"line_end":1025,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":875}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293319,"byte_end":293325,"line_start":1025,"line_end":1025,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293331,"byte_end":293336,"line_start":1025,"line_end":1025,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3254780854}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293338,"byte_end":293341,"line_start":1025,"line_end":1025,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":134218678}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293371,"byte_end":293375,"line_start":1028,"line_end":1028,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293364,"byte_end":293370,"line_start":1028,"line_end":1028,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742774}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293376,"byte_end":293392,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293407,"byte_end":293410,"line_start":1029,"line_end":1029,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293427,"byte_end":293432,"line_start":1029,"line_end":1029,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293412,"byte_end":293425,"line_start":1029,"line_end":1029,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293449,"byte_end":293450,"line_start":1030,"line_end":1030,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293465,"byte_end":293472,"line_start":1030,"line_end":1030,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293452,"byte_end":293463,"line_start":1030,"line_end":1030,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293486,"byte_end":293494,"line_start":1031,"line_end":1031,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293514,"byte_end":293518,"line_start":1032,"line_end":1032,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293525,"byte_end":293528,"line_start":1032,"line_end":1032,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293520,"byte_end":293523,"line_start":1032,"line_end":1032,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293552,"byte_end":293563,"line_start":1032,"line_end":1032,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293566,"byte_end":293569,"line_start":1032,"line_end":1032,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293566,"byte_end":293569,"line_start":1032,"line_end":1032,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":134218678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293571,"byte_end":293578,"line_start":1032,"line_end":1032,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293571,"byte_end":293578,"line_start":1032,"line_end":1032,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":704644022}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293625,"byte_end":293631,"line_start":1035,"line_end":1035,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742774}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57423,"byte_end":57427,"line_start":21,"line_end":21,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":951}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296659,"byte_end":296662,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296659,"byte_end":296662,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296685,"byte_end":296691,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":2458}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2745}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296753,"byte_end":296758,"line_start":22,"line_end":22,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296778,"byte_end":296783,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296786,"byte_end":296790,"line_start":23,"line_end":23,"column_start":13,"column_end":17},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296778,"byte_end":296783,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296797,"byte_end":296800,"line_start":23,"line_end":23,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":296812,"byte_end":296817,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2748}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296819,"byte_end":296824,"line_start":24,"line_end":24,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296841,"byte_end":296846,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296848,"byte_end":296857,"line_start":25,"line_end":25,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296841,"byte_end":296846,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296848,"byte_end":296857,"line_start":25,"line_end":25,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296881,"byte_end":296886,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296888,"byte_end":296894,"line_start":26,"line_end":26,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296923,"byte_end":296930,"line_start":27,"line_end":27,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296942,"byte_end":296947,"line_start":27,"line_end":27,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296959,"byte_end":296964,"line_start":27,"line_end":27,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296979,"byte_end":296983,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296986,"byte_end":296989,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296979,"byte_end":296983,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296986,"byte_end":296989,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297017,"byte_end":297022,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297024,"byte_end":297030,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297044,"byte_end":297049,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297051,"byte_end":297056,"line_start":31,"line_end":31,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297067,"byte_end":297072,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297074,"byte_end":297080,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297096,"byte_end":297101,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297103,"byte_end":297109,"line_start":33,"line_end":33,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297125,"byte_end":297130,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297125,"byte_end":297130,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1718}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297360,"line_start":45,"line_end":45,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297423,"byte_end":297430,"line_start":49,"line_end":49,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297822,"byte_end":297829,"line_start":60,"line_end":60,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3162}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297860,"byte_end":297863,"line_start":61,"line_end":61,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2738}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297854,"byte_end":297858,"line_start":61,"line_end":61,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297864,"byte_end":297875,"line_start":61,"line_end":61,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":536871950}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297952,"byte_end":297963,"line_start":65,"line_end":65,"column_start":33,"column_end":44},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297945,"byte_end":297951,"line_start":65,"line_end":65,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742862}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297985,"byte_end":297996,"line_start":67,"line_end":67,"column_start":18,"column_end":29},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297985,"byte_end":297986,"line_start":67,"line_end":67,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297988,"byte_end":297996,"line_start":67,"line_end":67,"column_start":21,"column_end":29},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297991,"byte_end":297994,"line_start":67,"line_end":67,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297988,"byte_end":297990,"line_start":67,"line_end":67,"column_start":21,"column_end":23},"ref_id":{"krate":0,"index":1476396046}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298014,"byte_end":298015,"line_start":68,"line_end":68,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1409287182}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298046,"byte_end":298056,"line_start":69,"line_end":69,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2214593550}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298057,"byte_end":298058,"line_start":69,"line_end":69,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1409287182}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298038,"byte_end":298040,"line_start":69,"line_end":69,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":1476396046}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298041,"byte_end":298042,"line_start":69,"line_end":69,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1409287182}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298114,"byte_end":298123,"line_start":71,"line_end":71,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2740}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298110,"byte_end":298113,"line_start":71,"line_end":71,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":1879049230}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298102,"byte_end":298104,"line_start":71,"line_end":71,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":1476396046}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298105,"byte_end":298106,"line_start":71,"line_end":71,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1409287182}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298172,"byte_end":298179,"line_start":75,"line_end":75,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298194,"byte_end":298199,"line_start":76,"line_end":76,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298201,"byte_end":298203,"line_start":76,"line_end":76,"column_start":20,"column_end":22},"ref_id":{"krate":0,"index":1476396046}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298554,"byte_end":298556,"line_start":83,"line_end":83,"column_start":81,"column_end":83},"ref_id":{"krate":1,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298551,"byte_end":298552,"line_start":83,"line_end":83,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":1042}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298531,"byte_end":298532,"line_start":83,"line_end":83,"column_start":58,"column_end":59},"ref_id":{"krate":0,"index":1042}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298537,"byte_end":298544,"line_start":83,"line_end":83,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":3162}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298641,"byte_end":298652,"line_start":87,"line_end":87,"column_start":33,"column_end":44},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298634,"byte_end":298640,"line_start":87,"line_end":87,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742865}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298674,"byte_end":298685,"line_start":89,"line_end":89,"column_start":18,"column_end":29},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298674,"byte_end":298675,"line_start":89,"line_end":89,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298677,"byte_end":298685,"line_start":89,"line_end":89,"column_start":21,"column_end":29},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298680,"byte_end":298683,"line_start":89,"line_end":89,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298677,"byte_end":298679,"line_start":89,"line_end":89,"column_start":21,"column_end":23},"ref_id":{"krate":0,"index":134218769}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298703,"byte_end":298704,"line_start":90,"line_end":90,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":67109905}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298735,"byte_end":298745,"line_start":91,"line_end":91,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3892315153}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298746,"byte_end":298747,"line_start":91,"line_end":91,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":67109905}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298727,"byte_end":298729,"line_start":91,"line_end":91,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":134218769}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298730,"byte_end":298731,"line_start":91,"line_end":91,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":67109905}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298799,"byte_end":298808,"line_start":93,"line_end":93,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":536871953}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298791,"byte_end":298793,"line_start":93,"line_end":93,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":134218769}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298794,"byte_end":298795,"line_start":93,"line_end":93,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":67109905}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298845,"byte_end":298852,"line_start":97,"line_end":97,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298867,"byte_end":298872,"line_start":98,"line_end":98,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298874,"byte_end":298876,"line_start":98,"line_end":98,"column_start":20,"column_end":22},"ref_id":{"krate":0,"index":134218769}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299073,"byte_end":299082,"line_start":105,"line_end":105,"column_start":49,"column_end":58},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299065,"byte_end":299069,"line_start":105,"line_end":105,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":7958}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299058,"byte_end":299062,"line_start":105,"line_end":105,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299047,"byte_end":299051,"line_start":105,"line_end":105,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073742869}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299052,"byte_end":299057,"line_start":105,"line_end":105,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299120,"byte_end":299121,"line_start":106,"line_end":106,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1476396053}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299099,"byte_end":299109,"line_start":106,"line_end":106,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1879049237}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299110,"byte_end":299111,"line_start":106,"line_end":106,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2550137877}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299146,"byte_end":299159,"line_start":108,"line_end":108,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299160,"byte_end":299170,"line_start":108,"line_end":108,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1879049237}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299290,"byte_end":299294,"line_start":113,"line_end":113,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073742872}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299295,"byte_end":299300,"line_start":113,"line_end":113,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299301,"byte_end":299304,"line_start":113,"line_end":113,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":37891}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299301,"byte_end":299302,"line_start":113,"line_end":113,"column_start":33,"column_end":34},"ref_id":{"krate":1,"index":37893}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299456,"byte_end":299462,"line_start":118,"line_end":118,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299489,"byte_end":299495,"line_start":119,"line_end":119,"column_start":25,"column_end":31},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299501,"byte_end":299509,"line_start":119,"line_end":119,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299651,"byte_end":299660,"line_start":124,"line_end":124,"column_start":41,"column_end":50},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299644,"byte_end":299648,"line_start":124,"line_end":124,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299633,"byte_end":299637,"line_start":124,"line_end":124,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073742875}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299638,"byte_end":299643,"line_start":124,"line_end":124,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299680,"byte_end":299681,"line_start":125,"line_end":125,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1409287195}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299726,"byte_end":299727,"line_start":126,"line_end":126,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":3556770843}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299704,"byte_end":299714,"line_start":126,"line_end":126,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1744831515}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299715,"byte_end":299716,"line_start":126,"line_end":126,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1409287195}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299783,"byte_end":299784,"line_start":128,"line_end":128,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":3556770843}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299766,"byte_end":299776,"line_start":128,"line_end":128,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1140851739}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299777,"byte_end":299778,"line_start":128,"line_end":128,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1409287195}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299826,"byte_end":299834,"line_start":132,"line_end":132,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299819,"byte_end":299825,"line_start":132,"line_end":132,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178331}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299882,"byte_end":299888,"line_start":132,"line_end":132,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299835,"byte_end":299844,"line_start":132,"line_end":132,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2748}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299851,"byte_end":299864,"line_start":132,"line_end":132,"column_start":41,"column_end":54},"ref_id":{"krate":1,"index":24423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299865,"byte_end":299875,"line_start":132,"line_end":132,"column_start":55,"column_end":65},"ref_id":{"krate":0,"index":1744831515}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299908,"byte_end":299916,"line_start":133,"line_end":133,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299901,"byte_end":299907,"line_start":133,"line_end":133,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178331}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299964,"byte_end":299970,"line_start":133,"line_end":133,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299917,"byte_end":299926,"line_start":133,"line_end":133,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2748}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299933,"byte_end":299946,"line_start":133,"line_end":133,"column_start":41,"column_end":54},"ref_id":{"krate":1,"index":24423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299947,"byte_end":299957,"line_start":133,"line_end":133,"column_start":55,"column_end":65},"ref_id":{"krate":0,"index":1140851739}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299984,"byte_end":299990,"line_start":135,"line_end":135,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178331}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300057,"byte_end":300062,"line_start":139,"line_end":139,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300076,"byte_end":300077,"line_start":139,"line_end":139,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":1057}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300149,"byte_end":300160,"line_start":140,"line_end":140,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24417}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300114,"byte_end":300125,"line_start":140,"line_end":140,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2745}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300133,"byte_end":300139,"line_start":140,"line_end":140,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300127,"byte_end":300132,"line_start":140,"line_end":140,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073742880}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300142,"byte_end":300146,"line_start":140,"line_end":140,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":37912}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300144,"byte_end":300146,"line_start":140,"line_end":140,"column_start":56,"column_end":58},"ref_id":{"krate":1,"index":37914}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300224,"byte_end":300235,"line_start":141,"line_end":141,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24417}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300189,"byte_end":300200,"line_start":141,"line_end":141,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2745}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300208,"byte_end":300214,"line_start":141,"line_end":141,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300202,"byte_end":300207,"line_start":141,"line_end":141,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073742880}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300217,"byte_end":300221,"line_start":141,"line_end":141,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":37891}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300217,"byte_end":300219,"line_start":141,"line_end":141,"column_start":54,"column_end":56},"ref_id":{"krate":1,"index":37893}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300265,"byte_end":300272,"line_start":143,"line_end":143,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300275,"byte_end":300280,"line_start":143,"line_end":143,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300311,"byte_end":300316,"line_start":145,"line_end":145,"column_start":18,"column_end":23},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300311,"byte_end":300312,"line_start":145,"line_end":145,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300314,"byte_end":300316,"line_start":145,"line_end":145,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300334,"byte_end":300335,"line_start":146,"line_end":146,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":738198560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300376,"byte_end":300386,"line_start":147,"line_end":147,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3355444256}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300387,"byte_end":300388,"line_start":147,"line_end":147,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":738198560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300358,"byte_end":300364,"line_start":147,"line_end":147,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1946158112}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300365,"byte_end":300370,"line_start":147,"line_end":147,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300371,"byte_end":300372,"line_start":147,"line_end":147,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":738198560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300451,"byte_end":300461,"line_start":149,"line_end":149,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":603980832}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300462,"byte_end":300463,"line_start":149,"line_end":149,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":738198560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300433,"byte_end":300439,"line_start":149,"line_end":149,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1946158112}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300440,"byte_end":300445,"line_start":149,"line_end":149,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300446,"byte_end":300447,"line_start":149,"line_end":149,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":738198560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300499,"byte_end":300505,"line_start":153,"line_end":153,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1946158112}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300522,"byte_end":300529,"line_start":159,"line_end":159,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300580,"byte_end":300587,"line_start":161,"line_end":161,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300590,"byte_end":300595,"line_start":161,"line_end":161,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300623,"byte_end":300628,"line_start":165,"line_end":165,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300669,"byte_end":300678,"line_start":166,"line_end":166,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300698,"byte_end":300704,"line_start":166,"line_end":166,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":300687,"byte_end":300691,"line_start":166,"line_end":166,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":300693,"byte_end":300696,"line_start":166,"line_end":166,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300722,"byte_end":300723,"line_start":167,"line_end":167,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536871975}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300736,"byte_end":300745,"line_start":167,"line_end":167,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1051}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300731,"byte_end":300735,"line_start":167,"line_end":167,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742887}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300771,"byte_end":300780,"line_start":171,"line_end":171,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300881,"byte_end":300886,"line_start":172,"line_end":172,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300835,"byte_end":300851,"line_start":172,"line_end":172,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300856,"byte_end":300862,"line_start":172,"line_end":172,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300897,"byte_end":300901,"line_start":173,"line_end":173,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300908,"byte_end":300915,"line_start":173,"line_end":173,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300956,"byte_end":300965,"line_start":176,"line_end":176,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300977,"byte_end":300986,"line_start":176,"line_end":176,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300991,"byte_end":300997,"line_start":176,"line_end":176,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301014,"byte_end":301018,"line_start":177,"line_end":177,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301019,"byte_end":301026,"line_start":177,"line_end":177,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301029,"byte_end":301034,"line_start":177,"line_end":177,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301087,"byte_end":301096,"line_start":180,"line_end":180,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301108,"byte_end":301117,"line_start":180,"line_end":180,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301122,"byte_end":301128,"line_start":180,"line_end":180,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301145,"byte_end":301149,"line_start":181,"line_end":181,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301150,"byte_end":301157,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301160,"byte_end":301165,"line_start":181,"line_end":181,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3163}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301201,"byte_end":301209,"line_start":185,"line_end":185,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301269,"byte_end":301280,"line_start":188,"line_end":188,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301306,"byte_end":301310,"line_start":188,"line_end":188,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301293,"byte_end":301304,"line_start":188,"line_end":188,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301359,"byte_end":301370,"line_start":189,"line_end":189,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301396,"byte_end":301400,"line_start":189,"line_end":189,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301383,"byte_end":301394,"line_start":189,"line_end":189,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301437,"byte_end":301440,"line_start":191,"line_end":191,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301441,"byte_end":301457,"line_start":191,"line_end":191,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301479,"byte_end":301485,"line_start":191,"line_end":191,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301486,"byte_end":301493,"line_start":191,"line_end":191,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301495,"byte_end":301503,"line_start":191,"line_end":191,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301544,"byte_end":301547,"line_start":192,"line_end":192,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301537,"byte_end":301542,"line_start":192,"line_end":192,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301571,"byte_end":301577,"line_start":193,"line_end":193,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301559,"byte_end":301570,"line_start":193,"line_end":193,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307443}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301585,"byte_end":301593,"line_start":193,"line_end":193,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301606,"byte_end":301612,"line_start":193,"line_end":193,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301597,"byte_end":301604,"line_start":193,"line_end":193,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301632,"byte_end":301641,"line_start":193,"line_end":193,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301619,"byte_end":301627,"line_start":193,"line_end":193,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301656,"byte_end":301658,"line_start":195,"line_end":195,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301668,"byte_end":301678,"line_start":195,"line_end":195,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301659,"byte_end":301666,"line_start":195,"line_end":195,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301679,"byte_end":301690,"line_start":195,"line_end":195,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307443}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301870,"byte_end":301875,"line_start":198,"line_end":198,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301769,"byte_end":301778,"line_start":198,"line_end":198,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301794,"byte_end":301803,"line_start":198,"line_end":198,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301813,"byte_end":301816,"line_start":198,"line_end":198,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301817,"byte_end":301824,"line_start":198,"line_end":198,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301830,"byte_end":301836,"line_start":198,"line_end":198,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301841,"byte_end":301849,"line_start":198,"line_end":198,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301895,"byte_end":301900,"line_start":199,"line_end":199,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178356}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301924,"byte_end":301930,"line_start":200,"line_end":200,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301915,"byte_end":301922,"line_start":200,"line_end":200,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301924,"byte_end":301930,"line_start":200,"line_end":200,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301915,"byte_end":301922,"line_start":200,"line_end":200,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301965,"byte_end":301974,"line_start":201,"line_end":201,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301975,"byte_end":301981,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613812}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301983,"byte_end":301989,"line_start":201,"line_end":201,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436532}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302000,"byte_end":302011,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1056}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301991,"byte_end":301998,"line_start":201,"line_end":201,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302013,"byte_end":302018,"line_start":201,"line_end":201,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1207960628}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302077,"byte_end":302079,"line_start":206,"line_end":206,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302122,"byte_end":302125,"line_start":209,"line_end":209,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302126,"byte_end":302142,"line_start":209,"line_end":209,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302164,"byte_end":302170,"line_start":209,"line_end":209,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302171,"byte_end":302177,"line_start":209,"line_end":209,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302179,"byte_end":302187,"line_start":209,"line_end":209,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302199,"byte_end":302201,"line_start":210,"line_end":210,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302210,"byte_end":302214,"line_start":210,"line_end":210,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302202,"byte_end":302208,"line_start":210,"line_end":210,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302267,"byte_end":302270,"line_start":213,"line_end":213,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302271,"byte_end":302287,"line_start":213,"line_end":213,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302310,"byte_end":302319,"line_start":213,"line_end":213,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302329,"byte_end":302332,"line_start":213,"line_end":213,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302333,"byte_end":302339,"line_start":213,"line_end":213,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302345,"byte_end":302351,"line_start":213,"line_end":213,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302359,"byte_end":302362,"line_start":213,"line_end":213,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302368,"byte_end":302371,"line_start":213,"line_end":213,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302372,"byte_end":302388,"line_start":213,"line_end":213,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302392,"byte_end":302400,"line_start":213,"line_end":213,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302418,"byte_end":302437,"line_start":214,"line_end":214,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302438,"byte_end":302444,"line_start":214,"line_end":214,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742903}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302452,"byte_end":302455,"line_start":214,"line_end":214,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302447,"byte_end":302450,"line_start":214,"line_end":214,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302465,"byte_end":302469,"line_start":214,"line_end":214,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302456,"byte_end":302463,"line_start":214,"line_end":214,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302610,"byte_end":302615,"line_start":217,"line_end":217,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302511,"byte_end":302520,"line_start":217,"line_end":217,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302536,"byte_end":302545,"line_start":217,"line_end":217,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302563,"byte_end":302569,"line_start":217,"line_end":217,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302570,"byte_end":302579,"line_start":217,"line_end":217,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302581,"byte_end":302589,"line_start":217,"line_end":217,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302636,"byte_end":302645,"line_start":218,"line_end":218,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302626,"byte_end":302634,"line_start":218,"line_end":218,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":1035}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302646,"byte_end":302652,"line_start":218,"line_end":218,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1073742904}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302654,"byte_end":302660,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536871992}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302663,"byte_end":302668,"line_start":218,"line_end":218,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610613816}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302788,"byte_end":302793,"line_start":221,"line_end":221,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302704,"byte_end":302713,"line_start":221,"line_end":221,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302731,"byte_end":302740,"line_start":221,"line_end":221,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302745,"byte_end":302751,"line_start":221,"line_end":221,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302752,"byte_end":302758,"line_start":221,"line_end":221,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302766,"byte_end":302774,"line_start":221,"line_end":221,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302820,"byte_end":302830,"line_start":222,"line_end":222,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302810,"byte_end":302818,"line_start":222,"line_end":222,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1035}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302831,"byte_end":302837,"line_start":222,"line_end":222,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742906}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302839,"byte_end":302845,"line_start":222,"line_end":222,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871994}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302862,"byte_end":302866,"line_start":223,"line_end":223,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302862,"byte_end":302866,"line_start":223,"line_end":223,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302875,"byte_end":302877,"line_start":223,"line_end":223,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302878,"byte_end":302882,"line_start":223,"line_end":223,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302885,"byte_end":302890,"line_start":223,"line_end":223,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302883,"byte_end":302884,"line_start":223,"line_end":223,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":67109946}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302910,"byte_end":302914,"line_start":224,"line_end":224,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302910,"byte_end":302914,"line_start":224,"line_end":224,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302918,"byte_end":302920,"line_start":224,"line_end":224,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302921,"byte_end":302925,"line_start":224,"line_end":224,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303009,"byte_end":303012,"line_start":228,"line_end":228,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303013,"byte_end":303029,"line_start":228,"line_end":228,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303035,"byte_end":303041,"line_start":228,"line_end":228,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303058,"byte_end":303062,"line_start":229,"line_end":229,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303108,"byte_end":303117,"line_start":232,"line_end":232,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303135,"byte_end":303144,"line_start":232,"line_end":232,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303149,"byte_end":303156,"line_start":232,"line_end":232,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303180,"byte_end":303190,"line_start":234,"line_end":234,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303191,"byte_end":303197,"line_start":234,"line_end":234,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871996}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303199,"byte_end":303205,"line_start":234,"line_end":234,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613820}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303221,"byte_end":303223,"line_start":235,"line_end":235,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303221,"byte_end":303223,"line_start":235,"line_end":235,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303254,"byte_end":303255,"line_start":236,"line_end":236,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702460}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303278,"byte_end":303282,"line_start":237,"line_end":237,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303278,"byte_end":303282,"line_start":237,"line_end":237,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303324,"byte_end":303330,"line_start":238,"line_end":238,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303315,"byte_end":303322,"line_start":238,"line_end":238,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303333,"byte_end":303342,"line_start":238,"line_end":238,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1051}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303331,"byte_end":303332,"line_start":238,"line_end":238,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3892315196}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303389,"byte_end":303393,"line_start":240,"line_end":240,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303389,"byte_end":303393,"line_start":240,"line_end":240,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303432,"byte_end":303436,"line_start":241,"line_end":241,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303423,"byte_end":303430,"line_start":241,"line_end":241,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303504,"byte_end":303507,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303504,"byte_end":303507,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303542,"byte_end":303546,"line_start":246,"line_end":246,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303533,"byte_end":303540,"line_start":246,"line_end":246,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303617,"byte_end":303626,"line_start":251,"line_end":251,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303637,"byte_end":303646,"line_start":251,"line_end":251,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303651,"byte_end":303657,"line_start":251,"line_end":251,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303665,"byte_end":303673,"line_start":251,"line_end":251,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303712,"byte_end":303721,"line_start":253,"line_end":253,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303705,"byte_end":303711,"line_start":253,"line_end":253,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871997}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303722,"byte_end":303728,"line_start":253,"line_end":253,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613821}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303755,"byte_end":303769,"line_start":255,"line_end":255,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303745,"byte_end":303752,"line_start":255,"line_end":255,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960637}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303791,"byte_end":303793,"line_start":256,"line_end":256,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303827,"byte_end":303829,"line_start":258,"line_end":258,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303890,"byte_end":303893,"line_start":262,"line_end":262,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303894,"byte_end":303910,"line_start":262,"line_end":262,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303928,"byte_end":303931,"line_start":262,"line_end":262,"column_start":78,"column_end":81},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303932,"byte_end":303939,"line_start":262,"line_end":262,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303945,"byte_end":303951,"line_start":262,"line_end":262,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303959,"byte_end":303962,"line_start":262,"line_end":262,"column_start":109,"column_end":112},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303968,"byte_end":303971,"line_start":262,"line_end":262,"column_start":118,"column_end":121},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303972,"byte_end":303988,"line_start":262,"line_end":262,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303992,"byte_end":304000,"line_start":262,"line_end":262,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304035,"byte_end":304038,"line_start":264,"line_end":264,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304050,"byte_end":304053,"line_start":264,"line_end":264,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304045,"byte_end":304048,"line_start":264,"line_end":264,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304078,"byte_end":304082,"line_start":265,"line_end":265,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304065,"byte_end":304077,"line_start":265,"line_end":265,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134218815}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304096,"byte_end":304100,"line_start":265,"line_end":265,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304083,"byte_end":304094,"line_start":265,"line_end":265,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304124,"byte_end":304128,"line_start":266,"line_end":266,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304117,"byte_end":304123,"line_start":266,"line_end":266,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742911}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304129,"byte_end":304145,"line_start":266,"line_end":266,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304160,"byte_end":304163,"line_start":267,"line_end":267,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304180,"byte_end":304185,"line_start":267,"line_end":267,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304165,"byte_end":304178,"line_start":267,"line_end":267,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304203,"byte_end":304204,"line_start":268,"line_end":268,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304219,"byte_end":304223,"line_start":268,"line_end":268,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304206,"byte_end":304217,"line_start":268,"line_end":268,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304237,"byte_end":304245,"line_start":269,"line_end":269,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304265,"byte_end":304269,"line_start":270,"line_end":270,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304276,"byte_end":304279,"line_start":270,"line_end":270,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304271,"byte_end":304274,"line_start":270,"line_end":270,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304280,"byte_end":304284,"line_start":270,"line_end":270,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304315,"byte_end":304317,"line_start":272,"line_end":272,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304325,"byte_end":304337,"line_start":272,"line_end":272,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":134218815}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304339,"byte_end":304345,"line_start":272,"line_end":272,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073742911}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304398,"byte_end":304401,"line_start":278,"line_end":278,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304402,"byte_end":304418,"line_start":278,"line_end":278,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304463,"byte_end":304466,"line_start":278,"line_end":278,"column_start":106,"column_end":109},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304467,"byte_end":304483,"line_start":278,"line_end":278,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304503,"byte_end":304507,"line_start":279,"line_end":279,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304496,"byte_end":304502,"line_start":279,"line_end":279,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304508,"byte_end":304524,"line_start":279,"line_end":279,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304539,"byte_end":304542,"line_start":280,"line_end":280,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304559,"byte_end":304564,"line_start":280,"line_end":280,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304544,"byte_end":304557,"line_start":280,"line_end":280,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304582,"byte_end":304583,"line_start":281,"line_end":281,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304598,"byte_end":304602,"line_start":281,"line_end":281,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304585,"byte_end":304596,"line_start":281,"line_end":281,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304616,"byte_end":304624,"line_start":282,"line_end":282,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304644,"byte_end":304648,"line_start":283,"line_end":283,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304655,"byte_end":304658,"line_start":283,"line_end":283,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304650,"byte_end":304653,"line_start":283,"line_end":283,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304659,"byte_end":304663,"line_start":283,"line_end":283,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304694,"byte_end":304700,"line_start":285,"line_end":285,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304749,"byte_end":304756,"line_start":291,"line_end":291,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304726,"byte_end":304735,"line_start":291,"line_end":291,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304837,"byte_end":304842,"line_start":292,"line_end":292,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304791,"byte_end":304807,"line_start":292,"line_end":292,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304812,"byte_end":304818,"line_start":292,"line_end":292,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304853,"byte_end":304857,"line_start":293,"line_end":293,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304894,"byte_end":304903,"line_start":295,"line_end":295,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304915,"byte_end":304924,"line_start":295,"line_end":295,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304929,"byte_end":304935,"line_start":295,"line_end":295,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304952,"byte_end":304956,"line_start":296,"line_end":296,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304994,"byte_end":305003,"line_start":299,"line_end":299,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305015,"byte_end":305024,"line_start":299,"line_end":299,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305029,"byte_end":305035,"line_start":299,"line_end":299,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305052,"byte_end":305056,"line_start":300,"line_end":300,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305102,"byte_end":305109,"line_start":305,"line_end":305,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305080,"byte_end":305088,"line_start":305,"line_end":305,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305148,"byte_end":305159,"line_start":307,"line_end":307,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305172,"byte_end":305180,"line_start":307,"line_end":307,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305163,"byte_end":305170,"line_start":307,"line_end":307,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305230,"byte_end":305241,"line_start":308,"line_end":308,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305264,"byte_end":305277,"line_start":308,"line_end":308,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":1726}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305254,"byte_end":305261,"line_start":308,"line_end":308,"column_start":70,"column_end":77},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305245,"byte_end":305252,"line_start":308,"line_end":308,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305315,"byte_end":305318,"line_start":310,"line_end":310,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305319,"byte_end":305335,"line_start":310,"line_end":310,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305357,"byte_end":305363,"line_start":310,"line_end":310,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305364,"byte_end":305371,"line_start":310,"line_end":310,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305373,"byte_end":305381,"line_start":310,"line_end":310,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305402,"byte_end":305416,"line_start":311,"line_end":311,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305393,"byte_end":305400,"line_start":311,"line_end":311,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305417,"byte_end":305424,"line_start":311,"line_end":311,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1073742922}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305426,"byte_end":305434,"line_start":311,"line_end":311,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":536872010}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305616,"byte_end":305621,"line_start":314,"line_end":314,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305513,"byte_end":305522,"line_start":314,"line_end":314,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305539,"byte_end":305548,"line_start":314,"line_end":314,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305559,"byte_end":305562,"line_start":314,"line_end":314,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305563,"byte_end":305570,"line_start":314,"line_end":314,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305576,"byte_end":305582,"line_start":314,"line_end":314,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305587,"byte_end":305595,"line_start":314,"line_end":314,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305633,"byte_end":305635,"line_start":316,"line_end":316,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305678,"byte_end":305681,"line_start":319,"line_end":319,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305682,"byte_end":305698,"line_start":319,"line_end":319,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305720,"byte_end":305726,"line_start":319,"line_end":319,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305727,"byte_end":305733,"line_start":319,"line_end":319,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305735,"byte_end":305743,"line_start":319,"line_end":319,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305755,"byte_end":305757,"line_start":320,"line_end":320,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305766,"byte_end":305770,"line_start":320,"line_end":320,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305758,"byte_end":305764,"line_start":320,"line_end":320,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305823,"byte_end":305826,"line_start":323,"line_end":323,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305827,"byte_end":305843,"line_start":323,"line_end":323,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305866,"byte_end":305875,"line_start":323,"line_end":323,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305885,"byte_end":305888,"line_start":323,"line_end":323,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305889,"byte_end":305895,"line_start":323,"line_end":323,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305901,"byte_end":305907,"line_start":323,"line_end":323,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305915,"byte_end":305918,"line_start":323,"line_end":323,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305924,"byte_end":305927,"line_start":323,"line_end":323,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305928,"byte_end":305944,"line_start":323,"line_end":323,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305948,"byte_end":305956,"line_start":323,"line_end":323,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305974,"byte_end":305993,"line_start":324,"line_end":324,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305994,"byte_end":306000,"line_start":324,"line_end":324,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742926}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306008,"byte_end":306011,"line_start":324,"line_end":324,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306003,"byte_end":306006,"line_start":324,"line_end":324,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306021,"byte_end":306025,"line_start":324,"line_end":324,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306012,"byte_end":306019,"line_start":324,"line_end":324,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306165,"byte_end":306170,"line_start":327,"line_end":327,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306066,"byte_end":306075,"line_start":327,"line_end":327,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306091,"byte_end":306100,"line_start":327,"line_end":327,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306118,"byte_end":306124,"line_start":327,"line_end":327,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306125,"byte_end":306134,"line_start":327,"line_end":327,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306136,"byte_end":306144,"line_start":327,"line_end":327,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306207,"byte_end":306216,"line_start":328,"line_end":328,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306200,"byte_end":306206,"line_start":328,"line_end":328,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742927}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306217,"byte_end":306223,"line_start":328,"line_end":328,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872015}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306271,"byte_end":306285,"line_start":330,"line_end":330,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306261,"byte_end":306268,"line_start":330,"line_end":330,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960655}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306310,"byte_end":306323,"line_start":332,"line_end":332,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008847}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306382,"byte_end":306387,"line_start":333,"line_end":333,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610613839}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306388,"byte_end":306393,"line_start":333,"line_end":333,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3163}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306432,"byte_end":306443,"line_start":334,"line_end":334,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306425,"byte_end":306431,"line_start":334,"line_end":334,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872015}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306520,"byte_end":306534,"line_start":337,"line_end":337,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306520,"byte_end":306521,"line_start":337,"line_end":337,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306523,"byte_end":306534,"line_start":337,"line_end":337,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306529,"byte_end":306532,"line_start":337,"line_end":337,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306523,"byte_end":306528,"line_start":337,"line_end":337,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":335545423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306586,"byte_end":306591,"line_start":338,"line_end":338,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":335545423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306592,"byte_end":306593,"line_start":338,"line_end":338,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":469763151}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306553,"byte_end":306564,"line_start":338,"line_end":338,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4093641807}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306565,"byte_end":306578,"line_start":338,"line_end":338,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008847}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306581,"byte_end":306582,"line_start":338,"line_end":338,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":469763151}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306677,"byte_end":306690,"line_start":343,"line_end":343,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306670,"byte_end":306676,"line_start":343,"line_end":343,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872015}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306692,"byte_end":306697,"line_start":343,"line_end":343,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1610613839}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306698,"byte_end":306703,"line_start":343,"line_end":343,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":3163}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306654,"byte_end":306667,"line_start":343,"line_end":343,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008847}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306748,"byte_end":306762,"line_start":344,"line_end":344,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306726,"byte_end":306739,"line_start":344,"line_end":344,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306719,"byte_end":306725,"line_start":344,"line_end":344,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742927}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306740,"byte_end":306746,"line_start":344,"line_end":344,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872015}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306763,"byte_end":306776,"line_start":344,"line_end":344,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008847}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306833,"byte_end":306835,"line_start":347,"line_end":347,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306836,"byte_end":306842,"line_start":347,"line_end":347,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742927}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306916,"byte_end":306919,"line_start":350,"line_end":350,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306920,"byte_end":306936,"line_start":350,"line_end":350,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306942,"byte_end":306948,"line_start":350,"line_end":350,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306965,"byte_end":306969,"line_start":351,"line_end":351,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307088,"byte_end":307093,"line_start":354,"line_end":354,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307004,"byte_end":307013,"line_start":354,"line_end":354,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307031,"byte_end":307040,"line_start":354,"line_end":354,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307045,"byte_end":307051,"line_start":354,"line_end":354,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307052,"byte_end":307058,"line_start":354,"line_end":354,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307066,"byte_end":307074,"line_start":354,"line_end":354,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307131,"byte_end":307140,"line_start":356,"line_end":356,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307124,"byte_end":307130,"line_start":356,"line_end":356,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742931}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307141,"byte_end":307147,"line_start":356,"line_end":356,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872019}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307188,"byte_end":307202,"line_start":358,"line_end":358,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307178,"byte_end":307185,"line_start":358,"line_end":358,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218835}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307241,"byte_end":307251,"line_start":361,"line_end":361,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402654291}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307278,"byte_end":307280,"line_start":362,"line_end":362,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307281,"byte_end":307285,"line_start":362,"line_end":362,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307307,"byte_end":307309,"line_start":365,"line_end":365,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307323,"byte_end":307335,"line_start":365,"line_end":365,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2637}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307316,"byte_end":307322,"line_start":365,"line_end":365,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872019}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307336,"byte_end":307346,"line_start":365,"line_end":365,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":402654291}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307371,"byte_end":307375,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307371,"byte_end":307375,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307400,"byte_end":307404,"line_start":367,"line_end":367,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307419,"byte_end":307425,"line_start":367,"line_end":367,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307417,"byte_end":307418,"line_start":367,"line_end":367,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2885682259}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307438,"byte_end":307445,"line_start":367,"line_end":367,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307477,"byte_end":307481,"line_start":369,"line_end":369,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307477,"byte_end":307481,"line_start":369,"line_end":369,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307485,"byte_end":307489,"line_start":369,"line_end":369,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307545,"byte_end":307554,"line_start":373,"line_end":373,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307572,"byte_end":307581,"line_start":373,"line_end":373,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307586,"byte_end":307593,"line_start":373,"line_end":373,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307613,"byte_end":307620,"line_start":374,"line_end":374,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307604,"byte_end":307611,"line_start":374,"line_end":374,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307621,"byte_end":307626,"line_start":374,"line_end":374,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742933}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307628,"byte_end":307634,"line_start":374,"line_end":374,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872021}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307636,"byte_end":307642,"line_start":374,"line_end":374,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610613845}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307689,"byte_end":307698,"line_start":377,"line_end":377,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307709,"byte_end":307718,"line_start":377,"line_end":377,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307723,"byte_end":307729,"line_start":377,"line_end":377,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307737,"byte_end":307745,"line_start":377,"line_end":377,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307766,"byte_end":307774,"line_start":378,"line_end":378,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307757,"byte_end":307764,"line_start":378,"line_end":378,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307775,"byte_end":307780,"line_start":378,"line_end":378,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073742934}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307782,"byte_end":307788,"line_start":378,"line_end":378,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872022}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307790,"byte_end":307796,"line_start":378,"line_end":378,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613846}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307840,"byte_end":307843,"line_start":381,"line_end":381,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307844,"byte_end":307860,"line_start":381,"line_end":381,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307878,"byte_end":307881,"line_start":381,"line_end":381,"column_start":74,"column_end":77},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307882,"byte_end":307889,"line_start":381,"line_end":381,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307895,"byte_end":307901,"line_start":381,"line_end":381,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307909,"byte_end":307912,"line_start":381,"line_end":381,"column_start":105,"column_end":108},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307918,"byte_end":307921,"line_start":381,"line_end":381,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307922,"byte_end":307938,"line_start":381,"line_end":381,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307942,"byte_end":307950,"line_start":381,"line_end":381,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307971,"byte_end":307990,"line_start":382,"line_end":382,"column_start":18,"column_end":37},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307962,"byte_end":307969,"line_start":382,"line_end":382,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307991,"byte_end":307997,"line_start":382,"line_end":382,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742935}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307999,"byte_end":308011,"line_start":382,"line_end":382,"column_start":46,"column_end":58},"ref_id":{"krate":0,"index":536872023}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308057,"byte_end":308060,"line_start":386,"line_end":386,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308061,"byte_end":308077,"line_start":386,"line_end":386,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308122,"byte_end":308125,"line_start":386,"line_end":386,"column_start":102,"column_end":105},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308126,"byte_end":308142,"line_start":386,"line_end":386,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308164,"byte_end":308184,"line_start":387,"line_end":387,"column_start":18,"column_end":38},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308155,"byte_end":308162,"line_start":387,"line_end":387,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308185,"byte_end":308191,"line_start":387,"line_end":387,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742936}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308193,"byte_end":308201,"line_start":387,"line_end":387,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":536872024}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308203,"byte_end":308209,"line_start":387,"line_end":387,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610613848}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57437,"byte_end":57441,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1113}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310382,"byte_end":310387,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310389,"byte_end":310393,"line_start":25,"line_end":25,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310423,"byte_end":310426,"line_start":26,"line_end":26,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310436,"byte_end":310442,"line_start":26,"line_end":26,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":310436,"byte_end":310442,"line_start":26,"line_end":26,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2458}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310472,"byte_end":310477,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310501,"byte_end":310506,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1718}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310508,"byte_end":310515,"line_start":28,"line_end":28,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310532,"byte_end":310537,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310540,"byte_end":310546,"line_start":29,"line_end":29,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310532,"byte_end":310537,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310559,"byte_end":310565,"line_start":29,"line_end":29,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310592,"byte_end":310597,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310599,"byte_end":310602,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310613,"byte_end":310618,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310620,"byte_end":310629,"line_start":31,"line_end":31,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310613,"byte_end":310618,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310620,"byte_end":310629,"line_start":31,"line_end":31,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310653,"byte_end":310658,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310660,"byte_end":310666,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310695,"byte_end":310702,"line_start":33,"line_end":33,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310714,"byte_end":310719,"line_start":33,"line_end":33,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310731,"byte_end":310736,"line_start":33,"line_end":33,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9554}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9554}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310796,"byte_end":310801,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310803,"byte_end":310809,"line_start":36,"line_end":36,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310823,"byte_end":310828,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310830,"byte_end":310836,"line_start":37,"line_end":37,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310851,"byte_end":310856,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310858,"byte_end":310864,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310881,"byte_end":310886,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311120,"byte_end":311139,"line_start":51,"line_end":51,"column_start":5,"column_end":24},"ref_id":{"krate":0,"index":3176}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311204,"byte_end":311211,"line_start":56,"line_end":56,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311441,"byte_end":311448,"line_start":65,"line_end":65,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311463,"byte_end":311468,"line_start":66,"line_end":66,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3176}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311518,"byte_end":311521,"line_start":69,"line_end":69,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2738}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311512,"byte_end":311516,"line_start":69,"line_end":69,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311522,"byte_end":311533,"line_start":69,"line_end":69,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1073743020}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311554,"byte_end":311573,"line_start":71,"line_end":71,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311554,"byte_end":311555,"line_start":71,"line_end":71,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311557,"byte_end":311573,"line_start":71,"line_end":71,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311568,"byte_end":311571,"line_start":71,"line_end":71,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311557,"byte_end":311561,"line_start":71,"line_end":71,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":805307564}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311562,"byte_end":311567,"line_start":71,"line_end":71,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311591,"byte_end":311592,"line_start":72,"line_end":72,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":67110060}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311641,"byte_end":311650,"line_start":73,"line_end":73,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":2740}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311637,"byte_end":311640,"line_start":73,"line_end":73,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":1744831660}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311616,"byte_end":311620,"line_start":73,"line_end":73,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307564}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311621,"byte_end":311626,"line_start":73,"line_end":73,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311627,"byte_end":311628,"line_start":73,"line_end":73,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":67110060}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311722,"byte_end":311731,"line_start":75,"line_end":75,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2740}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311718,"byte_end":311721,"line_start":75,"line_end":75,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":1744831660}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311702,"byte_end":311706,"line_start":75,"line_end":75,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307564}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311707,"byte_end":311712,"line_start":75,"line_end":75,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311713,"byte_end":311714,"line_start":75,"line_end":75,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":67110060}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311780,"byte_end":311784,"line_start":79,"line_end":79,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":805307564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312090,"byte_end":312092,"line_start":85,"line_end":85,"column_start":65,"column_end":67},"ref_id":{"krate":1,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312087,"byte_end":312088,"line_start":85,"line_end":85,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":1199}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312070,"byte_end":312071,"line_start":85,"line_end":85,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1199}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312126,"byte_end":312133,"line_start":86,"line_end":86,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312148,"byte_end":312153,"line_start":87,"line_end":87,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3176}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312192,"byte_end":312211,"line_start":90,"line_end":90,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312192,"byte_end":312193,"line_start":90,"line_end":90,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312195,"byte_end":312211,"line_start":90,"line_end":90,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312206,"byte_end":312209,"line_start":90,"line_end":90,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312195,"byte_end":312199,"line_start":90,"line_end":90,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":805307566}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312200,"byte_end":312205,"line_start":90,"line_end":90,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312229,"byte_end":312230,"line_start":91,"line_end":91,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1744831662}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312276,"byte_end":312285,"line_start":92,"line_end":92,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1073743022}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312254,"byte_end":312258,"line_start":92,"line_end":92,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307566}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312259,"byte_end":312264,"line_start":92,"line_end":92,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312265,"byte_end":312266,"line_start":92,"line_end":92,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1744831662}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312352,"byte_end":312361,"line_start":94,"line_end":94,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1073743022}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312336,"byte_end":312340,"line_start":94,"line_end":94,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307566}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312341,"byte_end":312346,"line_start":94,"line_end":94,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312347,"byte_end":312348,"line_start":94,"line_end":94,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1744831662}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312398,"byte_end":312402,"line_start":98,"line_end":98,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":805307566}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312496,"byte_end":312501,"line_start":103,"line_end":103,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312514,"byte_end":312515,"line_start":103,"line_end":103,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1202}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312520,"byte_end":312527,"line_start":103,"line_end":103,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312551,"byte_end":312557,"line_start":104,"line_end":104,"column_start":22,"column_end":28},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312605,"byte_end":312617,"line_start":104,"line_end":104,"column_start":76,"column_end":88},"ref_id":{"krate":4,"index":5440}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312588,"byte_end":312595,"line_start":104,"line_end":104,"column_start":59,"column_end":66},"ref_id":{"krate":4,"index":5422}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312568,"byte_end":312572,"line_start":104,"line_end":104,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312560,"byte_end":312566,"line_start":104,"line_end":104,"column_start":31,"column_end":37},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312578,"byte_end":312584,"line_start":104,"line_end":104,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312573,"byte_end":312577,"line_start":104,"line_end":104,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073743025}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312683,"byte_end":312693,"line_start":108,"line_end":108,"column_start":18,"column_end":28},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312683,"byte_end":312684,"line_start":108,"line_end":108,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312686,"byte_end":312693,"line_start":108,"line_end":108,"column_start":21,"column_end":28},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312719,"byte_end":312720,"line_start":109,"line_end":109,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":335545521}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312748,"byte_end":312762,"line_start":110,"line_end":110,"column_start":23,"column_end":37},"ref_id":{"krate":1,"index":23926}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312764,"byte_end":312771,"line_start":110,"line_end":110,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1744831665}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312788,"line_start":110,"line_end":110,"column_start":47,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312776,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312776,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2885682353}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312778,"byte_end":312788,"line_start":110,"line_end":110,"column_start":53,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312779,"byte_end":312783,"line_start":110,"line_end":110,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2885682353}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312813,"byte_end":312815,"line_start":111,"line_end":111,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312813,"byte_end":312815,"line_start":111,"line_end":111,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312838,"byte_end":312842,"line_start":111,"line_end":111,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1375732913}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312827,"byte_end":312832,"line_start":111,"line_end":111,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1140851889}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312833,"byte_end":312834,"line_start":111,"line_end":111,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":335545521}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312903,"byte_end":312910,"line_start":116,"line_end":116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312913,"byte_end":312918,"line_start":116,"line_end":116,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312913,"byte_end":312918,"line_start":116,"line_end":116,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1140851889}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313021,"byte_end":313027,"line_start":121,"line_end":121,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313064,"byte_end":313077,"line_start":123,"line_end":123,"column_start":34,"column_end":47},"ref_id":{"krate":4,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313056,"byte_end":313062,"line_start":123,"line_end":123,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313101,"byte_end":313120,"line_start":125,"line_end":125,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313101,"byte_end":313102,"line_start":125,"line_end":125,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313104,"byte_end":313120,"line_start":125,"line_end":125,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313115,"byte_end":313118,"line_start":125,"line_end":125,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313104,"byte_end":313108,"line_start":125,"line_end":125,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743029}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313109,"byte_end":313114,"line_start":125,"line_end":125,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313138,"byte_end":313139,"line_start":126,"line_end":126,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":2818573493}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313148,"byte_end":313149,"line_start":126,"line_end":126,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":2818573493}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313158,"byte_end":313159,"line_start":126,"line_end":126,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2818573493}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313168,"byte_end":313169,"line_start":126,"line_end":126,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2818573493}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313201,"byte_end":313209,"line_start":127,"line_end":127,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313194,"byte_end":313200,"line_start":127,"line_end":127,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3489662133}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313253,"byte_end":313257,"line_start":129,"line_end":129,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743029}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313258,"byte_end":313263,"line_start":129,"line_end":129,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313264,"byte_end":313265,"line_start":129,"line_end":129,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2818573493}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313317,"byte_end":313326,"line_start":130,"line_end":130,"column_start":44,"column_end":53},"ref_id":{"krate":1,"index":8988}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313293,"byte_end":313299,"line_start":130,"line_end":130,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3489662133}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313311,"byte_end":313315,"line_start":130,"line_end":130,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":2717910197}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9552}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9552}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313351,"byte_end":313357,"line_start":133,"line_end":133,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3489662133}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313372,"byte_end":313377,"line_start":137,"line_end":137,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313418,"byte_end":313427,"line_start":138,"line_end":138,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313447,"byte_end":313453,"line_start":138,"line_end":138,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":313436,"byte_end":313440,"line_start":138,"line_end":138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":313442,"byte_end":313445,"line_start":138,"line_end":138,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313471,"byte_end":313472,"line_start":139,"line_end":139,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536872119}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313485,"byte_end":313494,"line_start":139,"line_end":139,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1205}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313480,"byte_end":313484,"line_start":139,"line_end":139,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743031}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313512,"byte_end":313519,"line_start":143,"line_end":143,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313570,"byte_end":313577,"line_start":145,"line_end":145,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313580,"byte_end":313585,"line_start":145,"line_end":145,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3176}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313620,"byte_end":313629,"line_start":149,"line_end":149,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313730,"byte_end":313735,"line_start":150,"line_end":150,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313684,"byte_end":313700,"line_start":150,"line_end":150,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313705,"byte_end":313711,"line_start":150,"line_end":150,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313746,"byte_end":313750,"line_start":151,"line_end":151,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313757,"byte_end":313764,"line_start":151,"line_end":151,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313804,"byte_end":313813,"line_start":153,"line_end":153,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313825,"byte_end":313834,"line_start":153,"line_end":153,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313839,"byte_end":313845,"line_start":153,"line_end":153,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313862,"byte_end":313866,"line_start":154,"line_end":154,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313867,"byte_end":313874,"line_start":154,"line_end":154,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313877,"byte_end":313882,"line_start":154,"line_end":154,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3176}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313935,"byte_end":313944,"line_start":157,"line_end":157,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313956,"byte_end":313965,"line_start":157,"line_end":157,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313970,"byte_end":313976,"line_start":157,"line_end":157,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313993,"byte_end":313997,"line_start":158,"line_end":158,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313998,"byte_end":314005,"line_start":158,"line_end":158,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314008,"byte_end":314013,"line_start":158,"line_end":158,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3176}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314049,"byte_end":314057,"line_start":162,"line_end":162,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314118,"byte_end":314129,"line_start":166,"line_end":166,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314155,"byte_end":314159,"line_start":166,"line_end":166,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314142,"byte_end":314153,"line_start":166,"line_end":166,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314208,"byte_end":314219,"line_start":167,"line_end":167,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314245,"byte_end":314249,"line_start":167,"line_end":167,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314232,"byte_end":314243,"line_start":167,"line_end":167,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314286,"byte_end":314289,"line_start":169,"line_end":169,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314290,"byte_end":314306,"line_start":169,"line_end":169,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314328,"byte_end":314334,"line_start":169,"line_end":169,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314335,"byte_end":314342,"line_start":169,"line_end":169,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314344,"byte_end":314352,"line_start":169,"line_end":169,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314393,"byte_end":314396,"line_start":170,"line_end":170,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314386,"byte_end":314391,"line_start":170,"line_end":170,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314420,"byte_end":314426,"line_start":171,"line_end":171,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314408,"byte_end":314419,"line_start":171,"line_end":171,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307590}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314434,"byte_end":314442,"line_start":171,"line_end":171,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314455,"byte_end":314461,"line_start":171,"line_end":171,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314446,"byte_end":314453,"line_start":171,"line_end":171,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314481,"byte_end":314490,"line_start":171,"line_end":171,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314468,"byte_end":314476,"line_start":171,"line_end":171,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314505,"byte_end":314507,"line_start":173,"line_end":173,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314517,"byte_end":314527,"line_start":173,"line_end":173,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314508,"byte_end":314515,"line_start":173,"line_end":173,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314528,"byte_end":314539,"line_start":173,"line_end":173,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307590}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314679,"byte_end":314684,"line_start":176,"line_end":176,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314580,"byte_end":314589,"line_start":176,"line_end":176,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314605,"byte_end":314614,"line_start":176,"line_end":176,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314632,"byte_end":314638,"line_start":176,"line_end":176,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314639,"byte_end":314648,"line_start":176,"line_end":176,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314650,"byte_end":314658,"line_start":176,"line_end":176,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314705,"byte_end":314714,"line_start":177,"line_end":177,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314695,"byte_end":314703,"line_start":177,"line_end":177,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":1193}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314715,"byte_end":314721,"line_start":177,"line_end":177,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1073743047}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314723,"byte_end":314729,"line_start":177,"line_end":177,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536872135}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314732,"byte_end":314737,"line_start":177,"line_end":177,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610613959}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314916,"byte_end":314921,"line_start":180,"line_end":180,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314815,"byte_end":314824,"line_start":180,"line_end":180,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314840,"byte_end":314849,"line_start":180,"line_end":180,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314863,"byte_end":314870,"line_start":180,"line_end":180,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314876,"byte_end":314882,"line_start":180,"line_end":180,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314887,"byte_end":314895,"line_start":180,"line_end":180,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314942,"byte_end":314947,"line_start":182,"line_end":182,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178505}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314971,"byte_end":314977,"line_start":183,"line_end":183,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314962,"byte_end":314969,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314971,"byte_end":314977,"line_start":183,"line_end":183,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314962,"byte_end":314969,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315012,"byte_end":315021,"line_start":184,"line_end":184,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315022,"byte_end":315028,"line_start":184,"line_end":184,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613961}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315030,"byte_end":315036,"line_start":184,"line_end":184,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436681}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315047,"byte_end":315058,"line_start":184,"line_end":184,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1201}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315038,"byte_end":315045,"line_start":184,"line_end":184,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315060,"byte_end":315065,"line_start":184,"line_end":184,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1207960777}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315124,"byte_end":315126,"line_start":189,"line_end":189,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315170,"byte_end":315173,"line_start":193,"line_end":193,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315174,"byte_end":315190,"line_start":193,"line_end":193,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315212,"byte_end":315218,"line_start":193,"line_end":193,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315219,"byte_end":315225,"line_start":193,"line_end":193,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315227,"byte_end":315235,"line_start":193,"line_end":193,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315247,"byte_end":315249,"line_start":194,"line_end":194,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315258,"byte_end":315262,"line_start":194,"line_end":194,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315250,"byte_end":315256,"line_start":194,"line_end":194,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315315,"byte_end":315318,"line_start":197,"line_end":197,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315319,"byte_end":315335,"line_start":197,"line_end":197,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315377,"byte_end":315380,"line_start":197,"line_end":197,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315381,"byte_end":315387,"line_start":197,"line_end":197,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315393,"byte_end":315399,"line_start":197,"line_end":197,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315407,"byte_end":315410,"line_start":197,"line_end":197,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315416,"byte_end":315419,"line_start":197,"line_end":197,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315420,"byte_end":315436,"line_start":197,"line_end":197,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315440,"byte_end":315448,"line_start":197,"line_end":197,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315466,"byte_end":315485,"line_start":198,"line_end":198,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315486,"byte_end":315492,"line_start":198,"line_end":198,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073743052}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315513,"byte_end":315517,"line_start":198,"line_end":198,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315504,"byte_end":315511,"line_start":198,"line_end":198,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315592,"byte_end":315595,"line_start":201,"line_end":201,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315596,"byte_end":315612,"line_start":201,"line_end":201,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315618,"byte_end":315624,"line_start":201,"line_end":201,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315641,"byte_end":315645,"line_start":202,"line_end":202,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315764,"byte_end":315769,"line_start":205,"line_end":205,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315680,"byte_end":315689,"line_start":205,"line_end":205,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315707,"byte_end":315716,"line_start":205,"line_end":205,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315721,"byte_end":315727,"line_start":205,"line_end":205,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315728,"byte_end":315734,"line_start":205,"line_end":205,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315742,"byte_end":315750,"line_start":205,"line_end":205,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315796,"byte_end":315806,"line_start":206,"line_end":206,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315786,"byte_end":315794,"line_start":206,"line_end":206,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1193}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315807,"byte_end":315813,"line_start":206,"line_end":206,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073743054}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315815,"byte_end":315821,"line_start":206,"line_end":206,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872142}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315838,"byte_end":315842,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315838,"byte_end":315842,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315851,"byte_end":315853,"line_start":207,"line_end":207,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315854,"byte_end":315858,"line_start":207,"line_end":207,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315861,"byte_end":315866,"line_start":207,"line_end":207,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315859,"byte_end":315860,"line_start":207,"line_end":207,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":67110094}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315886,"byte_end":315890,"line_start":208,"line_end":208,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315886,"byte_end":315890,"line_start":208,"line_end":208,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315894,"byte_end":315896,"line_start":208,"line_end":208,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315897,"byte_end":315901,"line_start":208,"line_end":208,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315958,"byte_end":315967,"line_start":212,"line_end":212,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315985,"byte_end":315994,"line_start":212,"line_end":212,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315999,"byte_end":316006,"line_start":212,"line_end":212,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316030,"byte_end":316040,"line_start":214,"line_end":214,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316041,"byte_end":316047,"line_start":214,"line_end":214,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872143}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316049,"byte_end":316055,"line_start":214,"line_end":214,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613967}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316071,"byte_end":316073,"line_start":215,"line_end":215,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316071,"byte_end":316073,"line_start":215,"line_end":215,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316104,"byte_end":316105,"line_start":216,"line_end":216,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702607}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316128,"byte_end":316132,"line_start":217,"line_end":217,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316128,"byte_end":316132,"line_start":217,"line_end":217,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316174,"byte_end":316180,"line_start":218,"line_end":218,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316165,"byte_end":316172,"line_start":218,"line_end":218,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316183,"byte_end":316192,"line_start":218,"line_end":218,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1205}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316181,"byte_end":316182,"line_start":218,"line_end":218,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3892315343}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316239,"byte_end":316243,"line_start":220,"line_end":220,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316239,"byte_end":316243,"line_start":220,"line_end":220,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316282,"byte_end":316286,"line_start":221,"line_end":221,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316273,"byte_end":316280,"line_start":221,"line_end":221,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316354,"byte_end":316357,"line_start":225,"line_end":225,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316354,"byte_end":316357,"line_start":225,"line_end":225,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316392,"byte_end":316396,"line_start":226,"line_end":226,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316383,"byte_end":316390,"line_start":226,"line_end":226,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316467,"byte_end":316476,"line_start":231,"line_end":231,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316487,"byte_end":316496,"line_start":231,"line_end":231,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316501,"byte_end":316507,"line_start":231,"line_end":231,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316515,"byte_end":316523,"line_start":231,"line_end":231,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316562,"byte_end":316571,"line_start":233,"line_end":233,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316555,"byte_end":316561,"line_start":233,"line_end":233,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872144}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316572,"byte_end":316578,"line_start":233,"line_end":233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613968}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316605,"byte_end":316619,"line_start":235,"line_end":235,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316595,"byte_end":316602,"line_start":235,"line_end":235,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960784}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316641,"byte_end":316643,"line_start":236,"line_end":236,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316677,"byte_end":316679,"line_start":238,"line_end":238,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316740,"byte_end":316743,"line_start":242,"line_end":242,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316744,"byte_end":316760,"line_start":242,"line_end":242,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316782,"byte_end":316789,"line_start":242,"line_end":242,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316795,"byte_end":316801,"line_start":242,"line_end":242,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316809,"byte_end":316812,"line_start":242,"line_end":242,"column_start":109,"column_end":112},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316818,"byte_end":316821,"line_start":242,"line_end":242,"column_start":118,"column_end":121},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316822,"byte_end":316838,"line_start":242,"line_end":242,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316842,"byte_end":316850,"line_start":242,"line_end":242,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316893,"byte_end":316896,"line_start":245,"line_end":245,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316908,"byte_end":316911,"line_start":245,"line_end":245,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316903,"byte_end":316906,"line_start":245,"line_end":245,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316936,"byte_end":316940,"line_start":246,"line_end":246,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316923,"byte_end":316935,"line_start":246,"line_end":246,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134218962}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316954,"byte_end":316958,"line_start":246,"line_end":246,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316941,"byte_end":316952,"line_start":246,"line_end":246,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316982,"byte_end":316986,"line_start":247,"line_end":247,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316975,"byte_end":316981,"line_start":247,"line_end":247,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743058}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316987,"byte_end":317003,"line_start":247,"line_end":247,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317018,"byte_end":317021,"line_start":248,"line_end":248,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317038,"byte_end":317043,"line_start":248,"line_end":248,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317023,"byte_end":317036,"line_start":248,"line_end":248,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317061,"byte_end":317062,"line_start":249,"line_end":249,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317077,"byte_end":317081,"line_start":249,"line_end":249,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317064,"byte_end":317075,"line_start":249,"line_end":249,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317095,"byte_end":317103,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317123,"byte_end":317127,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317134,"byte_end":317137,"line_start":251,"line_end":251,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317129,"byte_end":317132,"line_start":251,"line_end":251,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317138,"byte_end":317142,"line_start":251,"line_end":251,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317173,"byte_end":317175,"line_start":253,"line_end":253,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317183,"byte_end":317195,"line_start":253,"line_end":253,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":134218962}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317197,"byte_end":317203,"line_start":253,"line_end":253,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073743058}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317259,"byte_end":317262,"line_start":258,"line_end":258,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317263,"byte_end":317279,"line_start":258,"line_end":258,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317324,"byte_end":317327,"line_start":258,"line_end":258,"column_start":106,"column_end":109},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317328,"byte_end":317344,"line_start":258,"line_end":258,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317364,"byte_end":317368,"line_start":259,"line_end":259,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317357,"byte_end":317363,"line_start":259,"line_end":259,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317369,"byte_end":317385,"line_start":259,"line_end":259,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317400,"byte_end":317403,"line_start":260,"line_end":260,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317420,"byte_end":317425,"line_start":260,"line_end":260,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317405,"byte_end":317418,"line_start":260,"line_end":260,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317443,"byte_end":317444,"line_start":261,"line_end":261,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317459,"byte_end":317463,"line_start":261,"line_end":261,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317446,"byte_end":317457,"line_start":261,"line_end":261,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317477,"byte_end":317485,"line_start":262,"line_end":262,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317505,"byte_end":317509,"line_start":263,"line_end":263,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317516,"byte_end":317519,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317511,"byte_end":317514,"line_start":263,"line_end":263,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317520,"byte_end":317524,"line_start":263,"line_end":263,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317555,"byte_end":317561,"line_start":265,"line_end":265,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317609,"byte_end":317616,"line_start":270,"line_end":270,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317586,"byte_end":317595,"line_start":270,"line_end":270,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317697,"byte_end":317702,"line_start":271,"line_end":271,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317651,"byte_end":317667,"line_start":271,"line_end":271,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317672,"byte_end":317678,"line_start":271,"line_end":271,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317713,"byte_end":317717,"line_start":272,"line_end":272,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317755,"byte_end":317764,"line_start":275,"line_end":275,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317776,"byte_end":317785,"line_start":275,"line_end":275,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317790,"byte_end":317796,"line_start":275,"line_end":275,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317813,"byte_end":317817,"line_start":276,"line_end":276,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317855,"byte_end":317864,"line_start":279,"line_end":279,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317876,"byte_end":317885,"line_start":279,"line_end":279,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317890,"byte_end":317896,"line_start":279,"line_end":279,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317913,"byte_end":317917,"line_start":280,"line_end":280,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317962,"byte_end":317969,"line_start":284,"line_end":284,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317940,"byte_end":317948,"line_start":284,"line_end":284,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318008,"byte_end":318019,"line_start":286,"line_end":286,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318032,"byte_end":318040,"line_start":286,"line_end":286,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318023,"byte_end":318030,"line_start":286,"line_end":286,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318090,"byte_end":318101,"line_start":287,"line_end":287,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318124,"byte_end":318137,"line_start":287,"line_end":287,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":1726}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318114,"byte_end":318121,"line_start":287,"line_end":287,"column_start":70,"column_end":77},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318105,"byte_end":318112,"line_start":287,"line_end":287,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318175,"byte_end":318178,"line_start":289,"line_end":289,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318179,"byte_end":318195,"line_start":289,"line_end":289,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318217,"byte_end":318223,"line_start":289,"line_end":289,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318224,"byte_end":318231,"line_start":289,"line_end":289,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318233,"byte_end":318241,"line_start":289,"line_end":289,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318262,"byte_end":318276,"line_start":290,"line_end":290,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318253,"byte_end":318260,"line_start":290,"line_end":290,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318277,"byte_end":318284,"line_start":290,"line_end":290,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1073743069}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318286,"byte_end":318294,"line_start":290,"line_end":290,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":536872157}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318433,"byte_end":318438,"line_start":293,"line_end":293,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318334,"byte_end":318343,"line_start":293,"line_end":293,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318359,"byte_end":318368,"line_start":293,"line_end":293,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318386,"byte_end":318392,"line_start":293,"line_end":293,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318393,"byte_end":318402,"line_start":293,"line_end":293,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318404,"byte_end":318412,"line_start":293,"line_end":293,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318474,"byte_end":318483,"line_start":294,"line_end":294,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318467,"byte_end":318473,"line_start":294,"line_end":294,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073743070}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318484,"byte_end":318490,"line_start":294,"line_end":294,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872158}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318537,"byte_end":318551,"line_start":296,"line_end":296,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318527,"byte_end":318534,"line_start":296,"line_end":296,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960798}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318576,"byte_end":318589,"line_start":298,"line_end":298,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008990}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318648,"byte_end":318653,"line_start":299,"line_end":299,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610613982}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318654,"byte_end":318659,"line_start":299,"line_end":299,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3176}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318698,"byte_end":318709,"line_start":300,"line_end":300,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318691,"byte_end":318697,"line_start":300,"line_end":300,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872158}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318786,"byte_end":318800,"line_start":303,"line_end":303,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318786,"byte_end":318787,"line_start":303,"line_end":303,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318789,"byte_end":318800,"line_start":303,"line_end":303,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318795,"byte_end":318798,"line_start":303,"line_end":303,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318789,"byte_end":318794,"line_start":303,"line_end":303,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":335545566}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318852,"byte_end":318857,"line_start":304,"line_end":304,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":335545566}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318858,"byte_end":318859,"line_start":304,"line_end":304,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":469763294}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318819,"byte_end":318830,"line_start":304,"line_end":304,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4093641950}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318831,"byte_end":318844,"line_start":304,"line_end":304,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008990}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318847,"byte_end":318848,"line_start":304,"line_end":304,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":469763294}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318943,"byte_end":318956,"line_start":309,"line_end":309,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318936,"byte_end":318942,"line_start":309,"line_end":309,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872158}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318958,"byte_end":318963,"line_start":309,"line_end":309,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1610613982}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318964,"byte_end":318969,"line_start":309,"line_end":309,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":3176}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318920,"byte_end":318933,"line_start":309,"line_end":309,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008990}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319014,"byte_end":319028,"line_start":310,"line_end":310,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318992,"byte_end":319005,"line_start":310,"line_end":310,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318985,"byte_end":318991,"line_start":310,"line_end":310,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743070}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319006,"byte_end":319012,"line_start":310,"line_end":310,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872158}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319029,"byte_end":319042,"line_start":310,"line_end":310,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008990}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319079,"byte_end":319081,"line_start":313,"line_end":313,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319082,"byte_end":319088,"line_start":313,"line_end":313,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743070}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319128,"byte_end":319131,"line_start":316,"line_end":316,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319132,"byte_end":319148,"line_start":316,"line_end":316,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319170,"byte_end":319176,"line_start":316,"line_end":316,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319177,"byte_end":319183,"line_start":316,"line_end":316,"column_start":81,"column_end":87},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319185,"byte_end":319193,"line_start":316,"line_end":316,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319205,"byte_end":319207,"line_start":317,"line_end":317,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319216,"byte_end":319220,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319208,"byte_end":319214,"line_start":317,"line_end":317,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319273,"byte_end":319276,"line_start":320,"line_end":320,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319277,"byte_end":319293,"line_start":320,"line_end":320,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319335,"byte_end":319338,"line_start":320,"line_end":320,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319339,"byte_end":319345,"line_start":320,"line_end":320,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319351,"byte_end":319357,"line_start":320,"line_end":320,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319365,"byte_end":319368,"line_start":320,"line_end":320,"column_start":127,"column_end":130},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319374,"byte_end":319377,"line_start":320,"line_end":320,"column_start":136,"column_end":139},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319378,"byte_end":319394,"line_start":320,"line_end":320,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319398,"byte_end":319406,"line_start":320,"line_end":320,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319424,"byte_end":319443,"line_start":321,"line_end":321,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319444,"byte_end":319450,"line_start":321,"line_end":321,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073743074}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319471,"byte_end":319475,"line_start":321,"line_end":321,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319462,"byte_end":319469,"line_start":321,"line_end":321,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319550,"byte_end":319553,"line_start":324,"line_end":324,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319554,"byte_end":319570,"line_start":324,"line_end":324,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319576,"byte_end":319582,"line_start":324,"line_end":324,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319599,"byte_end":319603,"line_start":325,"line_end":325,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319784,"byte_end":319789,"line_start":328,"line_end":328,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319681,"byte_end":319690,"line_start":328,"line_end":328,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319707,"byte_end":319716,"line_start":328,"line_end":328,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319731,"byte_end":319738,"line_start":328,"line_end":328,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319744,"byte_end":319750,"line_start":328,"line_end":328,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319755,"byte_end":319763,"line_start":328,"line_end":328,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319800,"byte_end":319802,"line_start":329,"line_end":329,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319925,"byte_end":319930,"line_start":332,"line_end":332,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319841,"byte_end":319850,"line_start":332,"line_end":332,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319868,"byte_end":319877,"line_start":332,"line_end":332,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319882,"byte_end":319888,"line_start":332,"line_end":332,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319889,"byte_end":319895,"line_start":332,"line_end":332,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319903,"byte_end":319911,"line_start":332,"line_end":332,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319968,"byte_end":319977,"line_start":334,"line_end":334,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319961,"byte_end":319967,"line_start":334,"line_end":334,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743078}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319978,"byte_end":319984,"line_start":334,"line_end":334,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872166}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320025,"byte_end":320039,"line_start":336,"line_end":336,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320015,"byte_end":320022,"line_start":336,"line_end":336,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218982}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320078,"byte_end":320088,"line_start":339,"line_end":339,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402654438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320115,"byte_end":320117,"line_start":340,"line_end":340,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320118,"byte_end":320122,"line_start":340,"line_end":340,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320144,"byte_end":320146,"line_start":343,"line_end":343,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320160,"byte_end":320172,"line_start":343,"line_end":343,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2637}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320153,"byte_end":320159,"line_start":343,"line_end":343,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872166}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320173,"byte_end":320183,"line_start":343,"line_end":343,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":402654438}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320208,"byte_end":320212,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320208,"byte_end":320212,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320237,"byte_end":320241,"line_start":345,"line_end":345,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320256,"byte_end":320262,"line_start":345,"line_end":345,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320254,"byte_end":320255,"line_start":345,"line_end":345,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2885682406}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320275,"byte_end":320282,"line_start":345,"line_end":345,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320314,"byte_end":320318,"line_start":347,"line_end":347,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320314,"byte_end":320318,"line_start":347,"line_end":347,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320322,"byte_end":320326,"line_start":347,"line_end":347,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320382,"byte_end":320391,"line_start":351,"line_end":351,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320409,"byte_end":320418,"line_start":351,"line_end":351,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320423,"byte_end":320430,"line_start":351,"line_end":351,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320450,"byte_end":320457,"line_start":352,"line_end":352,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320441,"byte_end":320448,"line_start":352,"line_end":352,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320458,"byte_end":320463,"line_start":352,"line_end":352,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073743080}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320465,"byte_end":320471,"line_start":352,"line_end":352,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872168}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320473,"byte_end":320479,"line_start":352,"line_end":352,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610613992}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320526,"byte_end":320535,"line_start":355,"line_end":355,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320546,"byte_end":320555,"line_start":355,"line_end":355,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320560,"byte_end":320566,"line_start":355,"line_end":355,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320574,"byte_end":320582,"line_start":355,"line_end":355,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320603,"byte_end":320611,"line_start":356,"line_end":356,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320594,"byte_end":320601,"line_start":356,"line_end":356,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320612,"byte_end":320617,"line_start":356,"line_end":356,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073743081}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320619,"byte_end":320625,"line_start":356,"line_end":356,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872169}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320627,"byte_end":320633,"line_start":356,"line_end":356,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613993}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320677,"byte_end":320680,"line_start":359,"line_end":359,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320681,"byte_end":320697,"line_start":359,"line_end":359,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320719,"byte_end":320726,"line_start":359,"line_end":359,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320732,"byte_end":320738,"line_start":359,"line_end":359,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320746,"byte_end":320749,"line_start":359,"line_end":359,"column_start":105,"column_end":108},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320755,"byte_end":320758,"line_start":359,"line_end":359,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320759,"byte_end":320775,"line_start":359,"line_end":359,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320779,"byte_end":320787,"line_start":359,"line_end":359,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320808,"byte_end":320827,"line_start":360,"line_end":360,"column_start":18,"column_end":37},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320799,"byte_end":320806,"line_start":360,"line_end":360,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320828,"byte_end":320834,"line_start":360,"line_end":360,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073743082}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320836,"byte_end":320848,"line_start":360,"line_end":360,"column_start":46,"column_end":58},"ref_id":{"krate":0,"index":536872170}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320893,"byte_end":320896,"line_start":363,"line_end":363,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320897,"byte_end":320913,"line_start":363,"line_end":363,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320958,"byte_end":320961,"line_start":363,"line_end":363,"column_start":102,"column_end":105},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320962,"byte_end":320978,"line_start":363,"line_end":363,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321000,"byte_end":321020,"line_start":364,"line_end":364,"column_start":18,"column_end":38},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320991,"byte_end":320998,"line_start":364,"line_end":364,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321021,"byte_end":321027,"line_start":364,"line_end":364,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743083}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321029,"byte_end":321037,"line_start":364,"line_end":364,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":536872171}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321039,"byte_end":321045,"line_start":364,"line_end":364,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610613995}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57451,"byte_end":57457,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1260}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323087,"byte_end":323090,"line_start":19,"line_end":19,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323100,"byte_end":323106,"line_start":19,"line_end":19,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323100,"byte_end":323106,"line_start":19,"line_end":19,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323144,"byte_end":323149,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323152,"byte_end":323158,"line_start":20,"line_end":20,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323144,"byte_end":323149,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323171,"byte_end":323177,"line_start":20,"line_end":20,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323204,"byte_end":323209,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323212,"byte_end":323216,"line_start":21,"line_end":21,"column_start":13,"column_end":17},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323204,"byte_end":323209,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323223,"byte_end":323226,"line_start":21,"line_end":21,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323238,"byte_end":323243,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323245,"byte_end":323254,"line_start":22,"line_end":22,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323238,"byte_end":323243,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323245,"byte_end":323254,"line_start":22,"line_end":22,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323278,"byte_end":323283,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323285,"byte_end":323291,"line_start":23,"line_end":23,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323312,"byte_end":323317,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323320,"byte_end":323327,"line_start":24,"line_end":24,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323312,"byte_end":323317,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323339,"byte_end":323344,"line_start":24,"line_end":24,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323361,"byte_end":323365,"line_start":25,"line_end":25,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323368,"byte_end":323371,"line_start":25,"line_end":25,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323388,"byte_end":323393,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323395,"byte_end":323401,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323415,"byte_end":323420,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323422,"byte_end":323427,"line_start":28,"line_end":28,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323438,"byte_end":323443,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323445,"byte_end":323451,"line_start":29,"line_end":29,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323466,"byte_end":323471,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5742}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323474,"byte_end":323480,"line_start":30,"line_end":30,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323497,"byte_end":323502,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323729,"byte_end":323735,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323760,"byte_end":323769,"line_start":45,"line_end":45,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323753,"byte_end":323758,"line_start":45,"line_end":45,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323870,"byte_end":323875,"line_start":46,"line_end":46,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323824,"byte_end":323840,"line_start":46,"line_end":46,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323845,"byte_end":323851,"line_start":46,"line_end":46,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323886,"byte_end":323890,"line_start":47,"line_end":47,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":323897,"byte_end":323904,"line_start":47,"line_end":47,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323944,"byte_end":323953,"line_start":50,"line_end":50,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323964,"byte_end":323973,"line_start":50,"line_end":50,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323978,"byte_end":323984,"line_start":50,"line_end":50,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324032,"byte_end":324042,"line_start":51,"line_end":51,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324025,"byte_end":324031,"line_start":51,"line_end":51,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872245}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324043,"byte_end":324049,"line_start":51,"line_end":51,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743157}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324050,"byte_end":324061,"line_start":51,"line_end":51,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324063,"byte_end":324067,"line_start":51,"line_end":51,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324078,"byte_end":324090,"line_start":51,"line_end":51,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324103,"byte_end":324107,"line_start":52,"line_end":52,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324145,"byte_end":324150,"line_start":52,"line_end":52,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324108,"byte_end":324112,"line_start":52,"line_end":52,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":402654517}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324113,"byte_end":324120,"line_start":52,"line_end":52,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3669}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324134,"byte_end":324137,"line_start":52,"line_end":52,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324121,"byte_end":324125,"line_start":52,"line_end":52,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402654517}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324126,"byte_end":324133,"line_start":52,"line_end":52,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3669}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324190,"byte_end":324199,"line_start":55,"line_end":55,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324210,"byte_end":324219,"line_start":55,"line_end":55,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324224,"byte_end":324230,"line_start":55,"line_end":55,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324278,"byte_end":324288,"line_start":56,"line_end":56,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324271,"byte_end":324277,"line_start":56,"line_end":56,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872246}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324289,"byte_end":324295,"line_start":56,"line_end":56,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743158}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324296,"byte_end":324307,"line_start":56,"line_end":56,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324309,"byte_end":324313,"line_start":56,"line_end":56,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324324,"byte_end":324336,"line_start":56,"line_end":56,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324349,"byte_end":324353,"line_start":57,"line_end":57,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324370,"byte_end":324375,"line_start":57,"line_end":57,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324354,"byte_end":324358,"line_start":57,"line_end":57,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":402654518}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324359,"byte_end":324366,"line_start":57,"line_end":57,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3669}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324477,"byte_end":324481,"line_start":64,"line_end":64,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324482,"byte_end":324488,"line_start":64,"line_end":64,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324498,"byte_end":324499,"line_start":64,"line_end":64,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324528,"byte_end":324532,"line_start":65,"line_end":65,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324519,"byte_end":324526,"line_start":65,"line_end":65,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324539,"byte_end":324543,"line_start":65,"line_end":65,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324533,"byte_end":324538,"line_start":65,"line_end":65,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":1073743160}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324631,"byte_end":324635,"line_start":72,"line_end":72,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743162}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324659,"byte_end":324663,"line_start":73,"line_end":73,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324650,"byte_end":324657,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324659,"byte_end":324663,"line_start":73,"line_end":73,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324650,"byte_end":324657,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324691,"byte_end":324695,"line_start":74,"line_end":74,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324682,"byte_end":324689,"line_start":74,"line_end":74,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324691,"byte_end":324695,"line_start":74,"line_end":74,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324682,"byte_end":324689,"line_start":74,"line_end":74,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324704,"byte_end":324707,"line_start":74,"line_end":74,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":5601}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324702,"byte_end":324703,"line_start":74,"line_end":74,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":805307706}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324806,"byte_end":324810,"line_start":80,"line_end":80,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743163}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324834,"byte_end":324838,"line_start":81,"line_end":81,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324825,"byte_end":324832,"line_start":81,"line_end":81,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324834,"byte_end":324838,"line_start":81,"line_end":81,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324825,"byte_end":324832,"line_start":81,"line_end":81,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324868,"byte_end":324872,"line_start":82,"line_end":82,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324859,"byte_end":324866,"line_start":82,"line_end":82,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324868,"byte_end":324872,"line_start":82,"line_end":82,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324859,"byte_end":324866,"line_start":82,"line_end":82,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324881,"byte_end":324889,"line_start":82,"line_end":82,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324879,"byte_end":324880,"line_start":82,"line_end":82,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2952791355}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324986,"byte_end":324990,"line_start":88,"line_end":88,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743164}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325014,"byte_end":325018,"line_start":89,"line_end":89,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325005,"byte_end":325012,"line_start":89,"line_end":89,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325014,"byte_end":325018,"line_start":89,"line_end":89,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325005,"byte_end":325012,"line_start":89,"line_end":89,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325047,"byte_end":325051,"line_start":90,"line_end":90,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325038,"byte_end":325045,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325047,"byte_end":325051,"line_start":90,"line_end":90,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325038,"byte_end":325045,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325058,"byte_end":325059,"line_start":90,"line_end":90,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":805307708}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325136,"byte_end":325142,"line_start":95,"line_end":95,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325159,"byte_end":325163,"line_start":96,"line_end":96,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743165}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325187,"byte_end":325191,"line_start":97,"line_end":97,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325178,"byte_end":325185,"line_start":97,"line_end":97,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325187,"byte_end":325191,"line_start":97,"line_end":97,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325178,"byte_end":325185,"line_start":97,"line_end":97,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325203,"byte_end":325207,"line_start":97,"line_end":97,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325195,"byte_end":325201,"line_start":97,"line_end":97,"column_start":30,"column_end":36},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325234,"byte_end":325238,"line_start":98,"line_end":98,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325225,"byte_end":325232,"line_start":98,"line_end":98,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325234,"byte_end":325238,"line_start":98,"line_end":98,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325225,"byte_end":325232,"line_start":98,"line_end":98,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325247,"byte_end":325252,"line_start":98,"line_end":98,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325245,"byte_end":325246,"line_start":98,"line_end":98,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2281702717}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325279,"byte_end":325286,"line_start":103,"line_end":103,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325346,"byte_end":325350,"line_start":105,"line_end":105,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325337,"byte_end":325344,"line_start":105,"line_end":105,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325374,"byte_end":325382,"line_start":109,"line_end":109,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325441,"byte_end":325452,"line_start":111,"line_end":111,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325480,"byte_end":325484,"line_start":111,"line_end":111,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325467,"byte_end":325478,"line_start":111,"line_end":111,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325533,"byte_end":325544,"line_start":112,"line_end":112,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325572,"byte_end":325576,"line_start":112,"line_end":112,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325559,"byte_end":325570,"line_start":112,"line_end":112,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325612,"byte_end":325615,"line_start":114,"line_end":114,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325616,"byte_end":325632,"line_start":114,"line_end":114,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325653,"byte_end":325659,"line_start":114,"line_end":114,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325660,"byte_end":325667,"line_start":114,"line_end":114,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325669,"byte_end":325677,"line_start":114,"line_end":114,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325718,"byte_end":325721,"line_start":115,"line_end":115,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325711,"byte_end":325716,"line_start":115,"line_end":115,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325745,"byte_end":325751,"line_start":116,"line_end":116,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325733,"byte_end":325744,"line_start":116,"line_end":116,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307716}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325759,"byte_end":325767,"line_start":116,"line_end":116,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325780,"byte_end":325786,"line_start":116,"line_end":116,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325771,"byte_end":325778,"line_start":116,"line_end":116,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325806,"byte_end":325815,"line_start":116,"line_end":116,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325793,"byte_end":325801,"line_start":116,"line_end":116,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325854,"byte_end":325860,"line_start":118,"line_end":118,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743172}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325861,"byte_end":325868,"line_start":118,"line_end":118,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872260}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325870,"byte_end":325874,"line_start":118,"line_end":118,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325885,"byte_end":325897,"line_start":118,"line_end":118,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325924,"byte_end":325927,"line_start":120,"line_end":120,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325928,"byte_end":325935,"line_start":120,"line_end":120,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326031,"byte_end":326038,"line_start":122,"line_end":122,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325959,"byte_end":325962,"line_start":120,"line_end":120,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325952,"byte_end":325956,"line_start":120,"line_end":120,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325939,"byte_end":325943,"line_start":120,"line_end":120,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1275069764}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325944,"byte_end":325951,"line_start":120,"line_end":120,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3669}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325994,"byte_end":326000,"line_start":121,"line_end":121,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325985,"byte_end":325992,"line_start":121,"line_end":121,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326007,"byte_end":326016,"line_start":121,"line_end":121,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1341}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326001,"byte_end":326006,"line_start":121,"line_end":121,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":33555780}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326073,"byte_end":326077,"line_start":124,"line_end":124,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1275069764}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326078,"byte_end":326085,"line_start":124,"line_end":124,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3668}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326062,"byte_end":326066,"line_start":124,"line_end":124,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326127,"byte_end":326128,"line_start":125,"line_end":125,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3388998980}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326116,"byte_end":326120,"line_start":125,"line_end":125,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326107,"byte_end":326114,"line_start":125,"line_end":125,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326159,"byte_end":326165,"line_start":126,"line_end":126,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326147,"byte_end":326158,"line_start":126,"line_end":126,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":805307716}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326176,"byte_end":326184,"line_start":126,"line_end":126,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326197,"byte_end":326203,"line_start":126,"line_end":126,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326188,"byte_end":326195,"line_start":126,"line_end":126,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326206,"byte_end":326215,"line_start":126,"line_end":126,"column_start":76,"column_end":85},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326204,"byte_end":326205,"line_start":126,"line_end":126,"column_start":74,"column_end":75},"ref_id":{"krate":0,"index":3120563524}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326266,"byte_end":326272,"line_start":130,"line_end":130,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326254,"byte_end":326265,"line_start":130,"line_end":130,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307716}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326283,"byte_end":326291,"line_start":130,"line_end":130,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326304,"byte_end":326309,"line_start":130,"line_end":130,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326295,"byte_end":326302,"line_start":130,"line_end":130,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326310,"byte_end":326317,"line_start":130,"line_end":130,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":167773508}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326339,"byte_end":326341,"line_start":133,"line_end":133,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326351,"byte_end":326361,"line_start":133,"line_end":133,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326342,"byte_end":326349,"line_start":133,"line_end":133,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326362,"byte_end":326373,"line_start":133,"line_end":133,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307716}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326553,"byte_end":326558,"line_start":136,"line_end":136,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326452,"byte_end":326461,"line_start":136,"line_end":136,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326477,"byte_end":326486,"line_start":136,"line_end":136,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326496,"byte_end":326499,"line_start":136,"line_end":136,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326500,"byte_end":326507,"line_start":136,"line_end":136,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326513,"byte_end":326519,"line_start":136,"line_end":136,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326524,"byte_end":326532,"line_start":136,"line_end":136,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326578,"byte_end":326583,"line_start":137,"line_end":137,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178630}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326607,"byte_end":326613,"line_start":138,"line_end":138,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326598,"byte_end":326605,"line_start":138,"line_end":138,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326607,"byte_end":326613,"line_start":138,"line_end":138,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326598,"byte_end":326605,"line_start":138,"line_end":138,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326644,"byte_end":326653,"line_start":139,"line_end":139,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326654,"byte_end":326660,"line_start":139,"line_end":139,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614086}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326662,"byte_end":326668,"line_start":139,"line_end":139,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436806}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326676,"byte_end":326679,"line_start":139,"line_end":139,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":1336}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326682,"byte_end":326687,"line_start":139,"line_end":139,"column_start":61,"column_end":66},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326680,"byte_end":326681,"line_start":139,"line_end":139,"column_start":59,"column_end":60},"ref_id":{"krate":0,"index":1207960902}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326749,"byte_end":326751,"line_start":144,"line_end":144,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326893,"byte_end":326898,"line_start":147,"line_end":147,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326794,"byte_end":326803,"line_start":147,"line_end":147,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326819,"byte_end":326828,"line_start":147,"line_end":147,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326846,"byte_end":326852,"line_start":147,"line_end":147,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326853,"byte_end":326862,"line_start":147,"line_end":147,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326864,"byte_end":326872,"line_start":147,"line_end":147,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326936,"byte_end":326945,"line_start":149,"line_end":149,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326929,"byte_end":326935,"line_start":149,"line_end":149,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743176}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326946,"byte_end":326952,"line_start":149,"line_end":149,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872264}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326997,"byte_end":327007,"line_start":151,"line_end":151,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326990,"byte_end":326996,"line_start":151,"line_end":151,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872264}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327008,"byte_end":327014,"line_start":151,"line_end":151,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743176}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327015,"byte_end":327026,"line_start":151,"line_end":151,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327028,"byte_end":327032,"line_start":151,"line_end":151,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327043,"byte_end":327055,"line_start":151,"line_end":151,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327167,"byte_end":327171,"line_start":158,"line_end":158,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1677722952}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327172,"byte_end":327179,"line_start":158,"line_end":158,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327201,"byte_end":327204,"line_start":159,"line_end":159,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":469763400}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327209,"byte_end":327214,"line_start":159,"line_end":159,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610614088}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327249,"byte_end":327251,"line_start":160,"line_end":160,"column_start":33,"column_end":35},"ref_id":{"krate":0,"index":3422553416}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327237,"byte_end":327246,"line_start":160,"line_end":160,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3019900232}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327294,"byte_end":327296,"line_start":162,"line_end":162,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":3422553416}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327334,"byte_end":327343,"line_start":165,"line_end":165,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3019900232}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327375,"byte_end":327378,"line_start":166,"line_end":166,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327389,"byte_end":327392,"line_start":166,"line_end":166,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327379,"byte_end":327387,"line_start":166,"line_end":166,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327487,"byte_end":327496,"line_start":170,"line_end":170,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3019900232}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327544,"byte_end":327558,"line_start":172,"line_end":172,"column_start":40,"column_end":54},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327534,"byte_end":327541,"line_start":172,"line_end":172,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":1207960904}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327583,"byte_end":327593,"line_start":174,"line_end":174,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1224738120}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327666,"byte_end":327677,"line_start":176,"line_end":176,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327659,"byte_end":327665,"line_start":176,"line_end":176,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872264}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327720,"byte_end":327725,"line_start":178,"line_end":178,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3774874952}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327694,"byte_end":327705,"line_start":178,"line_end":178,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":2030044488}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327706,"byte_end":327716,"line_start":178,"line_end":178,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1224738120}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327746,"byte_end":327748,"line_start":179,"line_end":179,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327749,"byte_end":327755,"line_start":179,"line_end":179,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743176}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327822,"byte_end":327835,"line_start":183,"line_end":183,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327815,"byte_end":327821,"line_start":183,"line_end":183,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536872264}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327838,"byte_end":327843,"line_start":183,"line_end":183,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3774874952}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327802,"byte_end":327812,"line_start":183,"line_end":183,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1224738120}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327889,"byte_end":327903,"line_start":184,"line_end":184,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327867,"byte_end":327880,"line_start":184,"line_end":184,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327860,"byte_end":327866,"line_start":184,"line_end":184,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743176}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327881,"byte_end":327887,"line_start":184,"line_end":184,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872264}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327904,"byte_end":327914,"line_start":184,"line_end":184,"column_start":57,"column_end":67},"ref_id":{"krate":0,"index":1224738120}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327944,"byte_end":327946,"line_start":186,"line_end":186,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327947,"byte_end":327953,"line_start":186,"line_end":186,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743176}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328030,"byte_end":328033,"line_start":191,"line_end":191,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328034,"byte_end":328050,"line_start":191,"line_end":191,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328071,"byte_end":328077,"line_start":191,"line_end":191,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328078,"byte_end":328084,"line_start":191,"line_end":191,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328086,"byte_end":328094,"line_start":191,"line_end":191,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328131,"byte_end":328135,"line_start":192,"line_end":192,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328123,"byte_end":328129,"line_start":192,"line_end":192,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328180,"byte_end":328186,"line_start":194,"line_end":194,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743179}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328187,"byte_end":328194,"line_start":194,"line_end":194,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872267}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328196,"byte_end":328200,"line_start":194,"line_end":194,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328211,"byte_end":328223,"line_start":194,"line_end":194,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328255,"byte_end":328259,"line_start":196,"line_end":196,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":4160750923}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328260,"byte_end":328267,"line_start":196,"line_end":196,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3668}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328244,"byte_end":328248,"line_start":196,"line_end":196,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328311,"byte_end":328312,"line_start":197,"line_end":197,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1140852043}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328298,"byte_end":328302,"line_start":197,"line_end":197,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328289,"byte_end":328296,"line_start":197,"line_end":197,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328338,"byte_end":328346,"line_start":198,"line_end":198,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328331,"byte_end":328337,"line_start":198,"line_end":198,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328386,"byte_end":328394,"line_start":199,"line_end":199,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328379,"byte_end":328385,"line_start":199,"line_end":199,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328396,"byte_end":328400,"line_start":199,"line_end":199,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":872416587}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328426,"byte_end":328434,"line_start":200,"line_end":200,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328419,"byte_end":328425,"line_start":200,"line_end":200,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328484,"byte_end":328492,"line_start":204,"line_end":204,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328477,"byte_end":328483,"line_start":204,"line_end":204,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328548,"byte_end":328551,"line_start":206,"line_end":206,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328535,"byte_end":328539,"line_start":206,"line_end":206,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":4160750923}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328540,"byte_end":328547,"line_start":206,"line_end":206,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3669}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328608,"byte_end":328617,"line_start":207,"line_end":207,"column_start":50,"column_end":59},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328601,"byte_end":328605,"line_start":207,"line_end":207,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328588,"byte_end":328592,"line_start":207,"line_end":207,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":4160750923}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328593,"byte_end":328600,"line_start":207,"line_end":207,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3669}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328641,"byte_end":328649,"line_start":208,"line_end":208,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328634,"byte_end":328640,"line_start":208,"line_end":208,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328698,"byte_end":328704,"line_start":209,"line_end":209,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":637535563}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328685,"byte_end":328689,"line_start":209,"line_end":209,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328676,"byte_end":328683,"line_start":209,"line_end":209,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328730,"byte_end":328738,"line_start":210,"line_end":210,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328723,"byte_end":328729,"line_start":210,"line_end":210,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328744,"byte_end":328750,"line_start":210,"line_end":210,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328739,"byte_end":328743,"line_start":210,"line_end":210,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":2919236939}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328788,"byte_end":328796,"line_start":212,"line_end":212,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328781,"byte_end":328787,"line_start":212,"line_end":212,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328819,"byte_end":328822,"line_start":213,"line_end":213,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3321890123}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328825,"byte_end":328836,"line_start":213,"line_end":213,"column_start":22,"column_end":33},"ref_id":{"krate":0,"index":3657434443}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328862,"byte_end":328870,"line_start":214,"line_end":214,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328855,"byte_end":328861,"line_start":214,"line_end":214,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328917,"byte_end":328925,"line_start":217,"line_end":217,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328910,"byte_end":328916,"line_start":217,"line_end":217,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328956,"byte_end":328964,"line_start":220,"line_end":220,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328949,"byte_end":328955,"line_start":220,"line_end":220,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328981,"byte_end":328983,"line_start":222,"line_end":222,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328984,"byte_end":328990,"line_start":222,"line_end":222,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2952791371}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329037,"byte_end":329040,"line_start":225,"line_end":225,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329041,"byte_end":329057,"line_start":225,"line_end":225,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329097,"byte_end":329100,"line_start":225,"line_end":225,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329101,"byte_end":329107,"line_start":225,"line_end":225,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329113,"byte_end":329119,"line_start":225,"line_end":225,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329127,"byte_end":329130,"line_start":225,"line_end":225,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329136,"byte_end":329139,"line_start":225,"line_end":225,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329140,"byte_end":329156,"line_start":225,"line_end":225,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329160,"byte_end":329168,"line_start":225,"line_end":225,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329201,"byte_end":329204,"line_start":226,"line_end":226,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329216,"byte_end":329219,"line_start":226,"line_end":226,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329211,"byte_end":329214,"line_start":226,"line_end":226,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329243,"byte_end":329247,"line_start":227,"line_end":227,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329231,"byte_end":329242,"line_start":227,"line_end":227,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671089996}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329261,"byte_end":329265,"line_start":227,"line_end":227,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329248,"byte_end":329259,"line_start":227,"line_end":227,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329300,"byte_end":329303,"line_start":229,"line_end":229,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329304,"byte_end":329311,"line_start":229,"line_end":229,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329320,"byte_end":329323,"line_start":229,"line_end":229,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329315,"byte_end":329318,"line_start":229,"line_end":229,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329358,"byte_end":329364,"line_start":231,"line_end":231,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329365,"byte_end":329371,"line_start":231,"line_end":231,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329375,"byte_end":329379,"line_start":231,"line_end":231,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329413,"byte_end":329419,"line_start":233,"line_end":233,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329420,"byte_end":329427,"line_start":233,"line_end":233,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329431,"byte_end":329435,"line_start":233,"line_end":233,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329468,"byte_end":329474,"line_start":234,"line_end":234,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329481,"byte_end":329485,"line_start":234,"line_end":234,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329504,"byte_end":329507,"line_start":236,"line_end":236,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329499,"byte_end":329503,"line_start":236,"line_end":236,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436812}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329535,"byte_end":329539,"line_start":237,"line_end":237,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436812}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329578,"byte_end":329588,"line_start":238,"line_end":238,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329569,"byte_end":329575,"line_start":238,"line_end":238,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329561,"byte_end":329567,"line_start":238,"line_end":238,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329636,"byte_end":329646,"line_start":239,"line_end":239,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1778386252}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329679,"byte_end":329682,"line_start":240,"line_end":240,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614092}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329691,"byte_end":329694,"line_start":240,"line_end":240,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3657434444}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329786,"byte_end":329791,"line_start":242,"line_end":242,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":973079884}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329847,"byte_end":329851,"line_start":243,"line_end":243,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329838,"byte_end":329844,"line_start":243,"line_end":243,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329830,"byte_end":329836,"line_start":243,"line_end":243,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329914,"byte_end":329918,"line_start":244,"line_end":244,"column_start":56,"column_end":60},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329927,"byte_end":329931,"line_start":244,"line_end":244,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329919,"byte_end":329925,"line_start":244,"line_end":244,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329932,"byte_end":329935,"line_start":244,"line_end":244,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":1610614092}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329944,"byte_end":329948,"line_start":244,"line_end":244,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":771753292}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329899,"byte_end":329911,"line_start":244,"line_end":244,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":738198860}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330183,"byte_end":330188,"line_start":250,"line_end":250,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":973079884}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330243,"byte_end":330249,"line_start":251,"line_end":251,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330235,"byte_end":330240,"line_start":251,"line_end":251,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330227,"byte_end":330233,"line_start":251,"line_end":251,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330311,"byte_end":330317,"line_start":252,"line_end":252,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":1493173580}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330370,"byte_end":330376,"line_start":253,"line_end":253,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":4177528140}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330444,"byte_end":330448,"line_start":254,"line_end":254,"column_start":66,"column_end":70},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330435,"byte_end":330441,"line_start":254,"line_end":254,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330427,"byte_end":330433,"line_start":254,"line_end":254,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330519,"byte_end":330522,"line_start":255,"line_end":255,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610614092}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330531,"byte_end":330535,"line_start":255,"line_end":255,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3573548364}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330593,"byte_end":330597,"line_start":256,"line_end":256,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":1828717900}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330675,"byte_end":330678,"line_start":257,"line_end":257,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330689,"byte_end":330692,"line_start":257,"line_end":257,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330679,"byte_end":330687,"line_start":257,"line_end":257,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330869,"byte_end":330873,"line_start":259,"line_end":259,"column_start":61,"column_end":65},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330861,"byte_end":330868,"line_start":259,"line_end":259,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330883,"byte_end":330886,"line_start":259,"line_end":259,"column_start":75,"column_end":78},"ref_id":{"krate":0,"index":1336}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330874,"byte_end":330881,"line_start":259,"line_end":259,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330895,"byte_end":330899,"line_start":259,"line_end":259,"column_start":87,"column_end":91},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330887,"byte_end":330893,"line_start":259,"line_end":259,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330900,"byte_end":330904,"line_start":259,"line_end":259,"column_start":92,"column_end":96},"ref_id":{"krate":0,"index":1828717900}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331427,"byte_end":331430,"line_start":276,"line_end":276,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331419,"byte_end":331426,"line_start":276,"line_end":276,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331460,"byte_end":331463,"line_start":277,"line_end":277,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331474,"byte_end":331477,"line_start":277,"line_end":277,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331464,"byte_end":331472,"line_start":277,"line_end":277,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331554,"byte_end":331557,"line_start":278,"line_end":278,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331546,"byte_end":331553,"line_start":278,"line_end":278,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331586,"byte_end":331589,"line_start":279,"line_end":279,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331600,"byte_end":331603,"line_start":279,"line_end":279,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331590,"byte_end":331598,"line_start":279,"line_end":279,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331687,"byte_end":331699,"line_start":282,"line_end":282,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":738198860}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331676,"byte_end":331680,"line_start":282,"line_end":282,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331750,"byte_end":331759,"line_start":283,"line_end":283,"column_start":49,"column_end":58},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331743,"byte_end":331747,"line_start":283,"line_end":283,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331735,"byte_end":331742,"line_start":283,"line_end":283,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331783,"byte_end":331784,"line_start":284,"line_end":284,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":310379852}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331795,"byte_end":331801,"line_start":284,"line_end":284,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1340}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331788,"byte_end":331794,"line_start":284,"line_end":284,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2860516684}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331842,"byte_end":331846,"line_start":285,"line_end":285,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331854,"byte_end":331859,"line_start":285,"line_end":285,"column_start":49,"column_end":54},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331847,"byte_end":331853,"line_start":285,"line_end":285,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":2860516684}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331826,"byte_end":331839,"line_start":285,"line_end":285,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3154117964}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331900,"byte_end":331904,"line_start":286,"line_end":286,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331905,"byte_end":331908,"line_start":286,"line_end":286,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":713033036}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331884,"byte_end":331897,"line_start":286,"line_end":286,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":1644168524}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332000,"byte_end":332013,"line_start":292,"line_end":292,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":1644168524}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332028,"byte_end":332032,"line_start":293,"line_end":293,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332028,"byte_end":332032,"line_start":293,"line_end":293,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332051,"byte_end":332055,"line_start":293,"line_end":293,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332039,"byte_end":332050,"line_start":293,"line_end":293,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":671089996}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332057,"byte_end":332058,"line_start":293,"line_end":293,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3917481292}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332077,"byte_end":332081,"line_start":294,"line_end":294,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332077,"byte_end":332081,"line_start":294,"line_end":294,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332097,"byte_end":332101,"line_start":294,"line_end":294,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332085,"byte_end":332096,"line_start":294,"line_end":294,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":671089996}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332155,"byte_end":332159,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332143,"byte_end":332154,"line_start":298,"line_end":298,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671089996}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332168,"byte_end":332171,"line_start":298,"line_end":298,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332160,"byte_end":332167,"line_start":298,"line_end":298,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332205,"byte_end":332212,"line_start":299,"line_end":299,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332239,"byte_end":332243,"line_start":300,"line_end":300,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332227,"byte_end":332238,"line_start":300,"line_end":300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671089996}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332251,"byte_end":332254,"line_start":300,"line_end":300,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1338}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332244,"byte_end":332250,"line_start":300,"line_end":300,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3716154700}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332289,"byte_end":332295,"line_start":301,"line_end":301,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332277,"byte_end":332288,"line_start":301,"line_end":301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671089996}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332314,"byte_end":332320,"line_start":301,"line_end":301,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332303,"byte_end":332311,"line_start":301,"line_end":301,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1339}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332296,"byte_end":332302,"line_start":301,"line_end":301,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3716154700}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332350,"byte_end":332354,"line_start":304,"line_end":304,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332343,"byte_end":332349,"line_start":304,"line_end":304,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743180}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332355,"byte_end":332371,"line_start":304,"line_end":304,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332387,"byte_end":332390,"line_start":305,"line_end":305,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332407,"byte_end":332412,"line_start":305,"line_end":305,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332392,"byte_end":332405,"line_start":305,"line_end":305,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332429,"byte_end":332430,"line_start":306,"line_end":306,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332445,"byte_end":332449,"line_start":306,"line_end":306,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332432,"byte_end":332443,"line_start":306,"line_end":306,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332463,"byte_end":332471,"line_start":307,"line_end":307,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332491,"byte_end":332495,"line_start":308,"line_end":308,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332502,"byte_end":332505,"line_start":308,"line_end":308,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332497,"byte_end":332500,"line_start":308,"line_end":308,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332511,"byte_end":332519,"line_start":308,"line_end":308,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332506,"byte_end":332509,"line_start":308,"line_end":308,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332525,"byte_end":332528,"line_start":308,"line_end":308,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332520,"byte_end":332523,"line_start":308,"line_end":308,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332529,"byte_end":332541,"line_start":308,"line_end":308,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332544,"byte_end":332551,"line_start":308,"line_end":308,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332544,"byte_end":332551,"line_start":308,"line_end":308,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3556771148}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332553,"byte_end":332560,"line_start":308,"line_end":308,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332562,"byte_end":332575,"line_start":308,"line_end":308,"column_start":84,"column_end":97},"ref_id":{"krate":0,"index":3154117964}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332621,"byte_end":332623,"line_start":311,"line_end":311,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332631,"byte_end":332642,"line_start":311,"line_end":311,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":671089996}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332644,"byte_end":332650,"line_start":311,"line_end":311,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743180}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332772,"byte_end":332777,"line_start":314,"line_end":314,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332688,"byte_end":332697,"line_start":314,"line_end":314,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332715,"byte_end":332724,"line_start":314,"line_end":314,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332729,"byte_end":332735,"line_start":314,"line_end":314,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332736,"byte_end":332742,"line_start":314,"line_end":314,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332750,"byte_end":332758,"line_start":314,"line_end":314,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332815,"byte_end":332824,"line_start":316,"line_end":316,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332808,"byte_end":332814,"line_start":316,"line_end":316,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743181}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332825,"byte_end":332831,"line_start":316,"line_end":316,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872269}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332872,"byte_end":332886,"line_start":318,"line_end":318,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332862,"byte_end":332869,"line_start":318,"line_end":318,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134219085}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332934,"byte_end":332944,"line_start":321,"line_end":321,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623880013}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332971,"byte_end":332973,"line_start":322,"line_end":322,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332974,"byte_end":332978,"line_start":322,"line_end":322,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333031,"byte_end":333041,"line_start":325,"line_end":325,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333024,"byte_end":333030,"line_start":325,"line_end":325,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872269}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333042,"byte_end":333048,"line_start":325,"line_end":325,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743181}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333049,"byte_end":333060,"line_start":325,"line_end":325,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333062,"byte_end":333066,"line_start":325,"line_end":325,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333077,"byte_end":333089,"line_start":325,"line_end":325,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333105,"byte_end":333107,"line_start":327,"line_end":327,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333121,"byte_end":333131,"line_start":327,"line_end":327,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333114,"byte_end":333120,"line_start":327,"line_end":327,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872269}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333132,"byte_end":333142,"line_start":327,"line_end":327,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3623880013}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333158,"byte_end":333162,"line_start":328,"line_end":328,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333158,"byte_end":333162,"line_start":328,"line_end":328,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333203,"byte_end":333204,"line_start":329,"line_end":329,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2449474893}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333235,"byte_end":333244,"line_start":331,"line_end":331,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3388998989}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333260,"byte_end":333263,"line_start":331,"line_end":331,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333247,"byte_end":333251,"line_start":331,"line_end":331,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4227859789}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333252,"byte_end":333259,"line_start":331,"line_end":331,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3669}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333288,"byte_end":333292,"line_start":332,"line_end":332,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333338,"byte_end":333342,"line_start":334,"line_end":334,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333367,"byte_end":333372,"line_start":334,"line_end":334,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333343,"byte_end":333347,"line_start":334,"line_end":334,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4227859789}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333348,"byte_end":333355,"line_start":334,"line_end":334,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333356,"byte_end":333365,"line_start":334,"line_end":334,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3388998989}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333421,"byte_end":333425,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333421,"byte_end":333425,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333429,"byte_end":333433,"line_start":337,"line_end":337,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333525,"byte_end":333528,"line_start":342,"line_end":342,"column_start":65,"column_end":68},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333529,"byte_end":333545,"line_start":342,"line_end":342,"column_start":69,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333551,"byte_end":333557,"line_start":342,"line_end":342,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333599,"byte_end":333605,"line_start":344,"line_end":344,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614095}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333606,"byte_end":333617,"line_start":344,"line_end":344,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":536872271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333619,"byte_end":333623,"line_start":344,"line_end":344,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333634,"byte_end":333646,"line_start":344,"line_end":344,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333679,"byte_end":333683,"line_start":347,"line_end":347,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402654543}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333684,"byte_end":333691,"line_start":347,"line_end":347,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3668}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333668,"byte_end":333672,"line_start":347,"line_end":347,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333706,"byte_end":333710,"line_start":348,"line_end":348,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333713,"byte_end":333718,"line_start":348,"line_end":348,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333711,"byte_end":333712,"line_start":348,"line_end":348,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623880015}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333751,"byte_end":333755,"line_start":350,"line_end":350,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333823,"byte_end":333832,"line_start":355,"line_end":355,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333850,"byte_end":333859,"line_start":355,"line_end":355,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333864,"byte_end":333871,"line_start":355,"line_end":355,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333895,"byte_end":333905,"line_start":357,"line_end":357,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333906,"byte_end":333912,"line_start":357,"line_end":357,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872272}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333914,"byte_end":333920,"line_start":357,"line_end":357,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610614096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333936,"byte_end":333938,"line_start":358,"line_end":358,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333936,"byte_end":333938,"line_start":358,"line_end":358,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333969,"byte_end":333970,"line_start":359,"line_end":359,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333993,"byte_end":333997,"line_start":360,"line_end":360,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333993,"byte_end":333997,"line_start":360,"line_end":360,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334036,"byte_end":334037,"line_start":361,"line_end":361,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3892315472}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334077,"byte_end":334081,"line_start":362,"line_end":362,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334068,"byte_end":334075,"line_start":362,"line_end":362,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334077,"byte_end":334081,"line_start":362,"line_end":362,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334068,"byte_end":334075,"line_start":362,"line_end":362,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334139,"byte_end":334145,"line_start":363,"line_end":363,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334130,"byte_end":334137,"line_start":363,"line_end":363,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334156,"byte_end":334165,"line_start":363,"line_end":363,"column_start":59,"column_end":68},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334146,"byte_end":334155,"line_start":363,"line_end":363,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":2013267280}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334237,"byte_end":334241,"line_start":365,"line_end":365,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334228,"byte_end":334235,"line_start":365,"line_end":365,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334237,"byte_end":334241,"line_start":365,"line_end":365,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334228,"byte_end":334235,"line_start":365,"line_end":365,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334310,"byte_end":334320,"line_start":366,"line_end":366,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334303,"byte_end":334309,"line_start":366,"line_end":366,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610614096}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334321,"byte_end":334327,"line_start":366,"line_end":366,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":536872272}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334328,"byte_end":334339,"line_start":366,"line_end":366,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334341,"byte_end":334345,"line_start":366,"line_end":366,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334356,"byte_end":334368,"line_start":366,"line_end":366,"column_start":110,"column_end":122},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334424,"byte_end":334428,"line_start":368,"line_end":368,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1107297616}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334429,"byte_end":334436,"line_start":368,"line_end":368,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3668}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334413,"byte_end":334417,"line_start":368,"line_end":368,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334481,"byte_end":334482,"line_start":369,"line_end":369,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2717910352}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334534,"byte_end":334538,"line_start":370,"line_end":370,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334525,"byte_end":334532,"line_start":370,"line_end":370,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334534,"byte_end":334538,"line_start":370,"line_end":370,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334525,"byte_end":334532,"line_start":370,"line_end":370,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334602,"byte_end":334608,"line_start":371,"line_end":371,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334593,"byte_end":334600,"line_start":371,"line_end":371,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334613,"byte_end":334618,"line_start":371,"line_end":371,"column_start":65,"column_end":70},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334609,"byte_end":334612,"line_start":371,"line_end":371,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":167773520}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334714,"byte_end":334718,"line_start":373,"line_end":373,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334705,"byte_end":334712,"line_start":373,"line_end":373,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334714,"byte_end":334718,"line_start":373,"line_end":373,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334705,"byte_end":334712,"line_start":373,"line_end":373,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334777,"byte_end":334781,"line_start":374,"line_end":374,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334768,"byte_end":334775,"line_start":374,"line_end":374,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334948,"byte_end":334952,"line_start":378,"line_end":378,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334939,"byte_end":334946,"line_start":378,"line_end":378,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335121,"byte_end":335125,"line_start":384,"line_end":384,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335121,"byte_end":335125,"line_start":384,"line_end":384,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335186,"byte_end":335196,"line_start":385,"line_end":385,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335179,"byte_end":335185,"line_start":385,"line_end":385,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614096}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335197,"byte_end":335203,"line_start":385,"line_end":385,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536872272}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335204,"byte_end":335215,"line_start":385,"line_end":385,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335217,"byte_end":335221,"line_start":385,"line_end":385,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335232,"byte_end":335244,"line_start":385,"line_end":385,"column_start":102,"column_end":114},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335292,"byte_end":335296,"line_start":387,"line_end":387,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2432697680}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335297,"byte_end":335304,"line_start":387,"line_end":387,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3668}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335281,"byte_end":335285,"line_start":387,"line_end":387,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335341,"byte_end":335342,"line_start":388,"line_end":388,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":822084944}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335386,"byte_end":335390,"line_start":389,"line_end":389,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335377,"byte_end":335384,"line_start":389,"line_end":389,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335386,"byte_end":335390,"line_start":389,"line_end":389,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3191}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335377,"byte_end":335384,"line_start":389,"line_end":389,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335406,"byte_end":335412,"line_start":389,"line_end":389,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335397,"byte_end":335404,"line_start":389,"line_end":389,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335415,"byte_end":335420,"line_start":389,"line_end":389,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335413,"byte_end":335414,"line_start":389,"line_end":389,"column_start":69,"column_end":70},"ref_id":{"krate":0,"index":3909092688}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335466,"byte_end":335470,"line_start":390,"line_end":390,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335457,"byte_end":335464,"line_start":390,"line_end":390,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335466,"byte_end":335470,"line_start":390,"line_end":390,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335457,"byte_end":335464,"line_start":390,"line_end":390,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335483,"byte_end":335487,"line_start":390,"line_end":390,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335474,"byte_end":335481,"line_start":390,"line_end":390,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335588,"byte_end":335592,"line_start":393,"line_end":393,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335579,"byte_end":335586,"line_start":393,"line_end":393,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335713,"byte_end":335716,"line_start":399,"line_end":399,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335713,"byte_end":335716,"line_start":399,"line_end":399,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335751,"byte_end":335755,"line_start":400,"line_end":400,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335742,"byte_end":335749,"line_start":400,"line_end":400,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335826,"byte_end":335835,"line_start":405,"line_end":405,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335846,"byte_end":335855,"line_start":405,"line_end":405,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335860,"byte_end":335866,"line_start":405,"line_end":405,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335874,"byte_end":335882,"line_start":405,"line_end":405,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335920,"byte_end":335929,"line_start":406,"line_end":406,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335913,"byte_end":335919,"line_start":406,"line_end":406,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872273}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335930,"byte_end":335936,"line_start":406,"line_end":406,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614097}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335980,"byte_end":335994,"line_start":408,"line_end":408,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335970,"byte_end":335977,"line_start":408,"line_end":408,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":1207960913}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336019,"byte_end":336032,"line_start":410,"line_end":410,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087009105}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336059,"byte_end":336061,"line_start":411,"line_end":411,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336095,"byte_end":336097,"line_start":413,"line_end":413,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336109,"byte_end":336116,"line_start":413,"line_end":413,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":336098,"byte_end":336102,"line_start":413,"line_end":413,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":336104,"byte_end":336107,"line_start":413,"line_end":413,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336182,"byte_end":336185,"line_start":417,"line_end":417,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336186,"byte_end":336202,"line_start":417,"line_end":417,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336219,"byte_end":336222,"line_start":417,"line_end":417,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336223,"byte_end":336230,"line_start":417,"line_end":417,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336236,"byte_end":336242,"line_start":417,"line_end":417,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336250,"byte_end":336253,"line_start":417,"line_end":417,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336259,"byte_end":336262,"line_start":417,"line_end":417,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336263,"byte_end":336279,"line_start":417,"line_end":417,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336283,"byte_end":336291,"line_start":417,"line_end":417,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336326,"byte_end":336329,"line_start":420,"line_end":420,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336341,"byte_end":336344,"line_start":420,"line_end":420,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336336,"byte_end":336339,"line_start":420,"line_end":420,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336368,"byte_end":336372,"line_start":421,"line_end":421,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336356,"byte_end":336367,"line_start":421,"line_end":421,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219091}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336386,"byte_end":336390,"line_start":421,"line_end":421,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336373,"byte_end":336384,"line_start":421,"line_end":421,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336425,"byte_end":336428,"line_start":423,"line_end":423,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336429,"byte_end":336436,"line_start":423,"line_end":423,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336445,"byte_end":336448,"line_start":423,"line_end":423,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336440,"byte_end":336443,"line_start":423,"line_end":423,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336483,"byte_end":336489,"line_start":425,"line_end":425,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336490,"byte_end":336496,"line_start":425,"line_end":425,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336500,"byte_end":336504,"line_start":425,"line_end":425,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336522,"byte_end":336533,"line_start":427,"line_end":427,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872275}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336568,"byte_end":336574,"line_start":428,"line_end":428,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336559,"byte_end":336566,"line_start":428,"line_end":428,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336568,"byte_end":336574,"line_start":428,"line_end":428,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336559,"byte_end":336566,"line_start":428,"line_end":428,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336616,"byte_end":336620,"line_start":429,"line_end":429,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336625,"byte_end":336630,"line_start":429,"line_end":429,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336621,"byte_end":336624,"line_start":429,"line_end":429,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":469763411}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336601,"byte_end":336613,"line_start":429,"line_end":429,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":201327955}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336712,"byte_end":336718,"line_start":434,"line_end":434,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336719,"byte_end":336726,"line_start":434,"line_end":434,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336730,"byte_end":336734,"line_start":434,"line_end":434,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336767,"byte_end":336773,"line_start":435,"line_end":435,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336780,"byte_end":336784,"line_start":435,"line_end":435,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336802,"byte_end":336813,"line_start":437,"line_end":437,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872275}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336848,"byte_end":336853,"line_start":438,"line_end":438,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336839,"byte_end":336846,"line_start":438,"line_end":438,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336848,"byte_end":336853,"line_start":438,"line_end":438,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336839,"byte_end":336846,"line_start":438,"line_end":438,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336889,"byte_end":336890,"line_start":439,"line_end":439,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":3858761043}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336919,"byte_end":336922,"line_start":440,"line_end":440,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":905971027}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336958,"byte_end":336964,"line_start":441,"line_end":441,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336949,"byte_end":336956,"line_start":441,"line_end":441,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336958,"byte_end":336964,"line_start":441,"line_end":441,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336949,"byte_end":336956,"line_start":441,"line_end":441,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337012,"byte_end":337015,"line_start":442,"line_end":442,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":5601}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337007,"byte_end":337011,"line_start":442,"line_end":442,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3992978771}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337065,"byte_end":337068,"line_start":443,"line_end":443,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337079,"byte_end":337082,"line_start":443,"line_end":443,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337069,"byte_end":337077,"line_start":443,"line_end":443,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337226,"byte_end":337238,"line_start":446,"line_end":446,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":201327955}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337213,"byte_end":337217,"line_start":446,"line_end":446,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337276,"byte_end":337279,"line_start":447,"line_end":447,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2298479955}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337283,"byte_end":337287,"line_start":447,"line_end":447,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3992978771}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337342,"byte_end":337346,"line_start":448,"line_end":448,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337356,"byte_end":337359,"line_start":448,"line_end":448,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":1336}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337347,"byte_end":337354,"line_start":448,"line_end":448,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337364,"byte_end":337369,"line_start":448,"line_end":448,"column_start":75,"column_end":80},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337360,"byte_end":337363,"line_start":448,"line_end":448,"column_start":71,"column_end":74},"ref_id":{"krate":0,"index":2298479955}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337326,"byte_end":337339,"line_start":448,"line_end":448,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":1778386259}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337427,"byte_end":337431,"line_start":449,"line_end":449,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337440,"byte_end":337443,"line_start":449,"line_end":449,"column_start":66,"column_end":69},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337432,"byte_end":337439,"line_start":449,"line_end":449,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337411,"byte_end":337424,"line_start":449,"line_end":449,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":4194305363}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337554,"byte_end":337558,"line_start":452,"line_end":452,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337546,"byte_end":337553,"line_start":452,"line_end":452,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337568,"byte_end":337571,"line_start":452,"line_end":452,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1336}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337559,"byte_end":337566,"line_start":452,"line_end":452,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337577,"byte_end":337582,"line_start":452,"line_end":452,"column_start":60,"column_end":65},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337572,"byte_end":337576,"line_start":452,"line_end":452,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3992978771}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337744,"byte_end":337747,"line_start":459,"line_end":459,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337758,"byte_end":337761,"line_start":459,"line_end":459,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337748,"byte_end":337756,"line_start":459,"line_end":459,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337875,"byte_end":337878,"line_start":463,"line_end":463,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337867,"byte_end":337874,"line_start":463,"line_end":463,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337908,"byte_end":337911,"line_start":464,"line_end":464,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337922,"byte_end":337925,"line_start":464,"line_end":464,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337912,"byte_end":337920,"line_start":464,"line_end":464,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338030,"byte_end":338043,"line_start":468,"line_end":468,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":4194305363}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338058,"byte_end":338062,"line_start":469,"line_end":469,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338058,"byte_end":338062,"line_start":469,"line_end":469,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338081,"byte_end":338085,"line_start":469,"line_end":469,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338069,"byte_end":338080,"line_start":469,"line_end":469,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":134219091}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338087,"byte_end":338088,"line_start":469,"line_end":469,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1216349523}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338107,"byte_end":338111,"line_start":470,"line_end":470,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338107,"byte_end":338111,"line_start":470,"line_end":470,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338127,"byte_end":338131,"line_start":470,"line_end":470,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338115,"byte_end":338126,"line_start":470,"line_end":470,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":134219091}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338185,"byte_end":338189,"line_start":474,"line_end":474,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338173,"byte_end":338184,"line_start":474,"line_end":474,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219091}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338198,"byte_end":338201,"line_start":474,"line_end":474,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338190,"byte_end":338197,"line_start":474,"line_end":474,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338235,"byte_end":338242,"line_start":475,"line_end":475,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338269,"byte_end":338273,"line_start":476,"line_end":476,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338257,"byte_end":338268,"line_start":476,"line_end":476,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219091}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338281,"byte_end":338284,"line_start":476,"line_end":476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1338}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338274,"byte_end":338280,"line_start":476,"line_end":476,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1820329299}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338319,"byte_end":338325,"line_start":477,"line_end":477,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338307,"byte_end":338318,"line_start":477,"line_end":477,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219091}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338344,"byte_end":338350,"line_start":477,"line_end":477,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338333,"byte_end":338341,"line_start":477,"line_end":477,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1339}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338326,"byte_end":338332,"line_start":477,"line_end":477,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1820329299}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338380,"byte_end":338384,"line_start":480,"line_end":480,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338373,"byte_end":338379,"line_start":480,"line_end":480,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743187}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338385,"byte_end":338401,"line_start":480,"line_end":480,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338417,"byte_end":338420,"line_start":481,"line_end":481,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338437,"byte_end":338442,"line_start":481,"line_end":481,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338422,"byte_end":338435,"line_start":481,"line_end":481,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338459,"byte_end":338460,"line_start":482,"line_end":482,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338475,"byte_end":338479,"line_start":482,"line_end":482,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338462,"byte_end":338473,"line_start":482,"line_end":482,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338493,"byte_end":338501,"line_start":483,"line_end":483,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338521,"byte_end":338525,"line_start":484,"line_end":484,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338532,"byte_end":338535,"line_start":484,"line_end":484,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338527,"byte_end":338530,"line_start":484,"line_end":484,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338541,"byte_end":338549,"line_start":484,"line_end":484,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338536,"byte_end":338539,"line_start":484,"line_end":484,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338555,"byte_end":338558,"line_start":484,"line_end":484,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338550,"byte_end":338553,"line_start":484,"line_end":484,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338559,"byte_end":338571,"line_start":484,"line_end":484,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338574,"byte_end":338581,"line_start":484,"line_end":484,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338583,"byte_end":338590,"line_start":484,"line_end":484,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":3825206611}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338592,"byte_end":338599,"line_start":484,"line_end":484,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338601,"byte_end":338614,"line_start":484,"line_end":484,"column_start":93,"column_end":106},"ref_id":{"krate":0,"index":1778386259}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338661,"byte_end":338663,"line_start":487,"line_end":487,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338671,"byte_end":338682,"line_start":487,"line_end":487,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219091}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338684,"byte_end":338690,"line_start":487,"line_end":487,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743187}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338746,"byte_end":338749,"line_start":491,"line_end":491,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338750,"byte_end":338766,"line_start":491,"line_end":491,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338809,"byte_end":338812,"line_start":491,"line_end":491,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338813,"byte_end":338829,"line_start":491,"line_end":491,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338865,"byte_end":338871,"line_start":492,"line_end":492,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338878,"byte_end":338882,"line_start":492,"line_end":492,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338915,"byte_end":338921,"line_start":493,"line_end":493,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338922,"byte_end":338929,"line_start":493,"line_end":493,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338933,"byte_end":338937,"line_start":493,"line_end":493,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338951,"byte_end":338956,"line_start":495,"line_end":495,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610614100}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338957,"byte_end":338964,"line_start":495,"line_end":495,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":536872276}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339004,"byte_end":339008,"line_start":496,"line_end":496,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339009,"byte_end":339014,"line_start":496,"line_end":496,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1610614100}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339015,"byte_end":339022,"line_start":496,"line_end":496,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872276}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338988,"byte_end":339001,"line_start":496,"line_end":496,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":4026533204}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339071,"byte_end":339076,"line_start":499,"line_end":499,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1610614100}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339077,"byte_end":339084,"line_start":499,"line_end":499,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872276}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339117,"byte_end":339120,"line_start":501,"line_end":501,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339121,"byte_end":339128,"line_start":501,"line_end":501,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339137,"byte_end":339140,"line_start":501,"line_end":501,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339132,"byte_end":339135,"line_start":501,"line_end":501,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339176,"byte_end":339183,"line_start":502,"line_end":502,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872276}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339206,"byte_end":339220,"line_start":503,"line_end":503,"column_start":18,"column_end":32},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339206,"byte_end":339207,"line_start":503,"line_end":503,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339209,"byte_end":339220,"line_start":503,"line_end":503,"column_start":21,"column_end":32},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339209,"byte_end":339220,"line_start":503,"line_end":503,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":33555796}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339253,"byte_end":339258,"line_start":504,"line_end":504,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1610614100}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339259,"byte_end":339265,"line_start":504,"line_end":504,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2852128084}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339309,"byte_end":339314,"line_start":505,"line_end":505,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":1610614100}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339315,"byte_end":339355,"line_start":505,"line_end":505,"column_start":39,"column_end":79},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339315,"byte_end":339327,"line_start":505,"line_end":505,"column_start":39,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339316,"byte_end":339322,"line_start":505,"line_end":505,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2852128084}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339329,"byte_end":339355,"line_start":505,"line_end":505,"column_start":53,"column_end":79},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339330,"byte_end":339336,"line_start":505,"line_end":505,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":2852128084}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339343,"byte_end":339354,"line_start":505,"line_end":505,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3053454676}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339410,"byte_end":339429,"line_start":506,"line_end":506,"column_start":53,"column_end":72},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":339399,"byte_end":339403,"line_start":506,"line_end":506,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":339405,"byte_end":339408,"line_start":506,"line_end":506,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339430,"byte_end":339442,"line_start":506,"line_end":506,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":1090520404}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339467,"byte_end":339471,"line_start":507,"line_end":507,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339459,"byte_end":339466,"line_start":507,"line_end":507,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":838862164}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339481,"byte_end":339484,"line_start":507,"line_end":507,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1336}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339472,"byte_end":339479,"line_start":507,"line_end":507,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339499,"byte_end":339508,"line_start":507,"line_end":507,"column_start":53,"column_end":62},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339485,"byte_end":339498,"line_start":507,"line_end":507,"column_start":39,"column_end":52},"ref_id":{"krate":0,"index":1895826772}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339540,"byte_end":339551,"line_start":508,"line_end":508,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3053454676}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339526,"byte_end":339532,"line_start":508,"line_end":508,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2852128084}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339585,"byte_end":339598,"line_start":510,"line_end":510,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":4026533204}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339573,"byte_end":339577,"line_start":510,"line_end":510,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339620,"byte_end":339623,"line_start":511,"line_end":511,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3841983828}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339627,"byte_end":339628,"line_start":511,"line_end":511,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":973079892}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339667,"byte_end":339671,"line_start":512,"line_end":512,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339681,"byte_end":339684,"line_start":512,"line_end":512,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1336}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339672,"byte_end":339679,"line_start":512,"line_end":512,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3188}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339699,"byte_end":339708,"line_start":512,"line_end":512,"column_start":69,"column_end":78},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339685,"byte_end":339698,"line_start":512,"line_end":512,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":1895826772}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339651,"byte_end":339664,"line_start":512,"line_end":512,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":402654548}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339772,"byte_end":339776,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339765,"byte_end":339771,"line_start":517,"line_end":517,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339777,"byte_end":339793,"line_start":517,"line_end":517,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339808,"byte_end":339811,"line_start":518,"line_end":518,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339828,"byte_end":339833,"line_start":518,"line_end":518,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339813,"byte_end":339826,"line_start":518,"line_end":518,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339850,"byte_end":339851,"line_start":519,"line_end":519,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339866,"byte_end":339870,"line_start":519,"line_end":519,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339853,"byte_end":339864,"line_start":519,"line_end":519,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339884,"byte_end":339892,"line_start":520,"line_end":520,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339912,"byte_end":339916,"line_start":521,"line_end":521,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339923,"byte_end":339926,"line_start":521,"line_end":521,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339918,"byte_end":339921,"line_start":521,"line_end":521,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339932,"byte_end":339940,"line_start":521,"line_end":521,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339927,"byte_end":339930,"line_start":521,"line_end":521,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339946,"byte_end":339949,"line_start":521,"line_end":521,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339941,"byte_end":339944,"line_start":521,"line_end":521,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339950,"byte_end":339962,"line_start":521,"line_end":521,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3667}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339965,"byte_end":339972,"line_start":521,"line_end":521,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339974,"byte_end":339981,"line_start":521,"line_end":521,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":838862164}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339983,"byte_end":339990,"line_start":521,"line_end":521,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339992,"byte_end":340005,"line_start":521,"line_end":521,"column_start":93,"column_end":106},"ref_id":{"krate":0,"index":402654548}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340052,"byte_end":340058,"line_start":524,"line_end":524,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743188}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57467,"byte_end":57471,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1365}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":342964,"byte_end":342969,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":342972,"byte_end":342978,"line_start":21,"line_end":21,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":342964,"byte_end":342969,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":342988,"byte_end":342992,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343012,"byte_end":343015,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343012,"byte_end":343015,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3589}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3589}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343099,"byte_end":343104,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343106,"byte_end":343109,"line_start":23,"line_end":23,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343120,"byte_end":343125,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343127,"byte_end":343136,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343120,"byte_end":343125,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343127,"byte_end":343136,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343160,"byte_end":343165,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343167,"byte_end":343173,"line_start":25,"line_end":25,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343194,"byte_end":343199,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343202,"byte_end":343209,"line_start":26,"line_end":26,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343194,"byte_end":343199,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343221,"byte_end":343226,"line_start":26,"line_end":26,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343243,"byte_end":343247,"line_start":27,"line_end":27,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343250,"byte_end":343253,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343243,"byte_end":343247,"line_start":27,"line_end":27,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343250,"byte_end":343253,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343281,"byte_end":343286,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343288,"byte_end":343293,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343304,"byte_end":343309,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343311,"byte_end":343317,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343332,"byte_end":343337,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343356,"byte_end":343361,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343378,"byte_end":343383,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343385,"byte_end":343391,"line_start":33,"line_end":33,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3206}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343634,"byte_end":343643,"line_start":47,"line_end":47,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343627,"byte_end":343632,"line_start":47,"line_end":47,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343744,"byte_end":343749,"line_start":48,"line_end":48,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343698,"byte_end":343714,"line_start":48,"line_end":48,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343719,"byte_end":343725,"line_start":48,"line_end":48,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343760,"byte_end":343764,"line_start":49,"line_end":49,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":343771,"byte_end":343778,"line_start":49,"line_end":49,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343819,"byte_end":343828,"line_start":52,"line_end":52,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343840,"byte_end":343849,"line_start":52,"line_end":52,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343854,"byte_end":343860,"line_start":52,"line_end":52,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343877,"byte_end":343881,"line_start":53,"line_end":53,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343882,"byte_end":343889,"line_start":53,"line_end":53,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343892,"byte_end":343897,"line_start":53,"line_end":53,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343904,"byte_end":343907,"line_start":53,"line_end":53,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":24230}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343948,"byte_end":343957,"line_start":56,"line_end":56,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343969,"byte_end":343978,"line_start":56,"line_end":56,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343983,"byte_end":343989,"line_start":56,"line_end":56,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344006,"byte_end":344010,"line_start":57,"line_end":57,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344011,"byte_end":344018,"line_start":57,"line_end":57,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344021,"byte_end":344026,"line_start":57,"line_end":57,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344033,"byte_end":344036,"line_start":57,"line_end":57,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":24229}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344167,"byte_end":344174,"line_start":65,"line_end":65,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344177,"byte_end":344182,"line_start":65,"line_end":65,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3206}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344184,"byte_end":344191,"line_start":65,"line_end":65,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1073743266}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344208,"byte_end":344215,"line_start":69,"line_end":69,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344266,"byte_end":344273,"line_start":71,"line_end":71,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344276,"byte_end":344281,"line_start":71,"line_end":71,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3206}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344302,"byte_end":344307,"line_start":75,"line_end":75,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344348,"byte_end":344357,"line_start":76,"line_end":76,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344377,"byte_end":344383,"line_start":76,"line_end":76,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":344366,"byte_end":344370,"line_start":76,"line_end":76,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":344372,"byte_end":344375,"line_start":76,"line_end":76,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344401,"byte_end":344402,"line_start":77,"line_end":77,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536872358}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344410,"byte_end":344414,"line_start":77,"line_end":77,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743270}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344415,"byte_end":344420,"line_start":77,"line_end":77,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3206}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344444,"byte_end":344452,"line_start":81,"line_end":81,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344513,"byte_end":344524,"line_start":85,"line_end":85,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344550,"byte_end":344554,"line_start":85,"line_end":85,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344537,"byte_end":344548,"line_start":85,"line_end":85,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344603,"byte_end":344614,"line_start":86,"line_end":86,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344640,"byte_end":344644,"line_start":86,"line_end":86,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344627,"byte_end":344638,"line_start":86,"line_end":86,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344680,"byte_end":344683,"line_start":88,"line_end":88,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344684,"byte_end":344700,"line_start":88,"line_end":88,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344721,"byte_end":344727,"line_start":88,"line_end":88,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344728,"byte_end":344735,"line_start":88,"line_end":88,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344737,"byte_end":344745,"line_start":88,"line_end":88,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344786,"byte_end":344789,"line_start":89,"line_end":89,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344779,"byte_end":344784,"line_start":89,"line_end":89,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344813,"byte_end":344819,"line_start":90,"line_end":90,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344801,"byte_end":344812,"line_start":90,"line_end":90,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307819}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344827,"byte_end":344835,"line_start":90,"line_end":90,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344848,"byte_end":344854,"line_start":90,"line_end":90,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344839,"byte_end":344846,"line_start":90,"line_end":90,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344874,"byte_end":344883,"line_start":90,"line_end":90,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344861,"byte_end":344869,"line_start":90,"line_end":90,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344922,"byte_end":344928,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743275}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344929,"byte_end":344936,"line_start":92,"line_end":92,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872363}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344938,"byte_end":344942,"line_start":92,"line_end":92,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344953,"byte_end":344964,"line_start":92,"line_end":92,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344995,"byte_end":344999,"line_start":94,"line_end":94,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069867}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345000,"byte_end":345007,"line_start":94,"line_end":94,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344985,"byte_end":344989,"line_start":94,"line_end":94,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345034,"byte_end":345040,"line_start":95,"line_end":95,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345022,"byte_end":345033,"line_start":95,"line_end":95,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307819}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345051,"byte_end":345059,"line_start":95,"line_end":95,"column_start":42,"column_end":50},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345072,"byte_end":345079,"line_start":95,"line_end":95,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345063,"byte_end":345070,"line_start":95,"line_end":95,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345080,"byte_end":345081,"line_start":95,"line_end":95,"column_start":71,"column_end":72},"ref_id":{"krate":0,"index":2885682603}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345120,"byte_end":345122,"line_start":98,"line_end":98,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345132,"byte_end":345142,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345123,"byte_end":345130,"line_start":98,"line_end":98,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345143,"byte_end":345154,"line_start":98,"line_end":98,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307819}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345222,"byte_end":345225,"line_start":101,"line_end":101,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345226,"byte_end":345242,"line_start":101,"line_end":101,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345248,"byte_end":345254,"line_start":101,"line_end":101,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345295,"byte_end":345301,"line_start":102,"line_end":102,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614188}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345302,"byte_end":345306,"line_start":102,"line_end":102,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536872364}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345308,"byte_end":345312,"line_start":102,"line_end":102,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345323,"byte_end":345334,"line_start":102,"line_end":102,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345365,"byte_end":345369,"line_start":104,"line_end":104,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":402654636}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345370,"byte_end":345377,"line_start":104,"line_end":104,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345355,"byte_end":345359,"line_start":104,"line_end":104,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345392,"byte_end":345396,"line_start":105,"line_end":105,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345397,"byte_end":345404,"line_start":105,"line_end":105,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345407,"byte_end":345412,"line_start":105,"line_end":105,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3206}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345416,"byte_end":345421,"line_start":105,"line_end":105,"column_start":37,"column_end":42},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345414,"byte_end":345415,"line_start":105,"line_end":105,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":3623880108}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345456,"byte_end":345460,"line_start":107,"line_end":107,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345658,"byte_end":345663,"line_start":112,"line_end":112,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345557,"byte_end":345566,"line_start":112,"line_end":112,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345582,"byte_end":345591,"line_start":112,"line_end":112,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345601,"byte_end":345604,"line_start":112,"line_end":112,"column_start":114,"column_end":117},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345605,"byte_end":345612,"line_start":112,"line_end":112,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345618,"byte_end":345624,"line_start":112,"line_end":112,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345629,"byte_end":345637,"line_start":112,"line_end":112,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345695,"byte_end":345700,"line_start":113,"line_end":113,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1342178733}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345724,"byte_end":345731,"line_start":114,"line_end":114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345715,"byte_end":345722,"line_start":114,"line_end":114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345724,"byte_end":345731,"line_start":114,"line_end":114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345715,"byte_end":345722,"line_start":114,"line_end":114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345739,"byte_end":345740,"line_start":114,"line_end":114,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3355444653}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345770,"byte_end":345775,"line_start":115,"line_end":115,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345761,"byte_end":345768,"line_start":115,"line_end":115,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345770,"byte_end":345775,"line_start":115,"line_end":115,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345761,"byte_end":345768,"line_start":115,"line_end":115,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345783,"byte_end":345784,"line_start":115,"line_end":115,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2013267373}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345838,"byte_end":345847,"line_start":119,"line_end":119,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345848,"byte_end":345854,"line_start":119,"line_end":119,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1610614189}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345856,"byte_end":345862,"line_start":119,"line_end":119,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268436909}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345873,"byte_end":345876,"line_start":119,"line_end":119,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1442}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345864,"byte_end":345871,"line_start":119,"line_end":119,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345877,"byte_end":345882,"line_start":119,"line_end":119,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":872416685}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345896,"byte_end":345898,"line_start":121,"line_end":121,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346040,"byte_end":346045,"line_start":124,"line_end":124,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345941,"byte_end":345950,"line_start":124,"line_end":124,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345966,"byte_end":345975,"line_start":124,"line_end":124,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345993,"byte_end":345999,"line_start":124,"line_end":124,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346000,"byte_end":346009,"line_start":124,"line_end":124,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346011,"byte_end":346019,"line_start":124,"line_end":124,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346083,"byte_end":346092,"line_start":126,"line_end":126,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346076,"byte_end":346082,"line_start":126,"line_end":126,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743279}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346093,"byte_end":346099,"line_start":126,"line_end":126,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872367}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346147,"byte_end":346161,"line_start":128,"line_end":128,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346137,"byte_end":346144,"line_start":128,"line_end":128,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207961007}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346186,"byte_end":346199,"line_start":130,"line_end":130,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087009199}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346270,"byte_end":346281,"line_start":131,"line_end":131,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346258,"byte_end":346263,"line_start":131,"line_end":131,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614191}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346264,"byte_end":346269,"line_start":131,"line_end":131,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3206}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346323,"byte_end":346334,"line_start":133,"line_end":133,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346316,"byte_end":346322,"line_start":133,"line_end":133,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872367}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346411,"byte_end":346425,"line_start":136,"line_end":136,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346411,"byte_end":346412,"line_start":136,"line_end":136,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346414,"byte_end":346425,"line_start":136,"line_end":136,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346420,"byte_end":346423,"line_start":136,"line_end":136,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346414,"byte_end":346419,"line_start":136,"line_end":136,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1409287599}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346477,"byte_end":346482,"line_start":137,"line_end":137,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1409287599}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346483,"byte_end":346484,"line_start":137,"line_end":137,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":1543505327}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346444,"byte_end":346455,"line_start":137,"line_end":137,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2348811695}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346456,"byte_end":346469,"line_start":137,"line_end":137,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087009199}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346472,"byte_end":346473,"line_start":137,"line_end":137,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1543505327}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346569,"byte_end":346580,"line_start":142,"line_end":142,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346557,"byte_end":346562,"line_start":142,"line_end":142,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614191}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346563,"byte_end":346568,"line_start":142,"line_end":142,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3206}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346619,"byte_end":346632,"line_start":143,"line_end":143,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346612,"byte_end":346618,"line_start":143,"line_end":143,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872367}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346634,"byte_end":346639,"line_start":143,"line_end":143,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2516583855}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346596,"byte_end":346609,"line_start":143,"line_end":143,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087009199}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346684,"byte_end":346698,"line_start":144,"line_end":144,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346662,"byte_end":346675,"line_start":144,"line_end":144,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346655,"byte_end":346661,"line_start":144,"line_end":144,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743279}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346676,"byte_end":346682,"line_start":144,"line_end":144,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872367}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346699,"byte_end":346712,"line_start":144,"line_end":144,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087009199}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346761,"byte_end":346763,"line_start":147,"line_end":147,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346764,"byte_end":346770,"line_start":147,"line_end":147,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743279}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346890,"byte_end":346895,"line_start":150,"line_end":150,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346806,"byte_end":346815,"line_start":150,"line_end":150,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346833,"byte_end":346842,"line_start":150,"line_end":150,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346847,"byte_end":346853,"line_start":150,"line_end":150,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346854,"byte_end":346860,"line_start":150,"line_end":150,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346868,"byte_end":346876,"line_start":150,"line_end":150,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346933,"byte_end":346942,"line_start":152,"line_end":152,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346926,"byte_end":346932,"line_start":152,"line_end":152,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743282}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346943,"byte_end":346949,"line_start":152,"line_end":152,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872370}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346990,"byte_end":347004,"line_start":154,"line_end":154,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346980,"byte_end":346987,"line_start":154,"line_end":154,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134219186}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347052,"byte_end":347062,"line_start":157,"line_end":157,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623880114}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347089,"byte_end":347091,"line_start":158,"line_end":158,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347092,"byte_end":347096,"line_start":158,"line_end":158,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347118,"byte_end":347120,"line_start":161,"line_end":161,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347134,"byte_end":347145,"line_start":161,"line_end":161,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2634}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347127,"byte_end":347133,"line_start":161,"line_end":161,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872370}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347146,"byte_end":347156,"line_start":161,"line_end":161,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":3623880114}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347172,"byte_end":347176,"line_start":162,"line_end":162,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347172,"byte_end":347176,"line_start":162,"line_end":162,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347201,"byte_end":347205,"line_start":163,"line_end":163,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347206,"byte_end":347213,"line_start":163,"line_end":163,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347216,"byte_end":347221,"line_start":163,"line_end":163,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3206}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347228,"byte_end":347241,"line_start":163,"line_end":163,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347243,"byte_end":347244,"line_start":163,"line_end":163,"column_start":59,"column_end":60},"ref_id":{"krate":0,"index":2885682610}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347276,"byte_end":347280,"line_start":165,"line_end":165,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347276,"byte_end":347280,"line_start":165,"line_end":165,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347284,"byte_end":347288,"line_start":165,"line_end":165,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347345,"byte_end":347354,"line_start":169,"line_end":169,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347372,"byte_end":347381,"line_start":169,"line_end":169,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347386,"byte_end":347393,"line_start":169,"line_end":169,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347417,"byte_end":347427,"line_start":171,"line_end":171,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347428,"byte_end":347434,"line_start":171,"line_end":171,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872372}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347436,"byte_end":347442,"line_start":171,"line_end":171,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610614196}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347458,"byte_end":347460,"line_start":172,"line_end":172,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347458,"byte_end":347460,"line_start":172,"line_end":172,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347491,"byte_end":347492,"line_start":173,"line_end":173,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702836}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347515,"byte_end":347519,"line_start":174,"line_end":174,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347515,"byte_end":347519,"line_start":174,"line_end":174,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347561,"byte_end":347568,"line_start":175,"line_end":175,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347552,"byte_end":347559,"line_start":175,"line_end":175,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347569,"byte_end":347570,"line_start":175,"line_end":175,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3892315572}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347571,"byte_end":347576,"line_start":175,"line_end":175,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3206}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347628,"byte_end":347632,"line_start":177,"line_end":177,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347628,"byte_end":347632,"line_start":177,"line_end":177,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347693,"byte_end":347703,"line_start":178,"line_end":178,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347686,"byte_end":347692,"line_start":178,"line_end":178,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614196}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347704,"byte_end":347710,"line_start":178,"line_end":178,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536872372}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347711,"byte_end":347722,"line_start":178,"line_end":178,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347724,"byte_end":347728,"line_start":178,"line_end":178,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347739,"byte_end":347750,"line_start":178,"line_end":178,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347797,"byte_end":347801,"line_start":180,"line_end":180,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3690988980}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347802,"byte_end":347809,"line_start":180,"line_end":180,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347787,"byte_end":347791,"line_start":180,"line_end":180,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347849,"byte_end":347856,"line_start":181,"line_end":181,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347840,"byte_end":347847,"line_start":181,"line_end":181,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347859,"byte_end":347864,"line_start":181,"line_end":181,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347857,"byte_end":347858,"line_start":181,"line_end":181,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2080376244}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347945,"byte_end":347949,"line_start":183,"line_end":183,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347936,"byte_end":347943,"line_start":183,"line_end":183,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348043,"byte_end":348046,"line_start":188,"line_end":188,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348043,"byte_end":348046,"line_start":188,"line_end":188,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348081,"byte_end":348085,"line_start":189,"line_end":189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348072,"byte_end":348079,"line_start":189,"line_end":189,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348156,"byte_end":348165,"line_start":194,"line_end":194,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348176,"byte_end":348185,"line_start":194,"line_end":194,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348190,"byte_end":348196,"line_start":194,"line_end":194,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348204,"byte_end":348212,"line_start":194,"line_end":194,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348251,"byte_end":348260,"line_start":196,"line_end":196,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348244,"byte_end":348250,"line_start":196,"line_end":196,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872373}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348261,"byte_end":348267,"line_start":196,"line_end":196,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614197}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348294,"byte_end":348308,"line_start":198,"line_end":198,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348284,"byte_end":348291,"line_start":198,"line_end":198,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961013}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348330,"byte_end":348332,"line_start":199,"line_end":199,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348366,"byte_end":348368,"line_start":201,"line_end":201,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348380,"byte_end":348387,"line_start":201,"line_end":201,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":348369,"byte_end":348373,"line_start":201,"line_end":201,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":348375,"byte_end":348378,"line_start":201,"line_end":201,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348446,"byte_end":348449,"line_start":206,"line_end":206,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348450,"byte_end":348466,"line_start":206,"line_end":206,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348487,"byte_end":348493,"line_start":206,"line_end":206,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348494,"byte_end":348500,"line_start":206,"line_end":206,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348502,"byte_end":348510,"line_start":206,"line_end":206,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348546,"byte_end":348552,"line_start":207,"line_end":207,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743287}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348553,"byte_end":348560,"line_start":207,"line_end":207,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872375}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348562,"byte_end":348566,"line_start":207,"line_end":207,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348577,"byte_end":348588,"line_start":207,"line_end":207,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3589}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348627,"byte_end":348631,"line_start":209,"line_end":209,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348619,"byte_end":348625,"line_start":209,"line_end":209,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348667,"byte_end":348671,"line_start":210,"line_end":210,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831927}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348672,"byte_end":348679,"line_start":210,"line_end":210,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348657,"byte_end":348661,"line_start":210,"line_end":210,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348701,"byte_end":348709,"line_start":211,"line_end":211,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348694,"byte_end":348700,"line_start":211,"line_end":211,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751031}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348744,"byte_end":348752,"line_start":212,"line_end":212,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348737,"byte_end":348743,"line_start":212,"line_end":212,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751031}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348767,"byte_end":348773,"line_start":212,"line_end":212,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348755,"byte_end":348764,"line_start":212,"line_end":212,"column_start":31,"column_end":40},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348753,"byte_end":348754,"line_start":212,"line_end":212,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1140852151}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348797,"byte_end":348805,"line_start":213,"line_end":213,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348790,"byte_end":348796,"line_start":213,"line_end":213,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751031}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348837,"byte_end":348845,"line_start":215,"line_end":215,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348830,"byte_end":348836,"line_start":215,"line_end":215,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751031}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348860,"byte_end":348862,"line_start":216,"line_end":216,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348863,"byte_end":348869,"line_start":216,"line_end":216,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751031}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348926,"byte_end":348929,"line_start":220,"line_end":220,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348930,"byte_end":348946,"line_start":220,"line_end":220,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348968,"byte_end":348977,"line_start":220,"line_end":220,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348986,"byte_end":348989,"line_start":220,"line_end":220,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348990,"byte_end":348996,"line_start":220,"line_end":220,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349002,"byte_end":349008,"line_start":220,"line_end":220,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349016,"byte_end":349019,"line_start":220,"line_end":220,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349025,"byte_end":349028,"line_start":220,"line_end":220,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349029,"byte_end":349045,"line_start":220,"line_end":220,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349049,"byte_end":349057,"line_start":220,"line_end":220,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349087,"byte_end":349093,"line_start":222,"line_end":222,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349101,"byte_end":349105,"line_start":222,"line_end":222,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349123,"byte_end":349126,"line_start":223,"line_end":223,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349118,"byte_end":349122,"line_start":223,"line_end":223,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436920}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349154,"byte_end":349158,"line_start":224,"line_end":224,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436920}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349197,"byte_end":349207,"line_start":225,"line_end":225,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349188,"byte_end":349194,"line_start":225,"line_end":225,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349180,"byte_end":349186,"line_start":225,"line_end":225,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349255,"byte_end":349265,"line_start":226,"line_end":226,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214593976}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349315,"byte_end":349319,"line_start":227,"line_end":227,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349302,"byte_end":349309,"line_start":227,"line_end":227,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349298,"byte_end":349301,"line_start":227,"line_end":227,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614200}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349310,"byte_end":349313,"line_start":227,"line_end":227,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677723064}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349405,"byte_end":349410,"line_start":229,"line_end":229,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825206712}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349466,"byte_end":349470,"line_start":230,"line_end":230,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349457,"byte_end":349463,"line_start":230,"line_end":230,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349449,"byte_end":349455,"line_start":230,"line_end":230,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349549,"byte_end":349554,"line_start":231,"line_end":231,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349542,"byte_end":349546,"line_start":231,"line_end":231,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349528,"byte_end":349535,"line_start":231,"line_end":231,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349524,"byte_end":349527,"line_start":231,"line_end":231,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610614200}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349536,"byte_end":349540,"line_start":231,"line_end":231,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":4227859896}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349610,"byte_end":349612,"line_start":232,"line_end":232,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349610,"byte_end":349612,"line_start":232,"line_end":232,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349679,"byte_end":349683,"line_start":233,"line_end":233,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349684,"byte_end":349685,"line_start":233,"line_end":233,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":4060087736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349669,"byte_end":349676,"line_start":233,"line_end":233,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2281702840}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349779,"byte_end":349782,"line_start":235,"line_end":235,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349779,"byte_end":349782,"line_start":235,"line_end":235,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349797,"byte_end":349800,"line_start":235,"line_end":235,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349811,"byte_end":349814,"line_start":235,"line_end":235,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349801,"byte_end":349809,"line_start":235,"line_end":235,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350224,"byte_end":350227,"line_start":249,"line_end":249,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350239,"byte_end":350242,"line_start":249,"line_end":249,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350234,"byte_end":350237,"line_start":249,"line_end":249,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350266,"byte_end":350270,"line_start":250,"line_end":250,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350254,"byte_end":350265,"line_start":250,"line_end":250,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":83887544}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350284,"byte_end":350288,"line_start":250,"line_end":250,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350271,"byte_end":350282,"line_start":250,"line_end":250,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350326,"byte_end":350333,"line_start":252,"line_end":252,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2281702840}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350348,"byte_end":350352,"line_start":253,"line_end":253,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350348,"byte_end":350352,"line_start":253,"line_end":253,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350389,"byte_end":350393,"line_start":254,"line_end":254,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350377,"byte_end":350388,"line_start":254,"line_end":254,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887544}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350426,"byte_end":350443,"line_start":255,"line_end":255,"column_start":29,"column_end":46},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350414,"byte_end":350425,"line_start":255,"line_end":255,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887544}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350456,"byte_end":350467,"line_start":255,"line_end":255,"column_start":59,"column_end":70},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350446,"byte_end":350447,"line_start":255,"line_end":255,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":218105272}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350488,"byte_end":350492,"line_start":256,"line_end":256,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350493,"byte_end":350494,"line_start":256,"line_end":256,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":218105272}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350565,"byte_end":350569,"line_start":259,"line_end":259,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350553,"byte_end":350564,"line_start":259,"line_end":259,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887544}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350590,"byte_end":350594,"line_start":260,"line_end":260,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350644,"byte_end":350648,"line_start":264,"line_end":264,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350637,"byte_end":350643,"line_start":264,"line_end":264,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743288}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350649,"byte_end":350665,"line_start":264,"line_end":264,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350680,"byte_end":350683,"line_start":265,"line_end":265,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350700,"byte_end":350705,"line_start":265,"line_end":265,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350685,"byte_end":350698,"line_start":265,"line_end":265,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350722,"byte_end":350723,"line_start":266,"line_end":266,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350738,"byte_end":350742,"line_start":266,"line_end":266,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350725,"byte_end":350736,"line_start":266,"line_end":266,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350756,"byte_end":350764,"line_start":267,"line_end":267,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350784,"byte_end":350788,"line_start":268,"line_end":268,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350795,"byte_end":350798,"line_start":268,"line_end":268,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350790,"byte_end":350793,"line_start":268,"line_end":268,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350804,"byte_end":350812,"line_start":268,"line_end":268,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350799,"byte_end":350802,"line_start":268,"line_end":268,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350818,"byte_end":350821,"line_start":268,"line_end":268,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350813,"byte_end":350816,"line_start":268,"line_end":268,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350822,"byte_end":350833,"line_start":268,"line_end":268,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350836,"byte_end":350843,"line_start":268,"line_end":268,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3590}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350836,"byte_end":350843,"line_start":268,"line_end":268,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":2063599032}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350890,"byte_end":350892,"line_start":271,"line_end":271,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350900,"byte_end":350911,"line_start":271,"line_end":271,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":83887544}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350913,"byte_end":350919,"line_start":271,"line_end":271,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743288}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350970,"byte_end":350973,"line_start":275,"line_end":275,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350974,"byte_end":350990,"line_start":275,"line_end":275,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351007,"byte_end":351010,"line_start":275,"line_end":275,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351011,"byte_end":351018,"line_start":275,"line_end":275,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351024,"byte_end":351030,"line_start":275,"line_end":275,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351038,"byte_end":351041,"line_start":275,"line_end":275,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351047,"byte_end":351050,"line_start":275,"line_end":275,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351051,"byte_end":351067,"line_start":275,"line_end":275,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351071,"byte_end":351079,"line_start":275,"line_end":275,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351113,"byte_end":351116,"line_start":277,"line_end":277,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351128,"byte_end":351131,"line_start":277,"line_end":277,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351123,"byte_end":351126,"line_start":277,"line_end":277,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351155,"byte_end":351159,"line_start":278,"line_end":278,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351143,"byte_end":351154,"line_start":278,"line_end":278,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219193}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351173,"byte_end":351177,"line_start":278,"line_end":278,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351160,"byte_end":351171,"line_start":278,"line_end":278,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351215,"byte_end":351226,"line_start":280,"line_end":280,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536872377}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351261,"byte_end":351268,"line_start":281,"line_end":281,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351252,"byte_end":351259,"line_start":281,"line_end":281,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351261,"byte_end":351268,"line_start":281,"line_end":281,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351252,"byte_end":351259,"line_start":281,"line_end":281,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351305,"byte_end":351309,"line_start":282,"line_end":282,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351293,"byte_end":351304,"line_start":282,"line_end":282,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219193}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351342,"byte_end":351348,"line_start":283,"line_end":283,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351330,"byte_end":351341,"line_start":283,"line_end":283,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219193}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351374,"byte_end":351380,"line_start":283,"line_end":283,"column_start":61,"column_end":67},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351360,"byte_end":351371,"line_start":283,"line_end":283,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351350,"byte_end":351351,"line_start":283,"line_end":283,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3288335801}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351401,"byte_end":351405,"line_start":284,"line_end":284,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351406,"byte_end":351407,"line_start":284,"line_end":284,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3288335801}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351478,"byte_end":351482,"line_start":287,"line_end":287,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351466,"byte_end":351477,"line_start":287,"line_end":287,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219193}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351503,"byte_end":351507,"line_start":288,"line_end":288,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351557,"byte_end":351561,"line_start":292,"line_end":292,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351550,"byte_end":351556,"line_start":292,"line_end":292,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743289}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351562,"byte_end":351578,"line_start":292,"line_end":292,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351593,"byte_end":351596,"line_start":293,"line_end":293,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351613,"byte_end":351618,"line_start":293,"line_end":293,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351598,"byte_end":351611,"line_start":293,"line_end":293,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351635,"byte_end":351636,"line_start":294,"line_end":294,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351651,"byte_end":351655,"line_start":294,"line_end":294,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351638,"byte_end":351649,"line_start":294,"line_end":294,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351669,"byte_end":351673,"line_start":295,"line_end":295,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351680,"byte_end":351683,"line_start":295,"line_end":295,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351675,"byte_end":351678,"line_start":295,"line_end":295,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351689,"byte_end":351697,"line_start":295,"line_end":295,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351684,"byte_end":351687,"line_start":295,"line_end":295,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351703,"byte_end":351706,"line_start":295,"line_end":295,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351698,"byte_end":351701,"line_start":295,"line_end":295,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351707,"byte_end":351718,"line_start":295,"line_end":295,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351721,"byte_end":351728,"line_start":295,"line_end":295,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3590}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351721,"byte_end":351728,"line_start":295,"line_end":295,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":1241515449}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351760,"byte_end":351768,"line_start":296,"line_end":296,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351803,"byte_end":351805,"line_start":299,"line_end":299,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351813,"byte_end":351824,"line_start":299,"line_end":299,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219193}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351826,"byte_end":351832,"line_start":299,"line_end":299,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743289}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351884,"byte_end":351887,"line_start":303,"line_end":303,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351888,"byte_end":351904,"line_start":303,"line_end":303,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351947,"byte_end":351950,"line_start":303,"line_end":303,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351951,"byte_end":351967,"line_start":303,"line_end":303,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351998,"byte_end":352003,"line_start":304,"line_end":304,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1610614202}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352004,"byte_end":352011,"line_start":304,"line_end":304,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872378}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352044,"byte_end":352055,"line_start":306,"line_end":306,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219194}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352075,"byte_end":352079,"line_start":307,"line_end":307,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352128,"byte_end":352133,"line_start":309,"line_end":309,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610614202}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352134,"byte_end":352163,"line_start":309,"line_end":309,"column_start":38,"column_end":67},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352134,"byte_end":352147,"line_start":309,"line_end":309,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352135,"byte_end":352142,"line_start":309,"line_end":309,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536872378}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352149,"byte_end":352163,"line_start":309,"line_end":309,"column_start":53,"column_end":67},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352150,"byte_end":352157,"line_start":309,"line_end":309,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536872378}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352204,"byte_end":352215,"line_start":311,"line_end":311,"column_start":38,"column_end":49},"ref_id":{"krate":1,"index":24315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352241,"byte_end":352256,"line_start":312,"line_end":312,"column_start":23,"column_end":38},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352231,"byte_end":352240,"line_start":312,"line_end":312,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1275069882}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352257,"byte_end":352268,"line_start":312,"line_end":312,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":872416698}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352283,"byte_end":352287,"line_start":313,"line_end":313,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352293,"byte_end":352306,"line_start":313,"line_end":313,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352307,"byte_end":352316,"line_start":313,"line_end":313,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1275069882}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352346,"byte_end":352350,"line_start":316,"line_end":316,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352339,"byte_end":352345,"line_start":316,"line_end":316,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743290}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352351,"byte_end":352367,"line_start":316,"line_end":316,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352382,"byte_end":352385,"line_start":317,"line_end":317,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352402,"byte_end":352407,"line_start":317,"line_end":317,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352387,"byte_end":352400,"line_start":317,"line_end":317,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352424,"byte_end":352425,"line_start":318,"line_end":318,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352440,"byte_end":352444,"line_start":318,"line_end":318,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352427,"byte_end":352438,"line_start":318,"line_end":318,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352458,"byte_end":352466,"line_start":319,"line_end":319,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352486,"byte_end":352490,"line_start":320,"line_end":320,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352497,"byte_end":352500,"line_start":320,"line_end":320,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352492,"byte_end":352495,"line_start":320,"line_end":320,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352506,"byte_end":352514,"line_start":320,"line_end":320,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352501,"byte_end":352504,"line_start":320,"line_end":320,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352520,"byte_end":352523,"line_start":320,"line_end":320,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352515,"byte_end":352518,"line_start":320,"line_end":320,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352524,"byte_end":352535,"line_start":320,"line_end":320,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3589}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352538,"byte_end":352545,"line_start":320,"line_end":320,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3590}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352538,"byte_end":352545,"line_start":320,"line_end":320,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":301991354}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352591,"byte_end":352597,"line_start":322,"line_end":322,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743290}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57481,"byte_end":57487,"line_start":25,"line_end":25,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1467}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355992,"byte_end":355995,"line_start":54,"line_end":54,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355992,"byte_end":355995,"line_start":54,"line_end":54,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356018,"byte_end":356024,"line_start":54,"line_end":54,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3694}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3694}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356101,"byte_end":356106,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356109,"byte_end":356113,"line_start":55,"line_end":55,"column_start":13,"column_end":17},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356101,"byte_end":356106,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356120,"byte_end":356123,"line_start":55,"line_end":55,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356136,"byte_end":356141,"line_start":57,"line_end":57,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356143,"byte_end":356152,"line_start":57,"line_end":57,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356136,"byte_end":356141,"line_start":57,"line_end":57,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356143,"byte_end":356152,"line_start":57,"line_end":57,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356176,"byte_end":356181,"line_start":58,"line_end":58,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356183,"byte_end":356189,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356210,"byte_end":356215,"line_start":59,"line_end":59,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356218,"byte_end":356225,"line_start":59,"line_end":59,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356210,"byte_end":356215,"line_start":59,"line_end":59,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356237,"byte_end":356242,"line_start":59,"line_end":59,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356261,"byte_end":356266,"line_start":62,"line_end":62,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356268,"byte_end":356274,"line_start":62,"line_end":62,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356288,"byte_end":356293,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356295,"byte_end":356300,"line_start":63,"line_end":63,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356311,"byte_end":356316,"line_start":64,"line_end":64,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356318,"byte_end":356324,"line_start":64,"line_end":64,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356340,"byte_end":356345,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356347,"byte_end":356353,"line_start":65,"line_end":65,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356369,"byte_end":356374,"line_start":67,"line_end":67,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356478,"byte_end":356486,"line_start":73,"line_end":73,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356546,"byte_end":356557,"line_start":74,"line_end":74,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356593,"byte_end":356599,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356580,"byte_end":356591,"line_start":75,"line_end":75,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356653,"byte_end":356664,"line_start":78,"line_end":78,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356700,"byte_end":356706,"line_start":79,"line_end":79,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356687,"byte_end":356698,"line_start":79,"line_end":79,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356746,"byte_end":356749,"line_start":82,"line_end":82,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356750,"byte_end":356766,"line_start":82,"line_end":82,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356787,"byte_end":356793,"line_start":82,"line_end":82,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356794,"byte_end":356801,"line_start":82,"line_end":82,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356803,"byte_end":356811,"line_start":82,"line_end":82,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356837,"byte_end":356843,"line_start":83,"line_end":83,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743360}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356844,"byte_end":356851,"line_start":83,"line_end":83,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536872448}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356887,"byte_end":356893,"line_start":85,"line_end":85,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952791552}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356894,"byte_end":356898,"line_start":85,"line_end":85,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356909,"byte_end":356923,"line_start":85,"line_end":85,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3694}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":356966,"byte_end":356969,"line_start":87,"line_end":87,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356959,"byte_end":356964,"line_start":87,"line_end":87,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":356993,"byte_end":356999,"line_start":88,"line_end":88,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356981,"byte_end":356992,"line_start":88,"line_end":88,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603981312}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357020,"byte_end":357028,"line_start":89,"line_end":89,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357053,"byte_end":357059,"line_start":90,"line_end":90,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357044,"byte_end":357051,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357079,"byte_end":357088,"line_start":90,"line_end":90,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357066,"byte_end":357074,"line_start":90,"line_end":90,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1725}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357125,"byte_end":357131,"line_start":93,"line_end":93,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357113,"byte_end":357124,"line_start":93,"line_end":93,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603981312}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357150,"byte_end":357158,"line_start":94,"line_end":94,"column_start":18,"column_end":26},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357183,"byte_end":357189,"line_start":95,"line_end":95,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357174,"byte_end":357181,"line_start":95,"line_end":95,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357200,"byte_end":357205,"line_start":95,"line_end":95,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357190,"byte_end":357194,"line_start":95,"line_end":95,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":939525632}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357195,"byte_end":357199,"line_start":95,"line_end":95,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3695}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357229,"byte_end":357231,"line_start":98,"line_end":98,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357241,"byte_end":357251,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357232,"byte_end":357239,"line_start":98,"line_end":98,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357252,"byte_end":357263,"line_start":98,"line_end":98,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":603981312}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357317,"byte_end":357320,"line_start":102,"line_end":102,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357321,"byte_end":357337,"line_start":102,"line_end":102,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357358,"byte_end":357364,"line_start":102,"line_end":102,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357365,"byte_end":357371,"line_start":102,"line_end":102,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357373,"byte_end":357381,"line_start":102,"line_end":102,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357418,"byte_end":357424,"line_start":104,"line_end":104,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743361}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357425,"byte_end":357432,"line_start":104,"line_end":104,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872449}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357434,"byte_end":357438,"line_start":104,"line_end":104,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357449,"byte_end":357463,"line_start":104,"line_end":104,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":3694}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357502,"byte_end":357506,"line_start":106,"line_end":106,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357494,"byte_end":357500,"line_start":106,"line_end":106,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357541,"byte_end":357549,"line_start":107,"line_end":107,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357534,"byte_end":357540,"line_start":107,"line_end":107,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751105}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357560,"byte_end":357566,"line_start":107,"line_end":107,"column_start":35,"column_end":41},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357550,"byte_end":357554,"line_start":107,"line_end":107,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1744832001}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357555,"byte_end":357559,"line_start":107,"line_end":107,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3695}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357586,"byte_end":357594,"line_start":108,"line_end":108,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357579,"byte_end":357585,"line_start":108,"line_end":108,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751105}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357613,"byte_end":357615,"line_start":109,"line_end":109,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357616,"byte_end":357622,"line_start":109,"line_end":109,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751105}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357677,"byte_end":357680,"line_start":113,"line_end":113,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357681,"byte_end":357697,"line_start":113,"line_end":113,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357719,"byte_end":357728,"line_start":113,"line_end":113,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357737,"byte_end":357740,"line_start":113,"line_end":113,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357741,"byte_end":357747,"line_start":113,"line_end":113,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357753,"byte_end":357759,"line_start":113,"line_end":113,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357767,"byte_end":357770,"line_start":113,"line_end":113,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357776,"byte_end":357779,"line_start":113,"line_end":113,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357780,"byte_end":357796,"line_start":113,"line_end":113,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357800,"byte_end":357808,"line_start":113,"line_end":113,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357833,"byte_end":357839,"line_start":115,"line_end":115,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357840,"byte_end":357846,"line_start":115,"line_end":115,"column_start":28,"column_end":34},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357850,"byte_end":357854,"line_start":115,"line_end":115,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357872,"byte_end":357875,"line_start":116,"line_end":116,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357867,"byte_end":357871,"line_start":116,"line_end":116,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436994}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357903,"byte_end":357907,"line_start":117,"line_end":117,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436994}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357946,"byte_end":357956,"line_start":118,"line_end":118,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357937,"byte_end":357943,"line_start":118,"line_end":118,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357929,"byte_end":357935,"line_start":118,"line_end":118,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358004,"byte_end":358014,"line_start":119,"line_end":119,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214594050}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358064,"byte_end":358068,"line_start":120,"line_end":120,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358051,"byte_end":358058,"line_start":120,"line_end":120,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358047,"byte_end":358050,"line_start":120,"line_end":120,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614274}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358059,"byte_end":358062,"line_start":120,"line_end":120,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677723138}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358149,"byte_end":358154,"line_start":122,"line_end":122,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825206786}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358210,"byte_end":358214,"line_start":123,"line_end":123,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358201,"byte_end":358207,"line_start":123,"line_end":123,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358193,"byte_end":358199,"line_start":123,"line_end":123,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358267,"byte_end":358271,"line_start":124,"line_end":124,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358280,"byte_end":358284,"line_start":124,"line_end":124,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358272,"byte_end":358278,"line_start":124,"line_end":124,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358303,"byte_end":358307,"line_start":124,"line_end":124,"column_start":82,"column_end":86},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358289,"byte_end":358296,"line_start":124,"line_end":124,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358285,"byte_end":358288,"line_start":124,"line_end":124,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610614274}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358297,"byte_end":358301,"line_start":124,"line_end":124,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":4227859970}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358262,"byte_end":358264,"line_start":124,"line_end":124,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2281702914}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358644,"byte_end":358646,"line_start":137,"line_end":137,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":2281702914}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358631,"byte_end":358635,"line_start":137,"line_end":137,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358681,"byte_end":358684,"line_start":138,"line_end":138,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358696,"byte_end":358699,"line_start":138,"line_end":138,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358691,"byte_end":358694,"line_start":138,"line_end":138,"column_start":43,"column_end":46},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358726,"byte_end":358730,"line_start":139,"line_end":139,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358715,"byte_end":358725,"line_start":139,"line_end":139,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480130}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358744,"byte_end":358750,"line_start":139,"line_end":139,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358731,"byte_end":358742,"line_start":139,"line_end":139,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358778,"byte_end":358782,"line_start":140,"line_end":140,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358771,"byte_end":358777,"line_start":140,"line_end":140,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743362}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358783,"byte_end":358799,"line_start":140,"line_end":140,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358818,"byte_end":358821,"line_start":141,"line_end":141,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358838,"byte_end":358845,"line_start":141,"line_end":141,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358823,"byte_end":358836,"line_start":141,"line_end":141,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358863,"byte_end":358864,"line_start":142,"line_end":142,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358879,"byte_end":358885,"line_start":142,"line_end":142,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358866,"byte_end":358877,"line_start":142,"line_end":142,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358903,"byte_end":358911,"line_start":143,"line_end":143,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358936,"byte_end":358940,"line_start":144,"line_end":144,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358947,"byte_end":358950,"line_start":144,"line_end":144,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358942,"byte_end":358945,"line_start":144,"line_end":144,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358956,"byte_end":358964,"line_start":144,"line_end":144,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358951,"byte_end":358954,"line_start":144,"line_end":144,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358970,"byte_end":358973,"line_start":144,"line_end":144,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358965,"byte_end":358968,"line_start":144,"line_end":144,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358974,"byte_end":358988,"line_start":144,"line_end":144,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3694}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358991,"byte_end":358995,"line_start":144,"line_end":144,"column_start":72,"column_end":76},"ref_id":{"krate":0,"index":3695}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359002,"byte_end":359007,"line_start":144,"line_end":144,"column_start":83,"column_end":88},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358997,"byte_end":359001,"line_start":144,"line_end":144,"column_start":78,"column_end":82},"ref_id":{"krate":0,"index":2164262402}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359011,"byte_end":359017,"line_start":144,"line_end":144,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359022,"byte_end":359035,"line_start":144,"line_end":144,"column_start":103,"column_end":116},"ref_id":{"krate":0,"index":3697}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359107,"byte_end":359115,"line_start":146,"line_end":146,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359102,"byte_end":359106,"line_start":146,"line_end":146,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2164262402}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359142,"byte_end":359148,"line_start":147,"line_end":147,"column_start":24,"column_end":30},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359131,"byte_end":359141,"line_start":147,"line_end":147,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480130}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359176,"byte_end":359187,"line_start":147,"line_end":147,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359162,"byte_end":359165,"line_start":147,"line_end":147,"column_start":44,"column_end":47},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359151,"byte_end":359161,"line_start":147,"line_end":147,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3405776386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359190,"byte_end":359192,"line_start":147,"line_end":147,"column_start":72,"column_end":74},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359219,"byte_end":359225,"line_start":148,"line_end":148,"column_start":24,"column_end":30},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359208,"byte_end":359218,"line_start":148,"line_end":148,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480130}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359226,"byte_end":359236,"line_start":148,"line_end":148,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":3405776386}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359252,"byte_end":359254,"line_start":150,"line_end":150,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359263,"byte_end":359273,"line_start":150,"line_end":150,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2298480130}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359275,"byte_end":359281,"line_start":150,"line_end":150,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073743362}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359326,"byte_end":359329,"line_start":152,"line_end":152,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359340,"byte_end":359343,"line_start":152,"line_end":152,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359330,"byte_end":359338,"line_start":152,"line_end":152,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359443,"byte_end":359446,"line_start":156,"line_end":156,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359447,"byte_end":359463,"line_start":156,"line_end":156,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359480,"byte_end":359483,"line_start":156,"line_end":156,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359484,"byte_end":359491,"line_start":156,"line_end":156,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359497,"byte_end":359503,"line_start":156,"line_end":156,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359511,"byte_end":359514,"line_start":156,"line_end":156,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359520,"byte_end":359523,"line_start":156,"line_end":156,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359524,"byte_end":359540,"line_start":156,"line_end":156,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359544,"byte_end":359552,"line_start":156,"line_end":156,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359584,"byte_end":359587,"line_start":157,"line_end":157,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359599,"byte_end":359602,"line_start":157,"line_end":157,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359594,"byte_end":359597,"line_start":157,"line_end":157,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359625,"byte_end":359629,"line_start":158,"line_end":158,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359614,"byte_end":359624,"line_start":158,"line_end":158,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":134219267}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359643,"byte_end":359649,"line_start":158,"line_end":158,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359630,"byte_end":359641,"line_start":158,"line_end":158,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359673,"byte_end":359684,"line_start":159,"line_end":159,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872451}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359714,"byte_end":359720,"line_start":160,"line_end":160,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359705,"byte_end":359712,"line_start":160,"line_end":160,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359714,"byte_end":359720,"line_start":160,"line_end":160,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359705,"byte_end":359712,"line_start":160,"line_end":160,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359755,"byte_end":359759,"line_start":161,"line_end":161,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359748,"byte_end":359754,"line_start":161,"line_end":161,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073743363}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359760,"byte_end":359776,"line_start":161,"line_end":161,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359799,"byte_end":359802,"line_start":162,"line_end":162,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359819,"byte_end":359826,"line_start":162,"line_end":162,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359804,"byte_end":359817,"line_start":162,"line_end":162,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359848,"byte_end":359849,"line_start":163,"line_end":163,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359864,"byte_end":359870,"line_start":163,"line_end":163,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359851,"byte_end":359862,"line_start":163,"line_end":163,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359892,"byte_end":359900,"line_start":164,"line_end":164,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359929,"byte_end":359933,"line_start":165,"line_end":165,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359940,"byte_end":359943,"line_start":165,"line_end":165,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359935,"byte_end":359938,"line_start":165,"line_end":165,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359949,"byte_end":359957,"line_start":165,"line_end":165,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359944,"byte_end":359947,"line_start":165,"line_end":165,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359963,"byte_end":359966,"line_start":165,"line_end":165,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359958,"byte_end":359961,"line_start":165,"line_end":165,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359967,"byte_end":359981,"line_start":165,"line_end":165,"column_start":59,"column_end":73},"ref_id":{"krate":0,"index":3694}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359984,"byte_end":359988,"line_start":165,"line_end":165,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3695}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359995,"byte_end":360000,"line_start":165,"line_end":165,"column_start":87,"column_end":92},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359990,"byte_end":359994,"line_start":165,"line_end":165,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3288335875}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360004,"byte_end":360010,"line_start":165,"line_end":165,"column_start":96,"column_end":102},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360015,"byte_end":360028,"line_start":165,"line_end":165,"column_start":107,"column_end":120},"ref_id":{"krate":0,"index":3697}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360108,"byte_end":360116,"line_start":167,"line_end":167,"column_start":39,"column_end":47},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360103,"byte_end":360107,"line_start":167,"line_end":167,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3288335875}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360147,"byte_end":360153,"line_start":168,"line_end":168,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360136,"byte_end":360146,"line_start":168,"line_end":168,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":134219267}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360181,"byte_end":360192,"line_start":168,"line_end":168,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360167,"byte_end":360170,"line_start":168,"line_end":168,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360156,"byte_end":360166,"line_start":168,"line_end":168,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":973080067}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360195,"byte_end":360197,"line_start":168,"line_end":168,"column_start":76,"column_end":78},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360228,"byte_end":360234,"line_start":169,"line_end":169,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360217,"byte_end":360227,"line_start":169,"line_end":169,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":134219267}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360235,"byte_end":360245,"line_start":169,"line_end":169,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":973080067}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360287,"byte_end":360290,"line_start":171,"line_end":171,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360301,"byte_end":360304,"line_start":171,"line_end":171,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360291,"byte_end":360299,"line_start":171,"line_end":171,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360367,"byte_end":360369,"line_start":174,"line_end":174,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360378,"byte_end":360388,"line_start":174,"line_end":174,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":134219267}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360390,"byte_end":360396,"line_start":174,"line_end":174,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743363}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360447,"byte_end":360450,"line_start":177,"line_end":177,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360451,"byte_end":360467,"line_start":177,"line_end":177,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360510,"byte_end":360513,"line_start":177,"line_end":177,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360514,"byte_end":360530,"line_start":177,"line_end":177,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360581,"byte_end":360586,"line_start":178,"line_end":178,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610614276}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360587,"byte_end":360611,"line_start":178,"line_end":178,"column_start":53,"column_end":77},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360587,"byte_end":360598,"line_start":178,"line_end":178,"column_start":53,"column_end":64},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360588,"byte_end":360595,"line_start":178,"line_end":178,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536872452}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360600,"byte_end":360611,"line_start":178,"line_end":178,"column_start":66,"column_end":77},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360601,"byte_end":360608,"line_start":178,"line_end":178,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":536872452}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360681,"byte_end":360694,"line_start":180,"line_end":180,"column_start":30,"column_end":43},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360695,"byte_end":360704,"line_start":180,"line_end":180,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":872416772}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360737,"byte_end":360742,"line_start":182,"line_end":182,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1610614276}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360743,"byte_end":360777,"line_start":182,"line_end":182,"column_start":27,"column_end":61},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360743,"byte_end":360754,"line_start":182,"line_end":182,"column_start":27,"column_end":38},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360744,"byte_end":360751,"line_start":182,"line_end":182,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":536872452}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360756,"byte_end":360777,"line_start":182,"line_end":182,"column_start":40,"column_end":61},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360757,"byte_end":360764,"line_start":182,"line_end":182,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":536872452}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360767,"byte_end":360776,"line_start":182,"line_end":182,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2617247236}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360824,"byte_end":360843,"line_start":184,"line_end":184,"column_start":44,"column_end":63},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":360813,"byte_end":360817,"line_start":184,"line_end":184,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":360819,"byte_end":360822,"line_start":184,"line_end":184,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360844,"byte_end":360848,"line_start":184,"line_end":184,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1912604164}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360869,"byte_end":360873,"line_start":186,"line_end":186,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360862,"byte_end":360868,"line_start":186,"line_end":186,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743364}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360874,"byte_end":360890,"line_start":186,"line_end":186,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360905,"byte_end":360908,"line_start":187,"line_end":187,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360925,"byte_end":360932,"line_start":187,"line_end":187,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360910,"byte_end":360923,"line_start":187,"line_end":187,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360946,"byte_end":360947,"line_start":188,"line_end":188,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360962,"byte_end":360968,"line_start":188,"line_end":188,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360949,"byte_end":360960,"line_start":188,"line_end":188,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360982,"byte_end":360990,"line_start":189,"line_end":189,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361011,"byte_end":361015,"line_start":190,"line_end":190,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361022,"byte_end":361025,"line_start":190,"line_end":190,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361017,"byte_end":361020,"line_start":190,"line_end":190,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361031,"byte_end":361039,"line_start":190,"line_end":190,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361026,"byte_end":361029,"line_start":190,"line_end":190,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361045,"byte_end":361048,"line_start":190,"line_end":190,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361040,"byte_end":361043,"line_start":190,"line_end":190,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361049,"byte_end":361063,"line_start":190,"line_end":190,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3694}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361066,"byte_end":361070,"line_start":190,"line_end":190,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3695}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361080,"byte_end":361084,"line_start":190,"line_end":190,"column_start":82,"column_end":86},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361072,"byte_end":361078,"line_start":190,"line_end":190,"column_start":74,"column_end":80},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361085,"byte_end":361093,"line_start":190,"line_end":190,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":1509950980}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361096,"byte_end":361102,"line_start":190,"line_end":190,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361107,"byte_end":361120,"line_start":190,"line_end":190,"column_start":109,"column_end":122},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361171,"byte_end":361177,"line_start":193,"line_end":193,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073743364}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361254,"byte_end":361257,"line_start":196,"line_end":196,"column_start":69,"column_end":72},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361258,"byte_end":361274,"line_start":196,"line_end":196,"column_start":73,"column_end":89},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361280,"byte_end":361286,"line_start":196,"line_end":196,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361303,"byte_end":361307,"line_start":197,"line_end":197,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361352,"byte_end":361361,"line_start":200,"line_end":200,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361379,"byte_end":361388,"line_start":200,"line_end":200,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361393,"byte_end":361400,"line_start":200,"line_end":200,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361442,"byte_end":361452,"line_start":201,"line_end":201,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361435,"byte_end":361441,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614280}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361453,"byte_end":361459,"line_start":201,"line_end":201,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872456}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361460,"byte_end":361471,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361473,"byte_end":361477,"line_start":201,"line_end":201,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361488,"byte_end":361502,"line_start":201,"line_end":201,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3694}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361538,"byte_end":361543,"line_start":203,"line_end":203,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361531,"byte_end":361537,"line_start":203,"line_end":203,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536872456}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361574,"byte_end":361578,"line_start":204,"line_end":204,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1476396552}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361579,"byte_end":361585,"line_start":204,"line_end":204,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361555,"byte_end":361559,"line_start":204,"line_end":204,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594056}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361560,"byte_end":361571,"line_start":204,"line_end":204,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361621,"byte_end":361625,"line_start":205,"line_end":205,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1476396552}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361626,"byte_end":361639,"line_start":205,"line_end":205,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361595,"byte_end":361599,"line_start":205,"line_end":205,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594056}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361600,"byte_end":361618,"line_start":205,"line_end":205,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3272}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361660,"byte_end":361671,"line_start":206,"line_end":206,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361649,"byte_end":361658,"line_start":206,"line_end":206,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361672,"byte_end":361677,"line_start":206,"line_end":206,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1073743368}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361684,"byte_end":361688,"line_start":206,"line_end":206,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2214594056}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361690,"byte_end":361696,"line_start":206,"line_end":206,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1610614280}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361873,"byte_end":361878,"line_start":209,"line_end":209,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361772,"byte_end":361781,"line_start":209,"line_end":209,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361797,"byte_end":361806,"line_start":209,"line_end":209,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361816,"byte_end":361819,"line_start":209,"line_end":209,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361820,"byte_end":361827,"line_start":209,"line_end":209,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361833,"byte_end":361839,"line_start":209,"line_end":209,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361844,"byte_end":361852,"line_start":209,"line_end":209,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361929,"byte_end":361939,"line_start":211,"line_end":211,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361922,"byte_end":361928,"line_start":211,"line_end":211,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268437001}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361940,"byte_end":361946,"line_start":211,"line_end":211,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610614281}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361947,"byte_end":361958,"line_start":211,"line_end":211,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361960,"byte_end":361964,"line_start":211,"line_end":211,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361975,"byte_end":361989,"line_start":211,"line_end":211,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3694}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362025,"byte_end":362030,"line_start":213,"line_end":213,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362018,"byte_end":362024,"line_start":213,"line_end":213,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614281}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362061,"byte_end":362065,"line_start":214,"line_end":214,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2013267465}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362066,"byte_end":362072,"line_start":214,"line_end":214,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362042,"byte_end":362046,"line_start":214,"line_end":214,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2751464969}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362047,"byte_end":362058,"line_start":214,"line_end":214,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362108,"byte_end":362112,"line_start":215,"line_end":215,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2013267465}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362113,"byte_end":362126,"line_start":215,"line_end":215,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362082,"byte_end":362086,"line_start":215,"line_end":215,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2751464969}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362087,"byte_end":362105,"line_start":215,"line_end":215,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3272}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362147,"byte_end":362160,"line_start":216,"line_end":216,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362136,"byte_end":362145,"line_start":216,"line_end":216,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362161,"byte_end":362166,"line_start":216,"line_end":216,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1073743369}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362172,"byte_end":362182,"line_start":216,"line_end":216,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":536872457}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362184,"byte_end":362188,"line_start":216,"line_end":216,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2751464969}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362190,"byte_end":362196,"line_start":216,"line_end":216,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":268437001}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362198,"byte_end":362203,"line_start":216,"line_end":216,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1342178825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362265,"byte_end":362274,"line_start":220,"line_end":220,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362292,"byte_end":362301,"line_start":220,"line_end":220,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362306,"byte_end":362312,"line_start":220,"line_end":220,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362320,"byte_end":362328,"line_start":220,"line_end":220,"column_start":101,"column_end":109},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362371,"byte_end":362381,"line_start":221,"line_end":221,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362364,"byte_end":362370,"line_start":221,"line_end":221,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614283}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362382,"byte_end":362388,"line_start":221,"line_end":221,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872459}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362389,"byte_end":362400,"line_start":221,"line_end":221,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362402,"byte_end":362406,"line_start":221,"line_end":221,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362417,"byte_end":362431,"line_start":221,"line_end":221,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3694}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362466,"byte_end":362471,"line_start":222,"line_end":222,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362459,"byte_end":362465,"line_start":222,"line_end":222,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536872459}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362502,"byte_end":362506,"line_start":223,"line_end":223,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1476396555}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362507,"byte_end":362513,"line_start":223,"line_end":223,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362483,"byte_end":362487,"line_start":223,"line_end":223,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594059}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362488,"byte_end":362499,"line_start":223,"line_end":223,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362549,"byte_end":362553,"line_start":224,"line_end":224,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1476396555}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362554,"byte_end":362567,"line_start":224,"line_end":224,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362523,"byte_end":362527,"line_start":224,"line_end":224,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594059}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362528,"byte_end":362546,"line_start":224,"line_end":224,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3272}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362588,"byte_end":362597,"line_start":225,"line_end":225,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362577,"byte_end":362586,"line_start":225,"line_end":225,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362598,"byte_end":362603,"line_start":225,"line_end":225,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073743371}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362610,"byte_end":362614,"line_start":225,"line_end":225,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2214594059}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362616,"byte_end":362622,"line_start":225,"line_end":225,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1610614283}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362840,"byte_end":362845,"line_start":229,"line_end":229,"column_start":200,"column_end":205},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362689,"byte_end":362698,"line_start":229,"line_end":229,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362721,"byte_end":362730,"line_start":229,"line_end":229,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362747,"byte_end":362756,"line_start":229,"line_end":229,"column_start":107,"column_end":116},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362777,"byte_end":362786,"line_start":229,"line_end":229,"column_start":137,"column_end":146},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362791,"byte_end":362797,"line_start":229,"line_end":229,"column_start":151,"column_end":157},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362798,"byte_end":362807,"line_start":229,"line_end":229,"column_start":158,"column_end":167},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362809,"byte_end":362817,"line_start":229,"line_end":229,"column_start":169,"column_end":177},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362901,"byte_end":362911,"line_start":231,"line_end":231,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362889,"byte_end":362900,"line_start":231,"line_end":231,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614284}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362912,"byte_end":362923,"line_start":231,"line_end":231,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362924,"byte_end":362935,"line_start":231,"line_end":231,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362937,"byte_end":362941,"line_start":231,"line_end":231,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362952,"byte_end":362966,"line_start":231,"line_end":231,"column_start":96,"column_end":110},"ref_id":{"krate":0,"index":3694}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363006,"byte_end":363010,"line_start":233,"line_end":233,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2013267468}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363011,"byte_end":363017,"line_start":233,"line_end":233,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362980,"byte_end":362991,"line_start":233,"line_end":233,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362992,"byte_end":363003,"line_start":233,"line_end":233,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363060,"byte_end":363064,"line_start":234,"line_end":234,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2013267468}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363065,"byte_end":363078,"line_start":234,"line_end":234,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363027,"byte_end":363038,"line_start":234,"line_end":234,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363039,"byte_end":363057,"line_start":234,"line_end":234,"column_start":21,"column_end":39},"ref_id":{"krate":0,"index":3272}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363112,"byte_end":363116,"line_start":235,"line_end":235,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":2013267468}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363117,"byte_end":363123,"line_start":235,"line_end":235,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363088,"byte_end":363097,"line_start":235,"line_end":235,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437004}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363098,"byte_end":363109,"line_start":235,"line_end":235,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363164,"byte_end":363168,"line_start":236,"line_end":236,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":2013267468}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363169,"byte_end":363182,"line_start":236,"line_end":236,"column_start":45,"column_end":58},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363133,"byte_end":363142,"line_start":236,"line_end":236,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437004}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363143,"byte_end":363161,"line_start":236,"line_end":236,"column_start":19,"column_end":37},"ref_id":{"krate":0,"index":3272}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":363203,"byte_end":363210,"line_start":237,"line_end":237,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363192,"byte_end":363201,"line_start":237,"line_end":237,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363211,"byte_end":363216,"line_start":237,"line_end":237,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1073743372}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363222,"byte_end":363233,"line_start":237,"line_end":237,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363235,"byte_end":363246,"line_start":237,"line_end":237,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":1610614284}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363248,"byte_end":363257,"line_start":237,"line_end":237,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":268437004}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363259,"byte_end":363268,"line_start":237,"line_end":237,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1342178828}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57512,"byte_end":57516,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57519,"byte_end":57522,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57539,"byte_end":57544,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57576,"byte_end":57579,"line_start":31,"line_end":31,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57576,"byte_end":57579,"line_start":31,"line_end":31,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3154}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57602,"byte_end":57609,"line_start":31,"line_end":31,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57611,"byte_end":57614,"line_start":31,"line_end":31,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":792}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3694}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57624,"byte_end":57630,"line_start":31,"line_end":31,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3694}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2455}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57624,"byte_end":57630,"line_start":31,"line_end":31,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2455}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2741}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57666,"byte_end":57671,"line_start":31,"line_end":31,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57687,"byte_end":57692,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57716,"byte_end":57721,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57724,"byte_end":57733,"line_start":33,"line_end":33,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57749,"byte_end":57754,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57756,"byte_end":57762,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57781,"byte_end":57786,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57810,"byte_end":57816,"line_start":36,"line_end":36,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3309}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57846,"byte_end":57849,"line_start":36,"line_end":36,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1865}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3282}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57859,"byte_end":57864,"line_start":36,"line_end":36,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1742}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3338}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57877,"byte_end":57881,"line_start":36,"line_end":36,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1965}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3350}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3350}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57892,"byte_end":57897,"line_start":36,"line_end":36,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2083}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57924,"byte_end":57930,"line_start":38,"line_end":38,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57940,"byte_end":57943,"line_start":38,"line_end":38,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57950,"byte_end":57956,"line_start":38,"line_end":38,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57972,"byte_end":57977,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":226}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3205}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58001,"byte_end":58005,"line_start":41,"line_end":41,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1365}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3142}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58016,"byte_end":58019,"line_start":41,"line_end":41,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":611}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3188}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58029,"byte_end":58035,"line_start":41,"line_end":41,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1260}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":1530}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58046,"byte_end":58052,"line_start":41,"line_end":41,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1467}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58046,"byte_end":58052,"line_start":41,"line_end":41,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58065,"byte_end":58069,"line_start":41,"line_end":41,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58082,"byte_end":58086,"line_start":41,"line_end":41,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58196,"byte_end":58206,"line_start":47,"line_end":47,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3218}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58224,"byte_end":58231,"line_start":50,"line_end":50,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58291,"byte_end":58295,"line_start":52,"line_end":52,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3217}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58298,"byte_end":58308,"line_start":52,"line_end":52,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3218}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58413,"byte_end":58423,"line_start":60,"line_end":60,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3227}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58442,"byte_end":58452,"line_start":61,"line_end":61,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3229}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58471,"byte_end":58476,"line_start":62,"line_end":62,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3231}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58573,"byte_end":58583,"line_start":69,"line_end":69,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3236}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58602,"byte_end":58612,"line_start":70,"line_end":70,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3238}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58631,"byte_end":58639,"line_start":71,"line_end":71,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3240}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59583,"byte_end":59592,"line_start":88,"line_end":88,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59662,"byte_end":59671,"line_start":89,"line_end":89,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59697,"byte_end":59713,"line_start":92,"line_end":92,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1647}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":59847,"byte_end":59860,"line_start":95,"line_end":95,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59861,"byte_end":59865,"line_start":95,"line_end":95,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743489}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59866,"byte_end":59876,"line_start":95,"line_end":95,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3218}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":59971,"byte_end":59982,"line_start":97,"line_end":97,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59966,"byte_end":59970,"line_start":97,"line_end":97,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872578}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59948,"byte_end":59952,"line_start":97,"line_end":97,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743490}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59953,"byte_end":59963,"line_start":97,"line_end":97,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3218}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60035,"byte_end":60039,"line_start":99,"line_end":99,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743491}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60040,"byte_end":60050,"line_start":99,"line_end":99,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3218}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"ref_id":{"krate":0,"index":3226}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":60130,"byte_end":60146,"line_start":103,"line_end":103,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1647}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60286,"byte_end":60299,"line_start":106,"line_end":106,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60300,"byte_end":60304,"line_start":106,"line_end":106,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743496}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60305,"byte_end":60315,"line_start":106,"line_end":106,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3227}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60410,"byte_end":60421,"line_start":108,"line_end":108,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60405,"byte_end":60409,"line_start":108,"line_end":108,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872585}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60387,"byte_end":60391,"line_start":108,"line_end":108,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743497}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60392,"byte_end":60402,"line_start":108,"line_end":108,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3227}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60490,"byte_end":60503,"line_start":110,"line_end":110,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60504,"byte_end":60508,"line_start":110,"line_end":110,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743498}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60509,"byte_end":60519,"line_start":110,"line_end":110,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3229}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60613,"byte_end":60624,"line_start":112,"line_end":112,"column_start":69,"column_end":80},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60608,"byte_end":60612,"line_start":112,"line_end":112,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":536872587}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60590,"byte_end":60594,"line_start":112,"line_end":112,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743499}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60595,"byte_end":60605,"line_start":112,"line_end":112,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":3229}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60713,"byte_end":60724,"line_start":114,"line_end":114,"column_start":63,"column_end":74},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60707,"byte_end":60712,"line_start":114,"line_end":114,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":536872588}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60694,"byte_end":60698,"line_start":114,"line_end":114,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073743500}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60699,"byte_end":60704,"line_start":114,"line_end":114,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3231}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60790,"byte_end":60803,"line_start":116,"line_end":116,"column_start":40,"column_end":53},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60804,"byte_end":60808,"line_start":116,"line_end":116,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073743501}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60809,"byte_end":60814,"line_start":116,"line_end":116,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3231}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60866,"byte_end":60870,"line_start":118,"line_end":118,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743502}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60871,"byte_end":60881,"line_start":118,"line_end":118,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3227}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60892,"byte_end":60896,"line_start":118,"line_end":118,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073743502}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60897,"byte_end":60907,"line_start":118,"line_end":118,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":3229}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60918,"byte_end":60922,"line_start":118,"line_end":118,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743502}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60923,"byte_end":60928,"line_start":118,"line_end":118,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3231}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"ref_id":{"krate":0,"index":3235}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61009,"byte_end":61025,"line_start":122,"line_end":122,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1647}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61163,"byte_end":61176,"line_start":125,"line_end":125,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61177,"byte_end":61181,"line_start":125,"line_end":125,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743509}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61182,"byte_end":61192,"line_start":125,"line_end":125,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3236}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61287,"byte_end":61298,"line_start":127,"line_end":127,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61282,"byte_end":61286,"line_start":127,"line_end":127,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872598}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61264,"byte_end":61268,"line_start":127,"line_end":127,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61269,"byte_end":61279,"line_start":127,"line_end":127,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3236}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61367,"byte_end":61380,"line_start":129,"line_end":129,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61381,"byte_end":61385,"line_start":129,"line_end":129,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743511}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61386,"byte_end":61396,"line_start":129,"line_end":129,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3238}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61490,"byte_end":61501,"line_start":131,"line_end":131,"column_start":69,"column_end":80},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61485,"byte_end":61489,"line_start":131,"line_end":131,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":536872600}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61467,"byte_end":61471,"line_start":131,"line_end":131,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743512}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61472,"byte_end":61482,"line_start":131,"line_end":131,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":3238}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61594,"byte_end":61605,"line_start":133,"line_end":133,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61589,"byte_end":61593,"line_start":133,"line_end":133,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":536872601}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61573,"byte_end":61577,"line_start":133,"line_end":133,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743513}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61578,"byte_end":61586,"line_start":133,"line_end":133,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3240}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61675,"byte_end":61688,"line_start":135,"line_end":135,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61689,"byte_end":61693,"line_start":135,"line_end":135,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743514}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61694,"byte_end":61702,"line_start":135,"line_end":135,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":3240}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61754,"byte_end":61758,"line_start":137,"line_end":137,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743515}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61759,"byte_end":61769,"line_start":137,"line_end":137,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3236}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61780,"byte_end":61784,"line_start":137,"line_end":137,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073743515}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61785,"byte_end":61795,"line_start":137,"line_end":137,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":3238}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61806,"byte_end":61810,"line_start":137,"line_end":137,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743515}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61811,"byte_end":61819,"line_start":137,"line_end":137,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3240}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61957,"byte_end":61966,"line_start":141,"line_end":141,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62011,"byte_end":62023,"line_start":142,"line_end":142,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":1656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62006,"byte_end":62010,"line_start":142,"line_end":142,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743520}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62047,"byte_end":62055,"line_start":143,"line_end":143,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1879049888}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62139,"byte_end":62149,"line_start":146,"line_end":146,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62132,"byte_end":62138,"line_start":146,"line_end":146,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872608}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62152,"byte_end":62160,"line_start":146,"line_end":146,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":1879049888}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62208,"byte_end":62218,"line_start":147,"line_end":147,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62201,"byte_end":62207,"line_start":147,"line_end":147,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872608}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62221,"byte_end":62264,"line_start":147,"line_end":147,"column_start":50,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62221,"byte_end":62235,"line_start":147,"line_end":147,"column_start":50,"column_end":64},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62222,"byte_end":62230,"line_start":147,"line_end":147,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1879049888}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62237,"byte_end":62264,"line_start":147,"line_end":147,"column_start":66,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62238,"byte_end":62246,"line_start":147,"line_end":147,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":1879049888}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62253,"byte_end":62263,"line_start":147,"line_end":147,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":2751465120}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62299,"byte_end":62318,"line_start":148,"line_end":148,"column_start":33,"column_end":52},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":62288,"byte_end":62292,"line_start":148,"line_end":148,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":62294,"byte_end":62297,"line_start":148,"line_end":148,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62319,"byte_end":62328,"line_start":148,"line_end":148,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1006634656}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62417,"byte_end":62426,"line_start":152,"line_end":152,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62467,"byte_end":62479,"line_start":153,"line_end":153,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":1656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62462,"byte_end":62466,"line_start":153,"line_end":153,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743522}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62503,"byte_end":62511,"line_start":154,"line_end":154,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1879049890}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62584,"byte_end":62594,"line_start":157,"line_end":157,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62577,"byte_end":62583,"line_start":157,"line_end":157,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":536872610}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62597,"byte_end":62605,"line_start":157,"line_end":157,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":1879049890}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62811,"byte_end":62828,"line_start":171,"line_end":171,"column_start":18,"column_end":35},"ref_id":{"krate":0,"index":3217}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62802,"byte_end":62808,"line_start":171,"line_end":171,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3245}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62838,"byte_end":62842,"line_start":172,"line_end":172,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3247}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3244}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62968,"byte_end":62981,"line_start":181,"line_end":181,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62994,"byte_end":62998,"line_start":181,"line_end":181,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743525}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62999,"byte_end":63003,"line_start":181,"line_end":181,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3247}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":63142,"byte_end":63153,"line_start":186,"line_end":186,"column_start":27,"column_end":38},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63136,"byte_end":63141,"line_start":186,"line_end":186,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":536872615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63180,"byte_end":63185,"line_start":187,"line_end":187,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662631}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63165,"byte_end":63169,"line_start":187,"line_end":187,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63170,"byte_end":63174,"line_start":187,"line_end":187,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3247}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63213,"byte_end":63218,"line_start":188,"line_end":188,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662631}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63198,"byte_end":63202,"line_start":188,"line_end":188,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63203,"byte_end":63207,"line_start":188,"line_end":188,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3247}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63246,"byte_end":63251,"line_start":189,"line_end":189,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662631}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63231,"byte_end":63235,"line_start":189,"line_end":189,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63236,"byte_end":63240,"line_start":189,"line_end":189,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3247}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63279,"byte_end":63284,"line_start":190,"line_end":190,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662631}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63264,"byte_end":63268,"line_start":190,"line_end":190,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63269,"byte_end":63273,"line_start":190,"line_end":190,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3247}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63664,"byte_end":63678,"line_start":209,"line_end":209,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":2455}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63785,"byte_end":63799,"line_start":211,"line_end":211,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2455}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63879,"byte_end":63885,"line_start":213,"line_end":213,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63944,"byte_end":63960,"line_start":215,"line_end":215,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3256}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63575,"byte_end":63584,"line_start":207,"line_end":207,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63651,"byte_end":63662,"line_start":209,"line_end":209,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63765,"byte_end":63783,"line_start":211,"line_end":211,"column_start":9,"column_end":27},"ref_id":{"krate":0,"index":3272}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63866,"byte_end":63877,"line_start":213,"line_end":213,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3273}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63931,"byte_end":63942,"line_start":215,"line_end":215,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64117,"byte_end":64121,"line_start":222,"line_end":222,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64136,"byte_end":64145,"line_start":223,"line_end":223,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64136,"byte_end":64145,"line_start":223,"line_end":223,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1073743530}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64159,"byte_end":64170,"line_start":224,"line_end":224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64159,"byte_end":64170,"line_start":224,"line_end":224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":536872618}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64184,"byte_end":64202,"line_start":225,"line_end":225,"column_start":13,"column_end":31},"ref_id":{"krate":0,"index":3272}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64184,"byte_end":64202,"line_start":225,"line_end":225,"column_start":13,"column_end":31},"ref_id":{"krate":0,"index":1610614442}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64216,"byte_end":64227,"line_start":226,"line_end":226,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3273}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64229,"byte_end":64233,"line_start":226,"line_end":226,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64247,"byte_end":64258,"line_start":227,"line_end":227,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64278,"byte_end":64282,"line_start":227,"line_end":227,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3257}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64260,"byte_end":64276,"line_start":227,"line_end":227,"column_start":26,"column_end":42},"ref_id":{"krate":0,"index":3256}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64406,"byte_end":64415,"line_start":233,"line_end":233,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64490,"byte_end":64496,"line_start":234,"line_end":234,"column_start":39,"column_end":45},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64477,"byte_end":64487,"line_start":234,"line_end":234,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64470,"byte_end":64476,"line_start":234,"line_end":234,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":536872619}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64589,"byte_end":64593,"line_start":236,"line_end":236,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64594,"byte_end":64603,"line_start":236,"line_end":236,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64607,"byte_end":64613,"line_start":236,"line_end":236,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872619}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64614,"byte_end":64618,"line_start":236,"line_end":236,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64622,"byte_end":64626,"line_start":236,"line_end":236,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64627,"byte_end":64636,"line_start":236,"line_end":236,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64659,"byte_end":64662,"line_start":236,"line_end":236,"column_start":82,"column_end":85},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64646,"byte_end":64656,"line_start":236,"line_end":236,"column_start":69,"column_end":79},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64639,"byte_end":64645,"line_start":236,"line_end":236,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872619}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64696,"byte_end":64699,"line_start":237,"line_end":237,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64692,"byte_end":64695,"line_start":237,"line_end":237,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":2952791723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64700,"byte_end":64706,"line_start":237,"line_end":237,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872619}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64707,"byte_end":64711,"line_start":237,"line_end":237,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3778}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64723,"byte_end":64740,"line_start":237,"line_end":237,"column_start":57,"column_end":74},"ref_id":{"krate":0,"index":3217}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64786,"byte_end":64796,"line_start":239,"line_end":239,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64779,"byte_end":64785,"line_start":239,"line_end":239,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":536872619}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64797,"byte_end":64801,"line_start":239,"line_end":239,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64802,"byte_end":64820,"line_start":239,"line_end":239,"column_start":42,"column_end":60},"ref_id":{"krate":0,"index":3272}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64822,"byte_end":64823,"line_start":239,"line_end":239,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64855,"byte_end":64859,"line_start":240,"line_end":240,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64842,"byte_end":64853,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64855,"byte_end":64859,"line_start":240,"line_end":240,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64842,"byte_end":64853,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64904,"byte_end":64907,"line_start":241,"line_end":241,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64900,"byte_end":64903,"line_start":241,"line_end":241,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64908,"byte_end":64912,"line_start":241,"line_end":241,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64913,"byte_end":64922,"line_start":241,"line_end":241,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64934,"byte_end":64954,"line_start":241,"line_end":241,"column_start":68,"column_end":88},"ref_id":{"krate":0,"index":3226}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65006,"byte_end":65009,"line_start":243,"line_end":243,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64993,"byte_end":65004,"line_start":243,"line_end":243,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65006,"byte_end":65009,"line_start":243,"line_end":243,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64993,"byte_end":65004,"line_start":243,"line_end":243,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65055,"byte_end":65058,"line_start":244,"line_end":244,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65051,"byte_end":65054,"line_start":244,"line_end":244,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65059,"byte_end":65063,"line_start":244,"line_end":244,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65064,"byte_end":65073,"line_start":244,"line_end":244,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65085,"byte_end":65104,"line_start":244,"line_end":244,"column_start":68,"column_end":87},"ref_id":{"krate":0,"index":3235}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65156,"byte_end":65161,"line_start":246,"line_end":246,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65143,"byte_end":65154,"line_start":246,"line_end":246,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65156,"byte_end":65161,"line_start":246,"line_end":246,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65143,"byte_end":65154,"line_start":246,"line_end":246,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65195,"byte_end":65199,"line_start":247,"line_end":247,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65200,"byte_end":65211,"line_start":247,"line_end":247,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":3273}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65238,"byte_end":65242,"line_start":248,"line_end":248,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65238,"byte_end":65242,"line_start":248,"line_end":248,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65264,"byte_end":65270,"line_start":248,"line_end":248,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65262,"byte_end":65263,"line_start":248,"line_end":248,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3053455019}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65296,"byte_end":65313,"line_start":248,"line_end":248,"column_start":83,"column_end":100},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65342,"byte_end":65346,"line_start":249,"line_end":249,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65342,"byte_end":65346,"line_start":249,"line_end":249,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65367,"byte_end":65370,"line_start":249,"line_end":249,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65363,"byte_end":65366,"line_start":249,"line_end":249,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952791723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65371,"byte_end":65375,"line_start":249,"line_end":249,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65376,"byte_end":65385,"line_start":249,"line_end":249,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65397,"byte_end":65414,"line_start":249,"line_end":249,"column_start":80,"column_end":97},"ref_id":{"krate":0,"index":3217}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65549,"byte_end":65552,"line_start":253,"line_end":253,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65545,"byte_end":65548,"line_start":253,"line_end":253,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65553,"byte_end":65557,"line_start":253,"line_end":253,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65558,"byte_end":65567,"line_start":253,"line_end":253,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65579,"byte_end":65596,"line_start":253,"line_end":253,"column_start":68,"column_end":85},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65786,"byte_end":65795,"line_start":261,"line_end":261,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65879,"byte_end":65889,"line_start":262,"line_end":262,"column_start":44,"column_end":54},"ref_id":{"krate":1,"index":11507}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65865,"byte_end":65876,"line_start":262,"line_end":262,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65858,"byte_end":65864,"line_start":262,"line_end":262,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65990,"byte_end":65994,"line_start":264,"line_end":264,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65995,"byte_end":66004,"line_start":264,"line_end":264,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66008,"byte_end":66014,"line_start":264,"line_end":264,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66015,"byte_end":66019,"line_start":264,"line_end":264,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66023,"byte_end":66027,"line_start":264,"line_end":264,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66028,"byte_end":66037,"line_start":264,"line_end":264,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66060,"byte_end":66063,"line_start":264,"line_end":264,"column_start":86,"column_end":89},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66047,"byte_end":66057,"line_start":264,"line_end":264,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66040,"byte_end":66046,"line_start":264,"line_end":264,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872620}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66104,"byte_end":66107,"line_start":265,"line_end":265,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66100,"byte_end":66103,"line_start":265,"line_end":265,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66108,"byte_end":66114,"line_start":265,"line_end":265,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66115,"byte_end":66119,"line_start":265,"line_end":265,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3778}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66129,"byte_end":66146,"line_start":265,"line_end":265,"column_start":62,"column_end":79},"ref_id":{"krate":0,"index":3217}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66200,"byte_end":66210,"line_start":267,"line_end":267,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66193,"byte_end":66199,"line_start":267,"line_end":267,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66211,"byte_end":66215,"line_start":267,"line_end":267,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66216,"byte_end":66234,"line_start":267,"line_end":267,"column_start":46,"column_end":64},"ref_id":{"krate":0,"index":3272}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66236,"byte_end":66237,"line_start":267,"line_end":267,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66273,"byte_end":66277,"line_start":268,"line_end":268,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66260,"byte_end":66271,"line_start":268,"line_end":268,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66273,"byte_end":66277,"line_start":268,"line_end":268,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66260,"byte_end":66271,"line_start":268,"line_end":268,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66329,"byte_end":66332,"line_start":269,"line_end":269,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66325,"byte_end":66328,"line_start":269,"line_end":269,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66333,"byte_end":66337,"line_start":269,"line_end":269,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66338,"byte_end":66347,"line_start":269,"line_end":269,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66357,"byte_end":66377,"line_start":269,"line_end":269,"column_start":73,"column_end":93},"ref_id":{"krate":0,"index":3226}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66437,"byte_end":66440,"line_start":271,"line_end":271,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66424,"byte_end":66435,"line_start":271,"line_end":271,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66437,"byte_end":66440,"line_start":271,"line_end":271,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66424,"byte_end":66435,"line_start":271,"line_end":271,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66493,"byte_end":66496,"line_start":272,"line_end":272,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66489,"byte_end":66492,"line_start":272,"line_end":272,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66497,"byte_end":66501,"line_start":272,"line_end":272,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66502,"byte_end":66511,"line_start":272,"line_end":272,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66521,"byte_end":66540,"line_start":272,"line_end":272,"column_start":73,"column_end":92},"ref_id":{"krate":0,"index":3235}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66600,"byte_end":66605,"line_start":274,"line_end":274,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66587,"byte_end":66598,"line_start":274,"line_end":274,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66600,"byte_end":66605,"line_start":274,"line_end":274,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66587,"byte_end":66598,"line_start":274,"line_end":274,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66643,"byte_end":66647,"line_start":275,"line_end":275,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66648,"byte_end":66659,"line_start":275,"line_end":275,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":3273}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66690,"byte_end":66694,"line_start":276,"line_end":276,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66690,"byte_end":66694,"line_start":276,"line_end":276,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66719,"byte_end":66725,"line_start":276,"line_end":276,"column_start":58,"column_end":64},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66717,"byte_end":66718,"line_start":276,"line_end":276,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3053455020}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66747,"byte_end":66764,"line_start":276,"line_end":276,"column_start":86,"column_end":103},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66797,"byte_end":66801,"line_start":277,"line_end":277,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66797,"byte_end":66801,"line_start":277,"line_end":277,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66825,"byte_end":66828,"line_start":277,"line_end":277,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66821,"byte_end":66824,"line_start":277,"line_end":277,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66829,"byte_end":66833,"line_start":277,"line_end":277,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66834,"byte_end":66843,"line_start":277,"line_end":277,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66853,"byte_end":66870,"line_start":277,"line_end":277,"column_start":85,"column_end":102},"ref_id":{"krate":0,"index":3217}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67024,"byte_end":67027,"line_start":281,"line_end":281,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67020,"byte_end":67023,"line_start":281,"line_end":281,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67028,"byte_end":67032,"line_start":281,"line_end":281,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67033,"byte_end":67042,"line_start":281,"line_end":281,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67052,"byte_end":67069,"line_start":281,"line_end":281,"column_start":73,"column_end":90},"ref_id":{"krate":0,"index":3217}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67289,"byte_end":67298,"line_start":290,"line_end":290,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67308,"byte_end":67317,"line_start":290,"line_end":290,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67374,"byte_end":67380,"line_start":290,"line_end":290,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67381,"byte_end":67387,"line_start":290,"line_end":290,"column_start":120,"column_end":126},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67388,"byte_end":67397,"line_start":290,"line_end":290,"column_start":127,"column_end":136},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67400,"byte_end":67408,"line_start":290,"line_end":290,"column_start":139,"column_end":147},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67443,"byte_end":67449,"line_start":292,"line_end":292,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872621}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67574,"byte_end":67584,"line_start":300,"line_end":300,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3892315821}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67624,"byte_end":67627,"line_start":302,"line_end":302,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67619,"byte_end":67623,"line_start":302,"line_end":302,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1342178989}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67633,"byte_end":67643,"line_start":302,"line_end":302,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67669,"byte_end":67671,"line_start":303,"line_end":303,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67672,"byte_end":67676,"line_start":303,"line_end":303,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67677,"byte_end":67688,"line_start":303,"line_end":303,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67726,"byte_end":67736,"line_start":306,"line_end":306,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3892315821}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67768,"byte_end":67771,"line_start":307,"line_end":307,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67782,"byte_end":67796,"line_start":307,"line_end":307,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":3716}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67772,"byte_end":67780,"line_start":307,"line_end":307,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67845,"byte_end":67855,"line_start":310,"line_end":310,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67838,"byte_end":67844,"line_start":310,"line_end":310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67856,"byte_end":67867,"line_start":310,"line_end":310,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67868,"byte_end":67879,"line_start":310,"line_end":310,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67948,"byte_end":67954,"line_start":313,"line_end":313,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":838862509}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67955,"byte_end":67956,"line_start":313,"line_end":313,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67988,"byte_end":67994,"line_start":314,"line_end":314,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67975,"byte_end":67986,"line_start":314,"line_end":314,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67988,"byte_end":67994,"line_start":314,"line_end":314,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67975,"byte_end":67986,"line_start":314,"line_end":314,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68051,"byte_end":68057,"line_start":315,"line_end":315,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":1835}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68040,"byte_end":68049,"line_start":315,"line_end":315,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68058,"byte_end":68069,"line_start":315,"line_end":315,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68071,"byte_end":68077,"line_start":315,"line_end":315,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":838862509}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68079,"byte_end":68083,"line_start":315,"line_end":315,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1342178989}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68084,"byte_end":68094,"line_start":315,"line_end":315,"column_start":85,"column_end":95},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68097,"byte_end":68106,"line_start":315,"line_end":315,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":1610614445}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68108,"byte_end":68120,"line_start":315,"line_end":315,"column_start":109,"column_end":121},"ref_id":{"krate":0,"index":268437165}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68122,"byte_end":68128,"line_start":315,"line_end":315,"column_start":123,"column_end":129},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68027,"byte_end":68031,"line_start":315,"line_end":315,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68171,"byte_end":68175,"line_start":316,"line_end":316,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1778386605}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68157,"byte_end":68168,"line_start":316,"line_end":316,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68201,"byte_end":68211,"line_start":317,"line_end":317,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68278,"byte_end":68280,"line_start":319,"line_end":319,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68281,"byte_end":68285,"line_start":319,"line_end":319,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68358,"byte_end":68363,"line_start":322,"line_end":322,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68345,"byte_end":68356,"line_start":322,"line_end":322,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68358,"byte_end":68363,"line_start":322,"line_end":322,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68345,"byte_end":68356,"line_start":322,"line_end":322,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68412,"byte_end":68417,"line_start":323,"line_end":323,"column_start":44,"column_end":49},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68395,"byte_end":68399,"line_start":323,"line_end":323,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1342178989}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68400,"byte_end":68410,"line_start":323,"line_end":323,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68455,"byte_end":68457,"line_start":324,"line_end":324,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68455,"byte_end":68457,"line_start":324,"line_end":324,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68524,"byte_end":68530,"line_start":325,"line_end":325,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2159}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68514,"byte_end":68522,"line_start":325,"line_end":325,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68531,"byte_end":68542,"line_start":325,"line_end":325,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68544,"byte_end":68550,"line_start":325,"line_end":325,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":838862509}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68552,"byte_end":68553,"line_start":325,"line_end":325,"column_start":87,"column_end":88},"ref_id":{"krate":0,"index":2768242349}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68555,"byte_end":68564,"line_start":325,"line_end":325,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":1610614445}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68566,"byte_end":68578,"line_start":325,"line_end":325,"column_start":101,"column_end":113},"ref_id":{"krate":0,"index":268437165}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68580,"byte_end":68586,"line_start":325,"line_end":325,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68501,"byte_end":68505,"line_start":325,"line_end":325,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68637,"byte_end":68641,"line_start":326,"line_end":326,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1426065069}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68623,"byte_end":68634,"line_start":326,"line_end":326,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68675,"byte_end":68685,"line_start":327,"line_end":327,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68768,"byte_end":68770,"line_start":329,"line_end":329,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68771,"byte_end":68775,"line_start":329,"line_end":329,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68859,"byte_end":68862,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68859,"byte_end":68862,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68907,"byte_end":68910,"line_start":333,"line_end":333,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68921,"byte_end":68924,"line_start":333,"line_end":333,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68911,"byte_end":68919,"line_start":333,"line_end":333,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69074,"byte_end":69078,"line_start":337,"line_end":337,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69061,"byte_end":69072,"line_start":337,"line_end":337,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69074,"byte_end":69078,"line_start":337,"line_end":337,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69061,"byte_end":69072,"line_start":337,"line_end":337,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69127,"byte_end":69132,"line_start":338,"line_end":338,"column_start":44,"column_end":49},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69110,"byte_end":69114,"line_start":338,"line_end":338,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1342178989}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69115,"byte_end":69125,"line_start":338,"line_end":338,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69170,"byte_end":69172,"line_start":339,"line_end":339,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69170,"byte_end":69172,"line_start":339,"line_end":339,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69238,"byte_end":69244,"line_start":340,"line_end":340,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":2041}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69229,"byte_end":69236,"line_start":340,"line_end":340,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69245,"byte_end":69256,"line_start":340,"line_end":340,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69258,"byte_end":69259,"line_start":340,"line_end":340,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":276825773}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69261,"byte_end":69270,"line_start":340,"line_end":340,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1610614445}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69272,"byte_end":69284,"line_start":340,"line_end":340,"column_start":92,"column_end":104},"ref_id":{"krate":0,"index":268437165}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69286,"byte_end":69292,"line_start":340,"line_end":340,"column_start":106,"column_end":112},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69216,"byte_end":69220,"line_start":340,"line_end":340,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69343,"byte_end":69350,"line_start":341,"line_end":341,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":2741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69351,"byte_end":69355,"line_start":341,"line_end":341,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2961180333}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69329,"byte_end":69340,"line_start":341,"line_end":341,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69393,"byte_end":69403,"line_start":342,"line_end":342,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69486,"byte_end":69488,"line_start":344,"line_end":344,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69489,"byte_end":69493,"line_start":344,"line_end":344,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69577,"byte_end":69580,"line_start":347,"line_end":347,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69577,"byte_end":69580,"line_start":347,"line_end":347,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69625,"byte_end":69628,"line_start":348,"line_end":348,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69639,"byte_end":69642,"line_start":348,"line_end":348,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69629,"byte_end":69637,"line_start":348,"line_end":348,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69791,"byte_end":69794,"line_start":352,"line_end":352,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69778,"byte_end":69789,"line_start":352,"line_end":352,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69791,"byte_end":69794,"line_start":352,"line_end":352,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69778,"byte_end":69789,"line_start":352,"line_end":352,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69848,"byte_end":69854,"line_start":353,"line_end":353,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1940}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69840,"byte_end":69846,"line_start":353,"line_end":353,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69855,"byte_end":69866,"line_start":353,"line_end":353,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69868,"byte_end":69872,"line_start":353,"line_end":353,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1342178989}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69873,"byte_end":69883,"line_start":353,"line_end":353,"column_start":74,"column_end":84},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69886,"byte_end":69895,"line_start":353,"line_end":353,"column_start":87,"column_end":96},"ref_id":{"krate":0,"index":1610614445}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69897,"byte_end":69909,"line_start":353,"line_end":353,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":268437165}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69911,"byte_end":69917,"line_start":353,"line_end":353,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69827,"byte_end":69831,"line_start":353,"line_end":353,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69960,"byte_end":69964,"line_start":354,"line_end":354,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2927625901}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69946,"byte_end":69957,"line_start":354,"line_end":354,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69990,"byte_end":70000,"line_start":355,"line_end":355,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3355444909}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70067,"byte_end":70069,"line_start":357,"line_end":357,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70070,"byte_end":70074,"line_start":357,"line_end":357,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70557,"byte_end":70563,"line_start":369,"line_end":369,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70544,"byte_end":70555,"line_start":369,"line_end":369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70557,"byte_end":70563,"line_start":369,"line_end":369,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70544,"byte_end":70555,"line_start":369,"line_end":369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70620,"byte_end":70626,"line_start":370,"line_end":370,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":838862509}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70627,"byte_end":70631,"line_start":370,"line_end":370,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70642,"byte_end":70656,"line_start":370,"line_end":370,"column_start":74,"column_end":88},"ref_id":{"krate":0,"index":3694}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70708,"byte_end":70719,"line_start":372,"line_end":372,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":1669334701}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70720,"byte_end":70726,"line_start":372,"line_end":372,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70682,"byte_end":70693,"line_start":372,"line_end":372,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70694,"byte_end":70705,"line_start":372,"line_end":372,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70781,"byte_end":70792,"line_start":373,"line_end":373,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1669334701}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70793,"byte_end":70806,"line_start":373,"line_end":373,"column_start":66,"column_end":79},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70748,"byte_end":70759,"line_start":373,"line_end":373,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":4026533549}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70760,"byte_end":70778,"line_start":373,"line_end":373,"column_start":33,"column_end":51},"ref_id":{"krate":0,"index":3272}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70961,"byte_end":70963,"line_start":377,"line_end":377,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70964,"byte_end":70968,"line_start":377,"line_end":377,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71088,"byte_end":71097,"line_start":384,"line_end":384,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71108,"byte_end":71117,"line_start":384,"line_end":384,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71122,"byte_end":71128,"line_start":384,"line_end":384,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71135,"byte_end":71143,"line_start":384,"line_end":384,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71159,"byte_end":71165,"line_start":386,"line_end":386,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71166,"byte_end":71177,"line_start":386,"line_end":386,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71199,"byte_end":71204,"line_start":386,"line_end":386,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71181,"byte_end":71197,"line_start":386,"line_end":386,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3256}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71226,"byte_end":71237,"line_start":387,"line_end":387,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71219,"byte_end":71225,"line_start":387,"line_end":387,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71240,"byte_end":71246,"line_start":387,"line_end":387,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71247,"byte_end":71256,"line_start":387,"line_end":387,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71299,"byte_end":71309,"line_start":390,"line_end":390,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71292,"byte_end":71298,"line_start":390,"line_end":390,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536872622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71310,"byte_end":71316,"line_start":390,"line_end":390,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71317,"byte_end":71328,"line_start":390,"line_end":390,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71330,"byte_end":71331,"line_start":390,"line_end":390,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71359,"byte_end":71366,"line_start":391,"line_end":391,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71346,"byte_end":71357,"line_start":391,"line_end":391,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71359,"byte_end":71366,"line_start":391,"line_end":391,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71346,"byte_end":71357,"line_start":391,"line_end":391,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71387,"byte_end":71396,"line_start":391,"line_end":391,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71397,"byte_end":71403,"line_start":391,"line_end":391,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71405,"byte_end":71411,"line_start":391,"line_end":391,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71413,"byte_end":71420,"line_start":391,"line_end":391,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71431,"byte_end":71443,"line_start":391,"line_end":391,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71445,"byte_end":71451,"line_start":391,"line_end":391,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71453,"byte_end":71459,"line_start":391,"line_end":391,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71495,"byte_end":71505,"line_start":392,"line_end":392,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71482,"byte_end":71493,"line_start":392,"line_end":392,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71495,"byte_end":71505,"line_start":392,"line_end":392,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71482,"byte_end":71493,"line_start":392,"line_end":392,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71523,"byte_end":71532,"line_start":392,"line_end":392,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71515,"byte_end":71521,"line_start":392,"line_end":392,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71533,"byte_end":71539,"line_start":392,"line_end":392,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71541,"byte_end":71547,"line_start":392,"line_end":392,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71549,"byte_end":71556,"line_start":392,"line_end":392,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71568,"byte_end":71580,"line_start":392,"line_end":392,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71560,"byte_end":71566,"line_start":392,"line_end":392,"column_start":91,"column_end":97},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71582,"byte_end":71588,"line_start":392,"line_end":392,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71590,"byte_end":71596,"line_start":392,"line_end":392,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71632,"byte_end":71637,"line_start":393,"line_end":393,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71619,"byte_end":71630,"line_start":393,"line_end":393,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71632,"byte_end":71637,"line_start":393,"line_end":393,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71619,"byte_end":71630,"line_start":393,"line_end":393,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71660,"byte_end":71669,"line_start":393,"line_end":393,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71650,"byte_end":71658,"line_start":393,"line_end":393,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71670,"byte_end":71676,"line_start":393,"line_end":393,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71678,"byte_end":71684,"line_start":393,"line_end":393,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71686,"byte_end":71693,"line_start":393,"line_end":393,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71705,"byte_end":71717,"line_start":393,"line_end":393,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71695,"byte_end":71703,"line_start":393,"line_end":393,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71719,"byte_end":71725,"line_start":393,"line_end":393,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71727,"byte_end":71733,"line_start":393,"line_end":393,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71769,"byte_end":71773,"line_start":394,"line_end":394,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71756,"byte_end":71767,"line_start":394,"line_end":394,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71769,"byte_end":71773,"line_start":394,"line_end":394,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71756,"byte_end":71767,"line_start":394,"line_end":394,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71797,"byte_end":71806,"line_start":394,"line_end":394,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71807,"byte_end":71813,"line_start":394,"line_end":394,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71815,"byte_end":71821,"line_start":394,"line_end":394,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71823,"byte_end":71830,"line_start":394,"line_end":394,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71842,"byte_end":71854,"line_start":394,"line_end":394,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71856,"byte_end":71862,"line_start":394,"line_end":394,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71864,"byte_end":71870,"line_start":394,"line_end":394,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71906,"byte_end":71911,"line_start":395,"line_end":395,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71893,"byte_end":71904,"line_start":395,"line_end":395,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71906,"byte_end":71911,"line_start":395,"line_end":395,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71893,"byte_end":71904,"line_start":395,"line_end":395,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71934,"byte_end":71943,"line_start":395,"line_end":395,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71944,"byte_end":71950,"line_start":395,"line_end":395,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71952,"byte_end":71958,"line_start":395,"line_end":395,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71960,"byte_end":71967,"line_start":395,"line_end":395,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71979,"byte_end":71991,"line_start":395,"line_end":395,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71993,"byte_end":71999,"line_start":395,"line_end":395,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72001,"byte_end":72007,"line_start":395,"line_end":395,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72043,"byte_end":72048,"line_start":396,"line_end":396,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72030,"byte_end":72041,"line_start":396,"line_end":396,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72043,"byte_end":72048,"line_start":396,"line_end":396,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72030,"byte_end":72041,"line_start":396,"line_end":396,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72071,"byte_end":72080,"line_start":396,"line_end":396,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72081,"byte_end":72087,"line_start":396,"line_end":396,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72089,"byte_end":72095,"line_start":396,"line_end":396,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72097,"byte_end":72104,"line_start":396,"line_end":396,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72116,"byte_end":72128,"line_start":396,"line_end":396,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72130,"byte_end":72136,"line_start":396,"line_end":396,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72138,"byte_end":72144,"line_start":396,"line_end":396,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72180,"byte_end":72185,"line_start":397,"line_end":397,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72167,"byte_end":72178,"line_start":397,"line_end":397,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72180,"byte_end":72185,"line_start":397,"line_end":397,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72167,"byte_end":72178,"line_start":397,"line_end":397,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72208,"byte_end":72217,"line_start":397,"line_end":397,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72218,"byte_end":72224,"line_start":397,"line_end":397,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72226,"byte_end":72232,"line_start":397,"line_end":397,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72234,"byte_end":72241,"line_start":397,"line_end":397,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72253,"byte_end":72265,"line_start":397,"line_end":397,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72267,"byte_end":72273,"line_start":397,"line_end":397,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72275,"byte_end":72281,"line_start":397,"line_end":397,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72317,"byte_end":72322,"line_start":398,"line_end":398,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72304,"byte_end":72315,"line_start":398,"line_end":398,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72317,"byte_end":72322,"line_start":398,"line_end":398,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72304,"byte_end":72315,"line_start":398,"line_end":398,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72345,"byte_end":72354,"line_start":398,"line_end":398,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72355,"byte_end":72361,"line_start":398,"line_end":398,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72363,"byte_end":72369,"line_start":398,"line_end":398,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72371,"byte_end":72378,"line_start":398,"line_end":398,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72390,"byte_end":72402,"line_start":398,"line_end":398,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72404,"byte_end":72410,"line_start":398,"line_end":398,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72412,"byte_end":72418,"line_start":398,"line_end":398,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72454,"byte_end":72460,"line_start":399,"line_end":399,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72441,"byte_end":72452,"line_start":399,"line_end":399,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72454,"byte_end":72460,"line_start":399,"line_end":399,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72441,"byte_end":72452,"line_start":399,"line_end":399,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72482,"byte_end":72491,"line_start":399,"line_end":399,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72492,"byte_end":72498,"line_start":399,"line_end":399,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72500,"byte_end":72506,"line_start":399,"line_end":399,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72508,"byte_end":72515,"line_start":399,"line_end":399,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72527,"byte_end":72539,"line_start":399,"line_end":399,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72541,"byte_end":72547,"line_start":399,"line_end":399,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72549,"byte_end":72555,"line_start":399,"line_end":399,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72591,"byte_end":72597,"line_start":400,"line_end":400,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72578,"byte_end":72589,"line_start":400,"line_end":400,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72591,"byte_end":72597,"line_start":400,"line_end":400,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72578,"byte_end":72589,"line_start":400,"line_end":400,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72619,"byte_end":72628,"line_start":400,"line_end":400,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72629,"byte_end":72635,"line_start":400,"line_end":400,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72637,"byte_end":72643,"line_start":400,"line_end":400,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72645,"byte_end":72652,"line_start":400,"line_end":400,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72664,"byte_end":72676,"line_start":400,"line_end":400,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72678,"byte_end":72684,"line_start":400,"line_end":400,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72686,"byte_end":72692,"line_start":400,"line_end":400,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72728,"byte_end":72734,"line_start":401,"line_end":401,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72715,"byte_end":72726,"line_start":401,"line_end":401,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72728,"byte_end":72734,"line_start":401,"line_end":401,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72715,"byte_end":72726,"line_start":401,"line_end":401,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72756,"byte_end":72765,"line_start":401,"line_end":401,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72766,"byte_end":72772,"line_start":401,"line_end":401,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72774,"byte_end":72780,"line_start":401,"line_end":401,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72782,"byte_end":72789,"line_start":401,"line_end":401,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72801,"byte_end":72813,"line_start":401,"line_end":401,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72815,"byte_end":72821,"line_start":401,"line_end":401,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72823,"byte_end":72829,"line_start":401,"line_end":401,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72865,"byte_end":72870,"line_start":402,"line_end":402,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72852,"byte_end":72863,"line_start":402,"line_end":402,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72865,"byte_end":72870,"line_start":402,"line_end":402,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72852,"byte_end":72863,"line_start":402,"line_end":402,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72893,"byte_end":72902,"line_start":402,"line_end":402,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72903,"byte_end":72909,"line_start":402,"line_end":402,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72911,"byte_end":72917,"line_start":402,"line_end":402,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72919,"byte_end":72926,"line_start":402,"line_end":402,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72938,"byte_end":72950,"line_start":402,"line_end":402,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72952,"byte_end":72958,"line_start":402,"line_end":402,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72960,"byte_end":72966,"line_start":402,"line_end":402,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73002,"byte_end":73008,"line_start":403,"line_end":403,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72989,"byte_end":73000,"line_start":403,"line_end":403,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73002,"byte_end":73008,"line_start":403,"line_end":403,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72989,"byte_end":73000,"line_start":403,"line_end":403,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73030,"byte_end":73039,"line_start":403,"line_end":403,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73040,"byte_end":73046,"line_start":403,"line_end":403,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73048,"byte_end":73054,"line_start":403,"line_end":403,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73056,"byte_end":73063,"line_start":403,"line_end":403,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73075,"byte_end":73087,"line_start":403,"line_end":403,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73089,"byte_end":73095,"line_start":403,"line_end":403,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73097,"byte_end":73103,"line_start":403,"line_end":403,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73139,"byte_end":73146,"line_start":404,"line_end":404,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73126,"byte_end":73137,"line_start":404,"line_end":404,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73139,"byte_end":73146,"line_start":404,"line_end":404,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73126,"byte_end":73137,"line_start":404,"line_end":404,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73167,"byte_end":73176,"line_start":404,"line_end":404,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73159,"byte_end":73165,"line_start":404,"line_end":404,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73177,"byte_end":73183,"line_start":404,"line_end":404,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73185,"byte_end":73191,"line_start":404,"line_end":404,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73193,"byte_end":73200,"line_start":404,"line_end":404,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73212,"byte_end":73224,"line_start":404,"line_end":404,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73204,"byte_end":73210,"line_start":404,"line_end":404,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73226,"byte_end":73232,"line_start":404,"line_end":404,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73234,"byte_end":73240,"line_start":404,"line_end":404,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73276,"byte_end":73279,"line_start":405,"line_end":405,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73263,"byte_end":73274,"line_start":405,"line_end":405,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73276,"byte_end":73279,"line_start":405,"line_end":405,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73263,"byte_end":73274,"line_start":405,"line_end":405,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73304,"byte_end":73313,"line_start":405,"line_end":405,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73296,"byte_end":73302,"line_start":405,"line_end":405,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73314,"byte_end":73320,"line_start":405,"line_end":405,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73322,"byte_end":73328,"line_start":405,"line_end":405,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73330,"byte_end":73337,"line_start":405,"line_end":405,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73349,"byte_end":73361,"line_start":405,"line_end":405,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73341,"byte_end":73347,"line_start":405,"line_end":405,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73363,"byte_end":73369,"line_start":405,"line_end":405,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73371,"byte_end":73377,"line_start":405,"line_end":405,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73413,"byte_end":73417,"line_start":406,"line_end":406,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73400,"byte_end":73411,"line_start":406,"line_end":406,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73413,"byte_end":73417,"line_start":406,"line_end":406,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73400,"byte_end":73411,"line_start":406,"line_end":406,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73441,"byte_end":73450,"line_start":406,"line_end":406,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73432,"byte_end":73439,"line_start":406,"line_end":406,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73451,"byte_end":73457,"line_start":406,"line_end":406,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73459,"byte_end":73465,"line_start":406,"line_end":406,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73467,"byte_end":73474,"line_start":406,"line_end":406,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73486,"byte_end":73498,"line_start":406,"line_end":406,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73477,"byte_end":73484,"line_start":406,"line_end":406,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73500,"byte_end":73506,"line_start":406,"line_end":406,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73508,"byte_end":73514,"line_start":406,"line_end":406,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73550,"byte_end":73554,"line_start":407,"line_end":407,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73537,"byte_end":73548,"line_start":407,"line_end":407,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73550,"byte_end":73554,"line_start":407,"line_end":407,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73537,"byte_end":73548,"line_start":407,"line_end":407,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73578,"byte_end":73587,"line_start":407,"line_end":407,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73569,"byte_end":73576,"line_start":407,"line_end":407,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73588,"byte_end":73594,"line_start":407,"line_end":407,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73596,"byte_end":73602,"line_start":407,"line_end":407,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73604,"byte_end":73611,"line_start":407,"line_end":407,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73623,"byte_end":73635,"line_start":407,"line_end":407,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73614,"byte_end":73621,"line_start":407,"line_end":407,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73637,"byte_end":73643,"line_start":407,"line_end":407,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73645,"byte_end":73651,"line_start":407,"line_end":407,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73687,"byte_end":73691,"line_start":408,"line_end":408,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73674,"byte_end":73685,"line_start":408,"line_end":408,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73687,"byte_end":73691,"line_start":408,"line_end":408,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73674,"byte_end":73685,"line_start":408,"line_end":408,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73715,"byte_end":73724,"line_start":408,"line_end":408,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73706,"byte_end":73713,"line_start":408,"line_end":408,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73725,"byte_end":73731,"line_start":408,"line_end":408,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73733,"byte_end":73739,"line_start":408,"line_end":408,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73741,"byte_end":73748,"line_start":408,"line_end":408,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73760,"byte_end":73772,"line_start":408,"line_end":408,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73751,"byte_end":73758,"line_start":408,"line_end":408,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73774,"byte_end":73780,"line_start":408,"line_end":408,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73782,"byte_end":73788,"line_start":408,"line_end":408,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73824,"byte_end":73828,"line_start":409,"line_end":409,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73811,"byte_end":73822,"line_start":409,"line_end":409,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73824,"byte_end":73828,"line_start":409,"line_end":409,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73811,"byte_end":73822,"line_start":409,"line_end":409,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73852,"byte_end":73861,"line_start":409,"line_end":409,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73843,"byte_end":73850,"line_start":409,"line_end":409,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73862,"byte_end":73868,"line_start":409,"line_end":409,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73870,"byte_end":73876,"line_start":409,"line_end":409,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73878,"byte_end":73885,"line_start":409,"line_end":409,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73897,"byte_end":73909,"line_start":409,"line_end":409,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73888,"byte_end":73895,"line_start":409,"line_end":409,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73911,"byte_end":73917,"line_start":409,"line_end":409,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73919,"byte_end":73925,"line_start":409,"line_end":409,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73961,"byte_end":73967,"line_start":410,"line_end":410,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73948,"byte_end":73959,"line_start":410,"line_end":410,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73961,"byte_end":73967,"line_start":410,"line_end":410,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73948,"byte_end":73959,"line_start":410,"line_end":410,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74020,"byte_end":74028,"line_start":411,"line_end":411,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1843}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74009,"byte_end":74018,"line_start":411,"line_end":411,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74030,"byte_end":74036,"line_start":411,"line_end":411,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74038,"byte_end":74044,"line_start":411,"line_end":411,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74108,"byte_end":74117,"line_start":412,"line_end":412,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74102,"byte_end":74107,"line_start":412,"line_end":412,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2099250862}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74118,"byte_end":74124,"line_start":412,"line_end":412,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74073,"byte_end":74077,"line_start":412,"line_end":412,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74175,"byte_end":74179,"line_start":413,"line_end":413,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3273655982}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74155,"byte_end":74159,"line_start":413,"line_end":413,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74217,"byte_end":74224,"line_start":414,"line_end":414,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74206,"byte_end":74215,"line_start":414,"line_end":414,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74237,"byte_end":74242,"line_start":414,"line_end":414,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74225,"byte_end":74236,"line_start":414,"line_end":414,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4078962350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74246,"byte_end":74252,"line_start":414,"line_end":414,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74336,"byte_end":74341,"line_start":418,"line_end":418,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74323,"byte_end":74334,"line_start":418,"line_end":418,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74336,"byte_end":74341,"line_start":418,"line_end":418,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74323,"byte_end":74334,"line_start":418,"line_end":418,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74394,"byte_end":74402,"line_start":419,"line_end":419,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2162}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74384,"byte_end":74392,"line_start":419,"line_end":419,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74404,"byte_end":74410,"line_start":419,"line_end":419,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74412,"byte_end":74418,"line_start":419,"line_end":419,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74476,"byte_end":74485,"line_start":420,"line_end":420,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74470,"byte_end":74475,"line_start":420,"line_end":420,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1889535662}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74486,"byte_end":74492,"line_start":420,"line_end":420,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74447,"byte_end":74451,"line_start":420,"line_end":420,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74550,"byte_end":74554,"line_start":421,"line_end":421,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1218447022}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74530,"byte_end":74534,"line_start":421,"line_end":421,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74592,"byte_end":74599,"line_start":422,"line_end":422,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74581,"byte_end":74590,"line_start":422,"line_end":422,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74612,"byte_end":74617,"line_start":422,"line_end":422,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74600,"byte_end":74611,"line_start":422,"line_end":422,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4171237038}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74621,"byte_end":74627,"line_start":422,"line_end":422,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74711,"byte_end":74715,"line_start":426,"line_end":426,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74698,"byte_end":74709,"line_start":426,"line_end":426,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74711,"byte_end":74715,"line_start":426,"line_end":426,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74698,"byte_end":74709,"line_start":426,"line_end":426,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74767,"byte_end":74775,"line_start":427,"line_end":427,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2057}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74758,"byte_end":74765,"line_start":427,"line_end":427,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74777,"byte_end":74783,"line_start":427,"line_end":427,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74785,"byte_end":74791,"line_start":427,"line_end":427,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74857,"byte_end":74866,"line_start":428,"line_end":428,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74852,"byte_end":74856,"line_start":428,"line_end":428,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":111150766}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74867,"byte_end":74873,"line_start":428,"line_end":428,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74829,"byte_end":74833,"line_start":428,"line_end":428,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74924,"byte_end":74928,"line_start":429,"line_end":429,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":648021678}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74904,"byte_end":74908,"line_start":429,"line_end":429,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74966,"byte_end":74973,"line_start":430,"line_end":430,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74955,"byte_end":74964,"line_start":430,"line_end":430,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74986,"byte_end":74991,"line_start":430,"line_end":430,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74974,"byte_end":74985,"line_start":430,"line_end":430,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":245368494}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74995,"byte_end":75001,"line_start":430,"line_end":430,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75085,"byte_end":75088,"line_start":434,"line_end":434,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75072,"byte_end":75083,"line_start":434,"line_end":434,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75085,"byte_end":75088,"line_start":434,"line_end":434,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75072,"byte_end":75083,"line_start":434,"line_end":434,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75139,"byte_end":75147,"line_start":435,"line_end":435,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1943}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75131,"byte_end":75137,"line_start":435,"line_end":435,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75149,"byte_end":75155,"line_start":435,"line_end":435,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75157,"byte_end":75163,"line_start":435,"line_end":435,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536872622}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75226,"byte_end":75235,"line_start":436,"line_end":436,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75222,"byte_end":75225,"line_start":436,"line_end":436,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":228591278}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75236,"byte_end":75242,"line_start":436,"line_end":436,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75192,"byte_end":75196,"line_start":436,"line_end":436,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75277,"byte_end":75284,"line_start":437,"line_end":437,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75266,"byte_end":75275,"line_start":437,"line_end":437,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75297,"byte_end":75302,"line_start":437,"line_end":437,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75285,"byte_end":75296,"line_start":437,"line_end":437,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":765462190}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75306,"byte_end":75312,"line_start":437,"line_end":437,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872622}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75373,"byte_end":75375,"line_start":440,"line_end":440,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75403,"byte_end":75405,"line_start":443,"line_end":443,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75487,"byte_end":75496,"line_start":447,"line_end":447,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75507,"byte_end":75516,"line_start":447,"line_end":447,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75521,"byte_end":75527,"line_start":447,"line_end":447,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75534,"byte_end":75542,"line_start":447,"line_end":447,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75558,"byte_end":75564,"line_start":449,"line_end":449,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75565,"byte_end":75576,"line_start":449,"line_end":449,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75598,"byte_end":75603,"line_start":449,"line_end":449,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75580,"byte_end":75596,"line_start":449,"line_end":449,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3256}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75625,"byte_end":75636,"line_start":450,"line_end":450,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75618,"byte_end":75624,"line_start":450,"line_end":450,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75639,"byte_end":75645,"line_start":450,"line_end":450,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75646,"byte_end":75655,"line_start":450,"line_end":450,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75698,"byte_end":75708,"line_start":453,"line_end":453,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75691,"byte_end":75697,"line_start":453,"line_end":453,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536872623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75709,"byte_end":75715,"line_start":453,"line_end":453,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75716,"byte_end":75727,"line_start":453,"line_end":453,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75729,"byte_end":75730,"line_start":453,"line_end":453,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75758,"byte_end":75765,"line_start":454,"line_end":454,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75745,"byte_end":75756,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75758,"byte_end":75765,"line_start":454,"line_end":454,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75745,"byte_end":75756,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75786,"byte_end":75795,"line_start":454,"line_end":454,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75796,"byte_end":75802,"line_start":454,"line_end":454,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75804,"byte_end":75810,"line_start":454,"line_end":454,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75812,"byte_end":75819,"line_start":454,"line_end":454,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75830,"byte_end":75842,"line_start":454,"line_end":454,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75844,"byte_end":75850,"line_start":454,"line_end":454,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75852,"byte_end":75858,"line_start":454,"line_end":454,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75894,"byte_end":75904,"line_start":455,"line_end":455,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75881,"byte_end":75892,"line_start":455,"line_end":455,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75894,"byte_end":75904,"line_start":455,"line_end":455,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75881,"byte_end":75892,"line_start":455,"line_end":455,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75922,"byte_end":75931,"line_start":455,"line_end":455,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75914,"byte_end":75920,"line_start":455,"line_end":455,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75932,"byte_end":75938,"line_start":455,"line_end":455,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75940,"byte_end":75946,"line_start":455,"line_end":455,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75948,"byte_end":75955,"line_start":455,"line_end":455,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75967,"byte_end":75979,"line_start":455,"line_end":455,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75959,"byte_end":75965,"line_start":455,"line_end":455,"column_start":91,"column_end":97},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75981,"byte_end":75987,"line_start":455,"line_end":455,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75989,"byte_end":75995,"line_start":455,"line_end":455,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76031,"byte_end":76036,"line_start":456,"line_end":456,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76018,"byte_end":76029,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76031,"byte_end":76036,"line_start":456,"line_end":456,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76018,"byte_end":76029,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76059,"byte_end":76068,"line_start":456,"line_end":456,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76049,"byte_end":76057,"line_start":456,"line_end":456,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76069,"byte_end":76075,"line_start":456,"line_end":456,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76077,"byte_end":76083,"line_start":456,"line_end":456,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76085,"byte_end":76092,"line_start":456,"line_end":456,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76104,"byte_end":76116,"line_start":456,"line_end":456,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76094,"byte_end":76102,"line_start":456,"line_end":456,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76118,"byte_end":76124,"line_start":456,"line_end":456,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76126,"byte_end":76132,"line_start":456,"line_end":456,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76168,"byte_end":76172,"line_start":457,"line_end":457,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76155,"byte_end":76166,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76168,"byte_end":76172,"line_start":457,"line_end":457,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76155,"byte_end":76166,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76196,"byte_end":76205,"line_start":457,"line_end":457,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76206,"byte_end":76212,"line_start":457,"line_end":457,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76214,"byte_end":76220,"line_start":457,"line_end":457,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76222,"byte_end":76229,"line_start":457,"line_end":457,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76241,"byte_end":76253,"line_start":457,"line_end":457,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76255,"byte_end":76261,"line_start":457,"line_end":457,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76263,"byte_end":76269,"line_start":457,"line_end":457,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76305,"byte_end":76310,"line_start":458,"line_end":458,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76292,"byte_end":76303,"line_start":458,"line_end":458,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76305,"byte_end":76310,"line_start":458,"line_end":458,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76292,"byte_end":76303,"line_start":458,"line_end":458,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76333,"byte_end":76342,"line_start":458,"line_end":458,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76343,"byte_end":76349,"line_start":458,"line_end":458,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76351,"byte_end":76357,"line_start":458,"line_end":458,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76359,"byte_end":76366,"line_start":458,"line_end":458,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76378,"byte_end":76390,"line_start":458,"line_end":458,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76392,"byte_end":76398,"line_start":458,"line_end":458,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76400,"byte_end":76406,"line_start":458,"line_end":458,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76442,"byte_end":76447,"line_start":459,"line_end":459,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76429,"byte_end":76440,"line_start":459,"line_end":459,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76442,"byte_end":76447,"line_start":459,"line_end":459,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76429,"byte_end":76440,"line_start":459,"line_end":459,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76470,"byte_end":76479,"line_start":459,"line_end":459,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76480,"byte_end":76486,"line_start":459,"line_end":459,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76488,"byte_end":76494,"line_start":459,"line_end":459,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76496,"byte_end":76503,"line_start":459,"line_end":459,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76515,"byte_end":76527,"line_start":459,"line_end":459,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76529,"byte_end":76535,"line_start":459,"line_end":459,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76537,"byte_end":76543,"line_start":459,"line_end":459,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76579,"byte_end":76584,"line_start":460,"line_end":460,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76566,"byte_end":76577,"line_start":460,"line_end":460,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76579,"byte_end":76584,"line_start":460,"line_end":460,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76566,"byte_end":76577,"line_start":460,"line_end":460,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76607,"byte_end":76616,"line_start":460,"line_end":460,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76617,"byte_end":76623,"line_start":460,"line_end":460,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76625,"byte_end":76631,"line_start":460,"line_end":460,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76633,"byte_end":76640,"line_start":460,"line_end":460,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76652,"byte_end":76664,"line_start":460,"line_end":460,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76666,"byte_end":76672,"line_start":460,"line_end":460,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76674,"byte_end":76680,"line_start":460,"line_end":460,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76716,"byte_end":76721,"line_start":461,"line_end":461,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76703,"byte_end":76714,"line_start":461,"line_end":461,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76716,"byte_end":76721,"line_start":461,"line_end":461,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76703,"byte_end":76714,"line_start":461,"line_end":461,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76744,"byte_end":76753,"line_start":461,"line_end":461,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76754,"byte_end":76760,"line_start":461,"line_end":461,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76762,"byte_end":76768,"line_start":461,"line_end":461,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76770,"byte_end":76777,"line_start":461,"line_end":461,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76789,"byte_end":76801,"line_start":461,"line_end":461,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76803,"byte_end":76809,"line_start":461,"line_end":461,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76811,"byte_end":76817,"line_start":461,"line_end":461,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76853,"byte_end":76859,"line_start":462,"line_end":462,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76840,"byte_end":76851,"line_start":462,"line_end":462,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76853,"byte_end":76859,"line_start":462,"line_end":462,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76840,"byte_end":76851,"line_start":462,"line_end":462,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76881,"byte_end":76890,"line_start":462,"line_end":462,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76891,"byte_end":76897,"line_start":462,"line_end":462,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76899,"byte_end":76905,"line_start":462,"line_end":462,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76907,"byte_end":76914,"line_start":462,"line_end":462,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76926,"byte_end":76938,"line_start":462,"line_end":462,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76940,"byte_end":76946,"line_start":462,"line_end":462,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76948,"byte_end":76954,"line_start":462,"line_end":462,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76990,"byte_end":76996,"line_start":463,"line_end":463,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76977,"byte_end":76988,"line_start":463,"line_end":463,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76990,"byte_end":76996,"line_start":463,"line_end":463,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76977,"byte_end":76988,"line_start":463,"line_end":463,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77018,"byte_end":77027,"line_start":463,"line_end":463,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77028,"byte_end":77034,"line_start":463,"line_end":463,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77036,"byte_end":77042,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77044,"byte_end":77051,"line_start":463,"line_end":463,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77063,"byte_end":77075,"line_start":463,"line_end":463,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77077,"byte_end":77083,"line_start":463,"line_end":463,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77085,"byte_end":77091,"line_start":463,"line_end":463,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77127,"byte_end":77133,"line_start":464,"line_end":464,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77114,"byte_end":77125,"line_start":464,"line_end":464,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77127,"byte_end":77133,"line_start":464,"line_end":464,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77114,"byte_end":77125,"line_start":464,"line_end":464,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77155,"byte_end":77164,"line_start":464,"line_end":464,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77165,"byte_end":77171,"line_start":464,"line_end":464,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77173,"byte_end":77179,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77181,"byte_end":77188,"line_start":464,"line_end":464,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77200,"byte_end":77212,"line_start":464,"line_end":464,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77214,"byte_end":77220,"line_start":464,"line_end":464,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77222,"byte_end":77228,"line_start":464,"line_end":464,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77264,"byte_end":77269,"line_start":465,"line_end":465,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77251,"byte_end":77262,"line_start":465,"line_end":465,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77264,"byte_end":77269,"line_start":465,"line_end":465,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77251,"byte_end":77262,"line_start":465,"line_end":465,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77292,"byte_end":77301,"line_start":465,"line_end":465,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77302,"byte_end":77308,"line_start":465,"line_end":465,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77310,"byte_end":77316,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77318,"byte_end":77325,"line_start":465,"line_end":465,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77337,"byte_end":77349,"line_start":465,"line_end":465,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77351,"byte_end":77357,"line_start":465,"line_end":465,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77359,"byte_end":77365,"line_start":465,"line_end":465,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77401,"byte_end":77407,"line_start":466,"line_end":466,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77388,"byte_end":77399,"line_start":466,"line_end":466,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77401,"byte_end":77407,"line_start":466,"line_end":466,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77388,"byte_end":77399,"line_start":466,"line_end":466,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77429,"byte_end":77438,"line_start":466,"line_end":466,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77439,"byte_end":77445,"line_start":466,"line_end":466,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77447,"byte_end":77453,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77455,"byte_end":77462,"line_start":466,"line_end":466,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77474,"byte_end":77486,"line_start":466,"line_end":466,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77488,"byte_end":77494,"line_start":466,"line_end":466,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77496,"byte_end":77502,"line_start":466,"line_end":466,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77538,"byte_end":77545,"line_start":467,"line_end":467,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77525,"byte_end":77536,"line_start":467,"line_end":467,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77538,"byte_end":77545,"line_start":467,"line_end":467,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77525,"byte_end":77536,"line_start":467,"line_end":467,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77566,"byte_end":77575,"line_start":467,"line_end":467,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77558,"byte_end":77564,"line_start":467,"line_end":467,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77576,"byte_end":77582,"line_start":467,"line_end":467,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77584,"byte_end":77590,"line_start":467,"line_end":467,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77592,"byte_end":77599,"line_start":467,"line_end":467,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77611,"byte_end":77623,"line_start":467,"line_end":467,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77603,"byte_end":77609,"line_start":467,"line_end":467,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77625,"byte_end":77631,"line_start":467,"line_end":467,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77633,"byte_end":77639,"line_start":467,"line_end":467,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77675,"byte_end":77678,"line_start":468,"line_end":468,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77662,"byte_end":77673,"line_start":468,"line_end":468,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77675,"byte_end":77678,"line_start":468,"line_end":468,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77662,"byte_end":77673,"line_start":468,"line_end":468,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77703,"byte_end":77712,"line_start":468,"line_end":468,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77695,"byte_end":77701,"line_start":468,"line_end":468,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77713,"byte_end":77719,"line_start":468,"line_end":468,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77721,"byte_end":77727,"line_start":468,"line_end":468,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77729,"byte_end":77736,"line_start":468,"line_end":468,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77748,"byte_end":77760,"line_start":468,"line_end":468,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77740,"byte_end":77746,"line_start":468,"line_end":468,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77762,"byte_end":77768,"line_start":468,"line_end":468,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77770,"byte_end":77776,"line_start":468,"line_end":468,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77812,"byte_end":77816,"line_start":469,"line_end":469,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77799,"byte_end":77810,"line_start":469,"line_end":469,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77812,"byte_end":77816,"line_start":469,"line_end":469,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77799,"byte_end":77810,"line_start":469,"line_end":469,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77840,"byte_end":77849,"line_start":469,"line_end":469,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77831,"byte_end":77838,"line_start":469,"line_end":469,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77850,"byte_end":77856,"line_start":469,"line_end":469,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77858,"byte_end":77864,"line_start":469,"line_end":469,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77866,"byte_end":77873,"line_start":469,"line_end":469,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77885,"byte_end":77897,"line_start":469,"line_end":469,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77876,"byte_end":77883,"line_start":469,"line_end":469,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77899,"byte_end":77905,"line_start":469,"line_end":469,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77907,"byte_end":77913,"line_start":469,"line_end":469,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77949,"byte_end":77953,"line_start":470,"line_end":470,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77936,"byte_end":77947,"line_start":470,"line_end":470,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77949,"byte_end":77953,"line_start":470,"line_end":470,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77936,"byte_end":77947,"line_start":470,"line_end":470,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77977,"byte_end":77986,"line_start":470,"line_end":470,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77968,"byte_end":77975,"line_start":470,"line_end":470,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77987,"byte_end":77993,"line_start":470,"line_end":470,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77995,"byte_end":78001,"line_start":470,"line_end":470,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78003,"byte_end":78010,"line_start":470,"line_end":470,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78022,"byte_end":78034,"line_start":470,"line_end":470,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78013,"byte_end":78020,"line_start":470,"line_end":470,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78036,"byte_end":78042,"line_start":470,"line_end":470,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78044,"byte_end":78050,"line_start":470,"line_end":470,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78086,"byte_end":78090,"line_start":471,"line_end":471,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78073,"byte_end":78084,"line_start":471,"line_end":471,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78086,"byte_end":78090,"line_start":471,"line_end":471,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78073,"byte_end":78084,"line_start":471,"line_end":471,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78114,"byte_end":78123,"line_start":471,"line_end":471,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78105,"byte_end":78112,"line_start":471,"line_end":471,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78124,"byte_end":78130,"line_start":471,"line_end":471,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78132,"byte_end":78138,"line_start":471,"line_end":471,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78140,"byte_end":78147,"line_start":471,"line_end":471,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78159,"byte_end":78171,"line_start":471,"line_end":471,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78150,"byte_end":78157,"line_start":471,"line_end":471,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78173,"byte_end":78179,"line_start":471,"line_end":471,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78181,"byte_end":78187,"line_start":471,"line_end":471,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78223,"byte_end":78227,"line_start":472,"line_end":472,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78210,"byte_end":78221,"line_start":472,"line_end":472,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78223,"byte_end":78227,"line_start":472,"line_end":472,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78210,"byte_end":78221,"line_start":472,"line_end":472,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78251,"byte_end":78260,"line_start":472,"line_end":472,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78242,"byte_end":78249,"line_start":472,"line_end":472,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78261,"byte_end":78267,"line_start":472,"line_end":472,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78269,"byte_end":78275,"line_start":472,"line_end":472,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78277,"byte_end":78284,"line_start":472,"line_end":472,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78296,"byte_end":78308,"line_start":472,"line_end":472,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78287,"byte_end":78294,"line_start":472,"line_end":472,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78310,"byte_end":78316,"line_start":472,"line_end":472,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78318,"byte_end":78324,"line_start":472,"line_end":472,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78360,"byte_end":78366,"line_start":473,"line_end":473,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78347,"byte_end":78358,"line_start":473,"line_end":473,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78360,"byte_end":78366,"line_start":473,"line_end":473,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78347,"byte_end":78358,"line_start":473,"line_end":473,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78419,"byte_end":78427,"line_start":474,"line_end":474,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1843}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78408,"byte_end":78417,"line_start":474,"line_end":474,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78429,"byte_end":78435,"line_start":474,"line_end":474,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78437,"byte_end":78443,"line_start":474,"line_end":474,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78507,"byte_end":78516,"line_start":475,"line_end":475,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78501,"byte_end":78506,"line_start":475,"line_end":475,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2099250863}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78517,"byte_end":78523,"line_start":475,"line_end":475,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78472,"byte_end":78476,"line_start":475,"line_end":475,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78574,"byte_end":78578,"line_start":476,"line_end":476,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3273655983}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78554,"byte_end":78558,"line_start":476,"line_end":476,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78616,"byte_end":78623,"line_start":477,"line_end":477,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78605,"byte_end":78614,"line_start":477,"line_end":477,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78636,"byte_end":78641,"line_start":477,"line_end":477,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78624,"byte_end":78635,"line_start":477,"line_end":477,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4078962351}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78645,"byte_end":78651,"line_start":477,"line_end":477,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78735,"byte_end":78740,"line_start":481,"line_end":481,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78722,"byte_end":78733,"line_start":481,"line_end":481,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78735,"byte_end":78740,"line_start":481,"line_end":481,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78722,"byte_end":78733,"line_start":481,"line_end":481,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78793,"byte_end":78801,"line_start":482,"line_end":482,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2162}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78783,"byte_end":78791,"line_start":482,"line_end":482,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78803,"byte_end":78809,"line_start":482,"line_end":482,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78811,"byte_end":78817,"line_start":482,"line_end":482,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78875,"byte_end":78884,"line_start":483,"line_end":483,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78869,"byte_end":78874,"line_start":483,"line_end":483,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1889535663}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78885,"byte_end":78891,"line_start":483,"line_end":483,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78846,"byte_end":78850,"line_start":483,"line_end":483,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78949,"byte_end":78953,"line_start":484,"line_end":484,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1218447023}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78929,"byte_end":78933,"line_start":484,"line_end":484,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78991,"byte_end":78998,"line_start":485,"line_end":485,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78980,"byte_end":78989,"line_start":485,"line_end":485,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79011,"byte_end":79016,"line_start":485,"line_end":485,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78999,"byte_end":79010,"line_start":485,"line_end":485,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4171237039}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79020,"byte_end":79026,"line_start":485,"line_end":485,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79110,"byte_end":79114,"line_start":489,"line_end":489,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79097,"byte_end":79108,"line_start":489,"line_end":489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79110,"byte_end":79114,"line_start":489,"line_end":489,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79097,"byte_end":79108,"line_start":489,"line_end":489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79167,"byte_end":79175,"line_start":490,"line_end":490,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2057}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79158,"byte_end":79165,"line_start":490,"line_end":490,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79177,"byte_end":79183,"line_start":490,"line_end":490,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79185,"byte_end":79191,"line_start":490,"line_end":490,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79257,"byte_end":79266,"line_start":491,"line_end":491,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79252,"byte_end":79256,"line_start":491,"line_end":491,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":111150767}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79267,"byte_end":79273,"line_start":491,"line_end":491,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79229,"byte_end":79233,"line_start":491,"line_end":491,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79324,"byte_end":79328,"line_start":492,"line_end":492,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":648021679}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79304,"byte_end":79308,"line_start":492,"line_end":492,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79366,"byte_end":79373,"line_start":493,"line_end":493,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79355,"byte_end":79364,"line_start":493,"line_end":493,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79386,"byte_end":79391,"line_start":493,"line_end":493,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79374,"byte_end":79385,"line_start":493,"line_end":493,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":245368495}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79395,"byte_end":79401,"line_start":493,"line_end":493,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79485,"byte_end":79488,"line_start":497,"line_end":497,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79472,"byte_end":79483,"line_start":497,"line_end":497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79485,"byte_end":79488,"line_start":497,"line_end":497,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79472,"byte_end":79483,"line_start":497,"line_end":497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79539,"byte_end":79547,"line_start":498,"line_end":498,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1943}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79531,"byte_end":79537,"line_start":498,"line_end":498,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79549,"byte_end":79555,"line_start":498,"line_end":498,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79557,"byte_end":79563,"line_start":498,"line_end":498,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79626,"byte_end":79635,"line_start":499,"line_end":499,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79622,"byte_end":79625,"line_start":499,"line_end":499,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":228591279}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79636,"byte_end":79642,"line_start":499,"line_end":499,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79592,"byte_end":79596,"line_start":499,"line_end":499,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79677,"byte_end":79684,"line_start":500,"line_end":500,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79666,"byte_end":79675,"line_start":500,"line_end":500,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79697,"byte_end":79702,"line_start":500,"line_end":500,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79685,"byte_end":79696,"line_start":500,"line_end":500,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":765462191}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79706,"byte_end":79712,"line_start":500,"line_end":500,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79773,"byte_end":79775,"line_start":503,"line_end":503,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79803,"byte_end":79805,"line_start":506,"line_end":506,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80053,"byte_end":80062,"line_start":512,"line_end":512,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80073,"byte_end":80082,"line_start":512,"line_end":512,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80087,"byte_end":80094,"line_start":512,"line_end":512,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80109,"byte_end":80114,"line_start":514,"line_end":514,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80139,"byte_end":80143,"line_start":514,"line_end":514,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80130,"byte_end":80137,"line_start":514,"line_end":514,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80168,"byte_end":80178,"line_start":516,"line_end":516,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80161,"byte_end":80167,"line_start":516,"line_end":516,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80179,"byte_end":80185,"line_start":516,"line_end":516,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80186,"byte_end":80197,"line_start":516,"line_end":516,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80199,"byte_end":80200,"line_start":516,"line_end":516,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80228,"byte_end":80232,"line_start":517,"line_end":517,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80215,"byte_end":80226,"line_start":517,"line_end":517,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80228,"byte_end":80232,"line_start":517,"line_end":517,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80215,"byte_end":80226,"line_start":517,"line_end":517,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80257,"byte_end":80261,"line_start":517,"line_end":517,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80248,"byte_end":80255,"line_start":517,"line_end":517,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80290,"byte_end":80293,"line_start":518,"line_end":518,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80277,"byte_end":80288,"line_start":518,"line_end":518,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80290,"byte_end":80293,"line_start":518,"line_end":518,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80277,"byte_end":80288,"line_start":518,"line_end":518,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80319,"byte_end":80323,"line_start":518,"line_end":518,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80310,"byte_end":80317,"line_start":518,"line_end":518,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80352,"byte_end":80362,"line_start":519,"line_end":519,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80339,"byte_end":80350,"line_start":519,"line_end":519,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80352,"byte_end":80362,"line_start":519,"line_end":519,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80339,"byte_end":80350,"line_start":519,"line_end":519,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80383,"byte_end":80390,"line_start":519,"line_end":519,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80375,"byte_end":80381,"line_start":519,"line_end":519,"column_start":49,"column_end":55},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80391,"byte_end":80396,"line_start":519,"line_end":519,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80398,"byte_end":80404,"line_start":519,"line_end":519,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80406,"byte_end":80412,"line_start":519,"line_end":519,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80442,"byte_end":80447,"line_start":520,"line_end":520,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80429,"byte_end":80440,"line_start":520,"line_end":520,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80442,"byte_end":80447,"line_start":520,"line_end":520,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80429,"byte_end":80440,"line_start":520,"line_end":520,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80473,"byte_end":80480,"line_start":520,"line_end":520,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80463,"byte_end":80471,"line_start":520,"line_end":520,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80481,"byte_end":80486,"line_start":520,"line_end":520,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80488,"byte_end":80494,"line_start":520,"line_end":520,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80496,"byte_end":80502,"line_start":520,"line_end":520,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80532,"byte_end":80536,"line_start":521,"line_end":521,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80519,"byte_end":80530,"line_start":521,"line_end":521,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80532,"byte_end":80536,"line_start":521,"line_end":521,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80519,"byte_end":80530,"line_start":521,"line_end":521,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80563,"byte_end":80570,"line_start":521,"line_end":521,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80571,"byte_end":80576,"line_start":521,"line_end":521,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80578,"byte_end":80584,"line_start":521,"line_end":521,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80586,"byte_end":80592,"line_start":521,"line_end":521,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80622,"byte_end":80627,"line_start":522,"line_end":522,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80609,"byte_end":80620,"line_start":522,"line_end":522,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80622,"byte_end":80627,"line_start":522,"line_end":522,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80609,"byte_end":80620,"line_start":522,"line_end":522,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80653,"byte_end":80660,"line_start":522,"line_end":522,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80661,"byte_end":80666,"line_start":522,"line_end":522,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80668,"byte_end":80674,"line_start":522,"line_end":522,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80676,"byte_end":80682,"line_start":522,"line_end":522,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80712,"byte_end":80717,"line_start":523,"line_end":523,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80699,"byte_end":80710,"line_start":523,"line_end":523,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80712,"byte_end":80717,"line_start":523,"line_end":523,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80699,"byte_end":80710,"line_start":523,"line_end":523,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80743,"byte_end":80750,"line_start":523,"line_end":523,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80751,"byte_end":80756,"line_start":523,"line_end":523,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80758,"byte_end":80764,"line_start":523,"line_end":523,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80766,"byte_end":80772,"line_start":523,"line_end":523,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80802,"byte_end":80807,"line_start":524,"line_end":524,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80789,"byte_end":80800,"line_start":524,"line_end":524,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80802,"byte_end":80807,"line_start":524,"line_end":524,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80789,"byte_end":80800,"line_start":524,"line_end":524,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80833,"byte_end":80840,"line_start":524,"line_end":524,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80841,"byte_end":80846,"line_start":524,"line_end":524,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80848,"byte_end":80854,"line_start":524,"line_end":524,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80856,"byte_end":80862,"line_start":524,"line_end":524,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80892,"byte_end":80897,"line_start":525,"line_end":525,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80879,"byte_end":80890,"line_start":525,"line_end":525,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80892,"byte_end":80897,"line_start":525,"line_end":525,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80879,"byte_end":80890,"line_start":525,"line_end":525,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80923,"byte_end":80930,"line_start":525,"line_end":525,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80931,"byte_end":80936,"line_start":525,"line_end":525,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80938,"byte_end":80944,"line_start":525,"line_end":525,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80946,"byte_end":80952,"line_start":525,"line_end":525,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80982,"byte_end":80988,"line_start":526,"line_end":526,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80969,"byte_end":80980,"line_start":526,"line_end":526,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80982,"byte_end":80988,"line_start":526,"line_end":526,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80969,"byte_end":80980,"line_start":526,"line_end":526,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81013,"byte_end":81020,"line_start":526,"line_end":526,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81021,"byte_end":81026,"line_start":526,"line_end":526,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81028,"byte_end":81034,"line_start":526,"line_end":526,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81036,"byte_end":81042,"line_start":526,"line_end":526,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81072,"byte_end":81078,"line_start":527,"line_end":527,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81059,"byte_end":81070,"line_start":527,"line_end":527,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81072,"byte_end":81078,"line_start":527,"line_end":527,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81059,"byte_end":81070,"line_start":527,"line_end":527,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81103,"byte_end":81110,"line_start":527,"line_end":527,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81111,"byte_end":81116,"line_start":527,"line_end":527,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81118,"byte_end":81124,"line_start":527,"line_end":527,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81126,"byte_end":81132,"line_start":527,"line_end":527,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81162,"byte_end":81168,"line_start":528,"line_end":528,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81149,"byte_end":81160,"line_start":528,"line_end":528,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81162,"byte_end":81168,"line_start":528,"line_end":528,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81149,"byte_end":81160,"line_start":528,"line_end":528,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81193,"byte_end":81200,"line_start":528,"line_end":528,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81201,"byte_end":81206,"line_start":528,"line_end":528,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81208,"byte_end":81214,"line_start":528,"line_end":528,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81216,"byte_end":81222,"line_start":528,"line_end":528,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81252,"byte_end":81257,"line_start":529,"line_end":529,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81239,"byte_end":81250,"line_start":529,"line_end":529,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81252,"byte_end":81257,"line_start":529,"line_end":529,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81239,"byte_end":81250,"line_start":529,"line_end":529,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81283,"byte_end":81290,"line_start":529,"line_end":529,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81291,"byte_end":81296,"line_start":529,"line_end":529,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81298,"byte_end":81304,"line_start":529,"line_end":529,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81306,"byte_end":81312,"line_start":529,"line_end":529,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81342,"byte_end":81348,"line_start":530,"line_end":530,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81329,"byte_end":81340,"line_start":530,"line_end":530,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81342,"byte_end":81348,"line_start":530,"line_end":530,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81329,"byte_end":81340,"line_start":530,"line_end":530,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81373,"byte_end":81380,"line_start":530,"line_end":530,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81381,"byte_end":81386,"line_start":530,"line_end":530,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81388,"byte_end":81394,"line_start":530,"line_end":530,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81396,"byte_end":81402,"line_start":530,"line_end":530,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81432,"byte_end":81439,"line_start":531,"line_end":531,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81419,"byte_end":81430,"line_start":531,"line_end":531,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81432,"byte_end":81439,"line_start":531,"line_end":531,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81419,"byte_end":81430,"line_start":531,"line_end":531,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81463,"byte_end":81470,"line_start":531,"line_end":531,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81455,"byte_end":81461,"line_start":531,"line_end":531,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81471,"byte_end":81476,"line_start":531,"line_end":531,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81478,"byte_end":81484,"line_start":531,"line_end":531,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81486,"byte_end":81492,"line_start":531,"line_end":531,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81522,"byte_end":81529,"line_start":532,"line_end":532,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81509,"byte_end":81520,"line_start":532,"line_end":532,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81522,"byte_end":81529,"line_start":532,"line_end":532,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81509,"byte_end":81520,"line_start":532,"line_end":532,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81553,"byte_end":81560,"line_start":532,"line_end":532,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81561,"byte_end":81566,"line_start":532,"line_end":532,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81568,"byte_end":81574,"line_start":532,"line_end":532,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81576,"byte_end":81582,"line_start":532,"line_end":532,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81612,"byte_end":81615,"line_start":533,"line_end":533,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81599,"byte_end":81610,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81612,"byte_end":81615,"line_start":533,"line_end":533,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81599,"byte_end":81610,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81643,"byte_end":81650,"line_start":533,"line_end":533,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81635,"byte_end":81641,"line_start":533,"line_end":533,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81651,"byte_end":81656,"line_start":533,"line_end":533,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81658,"byte_end":81664,"line_start":533,"line_end":533,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81666,"byte_end":81672,"line_start":533,"line_end":533,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81702,"byte_end":81706,"line_start":534,"line_end":534,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81689,"byte_end":81700,"line_start":534,"line_end":534,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81702,"byte_end":81706,"line_start":534,"line_end":534,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81689,"byte_end":81700,"line_start":534,"line_end":534,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81733,"byte_end":81740,"line_start":534,"line_end":534,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81724,"byte_end":81731,"line_start":534,"line_end":534,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81741,"byte_end":81746,"line_start":534,"line_end":534,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81748,"byte_end":81754,"line_start":534,"line_end":534,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81756,"byte_end":81762,"line_start":534,"line_end":534,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81792,"byte_end":81796,"line_start":535,"line_end":535,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81779,"byte_end":81790,"line_start":535,"line_end":535,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81792,"byte_end":81796,"line_start":535,"line_end":535,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81779,"byte_end":81790,"line_start":535,"line_end":535,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81823,"byte_end":81830,"line_start":535,"line_end":535,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81814,"byte_end":81821,"line_start":535,"line_end":535,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81831,"byte_end":81836,"line_start":535,"line_end":535,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81838,"byte_end":81844,"line_start":535,"line_end":535,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81846,"byte_end":81852,"line_start":535,"line_end":535,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81882,"byte_end":81886,"line_start":536,"line_end":536,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81869,"byte_end":81880,"line_start":536,"line_end":536,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81882,"byte_end":81886,"line_start":536,"line_end":536,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81869,"byte_end":81880,"line_start":536,"line_end":536,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81913,"byte_end":81920,"line_start":536,"line_end":536,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81904,"byte_end":81911,"line_start":536,"line_end":536,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81921,"byte_end":81926,"line_start":536,"line_end":536,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81928,"byte_end":81934,"line_start":536,"line_end":536,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81936,"byte_end":81942,"line_start":536,"line_end":536,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81972,"byte_end":81976,"line_start":537,"line_end":537,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81959,"byte_end":81970,"line_start":537,"line_end":537,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81972,"byte_end":81976,"line_start":537,"line_end":537,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81959,"byte_end":81970,"line_start":537,"line_end":537,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82003,"byte_end":82010,"line_start":537,"line_end":537,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81994,"byte_end":82001,"line_start":537,"line_end":537,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82011,"byte_end":82016,"line_start":537,"line_end":537,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82018,"byte_end":82024,"line_start":537,"line_end":537,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82026,"byte_end":82032,"line_start":537,"line_end":537,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82062,"byte_end":82068,"line_start":538,"line_end":538,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82049,"byte_end":82060,"line_start":538,"line_end":538,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82062,"byte_end":82068,"line_start":538,"line_end":538,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82049,"byte_end":82060,"line_start":538,"line_end":538,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82093,"byte_end":82100,"line_start":538,"line_end":538,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82082,"byte_end":82091,"line_start":538,"line_end":538,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82101,"byte_end":82106,"line_start":538,"line_end":538,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82108,"byte_end":82114,"line_start":538,"line_end":538,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82116,"byte_end":82122,"line_start":538,"line_end":538,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82152,"byte_end":82155,"line_start":539,"line_end":539,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82139,"byte_end":82150,"line_start":539,"line_end":539,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82152,"byte_end":82155,"line_start":539,"line_end":539,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82139,"byte_end":82150,"line_start":539,"line_end":539,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82183,"byte_end":82190,"line_start":539,"line_end":539,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82175,"byte_end":82181,"line_start":539,"line_end":539,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82191,"byte_end":82196,"line_start":539,"line_end":539,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82198,"byte_end":82204,"line_start":539,"line_end":539,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82206,"byte_end":82212,"line_start":539,"line_end":539,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82242,"byte_end":82246,"line_start":540,"line_end":540,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82229,"byte_end":82240,"line_start":540,"line_end":540,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82242,"byte_end":82246,"line_start":540,"line_end":540,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82229,"byte_end":82240,"line_start":540,"line_end":540,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82273,"byte_end":82280,"line_start":540,"line_end":540,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82264,"byte_end":82271,"line_start":540,"line_end":540,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82281,"byte_end":82286,"line_start":540,"line_end":540,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82288,"byte_end":82294,"line_start":540,"line_end":540,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82296,"byte_end":82302,"line_start":540,"line_end":540,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82332,"byte_end":82337,"line_start":541,"line_end":541,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82319,"byte_end":82330,"line_start":541,"line_end":541,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82332,"byte_end":82337,"line_start":541,"line_end":541,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82319,"byte_end":82330,"line_start":541,"line_end":541,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82363,"byte_end":82370,"line_start":541,"line_end":541,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82353,"byte_end":82361,"line_start":541,"line_end":541,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82371,"byte_end":82376,"line_start":541,"line_end":541,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82378,"byte_end":82384,"line_start":541,"line_end":541,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82386,"byte_end":82392,"line_start":541,"line_end":541,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82422,"byte_end":82428,"line_start":542,"line_end":542,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82409,"byte_end":82420,"line_start":542,"line_end":542,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82422,"byte_end":82428,"line_start":542,"line_end":542,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82409,"byte_end":82420,"line_start":542,"line_end":542,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82453,"byte_end":82460,"line_start":542,"line_end":542,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82442,"byte_end":82451,"line_start":542,"line_end":542,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82461,"byte_end":82466,"line_start":542,"line_end":542,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82468,"byte_end":82474,"line_start":542,"line_end":542,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82476,"byte_end":82482,"line_start":542,"line_end":542,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614448}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82723,"byte_end":82732,"line_start":550,"line_end":550,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82748,"byte_end":82757,"line_start":550,"line_end":550,"column_start":72,"column_end":81},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82770,"byte_end":82779,"line_start":550,"line_end":550,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82793,"byte_end":82802,"line_start":550,"line_end":550,"column_start":117,"column_end":126},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82807,"byte_end":82813,"line_start":550,"line_end":550,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82814,"byte_end":82823,"line_start":550,"line_end":550,"column_start":138,"column_end":147},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82825,"byte_end":82833,"line_start":550,"line_end":550,"column_start":149,"column_end":157},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82849,"byte_end":82854,"line_start":552,"line_end":552,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82870,"byte_end":82873,"line_start":552,"line_end":552,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82884,"byte_end":82898,"line_start":552,"line_end":552,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3716}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82874,"byte_end":82882,"line_start":552,"line_end":552,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82928,"byte_end":82938,"line_start":554,"line_end":554,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82916,"byte_end":82927,"line_start":554,"line_end":554,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82939,"byte_end":82950,"line_start":554,"line_end":554,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82951,"byte_end":82962,"line_start":554,"line_end":554,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82964,"byte_end":82965,"line_start":554,"line_end":554,"column_start":63,"column_end":64},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82993,"byte_end":82996,"line_start":555,"line_end":555,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82980,"byte_end":82991,"line_start":555,"line_end":555,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82993,"byte_end":82996,"line_start":555,"line_end":555,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82980,"byte_end":82991,"line_start":555,"line_end":555,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83012,"byte_end":83014,"line_start":555,"line_end":555,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83015,"byte_end":83024,"line_start":555,"line_end":555,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":268437169}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83053,"byte_end":83063,"line_start":556,"line_end":556,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83040,"byte_end":83051,"line_start":556,"line_end":556,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83053,"byte_end":83063,"line_start":556,"line_end":556,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83040,"byte_end":83051,"line_start":556,"line_end":556,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83083,"byte_end":83093,"line_start":556,"line_end":556,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83075,"byte_end":83081,"line_start":556,"line_end":556,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83094,"byte_end":83099,"line_start":556,"line_end":556,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83101,"byte_end":83112,"line_start":556,"line_end":556,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83114,"byte_end":83125,"line_start":556,"line_end":556,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83127,"byte_end":83136,"line_start":556,"line_end":556,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83138,"byte_end":83147,"line_start":556,"line_end":556,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83176,"byte_end":83181,"line_start":557,"line_end":557,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83163,"byte_end":83174,"line_start":557,"line_end":557,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83176,"byte_end":83181,"line_start":557,"line_end":557,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83163,"byte_end":83174,"line_start":557,"line_end":557,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83206,"byte_end":83216,"line_start":557,"line_end":557,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83196,"byte_end":83204,"line_start":557,"line_end":557,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83217,"byte_end":83222,"line_start":557,"line_end":557,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83224,"byte_end":83235,"line_start":557,"line_end":557,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83237,"byte_end":83248,"line_start":557,"line_end":557,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83250,"byte_end":83259,"line_start":557,"line_end":557,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83261,"byte_end":83270,"line_start":557,"line_end":557,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83299,"byte_end":83303,"line_start":558,"line_end":558,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83286,"byte_end":83297,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83299,"byte_end":83303,"line_start":558,"line_end":558,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83286,"byte_end":83297,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83329,"byte_end":83339,"line_start":558,"line_end":558,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83340,"byte_end":83345,"line_start":558,"line_end":558,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83347,"byte_end":83358,"line_start":558,"line_end":558,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83360,"byte_end":83371,"line_start":558,"line_end":558,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83373,"byte_end":83382,"line_start":558,"line_end":558,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83384,"byte_end":83393,"line_start":558,"line_end":558,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83422,"byte_end":83427,"line_start":559,"line_end":559,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83409,"byte_end":83420,"line_start":559,"line_end":559,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83422,"byte_end":83427,"line_start":559,"line_end":559,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83409,"byte_end":83420,"line_start":559,"line_end":559,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83452,"byte_end":83462,"line_start":559,"line_end":559,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83463,"byte_end":83468,"line_start":559,"line_end":559,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83470,"byte_end":83481,"line_start":559,"line_end":559,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83483,"byte_end":83494,"line_start":559,"line_end":559,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83496,"byte_end":83505,"line_start":559,"line_end":559,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83507,"byte_end":83516,"line_start":559,"line_end":559,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83545,"byte_end":83550,"line_start":560,"line_end":560,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83532,"byte_end":83543,"line_start":560,"line_end":560,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83545,"byte_end":83550,"line_start":560,"line_end":560,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83532,"byte_end":83543,"line_start":560,"line_end":560,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83575,"byte_end":83585,"line_start":560,"line_end":560,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83586,"byte_end":83591,"line_start":560,"line_end":560,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83593,"byte_end":83604,"line_start":560,"line_end":560,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83606,"byte_end":83617,"line_start":560,"line_end":560,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83619,"byte_end":83628,"line_start":560,"line_end":560,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83630,"byte_end":83639,"line_start":560,"line_end":560,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83668,"byte_end":83673,"line_start":561,"line_end":561,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83655,"byte_end":83666,"line_start":561,"line_end":561,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83668,"byte_end":83673,"line_start":561,"line_end":561,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83655,"byte_end":83666,"line_start":561,"line_end":561,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83698,"byte_end":83708,"line_start":561,"line_end":561,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83709,"byte_end":83714,"line_start":561,"line_end":561,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83716,"byte_end":83727,"line_start":561,"line_end":561,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83729,"byte_end":83740,"line_start":561,"line_end":561,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83742,"byte_end":83751,"line_start":561,"line_end":561,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83753,"byte_end":83762,"line_start":561,"line_end":561,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83791,"byte_end":83796,"line_start":562,"line_end":562,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83778,"byte_end":83789,"line_start":562,"line_end":562,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83791,"byte_end":83796,"line_start":562,"line_end":562,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83778,"byte_end":83789,"line_start":562,"line_end":562,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83821,"byte_end":83831,"line_start":562,"line_end":562,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83832,"byte_end":83837,"line_start":562,"line_end":562,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83839,"byte_end":83850,"line_start":562,"line_end":562,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83852,"byte_end":83863,"line_start":562,"line_end":562,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83865,"byte_end":83874,"line_start":562,"line_end":562,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83876,"byte_end":83885,"line_start":562,"line_end":562,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83914,"byte_end":83920,"line_start":563,"line_end":563,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83901,"byte_end":83912,"line_start":563,"line_end":563,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83914,"byte_end":83920,"line_start":563,"line_end":563,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83901,"byte_end":83912,"line_start":563,"line_end":563,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83944,"byte_end":83954,"line_start":563,"line_end":563,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83955,"byte_end":83960,"line_start":563,"line_end":563,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83962,"byte_end":83973,"line_start":563,"line_end":563,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83975,"byte_end":83986,"line_start":563,"line_end":563,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83988,"byte_end":83997,"line_start":563,"line_end":563,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83999,"byte_end":84008,"line_start":563,"line_end":563,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84037,"byte_end":84043,"line_start":564,"line_end":564,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84024,"byte_end":84035,"line_start":564,"line_end":564,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84037,"byte_end":84043,"line_start":564,"line_end":564,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84024,"byte_end":84035,"line_start":564,"line_end":564,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84067,"byte_end":84077,"line_start":564,"line_end":564,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84078,"byte_end":84083,"line_start":564,"line_end":564,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84085,"byte_end":84096,"line_start":564,"line_end":564,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84098,"byte_end":84109,"line_start":564,"line_end":564,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84111,"byte_end":84120,"line_start":564,"line_end":564,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84122,"byte_end":84131,"line_start":564,"line_end":564,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84160,"byte_end":84166,"line_start":565,"line_end":565,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84147,"byte_end":84158,"line_start":565,"line_end":565,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84160,"byte_end":84166,"line_start":565,"line_end":565,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84147,"byte_end":84158,"line_start":565,"line_end":565,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84190,"byte_end":84200,"line_start":565,"line_end":565,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84201,"byte_end":84206,"line_start":565,"line_end":565,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84208,"byte_end":84219,"line_start":565,"line_end":565,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84221,"byte_end":84232,"line_start":565,"line_end":565,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84234,"byte_end":84243,"line_start":565,"line_end":565,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84245,"byte_end":84254,"line_start":565,"line_end":565,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84283,"byte_end":84288,"line_start":566,"line_end":566,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84270,"byte_end":84281,"line_start":566,"line_end":566,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84283,"byte_end":84288,"line_start":566,"line_end":566,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84270,"byte_end":84281,"line_start":566,"line_end":566,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84313,"byte_end":84323,"line_start":566,"line_end":566,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84324,"byte_end":84329,"line_start":566,"line_end":566,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84331,"byte_end":84342,"line_start":566,"line_end":566,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84344,"byte_end":84355,"line_start":566,"line_end":566,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84357,"byte_end":84366,"line_start":566,"line_end":566,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84368,"byte_end":84377,"line_start":566,"line_end":566,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84406,"byte_end":84412,"line_start":567,"line_end":567,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84393,"byte_end":84404,"line_start":567,"line_end":567,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84406,"byte_end":84412,"line_start":567,"line_end":567,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84393,"byte_end":84404,"line_start":567,"line_end":567,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84436,"byte_end":84446,"line_start":567,"line_end":567,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84447,"byte_end":84452,"line_start":567,"line_end":567,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84454,"byte_end":84465,"line_start":567,"line_end":567,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84467,"byte_end":84478,"line_start":567,"line_end":567,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84480,"byte_end":84489,"line_start":567,"line_end":567,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84491,"byte_end":84500,"line_start":567,"line_end":567,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84529,"byte_end":84536,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84516,"byte_end":84527,"line_start":568,"line_end":568,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84529,"byte_end":84536,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84516,"byte_end":84527,"line_start":568,"line_end":568,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84559,"byte_end":84569,"line_start":568,"line_end":568,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84551,"byte_end":84557,"line_start":568,"line_end":568,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84570,"byte_end":84575,"line_start":568,"line_end":568,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84577,"byte_end":84588,"line_start":568,"line_end":568,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84590,"byte_end":84601,"line_start":568,"line_end":568,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84603,"byte_end":84612,"line_start":568,"line_end":568,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84614,"byte_end":84623,"line_start":568,"line_end":568,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84652,"byte_end":84659,"line_start":569,"line_end":569,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84639,"byte_end":84650,"line_start":569,"line_end":569,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84652,"byte_end":84659,"line_start":569,"line_end":569,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84639,"byte_end":84650,"line_start":569,"line_end":569,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84682,"byte_end":84692,"line_start":569,"line_end":569,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84693,"byte_end":84698,"line_start":569,"line_end":569,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84700,"byte_end":84711,"line_start":569,"line_end":569,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84713,"byte_end":84724,"line_start":569,"line_end":569,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84726,"byte_end":84735,"line_start":569,"line_end":569,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84737,"byte_end":84746,"line_start":569,"line_end":569,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84775,"byte_end":84778,"line_start":570,"line_end":570,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84762,"byte_end":84773,"line_start":570,"line_end":570,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84775,"byte_end":84778,"line_start":570,"line_end":570,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84762,"byte_end":84773,"line_start":570,"line_end":570,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84805,"byte_end":84815,"line_start":570,"line_end":570,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84797,"byte_end":84803,"line_start":570,"line_end":570,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84816,"byte_end":84821,"line_start":570,"line_end":570,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84823,"byte_end":84834,"line_start":570,"line_end":570,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84836,"byte_end":84847,"line_start":570,"line_end":570,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84849,"byte_end":84858,"line_start":570,"line_end":570,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84860,"byte_end":84869,"line_start":570,"line_end":570,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84898,"byte_end":84902,"line_start":571,"line_end":571,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84885,"byte_end":84896,"line_start":571,"line_end":571,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84898,"byte_end":84902,"line_start":571,"line_end":571,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84885,"byte_end":84896,"line_start":571,"line_end":571,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84928,"byte_end":84938,"line_start":571,"line_end":571,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84919,"byte_end":84926,"line_start":571,"line_end":571,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84939,"byte_end":84944,"line_start":571,"line_end":571,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84946,"byte_end":84957,"line_start":571,"line_end":571,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84959,"byte_end":84970,"line_start":571,"line_end":571,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84972,"byte_end":84981,"line_start":571,"line_end":571,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84983,"byte_end":84992,"line_start":571,"line_end":571,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85021,"byte_end":85025,"line_start":572,"line_end":572,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85008,"byte_end":85019,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85021,"byte_end":85025,"line_start":572,"line_end":572,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85008,"byte_end":85019,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85051,"byte_end":85061,"line_start":572,"line_end":572,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85042,"byte_end":85049,"line_start":572,"line_end":572,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85062,"byte_end":85067,"line_start":572,"line_end":572,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85069,"byte_end":85080,"line_start":572,"line_end":572,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85082,"byte_end":85093,"line_start":572,"line_end":572,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85095,"byte_end":85104,"line_start":572,"line_end":572,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85106,"byte_end":85115,"line_start":572,"line_end":572,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85144,"byte_end":85148,"line_start":573,"line_end":573,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85131,"byte_end":85142,"line_start":573,"line_end":573,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85144,"byte_end":85148,"line_start":573,"line_end":573,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85131,"byte_end":85142,"line_start":573,"line_end":573,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85174,"byte_end":85184,"line_start":573,"line_end":573,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85165,"byte_end":85172,"line_start":573,"line_end":573,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85185,"byte_end":85190,"line_start":573,"line_end":573,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85192,"byte_end":85203,"line_start":573,"line_end":573,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85205,"byte_end":85216,"line_start":573,"line_end":573,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85218,"byte_end":85227,"line_start":573,"line_end":573,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85229,"byte_end":85238,"line_start":573,"line_end":573,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85267,"byte_end":85271,"line_start":574,"line_end":574,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85254,"byte_end":85265,"line_start":574,"line_end":574,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85267,"byte_end":85271,"line_start":574,"line_end":574,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85254,"byte_end":85265,"line_start":574,"line_end":574,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85297,"byte_end":85307,"line_start":574,"line_end":574,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85288,"byte_end":85295,"line_start":574,"line_end":574,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85308,"byte_end":85313,"line_start":574,"line_end":574,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85315,"byte_end":85326,"line_start":574,"line_end":574,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85328,"byte_end":85339,"line_start":574,"line_end":574,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85341,"byte_end":85350,"line_start":574,"line_end":574,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85352,"byte_end":85361,"line_start":574,"line_end":574,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85390,"byte_end":85396,"line_start":575,"line_end":575,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85377,"byte_end":85388,"line_start":575,"line_end":575,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85390,"byte_end":85396,"line_start":575,"line_end":575,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85377,"byte_end":85388,"line_start":575,"line_end":575,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85420,"byte_end":85430,"line_start":575,"line_end":575,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85409,"byte_end":85418,"line_start":575,"line_end":575,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85431,"byte_end":85436,"line_start":575,"line_end":575,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85438,"byte_end":85449,"line_start":575,"line_end":575,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85451,"byte_end":85462,"line_start":575,"line_end":575,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85464,"byte_end":85473,"line_start":575,"line_end":575,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85475,"byte_end":85484,"line_start":575,"line_end":575,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85513,"byte_end":85516,"line_start":576,"line_end":576,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85500,"byte_end":85511,"line_start":576,"line_end":576,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85513,"byte_end":85516,"line_start":576,"line_end":576,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85500,"byte_end":85511,"line_start":576,"line_end":576,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85543,"byte_end":85553,"line_start":576,"line_end":576,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85535,"byte_end":85541,"line_start":576,"line_end":576,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85554,"byte_end":85559,"line_start":576,"line_end":576,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85561,"byte_end":85572,"line_start":576,"line_end":576,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85574,"byte_end":85585,"line_start":576,"line_end":576,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85587,"byte_end":85596,"line_start":576,"line_end":576,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85598,"byte_end":85607,"line_start":576,"line_end":576,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85636,"byte_end":85640,"line_start":577,"line_end":577,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85623,"byte_end":85634,"line_start":577,"line_end":577,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85636,"byte_end":85640,"line_start":577,"line_end":577,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85623,"byte_end":85634,"line_start":577,"line_end":577,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85666,"byte_end":85676,"line_start":577,"line_end":577,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85657,"byte_end":85664,"line_start":577,"line_end":577,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85677,"byte_end":85682,"line_start":577,"line_end":577,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85684,"byte_end":85695,"line_start":577,"line_end":577,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85697,"byte_end":85708,"line_start":577,"line_end":577,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85710,"byte_end":85719,"line_start":577,"line_end":577,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85721,"byte_end":85730,"line_start":577,"line_end":577,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85759,"byte_end":85764,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85746,"byte_end":85757,"line_start":578,"line_end":578,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85759,"byte_end":85764,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85746,"byte_end":85757,"line_start":578,"line_end":578,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85789,"byte_end":85799,"line_start":578,"line_end":578,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85779,"byte_end":85787,"line_start":578,"line_end":578,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85800,"byte_end":85805,"line_start":578,"line_end":578,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85807,"byte_end":85818,"line_start":578,"line_end":578,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85820,"byte_end":85831,"line_start":578,"line_end":578,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85833,"byte_end":85842,"line_start":578,"line_end":578,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85844,"byte_end":85853,"line_start":578,"line_end":578,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85882,"byte_end":85888,"line_start":579,"line_end":579,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85869,"byte_end":85880,"line_start":579,"line_end":579,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85882,"byte_end":85888,"line_start":579,"line_end":579,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85869,"byte_end":85880,"line_start":579,"line_end":579,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85912,"byte_end":85922,"line_start":579,"line_end":579,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85901,"byte_end":85910,"line_start":579,"line_end":579,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85923,"byte_end":85928,"line_start":579,"line_end":579,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85930,"byte_end":85941,"line_start":579,"line_end":579,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85943,"byte_end":85954,"line_start":579,"line_end":579,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85956,"byte_end":85965,"line_start":579,"line_end":579,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437169}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85967,"byte_end":85976,"line_start":579,"line_end":579,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178993}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86125,"byte_end":86128,"line_start":581,"line_end":581,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86139,"byte_end":86150,"line_start":581,"line_end":581,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86129,"byte_end":86137,"line_start":581,"line_end":581,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86336,"byte_end":86345,"line_start":588,"line_end":588,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86356,"byte_end":86365,"line_start":588,"line_end":588,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86370,"byte_end":86376,"line_start":588,"line_end":588,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86381,"byte_end":86389,"line_start":588,"line_end":588,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":86422,"byte_end":86432,"line_start":590,"line_end":590,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86415,"byte_end":86421,"line_start":590,"line_end":590,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86433,"byte_end":86439,"line_start":590,"line_end":590,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86440,"byte_end":86451,"line_start":590,"line_end":590,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86469,"byte_end":86475,"line_start":592,"line_end":592,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86476,"byte_end":86477,"line_start":592,"line_end":592,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86505,"byte_end":86509,"line_start":593,"line_end":593,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86492,"byte_end":86503,"line_start":593,"line_end":593,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86505,"byte_end":86509,"line_start":593,"line_end":593,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86492,"byte_end":86503,"line_start":593,"line_end":593,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86529,"byte_end":86532,"line_start":593,"line_end":593,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86543,"byte_end":86554,"line_start":593,"line_end":593,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86533,"byte_end":86541,"line_start":593,"line_end":593,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86585,"byte_end":86588,"line_start":594,"line_end":594,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86572,"byte_end":86583,"line_start":594,"line_end":594,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86585,"byte_end":86588,"line_start":594,"line_end":594,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86572,"byte_end":86583,"line_start":594,"line_end":594,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86609,"byte_end":86612,"line_start":594,"line_end":594,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86623,"byte_end":86634,"line_start":594,"line_end":594,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86613,"byte_end":86621,"line_start":594,"line_end":594,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86665,"byte_end":86671,"line_start":595,"line_end":595,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86652,"byte_end":86663,"line_start":595,"line_end":595,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86665,"byte_end":86671,"line_start":595,"line_end":595,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86652,"byte_end":86663,"line_start":595,"line_end":595,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86690,"byte_end":86693,"line_start":595,"line_end":595,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86704,"byte_end":86715,"line_start":595,"line_end":595,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86694,"byte_end":86702,"line_start":595,"line_end":595,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86746,"byte_end":86749,"line_start":596,"line_end":596,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86733,"byte_end":86744,"line_start":596,"line_end":596,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86746,"byte_end":86749,"line_start":596,"line_end":596,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86733,"byte_end":86744,"line_start":596,"line_end":596,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86770,"byte_end":86773,"line_start":596,"line_end":596,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86784,"byte_end":86795,"line_start":596,"line_end":596,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86774,"byte_end":86782,"line_start":596,"line_end":596,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86826,"byte_end":86830,"line_start":597,"line_end":597,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86813,"byte_end":86824,"line_start":597,"line_end":597,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86826,"byte_end":86830,"line_start":597,"line_end":597,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86813,"byte_end":86824,"line_start":597,"line_end":597,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86850,"byte_end":86853,"line_start":597,"line_end":597,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86864,"byte_end":86875,"line_start":597,"line_end":597,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86854,"byte_end":86862,"line_start":597,"line_end":597,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86906,"byte_end":86911,"line_start":598,"line_end":598,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86893,"byte_end":86904,"line_start":598,"line_end":598,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86906,"byte_end":86911,"line_start":598,"line_end":598,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86893,"byte_end":86904,"line_start":598,"line_end":598,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86930,"byte_end":86933,"line_start":598,"line_end":598,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86944,"byte_end":86955,"line_start":598,"line_end":598,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86934,"byte_end":86942,"line_start":598,"line_end":598,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86986,"byte_end":86992,"line_start":599,"line_end":599,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86973,"byte_end":86984,"line_start":599,"line_end":599,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86986,"byte_end":86992,"line_start":599,"line_end":599,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86973,"byte_end":86984,"line_start":599,"line_end":599,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87010,"byte_end":87013,"line_start":599,"line_end":599,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87024,"byte_end":87027,"line_start":599,"line_end":599,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87014,"byte_end":87022,"line_start":599,"line_end":599,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87220,"byte_end":87230,"line_start":601,"line_end":601,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87207,"byte_end":87218,"line_start":601,"line_end":601,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87220,"byte_end":87230,"line_start":601,"line_end":601,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87207,"byte_end":87218,"line_start":601,"line_end":601,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87249,"byte_end":87258,"line_start":601,"line_end":601,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87241,"byte_end":87247,"line_start":601,"line_end":601,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87259,"byte_end":87265,"line_start":601,"line_end":601,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87267,"byte_end":87273,"line_start":601,"line_end":601,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87275,"byte_end":87282,"line_start":601,"line_end":601,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87291,"byte_end":87305,"line_start":601,"line_end":601,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87283,"byte_end":87289,"line_start":601,"line_end":601,"column_start":89,"column_end":95},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87306,"byte_end":87312,"line_start":601,"line_end":601,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87347,"byte_end":87352,"line_start":602,"line_end":602,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87334,"byte_end":87345,"line_start":602,"line_end":602,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87347,"byte_end":87352,"line_start":602,"line_end":602,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87334,"byte_end":87345,"line_start":602,"line_end":602,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87376,"byte_end":87385,"line_start":602,"line_end":602,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87366,"byte_end":87374,"line_start":602,"line_end":602,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87386,"byte_end":87392,"line_start":602,"line_end":602,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87394,"byte_end":87400,"line_start":602,"line_end":602,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87402,"byte_end":87409,"line_start":602,"line_end":602,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87420,"byte_end":87434,"line_start":602,"line_end":602,"column_start":99,"column_end":113},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87410,"byte_end":87418,"line_start":602,"line_end":602,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87435,"byte_end":87441,"line_start":602,"line_end":602,"column_start":114,"column_end":120},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87476,"byte_end":87480,"line_start":603,"line_end":603,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87463,"byte_end":87474,"line_start":603,"line_end":603,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87476,"byte_end":87480,"line_start":603,"line_end":603,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87463,"byte_end":87474,"line_start":603,"line_end":603,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87505,"byte_end":87514,"line_start":603,"line_end":603,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87515,"byte_end":87521,"line_start":603,"line_end":603,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87523,"byte_end":87529,"line_start":603,"line_end":603,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87531,"byte_end":87538,"line_start":603,"line_end":603,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87543,"byte_end":87557,"line_start":603,"line_end":603,"column_start":93,"column_end":107},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87558,"byte_end":87564,"line_start":603,"line_end":603,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87599,"byte_end":87604,"line_start":604,"line_end":604,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87586,"byte_end":87597,"line_start":604,"line_end":604,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87599,"byte_end":87604,"line_start":604,"line_end":604,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87586,"byte_end":87597,"line_start":604,"line_end":604,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87628,"byte_end":87637,"line_start":604,"line_end":604,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87638,"byte_end":87644,"line_start":604,"line_end":604,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87646,"byte_end":87652,"line_start":604,"line_end":604,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87654,"byte_end":87661,"line_start":604,"line_end":604,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87667,"byte_end":87681,"line_start":604,"line_end":604,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87682,"byte_end":87688,"line_start":604,"line_end":604,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87723,"byte_end":87728,"line_start":605,"line_end":605,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87710,"byte_end":87721,"line_start":605,"line_end":605,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87723,"byte_end":87728,"line_start":605,"line_end":605,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87710,"byte_end":87721,"line_start":605,"line_end":605,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87752,"byte_end":87761,"line_start":605,"line_end":605,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87762,"byte_end":87768,"line_start":605,"line_end":605,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87770,"byte_end":87776,"line_start":605,"line_end":605,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87778,"byte_end":87785,"line_start":605,"line_end":605,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87791,"byte_end":87805,"line_start":605,"line_end":605,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87806,"byte_end":87812,"line_start":605,"line_end":605,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87847,"byte_end":87852,"line_start":606,"line_end":606,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87834,"byte_end":87845,"line_start":606,"line_end":606,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87847,"byte_end":87852,"line_start":606,"line_end":606,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87834,"byte_end":87845,"line_start":606,"line_end":606,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87876,"byte_end":87885,"line_start":606,"line_end":606,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87886,"byte_end":87892,"line_start":606,"line_end":606,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87894,"byte_end":87900,"line_start":606,"line_end":606,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87902,"byte_end":87909,"line_start":606,"line_end":606,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87915,"byte_end":87929,"line_start":606,"line_end":606,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87930,"byte_end":87936,"line_start":606,"line_end":606,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87971,"byte_end":87976,"line_start":607,"line_end":607,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87958,"byte_end":87969,"line_start":607,"line_end":607,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87971,"byte_end":87976,"line_start":607,"line_end":607,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87958,"byte_end":87969,"line_start":607,"line_end":607,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88000,"byte_end":88009,"line_start":607,"line_end":607,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88010,"byte_end":88016,"line_start":607,"line_end":607,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88018,"byte_end":88024,"line_start":607,"line_end":607,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88026,"byte_end":88033,"line_start":607,"line_end":607,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88038,"byte_end":88052,"line_start":607,"line_end":607,"column_start":93,"column_end":107},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88053,"byte_end":88059,"line_start":607,"line_end":607,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88094,"byte_end":88100,"line_start":608,"line_end":608,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88081,"byte_end":88092,"line_start":608,"line_end":608,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88094,"byte_end":88100,"line_start":608,"line_end":608,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88081,"byte_end":88092,"line_start":608,"line_end":608,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88123,"byte_end":88132,"line_start":608,"line_end":608,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88133,"byte_end":88139,"line_start":608,"line_end":608,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88141,"byte_end":88147,"line_start":608,"line_end":608,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88149,"byte_end":88156,"line_start":608,"line_end":608,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88162,"byte_end":88176,"line_start":608,"line_end":608,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88177,"byte_end":88183,"line_start":608,"line_end":608,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88218,"byte_end":88224,"line_start":609,"line_end":609,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88205,"byte_end":88216,"line_start":609,"line_end":609,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88218,"byte_end":88224,"line_start":609,"line_end":609,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88205,"byte_end":88216,"line_start":609,"line_end":609,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88247,"byte_end":88256,"line_start":609,"line_end":609,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88257,"byte_end":88263,"line_start":609,"line_end":609,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88265,"byte_end":88271,"line_start":609,"line_end":609,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88273,"byte_end":88280,"line_start":609,"line_end":609,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88286,"byte_end":88300,"line_start":609,"line_end":609,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88301,"byte_end":88307,"line_start":609,"line_end":609,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88342,"byte_end":88348,"line_start":610,"line_end":610,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88329,"byte_end":88340,"line_start":610,"line_end":610,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88342,"byte_end":88348,"line_start":610,"line_end":610,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88329,"byte_end":88340,"line_start":610,"line_end":610,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88371,"byte_end":88380,"line_start":610,"line_end":610,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88381,"byte_end":88387,"line_start":610,"line_end":610,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88389,"byte_end":88395,"line_start":610,"line_end":610,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88397,"byte_end":88404,"line_start":610,"line_end":610,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88410,"byte_end":88424,"line_start":610,"line_end":610,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88425,"byte_end":88431,"line_start":610,"line_end":610,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88466,"byte_end":88471,"line_start":611,"line_end":611,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88453,"byte_end":88464,"line_start":611,"line_end":611,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88466,"byte_end":88471,"line_start":611,"line_end":611,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88453,"byte_end":88464,"line_start":611,"line_end":611,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88495,"byte_end":88504,"line_start":611,"line_end":611,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88505,"byte_end":88511,"line_start":611,"line_end":611,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88513,"byte_end":88519,"line_start":611,"line_end":611,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88521,"byte_end":88528,"line_start":611,"line_end":611,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88534,"byte_end":88548,"line_start":611,"line_end":611,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88549,"byte_end":88555,"line_start":611,"line_end":611,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88590,"byte_end":88596,"line_start":612,"line_end":612,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88577,"byte_end":88588,"line_start":612,"line_end":612,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88590,"byte_end":88596,"line_start":612,"line_end":612,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88577,"byte_end":88588,"line_start":612,"line_end":612,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88619,"byte_end":88628,"line_start":612,"line_end":612,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88629,"byte_end":88635,"line_start":612,"line_end":612,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88637,"byte_end":88643,"line_start":612,"line_end":612,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88645,"byte_end":88652,"line_start":612,"line_end":612,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88658,"byte_end":88672,"line_start":612,"line_end":612,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88673,"byte_end":88679,"line_start":612,"line_end":612,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88714,"byte_end":88721,"line_start":613,"line_end":613,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88701,"byte_end":88712,"line_start":613,"line_end":613,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88714,"byte_end":88721,"line_start":613,"line_end":613,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88701,"byte_end":88712,"line_start":613,"line_end":613,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88743,"byte_end":88752,"line_start":613,"line_end":613,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88735,"byte_end":88741,"line_start":613,"line_end":613,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88753,"byte_end":88759,"line_start":613,"line_end":613,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88761,"byte_end":88767,"line_start":613,"line_end":613,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88769,"byte_end":88776,"line_start":613,"line_end":613,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88785,"byte_end":88799,"line_start":613,"line_end":613,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88777,"byte_end":88783,"line_start":613,"line_end":613,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88800,"byte_end":88806,"line_start":613,"line_end":613,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88841,"byte_end":88848,"line_start":614,"line_end":614,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88828,"byte_end":88839,"line_start":614,"line_end":614,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88841,"byte_end":88848,"line_start":614,"line_end":614,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88828,"byte_end":88839,"line_start":614,"line_end":614,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88870,"byte_end":88879,"line_start":614,"line_end":614,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88880,"byte_end":88886,"line_start":614,"line_end":614,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88888,"byte_end":88894,"line_start":614,"line_end":614,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88896,"byte_end":88903,"line_start":614,"line_end":614,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88910,"byte_end":88924,"line_start":614,"line_end":614,"column_start":95,"column_end":109},"ref_id":{"krate":0,"index":1720}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88925,"byte_end":88931,"line_start":614,"line_end":614,"column_start":110,"column_end":116},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88966,"byte_end":88969,"line_start":615,"line_end":615,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88953,"byte_end":88964,"line_start":615,"line_end":615,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88966,"byte_end":88969,"line_start":615,"line_end":615,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88953,"byte_end":88964,"line_start":615,"line_end":615,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88995,"byte_end":89004,"line_start":615,"line_end":615,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88987,"byte_end":88993,"line_start":615,"line_end":615,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89005,"byte_end":89011,"line_start":615,"line_end":615,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89013,"byte_end":89019,"line_start":615,"line_end":615,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89021,"byte_end":89028,"line_start":615,"line_end":615,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89037,"byte_end":89051,"line_start":615,"line_end":615,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89029,"byte_end":89035,"line_start":615,"line_end":615,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89052,"byte_end":89058,"line_start":615,"line_end":615,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89093,"byte_end":89097,"line_start":616,"line_end":616,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89080,"byte_end":89091,"line_start":616,"line_end":616,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89093,"byte_end":89097,"line_start":616,"line_end":616,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89080,"byte_end":89091,"line_start":616,"line_end":616,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89122,"byte_end":89131,"line_start":616,"line_end":616,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89113,"byte_end":89120,"line_start":616,"line_end":616,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89132,"byte_end":89138,"line_start":616,"line_end":616,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89140,"byte_end":89146,"line_start":616,"line_end":616,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89148,"byte_end":89155,"line_start":616,"line_end":616,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89165,"byte_end":89179,"line_start":616,"line_end":616,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89156,"byte_end":89163,"line_start":616,"line_end":616,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89180,"byte_end":89186,"line_start":616,"line_end":616,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89221,"byte_end":89225,"line_start":617,"line_end":617,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89208,"byte_end":89219,"line_start":617,"line_end":617,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89221,"byte_end":89225,"line_start":617,"line_end":617,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89208,"byte_end":89219,"line_start":617,"line_end":617,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89250,"byte_end":89259,"line_start":617,"line_end":617,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89241,"byte_end":89248,"line_start":617,"line_end":617,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89260,"byte_end":89266,"line_start":617,"line_end":617,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89268,"byte_end":89274,"line_start":617,"line_end":617,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89276,"byte_end":89283,"line_start":617,"line_end":617,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89293,"byte_end":89307,"line_start":617,"line_end":617,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89284,"byte_end":89291,"line_start":617,"line_end":617,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89308,"byte_end":89314,"line_start":617,"line_end":617,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89349,"byte_end":89353,"line_start":618,"line_end":618,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89336,"byte_end":89347,"line_start":618,"line_end":618,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89349,"byte_end":89353,"line_start":618,"line_end":618,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89336,"byte_end":89347,"line_start":618,"line_end":618,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89378,"byte_end":89387,"line_start":618,"line_end":618,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89369,"byte_end":89376,"line_start":618,"line_end":618,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89388,"byte_end":89394,"line_start":618,"line_end":618,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89396,"byte_end":89402,"line_start":618,"line_end":618,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89404,"byte_end":89411,"line_start":618,"line_end":618,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89421,"byte_end":89435,"line_start":618,"line_end":618,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89412,"byte_end":89419,"line_start":618,"line_end":618,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89436,"byte_end":89442,"line_start":618,"line_end":618,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89477,"byte_end":89481,"line_start":619,"line_end":619,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89464,"byte_end":89475,"line_start":619,"line_end":619,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89477,"byte_end":89481,"line_start":619,"line_end":619,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89464,"byte_end":89475,"line_start":619,"line_end":619,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89506,"byte_end":89515,"line_start":619,"line_end":619,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89497,"byte_end":89504,"line_start":619,"line_end":619,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89516,"byte_end":89522,"line_start":619,"line_end":619,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89524,"byte_end":89530,"line_start":619,"line_end":619,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872626}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89532,"byte_end":89539,"line_start":619,"line_end":619,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89549,"byte_end":89563,"line_start":619,"line_end":619,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89540,"byte_end":89547,"line_start":619,"line_end":619,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89564,"byte_end":89570,"line_start":619,"line_end":619,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049906}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89598,"byte_end":89600,"line_start":622,"line_end":622,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89718,"byte_end":89727,"line_start":626,"line_end":626,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89738,"byte_end":89747,"line_start":626,"line_end":626,"column_start":86,"column_end":95},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89760,"byte_end":89767,"line_start":626,"line_end":626,"column_start":108,"column_end":115},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89773,"byte_end":89779,"line_start":626,"line_end":626,"column_start":121,"column_end":127},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89784,"byte_end":89792,"line_start":626,"line_end":626,"column_start":132,"column_end":140},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89809,"byte_end":89814,"line_start":629,"line_end":629,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89830,"byte_end":89833,"line_start":629,"line_end":629,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89844,"byte_end":89858,"line_start":629,"line_end":629,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3716}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89834,"byte_end":89842,"line_start":629,"line_end":629,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90116,"byte_end":90122,"line_start":637,"line_end":637,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90123,"byte_end":90134,"line_start":637,"line_end":637,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90156,"byte_end":90161,"line_start":637,"line_end":637,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90138,"byte_end":90154,"line_start":637,"line_end":637,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3256}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90183,"byte_end":90194,"line_start":638,"line_end":638,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90176,"byte_end":90182,"line_start":638,"line_end":638,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90197,"byte_end":90203,"line_start":638,"line_end":638,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90204,"byte_end":90213,"line_start":638,"line_end":638,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90256,"byte_end":90266,"line_start":641,"line_end":641,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90249,"byte_end":90255,"line_start":641,"line_end":641,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90267,"byte_end":90273,"line_start":641,"line_end":641,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90274,"byte_end":90285,"line_start":641,"line_end":641,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90287,"byte_end":90288,"line_start":641,"line_end":641,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90316,"byte_end":90320,"line_start":642,"line_end":642,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90303,"byte_end":90314,"line_start":642,"line_end":642,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90316,"byte_end":90320,"line_start":642,"line_end":642,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90303,"byte_end":90314,"line_start":642,"line_end":642,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90336,"byte_end":90338,"line_start":642,"line_end":642,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90371,"byte_end":90374,"line_start":643,"line_end":643,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90358,"byte_end":90369,"line_start":643,"line_end":643,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90371,"byte_end":90374,"line_start":643,"line_end":643,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90358,"byte_end":90369,"line_start":643,"line_end":643,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90391,"byte_end":90393,"line_start":643,"line_end":643,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90426,"byte_end":90436,"line_start":644,"line_end":644,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90413,"byte_end":90424,"line_start":644,"line_end":644,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90426,"byte_end":90436,"line_start":644,"line_end":644,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90413,"byte_end":90424,"line_start":644,"line_end":644,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90457,"byte_end":90470,"line_start":644,"line_end":644,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90449,"byte_end":90455,"line_start":644,"line_end":644,"column_start":49,"column_end":55},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90471,"byte_end":90476,"line_start":644,"line_end":644,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90478,"byte_end":90488,"line_start":644,"line_end":644,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90490,"byte_end":90496,"line_start":644,"line_end":644,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90498,"byte_end":90504,"line_start":644,"line_end":644,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90506,"byte_end":90510,"line_start":644,"line_end":644,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90540,"byte_end":90545,"line_start":645,"line_end":645,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90527,"byte_end":90538,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90540,"byte_end":90545,"line_start":645,"line_end":645,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90527,"byte_end":90538,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90571,"byte_end":90584,"line_start":645,"line_end":645,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90561,"byte_end":90569,"line_start":645,"line_end":645,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90585,"byte_end":90590,"line_start":645,"line_end":645,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90592,"byte_end":90602,"line_start":645,"line_end":645,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90604,"byte_end":90610,"line_start":645,"line_end":645,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90612,"byte_end":90618,"line_start":645,"line_end":645,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90620,"byte_end":90624,"line_start":645,"line_end":645,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90654,"byte_end":90658,"line_start":646,"line_end":646,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90641,"byte_end":90652,"line_start":646,"line_end":646,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90654,"byte_end":90658,"line_start":646,"line_end":646,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90641,"byte_end":90652,"line_start":646,"line_end":646,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90685,"byte_end":90698,"line_start":646,"line_end":646,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90699,"byte_end":90704,"line_start":646,"line_end":646,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90706,"byte_end":90716,"line_start":646,"line_end":646,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90718,"byte_end":90724,"line_start":646,"line_end":646,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90726,"byte_end":90732,"line_start":646,"line_end":646,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90734,"byte_end":90738,"line_start":646,"line_end":646,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90768,"byte_end":90773,"line_start":647,"line_end":647,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90755,"byte_end":90766,"line_start":647,"line_end":647,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90768,"byte_end":90773,"line_start":647,"line_end":647,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90755,"byte_end":90766,"line_start":647,"line_end":647,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90799,"byte_end":90812,"line_start":647,"line_end":647,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90813,"byte_end":90818,"line_start":647,"line_end":647,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90820,"byte_end":90830,"line_start":647,"line_end":647,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90832,"byte_end":90838,"line_start":647,"line_end":647,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90840,"byte_end":90846,"line_start":647,"line_end":647,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90848,"byte_end":90852,"line_start":647,"line_end":647,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90882,"byte_end":90887,"line_start":648,"line_end":648,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90869,"byte_end":90880,"line_start":648,"line_end":648,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90882,"byte_end":90887,"line_start":648,"line_end":648,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90869,"byte_end":90880,"line_start":648,"line_end":648,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90913,"byte_end":90926,"line_start":648,"line_end":648,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90927,"byte_end":90932,"line_start":648,"line_end":648,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90934,"byte_end":90944,"line_start":648,"line_end":648,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90946,"byte_end":90952,"line_start":648,"line_end":648,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90954,"byte_end":90960,"line_start":648,"line_end":648,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90962,"byte_end":90966,"line_start":648,"line_end":648,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90996,"byte_end":91001,"line_start":649,"line_end":649,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90983,"byte_end":90994,"line_start":649,"line_end":649,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90996,"byte_end":91001,"line_start":649,"line_end":649,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90983,"byte_end":90994,"line_start":649,"line_end":649,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91027,"byte_end":91040,"line_start":649,"line_end":649,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91041,"byte_end":91046,"line_start":649,"line_end":649,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91048,"byte_end":91058,"line_start":649,"line_end":649,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91060,"byte_end":91066,"line_start":649,"line_end":649,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91068,"byte_end":91074,"line_start":649,"line_end":649,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91076,"byte_end":91080,"line_start":649,"line_end":649,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91110,"byte_end":91115,"line_start":650,"line_end":650,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91097,"byte_end":91108,"line_start":650,"line_end":650,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91110,"byte_end":91115,"line_start":650,"line_end":650,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91097,"byte_end":91108,"line_start":650,"line_end":650,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91141,"byte_end":91154,"line_start":650,"line_end":650,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91155,"byte_end":91160,"line_start":650,"line_end":650,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91162,"byte_end":91172,"line_start":650,"line_end":650,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91174,"byte_end":91180,"line_start":650,"line_end":650,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91182,"byte_end":91188,"line_start":650,"line_end":650,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91190,"byte_end":91194,"line_start":650,"line_end":650,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91224,"byte_end":91230,"line_start":651,"line_end":651,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91211,"byte_end":91222,"line_start":651,"line_end":651,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91224,"byte_end":91230,"line_start":651,"line_end":651,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91211,"byte_end":91222,"line_start":651,"line_end":651,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91255,"byte_end":91268,"line_start":651,"line_end":651,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91269,"byte_end":91274,"line_start":651,"line_end":651,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91276,"byte_end":91286,"line_start":651,"line_end":651,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91288,"byte_end":91294,"line_start":651,"line_end":651,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91296,"byte_end":91302,"line_start":651,"line_end":651,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91304,"byte_end":91308,"line_start":651,"line_end":651,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91338,"byte_end":91344,"line_start":652,"line_end":652,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91325,"byte_end":91336,"line_start":652,"line_end":652,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91338,"byte_end":91344,"line_start":652,"line_end":652,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91325,"byte_end":91336,"line_start":652,"line_end":652,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91369,"byte_end":91382,"line_start":652,"line_end":652,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91383,"byte_end":91388,"line_start":652,"line_end":652,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91390,"byte_end":91400,"line_start":652,"line_end":652,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91402,"byte_end":91408,"line_start":652,"line_end":652,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91410,"byte_end":91416,"line_start":652,"line_end":652,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91418,"byte_end":91422,"line_start":652,"line_end":652,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91452,"byte_end":91458,"line_start":653,"line_end":653,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91439,"byte_end":91450,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91452,"byte_end":91458,"line_start":653,"line_end":653,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91439,"byte_end":91450,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91483,"byte_end":91496,"line_start":653,"line_end":653,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91497,"byte_end":91502,"line_start":653,"line_end":653,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91504,"byte_end":91514,"line_start":653,"line_end":653,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91516,"byte_end":91522,"line_start":653,"line_end":653,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91524,"byte_end":91530,"line_start":653,"line_end":653,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91532,"byte_end":91536,"line_start":653,"line_end":653,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91566,"byte_end":91571,"line_start":654,"line_end":654,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91553,"byte_end":91564,"line_start":654,"line_end":654,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91566,"byte_end":91571,"line_start":654,"line_end":654,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91553,"byte_end":91564,"line_start":654,"line_end":654,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91597,"byte_end":91610,"line_start":654,"line_end":654,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91611,"byte_end":91616,"line_start":654,"line_end":654,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91618,"byte_end":91628,"line_start":654,"line_end":654,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91630,"byte_end":91636,"line_start":654,"line_end":654,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91638,"byte_end":91644,"line_start":654,"line_end":654,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91646,"byte_end":91650,"line_start":654,"line_end":654,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91680,"byte_end":91686,"line_start":655,"line_end":655,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91667,"byte_end":91678,"line_start":655,"line_end":655,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91680,"byte_end":91686,"line_start":655,"line_end":655,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91667,"byte_end":91678,"line_start":655,"line_end":655,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91711,"byte_end":91724,"line_start":655,"line_end":655,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91725,"byte_end":91730,"line_start":655,"line_end":655,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91732,"byte_end":91742,"line_start":655,"line_end":655,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91744,"byte_end":91750,"line_start":655,"line_end":655,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91752,"byte_end":91758,"line_start":655,"line_end":655,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91760,"byte_end":91764,"line_start":655,"line_end":655,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91794,"byte_end":91801,"line_start":656,"line_end":656,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91781,"byte_end":91792,"line_start":656,"line_end":656,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91794,"byte_end":91801,"line_start":656,"line_end":656,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91781,"byte_end":91792,"line_start":656,"line_end":656,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91825,"byte_end":91838,"line_start":656,"line_end":656,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91817,"byte_end":91823,"line_start":656,"line_end":656,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91839,"byte_end":91844,"line_start":656,"line_end":656,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91846,"byte_end":91856,"line_start":656,"line_end":656,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91858,"byte_end":91864,"line_start":656,"line_end":656,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91866,"byte_end":91872,"line_start":656,"line_end":656,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91874,"byte_end":91878,"line_start":656,"line_end":656,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91908,"byte_end":91915,"line_start":657,"line_end":657,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91895,"byte_end":91906,"line_start":657,"line_end":657,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91908,"byte_end":91915,"line_start":657,"line_end":657,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91895,"byte_end":91906,"line_start":657,"line_end":657,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91939,"byte_end":91952,"line_start":657,"line_end":657,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91953,"byte_end":91958,"line_start":657,"line_end":657,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91960,"byte_end":91970,"line_start":657,"line_end":657,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91972,"byte_end":91978,"line_start":657,"line_end":657,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91980,"byte_end":91986,"line_start":657,"line_end":657,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91988,"byte_end":91992,"line_start":657,"line_end":657,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92022,"byte_end":92025,"line_start":658,"line_end":658,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92009,"byte_end":92020,"line_start":658,"line_end":658,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92022,"byte_end":92025,"line_start":658,"line_end":658,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92009,"byte_end":92020,"line_start":658,"line_end":658,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92053,"byte_end":92066,"line_start":658,"line_end":658,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92045,"byte_end":92051,"line_start":658,"line_end":658,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92067,"byte_end":92072,"line_start":658,"line_end":658,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92074,"byte_end":92084,"line_start":658,"line_end":658,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92086,"byte_end":92092,"line_start":658,"line_end":658,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92094,"byte_end":92100,"line_start":658,"line_end":658,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92102,"byte_end":92106,"line_start":658,"line_end":658,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92136,"byte_end":92140,"line_start":659,"line_end":659,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92123,"byte_end":92134,"line_start":659,"line_end":659,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92136,"byte_end":92140,"line_start":659,"line_end":659,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92123,"byte_end":92134,"line_start":659,"line_end":659,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92167,"byte_end":92180,"line_start":659,"line_end":659,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92158,"byte_end":92165,"line_start":659,"line_end":659,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92181,"byte_end":92186,"line_start":659,"line_end":659,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92188,"byte_end":92198,"line_start":659,"line_end":659,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92200,"byte_end":92206,"line_start":659,"line_end":659,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92208,"byte_end":92214,"line_start":659,"line_end":659,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92216,"byte_end":92220,"line_start":659,"line_end":659,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92250,"byte_end":92254,"line_start":660,"line_end":660,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92237,"byte_end":92248,"line_start":660,"line_end":660,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92250,"byte_end":92254,"line_start":660,"line_end":660,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92237,"byte_end":92248,"line_start":660,"line_end":660,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92281,"byte_end":92294,"line_start":660,"line_end":660,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92272,"byte_end":92279,"line_start":660,"line_end":660,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92295,"byte_end":92300,"line_start":660,"line_end":660,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92302,"byte_end":92312,"line_start":660,"line_end":660,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92314,"byte_end":92320,"line_start":660,"line_end":660,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92322,"byte_end":92328,"line_start":660,"line_end":660,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92330,"byte_end":92334,"line_start":660,"line_end":660,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92364,"byte_end":92368,"line_start":661,"line_end":661,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92351,"byte_end":92362,"line_start":661,"line_end":661,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92364,"byte_end":92368,"line_start":661,"line_end":661,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92351,"byte_end":92362,"line_start":661,"line_end":661,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92395,"byte_end":92408,"line_start":661,"line_end":661,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92386,"byte_end":92393,"line_start":661,"line_end":661,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92409,"byte_end":92414,"line_start":661,"line_end":661,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92416,"byte_end":92426,"line_start":661,"line_end":661,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92428,"byte_end":92434,"line_start":661,"line_end":661,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92436,"byte_end":92442,"line_start":661,"line_end":661,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92444,"byte_end":92448,"line_start":661,"line_end":661,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92478,"byte_end":92482,"line_start":662,"line_end":662,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92465,"byte_end":92476,"line_start":662,"line_end":662,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92478,"byte_end":92482,"line_start":662,"line_end":662,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92465,"byte_end":92476,"line_start":662,"line_end":662,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92509,"byte_end":92522,"line_start":662,"line_end":662,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92500,"byte_end":92507,"line_start":662,"line_end":662,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92523,"byte_end":92528,"line_start":662,"line_end":662,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92530,"byte_end":92540,"line_start":662,"line_end":662,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92542,"byte_end":92548,"line_start":662,"line_end":662,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92550,"byte_end":92556,"line_start":662,"line_end":662,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92558,"byte_end":92562,"line_start":662,"line_end":662,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92592,"byte_end":92598,"line_start":663,"line_end":663,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92579,"byte_end":92590,"line_start":663,"line_end":663,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92592,"byte_end":92598,"line_start":663,"line_end":663,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92579,"byte_end":92590,"line_start":663,"line_end":663,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92623,"byte_end":92636,"line_start":663,"line_end":663,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92612,"byte_end":92621,"line_start":663,"line_end":663,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92637,"byte_end":92642,"line_start":663,"line_end":663,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92644,"byte_end":92654,"line_start":663,"line_end":663,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92656,"byte_end":92662,"line_start":663,"line_end":663,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92664,"byte_end":92670,"line_start":663,"line_end":663,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92672,"byte_end":92676,"line_start":663,"line_end":663,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92706,"byte_end":92709,"line_start":664,"line_end":664,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92693,"byte_end":92704,"line_start":664,"line_end":664,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92706,"byte_end":92709,"line_start":664,"line_end":664,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92693,"byte_end":92704,"line_start":664,"line_end":664,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92737,"byte_end":92750,"line_start":664,"line_end":664,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92729,"byte_end":92735,"line_start":664,"line_end":664,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92751,"byte_end":92756,"line_start":664,"line_end":664,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92758,"byte_end":92768,"line_start":664,"line_end":664,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92770,"byte_end":92776,"line_start":664,"line_end":664,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92778,"byte_end":92784,"line_start":664,"line_end":664,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92786,"byte_end":92790,"line_start":664,"line_end":664,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92820,"byte_end":92824,"line_start":665,"line_end":665,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92807,"byte_end":92818,"line_start":665,"line_end":665,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92820,"byte_end":92824,"line_start":665,"line_end":665,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92807,"byte_end":92818,"line_start":665,"line_end":665,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92851,"byte_end":92864,"line_start":665,"line_end":665,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92842,"byte_end":92849,"line_start":665,"line_end":665,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92865,"byte_end":92870,"line_start":665,"line_end":665,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92872,"byte_end":92882,"line_start":665,"line_end":665,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92884,"byte_end":92890,"line_start":665,"line_end":665,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92892,"byte_end":92898,"line_start":665,"line_end":665,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92900,"byte_end":92904,"line_start":665,"line_end":665,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92934,"byte_end":92939,"line_start":666,"line_end":666,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92921,"byte_end":92932,"line_start":666,"line_end":666,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92934,"byte_end":92939,"line_start":666,"line_end":666,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92921,"byte_end":92932,"line_start":666,"line_end":666,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92965,"byte_end":92978,"line_start":666,"line_end":666,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92955,"byte_end":92963,"line_start":666,"line_end":666,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92979,"byte_end":92984,"line_start":666,"line_end":666,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92986,"byte_end":92996,"line_start":666,"line_end":666,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92998,"byte_end":93004,"line_start":666,"line_end":666,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93006,"byte_end":93012,"line_start":666,"line_end":666,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93014,"byte_end":93018,"line_start":666,"line_end":666,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93048,"byte_end":93054,"line_start":667,"line_end":667,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93035,"byte_end":93046,"line_start":667,"line_end":667,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93048,"byte_end":93054,"line_start":667,"line_end":667,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93035,"byte_end":93046,"line_start":667,"line_end":667,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93079,"byte_end":93092,"line_start":667,"line_end":667,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1734}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93068,"byte_end":93077,"line_start":667,"line_end":667,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93093,"byte_end":93098,"line_start":667,"line_end":667,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93100,"byte_end":93110,"line_start":667,"line_end":667,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93112,"byte_end":93118,"line_start":667,"line_end":667,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614451}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93120,"byte_end":93126,"line_start":667,"line_end":667,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437171}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93128,"byte_end":93132,"line_start":667,"line_end":667,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178995}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93423,"byte_end":93432,"line_start":676,"line_end":676,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93443,"byte_end":93452,"line_start":676,"line_end":676,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93457,"byte_end":93463,"line_start":676,"line_end":676,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93470,"byte_end":93478,"line_start":676,"line_end":676,"column_start":74,"column_end":82},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93502,"byte_end":93508,"line_start":678,"line_end":678,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93509,"byte_end":93518,"line_start":678,"line_end":678,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":3270}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93545,"byte_end":93547,"line_start":679,"line_end":679,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93577,"byte_end":93583,"line_start":682,"line_end":682,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93584,"byte_end":93595,"line_start":682,"line_end":682,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93617,"byte_end":93622,"line_start":682,"line_end":682,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93599,"byte_end":93615,"line_start":682,"line_end":682,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3256}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93644,"byte_end":93655,"line_start":683,"line_end":683,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93637,"byte_end":93643,"line_start":683,"line_end":683,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93658,"byte_end":93664,"line_start":683,"line_end":683,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93665,"byte_end":93674,"line_start":683,"line_end":683,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93708,"byte_end":93726,"line_start":684,"line_end":684,"column_start":24,"column_end":42},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93697,"byte_end":93706,"line_start":684,"line_end":684,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93727,"byte_end":93733,"line_start":684,"line_end":684,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93735,"byte_end":93741,"line_start":684,"line_end":684,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872628}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93802,"byte_end":93816,"line_start":686,"line_end":686,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93780,"byte_end":93793,"line_start":686,"line_end":686,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93773,"byte_end":93779,"line_start":686,"line_end":686,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93794,"byte_end":93800,"line_start":686,"line_end":686,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872628}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93840,"byte_end":93842,"line_start":689,"line_end":689,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93990,"byte_end":93999,"line_start":694,"line_end":694,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94010,"byte_end":94019,"line_start":694,"line_end":694,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94024,"byte_end":94030,"line_start":694,"line_end":694,"column_start":79,"column_end":85},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94038,"byte_end":94046,"line_start":694,"line_end":694,"column_start":93,"column_end":101},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94062,"byte_end":94067,"line_start":696,"line_end":696,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94083,"byte_end":94086,"line_start":696,"line_end":696,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94097,"byte_end":94100,"line_start":696,"line_end":696,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94087,"byte_end":94095,"line_start":696,"line_end":696,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94156,"byte_end":94165,"line_start":698,"line_end":698,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94149,"byte_end":94155,"line_start":698,"line_end":698,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94166,"byte_end":94172,"line_start":698,"line_end":698,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94206,"byte_end":94216,"line_start":700,"line_end":700,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94199,"byte_end":94205,"line_start":700,"line_end":700,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94217,"byte_end":94223,"line_start":700,"line_end":700,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94224,"byte_end":94235,"line_start":700,"line_end":700,"column_start":49,"column_end":60},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94237,"byte_end":94238,"line_start":700,"line_end":700,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3562}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94295,"byte_end":94303,"line_start":703,"line_end":703,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3019900597}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94320,"byte_end":94326,"line_start":703,"line_end":703,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94307,"byte_end":94318,"line_start":703,"line_end":703,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94346,"byte_end":94354,"line_start":703,"line_end":703,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":1658}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94340,"byte_end":94345,"line_start":703,"line_end":703,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":1140852405}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94431,"byte_end":94445,"line_start":706,"line_end":706,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94425,"byte_end":94430,"line_start":706,"line_end":706,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1140852405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94502,"byte_end":94504,"line_start":707,"line_end":707,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94505,"byte_end":94514,"line_start":707,"line_end":707,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":2181039797}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94611,"byte_end":94619,"line_start":711,"line_end":711,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":3019900597}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94647,"byte_end":94651,"line_start":712,"line_end":712,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94634,"byte_end":94645,"line_start":712,"line_end":712,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94647,"byte_end":94651,"line_start":712,"line_end":712,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94634,"byte_end":94645,"line_start":712,"line_end":712,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94665,"byte_end":94667,"line_start":712,"line_end":712,"column_start":44,"column_end":46},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94699,"byte_end":94702,"line_start":713,"line_end":713,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94686,"byte_end":94697,"line_start":713,"line_end":713,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94699,"byte_end":94702,"line_start":713,"line_end":713,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94686,"byte_end":94697,"line_start":713,"line_end":713,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94717,"byte_end":94719,"line_start":713,"line_end":713,"column_start":44,"column_end":46},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94751,"byte_end":94761,"line_start":714,"line_end":714,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94738,"byte_end":94749,"line_start":714,"line_end":714,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94751,"byte_end":94761,"line_start":714,"line_end":714,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94738,"byte_end":94749,"line_start":714,"line_end":714,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94780,"byte_end":94788,"line_start":714,"line_end":714,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94772,"byte_end":94778,"line_start":714,"line_end":714,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94789,"byte_end":94794,"line_start":714,"line_end":714,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94796,"byte_end":94802,"line_start":714,"line_end":714,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94804,"byte_end":94810,"line_start":714,"line_end":714,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94840,"byte_end":94845,"line_start":715,"line_end":715,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94827,"byte_end":94838,"line_start":715,"line_end":715,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94840,"byte_end":94845,"line_start":715,"line_end":715,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94827,"byte_end":94838,"line_start":715,"line_end":715,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94869,"byte_end":94877,"line_start":715,"line_end":715,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94859,"byte_end":94867,"line_start":715,"line_end":715,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94878,"byte_end":94883,"line_start":715,"line_end":715,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94885,"byte_end":94891,"line_start":715,"line_end":715,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94893,"byte_end":94899,"line_start":715,"line_end":715,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94929,"byte_end":94933,"line_start":716,"line_end":716,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94916,"byte_end":94927,"line_start":716,"line_end":716,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94929,"byte_end":94933,"line_start":716,"line_end":716,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94916,"byte_end":94927,"line_start":716,"line_end":716,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94958,"byte_end":94966,"line_start":716,"line_end":716,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94967,"byte_end":94972,"line_start":716,"line_end":716,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94974,"byte_end":94980,"line_start":716,"line_end":716,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94982,"byte_end":94988,"line_start":716,"line_end":716,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95018,"byte_end":95023,"line_start":717,"line_end":717,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95005,"byte_end":95016,"line_start":717,"line_end":717,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95018,"byte_end":95023,"line_start":717,"line_end":717,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95005,"byte_end":95016,"line_start":717,"line_end":717,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95047,"byte_end":95055,"line_start":717,"line_end":717,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95056,"byte_end":95061,"line_start":717,"line_end":717,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95063,"byte_end":95069,"line_start":717,"line_end":717,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95071,"byte_end":95077,"line_start":717,"line_end":717,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95107,"byte_end":95112,"line_start":718,"line_end":718,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95094,"byte_end":95105,"line_start":718,"line_end":718,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95107,"byte_end":95112,"line_start":718,"line_end":718,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95094,"byte_end":95105,"line_start":718,"line_end":718,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95136,"byte_end":95144,"line_start":718,"line_end":718,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95145,"byte_end":95150,"line_start":718,"line_end":718,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95152,"byte_end":95158,"line_start":718,"line_end":718,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95160,"byte_end":95166,"line_start":718,"line_end":718,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95196,"byte_end":95201,"line_start":719,"line_end":719,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95183,"byte_end":95194,"line_start":719,"line_end":719,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95196,"byte_end":95201,"line_start":719,"line_end":719,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95183,"byte_end":95194,"line_start":719,"line_end":719,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95225,"byte_end":95233,"line_start":719,"line_end":719,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95234,"byte_end":95239,"line_start":719,"line_end":719,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95241,"byte_end":95247,"line_start":719,"line_end":719,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95249,"byte_end":95255,"line_start":719,"line_end":719,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95285,"byte_end":95290,"line_start":720,"line_end":720,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95272,"byte_end":95283,"line_start":720,"line_end":720,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95285,"byte_end":95290,"line_start":720,"line_end":720,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95272,"byte_end":95283,"line_start":720,"line_end":720,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95314,"byte_end":95322,"line_start":720,"line_end":720,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95323,"byte_end":95328,"line_start":720,"line_end":720,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95330,"byte_end":95336,"line_start":720,"line_end":720,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95338,"byte_end":95344,"line_start":720,"line_end":720,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95374,"byte_end":95380,"line_start":721,"line_end":721,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95361,"byte_end":95372,"line_start":721,"line_end":721,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95374,"byte_end":95380,"line_start":721,"line_end":721,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95361,"byte_end":95372,"line_start":721,"line_end":721,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95403,"byte_end":95411,"line_start":721,"line_end":721,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95412,"byte_end":95417,"line_start":721,"line_end":721,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95419,"byte_end":95425,"line_start":721,"line_end":721,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95427,"byte_end":95433,"line_start":721,"line_end":721,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95463,"byte_end":95469,"line_start":722,"line_end":722,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95450,"byte_end":95461,"line_start":722,"line_end":722,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95463,"byte_end":95469,"line_start":722,"line_end":722,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95450,"byte_end":95461,"line_start":722,"line_end":722,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95492,"byte_end":95500,"line_start":722,"line_end":722,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95501,"byte_end":95506,"line_start":722,"line_end":722,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95508,"byte_end":95514,"line_start":722,"line_end":722,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95516,"byte_end":95522,"line_start":722,"line_end":722,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95552,"byte_end":95558,"line_start":723,"line_end":723,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95539,"byte_end":95550,"line_start":723,"line_end":723,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95552,"byte_end":95558,"line_start":723,"line_end":723,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95539,"byte_end":95550,"line_start":723,"line_end":723,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95581,"byte_end":95589,"line_start":723,"line_end":723,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95590,"byte_end":95595,"line_start":723,"line_end":723,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95597,"byte_end":95603,"line_start":723,"line_end":723,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95605,"byte_end":95611,"line_start":723,"line_end":723,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95641,"byte_end":95646,"line_start":724,"line_end":724,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95628,"byte_end":95639,"line_start":724,"line_end":724,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95641,"byte_end":95646,"line_start":724,"line_end":724,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95628,"byte_end":95639,"line_start":724,"line_end":724,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95670,"byte_end":95678,"line_start":724,"line_end":724,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95679,"byte_end":95684,"line_start":724,"line_end":724,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95686,"byte_end":95692,"line_start":724,"line_end":724,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95694,"byte_end":95700,"line_start":724,"line_end":724,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95730,"byte_end":95736,"line_start":725,"line_end":725,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95717,"byte_end":95728,"line_start":725,"line_end":725,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95730,"byte_end":95736,"line_start":725,"line_end":725,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95717,"byte_end":95728,"line_start":725,"line_end":725,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95759,"byte_end":95767,"line_start":725,"line_end":725,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95768,"byte_end":95773,"line_start":725,"line_end":725,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95775,"byte_end":95781,"line_start":725,"line_end":725,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95783,"byte_end":95789,"line_start":725,"line_end":725,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95819,"byte_end":95826,"line_start":726,"line_end":726,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95806,"byte_end":95817,"line_start":726,"line_end":726,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95819,"byte_end":95826,"line_start":726,"line_end":726,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95806,"byte_end":95817,"line_start":726,"line_end":726,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95848,"byte_end":95856,"line_start":726,"line_end":726,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95840,"byte_end":95846,"line_start":726,"line_end":726,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95857,"byte_end":95862,"line_start":726,"line_end":726,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95864,"byte_end":95870,"line_start":726,"line_end":726,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95872,"byte_end":95878,"line_start":726,"line_end":726,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95908,"byte_end":95915,"line_start":727,"line_end":727,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95895,"byte_end":95906,"line_start":727,"line_end":727,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95908,"byte_end":95915,"line_start":727,"line_end":727,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95895,"byte_end":95906,"line_start":727,"line_end":727,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95937,"byte_end":95945,"line_start":727,"line_end":727,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95946,"byte_end":95951,"line_start":727,"line_end":727,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95953,"byte_end":95959,"line_start":727,"line_end":727,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95961,"byte_end":95967,"line_start":727,"line_end":727,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95997,"byte_end":96000,"line_start":728,"line_end":728,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95984,"byte_end":95995,"line_start":728,"line_end":728,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95997,"byte_end":96000,"line_start":728,"line_end":728,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95984,"byte_end":95995,"line_start":728,"line_end":728,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96026,"byte_end":96034,"line_start":728,"line_end":728,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96018,"byte_end":96024,"line_start":728,"line_end":728,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96035,"byte_end":96040,"line_start":728,"line_end":728,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96042,"byte_end":96048,"line_start":728,"line_end":728,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96050,"byte_end":96056,"line_start":728,"line_end":728,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96086,"byte_end":96090,"line_start":729,"line_end":729,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96073,"byte_end":96084,"line_start":729,"line_end":729,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96086,"byte_end":96090,"line_start":729,"line_end":729,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96073,"byte_end":96084,"line_start":729,"line_end":729,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96115,"byte_end":96123,"line_start":729,"line_end":729,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96106,"byte_end":96113,"line_start":729,"line_end":729,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96124,"byte_end":96129,"line_start":729,"line_end":729,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96131,"byte_end":96137,"line_start":729,"line_end":729,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96139,"byte_end":96145,"line_start":729,"line_end":729,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96175,"byte_end":96179,"line_start":730,"line_end":730,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96162,"byte_end":96173,"line_start":730,"line_end":730,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96175,"byte_end":96179,"line_start":730,"line_end":730,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96162,"byte_end":96173,"line_start":730,"line_end":730,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96204,"byte_end":96212,"line_start":730,"line_end":730,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96195,"byte_end":96202,"line_start":730,"line_end":730,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96213,"byte_end":96218,"line_start":730,"line_end":730,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96220,"byte_end":96226,"line_start":730,"line_end":730,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96228,"byte_end":96234,"line_start":730,"line_end":730,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96264,"byte_end":96268,"line_start":731,"line_end":731,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96251,"byte_end":96262,"line_start":731,"line_end":731,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96264,"byte_end":96268,"line_start":731,"line_end":731,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96251,"byte_end":96262,"line_start":731,"line_end":731,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96293,"byte_end":96301,"line_start":731,"line_end":731,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96284,"byte_end":96291,"line_start":731,"line_end":731,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96302,"byte_end":96307,"line_start":731,"line_end":731,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96309,"byte_end":96315,"line_start":731,"line_end":731,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96317,"byte_end":96323,"line_start":731,"line_end":731,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96353,"byte_end":96357,"line_start":732,"line_end":732,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96340,"byte_end":96351,"line_start":732,"line_end":732,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96353,"byte_end":96357,"line_start":732,"line_end":732,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96340,"byte_end":96351,"line_start":732,"line_end":732,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96382,"byte_end":96390,"line_start":732,"line_end":732,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96373,"byte_end":96380,"line_start":732,"line_end":732,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96391,"byte_end":96396,"line_start":732,"line_end":732,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96398,"byte_end":96404,"line_start":732,"line_end":732,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96406,"byte_end":96412,"line_start":732,"line_end":732,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96442,"byte_end":96448,"line_start":733,"line_end":733,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96429,"byte_end":96440,"line_start":733,"line_end":733,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96442,"byte_end":96448,"line_start":733,"line_end":733,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96429,"byte_end":96440,"line_start":733,"line_end":733,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96471,"byte_end":96479,"line_start":733,"line_end":733,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96460,"byte_end":96469,"line_start":733,"line_end":733,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96480,"byte_end":96485,"line_start":733,"line_end":733,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96487,"byte_end":96493,"line_start":733,"line_end":733,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96495,"byte_end":96501,"line_start":733,"line_end":733,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96531,"byte_end":96534,"line_start":734,"line_end":734,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96518,"byte_end":96529,"line_start":734,"line_end":734,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96531,"byte_end":96534,"line_start":734,"line_end":734,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96518,"byte_end":96529,"line_start":734,"line_end":734,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96560,"byte_end":96568,"line_start":734,"line_end":734,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96552,"byte_end":96558,"line_start":734,"line_end":734,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96569,"byte_end":96574,"line_start":734,"line_end":734,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96576,"byte_end":96582,"line_start":734,"line_end":734,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96584,"byte_end":96590,"line_start":734,"line_end":734,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96620,"byte_end":96624,"line_start":735,"line_end":735,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96607,"byte_end":96618,"line_start":735,"line_end":735,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96620,"byte_end":96624,"line_start":735,"line_end":735,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96607,"byte_end":96618,"line_start":735,"line_end":735,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96649,"byte_end":96657,"line_start":735,"line_end":735,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96640,"byte_end":96647,"line_start":735,"line_end":735,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96658,"byte_end":96663,"line_start":735,"line_end":735,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96665,"byte_end":96671,"line_start":735,"line_end":735,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96673,"byte_end":96679,"line_start":735,"line_end":735,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96709,"byte_end":96714,"line_start":736,"line_end":736,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96696,"byte_end":96707,"line_start":736,"line_end":736,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96709,"byte_end":96714,"line_start":736,"line_end":736,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96696,"byte_end":96707,"line_start":736,"line_end":736,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96738,"byte_end":96746,"line_start":736,"line_end":736,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96728,"byte_end":96736,"line_start":736,"line_end":736,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96747,"byte_end":96752,"line_start":736,"line_end":736,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96754,"byte_end":96760,"line_start":736,"line_end":736,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96762,"byte_end":96768,"line_start":736,"line_end":736,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96798,"byte_end":96804,"line_start":737,"line_end":737,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96785,"byte_end":96796,"line_start":737,"line_end":737,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96798,"byte_end":96804,"line_start":737,"line_end":737,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96785,"byte_end":96796,"line_start":737,"line_end":737,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96827,"byte_end":96835,"line_start":737,"line_end":737,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96816,"byte_end":96825,"line_start":737,"line_end":737,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96836,"byte_end":96841,"line_start":737,"line_end":737,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96843,"byte_end":96849,"line_start":737,"line_end":737,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96851,"byte_end":96857,"line_start":737,"line_end":737,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614453}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96975,"byte_end":96977,"line_start":741,"line_end":741,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96978,"byte_end":96987,"line_start":741,"line_end":741,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3896510133}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96990,"byte_end":96999,"line_start":741,"line_end":741,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":2181039797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97366,"byte_end":97371,"line_start":750,"line_end":750,"column_start":87,"column_end":92},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97320,"byte_end":97336,"line_start":750,"line_end":750,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97341,"byte_end":97347,"line_start":750,"line_end":750,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97509,"byte_end":97514,"line_start":753,"line_end":753,"column_start":91,"column_end":96},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97449,"byte_end":97458,"line_start":753,"line_end":753,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97470,"byte_end":97479,"line_start":753,"line_end":753,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97484,"byte_end":97490,"line_start":753,"line_end":753,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97652,"byte_end":97657,"line_start":756,"line_end":756,"column_start":91,"column_end":96},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97592,"byte_end":97601,"line_start":756,"line_end":756,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97613,"byte_end":97622,"line_start":756,"line_end":756,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97627,"byte_end":97633,"line_start":756,"line_end":756,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97943,"byte_end":97954,"line_start":767,"line_end":767,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98070,"byte_end":98081,"line_start":771,"line_end":771,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98187,"byte_end":98190,"line_start":775,"line_end":775,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98191,"byte_end":98207,"line_start":775,"line_end":775,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98228,"byte_end":98234,"line_start":775,"line_end":775,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98235,"byte_end":98242,"line_start":775,"line_end":775,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98244,"byte_end":98252,"line_start":775,"line_end":775,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98324,"byte_end":98327,"line_start":779,"line_end":779,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98328,"byte_end":98344,"line_start":779,"line_end":779,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98365,"byte_end":98371,"line_start":779,"line_end":779,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98372,"byte_end":98378,"line_start":779,"line_end":779,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98380,"byte_end":98388,"line_start":779,"line_end":779,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98472,"byte_end":98475,"line_start":783,"line_end":783,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98476,"byte_end":98492,"line_start":783,"line_end":783,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98513,"byte_end":98522,"line_start":783,"line_end":783,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98531,"byte_end":98534,"line_start":783,"line_end":783,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98535,"byte_end":98541,"line_start":783,"line_end":783,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98547,"byte_end":98553,"line_start":783,"line_end":783,"column_start":110,"column_end":116},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98561,"byte_end":98564,"line_start":783,"line_end":783,"column_start":124,"column_end":127},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98570,"byte_end":98573,"line_start":783,"line_end":783,"column_start":133,"column_end":136},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98574,"byte_end":98590,"line_start":783,"line_end":783,"column_start":137,"column_end":153},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98594,"byte_end":98602,"line_start":783,"line_end":783,"column_start":157,"column_end":165},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98687,"byte_end":98690,"line_start":787,"line_end":787,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98691,"byte_end":98707,"line_start":787,"line_end":787,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98728,"byte_end":98735,"line_start":787,"line_end":787,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98741,"byte_end":98747,"line_start":787,"line_end":787,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98755,"byte_end":98758,"line_start":787,"line_end":787,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98764,"byte_end":98767,"line_start":787,"line_end":787,"column_start":113,"column_end":116},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98768,"byte_end":98784,"line_start":787,"line_end":787,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98788,"byte_end":98796,"line_start":787,"line_end":787,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98877,"byte_end":98880,"line_start":791,"line_end":791,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98881,"byte_end":98897,"line_start":791,"line_end":791,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98940,"byte_end":98943,"line_start":791,"line_end":791,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98944,"byte_end":98960,"line_start":791,"line_end":791,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99160,"byte_end":99165,"line_start":795,"line_end":795,"column_start":134,"column_end":139},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99059,"byte_end":99068,"line_start":795,"line_end":795,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99085,"byte_end":99094,"line_start":795,"line_end":795,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99113,"byte_end":99119,"line_start":795,"line_end":795,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99120,"byte_end":99129,"line_start":795,"line_end":795,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99131,"byte_end":99139,"line_start":795,"line_end":795,"column_start":105,"column_end":113},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99229,"byte_end":99237,"line_start":796,"line_end":796,"column_start":62,"column_end":70},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99249,"byte_end":99252,"line_start":797,"line_end":797,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99263,"byte_end":99266,"line_start":797,"line_end":797,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99253,"byte_end":99261,"line_start":797,"line_end":797,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99275,"byte_end":99281,"line_start":797,"line_end":797,"column_start":35,"column_end":41},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":99267,"byte_end":99274,"line_start":797,"line_end":797,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":805308100}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99498,"byte_end":99503,"line_start":802,"line_end":802,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99397,"byte_end":99406,"line_start":802,"line_end":802,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99422,"byte_end":99431,"line_start":802,"line_end":802,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99445,"byte_end":99452,"line_start":802,"line_end":802,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99458,"byte_end":99464,"line_start":802,"line_end":802,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99469,"byte_end":99477,"line_start":802,"line_end":802,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99688,"byte_end":99693,"line_start":806,"line_end":806,"column_start":114,"column_end":119},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99603,"byte_end":99612,"line_start":806,"line_end":806,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99631,"byte_end":99640,"line_start":806,"line_end":806,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99645,"byte_end":99651,"line_start":806,"line_end":806,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99652,"byte_end":99658,"line_start":806,"line_end":806,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99666,"byte_end":99674,"line_start":806,"line_end":806,"column_start":92,"column_end":100},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99752,"byte_end":99760,"line_start":807,"line_end":807,"column_start":57,"column_end":65},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99772,"byte_end":99775,"line_start":808,"line_end":808,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99786,"byte_end":99789,"line_start":808,"line_end":808,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99776,"byte_end":99784,"line_start":808,"line_end":808,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99798,"byte_end":99804,"line_start":808,"line_end":808,"column_start":35,"column_end":41},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":99790,"byte_end":99797,"line_start":808,"line_end":808,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":1342179016}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99992,"byte_end":99997,"line_start":813,"line_end":813,"column_start":122,"column_end":127},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99941,"byte_end":99944,"line_start":813,"line_end":813,"column_start":71,"column_end":74},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99945,"byte_end":99961,"line_start":813,"line_end":813,"column_start":75,"column_end":91},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99967,"byte_end":99973,"line_start":813,"line_end":813,"column_start":97,"column_end":103},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100119,"byte_end":100128,"line_start":817,"line_end":817,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100146,"byte_end":100155,"line_start":817,"line_end":817,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100160,"byte_end":100167,"line_start":817,"line_end":817,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100314,"byte_end":100323,"line_start":821,"line_end":821,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100341,"byte_end":100350,"line_start":821,"line_end":821,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100355,"byte_end":100361,"line_start":821,"line_end":821,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100369,"byte_end":100377,"line_start":821,"line_end":821,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100684,"byte_end":100689,"line_start":825,"line_end":825,"column_start":194,"column_end":199},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100537,"byte_end":100546,"line_start":825,"line_end":825,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100569,"byte_end":100578,"line_start":825,"line_end":825,"column_start":79,"column_end":88},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100591,"byte_end":100600,"line_start":825,"line_end":825,"column_start":101,"column_end":110},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100621,"byte_end":100630,"line_start":825,"line_end":825,"column_start":131,"column_end":140},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100635,"byte_end":100641,"line_start":825,"line_end":825,"column_start":145,"column_end":151},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100642,"byte_end":100651,"line_start":825,"line_end":825,"column_start":152,"column_end":161},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100653,"byte_end":100661,"line_start":825,"line_end":825,"column_start":163,"column_end":171},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":100713,"byte_end":100723,"line_start":827,"line_end":827,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1736}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100725,"byte_end":100736,"line_start":827,"line_end":827,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":536872652}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100738,"byte_end":100749,"line_start":827,"line_end":827,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":1610614476}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100766,"byte_end":100770,"line_start":828,"line_end":828,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100766,"byte_end":100770,"line_start":828,"line_end":828,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":100808,"byte_end":100817,"line_start":829,"line_end":829,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100818,"byte_end":100827,"line_start":829,"line_end":829,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":268437196}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100829,"byte_end":100838,"line_start":829,"line_end":829,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1342179020}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100840,"byte_end":100841,"line_start":829,"line_end":829,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":1677723340}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100871,"byte_end":100875,"line_start":831,"line_end":831,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100871,"byte_end":100875,"line_start":831,"line_end":831,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100902,"byte_end":100904,"line_start":834,"line_end":834,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100905,"byte_end":100914,"line_start":834,"line_end":834,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437196}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21918,"byte_end":21928,"line_start":330,"line_end":330,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":1741}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366790,"byte_end":366795,"line_start":4,"line_end":4,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366900,"byte_end":366905,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366907,"byte_end":366911,"line_start":1,"line_end":1,"column_start":12,"column_end":16},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2806}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366930,"byte_end":366933,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367015,"byte_end":367021,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367015,"byte_end":367021,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2275}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367052,"byte_end":367055,"line_start":3,"line_end":3,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367052,"byte_end":367055,"line_start":3,"line_end":3,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2838}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367083,"byte_end":367088,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367090,"byte_end":367096,"line_start":4,"line_end":4,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367110,"byte_end":367115,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3244}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367117,"byte_end":367124,"line_start":5,"line_end":5,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3244}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367143,"byte_end":367148,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367151,"byte_end":367158,"line_start":6,"line_end":6,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367143,"byte_end":367148,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367173,"byte_end":367179,"line_start":6,"line_end":6,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367214,"byte_end":367220,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367235,"byte_end":367242,"line_start":7,"line_end":7,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367256,"byte_end":367261,"line_start":7,"line_end":7,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367273,"byte_end":367279,"line_start":7,"line_end":7,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367273,"byte_end":367279,"line_start":7,"line_end":7,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367307,"byte_end":367316,"line_start":7,"line_end":7,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367307,"byte_end":367316,"line_start":7,"line_end":7,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367342,"byte_end":367347,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367349,"byte_end":367355,"line_start":9,"line_end":9,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367371,"byte_end":367376,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367378,"byte_end":367381,"line_start":10,"line_end":10,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367392,"byte_end":367397,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367399,"byte_end":367404,"line_start":11,"line_end":11,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367415,"byte_end":367420,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367422,"byte_end":367428,"line_start":12,"line_end":12,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367443,"byte_end":367447,"line_start":13,"line_end":13,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39482}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367450,"byte_end":367456,"line_start":13,"line_end":13,"column_start":12,"column_end":18},"ref_id":{"krate":1,"index":8898}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367616,"byte_end":367622,"line_start":21,"line_end":21,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367635,"byte_end":367644,"line_start":21,"line_end":21,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3244}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367709,"byte_end":367718,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367589,"byte_end":367594,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3284}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367607,"byte_end":367614,"line_start":21,"line_end":21,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3285}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367651,"byte_end":367663,"line_start":22,"line_end":22,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3286}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367676,"byte_end":367689,"line_start":23,"line_end":23,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3287}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367702,"byte_end":367707,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3288}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367841,"byte_end":367850,"line_start":31,"line_end":31,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367861,"byte_end":367877,"line_start":31,"line_end":31,"column_start":57,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367937,"byte_end":367946,"line_start":31,"line_end":31,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367951,"byte_end":367957,"line_start":31,"line_end":31,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367958,"byte_end":367964,"line_start":31,"line_end":31,"column_start":154,"column_end":160},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367965,"byte_end":367974,"line_start":31,"line_end":31,"column_start":161,"column_end":170},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367977,"byte_end":367985,"line_start":31,"line_end":31,"column_start":173,"column_end":181},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368033,"byte_end":368039,"line_start":33,"line_end":33,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872747}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368040,"byte_end":368044,"line_start":33,"line_end":33,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368055,"byte_end":368069,"line_start":33,"line_end":33,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3674}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368108,"byte_end":368116,"line_start":35,"line_end":35,"column_start":34,"column_end":42},"ref_id":{"krate":1,"index":8064}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368101,"byte_end":368105,"line_start":35,"line_end":35,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368089,"byte_end":368093,"line_start":35,"line_end":35,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":3623880491}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368094,"byte_end":368100,"line_start":35,"line_end":35,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368125,"byte_end":368128,"line_start":35,"line_end":35,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3288336171}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368129,"byte_end":368132,"line_start":35,"line_end":35,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368136,"byte_end":368139,"line_start":35,"line_end":35,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":1610614571}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368157,"byte_end":368161,"line_start":36,"line_end":36,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368157,"byte_end":368161,"line_start":36,"line_end":36,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368190,"byte_end":368202,"line_start":38,"line_end":38,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":1342179115}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368232,"byte_end":368234,"line_start":39,"line_end":39,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368235,"byte_end":368239,"line_start":39,"line_end":39,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368251,"byte_end":368254,"line_start":39,"line_end":39,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368240,"byte_end":368249,"line_start":39,"line_end":39,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368258,"byte_end":368262,"line_start":39,"line_end":39,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3623880491}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368263,"byte_end":368269,"line_start":39,"line_end":39,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368270,"byte_end":368271,"line_start":39,"line_end":39,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":201328427}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368273,"byte_end":368279,"line_start":39,"line_end":39,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368281,"byte_end":368293,"line_start":39,"line_end":39,"column_start":77,"column_end":89},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368294,"byte_end":368305,"line_start":39,"line_end":39,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368360,"byte_end":368361,"line_start":42,"line_end":42,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":201328427}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368364,"byte_end":368375,"line_start":42,"line_end":42,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368427,"byte_end":368428,"line_start":43,"line_end":43,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":201328427}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368431,"byte_end":368442,"line_start":43,"line_end":43,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":2275}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368534,"byte_end":368543,"line_start":45,"line_end":45,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368521,"byte_end":368533,"line_start":45,"line_end":45,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368544,"byte_end":368550,"line_start":45,"line_end":45,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":805308203}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368585,"byte_end":368599,"line_start":47,"line_end":47,"column_start":32,"column_end":46},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368573,"byte_end":368584,"line_start":47,"line_end":47,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1442842411}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368632,"byte_end":368641,"line_start":48,"line_end":48,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":268437291}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368689,"byte_end":368706,"line_start":49,"line_end":49,"column_start":46,"column_end":63},"ref_id":{"krate":0,"index":1837}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368707,"byte_end":368719,"line_start":49,"line_end":49,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368721,"byte_end":368727,"line_start":49,"line_end":49,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":805308203}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368668,"byte_end":368680,"line_start":49,"line_end":49,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368783,"byte_end":368792,"line_start":51,"line_end":51,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368770,"byte_end":368782,"line_start":51,"line_end":51,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368793,"byte_end":368799,"line_start":51,"line_end":51,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":805308203}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368756,"byte_end":368767,"line_start":51,"line_end":51,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1442842411}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368862,"byte_end":368864,"line_start":53,"line_end":53,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368865,"byte_end":368869,"line_start":53,"line_end":53,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369012,"byte_end":369026,"line_start":58,"line_end":58,"column_start":54,"column_end":68},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369000,"byte_end":369011,"line_start":58,"line_end":58,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1442842411}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369059,"byte_end":369066,"line_start":60,"line_end":60,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2583693099}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369147,"byte_end":369158,"line_start":62,"line_end":62,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":4110419755}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369161,"byte_end":369168,"line_start":62,"line_end":62,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2583693099}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369172,"byte_end":369180,"line_start":62,"line_end":62,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":1124075307}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369235,"byte_end":369245,"line_start":63,"line_end":63,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369246,"byte_end":369260,"line_start":63,"line_end":63,"column_start":60,"column_end":74},"ref_id":{"krate":0,"index":2634024747}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369262,"byte_end":369268,"line_start":63,"line_end":63,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":805308203}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369325,"byte_end":369333,"line_start":64,"line_end":64,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1701}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369313,"byte_end":369324,"line_start":64,"line_end":64,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":2600470315}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369365,"byte_end":369376,"line_start":66,"line_end":66,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":117442347}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369415,"byte_end":369424,"line_start":67,"line_end":67,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":268437291}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369475,"byte_end":369477,"line_start":68,"line_end":68,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369478,"byte_end":369482,"line_start":68,"line_end":68,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369566,"byte_end":369582,"line_start":70,"line_end":70,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":1840}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369583,"byte_end":369594,"line_start":70,"line_end":70,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":2600470315}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369596,"byte_end":369602,"line_start":70,"line_end":70,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":805308203}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369543,"byte_end":369557,"line_start":70,"line_end":70,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2634024747}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369684,"byte_end":369695,"line_start":72,"line_end":72,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":117442347}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369667,"byte_end":369681,"line_start":72,"line_end":72,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2634024747}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369757,"byte_end":369768,"line_start":75,"line_end":75,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4110419755}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369799,"byte_end":369807,"line_start":76,"line_end":76,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":1124075307}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369890,"byte_end":369904,"line_start":80,"line_end":80,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":2634024747}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369908,"byte_end":369919,"line_start":80,"line_end":80,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2248148779}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369943,"byte_end":369945,"line_start":82,"line_end":82,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369946,"byte_end":369950,"line_start":82,"line_end":82,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369962,"byte_end":369965,"line_start":82,"line_end":82,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369951,"byte_end":369960,"line_start":82,"line_end":82,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369966,"byte_end":369978,"line_start":82,"line_end":82,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":1115686699}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369980,"byte_end":369984,"line_start":82,"line_end":82,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3623880491}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369985,"byte_end":369991,"line_start":82,"line_end":82,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369992,"byte_end":369993,"line_start":82,"line_end":82,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":201328427}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369995,"byte_end":370001,"line_start":82,"line_end":82,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370003,"byte_end":370015,"line_start":82,"line_end":82,"column_start":77,"column_end":89},"ref_id":{"krate":0,"index":1073743659}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370016,"byte_end":370027,"line_start":82,"line_end":82,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370058,"byte_end":370062,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370058,"byte_end":370062,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370066,"byte_end":370068,"line_start":84,"line_end":84,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370069,"byte_end":370073,"line_start":84,"line_end":84,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370171,"byte_end":370180,"line_start":90,"line_end":90,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370197,"byte_end":370206,"line_start":90,"line_end":90,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370211,"byte_end":370217,"line_start":90,"line_end":90,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370218,"byte_end":370227,"line_start":90,"line_end":90,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370229,"byte_end":370237,"line_start":90,"line_end":90,"column_start":109,"column_end":117},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370281,"byte_end":370294,"line_start":92,"line_end":92,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370274,"byte_end":370280,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872749}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370302,"byte_end":370314,"line_start":92,"line_end":92,"column_start":61,"column_end":73},"ref_id":{"krate":0,"index":2276}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370371,"byte_end":370385,"line_start":94,"line_end":94,"column_start":44,"column_end":58},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370349,"byte_end":370362,"line_start":94,"line_end":94,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370336,"byte_end":370348,"line_start":94,"line_end":94,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":1073743661}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370363,"byte_end":370369,"line_start":94,"line_end":94,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":536872749}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370386,"byte_end":370403,"line_start":94,"line_end":94,"column_start":59,"column_end":76},"ref_id":{"krate":0,"index":2214594349}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370422,"byte_end":370424,"line_start":96,"line_end":96,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370425,"byte_end":370437,"line_start":96,"line_end":96,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743661}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370527,"byte_end":370536,"line_start":100,"line_end":100,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3244}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370553,"byte_end":370562,"line_start":100,"line_end":100,"column_start":86,"column_end":95},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370567,"byte_end":370573,"line_start":100,"line_end":100,"column_start":100,"column_end":106},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370581,"byte_end":370589,"line_start":100,"line_end":100,"column_start":114,"column_end":122},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370627,"byte_end":370640,"line_start":102,"line_end":102,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370620,"byte_end":370626,"line_start":102,"line_end":102,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536872752}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370648,"byte_end":370660,"line_start":102,"line_end":102,"column_start":55,"column_end":67},"ref_id":{"krate":0,"index":2276}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370694,"byte_end":370702,"line_start":104,"line_end":104,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":1703}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370682,"byte_end":370693,"line_start":104,"line_end":104,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1073743664}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370703,"byte_end":370714,"line_start":104,"line_end":104,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2214594352}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370733,"byte_end":370735,"line_start":106,"line_end":106,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370736,"byte_end":370747,"line_start":106,"line_end":106,"column_start":12,"column_end":23},"ref_id":{"krate":0,"index":2214594352}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370807,"byte_end":370816,"line_start":110,"line_end":110,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370834,"byte_end":370843,"line_start":110,"line_end":110,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370889,"byte_end":370898,"line_start":112,"line_end":112,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370882,"byte_end":370888,"line_start":112,"line_end":112,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073743667}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370899,"byte_end":370905,"line_start":112,"line_end":112,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872755}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370946,"byte_end":370960,"line_start":114,"line_end":114,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370934,"byte_end":370945,"line_start":114,"line_end":114,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2952791859}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370982,"byte_end":370986,"line_start":116,"line_end":116,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371001,"byte_end":371006,"line_start":117,"line_end":117,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3288}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371015,"byte_end":371020,"line_start":117,"line_end":117,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371008,"byte_end":371014,"line_start":117,"line_end":117,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1073743667}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371036,"byte_end":371043,"line_start":118,"line_end":118,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3285}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371048,"byte_end":371058,"line_start":118,"line_end":118,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3892315955}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371082,"byte_end":371086,"line_start":119,"line_end":119,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371124,"byte_end":371128,"line_start":121,"line_end":121,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371135,"byte_end":371145,"line_start":121,"line_end":121,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371146,"byte_end":371156,"line_start":121,"line_end":121,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3892315955}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371158,"byte_end":371164,"line_start":121,"line_end":121,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872755}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371194,"byte_end":371206,"line_start":123,"line_end":123,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":3286}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371208,"byte_end":371218,"line_start":123,"line_end":123,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3892315955}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371232,"byte_end":371245,"line_start":124,"line_end":124,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3287}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371262,"byte_end":371267,"line_start":125,"line_end":125,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3284}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371380,"byte_end":371389,"line_start":130,"line_end":130,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371407,"byte_end":371416,"line_start":130,"line_end":130,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3244}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371430,"byte_end":371442,"line_start":131,"line_end":131,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743668}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371465,"byte_end":371468,"line_start":131,"line_end":131,"column_start":47,"column_end":50},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371452,"byte_end":371462,"line_start":131,"line_end":131,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371445,"byte_end":371451,"line_start":131,"line_end":131,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536872756}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371532,"byte_end":371538,"line_start":132,"line_end":132,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371518,"byte_end":371529,"line_start":132,"line_end":132,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371511,"byte_end":371517,"line_start":132,"line_end":132,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872756}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371549,"byte_end":371558,"line_start":132,"line_end":132,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3244}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371657,"byte_end":371660,"line_start":134,"line_end":134,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371648,"byte_end":371654,"line_start":134,"line_end":134,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371634,"byte_end":371645,"line_start":134,"line_end":134,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371627,"byte_end":371633,"line_start":134,"line_end":134,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872756}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371661,"byte_end":371673,"line_start":134,"line_end":134,"column_start":63,"column_end":75},"ref_id":{"krate":0,"index":1073743668}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371683,"byte_end":371692,"line_start":134,"line_end":134,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":3244}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371783,"byte_end":371792,"line_start":139,"line_end":139,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371797,"byte_end":371803,"line_start":139,"line_end":139,"column_start":63,"column_end":69},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371825,"byte_end":371831,"line_start":139,"line_end":139,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371832,"byte_end":371841,"line_start":139,"line_end":139,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371887,"byte_end":371897,"line_start":141,"line_end":141,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371880,"byte_end":371886,"line_start":141,"line_end":141,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872758}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371898,"byte_end":371902,"line_start":141,"line_end":141,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371903,"byte_end":371908,"line_start":141,"line_end":141,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":3288}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371909,"byte_end":371920,"line_start":141,"line_end":141,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371922,"byte_end":371926,"line_start":141,"line_end":141,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371937,"byte_end":371951,"line_start":141,"line_end":141,"column_start":90,"column_end":104},"ref_id":{"krate":0,"index":3674}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371980,"byte_end":371983,"line_start":143,"line_end":143,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371968,"byte_end":371972,"line_start":143,"line_end":143,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2550138678}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371973,"byte_end":371979,"line_start":143,"line_end":143,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371989,"byte_end":371993,"line_start":143,"line_end":143,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371994,"byte_end":371999,"line_start":143,"line_end":143,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3284}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372021,"byte_end":372025,"line_start":144,"line_end":144,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372061,"byte_end":372065,"line_start":147,"line_end":147,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372066,"byte_end":372071,"line_start":147,"line_end":147,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3284}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372074,"byte_end":372085,"line_start":147,"line_end":147,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372129,"byte_end":372133,"line_start":148,"line_end":148,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372134,"byte_end":372139,"line_start":148,"line_end":148,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3284}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372142,"byte_end":372153,"line_start":148,"line_end":148,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372205,"byte_end":372209,"line_start":150,"line_end":150,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372210,"byte_end":372223,"line_start":150,"line_end":150,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3287}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372226,"byte_end":372233,"line_start":150,"line_end":150,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":738199350}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372269,"byte_end":372276,"line_start":151,"line_end":151,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":738199350}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372248,"byte_end":372252,"line_start":151,"line_end":151,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372253,"byte_end":372266,"line_start":151,"line_end":151,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3287}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372297,"byte_end":372301,"line_start":152,"line_end":152,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372302,"byte_end":372309,"line_start":152,"line_end":152,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3285}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372328,"byte_end":372332,"line_start":153,"line_end":153,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372328,"byte_end":372332,"line_start":153,"line_end":153,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":372391,"byte_end":372399,"line_start":154,"line_end":154,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":1701}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372384,"byte_end":372390,"line_start":154,"line_end":154,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2315257654}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372435,"byte_end":372446,"line_start":155,"line_end":155,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3120564022}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372492,"byte_end":372496,"line_start":156,"line_end":156,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":372503,"byte_end":372513,"line_start":156,"line_end":156,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372514,"byte_end":372525,"line_start":156,"line_end":156,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3120564022}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372527,"byte_end":372533,"line_start":156,"line_end":156,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":536872758}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372477,"byte_end":372481,"line_start":156,"line_end":156,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372482,"byte_end":372489,"line_start":156,"line_end":156,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3285}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372581,"byte_end":372592,"line_start":157,"line_end":157,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3120564022}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372561,"byte_end":372565,"line_start":157,"line_end":157,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372566,"byte_end":372578,"line_start":157,"line_end":157,"column_start":30,"column_end":42},"ref_id":{"krate":0,"index":3286}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372662,"byte_end":372666,"line_start":159,"line_end":159,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372647,"byte_end":372651,"line_start":159,"line_end":159,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372652,"byte_end":372659,"line_start":159,"line_end":159,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3285}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372692,"byte_end":372696,"line_start":160,"line_end":160,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372697,"byte_end":372709,"line_start":160,"line_end":160,"column_start":30,"column_end":42},"ref_id":{"krate":0,"index":3286}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372830,"byte_end":372834,"line_start":167,"line_end":167,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372835,"byte_end":372840,"line_start":167,"line_end":167,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3284}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372850,"byte_end":372854,"line_start":168,"line_end":168,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372855,"byte_end":372860,"line_start":168,"line_end":168,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3284}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372879,"byte_end":372883,"line_start":170,"line_end":170,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372884,"byte_end":372896,"line_start":170,"line_end":170,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3286}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372935,"byte_end":372939,"line_start":171,"line_end":171,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372940,"byte_end":372952,"line_start":171,"line_end":171,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3286}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372956,"byte_end":372967,"line_start":171,"line_end":171,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":3154118454}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372986,"byte_end":372990,"line_start":172,"line_end":172,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372992,"byte_end":373002,"line_start":172,"line_end":172,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":3103786806}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373032,"byte_end":373038,"line_start":172,"line_end":172,"column_start":59,"column_end":65},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373004,"byte_end":373008,"line_start":172,"line_end":172,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":2550138678}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373009,"byte_end":373015,"line_start":172,"line_end":172,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373016,"byte_end":373026,"line_start":172,"line_end":172,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3103786806}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373028,"byte_end":373031,"line_start":172,"line_end":172,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3517}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373042,"byte_end":373046,"line_start":172,"line_end":172,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373058,"byte_end":373061,"line_start":172,"line_end":172,"column_start":85,"column_end":88},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373047,"byte_end":373056,"line_start":172,"line_end":172,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373062,"byte_end":373074,"line_start":172,"line_end":172,"column_start":89,"column_end":101},"ref_id":{"krate":0,"index":754976566}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373076,"byte_end":373080,"line_start":172,"line_end":172,"column_start":103,"column_end":107},"ref_id":{"krate":0,"index":2550138678}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373081,"byte_end":373087,"line_start":172,"line_end":172,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373088,"byte_end":373098,"line_start":172,"line_end":172,"column_start":115,"column_end":125},"ref_id":{"krate":0,"index":3103786806}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373100,"byte_end":373106,"line_start":172,"line_end":172,"column_start":127,"column_end":133},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373108,"byte_end":373112,"line_start":172,"line_end":172,"column_start":135,"column_end":139},"ref_id":{"krate":0,"index":1073743670}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373113,"byte_end":373118,"line_start":172,"line_end":172,"column_start":140,"column_end":145},"ref_id":{"krate":0,"index":3288}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373119,"byte_end":373130,"line_start":172,"line_end":172,"column_start":146,"column_end":157},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373164,"byte_end":373168,"line_start":174,"line_end":174,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373170,"byte_end":373180,"line_start":174,"line_end":174,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":3103786806}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373210,"byte_end":373216,"line_start":174,"line_end":174,"column_start":59,"column_end":65},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373182,"byte_end":373186,"line_start":174,"line_end":174,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":2550138678}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373187,"byte_end":373193,"line_start":174,"line_end":174,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373194,"byte_end":373204,"line_start":174,"line_end":174,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3103786806}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373206,"byte_end":373209,"line_start":174,"line_end":174,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3517}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373220,"byte_end":373224,"line_start":174,"line_end":174,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373263,"byte_end":373271,"line_start":180,"line_end":180,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373342,"byte_end":373351,"line_start":182,"line_end":182,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373369,"byte_end":373378,"line_start":182,"line_end":182,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373383,"byte_end":373390,"line_start":182,"line_end":182,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373427,"byte_end":373436,"line_start":183,"line_end":183,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373420,"byte_end":373426,"line_start":183,"line_end":183,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872761}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373437,"byte_end":373443,"line_start":183,"line_end":183,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614585}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373470,"byte_end":373484,"line_start":185,"line_end":185,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373460,"byte_end":373467,"line_start":185,"line_end":185,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961401}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373510,"byte_end":373514,"line_start":185,"line_end":185,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373501,"byte_end":373508,"line_start":185,"line_end":185,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373553,"byte_end":373556,"line_start":187,"line_end":187,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373546,"byte_end":373551,"line_start":187,"line_end":187,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373596,"byte_end":373604,"line_start":189,"line_end":189,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":1843}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373585,"byte_end":373594,"line_start":189,"line_end":189,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373606,"byte_end":373612,"line_start":189,"line_end":189,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":536872761}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373614,"byte_end":373620,"line_start":189,"line_end":189,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1610614585}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373676,"byte_end":373685,"line_start":191,"line_end":191,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373670,"byte_end":373675,"line_start":191,"line_end":191,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":469763897}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373686,"byte_end":373692,"line_start":191,"line_end":191,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":1610614585}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373642,"byte_end":373646,"line_start":191,"line_end":191,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373728,"byte_end":373732,"line_start":192,"line_end":192,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3154118457}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373715,"byte_end":373719,"line_start":192,"line_end":192,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373760,"byte_end":373766,"line_start":193,"line_end":193,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373751,"byte_end":373759,"line_start":193,"line_end":193,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1409287993}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373775,"byte_end":373779,"line_start":193,"line_end":193,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373767,"byte_end":373773,"line_start":193,"line_end":193,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373780,"byte_end":373783,"line_start":193,"line_end":193,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1006634809}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373797,"byte_end":373808,"line_start":193,"line_end":193,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373786,"byte_end":373795,"line_start":193,"line_end":193,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373809,"byte_end":373814,"line_start":193,"line_end":193,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":1073743673}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373821,"byte_end":373825,"line_start":193,"line_end":193,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":2449475385}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373827,"byte_end":373833,"line_start":193,"line_end":193,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1610614585}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373885,"byte_end":373891,"line_start":195,"line_end":195,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373876,"byte_end":373884,"line_start":195,"line_end":195,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1409287993}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373900,"byte_end":373904,"line_start":195,"line_end":195,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373892,"byte_end":373898,"line_start":195,"line_end":195,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373905,"byte_end":373908,"line_start":195,"line_end":195,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1006634809}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373920,"byte_end":373924,"line_start":195,"line_end":195,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373911,"byte_end":373918,"line_start":195,"line_end":195,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373983,"byte_end":373993,"line_start":199,"line_end":199,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373974,"byte_end":373981,"line_start":199,"line_end":199,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373994,"byte_end":374002,"line_start":199,"line_end":199,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":1409287993}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374046,"byte_end":374057,"line_start":202,"line_end":202,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374085,"byte_end":374091,"line_start":202,"line_end":202,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374072,"byte_end":374083,"line_start":202,"line_end":202,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374140,"byte_end":374151,"line_start":203,"line_end":203,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374179,"byte_end":374185,"line_start":203,"line_end":203,"column_start":85,"column_end":91},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374166,"byte_end":374177,"line_start":203,"line_end":203,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374358,"byte_end":374363,"line_start":205,"line_end":205,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374257,"byte_end":374266,"line_start":205,"line_end":205,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374282,"byte_end":374291,"line_start":205,"line_end":205,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374301,"byte_end":374304,"line_start":205,"line_end":205,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374305,"byte_end":374312,"line_start":205,"line_end":205,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374318,"byte_end":374324,"line_start":205,"line_end":205,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374329,"byte_end":374337,"line_start":205,"line_end":205,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374414,"byte_end":374424,"line_start":207,"line_end":207,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374407,"byte_end":374413,"line_start":207,"line_end":207,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268437309}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374425,"byte_end":374431,"line_start":207,"line_end":207,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610614589}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374432,"byte_end":374443,"line_start":207,"line_end":207,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374445,"byte_end":374449,"line_start":207,"line_end":207,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374460,"byte_end":374474,"line_start":207,"line_end":207,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3674}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374511,"byte_end":374515,"line_start":209,"line_end":209,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374499,"byte_end":374503,"line_start":209,"line_end":209,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2013267773}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374504,"byte_end":374510,"line_start":209,"line_end":209,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374548,"byte_end":374553,"line_start":210,"line_end":210,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":1342179133}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374562,"byte_end":374568,"line_start":210,"line_end":210,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374554,"byte_end":374557,"line_start":210,"line_end":210,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":603981629}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374558,"byte_end":374561,"line_start":210,"line_end":210,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374591,"byte_end":374599,"line_start":211,"line_end":211,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":1811941181}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374627,"byte_end":374631,"line_start":212,"line_end":212,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374618,"byte_end":374625,"line_start":212,"line_end":212,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374627,"byte_end":374631,"line_start":212,"line_end":212,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374618,"byte_end":374625,"line_start":212,"line_end":212,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374660,"byte_end":374670,"line_start":213,"line_end":213,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":536872765}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374714,"byte_end":374720,"line_start":214,"line_end":214,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1835}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374703,"byte_end":374712,"line_start":214,"line_end":214,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374721,"byte_end":374727,"line_start":214,"line_end":214,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614589}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374736,"byte_end":374746,"line_start":214,"line_end":214,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374729,"byte_end":374735,"line_start":214,"line_end":214,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":268437309}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374747,"byte_end":374753,"line_start":214,"line_end":214,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610614589}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374754,"byte_end":374765,"line_start":214,"line_end":214,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374769,"byte_end":374772,"line_start":214,"line_end":214,"column_start":97,"column_end":100},"ref_id":{"krate":0,"index":603981629}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374773,"byte_end":374776,"line_start":214,"line_end":214,"column_start":101,"column_end":104},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374792,"byte_end":374798,"line_start":214,"line_end":214,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":268437309}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374831,"byte_end":374835,"line_start":215,"line_end":215,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374831,"byte_end":374835,"line_start":215,"line_end":215,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374887,"byte_end":374893,"line_start":216,"line_end":216,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374876,"byte_end":374885,"line_start":216,"line_end":216,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374894,"byte_end":374895,"line_start":216,"line_end":216,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":369100605}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374897,"byte_end":374903,"line_start":216,"line_end":216,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":268437309}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374966,"byte_end":374970,"line_start":218,"line_end":218,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374966,"byte_end":374970,"line_start":218,"line_end":218,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375105,"byte_end":375111,"line_start":223,"line_end":223,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1835}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375094,"byte_end":375103,"line_start":223,"line_end":223,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375112,"byte_end":375118,"line_start":223,"line_end":223,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614589}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375127,"byte_end":375137,"line_start":223,"line_end":223,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375120,"byte_end":375126,"line_start":223,"line_end":223,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":268437309}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375138,"byte_end":375144,"line_start":223,"line_end":223,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1610614589}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375145,"byte_end":375156,"line_start":223,"line_end":223,"column_start":78,"column_end":89},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375160,"byte_end":375163,"line_start":223,"line_end":223,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":603981629}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375164,"byte_end":375167,"line_start":223,"line_end":223,"column_start":97,"column_end":100},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375182,"byte_end":375188,"line_start":223,"line_end":223,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":268437309}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375217,"byte_end":375221,"line_start":224,"line_end":224,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375217,"byte_end":375221,"line_start":224,"line_end":224,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375269,"byte_end":375282,"line_start":225,"line_end":225,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375258,"byte_end":375267,"line_start":225,"line_end":225,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375283,"byte_end":375288,"line_start":225,"line_end":225,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743677}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375294,"byte_end":375304,"line_start":225,"line_end":225,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536872765}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375306,"byte_end":375307,"line_start":225,"line_end":225,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3707766589}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375309,"byte_end":375315,"line_start":225,"line_end":225,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":268437309}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375323,"byte_end":375326,"line_start":225,"line_end":225,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375318,"byte_end":375321,"line_start":225,"line_end":225,"column_start":89,"column_end":92},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375336,"byte_end":375341,"line_start":225,"line_end":225,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375327,"byte_end":375335,"line_start":225,"line_end":225,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":1811941181}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375399,"byte_end":375403,"line_start":227,"line_end":227,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375399,"byte_end":375403,"line_start":227,"line_end":227,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375445,"byte_end":375448,"line_start":228,"line_end":228,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375459,"byte_end":375462,"line_start":228,"line_end":228,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375449,"byte_end":375457,"line_start":228,"line_end":228,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375611,"byte_end":375613,"line_start":237,"line_end":237,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375665,"byte_end":375668,"line_start":240,"line_end":240,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375669,"byte_end":375685,"line_start":240,"line_end":240,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375728,"byte_end":375731,"line_start":240,"line_end":240,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375732,"byte_end":375748,"line_start":240,"line_end":240,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375780,"byte_end":375785,"line_start":241,"line_end":241,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375786,"byte_end":375793,"line_start":241,"line_end":241,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":536872767}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375832,"byte_end":375835,"line_start":243,"line_end":243,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375836,"byte_end":375851,"line_start":243,"line_end":243,"column_start":36,"column_end":51},"ref_id":{"krate":0,"index":3515}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375860,"byte_end":375863,"line_start":243,"line_end":243,"column_start":60,"column_end":63},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375855,"byte_end":375858,"line_start":243,"line_end":243,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375907,"byte_end":375910,"line_start":245,"line_end":245,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375900,"byte_end":375906,"line_start":245,"line_end":245,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743679}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375930,"byte_end":375934,"line_start":247,"line_end":247,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375923,"byte_end":375929,"line_start":247,"line_end":247,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743679}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375935,"byte_end":375951,"line_start":247,"line_end":247,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375966,"byte_end":375969,"line_start":248,"line_end":248,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375986,"byte_end":375993,"line_start":248,"line_end":248,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375971,"byte_end":375984,"line_start":248,"line_end":248,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376007,"byte_end":376008,"line_start":249,"line_end":249,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376023,"byte_end":376029,"line_start":249,"line_end":249,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376010,"byte_end":376021,"line_start":249,"line_end":249,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376043,"byte_end":376051,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376072,"byte_end":376076,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376083,"byte_end":376086,"line_start":251,"line_end":251,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376078,"byte_end":376081,"line_start":251,"line_end":251,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376092,"byte_end":376100,"line_start":251,"line_end":251,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376087,"byte_end":376090,"line_start":251,"line_end":251,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376106,"byte_end":376109,"line_start":251,"line_end":251,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376101,"byte_end":376104,"line_start":251,"line_end":251,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376110,"byte_end":376124,"line_start":251,"line_end":251,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376127,"byte_end":376133,"line_start":251,"line_end":251,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376140,"byte_end":376143,"line_start":251,"line_end":251,"column_start":81,"column_end":84},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376135,"byte_end":376138,"line_start":251,"line_end":251,"column_start":76,"column_end":79},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376147,"byte_end":376152,"line_start":251,"line_end":251,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376159,"byte_end":376162,"line_start":251,"line_end":251,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376154,"byte_end":376157,"line_start":251,"line_end":251,"column_start":95,"column_end":98},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376228,"byte_end":376234,"line_start":254,"line_end":254,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743679}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376262,"byte_end":376269,"line_start":256,"line_end":256,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536872767}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376308,"byte_end":376311,"line_start":258,"line_end":258,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376303,"byte_end":376306,"line_start":258,"line_end":258,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376333,"byte_end":376357,"line_start":260,"line_end":260,"column_start":18,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376333,"byte_end":376334,"line_start":260,"line_end":260,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376336,"byte_end":376357,"line_start":260,"line_end":260,"column_start":21,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376336,"byte_end":376348,"line_start":260,"line_end":260,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":134219583}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376391,"byte_end":376396,"line_start":261,"line_end":261,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376397,"byte_end":376403,"line_start":261,"line_end":261,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376449,"byte_end":376454,"line_start":262,"line_end":262,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376455,"byte_end":376496,"line_start":262,"line_end":262,"column_start":41,"column_end":82},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376455,"byte_end":376467,"line_start":262,"line_end":262,"column_start":41,"column_end":53},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376456,"byte_end":376462,"line_start":262,"line_end":262,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376469,"byte_end":376496,"line_start":262,"line_end":262,"column_start":55,"column_end":82},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376470,"byte_end":376476,"line_start":262,"line_end":262,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376483,"byte_end":376495,"line_start":262,"line_end":262,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":2701133631}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376546,"byte_end":376565,"line_start":263,"line_end":263,"column_start":48,"column_end":67},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":376535,"byte_end":376539,"line_start":263,"line_end":263,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":376541,"byte_end":376544,"line_start":263,"line_end":263,"column_start":43,"column_end":46},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376566,"byte_end":376580,"line_start":263,"line_end":263,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":1493174079}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376612,"byte_end":376624,"line_start":265,"line_end":265,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":2701133631}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376598,"byte_end":376604,"line_start":265,"line_end":265,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376662,"byte_end":376675,"line_start":267,"line_end":267,"column_start":36,"column_end":49},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376694,"byte_end":376699,"line_start":268,"line_end":268,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376700,"byte_end":376706,"line_start":268,"line_end":268,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376725,"byte_end":376730,"line_start":269,"line_end":269,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376731,"byte_end":376737,"line_start":269,"line_end":269,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376812,"byte_end":376815,"line_start":272,"line_end":272,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376798,"byte_end":376811,"line_start":272,"line_end":272,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":3657434943}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376860,"byte_end":376870,"line_start":273,"line_end":273,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376849,"byte_end":376858,"line_start":273,"line_end":273,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376871,"byte_end":376884,"line_start":273,"line_end":273,"column_start":53,"column_end":66},"ref_id":{"krate":0,"index":3657434943}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376886,"byte_end":376892,"line_start":273,"line_end":273,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376898,"byte_end":376903,"line_start":273,"line_end":273,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":1610614591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376934,"byte_end":376940,"line_start":274,"line_end":274,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2063599423}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376918,"byte_end":376931,"line_start":274,"line_end":274,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3657434943}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377048,"byte_end":377052,"line_start":276,"line_end":276,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377034,"byte_end":377047,"line_start":276,"line_end":276,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":939525951}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377053,"byte_end":377068,"line_start":276,"line_end":276,"column_start":32,"column_end":47},"ref_id":{"krate":0,"index":3515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377071,"byte_end":377074,"line_start":276,"line_end":276,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377076,"byte_end":377077,"line_start":276,"line_end":276,"column_start":55,"column_end":56},"ref_id":{"krate":0,"index":771753791}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377085,"byte_end":377088,"line_start":276,"line_end":276,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3517}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377099,"byte_end":377108,"line_start":276,"line_end":276,"column_start":78,"column_end":87},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377090,"byte_end":377098,"line_start":276,"line_end":276,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1694500671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377112,"byte_end":377118,"line_start":276,"line_end":276,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377120,"byte_end":377130,"line_start":276,"line_end":276,"column_start":99,"column_end":109},"ref_id":{"krate":0,"index":3003123519}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377132,"byte_end":377138,"line_start":276,"line_end":276,"column_start":111,"column_end":117},"ref_id":{"krate":0,"index":3519}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377231,"byte_end":377235,"line_start":278,"line_end":278,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377222,"byte_end":377230,"line_start":278,"line_end":278,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1442842431}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377245,"byte_end":377254,"line_start":278,"line_end":278,"column_start":36,"column_end":45},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377236,"byte_end":377244,"line_start":278,"line_end":278,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":1694500671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377281,"byte_end":377292,"line_start":279,"line_end":279,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":1660946239}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377271,"byte_end":377277,"line_start":279,"line_end":279,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1174406975}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377421,"byte_end":377437,"line_start":284,"line_end":284,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377452,"byte_end":377455,"line_start":285,"line_end":285,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377472,"byte_end":377479,"line_start":285,"line_end":285,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377457,"byte_end":377470,"line_start":285,"line_end":285,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377493,"byte_end":377494,"line_start":286,"line_end":286,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377509,"byte_end":377515,"line_start":286,"line_end":286,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377496,"byte_end":377507,"line_start":286,"line_end":286,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377529,"byte_end":377537,"line_start":287,"line_end":287,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377558,"byte_end":377562,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377569,"byte_end":377572,"line_start":288,"line_end":288,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377564,"byte_end":377567,"line_start":288,"line_end":288,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377578,"byte_end":377586,"line_start":288,"line_end":288,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377573,"byte_end":377576,"line_start":288,"line_end":288,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377592,"byte_end":377595,"line_start":288,"line_end":288,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377587,"byte_end":377590,"line_start":288,"line_end":288,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377596,"byte_end":377610,"line_start":288,"line_end":288,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377613,"byte_end":377619,"line_start":288,"line_end":288,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377621,"byte_end":377634,"line_start":288,"line_end":288,"column_start":76,"column_end":89},"ref_id":{"krate":0,"index":939525951}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377636,"byte_end":377641,"line_start":288,"line_end":288,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377648,"byte_end":377651,"line_start":288,"line_end":288,"column_start":103,"column_end":106},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377643,"byte_end":377646,"line_start":288,"line_end":288,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377386,"byte_end":377399,"line_start":284,"line_end":284,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3657434943}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377400,"byte_end":377417,"line_start":284,"line_end":284,"column_start":23,"column_end":40},"ref_id":{"krate":0,"index":3288336191}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377700,"byte_end":377713,"line_start":291,"line_end":291,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3657434943}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377753,"byte_end":377756,"line_start":294,"line_end":294,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377757,"byte_end":377773,"line_start":294,"line_end":294,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377794,"byte_end":377800,"line_start":294,"line_end":294,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377801,"byte_end":377808,"line_start":294,"line_end":294,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377810,"byte_end":377818,"line_start":294,"line_end":294,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377859,"byte_end":377862,"line_start":295,"line_end":295,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377852,"byte_end":377857,"line_start":295,"line_end":295,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377886,"byte_end":377892,"line_start":296,"line_end":296,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377874,"byte_end":377885,"line_start":296,"line_end":296,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308224}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377900,"byte_end":377908,"line_start":296,"line_end":296,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377921,"byte_end":377927,"line_start":296,"line_end":296,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377912,"byte_end":377919,"line_start":296,"line_end":296,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377947,"byte_end":377956,"line_start":296,"line_end":296,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377934,"byte_end":377942,"line_start":296,"line_end":296,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377995,"byte_end":378001,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743680}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378002,"byte_end":378009,"line_start":298,"line_end":298,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872768}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378011,"byte_end":378015,"line_start":298,"line_end":298,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378026,"byte_end":378040,"line_start":298,"line_end":298,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378066,"byte_end":378069,"line_start":300,"line_end":300,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378070,"byte_end":378077,"line_start":300,"line_end":300,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378371,"byte_end":378378,"line_start":305,"line_end":305,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378100,"byte_end":378103,"line_start":300,"line_end":300,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378093,"byte_end":378097,"line_start":300,"line_end":300,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378081,"byte_end":378085,"line_start":300,"line_end":300,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1275070272}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378086,"byte_end":378092,"line_start":300,"line_end":300,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3675}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378140,"byte_end":378143,"line_start":301,"line_end":301,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378144,"byte_end":378151,"line_start":301,"line_end":301,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378160,"byte_end":378163,"line_start":301,"line_end":301,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378155,"byte_end":378158,"line_start":301,"line_end":301,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378184,"byte_end":378188,"line_start":302,"line_end":302,"column_start":18,"column_end":22},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378179,"byte_end":378183,"line_start":302,"line_end":302,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":838862656}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378198,"byte_end":378204,"line_start":302,"line_end":302,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378189,"byte_end":378196,"line_start":302,"line_end":302,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378215,"byte_end":378224,"line_start":302,"line_end":302,"column_start":49,"column_end":58},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378205,"byte_end":378210,"line_start":302,"line_end":302,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":33556288}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378211,"byte_end":378214,"line_start":302,"line_end":302,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":3517}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378247,"byte_end":378251,"line_start":303,"line_end":303,"column_start":18,"column_end":22},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378242,"byte_end":378246,"line_start":303,"line_end":303,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":838862656}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378300,"byte_end":378309,"line_start":303,"line_end":303,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378263,"byte_end":378276,"line_start":303,"line_end":303,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378252,"byte_end":378261,"line_start":303,"line_end":303,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378278,"byte_end":378284,"line_start":303,"line_end":303,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743680}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378286,"byte_end":378291,"line_start":303,"line_end":303,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":33556288}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378292,"byte_end":378298,"line_start":303,"line_end":303,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":3518}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378319,"byte_end":378323,"line_start":303,"line_end":303,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378310,"byte_end":378317,"line_start":303,"line_end":303,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378348,"byte_end":378353,"line_start":304,"line_end":304,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378339,"byte_end":378346,"line_start":304,"line_end":304,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378354,"byte_end":378358,"line_start":304,"line_end":304,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":838862656}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378416,"byte_end":378422,"line_start":308,"line_end":308,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378404,"byte_end":378415,"line_start":308,"line_end":308,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308224}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378432,"byte_end":378440,"line_start":308,"line_end":308,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378453,"byte_end":378458,"line_start":308,"line_end":308,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378444,"byte_end":378451,"line_start":308,"line_end":308,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378459,"byte_end":378465,"line_start":308,"line_end":308,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3187672896}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378478,"byte_end":378480,"line_start":310,"line_end":310,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378490,"byte_end":378500,"line_start":310,"line_end":310,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378481,"byte_end":378488,"line_start":310,"line_end":310,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378501,"byte_end":378512,"line_start":310,"line_end":310,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308224}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378561,"byte_end":378570,"line_start":313,"line_end":313,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378588,"byte_end":378597,"line_start":313,"line_end":313,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378602,"byte_end":378608,"line_start":313,"line_end":313,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378616,"byte_end":378624,"line_start":313,"line_end":313,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378663,"byte_end":378672,"line_start":315,"line_end":315,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378656,"byte_end":378662,"line_start":315,"line_end":315,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872770}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378673,"byte_end":378679,"line_start":315,"line_end":315,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614594}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378706,"byte_end":378720,"line_start":317,"line_end":317,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378696,"byte_end":378703,"line_start":317,"line_end":317,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961410}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378749,"byte_end":378751,"line_start":318,"line_end":318,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378842,"byte_end":378856,"line_start":323,"line_end":323,"column_start":40,"column_end":54},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378832,"byte_end":378839,"line_start":323,"line_end":323,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":1207961410}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378919,"byte_end":378929,"line_start":325,"line_end":325,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1275070274}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378937,"byte_end":378945,"line_start":325,"line_end":325,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1811941186}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378964,"byte_end":378972,"line_start":326,"line_end":326,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207106}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379011,"byte_end":379021,"line_start":327,"line_end":327,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379022,"byte_end":379032,"line_start":327,"line_end":327,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":1275070274}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379034,"byte_end":379040,"line_start":327,"line_end":327,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":1610614594}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379075,"byte_end":379083,"line_start":328,"line_end":328,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1701}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379068,"byte_end":379074,"line_start":328,"line_end":328,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2315257666}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379055,"byte_end":379065,"line_start":328,"line_end":328,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1275070274}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379108,"byte_end":379116,"line_start":329,"line_end":329,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1811941186}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379164,"byte_end":379172,"line_start":332,"line_end":332,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":1843}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379174,"byte_end":379180,"line_start":332,"line_end":332,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536872770}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379182,"byte_end":379188,"line_start":332,"line_end":332,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614594}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379245,"byte_end":379254,"line_start":334,"line_end":334,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379239,"byte_end":379244,"line_start":334,"line_end":334,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":503318338}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379255,"byte_end":379261,"line_start":334,"line_end":334,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614594}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379210,"byte_end":379214,"line_start":334,"line_end":334,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379297,"byte_end":379301,"line_start":335,"line_end":335,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3187672898}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379284,"byte_end":379288,"line_start":335,"line_end":335,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379346,"byte_end":379355,"line_start":336,"line_end":336,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379335,"byte_end":379344,"line_start":336,"line_end":336,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379356,"byte_end":379361,"line_start":336,"line_end":336,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":1073743682}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379368,"byte_end":379372,"line_start":336,"line_end":336,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":2432698178}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379374,"byte_end":379380,"line_start":336,"line_end":336,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1610614594}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379403,"byte_end":379411,"line_start":337,"line_end":337,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":1962936130}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379505,"byte_end":379513,"line_start":339,"line_end":339,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1962936130}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379493,"byte_end":379501,"line_start":339,"line_end":339,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207106}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379595,"byte_end":379597,"line_start":344,"line_end":344,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379598,"byte_end":379606,"line_start":344,"line_end":344,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207106}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379812,"byte_end":379817,"line_start":349,"line_end":349,"column_start":196,"column_end":201},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379661,"byte_end":379670,"line_start":349,"line_end":349,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379693,"byte_end":379702,"line_start":349,"line_end":349,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379719,"byte_end":379728,"line_start":349,"line_end":349,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379749,"byte_end":379758,"line_start":349,"line_end":349,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379763,"byte_end":379769,"line_start":349,"line_end":349,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379770,"byte_end":379779,"line_start":349,"line_end":349,"column_start":154,"column_end":163},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379781,"byte_end":379789,"line_start":349,"line_end":349,"column_start":165,"column_end":173},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379858,"byte_end":379867,"line_start":351,"line_end":351,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379846,"byte_end":379857,"line_start":351,"line_end":351,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872772}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379868,"byte_end":379879,"line_start":351,"line_end":351,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614596}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379905,"byte_end":379919,"line_start":353,"line_end":353,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379894,"byte_end":379904,"line_start":353,"line_end":353,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445060}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379948,"byte_end":379950,"line_start":354,"line_end":354,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379951,"byte_end":379960,"line_start":354,"line_end":354,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437316}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380000,"byte_end":380017,"line_start":357,"line_end":357,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":1837}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380018,"byte_end":380027,"line_start":357,"line_end":357,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":268437316}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380029,"byte_end":380038,"line_start":357,"line_end":357,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":1342179140}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379982,"byte_end":379991,"line_start":357,"line_end":357,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437316}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380082,"byte_end":380091,"line_start":358,"line_end":358,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380072,"byte_end":380081,"line_start":358,"line_end":358,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":268437316}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380092,"byte_end":380101,"line_start":358,"line_end":358,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1342179140}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380155,"byte_end":380169,"line_start":359,"line_end":359,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380139,"byte_end":380154,"line_start":359,"line_end":359,"column_start":36,"column_end":51},"ref_id":{"krate":0,"index":1375733572}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380269,"byte_end":380279,"line_start":362,"line_end":362,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380257,"byte_end":380268,"line_start":362,"line_end":362,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614596}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380280,"byte_end":380291,"line_start":362,"line_end":362,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536872772}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380292,"byte_end":380303,"line_start":362,"line_end":362,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380305,"byte_end":380309,"line_start":362,"line_end":362,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380320,"byte_end":380334,"line_start":362,"line_end":362,"column_start":96,"column_end":110},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380367,"byte_end":380371,"line_start":364,"line_end":364,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":905971524}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380372,"byte_end":380378,"line_start":364,"line_end":364,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380411,"byte_end":380419,"line_start":366,"line_end":366,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":1843}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380421,"byte_end":380432,"line_start":366,"line_end":366,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":536872772}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380434,"byte_end":380445,"line_start":366,"line_end":366,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1610614596}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380499,"byte_end":380508,"line_start":368,"line_end":368,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380493,"byte_end":380498,"line_start":368,"line_end":368,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":16779076}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380509,"byte_end":380520,"line_start":368,"line_end":368,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1610614596}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380467,"byte_end":380471,"line_start":368,"line_end":368,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380555,"byte_end":380559,"line_start":369,"line_end":369,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":2701133636}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380542,"byte_end":380546,"line_start":369,"line_end":369,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380594,"byte_end":380597,"line_start":371,"line_end":371,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3238004548}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380600,"byte_end":380611,"line_start":371,"line_end":371,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380663,"byte_end":380666,"line_start":372,"line_end":372,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3238004548}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380669,"byte_end":380680,"line_start":372,"line_end":372,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":2275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380756,"byte_end":380771,"line_start":374,"line_end":374,"column_start":20,"column_end":35},"ref_id":{"krate":0,"index":436209476}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380774,"byte_end":380781,"line_start":374,"line_end":374,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3103786820}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380828,"byte_end":380838,"line_start":375,"line_end":375,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380839,"byte_end":380855,"line_start":375,"line_end":375,"column_start":56,"column_end":72},"ref_id":{"krate":0,"index":704644932}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380857,"byte_end":380866,"line_start":375,"line_end":375,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":1342179140}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380914,"byte_end":380930,"line_start":376,"line_end":376,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":1840}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380931,"byte_end":380942,"line_start":376,"line_end":376,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3976202052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380944,"byte_end":380953,"line_start":376,"line_end":376,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1342179140}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380889,"byte_end":380905,"line_start":376,"line_end":376,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":704644932}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380977,"byte_end":380992,"line_start":377,"line_end":377,"column_start":21,"column_end":36},"ref_id":{"krate":0,"index":436209476}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381050,"byte_end":381066,"line_start":380,"line_end":380,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":704644932}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381070,"byte_end":381081,"line_start":380,"line_end":380,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":2768242500}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381115,"byte_end":381122,"line_start":381,"line_end":381,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381104,"byte_end":381113,"line_start":381,"line_end":381,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381123,"byte_end":381128,"line_start":381,"line_end":381,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073743684}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381139,"byte_end":381144,"line_start":381,"line_end":381,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381134,"byte_end":381138,"line_start":381,"line_end":381,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2298480452}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381148,"byte_end":381159,"line_start":381,"line_end":381,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1610614596}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381172,"byte_end":381175,"line_start":381,"line_end":381,"column_start":85,"column_end":88},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381161,"byte_end":381170,"line_start":381,"line_end":381,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381176,"byte_end":381185,"line_start":381,"line_end":381,"column_start":89,"column_end":98},"ref_id":{"krate":0,"index":3875538756}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381187,"byte_end":381198,"line_start":381,"line_end":381,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3456108356}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381199,"byte_end":381202,"line_start":381,"line_end":381,"column_start":112,"column_end":115},"ref_id":{"krate":0,"index":3238004548}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381204,"byte_end":381210,"line_start":381,"line_end":381,"column_start":117,"column_end":123},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381212,"byte_end":381221,"line_start":381,"line_end":381,"column_start":125,"column_end":134},"ref_id":{"krate":0,"index":268437316}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381222,"byte_end":381233,"line_start":381,"line_end":381,"column_start":135,"column_end":146},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381236,"byte_end":381245,"line_start":381,"line_end":381,"column_start":149,"column_end":158},"ref_id":{"krate":0,"index":1342179140}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381291,"byte_end":381293,"line_start":385,"line_end":385,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381294,"byte_end":381303,"line_start":385,"line_end":385,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437316}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381342,"byte_end":381345,"line_start":388,"line_end":388,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381346,"byte_end":381362,"line_start":388,"line_end":388,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381383,"byte_end":381389,"line_start":388,"line_end":388,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381390,"byte_end":381396,"line_start":388,"line_end":388,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381398,"byte_end":381406,"line_start":388,"line_end":388,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381442,"byte_end":381448,"line_start":389,"line_end":389,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743685}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381449,"byte_end":381456,"line_start":389,"line_end":389,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872773}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381458,"byte_end":381462,"line_start":389,"line_end":389,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381473,"byte_end":381487,"line_start":389,"line_end":389,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":3674}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381526,"byte_end":381530,"line_start":391,"line_end":391,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381518,"byte_end":381524,"line_start":391,"line_end":391,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381591,"byte_end":381594,"line_start":393,"line_end":393,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381579,"byte_end":381583,"line_start":393,"line_end":393,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744832325}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381584,"byte_end":381590,"line_start":393,"line_end":393,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381649,"byte_end":381658,"line_start":394,"line_end":394,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381642,"byte_end":381646,"line_start":394,"line_end":394,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381630,"byte_end":381634,"line_start":394,"line_end":394,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832325}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381635,"byte_end":381641,"line_start":394,"line_end":394,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381682,"byte_end":381690,"line_start":395,"line_end":395,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381675,"byte_end":381681,"line_start":395,"line_end":395,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381701,"byte_end":381707,"line_start":395,"line_end":395,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381691,"byte_end":381696,"line_start":395,"line_end":395,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":1275070277}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381697,"byte_end":381700,"line_start":395,"line_end":395,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3517}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381731,"byte_end":381739,"line_start":396,"line_end":396,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381724,"byte_end":381730,"line_start":396,"line_end":396,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381766,"byte_end":381774,"line_start":397,"line_end":397,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381759,"byte_end":381765,"line_start":397,"line_end":397,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381822,"byte_end":381828,"line_start":397,"line_end":397,"column_start":76,"column_end":82},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381786,"byte_end":381798,"line_start":397,"line_end":397,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":2468}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381775,"byte_end":381784,"line_start":397,"line_end":397,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381799,"byte_end":381805,"line_start":397,"line_end":397,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743685}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381807,"byte_end":381812,"line_start":397,"line_end":397,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":1275070277}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381813,"byte_end":381819,"line_start":397,"line_end":397,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381848,"byte_end":381851,"line_start":398,"line_end":398,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":2348812101}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381854,"byte_end":381864,"line_start":398,"line_end":398,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2483029829}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381890,"byte_end":381898,"line_start":399,"line_end":399,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381883,"byte_end":381889,"line_start":399,"line_end":399,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381946,"byte_end":381954,"line_start":403,"line_end":403,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381939,"byte_end":381945,"line_start":403,"line_end":403,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381971,"byte_end":381973,"line_start":404,"line_end":404,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381974,"byte_end":381980,"line_start":404,"line_end":404,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751429}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382036,"byte_end":382039,"line_start":408,"line_end":408,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382040,"byte_end":382056,"line_start":408,"line_end":408,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382078,"byte_end":382087,"line_start":408,"line_end":408,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382096,"byte_end":382099,"line_start":408,"line_end":408,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382100,"byte_end":382106,"line_start":408,"line_end":408,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382112,"byte_end":382118,"line_start":408,"line_end":408,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382126,"byte_end":382129,"line_start":408,"line_end":408,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382135,"byte_end":382138,"line_start":408,"line_end":408,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382139,"byte_end":382155,"line_start":408,"line_end":408,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382159,"byte_end":382167,"line_start":408,"line_end":408,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382201,"byte_end":382204,"line_start":409,"line_end":409,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382216,"byte_end":382219,"line_start":409,"line_end":409,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382211,"byte_end":382214,"line_start":409,"line_end":409,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382244,"byte_end":382248,"line_start":410,"line_end":410,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382231,"byte_end":382243,"line_start":410,"line_end":410,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":671090502}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382262,"byte_end":382268,"line_start":410,"line_end":410,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382249,"byte_end":382260,"line_start":410,"line_end":410,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382317,"byte_end":382320,"line_start":412,"line_end":412,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382310,"byte_end":382316,"line_start":412,"line_end":412,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743686}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382339,"byte_end":382343,"line_start":413,"line_end":413,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382332,"byte_end":382338,"line_start":413,"line_end":413,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743686}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382344,"byte_end":382360,"line_start":413,"line_end":413,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382375,"byte_end":382378,"line_start":414,"line_end":414,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382395,"byte_end":382402,"line_start":414,"line_end":414,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382380,"byte_end":382393,"line_start":414,"line_end":414,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382416,"byte_end":382417,"line_start":415,"line_end":415,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382432,"byte_end":382438,"line_start":415,"line_end":415,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382419,"byte_end":382430,"line_start":415,"line_end":415,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382452,"byte_end":382460,"line_start":416,"line_end":416,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382481,"byte_end":382485,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382492,"byte_end":382495,"line_start":417,"line_end":417,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382487,"byte_end":382490,"line_start":417,"line_end":417,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382501,"byte_end":382509,"line_start":417,"line_end":417,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382496,"byte_end":382499,"line_start":417,"line_end":417,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382515,"byte_end":382518,"line_start":417,"line_end":417,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382510,"byte_end":382513,"line_start":417,"line_end":417,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382519,"byte_end":382533,"line_start":417,"line_end":417,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382536,"byte_end":382542,"line_start":417,"line_end":417,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382549,"byte_end":382552,"line_start":417,"line_end":417,"column_start":81,"column_end":84},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382544,"byte_end":382547,"line_start":417,"line_end":417,"column_start":76,"column_end":79},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382556,"byte_end":382561,"line_start":417,"line_end":417,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382568,"byte_end":382571,"line_start":417,"line_end":417,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382563,"byte_end":382566,"line_start":417,"line_end":417,"column_start":95,"column_end":98},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382629,"byte_end":382632,"line_start":420,"line_end":420,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382633,"byte_end":382648,"line_start":420,"line_end":420,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3515}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382657,"byte_end":382660,"line_start":420,"line_end":420,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382652,"byte_end":382655,"line_start":420,"line_end":420,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382693,"byte_end":382696,"line_start":422,"line_end":422,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382698,"byte_end":382704,"line_start":422,"line_end":422,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382706,"byte_end":382709,"line_start":422,"line_end":422,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382723,"byte_end":382726,"line_start":422,"line_end":422,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382718,"byte_end":382721,"line_start":422,"line_end":422,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382762,"byte_end":382765,"line_start":424,"line_end":424,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382766,"byte_end":382782,"line_start":424,"line_end":424,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382786,"byte_end":382792,"line_start":424,"line_end":424,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1073743686}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382823,"byte_end":382829,"line_start":426,"line_end":426,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382831,"byte_end":382834,"line_start":426,"line_end":426,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382836,"byte_end":382843,"line_start":426,"line_end":426,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2806}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382845,"byte_end":382851,"line_start":426,"line_end":426,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382857,"byte_end":382861,"line_start":426,"line_end":426,"column_start":63,"column_end":67},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382880,"byte_end":382883,"line_start":428,"line_end":428,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382875,"byte_end":382879,"line_start":428,"line_end":428,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437318}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382911,"byte_end":382915,"line_start":429,"line_end":429,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437318}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382954,"byte_end":382964,"line_start":430,"line_end":430,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382945,"byte_end":382951,"line_start":430,"line_end":430,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382937,"byte_end":382943,"line_start":430,"line_end":430,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383012,"byte_end":383022,"line_start":431,"line_end":431,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4177528646}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":383072,"byte_end":383076,"line_start":432,"line_end":432,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":383059,"byte_end":383066,"line_start":432,"line_end":432,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383055,"byte_end":383058,"line_start":432,"line_end":432,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614598}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383067,"byte_end":383070,"line_start":432,"line_end":432,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":620758854}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383161,"byte_end":383166,"line_start":434,"line_end":434,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2768242502}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383222,"byte_end":383232,"line_start":435,"line_end":435,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383213,"byte_end":383219,"line_start":435,"line_end":435,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383205,"byte_end":383211,"line_start":435,"line_end":435,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383293,"byte_end":383297,"line_start":436,"line_end":436,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383298,"byte_end":383308,"line_start":436,"line_end":436,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":3170895686}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383280,"byte_end":383290,"line_start":436,"line_end":436,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4043310918}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383541,"byte_end":383546,"line_start":442,"line_end":442,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2768242502}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383602,"byte_end":383612,"line_start":443,"line_end":443,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383593,"byte_end":383599,"line_start":443,"line_end":443,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383585,"byte_end":383591,"line_start":443,"line_end":443,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383673,"byte_end":383677,"line_start":444,"line_end":444,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383678,"byte_end":383688,"line_start":444,"line_end":444,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":1526728518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383660,"byte_end":383670,"line_start":444,"line_end":444,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4043310918}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384028,"byte_end":384038,"line_start":457,"line_end":457,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":4043310918}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384009,"byte_end":384013,"line_start":457,"line_end":457,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384096,"byte_end":384106,"line_start":460,"line_end":460,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2290091846}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384162,"byte_end":384166,"line_start":461,"line_end":461,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384146,"byte_end":384153,"line_start":461,"line_end":461,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384142,"byte_end":384145,"line_start":461,"line_end":461,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1610614598}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384155,"byte_end":384158,"line_start":461,"line_end":461,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2021656390}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384200,"byte_end":384203,"line_start":462,"line_end":462,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384189,"byte_end":384199,"line_start":462,"line_end":462,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":2357200710}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384241,"byte_end":384244,"line_start":463,"line_end":463,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384255,"byte_end":384258,"line_start":463,"line_end":463,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384245,"byte_end":384253,"line_start":463,"line_end":463,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384397,"byte_end":384400,"line_start":466,"line_end":466,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384383,"byte_end":384396,"line_start":466,"line_end":466,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":4261414726}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384509,"byte_end":384513,"line_start":468,"line_end":468,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384502,"byte_end":384508,"line_start":468,"line_end":468,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2785019718}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384514,"byte_end":384529,"line_start":468,"line_end":468,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384532,"byte_end":384535,"line_start":468,"line_end":468,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384537,"byte_end":384538,"line_start":468,"line_end":468,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":3632269126}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384546,"byte_end":384549,"line_start":468,"line_end":468,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":3517}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384559,"byte_end":384563,"line_start":468,"line_end":468,"column_start":74,"column_end":78},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384551,"byte_end":384557,"line_start":468,"line_end":468,"column_start":66,"column_end":72},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384564,"byte_end":384574,"line_start":468,"line_end":468,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":2357200710}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384577,"byte_end":384583,"line_start":468,"line_end":468,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384585,"byte_end":384602,"line_start":468,"line_end":468,"column_start":100,"column_end":117},"ref_id":{"krate":0,"index":2994734918}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384604,"byte_end":384610,"line_start":468,"line_end":468,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3519}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384687,"byte_end":384695,"line_start":469,"line_end":469,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384676,"byte_end":384685,"line_start":469,"line_end":469,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384696,"byte_end":384709,"line_start":469,"line_end":469,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":4261414726}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384711,"byte_end":384714,"line_start":469,"line_end":469,"column_start":95,"column_end":98},"ref_id":{"krate":0,"index":1610614598}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384717,"byte_end":384720,"line_start":469,"line_end":469,"column_start":101,"column_end":104},"ref_id":{"krate":0,"index":2021656390}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384758,"byte_end":384766,"line_start":470,"line_end":470,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":2441086790}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384742,"byte_end":384755,"line_start":470,"line_end":470,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":4261414726}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384795,"byte_end":384799,"line_start":471,"line_end":471,"column_start":28,"column_end":32},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384784,"byte_end":384794,"line_start":471,"line_end":471,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1845495622}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384809,"byte_end":384813,"line_start":471,"line_end":471,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384801,"byte_end":384807,"line_start":471,"line_end":471,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384814,"byte_end":384824,"line_start":471,"line_end":471,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":2357200710}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384827,"byte_end":384837,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":293603142}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384857,"byte_end":384858,"line_start":472,"line_end":472,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3632269126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384931,"byte_end":384947,"line_start":475,"line_end":475,"column_start":48,"column_end":64},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384966,"byte_end":384969,"line_start":476,"line_end":476,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384986,"byte_end":384993,"line_start":476,"line_end":476,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384971,"byte_end":384984,"line_start":476,"line_end":476,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385011,"byte_end":385012,"line_start":477,"line_end":477,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385027,"byte_end":385033,"line_start":477,"line_end":477,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385014,"byte_end":385025,"line_start":477,"line_end":477,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385051,"byte_end":385059,"line_start":478,"line_end":478,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385084,"byte_end":385088,"line_start":479,"line_end":479,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385095,"byte_end":385098,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385090,"byte_end":385093,"line_start":479,"line_end":479,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385104,"byte_end":385112,"line_start":479,"line_end":479,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385099,"byte_end":385102,"line_start":479,"line_end":479,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385118,"byte_end":385121,"line_start":479,"line_end":479,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385113,"byte_end":385116,"line_start":479,"line_end":479,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385122,"byte_end":385136,"line_start":479,"line_end":479,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385139,"byte_end":385145,"line_start":479,"line_end":479,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385147,"byte_end":385153,"line_start":479,"line_end":479,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":2785019718}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385155,"byte_end":385160,"line_start":479,"line_end":479,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385167,"byte_end":385170,"line_start":479,"line_end":479,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385162,"byte_end":385165,"line_start":479,"line_end":479,"column_start":95,"column_end":98},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384896,"byte_end":384909,"line_start":475,"line_end":475,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":4261414726}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384910,"byte_end":384927,"line_start":475,"line_end":475,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":1677723462}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385237,"byte_end":385240,"line_start":482,"line_end":482,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385226,"byte_end":385236,"line_start":482,"line_end":482,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1845495622}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385274,"byte_end":385277,"line_start":483,"line_end":483,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385288,"byte_end":385291,"line_start":483,"line_end":483,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385278,"byte_end":385286,"line_start":483,"line_end":483,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385383,"byte_end":385386,"line_start":486,"line_end":486,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385372,"byte_end":385382,"line_start":486,"line_end":486,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1845495622}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385419,"byte_end":385422,"line_start":487,"line_end":487,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385433,"byte_end":385436,"line_start":487,"line_end":487,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385423,"byte_end":385431,"line_start":487,"line_end":487,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385555,"byte_end":385559,"line_start":491,"line_end":491,"column_start":26,"column_end":30},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385542,"byte_end":385554,"line_start":491,"line_end":491,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":671090502}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385571,"byte_end":385574,"line_start":491,"line_end":491,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385560,"byte_end":385570,"line_start":491,"line_end":491,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":1845495622}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385613,"byte_end":385623,"line_start":493,"line_end":493,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":1845495622}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385701,"byte_end":385707,"line_start":495,"line_end":495,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385690,"byte_end":385698,"line_start":495,"line_end":495,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385684,"byte_end":385687,"line_start":495,"line_end":495,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":71305030}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385740,"byte_end":385744,"line_start":496,"line_end":496,"column_start":30,"column_end":34},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385727,"byte_end":385739,"line_start":496,"line_end":496,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090502}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385751,"byte_end":385754,"line_start":496,"line_end":496,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385745,"byte_end":385750,"line_start":496,"line_end":496,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":205522758}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385794,"byte_end":385800,"line_start":497,"line_end":497,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385781,"byte_end":385793,"line_start":497,"line_end":497,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090502}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385801,"byte_end":385806,"line_start":497,"line_end":497,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":205522758}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385839,"byte_end":385842,"line_start":499,"line_end":499,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385833,"byte_end":385836,"line_start":499,"line_end":499,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":71305030}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385852,"byte_end":385855,"line_start":499,"line_end":499,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385894,"byte_end":385897,"line_start":500,"line_end":500,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385908,"byte_end":385911,"line_start":500,"line_end":500,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385898,"byte_end":385906,"line_start":500,"line_end":500,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386033,"byte_end":386039,"line_start":504,"line_end":504,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386020,"byte_end":386032,"line_start":504,"line_end":504,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090502}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386075,"byte_end":386081,"line_start":504,"line_end":504,"column_start":72,"column_end":78},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386061,"byte_end":386072,"line_start":504,"line_end":504,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386047,"byte_end":386050,"line_start":504,"line_end":504,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386041,"byte_end":386044,"line_start":504,"line_end":504,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":71305030}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386115,"byte_end":386121,"line_start":505,"line_end":505,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386102,"byte_end":386114,"line_start":505,"line_end":505,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090502}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386122,"byte_end":386125,"line_start":505,"line_end":505,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":71305030}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386161,"byte_end":386163,"line_start":508,"line_end":508,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386172,"byte_end":386184,"line_start":508,"line_end":508,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":671090502}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386186,"byte_end":386199,"line_start":508,"line_end":508,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":4261414726}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386231,"byte_end":386234,"line_start":510,"line_end":510,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386245,"byte_end":386248,"line_start":510,"line_end":510,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386235,"byte_end":386243,"line_start":510,"line_end":510,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386374,"byte_end":386377,"line_start":514,"line_end":514,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386378,"byte_end":386394,"line_start":514,"line_end":514,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386411,"byte_end":386414,"line_start":514,"line_end":514,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386415,"byte_end":386422,"line_start":514,"line_end":514,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386428,"byte_end":386434,"line_start":514,"line_end":514,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386442,"byte_end":386445,"line_start":514,"line_end":514,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386451,"byte_end":386454,"line_start":514,"line_end":514,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386455,"byte_end":386471,"line_start":514,"line_end":514,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386475,"byte_end":386483,"line_start":514,"line_end":514,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386518,"byte_end":386521,"line_start":516,"line_end":516,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386533,"byte_end":386536,"line_start":516,"line_end":516,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386528,"byte_end":386531,"line_start":516,"line_end":516,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386561,"byte_end":386565,"line_start":517,"line_end":517,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386548,"byte_end":386560,"line_start":517,"line_end":517,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219591}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386579,"byte_end":386585,"line_start":517,"line_end":517,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386566,"byte_end":386577,"line_start":517,"line_end":517,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386634,"byte_end":386637,"line_start":519,"line_end":519,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386627,"byte_end":386633,"line_start":519,"line_end":519,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386656,"byte_end":386660,"line_start":520,"line_end":520,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386649,"byte_end":386655,"line_start":520,"line_end":520,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386661,"byte_end":386677,"line_start":520,"line_end":520,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386692,"byte_end":386695,"line_start":521,"line_end":521,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386712,"byte_end":386719,"line_start":521,"line_end":521,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386697,"byte_end":386710,"line_start":521,"line_end":521,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386733,"byte_end":386734,"line_start":522,"line_end":522,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386749,"byte_end":386755,"line_start":522,"line_end":522,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386736,"byte_end":386747,"line_start":522,"line_end":522,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386769,"byte_end":386777,"line_start":523,"line_end":523,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386798,"byte_end":386802,"line_start":524,"line_end":524,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386809,"byte_end":386812,"line_start":524,"line_end":524,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386804,"byte_end":386807,"line_start":524,"line_end":524,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386818,"byte_end":386826,"line_start":524,"line_end":524,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386813,"byte_end":386816,"line_start":524,"line_end":524,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386832,"byte_end":386835,"line_start":524,"line_end":524,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386827,"byte_end":386830,"line_start":524,"line_end":524,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386836,"byte_end":386850,"line_start":524,"line_end":524,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386853,"byte_end":386859,"line_start":524,"line_end":524,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3675}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386866,"byte_end":386869,"line_start":524,"line_end":524,"column_start":81,"column_end":84},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386861,"byte_end":386864,"line_start":524,"line_end":524,"column_start":76,"column_end":79},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386873,"byte_end":386878,"line_start":524,"line_end":524,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386885,"byte_end":386888,"line_start":524,"line_end":524,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386880,"byte_end":386883,"line_start":524,"line_end":524,"column_start":95,"column_end":98},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386946,"byte_end":386949,"line_start":527,"line_end":527,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386950,"byte_end":386965,"line_start":527,"line_end":527,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3515}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386974,"byte_end":386977,"line_start":527,"line_end":527,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386969,"byte_end":386972,"line_start":527,"line_end":527,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387010,"byte_end":387013,"line_start":529,"line_end":529,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387015,"byte_end":387021,"line_start":529,"line_end":529,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387023,"byte_end":387026,"line_start":529,"line_end":529,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387040,"byte_end":387043,"line_start":529,"line_end":529,"column_start":59,"column_end":62},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387035,"byte_end":387038,"line_start":529,"line_end":529,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387079,"byte_end":387082,"line_start":531,"line_end":531,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387083,"byte_end":387099,"line_start":531,"line_end":531,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387103,"byte_end":387109,"line_start":531,"line_end":531,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387171,"byte_end":387182,"line_start":533,"line_end":533,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":536872775}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387154,"byte_end":387159,"line_start":533,"line_end":533,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387145,"byte_end":387152,"line_start":533,"line_end":533,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387207,"byte_end":387213,"line_start":534,"line_end":534,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":16779079}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387262,"byte_end":387273,"line_start":535,"line_end":535,"column_start":49,"column_end":60},"ref_id":{"krate":0,"index":536872775}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387245,"byte_end":387250,"line_start":535,"line_end":535,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387236,"byte_end":387243,"line_start":535,"line_end":535,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387299,"byte_end":387305,"line_start":536,"line_end":536,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4043310919}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387342,"byte_end":387345,"line_start":538,"line_end":538,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387356,"byte_end":387359,"line_start":538,"line_end":538,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387346,"byte_end":387354,"line_start":538,"line_end":538,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387489,"byte_end":387500,"line_start":543,"line_end":543,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1426065223}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387539,"byte_end":387542,"line_start":544,"line_end":544,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3439331143}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387573,"byte_end":387579,"line_start":545,"line_end":545,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387564,"byte_end":387571,"line_start":545,"line_end":545,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387573,"byte_end":387579,"line_start":545,"line_end":545,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387564,"byte_end":387571,"line_start":545,"line_end":545,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387588,"byte_end":387593,"line_start":545,"line_end":545,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387586,"byte_end":387587,"line_start":545,"line_end":545,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":1124075335}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387621,"byte_end":387629,"line_start":546,"line_end":546,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387673,"byte_end":387676,"line_start":548,"line_end":548,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":5601}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387662,"byte_end":387672,"line_start":548,"line_end":548,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":184551239}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387710,"byte_end":387713,"line_start":549,"line_end":549,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387724,"byte_end":387727,"line_start":549,"line_end":549,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387714,"byte_end":387722,"line_start":549,"line_end":549,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387854,"byte_end":387857,"line_start":552,"line_end":552,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387840,"byte_end":387853,"line_start":552,"line_end":552,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":3724543815}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387952,"byte_end":387956,"line_start":554,"line_end":554,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387945,"byte_end":387951,"line_start":554,"line_end":554,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2248148807}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387957,"byte_end":387972,"line_start":554,"line_end":554,"column_start":25,"column_end":40},"ref_id":{"krate":0,"index":3515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387975,"byte_end":387978,"line_start":554,"line_end":554,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387980,"byte_end":387981,"line_start":554,"line_end":554,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":218105671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387989,"byte_end":387992,"line_start":554,"line_end":554,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3517}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388005,"byte_end":388010,"line_start":554,"line_end":554,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387994,"byte_end":388004,"line_start":554,"line_end":554,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":184551239}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388014,"byte_end":388020,"line_start":554,"line_end":554,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388022,"byte_end":388039,"line_start":554,"line_end":554,"column_start":90,"column_end":107},"ref_id":{"krate":0,"index":922748743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388041,"byte_end":388047,"line_start":554,"line_end":554,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":3519}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388120,"byte_end":388129,"line_start":555,"line_end":555,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388109,"byte_end":388118,"line_start":555,"line_end":555,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388130,"byte_end":388143,"line_start":555,"line_end":555,"column_start":77,"column_end":90},"ref_id":{"krate":0,"index":3724543815}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388151,"byte_end":388154,"line_start":555,"line_end":555,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388146,"byte_end":388149,"line_start":555,"line_end":555,"column_start":93,"column_end":96},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388162,"byte_end":388167,"line_start":555,"line_end":555,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388155,"byte_end":388158,"line_start":555,"line_end":555,"column_start":102,"column_end":105},"ref_id":{"krate":0,"index":3439331143}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388202,"byte_end":388210,"line_start":556,"line_end":556,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3565160263}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388186,"byte_end":388199,"line_start":556,"line_end":556,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3724543815}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388235,"byte_end":388239,"line_start":557,"line_end":557,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388224,"byte_end":388234,"line_start":557,"line_end":557,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1308624711}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388241,"byte_end":388251,"line_start":557,"line_end":557,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":184551239}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388253,"byte_end":388263,"line_start":557,"line_end":557,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1417676615}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388279,"byte_end":388280,"line_start":558,"line_end":558,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":218105671}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388341,"byte_end":388357,"line_start":561,"line_end":561,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388372,"byte_end":388375,"line_start":562,"line_end":562,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388392,"byte_end":388399,"line_start":562,"line_end":562,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388377,"byte_end":388390,"line_start":562,"line_end":562,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388413,"byte_end":388414,"line_start":563,"line_end":563,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388429,"byte_end":388435,"line_start":563,"line_end":563,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388416,"byte_end":388427,"line_start":563,"line_end":563,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388449,"byte_end":388457,"line_start":564,"line_end":564,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388478,"byte_end":388482,"line_start":565,"line_end":565,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388489,"byte_end":388492,"line_start":565,"line_end":565,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388484,"byte_end":388487,"line_start":565,"line_end":565,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388498,"byte_end":388506,"line_start":565,"line_end":565,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388493,"byte_end":388496,"line_start":565,"line_end":565,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388512,"byte_end":388515,"line_start":565,"line_end":565,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388507,"byte_end":388510,"line_start":565,"line_end":565,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388516,"byte_end":388530,"line_start":565,"line_end":565,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":3674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388533,"byte_end":388539,"line_start":565,"line_end":565,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388541,"byte_end":388547,"line_start":565,"line_end":565,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":2248148807}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388549,"byte_end":388554,"line_start":565,"line_end":565,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3676}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388561,"byte_end":388564,"line_start":565,"line_end":565,"column_start":96,"column_end":99},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388556,"byte_end":388559,"line_start":565,"line_end":565,"column_start":91,"column_end":94},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388306,"byte_end":388319,"line_start":561,"line_end":561,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3724543815}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388320,"byte_end":388337,"line_start":561,"line_end":561,"column_start":23,"column_end":40},"ref_id":{"krate":0,"index":1140852551}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388619,"byte_end":388622,"line_start":568,"line_end":568,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388608,"byte_end":388618,"line_start":568,"line_end":568,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1308624711}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388652,"byte_end":388655,"line_start":569,"line_end":569,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388666,"byte_end":388669,"line_start":569,"line_end":569,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388656,"byte_end":388664,"line_start":569,"line_end":569,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388749,"byte_end":388752,"line_start":572,"line_end":572,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388738,"byte_end":388748,"line_start":572,"line_end":572,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1308624711}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388781,"byte_end":388784,"line_start":573,"line_end":573,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388795,"byte_end":388798,"line_start":573,"line_end":573,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388785,"byte_end":388793,"line_start":573,"line_end":573,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388901,"byte_end":388905,"line_start":577,"line_end":577,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388888,"byte_end":388900,"line_start":577,"line_end":577,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219591}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388917,"byte_end":388920,"line_start":577,"line_end":577,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388906,"byte_end":388916,"line_start":577,"line_end":577,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1308624711}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388951,"byte_end":388961,"line_start":579,"line_end":579,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1308624711}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389031,"byte_end":389037,"line_start":581,"line_end":581,"column_start":42,"column_end":48},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389020,"byte_end":389028,"line_start":581,"line_end":581,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389014,"byte_end":389017,"line_start":581,"line_end":581,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3179284295}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389066,"byte_end":389070,"line_start":582,"line_end":582,"column_start":26,"column_end":30},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389053,"byte_end":389065,"line_start":582,"line_end":582,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219591}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389077,"byte_end":389080,"line_start":582,"line_end":582,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389071,"byte_end":389076,"line_start":582,"line_end":582,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3011512135}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389116,"byte_end":389122,"line_start":583,"line_end":583,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389103,"byte_end":389115,"line_start":583,"line_end":583,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389123,"byte_end":389128,"line_start":583,"line_end":583,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3011512135}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389153,"byte_end":389156,"line_start":585,"line_end":585,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389147,"byte_end":389150,"line_start":585,"line_end":585,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3179284295}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389166,"byte_end":389169,"line_start":585,"line_end":585,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389204,"byte_end":389207,"line_start":586,"line_end":586,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389218,"byte_end":389221,"line_start":586,"line_end":586,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389208,"byte_end":389216,"line_start":586,"line_end":586,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389327,"byte_end":389333,"line_start":590,"line_end":590,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389314,"byte_end":389326,"line_start":590,"line_end":590,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219591}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389369,"byte_end":389375,"line_start":590,"line_end":590,"column_start":68,"column_end":74},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389355,"byte_end":389366,"line_start":590,"line_end":590,"column_start":54,"column_end":65},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389341,"byte_end":389344,"line_start":590,"line_end":590,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389335,"byte_end":389338,"line_start":590,"line_end":590,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3179284295}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389405,"byte_end":389411,"line_start":591,"line_end":591,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389392,"byte_end":389404,"line_start":591,"line_end":591,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389412,"byte_end":389415,"line_start":591,"line_end":591,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3179284295}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389446,"byte_end":389448,"line_start":594,"line_end":594,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389457,"byte_end":389469,"line_start":594,"line_end":594,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":134219591}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389471,"byte_end":389484,"line_start":594,"line_end":594,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":3724543815}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389558,"byte_end":389561,"line_start":598,"line_end":598,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389562,"byte_end":389578,"line_start":598,"line_end":598,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389584,"byte_end":389590,"line_start":598,"line_end":598,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389607,"byte_end":389611,"line_start":599,"line_end":599,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366823,"byte_end":366826,"line_start":6,"line_end":6,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":1865}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393573,"byte_end":393578,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393581,"byte_end":393587,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393573,"byte_end":393578,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393597,"byte_end":393601,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393621,"byte_end":393624,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393621,"byte_end":393624,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393647,"byte_end":393654,"line_start":2,"line_end":2,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393667,"byte_end":393673,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393667,"byte_end":393673,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393715,"byte_end":393720,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393723,"byte_end":393732,"line_start":3,"line_end":3,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393746,"byte_end":393751,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393753,"byte_end":393760,"line_start":4,"line_end":4,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393786,"byte_end":393792,"line_start":5,"line_end":5,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393859,"byte_end":393864,"line_start":5,"line_end":5,"column_start":86,"column_end":91},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393876,"byte_end":393885,"line_start":5,"line_end":5,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393902,"byte_end":393907,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393909,"byte_end":393915,"line_start":7,"line_end":7,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393931,"byte_end":393936,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393938,"byte_end":393941,"line_start":8,"line_end":8,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393952,"byte_end":393957,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393959,"byte_end":393964,"line_start":9,"line_end":9,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393975,"byte_end":393980,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393982,"byte_end":393988,"line_start":10,"line_end":10,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394096,"byte_end":394100,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3293}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":3292}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":394247,"byte_end":394258,"line_start":24,"line_end":24,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394242,"byte_end":394246,"line_start":24,"line_end":24,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872845}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394230,"byte_end":394234,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743757}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394235,"byte_end":394239,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3293}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":394339,"byte_end":394352,"line_start":28,"line_end":28,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394353,"byte_end":394357,"line_start":28,"line_end":28,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743758}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394358,"byte_end":394362,"line_start":28,"line_end":28,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3293}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394447,"byte_end":394450,"line_start":35,"line_end":35,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3299}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394468,"byte_end":394477,"line_start":36,"line_end":36,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3300}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3297}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394586,"byte_end":394590,"line_start":41,"line_end":41,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3297}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394593,"byte_end":394596,"line_start":41,"line_end":41,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3299}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394593,"byte_end":394596,"line_start":41,"line_end":41,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":1073743761}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394598,"byte_end":394607,"line_start":41,"line_end":41,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3300}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394598,"byte_end":394607,"line_start":41,"line_end":41,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":536872849}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394731,"byte_end":394737,"line_start":51,"line_end":51,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394738,"byte_end":394746,"line_start":51,"line_end":51,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3297}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394765,"byte_end":394771,"line_start":52,"line_end":52,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394772,"byte_end":394780,"line_start":52,"line_end":52,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":3297}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394798,"byte_end":394807,"line_start":53,"line_end":53,"column_start":10,"column_end":19},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394704,"byte_end":394709,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3311}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394722,"byte_end":394729,"line_start":51,"line_end":51,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3312}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394759,"byte_end":394763,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3313}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394793,"byte_end":394796,"line_start":53,"line_end":53,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3314}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394813,"byte_end":394821,"line_start":54,"line_end":54,"column_start":5,"column_end":13},"ref_id":{"krate":0,"index":3315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394934,"byte_end":394943,"line_start":61,"line_end":61,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395007,"byte_end":395016,"line_start":61,"line_end":61,"column_start":104,"column_end":113},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395021,"byte_end":395027,"line_start":61,"line_end":61,"column_start":118,"column_end":124},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395028,"byte_end":395034,"line_start":61,"line_end":61,"column_start":125,"column_end":131},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395035,"byte_end":395044,"line_start":61,"line_end":61,"column_start":132,"column_end":141},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395047,"byte_end":395055,"line_start":61,"line_end":61,"column_start":144,"column_end":152},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395099,"byte_end":395109,"line_start":63,"line_end":63,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395092,"byte_end":395098,"line_start":63,"line_end":63,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1342179220}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395110,"byte_end":395120,"line_start":63,"line_end":63,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743764}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395121,"byte_end":395132,"line_start":63,"line_end":63,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395134,"byte_end":395138,"line_start":63,"line_end":63,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395149,"byte_end":395165,"line_start":63,"line_end":63,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395182,"byte_end":395194,"line_start":65,"line_end":65,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":268437396}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395224,"byte_end":395228,"line_start":66,"line_end":66,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2013267860}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395229,"byte_end":395234,"line_start":66,"line_end":66,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3682}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395256,"byte_end":395258,"line_start":68,"line_end":68,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395259,"byte_end":395263,"line_start":68,"line_end":68,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395275,"byte_end":395278,"line_start":68,"line_end":68,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395264,"byte_end":395273,"line_start":68,"line_end":68,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395282,"byte_end":395290,"line_start":68,"line_end":68,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3825207188}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395292,"byte_end":395302,"line_start":68,"line_end":68,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1073743764}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395303,"byte_end":395314,"line_start":68,"line_end":68,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395363,"byte_end":395371,"line_start":71,"line_end":71,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1943}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395373,"byte_end":395383,"line_start":71,"line_end":71,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":1073743764}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395385,"byte_end":395391,"line_start":71,"line_end":71,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1342179220}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395474,"byte_end":395483,"line_start":74,"line_end":74,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395465,"byte_end":395473,"line_start":74,"line_end":74,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3523217300}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395484,"byte_end":395490,"line_start":74,"line_end":74,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":1342179220}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395444,"byte_end":395448,"line_start":74,"line_end":74,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395509,"byte_end":395513,"line_start":75,"line_end":75,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1912604564}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395517,"byte_end":395520,"line_start":75,"line_end":75,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":536872852}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395546,"byte_end":395548,"line_start":76,"line_end":76,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395549,"byte_end":395553,"line_start":76,"line_end":76,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395559,"byte_end":395564,"line_start":76,"line_end":76,"column_start":37,"column_end":42},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395554,"byte_end":395558,"line_start":76,"line_end":76,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4060088212}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395634,"byte_end":395643,"line_start":81,"line_end":81,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":1610614676}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395658,"byte_end":395660,"line_start":82,"line_end":82,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395661,"byte_end":395665,"line_start":82,"line_end":82,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395672,"byte_end":395678,"line_start":82,"line_end":82,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395680,"byte_end":395690,"line_start":82,"line_end":82,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1073743764}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395692,"byte_end":395698,"line_start":82,"line_end":82,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1342179220}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395700,"byte_end":395703,"line_start":82,"line_end":82,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":536872852}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395737,"byte_end":395739,"line_start":84,"line_end":84,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395740,"byte_end":395744,"line_start":84,"line_end":84,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395846,"byte_end":395855,"line_start":89,"line_end":89,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395870,"byte_end":395882,"line_start":89,"line_end":89,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3292}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395896,"byte_end":395909,"line_start":90,"line_end":90,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395932,"byte_end":395935,"line_start":90,"line_end":90,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395919,"byte_end":395929,"line_start":90,"line_end":90,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395912,"byte_end":395918,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872853}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395999,"byte_end":396005,"line_start":91,"line_end":91,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395985,"byte_end":395996,"line_start":91,"line_end":91,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395978,"byte_end":395984,"line_start":91,"line_end":91,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872853}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396016,"byte_end":396028,"line_start":91,"line_end":91,"column_start":67,"column_end":79},"ref_id":{"krate":0,"index":3292}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396127,"byte_end":396130,"line_start":93,"line_end":93,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396118,"byte_end":396124,"line_start":93,"line_end":93,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396104,"byte_end":396115,"line_start":93,"line_end":93,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396097,"byte_end":396103,"line_start":93,"line_end":93,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872853}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396131,"byte_end":396144,"line_start":93,"line_end":93,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396163,"byte_end":396175,"line_start":93,"line_end":93,"column_start":95,"column_end":107},"ref_id":{"krate":0,"index":3292}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396251,"byte_end":396260,"line_start":98,"line_end":98,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396276,"byte_end":396285,"line_start":98,"line_end":98,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396337,"byte_end":396347,"line_start":100,"line_end":100,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396330,"byte_end":396336,"line_start":100,"line_end":100,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872855}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396348,"byte_end":396358,"line_start":100,"line_end":100,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396359,"byte_end":396370,"line_start":100,"line_end":100,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396372,"byte_end":396376,"line_start":100,"line_end":100,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396387,"byte_end":396403,"line_start":100,"line_end":100,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396432,"byte_end":396436,"line_start":102,"line_end":102,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":402655127}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396437,"byte_end":396442,"line_start":102,"line_end":102,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396485,"byte_end":396499,"line_start":104,"line_end":104,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1649}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396467,"byte_end":396476,"line_start":104,"line_end":104,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396456,"byte_end":396466,"line_start":104,"line_end":104,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396477,"byte_end":396483,"line_start":104,"line_end":104,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872855}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396528,"byte_end":396532,"line_start":105,"line_end":105,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396551,"byte_end":396558,"line_start":106,"line_end":106,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3312}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396560,"byte_end":396564,"line_start":106,"line_end":106,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396582,"byte_end":396587,"line_start":107,"line_end":107,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3311}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396608,"byte_end":396612,"line_start":108,"line_end":108,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3313}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396614,"byte_end":396618,"line_start":108,"line_end":108,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396636,"byte_end":396639,"line_start":109,"line_end":109,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3314}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396652,"byte_end":396657,"line_start":109,"line_end":109,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396641,"byte_end":396651,"line_start":109,"line_end":109,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396677,"byte_end":396685,"line_start":110,"line_end":110,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3315}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396677,"byte_end":396685,"line_start":110,"line_end":110,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":2013267863}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396779,"byte_end":396787,"line_start":114,"line_end":114,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1934}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396741,"byte_end":396748,"line_start":114,"line_end":114,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1941}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396749,"byte_end":396759,"line_start":114,"line_end":114,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396760,"byte_end":396769,"line_start":114,"line_end":114,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396771,"byte_end":396777,"line_start":114,"line_end":114,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872855}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396829,"byte_end":396832,"line_start":116,"line_end":116,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396818,"byte_end":396827,"line_start":116,"line_end":116,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396833,"byte_end":396842,"line_start":116,"line_end":116,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":4060088215}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396853,"byte_end":396861,"line_start":116,"line_end":116,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":2013267863}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396863,"byte_end":396873,"line_start":116,"line_end":116,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396874,"byte_end":396885,"line_start":116,"line_end":116,"column_start":83,"column_end":94},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396932,"byte_end":396941,"line_start":117,"line_end":117,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396920,"byte_end":396931,"line_start":117,"line_end":117,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":2248148887}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396942,"byte_end":396948,"line_start":117,"line_end":117,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536872855}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396960,"byte_end":396964,"line_start":119,"line_end":119,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396979,"byte_end":396986,"line_start":120,"line_end":120,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3312}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396988,"byte_end":396992,"line_start":120,"line_end":120,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397006,"byte_end":397011,"line_start":121,"line_end":121,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3311}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397028,"byte_end":397032,"line_start":122,"line_end":122,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3313}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397034,"byte_end":397038,"line_start":122,"line_end":122,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397049,"byte_end":397052,"line_start":122,"line_end":122,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1937}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397039,"byte_end":397047,"line_start":122,"line_end":122,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3297}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397071,"byte_end":397078,"line_start":122,"line_end":122,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":1659}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397053,"byte_end":397070,"line_start":122,"line_end":122,"column_start":38,"column_end":55},"ref_id":{"krate":0,"index":1442842519}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397079,"byte_end":397085,"line_start":122,"line_end":122,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872855}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397088,"byte_end":397099,"line_start":122,"line_end":122,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":2248148887}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397100,"byte_end":397109,"line_start":122,"line_end":122,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397126,"byte_end":397129,"line_start":123,"line_end":123,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3314}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397142,"byte_end":397147,"line_start":123,"line_end":123,"column_start":29,"column_end":34},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397131,"byte_end":397141,"line_start":123,"line_end":123,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":1073743767}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397163,"byte_end":397171,"line_start":124,"line_end":124,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3315}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397163,"byte_end":397171,"line_start":124,"line_end":124,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":2013267863}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397257,"byte_end":397266,"line_start":129,"line_end":129,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397271,"byte_end":397277,"line_start":129,"line_end":129,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397290,"byte_end":397299,"line_start":129,"line_end":129,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397316,"byte_end":397320,"line_start":131,"line_end":131,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397321,"byte_end":397326,"line_start":131,"line_end":131,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3311}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397334,"byte_end":397337,"line_start":131,"line_end":131,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397368,"byte_end":397372,"line_start":132,"line_end":132,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397407,"byte_end":397411,"line_start":135,"line_end":135,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397412,"byte_end":397416,"line_start":135,"line_end":135,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3313}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397431,"byte_end":397435,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397431,"byte_end":397435,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397464,"byte_end":397468,"line_start":138,"line_end":138,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397469,"byte_end":397474,"line_start":138,"line_end":138,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3311}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397504,"byte_end":397508,"line_start":140,"line_end":140,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397509,"byte_end":397516,"line_start":140,"line_end":140,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3312}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397539,"byte_end":397543,"line_start":141,"line_end":141,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397539,"byte_end":397543,"line_start":141,"line_end":141,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397637,"byte_end":397640,"line_start":142,"line_end":142,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397626,"byte_end":397635,"line_start":142,"line_end":142,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397641,"byte_end":397648,"line_start":142,"line_end":142,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":1409288088}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397649,"byte_end":397658,"line_start":142,"line_end":142,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3300}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397660,"byte_end":397664,"line_start":142,"line_end":142,"column_start":78,"column_end":82},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397665,"byte_end":397673,"line_start":142,"line_end":142,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":3315}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397675,"byte_end":397679,"line_start":142,"line_end":142,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397680,"byte_end":397683,"line_start":142,"line_end":142,"column_start":98,"column_end":101},"ref_id":{"krate":0,"index":3314}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397684,"byte_end":397695,"line_start":142,"line_end":142,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397755,"byte_end":397764,"line_start":143,"line_end":143,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397742,"byte_end":397754,"line_start":143,"line_end":143,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2080376728}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397765,"byte_end":397771,"line_start":143,"line_end":143,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":536872856}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397829,"byte_end":397842,"line_start":144,"line_end":144,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1651}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397815,"byte_end":397828,"line_start":144,"line_end":144,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":3791652760}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397882,"byte_end":397892,"line_start":145,"line_end":145,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":2315257752}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397958,"byte_end":397962,"line_start":146,"line_end":146,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398060,"byte_end":398063,"line_start":148,"line_end":148,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398049,"byte_end":398058,"line_start":148,"line_end":148,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398064,"byte_end":398074,"line_start":148,"line_end":148,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":2315257752}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398076,"byte_end":398080,"line_start":148,"line_end":148,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398081,"byte_end":398089,"line_start":148,"line_end":148,"column_start":85,"column_end":93},"ref_id":{"krate":0,"index":3315}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398091,"byte_end":398095,"line_start":148,"line_end":148,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398096,"byte_end":398099,"line_start":148,"line_end":148,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":3314}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398100,"byte_end":398111,"line_start":148,"line_end":148,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398183,"byte_end":398192,"line_start":149,"line_end":149,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398165,"byte_end":398182,"line_start":149,"line_end":149,"column_start":52,"column_end":69},"ref_id":{"krate":0,"index":3053455256}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398193,"byte_end":398199,"line_start":149,"line_end":149,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":536872856}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398257,"byte_end":398264,"line_start":150,"line_end":150,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":1659}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398240,"byte_end":398256,"line_start":150,"line_end":150,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":1845495704}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398265,"byte_end":398271,"line_start":150,"line_end":150,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872856}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398317,"byte_end":398321,"line_start":151,"line_end":151,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398322,"byte_end":398330,"line_start":151,"line_end":151,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":3297}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398333,"byte_end":398342,"line_start":151,"line_end":151,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3300}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398344,"byte_end":398354,"line_start":151,"line_end":151,"column_start":71,"column_end":81},"ref_id":{"krate":0,"index":2315257752}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398356,"byte_end":398359,"line_start":151,"line_end":151,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3299}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398361,"byte_end":398364,"line_start":151,"line_end":151,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4261414808}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398302,"byte_end":398306,"line_start":151,"line_end":151,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398307,"byte_end":398314,"line_start":151,"line_end":151,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3312}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398404,"byte_end":398408,"line_start":152,"line_end":152,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398410,"byte_end":398413,"line_start":152,"line_end":152,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":4261414808}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398415,"byte_end":398432,"line_start":152,"line_end":152,"column_start":47,"column_end":64},"ref_id":{"krate":0,"index":3053455256}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398504,"byte_end":398508,"line_start":155,"line_end":155,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398504,"byte_end":398508,"line_start":155,"line_end":155,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398582,"byte_end":398586,"line_start":156,"line_end":156,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398592,"byte_end":398597,"line_start":156,"line_end":156,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398587,"byte_end":398591,"line_start":156,"line_end":156,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3087009688}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398567,"byte_end":398571,"line_start":156,"line_end":156,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398572,"byte_end":398579,"line_start":156,"line_end":156,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3312}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398633,"byte_end":398637,"line_start":157,"line_end":157,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398639,"byte_end":398643,"line_start":157,"line_end":157,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3087009688}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398644,"byte_end":398647,"line_start":157,"line_end":157,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3299}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398660,"byte_end":398663,"line_start":157,"line_end":157,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398649,"byte_end":398658,"line_start":157,"line_end":157,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398664,"byte_end":398668,"line_start":157,"line_end":157,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":3087009688}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398669,"byte_end":398678,"line_start":157,"line_end":157,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3300}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398680,"byte_end":398684,"line_start":157,"line_end":157,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398685,"byte_end":398693,"line_start":157,"line_end":157,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3315}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398695,"byte_end":398699,"line_start":157,"line_end":157,"column_start":94,"column_end":98},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398700,"byte_end":398703,"line_start":157,"line_end":157,"column_start":99,"column_end":102},"ref_id":{"krate":0,"index":3314}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398704,"byte_end":398715,"line_start":157,"line_end":157,"column_start":103,"column_end":114},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398786,"byte_end":398790,"line_start":161,"line_end":161,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398786,"byte_end":398790,"line_start":161,"line_end":161,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398801,"byte_end":398805,"line_start":161,"line_end":161,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398878,"byte_end":398887,"line_start":168,"line_end":168,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398898,"byte_end":398907,"line_start":168,"line_end":168,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398923,"byte_end":398929,"line_start":168,"line_end":168,"column_start":77,"column_end":83},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398930,"byte_end":398939,"line_start":168,"line_end":168,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398941,"byte_end":398949,"line_start":168,"line_end":168,"column_start":95,"column_end":103},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398993,"byte_end":399003,"line_start":170,"line_end":170,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398986,"byte_end":398992,"line_start":170,"line_end":170,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872857}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399004,"byte_end":399014,"line_start":170,"line_end":170,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399015,"byte_end":399026,"line_start":170,"line_end":170,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399028,"byte_end":399032,"line_start":170,"line_end":170,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399043,"byte_end":399059,"line_start":170,"line_end":170,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399088,"byte_end":399092,"line_start":172,"line_end":172,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1476396953}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399093,"byte_end":399098,"line_start":172,"line_end":172,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399116,"byte_end":399119,"line_start":174,"line_end":174,"column_start":16,"column_end":19},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399112,"byte_end":399115,"line_start":174,"line_end":174,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":1610614681}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399150,"byte_end":399153,"line_start":175,"line_end":175,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399164,"byte_end":399167,"line_start":175,"line_end":175,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399154,"byte_end":399162,"line_start":175,"line_end":175,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399273,"byte_end":399282,"line_start":178,"line_end":178,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399262,"byte_end":399272,"line_start":178,"line_end":178,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399283,"byte_end":399289,"line_start":178,"line_end":178,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399332,"byte_end":399345,"line_start":180,"line_end":180,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399325,"byte_end":399331,"line_start":180,"line_end":180,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399396,"byte_end":399399,"line_start":181,"line_end":181,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399385,"byte_end":399394,"line_start":181,"line_end":181,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399400,"byte_end":399415,"line_start":181,"line_end":181,"column_start":41,"column_end":56},"ref_id":{"krate":0,"index":2046822297}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399417,"byte_end":399425,"line_start":181,"line_end":181,"column_start":58,"column_end":66},"ref_id":{"krate":0,"index":67110809}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399427,"byte_end":399437,"line_start":181,"line_end":181,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399438,"byte_end":399449,"line_start":181,"line_end":181,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399507,"byte_end":399520,"line_start":184,"line_end":184,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399500,"byte_end":399506,"line_start":184,"line_end":184,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399527,"byte_end":399530,"line_start":184,"line_end":184,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399523,"byte_end":399526,"line_start":184,"line_end":184,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":1610614681}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399558,"byte_end":399571,"line_start":185,"line_end":185,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399551,"byte_end":399557,"line_start":185,"line_end":185,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399576,"byte_end":399584,"line_start":185,"line_end":185,"column_start":34,"column_end":42},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399572,"byte_end":399575,"line_start":185,"line_end":185,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":1610614681}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399631,"byte_end":399643,"line_start":186,"line_end":186,"column_start":42,"column_end":54},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399609,"byte_end":399622,"line_start":186,"line_end":186,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399598,"byte_end":399608,"line_start":186,"line_end":186,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3053455257}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399623,"byte_end":399629,"line_start":186,"line_end":186,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872857}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399644,"byte_end":399657,"line_start":186,"line_end":186,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":2969569177}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399699,"byte_end":399713,"line_start":188,"line_end":188,"column_start":32,"column_end":46},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399687,"byte_end":399696,"line_start":188,"line_end":188,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1107298201}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399809,"byte_end":399823,"line_start":191,"line_end":191,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399787,"byte_end":399800,"line_start":191,"line_end":191,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399776,"byte_end":399786,"line_start":191,"line_end":191,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399801,"byte_end":399807,"line_start":191,"line_end":191,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872857}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399824,"byte_end":399839,"line_start":191,"line_end":191,"column_start":57,"column_end":72},"ref_id":{"krate":0,"index":2046822297}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399861,"byte_end":399865,"line_start":193,"line_end":193,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4244637593}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399954,"byte_end":399967,"line_start":194,"line_end":194,"column_start":46,"column_end":59},"ref_id":{"krate":0,"index":1652}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399932,"byte_end":399945,"line_start":194,"line_end":194,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399921,"byte_end":399931,"line_start":194,"line_end":194,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3053455257}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399946,"byte_end":399952,"line_start":194,"line_end":194,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536872857}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399968,"byte_end":399972,"line_start":194,"line_end":194,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":4244637593}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400001,"byte_end":400003,"line_start":197,"line_end":197,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400004,"byte_end":400014,"line_start":197,"line_end":197,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3053455257}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400039,"byte_end":400047,"line_start":202,"line_end":202,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400115,"byte_end":400124,"line_start":204,"line_end":204,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400142,"byte_end":400151,"line_start":204,"line_end":204,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400156,"byte_end":400163,"line_start":204,"line_end":204,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400200,"byte_end":400209,"line_start":205,"line_end":205,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400193,"byte_end":400199,"line_start":205,"line_end":205,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872862}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400210,"byte_end":400216,"line_start":205,"line_end":205,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614686}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400243,"byte_end":400257,"line_start":207,"line_end":207,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400233,"byte_end":400240,"line_start":207,"line_end":207,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961502}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400295,"byte_end":400299,"line_start":208,"line_end":208,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400286,"byte_end":400293,"line_start":208,"line_end":208,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400345,"byte_end":400348,"line_start":211,"line_end":211,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400338,"byte_end":400343,"line_start":211,"line_end":211,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400388,"byte_end":400396,"line_start":213,"line_end":213,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":1943}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400380,"byte_end":400386,"line_start":213,"line_end":213,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400398,"byte_end":400404,"line_start":213,"line_end":213,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":536872862}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400406,"byte_end":400412,"line_start":213,"line_end":213,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1610614686}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400462,"byte_end":400471,"line_start":215,"line_end":215,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400454,"byte_end":400460,"line_start":215,"line_end":215,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400477,"byte_end":400485,"line_start":215,"line_end":215,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":469763998}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400487,"byte_end":400493,"line_start":215,"line_end":215,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1610614686}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400434,"byte_end":400438,"line_start":215,"line_end":215,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400518,"byte_end":400524,"line_start":216,"line_end":216,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400509,"byte_end":400517,"line_start":216,"line_end":216,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1409288094}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400533,"byte_end":400537,"line_start":216,"line_end":216,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400525,"byte_end":400531,"line_start":216,"line_end":216,"column_start":29,"column_end":35},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400538,"byte_end":400541,"line_start":216,"line_end":216,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3690989470}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400555,"byte_end":400566,"line_start":216,"line_end":216,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400544,"byte_end":400553,"line_start":216,"line_end":216,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400567,"byte_end":400572,"line_start":216,"line_end":216,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743774}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400579,"byte_end":400583,"line_start":216,"line_end":216,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":1006634910}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400585,"byte_end":400591,"line_start":216,"line_end":216,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":1610614686}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400628,"byte_end":400638,"line_start":219,"line_end":219,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400619,"byte_end":400626,"line_start":219,"line_end":219,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400639,"byte_end":400647,"line_start":219,"line_end":219,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":1409288094}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400824,"byte_end":400829,"line_start":222,"line_end":222,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400723,"byte_end":400732,"line_start":222,"line_end":222,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400748,"byte_end":400757,"line_start":222,"line_end":222,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400767,"byte_end":400770,"line_start":222,"line_end":222,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400771,"byte_end":400778,"line_start":222,"line_end":222,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400784,"byte_end":400790,"line_start":222,"line_end":222,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400795,"byte_end":400803,"line_start":222,"line_end":222,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400858,"byte_end":400863,"line_start":224,"line_end":224,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179232}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400887,"byte_end":400897,"line_start":225,"line_end":225,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400878,"byte_end":400885,"line_start":225,"line_end":225,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400887,"byte_end":400897,"line_start":225,"line_end":225,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400878,"byte_end":400885,"line_start":225,"line_end":225,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400960,"byte_end":400964,"line_start":226,"line_end":226,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400944,"byte_end":400952,"line_start":226,"line_end":226,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":1207961504}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400953,"byte_end":400959,"line_start":226,"line_end":226,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3723}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401003,"byte_end":401009,"line_start":227,"line_end":227,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1940}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400995,"byte_end":401001,"line_start":227,"line_end":227,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401010,"byte_end":401016,"line_start":227,"line_end":227,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610614688}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401019,"byte_end":401026,"line_start":227,"line_end":227,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":1476396960}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401043,"byte_end":401049,"line_start":227,"line_end":227,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":268437408}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401078,"byte_end":401082,"line_start":228,"line_end":228,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401078,"byte_end":401082,"line_start":228,"line_end":228,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401134,"byte_end":401147,"line_start":229,"line_end":229,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401123,"byte_end":401132,"line_start":229,"line_end":229,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401148,"byte_end":401153,"line_start":229,"line_end":229,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743776}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401159,"byte_end":401169,"line_start":229,"line_end":229,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536872864}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401171,"byte_end":401176,"line_start":229,"line_end":229,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1107298208}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401178,"byte_end":401184,"line_start":229,"line_end":229,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":268437408}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401192,"byte_end":401195,"line_start":229,"line_end":229,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401187,"byte_end":401190,"line_start":229,"line_end":229,"column_start":93,"column_end":96},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401206,"byte_end":401211,"line_start":229,"line_end":229,"column_start":112,"column_end":117},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401196,"byte_end":401203,"line_start":229,"line_end":229,"column_start":102,"column_end":109},"ref_id":{"krate":0,"index":1476396960}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401269,"byte_end":401273,"line_start":231,"line_end":231,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401269,"byte_end":401273,"line_start":231,"line_end":231,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401380,"byte_end":401382,"line_start":238,"line_end":238,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401429,"byte_end":401440,"line_start":241,"line_end":241,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401465,"byte_end":401468,"line_start":241,"line_end":241,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401452,"byte_end":401463,"line_start":241,"line_end":241,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401517,"byte_end":401528,"line_start":242,"line_end":242,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401553,"byte_end":401556,"line_start":242,"line_end":242,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401540,"byte_end":401551,"line_start":242,"line_end":242,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401596,"byte_end":401599,"line_start":244,"line_end":244,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401600,"byte_end":401616,"line_start":244,"line_end":244,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401637,"byte_end":401643,"line_start":244,"line_end":244,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401644,"byte_end":401651,"line_start":244,"line_end":244,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401653,"byte_end":401661,"line_start":244,"line_end":244,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401702,"byte_end":401705,"line_start":245,"line_end":245,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401695,"byte_end":401700,"line_start":245,"line_end":245,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401729,"byte_end":401735,"line_start":246,"line_end":246,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401717,"byte_end":401728,"line_start":246,"line_end":246,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308324}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401743,"byte_end":401751,"line_start":246,"line_end":246,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401764,"byte_end":401770,"line_start":246,"line_end":246,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401755,"byte_end":401762,"line_start":246,"line_end":246,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401790,"byte_end":401799,"line_start":246,"line_end":246,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401777,"byte_end":401785,"line_start":246,"line_end":246,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401838,"byte_end":401844,"line_start":248,"line_end":248,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743780}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401845,"byte_end":401852,"line_start":248,"line_end":248,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872868}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401854,"byte_end":401858,"line_start":248,"line_end":248,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401869,"byte_end":401885,"line_start":248,"line_end":248,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401914,"byte_end":401918,"line_start":250,"line_end":250,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1275070372}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401919,"byte_end":401924,"line_start":250,"line_end":250,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401947,"byte_end":401953,"line_start":252,"line_end":252,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401935,"byte_end":401946,"line_start":252,"line_end":252,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308324}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401962,"byte_end":401970,"line_start":252,"line_end":252,"column_start":36,"column_end":44},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401985,"byte_end":401998,"line_start":252,"line_end":252,"column_start":59,"column_end":72},"ref_id":{"krate":0,"index":2470}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401974,"byte_end":401983,"line_start":252,"line_end":252,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401999,"byte_end":402005,"line_start":252,"line_end":252,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":1073743780}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402007,"byte_end":402015,"line_start":252,"line_end":252,"column_start":81,"column_end":89},"ref_id":{"krate":0,"index":469764004}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402029,"byte_end":402031,"line_start":254,"line_end":254,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402041,"byte_end":402051,"line_start":254,"line_end":254,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402032,"byte_end":402039,"line_start":254,"line_end":254,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402052,"byte_end":402063,"line_start":254,"line_end":254,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308324}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402111,"byte_end":402120,"line_start":257,"line_end":257,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402138,"byte_end":402147,"line_start":257,"line_end":257,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402152,"byte_end":402158,"line_start":257,"line_end":257,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402166,"byte_end":402174,"line_start":257,"line_end":257,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402213,"byte_end":402222,"line_start":259,"line_end":259,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402206,"byte_end":402212,"line_start":259,"line_end":259,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872869}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402223,"byte_end":402229,"line_start":259,"line_end":259,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402256,"byte_end":402270,"line_start":261,"line_end":261,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402246,"byte_end":402253,"line_start":261,"line_end":261,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961509}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402299,"byte_end":402301,"line_start":262,"line_end":262,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402386,"byte_end":402394,"line_start":267,"line_end":267,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1943}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402396,"byte_end":402402,"line_start":267,"line_end":267,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872869}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402404,"byte_end":402410,"line_start":267,"line_end":267,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402461,"byte_end":402470,"line_start":269,"line_end":269,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402476,"byte_end":402484,"line_start":269,"line_end":269,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":738199461}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402486,"byte_end":402492,"line_start":269,"line_end":269,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402432,"byte_end":402436,"line_start":269,"line_end":269,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402546,"byte_end":402558,"line_start":270,"line_end":270,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":1661}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402528,"byte_end":402537,"line_start":270,"line_end":270,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402523,"byte_end":402527,"line_start":270,"line_end":270,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":469764005}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402538,"byte_end":402544,"line_start":270,"line_end":270,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402559,"byte_end":402565,"line_start":270,"line_end":270,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402580,"byte_end":402588,"line_start":271,"line_end":271,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207205}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402634,"byte_end":402642,"line_start":272,"line_end":272,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":1241515941}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402622,"byte_end":402630,"line_start":272,"line_end":272,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207205}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402679,"byte_end":402688,"line_start":273,"line_end":273,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402668,"byte_end":402677,"line_start":273,"line_end":273,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402689,"byte_end":402694,"line_start":273,"line_end":273,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073743781}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402701,"byte_end":402705,"line_start":273,"line_end":273,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":469764005}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402707,"byte_end":402713,"line_start":273,"line_end":273,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614693}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402656,"byte_end":402664,"line_start":273,"line_end":273,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207205}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402737,"byte_end":402739,"line_start":277,"line_end":277,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402740,"byte_end":402748,"line_start":277,"line_end":277,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207205}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402954,"byte_end":402959,"line_start":283,"line_end":283,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402807,"byte_end":402816,"line_start":283,"line_end":283,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402839,"byte_end":402848,"line_start":283,"line_end":283,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402861,"byte_end":402870,"line_start":283,"line_end":283,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402891,"byte_end":402900,"line_start":283,"line_end":283,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402905,"byte_end":402911,"line_start":283,"line_end":283,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402912,"byte_end":402921,"line_start":283,"line_end":283,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402923,"byte_end":402931,"line_start":283,"line_end":283,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403000,"byte_end":403009,"line_start":285,"line_end":285,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402988,"byte_end":402999,"line_start":285,"line_end":285,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872871}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403010,"byte_end":403021,"line_start":285,"line_end":285,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614695}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403047,"byte_end":403061,"line_start":287,"line_end":287,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403036,"byte_end":403046,"line_start":287,"line_end":287,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445159}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403090,"byte_end":403092,"line_start":288,"line_end":288,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403093,"byte_end":403102,"line_start":288,"line_end":288,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437415}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403149,"byte_end":403157,"line_start":291,"line_end":291,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1943}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403159,"byte_end":403170,"line_start":291,"line_end":291,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":536872871}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403172,"byte_end":403183,"line_start":291,"line_end":291,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":1610614695}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403231,"byte_end":403240,"line_start":293,"line_end":293,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403246,"byte_end":403254,"line_start":293,"line_end":293,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":2348812199}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403256,"byte_end":403267,"line_start":293,"line_end":293,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":1610614695}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403205,"byte_end":403209,"line_start":293,"line_end":293,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403304,"byte_end":403310,"line_start":294,"line_end":294,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403312,"byte_end":403321,"line_start":294,"line_end":294,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":268437415}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403323,"byte_end":403332,"line_start":294,"line_end":294,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1342179239}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403334,"byte_end":403337,"line_start":294,"line_end":294,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":738199463}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403364,"byte_end":403371,"line_start":295,"line_end":295,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403353,"byte_end":403362,"line_start":295,"line_end":295,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403372,"byte_end":403377,"line_start":295,"line_end":295,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1073743783}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403388,"byte_end":403393,"line_start":295,"line_end":295,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403383,"byte_end":403387,"line_start":295,"line_end":295,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2885683111}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403397,"byte_end":403408,"line_start":295,"line_end":295,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":1610614695}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403410,"byte_end":403418,"line_start":295,"line_end":295,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":2248148903}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403420,"byte_end":403429,"line_start":295,"line_end":295,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":1342179239}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403457,"byte_end":403459,"line_start":299,"line_end":299,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403460,"byte_end":403469,"line_start":299,"line_end":299,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437415}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403508,"byte_end":403511,"line_start":302,"line_end":302,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403512,"byte_end":403528,"line_start":302,"line_end":302,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403549,"byte_end":403555,"line_start":302,"line_end":302,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403556,"byte_end":403562,"line_start":302,"line_end":302,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403564,"byte_end":403572,"line_start":302,"line_end":302,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403608,"byte_end":403614,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743784}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403615,"byte_end":403622,"line_start":303,"line_end":303,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872872}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403624,"byte_end":403628,"line_start":303,"line_end":303,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403639,"byte_end":403655,"line_start":303,"line_end":303,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3681}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403694,"byte_end":403698,"line_start":305,"line_end":305,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403686,"byte_end":403692,"line_start":305,"line_end":305,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403731,"byte_end":403739,"line_start":306,"line_end":306,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403724,"byte_end":403730,"line_start":306,"line_end":306,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751528}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403786,"byte_end":403792,"line_start":306,"line_end":306,"column_start":71,"column_end":77},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403751,"byte_end":403763,"line_start":306,"line_end":306,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2468}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403740,"byte_end":403749,"line_start":306,"line_end":306,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403765,"byte_end":403771,"line_start":306,"line_end":306,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073743784}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403773,"byte_end":403777,"line_start":306,"line_end":306,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1744832424}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403778,"byte_end":403783,"line_start":306,"line_end":306,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403812,"byte_end":403820,"line_start":307,"line_end":307,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403805,"byte_end":403811,"line_start":307,"line_end":307,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751528}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403836,"byte_end":403838,"line_start":308,"line_end":308,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403839,"byte_end":403845,"line_start":308,"line_end":308,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751528}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403902,"byte_end":403905,"line_start":312,"line_end":312,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403906,"byte_end":403922,"line_start":312,"line_end":312,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403944,"byte_end":403953,"line_start":312,"line_end":312,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403962,"byte_end":403965,"line_start":312,"line_end":312,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403966,"byte_end":403972,"line_start":312,"line_end":312,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403978,"byte_end":403984,"line_start":312,"line_end":312,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403992,"byte_end":403995,"line_start":312,"line_end":312,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404001,"byte_end":404004,"line_start":312,"line_end":312,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404005,"byte_end":404021,"line_start":312,"line_end":312,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404025,"byte_end":404033,"line_start":312,"line_end":312,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404066,"byte_end":404069,"line_start":313,"line_end":313,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404081,"byte_end":404084,"line_start":313,"line_end":313,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404076,"byte_end":404079,"line_start":313,"line_end":313,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404108,"byte_end":404112,"line_start":314,"line_end":314,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404096,"byte_end":404107,"line_start":314,"line_end":314,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671090601}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404126,"byte_end":404129,"line_start":314,"line_end":314,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404113,"byte_end":404124,"line_start":314,"line_end":314,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404180,"byte_end":404183,"line_start":317,"line_end":317,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404173,"byte_end":404179,"line_start":317,"line_end":317,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743785}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404202,"byte_end":404206,"line_start":318,"line_end":318,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404195,"byte_end":404201,"line_start":318,"line_end":318,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743785}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404207,"byte_end":404223,"line_start":318,"line_end":318,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404238,"byte_end":404241,"line_start":319,"line_end":319,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404258,"byte_end":404265,"line_start":319,"line_end":319,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404243,"byte_end":404256,"line_start":319,"line_end":319,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404279,"byte_end":404280,"line_start":320,"line_end":320,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404295,"byte_end":404298,"line_start":320,"line_end":320,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404282,"byte_end":404293,"line_start":320,"line_end":320,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404312,"byte_end":404320,"line_start":321,"line_end":321,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404341,"byte_end":404345,"line_start":322,"line_end":322,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404352,"byte_end":404355,"line_start":322,"line_end":322,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404347,"byte_end":404350,"line_start":322,"line_end":322,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404361,"byte_end":404369,"line_start":322,"line_end":322,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404356,"byte_end":404359,"line_start":322,"line_end":322,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404375,"byte_end":404378,"line_start":322,"line_end":322,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404370,"byte_end":404373,"line_start":322,"line_end":322,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404379,"byte_end":404395,"line_start":322,"line_end":322,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404398,"byte_end":404403,"line_start":322,"line_end":322,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404405,"byte_end":404415,"line_start":322,"line_end":322,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":1677723561}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404478,"byte_end":404484,"line_start":325,"line_end":325,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404486,"byte_end":404492,"line_start":325,"line_end":325,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404496,"byte_end":404500,"line_start":325,"line_end":325,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404519,"byte_end":404522,"line_start":327,"line_end":327,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404514,"byte_end":404518,"line_start":327,"line_end":327,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437417}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404550,"byte_end":404554,"line_start":328,"line_end":328,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437417}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404593,"byte_end":404603,"line_start":329,"line_end":329,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404584,"byte_end":404590,"line_start":329,"line_end":329,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404576,"byte_end":404582,"line_start":329,"line_end":329,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404651,"byte_end":404661,"line_start":330,"line_end":330,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3053455273}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404708,"byte_end":404712,"line_start":331,"line_end":331,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404695,"byte_end":404702,"line_start":331,"line_end":331,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404691,"byte_end":404694,"line_start":331,"line_end":331,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610614697}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404703,"byte_end":404706,"line_start":331,"line_end":331,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":1308624809}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404768,"byte_end":404772,"line_start":332,"line_end":332,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404773,"byte_end":404778,"line_start":332,"line_end":332,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3456108457}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404756,"byte_end":404765,"line_start":332,"line_end":332,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3120564137}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404924,"byte_end":404933,"line_start":340,"line_end":340,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3120564137}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404914,"byte_end":404918,"line_start":340,"line_end":340,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405041,"byte_end":405049,"line_start":342,"line_end":342,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405030,"byte_end":405039,"line_start":342,"line_end":342,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405050,"byte_end":405056,"line_start":342,"line_end":342,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1073743785}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405058,"byte_end":405061,"line_start":342,"line_end":342,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":1610614697}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405063,"byte_end":405064,"line_start":342,"line_end":342,"column_start":85,"column_end":86},"ref_id":{"krate":0,"index":4110419881}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405105,"byte_end":405111,"line_start":344,"line_end":344,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405093,"byte_end":405104,"line_start":344,"line_end":344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090601}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405112,"byte_end":405123,"line_start":344,"line_end":344,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":1258293161}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405139,"byte_end":405141,"line_start":346,"line_end":346,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405150,"byte_end":405161,"line_start":346,"line_end":346,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":671090601}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405163,"byte_end":405169,"line_start":346,"line_end":346,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3405776809}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405201,"byte_end":405204,"line_start":348,"line_end":348,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405215,"byte_end":405218,"line_start":348,"line_end":348,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405205,"byte_end":405213,"line_start":348,"line_end":348,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405311,"byte_end":405314,"line_start":352,"line_end":352,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405315,"byte_end":405331,"line_start":352,"line_end":352,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405348,"byte_end":405351,"line_start":352,"line_end":352,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405352,"byte_end":405359,"line_start":352,"line_end":352,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405365,"byte_end":405371,"line_start":352,"line_end":352,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405379,"byte_end":405382,"line_start":352,"line_end":352,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405388,"byte_end":405391,"line_start":352,"line_end":352,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405392,"byte_end":405408,"line_start":352,"line_end":352,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405412,"byte_end":405420,"line_start":352,"line_end":352,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405460,"byte_end":405463,"line_start":354,"line_end":354,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405475,"byte_end":405478,"line_start":354,"line_end":354,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405470,"byte_end":405473,"line_start":354,"line_end":354,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405502,"byte_end":405506,"line_start":355,"line_end":355,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405490,"byte_end":405501,"line_start":355,"line_end":355,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219690}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405520,"byte_end":405523,"line_start":355,"line_end":355,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405507,"byte_end":405518,"line_start":355,"line_end":355,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405565,"byte_end":405568,"line_start":357,"line_end":357,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405558,"byte_end":405564,"line_start":357,"line_end":357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405587,"byte_end":405591,"line_start":358,"line_end":358,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405580,"byte_end":405586,"line_start":358,"line_end":358,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405592,"byte_end":405608,"line_start":358,"line_end":358,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405623,"byte_end":405626,"line_start":359,"line_end":359,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405643,"byte_end":405650,"line_start":359,"line_end":359,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405628,"byte_end":405641,"line_start":359,"line_end":359,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405664,"byte_end":405665,"line_start":360,"line_end":360,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405680,"byte_end":405683,"line_start":360,"line_end":360,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405667,"byte_end":405678,"line_start":360,"line_end":360,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405697,"byte_end":405701,"line_start":361,"line_end":361,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405708,"byte_end":405711,"line_start":361,"line_end":361,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405703,"byte_end":405706,"line_start":361,"line_end":361,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405717,"byte_end":405725,"line_start":361,"line_end":361,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405712,"byte_end":405715,"line_start":361,"line_end":361,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405731,"byte_end":405734,"line_start":361,"line_end":361,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405726,"byte_end":405729,"line_start":361,"line_end":361,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405735,"byte_end":405751,"line_start":361,"line_end":361,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405754,"byte_end":405759,"line_start":361,"line_end":361,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405761,"byte_end":405771,"line_start":361,"line_end":361,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":1140852650}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405807,"byte_end":405815,"line_start":362,"line_end":362,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405850,"byte_end":405861,"line_start":365,"line_end":365,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536872874}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405894,"byte_end":405898,"line_start":366,"line_end":366,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405885,"byte_end":405892,"line_start":366,"line_end":366,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405894,"byte_end":405898,"line_start":366,"line_end":366,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405885,"byte_end":405892,"line_start":366,"line_end":366,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405927,"byte_end":405930,"line_start":367,"line_end":367,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405941,"byte_end":405944,"line_start":367,"line_end":367,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405931,"byte_end":405939,"line_start":367,"line_end":367,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406118,"byte_end":406127,"line_start":373,"line_end":373,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406107,"byte_end":406116,"line_start":373,"line_end":373,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406128,"byte_end":406134,"line_start":373,"line_end":373,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406142,"byte_end":406145,"line_start":373,"line_end":373,"column_start":83,"column_end":86},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406137,"byte_end":406140,"line_start":373,"line_end":373,"column_start":78,"column_end":81},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406167,"byte_end":406172,"line_start":373,"line_end":373,"column_start":108,"column_end":113},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406146,"byte_end":406157,"line_start":373,"line_end":373,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":536872874}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406208,"byte_end":406214,"line_start":375,"line_end":375,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406196,"byte_end":406207,"line_start":375,"line_end":375,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219690}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406215,"byte_end":406226,"line_start":375,"line_end":375,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":4043311018}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406245,"byte_end":406247,"line_start":377,"line_end":377,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406256,"byte_end":406267,"line_start":377,"line_end":377,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":134219690}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406269,"byte_end":406275,"line_start":377,"line_end":377,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":150996906}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406346,"byte_end":406349,"line_start":381,"line_end":381,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406350,"byte_end":406366,"line_start":381,"line_end":381,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406372,"byte_end":406378,"line_start":381,"line_end":381,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406395,"byte_end":406399,"line_start":382,"line_end":382,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406447,"byte_end":406450,"line_start":385,"line_end":385,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406451,"byte_end":406467,"line_start":385,"line_end":385,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406510,"byte_end":406513,"line_start":385,"line_end":385,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406514,"byte_end":406530,"line_start":385,"line_end":385,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406564,"byte_end":406567,"line_start":386,"line_end":386,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406557,"byte_end":406563,"line_start":386,"line_end":386,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743788}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406586,"byte_end":406590,"line_start":387,"line_end":387,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406579,"byte_end":406585,"line_start":387,"line_end":387,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743788}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406591,"byte_end":406607,"line_start":387,"line_end":387,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406622,"byte_end":406625,"line_start":388,"line_end":388,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406642,"byte_end":406649,"line_start":388,"line_end":388,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406627,"byte_end":406640,"line_start":388,"line_end":388,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406663,"byte_end":406664,"line_start":389,"line_end":389,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406679,"byte_end":406682,"line_start":389,"line_end":389,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406666,"byte_end":406677,"line_start":389,"line_end":389,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406696,"byte_end":406704,"line_start":390,"line_end":390,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406725,"byte_end":406729,"line_start":391,"line_end":391,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406736,"byte_end":406739,"line_start":391,"line_end":391,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406731,"byte_end":406734,"line_start":391,"line_end":391,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406745,"byte_end":406753,"line_start":391,"line_end":391,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406740,"byte_end":406743,"line_start":391,"line_end":391,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406759,"byte_end":406762,"line_start":391,"line_end":391,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406754,"byte_end":406757,"line_start":391,"line_end":391,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406763,"byte_end":406779,"line_start":391,"line_end":391,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406782,"byte_end":406787,"line_start":391,"line_end":391,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406789,"byte_end":406796,"line_start":391,"line_end":391,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":2952791980}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406876,"byte_end":406886,"line_start":393,"line_end":393,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406865,"byte_end":406874,"line_start":393,"line_end":393,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406887,"byte_end":406893,"line_start":393,"line_end":393,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1073743788}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406895,"byte_end":406902,"line_start":393,"line_end":393,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":536872876}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406908,"byte_end":406913,"line_start":393,"line_end":393,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1610614700}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406932,"byte_end":406938,"line_start":394,"line_end":394,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1375733676}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366855,"byte_end":366859,"line_start":8,"line_end":8,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1965}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409196,"byte_end":409201,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409204,"byte_end":409210,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409196,"byte_end":409201,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409220,"byte_end":409224,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409244,"byte_end":409247,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409244,"byte_end":409247,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409270,"byte_end":409276,"line_start":2,"line_end":2,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409270,"byte_end":409276,"line_start":2,"line_end":2,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2741}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409313,"byte_end":409318,"line_start":2,"line_end":2,"column_start":82,"column_end":87},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409342,"byte_end":409347,"line_start":3,"line_end":3,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409359,"byte_end":409368,"line_start":3,"line_end":3,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409359,"byte_end":409368,"line_start":3,"line_end":3,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409388,"byte_end":409394,"line_start":3,"line_end":3,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409409,"byte_end":409416,"line_start":3,"line_end":3,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409430,"byte_end":409437,"line_start":3,"line_end":3,"column_start":101,"column_end":108},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409452,"byte_end":409458,"line_start":3,"line_end":3,"column_start":123,"column_end":129},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409478,"byte_end":409484,"line_start":3,"line_end":3,"column_start":149,"column_end":155},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409478,"byte_end":409484,"line_start":3,"line_end":3,"column_start":149,"column_end":155},"ref_id":{"krate":0,"index":3386}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409518,"byte_end":409523,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409525,"byte_end":409531,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409546,"byte_end":409551,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409553,"byte_end":409558,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409569,"byte_end":409574,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409577,"byte_end":409580,"line_start":7,"line_end":7,"column_start":13,"column_end":16},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409590,"byte_end":409595,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409597,"byte_end":409603,"line_start":8,"line_end":8,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409714,"byte_end":409718,"line_start":16,"line_end":16,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3320}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409733,"byte_end":409737,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"ref_id":{"krate":0,"index":3319}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409885,"byte_end":409896,"line_start":24,"line_end":24,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409880,"byte_end":409884,"line_start":24,"line_end":24,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872948}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409868,"byte_end":409872,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743860}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409873,"byte_end":409877,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3320}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409977,"byte_end":409990,"line_start":28,"line_end":28,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409991,"byte_end":409995,"line_start":28,"line_end":28,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743861}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409996,"byte_end":410000,"line_start":28,"line_end":28,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3320}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410099,"byte_end":410110,"line_start":32,"line_end":32,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410094,"byte_end":410098,"line_start":32,"line_end":32,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872950}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410082,"byte_end":410086,"line_start":32,"line_end":32,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743862}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410087,"byte_end":410091,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410191,"byte_end":410204,"line_start":36,"line_end":36,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410205,"byte_end":410209,"line_start":36,"line_end":36,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743863}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410210,"byte_end":410214,"line_start":36,"line_end":36,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3328}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410430,"byte_end":410436,"line_start":52,"line_end":52,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410437,"byte_end":410446,"line_start":52,"line_end":52,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3326}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410462,"byte_end":410468,"line_start":53,"line_end":53,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410469,"byte_end":410478,"line_start":53,"line_end":53,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3326}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410527,"byte_end":410533,"line_start":56,"line_end":56,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410534,"byte_end":410543,"line_start":56,"line_end":56,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3326}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410556,"byte_end":410562,"line_start":57,"line_end":57,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410563,"byte_end":410572,"line_start":57,"line_end":57,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3326}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410628,"byte_end":410637,"line_start":60,"line_end":60,"column_start":11,"column_end":20},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410424,"byte_end":410428,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3339}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410453,"byte_end":410460,"line_start":53,"line_end":53,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3340}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410485,"byte_end":410490,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410503,"byte_end":410508,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3342}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410521,"byte_end":410525,"line_start":56,"line_end":56,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3343}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410550,"byte_end":410554,"line_start":57,"line_end":57,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3344}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410579,"byte_end":410588,"line_start":58,"line_end":58,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3345}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410600,"byte_end":410609,"line_start":59,"line_end":59,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410622,"byte_end":410626,"line_start":60,"line_end":60,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3347}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410734,"byte_end":410743,"line_start":68,"line_end":68,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410805,"byte_end":410814,"line_start":68,"line_end":68,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410819,"byte_end":410825,"line_start":68,"line_end":68,"column_start":117,"column_end":123},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410826,"byte_end":410832,"line_start":68,"line_end":68,"column_start":124,"column_end":130},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410841,"byte_end":410847,"line_start":68,"line_end":68,"column_start":139,"column_end":145},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410848,"byte_end":410857,"line_start":68,"line_end":68,"column_start":146,"column_end":155},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410862,"byte_end":410870,"line_start":68,"line_end":68,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410916,"byte_end":410925,"line_start":69,"line_end":69,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410904,"byte_end":410915,"line_start":69,"line_end":69,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410926,"byte_end":410932,"line_start":69,"line_end":69,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410949,"byte_end":410954,"line_start":71,"line_end":71,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410970,"byte_end":410972,"line_start":71,"line_end":71,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410973,"byte_end":410977,"line_start":71,"line_end":71,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411021,"byte_end":411031,"line_start":73,"line_end":73,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411014,"byte_end":411020,"line_start":73,"line_end":73,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411032,"byte_end":411043,"line_start":73,"line_end":73,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411044,"byte_end":411055,"line_start":73,"line_end":73,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411057,"byte_end":411061,"line_start":73,"line_end":73,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411072,"byte_end":411088,"line_start":73,"line_end":73,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411118,"byte_end":411122,"line_start":75,"line_end":75,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2617247737}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411123,"byte_end":411128,"line_start":75,"line_end":75,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411142,"byte_end":411154,"line_start":77,"line_end":77,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":268437497}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411176,"byte_end":411178,"line_start":78,"line_end":78,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411179,"byte_end":411183,"line_start":78,"line_end":78,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411185,"byte_end":411190,"line_start":78,"line_end":78,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411192,"byte_end":411196,"line_start":78,"line_end":78,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411208,"byte_end":411211,"line_start":78,"line_end":78,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411197,"byte_end":411206,"line_start":78,"line_end":78,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411215,"byte_end":411224,"line_start":78,"line_end":78,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411226,"byte_end":411237,"line_start":78,"line_end":78,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411238,"byte_end":411249,"line_start":78,"line_end":78,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411335,"byte_end":411349,"line_start":82,"line_end":82,"column_start":25,"column_end":39},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411322,"byte_end":411332,"line_start":82,"line_end":82,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1744832505}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411374,"byte_end":411383,"line_start":83,"line_end":83,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1610614777}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411408,"byte_end":411417,"line_start":84,"line_end":84,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":2052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411419,"byte_end":411430,"line_start":84,"line_end":84,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411432,"byte_end":411438,"line_start":84,"line_end":84,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411486,"byte_end":411488,"line_start":86,"line_end":86,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411489,"byte_end":411493,"line_start":86,"line_end":86,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411495,"byte_end":411500,"line_start":86,"line_end":86,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411502,"byte_end":411506,"line_start":86,"line_end":86,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411582,"byte_end":411590,"line_start":91,"line_end":91,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":2055}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411604,"byte_end":411618,"line_start":91,"line_end":91,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411591,"byte_end":411601,"line_start":91,"line_end":91,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1744832505}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411631,"byte_end":411637,"line_start":91,"line_end":91,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411697,"byte_end":411705,"line_start":95,"line_end":95,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411685,"byte_end":411694,"line_start":95,"line_end":95,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411756,"byte_end":411769,"line_start":96,"line_end":96,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411749,"byte_end":411755,"line_start":96,"line_end":96,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411844,"byte_end":411847,"line_start":97,"line_end":97,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411833,"byte_end":411842,"line_start":97,"line_end":97,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411848,"byte_end":411863,"line_start":97,"line_end":97,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":3405776889}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411865,"byte_end":411874,"line_start":97,"line_end":97,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411876,"byte_end":411887,"line_start":97,"line_end":97,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411888,"byte_end":411899,"line_start":97,"line_end":97,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411948,"byte_end":411961,"line_start":98,"line_end":98,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411937,"byte_end":411947,"line_start":98,"line_end":98,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1191184377}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411962,"byte_end":411968,"line_start":98,"line_end":98,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412000,"byte_end":412009,"line_start":99,"line_end":99,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411983,"byte_end":411999,"line_start":99,"line_end":99,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3607103481}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412010,"byte_end":412015,"line_start":99,"line_end":99,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412049,"byte_end":412057,"line_start":100,"line_end":100,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2036}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412037,"byte_end":412046,"line_start":100,"line_end":100,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412058,"byte_end":412073,"line_start":100,"line_end":100,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3405776889}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412107,"byte_end":412115,"line_start":101,"line_end":101,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412095,"byte_end":412104,"line_start":101,"line_end":101,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412116,"byte_end":412131,"line_start":101,"line_end":101,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3405776889}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412160,"byte_end":412162,"line_start":102,"line_end":102,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412163,"byte_end":412167,"line_start":102,"line_end":102,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412169,"byte_end":412174,"line_start":102,"line_end":102,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412176,"byte_end":412180,"line_start":102,"line_end":102,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412181,"byte_end":412191,"line_start":102,"line_end":102,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1191184377}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412246,"byte_end":412249,"line_start":106,"line_end":106,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412235,"byte_end":412244,"line_start":106,"line_end":106,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412262,"byte_end":412270,"line_start":106,"line_end":106,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412250,"byte_end":412259,"line_start":106,"line_end":106,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412283,"byte_end":412292,"line_start":106,"line_end":106,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412294,"byte_end":412305,"line_start":106,"line_end":106,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412306,"byte_end":412317,"line_start":106,"line_end":106,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412369,"byte_end":412378,"line_start":108,"line_end":108,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412351,"byte_end":412360,"line_start":108,"line_end":108,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412346,"byte_end":412350,"line_start":108,"line_end":108,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3430942713}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412361,"byte_end":412367,"line_start":108,"line_end":108,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412403,"byte_end":412413,"line_start":110,"line_end":110,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":2189428729}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412416,"byte_end":412421,"line_start":110,"line_end":110,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536872953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412508,"byte_end":412521,"line_start":111,"line_end":111,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412501,"byte_end":412507,"line_start":111,"line_end":111,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412596,"byte_end":412599,"line_start":112,"line_end":112,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412585,"byte_end":412594,"line_start":112,"line_end":112,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412600,"byte_end":412615,"line_start":112,"line_end":112,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":3330279417}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412617,"byte_end":412626,"line_start":112,"line_end":112,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412628,"byte_end":412639,"line_start":112,"line_end":112,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412640,"byte_end":412651,"line_start":112,"line_end":112,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412700,"byte_end":412713,"line_start":113,"line_end":113,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412689,"byte_end":412699,"line_start":113,"line_end":113,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1317013497}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412714,"byte_end":412720,"line_start":113,"line_end":113,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412752,"byte_end":412761,"line_start":114,"line_end":114,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412735,"byte_end":412751,"line_start":114,"line_end":114,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3732932601}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412762,"byte_end":412767,"line_start":114,"line_end":114,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412806,"byte_end":412819,"line_start":115,"line_end":115,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412789,"byte_end":412805,"line_start":115,"line_end":115,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3732932601}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412820,"byte_end":412824,"line_start":115,"line_end":115,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3430942713}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412825,"byte_end":412834,"line_start":115,"line_end":115,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412868,"byte_end":412876,"line_start":116,"line_end":116,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2036}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412856,"byte_end":412865,"line_start":116,"line_end":116,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412877,"byte_end":412892,"line_start":116,"line_end":116,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3330279417}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412921,"byte_end":412923,"line_start":117,"line_end":117,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412924,"byte_end":412928,"line_start":117,"line_end":117,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412930,"byte_end":412935,"line_start":117,"line_end":117,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412937,"byte_end":412941,"line_start":117,"line_end":117,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412942,"byte_end":412952,"line_start":117,"line_end":117,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1317013497}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412975,"byte_end":412985,"line_start":118,"line_end":118,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2189428729}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412989,"byte_end":412994,"line_start":118,"line_end":118,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413042,"byte_end":413044,"line_start":119,"line_end":119,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413045,"byte_end":413049,"line_start":119,"line_end":119,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413051,"byte_end":413056,"line_start":119,"line_end":119,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413058,"byte_end":413062,"line_start":119,"line_end":119,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413063,"byte_end":413067,"line_start":119,"line_end":119,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3430942713}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413164,"byte_end":413167,"line_start":123,"line_end":123,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413153,"byte_end":413162,"line_start":123,"line_end":123,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413180,"byte_end":413188,"line_start":123,"line_end":123,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413168,"byte_end":413177,"line_start":123,"line_end":123,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413201,"byte_end":413210,"line_start":123,"line_end":123,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413212,"byte_end":413223,"line_start":123,"line_end":123,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413224,"byte_end":413235,"line_start":123,"line_end":123,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413274,"byte_end":413287,"line_start":125,"line_end":125,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413269,"byte_end":413273,"line_start":125,"line_end":125,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3682600953}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413288,"byte_end":413294,"line_start":125,"line_end":125,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413337,"byte_end":413346,"line_start":126,"line_end":126,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413324,"byte_end":413334,"line_start":126,"line_end":126,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3883927545}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413371,"byte_end":413381,"line_start":128,"line_end":128,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1333790713}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413384,"byte_end":413389,"line_start":128,"line_end":128,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536872953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413457,"byte_end":413470,"line_start":129,"line_end":129,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413450,"byte_end":413456,"line_start":129,"line_end":129,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413545,"byte_end":413548,"line_start":130,"line_end":130,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413534,"byte_end":413543,"line_start":130,"line_end":130,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413549,"byte_end":413564,"line_start":130,"line_end":130,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":675284985}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413566,"byte_end":413575,"line_start":130,"line_end":130,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860473}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413577,"byte_end":413588,"line_start":130,"line_end":130,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413589,"byte_end":413600,"line_start":130,"line_end":130,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413649,"byte_end":413662,"line_start":131,"line_end":131,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413638,"byte_end":413648,"line_start":131,"line_end":131,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3292530681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413663,"byte_end":413669,"line_start":131,"line_end":131,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413701,"byte_end":413710,"line_start":132,"line_end":132,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413684,"byte_end":413700,"line_start":132,"line_end":132,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":876611577}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413711,"byte_end":413716,"line_start":132,"line_end":132,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413751,"byte_end":413764,"line_start":133,"line_end":133,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413738,"byte_end":413748,"line_start":133,"line_end":133,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3883927545}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413765,"byte_end":413780,"line_start":133,"line_end":133,"column_start":40,"column_end":55},"ref_id":{"krate":0,"index":675284985}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413814,"byte_end":413822,"line_start":134,"line_end":134,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413802,"byte_end":413811,"line_start":134,"line_end":134,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413823,"byte_end":413838,"line_start":134,"line_end":134,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":675284985}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413867,"byte_end":413869,"line_start":135,"line_end":135,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413870,"byte_end":413874,"line_start":135,"line_end":135,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413876,"byte_end":413881,"line_start":135,"line_end":135,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413883,"byte_end":413887,"line_start":135,"line_end":135,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413888,"byte_end":413898,"line_start":135,"line_end":135,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3292530681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413921,"byte_end":413931,"line_start":136,"line_end":136,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":1333790713}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413935,"byte_end":413940,"line_start":136,"line_end":136,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413988,"byte_end":413990,"line_start":137,"line_end":137,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413991,"byte_end":413995,"line_start":137,"line_end":137,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413997,"byte_end":414002,"line_start":137,"line_end":137,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414004,"byte_end":414008,"line_start":137,"line_end":137,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414009,"byte_end":414013,"line_start":137,"line_end":137,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3682600953}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414109,"byte_end":414117,"line_start":141,"line_end":141,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2057}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414119,"byte_end":414130,"line_start":141,"line_end":141,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":1073743865}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414132,"byte_end":414138,"line_start":141,"line_end":141,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414147,"byte_end":414157,"line_start":141,"line_end":141,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":2189428729}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414214,"byte_end":414223,"line_start":143,"line_end":143,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414229,"byte_end":414238,"line_start":143,"line_end":143,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":1363150841}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414240,"byte_end":414246,"line_start":143,"line_end":143,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414188,"byte_end":414192,"line_start":143,"line_end":143,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414265,"byte_end":414270,"line_start":144,"line_end":144,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":536872953}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414274,"byte_end":414277,"line_start":144,"line_end":144,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2973763577}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414324,"byte_end":414328,"line_start":145,"line_end":145,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1900021753}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414303,"byte_end":414307,"line_start":145,"line_end":145,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414379,"byte_end":414381,"line_start":146,"line_end":146,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414382,"byte_end":414386,"line_start":146,"line_end":146,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414388,"byte_end":414393,"line_start":146,"line_end":146,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414395,"byte_end":414399,"line_start":146,"line_end":146,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414400,"byte_end":414412,"line_start":146,"line_end":146,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":624953337}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414498,"byte_end":414500,"line_start":148,"line_end":148,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414501,"byte_end":414505,"line_start":148,"line_end":148,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414507,"byte_end":414512,"line_start":148,"line_end":148,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536872953}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414514,"byte_end":414518,"line_start":148,"line_end":148,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414529,"byte_end":414546,"line_start":148,"line_end":148,"column_start":59,"column_end":76},"ref_id":{"krate":0,"index":2048}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414519,"byte_end":414528,"line_start":148,"line_end":148,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1363150841}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414547,"byte_end":414553,"line_start":148,"line_end":148,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":1342179321}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414646,"byte_end":414649,"line_start":154,"line_end":154,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414660,"byte_end":414671,"line_start":154,"line_end":154,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414650,"byte_end":414658,"line_start":154,"line_end":154,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414747,"byte_end":414756,"line_start":159,"line_end":159,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414761,"byte_end":414767,"line_start":159,"line_end":159,"column_start":59,"column_end":65},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414768,"byte_end":414777,"line_start":159,"line_end":159,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414779,"byte_end":414787,"line_start":159,"line_end":159,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414827,"byte_end":414835,"line_start":161,"line_end":161,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":2055}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414864,"byte_end":414878,"line_start":161,"line_end":161,"column_start":73,"column_end":87},"ref_id":{"krate":0,"index":1649}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414846,"byte_end":414855,"line_start":161,"line_end":161,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414836,"byte_end":414840,"line_start":161,"line_end":161,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414841,"byte_end":414845,"line_start":161,"line_end":161,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414856,"byte_end":414862,"line_start":161,"line_end":161,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872960}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414891,"byte_end":414897,"line_start":161,"line_end":161,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":536872960}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414940,"byte_end":414953,"line_start":163,"line_end":163,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414933,"byte_end":414939,"line_start":163,"line_end":163,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872960}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415024,"byte_end":415027,"line_start":164,"line_end":164,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415013,"byte_end":415022,"line_start":164,"line_end":164,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415028,"byte_end":415043,"line_start":164,"line_end":164,"column_start":41,"column_end":56},"ref_id":{"krate":0,"index":2617247744}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415045,"byte_end":415049,"line_start":164,"line_end":164,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415050,"byte_end":415059,"line_start":164,"line_end":164,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415061,"byte_end":415065,"line_start":164,"line_end":164,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415066,"byte_end":415070,"line_start":164,"line_end":164,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415071,"byte_end":415082,"line_start":164,"line_end":164,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415132,"byte_end":415145,"line_start":165,"line_end":165,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415121,"byte_end":415131,"line_start":165,"line_end":165,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":1375733760}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415146,"byte_end":415152,"line_start":165,"line_end":165,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872960}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415184,"byte_end":415193,"line_start":166,"line_end":166,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415165,"byte_end":415181,"line_start":166,"line_end":166,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":1778386944}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415194,"byte_end":415198,"line_start":166,"line_end":166,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415199,"byte_end":415204,"line_start":166,"line_end":166,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415251,"byte_end":415255,"line_start":169,"line_end":169,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415256,"byte_end":415263,"line_start":169,"line_end":169,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3340}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415235,"byte_end":415239,"line_start":169,"line_end":169,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415368,"byte_end":415371,"line_start":172,"line_end":172,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415357,"byte_end":415366,"line_start":172,"line_end":172,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415372,"byte_end":415379,"line_start":172,"line_end":172,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3858761728}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415380,"byte_end":415389,"line_start":172,"line_end":172,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415391,"byte_end":415395,"line_start":172,"line_end":172,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415396,"byte_end":415405,"line_start":172,"line_end":172,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415407,"byte_end":415411,"line_start":172,"line_end":172,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415412,"byte_end":415416,"line_start":172,"line_end":172,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415417,"byte_end":415428,"line_start":172,"line_end":172,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415479,"byte_end":415492,"line_start":173,"line_end":173,"column_start":49,"column_end":62},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415467,"byte_end":415478,"line_start":173,"line_end":173,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":2113931264}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415493,"byte_end":415499,"line_start":173,"line_end":173,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":536872960}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415532,"byte_end":415545,"line_start":174,"line_end":174,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415514,"byte_end":415531,"line_start":174,"line_end":174,"column_start":13,"column_end":30},"ref_id":{"krate":0,"index":3774875648}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415546,"byte_end":415561,"line_start":174,"line_end":174,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":2617247744}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415604,"byte_end":415608,"line_start":176,"line_end":176,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743872}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415609,"byte_end":415613,"line_start":176,"line_end":176,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415591,"byte_end":415595,"line_start":176,"line_end":176,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415651,"byte_end":415664,"line_start":177,"line_end":177,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415632,"byte_end":415648,"line_start":177,"line_end":177,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":1778386944}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415665,"byte_end":415669,"line_start":177,"line_end":177,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":687867904}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415670,"byte_end":415679,"line_start":177,"line_end":177,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3328}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415754,"byte_end":415762,"line_start":179,"line_end":179,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415742,"byte_end":415751,"line_start":179,"line_end":179,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3087009792}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415763,"byte_end":415778,"line_start":179,"line_end":179,"column_start":38,"column_end":53},"ref_id":{"krate":0,"index":2617247744}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415815,"byte_end":415817,"line_start":182,"line_end":182,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415818,"byte_end":415828,"line_start":182,"line_end":182,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1375733760}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415859,"byte_end":415862,"line_start":184,"line_end":184,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415873,"byte_end":415884,"line_start":184,"line_end":184,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415863,"byte_end":415871,"line_start":184,"line_end":184,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415967,"byte_end":415976,"line_start":189,"line_end":189,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415993,"byte_end":416002,"line_start":189,"line_end":189,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416007,"byte_end":416013,"line_start":189,"line_end":189,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416018,"byte_end":416026,"line_start":189,"line_end":189,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416061,"byte_end":416074,"line_start":190,"line_end":190,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416054,"byte_end":416060,"line_start":190,"line_end":190,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536872964}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416135,"byte_end":416148,"line_start":191,"line_end":191,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416123,"byte_end":416134,"line_start":191,"line_end":191,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":1073743876}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416149,"byte_end":416155,"line_start":191,"line_end":191,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536872964}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416172,"byte_end":416186,"line_start":192,"line_end":192,"column_start":15,"column_end":29},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416166,"byte_end":416171,"line_start":192,"line_end":192,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2483030020}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416187,"byte_end":416196,"line_start":192,"line_end":192,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":67110916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416214,"byte_end":416216,"line_start":193,"line_end":193,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416323,"byte_end":416332,"line_start":197,"line_end":197,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416348,"byte_end":416361,"line_start":197,"line_end":197,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":3319}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416375,"byte_end":416397,"line_start":198,"line_end":198,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":1073743879}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416420,"byte_end":416423,"line_start":198,"line_end":198,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416407,"byte_end":416417,"line_start":198,"line_end":198,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416400,"byte_end":416406,"line_start":198,"line_end":198,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536872967}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416487,"byte_end":416493,"line_start":199,"line_end":199,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416473,"byte_end":416484,"line_start":199,"line_end":199,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416466,"byte_end":416472,"line_start":199,"line_end":199,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872967}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416504,"byte_end":416517,"line_start":199,"line_end":199,"column_start":67,"column_end":80},"ref_id":{"krate":0,"index":3319}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416616,"byte_end":416619,"line_start":201,"line_end":201,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416607,"byte_end":416613,"line_start":201,"line_end":201,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416593,"byte_end":416604,"line_start":201,"line_end":201,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416586,"byte_end":416592,"line_start":201,"line_end":201,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872967}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416620,"byte_end":416642,"line_start":201,"line_end":201,"column_start":63,"column_end":85},"ref_id":{"krate":0,"index":1073743879}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416661,"byte_end":416674,"line_start":201,"line_end":201,"column_start":104,"column_end":117},"ref_id":{"krate":0,"index":3319}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416751,"byte_end":416760,"line_start":206,"line_end":206,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416771,"byte_end":416780,"line_start":206,"line_end":206,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3776}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416865,"byte_end":416874,"line_start":208,"line_end":208,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416853,"byte_end":416864,"line_start":208,"line_end":208,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416875,"byte_end":416881,"line_start":208,"line_end":208,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536872969}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416915,"byte_end":416929,"line_start":210,"line_end":210,"column_start":31,"column_end":45},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416909,"byte_end":416914,"line_start":210,"line_end":210,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2281703433}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416982,"byte_end":416992,"line_start":212,"line_end":212,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416975,"byte_end":416981,"line_start":212,"line_end":212,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872969}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416993,"byte_end":417004,"line_start":212,"line_end":212,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417005,"byte_end":417016,"line_start":212,"line_end":212,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417018,"byte_end":417022,"line_start":212,"line_end":212,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417033,"byte_end":417049,"line_start":212,"line_end":212,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417079,"byte_end":417083,"line_start":214,"line_end":214,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4093642761}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417084,"byte_end":417089,"line_start":214,"line_end":214,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417126,"byte_end":417137,"line_start":216,"line_end":216,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417119,"byte_end":417125,"line_start":216,"line_end":216,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872969}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417153,"byte_end":417162,"line_start":218,"line_end":218,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3623880713}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417170,"byte_end":417179,"line_start":218,"line_end":218,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3623880713}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417196,"byte_end":417199,"line_start":218,"line_end":218,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417183,"byte_end":417195,"line_start":218,"line_end":218,"column_start":42,"column_end":54},"ref_id":{"krate":0,"index":1006635017}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417272,"byte_end":417275,"line_start":220,"line_end":220,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417263,"byte_end":417269,"line_start":220,"line_end":220,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417250,"byte_end":417262,"line_start":220,"line_end":220,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":1006635017}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417276,"byte_end":417285,"line_start":220,"line_end":220,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3623880713}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417295,"byte_end":417308,"line_start":220,"line_end":220,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3319}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417348,"byte_end":417356,"line_start":222,"line_end":222,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417342,"byte_end":417347,"line_start":222,"line_end":222,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":2046822409}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417385,"byte_end":417394,"line_start":224,"line_end":224,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":369100809}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417461,"byte_end":417464,"line_start":226,"line_end":226,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417450,"byte_end":417459,"line_start":226,"line_end":226,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417465,"byte_end":417474,"line_start":226,"line_end":226,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":369100809}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417476,"byte_end":417485,"line_start":226,"line_end":226,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":2885683209}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417487,"byte_end":417498,"line_start":226,"line_end":226,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417499,"byte_end":417510,"line_start":226,"line_end":226,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417558,"byte_end":417561,"line_start":227,"line_end":227,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417547,"byte_end":417556,"line_start":227,"line_end":227,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417568,"byte_end":417576,"line_start":227,"line_end":227,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417562,"byte_end":417567,"line_start":227,"line_end":227,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":2046822409}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417589,"byte_end":417598,"line_start":227,"line_end":227,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":2885683209}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417600,"byte_end":417611,"line_start":227,"line_end":227,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417612,"byte_end":417623,"line_start":227,"line_end":227,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417666,"byte_end":417670,"line_start":229,"line_end":229,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417693,"byte_end":417700,"line_start":230,"line_end":230,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3340}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417702,"byte_end":417706,"line_start":230,"line_end":230,"column_start":30,"column_end":34},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417728,"byte_end":417733,"line_start":231,"line_end":231,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":3342}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417758,"byte_end":417762,"line_start":232,"line_end":232,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417764,"byte_end":417768,"line_start":232,"line_end":232,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417769,"byte_end":417778,"line_start":232,"line_end":232,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3326}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417781,"byte_end":417786,"line_start":232,"line_end":232,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3327}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417818,"byte_end":417827,"line_start":232,"line_end":232,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417800,"byte_end":417809,"line_start":232,"line_end":232,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417788,"byte_end":417799,"line_start":232,"line_end":232,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":150997001}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417810,"byte_end":417816,"line_start":232,"line_end":232,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872969}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417840,"byte_end":417849,"line_start":232,"line_end":232,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417851,"byte_end":417862,"line_start":232,"line_end":232,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":150997001}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417863,"byte_end":417872,"line_start":232,"line_end":232,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417896,"byte_end":417900,"line_start":233,"line_end":233,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3344}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417902,"byte_end":417906,"line_start":233,"line_end":233,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417907,"byte_end":417916,"line_start":233,"line_end":233,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3326}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417919,"byte_end":417924,"line_start":233,"line_end":233,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3327}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417956,"byte_end":417965,"line_start":233,"line_end":233,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417938,"byte_end":417947,"line_start":233,"line_end":233,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417926,"byte_end":417937,"line_start":233,"line_end":233,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":150997001}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417948,"byte_end":417954,"line_start":233,"line_end":233,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872969}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417978,"byte_end":417987,"line_start":233,"line_end":233,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417989,"byte_end":418000,"line_start":233,"line_end":233,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":150997001}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418001,"byte_end":418010,"line_start":233,"line_end":233,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418034,"byte_end":418038,"line_start":234,"line_end":234,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3343}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418040,"byte_end":418044,"line_start":234,"line_end":234,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418045,"byte_end":418054,"line_start":234,"line_end":234,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3326}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418057,"byte_end":418062,"line_start":234,"line_end":234,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3327}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418094,"byte_end":418103,"line_start":234,"line_end":234,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418076,"byte_end":418085,"line_start":234,"line_end":234,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418064,"byte_end":418075,"line_start":234,"line_end":234,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1040189449}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418086,"byte_end":418092,"line_start":234,"line_end":234,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872969}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418116,"byte_end":418125,"line_start":234,"line_end":234,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418127,"byte_end":418138,"line_start":234,"line_end":234,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":1040189449}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418139,"byte_end":418148,"line_start":234,"line_end":234,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418172,"byte_end":418181,"line_start":235,"line_end":235,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3345}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418172,"byte_end":418181,"line_start":235,"line_end":235,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1610614793}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418203,"byte_end":418208,"line_start":236,"line_end":236,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418210,"byte_end":418224,"line_start":236,"line_end":236,"column_start":28,"column_end":42},"ref_id":{"krate":0,"index":268437513}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418246,"byte_end":418255,"line_start":237,"line_end":237,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418246,"byte_end":418255,"line_start":237,"line_end":237,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":2885683209}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418277,"byte_end":418281,"line_start":238,"line_end":238,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3347}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418295,"byte_end":418300,"line_start":238,"line_end":238,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418283,"byte_end":418294,"line_start":238,"line_end":238,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418366,"byte_end":418370,"line_start":243,"line_end":243,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418385,"byte_end":418392,"line_start":244,"line_end":244,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3340}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418394,"byte_end":418398,"line_start":244,"line_end":244,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418412,"byte_end":418416,"line_start":245,"line_end":245,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3344}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418418,"byte_end":418422,"line_start":245,"line_end":245,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418436,"byte_end":418440,"line_start":246,"line_end":246,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3343}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418442,"byte_end":418446,"line_start":246,"line_end":246,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418460,"byte_end":418465,"line_start":247,"line_end":247,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3342}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418482,"byte_end":418491,"line_start":248,"line_end":248,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3345}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418482,"byte_end":418491,"line_start":248,"line_end":248,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1610614793}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418505,"byte_end":418510,"line_start":249,"line_end":249,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418512,"byte_end":418526,"line_start":249,"line_end":249,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":268437513}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418540,"byte_end":418549,"line_start":250,"line_end":250,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418540,"byte_end":418549,"line_start":250,"line_end":250,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2885683209}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418563,"byte_end":418567,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3347}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418581,"byte_end":418586,"line_start":251,"line_end":251,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418569,"byte_end":418580,"line_start":251,"line_end":251,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":1073743881}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418602,"byte_end":418606,"line_start":252,"line_end":252,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418608,"byte_end":418612,"line_start":252,"line_end":252,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418694,"byte_end":418703,"line_start":257,"line_end":257,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418708,"byte_end":418714,"line_start":257,"line_end":257,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418723,"byte_end":418729,"line_start":257,"line_end":257,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418730,"byte_end":418739,"line_start":257,"line_end":257,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418757,"byte_end":418761,"line_start":259,"line_end":259,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418762,"byte_end":418767,"line_start":259,"line_end":259,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3342}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418775,"byte_end":418778,"line_start":259,"line_end":259,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418809,"byte_end":418813,"line_start":260,"line_end":260,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418834,"byte_end":418838,"line_start":263,"line_end":263,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418839,"byte_end":418844,"line_start":263,"line_end":263,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3342}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418866,"byte_end":418870,"line_start":265,"line_end":265,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418871,"byte_end":418875,"line_start":265,"line_end":265,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418890,"byte_end":418894,"line_start":266,"line_end":266,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418890,"byte_end":418894,"line_start":266,"line_end":266,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418926,"byte_end":418930,"line_start":268,"line_end":268,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418931,"byte_end":418940,"line_start":268,"line_end":268,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3345}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418978,"byte_end":418982,"line_start":269,"line_end":269,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418983,"byte_end":418987,"line_start":269,"line_end":269,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3339}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418963,"byte_end":418967,"line_start":269,"line_end":269,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418968,"byte_end":418975,"line_start":269,"line_end":269,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3340}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419038,"byte_end":419041,"line_start":270,"line_end":270,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419027,"byte_end":419036,"line_start":270,"line_end":270,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419042,"byte_end":419046,"line_start":270,"line_end":270,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3288336394}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419047,"byte_end":419056,"line_start":270,"line_end":270,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419058,"byte_end":419062,"line_start":270,"line_end":270,"column_start":70,"column_end":74},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419063,"byte_end":419072,"line_start":270,"line_end":270,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419074,"byte_end":419078,"line_start":270,"line_end":270,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419079,"byte_end":419083,"line_start":270,"line_end":270,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419084,"byte_end":419095,"line_start":270,"line_end":270,"column_start":96,"column_end":107},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419147,"byte_end":419156,"line_start":271,"line_end":271,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419135,"byte_end":419146,"line_start":271,"line_end":271,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":3254781962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419157,"byte_end":419163,"line_start":271,"line_end":271,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":536872970}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419213,"byte_end":419226,"line_start":272,"line_end":272,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1651}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419202,"byte_end":419212,"line_start":272,"line_end":272,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":838862858}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419283,"byte_end":419292,"line_start":273,"line_end":273,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419272,"byte_end":419282,"line_start":273,"line_end":273,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":838862858}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419259,"byte_end":419263,"line_start":273,"line_end":273,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419264,"byte_end":419269,"line_start":273,"line_end":273,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419329,"byte_end":419338,"line_start":275,"line_end":275,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1778386954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419399,"byte_end":419402,"line_start":276,"line_end":276,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419388,"byte_end":419397,"line_start":276,"line_end":276,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419403,"byte_end":419412,"line_start":276,"line_end":276,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1778386954}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419414,"byte_end":419418,"line_start":276,"line_end":276,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419419,"byte_end":419428,"line_start":276,"line_end":276,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419430,"byte_end":419434,"line_start":276,"line_end":276,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419435,"byte_end":419439,"line_start":276,"line_end":276,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419440,"byte_end":419451,"line_start":276,"line_end":276,"column_start":95,"column_end":106},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419525,"byte_end":419534,"line_start":277,"line_end":277,"column_start":72,"column_end":81},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419507,"byte_end":419516,"line_start":277,"line_end":277,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419495,"byte_end":419506,"line_start":277,"line_end":277,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":503318538}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419517,"byte_end":419523,"line_start":277,"line_end":277,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872970}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419583,"byte_end":419587,"line_start":278,"line_end":278,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419588,"byte_end":419597,"line_start":278,"line_end":278,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3326}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419600,"byte_end":419605,"line_start":278,"line_end":278,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419607,"byte_end":419617,"line_start":278,"line_end":278,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":1627392010}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419619,"byte_end":419628,"line_start":278,"line_end":278,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419630,"byte_end":419639,"line_start":278,"line_end":278,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":1778386954}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419571,"byte_end":419575,"line_start":278,"line_end":278,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419576,"byte_end":419580,"line_start":278,"line_end":278,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419709,"byte_end":419713,"line_start":280,"line_end":280,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419697,"byte_end":419701,"line_start":280,"line_end":280,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419702,"byte_end":419706,"line_start":280,"line_end":280,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419757,"byte_end":419761,"line_start":282,"line_end":282,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419763,"byte_end":419767,"line_start":282,"line_end":282,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419768,"byte_end":419773,"line_start":282,"line_end":282,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3341}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419775,"byte_end":419779,"line_start":282,"line_end":282,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419780,"byte_end":419791,"line_start":282,"line_end":282,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3254781962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419844,"byte_end":419848,"line_start":285,"line_end":285,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3288336394}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419849,"byte_end":419854,"line_start":285,"line_end":285,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419857,"byte_end":419861,"line_start":285,"line_end":285,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419862,"byte_end":419867,"line_start":285,"line_end":285,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419894,"byte_end":419898,"line_start":286,"line_end":286,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419899,"byte_end":419904,"line_start":286,"line_end":286,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3341}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419935,"byte_end":419939,"line_start":287,"line_end":287,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419941,"byte_end":419945,"line_start":287,"line_end":287,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419946,"byte_end":419951,"line_start":287,"line_end":287,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3341}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419957,"byte_end":419961,"line_start":287,"line_end":287,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419994,"byte_end":419998,"line_start":288,"line_end":288,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3288336394}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419999,"byte_end":420004,"line_start":288,"line_end":288,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420008,"byte_end":420012,"line_start":288,"line_end":288,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420013,"byte_end":420018,"line_start":288,"line_end":288,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420060,"byte_end":420064,"line_start":289,"line_end":289,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420065,"byte_end":420069,"line_start":289,"line_end":289,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3339}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420045,"byte_end":420049,"line_start":289,"line_end":289,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420050,"byte_end":420057,"line_start":289,"line_end":289,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3340}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420124,"byte_end":420127,"line_start":290,"line_end":290,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420113,"byte_end":420122,"line_start":290,"line_end":290,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420128,"byte_end":420132,"line_start":290,"line_end":290,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3288336394}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420133,"byte_end":420142,"line_start":290,"line_end":290,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420144,"byte_end":420148,"line_start":290,"line_end":290,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420149,"byte_end":420158,"line_start":290,"line_end":290,"column_start":79,"column_end":88},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420160,"byte_end":420164,"line_start":290,"line_end":290,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420165,"byte_end":420169,"line_start":290,"line_end":290,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420170,"byte_end":420181,"line_start":290,"line_end":290,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420237,"byte_end":420246,"line_start":291,"line_end":291,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420225,"byte_end":420236,"line_start":291,"line_end":291,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1996490762}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420247,"byte_end":420253,"line_start":291,"line_end":291,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872970}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420308,"byte_end":420321,"line_start":293,"line_end":293,"column_start":52,"column_end":65},"ref_id":{"krate":0,"index":1651}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420297,"byte_end":420307,"line_start":293,"line_end":293,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4009756682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420358,"byte_end":420362,"line_start":294,"line_end":294,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420363,"byte_end":420368,"line_start":294,"line_end":294,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3341}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420407,"byte_end":420416,"line_start":296,"line_end":296,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":2155874314}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420481,"byte_end":420484,"line_start":297,"line_end":297,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420470,"byte_end":420479,"line_start":297,"line_end":297,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420485,"byte_end":420494,"line_start":297,"line_end":297,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2155874314}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420496,"byte_end":420500,"line_start":297,"line_end":297,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420501,"byte_end":420510,"line_start":297,"line_end":297,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":3346}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420512,"byte_end":420516,"line_start":297,"line_end":297,"column_start":89,"column_end":93},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420517,"byte_end":420521,"line_start":297,"line_end":297,"column_start":94,"column_end":98},"ref_id":{"krate":0,"index":3347}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420522,"byte_end":420533,"line_start":297,"line_end":297,"column_start":99,"column_end":110},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420611,"byte_end":420620,"line_start":298,"line_end":298,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1654}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420593,"byte_end":420602,"line_start":298,"line_end":298,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420581,"byte_end":420592,"line_start":298,"line_end":298,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3095398410}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420603,"byte_end":420609,"line_start":298,"line_end":298,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":536872970}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420673,"byte_end":420677,"line_start":299,"line_end":299,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420678,"byte_end":420687,"line_start":299,"line_end":299,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3326}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420690,"byte_end":420695,"line_start":299,"line_end":299,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3327}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420697,"byte_end":420707,"line_start":299,"line_end":299,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3565160458}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420709,"byte_end":420718,"line_start":299,"line_end":299,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3328}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420720,"byte_end":420729,"line_start":299,"line_end":299,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":2155874314}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420661,"byte_end":420665,"line_start":299,"line_end":299,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420666,"byte_end":420670,"line_start":299,"line_end":299,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420807,"byte_end":420811,"line_start":301,"line_end":301,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420795,"byte_end":420799,"line_start":301,"line_end":301,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420800,"byte_end":420804,"line_start":301,"line_end":301,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3339}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420864,"byte_end":420868,"line_start":304,"line_end":304,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420870,"byte_end":420874,"line_start":304,"line_end":304,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420875,"byte_end":420880,"line_start":304,"line_end":304,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3341}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420886,"byte_end":420890,"line_start":304,"line_end":304,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420891,"byte_end":420902,"line_start":304,"line_end":304,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":1996490762}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420959,"byte_end":420963,"line_start":306,"line_end":306,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421031,"byte_end":421035,"line_start":310,"line_end":310,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421031,"byte_end":421035,"line_start":310,"line_end":310,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421039,"byte_end":421043,"line_start":310,"line_end":310,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421120,"byte_end":421129,"line_start":315,"line_end":315,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421140,"byte_end":421149,"line_start":315,"line_end":315,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421158,"byte_end":421164,"line_start":315,"line_end":315,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421176,"byte_end":421182,"line_start":315,"line_end":315,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421183,"byte_end":421189,"line_start":315,"line_end":315,"column_start":101,"column_end":107},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421196,"byte_end":421205,"line_start":315,"line_end":315,"column_start":114,"column_end":123},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421209,"byte_end":421217,"line_start":315,"line_end":315,"column_start":127,"column_end":135},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421263,"byte_end":421272,"line_start":317,"line_end":317,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421251,"byte_end":421262,"line_start":317,"line_end":317,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421273,"byte_end":421279,"line_start":317,"line_end":317,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421308,"byte_end":421322,"line_start":319,"line_end":319,"column_start":25,"column_end":39},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421295,"byte_end":421305,"line_start":319,"line_end":319,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1207961611}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421350,"byte_end":421359,"line_start":320,"line_end":320,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":2052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421361,"byte_end":421372,"line_start":320,"line_end":320,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421374,"byte_end":421380,"line_start":320,"line_end":320,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421434,"byte_end":421444,"line_start":323,"line_end":323,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421427,"byte_end":421433,"line_start":323,"line_end":323,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872971}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421445,"byte_end":421456,"line_start":323,"line_end":323,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421457,"byte_end":421468,"line_start":323,"line_end":323,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421470,"byte_end":421474,"line_start":323,"line_end":323,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421485,"byte_end":421501,"line_start":323,"line_end":323,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":3681}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421548,"byte_end":421557,"line_start":325,"line_end":325,"column_start":42,"column_end":51},"ref_id":{"krate":1,"index":8375}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421542,"byte_end":421547,"line_start":325,"line_end":325,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1610614795}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421598,"byte_end":421611,"line_start":327,"line_end":327,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421591,"byte_end":421597,"line_start":327,"line_end":327,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421674,"byte_end":421682,"line_start":329,"line_end":329,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2055}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421696,"byte_end":421710,"line_start":329,"line_end":329,"column_start":57,"column_end":71},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421683,"byte_end":421693,"line_start":329,"line_end":329,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":1207961611}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421723,"byte_end":421729,"line_start":329,"line_end":329,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421770,"byte_end":421773,"line_start":331,"line_end":331,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421759,"byte_end":421768,"line_start":331,"line_end":331,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421774,"byte_end":421787,"line_start":331,"line_end":331,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":3456108555}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421789,"byte_end":421793,"line_start":331,"line_end":331,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":2986346507}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421794,"byte_end":421799,"line_start":331,"line_end":331,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421801,"byte_end":421812,"line_start":331,"line_end":331,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421813,"byte_end":421824,"line_start":331,"line_end":331,"column_start":80,"column_end":91},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421873,"byte_end":421886,"line_start":332,"line_end":332,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421862,"byte_end":421872,"line_start":332,"line_end":332,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":419432459}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421887,"byte_end":421893,"line_start":332,"line_end":332,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421930,"byte_end":421938,"line_start":335,"line_end":335,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421918,"byte_end":421927,"line_start":335,"line_end":335,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":285214731}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421986,"byte_end":421994,"line_start":336,"line_end":336,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2036}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421974,"byte_end":421983,"line_start":336,"line_end":336,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214731}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421995,"byte_end":422008,"line_start":336,"line_end":336,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108555}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422042,"byte_end":422050,"line_start":337,"line_end":337,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422030,"byte_end":422039,"line_start":337,"line_end":337,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214731}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422051,"byte_end":422064,"line_start":337,"line_end":337,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108555}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422089,"byte_end":422098,"line_start":338,"line_end":338,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422106,"byte_end":422109,"line_start":338,"line_end":338,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422144,"byte_end":422147,"line_start":339,"line_end":339,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422158,"byte_end":422161,"line_start":339,"line_end":339,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422148,"byte_end":422156,"line_start":339,"line_end":339,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422246,"byte_end":422255,"line_start":341,"line_end":341,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422227,"byte_end":422243,"line_start":341,"line_end":341,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":620759051}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422256,"byte_end":422265,"line_start":341,"line_end":341,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422347,"byte_end":422350,"line_start":343,"line_end":343,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422336,"byte_end":422345,"line_start":343,"line_end":343,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422363,"byte_end":422371,"line_start":343,"line_end":343,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422351,"byte_end":422360,"line_start":343,"line_end":343,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":285214731}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422384,"byte_end":422388,"line_start":343,"line_end":343,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":2986346507}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422389,"byte_end":422394,"line_start":343,"line_end":343,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422396,"byte_end":422407,"line_start":343,"line_end":343,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422408,"byte_end":422419,"line_start":343,"line_end":343,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422468,"byte_end":422481,"line_start":344,"line_end":344,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422459,"byte_end":422467,"line_start":344,"line_end":344,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3204450315}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422482,"byte_end":422488,"line_start":344,"line_end":344,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422521,"byte_end":422534,"line_start":345,"line_end":345,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422504,"byte_end":422518,"line_start":345,"line_end":345,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":2424309771}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422535,"byte_end":422548,"line_start":345,"line_end":345,"column_start":44,"column_end":57},"ref_id":{"krate":0,"index":3456108555}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422601,"byte_end":422606,"line_start":346,"line_end":346,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":1610614795}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422589,"byte_end":422593,"line_start":346,"line_end":346,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422625,"byte_end":422628,"line_start":347,"line_end":347,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":2558527499}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422693,"byte_end":422702,"line_start":349,"line_end":349,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422676,"byte_end":422690,"line_start":349,"line_end":349,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":2424309771}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422570,"byte_end":422579,"line_start":346,"line_end":346,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422749,"byte_end":422758,"line_start":351,"line_end":351,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422766,"byte_end":422769,"line_start":351,"line_end":351,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422804,"byte_end":422807,"line_start":352,"line_end":352,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422818,"byte_end":422821,"line_start":352,"line_end":352,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422808,"byte_end":422816,"line_start":352,"line_end":352,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422906,"byte_end":422915,"line_start":354,"line_end":354,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422887,"byte_end":422903,"line_start":354,"line_end":354,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":620759051}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422916,"byte_end":422925,"line_start":354,"line_end":354,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422959,"byte_end":422967,"line_start":355,"line_end":355,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422947,"byte_end":422956,"line_start":355,"line_end":355,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214731}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422968,"byte_end":422981,"line_start":355,"line_end":355,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108555}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423018,"byte_end":423020,"line_start":359,"line_end":359,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423021,"byte_end":423025,"line_start":359,"line_end":359,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423027,"byte_end":423036,"line_start":359,"line_end":359,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3925870603}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423045,"byte_end":423055,"line_start":359,"line_end":359,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":419432459}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423105,"byte_end":423113,"line_start":365,"line_end":365,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423174,"byte_end":423183,"line_start":367,"line_end":367,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423201,"byte_end":423210,"line_start":367,"line_end":367,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423215,"byte_end":423222,"line_start":367,"line_end":367,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423259,"byte_end":423268,"line_start":368,"line_end":368,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423252,"byte_end":423258,"line_start":368,"line_end":368,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872980}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423269,"byte_end":423275,"line_start":368,"line_end":368,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614804}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423302,"byte_end":423316,"line_start":370,"line_end":370,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423292,"byte_end":423299,"line_start":370,"line_end":370,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961620}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423354,"byte_end":423358,"line_start":371,"line_end":371,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423345,"byte_end":423352,"line_start":371,"line_end":371,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423403,"byte_end":423406,"line_start":374,"line_end":374,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423398,"byte_end":423401,"line_start":374,"line_end":374,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423448,"byte_end":423456,"line_start":376,"line_end":376,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":2057}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423439,"byte_end":423446,"line_start":376,"line_end":376,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423458,"byte_end":423464,"line_start":376,"line_end":376,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":536872980}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423466,"byte_end":423472,"line_start":376,"line_end":376,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610614804}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423536,"byte_end":423545,"line_start":378,"line_end":378,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2058}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423527,"byte_end":423534,"line_start":378,"line_end":378,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423551,"byte_end":423560,"line_start":378,"line_end":378,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":2617247764}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423562,"byte_end":423568,"line_start":378,"line_end":378,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":1610614804}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423504,"byte_end":423508,"line_start":378,"line_end":378,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423613,"byte_end":423617,"line_start":379,"line_end":379,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3154118676}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423592,"byte_end":423596,"line_start":379,"line_end":379,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423646,"byte_end":423650,"line_start":380,"line_end":380,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423636,"byte_end":423645,"line_start":380,"line_end":380,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288212}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423662,"byte_end":423673,"line_start":380,"line_end":380,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423651,"byte_end":423660,"line_start":380,"line_end":380,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423674,"byte_end":423679,"line_start":380,"line_end":380,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1073743892}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423685,"byte_end":423696,"line_start":380,"line_end":380,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":2986346516}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423698,"byte_end":423704,"line_start":380,"line_end":380,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614804}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423758,"byte_end":423762,"line_start":382,"line_end":382,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423748,"byte_end":423757,"line_start":382,"line_end":382,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288212}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423772,"byte_end":423776,"line_start":382,"line_end":382,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423763,"byte_end":423770,"line_start":382,"line_end":382,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423828,"byte_end":423833,"line_start":386,"line_end":386,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423819,"byte_end":423826,"line_start":386,"line_end":386,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423834,"byte_end":423843,"line_start":386,"line_end":386,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1409288212}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423887,"byte_end":423898,"line_start":389,"line_end":389,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423924,"byte_end":423928,"line_start":389,"line_end":389,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423911,"byte_end":423922,"line_start":389,"line_end":389,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423977,"byte_end":423988,"line_start":390,"line_end":390,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424014,"byte_end":424018,"line_start":390,"line_end":390,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424001,"byte_end":424012,"line_start":390,"line_end":390,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424054,"byte_end":424057,"line_start":392,"line_end":392,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424058,"byte_end":424074,"line_start":392,"line_end":392,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424095,"byte_end":424101,"line_start":392,"line_end":392,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424102,"byte_end":424109,"line_start":392,"line_end":392,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424111,"byte_end":424119,"line_start":392,"line_end":392,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424160,"byte_end":424163,"line_start":393,"line_end":393,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424153,"byte_end":424158,"line_start":393,"line_end":393,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424187,"byte_end":424193,"line_start":394,"line_end":394,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424175,"byte_end":424186,"line_start":394,"line_end":394,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308440}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424201,"byte_end":424209,"line_start":394,"line_end":394,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424222,"byte_end":424228,"line_start":394,"line_end":394,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424213,"byte_end":424220,"line_start":394,"line_end":394,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424248,"byte_end":424257,"line_start":394,"line_end":394,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424235,"byte_end":424243,"line_start":394,"line_end":394,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424296,"byte_end":424302,"line_start":396,"line_end":396,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743896}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424303,"byte_end":424310,"line_start":396,"line_end":396,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872984}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424312,"byte_end":424316,"line_start":396,"line_end":396,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424327,"byte_end":424343,"line_start":396,"line_end":396,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424371,"byte_end":424375,"line_start":398,"line_end":398,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1275070488}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424376,"byte_end":424381,"line_start":398,"line_end":398,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424404,"byte_end":424410,"line_start":400,"line_end":400,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424392,"byte_end":424403,"line_start":400,"line_end":400,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308440}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424416,"byte_end":424424,"line_start":400,"line_end":400,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424439,"byte_end":424452,"line_start":400,"line_end":400,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":2470}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424428,"byte_end":424437,"line_start":400,"line_end":400,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424453,"byte_end":424459,"line_start":400,"line_end":400,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1073743896}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424461,"byte_end":424468,"line_start":400,"line_end":400,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":469764120}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424482,"byte_end":424484,"line_start":402,"line_end":402,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424494,"byte_end":424504,"line_start":402,"line_end":402,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424485,"byte_end":424492,"line_start":402,"line_end":402,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424505,"byte_end":424516,"line_start":402,"line_end":402,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308440}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424694,"byte_end":424699,"line_start":405,"line_end":405,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424593,"byte_end":424602,"line_start":405,"line_end":405,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424618,"byte_end":424627,"line_start":405,"line_end":405,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424637,"byte_end":424640,"line_start":405,"line_end":405,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424641,"byte_end":424648,"line_start":405,"line_end":405,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424654,"byte_end":424660,"line_start":405,"line_end":405,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424665,"byte_end":424673,"line_start":405,"line_end":405,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424720,"byte_end":424725,"line_start":407,"line_end":407,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179353}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424749,"byte_end":424754,"line_start":408,"line_end":408,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424740,"byte_end":424747,"line_start":408,"line_end":408,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424749,"byte_end":424754,"line_start":408,"line_end":408,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424740,"byte_end":424747,"line_start":408,"line_end":408,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424818,"byte_end":424827,"line_start":409,"line_end":409,"column_start":53,"column_end":62},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424811,"byte_end":424815,"line_start":409,"line_end":409,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424806,"byte_end":424810,"line_start":409,"line_end":409,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1207961625}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424867,"byte_end":424873,"line_start":410,"line_end":410,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2041}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424858,"byte_end":424865,"line_start":410,"line_end":410,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424874,"byte_end":424880,"line_start":410,"line_end":410,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610614809}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424882,"byte_end":424885,"line_start":410,"line_end":410,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3623880729}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424900,"byte_end":424906,"line_start":410,"line_end":410,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":268437529}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424935,"byte_end":424939,"line_start":411,"line_end":411,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424935,"byte_end":424939,"line_start":411,"line_end":411,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424982,"byte_end":424983,"line_start":412,"line_end":412,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":1107298329}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425020,"byte_end":425024,"line_start":413,"line_end":413,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425020,"byte_end":425024,"line_start":413,"line_end":413,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425089,"byte_end":425102,"line_start":414,"line_end":414,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425078,"byte_end":425087,"line_start":414,"line_end":414,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425103,"byte_end":425108,"line_start":414,"line_end":414,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1073743897}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425114,"byte_end":425124,"line_start":414,"line_end":414,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":536872985}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425126,"byte_end":425136,"line_start":414,"line_end":414,"column_start":85,"column_end":95},"ref_id":{"krate":0,"index":2449475609}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425138,"byte_end":425144,"line_start":414,"line_end":414,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":268437529}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425152,"byte_end":425155,"line_start":414,"line_end":414,"column_start":111,"column_end":114},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425147,"byte_end":425150,"line_start":414,"line_end":414,"column_start":106,"column_end":109},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425166,"byte_end":425171,"line_start":414,"line_end":414,"column_start":125,"column_end":130},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425156,"byte_end":425165,"line_start":414,"line_end":414,"column_start":115,"column_end":124},"ref_id":{"krate":0,"index":939526169}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425245,"byte_end":425249,"line_start":416,"line_end":416,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425245,"byte_end":425249,"line_start":416,"line_end":416,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425338,"byte_end":425342,"line_start":419,"line_end":419,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425338,"byte_end":425342,"line_start":419,"line_end":419,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425384,"byte_end":425387,"line_start":420,"line_end":420,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425398,"byte_end":425401,"line_start":420,"line_end":420,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425388,"byte_end":425396,"line_start":420,"line_end":420,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425564,"byte_end":425566,"line_start":429,"line_end":429,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425616,"byte_end":425625,"line_start":432,"line_end":432,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425636,"byte_end":425645,"line_start":432,"line_end":432,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425650,"byte_end":425656,"line_start":432,"line_end":432,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425664,"byte_end":425672,"line_start":432,"line_end":432,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425711,"byte_end":425720,"line_start":434,"line_end":434,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425704,"byte_end":425710,"line_start":434,"line_end":434,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872987}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425721,"byte_end":425727,"line_start":434,"line_end":434,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614811}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425754,"byte_end":425768,"line_start":436,"line_end":436,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425744,"byte_end":425751,"line_start":436,"line_end":436,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961627}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425797,"byte_end":425799,"line_start":437,"line_end":437,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425941,"byte_end":425949,"line_start":445,"line_end":445,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2057}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425951,"byte_end":425957,"line_start":445,"line_end":445,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872987}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425959,"byte_end":425965,"line_start":445,"line_end":445,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610614811}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426025,"byte_end":426034,"line_start":447,"line_end":447,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426040,"byte_end":426049,"line_start":447,"line_end":447,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1543505947}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426051,"byte_end":426057,"line_start":447,"line_end":447,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614811}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425996,"byte_end":426000,"line_start":447,"line_end":447,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426101,"byte_end":426105,"line_start":448,"line_end":448,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":2080376859}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426080,"byte_end":426084,"line_start":448,"line_end":448,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426147,"byte_end":426156,"line_start":449,"line_end":449,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426136,"byte_end":426145,"line_start":449,"line_end":449,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426157,"byte_end":426162,"line_start":449,"line_end":449,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1073743899}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426168,"byte_end":426179,"line_start":449,"line_end":449,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1912604699}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426181,"byte_end":426187,"line_start":449,"line_end":449,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614811}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426124,"byte_end":426132,"line_start":449,"line_end":449,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3556771867}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426224,"byte_end":426226,"line_start":453,"line_end":453,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426227,"byte_end":426235,"line_start":453,"line_end":453,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3556771867}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426238,"byte_end":426247,"line_start":453,"line_end":453,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3825207323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426453,"byte_end":426458,"line_start":458,"line_end":458,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426306,"byte_end":426315,"line_start":458,"line_end":458,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426338,"byte_end":426347,"line_start":458,"line_end":458,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426360,"byte_end":426369,"line_start":458,"line_end":458,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426390,"byte_end":426399,"line_start":458,"line_end":458,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426404,"byte_end":426410,"line_start":458,"line_end":458,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426411,"byte_end":426420,"line_start":458,"line_end":458,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426422,"byte_end":426430,"line_start":458,"line_end":458,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426499,"byte_end":426508,"line_start":460,"line_end":460,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426487,"byte_end":426498,"line_start":460,"line_end":460,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872989}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426509,"byte_end":426520,"line_start":460,"line_end":460,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614813}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426546,"byte_end":426560,"line_start":462,"line_end":462,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426535,"byte_end":426545,"line_start":462,"line_end":462,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445277}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426589,"byte_end":426591,"line_start":463,"line_end":463,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426592,"byte_end":426601,"line_start":463,"line_end":463,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437533}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426629,"byte_end":426638,"line_start":466,"line_end":466,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":2052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426640,"byte_end":426649,"line_start":466,"line_end":466,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":268437533}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426651,"byte_end":426660,"line_start":466,"line_end":466,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1342179357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426699,"byte_end":426707,"line_start":468,"line_end":468,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2057}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426709,"byte_end":426720,"line_start":468,"line_end":468,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":536872989}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426722,"byte_end":426733,"line_start":468,"line_end":468,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1610614813}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426792,"byte_end":426801,"line_start":470,"line_end":470,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426807,"byte_end":426816,"line_start":470,"line_end":470,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1912604701}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426818,"byte_end":426829,"line_start":470,"line_end":470,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1610614813}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426764,"byte_end":426768,"line_start":470,"line_end":470,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426870,"byte_end":426874,"line_start":471,"line_end":471,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1241516061}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426852,"byte_end":426856,"line_start":471,"line_end":471,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426922,"byte_end":426929,"line_start":472,"line_end":472,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426939,"byte_end":426943,"line_start":472,"line_end":472,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":2059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426930,"byte_end":426937,"line_start":472,"line_end":472,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426945,"byte_end":426954,"line_start":472,"line_end":472,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":268437533}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426956,"byte_end":426965,"line_start":472,"line_end":472,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":1342179357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426967,"byte_end":426971,"line_start":472,"line_end":472,"column_start":91,"column_end":95},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426972,"byte_end":426977,"line_start":472,"line_end":472,"column_start":96,"column_end":101},"ref_id":{"krate":0,"index":2315257885}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427011,"byte_end":427018,"line_start":473,"line_end":473,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427000,"byte_end":427009,"line_start":473,"line_end":473,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427019,"byte_end":427024,"line_start":473,"line_end":473,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073743901}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427039,"byte_end":427044,"line_start":473,"line_end":473,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427030,"byte_end":427038,"line_start":473,"line_end":473,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":1174407197}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427048,"byte_end":427059,"line_start":473,"line_end":473,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":1610614813}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427061,"byte_end":427069,"line_start":473,"line_end":473,"column_start":78,"column_end":86},"ref_id":{"krate":0,"index":3103787037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427071,"byte_end":427080,"line_start":473,"line_end":473,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":1342179357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427124,"byte_end":427126,"line_start":477,"line_end":477,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427127,"byte_end":427136,"line_start":477,"line_end":477,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437533}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427175,"byte_end":427178,"line_start":480,"line_end":480,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427179,"byte_end":427195,"line_start":480,"line_end":480,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427216,"byte_end":427222,"line_start":480,"line_end":480,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427223,"byte_end":427229,"line_start":480,"line_end":480,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427231,"byte_end":427239,"line_start":480,"line_end":480,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427275,"byte_end":427281,"line_start":481,"line_end":481,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743902}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427282,"byte_end":427289,"line_start":481,"line_end":481,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872990}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427291,"byte_end":427295,"line_start":481,"line_end":481,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427306,"byte_end":427322,"line_start":481,"line_end":481,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3681}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427361,"byte_end":427365,"line_start":483,"line_end":483,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427353,"byte_end":427359,"line_start":483,"line_end":483,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427396,"byte_end":427404,"line_start":484,"line_end":484,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427389,"byte_end":427395,"line_start":484,"line_end":484,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751646}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427451,"byte_end":427457,"line_start":484,"line_end":484,"column_start":71,"column_end":77},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427416,"byte_end":427428,"line_start":484,"line_end":484,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2468}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427405,"byte_end":427414,"line_start":484,"line_end":484,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427430,"byte_end":427436,"line_start":484,"line_end":484,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073743902}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427438,"byte_end":427442,"line_start":484,"line_end":484,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1744832542}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427443,"byte_end":427448,"line_start":484,"line_end":484,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427477,"byte_end":427485,"line_start":485,"line_end":485,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427470,"byte_end":427476,"line_start":485,"line_end":485,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751646}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427501,"byte_end":427503,"line_start":486,"line_end":486,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427504,"byte_end":427510,"line_start":486,"line_end":486,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751646}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427565,"byte_end":427568,"line_start":490,"line_end":490,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427569,"byte_end":427585,"line_start":490,"line_end":490,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427607,"byte_end":427616,"line_start":490,"line_end":490,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427625,"byte_end":427628,"line_start":490,"line_end":490,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427629,"byte_end":427635,"line_start":490,"line_end":490,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427641,"byte_end":427647,"line_start":490,"line_end":490,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427655,"byte_end":427658,"line_start":490,"line_end":490,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427664,"byte_end":427667,"line_start":490,"line_end":490,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427668,"byte_end":427684,"line_start":490,"line_end":490,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427688,"byte_end":427696,"line_start":490,"line_end":490,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427730,"byte_end":427733,"line_start":491,"line_end":491,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427745,"byte_end":427748,"line_start":491,"line_end":491,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427740,"byte_end":427743,"line_start":491,"line_end":491,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427773,"byte_end":427777,"line_start":492,"line_end":492,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427760,"byte_end":427772,"line_start":492,"line_end":492,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":671090719}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427791,"byte_end":427795,"line_start":492,"line_end":492,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427778,"byte_end":427789,"line_start":492,"line_end":492,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427843,"byte_end":427846,"line_start":494,"line_end":494,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427836,"byte_end":427842,"line_start":494,"line_end":494,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743903}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427865,"byte_end":427869,"line_start":495,"line_end":495,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427858,"byte_end":427864,"line_start":495,"line_end":495,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743903}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427870,"byte_end":427886,"line_start":495,"line_end":495,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427901,"byte_end":427904,"line_start":496,"line_end":496,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427921,"byte_end":427928,"line_start":496,"line_end":496,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427906,"byte_end":427919,"line_start":496,"line_end":496,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427942,"byte_end":427943,"line_start":497,"line_end":497,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427958,"byte_end":427962,"line_start":497,"line_end":497,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427945,"byte_end":427956,"line_start":497,"line_end":497,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427976,"byte_end":427984,"line_start":498,"line_end":498,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428005,"byte_end":428009,"line_start":499,"line_end":499,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428016,"byte_end":428019,"line_start":499,"line_end":499,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428011,"byte_end":428014,"line_start":499,"line_end":499,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428025,"byte_end":428033,"line_start":499,"line_end":499,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428020,"byte_end":428023,"line_start":499,"line_end":499,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428039,"byte_end":428042,"line_start":499,"line_end":499,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428034,"byte_end":428037,"line_start":499,"line_end":499,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428043,"byte_end":428059,"line_start":499,"line_end":499,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428062,"byte_end":428067,"line_start":499,"line_end":499,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428069,"byte_end":428085,"line_start":499,"line_end":499,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":1677723679}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428145,"byte_end":428151,"line_start":502,"line_end":502,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428153,"byte_end":428159,"line_start":502,"line_end":502,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428163,"byte_end":428167,"line_start":502,"line_end":502,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428186,"byte_end":428189,"line_start":504,"line_end":504,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428181,"byte_end":428185,"line_start":504,"line_end":504,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437535}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428217,"byte_end":428221,"line_start":505,"line_end":505,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437535}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428260,"byte_end":428270,"line_start":506,"line_end":506,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428251,"byte_end":428257,"line_start":506,"line_end":506,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428243,"byte_end":428249,"line_start":506,"line_end":506,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428318,"byte_end":428328,"line_start":507,"line_end":507,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3053455391}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428375,"byte_end":428379,"line_start":508,"line_end":508,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428362,"byte_end":428369,"line_start":508,"line_end":508,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428358,"byte_end":428361,"line_start":508,"line_end":508,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610614815}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428370,"byte_end":428373,"line_start":508,"line_end":508,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":1308624927}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428429,"byte_end":428433,"line_start":509,"line_end":509,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428434,"byte_end":428439,"line_start":509,"line_end":509,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3456108575}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428420,"byte_end":428426,"line_start":509,"line_end":509,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3120564255}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428585,"byte_end":428591,"line_start":517,"line_end":517,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3120564255}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428575,"byte_end":428579,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428699,"byte_end":428707,"line_start":519,"line_end":519,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428688,"byte_end":428697,"line_start":519,"line_end":519,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428708,"byte_end":428714,"line_start":519,"line_end":519,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1073743903}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428716,"byte_end":428719,"line_start":519,"line_end":519,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":1610614815}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428721,"byte_end":428722,"line_start":519,"line_end":519,"column_start":85,"column_end":86},"ref_id":{"krate":0,"index":4110419999}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428764,"byte_end":428770,"line_start":521,"line_end":521,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428751,"byte_end":428763,"line_start":521,"line_end":521,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":671090719}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428771,"byte_end":428782,"line_start":521,"line_end":521,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1258293279}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428798,"byte_end":428800,"line_start":523,"line_end":523,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428809,"byte_end":428821,"line_start":523,"line_end":523,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":671090719}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428823,"byte_end":428829,"line_start":523,"line_end":523,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3405776927}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428861,"byte_end":428864,"line_start":525,"line_end":525,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428875,"byte_end":428878,"line_start":525,"line_end":525,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428865,"byte_end":428873,"line_start":525,"line_end":525,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428971,"byte_end":428974,"line_start":529,"line_end":529,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428975,"byte_end":428991,"line_start":529,"line_end":529,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429008,"byte_end":429011,"line_start":529,"line_end":529,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429012,"byte_end":429019,"line_start":529,"line_end":529,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429025,"byte_end":429031,"line_start":529,"line_end":529,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429039,"byte_end":429042,"line_start":529,"line_end":529,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429048,"byte_end":429051,"line_start":529,"line_end":529,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429052,"byte_end":429068,"line_start":529,"line_end":529,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429072,"byte_end":429080,"line_start":529,"line_end":529,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429115,"byte_end":429118,"line_start":531,"line_end":531,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429130,"byte_end":429133,"line_start":531,"line_end":531,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429125,"byte_end":429128,"line_start":531,"line_end":531,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429158,"byte_end":429162,"line_start":532,"line_end":532,"column_start":22,"column_end":26},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429145,"byte_end":429157,"line_start":532,"line_end":532,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219808}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429176,"byte_end":429180,"line_start":532,"line_end":532,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429163,"byte_end":429174,"line_start":532,"line_end":532,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429228,"byte_end":429231,"line_start":534,"line_end":534,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429221,"byte_end":429227,"line_start":534,"line_end":534,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429250,"byte_end":429254,"line_start":535,"line_end":535,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429243,"byte_end":429249,"line_start":535,"line_end":535,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429255,"byte_end":429271,"line_start":535,"line_end":535,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429286,"byte_end":429289,"line_start":536,"line_end":536,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429306,"byte_end":429313,"line_start":536,"line_end":536,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429291,"byte_end":429304,"line_start":536,"line_end":536,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429327,"byte_end":429328,"line_start":537,"line_end":537,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429343,"byte_end":429347,"line_start":537,"line_end":537,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429330,"byte_end":429341,"line_start":537,"line_end":537,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429361,"byte_end":429365,"line_start":538,"line_end":538,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429372,"byte_end":429375,"line_start":538,"line_end":538,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429367,"byte_end":429370,"line_start":538,"line_end":538,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429381,"byte_end":429389,"line_start":538,"line_end":538,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429376,"byte_end":429379,"line_start":538,"line_end":538,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429395,"byte_end":429398,"line_start":538,"line_end":538,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429390,"byte_end":429393,"line_start":538,"line_end":538,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429399,"byte_end":429415,"line_start":538,"line_end":538,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429418,"byte_end":429423,"line_start":538,"line_end":538,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429425,"byte_end":429441,"line_start":538,"line_end":538,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":1140852768}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429476,"byte_end":429484,"line_start":539,"line_end":539,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429519,"byte_end":429530,"line_start":542,"line_end":542,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536872992}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429560,"byte_end":429564,"line_start":543,"line_end":543,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429551,"byte_end":429558,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429560,"byte_end":429564,"line_start":543,"line_end":543,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429551,"byte_end":429558,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429593,"byte_end":429596,"line_start":544,"line_end":544,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429607,"byte_end":429610,"line_start":544,"line_end":544,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429597,"byte_end":429605,"line_start":544,"line_end":544,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429813,"byte_end":429822,"line_start":550,"line_end":550,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429802,"byte_end":429811,"line_start":550,"line_end":550,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429823,"byte_end":429829,"line_start":550,"line_end":550,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429837,"byte_end":429840,"line_start":550,"line_end":550,"column_start":83,"column_end":86},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429832,"byte_end":429835,"line_start":550,"line_end":550,"column_start":78,"column_end":81},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429859,"byte_end":429864,"line_start":550,"line_end":550,"column_start":105,"column_end":110},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429841,"byte_end":429852,"line_start":550,"line_end":550,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":536872992}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429901,"byte_end":429907,"line_start":552,"line_end":552,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429888,"byte_end":429900,"line_start":552,"line_end":552,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219808}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429908,"byte_end":429919,"line_start":552,"line_end":552,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":4043311136}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429938,"byte_end":429940,"line_start":554,"line_end":554,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429949,"byte_end":429961,"line_start":554,"line_end":554,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":134219808}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429963,"byte_end":429969,"line_start":554,"line_end":554,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":150997024}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430039,"byte_end":430042,"line_start":557,"line_end":557,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430043,"byte_end":430059,"line_start":557,"line_end":557,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430065,"byte_end":430071,"line_start":557,"line_end":557,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430088,"byte_end":430092,"line_start":558,"line_end":558,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430140,"byte_end":430143,"line_start":561,"line_end":561,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430144,"byte_end":430160,"line_start":561,"line_end":561,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430203,"byte_end":430206,"line_start":561,"line_end":561,"column_start":104,"column_end":107},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430207,"byte_end":430223,"line_start":561,"line_end":561,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430267,"byte_end":430270,"line_start":563,"line_end":563,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430260,"byte_end":430266,"line_start":563,"line_end":563,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743906}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430289,"byte_end":430293,"line_start":564,"line_end":564,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430282,"byte_end":430288,"line_start":564,"line_end":564,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743906}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430294,"byte_end":430310,"line_start":564,"line_end":564,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430325,"byte_end":430328,"line_start":565,"line_end":565,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430345,"byte_end":430352,"line_start":565,"line_end":565,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430330,"byte_end":430343,"line_start":565,"line_end":565,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430366,"byte_end":430367,"line_start":566,"line_end":566,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430382,"byte_end":430386,"line_start":566,"line_end":566,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430369,"byte_end":430380,"line_start":566,"line_end":566,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430400,"byte_end":430408,"line_start":567,"line_end":567,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430429,"byte_end":430433,"line_start":568,"line_end":568,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430440,"byte_end":430443,"line_start":568,"line_end":568,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430435,"byte_end":430438,"line_start":568,"line_end":568,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430449,"byte_end":430457,"line_start":568,"line_end":568,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430444,"byte_end":430447,"line_start":568,"line_end":568,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430463,"byte_end":430466,"line_start":568,"line_end":568,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430458,"byte_end":430461,"line_start":568,"line_end":568,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430467,"byte_end":430483,"line_start":568,"line_end":568,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430486,"byte_end":430491,"line_start":568,"line_end":568,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430493,"byte_end":430509,"line_start":568,"line_end":568,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":2952792098}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430597,"byte_end":430607,"line_start":571,"line_end":571,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430586,"byte_end":430595,"line_start":571,"line_end":571,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430608,"byte_end":430614,"line_start":571,"line_end":571,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1073743906}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430616,"byte_end":430623,"line_start":571,"line_end":571,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":536872994}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430629,"byte_end":430634,"line_start":571,"line_end":571,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1610614818}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430654,"byte_end":430660,"line_start":573,"line_end":573,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1375733794}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366889,"byte_end":366894,"line_start":10,"line_end":10,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2083}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433724,"byte_end":433727,"line_start":1,"line_end":1,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3256}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433737,"byte_end":433744,"line_start":1,"line_end":1,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3528}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3528}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433825,"byte_end":433830,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433833,"byte_end":433839,"line_start":2,"line_end":2,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433825,"byte_end":433830,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433849,"byte_end":433853,"line_start":2,"line_end":2,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433865,"byte_end":433870,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433873,"byte_end":433876,"line_start":3,"line_end":3,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433895,"byte_end":433900,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433903,"byte_end":433912,"line_start":5,"line_end":5,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433895,"byte_end":433900,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433921,"byte_end":433928,"line_start":5,"line_end":5,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433948,"byte_end":433953,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433955,"byte_end":433962,"line_start":6,"line_end":6,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433988,"byte_end":433994,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434061,"byte_end":434066,"line_start":7,"line_end":7,"column_start":86,"column_end":91},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434078,"byte_end":434087,"line_start":7,"line_end":7,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434104,"byte_end":434109,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434111,"byte_end":434114,"line_start":9,"line_end":9,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434125,"byte_end":434130,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434132,"byte_end":434138,"line_start":10,"line_end":10,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434153,"byte_end":434158,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":315}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434161,"byte_end":434166,"line_start":11,"line_end":11,"column_start":13,"column_end":18},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434178,"byte_end":434183,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434185,"byte_end":434191,"line_start":12,"line_end":12,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434313,"byte_end":434322,"line_start":20,"line_end":20,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434288,"byte_end":434293,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3351}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434306,"byte_end":434311,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3352}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"ref_id":{"krate":0,"index":3350}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434424,"byte_end":434433,"line_start":27,"line_end":27,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434444,"byte_end":434460,"line_start":27,"line_end":27,"column_start":57,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434522,"byte_end":434531,"line_start":27,"line_end":27,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434536,"byte_end":434542,"line_start":27,"line_end":27,"column_start":149,"column_end":155},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434543,"byte_end":434549,"line_start":27,"line_end":27,"column_start":156,"column_end":162},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434550,"byte_end":434559,"line_start":27,"line_end":27,"column_start":163,"column_end":172},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434562,"byte_end":434570,"line_start":27,"line_end":27,"column_start":175,"column_end":183},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434816,"byte_end":434822,"line_start":30,"line_end":30,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873071}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434823,"byte_end":434827,"line_start":30,"line_end":30,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434838,"byte_end":434851,"line_start":30,"line_end":30,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434868,"byte_end":434873,"line_start":32,"line_end":32,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610614895}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":434889,"byte_end":434892,"line_start":32,"line_end":32,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434877,"byte_end":434881,"line_start":32,"line_end":32,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434882,"byte_end":434888,"line_start":32,"line_end":32,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3688}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434916,"byte_end":434918,"line_start":33,"line_end":33,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434919,"byte_end":434923,"line_start":33,"line_end":33,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434947,"byte_end":434959,"line_start":36,"line_end":36,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1342179439}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434981,"byte_end":434983,"line_start":37,"line_end":37,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434984,"byte_end":434988,"line_start":37,"line_end":37,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435000,"byte_end":435003,"line_start":37,"line_end":37,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434989,"byte_end":434998,"line_start":37,"line_end":37,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435007,"byte_end":435011,"line_start":37,"line_end":37,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435012,"byte_end":435018,"line_start":37,"line_end":37,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435019,"byte_end":435024,"line_start":37,"line_end":37,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1610614895}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435026,"byte_end":435032,"line_start":37,"line_end":37,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435034,"byte_end":435046,"line_start":37,"line_end":37,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435047,"byte_end":435058,"line_start":37,"line_end":37,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435106,"byte_end":435110,"line_start":40,"line_end":40,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435111,"byte_end":435117,"line_start":40,"line_end":40,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435118,"byte_end":435123,"line_start":40,"line_end":40,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":1610614895}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435125,"byte_end":435131,"line_start":40,"line_end":40,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3529}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435171,"byte_end":435180,"line_start":42,"line_end":42,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435158,"byte_end":435170,"line_start":42,"line_end":42,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435181,"byte_end":435187,"line_start":42,"line_end":42,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":805308527}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435207,"byte_end":435221,"line_start":43,"line_end":43,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435201,"byte_end":435206,"line_start":43,"line_end":43,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":100665455}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435246,"byte_end":435255,"line_start":44,"line_end":44,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":268437615}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435295,"byte_end":435306,"line_start":45,"line_end":45,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2160}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435307,"byte_end":435319,"line_start":45,"line_end":45,"column_start":50,"column_end":62},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435322,"byte_end":435326,"line_start":45,"line_end":45,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435327,"byte_end":435332,"line_start":45,"line_end":45,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435334,"byte_end":435340,"line_start":45,"line_end":45,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":805308527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435274,"byte_end":435286,"line_start":45,"line_end":45,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435382,"byte_end":435391,"line_start":47,"line_end":47,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435369,"byte_end":435381,"line_start":47,"line_end":47,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435392,"byte_end":435398,"line_start":47,"line_end":47,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":805308527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435361,"byte_end":435366,"line_start":47,"line_end":47,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":100665455}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435445,"byte_end":435447,"line_start":49,"line_end":49,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435448,"byte_end":435452,"line_start":49,"line_end":49,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435521,"byte_end":435535,"line_start":53,"line_end":53,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435515,"byte_end":435520,"line_start":53,"line_end":53,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":100665455}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435549,"byte_end":435553,"line_start":53,"line_end":53,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435554,"byte_end":435560,"line_start":53,"line_end":53,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435561,"byte_end":435566,"line_start":53,"line_end":53,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":1610614895}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435568,"byte_end":435574,"line_start":53,"line_end":53,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3532}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435613,"byte_end":435616,"line_start":55,"line_end":55,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435602,"byte_end":435611,"line_start":55,"line_end":55,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435617,"byte_end":435629,"line_start":55,"line_end":55,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3976202351}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435631,"byte_end":435648,"line_start":55,"line_end":55,"column_start":55,"column_end":72},"ref_id":{"krate":0,"index":3925870703}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435650,"byte_end":435662,"line_start":55,"line_end":55,"column_start":74,"column_end":86},"ref_id":{"krate":0,"index":1073743983}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435663,"byte_end":435674,"line_start":55,"line_end":55,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435725,"byte_end":435730,"line_start":57,"line_end":57,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435707,"byte_end":435723,"line_start":57,"line_end":57,"column_start":30,"column_end":46},"ref_id":{"krate":0,"index":3256}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435686,"byte_end":435692,"line_start":57,"line_end":57,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1660946543}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435693,"byte_end":435704,"line_start":57,"line_end":57,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3275}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435744,"byte_end":435748,"line_start":59,"line_end":59,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3623880815}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435749,"byte_end":435755,"line_start":59,"line_end":59,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435756,"byte_end":435761,"line_start":59,"line_end":59,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":1610614895}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435763,"byte_end":435768,"line_start":59,"line_end":59,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3530}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435804,"byte_end":435808,"line_start":60,"line_end":60,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435831,"byte_end":435842,"line_start":60,"line_end":60,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435810,"byte_end":435822,"line_start":60,"line_end":60,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3976202351}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435783,"byte_end":435789,"line_start":60,"line_end":60,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1660946543}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435790,"byte_end":435801,"line_start":60,"line_end":60,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3273}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435877,"byte_end":435887,"line_start":63,"line_end":63,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435870,"byte_end":435876,"line_start":63,"line_end":63,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":805308527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435890,"byte_end":435902,"line_start":63,"line_end":63,"column_start":32,"column_end":44},"ref_id":{"krate":0,"index":3976202351}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435916,"byte_end":435925,"line_start":63,"line_end":63,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":268437615}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435949,"byte_end":435951,"line_start":64,"line_end":64,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435952,"byte_end":435956,"line_start":64,"line_end":64,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435987,"byte_end":435989,"line_start":66,"line_end":66,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435990,"byte_end":435994,"line_start":66,"line_end":66,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435995,"byte_end":436001,"line_start":66,"line_end":66,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1660946543}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436093,"byte_end":436102,"line_start":73,"line_end":73,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436112,"byte_end":436115,"line_start":73,"line_end":73,"column_start":64,"column_end":67},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436136,"byte_end":436145,"line_start":73,"line_end":73,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436150,"byte_end":436156,"line_start":73,"line_end":73,"column_start":102,"column_end":108},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436157,"byte_end":436166,"line_start":73,"line_end":73,"column_start":109,"column_end":118},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436168,"byte_end":436176,"line_start":73,"line_end":73,"column_start":120,"column_end":128},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436211,"byte_end":436224,"line_start":75,"line_end":75,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436204,"byte_end":436210,"line_start":75,"line_end":75,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436225,"byte_end":436230,"line_start":75,"line_end":75,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536873072}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436286,"byte_end":436300,"line_start":77,"line_end":77,"column_start":44,"column_end":58},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436264,"byte_end":436277,"line_start":77,"line_end":77,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436251,"byte_end":436263,"line_start":77,"line_end":77,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436278,"byte_end":436284,"line_start":77,"line_end":77,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436301,"byte_end":436309,"line_start":77,"line_end":77,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":4160751728}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436328,"byte_end":436330,"line_start":79,"line_end":79,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436331,"byte_end":436343,"line_start":79,"line_end":79,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436381,"byte_end":436390,"line_start":82,"line_end":82,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436402,"byte_end":436411,"line_start":82,"line_end":82,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436432,"byte_end":436436,"line_start":84,"line_end":84,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436451,"byte_end":436456,"line_start":85,"line_end":85,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3352}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436465,"byte_end":436470,"line_start":85,"line_end":85,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436458,"byte_end":436464,"line_start":85,"line_end":85,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1073743986}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436486,"byte_end":436491,"line_start":86,"line_end":86,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3351}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436554,"byte_end":436563,"line_start":90,"line_end":90,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436586,"byte_end":436592,"line_start":90,"line_end":90,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436601,"byte_end":436607,"line_start":90,"line_end":90,"column_start":89,"column_end":95},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436608,"byte_end":436617,"line_start":90,"line_end":90,"column_start":96,"column_end":105},"ref_id":{"krate":0,"index":3269}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436663,"byte_end":436673,"line_start":92,"line_end":92,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436656,"byte_end":436662,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873075}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436674,"byte_end":436678,"line_start":92,"line_end":92,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436679,"byte_end":436684,"line_start":92,"line_end":92,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":3352}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436685,"byte_end":436696,"line_start":92,"line_end":92,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436698,"byte_end":436702,"line_start":92,"line_end":92,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436713,"byte_end":436726,"line_start":92,"line_end":92,"column_start":90,"column_end":103},"ref_id":{"krate":0,"index":3687}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436755,"byte_end":436758,"line_start":94,"line_end":94,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436743,"byte_end":436747,"line_start":94,"line_end":94,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3623880819}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436748,"byte_end":436754,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436764,"byte_end":436768,"line_start":94,"line_end":94,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436769,"byte_end":436774,"line_start":94,"line_end":94,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3351}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436796,"byte_end":436800,"line_start":95,"line_end":95,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436838,"byte_end":436842,"line_start":98,"line_end":98,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436843,"byte_end":436848,"line_start":98,"line_end":98,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3351}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436858,"byte_end":436862,"line_start":99,"line_end":99,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436863,"byte_end":436868,"line_start":99,"line_end":99,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3351}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436908,"byte_end":436914,"line_start":101,"line_end":101,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2159}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436915,"byte_end":436919,"line_start":101,"line_end":101,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436920,"byte_end":436925,"line_start":101,"line_end":101,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":3352}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436934,"byte_end":436944,"line_start":101,"line_end":101,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436927,"byte_end":436933,"line_start":101,"line_end":101,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536873075}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436945,"byte_end":436949,"line_start":101,"line_end":101,"column_start":70,"column_end":74},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436950,"byte_end":436955,"line_start":101,"line_end":101,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":3352}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436956,"byte_end":436967,"line_start":101,"line_end":101,"column_start":81,"column_end":92},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436970,"byte_end":436980,"line_start":101,"line_end":101,"column_start":95,"column_end":105},"ref_id":{"krate":0,"index":3422554227}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436995,"byte_end":437001,"line_start":101,"line_end":101,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536873075}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437019,"byte_end":437030,"line_start":103,"line_end":103,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":1241516147}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437045,"byte_end":437047,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437045,"byte_end":437047,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437081,"byte_end":437085,"line_start":105,"line_end":105,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1778387059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437108,"byte_end":437112,"line_start":106,"line_end":106,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437108,"byte_end":437112,"line_start":106,"line_end":106,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437160,"byte_end":437170,"line_start":107,"line_end":107,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437153,"byte_end":437159,"line_start":107,"line_end":107,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873075}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437173,"byte_end":437179,"line_start":107,"line_end":107,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":973080691}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437180,"byte_end":437189,"line_start":107,"line_end":107,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437203,"byte_end":437213,"line_start":107,"line_end":107,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":1610614899}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437244,"byte_end":437248,"line_start":108,"line_end":108,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437250,"byte_end":437260,"line_start":108,"line_end":108,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3422554227}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437262,"byte_end":437266,"line_start":108,"line_end":108,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437330,"byte_end":437334,"line_start":110,"line_end":110,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437336,"byte_end":437346,"line_start":110,"line_end":110,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3422554227}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437348,"byte_end":437352,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437353,"byte_end":437359,"line_start":110,"line_end":110,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":973080691}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437432,"byte_end":437436,"line_start":113,"line_end":113,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437432,"byte_end":437436,"line_start":113,"line_end":113,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437440,"byte_end":437444,"line_start":113,"line_end":113,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437490,"byte_end":437493,"line_start":116,"line_end":116,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437490,"byte_end":437493,"line_start":116,"line_end":116,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437503,"byte_end":437507,"line_start":116,"line_end":116,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":3350}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437547,"byte_end":437555,"line_start":123,"line_end":123,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437617,"byte_end":437626,"line_start":125,"line_end":125,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437644,"byte_end":437653,"line_start":125,"line_end":125,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437658,"byte_end":437665,"line_start":125,"line_end":125,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437702,"byte_end":437711,"line_start":126,"line_end":126,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437695,"byte_end":437701,"line_start":126,"line_end":126,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873078}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437712,"byte_end":437718,"line_start":126,"line_end":126,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614902}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437745,"byte_end":437759,"line_start":128,"line_end":128,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437735,"byte_end":437742,"line_start":128,"line_end":128,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961718}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437785,"byte_end":437789,"line_start":128,"line_end":128,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437776,"byte_end":437783,"line_start":128,"line_end":128,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437827,"byte_end":437830,"line_start":130,"line_end":130,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437822,"byte_end":437825,"line_start":130,"line_end":130,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437869,"byte_end":437877,"line_start":132,"line_end":132,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2162}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437859,"byte_end":437867,"line_start":132,"line_end":132,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437879,"byte_end":437885,"line_start":132,"line_end":132,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536873078}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437887,"byte_end":437893,"line_start":132,"line_end":132,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610614902}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437942,"byte_end":437951,"line_start":134,"line_end":134,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437936,"byte_end":437941,"line_start":134,"line_end":134,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3959425142}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437952,"byte_end":437958,"line_start":134,"line_end":134,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610614902}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437915,"byte_end":437919,"line_start":134,"line_end":134,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437998,"byte_end":438002,"line_start":135,"line_end":135,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3690989686}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437988,"byte_end":437992,"line_start":135,"line_end":135,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438031,"byte_end":438035,"line_start":136,"line_end":136,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438021,"byte_end":438030,"line_start":136,"line_end":136,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288310}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438047,"byte_end":438058,"line_start":136,"line_end":136,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438036,"byte_end":438045,"line_start":136,"line_end":136,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438059,"byte_end":438064,"line_start":136,"line_end":136,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1073743990}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438071,"byte_end":438072,"line_start":136,"line_end":136,"column_start":67,"column_end":68},"ref_id":{"krate":0,"index":301992054}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438074,"byte_end":438080,"line_start":136,"line_end":136,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1610614902}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438132,"byte_end":438136,"line_start":138,"line_end":138,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438122,"byte_end":438131,"line_start":138,"line_end":138,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288310}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438146,"byte_end":438150,"line_start":138,"line_end":138,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438137,"byte_end":438144,"line_start":138,"line_end":138,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438196,"byte_end":438201,"line_start":143,"line_end":143,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438187,"byte_end":438194,"line_start":143,"line_end":143,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438202,"byte_end":438211,"line_start":143,"line_end":143,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1409288310}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438255,"byte_end":438266,"line_start":146,"line_end":146,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438293,"byte_end":438298,"line_start":146,"line_end":146,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438280,"byte_end":438291,"line_start":146,"line_end":146,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438347,"byte_end":438358,"line_start":147,"line_end":147,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438385,"byte_end":438390,"line_start":147,"line_end":147,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438372,"byte_end":438383,"line_start":147,"line_end":147,"column_start":71,"column_end":82},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438426,"byte_end":438429,"line_start":149,"line_end":149,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438430,"byte_end":438446,"line_start":149,"line_end":149,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438467,"byte_end":438473,"line_start":149,"line_end":149,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438474,"byte_end":438481,"line_start":149,"line_end":149,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438483,"byte_end":438491,"line_start":149,"line_end":149,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438532,"byte_end":438535,"line_start":150,"line_end":150,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438525,"byte_end":438530,"line_start":150,"line_end":150,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438559,"byte_end":438565,"line_start":151,"line_end":151,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438547,"byte_end":438558,"line_start":151,"line_end":151,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308538}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438573,"byte_end":438581,"line_start":151,"line_end":151,"column_start":35,"column_end":43},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438594,"byte_end":438600,"line_start":151,"line_end":151,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438585,"byte_end":438592,"line_start":151,"line_end":151,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438620,"byte_end":438629,"line_start":151,"line_end":151,"column_start":82,"column_end":91},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438607,"byte_end":438615,"line_start":151,"line_end":151,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1725}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438668,"byte_end":438674,"line_start":153,"line_end":153,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743994}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438675,"byte_end":438682,"line_start":153,"line_end":153,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536873082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438684,"byte_end":438688,"line_start":153,"line_end":153,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438699,"byte_end":438712,"line_start":153,"line_end":153,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438751,"byte_end":438754,"line_start":155,"line_end":155,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438755,"byte_end":438762,"line_start":155,"line_end":155,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438768,"byte_end":438774,"line_start":155,"line_end":155,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743994}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438775,"byte_end":438782,"line_start":155,"line_end":155,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":536873082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438784,"byte_end":438792,"line_start":155,"line_end":155,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":3563}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438924,"byte_end":438931,"line_start":157,"line_end":157,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438813,"byte_end":438816,"line_start":155,"line_end":155,"column_start":96,"column_end":99},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438806,"byte_end":438810,"line_start":155,"line_end":155,"column_start":89,"column_end":93},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438794,"byte_end":438798,"line_start":155,"line_end":155,"column_start":77,"column_end":81},"ref_id":{"krate":0,"index":1275070586}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438799,"byte_end":438805,"line_start":155,"line_end":155,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438888,"byte_end":438897,"line_start":156,"line_end":156,"column_start":61,"column_end":70},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438851,"byte_end":438864,"line_start":156,"line_end":156,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2470}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438840,"byte_end":438849,"line_start":156,"line_end":156,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438865,"byte_end":438871,"line_start":156,"line_end":156,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073743994}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438873,"byte_end":438879,"line_start":156,"line_end":156,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":2449475706}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438880,"byte_end":438886,"line_start":156,"line_end":156,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3529}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438907,"byte_end":438911,"line_start":156,"line_end":156,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438898,"byte_end":438905,"line_start":156,"line_end":156,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438957,"byte_end":438963,"line_start":159,"line_end":159,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438945,"byte_end":438956,"line_start":159,"line_end":159,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308538}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438973,"byte_end":438981,"line_start":159,"line_end":159,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438994,"byte_end":438999,"line_start":159,"line_end":159,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438985,"byte_end":438992,"line_start":159,"line_end":159,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439000,"byte_end":439012,"line_start":159,"line_end":159,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":2248149114}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439030,"byte_end":439042,"line_start":161,"line_end":161,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":2248149114}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439071,"byte_end":439077,"line_start":162,"line_end":162,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439059,"byte_end":439070,"line_start":162,"line_end":162,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805308538}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439087,"byte_end":439095,"line_start":162,"line_end":162,"column_start":41,"column_end":49},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439108,"byte_end":439112,"line_start":162,"line_end":162,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439099,"byte_end":439106,"line_start":162,"line_end":162,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439134,"byte_end":439136,"line_start":165,"line_end":165,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439146,"byte_end":439156,"line_start":165,"line_end":165,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439137,"byte_end":439144,"line_start":165,"line_end":165,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439157,"byte_end":439168,"line_start":165,"line_end":165,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308538}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439346,"byte_end":439351,"line_start":168,"line_end":168,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439245,"byte_end":439254,"line_start":168,"line_end":168,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439270,"byte_end":439279,"line_start":168,"line_end":168,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439289,"byte_end":439292,"line_start":168,"line_end":168,"column_start":112,"column_end":115},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439293,"byte_end":439300,"line_start":168,"line_end":168,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439306,"byte_end":439312,"line_start":168,"line_end":168,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439317,"byte_end":439325,"line_start":168,"line_end":168,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439380,"byte_end":439385,"line_start":170,"line_end":170,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179452}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439409,"byte_end":439414,"line_start":171,"line_end":171,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439400,"byte_end":439407,"line_start":171,"line_end":171,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439409,"byte_end":439414,"line_start":171,"line_end":171,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439400,"byte_end":439407,"line_start":171,"line_end":171,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439479,"byte_end":439488,"line_start":172,"line_end":172,"column_start":54,"column_end":63},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439472,"byte_end":439476,"line_start":172,"line_end":172,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439467,"byte_end":439471,"line_start":172,"line_end":172,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1207961724}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439529,"byte_end":439535,"line_start":173,"line_end":173,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2159}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439519,"byte_end":439527,"line_start":173,"line_end":173,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439536,"byte_end":439542,"line_start":173,"line_end":173,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":1610614908}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439551,"byte_end":439561,"line_start":173,"line_end":173,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439544,"byte_end":439550,"line_start":173,"line_end":173,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":268437628}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439562,"byte_end":439568,"line_start":173,"line_end":173,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1610614908}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439569,"byte_end":439580,"line_start":173,"line_end":173,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439583,"byte_end":439586,"line_start":173,"line_end":173,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":3623880828}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439601,"byte_end":439607,"line_start":173,"line_end":173,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":268437628}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439636,"byte_end":439640,"line_start":174,"line_end":174,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439636,"byte_end":439640,"line_start":174,"line_end":174,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439688,"byte_end":439701,"line_start":175,"line_end":175,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439677,"byte_end":439686,"line_start":175,"line_end":175,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439702,"byte_end":439707,"line_start":175,"line_end":175,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743996}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439713,"byte_end":439723,"line_start":175,"line_end":175,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536873084}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439725,"byte_end":439726,"line_start":175,"line_end":175,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":2449475708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439728,"byte_end":439734,"line_start":175,"line_end":175,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":268437628}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439742,"byte_end":439745,"line_start":175,"line_end":175,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439737,"byte_end":439740,"line_start":175,"line_end":175,"column_start":89,"column_end":92},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439757,"byte_end":439762,"line_start":175,"line_end":175,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439746,"byte_end":439756,"line_start":175,"line_end":175,"column_start":98,"column_end":108},"ref_id":{"krate":0,"index":939526268}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439820,"byte_end":439824,"line_start":177,"line_end":177,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439820,"byte_end":439824,"line_start":177,"line_end":177,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439866,"byte_end":439869,"line_start":178,"line_end":178,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439880,"byte_end":439883,"line_start":178,"line_end":178,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439870,"byte_end":439878,"line_start":178,"line_end":178,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440046,"byte_end":440048,"line_start":186,"line_end":186,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440098,"byte_end":440107,"line_start":189,"line_end":189,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440125,"byte_end":440134,"line_start":189,"line_end":189,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440139,"byte_end":440145,"line_start":189,"line_end":189,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440153,"byte_end":440161,"line_start":189,"line_end":189,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440200,"byte_end":440209,"line_start":191,"line_end":191,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440193,"byte_end":440199,"line_start":191,"line_end":191,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440210,"byte_end":440216,"line_start":191,"line_end":191,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614910}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440243,"byte_end":440257,"line_start":193,"line_end":193,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440233,"byte_end":440240,"line_start":193,"line_end":193,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961726}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440286,"byte_end":440288,"line_start":194,"line_end":194,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440370,"byte_end":440378,"line_start":199,"line_end":199,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2162}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440380,"byte_end":440386,"line_start":199,"line_end":199,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536873086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440388,"byte_end":440394,"line_start":199,"line_end":199,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614910}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440437,"byte_end":440447,"line_start":201,"line_end":201,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440430,"byte_end":440436,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440448,"byte_end":440454,"line_start":201,"line_end":201,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536873086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440455,"byte_end":440466,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440468,"byte_end":440472,"line_start":201,"line_end":201,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440483,"byte_end":440496,"line_start":201,"line_end":201,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3687}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440548,"byte_end":440557,"line_start":203,"line_end":203,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440542,"byte_end":440547,"line_start":203,"line_end":203,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":738199678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440558,"byte_end":440564,"line_start":203,"line_end":203,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610614910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440520,"byte_end":440524,"line_start":203,"line_end":203,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440609,"byte_end":440613,"line_start":204,"line_end":204,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":838862974}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440594,"byte_end":440598,"line_start":204,"line_end":204,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440632,"byte_end":440640,"line_start":205,"line_end":205,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3825207422}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440683,"byte_end":440687,"line_start":206,"line_end":206,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":301992062}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440688,"byte_end":440694,"line_start":206,"line_end":206,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440695,"byte_end":440700,"line_start":206,"line_end":206,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3523217534}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440722,"byte_end":440734,"line_start":207,"line_end":207,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":905971838}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440735,"byte_end":440740,"line_start":207,"line_end":207,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440775,"byte_end":440787,"line_start":208,"line_end":208,"column_start":33,"column_end":45},"ref_id":{"krate":0,"index":905971838}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440788,"byte_end":440792,"line_start":208,"line_end":208,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440763,"byte_end":440771,"line_start":208,"line_end":208,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207422}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440862,"byte_end":440871,"line_start":210,"line_end":210,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440851,"byte_end":440860,"line_start":210,"line_end":210,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440872,"byte_end":440877,"line_start":210,"line_end":210,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743998}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440884,"byte_end":440890,"line_start":210,"line_end":210,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":2583693438}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440892,"byte_end":440898,"line_start":210,"line_end":210,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440839,"byte_end":440847,"line_start":210,"line_end":210,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207422}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440963,"byte_end":440965,"line_start":215,"line_end":215,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440966,"byte_end":440974,"line_start":215,"line_end":215,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207422}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441186,"byte_end":441191,"line_start":219,"line_end":219,"column_start":196,"column_end":201},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441035,"byte_end":441044,"line_start":219,"line_end":219,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441067,"byte_end":441076,"line_start":219,"line_end":219,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441093,"byte_end":441102,"line_start":219,"line_end":219,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441123,"byte_end":441132,"line_start":219,"line_end":219,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441137,"byte_end":441143,"line_start":219,"line_end":219,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441144,"byte_end":441153,"line_start":219,"line_end":219,"column_start":154,"column_end":163},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441155,"byte_end":441163,"line_start":219,"line_end":219,"column_start":165,"column_end":173},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441232,"byte_end":441241,"line_start":221,"line_end":221,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441220,"byte_end":441231,"line_start":221,"line_end":221,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536873088}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441242,"byte_end":441253,"line_start":221,"line_end":221,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614912}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441279,"byte_end":441293,"line_start":223,"line_end":223,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441268,"byte_end":441278,"line_start":223,"line_end":223,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445376}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441322,"byte_end":441324,"line_start":224,"line_end":224,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441325,"byte_end":441334,"line_start":224,"line_end":224,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437632}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441392,"byte_end":441402,"line_start":227,"line_end":227,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441380,"byte_end":441391,"line_start":227,"line_end":227,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614912}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441403,"byte_end":441414,"line_start":227,"line_end":227,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536873088}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441415,"byte_end":441426,"line_start":227,"line_end":227,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441428,"byte_end":441432,"line_start":227,"line_end":227,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441443,"byte_end":441456,"line_start":227,"line_end":227,"column_start":96,"column_end":109},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441500,"byte_end":441504,"line_start":229,"line_end":229,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":469764224}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441505,"byte_end":441511,"line_start":229,"line_end":229,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441514,"byte_end":441518,"line_start":229,"line_end":229,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":469764224}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441519,"byte_end":441524,"line_start":229,"line_end":229,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3689}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441554,"byte_end":441565,"line_start":231,"line_end":231,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2160}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441566,"byte_end":441575,"line_start":231,"line_end":231,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":268437632}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441578,"byte_end":441582,"line_start":231,"line_end":231,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":469764224}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441583,"byte_end":441588,"line_start":231,"line_end":231,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441590,"byte_end":441599,"line_start":231,"line_end":231,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1342179456}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441536,"byte_end":441545,"line_start":231,"line_end":231,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437632}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441634,"byte_end":441642,"line_start":233,"line_end":233,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2162}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441644,"byte_end":441655,"line_start":233,"line_end":233,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":536873088}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441657,"byte_end":441668,"line_start":233,"line_end":233,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1610614912}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441716,"byte_end":441725,"line_start":235,"line_end":235,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441710,"byte_end":441715,"line_start":235,"line_end":235,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":771754112}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441726,"byte_end":441737,"line_start":235,"line_end":235,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":1610614912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441690,"byte_end":441694,"line_start":235,"line_end":235,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441786,"byte_end":441790,"line_start":236,"line_end":236,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":503318656}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441767,"byte_end":441771,"line_start":236,"line_end":236,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441819,"byte_end":441830,"line_start":237,"line_end":237,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441809,"byte_end":441818,"line_start":237,"line_end":237,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1342179456}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441833,"byte_end":441843,"line_start":237,"line_end":237,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2701133952}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441844,"byte_end":441853,"line_start":237,"line_end":237,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441891,"byte_end":441898,"line_start":238,"line_end":238,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441880,"byte_end":441889,"line_start":238,"line_end":238,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441899,"byte_end":441904,"line_start":238,"line_end":238,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073744000}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441921,"byte_end":441926,"line_start":238,"line_end":238,"column_start":58,"column_end":63},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441910,"byte_end":441920,"line_start":238,"line_end":238,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":2701133952}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441930,"byte_end":441941,"line_start":238,"line_end":238,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":1610614912}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441954,"byte_end":441957,"line_start":238,"line_end":238,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441943,"byte_end":441952,"line_start":238,"line_end":238,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441958,"byte_end":441968,"line_start":238,"line_end":238,"column_start":95,"column_end":105},"ref_id":{"krate":0,"index":2701133952}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441969,"byte_end":441978,"line_start":238,"line_end":238,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":3270}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441980,"byte_end":441991,"line_start":238,"line_end":238,"column_start":117,"column_end":128},"ref_id":{"krate":0,"index":570427520}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441992,"byte_end":441995,"line_start":238,"line_end":238,"column_start":129,"column_end":132},"ref_id":{"krate":0,"index":3992979584}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441997,"byte_end":442003,"line_start":238,"line_end":238,"column_start":134,"column_end":140},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442005,"byte_end":442014,"line_start":238,"line_end":238,"column_start":142,"column_end":151},"ref_id":{"krate":0,"index":268437632}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442015,"byte_end":442026,"line_start":238,"line_end":238,"column_start":152,"column_end":163},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442029,"byte_end":442038,"line_start":238,"line_end":238,"column_start":166,"column_end":175},"ref_id":{"krate":0,"index":1342179456}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442075,"byte_end":442077,"line_start":242,"line_end":242,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442078,"byte_end":442087,"line_start":242,"line_end":242,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437632}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442126,"byte_end":442129,"line_start":245,"line_end":245,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442130,"byte_end":442146,"line_start":245,"line_end":245,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442167,"byte_end":442173,"line_start":245,"line_end":245,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442174,"byte_end":442180,"line_start":245,"line_end":245,"column_start":79,"column_end":85},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442182,"byte_end":442190,"line_start":245,"line_end":245,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442226,"byte_end":442232,"line_start":246,"line_end":246,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073744001}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442233,"byte_end":442240,"line_start":246,"line_end":246,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536873089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442242,"byte_end":442246,"line_start":246,"line_end":246,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442257,"byte_end":442270,"line_start":246,"line_end":246,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3687}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442309,"byte_end":442313,"line_start":248,"line_end":248,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442301,"byte_end":442307,"line_start":248,"line_end":248,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442373,"byte_end":442376,"line_start":250,"line_end":250,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442361,"byte_end":442365,"line_start":250,"line_end":250,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744832641}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442366,"byte_end":442372,"line_start":250,"line_end":250,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442431,"byte_end":442440,"line_start":251,"line_end":251,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442424,"byte_end":442428,"line_start":251,"line_end":251,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442412,"byte_end":442416,"line_start":251,"line_end":251,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832641}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442417,"byte_end":442423,"line_start":251,"line_end":251,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442464,"byte_end":442472,"line_start":252,"line_end":252,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442457,"byte_end":442463,"line_start":252,"line_end":252,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442520,"byte_end":442526,"line_start":252,"line_end":252,"column_start":76,"column_end":82},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442484,"byte_end":442496,"line_start":252,"line_end":252,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":2468}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442473,"byte_end":442482,"line_start":252,"line_end":252,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442497,"byte_end":442503,"line_start":252,"line_end":252,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073744001}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442505,"byte_end":442510,"line_start":252,"line_end":252,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":1275070593}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442511,"byte_end":442517,"line_start":252,"line_end":252,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442546,"byte_end":442549,"line_start":253,"line_end":253,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":2348812417}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442552,"byte_end":442562,"line_start":253,"line_end":253,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2483030145}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442588,"byte_end":442596,"line_start":254,"line_end":254,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442581,"byte_end":442587,"line_start":254,"line_end":254,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442644,"byte_end":442652,"line_start":258,"line_end":258,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442637,"byte_end":442643,"line_start":258,"line_end":258,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442670,"byte_end":442676,"line_start":259,"line_end":259,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073744001}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442677,"byte_end":442684,"line_start":259,"line_end":259,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536873089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442686,"byte_end":442694,"line_start":259,"line_end":259,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3563}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442724,"byte_end":442732,"line_start":260,"line_end":260,"column_start":20,"column_end":28},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442717,"byte_end":442723,"line_start":260,"line_end":260,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442777,"byte_end":442785,"line_start":262,"line_end":262,"column_start":16,"column_end":24},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442770,"byte_end":442776,"line_start":262,"line_end":262,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442801,"byte_end":442803,"line_start":263,"line_end":263,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442804,"byte_end":442810,"line_start":263,"line_end":263,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442867,"byte_end":442870,"line_start":267,"line_end":267,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442871,"byte_end":442887,"line_start":267,"line_end":267,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442909,"byte_end":442918,"line_start":267,"line_end":267,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442927,"byte_end":442930,"line_start":267,"line_end":267,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442931,"byte_end":442937,"line_start":267,"line_end":267,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442943,"byte_end":442949,"line_start":267,"line_end":267,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442957,"byte_end":442960,"line_start":267,"line_end":267,"column_start":129,"column_end":132},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442966,"byte_end":442969,"line_start":267,"line_end":267,"column_start":138,"column_end":141},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442970,"byte_end":442986,"line_start":267,"line_end":267,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442990,"byte_end":442998,"line_start":267,"line_end":267,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443031,"byte_end":443034,"line_start":268,"line_end":268,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443046,"byte_end":443049,"line_start":268,"line_end":268,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443041,"byte_end":443044,"line_start":268,"line_end":268,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443073,"byte_end":443077,"line_start":269,"line_end":269,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443061,"byte_end":443072,"line_start":269,"line_end":269,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671090818}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443091,"byte_end":443096,"line_start":269,"line_end":269,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443078,"byte_end":443089,"line_start":269,"line_end":269,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443168,"byte_end":443174,"line_start":272,"line_end":272,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443176,"byte_end":443179,"line_start":272,"line_end":272,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443180,"byte_end":443186,"line_start":272,"line_end":272,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443191,"byte_end":443195,"line_start":272,"line_end":272,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443214,"byte_end":443217,"line_start":274,"line_end":274,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443209,"byte_end":443213,"line_start":274,"line_end":274,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437634}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443245,"byte_end":443249,"line_start":275,"line_end":275,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437634}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443288,"byte_end":443298,"line_start":276,"line_end":276,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443279,"byte_end":443285,"line_start":276,"line_end":276,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443271,"byte_end":443277,"line_start":276,"line_end":276,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2818}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443346,"byte_end":443356,"line_start":277,"line_end":277,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":33556610}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443406,"byte_end":443410,"line_start":278,"line_end":278,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443393,"byte_end":443400,"line_start":278,"line_end":278,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443389,"byte_end":443392,"line_start":278,"line_end":278,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614914}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443401,"byte_end":443404,"line_start":278,"line_end":278,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":2717911170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443489,"byte_end":443495,"line_start":280,"line_end":280,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443615,"byte_end":443620,"line_start":283,"line_end":283,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1644169346}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443675,"byte_end":443681,"line_start":284,"line_end":284,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443667,"byte_end":443672,"line_start":284,"line_end":284,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443659,"byte_end":443665,"line_start":284,"line_end":284,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443744,"byte_end":443748,"line_start":285,"line_end":285,"column_start":56,"column_end":60},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443749,"byte_end":443755,"line_start":285,"line_end":285,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":369100930}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443729,"byte_end":443741,"line_start":285,"line_end":285,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":201328770}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444072,"byte_end":444078,"line_start":298,"line_end":298,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444105,"byte_end":444109,"line_start":299,"line_end":299,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444093,"byte_end":444104,"line_start":299,"line_end":299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090818}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444155,"byte_end":444159,"line_start":301,"line_end":301,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444143,"byte_end":444154,"line_start":301,"line_end":301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090818}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444209,"byte_end":444221,"line_start":304,"line_end":304,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":201328770}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444190,"byte_end":444194,"line_start":304,"line_end":304,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444261,"byte_end":444264,"line_start":306,"line_end":306,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444265,"byte_end":444268,"line_start":306,"line_end":306,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444281,"byte_end":444284,"line_start":306,"line_end":306,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444276,"byte_end":444279,"line_start":306,"line_end":306,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444324,"byte_end":444327,"line_start":307,"line_end":307,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444317,"byte_end":444323,"line_start":307,"line_end":307,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444350,"byte_end":444354,"line_start":308,"line_end":308,"column_start":20,"column_end":24},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444343,"byte_end":444349,"line_start":308,"line_end":308,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444355,"byte_end":444371,"line_start":308,"line_end":308,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444390,"byte_end":444393,"line_start":309,"line_end":309,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444410,"byte_end":444417,"line_start":309,"line_end":309,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444395,"byte_end":444408,"line_start":309,"line_end":309,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444435,"byte_end":444436,"line_start":310,"line_end":310,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444451,"byte_end":444456,"line_start":310,"line_end":310,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444438,"byte_end":444449,"line_start":310,"line_end":310,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444474,"byte_end":444482,"line_start":311,"line_end":311,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444484,"byte_end":444490,"line_start":311,"line_end":311,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444508,"byte_end":444512,"line_start":312,"line_end":312,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444519,"byte_end":444522,"line_start":312,"line_end":312,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444514,"byte_end":444517,"line_start":312,"line_end":312,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444528,"byte_end":444536,"line_start":312,"line_end":312,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444523,"byte_end":444526,"line_start":312,"line_end":312,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444542,"byte_end":444545,"line_start":312,"line_end":312,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444537,"byte_end":444540,"line_start":312,"line_end":312,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444546,"byte_end":444559,"line_start":312,"line_end":312,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444562,"byte_end":444568,"line_start":312,"line_end":312,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444575,"byte_end":444578,"line_start":312,"line_end":312,"column_start":84,"column_end":87},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444570,"byte_end":444573,"line_start":312,"line_end":312,"column_start":79,"column_end":82},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444582,"byte_end":444587,"line_start":312,"line_end":312,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":3689}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444594,"byte_end":444597,"line_start":312,"line_end":312,"column_start":103,"column_end":106},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444589,"byte_end":444592,"line_start":312,"line_end":312,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444673,"byte_end":444676,"line_start":315,"line_end":315,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444677,"byte_end":444691,"line_start":315,"line_end":315,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3528}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444700,"byte_end":444703,"line_start":315,"line_end":315,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444695,"byte_end":444698,"line_start":315,"line_end":315,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444749,"byte_end":444755,"line_start":317,"line_end":317,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444828,"byte_end":444838,"line_start":321,"line_end":321,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":754976898}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444889,"byte_end":444892,"line_start":322,"line_end":322,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444874,"byte_end":444888,"line_start":322,"line_end":322,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1216350338}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444966,"byte_end":444974,"line_start":323,"line_end":323,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444955,"byte_end":444964,"line_start":323,"line_end":323,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444975,"byte_end":444989,"line_start":323,"line_end":323,"column_start":80,"column_end":94},"ref_id":{"krate":0,"index":1216350338}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444991,"byte_end":444994,"line_start":323,"line_end":323,"column_start":96,"column_end":99},"ref_id":{"krate":0,"index":1610614914}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444997,"byte_end":445000,"line_start":323,"line_end":323,"column_start":102,"column_end":105},"ref_id":{"krate":0,"index":2558527618}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445026,"byte_end":445032,"line_start":324,"line_end":324,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3800041602}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445033,"byte_end":445043,"line_start":324,"line_end":324,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":1686112386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445045,"byte_end":445048,"line_start":324,"line_end":324,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445086,"byte_end":445093,"line_start":325,"line_end":325,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445071,"byte_end":445084,"line_start":325,"line_end":325,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445086,"byte_end":445093,"line_start":325,"line_end":325,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445071,"byte_end":445084,"line_start":325,"line_end":325,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445136,"byte_end":445140,"line_start":326,"line_end":326,"column_start":38,"column_end":42},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445123,"byte_end":445135,"line_start":326,"line_end":326,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2961180802}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445141,"byte_end":445155,"line_start":326,"line_end":326,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445158,"byte_end":445164,"line_start":326,"line_end":326,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445166,"byte_end":445176,"line_start":326,"line_end":326,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1686112386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445178,"byte_end":445184,"line_start":326,"line_end":326,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445186,"byte_end":445197,"line_start":326,"line_end":326,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445199,"byte_end":445203,"line_start":326,"line_end":326,"column_start":101,"column_end":105},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445208,"byte_end":445213,"line_start":326,"line_end":326,"column_start":110,"column_end":115},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445249,"byte_end":445260,"line_start":327,"line_end":327,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445325,"byte_end":445330,"line_start":329,"line_end":329,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445310,"byte_end":445323,"line_start":329,"line_end":329,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445325,"byte_end":445330,"line_start":329,"line_end":329,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445310,"byte_end":445323,"line_start":329,"line_end":329,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445376,"byte_end":445380,"line_start":330,"line_end":330,"column_start":38,"column_end":42},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445363,"byte_end":445375,"line_start":330,"line_end":330,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2961180802}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445381,"byte_end":445395,"line_start":330,"line_end":330,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445398,"byte_end":445404,"line_start":330,"line_end":330,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445406,"byte_end":445416,"line_start":330,"line_end":330,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1686112386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445418,"byte_end":445424,"line_start":330,"line_end":330,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445426,"byte_end":445437,"line_start":330,"line_end":330,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445439,"byte_end":445443,"line_start":330,"line_end":330,"column_start":101,"column_end":105},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445445,"byte_end":445446,"line_start":330,"line_end":330,"column_start":107,"column_end":108},"ref_id":{"krate":0,"index":3061844098}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445457,"byte_end":445462,"line_start":330,"line_end":330,"column_start":119,"column_end":124},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445512,"byte_end":445513,"line_start":331,"line_end":331,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3061844098}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445497,"byte_end":445508,"line_start":331,"line_end":331,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445580,"byte_end":445591,"line_start":334,"line_end":334,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445631,"byte_end":445637,"line_start":335,"line_end":335,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3800041602}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445614,"byte_end":445628,"line_start":335,"line_end":335,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1216350338}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445658,"byte_end":445664,"line_start":336,"line_end":336,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445668,"byte_end":445679,"line_start":336,"line_end":336,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2726299778}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445718,"byte_end":445721,"line_start":337,"line_end":337,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445732,"byte_end":445735,"line_start":337,"line_end":337,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445722,"byte_end":445730,"line_start":337,"line_end":337,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445844,"byte_end":445848,"line_start":339,"line_end":339,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445829,"byte_end":445843,"line_start":339,"line_end":339,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1660946562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445849,"byte_end":445861,"line_start":339,"line_end":339,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":1652557954}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445932,"byte_end":445948,"line_start":342,"line_end":342,"column_start":42,"column_end":58},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445967,"byte_end":445970,"line_start":343,"line_end":343,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445987,"byte_end":445994,"line_start":343,"line_end":343,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445972,"byte_end":445985,"line_start":343,"line_end":343,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446012,"byte_end":446013,"line_start":344,"line_end":344,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446028,"byte_end":446033,"line_start":344,"line_end":344,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446015,"byte_end":446026,"line_start":344,"line_end":344,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446051,"byte_end":446059,"line_start":345,"line_end":345,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446061,"byte_end":446067,"line_start":345,"line_end":345,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446085,"byte_end":446089,"line_start":346,"line_end":346,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446096,"byte_end":446099,"line_start":346,"line_end":346,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446091,"byte_end":446094,"line_start":346,"line_end":346,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446105,"byte_end":446113,"line_start":346,"line_end":346,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446100,"byte_end":446103,"line_start":346,"line_end":346,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446119,"byte_end":446122,"line_start":346,"line_end":346,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446114,"byte_end":446117,"line_start":346,"line_end":346,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446123,"byte_end":446136,"line_start":346,"line_end":346,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446139,"byte_end":446145,"line_start":346,"line_end":346,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446147,"byte_end":446159,"line_start":346,"line_end":346,"column_start":79,"column_end":91},"ref_id":{"krate":0,"index":2961180802}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446161,"byte_end":446166,"line_start":346,"line_end":346,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446176,"byte_end":446187,"line_start":346,"line_end":346,"column_start":108,"column_end":119},"ref_id":{"krate":0,"index":1753221250}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445903,"byte_end":445917,"line_start":342,"line_end":342,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":1216350338}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445918,"byte_end":445928,"line_start":342,"line_end":342,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3003123842}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446257,"byte_end":446260,"line_start":349,"line_end":349,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446242,"byte_end":446256,"line_start":349,"line_end":349,"column_start":16,"column_end":30},"ref_id":{"krate":0,"index":1660946562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446294,"byte_end":446297,"line_start":350,"line_end":350,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446308,"byte_end":446311,"line_start":350,"line_end":350,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446298,"byte_end":446306,"line_start":350,"line_end":350,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446439,"byte_end":446443,"line_start":354,"line_end":354,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446427,"byte_end":446438,"line_start":354,"line_end":354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090818}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446459,"byte_end":446462,"line_start":354,"line_end":354,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446444,"byte_end":446458,"line_start":354,"line_end":354,"column_start":30,"column_end":44},"ref_id":{"krate":0,"index":1660946562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446501,"byte_end":446515,"line_start":356,"line_end":356,"column_start":24,"column_end":38},"ref_id":{"krate":0,"index":1660946562}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446546,"byte_end":446549,"line_start":358,"line_end":358,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446542,"byte_end":446545,"line_start":358,"line_end":358,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":1681918082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446559,"byte_end":446562,"line_start":358,"line_end":358,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446601,"byte_end":446604,"line_start":359,"line_end":359,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446615,"byte_end":446618,"line_start":359,"line_end":359,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446605,"byte_end":446613,"line_start":359,"line_end":359,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446740,"byte_end":446746,"line_start":363,"line_end":363,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446728,"byte_end":446739,"line_start":363,"line_end":363,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671090818}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446780,"byte_end":446786,"line_start":363,"line_end":363,"column_start":69,"column_end":75},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446766,"byte_end":446777,"line_start":363,"line_end":363,"column_start":55,"column_end":66},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446752,"byte_end":446755,"line_start":363,"line_end":363,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446748,"byte_end":446751,"line_start":363,"line_end":363,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1681918082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446819,"byte_end":446825,"line_start":364,"line_end":364,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446807,"byte_end":446818,"line_start":364,"line_end":364,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671090818}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446826,"byte_end":446829,"line_start":364,"line_end":364,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1681918082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446863,"byte_end":446865,"line_start":367,"line_end":367,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446867,"byte_end":446873,"line_start":367,"line_end":367,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3288336514}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446875,"byte_end":446886,"line_start":367,"line_end":367,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":671090818}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446888,"byte_end":446902,"line_start":367,"line_end":367,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1216350338}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446934,"byte_end":446937,"line_start":369,"line_end":369,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446948,"byte_end":446951,"line_start":369,"line_end":369,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446938,"byte_end":446946,"line_start":369,"line_end":369,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447076,"byte_end":447079,"line_start":373,"line_end":373,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447080,"byte_end":447096,"line_start":373,"line_end":373,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447113,"byte_end":447116,"line_start":373,"line_end":373,"column_start":77,"column_end":80},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447117,"byte_end":447124,"line_start":373,"line_end":373,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447130,"byte_end":447136,"line_start":373,"line_end":373,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447144,"byte_end":447147,"line_start":373,"line_end":373,"column_start":108,"column_end":111},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447153,"byte_end":447156,"line_start":373,"line_end":373,"column_start":117,"column_end":120},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447157,"byte_end":447173,"line_start":373,"line_end":373,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447177,"byte_end":447185,"line_start":373,"line_end":373,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447224,"byte_end":447227,"line_start":376,"line_end":376,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447239,"byte_end":447242,"line_start":376,"line_end":376,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447234,"byte_end":447237,"line_start":376,"line_end":376,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447266,"byte_end":447270,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447254,"byte_end":447265,"line_start":377,"line_end":377,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219907}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447284,"byte_end":447289,"line_start":377,"line_end":377,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447271,"byte_end":447282,"line_start":377,"line_end":377,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447346,"byte_end":447357,"line_start":381,"line_end":381,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536873091}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447391,"byte_end":447395,"line_start":382,"line_end":382,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447382,"byte_end":447389,"line_start":382,"line_end":382,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447391,"byte_end":447395,"line_start":382,"line_end":382,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447382,"byte_end":447389,"line_start":382,"line_end":382,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447417,"byte_end":447423,"line_start":383,"line_end":383,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751747}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447460,"byte_end":447464,"line_start":384,"line_end":384,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447448,"byte_end":447459,"line_start":384,"line_end":384,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219907}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447531,"byte_end":447535,"line_start":387,"line_end":387,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447519,"byte_end":447530,"line_start":387,"line_end":387,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219907}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447597,"byte_end":447600,"line_start":391,"line_end":391,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447601,"byte_end":447604,"line_start":391,"line_end":391,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447617,"byte_end":447620,"line_start":391,"line_end":391,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447612,"byte_end":447615,"line_start":391,"line_end":391,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447656,"byte_end":447659,"line_start":392,"line_end":392,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447649,"byte_end":447655,"line_start":392,"line_end":392,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447678,"byte_end":447682,"line_start":393,"line_end":393,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447671,"byte_end":447677,"line_start":393,"line_end":393,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447683,"byte_end":447699,"line_start":393,"line_end":393,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447714,"byte_end":447717,"line_start":394,"line_end":394,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447734,"byte_end":447741,"line_start":394,"line_end":394,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447719,"byte_end":447732,"line_start":394,"line_end":394,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447755,"byte_end":447756,"line_start":395,"line_end":395,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447771,"byte_end":447776,"line_start":395,"line_end":395,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447758,"byte_end":447769,"line_start":395,"line_end":395,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447790,"byte_end":447798,"line_start":396,"line_end":396,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447800,"byte_end":447806,"line_start":396,"line_end":396,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4160751747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447820,"byte_end":447824,"line_start":397,"line_end":397,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447831,"byte_end":447834,"line_start":397,"line_end":397,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447826,"byte_end":447829,"line_start":397,"line_end":397,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447840,"byte_end":447848,"line_start":397,"line_end":397,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447835,"byte_end":447838,"line_start":397,"line_end":397,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447854,"byte_end":447857,"line_start":397,"line_end":397,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447849,"byte_end":447852,"line_start":397,"line_end":397,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447858,"byte_end":447871,"line_start":397,"line_end":397,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447874,"byte_end":447880,"line_start":397,"line_end":397,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447887,"byte_end":447890,"line_start":397,"line_end":397,"column_start":80,"column_end":83},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447882,"byte_end":447885,"line_start":397,"line_end":397,"column_start":75,"column_end":78},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447894,"byte_end":447899,"line_start":397,"line_end":397,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":3689}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447906,"byte_end":447909,"line_start":397,"line_end":397,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447901,"byte_end":447904,"line_start":397,"line_end":397,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447973,"byte_end":447976,"line_start":400,"line_end":400,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447977,"byte_end":447991,"line_start":400,"line_end":400,"column_start":35,"column_end":49},"ref_id":{"krate":0,"index":3528}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448000,"byte_end":448003,"line_start":400,"line_end":400,"column_start":58,"column_end":61},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447995,"byte_end":447998,"line_start":400,"line_end":400,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448041,"byte_end":448047,"line_start":402,"line_end":402,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448104,"byte_end":448115,"line_start":406,"line_end":406,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536873091}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448149,"byte_end":448154,"line_start":407,"line_end":407,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448140,"byte_end":448147,"line_start":407,"line_end":407,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448149,"byte_end":448154,"line_start":407,"line_end":407,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448140,"byte_end":448147,"line_start":407,"line_end":407,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448193,"byte_end":448197,"line_start":408,"line_end":408,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1694500995}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448252,"byte_end":448255,"line_start":409,"line_end":409,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448237,"byte_end":448251,"line_start":409,"line_end":409,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1493174403}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448333,"byte_end":448342,"line_start":410,"line_end":410,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448322,"byte_end":448331,"line_start":410,"line_end":410,"column_start":64,"column_end":73},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448343,"byte_end":448357,"line_start":410,"line_end":410,"column_start":85,"column_end":99},"ref_id":{"krate":0,"index":1493174403}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448365,"byte_end":448368,"line_start":410,"line_end":410,"column_start":107,"column_end":110},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448360,"byte_end":448363,"line_start":410,"line_end":410,"column_start":102,"column_end":105},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448373,"byte_end":448378,"line_start":410,"line_end":410,"column_start":115,"column_end":120},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448369,"byte_end":448372,"line_start":410,"line_end":410,"column_start":111,"column_end":114},"ref_id":{"krate":0,"index":3573549187}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448432,"byte_end":448438,"line_start":412,"line_end":412,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":2063599747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448439,"byte_end":448449,"line_start":412,"line_end":412,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":486541443}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448451,"byte_end":448454,"line_start":412,"line_end":412,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448496,"byte_end":448503,"line_start":413,"line_end":413,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448481,"byte_end":448494,"line_start":413,"line_end":413,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448496,"byte_end":448503,"line_start":413,"line_end":413,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448481,"byte_end":448494,"line_start":413,"line_end":413,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448550,"byte_end":448554,"line_start":414,"line_end":414,"column_start":42,"column_end":46},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448537,"byte_end":448549,"line_start":414,"line_end":414,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":2835351683}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448555,"byte_end":448569,"line_start":414,"line_end":414,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448572,"byte_end":448578,"line_start":414,"line_end":414,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448580,"byte_end":448590,"line_start":414,"line_end":414,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":486541443}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448592,"byte_end":448598,"line_start":414,"line_end":414,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448600,"byte_end":448611,"line_start":414,"line_end":414,"column_start":92,"column_end":103},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448613,"byte_end":448617,"line_start":414,"line_end":414,"column_start":105,"column_end":109},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448622,"byte_end":448627,"line_start":414,"line_end":414,"column_start":114,"column_end":119},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448667,"byte_end":448678,"line_start":415,"line_end":415,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448751,"byte_end":448756,"line_start":417,"line_end":417,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448736,"byte_end":448749,"line_start":417,"line_end":417,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448751,"byte_end":448756,"line_start":417,"line_end":417,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448736,"byte_end":448749,"line_start":417,"line_end":417,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448806,"byte_end":448810,"line_start":418,"line_end":418,"column_start":42,"column_end":46},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448793,"byte_end":448805,"line_start":418,"line_end":418,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":2835351683}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448811,"byte_end":448825,"line_start":418,"line_end":418,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448828,"byte_end":448834,"line_start":418,"line_end":418,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448836,"byte_end":448846,"line_start":418,"line_end":418,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":486541443}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448848,"byte_end":448854,"line_start":418,"line_end":418,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448856,"byte_end":448867,"line_start":418,"line_end":418,"column_start":92,"column_end":103},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448869,"byte_end":448873,"line_start":418,"line_end":418,"column_start":105,"column_end":109},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448875,"byte_end":448876,"line_start":418,"line_end":418,"column_start":111,"column_end":112},"ref_id":{"krate":0,"index":545261699}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448887,"byte_end":448892,"line_start":418,"line_end":418,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448946,"byte_end":448947,"line_start":419,"line_end":419,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":545261699}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448931,"byte_end":448942,"line_start":419,"line_end":419,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449026,"byte_end":449037,"line_start":422,"line_end":422,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449081,"byte_end":449087,"line_start":423,"line_end":423,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":2063599747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449064,"byte_end":449078,"line_start":423,"line_end":423,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":1493174403}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449112,"byte_end":449118,"line_start":424,"line_end":424,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":4160751747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449122,"byte_end":449133,"line_start":424,"line_end":424,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":989857923}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449176,"byte_end":449179,"line_start":425,"line_end":425,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449190,"byte_end":449193,"line_start":425,"line_end":425,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449180,"byte_end":449188,"line_start":425,"line_end":425,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449310,"byte_end":449314,"line_start":427,"line_end":427,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449295,"byte_end":449309,"line_start":427,"line_end":427,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":1912604803}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449315,"byte_end":449327,"line_start":427,"line_end":427,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3137341571}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449406,"byte_end":449409,"line_start":431,"line_end":431,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449420,"byte_end":449423,"line_start":431,"line_end":431,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449410,"byte_end":449418,"line_start":431,"line_end":431,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449562,"byte_end":449578,"line_start":435,"line_end":435,"column_start":38,"column_end":54},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449593,"byte_end":449596,"line_start":436,"line_end":436,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449613,"byte_end":449620,"line_start":436,"line_end":436,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449598,"byte_end":449611,"line_start":436,"line_end":436,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449634,"byte_end":449635,"line_start":437,"line_end":437,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449650,"byte_end":449655,"line_start":437,"line_end":437,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449637,"byte_end":449648,"line_start":437,"line_end":437,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449669,"byte_end":449677,"line_start":438,"line_end":438,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449679,"byte_end":449685,"line_start":438,"line_end":438,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4160751747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449699,"byte_end":449703,"line_start":439,"line_end":439,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449710,"byte_end":449713,"line_start":439,"line_end":439,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449705,"byte_end":449708,"line_start":439,"line_end":439,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449719,"byte_end":449727,"line_start":439,"line_end":439,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449714,"byte_end":449717,"line_start":439,"line_end":439,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449733,"byte_end":449736,"line_start":439,"line_end":439,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449728,"byte_end":449731,"line_start":439,"line_end":439,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449737,"byte_end":449750,"line_start":439,"line_end":439,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449753,"byte_end":449759,"line_start":439,"line_end":439,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449761,"byte_end":449773,"line_start":439,"line_end":439,"column_start":75,"column_end":87},"ref_id":{"krate":0,"index":2835351683}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449775,"byte_end":449780,"line_start":439,"line_end":439,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449790,"byte_end":449801,"line_start":439,"line_end":439,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":2030045315}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449533,"byte_end":449547,"line_start":435,"line_end":435,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":1493174403}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449548,"byte_end":449558,"line_start":435,"line_end":435,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2852128899}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449863,"byte_end":449866,"line_start":442,"line_end":442,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449848,"byte_end":449862,"line_start":442,"line_end":442,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":1912604803}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449896,"byte_end":449899,"line_start":443,"line_end":443,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449910,"byte_end":449913,"line_start":443,"line_end":443,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449900,"byte_end":449908,"line_start":443,"line_end":443,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450025,"byte_end":450029,"line_start":447,"line_end":447,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450013,"byte_end":450024,"line_start":447,"line_end":447,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219907}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450045,"byte_end":450048,"line_start":447,"line_end":447,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450030,"byte_end":450044,"line_start":447,"line_end":447,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1912604803}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450079,"byte_end":450093,"line_start":449,"line_end":449,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":1912604803}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450116,"byte_end":450119,"line_start":451,"line_end":451,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450112,"byte_end":450115,"line_start":451,"line_end":451,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":1937770627}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450129,"byte_end":450132,"line_start":451,"line_end":451,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450167,"byte_end":450170,"line_start":452,"line_end":452,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450181,"byte_end":450184,"line_start":452,"line_end":452,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450171,"byte_end":450179,"line_start":452,"line_end":452,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450290,"byte_end":450296,"line_start":456,"line_end":456,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450278,"byte_end":450289,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219907}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450330,"byte_end":450336,"line_start":456,"line_end":456,"column_start":65,"column_end":71},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450316,"byte_end":450327,"line_start":456,"line_end":456,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450302,"byte_end":450305,"line_start":456,"line_end":456,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450298,"byte_end":450301,"line_start":456,"line_end":456,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":1937770627}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450365,"byte_end":450371,"line_start":457,"line_end":457,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450353,"byte_end":450364,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219907}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450372,"byte_end":450375,"line_start":457,"line_end":457,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":1937770627}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450404,"byte_end":450406,"line_start":460,"line_end":460,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450408,"byte_end":450414,"line_start":460,"line_end":460,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":4160751747}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450416,"byte_end":450427,"line_start":460,"line_end":460,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":134219907}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450429,"byte_end":450443,"line_start":460,"line_end":460,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1493174403}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450519,"byte_end":450522,"line_start":464,"line_end":464,"column_start":61,"column_end":64},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450523,"byte_end":450539,"line_start":464,"line_end":464,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450545,"byte_end":450551,"line_start":464,"line_end":464,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450568,"byte_end":450572,"line_start":465,"line_end":465,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450616,"byte_end":450619,"line_start":468,"line_end":468,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450620,"byte_end":450636,"line_start":468,"line_end":468,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450679,"byte_end":450682,"line_start":468,"line_end":468,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450683,"byte_end":450699,"line_start":468,"line_end":468,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450728,"byte_end":450733,"line_start":469,"line_end":469,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614917}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450734,"byte_end":450741,"line_start":469,"line_end":469,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873093}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450774,"byte_end":450779,"line_start":471,"line_end":471,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610614917}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450780,"byte_end":450787,"line_start":471,"line_end":471,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536873093}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450828,"byte_end":450834,"line_start":473,"line_end":473,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073744005}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450884,"byte_end":450887,"line_start":475,"line_end":475,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450869,"byte_end":450883,"line_start":475,"line_end":475,"column_start":33,"column_end":47},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450914,"byte_end":450918,"line_start":476,"line_end":476,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450899,"byte_end":450913,"line_start":476,"line_end":476,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450919,"byte_end":450935,"line_start":476,"line_end":476,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450950,"byte_end":450953,"line_start":477,"line_end":477,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450970,"byte_end":450977,"line_start":477,"line_end":477,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450955,"byte_end":450968,"line_start":477,"line_end":477,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450991,"byte_end":450992,"line_start":478,"line_end":478,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451007,"byte_end":451012,"line_start":478,"line_end":478,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450994,"byte_end":451005,"line_start":478,"line_end":478,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451026,"byte_end":451034,"line_start":479,"line_end":479,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451036,"byte_end":451045,"line_start":479,"line_end":479,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":134219909}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451064,"byte_end":451068,"line_start":480,"line_end":480,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451075,"byte_end":451078,"line_start":480,"line_end":480,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451070,"byte_end":451073,"line_start":480,"line_end":480,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451084,"byte_end":451092,"line_start":480,"line_end":480,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451079,"byte_end":451082,"line_start":480,"line_end":480,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451098,"byte_end":451101,"line_start":480,"line_end":480,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451093,"byte_end":451096,"line_start":480,"line_end":480,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451102,"byte_end":451115,"line_start":480,"line_end":480,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451118,"byte_end":451124,"line_start":480,"line_end":480,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3688}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451131,"byte_end":451134,"line_start":480,"line_end":480,"column_start":80,"column_end":83},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451126,"byte_end":451129,"line_start":480,"line_end":480,"column_start":75,"column_end":78},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451138,"byte_end":451143,"line_start":480,"line_end":480,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":3689}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451150,"byte_end":451153,"line_start":480,"line_end":480,"column_start":99,"column_end":102},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451145,"byte_end":451148,"line_start":480,"line_end":480,"column_start":94,"column_end":97},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451217,"byte_end":451220,"line_start":483,"line_end":483,"column_start":31,"column_end":34},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451221,"byte_end":451235,"line_start":483,"line_end":483,"column_start":35,"column_end":49},"ref_id":{"krate":0,"index":3528}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451244,"byte_end":451247,"line_start":483,"line_end":483,"column_start":58,"column_end":61},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451239,"byte_end":451242,"line_start":483,"line_end":483,"column_start":53,"column_end":56},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451277,"byte_end":451284,"line_start":485,"line_end":485,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536873093}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451348,"byte_end":451370,"line_start":489,"line_end":489,"column_start":19,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451348,"byte_end":451349,"line_start":489,"line_end":489,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451351,"byte_end":451370,"line_start":489,"line_end":489,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451351,"byte_end":451361,"line_start":489,"line_end":489,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1476397189}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451409,"byte_end":451422,"line_start":491,"line_end":491,"column_start":36,"column_end":49},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451441,"byte_end":451446,"line_start":492,"line_end":492,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614917}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451447,"byte_end":451453,"line_start":492,"line_end":492,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4127197317}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451472,"byte_end":451477,"line_start":493,"line_end":493,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614917}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451478,"byte_end":451484,"line_start":493,"line_end":493,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4127197317}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451559,"byte_end":451562,"line_start":495,"line_end":495,"column_start":45,"column_end":48},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451544,"byte_end":451558,"line_start":495,"line_end":495,"column_start":30,"column_end":44},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451615,"byte_end":451625,"line_start":496,"line_end":496,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451604,"byte_end":451613,"line_start":496,"line_end":496,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451626,"byte_end":451640,"line_start":496,"line_end":496,"column_start":61,"column_end":75},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451642,"byte_end":451648,"line_start":496,"line_end":496,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":4127197317}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451654,"byte_end":451659,"line_start":496,"line_end":496,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":1610614917}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451680,"byte_end":451686,"line_start":497,"line_end":497,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3439331461}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451687,"byte_end":451697,"line_start":497,"line_end":497,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1157630085}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451699,"byte_end":451702,"line_start":497,"line_end":497,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451736,"byte_end":451743,"line_start":498,"line_end":498,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451721,"byte_end":451734,"line_start":498,"line_end":498,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451736,"byte_end":451743,"line_start":498,"line_end":498,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451721,"byte_end":451734,"line_start":498,"line_end":498,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451782,"byte_end":451786,"line_start":499,"line_end":499,"column_start":34,"column_end":38},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451769,"byte_end":451781,"line_start":499,"line_end":499,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":369100933}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451787,"byte_end":451801,"line_start":499,"line_end":499,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451804,"byte_end":451810,"line_start":499,"line_end":499,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451812,"byte_end":451822,"line_start":499,"line_end":499,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1157630085}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451824,"byte_end":451830,"line_start":499,"line_end":499,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451832,"byte_end":451843,"line_start":499,"line_end":499,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451845,"byte_end":451849,"line_start":499,"line_end":499,"column_start":97,"column_end":101},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451854,"byte_end":451859,"line_start":499,"line_end":499,"column_start":106,"column_end":111},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451891,"byte_end":451902,"line_start":500,"line_end":500,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451959,"byte_end":451964,"line_start":502,"line_end":502,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451944,"byte_end":451957,"line_start":502,"line_end":502,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451959,"byte_end":451964,"line_start":502,"line_end":502,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451944,"byte_end":451957,"line_start":502,"line_end":502,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3497}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452006,"byte_end":452010,"line_start":503,"line_end":503,"column_start":34,"column_end":38},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451993,"byte_end":452005,"line_start":503,"line_end":503,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":369100933}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452011,"byte_end":452025,"line_start":503,"line_end":503,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452028,"byte_end":452034,"line_start":503,"line_end":503,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452036,"byte_end":452046,"line_start":503,"line_end":503,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1157630085}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452048,"byte_end":452054,"line_start":503,"line_end":503,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452056,"byte_end":452067,"line_start":503,"line_end":503,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452069,"byte_end":452073,"line_start":503,"line_end":503,"column_start":97,"column_end":101},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452075,"byte_end":452076,"line_start":503,"line_end":503,"column_start":103,"column_end":104},"ref_id":{"krate":0,"index":2600470661}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452087,"byte_end":452092,"line_start":503,"line_end":503,"column_start":115,"column_end":120},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452138,"byte_end":452139,"line_start":504,"line_end":504,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2600470661}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452123,"byte_end":452134,"line_start":504,"line_end":504,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452194,"byte_end":452205,"line_start":507,"line_end":507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452241,"byte_end":452247,"line_start":508,"line_end":508,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3439331461}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452224,"byte_end":452238,"line_start":508,"line_end":508,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452272,"byte_end":452283,"line_start":510,"line_end":510,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":3640658053}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452262,"byte_end":452268,"line_start":510,"line_end":510,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4127197317}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452344,"byte_end":452360,"line_start":513,"line_end":513,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452375,"byte_end":452378,"line_start":514,"line_end":514,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452395,"byte_end":452402,"line_start":514,"line_end":514,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452380,"byte_end":452393,"line_start":514,"line_end":514,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452416,"byte_end":452417,"line_start":515,"line_end":515,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452432,"byte_end":452437,"line_start":515,"line_end":515,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452419,"byte_end":452430,"line_start":515,"line_end":515,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452451,"byte_end":452459,"line_start":516,"line_end":516,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452461,"byte_end":452470,"line_start":516,"line_end":516,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":134219909}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452489,"byte_end":452493,"line_start":517,"line_end":517,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452500,"byte_end":452503,"line_start":517,"line_end":517,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452495,"byte_end":452498,"line_start":517,"line_end":517,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452509,"byte_end":452517,"line_start":517,"line_end":517,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452504,"byte_end":452507,"line_start":517,"line_end":517,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452523,"byte_end":452526,"line_start":517,"line_end":517,"column_start":47,"column_end":50},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452518,"byte_end":452521,"line_start":517,"line_end":517,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452527,"byte_end":452540,"line_start":517,"line_end":517,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3687}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452543,"byte_end":452549,"line_start":517,"line_end":517,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452551,"byte_end":452563,"line_start":517,"line_end":517,"column_start":75,"column_end":87},"ref_id":{"krate":0,"index":369100933}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452565,"byte_end":452570,"line_start":517,"line_end":517,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452580,"byte_end":452591,"line_start":517,"line_end":517,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":3456108677}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452308,"byte_end":452322,"line_start":513,"line_end":513,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452323,"byte_end":452340,"line_start":513,"line_end":513,"column_start":24,"column_end":41},"ref_id":{"krate":0,"index":1677723781}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452636,"byte_end":452645,"line_start":520,"line_end":520,"column_start":10,"column_end":19},"ref_id":{"krate":0,"index":134219909}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452652,"byte_end":452666,"line_start":520,"line_end":520,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":4160751749}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21938,"byte_end":21944,"line_start":331,"line_end":331,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2182}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456154,"byte_end":456159,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3722}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456204,"byte_end":456213,"line_start":4,"line_end":4,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3256}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456222,"byte_end":456229,"line_start":4,"line_end":4,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3687}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456344,"byte_end":456349,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456351,"byte_end":456357,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456371,"byte_end":456376,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3836}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456371,"byte_end":456376,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3386}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456393,"byte_end":456399,"line_start":6,"line_end":6,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456419,"byte_end":456424,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456427,"byte_end":456433,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2590}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":456419,"byte_end":456424,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2741}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456446,"byte_end":456451,"line_start":7,"line_end":7,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456467,"byte_end":456472,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3350}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456474,"byte_end":456484,"line_start":8,"line_end":8,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1741}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456486,"byte_end":456491,"line_start":8,"line_end":8,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2083}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456508,"byte_end":456513,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456516,"byte_end":456523,"line_start":10,"line_end":10,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456543,"byte_end":456548,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3309}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456551,"byte_end":456561,"line_start":11,"line_end":11,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1741}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456563,"byte_end":456566,"line_start":11,"line_end":11,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":1865}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456581,"byte_end":456586,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456589,"byte_end":456596,"line_start":12,"line_end":12,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456613,"byte_end":456618,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456620,"byte_end":456627,"line_start":13,"line_end":13,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456644,"byte_end":456649,"line_start":14,"line_end":14,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456652,"byte_end":456658,"line_start":14,"line_end":14,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456644,"byte_end":456649,"line_start":14,"line_end":14,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3282}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456678,"byte_end":456688,"line_start":14,"line_end":14,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":1741}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456690,"byte_end":456695,"line_start":14,"line_end":14,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456713,"byte_end":456718,"line_start":15,"line_end":15,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456720,"byte_end":456723,"line_start":15,"line_end":15,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456734,"byte_end":456739,"line_start":16,"line_end":16,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456742,"byte_end":456752,"line_start":16,"line_end":16,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3338}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456755,"byte_end":456759,"line_start":16,"line_end":16,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1965}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456776,"byte_end":456781,"line_start":17,"line_end":17,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456783,"byte_end":456788,"line_start":17,"line_end":17,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456804,"byte_end":456809,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456812,"byte_end":456821,"line_start":18,"line_end":18,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456837,"byte_end":456842,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":663}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456844,"byte_end":456849,"line_start":19,"line_end":19,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456851,"byte_end":456857,"line_start":19,"line_end":19,"column_start":19,"column_end":25},"ref_id":{"krate":4,"index":624}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457070,"byte_end":457073,"line_start":26,"line_end":26,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16311}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":457059,"byte_end":457063,"line_start":26,"line_end":26,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":457065,"byte_end":457068,"line_start":26,"line_end":26,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":72}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457407,"byte_end":457416,"line_start":39,"line_end":39,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457485,"byte_end":457494,"line_start":42,"line_end":42,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457416,"line_start":39,"line_end":39,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457454,"byte_end":457471,"line_start":41,"line_end":41,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457494,"line_start":42,"line_end":42,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3358}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":3355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457510,"byte_end":457514,"line_start":45,"line_end":45,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457653,"byte_end":457662,"line_start":51,"line_end":51,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457645,"byte_end":457651,"line_start":51,"line_end":51,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457805,"byte_end":457808,"line_start":58,"line_end":58,"column_start":34,"column_end":37},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457792,"byte_end":457802,"line_start":58,"line_end":58,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457780,"byte_end":457784,"line_start":58,"line_end":58,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744103}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457785,"byte_end":457791,"line_start":58,"line_end":58,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457939,"byte_end":457945,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457927,"byte_end":457931,"line_start":64,"line_end":64,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744104}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457932,"byte_end":457938,"line_start":64,"line_end":64,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458215,"byte_end":458218,"line_start":71,"line_end":71,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":458245,"byte_end":458249,"line_start":72,"line_end":72,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":2643}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458233,"byte_end":458237,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744105}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458238,"byte_end":458244,"line_start":72,"line_end":72,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458322,"byte_end":458331,"line_start":79,"line_end":79,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458371,"byte_end":458380,"line_start":81,"line_end":81,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458395,"byte_end":458401,"line_start":82,"line_end":82,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3358}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":458414,"byte_end":458417,"line_start":82,"line_end":82,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458403,"byte_end":458412,"line_start":82,"line_end":82,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458418,"byte_end":458424,"line_start":82,"line_end":82,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073744107}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458425,"byte_end":458429,"line_start":82,"line_end":82,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458450,"byte_end":458457,"line_start":83,"line_end":83,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458459,"byte_end":458465,"line_start":83,"line_end":83,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1073744107}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458466,"byte_end":458476,"line_start":83,"line_end":83,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3781}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458490,"byte_end":458496,"line_start":84,"line_end":84,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458498,"byte_end":458504,"line_start":84,"line_end":84,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1073744107}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459390,"byte_end":459396,"line_start":112,"line_end":112,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459397,"byte_end":459404,"line_start":112,"line_end":112,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459406,"byte_end":459414,"line_start":112,"line_end":112,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459457,"byte_end":459463,"line_start":114,"line_end":114,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459446,"byte_end":459455,"line_start":114,"line_end":114,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459465,"byte_end":459469,"line_start":114,"line_end":114,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459470,"byte_end":459476,"line_start":114,"line_end":114,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459490,"byte_end":459495,"line_start":114,"line_end":114,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459478,"byte_end":459482,"line_start":114,"line_end":114,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459483,"byte_end":459489,"line_start":114,"line_end":114,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459513,"byte_end":459517,"line_start":114,"line_end":114,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459547,"byte_end":459559,"line_start":116,"line_end":116,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":2483030252}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459537,"byte_end":459541,"line_start":116,"line_end":116,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459601,"byte_end":459604,"line_start":118,"line_end":118,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459594,"byte_end":459599,"line_start":118,"line_end":118,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3722}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459630,"byte_end":459636,"line_start":120,"line_end":120,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459621,"byte_end":459629,"line_start":120,"line_end":120,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":469764332}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459645,"byte_end":459649,"line_start":120,"line_end":120,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459637,"byte_end":459643,"line_start":120,"line_end":120,"column_start":29,"column_end":35},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459671,"byte_end":459682,"line_start":120,"line_end":120,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459660,"byte_end":459669,"line_start":120,"line_end":120,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459687,"byte_end":459688,"line_start":120,"line_end":120,"column_start":79,"column_end":80},"ref_id":{"krate":0,"index":872417516}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459691,"byte_end":459695,"line_start":120,"line_end":120,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459696,"byte_end":459702,"line_start":120,"line_end":120,"column_start":88,"column_end":94},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459723,"byte_end":459725,"line_start":122,"line_end":122,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459735,"byte_end":459745,"line_start":122,"line_end":122,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459726,"byte_end":459733,"line_start":122,"line_end":122,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459746,"byte_end":459754,"line_start":122,"line_end":122,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":469764332}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459786,"byte_end":459788,"line_start":124,"line_end":124,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459798,"byte_end":459802,"line_start":124,"line_end":124,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459789,"byte_end":459796,"line_start":124,"line_end":124,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":460794,"byte_end":460812,"line_start":152,"line_end":152,"column_start":28,"column_end":46},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":460823,"byte_end":460841,"line_start":153,"line_end":153,"column_start":9,"column_end":27},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460844,"byte_end":460850,"line_start":153,"line_end":153,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460852,"byte_end":460856,"line_start":153,"line_end":153,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744109}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460857,"byte_end":460863,"line_start":153,"line_end":153,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461004,"byte_end":461014,"line_start":159,"line_end":159,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460992,"byte_end":460996,"line_start":159,"line_end":159,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744110}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460997,"byte_end":461003,"line_start":159,"line_end":159,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461538,"byte_end":461544,"line_start":166,"line_end":166,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461551,"byte_end":461559,"line_start":166,"line_end":166,"column_start":66,"column_end":74},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461602,"byte_end":461608,"line_start":168,"line_end":168,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461591,"byte_end":461600,"line_start":168,"line_end":168,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461610,"byte_end":461614,"line_start":168,"line_end":168,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744111}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461615,"byte_end":461621,"line_start":168,"line_end":168,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461635,"byte_end":461640,"line_start":168,"line_end":168,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461623,"byte_end":461627,"line_start":168,"line_end":168,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744111}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461628,"byte_end":461634,"line_start":168,"line_end":168,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461644,"byte_end":461648,"line_start":168,"line_end":168,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744111}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461649,"byte_end":461656,"line_start":168,"line_end":168,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461665,"byte_end":461669,"line_start":168,"line_end":168,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873199}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461712,"byte_end":461724,"line_start":170,"line_end":170,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":3556772079}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461702,"byte_end":461706,"line_start":170,"line_end":170,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461739,"byte_end":461740,"line_start":171,"line_end":171,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":4093642991}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461777,"byte_end":461779,"line_start":173,"line_end":173,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461822,"byte_end":461828,"line_start":176,"line_end":176,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1107298543}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461808,"byte_end":461812,"line_start":176,"line_end":176,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744111}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461813,"byte_end":461819,"line_start":176,"line_end":176,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3358}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461839,"byte_end":461841,"line_start":178,"line_end":178,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461998,"byte_end":462001,"line_start":184,"line_end":184,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461987,"byte_end":461996,"line_start":184,"line_end":184,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462002,"byte_end":462006,"line_start":184,"line_end":184,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462007,"byte_end":462013,"line_start":184,"line_end":184,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462014,"byte_end":462018,"line_start":184,"line_end":184,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461973,"byte_end":461977,"line_start":184,"line_end":184,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461978,"byte_end":461984,"line_start":184,"line_end":184,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3358}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463838,"byte_end":463844,"line_start":233,"line_end":233,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463851,"byte_end":463859,"line_start":233,"line_end":233,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":463874,"byte_end":463878,"line_start":234,"line_end":234,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":463879,"byte_end":463886,"line_start":234,"line_end":234,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463917,"byte_end":463920,"line_start":235,"line_end":235,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463931,"byte_end":463945,"line_start":235,"line_end":235,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463921,"byte_end":463929,"line_start":235,"line_end":235,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":463996,"byte_end":464002,"line_start":238,"line_end":238,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463985,"byte_end":463994,"line_start":238,"line_end":238,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464004,"byte_end":464008,"line_start":238,"line_end":238,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464009,"byte_end":464015,"line_start":238,"line_end":238,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":464029,"byte_end":464034,"line_start":238,"line_end":238,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464017,"byte_end":464021,"line_start":238,"line_end":238,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464022,"byte_end":464028,"line_start":238,"line_end":238,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464038,"byte_end":464042,"line_start":238,"line_end":238,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464043,"byte_end":464050,"line_start":238,"line_end":238,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464059,"byte_end":464063,"line_start":238,"line_end":238,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873201}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464081,"byte_end":464093,"line_start":239,"line_end":239,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1006635249}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464108,"byte_end":464112,"line_start":240,"line_end":240,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464108,"byte_end":464112,"line_start":240,"line_end":240,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464137,"byte_end":464139,"line_start":241,"line_end":241,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":464151,"byte_end":464158,"line_start":241,"line_end":241,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464140,"byte_end":464149,"line_start":241,"line_end":241,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464159,"byte_end":464160,"line_start":241,"line_end":241,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":33556721}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464163,"byte_end":464167,"line_start":241,"line_end":241,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464168,"byte_end":464174,"line_start":241,"line_end":241,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464204,"byte_end":464208,"line_start":243,"line_end":243,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464204,"byte_end":464208,"line_start":243,"line_end":243,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464212,"byte_end":464214,"line_start":243,"line_end":243,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466043,"byte_end":466049,"line_start":293,"line_end":293,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466056,"byte_end":466064,"line_start":293,"line_end":293,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466080,"byte_end":466084,"line_start":295,"line_end":295,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466085,"byte_end":466092,"line_start":295,"line_end":295,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466123,"byte_end":466126,"line_start":296,"line_end":296,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466137,"byte_end":466151,"line_start":296,"line_end":296,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466127,"byte_end":466135,"line_start":296,"line_end":296,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466202,"byte_end":466208,"line_start":299,"line_end":299,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466191,"byte_end":466200,"line_start":299,"line_end":299,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466210,"byte_end":466214,"line_start":299,"line_end":299,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466215,"byte_end":466221,"line_start":299,"line_end":299,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466235,"byte_end":466240,"line_start":299,"line_end":299,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466223,"byte_end":466227,"line_start":299,"line_end":299,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466228,"byte_end":466234,"line_start":299,"line_end":299,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466244,"byte_end":466248,"line_start":299,"line_end":299,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466249,"byte_end":466256,"line_start":299,"line_end":299,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466265,"byte_end":466269,"line_start":299,"line_end":299,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873202}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466287,"byte_end":466299,"line_start":300,"line_end":300,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1006635250}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466314,"byte_end":466318,"line_start":301,"line_end":301,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466314,"byte_end":466318,"line_start":301,"line_end":301,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466343,"byte_end":466345,"line_start":302,"line_end":302,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466357,"byte_end":466364,"line_start":302,"line_end":302,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466346,"byte_end":466355,"line_start":302,"line_end":302,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466365,"byte_end":466366,"line_start":302,"line_end":302,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":33556722}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466369,"byte_end":466373,"line_start":302,"line_end":302,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466374,"byte_end":466380,"line_start":302,"line_end":302,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466410,"byte_end":466414,"line_start":304,"line_end":304,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466410,"byte_end":466414,"line_start":304,"line_end":304,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466418,"byte_end":466420,"line_start":304,"line_end":304,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467616,"byte_end":467624,"line_start":333,"line_end":333,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467633,"byte_end":467642,"line_start":333,"line_end":333,"column_start":119,"column_end":128},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467613,"byte_end":467614,"line_start":333,"line_end":333,"column_start":99,"column_end":100},"ref_id":{"krate":0,"index":2293}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467578,"byte_end":467579,"line_start":333,"line_end":333,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":2293}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467584,"byte_end":467590,"line_start":333,"line_end":333,"column_start":70,"column_end":76},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467597,"byte_end":467605,"line_start":333,"line_end":333,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467663,"byte_end":467667,"line_start":335,"line_end":335,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467668,"byte_end":467675,"line_start":335,"line_end":335,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467706,"byte_end":467709,"line_start":336,"line_end":336,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467720,"byte_end":467734,"line_start":336,"line_end":336,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467710,"byte_end":467718,"line_start":336,"line_end":336,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467786,"byte_end":467792,"line_start":339,"line_end":339,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467775,"byte_end":467784,"line_start":339,"line_end":339,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467794,"byte_end":467798,"line_start":339,"line_end":339,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467799,"byte_end":467805,"line_start":339,"line_end":339,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467819,"byte_end":467824,"line_start":339,"line_end":339,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467807,"byte_end":467811,"line_start":339,"line_end":339,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467812,"byte_end":467818,"line_start":339,"line_end":339,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467828,"byte_end":467832,"line_start":339,"line_end":339,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467833,"byte_end":467840,"line_start":339,"line_end":339,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467849,"byte_end":467853,"line_start":339,"line_end":339,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873203}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467871,"byte_end":467883,"line_start":340,"line_end":340,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":4227860723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467898,"byte_end":467902,"line_start":341,"line_end":341,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467898,"byte_end":467902,"line_start":341,"line_end":341,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467980,"byte_end":467988,"line_start":344,"line_end":344,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467977,"byte_end":467978,"line_start":344,"line_end":344,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2293}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468008,"byte_end":468018,"line_start":344,"line_end":344,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467996,"byte_end":468000,"line_start":344,"line_end":344,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468001,"byte_end":468007,"line_start":344,"line_end":344,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468019,"byte_end":468020,"line_start":344,"line_end":344,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3254782195}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468021,"byte_end":468032,"line_start":344,"line_end":344,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468034,"byte_end":468035,"line_start":344,"line_end":344,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468119,"byte_end":468127,"line_start":345,"line_end":345,"column_start":82,"column_end":90},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468155,"byte_end":468163,"line_start":346,"line_end":346,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468151,"byte_end":468154,"line_start":346,"line_end":346,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080819}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468167,"byte_end":468175,"line_start":346,"line_end":346,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468164,"byte_end":468165,"line_start":346,"line_end":346,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2293}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468206,"byte_end":468214,"line_start":347,"line_end":347,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468202,"byte_end":468205,"line_start":347,"line_end":347,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080819}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468267,"byte_end":468275,"line_start":348,"line_end":348,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468263,"byte_end":468266,"line_start":348,"line_end":348,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080819}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468316,"byte_end":468329,"line_start":348,"line_end":348,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2453}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468288,"byte_end":468298,"line_start":348,"line_end":348,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468276,"byte_end":468280,"line_start":348,"line_end":348,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468281,"byte_end":468287,"line_start":348,"line_end":348,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468299,"byte_end":468300,"line_start":348,"line_end":348,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":3254782195}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468301,"byte_end":468312,"line_start":348,"line_end":348,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468314,"byte_end":468315,"line_start":348,"line_end":348,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468360,"byte_end":468368,"line_start":349,"line_end":349,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468356,"byte_end":468359,"line_start":349,"line_end":349,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080819}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468404,"byte_end":468407,"line_start":350,"line_end":350,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468418,"byte_end":468421,"line_start":350,"line_end":350,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468408,"byte_end":468416,"line_start":350,"line_end":350,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468422,"byte_end":468425,"line_start":350,"line_end":350,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":973080819}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468467,"byte_end":468468,"line_start":353,"line_end":353,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3254782195}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468469,"byte_end":468480,"line_start":353,"line_end":353,"column_start":22,"column_end":33},"ref_id":{"krate":0,"index":3275}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468502,"byte_end":468507,"line_start":353,"line_end":353,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":3259}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468484,"byte_end":468500,"line_start":353,"line_end":353,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3256}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468542,"byte_end":468553,"line_start":354,"line_end":354,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468530,"byte_end":468534,"line_start":354,"line_end":354,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468535,"byte_end":468541,"line_start":354,"line_end":354,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468556,"byte_end":468557,"line_start":354,"line_end":354,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":3254782195}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468558,"byte_end":468567,"line_start":354,"line_end":354,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3270}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468616,"byte_end":468625,"line_start":357,"line_end":357,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468613,"byte_end":468614,"line_start":357,"line_end":357,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2293}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468626,"byte_end":468627,"line_start":357,"line_end":357,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":3254782195}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468630,"byte_end":468634,"line_start":357,"line_end":357,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468635,"byte_end":468641,"line_start":357,"line_end":357,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468643,"byte_end":468648,"line_start":357,"line_end":357,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610615027}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468668,"byte_end":468670,"line_start":358,"line_end":358,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468703,"byte_end":468707,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468703,"byte_end":468707,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468711,"byte_end":468713,"line_start":360,"line_end":360,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470206,"byte_end":470210,"line_start":397,"line_end":397,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470211,"byte_end":470217,"line_start":397,"line_end":397,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470258,"byte_end":470259,"line_start":397,"line_end":397,"column_start":81,"column_end":82},"ref_id":{"krate":0,"index":2295}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470264,"byte_end":470270,"line_start":397,"line_end":397,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470277,"byte_end":470285,"line_start":397,"line_end":397,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470301,"byte_end":470305,"line_start":399,"line_end":399,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744118}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470306,"byte_end":470313,"line_start":399,"line_end":399,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470344,"byte_end":470347,"line_start":400,"line_end":400,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470358,"byte_end":470372,"line_start":400,"line_end":400,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470348,"byte_end":470356,"line_start":400,"line_end":400,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470423,"byte_end":470429,"line_start":403,"line_end":403,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470412,"byte_end":470421,"line_start":403,"line_end":403,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470431,"byte_end":470435,"line_start":403,"line_end":403,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744118}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470436,"byte_end":470442,"line_start":403,"line_end":403,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470456,"byte_end":470461,"line_start":403,"line_end":403,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470444,"byte_end":470448,"line_start":403,"line_end":403,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744118}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470449,"byte_end":470455,"line_start":403,"line_end":403,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470465,"byte_end":470469,"line_start":403,"line_end":403,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744118}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470470,"byte_end":470477,"line_start":403,"line_end":403,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470486,"byte_end":470490,"line_start":403,"line_end":403,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873206}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470508,"byte_end":470520,"line_start":404,"line_end":404,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":2080377078}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470535,"byte_end":470539,"line_start":405,"line_end":405,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470535,"byte_end":470539,"line_start":405,"line_end":405,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470577,"byte_end":470588,"line_start":406,"line_end":406,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2566}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470600,"byte_end":470604,"line_start":406,"line_end":406,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470589,"byte_end":470599,"line_start":406,"line_end":406,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1610615030}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470633,"byte_end":470639,"line_start":408,"line_end":408,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":2046822646}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470680,"byte_end":470684,"line_start":409,"line_end":409,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470671,"byte_end":470678,"line_start":409,"line_end":409,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470680,"byte_end":470684,"line_start":409,"line_end":409,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470671,"byte_end":470678,"line_start":409,"line_end":409,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470721,"byte_end":470724,"line_start":410,"line_end":410,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470735,"byte_end":470738,"line_start":410,"line_end":410,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470725,"byte_end":470733,"line_start":410,"line_end":410,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470870,"byte_end":470883,"line_start":413,"line_end":413,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470859,"byte_end":470868,"line_start":413,"line_end":413,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470894,"byte_end":470895,"line_start":413,"line_end":413,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":1107298550}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470898,"byte_end":470902,"line_start":413,"line_end":413,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744118}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470903,"byte_end":470909,"line_start":413,"line_end":413,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470937,"byte_end":470942,"line_start":413,"line_end":413,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470921,"byte_end":470927,"line_start":413,"line_end":413,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":2046822646}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471022,"byte_end":471024,"line_start":417,"line_end":417,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471057,"byte_end":471061,"line_start":419,"line_end":419,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471057,"byte_end":471061,"line_start":419,"line_end":419,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471065,"byte_end":471067,"line_start":419,"line_end":419,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476234,"byte_end":476240,"line_start":568,"line_end":568,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476241,"byte_end":476247,"line_start":568,"line_end":568,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476248,"byte_end":476267,"line_start":568,"line_end":568,"column_start":85,"column_end":104},"ref_id":{"krate":0,"index":2341}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476277,"byte_end":476285,"line_start":568,"line_end":568,"column_start":114,"column_end":122},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476321,"byte_end":476327,"line_start":570,"line_end":570,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476310,"byte_end":476319,"line_start":570,"line_end":570,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476329,"byte_end":476333,"line_start":570,"line_end":570,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744120}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476334,"byte_end":476340,"line_start":570,"line_end":570,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476354,"byte_end":476359,"line_start":570,"line_end":570,"column_start":65,"column_end":70},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476342,"byte_end":476346,"line_start":570,"line_end":570,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073744120}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476347,"byte_end":476353,"line_start":570,"line_end":570,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476377,"byte_end":476381,"line_start":570,"line_end":570,"column_start":88,"column_end":92},"ref_id":{"krate":0,"index":536873208}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476423,"byte_end":476428,"line_start":572,"line_end":572,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":2483030264}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476413,"byte_end":476417,"line_start":572,"line_end":572,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476443,"byte_end":476444,"line_start":573,"line_end":573,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019901176}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476481,"byte_end":476483,"line_start":575,"line_end":575,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476484,"byte_end":476488,"line_start":575,"line_end":575,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476534,"byte_end":476543,"line_start":578,"line_end":578,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476528,"byte_end":476533,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2181040376}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476545,"byte_end":476549,"line_start":578,"line_end":578,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744120}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476550,"byte_end":476556,"line_start":578,"line_end":578,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476613,"byte_end":476627,"line_start":581,"line_end":581,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476602,"byte_end":476612,"line_start":581,"line_end":581,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":838863096}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476656,"byte_end":476658,"line_start":582,"line_end":582,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476659,"byte_end":476663,"line_start":582,"line_end":582,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476685,"byte_end":476687,"line_start":585,"line_end":585,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476688,"byte_end":476692,"line_start":585,"line_end":585,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476714,"byte_end":476717,"line_start":585,"line_end":585,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2349}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476693,"byte_end":476712,"line_start":585,"line_end":585,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":2341}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476718,"byte_end":476723,"line_start":585,"line_end":585,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2181040376}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476726,"byte_end":476730,"line_start":585,"line_end":585,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744120}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476731,"byte_end":476737,"line_start":585,"line_end":585,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478938,"byte_end":478946,"line_start":639,"line_end":639,"column_start":117,"column_end":125},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478956,"byte_end":478965,"line_start":639,"line_end":639,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478935,"byte_end":478936,"line_start":639,"line_end":639,"column_start":114,"column_end":115},"ref_id":{"krate":0,"index":2300}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478893,"byte_end":478894,"line_start":639,"line_end":639,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":2300}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478899,"byte_end":478905,"line_start":639,"line_end":639,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478906,"byte_end":478912,"line_start":639,"line_end":639,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478919,"byte_end":478927,"line_start":639,"line_end":639,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":478987,"byte_end":478991,"line_start":641,"line_end":641,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":478992,"byte_end":478999,"line_start":641,"line_end":641,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479030,"byte_end":479033,"line_start":642,"line_end":642,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479044,"byte_end":479058,"line_start":642,"line_end":642,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479034,"byte_end":479042,"line_start":642,"line_end":642,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479105,"byte_end":479108,"line_start":645,"line_end":645,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479100,"byte_end":479104,"line_start":645,"line_end":645,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":536873210}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479130,"byte_end":479135,"line_start":645,"line_end":645,"column_start":60,"column_end":65},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479118,"byte_end":479122,"line_start":645,"line_end":645,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479123,"byte_end":479129,"line_start":645,"line_end":645,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3358}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479164,"byte_end":479170,"line_start":645,"line_end":645,"column_start":94,"column_end":100},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479153,"byte_end":479162,"line_start":645,"line_end":645,"column_start":83,"column_end":92},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479172,"byte_end":479176,"line_start":645,"line_end":645,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479177,"byte_end":479183,"line_start":645,"line_end":645,"column_start":107,"column_end":113},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479197,"byte_end":479202,"line_start":645,"line_end":645,"column_start":127,"column_end":132},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479185,"byte_end":479189,"line_start":645,"line_end":645,"column_start":115,"column_end":119},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479190,"byte_end":479196,"line_start":645,"line_end":645,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479219,"byte_end":479223,"line_start":645,"line_end":645,"column_start":149,"column_end":153},"ref_id":{"krate":0,"index":536873210}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479240,"byte_end":479244,"line_start":646,"line_end":646,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479240,"byte_end":479244,"line_start":646,"line_end":646,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479251,"byte_end":479252,"line_start":646,"line_end":646,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":1375734010}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479266,"byte_end":479270,"line_start":647,"line_end":647,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479266,"byte_end":479270,"line_start":647,"line_end":647,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479281,"byte_end":479283,"line_start":647,"line_end":647,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479284,"byte_end":479288,"line_start":647,"line_end":647,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479336,"byte_end":479346,"line_start":650,"line_end":650,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479324,"byte_end":479328,"line_start":650,"line_end":650,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479329,"byte_end":479335,"line_start":650,"line_end":650,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479347,"byte_end":479358,"line_start":650,"line_end":650,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":973080826}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479359,"byte_end":479370,"line_start":650,"line_end":650,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479388,"byte_end":479394,"line_start":652,"line_end":652,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3858761978}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479395,"byte_end":479396,"line_start":652,"line_end":652,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479424,"byte_end":479428,"line_start":653,"line_end":653,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479411,"byte_end":479422,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479424,"byte_end":479428,"line_start":653,"line_end":653,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479411,"byte_end":479422,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479475,"byte_end":479481,"line_start":655,"line_end":655,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3858761978}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479482,"byte_end":479486,"line_start":655,"line_end":655,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479497,"byte_end":479513,"line_start":655,"line_end":655,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479544,"byte_end":479548,"line_start":657,"line_end":657,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3187673338}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479549,"byte_end":479554,"line_start":657,"line_end":657,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479622,"byte_end":479632,"line_start":659,"line_end":659,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479610,"byte_end":479614,"line_start":659,"line_end":659,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479615,"byte_end":479621,"line_start":659,"line_end":659,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479633,"byte_end":479635,"line_start":659,"line_end":659,"column_start":57,"column_end":59},"ref_id":{"krate":0,"index":3238004986}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479707,"byte_end":479715,"line_start":662,"line_end":662,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479704,"byte_end":479705,"line_start":662,"line_end":662,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2300}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479723,"byte_end":479732,"line_start":662,"line_end":662,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1895827706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479733,"byte_end":479734,"line_start":662,"line_end":662,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479818,"byte_end":479826,"line_start":663,"line_end":663,"column_start":82,"column_end":90},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479854,"byte_end":479862,"line_start":664,"line_end":664,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479850,"byte_end":479853,"line_start":664,"line_end":664,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529082}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479866,"byte_end":479874,"line_start":664,"line_end":664,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479863,"byte_end":479864,"line_start":664,"line_end":664,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2300}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479905,"byte_end":479913,"line_start":665,"line_end":665,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479901,"byte_end":479904,"line_start":665,"line_end":665,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529082}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479966,"byte_end":479974,"line_start":666,"line_end":666,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479962,"byte_end":479965,"line_start":666,"line_end":666,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529082}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479987,"byte_end":480000,"line_start":666,"line_end":666,"column_start":46,"column_end":59},"ref_id":{"krate":0,"index":2453}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479975,"byte_end":479984,"line_start":666,"line_end":666,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1895827706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479985,"byte_end":479986,"line_start":666,"line_end":666,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480031,"byte_end":480039,"line_start":667,"line_end":667,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480027,"byte_end":480030,"line_start":667,"line_end":667,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480075,"byte_end":480078,"line_start":668,"line_end":668,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480089,"byte_end":480092,"line_start":668,"line_end":668,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480079,"byte_end":480087,"line_start":668,"line_end":668,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480093,"byte_end":480096,"line_start":668,"line_end":668,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":4177529082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480157,"byte_end":480160,"line_start":671,"line_end":671,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480171,"byte_end":480174,"line_start":671,"line_end":671,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480161,"byte_end":480169,"line_start":671,"line_end":671,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480248,"byte_end":480252,"line_start":674,"line_end":674,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":2059}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480239,"byte_end":480246,"line_start":674,"line_end":674,"column_start":15,"column_end":22},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480254,"byte_end":480265,"line_start":674,"line_end":674,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":973080826}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480268,"byte_end":480272,"line_start":674,"line_end":674,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480273,"byte_end":480279,"line_start":674,"line_end":674,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480281,"byte_end":480285,"line_start":674,"line_end":674,"column_start":57,"column_end":61},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480302,"byte_end":480306,"line_start":675,"line_end":675,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480302,"byte_end":480306,"line_start":675,"line_end":675,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480355,"byte_end":480364,"line_start":676,"line_end":676,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480352,"byte_end":480353,"line_start":676,"line_end":676,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2300}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480365,"byte_end":480378,"line_start":676,"line_end":676,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":2155874554}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480381,"byte_end":480385,"line_start":676,"line_end":676,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744122}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480386,"byte_end":480392,"line_start":676,"line_end":676,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480394,"byte_end":480399,"line_start":676,"line_end":676,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":1610615034}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480419,"byte_end":480421,"line_start":677,"line_end":677,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480422,"byte_end":480426,"line_start":677,"line_end":677,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480427,"byte_end":480432,"line_start":677,"line_end":677,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":8390906}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480462,"byte_end":480466,"line_start":679,"line_end":679,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480462,"byte_end":480466,"line_start":679,"line_end":679,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480470,"byte_end":480472,"line_start":679,"line_end":679,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480473,"byte_end":480477,"line_start":679,"line_end":679,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483628,"byte_end":483634,"line_start":779,"line_end":779,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483635,"byte_end":483641,"line_start":779,"line_end":779,"column_start":55,"column_end":61},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483650,"byte_end":483658,"line_start":779,"line_end":779,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483700,"byte_end":483706,"line_start":780,"line_end":780,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483689,"byte_end":483698,"line_start":780,"line_end":780,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483708,"byte_end":483712,"line_start":780,"line_end":780,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483713,"byte_end":483719,"line_start":780,"line_end":780,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483733,"byte_end":483738,"line_start":780,"line_end":780,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483721,"byte_end":483725,"line_start":780,"line_end":780,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483726,"byte_end":483732,"line_start":780,"line_end":780,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483756,"byte_end":483760,"line_start":780,"line_end":780,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873213}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483809,"byte_end":483821,"line_start":782,"line_end":782,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2483030269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483799,"byte_end":483803,"line_start":782,"line_end":782,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483836,"byte_end":483837,"line_start":783,"line_end":783,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019901181}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483874,"byte_end":483876,"line_start":785,"line_end":785,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483877,"byte_end":483881,"line_start":785,"line_end":785,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483958,"byte_end":483972,"line_start":788,"line_end":788,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":1649}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483934,"byte_end":483943,"line_start":788,"line_end":788,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483921,"byte_end":483933,"line_start":788,"line_end":788,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":2181040381}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483945,"byte_end":483949,"line_start":788,"line_end":788,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483950,"byte_end":483956,"line_start":788,"line_end":788,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484010,"byte_end":484020,"line_start":790,"line_end":790,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483998,"byte_end":484002,"line_start":790,"line_end":790,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484003,"byte_end":484009,"line_start":790,"line_end":790,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484021,"byte_end":484033,"line_start":790,"line_end":790,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2181040381}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484034,"byte_end":484045,"line_start":790,"line_end":790,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484063,"byte_end":484069,"line_start":792,"line_end":792,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484070,"byte_end":484071,"line_start":792,"line_end":792,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484099,"byte_end":484103,"line_start":793,"line_end":793,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484086,"byte_end":484097,"line_start":793,"line_end":793,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484099,"byte_end":484103,"line_start":793,"line_end":793,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484086,"byte_end":484097,"line_start":793,"line_end":793,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484128,"byte_end":484138,"line_start":794,"line_end":794,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1912604925}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484173,"byte_end":484175,"line_start":795,"line_end":795,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484176,"byte_end":484180,"line_start":795,"line_end":795,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484242,"byte_end":484248,"line_start":798,"line_end":798,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484249,"byte_end":484253,"line_start":798,"line_end":798,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484264,"byte_end":484280,"line_start":798,"line_end":798,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3681}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484311,"byte_end":484315,"line_start":800,"line_end":800,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4261415165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484316,"byte_end":484321,"line_start":800,"line_end":800,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3682}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484365,"byte_end":484373,"line_start":802,"line_end":802,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":2055}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484356,"byte_end":484363,"line_start":802,"line_end":802,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484374,"byte_end":484384,"line_start":802,"line_end":802,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1912604925}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484396,"byte_end":484400,"line_start":802,"line_end":802,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484401,"byte_end":484407,"line_start":802,"line_end":802,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484452,"byte_end":484460,"line_start":803,"line_end":803,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484442,"byte_end":484451,"line_start":803,"line_end":803,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1761609981}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484492,"byte_end":484501,"line_start":804,"line_end":804,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":83888381}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484529,"byte_end":484531,"line_start":805,"line_end":805,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484532,"byte_end":484536,"line_start":805,"line_end":805,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484615,"byte_end":484618,"line_start":807,"line_end":807,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484604,"byte_end":484613,"line_start":807,"line_end":807,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484619,"byte_end":484628,"line_start":807,"line_end":807,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":83888381}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484630,"byte_end":484632,"line_start":807,"line_end":807,"column_start":65,"column_end":67},"ref_id":{"krate":0,"index":2701134077}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484634,"byte_end":484646,"line_start":807,"line_end":807,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":2181040381}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484647,"byte_end":484658,"line_start":807,"line_end":807,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484711,"byte_end":484720,"line_start":808,"line_end":808,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484699,"byte_end":484710,"line_start":808,"line_end":808,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3170896125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484722,"byte_end":484726,"line_start":808,"line_end":808,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484727,"byte_end":484733,"line_start":808,"line_end":808,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484756,"byte_end":484758,"line_start":809,"line_end":809,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484759,"byte_end":484763,"line_start":809,"line_end":809,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484776,"byte_end":484785,"line_start":809,"line_end":809,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484764,"byte_end":484775,"line_start":809,"line_end":809,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":318769405}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484861,"byte_end":484864,"line_start":812,"line_end":812,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484848,"byte_end":484859,"line_start":812,"line_end":812,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484861,"byte_end":484864,"line_start":812,"line_end":812,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484848,"byte_end":484859,"line_start":812,"line_end":812,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484889,"byte_end":484899,"line_start":813,"line_end":813,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1912604925}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484934,"byte_end":484936,"line_start":814,"line_end":814,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484937,"byte_end":484941,"line_start":814,"line_end":814,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485067,"byte_end":485075,"line_start":818,"line_end":818,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":1943}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485059,"byte_end":485065,"line_start":818,"line_end":818,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485077,"byte_end":485089,"line_start":818,"line_end":818,"column_start":58,"column_end":70},"ref_id":{"krate":0,"index":2181040381}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485092,"byte_end":485096,"line_start":818,"line_end":818,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485097,"byte_end":485103,"line_start":818,"line_end":818,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485169,"byte_end":485178,"line_start":820,"line_end":820,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485160,"byte_end":485168,"line_start":820,"line_end":820,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":545261821}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485180,"byte_end":485184,"line_start":820,"line_end":820,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485185,"byte_end":485191,"line_start":820,"line_end":820,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485137,"byte_end":485141,"line_start":820,"line_end":820,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485219,"byte_end":485224,"line_start":821,"line_end":821,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":788531453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485288,"byte_end":485290,"line_start":825,"line_end":825,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485291,"byte_end":485295,"line_start":825,"line_end":825,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485296,"byte_end":485301,"line_start":825,"line_end":825,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":788531453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485344,"byte_end":485350,"line_start":827,"line_end":827,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485331,"byte_end":485342,"line_start":827,"line_end":827,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485344,"byte_end":485350,"line_start":827,"line_end":827,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485331,"byte_end":485342,"line_start":827,"line_end":827,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485396,"byte_end":485402,"line_start":828,"line_end":828,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485403,"byte_end":485407,"line_start":828,"line_end":828,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485418,"byte_end":485432,"line_start":828,"line_end":828,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485453,"byte_end":485455,"line_start":829,"line_end":829,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485456,"byte_end":485460,"line_start":829,"line_end":829,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485473,"byte_end":485476,"line_start":829,"line_end":829,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485461,"byte_end":485465,"line_start":829,"line_end":829,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2189428989}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485466,"byte_end":485472,"line_start":829,"line_end":829,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3675}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485521,"byte_end":485526,"line_start":831,"line_end":831,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485508,"byte_end":485519,"line_start":831,"line_end":831,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485521,"byte_end":485526,"line_start":831,"line_end":831,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485508,"byte_end":485519,"line_start":831,"line_end":831,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485572,"byte_end":485578,"line_start":832,"line_end":832,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485579,"byte_end":485583,"line_start":832,"line_end":832,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485594,"byte_end":485607,"line_start":832,"line_end":832,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485628,"byte_end":485630,"line_start":833,"line_end":833,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485631,"byte_end":485635,"line_start":833,"line_end":833,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485648,"byte_end":485651,"line_start":833,"line_end":833,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485636,"byte_end":485640,"line_start":833,"line_end":833,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2256537853}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485641,"byte_end":485647,"line_start":833,"line_end":833,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3688}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485696,"byte_end":485701,"line_start":835,"line_end":835,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485683,"byte_end":485694,"line_start":835,"line_end":835,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485696,"byte_end":485701,"line_start":835,"line_end":835,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485683,"byte_end":485694,"line_start":835,"line_end":835,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485748,"byte_end":485754,"line_start":837,"line_end":837,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485755,"byte_end":485759,"line_start":837,"line_end":837,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485770,"byte_end":485783,"line_start":837,"line_end":837,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485816,"byte_end":485820,"line_start":839,"line_end":839,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2172651773}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485821,"byte_end":485825,"line_start":839,"line_end":839,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485856,"byte_end":485860,"line_start":841,"line_end":841,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3783264509}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485887,"byte_end":485889,"line_start":842,"line_end":842,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485890,"byte_end":485894,"line_start":842,"line_end":842,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485895,"byte_end":485899,"line_start":842,"line_end":842,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3783264509}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486020,"byte_end":486029,"line_start":844,"line_end":844,"column_start":85,"column_end":94},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485987,"byte_end":485998,"line_start":844,"line_end":844,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485975,"byte_end":485979,"line_start":844,"line_end":844,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485980,"byte_end":485986,"line_start":844,"line_end":844,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485999,"byte_end":486009,"line_start":844,"line_end":844,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1912604925}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486062,"byte_end":486064,"line_start":845,"line_end":845,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486065,"byte_end":486069,"line_start":845,"line_end":845,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486075,"byte_end":486088,"line_start":845,"line_end":845,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486090,"byte_end":486102,"line_start":845,"line_end":845,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":3045067005}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486189,"byte_end":486199,"line_start":849,"line_end":849,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486176,"byte_end":486187,"line_start":849,"line_end":849,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486189,"byte_end":486199,"line_start":849,"line_end":849,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486176,"byte_end":486187,"line_start":849,"line_end":849,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486246,"byte_end":486252,"line_start":851,"line_end":851,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693565}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486253,"byte_end":486257,"line_start":851,"line_end":851,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486268,"byte_end":486282,"line_start":851,"line_end":851,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486315,"byte_end":486319,"line_start":853,"line_end":853,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1803553021}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486320,"byte_end":486324,"line_start":853,"line_end":853,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486358,"byte_end":486362,"line_start":855,"line_end":855,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":998246653}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486389,"byte_end":486391,"line_start":856,"line_end":856,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486392,"byte_end":486396,"line_start":856,"line_end":856,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486397,"byte_end":486401,"line_start":856,"line_end":856,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":998246653}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486522,"byte_end":486531,"line_start":858,"line_end":858,"column_start":85,"column_end":94},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486489,"byte_end":486500,"line_start":858,"line_end":858,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":2631}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486477,"byte_end":486481,"line_start":858,"line_end":858,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744125}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486482,"byte_end":486488,"line_start":858,"line_end":858,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486501,"byte_end":486511,"line_start":858,"line_end":858,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1912604925}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486564,"byte_end":486566,"line_start":859,"line_end":859,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486567,"byte_end":486571,"line_start":859,"line_end":859,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486577,"byte_end":486590,"line_start":859,"line_end":859,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486592,"byte_end":486604,"line_start":859,"line_end":859,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":1077938429}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486690,"byte_end":486692,"line_start":864,"line_end":864,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486693,"byte_end":486697,"line_start":864,"line_end":864,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487568,"byte_end":487574,"line_start":893,"line_end":893,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487581,"byte_end":487589,"line_start":893,"line_end":893,"column_start":58,"column_end":66},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487605,"byte_end":487609,"line_start":895,"line_end":895,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487610,"byte_end":487617,"line_start":895,"line_end":895,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487648,"byte_end":487651,"line_start":896,"line_end":896,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487662,"byte_end":487676,"line_start":896,"line_end":896,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487652,"byte_end":487660,"line_start":896,"line_end":896,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487727,"byte_end":487733,"line_start":899,"line_end":899,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487716,"byte_end":487725,"line_start":899,"line_end":899,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487735,"byte_end":487739,"line_start":899,"line_end":899,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487740,"byte_end":487746,"line_start":899,"line_end":899,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487760,"byte_end":487765,"line_start":899,"line_end":899,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487748,"byte_end":487752,"line_start":899,"line_end":899,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487753,"byte_end":487759,"line_start":899,"line_end":899,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487783,"byte_end":487787,"line_start":899,"line_end":899,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873216}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487814,"byte_end":487826,"line_start":901,"line_end":901,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1543506176}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487841,"byte_end":487845,"line_start":902,"line_end":902,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487841,"byte_end":487845,"line_start":902,"line_end":902,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487881,"byte_end":487887,"line_start":903,"line_end":903,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487870,"byte_end":487879,"line_start":903,"line_end":903,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487888,"byte_end":487889,"line_start":903,"line_end":903,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2080377088}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487892,"byte_end":487896,"line_start":903,"line_end":903,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487897,"byte_end":487903,"line_start":903,"line_end":903,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487931,"byte_end":487935,"line_start":905,"line_end":905,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487931,"byte_end":487935,"line_start":905,"line_end":905,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487939,"byte_end":487941,"line_start":905,"line_end":905,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488814,"byte_end":488820,"line_start":929,"line_end":929,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488821,"byte_end":488827,"line_start":929,"line_end":929,"column_start":60,"column_end":66},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488828,"byte_end":488839,"line_start":929,"line_end":929,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488842,"byte_end":488850,"line_start":929,"line_end":929,"column_start":81,"column_end":89},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":488880,"byte_end":488886,"line_start":931,"line_end":931,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488869,"byte_end":488878,"line_start":931,"line_end":931,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488888,"byte_end":488892,"line_start":931,"line_end":931,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488893,"byte_end":488899,"line_start":931,"line_end":931,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":488913,"byte_end":488918,"line_start":931,"line_end":931,"column_start":59,"column_end":64},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488901,"byte_end":488905,"line_start":931,"line_end":931,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488906,"byte_end":488912,"line_start":931,"line_end":931,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488935,"byte_end":488939,"line_start":931,"line_end":931,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":536873217}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488956,"byte_end":488960,"line_start":932,"line_end":932,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488956,"byte_end":488960,"line_start":932,"line_end":932,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488985,"byte_end":488987,"line_start":933,"line_end":933,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488988,"byte_end":488992,"line_start":933,"line_end":933,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":489005,"byte_end":489015,"line_start":933,"line_end":933,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488993,"byte_end":488997,"line_start":933,"line_end":933,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488998,"byte_end":489004,"line_start":933,"line_end":933,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489016,"byte_end":489017,"line_start":933,"line_end":933,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":335546625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489018,"byte_end":489029,"line_start":933,"line_end":933,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489031,"byte_end":489032,"line_start":933,"line_end":933,"column_start":63,"column_end":64},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489061,"byte_end":489065,"line_start":935,"line_end":935,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489061,"byte_end":489065,"line_start":935,"line_end":935,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489069,"byte_end":489071,"line_start":935,"line_end":935,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489072,"byte_end":489076,"line_start":935,"line_end":935,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490873,"byte_end":490881,"line_start":975,"line_end":975,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490890,"byte_end":490899,"line_start":975,"line_end":975,"column_start":130,"column_end":139},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490870,"byte_end":490871,"line_start":975,"line_end":975,"column_start":110,"column_end":111},"ref_id":{"krate":0,"index":2308}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490836,"byte_end":490842,"line_start":975,"line_end":975,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490843,"byte_end":490849,"line_start":975,"line_end":975,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490850,"byte_end":490851,"line_start":975,"line_end":975,"column_start":90,"column_end":91},"ref_id":{"krate":0,"index":2308}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490854,"byte_end":490862,"line_start":975,"line_end":975,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":490934,"byte_end":490940,"line_start":977,"line_end":977,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490923,"byte_end":490932,"line_start":977,"line_end":977,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490942,"byte_end":490946,"line_start":977,"line_end":977,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490947,"byte_end":490953,"line_start":977,"line_end":977,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":490967,"byte_end":490972,"line_start":977,"line_end":977,"column_start":59,"column_end":64},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490955,"byte_end":490959,"line_start":977,"line_end":977,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490960,"byte_end":490966,"line_start":977,"line_end":977,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490989,"byte_end":490993,"line_start":977,"line_end":977,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":536873218}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491010,"byte_end":491014,"line_start":978,"line_end":978,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491010,"byte_end":491014,"line_start":978,"line_end":978,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491124,"byte_end":491132,"line_start":981,"line_end":981,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491121,"byte_end":491122,"line_start":981,"line_end":981,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2308}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491152,"byte_end":491162,"line_start":981,"line_end":981,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491140,"byte_end":491144,"line_start":981,"line_end":981,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491145,"byte_end":491151,"line_start":981,"line_end":981,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491163,"byte_end":491164,"line_start":981,"line_end":981,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":335546626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491165,"byte_end":491176,"line_start":981,"line_end":981,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491178,"byte_end":491179,"line_start":981,"line_end":981,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491264,"byte_end":491272,"line_start":982,"line_end":982,"column_start":83,"column_end":91},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491300,"byte_end":491308,"line_start":983,"line_end":983,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491296,"byte_end":491299,"line_start":983,"line_end":983,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491312,"byte_end":491320,"line_start":983,"line_end":983,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491309,"byte_end":491310,"line_start":983,"line_end":983,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2308}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491351,"byte_end":491359,"line_start":984,"line_end":984,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491347,"byte_end":491350,"line_start":984,"line_end":984,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491411,"byte_end":491419,"line_start":985,"line_end":985,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491407,"byte_end":491410,"line_start":985,"line_end":985,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491460,"byte_end":491473,"line_start":985,"line_end":985,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2453}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491432,"byte_end":491442,"line_start":985,"line_end":985,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491420,"byte_end":491424,"line_start":985,"line_end":985,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491425,"byte_end":491431,"line_start":985,"line_end":985,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491443,"byte_end":491444,"line_start":985,"line_end":985,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":335546626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491445,"byte_end":491456,"line_start":985,"line_end":985,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491458,"byte_end":491459,"line_start":985,"line_end":985,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491504,"byte_end":491512,"line_start":986,"line_end":986,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491500,"byte_end":491503,"line_start":986,"line_end":986,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491548,"byte_end":491551,"line_start":987,"line_end":987,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491562,"byte_end":491565,"line_start":987,"line_end":987,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491552,"byte_end":491560,"line_start":987,"line_end":987,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491566,"byte_end":491569,"line_start":987,"line_end":987,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2181040386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491608,"byte_end":491610,"line_start":990,"line_end":990,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491614,"byte_end":491628,"line_start":990,"line_end":990,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1720}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491611,"byte_end":491612,"line_start":990,"line_end":990,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2308}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491642,"byte_end":491652,"line_start":990,"line_end":990,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491630,"byte_end":491634,"line_start":990,"line_end":990,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491635,"byte_end":491641,"line_start":990,"line_end":990,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491653,"byte_end":491654,"line_start":990,"line_end":990,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":335546626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491655,"byte_end":491666,"line_start":990,"line_end":990,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3271}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491696,"byte_end":491700,"line_start":992,"line_end":992,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491696,"byte_end":491700,"line_start":992,"line_end":992,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491704,"byte_end":491706,"line_start":992,"line_end":992,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491707,"byte_end":491711,"line_start":992,"line_end":992,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492911,"byte_end":492919,"line_start":1021,"line_end":1021,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492928,"byte_end":492937,"line_start":1021,"line_end":1021,"column_start":115,"column_end":124},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492908,"byte_end":492909,"line_start":1021,"line_end":1021,"column_start":95,"column_end":96},"ref_id":{"krate":0,"index":2311}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492874,"byte_end":492880,"line_start":1021,"line_end":1021,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492881,"byte_end":492887,"line_start":1021,"line_end":1021,"column_start":68,"column_end":74},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492888,"byte_end":492889,"line_start":1021,"line_end":1021,"column_start":75,"column_end":76},"ref_id":{"krate":0,"index":2311}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492892,"byte_end":492900,"line_start":1021,"line_end":1021,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":492984,"byte_end":492990,"line_start":1022,"line_end":1022,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492973,"byte_end":492982,"line_start":1022,"line_end":1022,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":492992,"byte_end":492996,"line_start":1022,"line_end":1022,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":492997,"byte_end":493003,"line_start":1022,"line_end":1022,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493017,"byte_end":493022,"line_start":1022,"line_end":1022,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493005,"byte_end":493009,"line_start":1022,"line_end":1022,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493010,"byte_end":493016,"line_start":1022,"line_end":1022,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3358}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493040,"byte_end":493044,"line_start":1022,"line_end":1022,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873221}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493063,"byte_end":493075,"line_start":1024,"line_end":1024,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":2483030277}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493090,"byte_end":493094,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493090,"byte_end":493094,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493204,"byte_end":493212,"line_start":1028,"line_end":1028,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493201,"byte_end":493202,"line_start":1028,"line_end":1028,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2311}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493232,"byte_end":493242,"line_start":1028,"line_end":1028,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493220,"byte_end":493224,"line_start":1028,"line_end":1028,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493225,"byte_end":493231,"line_start":1028,"line_end":1028,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493243,"byte_end":493244,"line_start":1028,"line_end":1028,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3019901189}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493245,"byte_end":493256,"line_start":1028,"line_end":1028,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493258,"byte_end":493259,"line_start":1028,"line_end":1028,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493343,"byte_end":493351,"line_start":1029,"line_end":1029,"column_start":82,"column_end":90},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493379,"byte_end":493387,"line_start":1030,"line_end":1030,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493375,"byte_end":493378,"line_start":1030,"line_end":1030,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169477}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493391,"byte_end":493399,"line_start":1030,"line_end":1030,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493388,"byte_end":493389,"line_start":1030,"line_end":1030,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2311}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493430,"byte_end":493438,"line_start":1031,"line_end":1031,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493426,"byte_end":493429,"line_start":1031,"line_end":1031,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169477}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493490,"byte_end":493498,"line_start":1032,"line_end":1032,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493486,"byte_end":493489,"line_start":1032,"line_end":1032,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169477}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493539,"byte_end":493552,"line_start":1032,"line_end":1032,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2453}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493511,"byte_end":493521,"line_start":1032,"line_end":1032,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493499,"byte_end":493503,"line_start":1032,"line_end":1032,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493504,"byte_end":493510,"line_start":1032,"line_end":1032,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493522,"byte_end":493523,"line_start":1032,"line_end":1032,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":3019901189}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493524,"byte_end":493535,"line_start":1032,"line_end":1032,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493537,"byte_end":493538,"line_start":1032,"line_end":1032,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493583,"byte_end":493591,"line_start":1033,"line_end":1033,"column_start":25,"column_end":33},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493579,"byte_end":493582,"line_start":1033,"line_end":1033,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169477}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493627,"byte_end":493630,"line_start":1034,"line_end":1034,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493641,"byte_end":493644,"line_start":1034,"line_end":1034,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493631,"byte_end":493639,"line_start":1034,"line_end":1034,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493645,"byte_end":493648,"line_start":1034,"line_end":1034,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1644169477}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493696,"byte_end":493706,"line_start":1037,"line_end":1037,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493693,"byte_end":493694,"line_start":1037,"line_end":1037,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2311}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493708,"byte_end":493709,"line_start":1037,"line_end":1037,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3019901189}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493712,"byte_end":493716,"line_start":1037,"line_end":1037,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493717,"byte_end":493723,"line_start":1037,"line_end":1037,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493748,"byte_end":493752,"line_start":1038,"line_end":1038,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493748,"byte_end":493752,"line_start":1038,"line_end":1038,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493785,"byte_end":493787,"line_start":1039,"line_end":1039,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493788,"byte_end":493792,"line_start":1039,"line_end":1039,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493793,"byte_end":493794,"line_start":1039,"line_end":1039,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":956303621}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493840,"byte_end":493844,"line_start":1041,"line_end":1041,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493840,"byte_end":493844,"line_start":1041,"line_end":1041,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493934,"byte_end":493947,"line_start":1042,"line_end":1042,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493931,"byte_end":493932,"line_start":1042,"line_end":1042,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2311}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493951,"byte_end":493952,"line_start":1042,"line_end":1042,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":3019901189}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493953,"byte_end":493964,"line_start":1042,"line_end":1042,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493979,"byte_end":493990,"line_start":1042,"line_end":1042,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493967,"byte_end":493971,"line_start":1042,"line_end":1042,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1073744133}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493972,"byte_end":493978,"line_start":1042,"line_end":1042,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494024,"byte_end":494028,"line_start":1043,"line_end":1043,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494024,"byte_end":494028,"line_start":1043,"line_end":1043,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494069,"byte_end":494071,"line_start":1044,"line_end":1044,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494072,"byte_end":494076,"line_start":1044,"line_end":1044,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":494077,"byte_end":494078,"line_start":1044,"line_end":1044,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3707767045}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494140,"byte_end":494144,"line_start":1046,"line_end":1046,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494140,"byte_end":494144,"line_start":1046,"line_end":1046,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494227,"byte_end":494229,"line_start":1047,"line_end":1047,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494230,"byte_end":494234,"line_start":1047,"line_end":1047,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494382,"byte_end":494386,"line_start":1053,"line_end":1053,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494382,"byte_end":494386,"line_start":1053,"line_end":1053,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494390,"byte_end":494392,"line_start":1053,"line_end":1053,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494393,"byte_end":494397,"line_start":1053,"line_end":1053,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496674,"byte_end":496679,"line_start":1109,"line_end":1109,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3272}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496680,"byte_end":496692,"line_start":1109,"line_end":1109,"column_start":125,"column_end":137},"ref_id":{"krate":0,"index":3836}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496671,"byte_end":496672,"line_start":1109,"line_end":1109,"column_start":116,"column_end":117},"ref_id":{"krate":0,"index":2313}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496609,"byte_end":496615,"line_start":1109,"line_end":1109,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496638,"byte_end":496639,"line_start":1109,"line_end":1109,"column_start":83,"column_end":84},"ref_id":{"krate":0,"index":2313}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496644,"byte_end":496650,"line_start":1109,"line_end":1109,"column_start":89,"column_end":95},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496655,"byte_end":496663,"line_start":1109,"line_end":1109,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496716,"byte_end":496720,"line_start":1111,"line_end":1111,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744136}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496721,"byte_end":496728,"line_start":1111,"line_end":1111,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496759,"byte_end":496762,"line_start":1112,"line_end":1112,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496773,"byte_end":496787,"line_start":1112,"line_end":1112,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496763,"byte_end":496771,"line_start":1112,"line_end":1112,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":496830,"byte_end":496840,"line_start":1115,"line_end":1115,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2318}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496825,"byte_end":496829,"line_start":1115,"line_end":1115,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744136}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496857,"byte_end":496865,"line_start":1117,"line_end":1117,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1610615048}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496866,"byte_end":496876,"line_start":1117,"line_end":1117,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1946159368}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":496897,"byte_end":496904,"line_start":1118,"line_end":1118,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":2314}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496892,"byte_end":496896,"line_start":1118,"line_end":1118,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744136}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496905,"byte_end":496917,"line_start":1118,"line_end":1118,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":536873224}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496947,"byte_end":496949,"line_start":1121,"line_end":1121,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499122,"byte_end":499128,"line_start":1171,"line_end":1171,"column_start":55,"column_end":61},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499140,"byte_end":499146,"line_start":1171,"line_end":1171,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499151,"byte_end":499159,"line_start":1171,"line_end":1171,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499175,"byte_end":499179,"line_start":1173,"line_end":1173,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499180,"byte_end":499187,"line_start":1173,"line_end":1173,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499218,"byte_end":499221,"line_start":1174,"line_end":1174,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499232,"byte_end":499246,"line_start":1174,"line_end":1174,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499222,"byte_end":499230,"line_start":1174,"line_end":1174,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499282,"byte_end":499286,"line_start":1177,"line_end":1177,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499293,"byte_end":499305,"line_start":1177,"line_end":1177,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":536873226}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499320,"byte_end":499324,"line_start":1178,"line_end":1178,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499320,"byte_end":499324,"line_start":1178,"line_end":1178,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499333,"byte_end":499334,"line_start":1178,"line_end":1178,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":939526410}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499359,"byte_end":499363,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499359,"byte_end":499363,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499392,"byte_end":499395,"line_start":1179,"line_end":1179,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499379,"byte_end":499389,"line_start":1179,"line_end":1179,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499367,"byte_end":499371,"line_start":1179,"line_end":1179,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499372,"byte_end":499378,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499445,"byte_end":499448,"line_start":1182,"line_end":1182,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499434,"byte_end":499443,"line_start":1182,"line_end":1182,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499449,"byte_end":499453,"line_start":1182,"line_end":1182,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499454,"byte_end":499460,"line_start":1182,"line_end":1182,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499461,"byte_end":499465,"line_start":1182,"line_end":1182,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499509,"byte_end":499512,"line_start":1183,"line_end":1183,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499498,"byte_end":499507,"line_start":1183,"line_end":1183,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499513,"byte_end":499517,"line_start":1183,"line_end":1183,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499518,"byte_end":499524,"line_start":1183,"line_end":1183,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499525,"byte_end":499529,"line_start":1183,"line_end":1183,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499671,"byte_end":499681,"line_start":1186,"line_end":1186,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2617}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499659,"byte_end":499663,"line_start":1186,"line_end":1186,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499664,"byte_end":499670,"line_start":1186,"line_end":1186,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499725,"byte_end":499728,"line_start":1187,"line_end":1187,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2612}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499714,"byte_end":499723,"line_start":1187,"line_end":1187,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499729,"byte_end":499737,"line_start":1187,"line_end":1187,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1275070730}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499751,"byte_end":499762,"line_start":1187,"line_end":1187,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499739,"byte_end":499743,"line_start":1187,"line_end":1187,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499744,"byte_end":499750,"line_start":1187,"line_end":1187,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499775,"byte_end":499778,"line_start":1187,"line_end":1187,"column_start":90,"column_end":93},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499779,"byte_end":499795,"line_start":1187,"line_end":1187,"column_start":94,"column_end":110},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499798,"byte_end":499802,"line_start":1187,"line_end":1187,"column_start":113,"column_end":117},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499803,"byte_end":499809,"line_start":1187,"line_end":1187,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499810,"byte_end":499814,"line_start":1187,"line_end":1187,"column_start":125,"column_end":129},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499840,"byte_end":499847,"line_start":1188,"line_end":1188,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499829,"byte_end":499838,"line_start":1188,"line_end":1188,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499851,"byte_end":499859,"line_start":1188,"line_end":1188,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":33556746}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499862,"byte_end":499866,"line_start":1188,"line_end":1188,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499867,"byte_end":499873,"line_start":1188,"line_end":1188,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499875,"byte_end":499883,"line_start":1188,"line_end":1188,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1912604938}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499886,"byte_end":499895,"line_start":1188,"line_end":1188,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3053455626}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499939,"byte_end":499945,"line_start":1190,"line_end":1190,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499929,"byte_end":499938,"line_start":1190,"line_end":1190,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3053455626}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499988,"byte_end":499998,"line_start":1191,"line_end":1191,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499978,"byte_end":499987,"line_start":1191,"line_end":1191,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3053455626}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500039,"byte_end":500050,"line_start":1192,"line_end":1192,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500027,"byte_end":500031,"line_start":1192,"line_end":1192,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500032,"byte_end":500038,"line_start":1192,"line_end":1192,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500076,"byte_end":500091,"line_start":1194,"line_end":1194,"column_start":22,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500076,"byte_end":500077,"line_start":1194,"line_end":1194,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500079,"byte_end":500091,"line_start":1194,"line_end":1194,"column_start":25,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500086,"byte_end":500089,"line_start":1194,"line_end":1194,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500079,"byte_end":500085,"line_start":1194,"line_end":1194,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2768242954}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500113,"byte_end":500114,"line_start":1195,"line_end":1195,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1962936586}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500117,"byte_end":500127,"line_start":1195,"line_end":1195,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":1761609994}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500162,"byte_end":500172,"line_start":1196,"line_end":1196,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3103787274}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500173,"byte_end":500174,"line_start":1196,"line_end":1196,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1962936586}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500150,"byte_end":500156,"line_start":1196,"line_end":1196,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2768242954}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500157,"byte_end":500158,"line_start":1196,"line_end":1196,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1962936586}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500222,"byte_end":500228,"line_start":1198,"line_end":1198,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2768242954}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500229,"byte_end":500230,"line_start":1198,"line_end":1198,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1962936586}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500294,"byte_end":500304,"line_start":1202,"line_end":1202,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2618}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500282,"byte_end":500286,"line_start":1202,"line_end":1202,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500287,"byte_end":500293,"line_start":1202,"line_end":1202,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500305,"byte_end":500315,"line_start":1202,"line_end":1202,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1761609994}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500433,"byte_end":500442,"line_start":1206,"line_end":1206,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":2615}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500421,"byte_end":500425,"line_start":1206,"line_end":1206,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500426,"byte_end":500432,"line_start":1206,"line_end":1206,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500443,"byte_end":500451,"line_start":1206,"line_end":1206,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1275070730}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500478,"byte_end":500485,"line_start":1207,"line_end":1207,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500467,"byte_end":500476,"line_start":1207,"line_end":1207,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500489,"byte_end":500497,"line_start":1207,"line_end":1207,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":33556746}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500500,"byte_end":500504,"line_start":1207,"line_end":1207,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500505,"byte_end":500511,"line_start":1207,"line_end":1207,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500513,"byte_end":500521,"line_start":1207,"line_end":1207,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1912604938}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500524,"byte_end":500533,"line_start":1207,"line_end":1207,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":411044106}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500563,"byte_end":500572,"line_start":1208,"line_end":1208,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":411044106}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500549,"byte_end":500553,"line_start":1208,"line_end":1208,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500554,"byte_end":500560,"line_start":1208,"line_end":1208,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500618,"byte_end":500621,"line_start":1211,"line_end":1211,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500607,"byte_end":500616,"line_start":1211,"line_end":1211,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500622,"byte_end":500626,"line_start":1211,"line_end":1211,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500627,"byte_end":500633,"line_start":1211,"line_end":1211,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500634,"byte_end":500638,"line_start":1211,"line_end":1211,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500593,"byte_end":500597,"line_start":1211,"line_end":1211,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744138}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500598,"byte_end":500604,"line_start":1211,"line_end":1211,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3358}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500656,"byte_end":500658,"line_start":1213,"line_end":1213,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501099,"byte_end":501105,"line_start":1223,"line_end":1223,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501117,"byte_end":501123,"line_start":1223,"line_end":1223,"column_start":68,"column_end":74},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501124,"byte_end":501133,"line_start":1223,"line_end":1223,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501135,"byte_end":501143,"line_start":1223,"line_end":1223,"column_start":86,"column_end":94},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501171,"byte_end":501175,"line_start":1225,"line_end":1225,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501182,"byte_end":501194,"line_start":1225,"line_end":1225,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":536873228}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501209,"byte_end":501213,"line_start":1226,"line_end":1226,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501209,"byte_end":501213,"line_start":1226,"line_end":1226,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501222,"byte_end":501223,"line_start":1226,"line_end":1226,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3489663244}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501248,"byte_end":501252,"line_start":1227,"line_end":1227,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501248,"byte_end":501252,"line_start":1227,"line_end":1227,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501281,"byte_end":501284,"line_start":1227,"line_end":1227,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501268,"byte_end":501278,"line_start":1227,"line_end":1227,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501256,"byte_end":501260,"line_start":1227,"line_end":1227,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501261,"byte_end":501267,"line_start":1227,"line_end":1227,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501334,"byte_end":501337,"line_start":1230,"line_end":1230,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501323,"byte_end":501332,"line_start":1230,"line_end":1230,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501338,"byte_end":501342,"line_start":1230,"line_end":1230,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501343,"byte_end":501349,"line_start":1230,"line_end":1230,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501350,"byte_end":501354,"line_start":1230,"line_end":1230,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501399,"byte_end":501402,"line_start":1232,"line_end":1232,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2612}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501388,"byte_end":501397,"line_start":1232,"line_end":1232,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501403,"byte_end":501411,"line_start":1232,"line_end":1232,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2214594828}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501425,"byte_end":501436,"line_start":1232,"line_end":1232,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501413,"byte_end":501417,"line_start":1232,"line_end":1232,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501418,"byte_end":501424,"line_start":1232,"line_end":1232,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501449,"byte_end":501452,"line_start":1232,"line_end":1232,"column_start":86,"column_end":89},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501453,"byte_end":501469,"line_start":1232,"line_end":1232,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501472,"byte_end":501476,"line_start":1232,"line_end":1232,"column_start":109,"column_end":113},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501477,"byte_end":501483,"line_start":1232,"line_end":1232,"column_start":114,"column_end":120},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501484,"byte_end":501488,"line_start":1232,"line_end":1232,"column_start":121,"column_end":125},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501526,"byte_end":501529,"line_start":1233,"line_end":1233,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501515,"byte_end":501524,"line_start":1233,"line_end":1233,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501530,"byte_end":501534,"line_start":1233,"line_end":1233,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501535,"byte_end":501541,"line_start":1233,"line_end":1233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501542,"byte_end":501546,"line_start":1233,"line_end":1233,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501575,"byte_end":501582,"line_start":1235,"line_end":1235,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501564,"byte_end":501573,"line_start":1235,"line_end":1235,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501586,"byte_end":501594,"line_start":1235,"line_end":1235,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":4093643020}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501597,"byte_end":501601,"line_start":1235,"line_end":1235,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501602,"byte_end":501608,"line_start":1235,"line_end":1235,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501610,"byte_end":501618,"line_start":1235,"line_end":1235,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1778387212}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501621,"byte_end":501630,"line_start":1235,"line_end":1235,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":301992204}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501668,"byte_end":501671,"line_start":1237,"line_end":1237,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501657,"byte_end":501666,"line_start":1237,"line_end":1237,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501672,"byte_end":501676,"line_start":1237,"line_end":1237,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501677,"byte_end":501683,"line_start":1237,"line_end":1237,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501684,"byte_end":501688,"line_start":1237,"line_end":1237,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501643,"byte_end":501647,"line_start":1237,"line_end":1237,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744140}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501648,"byte_end":501654,"line_start":1237,"line_end":1237,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3358}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501706,"byte_end":501708,"line_start":1239,"line_end":1239,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501720,"byte_end":501724,"line_start":1239,"line_end":1239,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501709,"byte_end":501718,"line_start":1239,"line_end":1239,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3355}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501725,"byte_end":501734,"line_start":1239,"line_end":1239,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":301992204}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501843,"byte_end":501852,"line_start":1244,"line_end":1244,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501905,"byte_end":501911,"line_start":1245,"line_end":1245,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501892,"byte_end":501902,"line_start":1245,"line_end":1245,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501880,"byte_end":501884,"line_start":1245,"line_end":1245,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501885,"byte_end":501891,"line_start":1245,"line_end":1245,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3356}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501951,"byte_end":501965,"line_start":1246,"line_end":1246,"column_start":37,"column_end":51},"ref_id":{"krate":0,"index":2609}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501940,"byte_end":501949,"line_start":1246,"line_end":1246,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501966,"byte_end":501976,"line_start":1246,"line_end":1246,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":805308685}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501990,"byte_end":502001,"line_start":1246,"line_end":1246,"column_start":76,"column_end":87},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501978,"byte_end":501982,"line_start":1246,"line_end":1246,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501983,"byte_end":501989,"line_start":1246,"line_end":1246,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502014,"byte_end":502017,"line_start":1246,"line_end":1246,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502018,"byte_end":502034,"line_start":1246,"line_end":1246,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502037,"byte_end":502041,"line_start":1246,"line_end":1246,"column_start":123,"column_end":127},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502042,"byte_end":502048,"line_start":1246,"line_end":1246,"column_start":128,"column_end":134},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502049,"byte_end":502053,"line_start":1246,"line_end":1246,"column_start":135,"column_end":139},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502075,"byte_end":502079,"line_start":1247,"line_end":1247,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502064,"byte_end":502073,"line_start":1247,"line_end":1247,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502080,"byte_end":502090,"line_start":1247,"line_end":1247,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2751465741}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502834,"byte_end":502840,"line_start":1271,"line_end":1271,"column_start":41,"column_end":47},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502841,"byte_end":502853,"line_start":1271,"line_end":1271,"column_start":48,"column_end":60},"ref_id":{"krate":0,"index":3836}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502855,"byte_end":502863,"line_start":1271,"line_end":1271,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502898,"byte_end":502901,"line_start":1273,"line_end":1273,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502887,"byte_end":502896,"line_start":1273,"line_end":1273,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502902,"byte_end":502906,"line_start":1273,"line_end":1273,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502907,"byte_end":502913,"line_start":1273,"line_end":1273,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502914,"byte_end":502918,"line_start":1273,"line_end":1273,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502963,"byte_end":502972,"line_start":1274,"line_end":1274,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502952,"byte_end":502961,"line_start":1274,"line_end":1274,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502977,"byte_end":502981,"line_start":1274,"line_end":1274,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":134220046}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502984,"byte_end":502988,"line_start":1274,"line_end":1274,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502989,"byte_end":502995,"line_start":1274,"line_end":1274,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503000,"byte_end":503004,"line_start":1274,"line_end":1274,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503005,"byte_end":503011,"line_start":1274,"line_end":1274,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503012,"byte_end":503016,"line_start":1274,"line_end":1274,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":3778}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503055,"byte_end":503061,"line_start":1275,"line_end":1275,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503043,"byte_end":503047,"line_start":1275,"line_end":1275,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503048,"byte_end":503054,"line_start":1275,"line_end":1275,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503077,"byte_end":503087,"line_start":1277,"line_end":1277,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3154118926}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503091,"byte_end":503101,"line_start":1277,"line_end":1277,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2885683470}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503123,"byte_end":503125,"line_start":1278,"line_end":1278,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503126,"byte_end":503138,"line_start":1278,"line_end":1278,"column_start":23,"column_end":35},"ref_id":{"krate":0,"index":3836}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503157,"byte_end":503171,"line_start":1279,"line_end":1279,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503173,"byte_end":503183,"line_start":1279,"line_end":1279,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3154118926}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503201,"byte_end":503217,"line_start":1280,"line_end":1280,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503219,"byte_end":503229,"line_start":1280,"line_end":1280,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2885683470}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503247,"byte_end":503259,"line_start":1281,"line_end":1281,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3839}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503261,"byte_end":503271,"line_start":1281,"line_end":1281,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":3154118926}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503274,"byte_end":503284,"line_start":1281,"line_end":1281,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2885683470}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503337,"byte_end":503340,"line_start":1284,"line_end":1284,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503351,"byte_end":503354,"line_start":1284,"line_end":1284,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503341,"byte_end":503349,"line_start":1284,"line_end":1284,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503774,"byte_end":503788,"line_start":1296,"line_end":1296,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":2619}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503762,"byte_end":503766,"line_start":1296,"line_end":1296,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744144}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503767,"byte_end":503773,"line_start":1296,"line_end":1296,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3356}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503789,"byte_end":503792,"line_start":1296,"line_end":1296,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":536873232}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504045,"byte_end":504051,"line_start":1304,"line_end":1304,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504033,"byte_end":504037,"line_start":1304,"line_end":1304,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744145}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504038,"byte_end":504044,"line_start":1304,"line_end":1304,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3356}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504292,"byte_end":504298,"line_start":1317,"line_end":1317,"column_start":13,"column_end":19},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504299,"byte_end":504308,"line_start":1317,"line_end":1317,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504323,"byte_end":504332,"line_start":1318,"line_end":1318,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504353,"byte_end":504362,"line_start":1319,"line_end":1319,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2322}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504492,"byte_end":504496,"line_start":1326,"line_end":1326,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744156}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504497,"byte_end":504503,"line_start":1326,"line_end":1326,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2327}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504482,"byte_end":504486,"line_start":1326,"line_end":1326,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504532,"byte_end":504541,"line_start":1327,"line_end":1327,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":1707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504530,"byte_end":504531,"line_start":1327,"line_end":1327,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2684356892}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504542,"byte_end":504546,"line_start":1327,"line_end":1327,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744156}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504547,"byte_end":504553,"line_start":1327,"line_end":1327,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504574,"byte_end":504588,"line_start":1328,"line_end":1328,"column_start":19,"column_end":33},"ref_id":{"krate":0,"index":1649}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504568,"byte_end":504573,"line_start":1328,"line_end":1328,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":671090972}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504752,"byte_end":504760,"line_start":1334,"line_end":1334,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504770,"byte_end":504779,"line_start":1334,"line_end":1334,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504749,"byte_end":504750,"line_start":1334,"line_end":1334,"column_start":69,"column_end":70},"ref_id":{"krate":0,"index":2334}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504715,"byte_end":504721,"line_start":1334,"line_end":1334,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504722,"byte_end":504728,"line_start":1334,"line_end":1334,"column_start":42,"column_end":48},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504729,"byte_end":504730,"line_start":1334,"line_end":1334,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":2334}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504733,"byte_end":504741,"line_start":1334,"line_end":1334,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504819,"byte_end":504823,"line_start":1335,"line_end":1335,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744157}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504824,"byte_end":504830,"line_start":1335,"line_end":1335,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2327}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504804,"byte_end":504808,"line_start":1335,"line_end":1335,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504854,"byte_end":504864,"line_start":1336,"line_end":1336,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504851,"byte_end":504852,"line_start":1336,"line_end":1336,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":2334}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504866,"byte_end":504872,"line_start":1336,"line_end":1336,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2684356893}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504874,"byte_end":504878,"line_start":1336,"line_end":1336,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744157}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504879,"byte_end":504885,"line_start":1336,"line_end":1336,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2329}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504906,"byte_end":504910,"line_start":1337,"line_end":1337,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504906,"byte_end":504910,"line_start":1337,"line_end":1337,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504939,"byte_end":504941,"line_start":1338,"line_end":1338,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504942,"byte_end":504946,"line_start":1338,"line_end":1338,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504947,"byte_end":504948,"line_start":1338,"line_end":1338,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":3825207581}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504986,"byte_end":504990,"line_start":1340,"line_end":1340,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504986,"byte_end":504990,"line_start":1340,"line_end":1340,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505025,"byte_end":505038,"line_start":1341,"line_end":1341,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505022,"byte_end":505023,"line_start":1341,"line_end":1341,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2334}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505042,"byte_end":505048,"line_start":1341,"line_end":1341,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2684356893}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505049,"byte_end":505060,"line_start":1341,"line_end":1341,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3271}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505075,"byte_end":505086,"line_start":1341,"line_end":1341,"column_start":80,"column_end":91},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505063,"byte_end":505067,"line_start":1341,"line_end":1341,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073744157}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505068,"byte_end":505074,"line_start":1341,"line_end":1341,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":2329}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505116,"byte_end":505120,"line_start":1342,"line_end":1342,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505116,"byte_end":505120,"line_start":1342,"line_end":1342,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505157,"byte_end":505159,"line_start":1343,"line_end":1343,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505160,"byte_end":505164,"line_start":1343,"line_end":1343,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505165,"byte_end":505166,"line_start":1343,"line_end":1343,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":1644169501}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505220,"byte_end":505224,"line_start":1345,"line_end":1345,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505220,"byte_end":505224,"line_start":1345,"line_end":1345,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505258,"byte_end":505260,"line_start":1346,"line_end":1346,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505261,"byte_end":505265,"line_start":1346,"line_end":1346,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505376,"byte_end":505378,"line_start":1352,"line_end":1352,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505379,"byte_end":505383,"line_start":1352,"line_end":1352,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505514,"byte_end":505522,"line_start":1357,"line_end":1357,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505532,"byte_end":505541,"line_start":1357,"line_end":1357,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505511,"byte_end":505512,"line_start":1357,"line_end":1357,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":2336}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505478,"byte_end":505479,"line_start":1357,"line_end":1357,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2336}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505484,"byte_end":505490,"line_start":1357,"line_end":1357,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505495,"byte_end":505503,"line_start":1357,"line_end":1357,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505563,"byte_end":505567,"line_start":1359,"line_end":1359,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505568,"byte_end":505574,"line_start":1359,"line_end":1359,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505575,"byte_end":505585,"line_start":1359,"line_end":1359,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505616,"byte_end":505619,"line_start":1360,"line_end":1360,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505630,"byte_end":505644,"line_start":1360,"line_end":1360,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505620,"byte_end":505628,"line_start":1360,"line_end":1360,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505687,"byte_end":505691,"line_start":1363,"line_end":1363,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505692,"byte_end":505698,"line_start":1363,"line_end":1363,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2327}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505672,"byte_end":505676,"line_start":1363,"line_end":1363,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505716,"byte_end":505725,"line_start":1364,"line_end":1364,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505713,"byte_end":505714,"line_start":1364,"line_end":1364,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2336}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505733,"byte_end":505738,"line_start":1364,"line_end":1364,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505726,"byte_end":505732,"line_start":1364,"line_end":1364,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2550139167}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505742,"byte_end":505746,"line_start":1364,"line_end":1364,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505747,"byte_end":505753,"line_start":1364,"line_end":1364,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505755,"byte_end":505760,"line_start":1364,"line_end":1364,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":536873247}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505818,"byte_end":505828,"line_start":1366,"line_end":1366,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505806,"byte_end":505810,"line_start":1366,"line_end":1366,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505811,"byte_end":505817,"line_start":1366,"line_end":1366,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505829,"byte_end":505833,"line_start":1366,"line_end":1366,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505834,"byte_end":505840,"line_start":1366,"line_end":1366,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505841,"byte_end":505852,"line_start":1366,"line_end":1366,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505873,"byte_end":505879,"line_start":1367,"line_end":1367,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3523217695}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505880,"byte_end":505881,"line_start":1367,"line_end":1367,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506000,"byte_end":506004,"line_start":1369,"line_end":1369,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505987,"byte_end":505998,"line_start":1369,"line_end":1369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506000,"byte_end":506004,"line_start":1369,"line_end":1369,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505987,"byte_end":505998,"line_start":1369,"line_end":1369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506041,"byte_end":506048,"line_start":1370,"line_end":1370,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506049,"byte_end":506056,"line_start":1370,"line_end":1370,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506066,"byte_end":506072,"line_start":1370,"line_end":1370,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2041}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506057,"byte_end":506064,"line_start":1370,"line_end":1370,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3338}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506085,"byte_end":506090,"line_start":1370,"line_end":1370,"column_start":76,"column_end":81},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506073,"byte_end":506077,"line_start":1370,"line_end":1370,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506078,"byte_end":506084,"line_start":1370,"line_end":1370,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506094,"byte_end":506098,"line_start":1370,"line_end":1370,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506099,"byte_end":506104,"line_start":1370,"line_end":1370,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506119,"byte_end":506123,"line_start":1370,"line_end":1370,"column_start":110,"column_end":114},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506124,"byte_end":506130,"line_start":1370,"line_end":1370,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506163,"byte_end":506172,"line_start":1371,"line_end":1371,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506160,"byte_end":506161,"line_start":1371,"line_end":1371,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2336}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506173,"byte_end":506177,"line_start":1371,"line_end":1371,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2030045471}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506179,"byte_end":506183,"line_start":1371,"line_end":1371,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506184,"byte_end":506190,"line_start":1371,"line_end":1371,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506192,"byte_end":506197,"line_start":1371,"line_end":1371,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873247}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506248,"byte_end":506254,"line_start":1373,"line_end":1373,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506235,"byte_end":506246,"line_start":1373,"line_end":1373,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506248,"byte_end":506254,"line_start":1373,"line_end":1373,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506235,"byte_end":506246,"line_start":1373,"line_end":1373,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506291,"byte_end":506298,"line_start":1374,"line_end":1374,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506310,"byte_end":506316,"line_start":1374,"line_end":1374,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1835}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506299,"byte_end":506308,"line_start":1374,"line_end":1374,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3282}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506329,"byte_end":506334,"line_start":1374,"line_end":1374,"column_start":70,"column_end":75},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506317,"byte_end":506321,"line_start":1374,"line_end":1374,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506322,"byte_end":506328,"line_start":1374,"line_end":1374,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506338,"byte_end":506344,"line_start":1374,"line_end":1374,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3523217695}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506347,"byte_end":506351,"line_start":1374,"line_end":1374,"column_start":88,"column_end":92},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506352,"byte_end":506355,"line_start":1374,"line_end":1374,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506370,"byte_end":506374,"line_start":1374,"line_end":1374,"column_start":111,"column_end":115},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506375,"byte_end":506381,"line_start":1374,"line_end":1374,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506410,"byte_end":506419,"line_start":1375,"line_end":1375,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506407,"byte_end":506408,"line_start":1375,"line_end":1375,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2336}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506420,"byte_end":506424,"line_start":1375,"line_end":1375,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3204450591}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506426,"byte_end":506430,"line_start":1375,"line_end":1375,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506431,"byte_end":506437,"line_start":1375,"line_end":1375,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506439,"byte_end":506444,"line_start":1375,"line_end":1375,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873247}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506496,"byte_end":506501,"line_start":1377,"line_end":1377,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506483,"byte_end":506494,"line_start":1377,"line_end":1377,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506496,"byte_end":506501,"line_start":1377,"line_end":1377,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506483,"byte_end":506494,"line_start":1377,"line_end":1377,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506538,"byte_end":506545,"line_start":1378,"line_end":1378,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2741}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506556,"byte_end":506562,"line_start":1378,"line_end":1378,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":2159}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506546,"byte_end":506554,"line_start":1378,"line_end":1378,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3350}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506575,"byte_end":506580,"line_start":1378,"line_end":1378,"column_start":69,"column_end":74},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506563,"byte_end":506567,"line_start":1378,"line_end":1378,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506568,"byte_end":506574,"line_start":1378,"line_end":1378,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506584,"byte_end":506590,"line_start":1378,"line_end":1378,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3523217695}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506592,"byte_end":506596,"line_start":1378,"line_end":1378,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506597,"byte_end":506602,"line_start":1378,"line_end":1378,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506617,"byte_end":506621,"line_start":1378,"line_end":1378,"column_start":111,"column_end":115},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506622,"byte_end":506628,"line_start":1378,"line_end":1378,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506657,"byte_end":506666,"line_start":1379,"line_end":1379,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506654,"byte_end":506655,"line_start":1379,"line_end":1379,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2336}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506667,"byte_end":506671,"line_start":1379,"line_end":1379,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1518340383}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506673,"byte_end":506677,"line_start":1379,"line_end":1379,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744159}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506678,"byte_end":506684,"line_start":1379,"line_end":1379,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506686,"byte_end":506691,"line_start":1379,"line_end":1379,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873247}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506771,"byte_end":506773,"line_start":1385,"line_end":1385,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506879,"byte_end":506883,"line_start":1391,"line_end":1391,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744161}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506884,"byte_end":506890,"line_start":1391,"line_end":1391,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506891,"byte_end":506901,"line_start":1391,"line_end":1391,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":3781}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506988,"byte_end":506992,"line_start":1395,"line_end":1395,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744161}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506993,"byte_end":506999,"line_start":1395,"line_end":1395,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2327}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506973,"byte_end":506977,"line_start":1395,"line_end":1395,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507044,"byte_end":507050,"line_start":1397,"line_end":1397,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507033,"byte_end":507042,"line_start":1397,"line_end":1397,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":3269}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507051,"byte_end":507057,"line_start":1397,"line_end":1397,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1207961889}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507059,"byte_end":507063,"line_start":1397,"line_end":1397,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073744161}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507064,"byte_end":507070,"line_start":1397,"line_end":1397,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":2329}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507090,"byte_end":507092,"line_start":1398,"line_end":1398,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507090,"byte_end":507092,"line_start":1398,"line_end":1398,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507104,"byte_end":507110,"line_start":1398,"line_end":1398,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3288336673}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507128,"byte_end":507131,"line_start":1399,"line_end":1399,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507128,"byte_end":507131,"line_start":1399,"line_end":1399,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507348,"byte_end":507354,"line_start":1416,"line_end":1416,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507385,"byte_end":507392,"line_start":1418,"line_end":1418,"column_start":10,"column_end":17},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507421,"byte_end":507430,"line_start":1420,"line_end":1420,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507463,"byte_end":507471,"line_start":1422,"line_end":1422,"column_start":11,"column_end":19},"ref_id":{"krate":0,"index":3350}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507564,"byte_end":507573,"line_start":1427,"line_end":1427,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507589,"byte_end":507598,"line_start":1427,"line_end":1427,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507603,"byte_end":507609,"line_start":1427,"line_end":1427,"column_start":63,"column_end":69},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507616,"byte_end":507624,"line_start":1427,"line_end":1427,"column_start":76,"column_end":84},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507649,"byte_end":507659,"line_start":1428,"line_end":1428,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507642,"byte_end":507648,"line_start":1428,"line_end":1428,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536873252}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507660,"byte_end":507666,"line_start":1428,"line_end":1428,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073744164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507667,"byte_end":507678,"line_start":1428,"line_end":1428,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3271}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507680,"byte_end":507681,"line_start":1428,"line_end":1428,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507709,"byte_end":507715,"line_start":1429,"line_end":1429,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507696,"byte_end":507707,"line_start":1429,"line_end":1429,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507709,"byte_end":507715,"line_start":1429,"line_end":1429,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507696,"byte_end":507707,"line_start":1429,"line_end":1429,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507761,"byte_end":507769,"line_start":1430,"line_end":1430,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":1843}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507750,"byte_end":507759,"line_start":1430,"line_end":1430,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507771,"byte_end":507777,"line_start":1430,"line_end":1430,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073744164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507779,"byte_end":507785,"line_start":1430,"line_end":1430,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":536873252}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507804,"byte_end":507806,"line_start":1431,"line_end":1431,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507831,"byte_end":507837,"line_start":1431,"line_end":1431,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3377}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507807,"byte_end":507829,"line_start":1431,"line_end":1431,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3367}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507838,"byte_end":507843,"line_start":1431,"line_end":1431,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2013268260}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507886,"byte_end":507890,"line_start":1433,"line_end":1433,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507873,"byte_end":507884,"line_start":1433,"line_end":1433,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507886,"byte_end":507890,"line_start":1433,"line_end":1433,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507873,"byte_end":507884,"line_start":1433,"line_end":1433,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507935,"byte_end":507943,"line_start":1434,"line_end":1434,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":2057}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507926,"byte_end":507933,"line_start":1434,"line_end":1434,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507945,"byte_end":507951,"line_start":1434,"line_end":1434,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1073744164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507953,"byte_end":507959,"line_start":1434,"line_end":1434,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536873252}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507988,"byte_end":507990,"line_start":1435,"line_end":1435,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508015,"byte_end":508019,"line_start":1435,"line_end":1435,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3374}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507991,"byte_end":508013,"line_start":1435,"line_end":1435,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3367}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508020,"byte_end":508024,"line_start":1435,"line_end":1435,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1006635300}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508067,"byte_end":508072,"line_start":1437,"line_end":1437,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508054,"byte_end":508065,"line_start":1437,"line_end":1437,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508067,"byte_end":508072,"line_start":1437,"line_end":1437,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508054,"byte_end":508065,"line_start":1437,"line_end":1437,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508118,"byte_end":508126,"line_start":1438,"line_end":1438,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":2162}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508108,"byte_end":508116,"line_start":1438,"line_end":1438,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508128,"byte_end":508134,"line_start":1438,"line_end":1438,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073744164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508136,"byte_end":508142,"line_start":1438,"line_end":1438,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536873252}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508161,"byte_end":508163,"line_start":1439,"line_end":1439,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508188,"byte_end":508193,"line_start":1439,"line_end":1439,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3380}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508164,"byte_end":508186,"line_start":1439,"line_end":1439,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3367}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508194,"byte_end":508199,"line_start":1439,"line_end":1439,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":436209956}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508242,"byte_end":508245,"line_start":1441,"line_end":1441,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508229,"byte_end":508240,"line_start":1441,"line_end":1441,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508242,"byte_end":508245,"line_start":1441,"line_end":1441,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508229,"byte_end":508240,"line_start":1441,"line_end":1441,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508289,"byte_end":508297,"line_start":1442,"line_end":1442,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1943}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508281,"byte_end":508287,"line_start":1442,"line_end":1442,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508299,"byte_end":508305,"line_start":1442,"line_end":1442,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1073744164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508307,"byte_end":508313,"line_start":1442,"line_end":1442,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":536873252}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508332,"byte_end":508334,"line_start":1443,"line_end":1443,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508359,"byte_end":508362,"line_start":1443,"line_end":1443,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":3371}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508335,"byte_end":508357,"line_start":1443,"line_end":1443,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3367}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508363,"byte_end":508366,"line_start":1443,"line_end":1443,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2919237924}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508401,"byte_end":508404,"line_start":1445,"line_end":1445,"column_start":18,"column_end":21},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508415,"byte_end":508418,"line_start":1445,"line_end":1445,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508405,"byte_end":508413,"line_start":1445,"line_end":1445,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508562,"byte_end":508571,"line_start":1452,"line_end":1452,"column_start":11,"column_end":20},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508584,"byte_end":508606,"line_start":1453,"line_end":1453,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508630,"byte_end":508639,"line_start":1454,"line_end":1454,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"ref_id":{"krate":0,"index":2341}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508744,"byte_end":508753,"line_start":1460,"line_end":1460,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508768,"byte_end":508777,"line_start":1460,"line_end":1460,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508782,"byte_end":508788,"line_start":1460,"line_end":1460,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508795,"byte_end":508803,"line_start":1460,"line_end":1460,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508815,"byte_end":508817,"line_start":1461,"line_end":1461,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508818,"byte_end":508822,"line_start":1461,"line_end":1461,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2341}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508838,"byte_end":508842,"line_start":1462,"line_end":1462,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":2343}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508851,"byte_end":508856,"line_start":1462,"line_end":1462,"column_start":26,"column_end":31},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508844,"byte_end":508850,"line_start":1462,"line_end":1462,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":1073744173}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508872,"byte_end":508877,"line_start":1463,"line_end":1463,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2344}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508903,"byte_end":508906,"line_start":1463,"line_end":1463,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2340}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508879,"byte_end":508901,"line_start":1463,"line_end":1463,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3367}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508914,"byte_end":508919,"line_start":1463,"line_end":1463,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508907,"byte_end":508913,"line_start":1463,"line_end":1463,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1073744173}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508923,"byte_end":508929,"line_start":1463,"line_end":1463,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536873261}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508945,"byte_end":508951,"line_start":1464,"line_end":1464,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2345}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508953,"byte_end":508959,"line_start":1464,"line_end":1464,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873261}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508973,"byte_end":508978,"line_start":1465,"line_end":1465,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"ref_id":{"krate":0,"index":2341}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509013,"byte_end":509021,"line_start":1471,"line_end":1471,"column_start":11,"column_end":19},"ref_id":{"krate":1,"index":7914}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509069,"byte_end":509076,"line_start":1472,"line_end":1472,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":2322}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509110,"byte_end":509116,"line_start":1474,"line_end":1474,"column_start":27,"column_end":33},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509150,"byte_end":509154,"line_start":1475,"line_end":1475,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509155,"byte_end":509160,"line_start":1475,"line_end":1475,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2344}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509199,"byte_end":509202,"line_start":1476,"line_end":1476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3371}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509175,"byte_end":509197,"line_start":1476,"line_end":1476,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509199,"byte_end":509202,"line_start":1476,"line_end":1476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3371}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509175,"byte_end":509197,"line_start":1476,"line_end":1476,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509254,"byte_end":509263,"line_start":1477,"line_end":1477,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509252,"byte_end":509253,"line_start":1477,"line_end":1477,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2415921457}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509264,"byte_end":509268,"line_start":1477,"line_end":1477,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509269,"byte_end":509275,"line_start":1477,"line_end":1477,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2345}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509234,"byte_end":509238,"line_start":1477,"line_end":1477,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509299,"byte_end":509303,"line_start":1478,"line_end":1478,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509304,"byte_end":509309,"line_start":1478,"line_end":1478,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509336,"byte_end":509340,"line_start":1479,"line_end":1479,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509341,"byte_end":509348,"line_start":1479,"line_end":1479,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2322}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509351,"byte_end":509357,"line_start":1479,"line_end":1479,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509359,"byte_end":509363,"line_start":1479,"line_end":1479,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509364,"byte_end":509370,"line_start":1479,"line_end":1479,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2345}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509372,"byte_end":509375,"line_start":1479,"line_end":1479,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509377,"byte_end":509386,"line_start":1479,"line_end":1479,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1879050545}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509390,"byte_end":509395,"line_start":1479,"line_end":1479,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509397,"byte_end":509406,"line_start":1479,"line_end":1479,"column_start":82,"column_end":91},"ref_id":{"krate":0,"index":1879050545}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509410,"byte_end":509415,"line_start":1479,"line_end":1479,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509417,"byte_end":509421,"line_start":1479,"line_end":1479,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509422,"byte_end":509427,"line_start":1479,"line_end":1479,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509433,"byte_end":509439,"line_start":1479,"line_end":1479,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2327}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509441,"byte_end":509445,"line_start":1479,"line_end":1479,"column_start":126,"column_end":130},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509446,"byte_end":509455,"line_start":1479,"line_end":1479,"column_start":131,"column_end":140},"ref_id":{"krate":0,"index":1879050545}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509460,"byte_end":509466,"line_start":1479,"line_end":1479,"column_start":145,"column_end":151},"ref_id":{"krate":0,"index":2328}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509478,"byte_end":509483,"line_start":1479,"line_end":1479,"column_start":163,"column_end":168},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509468,"byte_end":509472,"line_start":1479,"line_end":1479,"column_start":153,"column_end":157},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509473,"byte_end":509477,"line_start":1479,"line_end":1479,"column_start":158,"column_end":162},"ref_id":{"krate":0,"index":2343}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509534,"byte_end":509538,"line_start":1481,"line_end":1481,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509608,"byte_end":509612,"line_start":1484,"line_end":1484,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3374}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509584,"byte_end":509606,"line_start":1484,"line_end":1484,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509608,"byte_end":509612,"line_start":1484,"line_end":1484,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3374}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509584,"byte_end":509606,"line_start":1484,"line_end":1484,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509664,"byte_end":509673,"line_start":1485,"line_end":1485,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509662,"byte_end":509663,"line_start":1485,"line_end":1485,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1912604977}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509674,"byte_end":509678,"line_start":1485,"line_end":1485,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509679,"byte_end":509685,"line_start":1485,"line_end":1485,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2345}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509644,"byte_end":509648,"line_start":1485,"line_end":1485,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509709,"byte_end":509713,"line_start":1486,"line_end":1486,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509714,"byte_end":509721,"line_start":1486,"line_end":1486,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2322}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509724,"byte_end":509730,"line_start":1486,"line_end":1486,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509732,"byte_end":509736,"line_start":1486,"line_end":1486,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509737,"byte_end":509743,"line_start":1486,"line_end":1486,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2345}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509745,"byte_end":509748,"line_start":1486,"line_end":1486,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509754,"byte_end":509759,"line_start":1486,"line_end":1486,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509765,"byte_end":509770,"line_start":1486,"line_end":1486,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509772,"byte_end":509781,"line_start":1486,"line_end":1486,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3388999985}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509785,"byte_end":509791,"line_start":1486,"line_end":1486,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509793,"byte_end":509802,"line_start":1486,"line_end":1486,"column_start":105,"column_end":114},"ref_id":{"krate":0,"index":3388999985}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509806,"byte_end":509812,"line_start":1486,"line_end":1486,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2328}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509824,"byte_end":509829,"line_start":1486,"line_end":1486,"column_start":136,"column_end":141},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509814,"byte_end":509818,"line_start":1486,"line_end":1486,"column_start":126,"column_end":130},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509819,"byte_end":509823,"line_start":1486,"line_end":1486,"column_start":131,"column_end":135},"ref_id":{"krate":0,"index":2343}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509880,"byte_end":509884,"line_start":1488,"line_end":1488,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509954,"byte_end":509960,"line_start":1491,"line_end":1491,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3377}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509930,"byte_end":509952,"line_start":1491,"line_end":1491,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509954,"byte_end":509960,"line_start":1491,"line_end":1491,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3377}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509930,"byte_end":509952,"line_start":1491,"line_end":1491,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510012,"byte_end":510021,"line_start":1492,"line_end":1492,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1846}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510010,"byte_end":510011,"line_start":1492,"line_end":1492,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":553650481}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510022,"byte_end":510026,"line_start":1492,"line_end":1492,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510027,"byte_end":510033,"line_start":1492,"line_end":1492,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2345}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509992,"byte_end":509996,"line_start":1492,"line_end":1492,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510057,"byte_end":510061,"line_start":1493,"line_end":1493,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510062,"byte_end":510069,"line_start":1493,"line_end":1493,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2322}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510072,"byte_end":510078,"line_start":1493,"line_end":1493,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510080,"byte_end":510084,"line_start":1493,"line_end":1493,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510085,"byte_end":510091,"line_start":1493,"line_end":1493,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2345}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510093,"byte_end":510096,"line_start":1493,"line_end":1493,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510098,"byte_end":510107,"line_start":1493,"line_end":1493,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2432698673}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510111,"byte_end":510116,"line_start":1493,"line_end":1493,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510118,"byte_end":510127,"line_start":1493,"line_end":1493,"column_start":82,"column_end":91},"ref_id":{"krate":0,"index":2432698673}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510131,"byte_end":510136,"line_start":1493,"line_end":1493,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510138,"byte_end":510147,"line_start":1493,"line_end":1493,"column_start":102,"column_end":111},"ref_id":{"krate":0,"index":2432698673}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510151,"byte_end":510157,"line_start":1493,"line_end":1493,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510159,"byte_end":510168,"line_start":1493,"line_end":1493,"column_start":123,"column_end":132},"ref_id":{"krate":0,"index":2432698673}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510172,"byte_end":510178,"line_start":1493,"line_end":1493,"column_start":136,"column_end":142},"ref_id":{"krate":0,"index":2328}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510190,"byte_end":510195,"line_start":1493,"line_end":1493,"column_start":154,"column_end":159},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510180,"byte_end":510184,"line_start":1493,"line_end":1493,"column_start":144,"column_end":148},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510185,"byte_end":510189,"line_start":1493,"line_end":1493,"column_start":149,"column_end":153},"ref_id":{"krate":0,"index":2343}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510246,"byte_end":510250,"line_start":1495,"line_end":1495,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510320,"byte_end":510325,"line_start":1498,"line_end":1498,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3380}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510296,"byte_end":510318,"line_start":1498,"line_end":1498,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510320,"byte_end":510325,"line_start":1498,"line_end":1498,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3380}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510296,"byte_end":510318,"line_start":1498,"line_end":1498,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3367}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510377,"byte_end":510386,"line_start":1499,"line_end":1499,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510375,"byte_end":510376,"line_start":1499,"line_end":1499,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2097154353}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510387,"byte_end":510391,"line_start":1499,"line_end":1499,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510392,"byte_end":510398,"line_start":1499,"line_end":1499,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2345}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510357,"byte_end":510361,"line_start":1499,"line_end":1499,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510428,"byte_end":510432,"line_start":1500,"line_end":1500,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510433,"byte_end":510440,"line_start":1500,"line_end":1500,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2322}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510443,"byte_end":510449,"line_start":1500,"line_end":1500,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510451,"byte_end":510455,"line_start":1500,"line_end":1500,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510456,"byte_end":510462,"line_start":1500,"line_end":1500,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2345}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510464,"byte_end":510467,"line_start":1500,"line_end":1500,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510473,"byte_end":510478,"line_start":1500,"line_end":1500,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510484,"byte_end":510489,"line_start":1500,"line_end":1500,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2324}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510491,"byte_end":510500,"line_start":1500,"line_end":1500,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3271559473}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510504,"byte_end":510510,"line_start":1500,"line_end":1500,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510512,"byte_end":510521,"line_start":1500,"line_end":1500,"column_start":105,"column_end":114},"ref_id":{"krate":0,"index":3271559473}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510525,"byte_end":510531,"line_start":1500,"line_end":1500,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2328}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510543,"byte_end":510548,"line_start":1500,"line_end":1500,"column_start":136,"column_end":141},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510533,"byte_end":510537,"line_start":1500,"line_end":1500,"column_start":126,"column_end":130},"ref_id":{"krate":0,"index":1073744177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510538,"byte_end":510542,"line_start":1500,"line_end":1500,"column_start":131,"column_end":135},"ref_id":{"krate":0,"index":2343}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510599,"byte_end":510603,"line_start":1502,"line_end":1502,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510656,"byte_end":510660,"line_start":1505,"line_end":1505,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21954,"byte_end":21960,"line_start":332,"line_end":332,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3822}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545069,"byte_end":545076,"line_start":814,"line_end":814,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545090,"byte_end":545093,"line_start":814,"line_end":814,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545090,"byte_end":545093,"line_start":814,"line_end":814,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545121,"byte_end":545126,"line_start":815,"line_end":815,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545138,"byte_end":545145,"line_start":815,"line_end":815,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3269}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545165,"byte_end":545170,"line_start":816,"line_end":816,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":7626}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545173,"byte_end":545179,"line_start":816,"line_end":816,"column_start":13,"column_end":19},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545165,"byte_end":545170,"line_start":816,"line_end":816,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":5986}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545189,"byte_end":545193,"line_start":816,"line_end":816,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5837}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545205,"byte_end":545209,"line_start":817,"line_end":817,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545212,"byte_end":545215,"line_start":817,"line_end":817,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2273}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545237,"byte_end":545243,"line_start":818,"line_end":818,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2182}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545268,"byte_end":545277,"line_start":818,"line_end":818,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545288,"byte_end":545294,"line_start":818,"line_end":818,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545317,"byte_end":545323,"line_start":818,"line_end":818,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545317,"byte_end":545323,"line_start":818,"line_end":818,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1530}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3162}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545338,"byte_end":545342,"line_start":818,"line_end":818,"column_start":114,"column_end":118},"ref_id":{"krate":0,"index":951}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3175}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545353,"byte_end":545357,"line_start":818,"line_end":818,"column_start":129,"column_end":133},"ref_id":{"krate":0,"index":1113}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545374,"byte_end":545379,"line_start":819,"line_end":819,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2857}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545381,"byte_end":545388,"line_start":819,"line_end":819,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545390,"byte_end":545393,"line_start":819,"line_end":819,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545407,"byte_end":545412,"line_start":820,"line_end":820,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3205}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545414,"byte_end":545421,"line_start":820,"line_end":820,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545423,"byte_end":545427,"line_start":820,"line_end":820,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545442,"byte_end":545447,"line_start":821,"line_end":821,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3142}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545449,"byte_end":545456,"line_start":821,"line_end":821,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545458,"byte_end":545461,"line_start":821,"line_end":821,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":611}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545475,"byte_end":545480,"line_start":822,"line_end":822,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3154}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545482,"byte_end":545489,"line_start":822,"line_end":822,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545491,"byte_end":545494,"line_start":822,"line_end":822,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":792}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545508,"byte_end":545513,"line_start":823,"line_end":823,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3350}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545515,"byte_end":545525,"line_start":823,"line_end":823,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1741}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545527,"byte_end":545532,"line_start":823,"line_end":823,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2083}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545548,"byte_end":545553,"line_start":824,"line_end":824,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":289}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545555,"byte_end":545562,"line_start":824,"line_end":824,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":20}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545564,"byte_end":545569,"line_start":824,"line_end":824,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":226}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3338}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545605,"byte_end":545609,"line_start":825,"line_end":825,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1965}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3282}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545620,"byte_end":545625,"line_start":825,"line_end":825,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1742}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3309}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545638,"byte_end":545641,"line_start":825,"line_end":825,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":1865}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545656,"byte_end":545661,"line_start":826,"line_end":826,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545663,"byte_end":545670,"line_start":826,"line_end":826,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3188}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545673,"byte_end":545679,"line_start":826,"line_end":826,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1260}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545656,"byte_end":545661,"line_start":826,"line_end":826,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545663,"byte_end":545670,"line_start":826,"line_end":826,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545705,"byte_end":545710,"line_start":827,"line_end":827,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545712,"byte_end":545717,"line_start":827,"line_end":827,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545733,"byte_end":545738,"line_start":828,"line_end":828,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545740,"byte_end":545743,"line_start":828,"line_end":828,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545754,"byte_end":545759,"line_start":829,"line_end":829,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545761,"byte_end":545766,"line_start":829,"line_end":829,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546497,"byte_end":546501,"line_start":865,"line_end":865,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546568,"byte_end":546573,"line_start":867,"line_end":867,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744275}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546601,"byte_end":546605,"line_start":867,"line_end":867,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546588,"byte_end":546599,"line_start":867,"line_end":867,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":546637,"byte_end":546646,"line_start":868,"line_end":868,"column_start":29,"column_end":38},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":546626,"byte_end":546630,"line_start":868,"line_end":868,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":546632,"byte_end":546635,"line_start":868,"line_end":868,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546647,"byte_end":546652,"line_start":868,"line_end":868,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073744275}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546796,"byte_end":546807,"line_start":874,"line_end":874,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546825,"byte_end":546829,"line_start":875,"line_end":875,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744277}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546857,"byte_end":546861,"line_start":876,"line_end":876,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546844,"byte_end":546855,"line_start":876,"line_end":876,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546857,"byte_end":546861,"line_start":876,"line_end":876,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546844,"byte_end":546855,"line_start":876,"line_end":876,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546898,"byte_end":546902,"line_start":876,"line_end":876,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546885,"byte_end":546896,"line_start":876,"line_end":876,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546931,"byte_end":546934,"line_start":877,"line_end":877,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546918,"byte_end":546929,"line_start":877,"line_end":877,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546931,"byte_end":546934,"line_start":877,"line_end":877,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546918,"byte_end":546929,"line_start":877,"line_end":877,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":546958,"byte_end":546966,"line_start":877,"line_end":877,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546950,"byte_end":546956,"line_start":877,"line_end":877,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2857}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546996,"byte_end":547006,"line_start":878,"line_end":878,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546983,"byte_end":546994,"line_start":878,"line_end":878,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546996,"byte_end":547006,"line_start":878,"line_end":878,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546983,"byte_end":546994,"line_start":878,"line_end":878,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547023,"byte_end":547031,"line_start":878,"line_end":878,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547015,"byte_end":547021,"line_start":878,"line_end":878,"column_start":45,"column_end":51},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547061,"byte_end":547066,"line_start":879,"line_end":879,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547048,"byte_end":547059,"line_start":879,"line_end":879,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547061,"byte_end":547066,"line_start":879,"line_end":879,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547048,"byte_end":547059,"line_start":879,"line_end":879,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547088,"byte_end":547096,"line_start":879,"line_end":879,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547078,"byte_end":547086,"line_start":879,"line_end":879,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":289}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547126,"byte_end":547130,"line_start":880,"line_end":880,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547113,"byte_end":547124,"line_start":880,"line_end":880,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547126,"byte_end":547130,"line_start":880,"line_end":880,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547113,"byte_end":547124,"line_start":880,"line_end":880,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547153,"byte_end":547161,"line_start":880,"line_end":880,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547191,"byte_end":547196,"line_start":881,"line_end":881,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547178,"byte_end":547189,"line_start":881,"line_end":881,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547191,"byte_end":547196,"line_start":881,"line_end":881,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547178,"byte_end":547189,"line_start":881,"line_end":881,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547218,"byte_end":547226,"line_start":881,"line_end":881,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547256,"byte_end":547261,"line_start":882,"line_end":882,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547243,"byte_end":547254,"line_start":882,"line_end":882,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547256,"byte_end":547261,"line_start":882,"line_end":882,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547243,"byte_end":547254,"line_start":882,"line_end":882,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547283,"byte_end":547291,"line_start":882,"line_end":882,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547321,"byte_end":547326,"line_start":883,"line_end":883,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547308,"byte_end":547319,"line_start":883,"line_end":883,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547321,"byte_end":547326,"line_start":883,"line_end":883,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547308,"byte_end":547319,"line_start":883,"line_end":883,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547348,"byte_end":547356,"line_start":883,"line_end":883,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547386,"byte_end":547391,"line_start":884,"line_end":884,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547373,"byte_end":547384,"line_start":884,"line_end":884,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547386,"byte_end":547391,"line_start":884,"line_end":884,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547373,"byte_end":547384,"line_start":884,"line_end":884,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547413,"byte_end":547421,"line_start":884,"line_end":884,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547451,"byte_end":547457,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547438,"byte_end":547449,"line_start":885,"line_end":885,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547451,"byte_end":547457,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547438,"byte_end":547449,"line_start":885,"line_end":885,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547478,"byte_end":547486,"line_start":885,"line_end":885,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547516,"byte_end":547522,"line_start":886,"line_end":886,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547503,"byte_end":547514,"line_start":886,"line_end":886,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547516,"byte_end":547522,"line_start":886,"line_end":886,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547503,"byte_end":547514,"line_start":886,"line_end":886,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547543,"byte_end":547551,"line_start":886,"line_end":886,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547581,"byte_end":547587,"line_start":887,"line_end":887,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547568,"byte_end":547579,"line_start":887,"line_end":887,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547581,"byte_end":547587,"line_start":887,"line_end":887,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547568,"byte_end":547579,"line_start":887,"line_end":887,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547608,"byte_end":547616,"line_start":887,"line_end":887,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547646,"byte_end":547651,"line_start":888,"line_end":888,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547633,"byte_end":547644,"line_start":888,"line_end":888,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547646,"byte_end":547651,"line_start":888,"line_end":888,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547633,"byte_end":547644,"line_start":888,"line_end":888,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547673,"byte_end":547681,"line_start":888,"line_end":888,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547711,"byte_end":547717,"line_start":889,"line_end":889,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547698,"byte_end":547709,"line_start":889,"line_end":889,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547711,"byte_end":547717,"line_start":889,"line_end":889,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547698,"byte_end":547709,"line_start":889,"line_end":889,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547738,"byte_end":547746,"line_start":889,"line_end":889,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547776,"byte_end":547783,"line_start":890,"line_end":890,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547763,"byte_end":547774,"line_start":890,"line_end":890,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547776,"byte_end":547783,"line_start":890,"line_end":890,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547763,"byte_end":547774,"line_start":890,"line_end":890,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547803,"byte_end":547811,"line_start":890,"line_end":890,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547795,"byte_end":547801,"line_start":890,"line_end":890,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3154}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547841,"byte_end":547848,"line_start":891,"line_end":891,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547828,"byte_end":547839,"line_start":891,"line_end":891,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547841,"byte_end":547848,"line_start":891,"line_end":891,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547828,"byte_end":547839,"line_start":891,"line_end":891,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547868,"byte_end":547876,"line_start":891,"line_end":891,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547906,"byte_end":547909,"line_start":892,"line_end":892,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547893,"byte_end":547904,"line_start":892,"line_end":892,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547906,"byte_end":547909,"line_start":892,"line_end":892,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547893,"byte_end":547904,"line_start":892,"line_end":892,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547933,"byte_end":547941,"line_start":892,"line_end":892,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547925,"byte_end":547931,"line_start":892,"line_end":892,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3142}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547971,"byte_end":547975,"line_start":893,"line_end":893,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547958,"byte_end":547969,"line_start":893,"line_end":893,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547971,"byte_end":547975,"line_start":893,"line_end":893,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547958,"byte_end":547969,"line_start":893,"line_end":893,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547998,"byte_end":548006,"line_start":893,"line_end":893,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547989,"byte_end":547996,"line_start":893,"line_end":893,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3175}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548036,"byte_end":548040,"line_start":894,"line_end":894,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548023,"byte_end":548034,"line_start":894,"line_end":894,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548036,"byte_end":548040,"line_start":894,"line_end":894,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548023,"byte_end":548034,"line_start":894,"line_end":894,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548063,"byte_end":548071,"line_start":894,"line_end":894,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548054,"byte_end":548061,"line_start":894,"line_end":894,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3162}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548101,"byte_end":548105,"line_start":895,"line_end":895,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548088,"byte_end":548099,"line_start":895,"line_end":895,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548101,"byte_end":548105,"line_start":895,"line_end":895,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548088,"byte_end":548099,"line_start":895,"line_end":895,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548128,"byte_end":548136,"line_start":895,"line_end":895,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548119,"byte_end":548126,"line_start":895,"line_end":895,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3205}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548166,"byte_end":548170,"line_start":896,"line_end":896,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548153,"byte_end":548164,"line_start":896,"line_end":896,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548166,"byte_end":548170,"line_start":896,"line_end":896,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548153,"byte_end":548164,"line_start":896,"line_end":896,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548193,"byte_end":548201,"line_start":896,"line_end":896,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548184,"byte_end":548191,"line_start":896,"line_end":896,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548231,"byte_end":548237,"line_start":897,"line_end":897,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548218,"byte_end":548229,"line_start":897,"line_end":897,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548231,"byte_end":548237,"line_start":897,"line_end":897,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548218,"byte_end":548229,"line_start":897,"line_end":897,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548258,"byte_end":548266,"line_start":897,"line_end":897,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548247,"byte_end":548256,"line_start":897,"line_end":897,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3282}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548296,"byte_end":548299,"line_start":898,"line_end":898,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548283,"byte_end":548294,"line_start":898,"line_end":898,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548296,"byte_end":548299,"line_start":898,"line_end":898,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548283,"byte_end":548294,"line_start":898,"line_end":898,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548323,"byte_end":548331,"line_start":898,"line_end":898,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548315,"byte_end":548321,"line_start":898,"line_end":898,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3309}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548361,"byte_end":548365,"line_start":899,"line_end":899,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548348,"byte_end":548359,"line_start":899,"line_end":899,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548361,"byte_end":548365,"line_start":899,"line_end":899,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548348,"byte_end":548359,"line_start":899,"line_end":899,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548388,"byte_end":548396,"line_start":899,"line_end":899,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548379,"byte_end":548386,"line_start":899,"line_end":899,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548426,"byte_end":548431,"line_start":900,"line_end":900,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548413,"byte_end":548424,"line_start":900,"line_end":900,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548426,"byte_end":548431,"line_start":900,"line_end":900,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548413,"byte_end":548424,"line_start":900,"line_end":900,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548453,"byte_end":548461,"line_start":900,"line_end":900,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1725}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548443,"byte_end":548451,"line_start":900,"line_end":900,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3350}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548501,"byte_end":548505,"line_start":901,"line_end":901,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548488,"byte_end":548499,"line_start":901,"line_end":901,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548786,"byte_end":548790,"line_start":920,"line_end":920,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":548857,"byte_end":548862,"line_start":922,"line_end":922,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744281}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548889,"byte_end":548893,"line_start":922,"line_end":922,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3477}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548876,"byte_end":548887,"line_start":922,"line_end":922,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":3476}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548925,"byte_end":548934,"line_start":923,"line_end":923,"column_start":29,"column_end":38},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":548914,"byte_end":548918,"line_start":923,"line_end":923,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":548920,"byte_end":548923,"line_start":923,"line_end":923,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":548935,"byte_end":548940,"line_start":923,"line_end":923,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073744281}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549224,"byte_end":549230,"line_start":940,"line_end":940,"column_start":14,"column_end":20},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549198,"byte_end":549209,"line_start":939,"line_end":939,"column_start":5,"column_end":16},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549215,"byte_end":549230,"line_start":940,"line_end":940,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549236,"byte_end":549253,"line_start":941,"line_end":941,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549259,"byte_end":549276,"line_start":942,"line_end":942,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3517}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3519}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549385,"byte_end":549402,"line_start":949,"line_end":949,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549408,"byte_end":549423,"line_start":950,"line_end":950,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549429,"byte_end":549444,"line_start":951,"line_end":951,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549450,"byte_end":549467,"line_start":952,"line_end":952,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3532}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549707,"byte_end":549713,"line_start":966,"line_end":966,"column_start":22,"column_end":28},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549738,"byte_end":549744,"line_start":967,"line_end":967,"column_start":22,"column_end":28},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549768,"byte_end":549774,"line_start":968,"line_end":968,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549796,"byte_end":549799,"line_start":969,"line_end":969,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549800,"byte_end":549818,"line_start":969,"line_end":969,"column_start":23,"column_end":41},"ref_id":{"krate":0,"index":3541}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549840,"byte_end":549850,"line_start":970,"line_end":970,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3822}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549851,"byte_end":549869,"line_start":970,"line_end":970,"column_start":29,"column_end":47},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3547}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3549}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3551}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3553}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":3555}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3547}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549713,"line_start":966,"line_end":966,"column_start":14,"column_end":28},"ref_id":{"krate":0,"index":3547}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3549}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549744,"line_start":967,"line_end":967,"column_start":14,"column_end":28},"ref_id":{"krate":0,"index":3549}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3551}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549774,"line_start":968,"line_end":968,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3551}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3553}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549819,"line_start":969,"line_end":969,"column_start":12,"column_end":42},"ref_id":{"krate":0,"index":3553}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":3555}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3541}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549870,"line_start":970,"line_end":970,"column_start":11,"column_end":48},"ref_id":{"krate":0,"index":3555}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549981,"byte_end":549994,"line_start":977,"line_end":977,"column_start":14,"column_end":27},"ref_id":{"krate":0,"index":3497}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550008,"byte_end":550019,"line_start":978,"line_end":978,"column_start":12,"column_end":23},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550064,"byte_end":550067,"line_start":980,"line_end":980,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550092,"byte_end":550102,"line_start":981,"line_end":981,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":3822}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550103,"byte_end":550121,"line_start":981,"line_end":981,"column_start":31,"column_end":49},"ref_id":{"krate":0,"index":3541}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550138,"byte_end":550141,"line_start":982,"line_end":982,"column_start":15,"column_end":18},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3564}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3565}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3566}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3564}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3565}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3566}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549972,"byte_end":549994,"line_start":977,"line_end":977,"column_start":5,"column_end":27},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550001,"byte_end":550019,"line_start":978,"line_end":978,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550026,"byte_end":550044,"line_start":979,"line_end":979,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550050,"byte_end":550071,"line_start":980,"line_end":980,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":3564}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550077,"byte_end":550122,"line_start":981,"line_end":981,"column_start":5,"column_end":50},"ref_id":{"krate":0,"index":3565}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550128,"byte_end":550152,"line_start":982,"line_end":982,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550190,"byte_end":550194,"line_start":985,"line_end":985,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3036}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550231,"byte_end":550235,"line_start":986,"line_end":986,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550266,"byte_end":550273,"line_start":988,"line_end":988,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550332,"byte_end":550336,"line_start":990,"line_end":990,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550351,"byte_end":550354,"line_start":991,"line_end":991,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550371,"byte_end":550378,"line_start":991,"line_end":991,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3498}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550356,"byte_end":550369,"line_start":991,"line_end":991,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3497}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550392,"byte_end":550393,"line_start":992,"line_end":992,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550408,"byte_end":550412,"line_start":992,"line_end":992,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550395,"byte_end":550406,"line_start":992,"line_end":992,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550426,"byte_end":550434,"line_start":993,"line_end":993,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3563}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550455,"byte_end":550463,"line_start":994,"line_end":994,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3564}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550470,"byte_end":550473,"line_start":994,"line_end":994,"column_start":28,"column_end":31},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550465,"byte_end":550468,"line_start":994,"line_end":994,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550489,"byte_end":550493,"line_start":995,"line_end":995,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550500,"byte_end":550503,"line_start":995,"line_end":995,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":6033}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550495,"byte_end":550498,"line_start":995,"line_end":995,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550504,"byte_end":550508,"line_start":995,"line_end":995,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550525,"byte_end":550534,"line_start":996,"line_end":996,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3565}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550548,"byte_end":550551,"line_start":996,"line_end":996,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2700}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550536,"byte_end":550546,"line_start":996,"line_end":996,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":3822}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550676,"byte_end":550682,"line_start":1005,"line_end":1005,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3572}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3572}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550663,"byte_end":550686,"line_start":1005,"line_end":1005,"column_start":5,"column_end":28},"ref_id":{"krate":0,"index":3572}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550794,"byte_end":550800,"line_start":1012,"line_end":1012,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3578}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3578}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550781,"byte_end":550805,"line_start":1012,"line_end":1012,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3578}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550913,"byte_end":550919,"line_start":1019,"line_end":1019,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3584}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3584}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550900,"byte_end":550924,"line_start":1019,"line_end":1019,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3584}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551032,"byte_end":551038,"line_start":1026,"line_end":1026,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3590}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3590}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551019,"byte_end":551043,"line_start":1026,"line_end":1026,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3590}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551150,"byte_end":551156,"line_start":1033,"line_end":1033,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3596}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3596}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551137,"byte_end":551160,"line_start":1033,"line_end":1033,"column_start":5,"column_end":28},"ref_id":{"krate":0,"index":3596}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551268,"byte_end":551274,"line_start":1040,"line_end":1040,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3602}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3602}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551255,"byte_end":551279,"line_start":1040,"line_end":1040,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3602}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551387,"byte_end":551393,"line_start":1047,"line_end":1047,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3608}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3608}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551374,"byte_end":551398,"line_start":1047,"line_end":1047,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3608}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551506,"byte_end":551512,"line_start":1054,"line_end":1054,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3614}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3614}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551493,"byte_end":551517,"line_start":1054,"line_end":1054,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3614}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551625,"byte_end":551631,"line_start":1061,"line_end":1061,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551612,"byte_end":551636,"line_start":1061,"line_end":1061,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3620}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551744,"byte_end":551750,"line_start":1068,"line_end":1068,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551731,"byte_end":551755,"line_start":1068,"line_end":1068,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551864,"byte_end":551870,"line_start":1075,"line_end":1075,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3632}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3632}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551851,"byte_end":551876,"line_start":1075,"line_end":1075,"column_start":5,"column_end":30},"ref_id":{"krate":0,"index":3632}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551987,"byte_end":551993,"line_start":1082,"line_end":1082,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551994,"byte_end":552000,"line_start":1082,"line_end":1082,"column_start":25,"column_end":31},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552036,"byte_end":552047,"line_start":1084,"line_end":1084,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":3476}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552064,"byte_end":552067,"line_start":1085,"line_end":1085,"column_start":16,"column_end":19},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3641}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551974,"byte_end":552001,"line_start":1082,"line_end":1082,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552007,"byte_end":552020,"line_start":1083,"line_end":1083,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3639}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552026,"byte_end":552047,"line_start":1084,"line_end":1084,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552053,"byte_end":552071,"line_start":1085,"line_end":1085,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3641}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552181,"byte_end":552187,"line_start":1092,"line_end":1092,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552188,"byte_end":552191,"line_start":1092,"line_end":1092,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3647}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3647}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3648}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552168,"byte_end":552196,"line_start":1092,"line_end":1092,"column_start":5,"column_end":33},"ref_id":{"krate":0,"index":3647}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552202,"byte_end":552215,"line_start":1093,"line_end":1093,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3648}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552323,"byte_end":552329,"line_start":1100,"line_end":1100,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552330,"byte_end":552336,"line_start":1100,"line_end":1100,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3655}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552310,"byte_end":552337,"line_start":1100,"line_end":1100,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":3654}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552343,"byte_end":552355,"line_start":1101,"line_end":1101,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3655}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552464,"byte_end":552470,"line_start":1108,"line_end":1108,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552471,"byte_end":552477,"line_start":1108,"line_end":1108,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552451,"byte_end":552478,"line_start":1108,"line_end":1108,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552484,"byte_end":552495,"line_start":1109,"line_end":1109,"column_start":5,"column_end":16},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552604,"byte_end":552610,"line_start":1116,"line_end":1116,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552611,"byte_end":552618,"line_start":1116,"line_end":1116,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3188}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552638,"byte_end":552641,"line_start":1117,"line_end":1117,"column_start":18,"column_end":21},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552642,"byte_end":552649,"line_start":1117,"line_end":1117,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3669}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552591,"byte_end":552619,"line_start":1116,"line_end":1116,"column_start":5,"column_end":33},"ref_id":{"krate":0,"index":3668}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552625,"byte_end":552650,"line_start":1117,"line_end":1117,"column_start":5,"column_end":30},"ref_id":{"krate":0,"index":3669}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552760,"byte_end":552763,"line_start":1124,"line_end":1124,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552764,"byte_end":552779,"line_start":1124,"line_end":1124,"column_start":21,"column_end":36},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552798,"byte_end":552801,"line_start":1125,"line_end":1125,"column_start":16,"column_end":19},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3676}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3676}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552748,"byte_end":552780,"line_start":1124,"line_end":1124,"column_start":5,"column_end":37},"ref_id":{"krate":0,"index":3675}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552787,"byte_end":552805,"line_start":1125,"line_end":1125,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3676}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3682}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552905,"byte_end":552921,"line_start":1132,"line_end":1132,"column_start":5,"column_end":21},"ref_id":{"krate":0,"index":3682}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553030,"byte_end":553033,"line_start":1139,"line_end":1139,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553034,"byte_end":553048,"line_start":1139,"line_end":1139,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":3528}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553067,"byte_end":553070,"line_start":1140,"line_end":1140,"column_start":16,"column_end":19},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3689}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553018,"byte_end":553049,"line_start":1139,"line_end":1139,"column_start":5,"column_end":36},"ref_id":{"krate":0,"index":3688}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553056,"byte_end":553074,"line_start":1140,"line_end":1140,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3689}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553182,"byte_end":553188,"line_start":1147,"line_end":1147,"column_start":15,"column_end":21},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3695}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3695}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3697}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553172,"byte_end":553188,"line_start":1147,"line_end":1147,"column_start":5,"column_end":21},"ref_id":{"krate":0,"index":3695}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553195,"byte_end":553212,"line_start":1148,"line_end":1148,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3696}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553219,"byte_end":553243,"line_start":1149,"line_end":1149,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3697}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553252,"byte_end":553256,"line_start":1152,"line_end":1152,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":3266}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553319,"byte_end":553323,"line_start":1154,"line_end":1154,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553324,"byte_end":553325,"line_start":1154,"line_end":1154,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553353,"byte_end":553357,"line_start":1155,"line_end":1155,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553340,"byte_end":553351,"line_start":1155,"line_end":1155,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553353,"byte_end":553357,"line_start":1155,"line_end":1155,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553340,"byte_end":553351,"line_start":1155,"line_end":1155,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553389,"byte_end":553392,"line_start":1156,"line_end":1156,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553376,"byte_end":553387,"line_start":1156,"line_end":1156,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553389,"byte_end":553392,"line_start":1156,"line_end":1156,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553376,"byte_end":553387,"line_start":1156,"line_end":1156,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553424,"byte_end":553428,"line_start":1157,"line_end":1157,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553411,"byte_end":553422,"line_start":1157,"line_end":1157,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553424,"byte_end":553428,"line_start":1157,"line_end":1157,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553411,"byte_end":553422,"line_start":1157,"line_end":1157,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553460,"byte_end":553464,"line_start":1158,"line_end":1158,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553447,"byte_end":553458,"line_start":1158,"line_end":1158,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553460,"byte_end":553464,"line_start":1158,"line_end":1158,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553447,"byte_end":553458,"line_start":1158,"line_end":1158,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553496,"byte_end":553506,"line_start":1159,"line_end":1159,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553483,"byte_end":553494,"line_start":1159,"line_end":1159,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553496,"byte_end":553506,"line_start":1159,"line_end":1159,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553483,"byte_end":553494,"line_start":1159,"line_end":1159,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553531,"byte_end":553535,"line_start":1160,"line_end":1160,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553542,"byte_end":553546,"line_start":1160,"line_end":1160,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553547,"byte_end":553551,"line_start":1160,"line_end":1160,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553560,"byte_end":553572,"line_start":1160,"line_end":1160,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553555,"byte_end":553558,"line_start":1160,"line_end":1160,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553574,"byte_end":553578,"line_start":1160,"line_end":1160,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553579,"byte_end":553583,"line_start":1160,"line_end":1160,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553612,"byte_end":553616,"line_start":1161,"line_end":1161,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553631,"byte_end":553639,"line_start":1161,"line_end":1161,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553626,"byte_end":553629,"line_start":1161,"line_end":1161,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553641,"byte_end":553645,"line_start":1161,"line_end":1161,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553646,"byte_end":553650,"line_start":1161,"line_end":1161,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553659,"byte_end":553673,"line_start":1161,"line_end":1161,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553736,"byte_end":553741,"line_start":1164,"line_end":1164,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553723,"byte_end":553734,"line_start":1164,"line_end":1164,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553736,"byte_end":553741,"line_start":1164,"line_end":1164,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553723,"byte_end":553734,"line_start":1164,"line_end":1164,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553766,"byte_end":553770,"line_start":1165,"line_end":1165,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553777,"byte_end":553781,"line_start":1165,"line_end":1165,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553782,"byte_end":553786,"line_start":1165,"line_end":1165,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553795,"byte_end":553807,"line_start":1165,"line_end":1165,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553790,"byte_end":553793,"line_start":1165,"line_end":1165,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553809,"byte_end":553813,"line_start":1165,"line_end":1165,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553814,"byte_end":553818,"line_start":1165,"line_end":1165,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553847,"byte_end":553851,"line_start":1166,"line_end":1166,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553866,"byte_end":553874,"line_start":1166,"line_end":1166,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553861,"byte_end":553864,"line_start":1166,"line_end":1166,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553876,"byte_end":553880,"line_start":1166,"line_end":1166,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553881,"byte_end":553885,"line_start":1166,"line_end":1166,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553894,"byte_end":553907,"line_start":1166,"line_end":1166,"column_start":68,"column_end":81},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553970,"byte_end":553975,"line_start":1169,"line_end":1169,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553957,"byte_end":553968,"line_start":1169,"line_end":1169,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553970,"byte_end":553975,"line_start":1169,"line_end":1169,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553957,"byte_end":553968,"line_start":1169,"line_end":1169,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554000,"byte_end":554004,"line_start":1170,"line_end":1170,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554011,"byte_end":554015,"line_start":1170,"line_end":1170,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554016,"byte_end":554020,"line_start":1170,"line_end":1170,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554029,"byte_end":554041,"line_start":1170,"line_end":1170,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554024,"byte_end":554027,"line_start":1170,"line_end":1170,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554043,"byte_end":554047,"line_start":1170,"line_end":1170,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554048,"byte_end":554052,"line_start":1170,"line_end":1170,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554081,"byte_end":554085,"line_start":1171,"line_end":1171,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554100,"byte_end":554108,"line_start":1171,"line_end":1171,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554095,"byte_end":554098,"line_start":1171,"line_end":1171,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554110,"byte_end":554114,"line_start":1171,"line_end":1171,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554115,"byte_end":554119,"line_start":1171,"line_end":1171,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554128,"byte_end":554138,"line_start":1171,"line_end":1171,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554201,"byte_end":554207,"line_start":1174,"line_end":1174,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554188,"byte_end":554199,"line_start":1174,"line_end":1174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554201,"byte_end":554207,"line_start":1174,"line_end":1174,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554188,"byte_end":554199,"line_start":1174,"line_end":1174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554232,"byte_end":554236,"line_start":1175,"line_end":1175,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554243,"byte_end":554247,"line_start":1175,"line_end":1175,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554248,"byte_end":554252,"line_start":1175,"line_end":1175,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554261,"byte_end":554273,"line_start":1175,"line_end":1175,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554256,"byte_end":554259,"line_start":1175,"line_end":1175,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554275,"byte_end":554279,"line_start":1175,"line_end":1175,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554280,"byte_end":554284,"line_start":1175,"line_end":1175,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554313,"byte_end":554317,"line_start":1176,"line_end":1176,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554332,"byte_end":554340,"line_start":1176,"line_end":1176,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554327,"byte_end":554330,"line_start":1176,"line_end":1176,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554342,"byte_end":554346,"line_start":1176,"line_end":1176,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554347,"byte_end":554351,"line_start":1176,"line_end":1176,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554360,"byte_end":554371,"line_start":1176,"line_end":1176,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3577}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554434,"byte_end":554440,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554421,"byte_end":554432,"line_start":1179,"line_end":1179,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554434,"byte_end":554440,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554421,"byte_end":554432,"line_start":1179,"line_end":1179,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554465,"byte_end":554469,"line_start":1180,"line_end":1180,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554476,"byte_end":554480,"line_start":1180,"line_end":1180,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554481,"byte_end":554485,"line_start":1180,"line_end":1180,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554494,"byte_end":554506,"line_start":1180,"line_end":1180,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554489,"byte_end":554492,"line_start":1180,"line_end":1180,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554508,"byte_end":554512,"line_start":1180,"line_end":1180,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554513,"byte_end":554517,"line_start":1180,"line_end":1180,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554546,"byte_end":554550,"line_start":1181,"line_end":1181,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554565,"byte_end":554573,"line_start":1181,"line_end":1181,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554560,"byte_end":554563,"line_start":1181,"line_end":1181,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554575,"byte_end":554579,"line_start":1181,"line_end":1181,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554580,"byte_end":554584,"line_start":1181,"line_end":1181,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554593,"byte_end":554604,"line_start":1181,"line_end":1181,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3583}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554667,"byte_end":554673,"line_start":1184,"line_end":1184,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554654,"byte_end":554665,"line_start":1184,"line_end":1184,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554667,"byte_end":554673,"line_start":1184,"line_end":1184,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554654,"byte_end":554665,"line_start":1184,"line_end":1184,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554698,"byte_end":554702,"line_start":1185,"line_end":1185,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554709,"byte_end":554713,"line_start":1185,"line_end":1185,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554714,"byte_end":554718,"line_start":1185,"line_end":1185,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554727,"byte_end":554739,"line_start":1185,"line_end":1185,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554722,"byte_end":554725,"line_start":1185,"line_end":1185,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554741,"byte_end":554745,"line_start":1185,"line_end":1185,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554746,"byte_end":554750,"line_start":1185,"line_end":1185,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554779,"byte_end":554783,"line_start":1186,"line_end":1186,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554798,"byte_end":554806,"line_start":1186,"line_end":1186,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554793,"byte_end":554796,"line_start":1186,"line_end":1186,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554808,"byte_end":554812,"line_start":1186,"line_end":1186,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554813,"byte_end":554817,"line_start":1186,"line_end":1186,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554826,"byte_end":554837,"line_start":1186,"line_end":1186,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3589}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554900,"byte_end":554904,"line_start":1189,"line_end":1189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554887,"byte_end":554898,"line_start":1189,"line_end":1189,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554900,"byte_end":554904,"line_start":1189,"line_end":1189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554887,"byte_end":554898,"line_start":1189,"line_end":1189,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554929,"byte_end":554933,"line_start":1190,"line_end":1190,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554940,"byte_end":554944,"line_start":1190,"line_end":1190,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554945,"byte_end":554949,"line_start":1190,"line_end":1190,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554958,"byte_end":554970,"line_start":1190,"line_end":1190,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554953,"byte_end":554956,"line_start":1190,"line_end":1190,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554972,"byte_end":554976,"line_start":1190,"line_end":1190,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554977,"byte_end":554981,"line_start":1190,"line_end":1190,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555010,"byte_end":555014,"line_start":1191,"line_end":1191,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555029,"byte_end":555037,"line_start":1191,"line_end":1191,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555024,"byte_end":555027,"line_start":1191,"line_end":1191,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555039,"byte_end":555043,"line_start":1191,"line_end":1191,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555044,"byte_end":555048,"line_start":1191,"line_end":1191,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555057,"byte_end":555067,"line_start":1191,"line_end":1191,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":3595}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555130,"byte_end":555135,"line_start":1194,"line_end":1194,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555117,"byte_end":555128,"line_start":1194,"line_end":1194,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555130,"byte_end":555135,"line_start":1194,"line_end":1194,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555117,"byte_end":555128,"line_start":1194,"line_end":1194,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555160,"byte_end":555164,"line_start":1195,"line_end":1195,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555171,"byte_end":555175,"line_start":1195,"line_end":1195,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555176,"byte_end":555180,"line_start":1195,"line_end":1195,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555189,"byte_end":555201,"line_start":1195,"line_end":1195,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555184,"byte_end":555187,"line_start":1195,"line_end":1195,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555203,"byte_end":555207,"line_start":1195,"line_end":1195,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555208,"byte_end":555212,"line_start":1195,"line_end":1195,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555241,"byte_end":555245,"line_start":1196,"line_end":1196,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555260,"byte_end":555268,"line_start":1196,"line_end":1196,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555255,"byte_end":555258,"line_start":1196,"line_end":1196,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555270,"byte_end":555274,"line_start":1196,"line_end":1196,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555275,"byte_end":555279,"line_start":1196,"line_end":1196,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555288,"byte_end":555299,"line_start":1196,"line_end":1196,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3601}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555362,"byte_end":555367,"line_start":1199,"line_end":1199,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555349,"byte_end":555360,"line_start":1199,"line_end":1199,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555362,"byte_end":555367,"line_start":1199,"line_end":1199,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555349,"byte_end":555360,"line_start":1199,"line_end":1199,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555392,"byte_end":555396,"line_start":1200,"line_end":1200,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555403,"byte_end":555407,"line_start":1200,"line_end":1200,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555408,"byte_end":555412,"line_start":1200,"line_end":1200,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555421,"byte_end":555433,"line_start":1200,"line_end":1200,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555416,"byte_end":555419,"line_start":1200,"line_end":1200,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555435,"byte_end":555439,"line_start":1200,"line_end":1200,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555440,"byte_end":555444,"line_start":1200,"line_end":1200,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555473,"byte_end":555477,"line_start":1201,"line_end":1201,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555492,"byte_end":555500,"line_start":1201,"line_end":1201,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555487,"byte_end":555490,"line_start":1201,"line_end":1201,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555502,"byte_end":555506,"line_start":1201,"line_end":1201,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555507,"byte_end":555511,"line_start":1201,"line_end":1201,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555520,"byte_end":555531,"line_start":1201,"line_end":1201,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3607}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555594,"byte_end":555599,"line_start":1204,"line_end":1204,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555581,"byte_end":555592,"line_start":1204,"line_end":1204,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555594,"byte_end":555599,"line_start":1204,"line_end":1204,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555581,"byte_end":555592,"line_start":1204,"line_end":1204,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555624,"byte_end":555628,"line_start":1205,"line_end":1205,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555635,"byte_end":555639,"line_start":1205,"line_end":1205,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555640,"byte_end":555644,"line_start":1205,"line_end":1205,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555653,"byte_end":555665,"line_start":1205,"line_end":1205,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555648,"byte_end":555651,"line_start":1205,"line_end":1205,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555667,"byte_end":555671,"line_start":1205,"line_end":1205,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555672,"byte_end":555676,"line_start":1205,"line_end":1205,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555705,"byte_end":555709,"line_start":1206,"line_end":1206,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555724,"byte_end":555732,"line_start":1206,"line_end":1206,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555719,"byte_end":555722,"line_start":1206,"line_end":1206,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555734,"byte_end":555738,"line_start":1206,"line_end":1206,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555739,"byte_end":555743,"line_start":1206,"line_end":1206,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555752,"byte_end":555763,"line_start":1206,"line_end":1206,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3613}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555826,"byte_end":555831,"line_start":1209,"line_end":1209,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555813,"byte_end":555824,"line_start":1209,"line_end":1209,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555826,"byte_end":555831,"line_start":1209,"line_end":1209,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555813,"byte_end":555824,"line_start":1209,"line_end":1209,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555856,"byte_end":555860,"line_start":1210,"line_end":1210,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555867,"byte_end":555871,"line_start":1210,"line_end":1210,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555872,"byte_end":555876,"line_start":1210,"line_end":1210,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555885,"byte_end":555897,"line_start":1210,"line_end":1210,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555880,"byte_end":555883,"line_start":1210,"line_end":1210,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555899,"byte_end":555903,"line_start":1210,"line_end":1210,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555904,"byte_end":555908,"line_start":1210,"line_end":1210,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555937,"byte_end":555941,"line_start":1211,"line_end":1211,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555956,"byte_end":555964,"line_start":1211,"line_end":1211,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555951,"byte_end":555954,"line_start":1211,"line_end":1211,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555966,"byte_end":555970,"line_start":1211,"line_end":1211,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555971,"byte_end":555975,"line_start":1211,"line_end":1211,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555984,"byte_end":555995,"line_start":1211,"line_end":1211,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556058,"byte_end":556064,"line_start":1214,"line_end":1214,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556045,"byte_end":556056,"line_start":1214,"line_end":1214,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556058,"byte_end":556064,"line_start":1214,"line_end":1214,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556045,"byte_end":556056,"line_start":1214,"line_end":1214,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556089,"byte_end":556093,"line_start":1215,"line_end":1215,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556100,"byte_end":556104,"line_start":1215,"line_end":1215,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556105,"byte_end":556109,"line_start":1215,"line_end":1215,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556118,"byte_end":556130,"line_start":1215,"line_end":1215,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556113,"byte_end":556116,"line_start":1215,"line_end":1215,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556132,"byte_end":556136,"line_start":1215,"line_end":1215,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556137,"byte_end":556141,"line_start":1215,"line_end":1215,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556170,"byte_end":556174,"line_start":1216,"line_end":1216,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556189,"byte_end":556197,"line_start":1216,"line_end":1216,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556184,"byte_end":556187,"line_start":1216,"line_end":1216,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556199,"byte_end":556203,"line_start":1216,"line_end":1216,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556204,"byte_end":556208,"line_start":1216,"line_end":1216,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556217,"byte_end":556228,"line_start":1216,"line_end":1216,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3625}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556291,"byte_end":556298,"line_start":1219,"line_end":1219,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556278,"byte_end":556289,"line_start":1219,"line_end":1219,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556291,"byte_end":556298,"line_start":1219,"line_end":1219,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556278,"byte_end":556289,"line_start":1219,"line_end":1219,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556323,"byte_end":556327,"line_start":1220,"line_end":1220,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556334,"byte_end":556338,"line_start":1220,"line_end":1220,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556339,"byte_end":556343,"line_start":1220,"line_end":1220,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556352,"byte_end":556364,"line_start":1220,"line_end":1220,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556347,"byte_end":556350,"line_start":1220,"line_end":1220,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556366,"byte_end":556370,"line_start":1220,"line_end":1220,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556371,"byte_end":556375,"line_start":1220,"line_end":1220,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556404,"byte_end":556408,"line_start":1221,"line_end":1221,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556423,"byte_end":556431,"line_start":1221,"line_end":1221,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556418,"byte_end":556421,"line_start":1221,"line_end":1221,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556433,"byte_end":556437,"line_start":1221,"line_end":1221,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556438,"byte_end":556442,"line_start":1221,"line_end":1221,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556451,"byte_end":556462,"line_start":1221,"line_end":1221,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3660}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556525,"byte_end":556532,"line_start":1224,"line_end":1224,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556512,"byte_end":556523,"line_start":1224,"line_end":1224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556525,"byte_end":556532,"line_start":1224,"line_end":1224,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556512,"byte_end":556523,"line_start":1224,"line_end":1224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556557,"byte_end":556561,"line_start":1225,"line_end":1225,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556568,"byte_end":556572,"line_start":1225,"line_end":1225,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556573,"byte_end":556577,"line_start":1225,"line_end":1225,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556586,"byte_end":556598,"line_start":1225,"line_end":1225,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556581,"byte_end":556584,"line_start":1225,"line_end":1225,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556600,"byte_end":556604,"line_start":1225,"line_end":1225,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556605,"byte_end":556609,"line_start":1225,"line_end":1225,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556638,"byte_end":556642,"line_start":1226,"line_end":1226,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556657,"byte_end":556665,"line_start":1226,"line_end":1226,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556652,"byte_end":556655,"line_start":1226,"line_end":1226,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556667,"byte_end":556671,"line_start":1226,"line_end":1226,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556672,"byte_end":556676,"line_start":1226,"line_end":1226,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556685,"byte_end":556697,"line_start":1226,"line_end":1226,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":3631}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556760,"byte_end":556763,"line_start":1229,"line_end":1229,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556747,"byte_end":556758,"line_start":1229,"line_end":1229,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556760,"byte_end":556763,"line_start":1229,"line_end":1229,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556747,"byte_end":556758,"line_start":1229,"line_end":1229,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556788,"byte_end":556792,"line_start":1230,"line_end":1230,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556799,"byte_end":556803,"line_start":1230,"line_end":1230,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556804,"byte_end":556808,"line_start":1230,"line_end":1230,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556817,"byte_end":556829,"line_start":1230,"line_end":1230,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556812,"byte_end":556815,"line_start":1230,"line_end":1230,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556831,"byte_end":556835,"line_start":1230,"line_end":1230,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556836,"byte_end":556840,"line_start":1230,"line_end":1230,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556869,"byte_end":556873,"line_start":1231,"line_end":1231,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556888,"byte_end":556896,"line_start":1231,"line_end":1231,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556883,"byte_end":556886,"line_start":1231,"line_end":1231,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556898,"byte_end":556902,"line_start":1231,"line_end":1231,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556903,"byte_end":556907,"line_start":1231,"line_end":1231,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556916,"byte_end":556927,"line_start":1231,"line_end":1231,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3653}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556990,"byte_end":556994,"line_start":1234,"line_end":1234,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556977,"byte_end":556988,"line_start":1234,"line_end":1234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556990,"byte_end":556994,"line_start":1234,"line_end":1234,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556977,"byte_end":556988,"line_start":1234,"line_end":1234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557019,"byte_end":557023,"line_start":1235,"line_end":1235,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557030,"byte_end":557034,"line_start":1235,"line_end":1235,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557035,"byte_end":557039,"line_start":1235,"line_end":1235,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557048,"byte_end":557060,"line_start":1235,"line_end":1235,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557043,"byte_end":557046,"line_start":1235,"line_end":1235,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557062,"byte_end":557066,"line_start":1235,"line_end":1235,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557067,"byte_end":557071,"line_start":1235,"line_end":1235,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557100,"byte_end":557104,"line_start":1236,"line_end":1236,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557119,"byte_end":557127,"line_start":1236,"line_end":1236,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557114,"byte_end":557117,"line_start":1236,"line_end":1236,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557129,"byte_end":557133,"line_start":1236,"line_end":1236,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557134,"byte_end":557138,"line_start":1236,"line_end":1236,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557147,"byte_end":557158,"line_start":1236,"line_end":1236,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3589}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557221,"byte_end":557225,"line_start":1239,"line_end":1239,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557208,"byte_end":557219,"line_start":1239,"line_end":1239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557221,"byte_end":557225,"line_start":1239,"line_end":1239,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557208,"byte_end":557219,"line_start":1239,"line_end":1239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557250,"byte_end":557254,"line_start":1240,"line_end":1240,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557261,"byte_end":557265,"line_start":1240,"line_end":1240,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557266,"byte_end":557270,"line_start":1240,"line_end":1240,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557279,"byte_end":557291,"line_start":1240,"line_end":1240,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557274,"byte_end":557277,"line_start":1240,"line_end":1240,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557293,"byte_end":557297,"line_start":1240,"line_end":1240,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557298,"byte_end":557302,"line_start":1240,"line_end":1240,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557331,"byte_end":557335,"line_start":1241,"line_end":1241,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557350,"byte_end":557358,"line_start":1241,"line_end":1241,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557345,"byte_end":557348,"line_start":1241,"line_end":1241,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557360,"byte_end":557364,"line_start":1241,"line_end":1241,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557365,"byte_end":557369,"line_start":1241,"line_end":1241,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557378,"byte_end":557390,"line_start":1241,"line_end":1241,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":3667}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557453,"byte_end":557459,"line_start":1244,"line_end":1244,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557440,"byte_end":557451,"line_start":1244,"line_end":1244,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557453,"byte_end":557459,"line_start":1244,"line_end":1244,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557440,"byte_end":557451,"line_start":1244,"line_end":1244,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557484,"byte_end":557488,"line_start":1245,"line_end":1245,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557495,"byte_end":557499,"line_start":1245,"line_end":1245,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557500,"byte_end":557504,"line_start":1245,"line_end":1245,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557513,"byte_end":557525,"line_start":1245,"line_end":1245,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557508,"byte_end":557511,"line_start":1245,"line_end":1245,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557527,"byte_end":557531,"line_start":1245,"line_end":1245,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557532,"byte_end":557536,"line_start":1245,"line_end":1245,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557565,"byte_end":557569,"line_start":1246,"line_end":1246,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557584,"byte_end":557592,"line_start":1246,"line_end":1246,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557579,"byte_end":557582,"line_start":1246,"line_end":1246,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557594,"byte_end":557598,"line_start":1246,"line_end":1246,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557599,"byte_end":557603,"line_start":1246,"line_end":1246,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557612,"byte_end":557626,"line_start":1246,"line_end":1246,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3674}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557689,"byte_end":557692,"line_start":1249,"line_end":1249,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557676,"byte_end":557687,"line_start":1249,"line_end":1249,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557689,"byte_end":557692,"line_start":1249,"line_end":1249,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557676,"byte_end":557687,"line_start":1249,"line_end":1249,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557717,"byte_end":557721,"line_start":1250,"line_end":1250,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557728,"byte_end":557732,"line_start":1250,"line_end":1250,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557733,"byte_end":557737,"line_start":1250,"line_end":1250,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557746,"byte_end":557758,"line_start":1250,"line_end":1250,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557741,"byte_end":557744,"line_start":1250,"line_end":1250,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557760,"byte_end":557764,"line_start":1250,"line_end":1250,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557765,"byte_end":557769,"line_start":1250,"line_end":1250,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557798,"byte_end":557802,"line_start":1251,"line_end":1251,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557817,"byte_end":557825,"line_start":1251,"line_end":1251,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557812,"byte_end":557815,"line_start":1251,"line_end":1251,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557827,"byte_end":557831,"line_start":1251,"line_end":1251,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557832,"byte_end":557836,"line_start":1251,"line_end":1251,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557845,"byte_end":557861,"line_start":1251,"line_end":1251,"column_start":68,"column_end":84},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557924,"byte_end":557928,"line_start":1254,"line_end":1254,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557911,"byte_end":557922,"line_start":1254,"line_end":1254,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557924,"byte_end":557928,"line_start":1254,"line_end":1254,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557911,"byte_end":557922,"line_start":1254,"line_end":1254,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557953,"byte_end":557957,"line_start":1255,"line_end":1255,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557964,"byte_end":557968,"line_start":1255,"line_end":1255,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557969,"byte_end":557973,"line_start":1255,"line_end":1255,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557982,"byte_end":557994,"line_start":1255,"line_end":1255,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557977,"byte_end":557980,"line_start":1255,"line_end":1255,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557996,"byte_end":558000,"line_start":1255,"line_end":1255,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558001,"byte_end":558005,"line_start":1255,"line_end":1255,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558034,"byte_end":558038,"line_start":1256,"line_end":1256,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558053,"byte_end":558061,"line_start":1256,"line_end":1256,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558048,"byte_end":558051,"line_start":1256,"line_end":1256,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558063,"byte_end":558067,"line_start":1256,"line_end":1256,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558068,"byte_end":558072,"line_start":1256,"line_end":1256,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558081,"byte_end":558097,"line_start":1256,"line_end":1256,"column_start":68,"column_end":84},"ref_id":{"krate":0,"index":3681}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558160,"byte_end":558165,"line_start":1259,"line_end":1259,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558147,"byte_end":558158,"line_start":1259,"line_end":1259,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558160,"byte_end":558165,"line_start":1259,"line_end":1259,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558147,"byte_end":558158,"line_start":1259,"line_end":1259,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558190,"byte_end":558194,"line_start":1260,"line_end":1260,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558201,"byte_end":558205,"line_start":1260,"line_end":1260,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558206,"byte_end":558210,"line_start":1260,"line_end":1260,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558219,"byte_end":558231,"line_start":1260,"line_end":1260,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558214,"byte_end":558217,"line_start":1260,"line_end":1260,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558233,"byte_end":558237,"line_start":1260,"line_end":1260,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558238,"byte_end":558242,"line_start":1260,"line_end":1260,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558271,"byte_end":558275,"line_start":1261,"line_end":1261,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558290,"byte_end":558298,"line_start":1261,"line_end":1261,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558285,"byte_end":558288,"line_start":1261,"line_end":1261,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558300,"byte_end":558304,"line_start":1261,"line_end":1261,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558305,"byte_end":558309,"line_start":1261,"line_end":1261,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558318,"byte_end":558331,"line_start":1261,"line_end":1261,"column_start":68,"column_end":81},"ref_id":{"krate":0,"index":3687}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558394,"byte_end":558400,"line_start":1264,"line_end":1264,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558381,"byte_end":558392,"line_start":1264,"line_end":1264,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558394,"byte_end":558400,"line_start":1264,"line_end":1264,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558381,"byte_end":558392,"line_start":1264,"line_end":1264,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558425,"byte_end":558429,"line_start":1265,"line_end":1265,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2458}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558436,"byte_end":558440,"line_start":1265,"line_end":1265,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558441,"byte_end":558445,"line_start":1265,"line_end":1265,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558454,"byte_end":558466,"line_start":1265,"line_end":1265,"column_start":49,"column_end":61},"ref_id":{"krate":4,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558449,"byte_end":558452,"line_start":1265,"line_end":1265,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558468,"byte_end":558472,"line_start":1265,"line_end":1265,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558473,"byte_end":558477,"line_start":1265,"line_end":1265,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3566}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558506,"byte_end":558510,"line_start":1266,"line_end":1266,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558525,"byte_end":558533,"line_start":1266,"line_end":1266,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558520,"byte_end":558523,"line_start":1266,"line_end":1266,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558535,"byte_end":558539,"line_start":1266,"line_end":1266,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558540,"byte_end":558544,"line_start":1266,"line_end":1266,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3566}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558553,"byte_end":558567,"line_start":1266,"line_end":1266,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3694}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558885,"byte_end":558888,"line_start":1283,"line_end":1283,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558889,"byte_end":558905,"line_start":1283,"line_end":1283,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3703}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3703}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558814,"byte_end":558835,"line_start":1281,"line_end":1281,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":3703}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558873,"byte_end":558906,"line_start":1283,"line_end":1283,"column_start":5,"column_end":38},"ref_id":{"krate":0,"index":3704}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559006,"byte_end":559012,"line_start":1290,"line_end":1290,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559013,"byte_end":559019,"line_start":1290,"line_end":1290,"column_start":36,"column_end":42},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559021,"byte_end":559029,"line_start":1290,"line_end":1290,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559052,"byte_end":559064,"line_start":1291,"line_end":1291,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2468}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559041,"byte_end":559050,"line_start":1291,"line_end":1291,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559066,"byte_end":559070,"line_start":1291,"line_end":1291,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744291}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559071,"byte_end":559077,"line_start":1291,"line_end":1291,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3704}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559197,"byte_end":559200,"line_start":1296,"line_end":1296,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559201,"byte_end":559217,"line_start":1296,"line_end":1296,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559239,"byte_end":559245,"line_start":1296,"line_end":1296,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559246,"byte_end":559252,"line_start":1296,"line_end":1296,"column_start":90,"column_end":96},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559254,"byte_end":559262,"line_start":1296,"line_end":1296,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559280,"byte_end":559293,"line_start":1297,"line_end":1297,"column_start":15,"column_end":28},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559294,"byte_end":559301,"line_start":1297,"line_end":1297,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":536873380}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559303,"byte_end":559304,"line_start":1297,"line_end":1297,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559332,"byte_end":559335,"line_start":1298,"line_end":1298,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559319,"byte_end":559330,"line_start":1298,"line_end":1298,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559332,"byte_end":559335,"line_start":1298,"line_end":1298,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559319,"byte_end":559330,"line_start":1298,"line_end":1298,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559362,"byte_end":559375,"line_start":1298,"line_end":1298,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559354,"byte_end":559360,"line_start":1298,"line_end":1298,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2857}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559376,"byte_end":559389,"line_start":1298,"line_end":1298,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559391,"byte_end":559398,"line_start":1298,"line_end":1298,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559427,"byte_end":559437,"line_start":1299,"line_end":1299,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559414,"byte_end":559425,"line_start":1299,"line_end":1299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559427,"byte_end":559437,"line_start":1299,"line_end":1299,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559414,"byte_end":559425,"line_start":1299,"line_end":1299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559457,"byte_end":559470,"line_start":1299,"line_end":1299,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559449,"byte_end":559455,"line_start":1299,"line_end":1299,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559471,"byte_end":559484,"line_start":1299,"line_end":1299,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559486,"byte_end":559493,"line_start":1299,"line_end":1299,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559522,"byte_end":559527,"line_start":1300,"line_end":1300,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559509,"byte_end":559520,"line_start":1300,"line_end":1300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559522,"byte_end":559527,"line_start":1300,"line_end":1300,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559509,"byte_end":559520,"line_start":1300,"line_end":1300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559552,"byte_end":559565,"line_start":1300,"line_end":1300,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559542,"byte_end":559550,"line_start":1300,"line_end":1300,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559566,"byte_end":559579,"line_start":1300,"line_end":1300,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559581,"byte_end":559588,"line_start":1300,"line_end":1300,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559617,"byte_end":559621,"line_start":1301,"line_end":1301,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559604,"byte_end":559615,"line_start":1301,"line_end":1301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559617,"byte_end":559621,"line_start":1301,"line_end":1301,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559604,"byte_end":559615,"line_start":1301,"line_end":1301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559647,"byte_end":559660,"line_start":1301,"line_end":1301,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559661,"byte_end":559674,"line_start":1301,"line_end":1301,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559676,"byte_end":559683,"line_start":1301,"line_end":1301,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559712,"byte_end":559717,"line_start":1302,"line_end":1302,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559699,"byte_end":559710,"line_start":1302,"line_end":1302,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559712,"byte_end":559717,"line_start":1302,"line_end":1302,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559699,"byte_end":559710,"line_start":1302,"line_end":1302,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559742,"byte_end":559755,"line_start":1302,"line_end":1302,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559756,"byte_end":559769,"line_start":1302,"line_end":1302,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559771,"byte_end":559778,"line_start":1302,"line_end":1302,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559807,"byte_end":559812,"line_start":1303,"line_end":1303,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559794,"byte_end":559805,"line_start":1303,"line_end":1303,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559807,"byte_end":559812,"line_start":1303,"line_end":1303,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559794,"byte_end":559805,"line_start":1303,"line_end":1303,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559837,"byte_end":559850,"line_start":1303,"line_end":1303,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559851,"byte_end":559864,"line_start":1303,"line_end":1303,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559866,"byte_end":559873,"line_start":1303,"line_end":1303,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559902,"byte_end":559907,"line_start":1304,"line_end":1304,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559889,"byte_end":559900,"line_start":1304,"line_end":1304,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559902,"byte_end":559907,"line_start":1304,"line_end":1304,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559889,"byte_end":559900,"line_start":1304,"line_end":1304,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559932,"byte_end":559945,"line_start":1304,"line_end":1304,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559946,"byte_end":559959,"line_start":1304,"line_end":1304,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559961,"byte_end":559968,"line_start":1304,"line_end":1304,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559997,"byte_end":560002,"line_start":1305,"line_end":1305,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559984,"byte_end":559995,"line_start":1305,"line_end":1305,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559997,"byte_end":560002,"line_start":1305,"line_end":1305,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559984,"byte_end":559995,"line_start":1305,"line_end":1305,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560027,"byte_end":560040,"line_start":1305,"line_end":1305,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560041,"byte_end":560054,"line_start":1305,"line_end":1305,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560056,"byte_end":560063,"line_start":1305,"line_end":1305,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560092,"byte_end":560098,"line_start":1306,"line_end":1306,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560079,"byte_end":560090,"line_start":1306,"line_end":1306,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560092,"byte_end":560098,"line_start":1306,"line_end":1306,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560079,"byte_end":560090,"line_start":1306,"line_end":1306,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560122,"byte_end":560135,"line_start":1306,"line_end":1306,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560136,"byte_end":560149,"line_start":1306,"line_end":1306,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560151,"byte_end":560158,"line_start":1306,"line_end":1306,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560187,"byte_end":560193,"line_start":1307,"line_end":1307,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560174,"byte_end":560185,"line_start":1307,"line_end":1307,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560187,"byte_end":560193,"line_start":1307,"line_end":1307,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560174,"byte_end":560185,"line_start":1307,"line_end":1307,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560217,"byte_end":560230,"line_start":1307,"line_end":1307,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560231,"byte_end":560244,"line_start":1307,"line_end":1307,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560246,"byte_end":560253,"line_start":1307,"line_end":1307,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560282,"byte_end":560288,"line_start":1308,"line_end":1308,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560269,"byte_end":560280,"line_start":1308,"line_end":1308,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560282,"byte_end":560288,"line_start":1308,"line_end":1308,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560269,"byte_end":560280,"line_start":1308,"line_end":1308,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560312,"byte_end":560325,"line_start":1308,"line_end":1308,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560326,"byte_end":560339,"line_start":1308,"line_end":1308,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560341,"byte_end":560348,"line_start":1308,"line_end":1308,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560377,"byte_end":560382,"line_start":1309,"line_end":1309,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560364,"byte_end":560375,"line_start":1309,"line_end":1309,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560377,"byte_end":560382,"line_start":1309,"line_end":1309,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560364,"byte_end":560375,"line_start":1309,"line_end":1309,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560407,"byte_end":560420,"line_start":1309,"line_end":1309,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560421,"byte_end":560434,"line_start":1309,"line_end":1309,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560436,"byte_end":560443,"line_start":1309,"line_end":1309,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560472,"byte_end":560478,"line_start":1310,"line_end":1310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560459,"byte_end":560470,"line_start":1310,"line_end":1310,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560472,"byte_end":560478,"line_start":1310,"line_end":1310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560459,"byte_end":560470,"line_start":1310,"line_end":1310,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560502,"byte_end":560515,"line_start":1310,"line_end":1310,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560516,"byte_end":560529,"line_start":1310,"line_end":1310,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560531,"byte_end":560538,"line_start":1310,"line_end":1310,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560567,"byte_end":560574,"line_start":1311,"line_end":1311,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560554,"byte_end":560565,"line_start":1311,"line_end":1311,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560567,"byte_end":560574,"line_start":1311,"line_end":1311,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560554,"byte_end":560565,"line_start":1311,"line_end":1311,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560597,"byte_end":560610,"line_start":1311,"line_end":1311,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560589,"byte_end":560595,"line_start":1311,"line_end":1311,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560611,"byte_end":560624,"line_start":1311,"line_end":1311,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560626,"byte_end":560633,"line_start":1311,"line_end":1311,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560662,"byte_end":560669,"line_start":1312,"line_end":1312,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560649,"byte_end":560660,"line_start":1312,"line_end":1312,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560662,"byte_end":560669,"line_start":1312,"line_end":1312,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560649,"byte_end":560660,"line_start":1312,"line_end":1312,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560692,"byte_end":560705,"line_start":1312,"line_end":1312,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560706,"byte_end":560719,"line_start":1312,"line_end":1312,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560721,"byte_end":560728,"line_start":1312,"line_end":1312,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560758,"byte_end":560761,"line_start":1313,"line_end":1313,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560745,"byte_end":560756,"line_start":1313,"line_end":1313,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560758,"byte_end":560761,"line_start":1313,"line_end":1313,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560745,"byte_end":560756,"line_start":1313,"line_end":1313,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560788,"byte_end":560801,"line_start":1313,"line_end":1313,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560780,"byte_end":560786,"line_start":1313,"line_end":1313,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560802,"byte_end":560815,"line_start":1313,"line_end":1313,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560817,"byte_end":560824,"line_start":1313,"line_end":1313,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560853,"byte_end":560857,"line_start":1314,"line_end":1314,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560840,"byte_end":560851,"line_start":1314,"line_end":1314,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560853,"byte_end":560857,"line_start":1314,"line_end":1314,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560840,"byte_end":560851,"line_start":1314,"line_end":1314,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560883,"byte_end":560896,"line_start":1314,"line_end":1314,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560874,"byte_end":560881,"line_start":1314,"line_end":1314,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560897,"byte_end":560910,"line_start":1314,"line_end":1314,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560912,"byte_end":560919,"line_start":1314,"line_end":1314,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560948,"byte_end":560952,"line_start":1315,"line_end":1315,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560935,"byte_end":560946,"line_start":1315,"line_end":1315,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560948,"byte_end":560952,"line_start":1315,"line_end":1315,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560935,"byte_end":560946,"line_start":1315,"line_end":1315,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560978,"byte_end":560991,"line_start":1315,"line_end":1315,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560969,"byte_end":560976,"line_start":1315,"line_end":1315,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560992,"byte_end":561005,"line_start":1315,"line_end":1315,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561007,"byte_end":561014,"line_start":1315,"line_end":1315,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561043,"byte_end":561047,"line_start":1316,"line_end":1316,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561030,"byte_end":561041,"line_start":1316,"line_end":1316,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561043,"byte_end":561047,"line_start":1316,"line_end":1316,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561030,"byte_end":561041,"line_start":1316,"line_end":1316,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561073,"byte_end":561086,"line_start":1316,"line_end":1316,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561064,"byte_end":561071,"line_start":1316,"line_end":1316,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561087,"byte_end":561100,"line_start":1316,"line_end":1316,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561102,"byte_end":561109,"line_start":1316,"line_end":1316,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561138,"byte_end":561142,"line_start":1317,"line_end":1317,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561125,"byte_end":561136,"line_start":1317,"line_end":1317,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561138,"byte_end":561142,"line_start":1317,"line_end":1317,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561125,"byte_end":561136,"line_start":1317,"line_end":1317,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561168,"byte_end":561181,"line_start":1317,"line_end":1317,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561159,"byte_end":561166,"line_start":1317,"line_end":1317,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561182,"byte_end":561195,"line_start":1317,"line_end":1317,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561197,"byte_end":561204,"line_start":1317,"line_end":1317,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561233,"byte_end":561239,"line_start":1318,"line_end":1318,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561220,"byte_end":561231,"line_start":1318,"line_end":1318,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561233,"byte_end":561239,"line_start":1318,"line_end":1318,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561220,"byte_end":561231,"line_start":1318,"line_end":1318,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561263,"byte_end":561276,"line_start":1318,"line_end":1318,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561252,"byte_end":561261,"line_start":1318,"line_end":1318,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561277,"byte_end":561290,"line_start":1318,"line_end":1318,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561292,"byte_end":561299,"line_start":1318,"line_end":1318,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561328,"byte_end":561331,"line_start":1319,"line_end":1319,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561315,"byte_end":561326,"line_start":1319,"line_end":1319,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561328,"byte_end":561331,"line_start":1319,"line_end":1319,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561315,"byte_end":561326,"line_start":1319,"line_end":1319,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561358,"byte_end":561371,"line_start":1319,"line_end":1319,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561350,"byte_end":561356,"line_start":1319,"line_end":1319,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561372,"byte_end":561385,"line_start":1319,"line_end":1319,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561387,"byte_end":561394,"line_start":1319,"line_end":1319,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561423,"byte_end":561427,"line_start":1320,"line_end":1320,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561410,"byte_end":561421,"line_start":1320,"line_end":1320,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561423,"byte_end":561427,"line_start":1320,"line_end":1320,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561410,"byte_end":561421,"line_start":1320,"line_end":1320,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561453,"byte_end":561466,"line_start":1320,"line_end":1320,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561444,"byte_end":561451,"line_start":1320,"line_end":1320,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561467,"byte_end":561480,"line_start":1320,"line_end":1320,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561482,"byte_end":561489,"line_start":1320,"line_end":1320,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561518,"byte_end":561523,"line_start":1321,"line_end":1321,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561505,"byte_end":561516,"line_start":1321,"line_end":1321,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561518,"byte_end":561523,"line_start":1321,"line_end":1321,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561505,"byte_end":561516,"line_start":1321,"line_end":1321,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561548,"byte_end":561561,"line_start":1321,"line_end":1321,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561538,"byte_end":561546,"line_start":1321,"line_end":1321,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561562,"byte_end":561575,"line_start":1321,"line_end":1321,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561577,"byte_end":561584,"line_start":1321,"line_end":1321,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561613,"byte_end":561619,"line_start":1322,"line_end":1322,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561600,"byte_end":561611,"line_start":1322,"line_end":1322,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561613,"byte_end":561619,"line_start":1322,"line_end":1322,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561600,"byte_end":561611,"line_start":1322,"line_end":1322,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561643,"byte_end":561656,"line_start":1322,"line_end":1322,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561632,"byte_end":561641,"line_start":1322,"line_end":1322,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561657,"byte_end":561670,"line_start":1322,"line_end":1322,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561672,"byte_end":561679,"line_start":1322,"line_end":1322,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873380}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561800,"byte_end":561802,"line_start":1324,"line_end":1324,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561811,"byte_end":561815,"line_start":1324,"line_end":1324,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561803,"byte_end":561809,"line_start":1324,"line_end":1324,"column_start":23,"column_end":29},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561919,"byte_end":561925,"line_start":1329,"line_end":1329,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561926,"byte_end":561933,"line_start":1329,"line_end":1329,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561935,"byte_end":561943,"line_start":1329,"line_end":1329,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561966,"byte_end":561979,"line_start":1330,"line_end":1330,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2470}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561955,"byte_end":561964,"line_start":1330,"line_end":1330,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561981,"byte_end":561985,"line_start":1330,"line_end":1330,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561986,"byte_end":561992,"line_start":1330,"line_end":1330,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3704}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562114,"byte_end":562117,"line_start":1335,"line_end":1335,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562118,"byte_end":562134,"line_start":1335,"line_end":1335,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562156,"byte_end":562162,"line_start":1335,"line_end":1335,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562163,"byte_end":562170,"line_start":1335,"line_end":1335,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562172,"byte_end":562180,"line_start":1335,"line_end":1335,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562198,"byte_end":562211,"line_start":1336,"line_end":1336,"column_start":15,"column_end":28},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562212,"byte_end":562219,"line_start":1336,"line_end":1336,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":536873382}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562221,"byte_end":562222,"line_start":1336,"line_end":1336,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562250,"byte_end":562253,"line_start":1337,"line_end":1337,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562237,"byte_end":562248,"line_start":1337,"line_end":1337,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562250,"byte_end":562253,"line_start":1337,"line_end":1337,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562237,"byte_end":562248,"line_start":1337,"line_end":1337,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562280,"byte_end":562294,"line_start":1337,"line_end":1337,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562272,"byte_end":562278,"line_start":1337,"line_end":1337,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2857}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562295,"byte_end":562308,"line_start":1337,"line_end":1337,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562310,"byte_end":562317,"line_start":1337,"line_end":1337,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562346,"byte_end":562356,"line_start":1338,"line_end":1338,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562333,"byte_end":562344,"line_start":1338,"line_end":1338,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562346,"byte_end":562356,"line_start":1338,"line_end":1338,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562333,"byte_end":562344,"line_start":1338,"line_end":1338,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562376,"byte_end":562390,"line_start":1338,"line_end":1338,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562368,"byte_end":562374,"line_start":1338,"line_end":1338,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562391,"byte_end":562404,"line_start":1338,"line_end":1338,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562406,"byte_end":562413,"line_start":1338,"line_end":1338,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562442,"byte_end":562447,"line_start":1339,"line_end":1339,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562429,"byte_end":562440,"line_start":1339,"line_end":1339,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562442,"byte_end":562447,"line_start":1339,"line_end":1339,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562429,"byte_end":562440,"line_start":1339,"line_end":1339,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562472,"byte_end":562486,"line_start":1339,"line_end":1339,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562462,"byte_end":562470,"line_start":1339,"line_end":1339,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562487,"byte_end":562500,"line_start":1339,"line_end":1339,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562502,"byte_end":562509,"line_start":1339,"line_end":1339,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562538,"byte_end":562542,"line_start":1340,"line_end":1340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562525,"byte_end":562536,"line_start":1340,"line_end":1340,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562538,"byte_end":562542,"line_start":1340,"line_end":1340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562525,"byte_end":562536,"line_start":1340,"line_end":1340,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562568,"byte_end":562582,"line_start":1340,"line_end":1340,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562583,"byte_end":562596,"line_start":1340,"line_end":1340,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562598,"byte_end":562605,"line_start":1340,"line_end":1340,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562634,"byte_end":562639,"line_start":1341,"line_end":1341,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562621,"byte_end":562632,"line_start":1341,"line_end":1341,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562634,"byte_end":562639,"line_start":1341,"line_end":1341,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562621,"byte_end":562632,"line_start":1341,"line_end":1341,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562664,"byte_end":562678,"line_start":1341,"line_end":1341,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562679,"byte_end":562692,"line_start":1341,"line_end":1341,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562694,"byte_end":562701,"line_start":1341,"line_end":1341,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562730,"byte_end":562735,"line_start":1342,"line_end":1342,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562717,"byte_end":562728,"line_start":1342,"line_end":1342,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562730,"byte_end":562735,"line_start":1342,"line_end":1342,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562717,"byte_end":562728,"line_start":1342,"line_end":1342,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562760,"byte_end":562774,"line_start":1342,"line_end":1342,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562775,"byte_end":562788,"line_start":1342,"line_end":1342,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562790,"byte_end":562797,"line_start":1342,"line_end":1342,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562826,"byte_end":562831,"line_start":1343,"line_end":1343,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562813,"byte_end":562824,"line_start":1343,"line_end":1343,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562826,"byte_end":562831,"line_start":1343,"line_end":1343,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562813,"byte_end":562824,"line_start":1343,"line_end":1343,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562856,"byte_end":562870,"line_start":1343,"line_end":1343,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562871,"byte_end":562884,"line_start":1343,"line_end":1343,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562886,"byte_end":562893,"line_start":1343,"line_end":1343,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562922,"byte_end":562927,"line_start":1344,"line_end":1344,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562909,"byte_end":562920,"line_start":1344,"line_end":1344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562922,"byte_end":562927,"line_start":1344,"line_end":1344,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562909,"byte_end":562920,"line_start":1344,"line_end":1344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562952,"byte_end":562966,"line_start":1344,"line_end":1344,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562967,"byte_end":562980,"line_start":1344,"line_end":1344,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562982,"byte_end":562989,"line_start":1344,"line_end":1344,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563018,"byte_end":563024,"line_start":1345,"line_end":1345,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563005,"byte_end":563016,"line_start":1345,"line_end":1345,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563018,"byte_end":563024,"line_start":1345,"line_end":1345,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563005,"byte_end":563016,"line_start":1345,"line_end":1345,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563048,"byte_end":563062,"line_start":1345,"line_end":1345,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563063,"byte_end":563076,"line_start":1345,"line_end":1345,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563078,"byte_end":563085,"line_start":1345,"line_end":1345,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563114,"byte_end":563120,"line_start":1346,"line_end":1346,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563101,"byte_end":563112,"line_start":1346,"line_end":1346,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563114,"byte_end":563120,"line_start":1346,"line_end":1346,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563101,"byte_end":563112,"line_start":1346,"line_end":1346,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563144,"byte_end":563158,"line_start":1346,"line_end":1346,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563159,"byte_end":563172,"line_start":1346,"line_end":1346,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563174,"byte_end":563181,"line_start":1346,"line_end":1346,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563210,"byte_end":563216,"line_start":1347,"line_end":1347,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563197,"byte_end":563208,"line_start":1347,"line_end":1347,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563210,"byte_end":563216,"line_start":1347,"line_end":1347,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563197,"byte_end":563208,"line_start":1347,"line_end":1347,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563240,"byte_end":563254,"line_start":1347,"line_end":1347,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563255,"byte_end":563268,"line_start":1347,"line_end":1347,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563270,"byte_end":563277,"line_start":1347,"line_end":1347,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563306,"byte_end":563311,"line_start":1348,"line_end":1348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563293,"byte_end":563304,"line_start":1348,"line_end":1348,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563306,"byte_end":563311,"line_start":1348,"line_end":1348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563293,"byte_end":563304,"line_start":1348,"line_end":1348,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563336,"byte_end":563350,"line_start":1348,"line_end":1348,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563351,"byte_end":563364,"line_start":1348,"line_end":1348,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563366,"byte_end":563373,"line_start":1348,"line_end":1348,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563402,"byte_end":563408,"line_start":1349,"line_end":1349,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563389,"byte_end":563400,"line_start":1349,"line_end":1349,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563402,"byte_end":563408,"line_start":1349,"line_end":1349,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563389,"byte_end":563400,"line_start":1349,"line_end":1349,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563432,"byte_end":563446,"line_start":1349,"line_end":1349,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563447,"byte_end":563460,"line_start":1349,"line_end":1349,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563462,"byte_end":563469,"line_start":1349,"line_end":1349,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563498,"byte_end":563505,"line_start":1350,"line_end":1350,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563485,"byte_end":563496,"line_start":1350,"line_end":1350,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563498,"byte_end":563505,"line_start":1350,"line_end":1350,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563485,"byte_end":563496,"line_start":1350,"line_end":1350,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563528,"byte_end":563542,"line_start":1350,"line_end":1350,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563520,"byte_end":563526,"line_start":1350,"line_end":1350,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563543,"byte_end":563556,"line_start":1350,"line_end":1350,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563558,"byte_end":563565,"line_start":1350,"line_end":1350,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563594,"byte_end":563601,"line_start":1351,"line_end":1351,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563581,"byte_end":563592,"line_start":1351,"line_end":1351,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563594,"byte_end":563601,"line_start":1351,"line_end":1351,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563581,"byte_end":563592,"line_start":1351,"line_end":1351,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563624,"byte_end":563638,"line_start":1351,"line_end":1351,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563639,"byte_end":563652,"line_start":1351,"line_end":1351,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563654,"byte_end":563661,"line_start":1351,"line_end":1351,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563691,"byte_end":563694,"line_start":1352,"line_end":1352,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563678,"byte_end":563689,"line_start":1352,"line_end":1352,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563691,"byte_end":563694,"line_start":1352,"line_end":1352,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563678,"byte_end":563689,"line_start":1352,"line_end":1352,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563721,"byte_end":563735,"line_start":1352,"line_end":1352,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563713,"byte_end":563719,"line_start":1352,"line_end":1352,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563736,"byte_end":563749,"line_start":1352,"line_end":1352,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563751,"byte_end":563758,"line_start":1352,"line_end":1352,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563787,"byte_end":563791,"line_start":1353,"line_end":1353,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563774,"byte_end":563785,"line_start":1353,"line_end":1353,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563787,"byte_end":563791,"line_start":1353,"line_end":1353,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563774,"byte_end":563785,"line_start":1353,"line_end":1353,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563817,"byte_end":563831,"line_start":1353,"line_end":1353,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563808,"byte_end":563815,"line_start":1353,"line_end":1353,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563832,"byte_end":563845,"line_start":1353,"line_end":1353,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563847,"byte_end":563854,"line_start":1353,"line_end":1353,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563883,"byte_end":563887,"line_start":1354,"line_end":1354,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563870,"byte_end":563881,"line_start":1354,"line_end":1354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563883,"byte_end":563887,"line_start":1354,"line_end":1354,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563870,"byte_end":563881,"line_start":1354,"line_end":1354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563913,"byte_end":563927,"line_start":1354,"line_end":1354,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563904,"byte_end":563911,"line_start":1354,"line_end":1354,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563928,"byte_end":563941,"line_start":1354,"line_end":1354,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563943,"byte_end":563950,"line_start":1354,"line_end":1354,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563979,"byte_end":563983,"line_start":1355,"line_end":1355,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563966,"byte_end":563977,"line_start":1355,"line_end":1355,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563979,"byte_end":563983,"line_start":1355,"line_end":1355,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563966,"byte_end":563977,"line_start":1355,"line_end":1355,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564009,"byte_end":564023,"line_start":1355,"line_end":1355,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564000,"byte_end":564007,"line_start":1355,"line_end":1355,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564024,"byte_end":564037,"line_start":1355,"line_end":1355,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564039,"byte_end":564046,"line_start":1355,"line_end":1355,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564075,"byte_end":564079,"line_start":1356,"line_end":1356,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564062,"byte_end":564073,"line_start":1356,"line_end":1356,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564075,"byte_end":564079,"line_start":1356,"line_end":1356,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564062,"byte_end":564073,"line_start":1356,"line_end":1356,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564105,"byte_end":564119,"line_start":1356,"line_end":1356,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564096,"byte_end":564103,"line_start":1356,"line_end":1356,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564120,"byte_end":564133,"line_start":1356,"line_end":1356,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564135,"byte_end":564142,"line_start":1356,"line_end":1356,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564171,"byte_end":564177,"line_start":1357,"line_end":1357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564158,"byte_end":564169,"line_start":1357,"line_end":1357,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564171,"byte_end":564177,"line_start":1357,"line_end":1357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564158,"byte_end":564169,"line_start":1357,"line_end":1357,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564201,"byte_end":564215,"line_start":1357,"line_end":1357,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564190,"byte_end":564199,"line_start":1357,"line_end":1357,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564216,"byte_end":564229,"line_start":1357,"line_end":1357,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564231,"byte_end":564238,"line_start":1357,"line_end":1357,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564267,"byte_end":564270,"line_start":1358,"line_end":1358,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564254,"byte_end":564265,"line_start":1358,"line_end":1358,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564267,"byte_end":564270,"line_start":1358,"line_end":1358,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564254,"byte_end":564265,"line_start":1358,"line_end":1358,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564297,"byte_end":564311,"line_start":1358,"line_end":1358,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564289,"byte_end":564295,"line_start":1358,"line_end":1358,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564312,"byte_end":564325,"line_start":1358,"line_end":1358,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564327,"byte_end":564334,"line_start":1358,"line_end":1358,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564363,"byte_end":564367,"line_start":1359,"line_end":1359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564350,"byte_end":564361,"line_start":1359,"line_end":1359,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564363,"byte_end":564367,"line_start":1359,"line_end":1359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564350,"byte_end":564361,"line_start":1359,"line_end":1359,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564393,"byte_end":564407,"line_start":1359,"line_end":1359,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564384,"byte_end":564391,"line_start":1359,"line_end":1359,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564408,"byte_end":564421,"line_start":1359,"line_end":1359,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564423,"byte_end":564430,"line_start":1359,"line_end":1359,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564459,"byte_end":564464,"line_start":1360,"line_end":1360,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564446,"byte_end":564457,"line_start":1360,"line_end":1360,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564459,"byte_end":564464,"line_start":1360,"line_end":1360,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564446,"byte_end":564457,"line_start":1360,"line_end":1360,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564489,"byte_end":564503,"line_start":1360,"line_end":1360,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564479,"byte_end":564487,"line_start":1360,"line_end":1360,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564504,"byte_end":564517,"line_start":1360,"line_end":1360,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564519,"byte_end":564526,"line_start":1360,"line_end":1360,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564555,"byte_end":564561,"line_start":1361,"line_end":1361,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564542,"byte_end":564553,"line_start":1361,"line_end":1361,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564555,"byte_end":564561,"line_start":1361,"line_end":1361,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564542,"byte_end":564553,"line_start":1361,"line_end":1361,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564585,"byte_end":564599,"line_start":1361,"line_end":1361,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1727}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564574,"byte_end":564583,"line_start":1361,"line_end":1361,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564600,"byte_end":564613,"line_start":1361,"line_end":1361,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564615,"byte_end":564622,"line_start":1361,"line_end":1361,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873382}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564744,"byte_end":564746,"line_start":1363,"line_end":1363,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564756,"byte_end":564760,"line_start":1363,"line_end":1363,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564747,"byte_end":564754,"line_start":1363,"line_end":1363,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564875,"byte_end":564878,"line_start":1369,"line_end":1369,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564879,"byte_end":564886,"line_start":1369,"line_end":1369,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564892,"byte_end":564898,"line_start":1369,"line_end":1369,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564899,"byte_end":564905,"line_start":1369,"line_end":1369,"column_start":60,"column_end":66},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564907,"byte_end":564915,"line_start":1369,"line_end":1369,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564934,"byte_end":564945,"line_start":1370,"line_end":1370,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564977,"byte_end":564983,"line_start":1371,"line_end":1371,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564968,"byte_end":564975,"line_start":1371,"line_end":1371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564977,"byte_end":564983,"line_start":1371,"line_end":1371,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564968,"byte_end":564975,"line_start":1371,"line_end":1371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565008,"byte_end":565010,"line_start":1372,"line_end":1372,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":565013,"byte_end":565018,"line_start":1372,"line_end":1372,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":565011,"byte_end":565012,"line_start":1372,"line_end":1372,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1342179751}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565072,"byte_end":565075,"line_start":1375,"line_end":1375,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":565086,"byte_end":565089,"line_start":1375,"line_end":1375,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565076,"byte_end":565084,"line_start":1375,"line_end":1375,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567032,"byte_end":567035,"line_start":1422,"line_end":1422,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567036,"byte_end":567052,"line_start":1422,"line_end":1422,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567061,"byte_end":567070,"line_start":1422,"line_end":1422,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2838}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567078,"byte_end":567084,"line_start":1422,"line_end":1422,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":2818}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567089,"byte_end":567095,"line_start":1422,"line_end":1422,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567103,"byte_end":567106,"line_start":1422,"line_end":1422,"column_start":100,"column_end":103},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567112,"byte_end":567115,"line_start":1422,"line_end":1422,"column_start":109,"column_end":112},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567116,"byte_end":567132,"line_start":1422,"line_end":1422,"column_start":113,"column_end":129},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567136,"byte_end":567144,"line_start":1422,"line_end":1422,"column_start":133,"column_end":141},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567171,"byte_end":567174,"line_start":1424,"line_end":1424,"column_start":15,"column_end":18},"ref_id":{"krate":0,"index":1610615208}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567206,"byte_end":567210,"line_start":1425,"line_end":1425,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2822}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567212,"byte_end":567216,"line_start":1425,"line_end":1425,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":2823}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567197,"byte_end":567203,"line_start":1425,"line_end":1425,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2821}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567189,"byte_end":567195,"line_start":1425,"line_end":1425,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2818}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567274,"byte_end":567278,"line_start":1426,"line_end":1426,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567260,"byte_end":567267,"line_start":1426,"line_end":1426,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567256,"byte_end":567259,"line_start":1426,"line_end":1426,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567268,"byte_end":567272,"line_start":1426,"line_end":1426,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":805308840}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567305,"byte_end":567314,"line_start":1428,"line_end":1428,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567364,"byte_end":567382,"line_start":1429,"line_end":1429,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567356,"byte_end":567362,"line_start":1429,"line_end":1429,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2857}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567383,"byte_end":567389,"line_start":1429,"line_end":1429,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567391,"byte_end":567400,"line_start":1429,"line_end":1429,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567402,"byte_end":567405,"line_start":1429,"line_end":1429,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567407,"byte_end":567411,"line_start":1429,"line_end":1429,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567463,"byte_end":567481,"line_start":1430,"line_end":1430,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567455,"byte_end":567461,"line_start":1430,"line_end":1430,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567482,"byte_end":567488,"line_start":1430,"line_end":1430,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567490,"byte_end":567499,"line_start":1430,"line_end":1430,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567501,"byte_end":567504,"line_start":1430,"line_end":1430,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567506,"byte_end":567510,"line_start":1430,"line_end":1430,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567562,"byte_end":567580,"line_start":1431,"line_end":1431,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567554,"byte_end":567560,"line_start":1431,"line_end":1431,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567581,"byte_end":567587,"line_start":1431,"line_end":1431,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567589,"byte_end":567598,"line_start":1431,"line_end":1431,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567600,"byte_end":567603,"line_start":1431,"line_end":1431,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567605,"byte_end":567609,"line_start":1431,"line_end":1431,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567661,"byte_end":567679,"line_start":1432,"line_end":1432,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567653,"byte_end":567659,"line_start":1432,"line_end":1432,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567680,"byte_end":567686,"line_start":1432,"line_end":1432,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567688,"byte_end":567697,"line_start":1432,"line_end":1432,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567699,"byte_end":567702,"line_start":1432,"line_end":1432,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567704,"byte_end":567708,"line_start":1432,"line_end":1432,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567760,"byte_end":567778,"line_start":1433,"line_end":1433,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567750,"byte_end":567758,"line_start":1433,"line_end":1433,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567779,"byte_end":567785,"line_start":1433,"line_end":1433,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567787,"byte_end":567796,"line_start":1433,"line_end":1433,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567798,"byte_end":567801,"line_start":1433,"line_end":1433,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567803,"byte_end":567807,"line_start":1433,"line_end":1433,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567859,"byte_end":567877,"line_start":1434,"line_end":1434,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567878,"byte_end":567884,"line_start":1434,"line_end":1434,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567886,"byte_end":567895,"line_start":1434,"line_end":1434,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567897,"byte_end":567900,"line_start":1434,"line_end":1434,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567902,"byte_end":567906,"line_start":1434,"line_end":1434,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567958,"byte_end":567976,"line_start":1435,"line_end":1435,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567977,"byte_end":567983,"line_start":1435,"line_end":1435,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567985,"byte_end":567994,"line_start":1435,"line_end":1435,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567996,"byte_end":567999,"line_start":1435,"line_end":1435,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568001,"byte_end":568005,"line_start":1435,"line_end":1435,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568057,"byte_end":568075,"line_start":1436,"line_end":1436,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568076,"byte_end":568082,"line_start":1436,"line_end":1436,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568084,"byte_end":568093,"line_start":1436,"line_end":1436,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568095,"byte_end":568098,"line_start":1436,"line_end":1436,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568100,"byte_end":568104,"line_start":1436,"line_end":1436,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568156,"byte_end":568174,"line_start":1437,"line_end":1437,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568175,"byte_end":568181,"line_start":1437,"line_end":1437,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568183,"byte_end":568192,"line_start":1437,"line_end":1437,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568194,"byte_end":568197,"line_start":1437,"line_end":1437,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568199,"byte_end":568203,"line_start":1437,"line_end":1437,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568255,"byte_end":568273,"line_start":1438,"line_end":1438,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568274,"byte_end":568280,"line_start":1438,"line_end":1438,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568282,"byte_end":568291,"line_start":1438,"line_end":1438,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568293,"byte_end":568296,"line_start":1438,"line_end":1438,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568298,"byte_end":568302,"line_start":1438,"line_end":1438,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568354,"byte_end":568372,"line_start":1439,"line_end":1439,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568373,"byte_end":568379,"line_start":1439,"line_end":1439,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568381,"byte_end":568390,"line_start":1439,"line_end":1439,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568392,"byte_end":568395,"line_start":1439,"line_end":1439,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568397,"byte_end":568401,"line_start":1439,"line_end":1439,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568453,"byte_end":568471,"line_start":1440,"line_end":1440,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568472,"byte_end":568478,"line_start":1440,"line_end":1440,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568480,"byte_end":568489,"line_start":1440,"line_end":1440,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568491,"byte_end":568494,"line_start":1440,"line_end":1440,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568496,"byte_end":568500,"line_start":1440,"line_end":1440,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568552,"byte_end":568570,"line_start":1441,"line_end":1441,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568571,"byte_end":568577,"line_start":1441,"line_end":1441,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568579,"byte_end":568588,"line_start":1441,"line_end":1441,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568590,"byte_end":568593,"line_start":1441,"line_end":1441,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568595,"byte_end":568599,"line_start":1441,"line_end":1441,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568651,"byte_end":568669,"line_start":1442,"line_end":1442,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568670,"byte_end":568676,"line_start":1442,"line_end":1442,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568678,"byte_end":568687,"line_start":1442,"line_end":1442,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568689,"byte_end":568692,"line_start":1442,"line_end":1442,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568694,"byte_end":568698,"line_start":1442,"line_end":1442,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568750,"byte_end":568768,"line_start":1443,"line_end":1443,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568769,"byte_end":568775,"line_start":1443,"line_end":1443,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568777,"byte_end":568786,"line_start":1443,"line_end":1443,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568788,"byte_end":568791,"line_start":1443,"line_end":1443,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568793,"byte_end":568797,"line_start":1443,"line_end":1443,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568849,"byte_end":568867,"line_start":1444,"line_end":1444,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568868,"byte_end":568874,"line_start":1444,"line_end":1444,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568876,"byte_end":568885,"line_start":1444,"line_end":1444,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568887,"byte_end":568890,"line_start":1444,"line_end":1444,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568892,"byte_end":568896,"line_start":1444,"line_end":1444,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568948,"byte_end":568966,"line_start":1445,"line_end":1445,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568967,"byte_end":568973,"line_start":1445,"line_end":1445,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568975,"byte_end":568984,"line_start":1445,"line_end":1445,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568986,"byte_end":568989,"line_start":1445,"line_end":1445,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568991,"byte_end":568995,"line_start":1445,"line_end":1445,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569047,"byte_end":569065,"line_start":1446,"line_end":1446,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569066,"byte_end":569072,"line_start":1446,"line_end":1446,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569074,"byte_end":569083,"line_start":1446,"line_end":1446,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569085,"byte_end":569088,"line_start":1446,"line_end":1446,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569090,"byte_end":569094,"line_start":1446,"line_end":1446,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569146,"byte_end":569164,"line_start":1447,"line_end":1447,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569165,"byte_end":569171,"line_start":1447,"line_end":1447,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569173,"byte_end":569182,"line_start":1447,"line_end":1447,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569184,"byte_end":569187,"line_start":1447,"line_end":1447,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569189,"byte_end":569193,"line_start":1447,"line_end":1447,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569245,"byte_end":569263,"line_start":1448,"line_end":1448,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569264,"byte_end":569270,"line_start":1448,"line_end":1448,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569272,"byte_end":569281,"line_start":1448,"line_end":1448,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569283,"byte_end":569286,"line_start":1448,"line_end":1448,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569288,"byte_end":569292,"line_start":1448,"line_end":1448,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569344,"byte_end":569362,"line_start":1449,"line_end":1449,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569363,"byte_end":569369,"line_start":1449,"line_end":1449,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569371,"byte_end":569380,"line_start":1449,"line_end":1449,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569382,"byte_end":569385,"line_start":1449,"line_end":1449,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569387,"byte_end":569391,"line_start":1449,"line_end":1449,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569443,"byte_end":569461,"line_start":1450,"line_end":1450,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569462,"byte_end":569468,"line_start":1450,"line_end":1450,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569470,"byte_end":569479,"line_start":1450,"line_end":1450,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569481,"byte_end":569484,"line_start":1450,"line_end":1450,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569486,"byte_end":569490,"line_start":1450,"line_end":1450,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569542,"byte_end":569560,"line_start":1451,"line_end":1451,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569561,"byte_end":569567,"line_start":1451,"line_end":1451,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569569,"byte_end":569578,"line_start":1451,"line_end":1451,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569580,"byte_end":569583,"line_start":1451,"line_end":1451,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569585,"byte_end":569589,"line_start":1451,"line_end":1451,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569641,"byte_end":569659,"line_start":1452,"line_end":1452,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569660,"byte_end":569666,"line_start":1452,"line_end":1452,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569668,"byte_end":569677,"line_start":1452,"line_end":1452,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569679,"byte_end":569682,"line_start":1452,"line_end":1452,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569684,"byte_end":569688,"line_start":1452,"line_end":1452,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569740,"byte_end":569758,"line_start":1453,"line_end":1453,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569759,"byte_end":569765,"line_start":1453,"line_end":1453,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569767,"byte_end":569776,"line_start":1453,"line_end":1453,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569778,"byte_end":569781,"line_start":1453,"line_end":1453,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569783,"byte_end":569787,"line_start":1453,"line_end":1453,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569839,"byte_end":569857,"line_start":1454,"line_end":1454,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":569831,"byte_end":569837,"line_start":1454,"line_end":1454,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569858,"byte_end":569864,"line_start":1454,"line_end":1454,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569866,"byte_end":569875,"line_start":1454,"line_end":1454,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569877,"byte_end":569880,"line_start":1454,"line_end":1454,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569882,"byte_end":569886,"line_start":1454,"line_end":1454,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569938,"byte_end":569956,"line_start":1455,"line_end":1455,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":569930,"byte_end":569936,"line_start":1455,"line_end":1455,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569957,"byte_end":569963,"line_start":1455,"line_end":1455,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569965,"byte_end":569974,"line_start":1455,"line_end":1455,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569976,"byte_end":569979,"line_start":1455,"line_end":1455,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569981,"byte_end":569985,"line_start":1455,"line_end":1455,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570037,"byte_end":570055,"line_start":1456,"line_end":1456,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570056,"byte_end":570062,"line_start":1456,"line_end":1456,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570064,"byte_end":570073,"line_start":1456,"line_end":1456,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570075,"byte_end":570078,"line_start":1456,"line_end":1456,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570080,"byte_end":570084,"line_start":1456,"line_end":1456,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570136,"byte_end":570154,"line_start":1457,"line_end":1457,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570155,"byte_end":570161,"line_start":1457,"line_end":1457,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570163,"byte_end":570172,"line_start":1457,"line_end":1457,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570174,"byte_end":570177,"line_start":1457,"line_end":1457,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570179,"byte_end":570183,"line_start":1457,"line_end":1457,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570235,"byte_end":570253,"line_start":1458,"line_end":1458,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570227,"byte_end":570233,"line_start":1458,"line_end":1458,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570254,"byte_end":570260,"line_start":1458,"line_end":1458,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570262,"byte_end":570271,"line_start":1458,"line_end":1458,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570273,"byte_end":570276,"line_start":1458,"line_end":1458,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570278,"byte_end":570282,"line_start":1458,"line_end":1458,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570334,"byte_end":570352,"line_start":1459,"line_end":1459,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570326,"byte_end":570332,"line_start":1459,"line_end":1459,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570353,"byte_end":570359,"line_start":1459,"line_end":1459,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570361,"byte_end":570370,"line_start":1459,"line_end":1459,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570372,"byte_end":570375,"line_start":1459,"line_end":1459,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570377,"byte_end":570381,"line_start":1459,"line_end":1459,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570433,"byte_end":570451,"line_start":1460,"line_end":1460,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570425,"byte_end":570431,"line_start":1460,"line_end":1460,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570452,"byte_end":570458,"line_start":1460,"line_end":1460,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570460,"byte_end":570469,"line_start":1460,"line_end":1460,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570471,"byte_end":570474,"line_start":1460,"line_end":1460,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570476,"byte_end":570480,"line_start":1460,"line_end":1460,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570532,"byte_end":570550,"line_start":1461,"line_end":1461,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570523,"byte_end":570530,"line_start":1461,"line_end":1461,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570551,"byte_end":570557,"line_start":1461,"line_end":1461,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570559,"byte_end":570568,"line_start":1461,"line_end":1461,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570570,"byte_end":570573,"line_start":1461,"line_end":1461,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570575,"byte_end":570579,"line_start":1461,"line_end":1461,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570631,"byte_end":570649,"line_start":1462,"line_end":1462,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570622,"byte_end":570629,"line_start":1462,"line_end":1462,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570650,"byte_end":570656,"line_start":1462,"line_end":1462,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570658,"byte_end":570667,"line_start":1462,"line_end":1462,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570669,"byte_end":570672,"line_start":1462,"line_end":1462,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570674,"byte_end":570678,"line_start":1462,"line_end":1462,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570730,"byte_end":570748,"line_start":1463,"line_end":1463,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570721,"byte_end":570728,"line_start":1463,"line_end":1463,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570749,"byte_end":570755,"line_start":1463,"line_end":1463,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570757,"byte_end":570766,"line_start":1463,"line_end":1463,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570768,"byte_end":570771,"line_start":1463,"line_end":1463,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570773,"byte_end":570777,"line_start":1463,"line_end":1463,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570829,"byte_end":570847,"line_start":1464,"line_end":1464,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570820,"byte_end":570827,"line_start":1464,"line_end":1464,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570848,"byte_end":570854,"line_start":1464,"line_end":1464,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570856,"byte_end":570865,"line_start":1464,"line_end":1464,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570867,"byte_end":570870,"line_start":1464,"line_end":1464,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570872,"byte_end":570876,"line_start":1464,"line_end":1464,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570928,"byte_end":570946,"line_start":1465,"line_end":1465,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570919,"byte_end":570926,"line_start":1465,"line_end":1465,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570947,"byte_end":570953,"line_start":1465,"line_end":1465,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570955,"byte_end":570964,"line_start":1465,"line_end":1465,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570966,"byte_end":570969,"line_start":1465,"line_end":1465,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570971,"byte_end":570975,"line_start":1465,"line_end":1465,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571027,"byte_end":571045,"line_start":1466,"line_end":1466,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571016,"byte_end":571025,"line_start":1466,"line_end":1466,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571046,"byte_end":571052,"line_start":1466,"line_end":1466,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571054,"byte_end":571063,"line_start":1466,"line_end":1466,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571065,"byte_end":571068,"line_start":1466,"line_end":1466,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571070,"byte_end":571074,"line_start":1466,"line_end":1466,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571126,"byte_end":571144,"line_start":1467,"line_end":1467,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571117,"byte_end":571124,"line_start":1467,"line_end":1467,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571145,"byte_end":571151,"line_start":1467,"line_end":1467,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571153,"byte_end":571162,"line_start":1467,"line_end":1467,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571164,"byte_end":571167,"line_start":1467,"line_end":1467,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571169,"byte_end":571173,"line_start":1467,"line_end":1467,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571225,"byte_end":571243,"line_start":1468,"line_end":1468,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571216,"byte_end":571223,"line_start":1468,"line_end":1468,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571244,"byte_end":571250,"line_start":1468,"line_end":1468,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571252,"byte_end":571261,"line_start":1468,"line_end":1468,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571263,"byte_end":571266,"line_start":1468,"line_end":1468,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571268,"byte_end":571272,"line_start":1468,"line_end":1468,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571324,"byte_end":571342,"line_start":1469,"line_end":1469,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571316,"byte_end":571322,"line_start":1469,"line_end":1469,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571343,"byte_end":571349,"line_start":1469,"line_end":1469,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571351,"byte_end":571360,"line_start":1469,"line_end":1469,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571362,"byte_end":571365,"line_start":1469,"line_end":1469,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571367,"byte_end":571371,"line_start":1469,"line_end":1469,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571423,"byte_end":571441,"line_start":1470,"line_end":1470,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571413,"byte_end":571421,"line_start":1470,"line_end":1470,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571442,"byte_end":571448,"line_start":1470,"line_end":1470,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571450,"byte_end":571459,"line_start":1470,"line_end":1470,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571461,"byte_end":571464,"line_start":1470,"line_end":1470,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571466,"byte_end":571470,"line_start":1470,"line_end":1470,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571522,"byte_end":571540,"line_start":1471,"line_end":1471,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571511,"byte_end":571520,"line_start":1471,"line_end":1471,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571541,"byte_end":571547,"line_start":1471,"line_end":1471,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571549,"byte_end":571558,"line_start":1471,"line_end":1471,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881128}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571560,"byte_end":571563,"line_start":1471,"line_end":1471,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571565,"byte_end":571569,"line_start":1471,"line_end":1471,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050664}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571753,"byte_end":571757,"line_start":1474,"line_end":1474,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571745,"byte_end":571751,"line_start":1474,"line_end":1474,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571839,"byte_end":571847,"line_start":1475,"line_end":1475,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571831,"byte_end":571838,"line_start":1475,"line_end":1475,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":213911976}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571852,"byte_end":571859,"line_start":1475,"line_end":1475,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":17}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571848,"byte_end":571851,"line_start":1475,"line_end":1475,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":536873384}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571860,"byte_end":571864,"line_start":1475,"line_end":1475,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":805308840}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571892,"byte_end":571895,"line_start":1476,"line_end":1476,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571906,"byte_end":571909,"line_start":1476,"line_end":1476,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571896,"byte_end":571904,"line_start":1476,"line_end":1476,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571918,"byte_end":571924,"line_start":1476,"line_end":1476,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571910,"byte_end":571917,"line_start":1476,"line_end":1476,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":213911976}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572003,"byte_end":572006,"line_start":1480,"line_end":1480,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572017,"byte_end":572020,"line_start":1480,"line_end":1480,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572007,"byte_end":572015,"line_start":1480,"line_end":1480,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572146,"byte_end":572149,"line_start":1485,"line_end":1485,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572150,"byte_end":572166,"line_start":1485,"line_end":1485,"column_start":38,"column_end":54},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572209,"byte_end":572212,"line_start":1485,"line_end":1485,"column_start":97,"column_end":100},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572213,"byte_end":572229,"line_start":1485,"line_end":1485,"column_start":101,"column_end":117},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572271,"byte_end":572275,"line_start":1486,"line_end":1486,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572258,"byte_end":572269,"line_start":1486,"line_end":1486,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572276,"byte_end":572281,"line_start":1486,"line_end":1486,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572282,"byte_end":572289,"line_start":1486,"line_end":1486,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572307,"byte_end":572316,"line_start":1487,"line_end":1487,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3355445673}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572344,"byte_end":572348,"line_start":1488,"line_end":1488,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572331,"byte_end":572342,"line_start":1488,"line_end":1488,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572344,"byte_end":572348,"line_start":1488,"line_end":1488,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572331,"byte_end":572342,"line_start":1488,"line_end":1488,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572367,"byte_end":572371,"line_start":1488,"line_end":1488,"column_start":49,"column_end":53},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572361,"byte_end":572366,"line_start":1488,"line_end":1488,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572390,"byte_end":572397,"line_start":1488,"line_end":1488,"column_start":72,"column_end":79},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572372,"byte_end":572388,"line_start":1488,"line_end":1488,"column_start":54,"column_end":70},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572411,"byte_end":572416,"line_start":1488,"line_end":1488,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572445,"byte_end":572448,"line_start":1489,"line_end":1489,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572432,"byte_end":572443,"line_start":1489,"line_end":1489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572445,"byte_end":572448,"line_start":1489,"line_end":1489,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3390}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572432,"byte_end":572443,"line_start":1489,"line_end":1489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572475,"byte_end":572495,"line_start":1489,"line_end":1489,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572467,"byte_end":572473,"line_start":1489,"line_end":1489,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2857}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572496,"byte_end":572501,"line_start":1489,"line_end":1489,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572503,"byte_end":572510,"line_start":1489,"line_end":1489,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572512,"byte_end":572517,"line_start":1489,"line_end":1489,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572546,"byte_end":572556,"line_start":1490,"line_end":1490,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572533,"byte_end":572544,"line_start":1490,"line_end":1490,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572546,"byte_end":572556,"line_start":1490,"line_end":1490,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3393}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572533,"byte_end":572544,"line_start":1490,"line_end":1490,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572576,"byte_end":572596,"line_start":1490,"line_end":1490,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572568,"byte_end":572574,"line_start":1490,"line_end":1490,"column_start":48,"column_end":54},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572597,"byte_end":572602,"line_start":1490,"line_end":1490,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572604,"byte_end":572611,"line_start":1490,"line_end":1490,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572613,"byte_end":572618,"line_start":1490,"line_end":1490,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572647,"byte_end":572652,"line_start":1491,"line_end":1491,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572634,"byte_end":572645,"line_start":1491,"line_end":1491,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572647,"byte_end":572652,"line_start":1491,"line_end":1491,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3396}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572634,"byte_end":572645,"line_start":1491,"line_end":1491,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572677,"byte_end":572697,"line_start":1491,"line_end":1491,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572667,"byte_end":572675,"line_start":1491,"line_end":1491,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572698,"byte_end":572703,"line_start":1491,"line_end":1491,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572705,"byte_end":572712,"line_start":1491,"line_end":1491,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572714,"byte_end":572719,"line_start":1491,"line_end":1491,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572748,"byte_end":572752,"line_start":1492,"line_end":1492,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572735,"byte_end":572746,"line_start":1492,"line_end":1492,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572748,"byte_end":572752,"line_start":1492,"line_end":1492,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3399}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572735,"byte_end":572746,"line_start":1492,"line_end":1492,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572778,"byte_end":572798,"line_start":1492,"line_end":1492,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572799,"byte_end":572804,"line_start":1492,"line_end":1492,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572806,"byte_end":572813,"line_start":1492,"line_end":1492,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572815,"byte_end":572820,"line_start":1492,"line_end":1492,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572849,"byte_end":572854,"line_start":1493,"line_end":1493,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572836,"byte_end":572847,"line_start":1493,"line_end":1493,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572849,"byte_end":572854,"line_start":1493,"line_end":1493,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3402}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572836,"byte_end":572847,"line_start":1493,"line_end":1493,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572879,"byte_end":572899,"line_start":1493,"line_end":1493,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572900,"byte_end":572905,"line_start":1493,"line_end":1493,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572907,"byte_end":572914,"line_start":1493,"line_end":1493,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572916,"byte_end":572921,"line_start":1493,"line_end":1493,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572950,"byte_end":572955,"line_start":1494,"line_end":1494,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572937,"byte_end":572948,"line_start":1494,"line_end":1494,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572950,"byte_end":572955,"line_start":1494,"line_end":1494,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3405}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572937,"byte_end":572948,"line_start":1494,"line_end":1494,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572980,"byte_end":573000,"line_start":1494,"line_end":1494,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573001,"byte_end":573006,"line_start":1494,"line_end":1494,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573008,"byte_end":573015,"line_start":1494,"line_end":1494,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573017,"byte_end":573022,"line_start":1494,"line_end":1494,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573051,"byte_end":573056,"line_start":1495,"line_end":1495,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573038,"byte_end":573049,"line_start":1495,"line_end":1495,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573051,"byte_end":573056,"line_start":1495,"line_end":1495,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3408}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573038,"byte_end":573049,"line_start":1495,"line_end":1495,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573081,"byte_end":573101,"line_start":1495,"line_end":1495,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573102,"byte_end":573107,"line_start":1495,"line_end":1495,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573109,"byte_end":573116,"line_start":1495,"line_end":1495,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573118,"byte_end":573123,"line_start":1495,"line_end":1495,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573152,"byte_end":573157,"line_start":1496,"line_end":1496,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573139,"byte_end":573150,"line_start":1496,"line_end":1496,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573152,"byte_end":573157,"line_start":1496,"line_end":1496,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3411}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573139,"byte_end":573150,"line_start":1496,"line_end":1496,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573182,"byte_end":573202,"line_start":1496,"line_end":1496,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573203,"byte_end":573208,"line_start":1496,"line_end":1496,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573210,"byte_end":573217,"line_start":1496,"line_end":1496,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573219,"byte_end":573224,"line_start":1496,"line_end":1496,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573253,"byte_end":573259,"line_start":1497,"line_end":1497,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573240,"byte_end":573251,"line_start":1497,"line_end":1497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573253,"byte_end":573259,"line_start":1497,"line_end":1497,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3414}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573240,"byte_end":573251,"line_start":1497,"line_end":1497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573283,"byte_end":573303,"line_start":1497,"line_end":1497,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573304,"byte_end":573309,"line_start":1497,"line_end":1497,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573311,"byte_end":573318,"line_start":1497,"line_end":1497,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573320,"byte_end":573325,"line_start":1497,"line_end":1497,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573354,"byte_end":573360,"line_start":1498,"line_end":1498,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573341,"byte_end":573352,"line_start":1498,"line_end":1498,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573354,"byte_end":573360,"line_start":1498,"line_end":1498,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3417}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573341,"byte_end":573352,"line_start":1498,"line_end":1498,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573384,"byte_end":573404,"line_start":1498,"line_end":1498,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573405,"byte_end":573410,"line_start":1498,"line_end":1498,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573412,"byte_end":573419,"line_start":1498,"line_end":1498,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573421,"byte_end":573426,"line_start":1498,"line_end":1498,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573455,"byte_end":573461,"line_start":1499,"line_end":1499,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573442,"byte_end":573453,"line_start":1499,"line_end":1499,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573455,"byte_end":573461,"line_start":1499,"line_end":1499,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3420}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573442,"byte_end":573453,"line_start":1499,"line_end":1499,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573485,"byte_end":573505,"line_start":1499,"line_end":1499,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573506,"byte_end":573511,"line_start":1499,"line_end":1499,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573513,"byte_end":573520,"line_start":1499,"line_end":1499,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573522,"byte_end":573527,"line_start":1499,"line_end":1499,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573556,"byte_end":573561,"line_start":1500,"line_end":1500,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573543,"byte_end":573554,"line_start":1500,"line_end":1500,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573556,"byte_end":573561,"line_start":1500,"line_end":1500,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3423}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573543,"byte_end":573554,"line_start":1500,"line_end":1500,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573586,"byte_end":573606,"line_start":1500,"line_end":1500,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573607,"byte_end":573612,"line_start":1500,"line_end":1500,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573614,"byte_end":573621,"line_start":1500,"line_end":1500,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573623,"byte_end":573628,"line_start":1500,"line_end":1500,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573657,"byte_end":573663,"line_start":1501,"line_end":1501,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573644,"byte_end":573655,"line_start":1501,"line_end":1501,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573657,"byte_end":573663,"line_start":1501,"line_end":1501,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3426}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573644,"byte_end":573655,"line_start":1501,"line_end":1501,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573687,"byte_end":573707,"line_start":1501,"line_end":1501,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573708,"byte_end":573713,"line_start":1501,"line_end":1501,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573715,"byte_end":573722,"line_start":1501,"line_end":1501,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573724,"byte_end":573729,"line_start":1501,"line_end":1501,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573758,"byte_end":573765,"line_start":1502,"line_end":1502,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573745,"byte_end":573756,"line_start":1502,"line_end":1502,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573758,"byte_end":573765,"line_start":1502,"line_end":1502,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3429}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573745,"byte_end":573756,"line_start":1502,"line_end":1502,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573788,"byte_end":573808,"line_start":1502,"line_end":1502,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573780,"byte_end":573786,"line_start":1502,"line_end":1502,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573809,"byte_end":573814,"line_start":1502,"line_end":1502,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573816,"byte_end":573823,"line_start":1502,"line_end":1502,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573825,"byte_end":573830,"line_start":1502,"line_end":1502,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573859,"byte_end":573866,"line_start":1503,"line_end":1503,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573846,"byte_end":573857,"line_start":1503,"line_end":1503,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573859,"byte_end":573866,"line_start":1503,"line_end":1503,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3432}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573846,"byte_end":573857,"line_start":1503,"line_end":1503,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573889,"byte_end":573909,"line_start":1503,"line_end":1503,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573910,"byte_end":573915,"line_start":1503,"line_end":1503,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573917,"byte_end":573924,"line_start":1503,"line_end":1503,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573926,"byte_end":573931,"line_start":1503,"line_end":1503,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573960,"byte_end":573963,"line_start":1504,"line_end":1504,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573947,"byte_end":573958,"line_start":1504,"line_end":1504,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573960,"byte_end":573963,"line_start":1504,"line_end":1504,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3435}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573947,"byte_end":573958,"line_start":1504,"line_end":1504,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573990,"byte_end":574010,"line_start":1504,"line_end":1504,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573982,"byte_end":573988,"line_start":1504,"line_end":1504,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574011,"byte_end":574016,"line_start":1504,"line_end":1504,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574018,"byte_end":574025,"line_start":1504,"line_end":1504,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574027,"byte_end":574032,"line_start":1504,"line_end":1504,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574061,"byte_end":574065,"line_start":1505,"line_end":1505,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574048,"byte_end":574059,"line_start":1505,"line_end":1505,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574061,"byte_end":574065,"line_start":1505,"line_end":1505,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574048,"byte_end":574059,"line_start":1505,"line_end":1505,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574091,"byte_end":574111,"line_start":1505,"line_end":1505,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574082,"byte_end":574089,"line_start":1505,"line_end":1505,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574112,"byte_end":574117,"line_start":1505,"line_end":1505,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574119,"byte_end":574126,"line_start":1505,"line_end":1505,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574128,"byte_end":574133,"line_start":1505,"line_end":1505,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574162,"byte_end":574166,"line_start":1506,"line_end":1506,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574149,"byte_end":574160,"line_start":1506,"line_end":1506,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574162,"byte_end":574166,"line_start":1506,"line_end":1506,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3441}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574149,"byte_end":574160,"line_start":1506,"line_end":1506,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574192,"byte_end":574212,"line_start":1506,"line_end":1506,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574183,"byte_end":574190,"line_start":1506,"line_end":1506,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574213,"byte_end":574218,"line_start":1506,"line_end":1506,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574220,"byte_end":574227,"line_start":1506,"line_end":1506,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574229,"byte_end":574234,"line_start":1506,"line_end":1506,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574263,"byte_end":574267,"line_start":1507,"line_end":1507,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574250,"byte_end":574261,"line_start":1507,"line_end":1507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574263,"byte_end":574267,"line_start":1507,"line_end":1507,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3444}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574250,"byte_end":574261,"line_start":1507,"line_end":1507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574293,"byte_end":574313,"line_start":1507,"line_end":1507,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574284,"byte_end":574291,"line_start":1507,"line_end":1507,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574314,"byte_end":574319,"line_start":1507,"line_end":1507,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574321,"byte_end":574328,"line_start":1507,"line_end":1507,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574330,"byte_end":574335,"line_start":1507,"line_end":1507,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574364,"byte_end":574368,"line_start":1508,"line_end":1508,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574351,"byte_end":574362,"line_start":1508,"line_end":1508,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574364,"byte_end":574368,"line_start":1508,"line_end":1508,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3447}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574351,"byte_end":574362,"line_start":1508,"line_end":1508,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574394,"byte_end":574414,"line_start":1508,"line_end":1508,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574385,"byte_end":574392,"line_start":1508,"line_end":1508,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574415,"byte_end":574420,"line_start":1508,"line_end":1508,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574422,"byte_end":574429,"line_start":1508,"line_end":1508,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574431,"byte_end":574436,"line_start":1508,"line_end":1508,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574465,"byte_end":574471,"line_start":1509,"line_end":1509,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574452,"byte_end":574463,"line_start":1509,"line_end":1509,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574465,"byte_end":574471,"line_start":1509,"line_end":1509,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3450}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574452,"byte_end":574463,"line_start":1509,"line_end":1509,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574495,"byte_end":574515,"line_start":1509,"line_end":1509,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574484,"byte_end":574493,"line_start":1509,"line_end":1509,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574516,"byte_end":574521,"line_start":1509,"line_end":1509,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574523,"byte_end":574530,"line_start":1509,"line_end":1509,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574532,"byte_end":574537,"line_start":1509,"line_end":1509,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574566,"byte_end":574569,"line_start":1510,"line_end":1510,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574553,"byte_end":574564,"line_start":1510,"line_end":1510,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574566,"byte_end":574569,"line_start":1510,"line_end":1510,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3453}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574553,"byte_end":574564,"line_start":1510,"line_end":1510,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574596,"byte_end":574616,"line_start":1510,"line_end":1510,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574588,"byte_end":574594,"line_start":1510,"line_end":1510,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574617,"byte_end":574622,"line_start":1510,"line_end":1510,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574624,"byte_end":574631,"line_start":1510,"line_end":1510,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574633,"byte_end":574638,"line_start":1510,"line_end":1510,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574667,"byte_end":574671,"line_start":1511,"line_end":1511,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574654,"byte_end":574665,"line_start":1511,"line_end":1511,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574667,"byte_end":574671,"line_start":1511,"line_end":1511,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3456}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574654,"byte_end":574665,"line_start":1511,"line_end":1511,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574697,"byte_end":574717,"line_start":1511,"line_end":1511,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574688,"byte_end":574695,"line_start":1511,"line_end":1511,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574718,"byte_end":574723,"line_start":1511,"line_end":1511,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574725,"byte_end":574732,"line_start":1511,"line_end":1511,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574734,"byte_end":574739,"line_start":1511,"line_end":1511,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574768,"byte_end":574773,"line_start":1512,"line_end":1512,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574755,"byte_end":574766,"line_start":1512,"line_end":1512,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574768,"byte_end":574773,"line_start":1512,"line_end":1512,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3459}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574755,"byte_end":574766,"line_start":1512,"line_end":1512,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574798,"byte_end":574818,"line_start":1512,"line_end":1512,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574788,"byte_end":574796,"line_start":1512,"line_end":1512,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574819,"byte_end":574824,"line_start":1512,"line_end":1512,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574826,"byte_end":574833,"line_start":1512,"line_end":1512,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574835,"byte_end":574840,"line_start":1512,"line_end":1512,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574869,"byte_end":574875,"line_start":1513,"line_end":1513,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574856,"byte_end":574867,"line_start":1513,"line_end":1513,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574869,"byte_end":574875,"line_start":1513,"line_end":1513,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3462}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574856,"byte_end":574867,"line_start":1513,"line_end":1513,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574899,"byte_end":574919,"line_start":1513,"line_end":1513,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574888,"byte_end":574897,"line_start":1513,"line_end":1513,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574920,"byte_end":574925,"line_start":1513,"line_end":1513,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574927,"byte_end":574934,"line_start":1513,"line_end":1513,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574936,"byte_end":574941,"line_start":1513,"line_end":1513,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575373,"byte_end":575376,"line_start":1524,"line_end":1524,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575377,"byte_end":575393,"line_start":1524,"line_end":1524,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575410,"byte_end":575413,"line_start":1524,"line_end":1524,"column_start":67,"column_end":70},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575414,"byte_end":575421,"line_start":1524,"line_end":1524,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575427,"byte_end":575433,"line_start":1524,"line_end":1524,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575441,"byte_end":575444,"line_start":1524,"line_end":1524,"column_start":98,"column_end":101},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575450,"byte_end":575453,"line_start":1524,"line_end":1524,"column_start":107,"column_end":110},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575454,"byte_end":575470,"line_start":1524,"line_end":1524,"column_start":111,"column_end":127},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575474,"byte_end":575482,"line_start":1524,"line_end":1524,"column_start":131,"column_end":139},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575502,"byte_end":575513,"line_start":1526,"line_end":1526,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536873386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575545,"byte_end":575551,"line_start":1527,"line_end":1527,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575536,"byte_end":575543,"line_start":1527,"line_end":1527,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575545,"byte_end":575551,"line_start":1527,"line_end":1527,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575536,"byte_end":575543,"line_start":1527,"line_end":1527,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575584,"byte_end":575590,"line_start":1528,"line_end":1528,"column_start":25,"column_end":31},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575582,"byte_end":575583,"line_start":1528,"line_end":1528,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":805308842}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575642,"byte_end":575661,"line_start":1529,"line_end":1529,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575634,"byte_end":575640,"line_start":1529,"line_end":1529,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2857}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575662,"byte_end":575668,"line_start":1529,"line_end":1529,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575671,"byte_end":575682,"line_start":1529,"line_end":1529,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575734,"byte_end":575753,"line_start":1530,"line_end":1530,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575726,"byte_end":575732,"line_start":1530,"line_end":1530,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575754,"byte_end":575760,"line_start":1530,"line_end":1530,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575763,"byte_end":575774,"line_start":1530,"line_end":1530,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575826,"byte_end":575845,"line_start":1531,"line_end":1531,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575818,"byte_end":575824,"line_start":1531,"line_end":1531,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575846,"byte_end":575852,"line_start":1531,"line_end":1531,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575855,"byte_end":575866,"line_start":1531,"line_end":1531,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575918,"byte_end":575937,"line_start":1532,"line_end":1532,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575910,"byte_end":575916,"line_start":1532,"line_end":1532,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575938,"byte_end":575944,"line_start":1532,"line_end":1532,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575947,"byte_end":575958,"line_start":1532,"line_end":1532,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576010,"byte_end":576029,"line_start":1533,"line_end":1533,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576002,"byte_end":576008,"line_start":1533,"line_end":1533,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576030,"byte_end":576036,"line_start":1533,"line_end":1533,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576039,"byte_end":576050,"line_start":1533,"line_end":1533,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576102,"byte_end":576121,"line_start":1534,"line_end":1534,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576092,"byte_end":576100,"line_start":1534,"line_end":1534,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576122,"byte_end":576128,"line_start":1534,"line_end":1534,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576131,"byte_end":576142,"line_start":1534,"line_end":1534,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576194,"byte_end":576213,"line_start":1535,"line_end":1535,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576184,"byte_end":576192,"line_start":1535,"line_end":1535,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":289}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576214,"byte_end":576220,"line_start":1535,"line_end":1535,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576223,"byte_end":576234,"line_start":1535,"line_end":1535,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576286,"byte_end":576305,"line_start":1536,"line_end":1536,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576306,"byte_end":576312,"line_start":1536,"line_end":1536,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576315,"byte_end":576326,"line_start":1536,"line_end":1536,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576378,"byte_end":576397,"line_start":1537,"line_end":1537,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576398,"byte_end":576404,"line_start":1537,"line_end":1537,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576407,"byte_end":576418,"line_start":1537,"line_end":1537,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576470,"byte_end":576489,"line_start":1538,"line_end":1538,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576490,"byte_end":576496,"line_start":1538,"line_end":1538,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576499,"byte_end":576510,"line_start":1538,"line_end":1538,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576562,"byte_end":576581,"line_start":1539,"line_end":1539,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576582,"byte_end":576588,"line_start":1539,"line_end":1539,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576591,"byte_end":576602,"line_start":1539,"line_end":1539,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576654,"byte_end":576673,"line_start":1540,"line_end":1540,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576674,"byte_end":576680,"line_start":1540,"line_end":1540,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576683,"byte_end":576694,"line_start":1540,"line_end":1540,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576746,"byte_end":576765,"line_start":1541,"line_end":1541,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576766,"byte_end":576772,"line_start":1541,"line_end":1541,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576775,"byte_end":576786,"line_start":1541,"line_end":1541,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576838,"byte_end":576857,"line_start":1542,"line_end":1542,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576858,"byte_end":576864,"line_start":1542,"line_end":1542,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576867,"byte_end":576878,"line_start":1542,"line_end":1542,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576930,"byte_end":576949,"line_start":1543,"line_end":1543,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576950,"byte_end":576956,"line_start":1543,"line_end":1543,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576959,"byte_end":576970,"line_start":1543,"line_end":1543,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577022,"byte_end":577041,"line_start":1544,"line_end":1544,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577042,"byte_end":577048,"line_start":1544,"line_end":1544,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577051,"byte_end":577062,"line_start":1544,"line_end":1544,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577114,"byte_end":577133,"line_start":1545,"line_end":1545,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577134,"byte_end":577140,"line_start":1545,"line_end":1545,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577143,"byte_end":577154,"line_start":1545,"line_end":1545,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577206,"byte_end":577225,"line_start":1546,"line_end":1546,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577226,"byte_end":577232,"line_start":1546,"line_end":1546,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577235,"byte_end":577246,"line_start":1546,"line_end":1546,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577298,"byte_end":577317,"line_start":1547,"line_end":1547,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577318,"byte_end":577324,"line_start":1547,"line_end":1547,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577327,"byte_end":577338,"line_start":1547,"line_end":1547,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577390,"byte_end":577409,"line_start":1548,"line_end":1548,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577410,"byte_end":577416,"line_start":1548,"line_end":1548,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577419,"byte_end":577430,"line_start":1548,"line_end":1548,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577482,"byte_end":577501,"line_start":1549,"line_end":1549,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577502,"byte_end":577508,"line_start":1549,"line_end":1549,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577511,"byte_end":577522,"line_start":1549,"line_end":1549,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577574,"byte_end":577593,"line_start":1550,"line_end":1550,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577594,"byte_end":577600,"line_start":1550,"line_end":1550,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577603,"byte_end":577614,"line_start":1550,"line_end":1550,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577666,"byte_end":577685,"line_start":1551,"line_end":1551,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577686,"byte_end":577692,"line_start":1551,"line_end":1551,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577695,"byte_end":577706,"line_start":1551,"line_end":1551,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577758,"byte_end":577777,"line_start":1552,"line_end":1552,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577778,"byte_end":577784,"line_start":1552,"line_end":1552,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577787,"byte_end":577798,"line_start":1552,"line_end":1552,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577850,"byte_end":577869,"line_start":1553,"line_end":1553,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577870,"byte_end":577876,"line_start":1553,"line_end":1553,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577879,"byte_end":577890,"line_start":1553,"line_end":1553,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577942,"byte_end":577961,"line_start":1554,"line_end":1554,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577962,"byte_end":577968,"line_start":1554,"line_end":1554,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577971,"byte_end":577982,"line_start":1554,"line_end":1554,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578034,"byte_end":578053,"line_start":1555,"line_end":1555,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578054,"byte_end":578060,"line_start":1555,"line_end":1555,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578063,"byte_end":578074,"line_start":1555,"line_end":1555,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578126,"byte_end":578145,"line_start":1556,"line_end":1556,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578118,"byte_end":578124,"line_start":1556,"line_end":1556,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578146,"byte_end":578152,"line_start":1556,"line_end":1556,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578155,"byte_end":578166,"line_start":1556,"line_end":1556,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578218,"byte_end":578237,"line_start":1557,"line_end":1557,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578210,"byte_end":578216,"line_start":1557,"line_end":1557,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3154}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578238,"byte_end":578244,"line_start":1557,"line_end":1557,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578247,"byte_end":578258,"line_start":1557,"line_end":1557,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578310,"byte_end":578329,"line_start":1558,"line_end":1558,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578330,"byte_end":578336,"line_start":1558,"line_end":1558,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578339,"byte_end":578350,"line_start":1558,"line_end":1558,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578402,"byte_end":578421,"line_start":1559,"line_end":1559,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578422,"byte_end":578428,"line_start":1559,"line_end":1559,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578431,"byte_end":578442,"line_start":1559,"line_end":1559,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578494,"byte_end":578513,"line_start":1560,"line_end":1560,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578486,"byte_end":578492,"line_start":1560,"line_end":1560,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578514,"byte_end":578520,"line_start":1560,"line_end":1560,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578523,"byte_end":578534,"line_start":1560,"line_end":1560,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578586,"byte_end":578605,"line_start":1561,"line_end":1561,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578578,"byte_end":578584,"line_start":1561,"line_end":1561,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578606,"byte_end":578612,"line_start":1561,"line_end":1561,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578615,"byte_end":578626,"line_start":1561,"line_end":1561,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578678,"byte_end":578697,"line_start":1562,"line_end":1562,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578670,"byte_end":578676,"line_start":1562,"line_end":1562,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3142}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578698,"byte_end":578704,"line_start":1562,"line_end":1562,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578707,"byte_end":578718,"line_start":1562,"line_end":1562,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578770,"byte_end":578789,"line_start":1563,"line_end":1563,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578761,"byte_end":578768,"line_start":1563,"line_end":1563,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3175}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578790,"byte_end":578796,"line_start":1563,"line_end":1563,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578799,"byte_end":578810,"line_start":1563,"line_end":1563,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578862,"byte_end":578881,"line_start":1564,"line_end":1564,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578853,"byte_end":578860,"line_start":1564,"line_end":1564,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3162}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578882,"byte_end":578888,"line_start":1564,"line_end":1564,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578891,"byte_end":578902,"line_start":1564,"line_end":1564,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578954,"byte_end":578973,"line_start":1565,"line_end":1565,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578945,"byte_end":578952,"line_start":1565,"line_end":1565,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3205}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578974,"byte_end":578980,"line_start":1565,"line_end":1565,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578983,"byte_end":578994,"line_start":1565,"line_end":1565,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579046,"byte_end":579065,"line_start":1566,"line_end":1566,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579037,"byte_end":579044,"line_start":1566,"line_end":1566,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579066,"byte_end":579072,"line_start":1566,"line_end":1566,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579075,"byte_end":579086,"line_start":1566,"line_end":1566,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579138,"byte_end":579157,"line_start":1567,"line_end":1567,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579129,"byte_end":579136,"line_start":1567,"line_end":1567,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3188}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579158,"byte_end":579164,"line_start":1567,"line_end":1567,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579167,"byte_end":579178,"line_start":1567,"line_end":1567,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579230,"byte_end":579249,"line_start":1568,"line_end":1568,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579219,"byte_end":579228,"line_start":1568,"line_end":1568,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579250,"byte_end":579256,"line_start":1568,"line_end":1568,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579259,"byte_end":579270,"line_start":1568,"line_end":1568,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579322,"byte_end":579341,"line_start":1569,"line_end":1569,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579311,"byte_end":579320,"line_start":1569,"line_end":1569,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3282}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579342,"byte_end":579348,"line_start":1569,"line_end":1569,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579351,"byte_end":579362,"line_start":1569,"line_end":1569,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579414,"byte_end":579433,"line_start":1570,"line_end":1570,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579405,"byte_end":579412,"line_start":1570,"line_end":1570,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579434,"byte_end":579440,"line_start":1570,"line_end":1570,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579443,"byte_end":579454,"line_start":1570,"line_end":1570,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579506,"byte_end":579525,"line_start":1571,"line_end":1571,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579497,"byte_end":579504,"line_start":1571,"line_end":1571,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579526,"byte_end":579532,"line_start":1571,"line_end":1571,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579535,"byte_end":579546,"line_start":1571,"line_end":1571,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579598,"byte_end":579617,"line_start":1572,"line_end":1572,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579590,"byte_end":579596,"line_start":1572,"line_end":1572,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3309}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579618,"byte_end":579624,"line_start":1572,"line_end":1572,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579627,"byte_end":579638,"line_start":1572,"line_end":1572,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579690,"byte_end":579709,"line_start":1573,"line_end":1573,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579680,"byte_end":579688,"line_start":1573,"line_end":1573,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3350}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579710,"byte_end":579716,"line_start":1573,"line_end":1573,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579719,"byte_end":579730,"line_start":1573,"line_end":1573,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579782,"byte_end":579801,"line_start":1574,"line_end":1574,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579771,"byte_end":579780,"line_start":1574,"line_end":1574,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1530}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579802,"byte_end":579808,"line_start":1574,"line_end":1574,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579811,"byte_end":579822,"line_start":1574,"line_end":1574,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873386}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579999,"byte_end":580003,"line_start":1577,"line_end":1577,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579991,"byte_end":579997,"line_start":1577,"line_end":1577,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580085,"byte_end":580093,"line_start":1578,"line_end":1578,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580077,"byte_end":580084,"line_start":1578,"line_end":1578,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1262487978}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580118,"byte_end":580124,"line_start":1578,"line_end":1578,"column_start":66,"column_end":72},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580106,"byte_end":580115,"line_start":1578,"line_end":1578,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":2551}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580094,"byte_end":580105,"line_start":1578,"line_end":1578,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":536873386}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580160,"byte_end":580163,"line_start":1579,"line_end":1579,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580174,"byte_end":580177,"line_start":1579,"line_end":1579,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580164,"byte_end":580172,"line_start":1579,"line_end":1579,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580186,"byte_end":580192,"line_start":1579,"line_end":1579,"column_start":58,"column_end":64},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580178,"byte_end":580185,"line_start":1579,"line_end":1579,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":1262487978}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580287,"byte_end":580290,"line_start":1584,"line_end":1584,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580301,"byte_end":580304,"line_start":1584,"line_end":1584,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580291,"byte_end":580299,"line_start":1584,"line_end":1584,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21970,"byte_end":21975,"line_start":333,"line_end":333,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580427,"byte_end":580432,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580434,"byte_end":580440,"line_start":3,"line_end":3,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580461,"byte_end":580466,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580468,"byte_end":580474,"line_start":4,"line_end":4,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580488,"byte_end":580493,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580495,"byte_end":580501,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580516,"byte_end":580521,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580523,"byte_end":580529,"line_start":6,"line_end":6,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":580937,"byte_end":580943,"line_start":22,"line_end":22,"column_start":18,"column_end":24},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":580928,"byte_end":580935,"line_start":22,"line_end":22,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3719}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581041,"byte_end":581046,"line_start":28,"line_end":28,"column_start":19,"column_end":24},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581062,"byte_end":581063,"line_start":28,"line_end":28,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581083,"byte_end":581091,"line_start":29,"line_end":29,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581093,"byte_end":581099,"line_start":29,"line_end":29,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581102,"byte_end":581109,"line_start":29,"line_end":29,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3719}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581128,"byte_end":581136,"line_start":29,"line_end":29,"column_start":54,"column_end":62},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581119,"byte_end":581125,"line_start":29,"line_end":29,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581111,"byte_end":581118,"line_start":29,"line_end":29,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1073744313}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581218,"byte_end":581224,"line_start":32,"line_end":32,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581225,"byte_end":581226,"line_start":32,"line_end":32,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581232,"byte_end":581238,"line_start":32,"line_end":32,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581239,"byte_end":581240,"line_start":32,"line_end":32,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581242,"byte_end":581250,"line_start":32,"line_end":32,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581268,"byte_end":581273,"line_start":33,"line_end":33,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1073744315}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581288,"byte_end":581292,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581288,"byte_end":581292,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581299,"byte_end":581301,"line_start":34,"line_end":34,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581302,"byte_end":581303,"line_start":34,"line_end":34,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1610615227}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581318,"byte_end":581322,"line_start":35,"line_end":35,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581318,"byte_end":581322,"line_start":35,"line_end":35,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581326,"byte_end":581329,"line_start":35,"line_end":35,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581340,"byte_end":581343,"line_start":35,"line_end":35,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581330,"byte_end":581338,"line_start":35,"line_end":35,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581397,"byte_end":581401,"line_start":40,"line_end":40,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581402,"byte_end":581415,"line_start":40,"line_end":40,"column_start":11,"column_end":24},"ref_id":{"krate":4,"index":7637}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581449,"byte_end":581462,"line_start":41,"line_end":41,"column_start":18,"column_end":31},"ref_id":{"krate":4,"index":7637}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581467,"byte_end":581475,"line_start":41,"line_end":41,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581496,"byte_end":581499,"line_start":42,"line_end":42,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581486,"byte_end":581494,"line_start":42,"line_end":42,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581516,"byte_end":581522,"line_start":42,"line_end":42,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581504,"byte_end":581513,"line_start":42,"line_end":42,"column_start":27,"column_end":36},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581500,"byte_end":581503,"line_start":42,"line_end":42,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744318}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581540,"byte_end":581544,"line_start":46,"line_end":46,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581556,"byte_end":581571,"line_start":46,"line_end":46,"column_start":22,"column_end":37},"ref_id":{"krate":1,"index":16551}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581545,"byte_end":581549,"line_start":46,"line_end":46,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581551,"byte_end":581554,"line_start":46,"line_end":46,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581616,"byte_end":581631,"line_start":47,"line_end":47,"column_start":29,"column_end":44},"ref_id":{"krate":1,"index":16551}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581605,"byte_end":581609,"line_start":47,"line_end":47,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581611,"byte_end":581614,"line_start":47,"line_end":47,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581636,"byte_end":581644,"line_start":47,"line_end":47,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581665,"byte_end":581668,"line_start":48,"line_end":48,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581655,"byte_end":581663,"line_start":48,"line_end":48,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581685,"byte_end":581691,"line_start":48,"line_end":48,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581673,"byte_end":581682,"line_start":48,"line_end":48,"column_start":27,"column_end":36},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581669,"byte_end":581672,"line_start":48,"line_end":48,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744320}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581709,"byte_end":581713,"line_start":52,"line_end":52,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581725,"byte_end":581738,"line_start":52,"line_end":52,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":16695}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581714,"byte_end":581718,"line_start":52,"line_end":52,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581720,"byte_end":581723,"line_start":52,"line_end":52,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581783,"byte_end":581796,"line_start":53,"line_end":53,"column_start":29,"column_end":42},"ref_id":{"krate":1,"index":16695}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581772,"byte_end":581776,"line_start":53,"line_end":53,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581778,"byte_end":581781,"line_start":53,"line_end":53,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581801,"byte_end":581809,"line_start":53,"line_end":53,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581830,"byte_end":581833,"line_start":54,"line_end":54,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581820,"byte_end":581828,"line_start":54,"line_end":54,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581850,"byte_end":581856,"line_start":54,"line_end":54,"column_start":39,"column_end":45},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581838,"byte_end":581847,"line_start":54,"line_end":54,"column_start":27,"column_end":36},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581834,"byte_end":581837,"line_start":54,"line_end":54,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744322}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21985,"byte_end":21994,"line_start":334,"line_end":334,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":2499}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583510,"byte_end":583515,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583517,"byte_end":583520,"line_start":37,"line_end":37,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583531,"byte_end":583536,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583538,"byte_end":583544,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583558,"byte_end":583563,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583565,"byte_end":583570,"line_start":39,"line_end":39,"column_start":12,"column_end":17},"ref_id":{"krate":4,"index":191}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583581,"byte_end":583586,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583588,"byte_end":583594,"line_start":40,"line_end":40,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583609,"byte_end":583614,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583616,"byte_end":583622,"line_start":41,"line_end":41,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583638,"byte_end":583642,"line_start":42,"line_end":42,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583644,"byte_end":583647,"line_start":42,"line_end":42,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":11718}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583662,"byte_end":583666,"line_start":43,"line_end":43,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583668,"byte_end":583671,"line_start":43,"line_end":43,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583684,"byte_end":583689,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583692,"byte_end":583697,"line_start":44,"line_end":44,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583858,"byte_end":583861,"line_start":50,"line_end":50,"column_start":17,"column_end":20},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583863,"byte_end":583869,"line_start":50,"line_end":50,"column_start":22,"column_end":28},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583871,"byte_end":583878,"line_start":50,"line_end":50,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583846,"byte_end":583880,"line_start":50,"line_end":50,"column_start":5,"column_end":39},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3723}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583966,"byte_end":583971,"line_start":57,"line_end":57,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583974,"byte_end":583980,"line_start":57,"line_end":57,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3723}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":583987,"byte_end":583990,"line_start":57,"line_end":57,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583982,"byte_end":583985,"line_start":57,"line_end":57,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584072,"byte_end":584078,"line_start":61,"line_end":61,"column_start":35,"column_end":41},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584087,"byte_end":584094,"line_start":61,"line_end":61,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584125,"byte_end":584145,"line_start":63,"line_end":63,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584125,"byte_end":584126,"line_start":63,"line_end":63,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584128,"byte_end":584145,"line_start":63,"line_end":63,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584140,"byte_end":584143,"line_start":63,"line_end":63,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584128,"byte_end":584132,"line_start":63,"line_end":63,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744351}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584133,"byte_end":584139,"line_start":63,"line_end":63,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584163,"byte_end":584167,"line_start":64,"line_end":64,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744351}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584168,"byte_end":584174,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584175,"byte_end":584176,"line_start":64,"line_end":64,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":134220255}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584183,"byte_end":584186,"line_start":64,"line_end":64,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":536873439}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584223,"byte_end":584226,"line_start":65,"line_end":65,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":536873439}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584228,"byte_end":584233,"line_start":65,"line_end":65,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1610615263}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584205,"byte_end":584209,"line_start":65,"line_end":65,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744351}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584210,"byte_end":584216,"line_start":65,"line_end":65,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584217,"byte_end":584218,"line_start":65,"line_end":65,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":134220255}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584259,"byte_end":584260,"line_start":66,"line_end":66,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":134220255}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584307,"byte_end":584311,"line_start":70,"line_end":70,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584295,"byte_end":584299,"line_start":70,"line_end":70,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744351}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584300,"byte_end":584306,"line_start":70,"line_end":70,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584313,"byte_end":584316,"line_start":70,"line_end":70,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":536873439}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584318,"byte_end":584323,"line_start":70,"line_end":70,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610615263}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584348,"byte_end":584351,"line_start":72,"line_end":72,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584336,"byte_end":584340,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744351}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584341,"byte_end":584347,"line_start":72,"line_end":72,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3723}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584459,"byte_end":584465,"line_start":76,"line_end":76,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584471,"byte_end":584478,"line_start":76,"line_end":76,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584499,"byte_end":584519,"line_start":77,"line_end":77,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584499,"byte_end":584500,"line_start":77,"line_end":77,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584502,"byte_end":584519,"line_start":77,"line_end":77,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584514,"byte_end":584517,"line_start":77,"line_end":77,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584502,"byte_end":584506,"line_start":77,"line_end":77,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584507,"byte_end":584513,"line_start":77,"line_end":77,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584537,"byte_end":584541,"line_start":78,"line_end":78,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584542,"byte_end":584548,"line_start":78,"line_end":78,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584549,"byte_end":584550,"line_start":78,"line_end":78,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050720}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584558,"byte_end":584561,"line_start":78,"line_end":78,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873440}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584587,"byte_end":584591,"line_start":79,"line_end":79,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584597,"byte_end":584601,"line_start":79,"line_end":79,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584602,"byte_end":584608,"line_start":79,"line_end":79,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584609,"byte_end":584610,"line_start":79,"line_end":79,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":1879050720}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584648,"byte_end":584652,"line_start":82,"line_end":82,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584753,"byte_end":584759,"line_start":86,"line_end":86,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584761,"byte_end":584768,"line_start":86,"line_end":86,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584789,"byte_end":584809,"line_start":87,"line_end":87,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584789,"byte_end":584790,"line_start":87,"line_end":87,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584792,"byte_end":584809,"line_start":87,"line_end":87,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584804,"byte_end":584807,"line_start":87,"line_end":87,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584792,"byte_end":584796,"line_start":87,"line_end":87,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584797,"byte_end":584803,"line_start":87,"line_end":87,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584827,"byte_end":584831,"line_start":88,"line_end":88,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584832,"byte_end":584838,"line_start":88,"line_end":88,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584839,"byte_end":584840,"line_start":88,"line_end":88,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050721}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584848,"byte_end":584851,"line_start":88,"line_end":88,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873441}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584877,"byte_end":584881,"line_start":89,"line_end":89,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584883,"byte_end":584887,"line_start":89,"line_end":89,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584888,"byte_end":584894,"line_start":89,"line_end":89,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584895,"byte_end":584896,"line_start":89,"line_end":89,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1879050721}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584934,"byte_end":584938,"line_start":92,"line_end":92,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585049,"byte_end":585069,"line_start":97,"line_end":97,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585049,"byte_end":585050,"line_start":97,"line_end":97,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585052,"byte_end":585069,"line_start":97,"line_end":97,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585064,"byte_end":585067,"line_start":97,"line_end":97,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585052,"byte_end":585056,"line_start":97,"line_end":97,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744354}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585057,"byte_end":585063,"line_start":97,"line_end":97,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585087,"byte_end":585091,"line_start":98,"line_end":98,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744354}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585092,"byte_end":585098,"line_start":98,"line_end":98,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585099,"byte_end":585100,"line_start":98,"line_end":98,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585108,"byte_end":585111,"line_start":98,"line_end":98,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873442}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585309,"byte_end":585315,"line_start":110,"line_end":110,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585442,"byte_end":585447,"line_start":116,"line_end":116,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585484,"byte_end":585487,"line_start":118,"line_end":118,"column_start":11,"column_end":14},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585488,"byte_end":585495,"line_start":118,"line_end":118,"column_start":15,"column_end":22},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585700,"byte_end":585707,"line_start":133,"line_end":133,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585725,"byte_end":585729,"line_start":135,"line_end":135,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744356}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585753,"byte_end":585763,"line_start":136,"line_end":136,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585744,"byte_end":585751,"line_start":136,"line_end":136,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585753,"byte_end":585763,"line_start":136,"line_end":136,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585744,"byte_end":585751,"line_start":136,"line_end":136,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585815,"byte_end":585818,"line_start":137,"line_end":137,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585808,"byte_end":585813,"line_start":137,"line_end":137,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585852,"byte_end":585855,"line_start":139,"line_end":139,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3758098916}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585856,"byte_end":585862,"line_start":139,"line_end":139,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3723}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585961,"byte_end":585966,"line_start":142,"line_end":142,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585954,"byte_end":585958,"line_start":142,"line_end":142,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832996}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586005,"byte_end":586010,"line_start":143,"line_end":143,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585998,"byte_end":586002,"line_start":143,"line_end":143,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832996}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586097,"byte_end":586101,"line_start":146,"line_end":146,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586082,"byte_end":586089,"line_start":146,"line_end":146,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":2281703908}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586090,"byte_end":586096,"line_start":146,"line_end":146,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586102,"byte_end":586108,"line_start":146,"line_end":146,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":872417764}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586155,"byte_end":586165,"line_start":149,"line_end":149,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586146,"byte_end":586153,"line_start":149,"line_end":149,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586166,"byte_end":586173,"line_start":149,"line_end":149,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2281703908}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586211,"byte_end":586216,"line_start":151,"line_end":151,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586202,"byte_end":586209,"line_start":151,"line_end":151,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586211,"byte_end":586216,"line_start":151,"line_end":151,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586202,"byte_end":586209,"line_start":151,"line_end":151,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586265,"byte_end":586268,"line_start":152,"line_end":152,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586260,"byte_end":586263,"line_start":152,"line_end":152,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586300,"byte_end":586304,"line_start":153,"line_end":153,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":167774692}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586333,"byte_end":586337,"line_start":154,"line_end":154,"column_start":27,"column_end":31},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586327,"byte_end":586332,"line_start":154,"line_end":154,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1509951972}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586343,"byte_end":586348,"line_start":154,"line_end":154,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2532}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586338,"byte_end":586342,"line_start":154,"line_end":154,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3120564708}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586396,"byte_end":586401,"line_start":156,"line_end":156,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586387,"byte_end":586394,"line_start":156,"line_end":156,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586402,"byte_end":586407,"line_start":156,"line_end":156,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1509951972}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586445,"byte_end":586451,"line_start":158,"line_end":158,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586436,"byte_end":586443,"line_start":158,"line_end":158,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586445,"byte_end":586451,"line_start":158,"line_end":158,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586436,"byte_end":586443,"line_start":158,"line_end":158,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586489,"byte_end":586495,"line_start":159,"line_end":159,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586480,"byte_end":586487,"line_start":159,"line_end":159,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586502,"byte_end":586507,"line_start":159,"line_end":159,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586496,"byte_end":586501,"line_start":159,"line_end":159,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":285215204}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586547,"byte_end":586554,"line_start":161,"line_end":161,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586538,"byte_end":586545,"line_start":161,"line_end":161,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586547,"byte_end":586554,"line_start":161,"line_end":161,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586538,"byte_end":586545,"line_start":161,"line_end":161,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586590,"byte_end":586597,"line_start":162,"line_end":162,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586581,"byte_end":586588,"line_start":162,"line_end":162,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586599,"byte_end":586602,"line_start":162,"line_end":162,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3909093860}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586640,"byte_end":586645,"line_start":164,"line_end":164,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586631,"byte_end":586638,"line_start":164,"line_end":164,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586640,"byte_end":586645,"line_start":164,"line_end":164,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586631,"byte_end":586638,"line_start":164,"line_end":164,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586681,"byte_end":586686,"line_start":165,"line_end":165,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586672,"byte_end":586679,"line_start":165,"line_end":165,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586688,"byte_end":586691,"line_start":165,"line_end":165,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2768243172}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586729,"byte_end":586733,"line_start":167,"line_end":167,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586720,"byte_end":586727,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586729,"byte_end":586733,"line_start":167,"line_end":167,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586720,"byte_end":586727,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586764,"byte_end":586768,"line_start":168,"line_end":168,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586755,"byte_end":586762,"line_start":168,"line_end":168,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586805,"byte_end":586810,"line_start":170,"line_end":170,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586796,"byte_end":586803,"line_start":170,"line_end":170,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586805,"byte_end":586810,"line_start":170,"line_end":170,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586796,"byte_end":586803,"line_start":170,"line_end":170,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586841,"byte_end":586846,"line_start":171,"line_end":171,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586832,"byte_end":586839,"line_start":171,"line_end":171,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586883,"byte_end":586887,"line_start":173,"line_end":173,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586874,"byte_end":586881,"line_start":173,"line_end":173,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586883,"byte_end":586887,"line_start":173,"line_end":173,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586874,"byte_end":586881,"line_start":173,"line_end":173,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586918,"byte_end":586922,"line_start":174,"line_end":174,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586909,"byte_end":586916,"line_start":174,"line_end":174,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587022,"byte_end":587028,"line_start":179,"line_end":179,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587030,"byte_end":587036,"line_start":179,"line_end":179,"column_start":42,"column_end":48},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587054,"byte_end":587058,"line_start":180,"line_end":180,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587083,"byte_end":587089,"line_start":181,"line_end":181,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587074,"byte_end":587081,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587083,"byte_end":587089,"line_start":181,"line_end":181,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587074,"byte_end":587081,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587100,"byte_end":587104,"line_start":181,"line_end":181,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587105,"byte_end":587106,"line_start":181,"line_end":181,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":3758098917}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587126,"byte_end":587130,"line_start":182,"line_end":182,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587211,"byte_end":587217,"line_start":186,"line_end":186,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587240,"byte_end":587244,"line_start":187,"line_end":187,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744358}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587269,"byte_end":587276,"line_start":188,"line_end":188,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587260,"byte_end":587267,"line_start":188,"line_end":188,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587269,"byte_end":587276,"line_start":188,"line_end":188,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587260,"byte_end":587267,"line_start":188,"line_end":188,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587287,"byte_end":587291,"line_start":188,"line_end":188,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587292,"byte_end":587293,"line_start":188,"line_end":188,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":3758098918}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587313,"byte_end":587317,"line_start":189,"line_end":189,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587398,"byte_end":587404,"line_start":193,"line_end":193,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587427,"byte_end":587431,"line_start":194,"line_end":194,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587456,"byte_end":587461,"line_start":195,"line_end":195,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587447,"byte_end":587454,"line_start":195,"line_end":195,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587456,"byte_end":587461,"line_start":195,"line_end":195,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587447,"byte_end":587454,"line_start":195,"line_end":195,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587472,"byte_end":587476,"line_start":195,"line_end":195,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587477,"byte_end":587478,"line_start":195,"line_end":195,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098919}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587498,"byte_end":587502,"line_start":196,"line_end":196,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587590,"byte_end":587596,"line_start":200,"line_end":200,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587598,"byte_end":587603,"line_start":200,"line_end":200,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587621,"byte_end":587625,"line_start":201,"line_end":201,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744360}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587650,"byte_end":587660,"line_start":202,"line_end":202,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587641,"byte_end":587648,"line_start":202,"line_end":202,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587650,"byte_end":587660,"line_start":202,"line_end":202,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587641,"byte_end":587648,"line_start":202,"line_end":202,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587671,"byte_end":587675,"line_start":202,"line_end":202,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587676,"byte_end":587677,"line_start":202,"line_end":202,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3758098920}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587697,"byte_end":587701,"line_start":203,"line_end":203,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587782,"byte_end":587788,"line_start":207,"line_end":207,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587790,"byte_end":587793,"line_start":207,"line_end":207,"column_start":39,"column_end":42},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587794,"byte_end":587801,"line_start":207,"line_end":207,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587820,"byte_end":587824,"line_start":208,"line_end":208,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744361}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587849,"byte_end":587854,"line_start":209,"line_end":209,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587840,"byte_end":587847,"line_start":209,"line_end":209,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587849,"byte_end":587854,"line_start":209,"line_end":209,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587840,"byte_end":587847,"line_start":209,"line_end":209,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587865,"byte_end":587869,"line_start":209,"line_end":209,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587870,"byte_end":587871,"line_start":209,"line_end":209,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098921}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587891,"byte_end":587895,"line_start":210,"line_end":210,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587999,"byte_end":588003,"line_start":215,"line_end":215,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744362}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588028,"byte_end":588032,"line_start":216,"line_end":216,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588019,"byte_end":588026,"line_start":216,"line_end":216,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588028,"byte_end":588032,"line_start":216,"line_end":216,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588019,"byte_end":588026,"line_start":216,"line_end":216,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588176,"byte_end":588180,"line_start":222,"line_end":222,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744363}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588205,"byte_end":588209,"line_start":223,"line_end":223,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588196,"byte_end":588203,"line_start":223,"line_end":223,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588205,"byte_end":588209,"line_start":223,"line_end":223,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588196,"byte_end":588203,"line_start":223,"line_end":223,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588355,"byte_end":588359,"line_start":229,"line_end":229,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744364}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588384,"byte_end":588389,"line_start":230,"line_end":230,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588375,"byte_end":588382,"line_start":230,"line_end":230,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588384,"byte_end":588389,"line_start":230,"line_end":230,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588375,"byte_end":588382,"line_start":230,"line_end":230,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588527,"byte_end":588531,"line_start":236,"line_end":236,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744365}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588556,"byte_end":588561,"line_start":237,"line_end":237,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588547,"byte_end":588554,"line_start":237,"line_end":237,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588556,"byte_end":588561,"line_start":237,"line_end":237,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588547,"byte_end":588554,"line_start":237,"line_end":237,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588705,"byte_end":588709,"line_start":243,"line_end":243,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744366}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588734,"byte_end":588744,"line_start":244,"line_end":244,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588725,"byte_end":588732,"line_start":244,"line_end":244,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588734,"byte_end":588744,"line_start":244,"line_end":244,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588725,"byte_end":588732,"line_start":244,"line_end":244,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588887,"byte_end":588891,"line_start":250,"line_end":250,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744367}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588916,"byte_end":588922,"line_start":251,"line_end":251,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588907,"byte_end":588914,"line_start":251,"line_end":251,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588916,"byte_end":588922,"line_start":251,"line_end":251,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588907,"byte_end":588914,"line_start":251,"line_end":251,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589070,"byte_end":589074,"line_start":257,"line_end":257,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744368}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589099,"byte_end":589106,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589090,"byte_end":589097,"line_start":258,"line_end":258,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589099,"byte_end":589106,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589090,"byte_end":589097,"line_start":258,"line_end":258,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589247,"byte_end":589251,"line_start":264,"line_end":264,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744369}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589276,"byte_end":589281,"line_start":265,"line_end":265,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589267,"byte_end":589274,"line_start":265,"line_end":265,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589276,"byte_end":589281,"line_start":265,"line_end":265,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589267,"byte_end":589274,"line_start":265,"line_end":265,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589438,"byte_end":589444,"line_start":270,"line_end":270,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589446,"byte_end":589452,"line_start":270,"line_end":270,"column_start":44,"column_end":50},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589470,"byte_end":589474,"line_start":271,"line_end":271,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744370}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589499,"byte_end":589505,"line_start":272,"line_end":272,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589490,"byte_end":589497,"line_start":272,"line_end":272,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589499,"byte_end":589505,"line_start":272,"line_end":272,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589490,"byte_end":589497,"line_start":272,"line_end":272,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589516,"byte_end":589520,"line_start":272,"line_end":272,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589521,"byte_end":589522,"line_start":272,"line_end":272,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":3758098930}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589542,"byte_end":589546,"line_start":273,"line_end":273,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589659,"byte_end":589665,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589688,"byte_end":589692,"line_start":278,"line_end":278,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744371}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589717,"byte_end":589724,"line_start":279,"line_end":279,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589708,"byte_end":589715,"line_start":279,"line_end":279,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589717,"byte_end":589724,"line_start":279,"line_end":279,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589708,"byte_end":589715,"line_start":279,"line_end":279,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589735,"byte_end":589739,"line_start":279,"line_end":279,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589740,"byte_end":589741,"line_start":279,"line_end":279,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":3758098931}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589761,"byte_end":589765,"line_start":280,"line_end":280,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589878,"byte_end":589884,"line_start":284,"line_end":284,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589907,"byte_end":589911,"line_start":285,"line_end":285,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744372}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589936,"byte_end":589941,"line_start":286,"line_end":286,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589927,"byte_end":589934,"line_start":286,"line_end":286,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589936,"byte_end":589941,"line_start":286,"line_end":286,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589927,"byte_end":589934,"line_start":286,"line_end":286,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589952,"byte_end":589956,"line_start":286,"line_end":286,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589957,"byte_end":589958,"line_start":286,"line_end":286,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098932}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589978,"byte_end":589982,"line_start":287,"line_end":287,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590107,"byte_end":590113,"line_start":291,"line_end":291,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590115,"byte_end":590120,"line_start":291,"line_end":291,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590138,"byte_end":590142,"line_start":292,"line_end":292,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744373}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590167,"byte_end":590177,"line_start":293,"line_end":293,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590158,"byte_end":590165,"line_start":293,"line_end":293,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590167,"byte_end":590177,"line_start":293,"line_end":293,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590158,"byte_end":590165,"line_start":293,"line_end":293,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590188,"byte_end":590192,"line_start":293,"line_end":293,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590193,"byte_end":590194,"line_start":293,"line_end":293,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3758098933}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590214,"byte_end":590218,"line_start":294,"line_end":294,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590333,"byte_end":590339,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590341,"byte_end":590344,"line_start":298,"line_end":298,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590345,"byte_end":590352,"line_start":298,"line_end":298,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590371,"byte_end":590375,"line_start":299,"line_end":299,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744374}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590400,"byte_end":590405,"line_start":300,"line_end":300,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590391,"byte_end":590398,"line_start":300,"line_end":300,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590400,"byte_end":590405,"line_start":300,"line_end":300,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590391,"byte_end":590398,"line_start":300,"line_end":300,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590416,"byte_end":590420,"line_start":300,"line_end":300,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590421,"byte_end":590422,"line_start":300,"line_end":300,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098934}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590442,"byte_end":590446,"line_start":301,"line_end":301,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590548,"byte_end":590554,"line_start":305,"line_end":305,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590571,"byte_end":590575,"line_start":306,"line_end":306,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744375}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590600,"byte_end":590606,"line_start":307,"line_end":307,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590591,"byte_end":590598,"line_start":307,"line_end":307,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590600,"byte_end":590606,"line_start":307,"line_end":307,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590591,"byte_end":590598,"line_start":307,"line_end":307,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590651,"byte_end":590657,"line_start":308,"line_end":308,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590665,"byte_end":590673,"line_start":308,"line_end":308,"column_start":47,"column_end":55},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590700,"byte_end":590708,"line_start":309,"line_end":309,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590693,"byte_end":590699,"line_start":309,"line_end":309,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962103}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590733,"byte_end":590739,"line_start":309,"line_end":309,"column_start":57,"column_end":63},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590711,"byte_end":590718,"line_start":309,"line_end":309,"column_start":35,"column_end":42},"ref_id":{"krate":4,"index":5422}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590709,"byte_end":590710,"line_start":309,"line_end":309,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3758098935}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590767,"byte_end":590775,"line_start":310,"line_end":310,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590760,"byte_end":590766,"line_start":310,"line_end":310,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962103}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590799,"byte_end":590805,"line_start":311,"line_end":311,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962103}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590843,"byte_end":590850,"line_start":313,"line_end":313,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590834,"byte_end":590841,"line_start":313,"line_end":313,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590843,"byte_end":590850,"line_start":313,"line_end":313,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590834,"byte_end":590841,"line_start":313,"line_end":313,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590863,"byte_end":590872,"line_start":313,"line_end":313,"column_start":43,"column_end":52},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590861,"byte_end":590862,"line_start":313,"line_end":313,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":872417783}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590898,"byte_end":590903,"line_start":314,"line_end":314,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590889,"byte_end":590896,"line_start":314,"line_end":314,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590898,"byte_end":590903,"line_start":314,"line_end":314,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590889,"byte_end":590896,"line_start":314,"line_end":314,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590916,"byte_end":590925,"line_start":314,"line_end":314,"column_start":41,"column_end":50},"ref_id":{"krate":4,"index":5743}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590914,"byte_end":590915,"line_start":314,"line_end":314,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":1811941879}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590951,"byte_end":590961,"line_start":315,"line_end":315,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590942,"byte_end":590949,"line_start":315,"line_end":315,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590951,"byte_end":590961,"line_start":315,"line_end":315,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590942,"byte_end":590949,"line_start":315,"line_end":315,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591006,"byte_end":591012,"line_start":316,"line_end":316,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591019,"byte_end":591027,"line_start":316,"line_end":316,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591103,"byte_end":591104,"line_start":318,"line_end":318,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":33556983}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591105,"byte_end":591111,"line_start":318,"line_end":318,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591137,"byte_end":591145,"line_start":319,"line_end":319,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4060088823}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591172,"byte_end":591180,"line_start":320,"line_end":320,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4060088823}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591250,"byte_end":591254,"line_start":322,"line_end":322,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591243,"byte_end":591249,"line_start":322,"line_end":322,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3523217911}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591328,"byte_end":591336,"line_start":324,"line_end":324,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591370,"byte_end":591378,"line_start":325,"line_end":325,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591360,"byte_end":591369,"line_start":325,"line_end":325,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1845496311}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591403,"byte_end":591409,"line_start":325,"line_end":325,"column_start":64,"column_end":70},"ref_id":{"krate":4,"index":5560}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591381,"byte_end":591388,"line_start":325,"line_end":325,"column_start":42,"column_end":49},"ref_id":{"krate":4,"index":5422}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591379,"byte_end":591380,"line_start":325,"line_end":325,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":704645623}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591444,"byte_end":591452,"line_start":326,"line_end":326,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591434,"byte_end":591443,"line_start":326,"line_end":326,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1845496311}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591488,"byte_end":591496,"line_start":327,"line_end":327,"column_start":28,"column_end":36},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591481,"byte_end":591487,"line_start":327,"line_end":327,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3523217911}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591507,"byte_end":591513,"line_start":327,"line_end":327,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591497,"byte_end":591506,"line_start":327,"line_end":327,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1845496311}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591545,"byte_end":591553,"line_start":328,"line_end":328,"column_start":28,"column_end":36},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591538,"byte_end":591544,"line_start":328,"line_end":328,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3523217911}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591557,"byte_end":591566,"line_start":328,"line_end":328,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":2551}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591555,"byte_end":591556,"line_start":328,"line_end":328,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2852129271}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591612,"byte_end":591620,"line_start":330,"line_end":330,"column_start":24,"column_end":32},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591605,"byte_end":591611,"line_start":330,"line_end":330,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3523217911}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591643,"byte_end":591649,"line_start":331,"line_end":331,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3523217911}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591686,"byte_end":591691,"line_start":333,"line_end":333,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591677,"byte_end":591684,"line_start":333,"line_end":333,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591686,"byte_end":591691,"line_start":333,"line_end":333,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591677,"byte_end":591684,"line_start":333,"line_end":333,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591736,"byte_end":591742,"line_start":334,"line_end":334,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591748,"byte_end":591756,"line_start":334,"line_end":334,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591826,"byte_end":591827,"line_start":336,"line_end":336,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":1560283639}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591853,"byte_end":591861,"line_start":337,"line_end":337,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2466253303}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591888,"byte_end":591896,"line_start":338,"line_end":338,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2466253303}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591966,"byte_end":591970,"line_start":340,"line_end":340,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591959,"byte_end":591965,"line_start":340,"line_end":340,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2734688759}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592026,"byte_end":592034,"line_start":342,"line_end":342,"column_start":28,"column_end":36},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592019,"byte_end":592025,"line_start":342,"line_end":342,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2734688759}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592038,"byte_end":592047,"line_start":342,"line_end":342,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":2551}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592036,"byte_end":592037,"line_start":342,"line_end":342,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":855640567}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592114,"byte_end":592122,"line_start":344,"line_end":344,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592156,"byte_end":592164,"line_start":345,"line_end":345,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592142,"byte_end":592155,"line_start":345,"line_end":345,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592172,"byte_end":592178,"line_start":345,"line_end":345,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592165,"byte_end":592171,"line_start":345,"line_end":345,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2734688759}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592213,"byte_end":592221,"line_start":346,"line_end":346,"column_start":31,"column_end":39},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592199,"byte_end":592212,"line_start":346,"line_end":346,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592244,"byte_end":592257,"line_start":347,"line_end":347,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487543}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592294,"byte_end":592298,"line_start":349,"line_end":349,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592285,"byte_end":592292,"line_start":349,"line_end":349,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592294,"byte_end":592298,"line_start":349,"line_end":349,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592285,"byte_end":592292,"line_start":349,"line_end":349,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592309,"byte_end":592317,"line_start":349,"line_end":349,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592343,"byte_end":592348,"line_start":350,"line_end":350,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592334,"byte_end":592341,"line_start":350,"line_end":350,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592343,"byte_end":592348,"line_start":350,"line_end":350,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592334,"byte_end":592341,"line_start":350,"line_end":350,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592360,"byte_end":592368,"line_start":350,"line_end":350,"column_start":40,"column_end":48},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592394,"byte_end":592398,"line_start":351,"line_end":351,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592385,"byte_end":592392,"line_start":351,"line_end":351,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592394,"byte_end":592398,"line_start":351,"line_end":351,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592385,"byte_end":592392,"line_start":351,"line_end":351,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592409,"byte_end":592417,"line_start":351,"line_end":351,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592445,"byte_end":592450,"line_start":356,"line_end":356,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592490,"byte_end":592497,"line_start":357,"line_end":357,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592578,"byte_end":592586,"line_start":359,"line_end":359,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":2537}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592573,"byte_end":592577,"line_start":359,"line_end":359,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744378}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592603,"byte_end":592607,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592603,"byte_end":592607,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592640,"byte_end":592643,"line_start":361,"line_end":361,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592638,"byte_end":592639,"line_start":361,"line_end":361,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179834}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592644,"byte_end":592646,"line_start":361,"line_end":361,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":536873466}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592670,"byte_end":592674,"line_start":362,"line_end":362,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592670,"byte_end":592674,"line_start":362,"line_end":362,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592681,"byte_end":592682,"line_start":362,"line_end":362,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":671091194}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592704,"byte_end":592708,"line_start":363,"line_end":363,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592704,"byte_end":592708,"line_start":363,"line_end":363,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592722,"byte_end":592726,"line_start":363,"line_end":363,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592713,"byte_end":592720,"line_start":363,"line_end":363,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592772,"byte_end":592776,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592772,"byte_end":592776,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592790,"byte_end":592794,"line_start":366,"line_end":366,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592781,"byte_end":592788,"line_start":366,"line_end":366,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592819,"byte_end":592824,"line_start":371,"line_end":371,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592825,"byte_end":592831,"line_start":371,"line_end":371,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592865,"byte_end":592872,"line_start":372,"line_end":372,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592905,"byte_end":592911,"line_start":373,"line_end":373,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592954,"byte_end":592966,"line_start":374,"line_end":374,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2536}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592949,"byte_end":592953,"line_start":374,"line_end":374,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744382}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592983,"byte_end":592987,"line_start":375,"line_end":375,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592983,"byte_end":592987,"line_start":375,"line_end":375,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593020,"byte_end":593023,"line_start":376,"line_end":376,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593018,"byte_end":593019,"line_start":376,"line_end":376,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179838}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593027,"byte_end":593033,"line_start":376,"line_end":376,"column_start":32,"column_end":38},"ref_id":{"krate":4,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593024,"byte_end":593026,"line_start":376,"line_end":376,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":536873470}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593059,"byte_end":593063,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593059,"byte_end":593063,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593070,"byte_end":593071,"line_start":377,"line_end":377,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":1744833022}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593093,"byte_end":593097,"line_start":378,"line_end":378,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593093,"byte_end":593097,"line_start":378,"line_end":378,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593111,"byte_end":593115,"line_start":378,"line_end":378,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593102,"byte_end":593109,"line_start":378,"line_end":378,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593161,"byte_end":593165,"line_start":381,"line_end":381,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593161,"byte_end":593165,"line_start":381,"line_end":381,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593179,"byte_end":593183,"line_start":381,"line_end":381,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593170,"byte_end":593177,"line_start":381,"line_end":381,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593212,"byte_end":593217,"line_start":386,"line_end":386,"column_start":10,"column_end":15},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593259,"byte_end":593266,"line_start":387,"line_end":387,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593346,"byte_end":593358,"line_start":389,"line_end":389,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2536}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593341,"byte_end":593345,"line_start":389,"line_end":389,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744387}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593375,"byte_end":593379,"line_start":390,"line_end":390,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593375,"byte_end":593379,"line_start":390,"line_end":390,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593412,"byte_end":593415,"line_start":391,"line_end":391,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593410,"byte_end":593411,"line_start":391,"line_end":391,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179843}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593420,"byte_end":593428,"line_start":391,"line_end":391,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593417,"byte_end":593419,"line_start":391,"line_end":391,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":536873475}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593454,"byte_end":593458,"line_start":392,"line_end":392,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593454,"byte_end":593458,"line_start":392,"line_end":392,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593465,"byte_end":593466,"line_start":392,"line_end":392,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":3892316675}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593488,"byte_end":593492,"line_start":393,"line_end":393,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593488,"byte_end":593492,"line_start":393,"line_end":393,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593506,"byte_end":593510,"line_start":393,"line_end":393,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593497,"byte_end":593504,"line_start":393,"line_end":393,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593556,"byte_end":593560,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593556,"byte_end":593560,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593574,"byte_end":593578,"line_start":396,"line_end":396,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593565,"byte_end":593572,"line_start":396,"line_end":396,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593620,"byte_end":593627,"line_start":402,"line_end":402,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593651,"byte_end":593654,"line_start":403,"line_end":403,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593683,"byte_end":593686,"line_start":404,"line_end":404,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593687,"byte_end":593693,"line_start":404,"line_end":404,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593841,"byte_end":593848,"line_start":409,"line_end":409,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593872,"byte_end":593878,"line_start":410,"line_end":410,"column_start":23,"column_end":29},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593879,"byte_end":593885,"line_start":410,"line_end":410,"column_start":30,"column_end":36},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593910,"byte_end":593913,"line_start":411,"line_end":411,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593942,"byte_end":593945,"line_start":412,"line_end":412,"column_start":23,"column_end":26},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593946,"byte_end":593952,"line_start":412,"line_end":412,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594040,"byte_end":594046,"line_start":415,"line_end":415,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594051,"byte_end":594059,"line_start":415,"line_end":415,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594104,"byte_end":594110,"line_start":417,"line_end":417,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594111,"byte_end":594117,"line_start":417,"line_end":417,"column_start":28,"column_end":34},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594138,"byte_end":594144,"line_start":418,"line_end":418,"column_start":19,"column_end":25},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594162,"byte_end":594168,"line_start":419,"line_end":419,"column_start":17,"column_end":23},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594175,"byte_end":594183,"line_start":419,"line_end":419,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594213,"byte_end":594214,"line_start":421,"line_end":421,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":1073744389}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594235,"byte_end":594240,"line_start":423,"line_end":423,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594226,"byte_end":594233,"line_start":423,"line_end":423,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594235,"byte_end":594240,"line_start":423,"line_end":423,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594226,"byte_end":594233,"line_start":423,"line_end":423,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594290,"byte_end":594296,"line_start":424,"line_end":424,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594280,"byte_end":594288,"line_start":424,"line_end":424,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594305,"byte_end":594308,"line_start":424,"line_end":424,"column_start":47,"column_end":50},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594297,"byte_end":594304,"line_start":424,"line_end":424,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536873477}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594309,"byte_end":594315,"line_start":424,"line_end":424,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":268438021}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594393,"byte_end":594400,"line_start":426,"line_end":426,"column_start":31,"column_end":38},"ref_id":{"krate":1,"index":11500}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594389,"byte_end":594392,"line_start":426,"line_end":426,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3623881221}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594401,"byte_end":594402,"line_start":426,"line_end":426,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":4227860997}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594456,"byte_end":594459,"line_start":427,"line_end":427,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1912605189}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594482,"byte_end":594486,"line_start":428,"line_end":428,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594482,"byte_end":594486,"line_start":428,"line_end":428,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594526,"byte_end":594532,"line_start":429,"line_end":429,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":268438021}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594563,"byte_end":594572,"line_start":430,"line_end":430,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594578,"byte_end":594582,"line_start":430,"line_end":430,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":2852129285}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594626,"byte_end":594631,"line_start":431,"line_end":431,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594618,"byte_end":594625,"line_start":431,"line_end":431,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536873477}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594677,"byte_end":594682,"line_start":432,"line_end":432,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594669,"byte_end":594676,"line_start":432,"line_end":432,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1610615301}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594720,"byte_end":594726,"line_start":433,"line_end":433,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":268438021}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594762,"byte_end":594768,"line_start":434,"line_end":434,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594804,"byte_end":594814,"line_start":435,"line_end":435,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":805308933}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594850,"byte_end":594856,"line_start":436,"line_end":436,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1879050757}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594892,"byte_end":594896,"line_start":437,"line_end":437,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":134220293}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594938,"byte_end":594943,"line_start":438,"line_end":438,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594932,"byte_end":594937,"line_start":438,"line_end":438,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1207962117}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594981,"byte_end":594984,"line_start":439,"line_end":439,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":671091205}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595012,"byte_end":595018,"line_start":440,"line_end":440,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":268438021}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595096,"byte_end":595100,"line_start":443,"line_end":443,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595096,"byte_end":595100,"line_start":443,"line_end":443,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595146,"byte_end":595153,"line_start":445,"line_end":445,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":2566916613}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595185,"byte_end":595192,"line_start":447,"line_end":447,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4177529349}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595221,"byte_end":595228,"line_start":449,"line_end":449,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4177529349}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595257,"byte_end":595267,"line_start":452,"line_end":452,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595248,"byte_end":595255,"line_start":452,"line_end":452,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595257,"byte_end":595267,"line_start":452,"line_end":452,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595248,"byte_end":595255,"line_start":452,"line_end":452,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595317,"byte_end":595320,"line_start":453,"line_end":453,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595309,"byte_end":595316,"line_start":453,"line_end":453,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1610615301}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595321,"byte_end":595327,"line_start":453,"line_end":453,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595357,"byte_end":595362,"line_start":454,"line_end":454,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1023412741}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595381,"byte_end":595385,"line_start":455,"line_end":455,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595381,"byte_end":595385,"line_start":455,"line_end":455,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595429,"byte_end":595435,"line_start":456,"line_end":456,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595441,"byte_end":595448,"line_start":456,"line_end":456,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595455,"byte_end":595462,"line_start":456,"line_end":456,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595452,"byte_end":595454,"line_start":456,"line_end":456,"column_start":53,"column_end":55},"ref_id":{"krate":0,"index":1962936837}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595464,"byte_end":595467,"line_start":456,"line_end":456,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":50334213}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595531,"byte_end":595534,"line_start":458,"line_end":458,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1258293765}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595561,"byte_end":595565,"line_start":459,"line_end":459,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595561,"byte_end":595565,"line_start":459,"line_end":459,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595609,"byte_end":595615,"line_start":460,"line_end":460,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595650,"byte_end":595659,"line_start":461,"line_end":461,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595665,"byte_end":595669,"line_start":461,"line_end":461,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2600471045}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595717,"byte_end":595722,"line_start":462,"line_end":462,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595709,"byte_end":595716,"line_start":462,"line_end":462,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536873477}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595772,"byte_end":595777,"line_start":463,"line_end":463,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595764,"byte_end":595771,"line_start":463,"line_end":463,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1610615301}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595819,"byte_end":595825,"line_start":464,"line_end":464,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268438021}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595865,"byte_end":595871,"line_start":465,"line_end":465,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595911,"byte_end":595921,"line_start":466,"line_end":466,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":805308933}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595961,"byte_end":595967,"line_start":467,"line_end":467,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1879050757}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596007,"byte_end":596011,"line_start":468,"line_end":468,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":134220293}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596057,"byte_end":596062,"line_start":469,"line_end":469,"column_start":45,"column_end":50},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596051,"byte_end":596056,"line_start":469,"line_end":469,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1207962117}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596104,"byte_end":596107,"line_start":470,"line_end":470,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":671091205}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596139,"byte_end":596145,"line_start":471,"line_end":471,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596235,"byte_end":596239,"line_start":474,"line_end":474,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596235,"byte_end":596239,"line_start":474,"line_end":474,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596293,"byte_end":596300,"line_start":476,"line_end":476,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3095398917}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596335,"byte_end":596339,"line_start":478,"line_end":478,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596335,"byte_end":596339,"line_start":478,"line_end":478,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596409,"byte_end":596416,"line_start":484,"line_end":484,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3028290053}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596427,"byte_end":596431,"line_start":485,"line_end":485,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":134220293}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596432,"byte_end":596433,"line_start":485,"line_end":485,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":1073744389}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596448,"byte_end":596453,"line_start":486,"line_end":486,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1207962117}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596476,"byte_end":596481,"line_start":487,"line_end":487,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596468,"byte_end":596475,"line_start":487,"line_end":487,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":536873477}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596506,"byte_end":596511,"line_start":488,"line_end":488,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596498,"byte_end":596505,"line_start":488,"line_end":488,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":1610615301}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596528,"byte_end":596534,"line_start":489,"line_end":489,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":268438021}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596549,"byte_end":596555,"line_start":490,"line_end":490,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":1342179845}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596570,"byte_end":596576,"line_start":491,"line_end":491,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":1879050757}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596590,"byte_end":596592,"line_start":493,"line_end":493,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596593,"byte_end":596600,"line_start":493,"line_end":493,"column_start":8,"column_end":15},"ref_id":{"krate":0,"index":3028290053}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596690,"byte_end":596696,"line_start":497,"line_end":497,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596701,"byte_end":596707,"line_start":497,"line_end":497,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596708,"byte_end":596711,"line_start":497,"line_end":497,"column_start":51,"column_end":54},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596712,"byte_end":596719,"line_start":497,"line_end":497,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596722,"byte_end":596730,"line_start":497,"line_end":497,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596758,"byte_end":596761,"line_start":499,"line_end":499,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":323}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596753,"byte_end":596756,"line_start":499,"line_end":499,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":315}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596771,"byte_end":596775,"line_start":499,"line_end":499,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596762,"byte_end":596769,"line_start":499,"line_end":499,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596827,"byte_end":596830,"line_start":503,"line_end":503,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596844,"byte_end":596847,"line_start":503,"line_end":503,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596839,"byte_end":596842,"line_start":503,"line_end":503,"column_start":32,"column_end":35},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596872,"byte_end":596875,"line_start":504,"line_end":504,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596876,"byte_end":596882,"line_start":504,"line_end":504,"column_start":26,"column_end":32},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596891,"byte_end":596894,"line_start":504,"line_end":504,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596886,"byte_end":596889,"line_start":504,"line_end":504,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596919,"byte_end":596922,"line_start":505,"line_end":505,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596935,"byte_end":596938,"line_start":505,"line_end":505,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596930,"byte_end":596933,"line_start":505,"line_end":505,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597037,"byte_end":597043,"line_start":508,"line_end":508,"column_start":18,"column_end":24},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597065,"byte_end":597071,"line_start":509,"line_end":509,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597077,"byte_end":597085,"line_start":509,"line_end":509,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597106,"byte_end":597112,"line_start":510,"line_end":510,"column_start":18,"column_end":24},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597118,"byte_end":597126,"line_start":510,"line_end":510,"column_start":30,"column_end":38},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597182,"byte_end":597188,"line_start":512,"line_end":512,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597194,"byte_end":597202,"line_start":512,"line_end":512,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597227,"byte_end":597233,"line_start":513,"line_end":513,"column_start":22,"column_end":28},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597239,"byte_end":597247,"line_start":513,"line_end":513,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597271,"byte_end":597277,"line_start":514,"line_end":514,"column_start":21,"column_end":27},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597283,"byte_end":597291,"line_start":514,"line_end":514,"column_start":33,"column_end":41},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597310,"byte_end":597313,"line_start":516,"line_end":516,"column_start":15,"column_end":18},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597335,"byte_end":597342,"line_start":516,"line_end":516,"column_start":40,"column_end":47},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597327,"byte_end":597332,"line_start":516,"line_end":516,"column_start":32,"column_end":37},"ref_id":{"krate":1,"index":12644}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597322,"byte_end":597326,"line_start":516,"line_end":516,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073744390}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597366,"byte_end":597369,"line_start":517,"line_end":517,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597361,"byte_end":597365,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":3238005254}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597410,"byte_end":597414,"line_start":519,"line_end":519,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1895827974}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597440,"byte_end":597444,"line_start":521,"line_end":521,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3238005254}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597445,"byte_end":597448,"line_start":521,"line_end":521,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":3355445766}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597466,"byte_end":597476,"line_start":523,"line_end":523,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597523,"byte_end":597527,"line_start":525,"line_end":525,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597516,"byte_end":597522,"line_start":525,"line_end":525,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597528,"byte_end":597529,"line_start":525,"line_end":525,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597590,"byte_end":597594,"line_start":528,"line_end":528,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597583,"byte_end":597589,"line_start":528,"line_end":528,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597595,"byte_end":597596,"line_start":528,"line_end":528,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597654,"byte_end":597658,"line_start":531,"line_end":531,"column_start":21,"column_end":25},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597650,"byte_end":597653,"line_start":531,"line_end":531,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597659,"byte_end":597660,"line_start":531,"line_end":531,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597721,"byte_end":597725,"line_start":534,"line_end":534,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597714,"byte_end":597720,"line_start":534,"line_end":534,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597726,"byte_end":597727,"line_start":534,"line_end":534,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597789,"byte_end":597793,"line_start":537,"line_end":537,"column_start":25,"column_end":29},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597781,"byte_end":597788,"line_start":537,"line_end":537,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597794,"byte_end":597795,"line_start":537,"line_end":537,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597856,"byte_end":597860,"line_start":540,"line_end":540,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597849,"byte_end":597855,"line_start":540,"line_end":540,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597861,"byte_end":597862,"line_start":540,"line_end":540,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597925,"byte_end":597926,"line_start":545,"line_end":545,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597974,"byte_end":597984,"line_start":549,"line_end":549,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598144,"byte_end":598148,"line_start":557,"line_end":557,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598138,"byte_end":598143,"line_start":557,"line_end":557,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598149,"byte_end":598150,"line_start":557,"line_end":557,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3229616646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598190,"byte_end":598191,"line_start":558,"line_end":558,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3229616646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598177,"byte_end":598187,"line_start":558,"line_end":558,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598225,"byte_end":598229,"line_start":559,"line_end":559,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598217,"byte_end":598224,"line_start":559,"line_end":559,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598280,"byte_end":598283,"line_start":561,"line_end":561,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598324,"byte_end":598328,"line_start":563,"line_end":563,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598315,"byte_end":598322,"line_start":563,"line_end":563,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598324,"byte_end":598328,"line_start":563,"line_end":563,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598315,"byte_end":598322,"line_start":563,"line_end":563,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598382,"byte_end":598387,"line_start":564,"line_end":564,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598373,"byte_end":598380,"line_start":564,"line_end":564,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598393,"byte_end":598396,"line_start":564,"line_end":564,"column_start":60,"column_end":63},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598388,"byte_end":598391,"line_start":564,"line_end":564,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598367,"byte_end":598370,"line_start":564,"line_end":564,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598565,"byte_end":598572,"line_start":571,"line_end":571,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2894072326}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598706,"byte_end":598712,"line_start":574,"line_end":574,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598718,"byte_end":598726,"line_start":574,"line_end":574,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598774,"byte_end":598781,"line_start":575,"line_end":575,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598822,"byte_end":598828,"line_start":576,"line_end":576,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598829,"byte_end":598835,"line_start":576,"line_end":576,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598877,"byte_end":598880,"line_start":577,"line_end":577,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598932,"byte_end":598935,"line_start":578,"line_end":578,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598936,"byte_end":598942,"line_start":578,"line_end":578,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599081,"byte_end":599087,"line_start":581,"line_end":581,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599092,"byte_end":599100,"line_start":581,"line_end":581,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599143,"byte_end":599144,"line_start":582,"line_end":582,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744392}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599192,"byte_end":599197,"line_start":583,"line_end":583,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599183,"byte_end":599190,"line_start":583,"line_end":583,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599192,"byte_end":599197,"line_start":583,"line_end":583,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599183,"byte_end":599190,"line_start":583,"line_end":583,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599258,"byte_end":599262,"line_start":584,"line_end":584,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599255,"byte_end":599257,"line_start":584,"line_end":584,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091208}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599272,"byte_end":599277,"line_start":584,"line_end":584,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599263,"byte_end":599270,"line_start":584,"line_end":584,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599283,"byte_end":599286,"line_start":584,"line_end":584,"column_start":69,"column_end":72},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599278,"byte_end":599281,"line_start":584,"line_end":584,"column_start":64,"column_end":67},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599375,"byte_end":599385,"line_start":586,"line_end":586,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599366,"byte_end":599373,"line_start":586,"line_end":586,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599375,"byte_end":599385,"line_start":586,"line_end":586,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599366,"byte_end":599373,"line_start":586,"line_end":586,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599487,"byte_end":599492,"line_start":587,"line_end":587,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599463,"byte_end":599469,"line_start":587,"line_end":587,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599453,"byte_end":599461,"line_start":587,"line_end":587,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599478,"byte_end":599482,"line_start":587,"line_end":587,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599470,"byte_end":599477,"line_start":587,"line_end":587,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438024}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599539,"byte_end":599545,"line_start":588,"line_end":588,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599536,"byte_end":599538,"line_start":588,"line_end":588,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2483030536}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599546,"byte_end":599549,"line_start":588,"line_end":588,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2449476104}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599560,"byte_end":599565,"line_start":588,"line_end":588,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599551,"byte_end":599558,"line_start":588,"line_end":588,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599571,"byte_end":599574,"line_start":588,"line_end":588,"column_start":76,"column_end":79},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599566,"byte_end":599569,"line_start":588,"line_end":588,"column_start":71,"column_end":74},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599729,"byte_end":599731,"line_start":592,"line_end":592,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599794,"byte_end":599803,"line_start":594,"line_end":594,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599809,"byte_end":599812,"line_start":594,"line_end":594,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599860,"byte_end":599865,"line_start":595,"line_end":595,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599852,"byte_end":599859,"line_start":595,"line_end":595,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599915,"byte_end":599920,"line_start":596,"line_end":596,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599907,"byte_end":599914,"line_start":596,"line_end":596,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599962,"byte_end":599968,"line_start":597,"line_end":597,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3162507782}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600008,"byte_end":600014,"line_start":598,"line_end":598,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2189429254}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600054,"byte_end":600064,"line_start":599,"line_end":599,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600104,"byte_end":600110,"line_start":600,"line_end":600,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600150,"byte_end":600154,"line_start":601,"line_end":601,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2568}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600194,"byte_end":600198,"line_start":602,"line_end":602,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600238,"byte_end":600241,"line_start":603,"line_end":603,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2457864710}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600349,"byte_end":600354,"line_start":607,"line_end":607,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600347,"byte_end":600348,"line_start":607,"line_end":607,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600328,"byte_end":600344,"line_start":607,"line_end":607,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600416,"byte_end":600426,"line_start":611,"line_end":611,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600554,"byte_end":600560,"line_start":617,"line_end":617,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600544,"byte_end":600552,"line_start":617,"line_end":617,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600568,"byte_end":600571,"line_start":617,"line_end":617,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600561,"byte_end":600567,"line_start":617,"line_end":617,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600624,"byte_end":600633,"line_start":618,"line_end":618,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600617,"byte_end":600621,"line_start":618,"line_end":618,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600610,"byte_end":600616,"line_start":618,"line_end":618,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600601,"byte_end":600607,"line_start":618,"line_end":618,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600664,"byte_end":600670,"line_start":619,"line_end":619,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600718,"byte_end":600721,"line_start":620,"line_end":620,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600732,"byte_end":600735,"line_start":620,"line_end":620,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600722,"byte_end":600730,"line_start":620,"line_end":620,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600904,"byte_end":600910,"line_start":625,"line_end":625,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600916,"byte_end":600924,"line_start":625,"line_end":625,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600968,"byte_end":600975,"line_start":626,"line_end":626,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601012,"byte_end":601018,"line_start":627,"line_end":627,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601019,"byte_end":601025,"line_start":627,"line_end":627,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601063,"byte_end":601066,"line_start":628,"line_end":628,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601108,"byte_end":601111,"line_start":629,"line_end":629,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601112,"byte_end":601118,"line_start":629,"line_end":629,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601245,"byte_end":601251,"line_start":632,"line_end":632,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601256,"byte_end":601264,"line_start":632,"line_end":632,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601303,"byte_end":601304,"line_start":633,"line_end":633,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744393}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601348,"byte_end":601353,"line_start":634,"line_end":634,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601339,"byte_end":601346,"line_start":634,"line_end":634,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601348,"byte_end":601353,"line_start":634,"line_end":634,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601339,"byte_end":601346,"line_start":634,"line_end":634,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601410,"byte_end":601414,"line_start":635,"line_end":635,"column_start":40,"column_end":44},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601407,"byte_end":601409,"line_start":635,"line_end":635,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091209}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601424,"byte_end":601428,"line_start":635,"line_end":635,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601415,"byte_end":601422,"line_start":635,"line_end":635,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601564,"byte_end":601566,"line_start":639,"line_end":639,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601621,"byte_end":601630,"line_start":641,"line_end":641,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601636,"byte_end":601639,"line_start":641,"line_end":641,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601683,"byte_end":601688,"line_start":642,"line_end":642,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601675,"byte_end":601682,"line_start":642,"line_end":642,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601734,"byte_end":601739,"line_start":643,"line_end":643,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601726,"byte_end":601733,"line_start":643,"line_end":643,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601777,"byte_end":601783,"line_start":644,"line_end":644,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1803553286}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601819,"byte_end":601825,"line_start":645,"line_end":645,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1535117830}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601861,"byte_end":601871,"line_start":646,"line_end":646,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601907,"byte_end":601913,"line_start":647,"line_end":647,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601949,"byte_end":601953,"line_start":648,"line_end":648,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2569}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601989,"byte_end":601993,"line_start":649,"line_end":649,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602029,"byte_end":602032,"line_start":650,"line_end":650,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1199573510}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602071,"byte_end":602077,"line_start":652,"line_end":652,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602061,"byte_end":602069,"line_start":652,"line_end":652,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602084,"byte_end":602087,"line_start":652,"line_end":652,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602078,"byte_end":602083,"line_start":652,"line_end":652,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602127,"byte_end":602133,"line_start":653,"line_end":653,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602117,"byte_end":602125,"line_start":653,"line_end":653,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602140,"byte_end":602143,"line_start":653,"line_end":653,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602134,"byte_end":602139,"line_start":653,"line_end":653,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602215,"byte_end":602223,"line_start":654,"line_end":654,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602199,"byte_end":602208,"line_start":654,"line_end":654,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602192,"byte_end":602196,"line_start":654,"line_end":654,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602186,"byte_end":602191,"line_start":654,"line_end":654,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602173,"byte_end":602183,"line_start":654,"line_end":654,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602261,"byte_end":602267,"line_start":655,"line_end":655,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602251,"byte_end":602259,"line_start":655,"line_end":655,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602276,"byte_end":602279,"line_start":655,"line_end":655,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602268,"byte_end":602275,"line_start":655,"line_end":655,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602321,"byte_end":602329,"line_start":656,"line_end":656,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602309,"byte_end":602315,"line_start":656,"line_end":656,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602420,"byte_end":602426,"line_start":661,"line_end":661,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602410,"byte_end":602418,"line_start":661,"line_end":661,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602435,"byte_end":602438,"line_start":661,"line_end":661,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602427,"byte_end":602434,"line_start":661,"line_end":661,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602493,"byte_end":602502,"line_start":662,"line_end":662,"column_start":50,"column_end":59},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602486,"byte_end":602490,"line_start":662,"line_end":662,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602478,"byte_end":602485,"line_start":662,"line_end":662,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602468,"byte_end":602475,"line_start":662,"line_end":662,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602533,"byte_end":602540,"line_start":663,"line_end":663,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602589,"byte_end":602592,"line_start":664,"line_end":664,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602603,"byte_end":602606,"line_start":664,"line_end":664,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602593,"byte_end":602601,"line_start":664,"line_end":664,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602775,"byte_end":602781,"line_start":669,"line_end":669,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602787,"byte_end":602795,"line_start":669,"line_end":669,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602839,"byte_end":602846,"line_start":670,"line_end":670,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602883,"byte_end":602889,"line_start":671,"line_end":671,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602890,"byte_end":602896,"line_start":671,"line_end":671,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602934,"byte_end":602937,"line_start":672,"line_end":672,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602979,"byte_end":602982,"line_start":673,"line_end":673,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602983,"byte_end":602989,"line_start":673,"line_end":673,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603116,"byte_end":603122,"line_start":676,"line_end":676,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603127,"byte_end":603135,"line_start":676,"line_end":676,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603174,"byte_end":603175,"line_start":677,"line_end":677,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744394}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603219,"byte_end":603224,"line_start":678,"line_end":678,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603210,"byte_end":603217,"line_start":678,"line_end":678,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603219,"byte_end":603224,"line_start":678,"line_end":678,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603210,"byte_end":603217,"line_start":678,"line_end":678,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603281,"byte_end":603285,"line_start":679,"line_end":679,"column_start":40,"column_end":44},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603278,"byte_end":603280,"line_start":679,"line_end":679,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091210}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603295,"byte_end":603300,"line_start":679,"line_end":679,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603286,"byte_end":603293,"line_start":679,"line_end":679,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603436,"byte_end":603438,"line_start":683,"line_end":683,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603493,"byte_end":603502,"line_start":685,"line_end":685,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603508,"byte_end":603511,"line_start":685,"line_end":685,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603555,"byte_end":603560,"line_start":686,"line_end":686,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603547,"byte_end":603554,"line_start":686,"line_end":686,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603606,"byte_end":603611,"line_start":687,"line_end":687,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603598,"byte_end":603605,"line_start":687,"line_end":687,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603649,"byte_end":603655,"line_start":688,"line_end":688,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":759171590}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603691,"byte_end":603697,"line_start":689,"line_end":689,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":490736134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603733,"byte_end":603743,"line_start":690,"line_end":690,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603779,"byte_end":603785,"line_start":691,"line_end":691,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603821,"byte_end":603825,"line_start":692,"line_end":692,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2570}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603861,"byte_end":603865,"line_start":693,"line_end":693,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603901,"byte_end":603904,"line_start":694,"line_end":694,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":54528518}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603943,"byte_end":603949,"line_start":696,"line_end":696,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603933,"byte_end":603941,"line_start":696,"line_end":696,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603956,"byte_end":603959,"line_start":696,"line_end":696,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603950,"byte_end":603955,"line_start":696,"line_end":696,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603999,"byte_end":604005,"line_start":697,"line_end":697,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603989,"byte_end":603997,"line_start":697,"line_end":697,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604012,"byte_end":604015,"line_start":697,"line_end":697,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604006,"byte_end":604011,"line_start":697,"line_end":697,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604087,"byte_end":604095,"line_start":698,"line_end":698,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604071,"byte_end":604080,"line_start":698,"line_end":698,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604064,"byte_end":604068,"line_start":698,"line_end":698,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604058,"byte_end":604063,"line_start":698,"line_end":698,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604045,"byte_end":604055,"line_start":698,"line_end":698,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604133,"byte_end":604139,"line_start":699,"line_end":699,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604123,"byte_end":604131,"line_start":699,"line_end":699,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604148,"byte_end":604151,"line_start":699,"line_end":699,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604140,"byte_end":604147,"line_start":699,"line_end":699,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604195,"byte_end":604203,"line_start":701,"line_end":701,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604182,"byte_end":604189,"line_start":701,"line_end":701,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604294,"byte_end":604300,"line_start":706,"line_end":706,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604284,"byte_end":604292,"line_start":706,"line_end":706,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604308,"byte_end":604311,"line_start":706,"line_end":706,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604301,"byte_end":604307,"line_start":706,"line_end":706,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604364,"byte_end":604373,"line_start":707,"line_end":707,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604357,"byte_end":604361,"line_start":707,"line_end":707,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604350,"byte_end":604356,"line_start":707,"line_end":707,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604341,"byte_end":604347,"line_start":707,"line_end":707,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604404,"byte_end":604410,"line_start":708,"line_end":708,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604458,"byte_end":604461,"line_start":709,"line_end":709,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604472,"byte_end":604475,"line_start":709,"line_end":709,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604462,"byte_end":604470,"line_start":709,"line_end":709,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604644,"byte_end":604650,"line_start":714,"line_end":714,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604656,"byte_end":604664,"line_start":714,"line_end":714,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604708,"byte_end":604715,"line_start":715,"line_end":715,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604752,"byte_end":604758,"line_start":716,"line_end":716,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604759,"byte_end":604765,"line_start":716,"line_end":716,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604803,"byte_end":604806,"line_start":717,"line_end":717,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604848,"byte_end":604851,"line_start":718,"line_end":718,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604852,"byte_end":604858,"line_start":718,"line_end":718,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604985,"byte_end":604991,"line_start":721,"line_end":721,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604996,"byte_end":605004,"line_start":721,"line_end":721,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605043,"byte_end":605044,"line_start":722,"line_end":722,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744395}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605088,"byte_end":605093,"line_start":723,"line_end":723,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605079,"byte_end":605086,"line_start":723,"line_end":723,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605088,"byte_end":605093,"line_start":723,"line_end":723,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605079,"byte_end":605086,"line_start":723,"line_end":723,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605150,"byte_end":605154,"line_start":724,"line_end":724,"column_start":40,"column_end":44},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605147,"byte_end":605149,"line_start":724,"line_end":724,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091211}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605164,"byte_end":605168,"line_start":724,"line_end":724,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605155,"byte_end":605162,"line_start":724,"line_end":724,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605304,"byte_end":605306,"line_start":728,"line_end":728,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605361,"byte_end":605370,"line_start":730,"line_end":730,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605376,"byte_end":605379,"line_start":730,"line_end":730,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605423,"byte_end":605428,"line_start":731,"line_end":731,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605415,"byte_end":605422,"line_start":731,"line_end":731,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605474,"byte_end":605479,"line_start":732,"line_end":732,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605466,"byte_end":605473,"line_start":732,"line_end":732,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605517,"byte_end":605523,"line_start":733,"line_end":733,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1237322246}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605559,"byte_end":605565,"line_start":734,"line_end":734,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1774193158}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605601,"byte_end":605611,"line_start":735,"line_end":735,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605647,"byte_end":605653,"line_start":736,"line_end":736,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605689,"byte_end":605693,"line_start":737,"line_end":737,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2571}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605729,"byte_end":605733,"line_start":738,"line_end":738,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605769,"byte_end":605772,"line_start":739,"line_end":739,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2042628614}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605812,"byte_end":605818,"line_start":742,"line_end":742,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605802,"byte_end":605810,"line_start":742,"line_end":742,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605825,"byte_end":605828,"line_start":742,"line_end":742,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605819,"byte_end":605824,"line_start":742,"line_end":742,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605868,"byte_end":605874,"line_start":743,"line_end":743,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605858,"byte_end":605866,"line_start":743,"line_end":743,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605881,"byte_end":605884,"line_start":743,"line_end":743,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605875,"byte_end":605880,"line_start":743,"line_end":743,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605956,"byte_end":605964,"line_start":744,"line_end":744,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605940,"byte_end":605949,"line_start":744,"line_end":744,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605933,"byte_end":605937,"line_start":744,"line_end":744,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605927,"byte_end":605932,"line_start":744,"line_end":744,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605914,"byte_end":605924,"line_start":744,"line_end":744,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606002,"byte_end":606008,"line_start":745,"line_end":745,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605992,"byte_end":606000,"line_start":745,"line_end":745,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606017,"byte_end":606020,"line_start":745,"line_end":745,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606009,"byte_end":606016,"line_start":745,"line_end":745,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606063,"byte_end":606071,"line_start":747,"line_end":747,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606051,"byte_end":606057,"line_start":747,"line_end":747,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606247,"byte_end":606253,"line_start":754,"line_end":754,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606259,"byte_end":606267,"line_start":754,"line_end":754,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606311,"byte_end":606318,"line_start":755,"line_end":755,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606359,"byte_end":606365,"line_start":756,"line_end":756,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606366,"byte_end":606372,"line_start":756,"line_end":756,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606410,"byte_end":606413,"line_start":757,"line_end":757,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606455,"byte_end":606458,"line_start":758,"line_end":758,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606459,"byte_end":606465,"line_start":758,"line_end":758,"column_start":40,"column_end":46},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606592,"byte_end":606598,"line_start":761,"line_end":761,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606603,"byte_end":606611,"line_start":761,"line_end":761,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606650,"byte_end":606651,"line_start":762,"line_end":762,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744396}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606695,"byte_end":606700,"line_start":763,"line_end":763,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606686,"byte_end":606693,"line_start":763,"line_end":763,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606695,"byte_end":606700,"line_start":763,"line_end":763,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606686,"byte_end":606693,"line_start":763,"line_end":763,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606783,"byte_end":606789,"line_start":765,"line_end":765,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606773,"byte_end":606781,"line_start":765,"line_end":765,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606790,"byte_end":606795,"line_start":765,"line_end":765,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873484}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606845,"byte_end":606851,"line_start":766,"line_end":766,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606835,"byte_end":606843,"line_start":766,"line_end":766,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606860,"byte_end":606863,"line_start":766,"line_end":766,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606852,"byte_end":606859,"line_start":766,"line_end":766,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":201329164}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606930,"byte_end":606939,"line_start":767,"line_end":767,"column_start":62,"column_end":71},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606923,"byte_end":606927,"line_start":767,"line_end":767,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606915,"byte_end":606922,"line_start":767,"line_end":767,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":201329164}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606905,"byte_end":606912,"line_start":767,"line_end":767,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":201329164}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606994,"byte_end":606998,"line_start":769,"line_end":769,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606986,"byte_end":606993,"line_start":769,"line_end":769,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":201329164}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607046,"byte_end":607050,"line_start":770,"line_end":770,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607046,"byte_end":607050,"line_start":770,"line_end":770,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607060,"byte_end":607064,"line_start":770,"line_end":770,"column_start":55,"column_end":59},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607057,"byte_end":607059,"line_start":770,"line_end":770,"column_start":52,"column_end":54},"ref_id":{"krate":0,"index":671091212}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607075,"byte_end":607080,"line_start":770,"line_end":770,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607066,"byte_end":607073,"line_start":770,"line_end":770,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607086,"byte_end":607094,"line_start":770,"line_end":770,"column_start":81,"column_end":89},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607104,"byte_end":607109,"line_start":770,"line_end":770,"column_start":99,"column_end":104},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607096,"byte_end":607103,"line_start":770,"line_end":770,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":201329164}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607158,"byte_end":607162,"line_start":771,"line_end":771,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607158,"byte_end":607162,"line_start":771,"line_end":771,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607172,"byte_end":607176,"line_start":771,"line_end":771,"column_start":55,"column_end":59},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607169,"byte_end":607171,"line_start":771,"line_end":771,"column_start":52,"column_end":54},"ref_id":{"krate":0,"index":671091212}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607187,"byte_end":607194,"line_start":771,"line_end":771,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607178,"byte_end":607185,"line_start":771,"line_end":771,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607200,"byte_end":607208,"line_start":771,"line_end":771,"column_start":83,"column_end":91},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607218,"byte_end":607223,"line_start":771,"line_end":771,"column_start":101,"column_end":106},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607210,"byte_end":607217,"line_start":771,"line_end":771,"column_start":93,"column_end":100},"ref_id":{"krate":0,"index":201329164}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607404,"byte_end":607406,"line_start":776,"line_end":776,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607461,"byte_end":607470,"line_start":778,"line_end":778,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607476,"byte_end":607479,"line_start":778,"line_end":778,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607523,"byte_end":607528,"line_start":779,"line_end":779,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607515,"byte_end":607522,"line_start":779,"line_end":779,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607574,"byte_end":607579,"line_start":780,"line_end":780,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607566,"byte_end":607573,"line_start":780,"line_end":780,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607617,"byte_end":607623,"line_start":781,"line_end":781,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":471861766}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607659,"byte_end":607665,"line_start":782,"line_end":782,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1008732678}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607701,"byte_end":607711,"line_start":783,"line_end":783,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607747,"byte_end":607753,"line_start":784,"line_end":784,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607789,"byte_end":607793,"line_start":785,"line_end":785,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2572}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607829,"byte_end":607833,"line_start":786,"line_end":786,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607834,"byte_end":607837,"line_start":786,"line_end":786,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607874,"byte_end":607877,"line_start":787,"line_end":787,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":572525062}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607915,"byte_end":607923,"line_start":789,"line_end":789,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607906,"byte_end":607909,"line_start":789,"line_end":789,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607962,"byte_end":607968,"line_start":791,"line_end":791,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607952,"byte_end":607960,"line_start":791,"line_end":791,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607975,"byte_end":607978,"line_start":791,"line_end":791,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607969,"byte_end":607974,"line_start":791,"line_end":791,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608018,"byte_end":608024,"line_start":792,"line_end":792,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608008,"byte_end":608016,"line_start":792,"line_end":792,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608031,"byte_end":608034,"line_start":792,"line_end":792,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608025,"byte_end":608030,"line_start":792,"line_end":792,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608106,"byte_end":608114,"line_start":793,"line_end":793,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608090,"byte_end":608099,"line_start":793,"line_end":793,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608083,"byte_end":608087,"line_start":793,"line_end":793,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608077,"byte_end":608082,"line_start":793,"line_end":793,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608064,"byte_end":608074,"line_start":793,"line_end":793,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608152,"byte_end":608158,"line_start":794,"line_end":794,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608142,"byte_end":608150,"line_start":794,"line_end":794,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608167,"byte_end":608170,"line_start":794,"line_end":794,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608159,"byte_end":608166,"line_start":794,"line_end":794,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608258,"byte_end":608274,"line_start":801,"line_end":801,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608416,"byte_end":608422,"line_start":805,"line_end":805,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608428,"byte_end":608436,"line_start":805,"line_end":805,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608484,"byte_end":608491,"line_start":806,"line_end":806,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608532,"byte_end":608538,"line_start":807,"line_end":807,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608539,"byte_end":608545,"line_start":807,"line_end":807,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608587,"byte_end":608590,"line_start":808,"line_end":808,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608636,"byte_end":608639,"line_start":809,"line_end":809,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608640,"byte_end":608646,"line_start":809,"line_end":809,"column_start":44,"column_end":50},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608785,"byte_end":608791,"line_start":812,"line_end":812,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608796,"byte_end":608804,"line_start":812,"line_end":812,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608847,"byte_end":608848,"line_start":813,"line_end":813,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744397}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608896,"byte_end":608901,"line_start":814,"line_end":814,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608887,"byte_end":608894,"line_start":814,"line_end":814,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608896,"byte_end":608901,"line_start":814,"line_end":814,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608887,"byte_end":608894,"line_start":814,"line_end":814,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608962,"byte_end":608966,"line_start":815,"line_end":815,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608959,"byte_end":608961,"line_start":815,"line_end":815,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091213}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608976,"byte_end":608980,"line_start":815,"line_end":815,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608967,"byte_end":608974,"line_start":815,"line_end":815,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609132,"byte_end":609134,"line_start":819,"line_end":819,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609197,"byte_end":609206,"line_start":821,"line_end":821,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609212,"byte_end":609215,"line_start":821,"line_end":821,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609263,"byte_end":609268,"line_start":822,"line_end":822,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609255,"byte_end":609262,"line_start":822,"line_end":822,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609318,"byte_end":609323,"line_start":823,"line_end":823,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609310,"byte_end":609317,"line_start":823,"line_end":823,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609365,"byte_end":609371,"line_start":824,"line_end":824,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1730152966}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609411,"byte_end":609417,"line_start":825,"line_end":825,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1461717510}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609457,"byte_end":609467,"line_start":826,"line_end":826,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609507,"byte_end":609513,"line_start":827,"line_end":827,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609553,"byte_end":609557,"line_start":828,"line_end":828,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2573}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609597,"byte_end":609601,"line_start":829,"line_end":829,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609641,"byte_end":609644,"line_start":830,"line_end":830,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1327499782}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609710,"byte_end":609716,"line_start":834,"line_end":834,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609700,"byte_end":609708,"line_start":834,"line_end":834,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609723,"byte_end":609726,"line_start":834,"line_end":834,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609717,"byte_end":609722,"line_start":834,"line_end":834,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609798,"byte_end":609806,"line_start":835,"line_end":835,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609782,"byte_end":609791,"line_start":835,"line_end":835,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609775,"byte_end":609779,"line_start":835,"line_end":835,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609769,"byte_end":609774,"line_start":835,"line_end":835,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609756,"byte_end":609766,"line_start":835,"line_end":835,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609844,"byte_end":609850,"line_start":836,"line_end":836,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609834,"byte_end":609842,"line_start":836,"line_end":836,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609859,"byte_end":609862,"line_start":836,"line_end":836,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609851,"byte_end":609858,"line_start":836,"line_end":836,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609923,"byte_end":609926,"line_start":839,"line_end":839,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609937,"byte_end":609940,"line_start":839,"line_end":839,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609927,"byte_end":609935,"line_start":839,"line_end":839,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610045,"byte_end":610050,"line_start":842,"line_end":842,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610043,"byte_end":610044,"line_start":842,"line_end":842,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610024,"byte_end":610040,"line_start":842,"line_end":842,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610114,"byte_end":610124,"line_start":848,"line_end":848,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610286,"byte_end":610290,"line_start":856,"line_end":856,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610280,"byte_end":610285,"line_start":856,"line_end":856,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610291,"byte_end":610292,"line_start":856,"line_end":856,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1772096006}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610332,"byte_end":610333,"line_start":857,"line_end":857,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":1772096006}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610319,"byte_end":610329,"line_start":857,"line_end":857,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610455,"byte_end":610461,"line_start":861,"line_end":861,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610467,"byte_end":610475,"line_start":861,"line_end":861,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610520,"byte_end":610527,"line_start":863,"line_end":863,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610564,"byte_end":610570,"line_start":864,"line_end":864,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610571,"byte_end":610577,"line_start":864,"line_end":864,"column_start":43,"column_end":49},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610615,"byte_end":610618,"line_start":865,"line_end":865,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610666,"byte_end":610669,"line_start":866,"line_end":866,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610670,"byte_end":610676,"line_start":866,"line_end":866,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610803,"byte_end":610809,"line_start":869,"line_end":869,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610814,"byte_end":610822,"line_start":869,"line_end":869,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610861,"byte_end":610862,"line_start":870,"line_end":870,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744398}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610906,"byte_end":610911,"line_start":871,"line_end":871,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610897,"byte_end":610904,"line_start":871,"line_end":871,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610906,"byte_end":610911,"line_start":871,"line_end":871,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610897,"byte_end":610904,"line_start":871,"line_end":871,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610968,"byte_end":610972,"line_start":872,"line_end":872,"column_start":40,"column_end":44},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610965,"byte_end":610967,"line_start":872,"line_end":872,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091214}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610982,"byte_end":610992,"line_start":872,"line_end":872,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610973,"byte_end":610980,"line_start":872,"line_end":872,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611000,"byte_end":611003,"line_start":872,"line_end":872,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610993,"byte_end":610998,"line_start":872,"line_end":872,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611084,"byte_end":611094,"line_start":874,"line_end":874,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611075,"byte_end":611082,"line_start":874,"line_end":874,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611084,"byte_end":611094,"line_start":874,"line_end":874,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611075,"byte_end":611082,"line_start":874,"line_end":874,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611192,"byte_end":611197,"line_start":875,"line_end":875,"column_start":81,"column_end":86},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611168,"byte_end":611174,"line_start":875,"line_end":875,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611158,"byte_end":611166,"line_start":875,"line_end":875,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611183,"byte_end":611187,"line_start":875,"line_end":875,"column_start":72,"column_end":76},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611175,"byte_end":611182,"line_start":875,"line_end":875,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":268438030}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611240,"byte_end":611246,"line_start":876,"line_end":876,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611237,"byte_end":611239,"line_start":876,"line_end":876,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":2483030542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611247,"byte_end":611250,"line_start":876,"line_end":876,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2449476110}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611261,"byte_end":611271,"line_start":876,"line_end":876,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611252,"byte_end":611259,"line_start":876,"line_end":876,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611279,"byte_end":611282,"line_start":876,"line_end":876,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611272,"byte_end":611277,"line_start":876,"line_end":876,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611421,"byte_end":611423,"line_start":880,"line_end":880,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611479,"byte_end":611488,"line_start":883,"line_end":883,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611494,"byte_end":611497,"line_start":883,"line_end":883,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611541,"byte_end":611546,"line_start":884,"line_end":884,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611533,"byte_end":611540,"line_start":884,"line_end":884,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611592,"byte_end":611597,"line_start":885,"line_end":885,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611584,"byte_end":611591,"line_start":885,"line_end":885,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611635,"byte_end":611641,"line_start":886,"line_end":886,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3852470790}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611677,"byte_end":611683,"line_start":887,"line_end":887,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3584035334}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611719,"byte_end":611729,"line_start":888,"line_end":888,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611765,"byte_end":611771,"line_start":889,"line_end":889,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611807,"byte_end":611811,"line_start":890,"line_end":890,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2574}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611847,"byte_end":611851,"line_start":891,"line_end":891,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611887,"byte_end":611890,"line_start":892,"line_end":892,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3449817606}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612012,"byte_end":612016,"line_start":898,"line_end":898,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612006,"byte_end":612011,"line_start":898,"line_end":898,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612017,"byte_end":612018,"line_start":898,"line_end":898,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2543847942}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612058,"byte_end":612059,"line_start":899,"line_end":899,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2543847942}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612045,"byte_end":612055,"line_start":899,"line_end":899,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612108,"byte_end":612111,"line_start":902,"line_end":902,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612151,"byte_end":612155,"line_start":903,"line_end":903,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612142,"byte_end":612149,"line_start":903,"line_end":903,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612151,"byte_end":612155,"line_start":903,"line_end":903,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612142,"byte_end":612149,"line_start":903,"line_end":903,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612209,"byte_end":612219,"line_start":904,"line_end":904,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612200,"byte_end":612207,"line_start":904,"line_end":904,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612227,"byte_end":612230,"line_start":904,"line_end":904,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612220,"byte_end":612225,"line_start":904,"line_end":904,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":3722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612194,"byte_end":612197,"line_start":904,"line_end":904,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612398,"byte_end":612405,"line_start":910,"line_end":910,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2824866310}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612539,"byte_end":612545,"line_start":913,"line_end":913,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612551,"byte_end":612559,"line_start":913,"line_end":913,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612607,"byte_end":612614,"line_start":914,"line_end":914,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612655,"byte_end":612661,"line_start":915,"line_end":915,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612662,"byte_end":612668,"line_start":915,"line_end":915,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612710,"byte_end":612713,"line_start":916,"line_end":916,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612765,"byte_end":612768,"line_start":917,"line_end":917,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612769,"byte_end":612775,"line_start":917,"line_end":917,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612914,"byte_end":612920,"line_start":920,"line_end":920,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612925,"byte_end":612933,"line_start":920,"line_end":920,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612976,"byte_end":612977,"line_start":921,"line_end":921,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744399}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613025,"byte_end":613030,"line_start":922,"line_end":922,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613016,"byte_end":613023,"line_start":922,"line_end":922,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613025,"byte_end":613030,"line_start":922,"line_end":922,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613016,"byte_end":613023,"line_start":922,"line_end":922,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613091,"byte_end":613095,"line_start":923,"line_end":923,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613088,"byte_end":613090,"line_start":923,"line_end":923,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091215}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613105,"byte_end":613115,"line_start":923,"line_end":923,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613096,"byte_end":613103,"line_start":923,"line_end":923,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613123,"byte_end":613126,"line_start":923,"line_end":923,"column_start":76,"column_end":79},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613116,"byte_end":613121,"line_start":923,"line_end":923,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613215,"byte_end":613225,"line_start":925,"line_end":925,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613206,"byte_end":613213,"line_start":925,"line_end":925,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613215,"byte_end":613225,"line_start":925,"line_end":925,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613206,"byte_end":613213,"line_start":925,"line_end":925,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613327,"byte_end":613332,"line_start":926,"line_end":926,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613303,"byte_end":613309,"line_start":926,"line_end":926,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613293,"byte_end":613301,"line_start":926,"line_end":926,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613318,"byte_end":613322,"line_start":926,"line_end":926,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613310,"byte_end":613317,"line_start":926,"line_end":926,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438031}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613379,"byte_end":613385,"line_start":927,"line_end":927,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613376,"byte_end":613378,"line_start":927,"line_end":927,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2483030543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613386,"byte_end":613389,"line_start":927,"line_end":927,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2449476111}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613400,"byte_end":613410,"line_start":927,"line_end":927,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613391,"byte_end":613398,"line_start":927,"line_end":927,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613418,"byte_end":613421,"line_start":927,"line_end":927,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":2526}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613411,"byte_end":613416,"line_start":927,"line_end":927,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":3722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613576,"byte_end":613578,"line_start":931,"line_end":931,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613641,"byte_end":613650,"line_start":933,"line_end":933,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613656,"byte_end":613659,"line_start":933,"line_end":933,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613707,"byte_end":613712,"line_start":934,"line_end":934,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613699,"byte_end":613706,"line_start":934,"line_end":934,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613762,"byte_end":613767,"line_start":935,"line_end":935,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613754,"byte_end":613761,"line_start":935,"line_end":935,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613809,"byte_end":613815,"line_start":936,"line_end":936,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3093301766}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613855,"byte_end":613861,"line_start":937,"line_end":937,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2220886534}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613901,"byte_end":613911,"line_start":938,"line_end":938,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613951,"byte_end":613957,"line_start":939,"line_end":939,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613997,"byte_end":614001,"line_start":940,"line_end":940,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2575}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614041,"byte_end":614045,"line_start":941,"line_end":941,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614085,"byte_end":614088,"line_start":942,"line_end":942,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2489321990}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614196,"byte_end":614201,"line_start":947,"line_end":947,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614194,"byte_end":614195,"line_start":947,"line_end":947,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614175,"byte_end":614191,"line_start":947,"line_end":947,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614264,"byte_end":614274,"line_start":952,"line_end":952,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614403,"byte_end":614409,"line_start":959,"line_end":959,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614393,"byte_end":614401,"line_start":959,"line_end":959,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614417,"byte_end":614420,"line_start":959,"line_end":959,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614410,"byte_end":614416,"line_start":959,"line_end":959,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614473,"byte_end":614482,"line_start":960,"line_end":960,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614466,"byte_end":614470,"line_start":960,"line_end":960,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614459,"byte_end":614465,"line_start":960,"line_end":960,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614450,"byte_end":614456,"line_start":960,"line_end":960,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614513,"byte_end":614519,"line_start":961,"line_end":961,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614567,"byte_end":614570,"line_start":962,"line_end":962,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614581,"byte_end":614584,"line_start":962,"line_end":962,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614571,"byte_end":614579,"line_start":962,"line_end":962,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614668,"byte_end":614674,"line_start":965,"line_end":965,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614658,"byte_end":614666,"line_start":965,"line_end":965,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614681,"byte_end":614684,"line_start":965,"line_end":965,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614675,"byte_end":614680,"line_start":965,"line_end":965,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614756,"byte_end":614764,"line_start":966,"line_end":966,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614740,"byte_end":614749,"line_start":966,"line_end":966,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614733,"byte_end":614737,"line_start":966,"line_end":966,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614727,"byte_end":614732,"line_start":966,"line_end":966,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614714,"byte_end":614724,"line_start":966,"line_end":966,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614796,"byte_end":614806,"line_start":968,"line_end":968,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614854,"byte_end":614860,"line_start":969,"line_end":969,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614844,"byte_end":614852,"line_start":969,"line_end":969,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614867,"byte_end":614870,"line_start":969,"line_end":969,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614861,"byte_end":614866,"line_start":969,"line_end":969,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615007,"byte_end":615013,"line_start":972,"line_end":972,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615019,"byte_end":615027,"line_start":972,"line_end":972,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615075,"byte_end":615082,"line_start":973,"line_end":973,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615123,"byte_end":615129,"line_start":974,"line_end":974,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615130,"byte_end":615136,"line_start":974,"line_end":974,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615178,"byte_end":615181,"line_start":975,"line_end":975,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615233,"byte_end":615236,"line_start":976,"line_end":976,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615237,"byte_end":615243,"line_start":976,"line_end":976,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615382,"byte_end":615388,"line_start":979,"line_end":979,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615393,"byte_end":615401,"line_start":979,"line_end":979,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615445,"byte_end":615446,"line_start":981,"line_end":981,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744400}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615494,"byte_end":615504,"line_start":982,"line_end":982,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615485,"byte_end":615492,"line_start":982,"line_end":982,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615494,"byte_end":615504,"line_start":982,"line_end":982,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615485,"byte_end":615492,"line_start":982,"line_end":982,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615606,"byte_end":615611,"line_start":983,"line_end":983,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615582,"byte_end":615588,"line_start":983,"line_end":983,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615572,"byte_end":615580,"line_start":983,"line_end":983,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615597,"byte_end":615601,"line_start":983,"line_end":983,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615589,"byte_end":615596,"line_start":983,"line_end":983,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438032}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615658,"byte_end":615664,"line_start":984,"line_end":984,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615655,"byte_end":615657,"line_start":984,"line_end":984,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091216}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615665,"byte_end":615668,"line_start":984,"line_end":984,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200080}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615679,"byte_end":615683,"line_start":984,"line_end":984,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615670,"byte_end":615677,"line_start":984,"line_end":984,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615835,"byte_end":615837,"line_start":988,"line_end":988,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615900,"byte_end":615909,"line_start":990,"line_end":990,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615915,"byte_end":615918,"line_start":990,"line_end":990,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615966,"byte_end":615971,"line_start":991,"line_end":991,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615958,"byte_end":615965,"line_start":991,"line_end":991,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616021,"byte_end":616026,"line_start":992,"line_end":992,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616013,"byte_end":616020,"line_start":992,"line_end":992,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616068,"byte_end":616074,"line_start":993,"line_end":993,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3210742278}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616114,"byte_end":616120,"line_start":994,"line_end":994,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2162166278}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616160,"byte_end":616170,"line_start":995,"line_end":995,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616210,"byte_end":616216,"line_start":996,"line_end":996,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616256,"byte_end":616260,"line_start":997,"line_end":997,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2576}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616300,"byte_end":616304,"line_start":998,"line_end":998,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616344,"byte_end":616347,"line_start":999,"line_end":999,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2430601734}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616414,"byte_end":616422,"line_start":1002,"line_end":1002,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616402,"byte_end":616408,"line_start":1002,"line_end":1002,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616460,"byte_end":616466,"line_start":1003,"line_end":1003,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616450,"byte_end":616458,"line_start":1003,"line_end":1003,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616475,"byte_end":616478,"line_start":1003,"line_end":1003,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616467,"byte_end":616474,"line_start":1003,"line_end":1003,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616518,"byte_end":616524,"line_start":1004,"line_end":1004,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616508,"byte_end":616516,"line_start":1004,"line_end":1004,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616531,"byte_end":616534,"line_start":1004,"line_end":1004,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616525,"byte_end":616530,"line_start":1004,"line_end":1004,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616606,"byte_end":616614,"line_start":1005,"line_end":1005,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616590,"byte_end":616599,"line_start":1005,"line_end":1005,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616583,"byte_end":616587,"line_start":1005,"line_end":1005,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616577,"byte_end":616582,"line_start":1005,"line_end":1005,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616564,"byte_end":616574,"line_start":1005,"line_end":1005,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616705,"byte_end":616711,"line_start":1010,"line_end":1010,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616695,"byte_end":616703,"line_start":1010,"line_end":1010,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616720,"byte_end":616723,"line_start":1010,"line_end":1010,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616712,"byte_end":616719,"line_start":1010,"line_end":1010,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616778,"byte_end":616787,"line_start":1011,"line_end":1011,"column_start":50,"column_end":59},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616771,"byte_end":616775,"line_start":1011,"line_end":1011,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616763,"byte_end":616770,"line_start":1011,"line_end":1011,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616753,"byte_end":616760,"line_start":1011,"line_end":1011,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616818,"byte_end":616825,"line_start":1012,"line_end":1012,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616874,"byte_end":616877,"line_start":1013,"line_end":1013,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616888,"byte_end":616891,"line_start":1013,"line_end":1013,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616878,"byte_end":616886,"line_start":1013,"line_end":1013,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616975,"byte_end":616981,"line_start":1016,"line_end":1016,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616965,"byte_end":616973,"line_start":1016,"line_end":1016,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616988,"byte_end":616991,"line_start":1016,"line_end":1016,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616982,"byte_end":616987,"line_start":1016,"line_end":1016,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617063,"byte_end":617071,"line_start":1017,"line_end":1017,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617047,"byte_end":617056,"line_start":1017,"line_end":1017,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617040,"byte_end":617044,"line_start":1017,"line_end":1017,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617034,"byte_end":617039,"line_start":1017,"line_end":1017,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617021,"byte_end":617031,"line_start":1017,"line_end":1017,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617103,"byte_end":617113,"line_start":1019,"line_end":1019,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617161,"byte_end":617167,"line_start":1020,"line_end":1020,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617151,"byte_end":617159,"line_start":1020,"line_end":1020,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617174,"byte_end":617177,"line_start":1020,"line_end":1020,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617168,"byte_end":617173,"line_start":1020,"line_end":1020,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617314,"byte_end":617320,"line_start":1023,"line_end":1023,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617326,"byte_end":617334,"line_start":1023,"line_end":1023,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617382,"byte_end":617389,"line_start":1024,"line_end":1024,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617430,"byte_end":617436,"line_start":1025,"line_end":1025,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617437,"byte_end":617443,"line_start":1025,"line_end":1025,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617485,"byte_end":617488,"line_start":1026,"line_end":1026,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617540,"byte_end":617543,"line_start":1027,"line_end":1027,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617544,"byte_end":617550,"line_start":1027,"line_end":1027,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617689,"byte_end":617695,"line_start":1030,"line_end":1030,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617700,"byte_end":617708,"line_start":1030,"line_end":1030,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617752,"byte_end":617753,"line_start":1032,"line_end":1032,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744401}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617801,"byte_end":617811,"line_start":1033,"line_end":1033,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617792,"byte_end":617799,"line_start":1033,"line_end":1033,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617801,"byte_end":617811,"line_start":1033,"line_end":1033,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617792,"byte_end":617799,"line_start":1033,"line_end":1033,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617913,"byte_end":617918,"line_start":1034,"line_end":1034,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617889,"byte_end":617895,"line_start":1034,"line_end":1034,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617879,"byte_end":617887,"line_start":1034,"line_end":1034,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617904,"byte_end":617908,"line_start":1034,"line_end":1034,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617896,"byte_end":617903,"line_start":1034,"line_end":1034,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438033}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617965,"byte_end":617971,"line_start":1035,"line_end":1035,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617962,"byte_end":617964,"line_start":1035,"line_end":1035,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091217}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617972,"byte_end":617975,"line_start":1035,"line_end":1035,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200081}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617986,"byte_end":617991,"line_start":1035,"line_end":1035,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617977,"byte_end":617984,"line_start":1035,"line_end":1035,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618143,"byte_end":618145,"line_start":1039,"line_end":1039,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618208,"byte_end":618217,"line_start":1041,"line_end":1041,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618223,"byte_end":618226,"line_start":1041,"line_end":1041,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618274,"byte_end":618279,"line_start":1042,"line_end":1042,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618266,"byte_end":618273,"line_start":1042,"line_end":1042,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618329,"byte_end":618334,"line_start":1043,"line_end":1043,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618321,"byte_end":618328,"line_start":1043,"line_end":1043,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618376,"byte_end":618382,"line_start":1044,"line_end":1044,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":806357510}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618422,"byte_end":618428,"line_start":1045,"line_end":1045,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":135268870}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618468,"byte_end":618478,"line_start":1046,"line_end":1046,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618518,"byte_end":618524,"line_start":1047,"line_end":1047,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618564,"byte_end":618568,"line_start":1048,"line_end":1048,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2577}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618608,"byte_end":618612,"line_start":1049,"line_end":1049,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618652,"byte_end":618655,"line_start":1050,"line_end":1050,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":403704326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618724,"byte_end":618732,"line_start":1054,"line_end":1054,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618711,"byte_end":618718,"line_start":1054,"line_end":1054,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618770,"byte_end":618776,"line_start":1055,"line_end":1055,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618760,"byte_end":618768,"line_start":1055,"line_end":1055,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618785,"byte_end":618788,"line_start":1055,"line_end":1055,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618777,"byte_end":618784,"line_start":1055,"line_end":1055,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618828,"byte_end":618834,"line_start":1056,"line_end":1056,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618818,"byte_end":618826,"line_start":1056,"line_end":1056,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618841,"byte_end":618844,"line_start":1056,"line_end":1056,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618835,"byte_end":618840,"line_start":1056,"line_end":1056,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618916,"byte_end":618924,"line_start":1057,"line_end":1057,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618900,"byte_end":618909,"line_start":1057,"line_end":1057,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618893,"byte_end":618897,"line_start":1057,"line_end":1057,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618887,"byte_end":618892,"line_start":1057,"line_end":1057,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618874,"byte_end":618884,"line_start":1057,"line_end":1057,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619015,"byte_end":619021,"line_start":1062,"line_end":1062,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619005,"byte_end":619013,"line_start":1062,"line_end":1062,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619029,"byte_end":619032,"line_start":1062,"line_end":1062,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619022,"byte_end":619028,"line_start":1062,"line_end":1062,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619085,"byte_end":619094,"line_start":1063,"line_end":1063,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619078,"byte_end":619082,"line_start":1063,"line_end":1063,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619071,"byte_end":619077,"line_start":1063,"line_end":1063,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619062,"byte_end":619068,"line_start":1063,"line_end":1063,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619125,"byte_end":619131,"line_start":1064,"line_end":1064,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619179,"byte_end":619182,"line_start":1065,"line_end":1065,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619193,"byte_end":619196,"line_start":1065,"line_end":1065,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619183,"byte_end":619191,"line_start":1065,"line_end":1065,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619280,"byte_end":619286,"line_start":1068,"line_end":1068,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619270,"byte_end":619278,"line_start":1068,"line_end":1068,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619293,"byte_end":619296,"line_start":1068,"line_end":1068,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619287,"byte_end":619292,"line_start":1068,"line_end":1068,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619368,"byte_end":619376,"line_start":1069,"line_end":1069,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619352,"byte_end":619361,"line_start":1069,"line_end":1069,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619345,"byte_end":619349,"line_start":1069,"line_end":1069,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619339,"byte_end":619344,"line_start":1069,"line_end":1069,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619326,"byte_end":619336,"line_start":1069,"line_end":1069,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619409,"byte_end":619419,"line_start":1072,"line_end":1072,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619467,"byte_end":619473,"line_start":1073,"line_end":1073,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619457,"byte_end":619465,"line_start":1073,"line_end":1073,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619480,"byte_end":619483,"line_start":1073,"line_end":1073,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619474,"byte_end":619479,"line_start":1073,"line_end":1073,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619620,"byte_end":619626,"line_start":1076,"line_end":1076,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619632,"byte_end":619640,"line_start":1076,"line_end":1076,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619688,"byte_end":619695,"line_start":1077,"line_end":1077,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619736,"byte_end":619742,"line_start":1078,"line_end":1078,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619743,"byte_end":619749,"line_start":1078,"line_end":1078,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619791,"byte_end":619794,"line_start":1079,"line_end":1079,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619846,"byte_end":619849,"line_start":1080,"line_end":1080,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619850,"byte_end":619856,"line_start":1080,"line_end":1080,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619995,"byte_end":620001,"line_start":1083,"line_end":1083,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620006,"byte_end":620014,"line_start":1083,"line_end":1083,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620058,"byte_end":620059,"line_start":1085,"line_end":1085,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744402}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620107,"byte_end":620117,"line_start":1086,"line_end":1086,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620098,"byte_end":620105,"line_start":1086,"line_end":1086,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620107,"byte_end":620117,"line_start":1086,"line_end":1086,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620098,"byte_end":620105,"line_start":1086,"line_end":1086,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620219,"byte_end":620224,"line_start":1087,"line_end":1087,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620195,"byte_end":620201,"line_start":1087,"line_end":1087,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620185,"byte_end":620193,"line_start":1087,"line_end":1087,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620210,"byte_end":620214,"line_start":1087,"line_end":1087,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620202,"byte_end":620209,"line_start":1087,"line_end":1087,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438034}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620271,"byte_end":620277,"line_start":1088,"line_end":1088,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620268,"byte_end":620270,"line_start":1088,"line_end":1088,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091218}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620278,"byte_end":620281,"line_start":1088,"line_end":1088,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620292,"byte_end":620296,"line_start":1088,"line_end":1088,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620283,"byte_end":620290,"line_start":1088,"line_end":1088,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620448,"byte_end":620450,"line_start":1092,"line_end":1092,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620513,"byte_end":620522,"line_start":1094,"line_end":1094,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620528,"byte_end":620531,"line_start":1094,"line_end":1094,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620579,"byte_end":620584,"line_start":1095,"line_end":1095,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620571,"byte_end":620578,"line_start":1095,"line_end":1095,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620634,"byte_end":620639,"line_start":1096,"line_end":1096,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620626,"byte_end":620633,"line_start":1096,"line_end":1096,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620681,"byte_end":620687,"line_start":1097,"line_end":1097,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3633318406}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620727,"byte_end":620733,"line_start":1098,"line_end":1098,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4170189318}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620773,"byte_end":620783,"line_start":1099,"line_end":1099,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620823,"byte_end":620829,"line_start":1100,"line_end":1100,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620869,"byte_end":620873,"line_start":1101,"line_end":1101,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2578}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620913,"byte_end":620917,"line_start":1102,"line_end":1102,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620957,"byte_end":620960,"line_start":1103,"line_end":1103,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3834644998}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621027,"byte_end":621035,"line_start":1106,"line_end":1106,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621015,"byte_end":621021,"line_start":1106,"line_end":1106,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621073,"byte_end":621079,"line_start":1107,"line_end":1107,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621063,"byte_end":621071,"line_start":1107,"line_end":1107,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621088,"byte_end":621091,"line_start":1107,"line_end":1107,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621080,"byte_end":621087,"line_start":1107,"line_end":1107,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621131,"byte_end":621137,"line_start":1108,"line_end":1108,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621121,"byte_end":621129,"line_start":1108,"line_end":1108,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621144,"byte_end":621147,"line_start":1108,"line_end":1108,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621138,"byte_end":621143,"line_start":1108,"line_end":1108,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621219,"byte_end":621227,"line_start":1109,"line_end":1109,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621203,"byte_end":621212,"line_start":1109,"line_end":1109,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621196,"byte_end":621200,"line_start":1109,"line_end":1109,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621190,"byte_end":621195,"line_start":1109,"line_end":1109,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621177,"byte_end":621187,"line_start":1109,"line_end":1109,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621318,"byte_end":621324,"line_start":1114,"line_end":1114,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621308,"byte_end":621316,"line_start":1114,"line_end":1114,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621331,"byte_end":621334,"line_start":1114,"line_end":1114,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621325,"byte_end":621330,"line_start":1114,"line_end":1114,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621406,"byte_end":621414,"line_start":1115,"line_end":1115,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621390,"byte_end":621399,"line_start":1115,"line_end":1115,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621383,"byte_end":621387,"line_start":1115,"line_end":1115,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621377,"byte_end":621382,"line_start":1115,"line_end":1115,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621364,"byte_end":621374,"line_start":1115,"line_end":1115,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621446,"byte_end":621456,"line_start":1117,"line_end":1117,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621504,"byte_end":621510,"line_start":1118,"line_end":1118,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621494,"byte_end":621502,"line_start":1118,"line_end":1118,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621517,"byte_end":621520,"line_start":1118,"line_end":1118,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621511,"byte_end":621516,"line_start":1118,"line_end":1118,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621657,"byte_end":621663,"line_start":1121,"line_end":1121,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621669,"byte_end":621677,"line_start":1121,"line_end":1121,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621725,"byte_end":621732,"line_start":1122,"line_end":1122,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621777,"byte_end":621783,"line_start":1123,"line_end":1123,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621784,"byte_end":621790,"line_start":1123,"line_end":1123,"column_start":51,"column_end":57},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621832,"byte_end":621835,"line_start":1124,"line_end":1124,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621887,"byte_end":621890,"line_start":1125,"line_end":1125,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621891,"byte_end":621897,"line_start":1125,"line_end":1125,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622036,"byte_end":622042,"line_start":1128,"line_end":1128,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622047,"byte_end":622055,"line_start":1128,"line_end":1128,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622099,"byte_end":622100,"line_start":1130,"line_end":1130,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744403}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622148,"byte_end":622158,"line_start":1131,"line_end":1131,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622139,"byte_end":622146,"line_start":1131,"line_end":1131,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622148,"byte_end":622158,"line_start":1131,"line_end":1131,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622139,"byte_end":622146,"line_start":1131,"line_end":1131,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622260,"byte_end":622265,"line_start":1132,"line_end":1132,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622236,"byte_end":622242,"line_start":1132,"line_end":1132,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622226,"byte_end":622234,"line_start":1132,"line_end":1132,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622251,"byte_end":622255,"line_start":1132,"line_end":1132,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622243,"byte_end":622250,"line_start":1132,"line_end":1132,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438035}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622335,"byte_end":622341,"line_start":1133,"line_end":1133,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622325,"byte_end":622333,"line_start":1133,"line_end":1133,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622342,"byte_end":622347,"line_start":1133,"line_end":1133,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":536873491}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622401,"byte_end":622407,"line_start":1134,"line_end":1134,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622391,"byte_end":622399,"line_start":1134,"line_end":1134,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622414,"byte_end":622417,"line_start":1134,"line_end":1134,"column_start":64,"column_end":67},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622408,"byte_end":622413,"line_start":1134,"line_end":1134,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622484,"byte_end":622493,"line_start":1135,"line_end":1135,"column_start":62,"column_end":71},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622477,"byte_end":622481,"line_start":1135,"line_end":1135,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622471,"byte_end":622476,"line_start":1135,"line_end":1135,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622463,"byte_end":622468,"line_start":1135,"line_end":1135,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622549,"byte_end":622553,"line_start":1136,"line_end":1136,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622543,"byte_end":622548,"line_start":1136,"line_end":1136,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622605,"byte_end":622609,"line_start":1137,"line_end":1137,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622605,"byte_end":622609,"line_start":1137,"line_end":1137,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622619,"byte_end":622625,"line_start":1137,"line_end":1137,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622616,"byte_end":622618,"line_start":1137,"line_end":1137,"column_start":56,"column_end":58},"ref_id":{"krate":0,"index":671091219}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622626,"byte_end":622629,"line_start":1137,"line_end":1137,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":738200083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622640,"byte_end":622645,"line_start":1137,"line_end":1137,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622631,"byte_end":622638,"line_start":1137,"line_end":1137,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622651,"byte_end":622659,"line_start":1137,"line_end":1137,"column_start":91,"column_end":99},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622667,"byte_end":622672,"line_start":1137,"line_end":1137,"column_start":107,"column_end":112},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622661,"byte_end":622666,"line_start":1137,"line_end":1137,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622725,"byte_end":622729,"line_start":1138,"line_end":1138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622725,"byte_end":622729,"line_start":1138,"line_end":1138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622739,"byte_end":622745,"line_start":1138,"line_end":1138,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622736,"byte_end":622738,"line_start":1138,"line_end":1138,"column_start":56,"column_end":58},"ref_id":{"krate":0,"index":671091219}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622746,"byte_end":622749,"line_start":1138,"line_end":1138,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":738200083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622760,"byte_end":622767,"line_start":1138,"line_end":1138,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622751,"byte_end":622758,"line_start":1138,"line_end":1138,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622773,"byte_end":622781,"line_start":1138,"line_end":1138,"column_start":93,"column_end":101},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622789,"byte_end":622794,"line_start":1138,"line_end":1138,"column_start":109,"column_end":114},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622783,"byte_end":622788,"line_start":1138,"line_end":1138,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":1912605203}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622994,"byte_end":622996,"line_start":1143,"line_end":1143,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623059,"byte_end":623068,"line_start":1145,"line_end":1145,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623074,"byte_end":623077,"line_start":1145,"line_end":1145,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623125,"byte_end":623130,"line_start":1146,"line_end":1146,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623117,"byte_end":623124,"line_start":1146,"line_end":1146,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623180,"byte_end":623185,"line_start":1147,"line_end":1147,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623172,"byte_end":623179,"line_start":1147,"line_end":1147,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623227,"byte_end":623233,"line_start":1148,"line_end":1148,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1334839814}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623273,"byte_end":623279,"line_start":1149,"line_end":1149,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1871710726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623319,"byte_end":623329,"line_start":1150,"line_end":1150,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623369,"byte_end":623375,"line_start":1151,"line_end":1151,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623415,"byte_end":623419,"line_start":1152,"line_end":1152,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2579}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623459,"byte_end":623463,"line_start":1153,"line_end":1153,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623468,"byte_end":623473,"line_start":1153,"line_end":1153,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623464,"byte_end":623467,"line_start":1153,"line_end":1153,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623516,"byte_end":623519,"line_start":1154,"line_end":1154,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2140146182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623583,"byte_end":623591,"line_start":1157,"line_end":1157,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623574,"byte_end":623577,"line_start":1157,"line_end":1157,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623629,"byte_end":623635,"line_start":1158,"line_end":1158,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623619,"byte_end":623627,"line_start":1158,"line_end":1158,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623644,"byte_end":623647,"line_start":1158,"line_end":1158,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623636,"byte_end":623643,"line_start":1158,"line_end":1158,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623687,"byte_end":623693,"line_start":1159,"line_end":1159,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623677,"byte_end":623685,"line_start":1159,"line_end":1159,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623700,"byte_end":623703,"line_start":1159,"line_end":1159,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623694,"byte_end":623699,"line_start":1159,"line_end":1159,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623775,"byte_end":623783,"line_start":1160,"line_end":1160,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623759,"byte_end":623768,"line_start":1160,"line_end":1160,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623752,"byte_end":623756,"line_start":1160,"line_end":1160,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623746,"byte_end":623751,"line_start":1160,"line_end":1160,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623733,"byte_end":623743,"line_start":1160,"line_end":1160,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623873,"byte_end":623879,"line_start":1164,"line_end":1164,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623863,"byte_end":623871,"line_start":1164,"line_end":1164,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623888,"byte_end":623891,"line_start":1164,"line_end":1164,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623880,"byte_end":623887,"line_start":1164,"line_end":1164,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623931,"byte_end":623937,"line_start":1165,"line_end":1165,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623921,"byte_end":623929,"line_start":1165,"line_end":1165,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623944,"byte_end":623947,"line_start":1165,"line_end":1165,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623938,"byte_end":623943,"line_start":1165,"line_end":1165,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623987,"byte_end":623993,"line_start":1166,"line_end":1166,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623977,"byte_end":623985,"line_start":1166,"line_end":1166,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624000,"byte_end":624003,"line_start":1166,"line_end":1166,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623994,"byte_end":623999,"line_start":1166,"line_end":1166,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624075,"byte_end":624083,"line_start":1167,"line_end":1167,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624059,"byte_end":624068,"line_start":1167,"line_end":1167,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624052,"byte_end":624056,"line_start":1167,"line_end":1167,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624046,"byte_end":624051,"line_start":1167,"line_end":1167,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624033,"byte_end":624043,"line_start":1167,"line_end":1167,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624171,"byte_end":624177,"line_start":1171,"line_end":1171,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624161,"byte_end":624169,"line_start":1171,"line_end":1171,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624186,"byte_end":624189,"line_start":1171,"line_end":1171,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624178,"byte_end":624185,"line_start":1171,"line_end":1171,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624229,"byte_end":624235,"line_start":1172,"line_end":1172,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624219,"byte_end":624227,"line_start":1172,"line_end":1172,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624242,"byte_end":624245,"line_start":1172,"line_end":1172,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624236,"byte_end":624241,"line_start":1172,"line_end":1172,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624317,"byte_end":624325,"line_start":1173,"line_end":1173,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624301,"byte_end":624310,"line_start":1173,"line_end":1173,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624294,"byte_end":624298,"line_start":1173,"line_end":1173,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624288,"byte_end":624293,"line_start":1173,"line_end":1173,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624275,"byte_end":624285,"line_start":1173,"line_end":1173,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624406,"byte_end":624411,"line_start":1176,"line_end":1176,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624404,"byte_end":624405,"line_start":1176,"line_end":1176,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624385,"byte_end":624401,"line_start":1176,"line_end":1176,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624473,"byte_end":624483,"line_start":1180,"line_end":1180,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624645,"byte_end":624649,"line_start":1188,"line_end":1188,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624639,"byte_end":624644,"line_start":1188,"line_end":1188,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624650,"byte_end":624651,"line_start":1188,"line_end":1188,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2463107590}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624691,"byte_end":624692,"line_start":1189,"line_end":1189,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2463107590}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624678,"byte_end":624688,"line_start":1189,"line_end":1189,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624732,"byte_end":624737,"line_start":1191,"line_end":1191,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624725,"byte_end":624731,"line_start":1191,"line_end":1191,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624719,"byte_end":624722,"line_start":1191,"line_end":1191,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":301992454}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624775,"byte_end":624781,"line_start":1192,"line_end":1192,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624765,"byte_end":624773,"line_start":1192,"line_end":1192,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624786,"byte_end":624789,"line_start":1192,"line_end":1192,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624782,"byte_end":624785,"line_start":1192,"line_end":1192,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":301992454}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624828,"byte_end":624832,"line_start":1194,"line_end":1194,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624820,"byte_end":624827,"line_start":1194,"line_end":1194,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624837,"byte_end":624842,"line_start":1194,"line_end":1194,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624833,"byte_end":624836,"line_start":1194,"line_end":1194,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":301992454}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624884,"byte_end":624892,"line_start":1196,"line_end":1196,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624872,"byte_end":624878,"line_start":1196,"line_end":1196,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625003,"byte_end":625008,"line_start":1202,"line_end":1202,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625001,"byte_end":625002,"line_start":1202,"line_end":1202,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624982,"byte_end":624998,"line_start":1202,"line_end":1202,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625071,"byte_end":625081,"line_start":1207,"line_end":1207,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625210,"byte_end":625216,"line_start":1214,"line_end":1214,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625200,"byte_end":625208,"line_start":1214,"line_end":1214,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625224,"byte_end":625227,"line_start":1214,"line_end":1214,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625217,"byte_end":625223,"line_start":1214,"line_end":1214,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625280,"byte_end":625289,"line_start":1215,"line_end":1215,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625273,"byte_end":625277,"line_start":1215,"line_end":1215,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625266,"byte_end":625272,"line_start":1215,"line_end":1215,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625257,"byte_end":625263,"line_start":1215,"line_end":1215,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625320,"byte_end":625326,"line_start":1216,"line_end":1216,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625374,"byte_end":625377,"line_start":1217,"line_end":1217,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625388,"byte_end":625391,"line_start":1217,"line_end":1217,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625378,"byte_end":625386,"line_start":1217,"line_end":1217,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625468,"byte_end":625478,"line_start":1220,"line_end":1220,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625620,"byte_end":625626,"line_start":1224,"line_end":1224,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625632,"byte_end":625640,"line_start":1224,"line_end":1224,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625688,"byte_end":625695,"line_start":1225,"line_end":1225,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625736,"byte_end":625742,"line_start":1226,"line_end":1226,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625743,"byte_end":625749,"line_start":1226,"line_end":1226,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625791,"byte_end":625794,"line_start":1227,"line_end":1227,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625846,"byte_end":625849,"line_start":1228,"line_end":1228,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625850,"byte_end":625856,"line_start":1228,"line_end":1228,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625995,"byte_end":626001,"line_start":1231,"line_end":1231,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626006,"byte_end":626014,"line_start":1231,"line_end":1231,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626057,"byte_end":626058,"line_start":1232,"line_end":1232,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744404}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626106,"byte_end":626111,"line_start":1233,"line_end":1233,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626097,"byte_end":626104,"line_start":1233,"line_end":1233,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626106,"byte_end":626111,"line_start":1233,"line_end":1233,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626097,"byte_end":626104,"line_start":1233,"line_end":1233,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626172,"byte_end":626176,"line_start":1234,"line_end":1234,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626169,"byte_end":626171,"line_start":1234,"line_end":1234,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091220}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626186,"byte_end":626190,"line_start":1234,"line_end":1234,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626177,"byte_end":626184,"line_start":1234,"line_end":1234,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626276,"byte_end":626286,"line_start":1236,"line_end":1236,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626267,"byte_end":626274,"line_start":1236,"line_end":1236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626276,"byte_end":626286,"line_start":1236,"line_end":1236,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626267,"byte_end":626274,"line_start":1236,"line_end":1236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626389,"byte_end":626394,"line_start":1238,"line_end":1238,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626365,"byte_end":626371,"line_start":1238,"line_end":1238,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626355,"byte_end":626363,"line_start":1238,"line_end":1238,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626380,"byte_end":626384,"line_start":1238,"line_end":1238,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626372,"byte_end":626379,"line_start":1238,"line_end":1238,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438036}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626442,"byte_end":626448,"line_start":1240,"line_end":1240,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626439,"byte_end":626441,"line_start":1240,"line_end":1240,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336916}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626449,"byte_end":626452,"line_start":1240,"line_end":1240,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782484}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626463,"byte_end":626467,"line_start":1240,"line_end":1240,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626454,"byte_end":626461,"line_start":1240,"line_end":1240,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626620,"byte_end":626622,"line_start":1245,"line_end":1245,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626685,"byte_end":626694,"line_start":1247,"line_end":1247,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626700,"byte_end":626703,"line_start":1247,"line_end":1247,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626751,"byte_end":626756,"line_start":1248,"line_end":1248,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626743,"byte_end":626750,"line_start":1248,"line_end":1248,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626806,"byte_end":626811,"line_start":1249,"line_end":1249,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626798,"byte_end":626805,"line_start":1249,"line_end":1249,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626853,"byte_end":626859,"line_start":1250,"line_end":1250,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3083864582}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626899,"byte_end":626905,"line_start":1251,"line_end":1251,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2412775942}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626945,"byte_end":626955,"line_start":1252,"line_end":1252,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626995,"byte_end":627001,"line_start":1253,"line_end":1253,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627041,"byte_end":627045,"line_start":1254,"line_end":1254,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2580}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627085,"byte_end":627089,"line_start":1255,"line_end":1255,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627129,"byte_end":627132,"line_start":1256,"line_end":1256,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2681211398}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627198,"byte_end":627204,"line_start":1260,"line_end":1260,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627188,"byte_end":627196,"line_start":1260,"line_end":1260,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627211,"byte_end":627214,"line_start":1260,"line_end":1260,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627205,"byte_end":627210,"line_start":1260,"line_end":1260,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627286,"byte_end":627294,"line_start":1261,"line_end":1261,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627270,"byte_end":627279,"line_start":1261,"line_end":1261,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627263,"byte_end":627267,"line_start":1261,"line_end":1261,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627257,"byte_end":627262,"line_start":1261,"line_end":1261,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627244,"byte_end":627254,"line_start":1261,"line_end":1261,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627326,"byte_end":627336,"line_start":1263,"line_end":1263,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627384,"byte_end":627390,"line_start":1264,"line_end":1264,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627374,"byte_end":627382,"line_start":1264,"line_end":1264,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627397,"byte_end":627400,"line_start":1264,"line_end":1264,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627391,"byte_end":627396,"line_start":1264,"line_end":1264,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627476,"byte_end":627484,"line_start":1265,"line_end":1265,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627460,"byte_end":627469,"line_start":1265,"line_end":1265,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627453,"byte_end":627457,"line_start":1265,"line_end":1265,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627447,"byte_end":627452,"line_start":1265,"line_end":1265,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627434,"byte_end":627444,"line_start":1265,"line_end":1265,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627526,"byte_end":627532,"line_start":1266,"line_end":1266,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627516,"byte_end":627524,"line_start":1266,"line_end":1266,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627541,"byte_end":627544,"line_start":1266,"line_end":1266,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627533,"byte_end":627540,"line_start":1266,"line_end":1266,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627629,"byte_end":627635,"line_start":1268,"line_end":1268,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627619,"byte_end":627627,"line_start":1268,"line_end":1268,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627644,"byte_end":627647,"line_start":1268,"line_end":1268,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627636,"byte_end":627643,"line_start":1268,"line_end":1268,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627689,"byte_end":627693,"line_start":1269,"line_end":1269,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627681,"byte_end":627688,"line_start":1269,"line_end":1269,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627694,"byte_end":627695,"line_start":1269,"line_end":1269,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":489687558}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627768,"byte_end":627776,"line_start":1272,"line_end":1272,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627756,"byte_end":627762,"line_start":1272,"line_end":1272,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627867,"byte_end":627873,"line_start":1277,"line_end":1277,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627857,"byte_end":627865,"line_start":1277,"line_end":1277,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627882,"byte_end":627885,"line_start":1277,"line_end":1277,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627874,"byte_end":627881,"line_start":1277,"line_end":1277,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627940,"byte_end":627949,"line_start":1278,"line_end":1278,"column_start":50,"column_end":59},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627933,"byte_end":627937,"line_start":1278,"line_end":1278,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627925,"byte_end":627932,"line_start":1278,"line_end":1278,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627915,"byte_end":627922,"line_start":1278,"line_end":1278,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627980,"byte_end":627987,"line_start":1279,"line_end":1279,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628036,"byte_end":628039,"line_start":1280,"line_end":1280,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628050,"byte_end":628053,"line_start":1280,"line_end":1280,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628040,"byte_end":628048,"line_start":1280,"line_end":1280,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628130,"byte_end":628140,"line_start":1283,"line_end":1283,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628281,"byte_end":628287,"line_start":1286,"line_end":1286,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628293,"byte_end":628301,"line_start":1286,"line_end":1286,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628349,"byte_end":628356,"line_start":1287,"line_end":1287,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628397,"byte_end":628403,"line_start":1288,"line_end":1288,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628404,"byte_end":628410,"line_start":1288,"line_end":1288,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628452,"byte_end":628455,"line_start":1289,"line_end":1289,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628507,"byte_end":628510,"line_start":1290,"line_end":1290,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628511,"byte_end":628517,"line_start":1290,"line_end":1290,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628656,"byte_end":628662,"line_start":1293,"line_end":1293,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628667,"byte_end":628675,"line_start":1293,"line_end":1293,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628718,"byte_end":628719,"line_start":1294,"line_end":1294,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744405}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628767,"byte_end":628772,"line_start":1295,"line_end":1295,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628758,"byte_end":628765,"line_start":1295,"line_end":1295,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628767,"byte_end":628772,"line_start":1295,"line_end":1295,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628758,"byte_end":628765,"line_start":1295,"line_end":1295,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628833,"byte_end":628837,"line_start":1296,"line_end":1296,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628830,"byte_end":628832,"line_start":1296,"line_end":1296,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091221}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628847,"byte_end":628852,"line_start":1296,"line_end":1296,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628838,"byte_end":628845,"line_start":1296,"line_end":1296,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628938,"byte_end":628948,"line_start":1298,"line_end":1298,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628929,"byte_end":628936,"line_start":1298,"line_end":1298,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628938,"byte_end":628948,"line_start":1298,"line_end":1298,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628929,"byte_end":628936,"line_start":1298,"line_end":1298,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629051,"byte_end":629056,"line_start":1300,"line_end":1300,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629027,"byte_end":629033,"line_start":1300,"line_end":1300,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629017,"byte_end":629025,"line_start":1300,"line_end":1300,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629042,"byte_end":629046,"line_start":1300,"line_end":1300,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629034,"byte_end":629041,"line_start":1300,"line_end":1300,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438037}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629104,"byte_end":629110,"line_start":1302,"line_end":1302,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629101,"byte_end":629103,"line_start":1302,"line_end":1302,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336917}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629111,"byte_end":629114,"line_start":1302,"line_end":1302,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782485}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629125,"byte_end":629130,"line_start":1302,"line_end":1302,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":3750}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629116,"byte_end":629123,"line_start":1302,"line_end":1302,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629283,"byte_end":629285,"line_start":1307,"line_end":1307,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629348,"byte_end":629357,"line_start":1309,"line_end":1309,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629363,"byte_end":629366,"line_start":1309,"line_end":1309,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629414,"byte_end":629419,"line_start":1310,"line_end":1310,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629406,"byte_end":629413,"line_start":1310,"line_end":1310,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629469,"byte_end":629474,"line_start":1311,"line_end":1311,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629461,"byte_end":629468,"line_start":1311,"line_end":1311,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629516,"byte_end":629522,"line_start":1312,"line_end":1312,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1219496454}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629562,"byte_end":629568,"line_start":1313,"line_end":1313,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1756367366}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629608,"byte_end":629618,"line_start":1314,"line_end":1314,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629658,"byte_end":629664,"line_start":1315,"line_end":1315,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629704,"byte_end":629708,"line_start":1316,"line_end":1316,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2581}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629748,"byte_end":629752,"line_start":1317,"line_end":1317,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629792,"byte_end":629795,"line_start":1318,"line_end":1318,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2024802822}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629861,"byte_end":629867,"line_start":1322,"line_end":1322,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629851,"byte_end":629859,"line_start":1322,"line_end":1322,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629874,"byte_end":629877,"line_start":1322,"line_end":1322,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629868,"byte_end":629873,"line_start":1322,"line_end":1322,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629949,"byte_end":629957,"line_start":1323,"line_end":1323,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629933,"byte_end":629942,"line_start":1323,"line_end":1323,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629926,"byte_end":629930,"line_start":1323,"line_end":1323,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629920,"byte_end":629925,"line_start":1323,"line_end":1323,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629907,"byte_end":629917,"line_start":1323,"line_end":1323,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629989,"byte_end":629999,"line_start":1325,"line_end":1325,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630047,"byte_end":630053,"line_start":1326,"line_end":1326,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630037,"byte_end":630045,"line_start":1326,"line_end":1326,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630060,"byte_end":630063,"line_start":1326,"line_end":1326,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630054,"byte_end":630059,"line_start":1326,"line_end":1326,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630139,"byte_end":630147,"line_start":1327,"line_end":1327,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630123,"byte_end":630132,"line_start":1327,"line_end":1327,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630116,"byte_end":630120,"line_start":1327,"line_end":1327,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630110,"byte_end":630115,"line_start":1327,"line_end":1327,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630097,"byte_end":630107,"line_start":1327,"line_end":1327,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630189,"byte_end":630195,"line_start":1328,"line_end":1328,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630179,"byte_end":630187,"line_start":1328,"line_end":1328,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630204,"byte_end":630207,"line_start":1328,"line_end":1328,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630196,"byte_end":630203,"line_start":1328,"line_end":1328,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630292,"byte_end":630298,"line_start":1330,"line_end":1330,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630282,"byte_end":630290,"line_start":1330,"line_end":1330,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630307,"byte_end":630310,"line_start":1330,"line_end":1330,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630299,"byte_end":630306,"line_start":1330,"line_end":1330,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630352,"byte_end":630356,"line_start":1331,"line_end":1331,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630344,"byte_end":630351,"line_start":1331,"line_end":1331,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630357,"byte_end":630358,"line_start":1331,"line_end":1331,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3148876294}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630432,"byte_end":630440,"line_start":1334,"line_end":1334,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630419,"byte_end":630426,"line_start":1334,"line_end":1334,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630531,"byte_end":630537,"line_start":1339,"line_end":1339,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630521,"byte_end":630529,"line_start":1339,"line_end":1339,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630545,"byte_end":630548,"line_start":1339,"line_end":1339,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630538,"byte_end":630544,"line_start":1339,"line_end":1339,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630601,"byte_end":630610,"line_start":1340,"line_end":1340,"column_start":48,"column_end":57},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630594,"byte_end":630598,"line_start":1340,"line_end":1340,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630587,"byte_end":630593,"line_start":1340,"line_end":1340,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630578,"byte_end":630584,"line_start":1340,"line_end":1340,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630641,"byte_end":630647,"line_start":1341,"line_end":1341,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630695,"byte_end":630698,"line_start":1342,"line_end":1342,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630709,"byte_end":630712,"line_start":1342,"line_end":1342,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630699,"byte_end":630707,"line_start":1342,"line_end":1342,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630789,"byte_end":630799,"line_start":1345,"line_end":1345,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630940,"byte_end":630946,"line_start":1348,"line_end":1348,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630952,"byte_end":630960,"line_start":1348,"line_end":1348,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631008,"byte_end":631015,"line_start":1349,"line_end":1349,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631056,"byte_end":631062,"line_start":1350,"line_end":1350,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631063,"byte_end":631069,"line_start":1350,"line_end":1350,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631111,"byte_end":631114,"line_start":1351,"line_end":1351,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631166,"byte_end":631169,"line_start":1352,"line_end":1352,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631170,"byte_end":631176,"line_start":1352,"line_end":1352,"column_start":50,"column_end":56},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631315,"byte_end":631321,"line_start":1355,"line_end":1355,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631326,"byte_end":631334,"line_start":1355,"line_end":1355,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631377,"byte_end":631378,"line_start":1356,"line_end":1356,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744406}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631426,"byte_end":631431,"line_start":1357,"line_end":1357,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631417,"byte_end":631424,"line_start":1357,"line_end":1357,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631426,"byte_end":631431,"line_start":1357,"line_end":1357,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631417,"byte_end":631424,"line_start":1357,"line_end":1357,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631492,"byte_end":631496,"line_start":1358,"line_end":1358,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631489,"byte_end":631491,"line_start":1358,"line_end":1358,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091222}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631506,"byte_end":631510,"line_start":1358,"line_end":1358,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631497,"byte_end":631504,"line_start":1358,"line_end":1358,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631596,"byte_end":631606,"line_start":1360,"line_end":1360,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631587,"byte_end":631594,"line_start":1360,"line_end":1360,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631596,"byte_end":631606,"line_start":1360,"line_end":1360,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631587,"byte_end":631594,"line_start":1360,"line_end":1360,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631708,"byte_end":631713,"line_start":1361,"line_end":1361,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631684,"byte_end":631690,"line_start":1361,"line_end":1361,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631674,"byte_end":631682,"line_start":1361,"line_end":1361,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631699,"byte_end":631703,"line_start":1361,"line_end":1361,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631691,"byte_end":631698,"line_start":1361,"line_end":1361,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438038}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631760,"byte_end":631766,"line_start":1362,"line_end":1362,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631757,"byte_end":631759,"line_start":1362,"line_end":1362,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336918}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631767,"byte_end":631770,"line_start":1362,"line_end":1362,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782486}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631781,"byte_end":631785,"line_start":1362,"line_end":1362,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631772,"byte_end":631779,"line_start":1362,"line_end":1362,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631937,"byte_end":631939,"line_start":1366,"line_end":1366,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632012,"byte_end":632018,"line_start":1368,"line_end":1368,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632002,"byte_end":632010,"line_start":1368,"line_end":1368,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632025,"byte_end":632028,"line_start":1368,"line_end":1368,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632019,"byte_end":632024,"line_start":1368,"line_end":1368,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632062,"byte_end":632071,"line_start":1369,"line_end":1369,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632077,"byte_end":632080,"line_start":1369,"line_end":1369,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632128,"byte_end":632133,"line_start":1370,"line_end":1370,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632120,"byte_end":632127,"line_start":1370,"line_end":1370,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632183,"byte_end":632188,"line_start":1371,"line_end":1371,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632175,"byte_end":632182,"line_start":1371,"line_end":1371,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632230,"byte_end":632236,"line_start":1372,"line_end":1372,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3966765574}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632276,"byte_end":632282,"line_start":1373,"line_end":1373,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3698330118}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632322,"byte_end":632332,"line_start":1374,"line_end":1374,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632372,"byte_end":632378,"line_start":1375,"line_end":1375,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632418,"byte_end":632422,"line_start":1376,"line_end":1376,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632462,"byte_end":632466,"line_start":1377,"line_end":1377,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632506,"byte_end":632509,"line_start":1378,"line_end":1378,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3262122502}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632607,"byte_end":632615,"line_start":1382,"line_end":1382,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632591,"byte_end":632600,"line_start":1382,"line_end":1382,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632584,"byte_end":632588,"line_start":1382,"line_end":1382,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632578,"byte_end":632583,"line_start":1382,"line_end":1382,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632565,"byte_end":632575,"line_start":1382,"line_end":1382,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632647,"byte_end":632657,"line_start":1384,"line_end":1384,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632705,"byte_end":632711,"line_start":1385,"line_end":1385,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632695,"byte_end":632703,"line_start":1385,"line_end":1385,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632718,"byte_end":632721,"line_start":1385,"line_end":1385,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632712,"byte_end":632717,"line_start":1385,"line_end":1385,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632797,"byte_end":632805,"line_start":1386,"line_end":1386,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632781,"byte_end":632790,"line_start":1386,"line_end":1386,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632774,"byte_end":632778,"line_start":1386,"line_end":1386,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632768,"byte_end":632773,"line_start":1386,"line_end":1386,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632755,"byte_end":632765,"line_start":1386,"line_end":1386,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632847,"byte_end":632853,"line_start":1387,"line_end":1387,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632837,"byte_end":632845,"line_start":1387,"line_end":1387,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632862,"byte_end":632865,"line_start":1387,"line_end":1387,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632854,"byte_end":632861,"line_start":1387,"line_end":1387,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632950,"byte_end":632956,"line_start":1389,"line_end":1389,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632940,"byte_end":632948,"line_start":1389,"line_end":1389,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632965,"byte_end":632968,"line_start":1389,"line_end":1389,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632957,"byte_end":632964,"line_start":1389,"line_end":1389,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633010,"byte_end":633014,"line_start":1390,"line_end":1390,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633002,"byte_end":633009,"line_start":1390,"line_end":1390,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633015,"byte_end":633016,"line_start":1390,"line_end":1390,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1089473030}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633088,"byte_end":633096,"line_start":1392,"line_end":1392,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633076,"byte_end":633082,"line_start":1392,"line_end":1392,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633194,"byte_end":633200,"line_start":1396,"line_end":1396,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633184,"byte_end":633192,"line_start":1396,"line_end":1396,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633209,"byte_end":633212,"line_start":1396,"line_end":1396,"column_start":58,"column_end":61},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633201,"byte_end":633208,"line_start":1396,"line_end":1396,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633250,"byte_end":633254,"line_start":1397,"line_end":1397,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633242,"byte_end":633249,"line_start":1397,"line_end":1397,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633255,"byte_end":633256,"line_start":1397,"line_end":1397,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3975154182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633293,"byte_end":633309,"line_start":1398,"line_end":1398,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633320,"byte_end":633336,"line_start":1398,"line_end":1398,"column_start":55,"column_end":71},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633477,"byte_end":633483,"line_start":1401,"line_end":1401,"column_start":38,"column_end":44},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633489,"byte_end":633497,"line_start":1401,"line_end":1401,"column_start":50,"column_end":58},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633545,"byte_end":633552,"line_start":1402,"line_end":1402,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633593,"byte_end":633599,"line_start":1403,"line_end":1403,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633600,"byte_end":633606,"line_start":1403,"line_end":1403,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633648,"byte_end":633651,"line_start":1404,"line_end":1404,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633697,"byte_end":633700,"line_start":1405,"line_end":1405,"column_start":40,"column_end":43},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633701,"byte_end":633707,"line_start":1405,"line_end":1405,"column_start":44,"column_end":50},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633846,"byte_end":633852,"line_start":1408,"line_end":1408,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633857,"byte_end":633865,"line_start":1408,"line_end":1408,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633908,"byte_end":633909,"line_start":1409,"line_end":1409,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744407}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633957,"byte_end":633962,"line_start":1410,"line_end":1410,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633948,"byte_end":633955,"line_start":1410,"line_end":1410,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633957,"byte_end":633962,"line_start":1410,"line_end":1410,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633948,"byte_end":633955,"line_start":1410,"line_end":1410,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634023,"byte_end":634027,"line_start":1411,"line_end":1411,"column_start":44,"column_end":48},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634020,"byte_end":634022,"line_start":1411,"line_end":1411,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091223}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634037,"byte_end":634041,"line_start":1411,"line_end":1411,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634028,"byte_end":634035,"line_start":1411,"line_end":1411,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634193,"byte_end":634195,"line_start":1415,"line_end":1415,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634258,"byte_end":634267,"line_start":1417,"line_end":1417,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634273,"byte_end":634276,"line_start":1417,"line_end":1417,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634324,"byte_end":634329,"line_start":1418,"line_end":1418,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634316,"byte_end":634323,"line_start":1418,"line_end":1418,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634379,"byte_end":634384,"line_start":1419,"line_end":1419,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634371,"byte_end":634378,"line_start":1419,"line_end":1419,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634426,"byte_end":634432,"line_start":1420,"line_end":1420,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1928333830}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634472,"byte_end":634478,"line_start":1421,"line_end":1421,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1257245190}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634518,"byte_end":634528,"line_start":1422,"line_end":1422,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634568,"byte_end":634574,"line_start":1423,"line_end":1423,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634614,"byte_end":634618,"line_start":1424,"line_end":1424,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634658,"byte_end":634662,"line_start":1425,"line_end":1425,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634702,"byte_end":634705,"line_start":1426,"line_end":1426,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1525680646}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634907,"byte_end":634913,"line_start":1434,"line_end":1434,"column_start":34,"column_end":40},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634919,"byte_end":634927,"line_start":1434,"line_end":1434,"column_start":46,"column_end":54},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634971,"byte_end":634978,"line_start":1435,"line_end":1435,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635019,"byte_end":635025,"line_start":1436,"line_end":1436,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635026,"byte_end":635032,"line_start":1436,"line_end":1436,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635070,"byte_end":635073,"line_start":1437,"line_end":1437,"column_start":36,"column_end":39},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635121,"byte_end":635124,"line_start":1438,"line_end":1438,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635125,"byte_end":635131,"line_start":1438,"line_end":1438,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635258,"byte_end":635264,"line_start":1441,"line_end":1441,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635269,"byte_end":635277,"line_start":1441,"line_end":1441,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635316,"byte_end":635317,"line_start":1442,"line_end":1442,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744408}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635361,"byte_end":635366,"line_start":1443,"line_end":1443,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635352,"byte_end":635359,"line_start":1443,"line_end":1443,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635361,"byte_end":635366,"line_start":1443,"line_end":1443,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635352,"byte_end":635359,"line_start":1443,"line_end":1443,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635463,"byte_end":635468,"line_start":1444,"line_end":1444,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635448,"byte_end":635454,"line_start":1444,"line_end":1444,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635438,"byte_end":635446,"line_start":1444,"line_end":1444,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635455,"byte_end":635460,"line_start":1444,"line_end":1444,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873496}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635518,"byte_end":635524,"line_start":1445,"line_end":1445,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635508,"byte_end":635516,"line_start":1445,"line_end":1445,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635533,"byte_end":635536,"line_start":1445,"line_end":1445,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635525,"byte_end":635532,"line_start":1445,"line_end":1445,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635603,"byte_end":635612,"line_start":1446,"line_end":1446,"column_start":62,"column_end":71},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635596,"byte_end":635600,"line_start":1446,"line_end":1446,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635588,"byte_end":635595,"line_start":1446,"line_end":1446,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635578,"byte_end":635585,"line_start":1446,"line_end":1446,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635667,"byte_end":635671,"line_start":1448,"line_end":1448,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635659,"byte_end":635666,"line_start":1448,"line_end":1448,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635719,"byte_end":635723,"line_start":1449,"line_end":1449,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635719,"byte_end":635723,"line_start":1449,"line_end":1449,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635779,"byte_end":635783,"line_start":1450,"line_end":1450,"column_start":48,"column_end":52},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635776,"byte_end":635778,"line_start":1450,"line_end":1450,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091224}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635793,"byte_end":635798,"line_start":1450,"line_end":1450,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635784,"byte_end":635791,"line_start":1450,"line_end":1450,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635804,"byte_end":635812,"line_start":1450,"line_end":1450,"column_start":73,"column_end":81},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635814,"byte_end":635821,"line_start":1450,"line_end":1450,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635908,"byte_end":635912,"line_start":1452,"line_end":1452,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635908,"byte_end":635912,"line_start":1452,"line_end":1452,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635965,"byte_end":635969,"line_start":1453,"line_end":1453,"column_start":48,"column_end":52},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635962,"byte_end":635964,"line_start":1453,"line_end":1453,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091224}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635979,"byte_end":635986,"line_start":1453,"line_end":1453,"column_start":62,"column_end":69},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635970,"byte_end":635977,"line_start":1453,"line_end":1453,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635992,"byte_end":636000,"line_start":1453,"line_end":1453,"column_start":75,"column_end":83},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636002,"byte_end":636009,"line_start":1453,"line_end":1453,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":1275071000}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636171,"byte_end":636181,"line_start":1458,"line_end":1458,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636162,"byte_end":636169,"line_start":1458,"line_end":1458,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636171,"byte_end":636181,"line_start":1458,"line_end":1458,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636162,"byte_end":636169,"line_start":1458,"line_end":1458,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636280,"byte_end":636285,"line_start":1460,"line_end":1460,"column_start":81,"column_end":86},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636256,"byte_end":636262,"line_start":1460,"line_end":1460,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636246,"byte_end":636254,"line_start":1460,"line_end":1460,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636271,"byte_end":636275,"line_start":1460,"line_end":1460,"column_start":72,"column_end":76},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636263,"byte_end":636270,"line_start":1460,"line_end":1460,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":268438040}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636369,"byte_end":636374,"line_start":1462,"line_end":1462,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636354,"byte_end":636360,"line_start":1462,"line_end":1462,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636344,"byte_end":636352,"line_start":1462,"line_end":1462,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636361,"byte_end":636366,"line_start":1462,"line_end":1462,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873496}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636424,"byte_end":636430,"line_start":1463,"line_end":1463,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636414,"byte_end":636422,"line_start":1463,"line_end":1463,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636439,"byte_end":636442,"line_start":1463,"line_end":1463,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636431,"byte_end":636438,"line_start":1463,"line_end":1463,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":385878552}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636509,"byte_end":636518,"line_start":1464,"line_end":1464,"column_start":62,"column_end":71},"ref_id":{"krate":4,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636502,"byte_end":636506,"line_start":1464,"line_end":1464,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636494,"byte_end":636501,"line_start":1464,"line_end":1464,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":385878552}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636484,"byte_end":636491,"line_start":1464,"line_end":1464,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":385878552}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636573,"byte_end":636577,"line_start":1466,"line_end":1466,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636565,"byte_end":636572,"line_start":1466,"line_end":1466,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":385878552}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636625,"byte_end":636629,"line_start":1467,"line_end":1467,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636625,"byte_end":636629,"line_start":1467,"line_end":1467,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636685,"byte_end":636691,"line_start":1468,"line_end":1468,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636682,"byte_end":636684,"line_start":1468,"line_end":1468,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":889195032}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636692,"byte_end":636695,"line_start":1468,"line_end":1468,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":855640600}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636760,"byte_end":636765,"line_start":1469,"line_end":1469,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":3739}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636751,"byte_end":636758,"line_start":1469,"line_end":1469,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636771,"byte_end":636779,"line_start":1469,"line_end":1469,"column_start":75,"column_end":83},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636781,"byte_end":636788,"line_start":1469,"line_end":1469,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":385878552}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636875,"byte_end":636879,"line_start":1471,"line_end":1471,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636875,"byte_end":636879,"line_start":1471,"line_end":1471,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636932,"byte_end":636938,"line_start":1472,"line_end":1472,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636929,"byte_end":636931,"line_start":1472,"line_end":1472,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":889195032}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636939,"byte_end":636942,"line_start":1472,"line_end":1472,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":855640600}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637007,"byte_end":637014,"line_start":1473,"line_end":1473,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636998,"byte_end":637005,"line_start":1473,"line_end":1473,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637020,"byte_end":637028,"line_start":1473,"line_end":1473,"column_start":77,"column_end":85},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637030,"byte_end":637037,"line_start":1473,"line_end":1473,"column_start":87,"column_end":94},"ref_id":{"krate":0,"index":385878552}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637258,"byte_end":637260,"line_start":1481,"line_end":1481,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637315,"byte_end":637324,"line_start":1483,"line_end":1483,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637330,"byte_end":637333,"line_start":1483,"line_end":1483,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637377,"byte_end":637382,"line_start":1484,"line_end":1484,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637369,"byte_end":637376,"line_start":1484,"line_end":1484,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637428,"byte_end":637433,"line_start":1485,"line_end":1485,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637420,"byte_end":637427,"line_start":1485,"line_end":1485,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637471,"byte_end":637477,"line_start":1486,"line_end":1486,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":703597062}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637513,"byte_end":637519,"line_start":1487,"line_end":1487,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":435161606}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637555,"byte_end":637565,"line_start":1488,"line_end":1488,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637601,"byte_end":637607,"line_start":1489,"line_end":1489,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637643,"byte_end":637647,"line_start":1490,"line_end":1490,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2584}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637683,"byte_end":637687,"line_start":1491,"line_end":1491,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637688,"byte_end":637691,"line_start":1491,"line_end":1491,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637728,"byte_end":637731,"line_start":1492,"line_end":1492,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":99617286}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637769,"byte_end":637777,"line_start":1494,"line_end":1494,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637760,"byte_end":637763,"line_start":1494,"line_end":1494,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637815,"byte_end":637821,"line_start":1495,"line_end":1495,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637805,"byte_end":637813,"line_start":1495,"line_end":1495,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637828,"byte_end":637831,"line_start":1495,"line_end":1495,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637822,"byte_end":637827,"line_start":1495,"line_end":1495,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637903,"byte_end":637911,"line_start":1496,"line_end":1496,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637887,"byte_end":637896,"line_start":1496,"line_end":1496,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637880,"byte_end":637884,"line_start":1496,"line_end":1496,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637874,"byte_end":637879,"line_start":1496,"line_end":1496,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637861,"byte_end":637871,"line_start":1496,"line_end":1496,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637943,"byte_end":637953,"line_start":1498,"line_end":1498,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638001,"byte_end":638007,"line_start":1499,"line_end":1499,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637991,"byte_end":637999,"line_start":1499,"line_end":1499,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638014,"byte_end":638017,"line_start":1499,"line_end":1499,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638008,"byte_end":638013,"line_start":1499,"line_end":1499,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638093,"byte_end":638101,"line_start":1500,"line_end":1500,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638077,"byte_end":638086,"line_start":1500,"line_end":1500,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638070,"byte_end":638074,"line_start":1500,"line_end":1500,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638064,"byte_end":638069,"line_start":1500,"line_end":1500,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638051,"byte_end":638061,"line_start":1500,"line_end":1500,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638143,"byte_end":638149,"line_start":1501,"line_end":1501,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638133,"byte_end":638141,"line_start":1501,"line_end":1501,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638158,"byte_end":638161,"line_start":1501,"line_end":1501,"column_start":54,"column_end":57},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638150,"byte_end":638157,"line_start":1501,"line_end":1501,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638246,"byte_end":638252,"line_start":1503,"line_end":1503,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638236,"byte_end":638244,"line_start":1503,"line_end":1503,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638261,"byte_end":638264,"line_start":1503,"line_end":1503,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638253,"byte_end":638260,"line_start":1503,"line_end":1503,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638306,"byte_end":638310,"line_start":1504,"line_end":1504,"column_start":37,"column_end":41},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638298,"byte_end":638305,"line_start":1504,"line_end":1504,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638311,"byte_end":638312,"line_start":1504,"line_end":1504,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2785544710}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638435,"byte_end":638441,"line_start":1510,"line_end":1510,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638425,"byte_end":638433,"line_start":1510,"line_end":1510,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638448,"byte_end":638451,"line_start":1510,"line_end":1510,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638442,"byte_end":638447,"line_start":1510,"line_end":1510,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638523,"byte_end":638531,"line_start":1511,"line_end":1511,"column_start":67,"column_end":75},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638507,"byte_end":638516,"line_start":1511,"line_end":1511,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638500,"byte_end":638504,"line_start":1511,"line_end":1511,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638494,"byte_end":638499,"line_start":1511,"line_end":1511,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638481,"byte_end":638491,"line_start":1511,"line_end":1511,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638569,"byte_end":638575,"line_start":1512,"line_end":1512,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638559,"byte_end":638567,"line_start":1512,"line_end":1512,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638584,"byte_end":638587,"line_start":1512,"line_end":1512,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638576,"byte_end":638583,"line_start":1512,"line_end":1512,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638699,"byte_end":638704,"line_start":1517,"line_end":1517,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638697,"byte_end":638698,"line_start":1517,"line_end":1517,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638678,"byte_end":638694,"line_start":1517,"line_end":1517,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638769,"byte_end":638779,"line_start":1524,"line_end":1524,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638839,"byte_end":638845,"line_start":1527,"line_end":1527,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638895,"byte_end":638901,"line_start":1529,"line_end":1529,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638885,"byte_end":638893,"line_start":1529,"line_end":1529,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638908,"byte_end":638911,"line_start":1529,"line_end":1529,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638902,"byte_end":638907,"line_start":1529,"line_end":1529,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638987,"byte_end":638995,"line_start":1530,"line_end":1530,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638971,"byte_end":638980,"line_start":1530,"line_end":1530,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638964,"byte_end":638968,"line_start":1530,"line_end":1530,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638958,"byte_end":638963,"line_start":1530,"line_end":1530,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638945,"byte_end":638955,"line_start":1530,"line_end":1530,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639031,"byte_end":639041,"line_start":1532,"line_end":1532,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639195,"byte_end":639201,"line_start":1536,"line_end":1536,"column_start":42,"column_end":48},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639207,"byte_end":639215,"line_start":1536,"line_end":1536,"column_start":54,"column_end":62},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639267,"byte_end":639274,"line_start":1537,"line_end":1537,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639323,"byte_end":639329,"line_start":1538,"line_end":1538,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639330,"byte_end":639336,"line_start":1538,"line_end":1538,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639382,"byte_end":639385,"line_start":1539,"line_end":1539,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639441,"byte_end":639444,"line_start":1540,"line_end":1540,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639445,"byte_end":639451,"line_start":1540,"line_end":1540,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639602,"byte_end":639608,"line_start":1543,"line_end":1543,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639613,"byte_end":639621,"line_start":1543,"line_end":1543,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639669,"byte_end":639670,"line_start":1545,"line_end":1545,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1073744409}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639722,"byte_end":639732,"line_start":1546,"line_end":1546,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639713,"byte_end":639720,"line_start":1546,"line_end":1546,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639722,"byte_end":639732,"line_start":1546,"line_end":1546,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639713,"byte_end":639720,"line_start":1546,"line_end":1546,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639838,"byte_end":639843,"line_start":1547,"line_end":1547,"column_start":89,"column_end":94},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639814,"byte_end":639820,"line_start":1547,"line_end":1547,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639804,"byte_end":639812,"line_start":1547,"line_end":1547,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639829,"byte_end":639833,"line_start":1547,"line_end":1547,"column_start":80,"column_end":84},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639821,"byte_end":639828,"line_start":1547,"line_end":1547,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":268438041}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639917,"byte_end":639923,"line_start":1548,"line_end":1548,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639907,"byte_end":639915,"line_start":1548,"line_end":1548,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639924,"byte_end":639929,"line_start":1548,"line_end":1548,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":536873497}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639987,"byte_end":639993,"line_start":1549,"line_end":1549,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639977,"byte_end":639985,"line_start":1549,"line_end":1549,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640000,"byte_end":640003,"line_start":1549,"line_end":1549,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639994,"byte_end":639999,"line_start":1549,"line_end":1549,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1912605209}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640056,"byte_end":640062,"line_start":1550,"line_end":1550,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640053,"byte_end":640055,"line_start":1550,"line_end":1550,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091225}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640063,"byte_end":640066,"line_start":1550,"line_end":1550,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":738200089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640077,"byte_end":640083,"line_start":1550,"line_end":1550,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640068,"byte_end":640075,"line_start":1550,"line_end":1550,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640090,"byte_end":640095,"line_start":1550,"line_end":1550,"column_start":82,"column_end":87},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640084,"byte_end":640089,"line_start":1550,"line_end":1550,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1912605209}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640266,"byte_end":640268,"line_start":1554,"line_end":1554,"column_start":37,"column_end":39},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640339,"byte_end":640348,"line_start":1556,"line_end":1556,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640354,"byte_end":640357,"line_start":1556,"line_end":1556,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640409,"byte_end":640414,"line_start":1557,"line_end":1557,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640401,"byte_end":640408,"line_start":1557,"line_end":1557,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640468,"byte_end":640473,"line_start":1558,"line_end":1558,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640460,"byte_end":640467,"line_start":1558,"line_end":1558,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640519,"byte_end":640525,"line_start":1559,"line_end":1559,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":277350918}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640569,"byte_end":640575,"line_start":1560,"line_end":1560,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":814221830}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640619,"byte_end":640629,"line_start":1561,"line_end":1561,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640673,"byte_end":640679,"line_start":1562,"line_end":1562,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640723,"byte_end":640727,"line_start":1563,"line_end":1563,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2585}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640771,"byte_end":640775,"line_start":1564,"line_end":1564,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640783,"byte_end":640788,"line_start":1564,"line_end":1564,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640776,"byte_end":640782,"line_start":1564,"line_end":1564,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640835,"byte_end":640838,"line_start":1565,"line_end":1565,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":680004102}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640886,"byte_end":640894,"line_start":1566,"line_end":1566,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640874,"byte_end":640880,"line_start":1566,"line_end":1566,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640936,"byte_end":640946,"line_start":1567,"line_end":1567,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640998,"byte_end":641004,"line_start":1568,"line_end":1568,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640988,"byte_end":640996,"line_start":1568,"line_end":1568,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641012,"byte_end":641015,"line_start":1568,"line_end":1568,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641005,"byte_end":641011,"line_start":1568,"line_end":1568,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641074,"byte_end":641077,"line_start":1569,"line_end":1569,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641125,"byte_end":641129,"line_start":1570,"line_end":1570,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641116,"byte_end":641123,"line_start":1570,"line_end":1570,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641125,"byte_end":641129,"line_start":1570,"line_end":1570,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641116,"byte_end":641123,"line_start":1570,"line_end":1570,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641191,"byte_end":641197,"line_start":1571,"line_end":1571,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641182,"byte_end":641189,"line_start":1571,"line_end":1571,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641205,"byte_end":641210,"line_start":1571,"line_end":1571,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641198,"byte_end":641204,"line_start":1571,"line_end":1571,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641176,"byte_end":641179,"line_start":1571,"line_end":1571,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641418,"byte_end":641425,"line_start":1577,"line_end":1577,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2978482694}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641583,"byte_end":641589,"line_start":1580,"line_end":1580,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641595,"byte_end":641603,"line_start":1580,"line_end":1580,"column_start":58,"column_end":66},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641659,"byte_end":641666,"line_start":1581,"line_end":1581,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641719,"byte_end":641725,"line_start":1582,"line_end":1582,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641726,"byte_end":641732,"line_start":1582,"line_end":1582,"column_start":59,"column_end":65},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641782,"byte_end":641785,"line_start":1583,"line_end":1583,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641839,"byte_end":641842,"line_start":1584,"line_end":1584,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641843,"byte_end":641849,"line_start":1584,"line_end":1584,"column_start":52,"column_end":58},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642012,"byte_end":642018,"line_start":1587,"line_end":1587,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642023,"byte_end":642031,"line_start":1587,"line_end":1587,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642082,"byte_end":642083,"line_start":1588,"line_end":1588,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":1073744410}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642139,"byte_end":642144,"line_start":1589,"line_end":1589,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642130,"byte_end":642137,"line_start":1589,"line_end":1589,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642139,"byte_end":642144,"line_start":1589,"line_end":1589,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642130,"byte_end":642137,"line_start":1589,"line_end":1589,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642213,"byte_end":642217,"line_start":1590,"line_end":1590,"column_start":52,"column_end":56},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642210,"byte_end":642212,"line_start":1590,"line_end":1590,"column_start":49,"column_end":51},"ref_id":{"krate":0,"index":671091226}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642227,"byte_end":642233,"line_start":1590,"line_end":1590,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642218,"byte_end":642225,"line_start":1590,"line_end":1590,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642338,"byte_end":642343,"line_start":1591,"line_end":1591,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642244,"byte_end":642250,"line_start":1590,"line_end":1590,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642234,"byte_end":642242,"line_start":1590,"line_end":1590,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642251,"byte_end":642256,"line_start":1590,"line_end":1590,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":536873498}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642530,"byte_end":642532,"line_start":1595,"line_end":1595,"column_start":41,"column_end":43},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642611,"byte_end":642620,"line_start":1597,"line_end":1597,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642626,"byte_end":642629,"line_start":1597,"line_end":1597,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642685,"byte_end":642690,"line_start":1598,"line_end":1598,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642677,"byte_end":642684,"line_start":1598,"line_end":1598,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642748,"byte_end":642753,"line_start":1599,"line_end":1599,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642740,"byte_end":642747,"line_start":1599,"line_end":1599,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642803,"byte_end":642809,"line_start":1600,"line_end":1600,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2844264966}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642857,"byte_end":642863,"line_start":1601,"line_end":1601,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2575829510}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642911,"byte_end":642921,"line_start":1602,"line_end":1602,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642969,"byte_end":642975,"line_start":1603,"line_end":1603,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643023,"byte_end":643027,"line_start":1604,"line_end":1604,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2586}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":643075,"byte_end":643079,"line_start":1605,"line_end":1605,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643080,"byte_end":643086,"line_start":1605,"line_end":1605,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643135,"byte_end":643138,"line_start":1606,"line_end":1606,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2240285190}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643220,"byte_end":643228,"line_start":1608,"line_end":1608,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643208,"byte_end":643214,"line_start":1608,"line_end":1608,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643405,"byte_end":643409,"line_start":1615,"line_end":1615,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643399,"byte_end":643404,"line_start":1615,"line_end":1615,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643410,"byte_end":643411,"line_start":1615,"line_end":1615,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":931662342}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643451,"byte_end":643452,"line_start":1616,"line_end":1616,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":931662342}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643438,"byte_end":643448,"line_start":1616,"line_end":1616,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643490,"byte_end":643498,"line_start":1617,"line_end":1617,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643478,"byte_end":643484,"line_start":1617,"line_end":1617,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643580,"byte_end":643585,"line_start":1621,"line_end":1621,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643578,"byte_end":643579,"line_start":1621,"line_end":1621,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643559,"byte_end":643575,"line_start":1621,"line_end":1621,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643648,"byte_end":643658,"line_start":1625,"line_end":1625,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643717,"byte_end":643723,"line_start":1627,"line_end":1627,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643773,"byte_end":643779,"line_start":1629,"line_end":1629,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":643763,"byte_end":643771,"line_start":1629,"line_end":1629,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643786,"byte_end":643789,"line_start":1629,"line_end":1629,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643780,"byte_end":643785,"line_start":1629,"line_end":1629,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643865,"byte_end":643873,"line_start":1630,"line_end":1630,"column_start":71,"column_end":79},"ref_id":{"krate":4,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643849,"byte_end":643858,"line_start":1630,"line_end":1630,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643842,"byte_end":643846,"line_start":1630,"line_end":1630,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643836,"byte_end":643841,"line_start":1630,"line_end":1630,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643823,"byte_end":643833,"line_start":1630,"line_end":1630,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643909,"byte_end":643919,"line_start":1632,"line_end":1632,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644072,"byte_end":644078,"line_start":1635,"line_end":1635,"column_start":42,"column_end":48},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644084,"byte_end":644092,"line_start":1635,"line_end":1635,"column_start":54,"column_end":62},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644144,"byte_end":644151,"line_start":1636,"line_end":1636,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644200,"byte_end":644206,"line_start":1637,"line_end":1637,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644207,"byte_end":644213,"line_start":1637,"line_end":1637,"column_start":55,"column_end":61},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644259,"byte_end":644262,"line_start":1638,"line_end":1638,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644318,"byte_end":644321,"line_start":1639,"line_end":1639,"column_start":50,"column_end":53},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644322,"byte_end":644328,"line_start":1639,"line_end":1639,"column_start":54,"column_end":60},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644479,"byte_end":644485,"line_start":1642,"line_end":1642,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644490,"byte_end":644498,"line_start":1642,"line_end":1642,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644546,"byte_end":644547,"line_start":1644,"line_end":1644,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1073744411}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644599,"byte_end":644609,"line_start":1645,"line_end":1645,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644590,"byte_end":644597,"line_start":1645,"line_end":1645,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644599,"byte_end":644609,"line_start":1645,"line_end":1645,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":3742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644590,"byte_end":644597,"line_start":1645,"line_end":1645,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644715,"byte_end":644720,"line_start":1646,"line_end":1646,"column_start":89,"column_end":94},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644691,"byte_end":644697,"line_start":1646,"line_end":1646,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644681,"byte_end":644689,"line_start":1646,"line_end":1646,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644706,"byte_end":644710,"line_start":1646,"line_end":1646,"column_start":80,"column_end":84},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644698,"byte_end":644705,"line_start":1646,"line_end":1646,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":268438043}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644794,"byte_end":644800,"line_start":1647,"line_end":1647,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644784,"byte_end":644792,"line_start":1647,"line_end":1647,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644801,"byte_end":644806,"line_start":1647,"line_end":1647,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":536873499}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644864,"byte_end":644870,"line_start":1648,"line_end":1648,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644854,"byte_end":644862,"line_start":1648,"line_end":1648,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644877,"byte_end":644880,"line_start":1648,"line_end":1648,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644871,"byte_end":644876,"line_start":1648,"line_end":1648,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1912605211}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644933,"byte_end":644939,"line_start":1649,"line_end":1649,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2527}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644930,"byte_end":644932,"line_start":1649,"line_end":1649,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091227}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644940,"byte_end":644943,"line_start":1649,"line_end":1649,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":738200091}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644954,"byte_end":644960,"line_start":1649,"line_end":1649,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644945,"byte_end":644952,"line_start":1649,"line_end":1649,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644967,"byte_end":644972,"line_start":1649,"line_end":1649,"column_start":82,"column_end":87},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644961,"byte_end":644966,"line_start":1649,"line_end":1649,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1912605211}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645143,"byte_end":645145,"line_start":1653,"line_end":1653,"column_start":37,"column_end":39},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645216,"byte_end":645225,"line_start":1655,"line_end":1655,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645231,"byte_end":645234,"line_start":1655,"line_end":1655,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645286,"byte_end":645291,"line_start":1656,"line_end":1656,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645278,"byte_end":645285,"line_start":1656,"line_end":1656,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645345,"byte_end":645350,"line_start":1657,"line_end":1657,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645337,"byte_end":645344,"line_start":1657,"line_end":1657,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645396,"byte_end":645402,"line_start":1658,"line_end":1658,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":843581958}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645446,"byte_end":645452,"line_start":1659,"line_end":1659,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":172493318}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645496,"byte_end":645506,"line_start":1660,"line_end":1660,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645550,"byte_end":645556,"line_start":1661,"line_end":1661,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645600,"byte_end":645604,"line_start":1662,"line_end":1662,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2587}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645648,"byte_end":645652,"line_start":1663,"line_end":1663,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645660,"byte_end":645665,"line_start":1663,"line_end":1663,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645653,"byte_end":645659,"line_start":1663,"line_end":1663,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645712,"byte_end":645715,"line_start":1664,"line_end":1664,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":440928774}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645771,"byte_end":645777,"line_start":1665,"line_end":1665,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645761,"byte_end":645769,"line_start":1665,"line_end":1665,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645786,"byte_end":645789,"line_start":1665,"line_end":1665,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645778,"byte_end":645785,"line_start":1665,"line_end":1665,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645839,"byte_end":645847,"line_start":1666,"line_end":1666,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645827,"byte_end":645833,"line_start":1666,"line_end":1666,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645930,"byte_end":645936,"line_start":1668,"line_end":1668,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645920,"byte_end":645928,"line_start":1668,"line_end":1668,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645944,"byte_end":645947,"line_start":1668,"line_end":1668,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645937,"byte_end":645943,"line_start":1668,"line_end":1668,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646006,"byte_end":646009,"line_start":1669,"line_end":1669,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646057,"byte_end":646061,"line_start":1670,"line_end":1670,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646048,"byte_end":646055,"line_start":1670,"line_end":1670,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646057,"byte_end":646061,"line_start":1670,"line_end":1670,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3748}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646048,"byte_end":646055,"line_start":1670,"line_end":1670,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646123,"byte_end":646129,"line_start":1671,"line_end":1671,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646114,"byte_end":646121,"line_start":1671,"line_end":1671,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":646137,"byte_end":646142,"line_start":1671,"line_end":1671,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646130,"byte_end":646136,"line_start":1671,"line_end":1671,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646108,"byte_end":646111,"line_start":1671,"line_end":1671,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646350,"byte_end":646357,"line_start":1677,"line_end":1677,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1732774406}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646515,"byte_end":646521,"line_start":1680,"line_end":1680,"column_start":46,"column_end":52},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":646527,"byte_end":646535,"line_start":1680,"line_end":1680,"column_start":58,"column_end":66},"ref_id":{"krate":4,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646591,"byte_end":646598,"line_start":1681,"line_end":1681,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646651,"byte_end":646657,"line_start":1682,"line_end":1682,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646658,"byte_end":646664,"line_start":1682,"line_end":1682,"column_start":59,"column_end":65},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646714,"byte_end":646717,"line_start":1683,"line_end":1683,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646771,"byte_end":646774,"line_start":1684,"line_end":1684,"column_start":48,"column_end":51},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646775,"byte_end":646781,"line_start":1684,"line_end":1684,"column_start":52,"column_end":58},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646944,"byte_end":646950,"line_start":1687,"line_end":1687,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646955,"byte_end":646963,"line_start":1687,"line_end":1687,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647014,"byte_end":647015,"line_start":1688,"line_end":1688,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":1073744412}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647071,"byte_end":647076,"line_start":1689,"line_end":1689,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647062,"byte_end":647069,"line_start":1689,"line_end":1689,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647071,"byte_end":647076,"line_start":1689,"line_end":1689,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3745}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647062,"byte_end":647069,"line_start":1689,"line_end":1689,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647145,"byte_end":647149,"line_start":1690,"line_end":1690,"column_start":52,"column_end":56},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647142,"byte_end":647144,"line_start":1690,"line_end":1690,"column_start":49,"column_end":51},"ref_id":{"krate":0,"index":671091228}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647159,"byte_end":647165,"line_start":1690,"line_end":1690,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3733}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647150,"byte_end":647157,"line_start":1690,"line_end":1690,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3732}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647270,"byte_end":647275,"line_start":1691,"line_end":1691,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647176,"byte_end":647182,"line_start":1690,"line_end":1690,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647166,"byte_end":647174,"line_start":1690,"line_end":1690,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647183,"byte_end":647188,"line_start":1690,"line_end":1690,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":536873500}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647462,"byte_end":647464,"line_start":1695,"line_end":1695,"column_start":41,"column_end":43},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647543,"byte_end":647552,"line_start":1697,"line_end":1697,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2565}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647558,"byte_end":647561,"line_start":1697,"line_end":1697,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647617,"byte_end":647622,"line_start":1698,"line_end":1698,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647609,"byte_end":647616,"line_start":1698,"line_end":1698,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3959425542}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647680,"byte_end":647685,"line_start":1699,"line_end":1699,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647672,"byte_end":647679,"line_start":1699,"line_end":1699,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3556772358}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647735,"byte_end":647741,"line_start":1700,"line_end":1700,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2001209862}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647789,"byte_end":647795,"line_start":1701,"line_end":1701,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1330121222}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647843,"byte_end":647853,"line_start":1702,"line_end":1702,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647901,"byte_end":647907,"line_start":1703,"line_end":1703,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647955,"byte_end":647959,"line_start":1704,"line_end":1704,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2588}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":648007,"byte_end":648011,"line_start":1705,"line_end":1705,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648012,"byte_end":648018,"line_start":1705,"line_end":1705,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":167774726}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648067,"byte_end":648070,"line_start":1706,"line_end":1706,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1598556678}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648152,"byte_end":648160,"line_start":1708,"line_end":1708,"column_start":45,"column_end":53},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648140,"byte_end":648146,"line_start":1708,"line_end":1708,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648305,"byte_end":648313,"line_start":1713,"line_end":1713,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648293,"byte_end":648299,"line_start":1713,"line_end":1713,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774726}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648384,"byte_end":648388,"line_start":1715,"line_end":1715,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648378,"byte_end":648383,"line_start":1715,"line_end":1715,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648389,"byte_end":648390,"line_start":1715,"line_end":1715,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3536325126}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648430,"byte_end":648431,"line_start":1716,"line_end":1716,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3536325126}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648417,"byte_end":648427,"line_start":1716,"line_end":1716,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648510,"byte_end":648515,"line_start":1719,"line_end":1719,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648508,"byte_end":648509,"line_start":1719,"line_end":1719,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648489,"byte_end":648505,"line_start":1719,"line_end":1719,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648631,"byte_end":648641,"line_start":1723,"line_end":1723,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648794,"byte_end":648802,"line_start":1728,"line_end":1728,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648785,"byte_end":648788,"line_start":1728,"line_end":1728,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648873,"byte_end":648877,"line_start":1730,"line_end":1730,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648867,"byte_end":648872,"line_start":1730,"line_end":1730,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648878,"byte_end":648879,"line_start":1730,"line_end":1730,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1506281990}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648919,"byte_end":648920,"line_start":1731,"line_end":1731,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":1506281990}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648906,"byte_end":648916,"line_start":1731,"line_end":1731,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648950,"byte_end":648954,"line_start":1732,"line_end":1732,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648946,"byte_end":648949,"line_start":1732,"line_end":1732,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648955,"byte_end":648956,"line_start":1732,"line_end":1732,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649036,"byte_end":649041,"line_start":1735,"line_end":1735,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649034,"byte_end":649035,"line_start":1735,"line_end":1735,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649015,"byte_end":649031,"line_start":1735,"line_end":1735,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649103,"byte_end":649113,"line_start":1739,"line_end":1739,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649266,"byte_end":649274,"line_start":1744,"line_end":1744,"column_start":34,"column_end":42},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649257,"byte_end":649260,"line_start":1744,"line_end":1744,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649345,"byte_end":649349,"line_start":1746,"line_end":1746,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649339,"byte_end":649344,"line_start":1746,"line_end":1746,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649350,"byte_end":649351,"line_start":1746,"line_end":1746,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3150449158}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649391,"byte_end":649392,"line_start":1747,"line_end":1747,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3150449158}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649378,"byte_end":649388,"line_start":1747,"line_end":1747,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649422,"byte_end":649426,"line_start":1748,"line_end":1748,"column_start":29,"column_end":33},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649418,"byte_end":649421,"line_start":1748,"line_end":1748,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210182}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649427,"byte_end":649428,"line_start":1748,"line_end":1748,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649508,"byte_end":649513,"line_start":1751,"line_end":1751,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649506,"byte_end":649507,"line_start":1751,"line_end":1751,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649487,"byte_end":649503,"line_start":1751,"line_end":1751,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649576,"byte_end":649586,"line_start":1756,"line_end":1756,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649774,"byte_end":649778,"line_start":1763,"line_end":1763,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649768,"byte_end":649773,"line_start":1763,"line_end":1763,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649779,"byte_end":649780,"line_start":1763,"line_end":1763,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2552760838}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649820,"byte_end":649821,"line_start":1764,"line_end":1764,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2552760838}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649807,"byte_end":649817,"line_start":1764,"line_end":1764,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649859,"byte_end":649867,"line_start":1765,"line_end":1765,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649847,"byte_end":649853,"line_start":1765,"line_end":1765,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649902,"byte_end":649906,"line_start":1766,"line_end":1766,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649895,"byte_end":649901,"line_start":1766,"line_end":1766,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278598}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649907,"byte_end":649908,"line_start":1766,"line_end":1766,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649988,"byte_end":649993,"line_start":1769,"line_end":1769,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649986,"byte_end":649987,"line_start":1769,"line_end":1769,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649967,"byte_end":649983,"line_start":1769,"line_end":1769,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650055,"byte_end":650065,"line_start":1773,"line_end":1773,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650252,"byte_end":650256,"line_start":1779,"line_end":1779,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650246,"byte_end":650251,"line_start":1779,"line_end":1779,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650257,"byte_end":650258,"line_start":1779,"line_end":1779,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":975702534}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650298,"byte_end":650299,"line_start":1780,"line_end":1780,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":975702534}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650285,"byte_end":650295,"line_start":1780,"line_end":1780,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650338,"byte_end":650346,"line_start":1781,"line_end":1781,"column_start":38,"column_end":46},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650325,"byte_end":650332,"line_start":1781,"line_end":1781,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650382,"byte_end":650386,"line_start":1782,"line_end":1782,"column_start":33,"column_end":37},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650374,"byte_end":650381,"line_start":1782,"line_end":1782,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650387,"byte_end":650388,"line_start":1782,"line_end":1782,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650468,"byte_end":650473,"line_start":1785,"line_end":1785,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650466,"byte_end":650467,"line_start":1785,"line_end":1785,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650447,"byte_end":650463,"line_start":1785,"line_end":1785,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650535,"byte_end":650545,"line_start":1789,"line_end":1789,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650735,"byte_end":650739,"line_start":1795,"line_end":1795,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650729,"byte_end":650734,"line_start":1795,"line_end":1795,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752134}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650740,"byte_end":650744,"line_start":1795,"line_end":1795,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":4180150790}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650784,"byte_end":650788,"line_start":1796,"line_end":1796,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4180150790}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650771,"byte_end":650781,"line_start":1796,"line_end":1796,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119174}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650826,"byte_end":650834,"line_start":1797,"line_end":1797,"column_start":37,"column_end":45},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650814,"byte_end":650820,"line_start":1797,"line_end":1797,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650869,"byte_end":650873,"line_start":1798,"line_end":1798,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650862,"byte_end":650868,"line_start":1798,"line_end":1798,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496326}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650874,"byte_end":650875,"line_start":1798,"line_end":1798,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":956303878}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650955,"byte_end":650960,"line_start":1801,"line_end":1801,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650953,"byte_end":650954,"line_start":1801,"line_end":1801,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650934,"byte_end":650950,"line_start":1801,"line_end":1801,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782470}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651042,"byte_end":651045,"line_start":1808,"line_end":1808,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3355445766}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651063,"byte_end":651066,"line_start":1809,"line_end":1809,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":3355445766}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651070,"byte_end":651074,"line_start":1809,"line_end":1809,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1358957062}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651089,"byte_end":651093,"line_start":1810,"line_end":1810,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1895827974}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":651132,"byte_end":651137,"line_start":1813,"line_end":1813,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651130,"byte_end":651131,"line_start":1813,"line_end":1813,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":956303878}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651121,"byte_end":651127,"line_start":1813,"line_end":1813,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2046822918}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":651154,"byte_end":651156,"line_start":1818,"line_end":1818,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651157,"byte_end":651160,"line_start":1818,"line_end":1818,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":2952792582}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22004,"byte_end":22010,"line_start":335,"line_end":335,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2589}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22020,"byte_end":22026,"line_start":336,"line_end":336,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682286,"byte_end":682291,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3560}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682294,"byte_end":682300,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682325,"byte_end":682330,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682333,"byte_end":682338,"line_start":4,"line_end":4,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682355,"byte_end":682359,"line_start":5,"line_end":5,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682361,"byte_end":682365,"line_start":5,"line_end":5,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":4431}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682383,"byte_end":682388,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682390,"byte_end":682393,"line_start":6,"line_end":6,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682487,"byte_end":682490,"line_start":11,"line_end":11,"column_start":18,"column_end":21},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3769}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682641,"byte_end":682651,"line_start":21,"line_end":21,"column_start":12,"column_end":22},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682652,"byte_end":682666,"line_start":21,"line_end":21,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682713,"byte_end":682716,"line_start":23,"line_end":23,"column_start":24,"column_end":27},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682717,"byte_end":682733,"line_start":23,"line_end":23,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682634,"byte_end":682639,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682677,"byte_end":682681,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682698,"byte_end":682704,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682744,"byte_end":682752,"line_start":24,"line_end":24,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682769,"byte_end":682779,"line_start":25,"line_end":25,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682802,"byte_end":682806,"line_start":28,"line_end":28,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682830,"byte_end":682835,"line_start":30,"line_end":30,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":2645}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682890,"byte_end":682894,"line_start":32,"line_end":32,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682909,"byte_end":682913,"line_start":33,"line_end":33,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682915,"byte_end":682919,"line_start":33,"line_end":33,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744431}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682920,"byte_end":682924,"line_start":33,"line_end":33,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682938,"byte_end":682946,"line_start":34,"line_end":34,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682948,"byte_end":682952,"line_start":34,"line_end":34,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073744431}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682953,"byte_end":682961,"line_start":34,"line_end":34,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682975,"byte_end":682980,"line_start":35,"line_end":35,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":682994,"byte_end":682997,"line_start":35,"line_end":35,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682982,"byte_end":682992,"line_start":35,"line_end":35,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682998,"byte_end":683012,"line_start":35,"line_end":35,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683014,"byte_end":683019,"line_start":35,"line_end":35,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683022,"byte_end":683025,"line_start":35,"line_end":35,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":3764}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683045,"byte_end":683051,"line_start":35,"line_end":35,"column_start":83,"column_end":89},"ref_id":{"krate":4,"index":5157}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683032,"byte_end":683042,"line_start":35,"line_end":35,"column_start":70,"column_end":80},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683027,"byte_end":683031,"line_start":35,"line_end":35,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":1073744431}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683070,"byte_end":683076,"line_start":36,"line_end":36,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683090,"byte_end":683095,"line_start":36,"line_end":36,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683078,"byte_end":683082,"line_start":36,"line_end":36,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744431}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683083,"byte_end":683089,"line_start":36,"line_end":36,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683111,"byte_end":683121,"line_start":37,"line_end":37,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683235,"byte_end":683238,"line_start":46,"line_end":46,"column_start":34,"column_end":37},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683259,"byte_end":683262,"line_start":46,"line_end":46,"column_start":58,"column_end":61},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683263,"byte_end":683279,"line_start":46,"line_end":46,"column_start":62,"column_end":78},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683314,"byte_end":683318,"line_start":48,"line_end":48,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683333,"byte_end":683337,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683333,"byte_end":683337,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615345}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683351,"byte_end":683359,"line_start":50,"line_end":50,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683366,"byte_end":683369,"line_start":50,"line_end":50,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683392,"byte_end":683397,"line_start":51,"line_end":51,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683411,"byte_end":683414,"line_start":51,"line_end":51,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683399,"byte_end":683409,"line_start":51,"line_end":51,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683415,"byte_end":683429,"line_start":51,"line_end":51,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683431,"byte_end":683436,"line_start":51,"line_end":51,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683439,"byte_end":683442,"line_start":51,"line_end":51,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683444,"byte_end":683449,"line_start":51,"line_end":51,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073744433}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683466,"byte_end":683472,"line_start":52,"line_end":52,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683474,"byte_end":683480,"line_start":52,"line_end":52,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873521}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683494,"byte_end":683504,"line_start":53,"line_end":53,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683609,"byte_end":683612,"line_start":58,"line_end":58,"column_start":60,"column_end":63},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683613,"byte_end":683629,"line_start":58,"line_end":58,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683664,"byte_end":683668,"line_start":60,"line_end":60,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683683,"byte_end":683687,"line_start":61,"line_end":61,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683683,"byte_end":683687,"line_start":61,"line_end":61,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615346}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683701,"byte_end":683709,"line_start":62,"line_end":62,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683726,"byte_end":683731,"line_start":63,"line_end":63,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683745,"byte_end":683748,"line_start":63,"line_end":63,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683733,"byte_end":683743,"line_start":63,"line_end":63,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683749,"byte_end":683763,"line_start":63,"line_end":63,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683765,"byte_end":683768,"line_start":63,"line_end":63,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683771,"byte_end":683774,"line_start":63,"line_end":63,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":3766}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683776,"byte_end":683781,"line_start":63,"line_end":63,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1073744434}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683798,"byte_end":683804,"line_start":64,"line_end":64,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683806,"byte_end":683812,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873522}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683826,"byte_end":683836,"line_start":65,"line_end":65,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683956,"byte_end":683959,"line_start":70,"line_end":70,"column_start":74,"column_end":77},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683960,"byte_end":683976,"line_start":70,"line_end":70,"column_start":78,"column_end":94},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684011,"byte_end":684015,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684030,"byte_end":684034,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684030,"byte_end":684034,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":268438067}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684048,"byte_end":684056,"line_start":74,"line_end":74,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684065,"byte_end":684068,"line_start":74,"line_end":74,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684074,"byte_end":684077,"line_start":74,"line_end":74,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684088,"byte_end":684091,"line_start":74,"line_end":74,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":536873523}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684106,"byte_end":684111,"line_start":75,"line_end":75,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684125,"byte_end":684128,"line_start":75,"line_end":75,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684113,"byte_end":684123,"line_start":75,"line_end":75,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684129,"byte_end":684143,"line_start":75,"line_end":75,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684145,"byte_end":684151,"line_start":75,"line_end":75,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684154,"byte_end":684157,"line_start":75,"line_end":75,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684159,"byte_end":684164,"line_start":75,"line_end":75,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1073744435}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684166,"byte_end":684169,"line_start":75,"line_end":75,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684171,"byte_end":684174,"line_start":75,"line_end":75,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":536873523}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684191,"byte_end":684197,"line_start":76,"line_end":76,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684199,"byte_end":684205,"line_start":76,"line_end":76,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1610615347}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684219,"byte_end":684229,"line_start":77,"line_end":77,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684300,"byte_end":684306,"line_start":82,"line_end":82,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684330,"byte_end":684333,"line_start":82,"line_end":82,"column_start":56,"column_end":59},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684334,"byte_end":684350,"line_start":82,"line_end":82,"column_start":60,"column_end":76},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684405,"byte_end":684413,"line_start":83,"line_end":83,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":1073744436}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684428,"byte_end":684432,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684428,"byte_end":684432,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684439,"byte_end":684440,"line_start":84,"line_end":84,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":3489663540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684454,"byte_end":684458,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684454,"byte_end":684458,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684512,"byte_end":684525,"line_start":88,"line_end":88,"column_start":34,"column_end":47},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684507,"byte_end":684510,"line_start":88,"line_end":88,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684526,"byte_end":684534,"line_start":88,"line_end":88,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":2818574900}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684597,"byte_end":684603,"line_start":91,"line_end":91,"column_start":19,"column_end":25},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684587,"byte_end":684596,"line_start":91,"line_end":91,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":4160752180}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684625,"byte_end":684629,"line_start":93,"line_end":93,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684644,"byte_end":684648,"line_start":94,"line_end":94,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684644,"byte_end":684648,"line_start":94,"line_end":94,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615348}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684662,"byte_end":684670,"line_start":95,"line_end":95,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684677,"byte_end":684680,"line_start":95,"line_end":95,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684703,"byte_end":684708,"line_start":96,"line_end":96,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684722,"byte_end":684725,"line_start":96,"line_end":96,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684710,"byte_end":684720,"line_start":96,"line_end":96,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684726,"byte_end":684740,"line_start":96,"line_end":96,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684742,"byte_end":684747,"line_start":96,"line_end":96,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684750,"byte_end":684753,"line_start":96,"line_end":96,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684755,"byte_end":684764,"line_start":96,"line_end":96,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4160752180}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684781,"byte_end":684787,"line_start":97,"line_end":97,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684789,"byte_end":684795,"line_start":97,"line_end":97,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873524}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684809,"byte_end":684819,"line_start":98,"line_end":98,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684921,"byte_end":684924,"line_start":103,"line_end":103,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684925,"byte_end":684941,"line_start":103,"line_end":103,"column_start":61,"column_end":77},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684976,"byte_end":684980,"line_start":105,"line_end":105,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684995,"byte_end":684999,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684995,"byte_end":684999,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615350}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685013,"byte_end":685021,"line_start":107,"line_end":107,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685028,"byte_end":685031,"line_start":107,"line_end":107,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685054,"byte_end":685059,"line_start":108,"line_end":108,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685073,"byte_end":685076,"line_start":108,"line_end":108,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685061,"byte_end":685071,"line_start":108,"line_end":108,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685077,"byte_end":685091,"line_start":108,"line_end":108,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685093,"byte_end":685099,"line_start":108,"line_end":108,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685102,"byte_end":685105,"line_start":108,"line_end":108,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685107,"byte_end":685112,"line_start":108,"line_end":108,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1073744438}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685114,"byte_end":685117,"line_start":108,"line_end":108,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":3769}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685137,"byte_end":685143,"line_start":109,"line_end":109,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685145,"byte_end":685151,"line_start":109,"line_end":109,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873526}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685165,"byte_end":685175,"line_start":110,"line_end":110,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685237,"byte_end":685243,"line_start":114,"line_end":114,"column_start":39,"column_end":45},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685255,"byte_end":685261,"line_start":114,"line_end":114,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685268,"byte_end":685276,"line_start":114,"line_end":114,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685309,"byte_end":685317,"line_start":115,"line_end":115,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":536873527}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685332,"byte_end":685336,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685332,"byte_end":685336,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685343,"byte_end":685344,"line_start":116,"line_end":116,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2415921719}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685358,"byte_end":685362,"line_start":117,"line_end":117,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685358,"byte_end":685362,"line_start":117,"line_end":117,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685416,"byte_end":685429,"line_start":120,"line_end":120,"column_start":34,"column_end":47},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685411,"byte_end":685414,"line_start":120,"line_end":120,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685430,"byte_end":685438,"line_start":120,"line_end":120,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":3355445815}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685501,"byte_end":685507,"line_start":123,"line_end":123,"column_start":19,"column_end":25},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685491,"byte_end":685500,"line_start":123,"line_end":123,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3087010359}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685529,"byte_end":685531,"line_start":125,"line_end":125,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685532,"byte_end":685536,"line_start":125,"line_end":125,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685551,"byte_end":685555,"line_start":126,"line_end":126,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685557,"byte_end":685561,"line_start":126,"line_end":126,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744439}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685562,"byte_end":685566,"line_start":126,"line_end":126,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3778}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685580,"byte_end":685588,"line_start":127,"line_end":127,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3780}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685595,"byte_end":685598,"line_start":127,"line_end":127,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685621,"byte_end":685626,"line_start":128,"line_end":128,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3777}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685640,"byte_end":685643,"line_start":128,"line_end":128,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685628,"byte_end":685638,"line_start":128,"line_end":128,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685644,"byte_end":685658,"line_start":128,"line_end":128,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685660,"byte_end":685665,"line_start":128,"line_end":128,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685668,"byte_end":685671,"line_start":128,"line_end":128,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":3764}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685673,"byte_end":685682,"line_start":128,"line_end":128,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3087010359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685699,"byte_end":685705,"line_start":129,"line_end":129,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685707,"byte_end":685711,"line_start":129,"line_end":129,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744439}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685712,"byte_end":685718,"line_start":129,"line_end":129,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685732,"byte_end":685742,"line_start":130,"line_end":130,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3781}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685853,"byte_end":685856,"line_start":135,"line_end":135,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685842,"byte_end":685846,"line_start":135,"line_end":135,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744441}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685847,"byte_end":685852,"line_start":135,"line_end":135,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685877,"byte_end":685887,"line_start":137,"line_end":137,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050809}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685918,"byte_end":685924,"line_start":138,"line_end":138,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685902,"byte_end":685916,"line_start":138,"line_end":138,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686033,"byte_end":686039,"line_start":143,"line_end":143,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686044,"byte_end":686052,"line_start":143,"line_end":143,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686108,"byte_end":686111,"line_start":145,"line_end":145,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686097,"byte_end":686101,"line_start":145,"line_end":145,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744442}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686102,"byte_end":686107,"line_start":145,"line_end":145,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686132,"byte_end":686142,"line_start":147,"line_end":147,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":134220346}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686173,"byte_end":686178,"line_start":148,"line_end":148,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686157,"byte_end":686171,"line_start":148,"line_end":148,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686232,"byte_end":686235,"line_start":150,"line_end":150,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686246,"byte_end":686257,"line_start":150,"line_end":150,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686236,"byte_end":686244,"line_start":150,"line_end":150,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686302,"byte_end":686305,"line_start":152,"line_end":152,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686286,"byte_end":686300,"line_start":152,"line_end":152,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686359,"byte_end":686362,"line_start":154,"line_end":154,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686373,"byte_end":686384,"line_start":154,"line_end":154,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":3712}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686363,"byte_end":686371,"line_start":154,"line_end":154,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686438,"byte_end":686441,"line_start":156,"line_end":156,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3769}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686429,"byte_end":686435,"line_start":156,"line_end":156,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686413,"byte_end":686427,"line_start":156,"line_end":156,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686476,"byte_end":686483,"line_start":157,"line_end":157,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":536873530}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686470,"byte_end":686473,"line_start":157,"line_end":157,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1946159674}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686502,"byte_end":686504,"line_start":159,"line_end":159,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686648,"byte_end":686651,"line_start":167,"line_end":167,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686637,"byte_end":686641,"line_start":167,"line_end":167,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744443}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686642,"byte_end":686647,"line_start":167,"line_end":167,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686671,"byte_end":686681,"line_start":168,"line_end":168,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":134220347}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686712,"byte_end":686717,"line_start":169,"line_end":169,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686696,"byte_end":686710,"line_start":169,"line_end":169,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686769,"byte_end":686772,"line_start":170,"line_end":170,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686778,"byte_end":686781,"line_start":170,"line_end":170,"column_start":49,"column_end":52},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686792,"byte_end":686795,"line_start":170,"line_end":170,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":536873531}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686746,"byte_end":686750,"line_start":170,"line_end":170,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744443}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686751,"byte_end":686759,"line_start":170,"line_end":170,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":3780}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686841,"byte_end":686844,"line_start":172,"line_end":172,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686825,"byte_end":686839,"line_start":172,"line_end":172,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686925,"byte_end":686931,"line_start":175,"line_end":175,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686909,"byte_end":686923,"line_start":175,"line_end":175,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686983,"byte_end":686986,"line_start":176,"line_end":176,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686992,"byte_end":686995,"line_start":176,"line_end":176,"column_start":49,"column_end":52},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687006,"byte_end":687009,"line_start":176,"line_end":176,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":536873531}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686960,"byte_end":686964,"line_start":176,"line_end":176,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744443}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686965,"byte_end":686973,"line_start":176,"line_end":176,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":3780}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687157,"byte_end":687160,"line_start":184,"line_end":184,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687146,"byte_end":687150,"line_start":184,"line_end":184,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744444}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687151,"byte_end":687156,"line_start":184,"line_end":184,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687180,"byte_end":687190,"line_start":185,"line_end":185,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050812}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687229,"byte_end":687232,"line_start":186,"line_end":186,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687221,"byte_end":687226,"line_start":186,"line_end":186,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687205,"byte_end":687219,"line_start":186,"line_end":186,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687241,"byte_end":687244,"line_start":186,"line_end":186,"column_start":49,"column_end":52},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687237,"byte_end":687240,"line_start":186,"line_end":186,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":671091260}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687276,"byte_end":687279,"line_start":187,"line_end":187,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687260,"byte_end":687274,"line_start":187,"line_end":187,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687330,"byte_end":687333,"line_start":188,"line_end":188,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3769}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687321,"byte_end":687327,"line_start":188,"line_end":188,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687305,"byte_end":687319,"line_start":188,"line_end":188,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687344,"byte_end":687347,"line_start":188,"line_end":188,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":3288336956}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687421,"byte_end":687424,"line_start":193,"line_end":193,"column_start":35,"column_end":38},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687425,"byte_end":687441,"line_start":193,"line_end":193,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687464,"byte_end":687468,"line_start":194,"line_end":194,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073744445}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687469,"byte_end":687475,"line_start":194,"line_end":194,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687552,"byte_end":687568,"line_start":198,"line_end":198,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687592,"byte_end":687596,"line_start":199,"line_end":199,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744446}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687597,"byte_end":687603,"line_start":199,"line_end":199,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687607,"byte_end":687610,"line_start":199,"line_end":199,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873534}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687691,"byte_end":687697,"line_start":203,"line_end":203,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687705,"byte_end":687713,"line_start":203,"line_end":203,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687746,"byte_end":687752,"line_start":205,"line_end":205,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687741,"byte_end":687745,"line_start":205,"line_end":205,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073744447}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687802,"byte_end":687810,"line_start":208,"line_end":208,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3489663551}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687819,"byte_end":687822,"line_start":208,"line_end":208,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687813,"byte_end":687818,"line_start":208,"line_end":208,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":536873535}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687828,"byte_end":687832,"line_start":208,"line_end":208,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744447}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687833,"byte_end":687841,"line_start":208,"line_end":208,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3780}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687863,"byte_end":687866,"line_start":209,"line_end":209,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687877,"byte_end":687893,"line_start":209,"line_end":209,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3714}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687867,"byte_end":687875,"line_start":209,"line_end":209,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687957,"byte_end":687960,"line_start":212,"line_end":212,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687946,"byte_end":687950,"line_start":212,"line_end":212,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744447}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687951,"byte_end":687956,"line_start":212,"line_end":212,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687981,"byte_end":687991,"line_start":214,"line_end":214,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1946159679}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688030,"byte_end":688033,"line_start":215,"line_end":215,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688022,"byte_end":688027,"line_start":215,"line_end":215,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688006,"byte_end":688020,"line_start":215,"line_end":215,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688061,"byte_end":688078,"line_start":216,"line_end":216,"column_start":21,"column_end":38},"ref_id":{"krate":4,"index":7192}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688057,"byte_end":688060,"line_start":216,"line_end":216,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":738200127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688079,"byte_end":688084,"line_start":216,"line_end":216,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":536873535}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688130,"byte_end":688133,"line_start":218,"line_end":218,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688114,"byte_end":688128,"line_start":218,"line_end":218,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688169,"byte_end":688172,"line_start":219,"line_end":219,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688183,"byte_end":688197,"line_start":219,"line_end":219,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":3710}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688173,"byte_end":688181,"line_start":219,"line_end":219,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688251,"byte_end":688254,"line_start":221,"line_end":221,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3768}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688256,"byte_end":688259,"line_start":221,"line_end":221,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3769}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688242,"byte_end":688248,"line_start":221,"line_end":221,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688226,"byte_end":688240,"line_start":221,"line_end":221,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688307,"byte_end":688310,"line_start":222,"line_end":222,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":167774783}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688344,"byte_end":688347,"line_start":223,"line_end":223,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688338,"byte_end":688343,"line_start":223,"line_end":223,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536873535}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688331,"byte_end":688334,"line_start":223,"line_end":223,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1241516607}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688394,"byte_end":688403,"line_start":224,"line_end":224,"column_start":44,"column_end":53},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688387,"byte_end":688391,"line_start":224,"line_end":224,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688381,"byte_end":688386,"line_start":224,"line_end":224,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536873535}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688447,"byte_end":688448,"line_start":225,"line_end":225,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":4127197759}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688428,"byte_end":688429,"line_start":225,"line_end":225,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2046822975}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688430,"byte_end":688438,"line_start":225,"line_end":225,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":3489663551}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688441,"byte_end":688442,"line_start":225,"line_end":225,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1979714111}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688511,"byte_end":688513,"line_start":232,"line_end":232,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688514,"byte_end":688522,"line_start":232,"line_end":232,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3489663551}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688585,"byte_end":688588,"line_start":236,"line_end":236,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688597,"byte_end":688603,"line_start":236,"line_end":236,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688611,"byte_end":688619,"line_start":236,"line_end":236,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688636,"byte_end":688649,"line_start":237,"line_end":237,"column_start":14,"column_end":27},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688631,"byte_end":688635,"line_start":237,"line_end":237,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744448}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688651,"byte_end":688656,"line_start":237,"line_end":237,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536873536}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688774,"byte_end":688777,"line_start":242,"line_end":242,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688763,"byte_end":688767,"line_start":242,"line_end":242,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744449}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688768,"byte_end":688773,"line_start":242,"line_end":242,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688797,"byte_end":688807,"line_start":243,"line_end":243,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050817}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688846,"byte_end":688849,"line_start":244,"line_end":244,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688838,"byte_end":688843,"line_start":244,"line_end":244,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688822,"byte_end":688836,"line_start":244,"line_end":244,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688856,"byte_end":688859,"line_start":244,"line_end":244,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":671091265}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688860,"byte_end":688862,"line_start":244,"line_end":244,"column_start":51,"column_end":53},"ref_id":{"krate":1,"index":37850}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688899,"byte_end":688902,"line_start":245,"line_end":245,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3766}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688893,"byte_end":688896,"line_start":245,"line_end":245,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688877,"byte_end":688891,"line_start":245,"line_end":245,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688920,"byte_end":688923,"line_start":245,"line_end":245,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":4160752193}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688964,"byte_end":688967,"line_start":246,"line_end":246,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3768}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688955,"byte_end":688961,"line_start":246,"line_end":246,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688939,"byte_end":688953,"line_start":246,"line_end":246,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688989,"byte_end":688992,"line_start":246,"line_end":246,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":872417857}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689134,"byte_end":689137,"line_start":252,"line_end":252,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689123,"byte_end":689127,"line_start":252,"line_end":252,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744450}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689128,"byte_end":689133,"line_start":252,"line_end":252,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689157,"byte_end":689167,"line_start":253,"line_end":253,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050818}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689206,"byte_end":689209,"line_start":254,"line_end":254,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689198,"byte_end":689203,"line_start":254,"line_end":254,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689182,"byte_end":689196,"line_start":254,"line_end":254,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689220,"byte_end":689223,"line_start":254,"line_end":254,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":671091266}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689224,"byte_end":689226,"line_start":254,"line_end":254,"column_start":55,"column_end":57},"ref_id":{"krate":1,"index":37850}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689263,"byte_end":689266,"line_start":255,"line_end":255,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3766}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689257,"byte_end":689260,"line_start":255,"line_end":255,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689241,"byte_end":689255,"line_start":255,"line_end":255,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689314,"byte_end":689317,"line_start":256,"line_end":256,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":4160752194}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689349,"byte_end":689358,"line_start":257,"line_end":257,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3825207874}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689395,"byte_end":689402,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":2348812866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689455,"byte_end":689458,"line_start":260,"line_end":260,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3768}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689446,"byte_end":689452,"line_start":260,"line_end":260,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689430,"byte_end":689444,"line_start":260,"line_end":260,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689484,"byte_end":689487,"line_start":260,"line_end":260,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3690990146}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689578,"byte_end":689584,"line_start":265,"line_end":265,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689626,"byte_end":689633,"line_start":268,"line_end":268,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873539}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689660,"byte_end":689664,"line_start":269,"line_end":269,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689686,"byte_end":689690,"line_start":272,"line_end":272,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689696,"byte_end":689706,"line_start":272,"line_end":272,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689691,"byte_end":689695,"line_start":272,"line_end":272,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073744451}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689709,"byte_end":689716,"line_start":272,"line_end":272,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536873539}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689797,"byte_end":689803,"line_start":276,"line_end":276,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689851,"byte_end":689858,"line_start":279,"line_end":279,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689885,"byte_end":689889,"line_start":280,"line_end":280,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689932,"byte_end":689942,"line_start":283,"line_end":283,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689927,"byte_end":689931,"line_start":283,"line_end":283,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744452}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689969,"byte_end":689972,"line_start":285,"line_end":285,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689958,"byte_end":689968,"line_start":285,"line_end":285,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655812}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689977,"byte_end":689984,"line_start":285,"line_end":285,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690010,"byte_end":690014,"line_start":286,"line_end":286,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690048,"byte_end":690058,"line_start":289,"line_end":289,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655812}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690081,"line_start":289,"line_end":289,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690066,"line_start":289,"line_end":289,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690066,"line_start":289,"line_end":289,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873540}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690068,"byte_end":690081,"line_start":289,"line_end":289,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690069,"byte_end":690076,"line_start":289,"line_end":289,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690093,"byte_end":690097,"line_start":291,"line_end":291,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690110,"byte_end":690115,"line_start":291,"line_end":291,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506500}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690231,"byte_end":690237,"line_start":295,"line_end":295,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690285,"byte_end":690292,"line_start":298,"line_end":298,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873543}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690319,"byte_end":690323,"line_start":299,"line_end":299,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690366,"byte_end":690376,"line_start":302,"line_end":302,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690361,"byte_end":690365,"line_start":302,"line_end":302,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744455}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690403,"byte_end":690406,"line_start":304,"line_end":304,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690392,"byte_end":690402,"line_start":304,"line_end":304,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655815}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690411,"byte_end":690418,"line_start":304,"line_end":304,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873543}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690444,"byte_end":690448,"line_start":305,"line_end":305,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690482,"byte_end":690492,"line_start":308,"line_end":308,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655815}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690515,"line_start":308,"line_end":308,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690500,"line_start":308,"line_end":308,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690500,"line_start":308,"line_end":308,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873543}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690502,"byte_end":690515,"line_start":308,"line_end":308,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690503,"byte_end":690510,"line_start":308,"line_end":308,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873543}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690527,"byte_end":690531,"line_start":310,"line_end":310,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690544,"byte_end":690549,"line_start":310,"line_end":310,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506503}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690665,"byte_end":690671,"line_start":314,"line_end":314,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690719,"byte_end":690726,"line_start":317,"line_end":317,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873546}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690753,"byte_end":690757,"line_start":318,"line_end":318,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690800,"byte_end":690810,"line_start":321,"line_end":321,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690795,"byte_end":690799,"line_start":321,"line_end":321,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744458}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690837,"byte_end":690840,"line_start":323,"line_end":323,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690826,"byte_end":690836,"line_start":323,"line_end":323,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655818}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690845,"byte_end":690852,"line_start":323,"line_end":323,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873546}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690878,"byte_end":690882,"line_start":324,"line_end":324,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690916,"byte_end":690926,"line_start":327,"line_end":327,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655818}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690949,"line_start":327,"line_end":327,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690934,"line_start":327,"line_end":327,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690934,"line_start":327,"line_end":327,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873546}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690936,"byte_end":690949,"line_start":327,"line_end":327,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690937,"byte_end":690944,"line_start":327,"line_end":327,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873546}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690961,"byte_end":690965,"line_start":329,"line_end":329,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690978,"byte_end":690983,"line_start":329,"line_end":329,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506506}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691100,"byte_end":691106,"line_start":333,"line_end":333,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691155,"byte_end":691162,"line_start":336,"line_end":336,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873549}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691189,"byte_end":691193,"line_start":337,"line_end":337,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691236,"byte_end":691246,"line_start":340,"line_end":340,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691231,"byte_end":691235,"line_start":340,"line_end":340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744461}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691273,"byte_end":691276,"line_start":342,"line_end":342,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691262,"byte_end":691272,"line_start":342,"line_end":342,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655821}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691281,"byte_end":691288,"line_start":342,"line_end":342,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873549}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691315,"byte_end":691319,"line_start":343,"line_end":343,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691353,"byte_end":691363,"line_start":346,"line_end":346,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655821}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691387,"line_start":346,"line_end":346,"column_start":33,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691371,"line_start":346,"line_end":346,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691371,"line_start":346,"line_end":346,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873549}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691373,"byte_end":691387,"line_start":346,"line_end":346,"column_start":42,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691374,"byte_end":691381,"line_start":346,"line_end":346,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873549}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691399,"byte_end":691403,"line_start":348,"line_end":348,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691416,"byte_end":691421,"line_start":348,"line_end":348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506509}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691539,"byte_end":691545,"line_start":352,"line_end":352,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691594,"byte_end":691601,"line_start":355,"line_end":355,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873552}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691628,"byte_end":691632,"line_start":356,"line_end":356,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691675,"byte_end":691685,"line_start":359,"line_end":359,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691670,"byte_end":691674,"line_start":359,"line_end":359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744464}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691712,"byte_end":691715,"line_start":361,"line_end":361,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691701,"byte_end":691711,"line_start":361,"line_end":361,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655824}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691720,"byte_end":691727,"line_start":361,"line_end":361,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873552}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691754,"byte_end":691758,"line_start":362,"line_end":362,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691792,"byte_end":691802,"line_start":365,"line_end":365,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655824}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691826,"line_start":365,"line_end":365,"column_start":33,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691810,"line_start":365,"line_end":365,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691810,"line_start":365,"line_end":365,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873552}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691812,"byte_end":691826,"line_start":365,"line_end":365,"column_start":42,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691813,"byte_end":691820,"line_start":365,"line_end":365,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873552}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691838,"byte_end":691842,"line_start":367,"line_end":367,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691855,"byte_end":691860,"line_start":367,"line_end":367,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506512}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691931,"byte_end":691934,"line_start":370,"line_end":370,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691972,"byte_end":691982,"line_start":371,"line_end":371,"column_start":32,"column_end":42},"ref_id":{"krate":1,"index":4691}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691961,"byte_end":691965,"line_start":371,"line_end":371,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744467}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691966,"byte_end":691971,"line_start":371,"line_end":371,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3777}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692000,"byte_end":692005,"line_start":372,"line_end":372,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1342179923}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692044,"byte_end":692047,"line_start":373,"line_end":373,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692036,"byte_end":692041,"line_start":373,"line_end":373,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3763}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692020,"byte_end":692034,"line_start":373,"line_end":373,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692053,"byte_end":692056,"line_start":373,"line_end":373,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":134220371}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692092,"byte_end":692095,"line_start":374,"line_end":374,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3766}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692086,"byte_end":692089,"line_start":374,"line_end":374,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3765}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692070,"byte_end":692084,"line_start":374,"line_end":374,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":692106,"byte_end":692110,"line_start":374,"line_end":374,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692101,"byte_end":692104,"line_start":374,"line_end":374,"column_start":44,"column_end":47},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692122,"byte_end":692125,"line_start":374,"line_end":374,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":402655827}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692167,"byte_end":692170,"line_start":375,"line_end":375,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3768}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692158,"byte_end":692164,"line_start":375,"line_end":375,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692142,"byte_end":692156,"line_start":375,"line_end":375,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3762}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":692186,"byte_end":692190,"line_start":375,"line_end":375,"column_start":57,"column_end":61},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692181,"byte_end":692184,"line_start":375,"line_end":375,"column_start":52,"column_end":55},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692202,"byte_end":692205,"line_start":375,"line_end":375,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2483030611}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22036,"byte_end":22043,"line_start":337,"line_end":337,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":2644}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692350,"byte_end":692355,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692379,"byte_end":692384,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692386,"byte_end":692391,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692407,"byte_end":692412,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692414,"byte_end":692420,"line_start":7,"line_end":7,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692434,"byte_end":692439,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692441,"byte_end":692444,"line_start":8,"line_end":8,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3786}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692708,"byte_end":692715,"line_start":26,"line_end":26,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3784}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692739,"byte_end":692742,"line_start":27,"line_end":27,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692743,"byte_end":692746,"line_start":27,"line_end":27,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692774,"byte_end":692777,"line_start":28,"line_end":28,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692792,"byte_end":692795,"line_start":28,"line_end":28,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692817,"byte_end":692820,"line_start":29,"line_end":29,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692821,"byte_end":692824,"line_start":29,"line_end":29,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692847,"byte_end":692850,"line_start":30,"line_end":30,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692851,"byte_end":692854,"line_start":30,"line_end":30,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692880,"byte_end":692883,"line_start":31,"line_end":31,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692884,"byte_end":692887,"line_start":31,"line_end":31,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692911,"byte_end":692918,"line_start":32,"line_end":32,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3784}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692941,"byte_end":692948,"line_start":33,"line_end":33,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692702,"byte_end":692706,"line_start":26,"line_end":26,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3804}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692732,"byte_end":692737,"line_start":27,"line_end":27,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3806}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692764,"byte_end":692768,"line_start":28,"line_end":28,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3808}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692780,"byte_end":692786,"line_start":28,"line_end":28,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3809}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692810,"byte_end":692815,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3811}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692840,"byte_end":692845,"line_start":30,"line_end":30,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3813}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692873,"byte_end":692878,"line_start":31,"line_end":31,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":3815}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692905,"byte_end":692909,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3817}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692935,"byte_end":692939,"line_start":33,"line_end":33,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3819}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693288,"byte_end":693304,"line_start":51,"line_end":51,"column_start":12,"column_end":28},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693430,"byte_end":693436,"line_start":60,"line_end":60,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693437,"byte_end":693440,"line_start":60,"line_end":60,"column_start":41,"column_end":44},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693448,"byte_end":693456,"line_start":60,"line_end":60,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693484,"byte_end":693487,"line_start":61,"line_end":61,"column_start":25,"column_end":28},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693501,"byte_end":693504,"line_start":61,"line_end":61,"column_start":42,"column_end":45},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693496,"byte_end":693499,"line_start":61,"line_end":61,"column_start":37,"column_end":40},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693521,"byte_end":693536,"line_start":62,"line_end":62,"column_start":14,"column_end":29},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693516,"byte_end":693519,"line_start":62,"line_end":62,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693545,"byte_end":693551,"line_start":62,"line_end":62,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1879050875}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693553,"byte_end":693558,"line_start":62,"line_end":62,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744507}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693560,"byte_end":693567,"line_start":62,"line_end":62,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693570,"byte_end":693575,"line_start":62,"line_end":62,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693580,"byte_end":693583,"line_start":62,"line_end":62,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":3786}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693591,"byte_end":693594,"line_start":62,"line_end":62,"column_start":84,"column_end":87},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693585,"byte_end":693590,"line_start":62,"line_end":62,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1073744507}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693610,"byte_end":693612,"line_start":63,"line_end":63,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693613,"byte_end":693619,"line_start":63,"line_end":63,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1879050875}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693711,"byte_end":693714,"line_start":67,"line_end":67,"column_start":55,"column_end":58},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693715,"byte_end":693718,"line_start":67,"line_end":67,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693740,"byte_end":693747,"line_start":67,"line_end":67,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":3784}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693752,"byte_end":693758,"line_start":67,"line_end":67,"column_start":96,"column_end":102},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693763,"byte_end":693771,"line_start":67,"line_end":67,"column_start":107,"column_end":115},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693787,"byte_end":693792,"line_start":69,"line_end":69,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693820,"byte_end":693823,"line_start":70,"line_end":70,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693834,"byte_end":693848,"line_start":70,"line_end":70,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":3716}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693824,"byte_end":693832,"line_start":70,"line_end":70,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693886,"byte_end":693895,"line_start":73,"line_end":73,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2676}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693911,"byte_end":693916,"line_start":74,"line_end":74,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693918,"byte_end":693921,"line_start":74,"line_end":74,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693922,"byte_end":693927,"line_start":74,"line_end":74,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693942,"byte_end":693945,"line_start":75,"line_end":75,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693947,"byte_end":693950,"line_start":75,"line_end":75,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693951,"byte_end":693956,"line_start":75,"line_end":75,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693971,"byte_end":693976,"line_start":76,"line_end":76,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693996,"byte_end":694005,"line_start":76,"line_end":76,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693978,"byte_end":693994,"line_start":76,"line_end":76,"column_start":20,"column_end":36},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694019,"byte_end":694026,"line_start":77,"line_end":77,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694047,"byte_end":694052,"line_start":78,"line_end":78,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694087,"byte_end":694090,"line_start":81,"line_end":81,"column_start":20,"column_end":23},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":694114,"byte_end":694121,"line_start":81,"line_end":81,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":694106,"byte_end":694111,"line_start":81,"line_end":81,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":12644}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694099,"byte_end":694105,"line_start":81,"line_end":81,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694140,"byte_end":694146,"line_start":83,"line_end":83,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694147,"byte_end":694150,"line_start":83,"line_end":83,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694153,"byte_end":694156,"line_start":83,"line_end":83,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694157,"byte_end":694160,"line_start":83,"line_end":83,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694203,"byte_end":694208,"line_start":84,"line_end":84,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1543506556}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694209,"byte_end":694215,"line_start":84,"line_end":84,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694216,"byte_end":694219,"line_start":84,"line_end":84,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694239,"byte_end":694248,"line_start":86,"line_end":86,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694260,"byte_end":694266,"line_start":86,"line_end":86,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694267,"byte_end":694270,"line_start":86,"line_end":86,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694277,"byte_end":694280,"line_start":86,"line_end":86,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694281,"byte_end":694284,"line_start":86,"line_end":86,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694289,"byte_end":694298,"line_start":86,"line_end":86,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694309,"byte_end":694314,"line_start":86,"line_end":86,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":1543506556}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694315,"byte_end":694321,"line_start":86,"line_end":86,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694322,"byte_end":694325,"line_start":86,"line_end":86,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694375,"byte_end":694384,"line_start":87,"line_end":87,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694397,"byte_end":694406,"line_start":87,"line_end":87,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694418,"byte_end":694424,"line_start":87,"line_end":87,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694425,"byte_end":694428,"line_start":87,"line_end":87,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694431,"byte_end":694434,"line_start":87,"line_end":87,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694435,"byte_end":694438,"line_start":87,"line_end":87,"column_start":84,"column_end":87},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694486,"byte_end":694491,"line_start":88,"line_end":88,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1543506556}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694492,"byte_end":694498,"line_start":88,"line_end":88,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694499,"byte_end":694502,"line_start":88,"line_end":88,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694473,"byte_end":694482,"line_start":88,"line_end":88,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694525,"byte_end":694531,"line_start":89,"line_end":89,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694532,"byte_end":694535,"line_start":89,"line_end":89,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694593,"byte_end":694599,"line_start":93,"line_end":93,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694600,"byte_end":694605,"line_start":93,"line_end":93,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694642,"byte_end":694651,"line_start":94,"line_end":94,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694624,"byte_end":694640,"line_start":94,"line_end":94,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694642,"byte_end":694651,"line_start":94,"line_end":94,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694624,"byte_end":694640,"line_start":94,"line_end":94,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694685,"byte_end":694694,"line_start":96,"line_end":96,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694788,"byte_end":694794,"line_start":98,"line_end":98,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694795,"byte_end":694798,"line_start":98,"line_end":98,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694773,"byte_end":694779,"line_start":98,"line_end":98,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694780,"byte_end":694785,"line_start":98,"line_end":98,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694861,"byte_end":694866,"line_start":99,"line_end":99,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694843,"byte_end":694859,"line_start":99,"line_end":99,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694828,"byte_end":694834,"line_start":99,"line_end":99,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694835,"byte_end":694840,"line_start":99,"line_end":99,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694986,"byte_end":694992,"line_start":102,"line_end":102,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694993,"byte_end":694996,"line_start":102,"line_end":102,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694971,"byte_end":694977,"line_start":102,"line_end":102,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694978,"byte_end":694983,"line_start":102,"line_end":102,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695059,"byte_end":695064,"line_start":103,"line_end":103,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695041,"byte_end":695057,"line_start":103,"line_end":103,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695026,"byte_end":695032,"line_start":103,"line_end":103,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695033,"byte_end":695038,"line_start":103,"line_end":103,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695185,"byte_end":695191,"line_start":106,"line_end":106,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695192,"byte_end":695195,"line_start":106,"line_end":106,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695170,"byte_end":695176,"line_start":106,"line_end":106,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695177,"byte_end":695182,"line_start":106,"line_end":106,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695258,"byte_end":695264,"line_start":107,"line_end":107,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695240,"byte_end":695256,"line_start":107,"line_end":107,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695225,"byte_end":695231,"line_start":107,"line_end":107,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695232,"byte_end":695237,"line_start":107,"line_end":107,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695373,"byte_end":695379,"line_start":110,"line_end":110,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695380,"byte_end":695383,"line_start":110,"line_end":110,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695358,"byte_end":695364,"line_start":110,"line_end":110,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695365,"byte_end":695370,"line_start":110,"line_end":110,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695432,"byte_end":695448,"line_start":111,"line_end":111,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695450,"byte_end":695455,"line_start":111,"line_end":111,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695458,"byte_end":695466,"line_start":111,"line_end":111,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":2673}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695468,"byte_end":695474,"line_start":111,"line_end":111,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695475,"byte_end":695478,"line_start":111,"line_end":111,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695417,"byte_end":695423,"line_start":111,"line_end":111,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695424,"byte_end":695429,"line_start":111,"line_end":111,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695510,"byte_end":695516,"line_start":112,"line_end":112,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695517,"byte_end":695522,"line_start":112,"line_end":112,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695636,"byte_end":695642,"line_start":115,"line_end":115,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695643,"byte_end":695646,"line_start":115,"line_end":115,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695621,"byte_end":695627,"line_start":115,"line_end":115,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695628,"byte_end":695633,"line_start":115,"line_end":115,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695695,"byte_end":695711,"line_start":116,"line_end":116,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695713,"byte_end":695719,"line_start":116,"line_end":116,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695722,"byte_end":695730,"line_start":116,"line_end":116,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2663}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695732,"byte_end":695738,"line_start":116,"line_end":116,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695739,"byte_end":695742,"line_start":116,"line_end":116,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695680,"byte_end":695686,"line_start":116,"line_end":116,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695687,"byte_end":695692,"line_start":116,"line_end":116,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695774,"byte_end":695780,"line_start":117,"line_end":117,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695781,"byte_end":695786,"line_start":117,"line_end":117,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695901,"byte_end":695907,"line_start":120,"line_end":120,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695908,"byte_end":695911,"line_start":120,"line_end":120,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695886,"byte_end":695892,"line_start":120,"line_end":120,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695893,"byte_end":695898,"line_start":120,"line_end":120,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695960,"byte_end":695976,"line_start":121,"line_end":121,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695978,"byte_end":695990,"line_start":121,"line_end":121,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695993,"byte_end":696001,"line_start":121,"line_end":121,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":2667}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696003,"byte_end":696009,"line_start":121,"line_end":121,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696010,"byte_end":696013,"line_start":121,"line_end":121,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695945,"byte_end":695951,"line_start":121,"line_end":121,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695952,"byte_end":695957,"line_start":121,"line_end":121,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696124,"byte_end":696130,"line_start":124,"line_end":124,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696131,"byte_end":696134,"line_start":124,"line_end":124,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696109,"byte_end":696115,"line_start":124,"line_end":124,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696116,"byte_end":696121,"line_start":124,"line_end":124,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696183,"byte_end":696199,"line_start":125,"line_end":125,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696201,"byte_end":696213,"line_start":125,"line_end":125,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696216,"byte_end":696224,"line_start":125,"line_end":125,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":2669}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696226,"byte_end":696232,"line_start":125,"line_end":125,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696233,"byte_end":696236,"line_start":125,"line_end":125,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696168,"byte_end":696174,"line_start":125,"line_end":125,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696175,"byte_end":696180,"line_start":125,"line_end":125,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696340,"byte_end":696344,"line_start":128,"line_end":128,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696333,"byte_end":696339,"line_start":128,"line_end":128,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696350,"byte_end":696355,"line_start":128,"line_end":128,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696345,"byte_end":696348,"line_start":128,"line_end":128,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696457,"byte_end":696461,"line_start":131,"line_end":131,"column_start":36,"column_end":40},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696450,"byte_end":696456,"line_start":131,"line_end":131,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696467,"byte_end":696472,"line_start":131,"line_end":131,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3799}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696462,"byte_end":696465,"line_start":131,"line_end":131,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696570,"byte_end":696576,"line_start":134,"line_end":134,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696577,"byte_end":696580,"line_start":134,"line_end":134,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696587,"byte_end":696590,"line_start":134,"line_end":134,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":268438140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696591,"byte_end":696594,"line_start":134,"line_end":134,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696598,"byte_end":696603,"line_start":134,"line_end":134,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":1543506556}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696604,"byte_end":696610,"line_start":134,"line_end":134,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696611,"byte_end":696614,"line_start":134,"line_end":134,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696673,"byte_end":696677,"line_start":135,"line_end":135,"column_start":40,"column_end":44},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696666,"byte_end":696672,"line_start":135,"line_end":135,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696683,"byte_end":696688,"line_start":135,"line_end":135,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":3801}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696678,"byte_end":696681,"line_start":135,"line_end":135,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696723,"byte_end":696729,"line_start":136,"line_end":136,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696730,"byte_end":696733,"line_start":136,"line_end":136,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696876,"byte_end":696882,"line_start":140,"line_end":140,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696883,"byte_end":696886,"line_start":140,"line_end":140,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696861,"byte_end":696867,"line_start":140,"line_end":140,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696868,"byte_end":696873,"line_start":140,"line_end":140,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696935,"byte_end":696951,"line_start":141,"line_end":141,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696953,"byte_end":696959,"line_start":141,"line_end":141,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696962,"byte_end":696970,"line_start":141,"line_end":141,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2665}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696972,"byte_end":696978,"line_start":141,"line_end":141,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696979,"byte_end":696982,"line_start":141,"line_end":141,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696920,"byte_end":696926,"line_start":141,"line_end":141,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696927,"byte_end":696932,"line_start":141,"line_end":141,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697093,"byte_end":697099,"line_start":144,"line_end":144,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697100,"byte_end":697103,"line_start":144,"line_end":144,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697078,"byte_end":697084,"line_start":144,"line_end":144,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697085,"byte_end":697090,"line_start":144,"line_end":144,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2677}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697152,"byte_end":697168,"line_start":145,"line_end":145,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697170,"byte_end":697178,"line_start":145,"line_end":145,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697181,"byte_end":697189,"line_start":145,"line_end":145,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":2671}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697191,"byte_end":697197,"line_start":145,"line_end":145,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697198,"byte_end":697201,"line_start":145,"line_end":145,"column_start":90,"column_end":93},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697137,"byte_end":697143,"line_start":145,"line_end":145,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697144,"byte_end":697149,"line_start":145,"line_end":145,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697464,"byte_end":697470,"line_start":156,"line_end":156,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697446,"byte_end":697462,"line_start":156,"line_end":156,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697464,"byte_end":697470,"line_start":156,"line_end":156,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697446,"byte_end":697462,"line_start":156,"line_end":156,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697501,"byte_end":697510,"line_start":157,"line_end":157,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697522,"byte_end":697531,"line_start":157,"line_end":157,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697544,"byte_end":697553,"line_start":157,"line_end":157,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697565,"byte_end":697574,"line_start":157,"line_end":157,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697586,"byte_end":697595,"line_start":157,"line_end":157,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697607,"byte_end":697616,"line_start":157,"line_end":157,"column_start":132,"column_end":141},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697628,"byte_end":697637,"line_start":157,"line_end":157,"column_start":153,"column_end":162},"ref_id":{"krate":0,"index":167774844}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":697781,"byte_end":697785,"line_start":160,"line_end":160,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697774,"byte_end":697780,"line_start":160,"line_end":160,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697786,"byte_end":697789,"line_start":160,"line_end":160,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697791,"byte_end":697797,"line_start":160,"line_end":160,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697800,"byte_end":697804,"line_start":160,"line_end":160,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":3819}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697806,"byte_end":697813,"line_start":160,"line_end":160,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697816,"byte_end":697821,"line_start":160,"line_end":160,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697823,"byte_end":697829,"line_start":160,"line_end":160,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697830,"byte_end":697835,"line_start":160,"line_end":160,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697837,"byte_end":697840,"line_start":160,"line_end":160,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697842,"byte_end":697848,"line_start":160,"line_end":160,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697849,"byte_end":697852,"line_start":160,"line_end":160,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697915,"byte_end":697924,"line_start":161,"line_end":161,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697897,"byte_end":697913,"line_start":161,"line_end":161,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697882,"byte_end":697888,"line_start":161,"line_end":161,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697889,"byte_end":697894,"line_start":161,"line_end":161,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697950,"byte_end":697956,"line_start":162,"line_end":162,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697957,"byte_end":697960,"line_start":162,"line_end":162,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698041,"byte_end":698047,"line_start":165,"line_end":165,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2664}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698023,"byte_end":698039,"line_start":165,"line_end":165,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698084,"byte_end":698093,"line_start":166,"line_end":166,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698132,"byte_end":698138,"line_start":167,"line_end":167,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698139,"byte_end":698144,"line_start":167,"line_end":167,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698196,"byte_end":698205,"line_start":169,"line_end":169,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698244,"byte_end":698250,"line_start":170,"line_end":170,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698251,"byte_end":698256,"line_start":170,"line_end":170,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698308,"byte_end":698314,"line_start":173,"line_end":173,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698315,"byte_end":698320,"line_start":173,"line_end":173,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698373,"byte_end":698376,"line_start":174,"line_end":174,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698377,"byte_end":698380,"line_start":174,"line_end":174,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698389,"byte_end":698392,"line_start":174,"line_end":174,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698384,"byte_end":698387,"line_start":174,"line_end":174,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698425,"byte_end":698440,"line_start":175,"line_end":175,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698420,"byte_end":698423,"line_start":175,"line_end":175,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698441,"byte_end":698446,"line_start":175,"line_end":175,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698457,"byte_end":698468,"line_start":175,"line_end":175,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3191868028}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698470,"byte_end":698476,"line_start":175,"line_end":175,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698478,"byte_end":698485,"line_start":175,"line_end":175,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698488,"byte_end":698493,"line_start":175,"line_end":175,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698495,"byte_end":698501,"line_start":175,"line_end":175,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698502,"byte_end":698507,"line_start":175,"line_end":175,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698509,"byte_end":698512,"line_start":175,"line_end":175,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698514,"byte_end":698520,"line_start":175,"line_end":175,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698521,"byte_end":698524,"line_start":175,"line_end":175,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698560,"byte_end":698564,"line_start":176,"line_end":176,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698553,"byte_end":698559,"line_start":176,"line_end":176,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698565,"byte_end":698568,"line_start":176,"line_end":176,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698570,"byte_end":698576,"line_start":176,"line_end":176,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698579,"byte_end":698584,"line_start":176,"line_end":176,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":3806}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698586,"byte_end":698597,"line_start":176,"line_end":176,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3191868028}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698659,"byte_end":698668,"line_start":177,"line_end":177,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698641,"byte_end":698657,"line_start":177,"line_end":177,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698626,"byte_end":698632,"line_start":177,"line_end":177,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698633,"byte_end":698638,"line_start":177,"line_end":177,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698746,"byte_end":698751,"line_start":181,"line_end":181,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2672}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698728,"byte_end":698744,"line_start":181,"line_end":181,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698788,"byte_end":698797,"line_start":182,"line_end":182,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698836,"byte_end":698842,"line_start":183,"line_end":183,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698843,"byte_end":698848,"line_start":183,"line_end":183,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698900,"byte_end":698909,"line_start":185,"line_end":185,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698948,"byte_end":698954,"line_start":186,"line_end":186,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698955,"byte_end":698960,"line_start":186,"line_end":186,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699012,"byte_end":699018,"line_start":189,"line_end":189,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699019,"byte_end":699024,"line_start":189,"line_end":189,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699077,"byte_end":699080,"line_start":190,"line_end":190,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699081,"byte_end":699084,"line_start":190,"line_end":190,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699093,"byte_end":699096,"line_start":190,"line_end":190,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699088,"byte_end":699091,"line_start":190,"line_end":190,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699129,"byte_end":699144,"line_start":191,"line_end":191,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699124,"byte_end":699127,"line_start":191,"line_end":191,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699145,"byte_end":699150,"line_start":191,"line_end":191,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699161,"byte_end":699172,"line_start":191,"line_end":191,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":792726140}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699174,"byte_end":699180,"line_start":191,"line_end":191,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699182,"byte_end":699189,"line_start":191,"line_end":191,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699192,"byte_end":699197,"line_start":191,"line_end":191,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699199,"byte_end":699205,"line_start":191,"line_end":191,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699206,"byte_end":699211,"line_start":191,"line_end":191,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699213,"byte_end":699216,"line_start":191,"line_end":191,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699218,"byte_end":699224,"line_start":191,"line_end":191,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699225,"byte_end":699228,"line_start":191,"line_end":191,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699264,"byte_end":699268,"line_start":192,"line_end":192,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699257,"byte_end":699263,"line_start":192,"line_end":192,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699269,"byte_end":699272,"line_start":192,"line_end":192,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699274,"byte_end":699281,"line_start":192,"line_end":192,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699284,"byte_end":699289,"line_start":192,"line_end":192,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3815}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699291,"byte_end":699302,"line_start":192,"line_end":192,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":792726140}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699364,"byte_end":699373,"line_start":193,"line_end":193,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699346,"byte_end":699362,"line_start":193,"line_end":193,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699331,"byte_end":699337,"line_start":193,"line_end":193,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699338,"byte_end":699343,"line_start":193,"line_end":193,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699451,"byte_end":699457,"line_start":197,"line_end":197,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2662}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699433,"byte_end":699449,"line_start":197,"line_end":197,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699494,"byte_end":699503,"line_start":198,"line_end":198,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699542,"byte_end":699548,"line_start":199,"line_end":199,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699549,"byte_end":699554,"line_start":199,"line_end":199,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699606,"byte_end":699615,"line_start":201,"line_end":201,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699654,"byte_end":699660,"line_start":202,"line_end":202,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699661,"byte_end":699666,"line_start":202,"line_end":202,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699718,"byte_end":699724,"line_start":205,"line_end":205,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699725,"byte_end":699730,"line_start":205,"line_end":205,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699783,"byte_end":699786,"line_start":206,"line_end":206,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699787,"byte_end":699790,"line_start":206,"line_end":206,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699799,"byte_end":699802,"line_start":206,"line_end":206,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699794,"byte_end":699797,"line_start":206,"line_end":206,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699835,"byte_end":699850,"line_start":207,"line_end":207,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699830,"byte_end":699833,"line_start":207,"line_end":207,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699851,"byte_end":699856,"line_start":207,"line_end":207,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699867,"byte_end":699878,"line_start":207,"line_end":207,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3602909820}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699880,"byte_end":699886,"line_start":207,"line_end":207,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699888,"byte_end":699895,"line_start":207,"line_end":207,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699898,"byte_end":699903,"line_start":207,"line_end":207,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699905,"byte_end":699911,"line_start":207,"line_end":207,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699912,"byte_end":699917,"line_start":207,"line_end":207,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699919,"byte_end":699922,"line_start":207,"line_end":207,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699924,"byte_end":699930,"line_start":207,"line_end":207,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699931,"byte_end":699934,"line_start":207,"line_end":207,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699970,"byte_end":699974,"line_start":208,"line_end":208,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699963,"byte_end":699969,"line_start":208,"line_end":208,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699975,"byte_end":699978,"line_start":208,"line_end":208,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699980,"byte_end":699984,"line_start":208,"line_end":208,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699987,"byte_end":699992,"line_start":208,"line_end":208,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3811}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699994,"byte_end":700005,"line_start":208,"line_end":208,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3602909820}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700067,"byte_end":700076,"line_start":209,"line_end":209,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700049,"byte_end":700065,"line_start":209,"line_end":209,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700034,"byte_end":700040,"line_start":209,"line_end":209,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700041,"byte_end":700046,"line_start":209,"line_end":209,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700153,"byte_end":700165,"line_start":213,"line_end":213,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":2668}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700135,"byte_end":700151,"line_start":213,"line_end":213,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700203,"byte_end":700212,"line_start":215,"line_end":215,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700223,"byte_end":700229,"line_start":215,"line_end":215,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700230,"byte_end":700237,"line_start":215,"line_end":215,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2680}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":700280,"byte_end":700284,"line_start":216,"line_end":216,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700273,"byte_end":700279,"line_start":216,"line_end":216,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700285,"byte_end":700288,"line_start":216,"line_end":216,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700290,"byte_end":700296,"line_start":216,"line_end":216,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700299,"byte_end":700303,"line_start":216,"line_end":216,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":3817}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700305,"byte_end":700312,"line_start":216,"line_end":216,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700315,"byte_end":700320,"line_start":216,"line_end":216,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700322,"byte_end":700328,"line_start":216,"line_end":216,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700329,"byte_end":700334,"line_start":216,"line_end":216,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700336,"byte_end":700339,"line_start":216,"line_end":216,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700341,"byte_end":700347,"line_start":216,"line_end":216,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700348,"byte_end":700351,"line_start":216,"line_end":216,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700415,"byte_end":700424,"line_start":217,"line_end":217,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700397,"byte_end":700413,"line_start":217,"line_end":217,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700382,"byte_end":700388,"line_start":217,"line_end":217,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700389,"byte_end":700394,"line_start":217,"line_end":217,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700493,"byte_end":700502,"line_start":220,"line_end":220,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700544,"byte_end":700550,"line_start":221,"line_end":221,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700551,"byte_end":700558,"line_start":221,"line_end":221,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700620,"byte_end":700626,"line_start":223,"line_end":223,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700627,"byte_end":700634,"line_start":223,"line_end":223,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700719,"byte_end":700731,"line_start":226,"line_end":226,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":2666}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700701,"byte_end":700717,"line_start":226,"line_end":226,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700769,"byte_end":700778,"line_start":228,"line_end":228,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700790,"byte_end":700796,"line_start":228,"line_end":228,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700797,"byte_end":700804,"line_start":228,"line_end":228,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":2680}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":700847,"byte_end":700851,"line_start":229,"line_end":229,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700840,"byte_end":700846,"line_start":229,"line_end":229,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700852,"byte_end":700855,"line_start":229,"line_end":229,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700857,"byte_end":700863,"line_start":229,"line_end":229,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700866,"byte_end":700870,"line_start":229,"line_end":229,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":3817}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700872,"byte_end":700879,"line_start":229,"line_end":229,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700882,"byte_end":700887,"line_start":229,"line_end":229,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700889,"byte_end":700895,"line_start":229,"line_end":229,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700896,"byte_end":700901,"line_start":229,"line_end":229,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700903,"byte_end":700906,"line_start":229,"line_end":229,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700908,"byte_end":700914,"line_start":229,"line_end":229,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700915,"byte_end":700918,"line_start":229,"line_end":229,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700982,"byte_end":700991,"line_start":230,"line_end":230,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700964,"byte_end":700980,"line_start":230,"line_end":230,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700949,"byte_end":700955,"line_start":230,"line_end":230,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700956,"byte_end":700961,"line_start":230,"line_end":230,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701048,"byte_end":701057,"line_start":233,"line_end":233,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701099,"byte_end":701105,"line_start":234,"line_end":234,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701106,"byte_end":701113,"line_start":234,"line_end":234,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701175,"byte_end":701181,"line_start":236,"line_end":236,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701182,"byte_end":701189,"line_start":236,"line_end":236,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701274,"byte_end":701279,"line_start":239,"line_end":239,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701256,"byte_end":701272,"line_start":239,"line_end":239,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701274,"byte_end":701279,"line_start":239,"line_end":239,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701256,"byte_end":701272,"line_start":239,"line_end":239,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701310,"byte_end":701319,"line_start":240,"line_end":240,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701331,"byte_end":701340,"line_start":240,"line_end":240,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701354,"byte_end":701363,"line_start":240,"line_end":240,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701375,"byte_end":701384,"line_start":240,"line_end":240,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701398,"byte_end":701407,"line_start":240,"line_end":240,"column_start":114,"column_end":123},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701419,"byte_end":701428,"line_start":240,"line_end":240,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701441,"byte_end":701450,"line_start":240,"line_end":240,"column_start":157,"column_end":166},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701462,"byte_end":701471,"line_start":240,"line_end":240,"column_start":178,"column_end":187},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701589,"byte_end":701595,"line_start":242,"line_end":242,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701596,"byte_end":701599,"line_start":242,"line_end":242,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":701613,"byte_end":701616,"line_start":242,"line_end":242,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701606,"byte_end":701612,"line_start":242,"line_end":242,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701623,"byte_end":701632,"line_start":242,"line_end":242,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701643,"byte_end":701648,"line_start":242,"line_end":242,"column_start":85,"column_end":90},"ref_id":{"krate":0,"index":1543506556}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701649,"byte_end":701655,"line_start":242,"line_end":242,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701656,"byte_end":701659,"line_start":242,"line_end":242,"column_start":98,"column_end":101},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701704,"byte_end":701710,"line_start":243,"line_end":243,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701711,"byte_end":701714,"line_start":243,"line_end":243,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":701797,"byte_end":701801,"line_start":245,"line_end":245,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701790,"byte_end":701796,"line_start":245,"line_end":245,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701802,"byte_end":701805,"line_start":245,"line_end":245,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701807,"byte_end":701812,"line_start":245,"line_end":245,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701815,"byte_end":701819,"line_start":245,"line_end":245,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3804}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701821,"byte_end":701828,"line_start":245,"line_end":245,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701831,"byte_end":701836,"line_start":245,"line_end":245,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701838,"byte_end":701844,"line_start":245,"line_end":245,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701845,"byte_end":701850,"line_start":245,"line_end":245,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701852,"byte_end":701855,"line_start":245,"line_end":245,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701857,"byte_end":701863,"line_start":245,"line_end":245,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701864,"byte_end":701867,"line_start":245,"line_end":245,"column_start":99,"column_end":102},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701930,"byte_end":701939,"line_start":246,"line_end":246,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701912,"byte_end":701928,"line_start":246,"line_end":246,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701897,"byte_end":701903,"line_start":246,"line_end":246,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701904,"byte_end":701909,"line_start":246,"line_end":246,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701965,"byte_end":701971,"line_start":247,"line_end":247,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701972,"byte_end":701975,"line_start":247,"line_end":247,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702055,"byte_end":702063,"line_start":250,"line_end":250,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2670}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702037,"byte_end":702053,"line_start":250,"line_end":250,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702100,"byte_end":702109,"line_start":251,"line_end":251,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702148,"byte_end":702154,"line_start":252,"line_end":252,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702155,"byte_end":702160,"line_start":252,"line_end":252,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702212,"byte_end":702221,"line_start":254,"line_end":254,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774844}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702260,"byte_end":702266,"line_start":255,"line_end":255,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702267,"byte_end":702272,"line_start":255,"line_end":255,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702324,"byte_end":702330,"line_start":258,"line_end":258,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702331,"byte_end":702336,"line_start":258,"line_end":258,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702389,"byte_end":702392,"line_start":259,"line_end":259,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702393,"byte_end":702396,"line_start":259,"line_end":259,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702405,"byte_end":702408,"line_start":259,"line_end":259,"column_start":62,"column_end":65},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702400,"byte_end":702403,"line_start":259,"line_end":259,"column_start":57,"column_end":60},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702441,"byte_end":702456,"line_start":260,"line_end":260,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702436,"byte_end":702439,"line_start":260,"line_end":260,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702457,"byte_end":702462,"line_start":260,"line_end":260,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702473,"byte_end":702484,"line_start":260,"line_end":260,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3474983548}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702486,"byte_end":702492,"line_start":260,"line_end":260,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702494,"byte_end":702501,"line_start":260,"line_end":260,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702504,"byte_end":702509,"line_start":260,"line_end":260,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702511,"byte_end":702517,"line_start":260,"line_end":260,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702518,"byte_end":702523,"line_start":260,"line_end":260,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702525,"byte_end":702528,"line_start":260,"line_end":260,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702530,"byte_end":702536,"line_start":260,"line_end":260,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702537,"byte_end":702540,"line_start":260,"line_end":260,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2678}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702576,"byte_end":702580,"line_start":261,"line_end":261,"column_start":32,"column_end":36},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702569,"byte_end":702575,"line_start":261,"line_end":261,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702581,"byte_end":702584,"line_start":261,"line_end":261,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702586,"byte_end":702590,"line_start":261,"line_end":261,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702593,"byte_end":702598,"line_start":261,"line_end":261,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3813}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702600,"byte_end":702611,"line_start":261,"line_end":261,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3474983548}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702673,"byte_end":702682,"line_start":262,"line_end":262,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702655,"byte_end":702671,"line_start":262,"line_end":262,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702640,"byte_end":702646,"line_start":262,"line_end":262,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702647,"byte_end":702652,"line_start":262,"line_end":262,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702760,"byte_end":702766,"line_start":268,"line_end":268,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702767,"byte_end":702770,"line_start":268,"line_end":268,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702802,"byte_end":702808,"line_start":271,"line_end":271,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702809,"byte_end":702814,"line_start":271,"line_end":271,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702847,"byte_end":702856,"line_start":272,"line_end":272,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702829,"byte_end":702845,"line_start":272,"line_end":272,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702847,"byte_end":702856,"line_start":272,"line_end":272,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702829,"byte_end":702845,"line_start":272,"line_end":272,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702904,"byte_end":702912,"line_start":273,"line_end":273,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":2671}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702893,"byte_end":702901,"line_start":273,"line_end":273,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2670}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702875,"byte_end":702891,"line_start":273,"line_end":273,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702960,"byte_end":702964,"line_start":274,"line_end":274,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702952,"byte_end":702958,"line_start":274,"line_end":274,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703045,"byte_end":703053,"line_start":275,"line_end":275,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703039,"byte_end":703044,"line_start":275,"line_end":275,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703055,"byte_end":703061,"line_start":275,"line_end":275,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703062,"byte_end":703102,"line_start":275,"line_end":275,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703062,"byte_end":703092,"line_start":275,"line_end":275,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703070,"byte_end":703073,"line_start":275,"line_end":275,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703077,"byte_end":703085,"line_start":275,"line_end":275,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3399486076}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703094,"byte_end":703102,"line_start":275,"line_end":275,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703094,"byte_end":703102,"line_start":275,"line_end":275,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":3399486076}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703128,"byte_end":703136,"line_start":276,"line_end":276,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703122,"byte_end":703127,"line_start":276,"line_end":276,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308796}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703167,"byte_end":703175,"line_start":277,"line_end":277,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703161,"byte_end":703166,"line_start":277,"line_end":277,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703177,"byte_end":703183,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703184,"byte_end":703237,"line_start":277,"line_end":277,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703184,"byte_end":703196,"line_start":277,"line_end":277,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703185,"byte_end":703193,"line_start":277,"line_end":277,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3399486076}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703198,"byte_end":703237,"line_start":277,"line_end":277,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703205,"byte_end":703208,"line_start":277,"line_end":277,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703209,"byte_end":703217,"line_start":277,"line_end":277,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3399486076}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703231,"byte_end":703234,"line_start":277,"line_end":277,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703224,"byte_end":703230,"line_start":277,"line_end":277,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703264,"byte_end":703267,"line_start":278,"line_end":278,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703268,"byte_end":703276,"line_start":278,"line_end":278,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703278,"byte_end":703284,"line_start":278,"line_end":278,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703287,"byte_end":703294,"line_start":278,"line_end":278,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703296,"byte_end":703301,"line_start":278,"line_end":278,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2057308796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703361,"byte_end":703369,"line_start":280,"line_end":280,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2665}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703352,"byte_end":703358,"line_start":280,"line_end":280,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2664}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703334,"byte_end":703350,"line_start":280,"line_end":280,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703418,"byte_end":703422,"line_start":281,"line_end":281,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703410,"byte_end":703416,"line_start":281,"line_end":281,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703502,"byte_end":703510,"line_start":282,"line_end":282,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703496,"byte_end":703501,"line_start":282,"line_end":282,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463164}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703512,"byte_end":703518,"line_start":282,"line_end":282,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703519,"byte_end":703559,"line_start":282,"line_end":282,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703519,"byte_end":703549,"line_start":282,"line_end":282,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703527,"byte_end":703530,"line_start":282,"line_end":282,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703534,"byte_end":703542,"line_start":282,"line_end":282,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2510293628}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703551,"byte_end":703559,"line_start":282,"line_end":282,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703551,"byte_end":703559,"line_start":282,"line_end":282,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2510293628}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703585,"byte_end":703593,"line_start":283,"line_end":283,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703579,"byte_end":703584,"line_start":283,"line_end":283,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463164}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703624,"byte_end":703632,"line_start":284,"line_end":284,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703618,"byte_end":703623,"line_start":284,"line_end":284,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463164}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703634,"byte_end":703640,"line_start":284,"line_end":284,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703641,"byte_end":703694,"line_start":284,"line_end":284,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703641,"byte_end":703653,"line_start":284,"line_end":284,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703642,"byte_end":703650,"line_start":284,"line_end":284,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2510293628}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703655,"byte_end":703694,"line_start":284,"line_end":284,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703662,"byte_end":703665,"line_start":284,"line_end":284,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703666,"byte_end":703674,"line_start":284,"line_end":284,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2510293628}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703688,"byte_end":703691,"line_start":284,"line_end":284,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703681,"byte_end":703687,"line_start":284,"line_end":284,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703721,"byte_end":703724,"line_start":285,"line_end":285,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703725,"byte_end":703733,"line_start":285,"line_end":285,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703735,"byte_end":703741,"line_start":285,"line_end":285,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703744,"byte_end":703751,"line_start":285,"line_end":285,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703753,"byte_end":703758,"line_start":285,"line_end":285,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":765463164}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703814,"byte_end":703822,"line_start":287,"line_end":287,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2663}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703805,"byte_end":703811,"line_start":287,"line_end":287,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2662}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703787,"byte_end":703803,"line_start":287,"line_end":287,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703870,"byte_end":703874,"line_start":288,"line_end":288,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703862,"byte_end":703868,"line_start":288,"line_end":288,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703953,"byte_end":703961,"line_start":289,"line_end":289,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703947,"byte_end":703952,"line_start":289,"line_end":289,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471420}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703963,"byte_end":703969,"line_start":289,"line_end":289,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703970,"byte_end":704010,"line_start":289,"line_end":289,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703970,"byte_end":704000,"line_start":289,"line_end":289,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703978,"byte_end":703981,"line_start":289,"line_end":289,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703985,"byte_end":703993,"line_start":289,"line_end":289,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4288678524}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704002,"byte_end":704010,"line_start":289,"line_end":289,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704002,"byte_end":704010,"line_start":289,"line_end":289,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":4288678524}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704036,"byte_end":704044,"line_start":290,"line_end":290,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704030,"byte_end":704035,"line_start":290,"line_end":290,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471420}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704075,"byte_end":704083,"line_start":291,"line_end":291,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704069,"byte_end":704074,"line_start":291,"line_end":291,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471420}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704085,"byte_end":704091,"line_start":291,"line_end":291,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704092,"byte_end":704145,"line_start":291,"line_end":291,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704092,"byte_end":704104,"line_start":291,"line_end":291,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704093,"byte_end":704101,"line_start":291,"line_end":291,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4288678524}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704106,"byte_end":704145,"line_start":291,"line_end":291,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704113,"byte_end":704116,"line_start":291,"line_end":291,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704117,"byte_end":704125,"line_start":291,"line_end":291,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4288678524}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704139,"byte_end":704142,"line_start":291,"line_end":291,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704132,"byte_end":704138,"line_start":291,"line_end":291,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704172,"byte_end":704175,"line_start":292,"line_end":292,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704176,"byte_end":704184,"line_start":292,"line_end":292,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704186,"byte_end":704192,"line_start":292,"line_end":292,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704195,"byte_end":704202,"line_start":292,"line_end":292,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704204,"byte_end":704209,"line_start":292,"line_end":292,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":1348471420}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704271,"byte_end":704279,"line_start":294,"line_end":294,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":2667}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704256,"byte_end":704268,"line_start":294,"line_end":294,"column_start":31,"column_end":43},"ref_id":{"krate":0,"index":2666}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704238,"byte_end":704254,"line_start":294,"line_end":294,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704328,"byte_end":704332,"line_start":295,"line_end":295,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704320,"byte_end":704326,"line_start":295,"line_end":295,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704412,"byte_end":704420,"line_start":296,"line_end":296,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704406,"byte_end":704411,"line_start":296,"line_end":296,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957436}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704422,"byte_end":704428,"line_start":296,"line_end":296,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704429,"byte_end":704469,"line_start":296,"line_end":296,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704429,"byte_end":704459,"line_start":296,"line_end":296,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704437,"byte_end":704440,"line_start":296,"line_end":296,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704444,"byte_end":704452,"line_start":296,"line_end":296,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2858420860}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704461,"byte_end":704469,"line_start":296,"line_end":296,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704461,"byte_end":704469,"line_start":296,"line_end":296,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2858420860}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704495,"byte_end":704503,"line_start":297,"line_end":297,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704489,"byte_end":704494,"line_start":297,"line_end":297,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957436}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704534,"byte_end":704542,"line_start":298,"line_end":298,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704528,"byte_end":704533,"line_start":298,"line_end":298,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957436}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704544,"byte_end":704550,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704551,"byte_end":704604,"line_start":298,"line_end":298,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704551,"byte_end":704563,"line_start":298,"line_end":298,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704552,"byte_end":704560,"line_start":298,"line_end":298,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2858420860}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704565,"byte_end":704604,"line_start":298,"line_end":298,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704572,"byte_end":704575,"line_start":298,"line_end":298,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704576,"byte_end":704584,"line_start":298,"line_end":298,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2858420860}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704598,"byte_end":704601,"line_start":298,"line_end":298,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704591,"byte_end":704597,"line_start":298,"line_end":298,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704631,"byte_end":704634,"line_start":299,"line_end":299,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704635,"byte_end":704643,"line_start":299,"line_end":299,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704645,"byte_end":704651,"line_start":299,"line_end":299,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704654,"byte_end":704661,"line_start":299,"line_end":299,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704663,"byte_end":704668,"line_start":299,"line_end":299,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":106957436}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704730,"byte_end":704738,"line_start":301,"line_end":301,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":2669}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704715,"byte_end":704727,"line_start":301,"line_end":301,"column_start":31,"column_end":43},"ref_id":{"krate":0,"index":2668}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704697,"byte_end":704713,"line_start":301,"line_end":301,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704787,"byte_end":704791,"line_start":302,"line_end":302,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704779,"byte_end":704785,"line_start":302,"line_end":302,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704871,"byte_end":704879,"line_start":303,"line_end":303,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704865,"byte_end":704870,"line_start":303,"line_end":303,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010684}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704881,"byte_end":704887,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704888,"byte_end":704928,"line_start":303,"line_end":303,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704888,"byte_end":704918,"line_start":303,"line_end":303,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704896,"byte_end":704899,"line_start":303,"line_end":303,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704903,"byte_end":704911,"line_start":303,"line_end":303,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3579841148}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704920,"byte_end":704928,"line_start":303,"line_end":303,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704920,"byte_end":704928,"line_start":303,"line_end":303,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":3579841148}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704954,"byte_end":704962,"line_start":304,"line_end":304,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704948,"byte_end":704953,"line_start":304,"line_end":304,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010684}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704994,"byte_end":705002,"line_start":305,"line_end":305,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704988,"byte_end":704993,"line_start":305,"line_end":305,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010684}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705004,"byte_end":705010,"line_start":305,"line_end":305,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705011,"byte_end":705064,"line_start":305,"line_end":305,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705011,"byte_end":705023,"line_start":305,"line_end":305,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705012,"byte_end":705020,"line_start":305,"line_end":305,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3579841148}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705025,"byte_end":705064,"line_start":305,"line_end":305,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705032,"byte_end":705035,"line_start":305,"line_end":305,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705036,"byte_end":705044,"line_start":305,"line_end":305,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3579841148}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705058,"byte_end":705061,"line_start":305,"line_end":305,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705051,"byte_end":705057,"line_start":305,"line_end":305,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705091,"byte_end":705094,"line_start":306,"line_end":306,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705095,"byte_end":705103,"line_start":306,"line_end":306,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705105,"byte_end":705111,"line_start":306,"line_end":306,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705114,"byte_end":705121,"line_start":306,"line_end":306,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705123,"byte_end":705128,"line_start":306,"line_end":306,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":1835010684}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705183,"byte_end":705191,"line_start":308,"line_end":308,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":2673}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705175,"byte_end":705180,"line_start":308,"line_end":308,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2672}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705157,"byte_end":705173,"line_start":308,"line_end":308,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705240,"byte_end":705244,"line_start":309,"line_end":309,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705232,"byte_end":705238,"line_start":309,"line_end":309,"column_start":33,"column_end":39},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705325,"byte_end":705333,"line_start":310,"line_end":310,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705319,"byte_end":705324,"line_start":310,"line_end":310,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989116}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705335,"byte_end":705341,"line_start":310,"line_end":310,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705342,"byte_end":705382,"line_start":310,"line_end":310,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705342,"byte_end":705372,"line_start":310,"line_end":310,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705350,"byte_end":705353,"line_start":310,"line_end":310,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705357,"byte_end":705365,"line_start":310,"line_end":310,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2162166396}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705374,"byte_end":705382,"line_start":310,"line_end":310,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705374,"byte_end":705382,"line_start":310,"line_end":310,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2162166396}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705408,"byte_end":705416,"line_start":311,"line_end":311,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705402,"byte_end":705407,"line_start":311,"line_end":311,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989116}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705447,"byte_end":705455,"line_start":312,"line_end":312,"column_start":23,"column_end":31},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705441,"byte_end":705446,"line_start":312,"line_end":312,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989116}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705457,"byte_end":705463,"line_start":312,"line_end":312,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705464,"byte_end":705517,"line_start":312,"line_end":312,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705464,"byte_end":705476,"line_start":312,"line_end":312,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705465,"byte_end":705473,"line_start":312,"line_end":312,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2162166396}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705478,"byte_end":705517,"line_start":312,"line_end":312,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705485,"byte_end":705488,"line_start":312,"line_end":312,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705489,"byte_end":705497,"line_start":312,"line_end":312,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2162166396}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705511,"byte_end":705514,"line_start":312,"line_end":312,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705504,"byte_end":705510,"line_start":312,"line_end":312,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615420}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705544,"byte_end":705547,"line_start":313,"line_end":313,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705548,"byte_end":705556,"line_start":313,"line_end":313,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705558,"byte_end":705564,"line_start":313,"line_end":313,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705567,"byte_end":705574,"line_start":313,"line_end":313,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3719}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705576,"byte_end":705581,"line_start":313,"line_end":313,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":819989116}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705628,"byte_end":705633,"line_start":315,"line_end":315,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705610,"byte_end":705626,"line_start":315,"line_end":315,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705628,"byte_end":705633,"line_start":315,"line_end":315,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2660}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705610,"byte_end":705626,"line_start":315,"line_end":315,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705662,"byte_end":705666,"line_start":316,"line_end":316,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705655,"byte_end":705661,"line_start":316,"line_end":316,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705667,"byte_end":705670,"line_start":316,"line_end":316,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705672,"byte_end":705677,"line_start":316,"line_end":316,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705680,"byte_end":705684,"line_start":316,"line_end":316,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3804}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705686,"byte_end":705693,"line_start":316,"line_end":316,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705696,"byte_end":705701,"line_start":316,"line_end":316,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705703,"byte_end":705709,"line_start":316,"line_end":316,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705710,"byte_end":705715,"line_start":316,"line_end":316,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705717,"byte_end":705720,"line_start":316,"line_end":316,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705722,"byte_end":705728,"line_start":316,"line_end":316,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705729,"byte_end":705732,"line_start":316,"line_end":316,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705782,"byte_end":705788,"line_start":318,"line_end":318,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705764,"byte_end":705780,"line_start":318,"line_end":318,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705782,"byte_end":705788,"line_start":318,"line_end":318,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705764,"byte_end":705780,"line_start":318,"line_end":318,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2657}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705817,"byte_end":705821,"line_start":319,"line_end":319,"column_start":24,"column_end":28},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705810,"byte_end":705816,"line_start":319,"line_end":319,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873596}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705822,"byte_end":705825,"line_start":319,"line_end":319,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3796}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705827,"byte_end":705833,"line_start":319,"line_end":319,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3796}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705836,"byte_end":705840,"line_start":319,"line_end":319,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3819}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705842,"byte_end":705849,"line_start":319,"line_end":319,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3784}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705852,"byte_end":705857,"line_start":319,"line_end":319,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3785}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705859,"byte_end":705865,"line_start":319,"line_end":319,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705866,"byte_end":705871,"line_start":319,"line_end":319,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705873,"byte_end":705876,"line_start":319,"line_end":319,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":3786}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705878,"byte_end":705884,"line_start":319,"line_end":319,"column_start":85,"column_end":91},"ref_id":{"krate":0,"index":3019901564}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705885,"byte_end":705888,"line_start":319,"line_end":319,"column_start":92,"column_end":95},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705927,"byte_end":705929,"line_start":323,"line_end":323,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22091,"byte_end":22098,"line_start":340,"line_end":340,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":2685}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706343,"byte_end":706348,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706350,"byte_end":706356,"line_start":1,"line_end":1,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706370,"byte_end":706375,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706377,"byte_end":706380,"line_start":2,"line_end":2,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706392,"byte_end":706397,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706399,"byte_end":706404,"line_start":4,"line_end":4,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706514,"byte_end":706517,"line_start":10,"line_end":10,"column_start":11,"column_end":14},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706518,"byte_end":706521,"line_start":10,"line_end":10,"column_start":15,"column_end":18},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706528,"byte_end":706529,"line_start":10,"line_end":10,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":3823}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706532,"line_start":10,"line_end":10,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3824}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3822}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706587,"byte_end":706588,"line_start":15,"line_end":15,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2698}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706630,"byte_end":706634,"line_start":18,"line_end":18,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3822}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706637,"byte_end":706641,"line_start":18,"line_end":18,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":3824}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706648,"byte_end":706661,"line_start":18,"line_end":18,"column_start":27,"column_end":40},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706643,"byte_end":706646,"line_start":18,"line_end":18,"column_start":22,"column_end":25},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706731,"byte_end":706744,"line_start":22,"line_end":22,"column_start":31,"column_end":44},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706726,"byte_end":706729,"line_start":22,"line_end":22,"column_start":26,"column_end":29},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706745,"byte_end":706754,"line_start":22,"line_end":22,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2696}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706772,"byte_end":706778,"line_start":23,"line_end":23,"column_start":16,"column_end":22},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706765,"byte_end":706771,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342179980}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706794,"byte_end":706797,"line_start":23,"line_end":23,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":7933}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706780,"byte_end":706792,"line_start":23,"line_end":23,"column_start":24,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706780,"byte_end":706781,"line_start":23,"line_end":23,"column_start":24,"column_end":25},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706783,"byte_end":706792,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706783,"byte_end":706792,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":2696}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706807,"byte_end":706820,"line_start":23,"line_end":23,"column_start":51,"column_end":64},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706802,"byte_end":706805,"line_start":23,"line_end":23,"column_start":46,"column_end":49},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706835,"byte_end":706839,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3822}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706842,"byte_end":706846,"line_start":24,"line_end":24,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706848,"byte_end":706854,"line_start":24,"line_end":24,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1342179980}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706911,"byte_end":706912,"line_start":27,"line_end":27,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":2698}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706917,"byte_end":706923,"line_start":27,"line_end":27,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706928,"byte_end":706936,"line_start":27,"line_end":27,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706960,"byte_end":706978,"line_start":29,"line_end":29,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2709}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706983,"byte_end":706991,"line_start":29,"line_end":29,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706979,"byte_end":706982,"line_start":29,"line_end":29,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873614}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706995,"byte_end":706999,"line_start":29,"line_end":29,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2695}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707028,"byte_end":707032,"line_start":31,"line_end":31,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1207962254}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707044,"byte_end":707053,"line_start":31,"line_end":31,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2696}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707085,"byte_end":707088,"line_start":33,"line_end":33,"column_start":30,"column_end":33},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707067,"byte_end":707071,"line_start":33,"line_end":33,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744526}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707072,"byte_end":707076,"line_start":33,"line_end":33,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707077,"byte_end":707083,"line_start":33,"line_end":33,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3087010446}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707128,"byte_end":707132,"line_start":34,"line_end":34,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707110,"byte_end":707114,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744526}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707115,"byte_end":707119,"line_start":34,"line_end":34,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707120,"byte_end":707126,"line_start":34,"line_end":34,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3087010446}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707134,"byte_end":707138,"line_start":34,"line_end":34,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1207962254}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707140,"byte_end":707145,"line_start":34,"line_end":34,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615438}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707210,"byte_end":707218,"line_start":36,"line_end":36,"column_start":45,"column_end":53},"ref_id":{"krate":1,"index":11516}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707192,"byte_end":707196,"line_start":36,"line_end":36,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073744526}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707197,"byte_end":707201,"line_start":36,"line_end":36,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707202,"byte_end":707208,"line_start":36,"line_end":36,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3087010446}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707243,"byte_end":707244,"line_start":37,"line_end":37,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2181040782}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707248,"byte_end":707252,"line_start":37,"line_end":37,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1207962254}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707280,"byte_end":707285,"line_start":38,"line_end":38,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610615438}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707276,"byte_end":707277,"line_start":38,"line_end":38,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":1107298958}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707314,"byte_end":707316,"line_start":39,"line_end":39,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707383,"byte_end":707387,"line_start":42,"line_end":42,"column_start":31,"column_end":35},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707365,"byte_end":707369,"line_start":42,"line_end":42,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744526}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707370,"byte_end":707374,"line_start":42,"line_end":42,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707375,"byte_end":707381,"line_start":42,"line_end":42,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3087010446}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707389,"byte_end":707393,"line_start":42,"line_end":42,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1207962254}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707395,"byte_end":707400,"line_start":42,"line_end":42,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615438}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707423,"byte_end":707425,"line_start":45,"line_end":45,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707473,"byte_end":707479,"line_start":48,"line_end":48,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707481,"byte_end":707482,"line_start":48,"line_end":48,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":2698}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707505,"byte_end":707523,"line_start":49,"line_end":49,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2709}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707528,"byte_end":707536,"line_start":49,"line_end":49,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707524,"byte_end":707527,"line_start":49,"line_end":49,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873615}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707540,"byte_end":707544,"line_start":49,"line_end":49,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2695}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707568,"byte_end":707572,"line_start":50,"line_end":50,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":134220431}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707584,"byte_end":707593,"line_start":50,"line_end":50,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2696}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707620,"byte_end":707623,"line_start":52,"line_end":52,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707610,"byte_end":707614,"line_start":52,"line_end":52,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744527}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707615,"byte_end":707619,"line_start":52,"line_end":52,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707624,"byte_end":707630,"line_start":52,"line_end":52,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3623881359}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707646,"byte_end":707650,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707646,"byte_end":707650,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707687,"byte_end":707690,"line_start":54,"line_end":54,"column_start":29,"column_end":32},"ref_id":{"krate":4,"index":7177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707685,"byte_end":707686,"line_start":54,"line_end":54,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":603982479}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707713,"byte_end":707716,"line_start":55,"line_end":55,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3019901583}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707751,"byte_end":707755,"line_start":56,"line_end":56,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707794,"byte_end":707797,"line_start":58,"line_end":58,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3019901583}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707828,"byte_end":707829,"line_start":59,"line_end":59,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":603982479}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707838,"byte_end":707842,"line_start":59,"line_end":59,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":134220431}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707876,"byte_end":707880,"line_start":60,"line_end":60,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707882,"byte_end":707883,"line_start":60,"line_end":60,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":603982479}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707951,"byte_end":707955,"line_start":62,"line_end":62,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708029,"byte_end":708033,"line_start":65,"line_end":65,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708027,"byte_end":708028,"line_start":65,"line_end":65,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":603982479}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708062,"byte_end":708063,"line_start":66,"line_end":66,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2785020559}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708067,"byte_end":708071,"line_start":66,"line_end":66,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":134220431}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708105,"byte_end":708109,"line_start":67,"line_end":67,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708110,"byte_end":708111,"line_start":67,"line_end":67,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":1711278735}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708169,"byte_end":708173,"line_start":70,"line_end":70,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708201,"byte_end":708205,"line_start":72,"line_end":72,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708201,"byte_end":708205,"line_start":72,"line_end":72,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708209,"byte_end":708213,"line_start":72,"line_end":72,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708292,"byte_end":708310,"line_start":77,"line_end":77,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2709}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708315,"byte_end":708323,"line_start":77,"line_end":77,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708311,"byte_end":708314,"line_start":77,"line_end":77,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873616}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708327,"byte_end":708331,"line_start":77,"line_end":77,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2695}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708355,"byte_end":708359,"line_start":78,"line_end":78,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":134220432}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708371,"byte_end":708380,"line_start":78,"line_end":78,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2696}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708406,"byte_end":708413,"line_start":79,"line_end":79,"column_start":25,"column_end":32},"ref_id":{"krate":1,"index":11500}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708396,"byte_end":708400,"line_start":79,"line_end":79,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744528}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708401,"byte_end":708405,"line_start":79,"line_end":79,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3824}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708414,"byte_end":708420,"line_start":79,"line_end":79,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3623881360}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708436,"byte_end":708440,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708436,"byte_end":708440,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708477,"byte_end":708483,"line_start":81,"line_end":81,"column_start":24,"column_end":30},"ref_id":{"krate":4,"index":7128}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708470,"byte_end":708476,"line_start":81,"line_end":81,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":603982480}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708495,"byte_end":708496,"line_start":81,"line_end":81,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3556772496}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708500,"byte_end":708504,"line_start":81,"line_end":81,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134220432}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709813,"byte_end":709814,"line_start":114,"line_end":114,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709808,"byte_end":709809,"line_start":114,"line_end":114,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":709832,"byte_end":709844,"line_start":115,"line_end":115,"column_start":11,"column_end":23},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709830,"byte_end":709831,"line_start":115,"line_end":115,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709826,"byte_end":709827,"line_start":115,"line_end":115,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709867,"byte_end":709868,"line_start":116,"line_end":116,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709862,"byte_end":709863,"line_start":116,"line_end":116,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":709886,"byte_end":709898,"line_start":117,"line_end":117,"column_start":11,"column_end":23},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709884,"byte_end":709885,"line_start":117,"line_end":117,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709880,"byte_end":709881,"line_start":117,"line_end":117,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709921,"byte_end":709922,"line_start":118,"line_end":118,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709916,"byte_end":709917,"line_start":118,"line_end":118,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709942,"byte_end":709943,"line_start":120,"line_end":120,"column_start":12,"column_end":13},"ref_id":{"krate":0,"index":1073744530}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710046,"byte_end":710058,"line_start":125,"line_end":125,"column_start":28,"column_end":40},"ref_id":{"krate":1,"index":24481}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710040,"byte_end":710045,"line_start":125,"line_end":125,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":536873619}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710084,"byte_end":710089,"line_start":126,"line_end":126,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710118,"line_start":126,"line_end":126,"column_start":28,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710100,"line_start":126,"line_end":126,"column_start":28,"column_end":38},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710100,"line_start":126,"line_end":126,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":805309075}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710102,"byte_end":710118,"line_start":126,"line_end":126,"column_start":40,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710103,"byte_end":710113,"line_start":126,"line_end":126,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":805309075}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710164,"byte_end":710173,"line_start":129,"line_end":129,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":939526803}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710228,"byte_end":710237,"line_start":130,"line_end":130,"column_start":20,"column_end":29},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":710217,"byte_end":710221,"line_start":130,"line_end":130,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":710223,"byte_end":710226,"line_start":130,"line_end":130,"column_start":15,"column_end":18},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710238,"byte_end":710243,"line_start":130,"line_end":130,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1946159763}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710431,"byte_end":710434,"line_start":139,"line_end":139,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710425,"byte_end":710430,"line_start":139,"line_end":139,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710467,"byte_end":710470,"line_start":140,"line_end":140,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1476397717}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710473,"byte_end":710482,"line_start":140,"line_end":140,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":134220437}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710502,"byte_end":710506,"line_start":142,"line_end":142,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":536873621}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":710522,"byte_end":710545,"line_start":144,"line_end":144,"column_start":14,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710522,"byte_end":710523,"line_start":144,"line_end":144,"column_start":14,"column_end":15},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710525,"byte_end":710545,"line_start":144,"line_end":144,"column_start":17,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710525,"byte_end":710536,"line_start":144,"line_end":144,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1140853397}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710569,"byte_end":710581,"line_start":145,"line_end":145,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":2707}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710582,"byte_end":710587,"line_start":145,"line_end":145,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710589,"byte_end":710590,"line_start":145,"line_end":145,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2348812949}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710610,"byte_end":710622,"line_start":147,"line_end":147,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710607,"byte_end":710609,"line_start":147,"line_end":147,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710623,"byte_end":710625,"line_start":147,"line_end":147,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":268438165}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710602,"byte_end":710604,"line_start":147,"line_end":147,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710644,"byte_end":710655,"line_start":148,"line_end":148,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710641,"byte_end":710643,"line_start":148,"line_end":148,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710636,"byte_end":710638,"line_start":148,"line_end":148,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710677,"byte_end":710689,"line_start":149,"line_end":149,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710674,"byte_end":710676,"line_start":149,"line_end":149,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710690,"byte_end":710692,"line_start":149,"line_end":149,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":805309077}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710669,"byte_end":710671,"line_start":149,"line_end":149,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710710,"byte_end":710712,"line_start":151,"line_end":151,"column_start":15,"column_end":17},"ref_id":{"krate":0,"index":2181040789}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710704,"byte_end":710706,"line_start":151,"line_end":151,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710730,"byte_end":710741,"line_start":152,"line_end":152,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710727,"byte_end":710729,"line_start":152,"line_end":152,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710722,"byte_end":710724,"line_start":152,"line_end":152,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710763,"byte_end":710775,"line_start":153,"line_end":153,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710760,"byte_end":710762,"line_start":153,"line_end":153,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710755,"byte_end":710757,"line_start":153,"line_end":153,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710796,"byte_end":710808,"line_start":154,"line_end":154,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24174}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710793,"byte_end":710795,"line_start":154,"line_end":154,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710788,"byte_end":710790,"line_start":154,"line_end":154,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710858,"byte_end":710861,"line_start":158,"line_end":158,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397717}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710880,"byte_end":710885,"line_start":158,"line_end":158,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710887,"byte_end":710898,"line_start":158,"line_end":158,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853397}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710901,"byte_end":710910,"line_start":158,"line_end":158,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220437}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710873,"byte_end":710875,"line_start":158,"line_end":158,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710950,"byte_end":710953,"line_start":159,"line_end":159,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397717}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710972,"byte_end":710977,"line_start":159,"line_end":159,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710979,"byte_end":710990,"line_start":159,"line_end":159,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853397}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710993,"byte_end":711002,"line_start":159,"line_end":159,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220437}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710965,"byte_end":710967,"line_start":159,"line_end":159,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711041,"byte_end":711044,"line_start":160,"line_end":160,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397717}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711063,"byte_end":711068,"line_start":160,"line_end":160,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711070,"byte_end":711081,"line_start":160,"line_end":160,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853397}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711084,"byte_end":711093,"line_start":160,"line_end":160,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220437}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711056,"byte_end":711058,"line_start":160,"line_end":160,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711133,"byte_end":711145,"line_start":161,"line_end":161,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711130,"byte_end":711132,"line_start":161,"line_end":161,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711146,"byte_end":711148,"line_start":161,"line_end":161,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":268438165}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711125,"byte_end":711127,"line_start":161,"line_end":161,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711167,"byte_end":711178,"line_start":162,"line_end":162,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711164,"byte_end":711166,"line_start":162,"line_end":162,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711159,"byte_end":711161,"line_start":162,"line_end":162,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711200,"byte_end":711212,"line_start":163,"line_end":163,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711197,"byte_end":711199,"line_start":163,"line_end":163,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711213,"byte_end":711215,"line_start":163,"line_end":163,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":805309077}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711192,"byte_end":711194,"line_start":163,"line_end":163,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711232,"byte_end":711234,"line_start":164,"line_end":164,"column_start":15,"column_end":17},"ref_id":{"krate":0,"index":3372223125}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711226,"byte_end":711228,"line_start":164,"line_end":164,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711259,"byte_end":711262,"line_start":167,"line_end":167,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711253,"byte_end":711258,"line_start":167,"line_end":167,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":1073744533}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711247,"byte_end":711249,"line_start":167,"line_end":167,"column_start":5,"column_end":7},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711282,"byte_end":711288,"line_start":168,"line_end":168,"column_start":10,"column_end":16},"ref_id":{"krate":0,"index":2706}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711289,"byte_end":711291,"line_start":168,"line_end":168,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711277,"byte_end":711279,"line_start":168,"line_end":168,"column_start":5,"column_end":7},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711306,"byte_end":711308,"line_start":170,"line_end":170,"column_start":12,"column_end":14},"ref_id":{"krate":0,"index":3825207957}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22104,"byte_end":22109,"line_start":341,"line_end":341,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2710}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711316,"byte_end":711320,"line_start":1,"line_end":1,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711331,"byte_end":711336,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711338,"byte_end":711344,"line_start":2,"line_end":2,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711358,"byte_end":711363,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711365,"byte_end":711371,"line_start":3,"line_end":3,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":624}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711386,"byte_end":711391,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711393,"byte_end":711396,"line_start":4,"line_end":4,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711408,"byte_end":711413,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711415,"byte_end":711420,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711603,"byte_end":711607,"line_start":15,"line_end":15,"column_start":8,"column_end":12},"ref_id":{"krate":0,"index":1073744554}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711617,"byte_end":711621,"line_start":15,"line_end":15,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744554}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711637,"byte_end":711641,"line_start":15,"line_end":15,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744554}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711713,"byte_end":711717,"line_start":20,"line_end":20,"column_start":8,"column_end":12},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711726,"byte_end":711730,"line_start":20,"line_end":20,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711746,"byte_end":711750,"line_start":20,"line_end":20,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711861,"byte_end":711865,"line_start":30,"line_end":30,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2732}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711876,"byte_end":711880,"line_start":31,"line_end":31,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711894,"byte_end":711895,"line_start":32,"line_end":32,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711897,"byte_end":711899,"line_start":32,"line_end":32,"column_start":16,"column_end":18},"ref_id":{"krate":0,"index":2726}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711900,"byte_end":711904,"line_start":32,"line_end":32,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711906,"byte_end":711907,"line_start":32,"line_end":32,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711909,"byte_end":711911,"line_start":32,"line_end":32,"column_start":28,"column_end":30},"ref_id":{"krate":0,"index":2727}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711912,"byte_end":711916,"line_start":32,"line_end":32,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711930,"byte_end":711931,"line_start":33,"line_end":33,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2735}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711933,"byte_end":711935,"line_start":33,"line_end":33,"column_start":16,"column_end":18},"ref_id":{"krate":0,"index":2728}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711937,"byte_end":711938,"line_start":33,"line_end":33,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711940,"byte_end":711942,"line_start":33,"line_end":33,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":2729}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712061,"byte_end":712065,"line_start":39,"line_end":39,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712066,"byte_end":712067,"line_start":39,"line_end":39,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":2733}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712075,"byte_end":712087,"line_start":39,"line_end":39,"column_start":31,"column_end":43},"ref_id":{"krate":1,"index":24183}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712068,"byte_end":712072,"line_start":39,"line_end":39,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712073,"byte_end":712074,"line_start":39,"line_end":39,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712110,"byte_end":712114,"line_start":40,"line_end":40,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712115,"byte_end":712116,"line_start":40,"line_end":40,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712101,"byte_end":712105,"line_start":40,"line_end":40,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712106,"byte_end":712107,"line_start":40,"line_end":40,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712127,"byte_end":712131,"line_start":40,"line_end":40,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712132,"byte_end":712133,"line_start":40,"line_end":40,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":2735}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712118,"byte_end":712122,"line_start":40,"line_end":40,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712123,"byte_end":712124,"line_start":40,"line_end":40,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712144,"byte_end":712148,"line_start":40,"line_end":40,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712149,"byte_end":712150,"line_start":40,"line_end":40,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712135,"byte_end":712139,"line_start":40,"line_end":40,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712140,"byte_end":712141,"line_start":40,"line_end":40,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":2735}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712177,"byte_end":712189,"line_start":41,"line_end":41,"column_start":26,"column_end":38},"ref_id":{"krate":1,"index":24184}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712170,"byte_end":712174,"line_start":41,"line_end":41,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712175,"byte_end":712176,"line_start":41,"line_end":41,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712194,"byte_end":712195,"line_start":41,"line_end":41,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":4026534579}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712198,"byte_end":712210,"line_start":41,"line_end":41,"column_start":47,"column_end":59},"ref_id":{"krate":1,"index":24184}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712196,"byte_end":712197,"line_start":41,"line_end":41,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":4026534579}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712160,"byte_end":712164,"line_start":41,"line_end":41,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712165,"byte_end":712166,"line_start":41,"line_end":41,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712230,"byte_end":712234,"line_start":42,"line_end":42,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712235,"byte_end":712236,"line_start":42,"line_end":42,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712319,"byte_end":712320,"line_start":46,"line_end":46,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":1610615476}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712321,"byte_end":712322,"line_start":46,"line_end":46,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":536873652}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712349,"byte_end":712350,"line_start":47,"line_end":47,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536873652}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712357,"byte_end":712361,"line_start":47,"line_end":47,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":2739}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712352,"byte_end":712356,"line_start":47,"line_end":47,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712364,"byte_end":712365,"line_start":47,"line_end":47,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3355445940}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712427,"byte_end":712433,"line_start":52,"line_end":52,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712434,"byte_end":712435,"line_start":52,"line_end":52,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2742}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712441,"byte_end":712447,"line_start":52,"line_end":52,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712448,"byte_end":712449,"line_start":52,"line_end":52,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":2742}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712451,"byte_end":712459,"line_start":52,"line_end":52,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":3709}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712473,"byte_end":712478,"line_start":53,"line_end":53,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":1073744565}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712489,"byte_end":712493,"line_start":54,"line_end":54,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712489,"byte_end":712493,"line_start":54,"line_end":54,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712500,"byte_end":712502,"line_start":54,"line_end":54,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712503,"byte_end":712504,"line_start":54,"line_end":54,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1610615477}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712515,"byte_end":712519,"line_start":55,"line_end":55,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712515,"byte_end":712519,"line_start":55,"line_end":55,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712523,"byte_end":712526,"line_start":55,"line_end":55,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712537,"byte_end":712540,"line_start":55,"line_end":55,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2489}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712527,"byte_end":712535,"line_start":55,"line_end":55,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3709}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712795,"byte_end":712800,"line_start":62,"line_end":62,"column_start":23,"column_end":28},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712818,"byte_end":712819,"line_start":62,"line_end":62,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2746}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712919,"byte_end":712928,"line_start":65,"line_end":65,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712912,"byte_end":712916,"line_start":65,"line_end":65,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712899,"byte_end":712911,"line_start":65,"line_end":65,"column_start":28,"column_end":40},"ref_id":{"krate":0,"index":2743}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712949,"byte_end":712953,"line_start":66,"line_end":66,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":2952792761}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712957,"byte_end":712963,"line_start":66,"line_end":66,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2684357305}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712989,"byte_end":712992,"line_start":67,"line_end":67,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":805309113}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713108,"byte_end":713111,"line_start":74,"line_end":74,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24405}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713131,"byte_end":713134,"line_start":74,"line_end":74,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":12620}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713122,"byte_end":713128,"line_start":74,"line_end":74,"column_start":42,"column_end":48},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713112,"byte_end":713121,"line_start":74,"line_end":74,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1073744569}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713184,"byte_end":713189,"line_start":76,"line_end":76,"column_start":34,"column_end":39},"ref_id":{"krate":1,"index":12644}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713175,"byte_end":713181,"line_start":76,"line_end":76,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713165,"byte_end":713174,"line_start":76,"line_end":76,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":1073744569}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713214,"byte_end":713220,"line_start":77,"line_end":77,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1107299001}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713221,"byte_end":713223,"line_start":77,"line_end":77,"column_start":28,"column_end":30},"ref_id":{"krate":0,"index":100666041}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713263,"byte_end":713275,"line_start":78,"line_end":78,"column_start":38,"column_end":50},"ref_id":{"krate":1,"index":24381}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713251,"byte_end":713255,"line_start":78,"line_end":78,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":2932}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713256,"byte_end":713261,"line_start":78,"line_end":78,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1979714233}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713276,"byte_end":713281,"line_start":78,"line_end":78,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2583694009}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713234,"byte_end":713241,"line_start":78,"line_end":78,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":301992633}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713292,"byte_end":713297,"line_start":79,"line_end":79,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2583694009}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713316,"byte_end":713323,"line_start":82,"line_end":82,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":301992633}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713371,"byte_end":713377,"line_start":85,"line_end":85,"column_start":45,"column_end":51},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713401,"byte_end":713404,"line_start":87,"line_end":87,"column_start":21,"column_end":24},"ref_id":{"krate":4,"index":7089}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713418,"byte_end":713431,"line_start":87,"line_end":87,"column_start":38,"column_end":51},"ref_id":{"krate":4,"index":7097}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713413,"byte_end":713416,"line_start":87,"line_end":87,"column_start":33,"column_end":36},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713432,"byte_end":713438,"line_start":87,"line_end":87,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536873660}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713464,"byte_end":713473,"line_start":88,"line_end":88,"column_start":15,"column_end":24},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713464,"byte_end":713465,"line_start":88,"line_end":88,"column_start":15,"column_end":16},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713467,"byte_end":713473,"line_start":88,"line_end":88,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713467,"byte_end":713473,"line_start":88,"line_end":88,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536873660}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713491,"byte_end":713495,"line_start":89,"line_end":89,"column_start":16,"column_end":20},"ref_id":{"krate":4,"index":7170}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713484,"byte_end":713490,"line_start":89,"line_end":89,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2818575036}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713529,"byte_end":713532,"line_start":92,"line_end":92,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1073744572}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713546,"byte_end":713552,"line_start":93,"line_end":93,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536873660}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713571,"byte_end":713580,"line_start":94,"line_end":94,"column_start":14,"column_end":23},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713571,"byte_end":713572,"line_start":94,"line_end":94,"column_start":14,"column_end":15},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713574,"byte_end":713580,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713574,"byte_end":713580,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873660}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713605,"byte_end":713610,"line_start":95,"line_end":95,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":2080377532}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713653,"byte_end":713665,"line_start":96,"line_end":96,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2743}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713666,"byte_end":713673,"line_start":96,"line_end":96,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2583694012}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713626,"byte_end":713632,"line_start":96,"line_end":96,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2818575036}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713634,"byte_end":713635,"line_start":96,"line_end":96,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2717911740}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713638,"byte_end":713639,"line_start":96,"line_end":96,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":838863548}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713702,"byte_end":713707,"line_start":97,"line_end":97,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":2080377532}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713710,"byte_end":713717,"line_start":97,"line_end":97,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2583694012}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713693,"byte_end":713698,"line_start":97,"line_end":97,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2080377532}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713758,"byte_end":713764,"line_start":100,"line_end":100,"column_start":27,"column_end":33},"ref_id":{"krate":4,"index":7626}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713770,"byte_end":713778,"line_start":100,"line_end":100,"column_start":39,"column_end":47},"ref_id":{"krate":4,"index":665}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713797,"byte_end":713803,"line_start":102,"line_end":102,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":2818575036}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713825,"byte_end":713834,"line_start":103,"line_end":103,"column_start":20,"column_end":29},"ref_id":{"krate":1,"index":11729}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":713820,"byte_end":713823,"line_start":103,"line_end":103,"column_start":15,"column_end":18},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713837,"byte_end":713839,"line_start":103,"line_end":103,"column_start":32,"column_end":34},"ref_id":{"krate":0,"index":2835352252}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713862,"byte_end":713864,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713862,"byte_end":713864,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713902,"byte_end":713910,"line_start":105,"line_end":105,"column_start":30,"column_end":38},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713889,"byte_end":713901,"line_start":105,"line_end":105,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1224739516}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713911,"byte_end":713912,"line_start":105,"line_end":105,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":352324284}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713942,"byte_end":713945,"line_start":107,"line_end":107,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713942,"byte_end":713945,"line_start":107,"line_end":107,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713984,"byte_end":713992,"line_start":108,"line_end":108,"column_start":30,"column_end":38},"ref_id":{"krate":4,"index":5562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713971,"byte_end":713983,"line_start":108,"line_end":108,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1224739516}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":714034,"byte_end":714046,"line_start":113,"line_end":113,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":1224739516}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22150,"byte_end":22154,"line_start":346,"line_end":346,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":3242}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22156,"byte_end":22159,"line_start":346,"line_end":346,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3242}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22150,"byte_end":22154,"line_start":346,"line_end":346,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":3255}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22156,"byte_end":22159,"line_start":346,"line_end":346,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3255}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22223,"byte_end":22228,"line_start":348,"line_end":348,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3776}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22230,"byte_end":22236,"line_start":348,"line_end":348,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2590}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22258,"line_start":349,"line_end":349,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3732}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22260,"byte_end":22269,"line_start":349,"line_end":349,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22284,"byte_end":22289,"line_start":350,"line_end":350,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3702}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22291,"byte_end":22297,"line_start":350,"line_end":350,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2354}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":22314,"byte_end":22319,"line_start":351,"line_end":351,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2566}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22321,"byte_end":22330,"line_start":351,"line_end":351,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":2499}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22349,"byte_end":22354,"line_start":352,"line_end":352,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3709}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22356,"byte_end":22361,"line_start":352,"line_end":352,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22377,"byte_end":22383,"line_start":353,"line_end":353,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3355}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":22377,"byte_end":22383,"line_start":353,"line_end":353,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2273}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22425,"byte_end":22430,"line_start":354,"line_end":354,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22432,"byte_end":22435,"line_start":354,"line_end":354,"column_start":12,"column_end":15},"ref_id":{"krate":4,"index":6303}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22446,"byte_end":22451,"line_start":355,"line_end":355,"column_start":5,"column_end":10},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22453,"byte_end":22459,"line_start":355,"line_end":355,"column_start":12,"column_end":18},"ref_id":{"krate":4,"index":5446}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22473,"byte_end":22479,"line_start":356,"line_end":356,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2354}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25842,"byte_end":25851,"line_start":468,"line_end":468,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3702}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25871,"byte_end":25874,"line_start":469,"line_end":469,"column_start":19,"column_end":22},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":25834,"byte_end":25840,"line_start":468,"line_end":468,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":25857,"byte_end":25869,"line_start":469,"line_end":469,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3831}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25894,"byte_end":25898,"line_start":472,"line_end":472,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":3831}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25929,"byte_end":25933,"line_start":473,"line_end":473,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3036}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3839}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3839}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3839}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3839}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":3837}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":3838}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3839}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"ref_id":{"krate":0,"index":3831}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26629,"byte_end":26633,"line_start":492,"line_end":492,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26634,"byte_end":26640,"line_start":492,"line_end":492,"column_start":74,"column_end":80},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26626,"byte_end":26627,"line_start":492,"line_end":492,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26591,"byte_end":26592,"line_start":492,"line_end":492,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26597,"byte_end":26603,"line_start":492,"line_end":492,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26610,"byte_end":26618,"line_start":492,"line_end":492,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":26767,"byte_end":26775,"line_start":495,"line_end":495,"column_start":66,"column_end":74},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26756,"byte_end":26765,"line_start":495,"line_end":495,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3702}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":26781,"byte_end":26784,"line_start":495,"line_end":495,"column_start":80,"column_end":83},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26776,"byte_end":26779,"line_start":495,"line_end":495,"column_start":75,"column_end":78},"ref_id":{"krate":4,"index":7089}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":4}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26881,"byte_end":26883,"line_start":499,"line_end":499,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26884,"byte_end":26888,"line_start":499,"line_end":499,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3831}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26903,"byte_end":26915,"line_start":500,"line_end":500,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":3833}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26917,"byte_end":26929,"line_start":500,"line_end":500,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":3825208040}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26943,"byte_end":26949,"line_start":501,"line_end":501,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3832}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26952,"byte_end":26961,"line_start":501,"line_end":501,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26980,"byte_end":26991,"line_start":502,"line_end":502,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3703}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26993,"byte_end":27004,"line_start":502,"line_end":502,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1677724392}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27022,"byte_end":27028,"line_start":503,"line_end":503,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27030,"byte_end":27036,"line_start":503,"line_end":503,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":335547112}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27283,"byte_end":27289,"line_start":511,"line_end":511,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27296,"byte_end":27304,"line_start":511,"line_end":511,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27368,"byte_end":27378,"line_start":513,"line_end":513,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27357,"byte_end":27366,"line_start":513,"line_end":513,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3702}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27384,"byte_end":27387,"line_start":513,"line_end":513,"column_start":68,"column_end":71},"ref_id":{"krate":4,"index":7096}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27379,"byte_end":27382,"line_start":513,"line_end":513,"column_start":63,"column_end":66},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27394,"byte_end":27406,"line_start":513,"line_end":513,"column_start":78,"column_end":90},"ref_id":{"krate":0,"index":1073744618}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27476,"byte_end":27478,"line_start":517,"line_end":517,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27479,"byte_end":27483,"line_start":517,"line_end":517,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3831}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27498,"byte_end":27510,"line_start":518,"line_end":518,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":3833}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27517,"byte_end":27521,"line_start":518,"line_end":518,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27512,"byte_end":27515,"line_start":518,"line_end":518,"column_start":27,"column_end":30},"ref_id":{"krate":4,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27522,"byte_end":27534,"line_start":518,"line_end":518,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":1073744618}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27549,"byte_end":27555,"line_start":519,"line_end":519,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3832}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27558,"byte_end":27567,"line_start":519,"line_end":519,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":3702}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27587,"byte_end":27598,"line_start":520,"line_end":520,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3703}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27600,"byte_end":27611,"line_start":520,"line_end":520,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1207962346}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27629,"byte_end":27635,"line_start":521,"line_end":521,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27637,"byte_end":27643,"line_start":521,"line_end":521,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3355445994}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27796,"byte_end":27800,"line_start":529,"line_end":529,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073744619}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27801,"byte_end":27813,"line_start":529,"line_end":529,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27814,"byte_end":27816,"line_start":529,"line_end":529,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":37850}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28032,"byte_end":28038,"line_start":534,"line_end":534,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28039,"byte_end":28045,"line_start":534,"line_end":534,"column_start":47,"column_end":53},"ref_id":{"krate":4,"index":7626}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28047,"byte_end":28055,"line_start":534,"line_end":534,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3709}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28079,"byte_end":28085,"line_start":535,"line_end":535,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2467}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28067,"byte_end":28071,"line_start":535,"line_end":535,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744620}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28072,"byte_end":28078,"line_start":535,"line_end":535,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3832}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28201,"byte_end":28204,"line_start":540,"line_end":540,"column_start":38,"column_end":41},"ref_id":{"krate":4,"index":7089}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28213,"byte_end":28222,"line_start":540,"line_end":540,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28244,"byte_end":28248,"line_start":541,"line_end":541,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28233,"byte_end":28242,"line_start":541,"line_end":541,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28260,"byte_end":28274,"line_start":541,"line_end":541,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":2609}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28249,"byte_end":28258,"line_start":541,"line_end":541,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28275,"byte_end":28280,"line_start":541,"line_end":541,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":536873709}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28283,"byte_end":28287,"line_start":541,"line_end":541,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":1073744621}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28288,"byte_end":28294,"line_start":541,"line_end":541,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28295,"byte_end":28301,"line_start":541,"line_end":541,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28303,"byte_end":28324,"line_start":541,"line_end":541,"column_start":79,"column_end":100},"ref_id":{"krate":0,"index":2273}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28760,"byte_end":28769,"line_start":550,"line_end":550,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28791,"byte_end":28795,"line_start":551,"line_end":551,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28780,"byte_end":28789,"line_start":551,"line_end":551,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28807,"byte_end":28819,"line_start":551,"line_end":551,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2610}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28796,"byte_end":28805,"line_start":551,"line_end":551,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28820,"byte_end":28825,"line_start":551,"line_end":551,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":536873710}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28828,"byte_end":28832,"line_start":551,"line_end":551,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073744622}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28833,"byte_end":28839,"line_start":551,"line_end":551,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28840,"byte_end":28846,"line_start":551,"line_end":551,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28848,"byte_end":28869,"line_start":551,"line_end":551,"column_start":77,"column_end":98},"ref_id":{"krate":0,"index":2273}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29768,"byte_end":29777,"line_start":563,"line_end":563,"column_start":102,"column_end":111},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":29799,"byte_end":29803,"line_start":564,"line_end":564,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29788,"byte_end":29797,"line_start":564,"line_end":564,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":29815,"byte_end":29831,"line_start":564,"line_end":564,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":2611}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29804,"byte_end":29813,"line_start":564,"line_end":564,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29832,"byte_end":29837,"line_start":564,"line_end":564,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873712}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29839,"byte_end":29847,"line_start":564,"line_end":564,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1610615536}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29850,"byte_end":29854,"line_start":564,"line_end":564,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":1073744624}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29855,"byte_end":29861,"line_start":564,"line_end":564,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29862,"byte_end":29868,"line_start":564,"line_end":564,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29870,"byte_end":29891,"line_start":564,"line_end":564,"column_start":91,"column_end":112},"ref_id":{"krate":0,"index":2273}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30357,"byte_end":30363,"line_start":572,"line_end":572,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30375,"byte_end":30384,"line_start":572,"line_end":572,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30406,"byte_end":30410,"line_start":573,"line_end":573,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30395,"byte_end":30404,"line_start":573,"line_end":573,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30422,"byte_end":30425,"line_start":573,"line_end":573,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2612}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30411,"byte_end":30420,"line_start":573,"line_end":573,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30426,"byte_end":30434,"line_start":573,"line_end":573,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":536873714}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30437,"byte_end":30441,"line_start":573,"line_end":573,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073744626}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30442,"byte_end":30448,"line_start":573,"line_end":573,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30449,"byte_end":30455,"line_start":573,"line_end":573,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30457,"byte_end":30478,"line_start":573,"line_end":573,"column_start":71,"column_end":92},"ref_id":{"krate":0,"index":2273}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30745,"byte_end":30754,"line_start":580,"line_end":580,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30776,"byte_end":30780,"line_start":581,"line_end":581,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2283}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30765,"byte_end":30774,"line_start":581,"line_end":581,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30792,"byte_end":30803,"line_start":581,"line_end":581,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2614}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30781,"byte_end":30790,"line_start":581,"line_end":581,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3776}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30804,"byte_end":30809,"line_start":581,"line_end":581,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":536873716}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30812,"byte_end":30816,"line_start":581,"line_end":581,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":1073744628}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30817,"byte_end":30823,"line_start":581,"line_end":581,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3832}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30824,"byte_end":30830,"line_start":581,"line_end":581,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":3704}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30832,"byte_end":30853,"line_start":581,"line_end":581,"column_start":76,"column_end":97},"ref_id":{"krate":0,"index":2273}}],"macro_refs":[],"relations":[{"span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"kind":{"Impl":{"id":0}},"from":{"krate":0,"index":2838},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"kind":{"Impl":{"id":1}},"from":{"krate":0,"index":2857},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"kind":{"Impl":{"id":2}},"from":{"krate":0,"index":2857},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"kind":{"Impl":{"id":3}},"from":{"krate":4,"index":7626},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"kind":{"Impl":{"id":4}},"from":{"krate":4,"index":7626},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"kind":{"Impl":{"id":5}},"from":{"krate":0,"index":173},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"kind":{"Impl":{"id":6}},"from":{"krate":0,"index":173},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"kind":{"Impl":{"id":7}},"from":{"krate":0,"index":289},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"kind":{"Impl":{"id":8}},"from":{"krate":0,"index":289},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"kind":{"Impl":{"id":9}},"from":{"krate":0,"index":290},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"kind":{"Impl":{"id":42}},"from":{"krate":0,"index":3129},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"kind":{"Impl":{"id":43}},"from":{"krate":0,"index":3129},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"kind":{"Impl":{"id":44}},"from":{"krate":0,"index":3129},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"kind":{"Impl":{"id":45}},"from":{"krate":0,"index":3129},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"kind":{"Impl":{"id":46}},"from":{"krate":0,"index":3142},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"kind":{"Impl":{"id":47}},"from":{"krate":0,"index":3142},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"kind":{"Impl":{"id":48}},"from":{"krate":0,"index":3142},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"kind":{"Impl":{"id":49}},"from":{"krate":0,"index":3142},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"kind":{"Impl":{"id":50}},"from":{"krate":0,"index":3154},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"kind":{"Impl":{"id":51}},"from":{"krate":0,"index":3154},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"kind":{"Impl":{"id":52}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2675}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"kind":{"Impl":{"id":53}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2722}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"kind":{"Impl":{"id":54}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"kind":{"Impl":{"id":56}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"kind":{"Impl":{"id":58}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"kind":{"Impl":{"id":60}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"kind":{"Impl":{"id":62}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3134}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"kind":{"Impl":{"id":63}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3106}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"kind":{"Impl":{"id":64}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3126}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"kind":{"Impl":{"id":65}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3096}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"kind":{"Impl":{"id":66}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3122}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"kind":{"Impl":{"id":67}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3091}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"kind":{"Impl":{"id":68}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3130}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"kind":{"Impl":{"id":69}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3101}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"kind":{"Impl":{"id":70}},"from":{"krate":0,"index":3154},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"kind":{"Impl":{"id":71}},"from":{"krate":0,"index":3154},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"kind":{"Impl":{"id":72}},"from":{"krate":0,"index":3162},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"kind":{"Impl":{"id":73}},"from":{"krate":0,"index":3162},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"kind":{"Impl":{"id":74}},"from":{"krate":0,"index":3162},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"kind":{"Impl":{"id":75}},"from":{"krate":0,"index":3162},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"kind":{"Impl":{"id":76}},"from":{"krate":0,"index":3162},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"kind":{"Impl":{"id":77}},"from":{"krate":0,"index":3175},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"kind":{"Impl":{"id":78}},"from":{"krate":0,"index":3175},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"kind":{"Impl":{"id":79}},"from":{"krate":0,"index":3175},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"kind":{"Impl":{"id":80}},"from":{"krate":0,"index":3175},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"kind":{"Impl":{"id":81}},"from":{"krate":0,"index":3175},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"kind":{"Impl":{"id":82}},"from":{"krate":0,"index":3188},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"kind":{"Impl":{"id":83}},"from":{"krate":0,"index":3188},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"kind":{"Impl":{"id":84}},"from":{"krate":0,"index":3188},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"kind":{"Impl":{"id":85}},"from":{"krate":0,"index":3188},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"kind":{"Impl":{"id":86}},"from":{"krate":0,"index":3205},"to":{"krate":0,"index":1718}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"kind":{"Impl":{"id":87}},"from":{"krate":0,"index":3205},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"kind":{"Impl":{"id":88}},"from":{"krate":0,"index":3205},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"kind":{"Impl":{"id":89}},"from":{"krate":0,"index":3205},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"kind":{"Impl":{"id":90}},"from":{"krate":0,"index":3205},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"kind":{"Impl":{"id":91}},"from":{"krate":0,"index":1530},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"kind":{"Impl":{"id":92}},"from":{"krate":0,"index":3217},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"kind":{"Impl":{"id":93}},"from":{"krate":0,"index":3217},"to":{"krate":0,"index":1647}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"kind":{"Impl":{"id":94}},"from":{"krate":0,"index":3226},"to":{"krate":0,"index":1647}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"kind":{"Impl":{"id":95}},"from":{"krate":0,"index":3235},"to":{"krate":0,"index":1647}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"kind":{"Impl":{"id":96}},"from":{"krate":0,"index":3244},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"kind":{"Impl":{"id":97}},"from":{"krate":0,"index":3269},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"kind":{"Impl":{"id":98}},"from":{"krate":0,"index":3282},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"kind":{"Impl":{"id":99}},"from":{"krate":0,"index":3282},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"kind":{"Impl":{"id":100}},"from":{"krate":0,"index":3292},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"kind":{"Impl":{"id":101}},"from":{"krate":0,"index":3297},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"kind":{"Impl":{"id":102}},"from":{"krate":0,"index":3309},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"kind":{"Impl":{"id":103}},"from":{"krate":0,"index":3309},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"kind":{"Impl":{"id":104}},"from":{"krate":0,"index":3319},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"kind":{"Impl":{"id":105}},"from":{"krate":0,"index":3338},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"kind":{"Impl":{"id":106}},"from":{"krate":0,"index":3338},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"kind":{"Impl":{"id":107}},"from":{"krate":0,"index":3350},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"kind":{"Impl":{"id":108}},"from":{"krate":0,"index":3350},"to":{"krate":0,"index":1723}},{"span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"kind":{"Impl":{"id":109}},"from":{"krate":0,"index":3355},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"kind":{"Impl":{"id":110}},"from":{"krate":0,"index":3363},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"kind":{"Impl":{"id":111}},"from":{"krate":0,"index":3355},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"kind":{"Impl":{"id":112}},"from":{"krate":0,"index":2322},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"kind":{"Impl":{"id":113}},"from":{"krate":0,"index":3367},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"kind":{"Impl":{"id":114}},"from":{"krate":0,"index":2341},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"kind":{"Impl":{"id":115}},"from":{"krate":0,"index":2341},"to":{"krate":1,"index":7914}},{"span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"kind":{"Impl":{"id":116}},"from":{"krate":0,"index":3386},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"kind":{"Impl":{"id":117}},"from":{"krate":0,"index":3386},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"kind":{"Impl":{"id":118}},"from":{"krate":0,"index":3476},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"kind":{"Impl":{"id":119}},"from":{"krate":0,"index":3560},"to":{"krate":1,"index":3036}},{"span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"kind":{"Impl":{"id":120}},"from":{"krate":0,"index":3560},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"kind":{"Impl":{"id":121}},"from":{"krate":0,"index":3560},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"kind":{"Impl":{"id":122}},"from":{"krate":0,"index":3560},"to":{"krate":1,"index":3266}},{"span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"kind":{"Impl":{"id":123}},"from":{"krate":0,"index":3702},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"kind":{"Impl":{"id":124}},"from":{"krate":0,"index":3709},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"kind":{"Impl":{"id":125}},"from":{"krate":0,"index":3709},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"kind":{"Impl":{"id":126}},"from":{"krate":0,"index":3709},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"kind":{"Impl":{"id":127}},"from":{"krate":0,"index":3709},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"kind":{"Impl":{"id":128}},"from":{"krate":0,"index":3722},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"kind":{"Impl":{"id":129}},"from":{"krate":0,"index":3732},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"kind":{"Impl":{"id":130}},"from":{"krate":0,"index":3732},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"kind":{"Impl":{"id":131}},"from":{"krate":0,"index":3732},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"kind":{"Impl":{"id":132}},"from":{"krate":0,"index":3732},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"kind":{"Impl":{"id":133}},"from":{"krate":0,"index":3776},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"kind":{"Impl":{"id":134}},"from":{"krate":0,"index":3776},"to":{"krate":1,"index":2645}},{"span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"kind":{"Impl":{"id":135}},"from":{"krate":0,"index":3776},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"kind":{"Impl":{"id":136}},"from":{"krate":0,"index":3796},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"kind":{"Impl":{"id":137}},"from":{"krate":0,"index":3822},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"kind":{"Impl":{"id":138}},"from":{"krate":0,"index":2732},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"kind":{"Impl":{"id":139}},"from":{"krate":0,"index":3831},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"kind":{"Impl":{"id":140}},"from":{"krate":0,"index":3831},"to":{"krate":1,"index":3036}},{"span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"kind":{"Impl":{"id":141}},"from":{"krate":0,"index":3831},"to":{"krate":4294967295,"index":4294967295}}]} ================================================ FILE: no_proto_rs_old/target/rls/debug/deps/save-analysis/no_proto-441091bf4a4eb675.json ================================================ {"config":{"output_file":null,"full_docs":false,"pub_only":false,"reachable_only":false,"distro_crate":false,"signatures":false,"borrow_data":false},"version":"0.19.1","compilation":{"directory":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old","program":"/Users/scottlott/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rls","arguments":[],"output":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/target/rls/debug/deps/libno_proto-441091bf4a4eb675.rmeta"},"prelude":{"crate_id":{"name":"no_proto","disambiguator":[9073811134624856551,0]},"crate_root":"src","external_crates":[{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":1,"id":{"name":"core","disambiguator":[16249227214258238047,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":2,"id":{"name":"compiler_builtins","disambiguator":[13791225915815425008,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":3,"id":{"name":"rustc_std_workspace_core","disambiguator":[455111089362928276,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":4,"id":{"name":"std","disambiguator":[9602236740471282608,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":5,"id":{"name":"alloc","disambiguator":[740641686899810413,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":6,"id":{"name":"libc","disambiguator":[1452182208797737205,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":7,"id":{"name":"unwind","disambiguator":[4474361821197688885,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":8,"id":{"name":"cfg_if","disambiguator":[11146593528668201643,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":9,"id":{"name":"hashbrown","disambiguator":[7026141623111916022,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":10,"id":{"name":"rustc_std_workspace_alloc","disambiguator":[11096207044195207047,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":11,"id":{"name":"std_detect","disambiguator":[16946906222655600942,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":12,"id":{"name":"rustc_demangle","disambiguator":[9670608472714711915,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":13,"id":{"name":"addr2line","disambiguator":[3075685271658393714,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":14,"id":{"name":"gimli","disambiguator":[7553277853646633394,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":15,"id":{"name":"object","disambiguator":[5387634511767759158,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":16,"id":{"name":"memchr","disambiguator":[10401181353817371068,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":17,"id":{"name":"panic_unwind","disambiguator":[14296571408058143832,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":18,"id":{"name":"test","disambiguator":[15177161660986656636,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":19,"id":{"name":"getopts","disambiguator":[6824822195530420972,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":20,"id":{"name":"rustc_std_workspace_std","disambiguator":[11477069874723829621,0]}},{"file_name":"/Users/scottlott/iMac_Developer/NoProto/no_proto_rs_old/src/lib.rs","num":21,"id":{"name":"unicode_width","disambiguator":[8779851681985641711,0]}}],"span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":34931,"line_start":1,"line_end":696,"column_start":1,"column_end":2}},"imports":[{"kind":"ExternCrate","ref_id":null,"span":{"file_name":"src/lib.rs","byte_start":21874,"byte_end":21877,"line_start":326,"line_end":326,"column_start":14,"column_end":17},"alias_span":null,"name":"std","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/idl.rs","byte_start":35069,"byte_end":35077,"line_start":5,"line_end":5,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":5}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/idl.rs","byte_start":35098,"byte_end":35104,"line_start":6,"line_end":6,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":5}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/idl.rs","byte_start":35122,"byte_end":35125,"line_start":7,"line_end":7,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":5}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/any.rs","byte_start":101050,"byte_end":101056,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/any.rs","byte_start":101064,"byte_end":101067,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/any.rs","byte_start":101088,"byte_end":101094,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/any.rs","byte_start":101096,"byte_end":101105,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/any.rs","byte_start":101120,"byte_end":101125,"line_start":2,"line_end":2,"column_start":51,"column_end":56},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/any.rs","byte_start":101137,"byte_end":101153,"line_start":2,"line_end":2,"column_start":68,"column_end":84},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/any.rs","byte_start":101155,"byte_end":101168,"line_start":2,"line_end":2,"column_start":86,"column_end":99},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":2459},"span":{"file_name":"src/pointer/any.rs","byte_start":101170,"byte_end":101174,"line_start":2,"line_end":2,"column_start":101,"column_end":105},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/any.rs","byte_start":101194,"byte_end":101197,"line_start":3,"line_end":3,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/any.rs","byte_start":101217,"byte_end":101225,"line_start":4,"line_end":4,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/any.rs","byte_start":101248,"byte_end":101259,"line_start":5,"line_end":5,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/any.rs","byte_start":101271,"byte_end":101279,"line_start":5,"line_end":5,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/any.rs","byte_start":101292,"byte_end":101299,"line_start":5,"line_end":5,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/any.rs","byte_start":101322,"byte_end":101325,"line_start":8,"line_end":8,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/any.rs","byte_start":101346,"byte_end":101353,"line_start":9,"line_end":9,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/any.rs","byte_start":101367,"byte_end":101376,"line_start":10,"line_end":10,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/any.rs","byte_start":101390,"byte_end":101399,"line_start":11,"line_end":11,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":22}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/string.rs","byte_start":105491,"byte_end":105494,"line_start":17,"line_end":17,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/string.rs","byte_start":105515,"byte_end":105521,"line_start":18,"line_end":18,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/string.rs","byte_start":105547,"byte_end":105550,"line_start":19,"line_end":19,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/string.rs","byte_start":105571,"byte_end":105579,"line_start":20,"line_end":20,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/string.rs","byte_start":105587,"byte_end":105593,"line_start":20,"line_end":20,"column_start":36,"column_end":42},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/string.rs","byte_start":105595,"byte_end":105604,"line_start":20,"line_end":20,"column_start":44,"column_end":53},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3987},"span":{"file_name":"src/pointer/string.rs","byte_start":105616,"byte_end":105630,"line_start":20,"line_end":20,"column_start":65,"column_end":79},"alias_span":null,"name":"NP_String_Data","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/string.rs","byte_start":105632,"byte_end":105645,"line_start":20,"line_end":20,"column_start":81,"column_end":94},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3826},"span":{"file_name":"src/pointer/string.rs","byte_start":105647,"byte_end":105658,"line_start":20,"line_end":20,"column_start":96,"column_end":107},"alias_span":null,"name":"String_Case","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/string.rs","byte_start":105690,"byte_end":105695,"line_start":22,"line_end":22,"column_start":16,"column_end":21},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/string.rs","byte_start":105709,"byte_end":105718,"line_start":23,"line_end":23,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/string.rs","byte_start":105733,"byte_end":105749,"line_start":24,"line_end":24,"column_start":14,"column_end":30},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/string.rs","byte_start":105778,"byte_end":105785,"line_start":26,"line_end":26,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/string.rs","byte_start":105796,"byte_end":105804,"line_start":26,"line_end":26,"column_start":42,"column_end":50},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/string.rs","byte_start":105814,"byte_end":105825,"line_start":26,"line_end":26,"column_start":60,"column_end":71},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/string.rs","byte_start":105844,"byte_end":105847,"line_start":27,"line_end":27,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/string.rs","byte_start":105862,"byte_end":105871,"line_start":29,"line_end":29,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":0,"index":1719},"span":{"file_name":"src/pointer/string.rs","byte_start":105873,"byte_end":105882,"line_start":29,"line_end":29,"column_start":24,"column_end":33},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/string.rs","byte_start":105904,"byte_end":105911,"line_start":30,"line_end":30,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":1,"index":11718},"span":{"file_name":"src/pointer/string.rs","byte_start":105923,"byte_end":105926,"line_start":31,"line_end":31,"column_start":11,"column_end":14},"alias_span":null,"name":"str","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/string.rs","byte_start":105947,"byte_end":105955,"line_start":32,"line_end":32,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":103}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134432,"byte_end":134438,"line_start":19,"line_end":19,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134446,"byte_end":134449,"line_start":19,"line_end":19,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134470,"byte_end":134476,"line_start":20,"line_end":20,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134478,"byte_end":134487,"line_start":20,"line_end":20,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134501,"byte_end":134506,"line_start":20,"line_end":20,"column_start":50,"column_end":55},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":3996},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134517,"byte_end":134530,"line_start":20,"line_end":20,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Bytes_Data","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134532,"byte_end":134548,"line_start":20,"line_end":20,"column_start":81,"column_end":97},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134550,"byte_end":134563,"line_start":20,"line_end":20,"column_start":99,"column_end":112},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134585,"byte_end":134593,"line_start":21,"line_end":21,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134616,"byte_end":134627,"line_start":22,"line_end":22,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134639,"byte_end":134647,"line_start":22,"line_end":22,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134660,"byte_end":134667,"line_start":22,"line_end":22,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134687,"byte_end":134690,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134710,"byte_end":134713,"line_start":25,"line_end":25,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134735,"byte_end":134742,"line_start":26,"line_end":26,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134757,"byte_end":134766,"line_start":27,"line_end":27,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134780,"byte_end":134789,"line_start":28,"line_end":28,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134810,"byte_end":134818,"line_start":29,"line_end":29,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":227}},{"kind":"Use","ref_id":{"krate":0,"index":2459},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161113,"byte_end":161117,"line_start":31,"line_end":31,"column_start":20,"column_end":24},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3945},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161139,"byte_end":161149,"line_start":32,"line_end":32,"column_start":21,"column_end":31},"alias_span":null,"name":"NP_i8_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3951},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161151,"byte_end":161162,"line_start":32,"line_end":32,"column_start":33,"column_end":44},"alias_span":null,"name":"NP_i16_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3957},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161164,"byte_end":161175,"line_start":32,"line_end":32,"column_start":46,"column_end":57},"alias_span":null,"name":"NP_i32_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3963},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161177,"byte_end":161188,"line_start":32,"line_end":32,"column_start":59,"column_end":70},"alias_span":null,"name":"NP_i64_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3921},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161190,"byte_end":161200,"line_start":32,"line_end":32,"column_start":72,"column_end":82},"alias_span":null,"name":"NP_u8_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3927},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161202,"byte_end":161213,"line_start":32,"line_end":32,"column_start":84,"column_end":95},"alias_span":null,"name":"NP_u16_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3933},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161215,"byte_end":161226,"line_start":32,"line_end":32,"column_start":97,"column_end":108},"alias_span":null,"name":"NP_u32_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3939},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161228,"byte_end":161239,"line_start":32,"line_end":32,"column_start":110,"column_end":121},"alias_span":null,"name":"NP_u64_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3969},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161241,"byte_end":161252,"line_start":32,"line_end":32,"column_start":123,"column_end":134},"alias_span":null,"name":"NP_f32_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3975},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161254,"byte_end":161265,"line_start":32,"line_end":32,"column_start":136,"column_end":147},"alias_span":null,"name":"NP_f64_Data","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161285,"byte_end":161288,"line_start":33,"line_end":33,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161309,"byte_end":161322,"line_start":34,"line_end":34,"column_start":20,"column_end":33},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":1,"index":12197},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161340,"byte_end":161347,"line_start":35,"line_end":35,"column_start":17,"column_end":24},"alias_span":null,"name":"FromStr","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161371,"byte_end":161377,"line_start":37,"line_end":37,"column_start":21,"column_end":27},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161398,"byte_end":161404,"line_start":38,"line_end":38,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/numbers.rs","byte_start":161430,"byte_end":161433,"line_start":39,"line_end":39,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161454,"byte_end":161470,"line_start":40,"line_end":40,"column_start":20,"column_end":36},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161488,"byte_end":161491,"line_start":41,"line_end":41,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161511,"byte_end":161522,"line_start":42,"line_end":42,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":2732},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161542,"byte_end":161551,"line_start":43,"line_end":43,"column_start":19,"column_end":28},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161571,"byte_end":161579,"line_start":44,"line_end":44,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161601,"byte_end":161612,"line_start":45,"line_end":45,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161623,"byte_end":161631,"line_start":45,"line_end":45,"column_start":43,"column_end":51},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161644,"byte_end":161651,"line_start":45,"line_end":45,"column_start":64,"column_end":71},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161664,"byte_end":161669,"line_start":45,"line_end":45,"column_start":84,"column_end":89},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161692,"byte_end":161700,"line_start":47,"line_end":47,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161722,"byte_end":161729,"line_start":48,"line_end":48,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161744,"byte_end":161753,"line_start":49,"line_end":49,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161767,"byte_end":161776,"line_start":50,"line_end":50,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":350}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/bool.rs","byte_start":208130,"byte_end":208133,"line_start":18,"line_end":18,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/bool.rs","byte_start":208154,"byte_end":208160,"line_start":19,"line_end":19,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/bool.rs","byte_start":208180,"byte_end":208186,"line_start":20,"line_end":20,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/bool.rs","byte_start":208188,"byte_end":208197,"line_start":20,"line_end":20,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/bool.rs","byte_start":208211,"byte_end":208216,"line_start":20,"line_end":20,"column_start":50,"column_end":55},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":3981},"span":{"file_name":"src/pointer/bool.rs","byte_start":208227,"byte_end":208239,"line_start":20,"line_end":20,"column_start":66,"column_end":78},"alias_span":null,"name":"NP_Bool_Data","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/bool.rs","byte_start":208241,"byte_end":208257,"line_start":20,"line_end":20,"column_start":80,"column_end":96},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/bool.rs","byte_start":208259,"byte_end":208272,"line_start":20,"line_end":20,"column_start":98,"column_end":111},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/bool.rs","byte_start":208294,"byte_end":208302,"line_start":21,"line_end":21,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/bool.rs","byte_start":208325,"byte_end":208336,"line_start":22,"line_end":22,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/bool.rs","byte_start":208348,"byte_end":208356,"line_start":22,"line_end":22,"column_start":45,"column_end":53},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/bool.rs","byte_start":208369,"byte_end":208376,"line_start":22,"line_end":22,"column_start":66,"column_end":73},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/bool.rs","byte_start":208396,"byte_end":208399,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/bool.rs","byte_start":208419,"byte_end":208422,"line_start":25,"line_end":25,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/bool.rs","byte_start":208444,"byte_end":208451,"line_start":26,"line_end":26,"column_start":21,"column_end":28},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/bool.rs","byte_start":208465,"byte_end":208474,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/bool.rs","byte_start":208495,"byte_end":208503,"line_start":28,"line_end":28,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/bool.rs","byte_start":208517,"byte_end":208526,"line_start":30,"line_end":30,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":524}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/geo.rs","byte_start":219836,"byte_end":219839,"line_start":21,"line_end":21,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/geo.rs","byte_start":219860,"byte_end":219866,"line_start":22,"line_end":22,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/geo.rs","byte_start":219886,"byte_end":219892,"line_start":23,"line_end":23,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/geo.rs","byte_start":219894,"byte_end":219903,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4003},"span":{"file_name":"src/pointer/geo.rs","byte_start":219915,"byte_end":219926,"line_start":23,"line_end":23,"column_start":48,"column_end":59},"alias_span":null,"name":"NP_Geo_Data","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/geo.rs","byte_start":219928,"byte_end":219944,"line_start":23,"line_end":23,"column_start":61,"column_end":77},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/geo.rs","byte_start":219946,"byte_end":219959,"line_start":23,"line_end":23,"column_start":79,"column_end":92},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/geo.rs","byte_start":219979,"byte_end":219982,"line_start":24,"line_end":24,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":2732},"span":{"file_name":"src/pointer/geo.rs","byte_start":220002,"byte_end":220011,"line_start":25,"line_end":25,"column_start":19,"column_end":28},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/geo.rs","byte_start":220031,"byte_end":220042,"line_start":26,"line_end":26,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/geo.rs","byte_start":220067,"byte_end":220072,"line_start":27,"line_end":27,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/geo.rs","byte_start":220074,"byte_end":220081,"line_start":27,"line_end":27,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/pointer/geo.rs","byte_start":220104,"byte_end":220113,"line_start":28,"line_end":28,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/geo.rs","byte_start":220115,"byte_end":220126,"line_start":28,"line_end":28,"column_start":32,"column_end":43},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/geo.rs","byte_start":220150,"byte_end":220158,"line_start":29,"line_end":29,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/geo.rs","byte_start":220167,"byte_end":220175,"line_start":29,"line_end":29,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/geo.rs","byte_start":220195,"byte_end":220200,"line_start":30,"line_end":30,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/geo.rs","byte_start":220195,"byte_end":220200,"line_start":30,"line_end":30,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":1,"index":2933},"span":{"file_name":"src/pointer/geo.rs","byte_start":220223,"byte_end":220230,"line_start":31,"line_end":31,"column_start":20,"column_end":27},"alias_span":null,"name":"TryInto","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/geo.rs","byte_start":220251,"byte_end":220254,"line_start":33,"line_end":33,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/geo.rs","byte_start":220275,"byte_end":220282,"line_start":34,"line_end":34,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/geo.rs","byte_start":220304,"byte_end":220312,"line_start":35,"line_end":35,"column_start":21,"column_end":29},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/geo.rs","byte_start":220327,"byte_end":220336,"line_start":36,"line_end":36,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/geo.rs","byte_start":220350,"byte_end":220359,"line_start":37,"line_end":37,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":612}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/dec.rs","byte_start":263499,"byte_end":263505,"line_start":63,"line_end":63,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/dec.rs","byte_start":263513,"byte_end":263516,"line_start":63,"line_end":63,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/dec.rs","byte_start":263543,"byte_end":263546,"line_start":64,"line_end":64,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/dec.rs","byte_start":263566,"byte_end":263572,"line_start":65,"line_end":65,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/dec.rs","byte_start":263574,"byte_end":263583,"line_start":65,"line_end":65,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":4010},"span":{"file_name":"src/pointer/dec.rs","byte_start":263595,"byte_end":263606,"line_start":65,"line_end":65,"column_start":48,"column_end":59},"alias_span":null,"name":"NP_Dec_Data","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/dec.rs","byte_start":263608,"byte_end":263621,"line_start":65,"line_end":65,"column_start":61,"column_end":74},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":2732},"span":{"file_name":"src/pointer/dec.rs","byte_start":263631,"byte_end":263640,"line_start":65,"line_end":65,"column_start":84,"column_end":93},"alias_span":null,"name":"to_signed","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/dec.rs","byte_start":263663,"byte_end":263679,"line_start":66,"line_end":66,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/dec.rs","byte_start":263698,"byte_end":263701,"line_start":67,"line_end":67,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":2731},"span":{"file_name":"src/pointer/dec.rs","byte_start":263721,"byte_end":263732,"line_start":68,"line_end":68,"column_start":19,"column_end":30},"alias_span":null,"name":"to_unsigned","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/dec.rs","byte_start":263757,"byte_end":263762,"line_start":69,"line_end":69,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/dec.rs","byte_start":263764,"byte_end":263771,"line_start":69,"line_end":69,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/dec.rs","byte_start":263794,"byte_end":263805,"line_start":70,"line_end":70,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/dec.rs","byte_start":263829,"byte_end":263837,"line_start":71,"line_end":71,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/dec.rs","byte_start":263846,"byte_end":263854,"line_start":71,"line_end":71,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/dec.rs","byte_start":263874,"byte_end":263879,"line_start":72,"line_end":72,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/dec.rs","byte_start":263874,"byte_end":263879,"line_start":72,"line_end":72,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/dec.rs","byte_start":263903,"byte_end":263910,"line_start":74,"line_end":74,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/dec.rs","byte_start":263924,"byte_end":263933,"line_start":75,"line_end":75,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/dec.rs","byte_start":263947,"byte_end":263956,"line_start":76,"line_end":76,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/dec.rs","byte_start":263977,"byte_end":263985,"line_start":77,"line_end":77,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":793}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296665,"byte_end":296671,"line_start":22,"line_end":22,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296673,"byte_end":296682,"line_start":22,"line_end":22,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296693,"byte_end":296702,"line_start":22,"line_end":22,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296713,"byte_end":296729,"line_start":22,"line_end":22,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296731,"byte_end":296744,"line_start":22,"line_end":22,"column_start":85,"column_end":98},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":2459},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296746,"byte_end":296750,"line_start":22,"line_end":22,"column_start":100,"column_end":104},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":2746},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296760,"byte_end":296771,"line_start":22,"line_end":22,"column_start":114,"column_end":125},"alias_span":null,"name":"from_base32","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296792,"byte_end":296795,"line_start":23,"line_end":23,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296802,"byte_end":296805,"line_start":23,"line_end":23,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":2749},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296826,"byte_end":296835,"line_start":24,"line_end":24,"column_start":19,"column_end":28},"alias_span":null,"name":"to_base32","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296860,"byte_end":296865,"line_start":25,"line_end":25,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296867,"byte_end":296874,"line_start":25,"line_end":25,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296897,"byte_end":296908,"line_start":26,"line_end":26,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296932,"byte_end":296940,"line_start":27,"line_end":27,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296949,"byte_end":296957,"line_start":27,"line_end":27,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":2733},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296967,"byte_end":296971,"line_start":27,"line_end":27,"column_start":57,"column_end":61},"alias_span":null,"name":"Rand","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296992,"byte_end":296997,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296992,"byte_end":296997,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/ulid.rs","byte_start":296999,"byte_end":297008,"line_start":28,"line_end":28,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297032,"byte_end":297038,"line_start":30,"line_end":30,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297058,"byte_end":297061,"line_start":31,"line_end":31,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297082,"byte_end":297090,"line_start":32,"line_end":32,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297111,"byte_end":297118,"line_start":33,"line_end":33,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297133,"byte_end":297142,"line_start":35,"line_end":35,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":0,"index":1719},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297144,"byte_end":297153,"line_start":35,"line_end":35,"column_start":24,"column_end":33},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":952}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310395,"byte_end":310398,"line_start":25,"line_end":25,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/uuid.rs","byte_start":310412,"byte_end":310421,"line_start":26,"line_end":26,"column_start":13,"column_end":22},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310428,"byte_end":310434,"line_start":26,"line_end":26,"column_start":29,"column_end":35},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310445,"byte_end":310458,"line_start":26,"line_end":26,"column_start":46,"column_end":59},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":2459},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310460,"byte_end":310464,"line_start":26,"line_end":26,"column_start":61,"column_end":65},"alias_span":null,"name":"NULL","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/uuid.rs","byte_start":310492,"byte_end":310495,"line_start":27,"line_end":27,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":1719},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310517,"byte_end":310526,"line_start":28,"line_end":28,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310548,"byte_end":310557,"line_start":29,"line_end":29,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310568,"byte_end":310584,"line_start":29,"line_end":29,"column_start":41,"column_end":57},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310604,"byte_end":310607,"line_start":30,"line_end":30,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310632,"byte_end":310637,"line_start":31,"line_end":31,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310639,"byte_end":310646,"line_start":31,"line_end":31,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310669,"byte_end":310680,"line_start":32,"line_end":32,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310704,"byte_end":310712,"line_start":33,"line_end":33,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310721,"byte_end":310729,"line_start":33,"line_end":33,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":2733},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310739,"byte_end":310743,"line_start":33,"line_end":33,"column_start":57,"column_end":61},"alias_span":null,"name":"Rand","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310764,"byte_end":310769,"line_start":34,"line_end":34,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310764,"byte_end":310769,"line_start":34,"line_end":34,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310771,"byte_end":310780,"line_start":34,"line_end":34,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":1,"index":9554},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310782,"byte_end":310787,"line_start":34,"line_end":34,"column_start":36,"column_end":41},"alias_span":null,"name":"Write","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310811,"byte_end":310817,"line_start":36,"line_end":36,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310838,"byte_end":310845,"line_start":37,"line_end":37,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310866,"byte_end":310874,"line_start":38,"line_end":38,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/uuid.rs","byte_start":310888,"byte_end":310897,"line_start":40,"line_end":40,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1114}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/option.rs","byte_start":323076,"byte_end":323085,"line_start":19,"line_end":19,"column_start":13,"column_end":22},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/option.rs","byte_start":323092,"byte_end":323098,"line_start":19,"line_end":19,"column_start":29,"column_end":35},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":4017},"span":{"file_name":"src/pointer/option.rs","byte_start":323109,"byte_end":323121,"line_start":19,"line_end":19,"column_start":46,"column_end":58},"alias_span":null,"name":"NP_Enum_Data","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/option.rs","byte_start":323123,"byte_end":323136,"line_start":19,"line_end":19,"column_start":60,"column_end":73},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/option.rs","byte_start":323160,"byte_end":323169,"line_start":20,"line_end":20,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/option.rs","byte_start":323180,"byte_end":323196,"line_start":20,"line_end":20,"column_start":41,"column_end":57},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/option.rs","byte_start":323218,"byte_end":323221,"line_start":21,"line_end":21,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/option.rs","byte_start":323228,"byte_end":323231,"line_start":21,"line_end":21,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/option.rs","byte_start":323257,"byte_end":323262,"line_start":22,"line_end":22,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/option.rs","byte_start":323264,"byte_end":323271,"line_start":22,"line_end":22,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/option.rs","byte_start":323294,"byte_end":323305,"line_start":23,"line_end":23,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/option.rs","byte_start":323329,"byte_end":323337,"line_start":24,"line_end":24,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/option.rs","byte_start":323346,"byte_end":323354,"line_start":24,"line_end":24,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/option.rs","byte_start":323374,"byte_end":323379,"line_start":25,"line_end":25,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/option.rs","byte_start":323374,"byte_end":323379,"line_start":25,"line_end":25,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/option.rs","byte_start":323403,"byte_end":323409,"line_start":27,"line_end":27,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/option.rs","byte_start":323429,"byte_end":323432,"line_start":28,"line_end":28,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/option.rs","byte_start":323453,"byte_end":323460,"line_start":29,"line_end":29,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/option.rs","byte_start":323482,"byte_end":323490,"line_start":30,"line_end":30,"column_start":21,"column_end":29},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/option.rs","byte_start":323505,"byte_end":323514,"line_start":31,"line_end":31,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1261}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/date.rs","byte_start":342980,"byte_end":342986,"line_start":21,"line_end":21,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/date.rs","byte_start":342994,"byte_end":342997,"line_start":21,"line_end":21,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/date.rs","byte_start":343018,"byte_end":343024,"line_start":22,"line_end":22,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/date.rs","byte_start":343026,"byte_end":343035,"line_start":22,"line_end":22,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/date.rs","byte_start":343047,"byte_end":343063,"line_start":22,"line_end":22,"column_start":48,"column_end":64},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/date.rs","byte_start":343065,"byte_end":343078,"line_start":22,"line_end":22,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":3939},"span":{"file_name":"src/pointer/date.rs","byte_start":343080,"byte_end":343091,"line_start":22,"line_end":22,"column_start":81,"column_end":92},"alias_span":null,"name":"NP_u64_Data","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/date.rs","byte_start":343111,"byte_end":343114,"line_start":23,"line_end":23,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/date.rs","byte_start":343139,"byte_end":343144,"line_start":24,"line_end":24,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/date.rs","byte_start":343146,"byte_end":343153,"line_start":24,"line_end":24,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/date.rs","byte_start":343176,"byte_end":343187,"line_start":25,"line_end":25,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/date.rs","byte_start":343211,"byte_end":343219,"line_start":26,"line_end":26,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/date.rs","byte_start":343228,"byte_end":343236,"line_start":26,"line_end":26,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/date.rs","byte_start":343256,"byte_end":343261,"line_start":27,"line_end":27,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/date.rs","byte_start":343256,"byte_end":343261,"line_start":27,"line_end":27,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":1,"index":9564},"span":{"file_name":"src/pointer/date.rs","byte_start":343263,"byte_end":343272,"line_start":27,"line_end":27,"column_start":25,"column_end":34},"alias_span":null,"name":"Formatter","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/date.rs","byte_start":343295,"byte_end":343298,"line_start":29,"line_end":29,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/date.rs","byte_start":343319,"byte_end":343326,"line_start":30,"line_end":30,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/date.rs","byte_start":343340,"byte_end":343349,"line_start":31,"line_end":31,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/date.rs","byte_start":343363,"byte_end":343372,"line_start":32,"line_end":32,"column_start":12,"column_end":21},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/date.rs","byte_start":343393,"byte_end":343401,"line_start":33,"line_end":33,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1366}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/portal.rs","byte_start":355998,"byte_end":356004,"line_start":54,"line_end":54,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/portal.rs","byte_start":356006,"byte_end":356015,"line_start":54,"line_end":54,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/portal.rs","byte_start":356026,"byte_end":356035,"line_start":54,"line_end":54,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/portal.rs","byte_start":356046,"byte_end":356062,"line_start":54,"line_end":54,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":4044},"span":{"file_name":"src/pointer/portal.rs","byte_start":356064,"byte_end":356078,"line_start":54,"line_end":54,"column_start":85,"column_end":99},"alias_span":null,"name":"NP_Portal_Data","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/pointer/portal.rs","byte_start":356080,"byte_end":356093,"line_start":54,"line_end":54,"column_start":101,"column_end":114},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/pointer/portal.rs","byte_start":356115,"byte_end":356118,"line_start":55,"line_end":55,"column_start":19,"column_end":22},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/portal.rs","byte_start":356125,"byte_end":356128,"line_start":55,"line_end":55,"column_start":29,"column_end":32},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/pointer/portal.rs","byte_start":356155,"byte_end":356160,"line_start":57,"line_end":57,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/portal.rs","byte_start":356162,"byte_end":356169,"line_start":57,"line_end":57,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/portal.rs","byte_start":356192,"byte_end":356203,"line_start":58,"line_end":58,"column_start":21,"column_end":32},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/portal.rs","byte_start":356227,"byte_end":356235,"line_start":59,"line_end":59,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/portal.rs","byte_start":356244,"byte_end":356252,"line_start":59,"line_end":59,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/portal.rs","byte_start":356276,"byte_end":356282,"line_start":62,"line_end":62,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/pointer/portal.rs","byte_start":356302,"byte_end":356305,"line_start":63,"line_end":63,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/pointer/portal.rs","byte_start":356326,"byte_end":356334,"line_start":64,"line_end":64,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/portal.rs","byte_start":356355,"byte_end":356362,"line_start":65,"line_end":65,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/portal.rs","byte_start":356377,"byte_end":356386,"line_start":67,"line_end":67,"column_start":13,"column_end":22},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1468}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/pointer/mod.rs","byte_start":57525,"byte_end":57530,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/pointer/mod.rs","byte_start":57525,"byte_end":57530,"line_start":28,"line_end":28,"column_start":18,"column_end":23},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/pointer/mod.rs","byte_start":57559,"byte_end":57562,"line_start":30,"line_end":30,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/pointer/mod.rs","byte_start":57582,"byte_end":57588,"line_start":31,"line_end":31,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/pointer/mod.rs","byte_start":57590,"byte_end":57599,"line_start":31,"line_end":31,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3363},"span":{"file_name":"src/pointer/mod.rs","byte_start":57616,"byte_end":57622,"line_start":31,"line_end":31,"column_start":53,"column_end":59},"alias_span":null,"name":"NP_Dec","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":4044},"span":{"file_name":"src/pointer/mod.rs","byte_start":57633,"byte_end":57647,"line_start":31,"line_end":31,"column_start":70,"column_end":84},"alias_span":null,"name":"NP_Portal_Data","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2456},"span":{"file_name":"src/pointer/mod.rs","byte_start":57649,"byte_end":57663,"line_start":31,"line_end":31,"column_start":86,"column_end":100},"alias_span":null,"name":"NP_Schema_Addr","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":2742},"span":{"file_name":"src/pointer/mod.rs","byte_start":57673,"byte_end":57680,"line_start":31,"line_end":31,"column_start":110,"column_end":117},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/pointer/mod.rs","byte_start":57694,"byte_end":57710,"line_start":32,"line_end":32,"column_start":12,"column_end":28},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/pointer/mod.rs","byte_start":57735,"byte_end":57742,"line_start":33,"line_end":33,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/pointer/mod.rs","byte_start":57765,"byte_end":57774,"line_start":34,"line_end":34,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/pointer/mod.rs","byte_start":57788,"byte_end":57796,"line_start":35,"line_end":35,"column_start":12,"column_end":20},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/pointer/mod.rs","byte_start":57819,"byte_end":57830,"line_start":36,"line_end":36,"column_start":22,"column_end":33},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3615},"span":{"file_name":"src/pointer/mod.rs","byte_start":57851,"byte_end":57857,"line_start":36,"line_end":36,"column_start":54,"column_end":60},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3571},"span":{"file_name":"src/pointer/mod.rs","byte_start":57866,"byte_end":57875,"line_start":36,"line_end":36,"column_start":69,"column_end":78},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3656},"span":{"file_name":"src/pointer/mod.rs","byte_start":57883,"byte_end":57890,"line_start":36,"line_end":36,"column_start":86,"column_end":93},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3684},"span":{"file_name":"src/pointer/mod.rs","byte_start":57899,"byte_end":57907,"line_start":36,"line_end":36,"column_start":102,"column_end":110},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/pointer/mod.rs","byte_start":57932,"byte_end":57938,"line_start":38,"line_end":38,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/pointer/mod.rs","byte_start":57945,"byte_end":57948,"line_start":38,"line_end":38,"column_start":34,"column_end":37},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/pointer/mod.rs","byte_start":57958,"byte_end":57965,"line_start":38,"line_end":38,"column_start":47,"column_end":54},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":290},"span":{"file_name":"src/pointer/mod.rs","byte_start":57979,"byte_end":57987,"line_start":39,"line_end":39,"column_start":12,"column_end":20},"alias_span":null,"name":"NP_Bytes","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3470},"span":{"file_name":"src/pointer/mod.rs","byte_start":58007,"byte_end":58014,"line_start":41,"line_end":41,"column_start":18,"column_end":25},"alias_span":null,"name":"NP_Date","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3335},"span":{"file_name":"src/pointer/mod.rs","byte_start":58021,"byte_end":58027,"line_start":41,"line_end":41,"column_start":32,"column_end":38},"alias_span":null,"name":"NP_Geo","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3437},"span":{"file_name":"src/pointer/mod.rs","byte_start":58037,"byte_end":58044,"line_start":41,"line_end":41,"column_start":48,"column_end":55},"alias_span":null,"name":"NP_Enum","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":1531},"span":{"file_name":"src/pointer/mod.rs","byte_start":58054,"byte_end":58063,"line_start":41,"line_end":41,"column_start":65,"column_end":74},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":1532},"span":{"file_name":"src/pointer/mod.rs","byte_start":58054,"byte_end":58063,"line_start":41,"line_end":41,"column_start":65,"column_end":74},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3387},"span":{"file_name":"src/pointer/mod.rs","byte_start":58072,"byte_end":58079,"line_start":41,"line_end":41,"column_start":83,"column_end":90},"alias_span":null,"name":"NP_ULID","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":0,"index":3412},"span":{"file_name":"src/pointer/mod.rs","byte_start":58089,"byte_end":58096,"line_start":41,"line_end":41,"column_start":100,"column_end":107},"alias_span":null,"name":"NP_UUID","value":"","parent":{"krate":0,"index":21}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/collection/struc.rs","byte_start":366913,"byte_end":366916,"line_start":1,"line_end":1,"column_start":18,"column_end":21},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":2807},"span":{"file_name":"src/collection/struc.rs","byte_start":366935,"byte_end":366942,"line_start":2,"line_end":2,"column_start":18,"column_end":25},"alias_span":null,"name":"AST_STR","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4024},"span":{"file_name":"src/collection/struc.rs","byte_start":366953,"byte_end":366967,"line_start":2,"line_end":2,"column_start":36,"column_end":50},"alias_span":null,"name":"NP_Struct_Data","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3865},"span":{"file_name":"src/collection/struc.rs","byte_start":366969,"byte_end":366984,"line_start":2,"line_end":2,"column_start":52,"column_end":67},"alias_span":null,"name":"NP_Struct_Field","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/collection/struc.rs","byte_start":366986,"byte_end":366999,"line_start":2,"line_end":2,"column_start":69,"column_end":82},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":2277},"span":{"file_name":"src/collection/struc.rs","byte_start":367024,"byte_end":367036,"line_start":3,"line_end":3,"column_start":22,"column_end":34},"alias_span":null,"name":"VTABLE_BYTES","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":2276},"span":{"file_name":"src/collection/struc.rs","byte_start":367038,"byte_end":367049,"line_start":3,"line_end":3,"column_start":36,"column_end":47},"alias_span":null,"name":"VTABLE_SIZE","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/collection/struc.rs","byte_start":367058,"byte_end":367064,"line_start":3,"line_end":3,"column_start":56,"column_end":62},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/collection/struc.rs","byte_start":367066,"byte_end":367075,"line_start":3,"line_end":3,"column_start":64,"column_end":73},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/collection/struc.rs","byte_start":367098,"byte_end":367104,"line_start":4,"line_end":4,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3533},"span":{"file_name":"src/collection/struc.rs","byte_start":367127,"byte_end":367136,"line_start":5,"line_end":5,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Vtable","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/collection/struc.rs","byte_start":367161,"byte_end":367170,"line_start":6,"line_end":6,"column_start":23,"column_end":32},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/collection/struc.rs","byte_start":367182,"byte_end":367198,"line_start":6,"line_end":6,"column_start":44,"column_end":60},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/collection/struc.rs","byte_start":367223,"byte_end":367232,"line_start":7,"line_end":7,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/collection/struc.rs","byte_start":367245,"byte_end":367253,"line_start":7,"line_end":7,"column_start":44,"column_end":52},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/collection/struc.rs","byte_start":367263,"byte_end":367271,"line_start":7,"line_end":7,"column_start":62,"column_end":70},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/collection/struc.rs","byte_start":367282,"byte_end":367291,"line_start":7,"line_end":7,"column_start":81,"column_end":90},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/collection/struc.rs","byte_start":367293,"byte_end":367304,"line_start":7,"line_end":7,"column_start":92,"column_end":103},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/collection/struc.rs","byte_start":367319,"byte_end":367324,"line_start":7,"line_end":7,"column_start":118,"column_end":123},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/collection/struc.rs","byte_start":367326,"byte_end":367333,"line_start":7,"line_end":7,"column_start":125,"column_end":132},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/collection/struc.rs","byte_start":367357,"byte_end":367365,"line_start":9,"line_end":9,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/collection/struc.rs","byte_start":367383,"byte_end":367386,"line_start":10,"line_end":10,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/collection/struc.rs","byte_start":367406,"byte_end":367409,"line_start":11,"line_end":11,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/collection/struc.rs","byte_start":367430,"byte_end":367437,"line_start":12,"line_end":12,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":1,"index":39482},"span":{"file_name":"src/collection/struc.rs","byte_start":367458,"byte_end":367464,"line_start":13,"line_end":13,"column_start":20,"column_end":26},"alias_span":null,"name":"Result","value":"","parent":{"krate":0,"index":1743}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/collection/map.rs","byte_start":393589,"byte_end":393595,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/collection/map.rs","byte_start":393603,"byte_end":393606,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/collection/map.rs","byte_start":393627,"byte_end":393633,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/collection/map.rs","byte_start":393635,"byte_end":393644,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/collection/map.rs","byte_start":393656,"byte_end":393665,"line_start":2,"line_end":2,"column_start":48,"column_end":57},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4031},"span":{"file_name":"src/collection/map.rs","byte_start":393676,"byte_end":393692,"line_start":2,"line_end":2,"column_start":68,"column_end":84},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/collection/map.rs","byte_start":393694,"byte_end":393707,"line_start":2,"line_end":2,"column_start":86,"column_end":99},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/collection/map.rs","byte_start":393734,"byte_end":393739,"line_start":3,"line_end":3,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/collection/map.rs","byte_start":393763,"byte_end":393771,"line_start":4,"line_end":4,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/collection/map.rs","byte_start":393795,"byte_end":393804,"line_start":5,"line_end":5,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/collection/map.rs","byte_start":393816,"byte_end":393825,"line_start":5,"line_end":5,"column_start":43,"column_end":52},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/collection/map.rs","byte_start":393827,"byte_end":393838,"line_start":5,"line_end":5,"column_start":54,"column_end":65},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/collection/map.rs","byte_start":393840,"byte_end":393856,"line_start":5,"line_end":5,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/collection/map.rs","byte_start":393866,"byte_end":393874,"line_start":5,"line_end":5,"column_start":93,"column_end":101},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/collection/map.rs","byte_start":393887,"byte_end":393894,"line_start":5,"line_end":5,"column_start":114,"column_end":121},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/collection/map.rs","byte_start":393917,"byte_end":393925,"line_start":7,"line_end":7,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/collection/map.rs","byte_start":393943,"byte_end":393946,"line_start":8,"line_end":8,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/collection/map.rs","byte_start":393966,"byte_end":393969,"line_start":9,"line_end":9,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/collection/map.rs","byte_start":393990,"byte_end":393997,"line_start":10,"line_end":10,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1866}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/collection/list.rs","byte_start":409212,"byte_end":409218,"line_start":1,"line_end":1,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/collection/list.rs","byte_start":409226,"byte_end":409229,"line_start":1,"line_end":1,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/collection/list.rs","byte_start":409250,"byte_end":409256,"line_start":2,"line_end":2,"column_start":19,"column_end":25},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/collection/list.rs","byte_start":409258,"byte_end":409267,"line_start":2,"line_end":2,"column_start":27,"column_end":36},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4031},"span":{"file_name":"src/collection/list.rs","byte_start":409279,"byte_end":409295,"line_start":2,"line_end":2,"column_start":48,"column_end":64},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/collection/list.rs","byte_start":409297,"byte_end":409310,"line_start":2,"line_end":2,"column_start":66,"column_end":79},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":2742},"span":{"file_name":"src/collection/list.rs","byte_start":409320,"byte_end":409327,"line_start":2,"line_end":2,"column_start":89,"column_end":96},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/collection/list.rs","byte_start":409349,"byte_end":409357,"line_start":3,"line_end":3,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/collection/list.rs","byte_start":409371,"byte_end":409376,"line_start":3,"line_end":3,"column_start":42,"column_end":47},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/collection/list.rs","byte_start":409378,"byte_end":409385,"line_start":3,"line_end":3,"column_start":49,"column_end":56},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/collection/list.rs","byte_start":409397,"byte_end":409406,"line_start":3,"line_end":3,"column_start":68,"column_end":77},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/collection/list.rs","byte_start":409419,"byte_end":409427,"line_start":3,"line_end":3,"column_start":90,"column_end":98},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/collection/list.rs","byte_start":409440,"byte_end":409449,"line_start":3,"line_end":3,"column_start":111,"column_end":120},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/collection/list.rs","byte_start":409460,"byte_end":409476,"line_start":3,"line_end":3,"column_start":131,"column_end":147},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/collection/list.rs","byte_start":409487,"byte_end":409496,"line_start":3,"line_end":3,"column_start":158,"column_end":167},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/collection/list.rs","byte_start":409498,"byte_end":409509,"line_start":3,"line_end":3,"column_start":169,"column_end":180},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/collection/list.rs","byte_start":409533,"byte_end":409540,"line_start":5,"line_end":5,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/collection/list.rs","byte_start":409560,"byte_end":409563,"line_start":6,"line_end":6,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":1966}},{"kind":"GlobUse","ref_id":null,"span":{"file_name":"src/collection/list.rs","byte_start":409582,"byte_end":409583,"line_start":7,"line_end":7,"column_start":18,"column_end":19},"alias_span":null,"name":"*","value":"Vec","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/collection/list.rs","byte_start":409605,"byte_end":409613,"line_start":8,"line_end":8,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":1966}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/collection/tuple.rs","byte_start":433729,"byte_end":433735,"line_start":1,"line_end":1,"column_start":18,"column_end":24},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3545},"span":{"file_name":"src/collection/tuple.rs","byte_start":433746,"byte_end":433762,"line_start":1,"line_end":1,"column_start":35,"column_end":51},"alias_span":null,"name":"NP_Cursor_Parent","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4037},"span":{"file_name":"src/collection/tuple.rs","byte_start":433773,"byte_end":433786,"line_start":1,"line_end":1,"column_start":62,"column_end":75},"alias_span":null,"name":"NP_Tuple_Data","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3878},"span":{"file_name":"src/collection/tuple.rs","byte_start":433788,"byte_end":433802,"line_start":1,"line_end":1,"column_start":77,"column_end":91},"alias_span":null,"name":"NP_Tuple_Field","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3847},"span":{"file_name":"src/collection/tuple.rs","byte_start":433804,"byte_end":433817,"line_start":1,"line_end":1,"column_start":93,"column_end":106},"alias_span":null,"name":"NP_Value_Kind","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/collection/tuple.rs","byte_start":433841,"byte_end":433847,"line_start":2,"line_end":2,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/collection/tuple.rs","byte_start":433855,"byte_end":433858,"line_start":2,"line_end":2,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/collection/tuple.rs","byte_start":433878,"byte_end":433887,"line_start":3,"line_end":3,"column_start":18,"column_end":27},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/collection/tuple.rs","byte_start":433914,"byte_end":433919,"line_start":5,"line_end":5,"column_start":24,"column_end":29},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/collection/tuple.rs","byte_start":433931,"byte_end":433940,"line_start":5,"line_end":5,"column_start":41,"column_end":50},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/collection/tuple.rs","byte_start":433965,"byte_end":433973,"line_start":6,"line_end":6,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/collection/tuple.rs","byte_start":433997,"byte_end":434006,"line_start":7,"line_end":7,"column_start":22,"column_end":31},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/collection/tuple.rs","byte_start":434018,"byte_end":434027,"line_start":7,"line_end":7,"column_start":43,"column_end":52},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/collection/tuple.rs","byte_start":434029,"byte_end":434040,"line_start":7,"line_end":7,"column_start":54,"column_end":65},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/collection/tuple.rs","byte_start":434042,"byte_end":434058,"line_start":7,"line_end":7,"column_start":67,"column_end":83},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/collection/tuple.rs","byte_start":434068,"byte_end":434076,"line_start":7,"line_end":7,"column_start":93,"column_end":101},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/collection/tuple.rs","byte_start":434089,"byte_end":434096,"line_start":7,"line_end":7,"column_start":114,"column_end":121},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/collection/tuple.rs","byte_start":434116,"byte_end":434119,"line_start":9,"line_end":9,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/collection/tuple.rs","byte_start":434140,"byte_end":434147,"line_start":10,"line_end":10,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/collection/tuple.rs","byte_start":434168,"byte_end":434171,"line_start":11,"line_end":11,"column_start":20,"column_end":23},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/collection/tuple.rs","byte_start":434193,"byte_end":434201,"line_start":12,"line_end":12,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2084}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/buffer.rs","byte_start":456174,"byte_end":456177,"line_start":3,"line_end":3,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":2567},"span":{"file_name":"src/buffer.rs","byte_start":456191,"byte_end":456202,"line_start":4,"line_end":4,"column_start":13,"column_end":24},"alias_span":null,"name":"json_decode","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4072},"span":{"file_name":"src/buffer.rs","byte_start":456215,"byte_end":456220,"line_start":4,"line_end":4,"column_start":37,"column_end":42},"alias_span":null,"name":"JSMAP","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3545},"span":{"file_name":"src/buffer.rs","byte_start":456231,"byte_end":456247,"line_start":4,"line_end":4,"column_start":53,"column_end":69},"alias_span":null,"name":"NP_Cursor_Parent","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3996},"span":{"file_name":"src/buffer.rs","byte_start":456258,"byte_end":456271,"line_start":4,"line_end":4,"column_start":80,"column_end":93},"alias_span":null,"name":"NP_Bytes_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4031},"span":{"file_name":"src/buffer.rs","byte_start":456273,"byte_end":456289,"line_start":4,"line_end":4,"column_start":95,"column_end":111},"alias_span":null,"name":"NP_Map_List_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3987},"span":{"file_name":"src/buffer.rs","byte_start":456291,"byte_end":456305,"line_start":4,"line_end":4,"column_start":113,"column_end":127},"alias_span":null,"name":"NP_String_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4024},"span":{"file_name":"src/buffer.rs","byte_start":456307,"byte_end":456321,"line_start":4,"line_end":4,"column_start":129,"column_end":143},"alias_span":null,"name":"NP_Struct_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4037},"span":{"file_name":"src/buffer.rs","byte_start":456323,"byte_end":456336,"line_start":4,"line_end":4,"column_start":145,"column_end":158},"alias_span":null,"name":"NP_Tuple_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/buffer.rs","byte_start":456359,"byte_end":456365,"line_start":5,"line_end":5,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4190},"span":{"file_name":"src/buffer.rs","byte_start":456379,"byte_end":456391,"line_start":6,"line_end":6,"column_start":13,"column_end":25},"alias_span":null,"name":"NP_Size_Data","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3736},"span":{"file_name":"src/buffer.rs","byte_start":456401,"byte_end":456412,"line_start":6,"line_end":6,"column_start":35,"column_end":46},"alias_span":null,"name":"NP_TypeKeys","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/buffer.rs","byte_start":456435,"byte_end":456444,"line_start":7,"line_end":7,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":2742},"span":{"file_name":"src/buffer.rs","byte_start":456453,"byte_end":456460,"line_start":7,"line_end":7,"column_start":39,"column_end":46},"alias_span":null,"name":"opt_err","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3684},"span":{"file_name":"src/buffer.rs","byte_start":456493,"byte_end":456501,"line_start":8,"line_end":8,"column_start":31,"column_end":39},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":1719},"span":{"file_name":"src/buffer.rs","byte_start":456526,"byte_end":456535,"line_start":10,"line_end":10,"column_start":23,"column_end":32},"alias_span":null,"name":"NP_Scalar","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3615},"span":{"file_name":"src/buffer.rs","byte_start":456568,"byte_end":456574,"line_start":11,"line_end":11,"column_start":30,"column_end":36},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/buffer.rs","byte_start":456598,"byte_end":456606,"line_start":12,"line_end":12,"column_start":22,"column_end":30},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/buffer.rs","byte_start":456629,"byte_end":456638,"line_start":13,"line_end":13,"column_start":21,"column_end":30},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/buffer.rs","byte_start":456660,"byte_end":456676,"line_start":14,"line_end":14,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3571},"span":{"file_name":"src/buffer.rs","byte_start":456697,"byte_end":456706,"line_start":14,"line_end":14,"column_start":58,"column_end":67},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/buffer.rs","byte_start":456725,"byte_end":456728,"line_start":15,"line_end":15,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":3656},"span":{"file_name":"src/buffer.rs","byte_start":456761,"byte_end":456768,"line_start":16,"line_end":16,"column_start":32,"column_end":39},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/buffer.rs","byte_start":456790,"byte_end":456798,"line_start":17,"line_end":17,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/buffer.rs","byte_start":456823,"byte_end":456830,"line_start":18,"line_end":18,"column_start":24,"column_end":31},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/buffer.rs","byte_start":456859,"byte_end":456866,"line_start":19,"line_end":19,"column_start":27,"column_end":34},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2183}},{"kind":"Use","ref_id":{"krate":0,"index":4176},"span":{"file_name":"src/schema.rs","byte_start":545078,"byte_end":545088,"line_start":814,"line_end":814,"column_start":22,"column_end":32},"alias_span":null,"name":"NP_HashMap","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":2819},"span":{"file_name":"src/schema.rs","byte_start":545096,"byte_end":545102,"line_start":814,"line_end":814,"column_start":40,"column_end":46},"alias_span":null,"name":"JS_AST","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":2839},"span":{"file_name":"src/schema.rs","byte_start":545104,"byte_end":545113,"line_start":814,"line_end":814,"column_start":48,"column_end":57},"alias_span":null,"name":"JS_Schema","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":2789},"span":{"file_name":"src/schema.rs","byte_start":545129,"byte_end":545136,"line_start":815,"line_end":815,"column_start":13,"column_end":20},"alias_span":null,"name":"np_path","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3558},"span":{"file_name":"src/schema.rs","byte_start":545148,"byte_end":545157,"line_start":815,"line_end":815,"column_start":32,"column_end":41},"alias_span":null,"name":"NP_Cursor","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/schema.rs","byte_start":545181,"byte_end":545187,"line_start":816,"line_end":816,"column_start":21,"column_end":27},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":5,"index":5986},"span":{"file_name":"src/schema.rs","byte_start":545195,"byte_end":545198,"line_start":816,"line_end":816,"column_start":35,"column_end":38},"alias_span":null,"name":"Arc","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":1,"index":9604},"span":{"file_name":"src/schema.rs","byte_start":545217,"byte_end":545222,"line_start":817,"line_end":817,"column_start":17,"column_end":22},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":1,"index":9607},"span":{"file_name":"src/schema.rs","byte_start":545217,"byte_end":545222,"line_start":817,"line_end":817,"column_start":17,"column_end":22},"alias_span":null,"name":"Debug","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":2274},"span":{"file_name":"src/schema.rs","byte_start":545245,"byte_end":545266,"line_start":818,"line_end":818,"column_start":21,"column_end":42},"alias_span":null,"name":"DEFAULT_ROOT_PTR_ADDR","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/schema.rs","byte_start":545279,"byte_end":545286,"line_start":818,"line_end":818,"column_start":55,"column_end":62},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/schema.rs","byte_start":545296,"byte_end":545305,"line_start":818,"line_end":818,"column_start":72,"column_end":81},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":1531},"span":{"file_name":"src/schema.rs","byte_start":545326,"byte_end":545335,"line_start":818,"line_end":818,"column_start":102,"column_end":111},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":1532},"span":{"file_name":"src/schema.rs","byte_start":545326,"byte_end":545335,"line_start":818,"line_end":818,"column_start":102,"column_end":111},"alias_span":null,"name":"NP_Portal","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3387},"span":{"file_name":"src/schema.rs","byte_start":545344,"byte_end":545351,"line_start":818,"line_end":818,"column_start":120,"column_end":127},"alias_span":null,"name":"NP_ULID","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3412},"span":{"file_name":"src/schema.rs","byte_start":545359,"byte_end":545366,"line_start":818,"line_end":818,"column_start":135,"column_end":142},"alias_span":null,"name":"NP_UUID","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":2862},"span":{"file_name":"src/schema.rs","byte_start":545395,"byte_end":545401,"line_start":819,"line_end":819,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Any","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3470},"span":{"file_name":"src/schema.rs","byte_start":545429,"byte_end":545436,"line_start":820,"line_end":820,"column_start":27,"column_end":34},"alias_span":null,"name":"NP_Date","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3335},"span":{"file_name":"src/schema.rs","byte_start":545463,"byte_end":545469,"line_start":821,"line_end":821,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Geo","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3363},"span":{"file_name":"src/schema.rs","byte_start":545496,"byte_end":545502,"line_start":822,"line_end":822,"column_start":26,"column_end":32},"alias_span":null,"name":"NP_Dec","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3684},"span":{"file_name":"src/schema.rs","byte_start":545534,"byte_end":545542,"line_start":823,"line_end":823,"column_start":31,"column_end":39},"alias_span":null,"name":"NP_Tuple","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":290},"span":{"file_name":"src/schema.rs","byte_start":545571,"byte_end":545579,"line_start":824,"line_end":824,"column_start":28,"column_end":36},"alias_span":null,"name":"NP_Bytes","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3656},"span":{"file_name":"src/schema.rs","byte_start":545611,"byte_end":545618,"line_start":825,"line_end":825,"column_start":31,"column_end":38},"alias_span":null,"name":"NP_List","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3571},"span":{"file_name":"src/schema.rs","byte_start":545627,"byte_end":545636,"line_start":825,"line_end":825,"column_start":47,"column_end":56},"alias_span":null,"name":"NP_Struct","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3615},"span":{"file_name":"src/schema.rs","byte_start":545643,"byte_end":545649,"line_start":825,"line_end":825,"column_start":63,"column_end":69},"alias_span":null,"name":"NP_Map","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":3437},"span":{"file_name":"src/schema.rs","byte_start":545681,"byte_end":545688,"line_start":826,"line_end":826,"column_start":30,"column_end":37},"alias_span":null,"name":"NP_Enum","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":1724},"span":{"file_name":"src/schema.rs","byte_start":545690,"byte_end":545698,"line_start":826,"line_end":826,"column_start":39,"column_end":47},"alias_span":null,"name":"NP_Value","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/schema.rs","byte_start":545719,"byte_end":545727,"line_start":827,"line_end":827,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/schema.rs","byte_start":545745,"byte_end":545748,"line_start":828,"line_end":828,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/schema.rs","byte_start":545768,"byte_end":545771,"line_start":829,"line_end":829,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2355}},{"kind":"Use","ref_id":{"krate":5,"index":7637},"span":{"file_name":"src/error.rs","byte_start":580442,"byte_end":580455,"line_start":3,"line_end":3,"column_start":20,"column_end":33},"alias_span":null,"name":"FromUtf8Error","value":"","parent":{"krate":0,"index":2476}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/error.rs","byte_start":580476,"byte_end":580482,"line_start":4,"line_end":4,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2476}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/error.rs","byte_start":580503,"byte_end":580510,"line_start":5,"line_end":5,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2476}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/error.rs","byte_start":580531,"byte_end":580539,"line_start":6,"line_end":6,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2476}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/json_flex.rs","byte_start":583522,"byte_end":583525,"line_start":37,"line_end":37,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/json_flex.rs","byte_start":583546,"byte_end":583552,"line_start":38,"line_end":38,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":5,"index":315},"span":{"file_name":"src/json_flex.rs","byte_start":583572,"byte_end":583575,"line_start":39,"line_end":39,"column_start":19,"column_end":22},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/json_flex.rs","byte_start":583596,"byte_end":583603,"line_start":40,"line_end":40,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":5,"index":5742},"span":{"file_name":"src/json_flex.rs","byte_start":583624,"byte_end":583632,"line_start":41,"line_end":41,"column_start":20,"column_end":28},"alias_span":null,"name":"ToString","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":1,"index":12197},"span":{"file_name":"src/json_flex.rs","byte_start":583649,"byte_end":583656,"line_start":42,"line_end":42,"column_start":16,"column_end":23},"alias_span":null,"name":"FromStr","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":1,"index":3327},"span":{"file_name":"src/json_flex.rs","byte_start":583673,"byte_end":583678,"line_start":43,"line_end":43,"column_start":16,"column_end":21},"alias_span":null,"name":"Index","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/json_flex.rs","byte_start":583699,"byte_end":583707,"line_start":44,"line_end":44,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2500}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/memory.rs","byte_start":682302,"byte_end":682318,"line_start":3,"line_end":3,"column_start":21,"column_end":37},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":2591}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/memory.rs","byte_start":682340,"byte_end":682348,"line_start":4,"line_end":4,"column_start":20,"column_end":28},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2591}},{"kind":"Use","ref_id":{"krate":1,"index":4683},"span":{"file_name":"src/memory.rs","byte_start":682367,"byte_end":682377,"line_start":5,"line_end":5,"column_start":17,"column_end":27},"alias_span":null,"name":"UnsafeCell","value":"","parent":{"krate":0,"index":2591}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/memory.rs","byte_start":682395,"byte_end":682398,"line_start":6,"line_end":6,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2591}},{"kind":"Use","ref_id":null,"span":{"file_name":"src/new_idl.rs","byte_start":692370,"byte_end":692373,"line_start":5,"line_end":5,"column_start":25,"column_end":28},"alias_span":null,"name":"Box","value":"","parent":{"krate":0,"index":2645}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/new_idl.rs","byte_start":692393,"byte_end":692401,"line_start":6,"line_end":6,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2645}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/new_idl.rs","byte_start":692422,"byte_end":692428,"line_start":7,"line_end":7,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2645}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/new_idl.rs","byte_start":692446,"byte_end":692449,"line_start":8,"line_end":8,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2645}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/hashmap.rs","byte_start":706358,"byte_end":706364,"line_start":1,"line_end":1,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2686}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/hashmap.rs","byte_start":706382,"byte_end":706385,"line_start":2,"line_end":2,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2686}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/hashmap.rs","byte_start":706406,"byte_end":706414,"line_start":4,"line_end":4,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2686}},{"kind":"Use","ref_id":{"krate":1,"index":11718},"span":{"file_name":"src/utils.rs","byte_start":711322,"byte_end":711325,"line_start":1,"line_end":1,"column_start":11,"column_end":14},"alias_span":null,"name":"str","value":"","parent":{"krate":0,"index":2711}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/utils.rs","byte_start":711346,"byte_end":711352,"line_start":2,"line_end":2,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":2711}},{"kind":"Use","ref_id":{"krate":5,"index":663},"span":{"file_name":"src/utils.rs","byte_start":711373,"byte_end":711380,"line_start":3,"line_end":3,"column_start":20,"column_end":27},"alias_span":null,"name":"ToOwned","value":"","parent":{"krate":0,"index":2711}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/utils.rs","byte_start":711398,"byte_end":711401,"line_start":4,"line_end":4,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":2711}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/utils.rs","byte_start":711422,"byte_end":711430,"line_start":6,"line_end":6,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":2711}},{"kind":"ExternCrate","ref_id":null,"span":{"file_name":"src/lib.rs","byte_start":22138,"byte_end":22143,"line_start":344,"line_end":344,"column_start":14,"column_end":19},"alias_span":null,"name":"alloc","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":1,"index":3242},"span":{"file_name":"src/lib.rs","byte_start":22162,"byte_end":22167,"line_start":346,"line_end":346,"column_start":17,"column_end":22},"alias_span":null,"name":"Deref","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":1,"index":3255},"span":{"file_name":"src/lib.rs","byte_start":22169,"byte_end":22177,"line_start":346,"line_end":346,"column_start":24,"column_end":32},"alias_span":null,"name":"DerefMut","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":4126},"span":{"file_name":"src/lib.rs","byte_start":22238,"byte_end":22247,"line_start":348,"line_end":348,"column_start":20,"column_end":29},"alias_span":null,"name":"NP_Memory","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":4082},"span":{"file_name":"src/lib.rs","byte_start":22271,"byte_end":22278,"line_start":349,"line_end":349,"column_start":23,"column_end":30},"alias_span":null,"name":"NP_JSON","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":4052},"span":{"file_name":"src/lib.rs","byte_start":22299,"byte_end":22308,"line_start":350,"line_end":350,"column_start":20,"column_end":29},"alias_span":null,"name":"NP_Schema","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":2567},"span":{"file_name":"src/lib.rs","byte_start":22332,"byte_end":22343,"line_start":351,"line_end":351,"column_start":23,"column_end":34},"alias_span":null,"name":"json_decode","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":4059},"span":{"file_name":"src/lib.rs","byte_start":22363,"byte_end":22371,"line_start":352,"line_end":352,"column_start":19,"column_end":27},"alias_span":null,"name":"NP_Error","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3705},"span":{"file_name":"src/lib.rs","byte_start":22386,"byte_end":22395,"line_start":353,"line_end":353,"column_start":14,"column_end":23},"alias_span":null,"name":"NP_Buffer","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":2274},"span":{"file_name":"src/lib.rs","byte_start":22397,"byte_end":22418,"line_start":353,"line_end":353,"column_start":25,"column_end":46},"alias_span":null,"name":"DEFAULT_ROOT_PTR_ADDR","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":5,"index":7089},"span":{"file_name":"src/lib.rs","byte_start":22437,"byte_end":22440,"line_start":354,"line_end":354,"column_start":17,"column_end":20},"alias_span":null,"name":"Vec","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":5,"index":7626},"span":{"file_name":"src/lib.rs","byte_start":22461,"byte_end":22467,"line_start":355,"line_end":355,"column_start":20,"column_end":26},"alias_span":null,"name":"String","value":"","parent":{"krate":0,"index":0}},{"kind":"Use","ref_id":{"krate":0,"index":3910},"span":{"file_name":"src/lib.rs","byte_start":22481,"byte_end":22497,"line_start":356,"line_end":356,"column_start":13,"column_end":29},"alias_span":null,"name":"NP_Parsed_Schema","value":"","parent":{"krate":0,"index":0}}],"defs":[{"kind":"Mod","id":{"krate":0,"index":0},"span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":34931,"line_start":1,"line_end":696,"column_start":1,"column_end":2},"name":"","qualname":"::","value":"src/lib.rs","parent":null,"children":[{"krate":0,"index":1},{"krate":0,"index":2},{"krate":0,"index":3},{"krate":0,"index":4},{"krate":0,"index":5},{"krate":0,"index":21},{"krate":0,"index":1742},{"krate":0,"index":2183},{"krate":0,"index":2355},{"krate":0,"index":2476},{"krate":0,"index":2500},{"krate":0,"index":2590},{"krate":0,"index":2591},{"krate":0,"index":2645},{"krate":0,"index":2686},{"krate":0,"index":2711},{"krate":0,"index":2750},{"krate":0,"index":2751},{"krate":0,"index":2752},{"krate":0,"index":2755},{"krate":0,"index":2758},{"krate":0,"index":2761},{"krate":0,"index":2764},{"krate":0,"index":2767},{"krate":0,"index":2770},{"krate":0,"index":2773},{"krate":0,"index":2774},{"krate":0,"index":2777},{"krate":0,"index":2780},{"krate":0,"index":2783},{"krate":0,"index":2786},{"krate":0,"index":2789},{"krate":0,"index":4185},{"krate":0,"index":4188},{"krate":0,"index":2790},{"krate":0,"index":2791},{"krate":0,"index":4190},{"krate":0,"index":4194},{"krate":0,"index":4196},{"krate":0,"index":4197},{"krate":0,"index":4199},{"krate":0,"index":4200},{"krate":0,"index":2792},{"krate":0,"index":4203},{"krate":0,"index":4204},{"krate":0,"index":4206},{"krate":0,"index":4208}],"decl_id":null,"docs":" ## NoProto: Flexible, Fast & Compact Serialization with RPC\n \n \n \n [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto)\n \n [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)\n [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto)\n [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/)\n [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/)\n ### Features \n \n **Lightweight**
\n - Zero dependencies\n - `no_std` support, WASM ready\n - Most compact non compiling storage format\n \n **Stable**
\n - Safely accept untrusted buffers\n - Passes Miri compiler safety checks\n - Panic and unwrap free\n \n **Easy**
\n - Extensive Documentation & Testing\n - Full interop with JSON, Import and Export JSON values\n - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format\n \n **Fast**
\n - Zero copy deserialization\n - Most updates are append only\n - Deserialization is incrimental\n \n **Powerful**
\n - Native byte-wise sorting\n - Supports recursive data types\n - Supports most common native data types\n - Supports collections (list, map, struct & tuple)\n - Supports arbitrary nesting of collection types\n - Schemas support default values and non destructive updates\n - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html).\n \n \n ### Why ANOTHER Serialization Format?\n 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats:\n \n **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema.\n \n **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable.\n \n NoProto takes the performance advantages of compiled formats and implements them in a flexible format.\n \n 2. NoProto is a **key-value database focused format**:\n \n **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*.\n \n **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library.\n \n **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types.\n \n **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks)\n \n \n ### Comparison With Other Formats\n \n
\n
\n Compared to Apache Avro\n - Far more space efficient
\n - Significantly faster serialization & deserialization
\n - All values are optional (no void or null type)
\n - Supports more native types (like unsigned ints)
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n
\n
\n
\n Compared to Protocol Buffers\n - Comparable serialization & deserialization performance
\n - Updating buffers is an order of magnitude faster
\n - Schemas are dynamic at runtime, no compilation step
\n - All values are optional
\n - Supports more types and better nested type support
\n - Byte-wise sorting is first class operation
\n - Updates without deserializng/serializing
\n - Safely handle untrusted data.
\n - All values are optional and can be inserted in any order.
\n
\n
\n
\n Compared to JSON / BSON\n - Far more space efficient
\n - Significantly faster serialization & deserialization
\n - Deserializtion is zero copy
\n - Has schemas / type safe
\n - Supports byte-wise sorting
\n - Supports raw bytes & other native types
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n
\n
\n
\n Compared to Flatbuffers / Bincode\n - Data types can change or be created at runtime
\n - Updating buffers is an order of magnitude faster
\n - Supports byte-wise sorting
\n - Updates without deserializng/serializing
\n - Works with `no_std`.
\n - Safely handle untrusted data.
\n - All values are optional and can be inserted in any order.
\n
\n

\n \n | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting |\n |------------------|-----------|------------|---------|----------|-------------------|\n | **Runtime Libs** | | | | | | \n | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ |\n | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ |\n | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ |\n | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ |\n | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ |\n | **Compiled Libs**| | | | | | \n | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ |\n | Bincode | ✓ | ? | ✓ | ✓ | ✗ |\n | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ |\n | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ |\n | Veriform | ✗ | ? | ✗ | ✗ | ✗ |\n \n \n # Quick Example\n ```rust\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n // An ES6 like IDL is used to describe schema for the factory\n // Each factory represents a single schema\n // One factory can be used to serialize/deserialize any number of buffers\n let user_factory = NP_Factory::new(r#\"\n struct({ fields: {\n name: string(),\n age: u16({ default: 0 }),\n tags: list({ of: string() })\n }})\n \"#)?;\n \n \n // create a new empty buffer\n let mut user_buffer = user_factory.new_buffer(None); // optional capacity\n \n // set the \"name\" field\n user_buffer.set(&[\"name\"], \"Billy Joel\")?;\n \n // read the \"name\" field\n let name = user_buffer.get::<&str>(&[\"name\"])?;\n assert_eq!(name, Some(\"Billy Joel\"));\n \n // set a nested value, the first tag in the tag list\n user_buffer.set(&[\"tags\", \"0\"], \"first tag\")?;\n \n // read the first tag from the tag list\n let tag = user_buffer.get::<&str>(&[\"tags\", \"0\"])?;\n assert_eq!(tag, Some(\"first tag\"));\n \n // close buffer and get internal bytes\n let user_bytes: Vec = user_buffer.finish().bytes();\n \n // open the buffer again\n let user_buffer = user_factory.open_buffer(user_bytes);\n \n // read the \"name\" field again\n let name = user_buffer.get::<&str>(&[\"name\"])?;\n assert_eq!(name, Some(\"Billy Joel\"));\n \n // get the age field\n let age = user_buffer.get::(&[\"age\"])?;\n // returns default value from schema\n assert_eq!(age, Some(0u16));\n \n // close again\n let user_bytes: Vec = user_buffer.finish().bytes();\n \n \n // we can now save user_bytes to disk, \n // send it over the network, or whatever else is needed with the data\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Guided Learning / Next Steps:\n 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas.\n 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with.\n 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data.\n 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs.\n 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas.\n \n ## Benchmarks\n While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. \n \n The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use.\n \n **Legend**: Ops / Millisecond, higher is better\n \n | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) |\n |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------|\n | **Runtime Libs** | | | | | | |\n | *NoProto* | | | | | | |\n | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 |\n | Apache Avro | | | | | | |\n | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 |\n | FlexBuffers | | | | | | |\n | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 |\n | JSON | | | | | | |\n | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 |\n | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 |\n | BSON | | | | | | |\n | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 |\n | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 |\n | MessagePack | | | | | | |\n | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 |\n | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 |\n | **Compiled Libs** | | | | | | |\n | Flatbuffers | | | | | | |\n | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 |\n | Bincode | | | | | | |\n | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 |\n | Postcard | | | | | | |\n | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 |\n | Protocol Buffers | | | | | | |\n | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 |\n | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 |\n | Abomonation | | | | | | |\n | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 |\n | Rkyv | | | | | | |\n | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 |\n \n - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`.\n - **Decode All**: Deserialize the test object from the `Vec` into all fields.\n - **Decode 1**: Deserialize the test object from the `Vec` into one field.\n - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`.\n \n **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto.\n \n Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated.\n \n ## NoProto Strengths\n If your use case fits any of the points below, NoProto might be a good choice for your application.\n \n 1. Flexible At Runtime
\n If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!).\n \n 2. Safely Accept Untrusted Data
\n The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application.\n \n 3. Extremely Fast Updates
\n If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs.\n \n 4. All Fields Optional, Insert/Update In Any Order
\n Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. \n \n 5. Incremental Deserializing
\n You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries.\n \n 6. Bytewise Sorting
\n Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. \n \n 7. `no_std` Support
\n If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices.\n \n 8. Stable
\n NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller.\n \n 9. CPU Independent
\n All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture.\n \n \n ### When to use Flatbuffers / Bincode / CapN Proto\n If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you.\n \n ### When to use JSON / BSON / MessagePack\n If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better.\n \n ## Limitations\n - Structs and Tuples cannot have more than 255 items.\n - Lists and Maps cannot have more than 2^16 (~64k) items.\n - You cannot nest more than 255 levels deep.\n - Struct field names cannot be longer than 255 UTF8 bytes.\n - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes.\n - Map keys cannot be larger than 255 UTF8 bytes.\n - Buffers cannot be larger than 2^32 bytes or ~4GB.\n \n ## Unsafe\n This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer.\n \n ----------------------\n \n MIT License\n \n Copyright (c) 2021 Scott Lott\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE. \n","sig":null,"attributes":[{"value":"warn(missing_docs)","span":{"file_name":"src/lib.rs","byte_start":0,"byte_end":22,"line_start":1,"line_end":1,"column_start":1,"column_end":23}},{"value":"allow(non_camel_case_types)","span":{"file_name":"src/lib.rs","byte_start":23,"byte_end":54,"line_start":2,"line_end":2,"column_start":1,"column_end":32}},{"value":"no_std","span":{"file_name":"src/lib.rs","byte_start":55,"byte_end":65,"line_start":3,"line_end":3,"column_start":1,"column_end":11}},{"value":"/ ## NoProto: Flexible, Fast & Compact Serialization with RPC","span":{"file_name":"src/lib.rs","byte_start":67,"byte_end":130,"line_start":5,"line_end":5,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":131,"byte_end":135,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":136,"byte_end":218,"line_start":7,"line_end":7,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":219,"byte_end":223,"line_start":8,"line_end":8,"column_start":1,"column_end":5}},{"value":"/ [Github](https://github.com/only-cliches/NoProto) | [Crates.io](https://crates.io/crates/no_proto) | [Documentation](https://docs.rs/no_proto)","span":{"file_name":"src/lib.rs","byte_start":224,"byte_end":370,"line_start":9,"line_end":9,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":371,"byte_end":375,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)","span":{"file_name":"src/lib.rs","byte_start":376,"byte_end":481,"line_start":11,"line_end":11,"column_start":1,"column_end":106}},{"value":"/ [![crates.io](https://img.shields.io/crates/v/no_proto.svg)](https://crates.io/crates/no_proto)","span":{"file_name":"src/lib.rs","byte_start":482,"byte_end":581,"line_start":12,"line_end":12,"column_start":1,"column_end":100}},{"value":"/ [![docs.rs](https://docs.rs/no_proto/badge.svg)](https://docs.rs/no_proto/latest/no_proto/)","span":{"file_name":"src/lib.rs","byte_start":582,"byte_end":677,"line_start":13,"line_end":13,"column_start":1,"column_end":96}},{"value":"/ [![GitHub stars](https://img.shields.io/github/stars/only-cliches/NoProto.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/only-cliches/NoProto/stargazers/)","span":{"file_name":"src/lib.rs","byte_start":678,"byte_end":853,"line_start":14,"line_end":14,"column_start":1,"column_end":176}},{"value":"/ ### Features ","span":{"file_name":"src/lib.rs","byte_start":854,"byte_end":872,"line_start":15,"line_end":15,"column_start":1,"column_end":19}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":873,"byte_end":877,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ **Lightweight**
","span":{"file_name":"src/lib.rs","byte_start":878,"byte_end":902,"line_start":17,"line_end":17,"column_start":1,"column_end":25}},{"value":"/ - Zero dependencies","span":{"file_name":"src/lib.rs","byte_start":903,"byte_end":926,"line_start":18,"line_end":18,"column_start":1,"column_end":24}},{"value":"/ - `no_std` support, WASM ready","span":{"file_name":"src/lib.rs","byte_start":927,"byte_end":961,"line_start":19,"line_end":19,"column_start":1,"column_end":35}},{"value":"/ - Most compact non compiling storage format","span":{"file_name":"src/lib.rs","byte_start":962,"byte_end":1009,"line_start":20,"line_end":20,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1010,"byte_end":1014,"line_start":21,"line_end":21,"column_start":1,"column_end":5}},{"value":"/ **Stable**
","span":{"file_name":"src/lib.rs","byte_start":1015,"byte_end":1034,"line_start":22,"line_end":22,"column_start":1,"column_end":20}},{"value":"/ - Safely accept untrusted buffers","span":{"file_name":"src/lib.rs","byte_start":1035,"byte_end":1072,"line_start":23,"line_end":23,"column_start":1,"column_end":38}},{"value":"/ - Passes Miri compiler safety checks","span":{"file_name":"src/lib.rs","byte_start":1073,"byte_end":1113,"line_start":24,"line_end":24,"column_start":1,"column_end":41}},{"value":"/ - Panic and unwrap free","span":{"file_name":"src/lib.rs","byte_start":1114,"byte_end":1141,"line_start":25,"line_end":25,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1142,"byte_end":1146,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ **Easy**
","span":{"file_name":"src/lib.rs","byte_start":1147,"byte_end":1164,"line_start":27,"line_end":27,"column_start":1,"column_end":18}},{"value":"/ - Extensive Documentation & Testing","span":{"file_name":"src/lib.rs","byte_start":1165,"byte_end":1204,"line_start":28,"line_end":28,"column_start":1,"column_end":40}},{"value":"/ - Full interop with JSON, Import and Export JSON values","span":{"file_name":"src/lib.rs","byte_start":1205,"byte_end":1264,"line_start":29,"line_end":29,"column_start":1,"column_end":60}},{"value":"/ - [Thoroughly documented](https://docs.rs/no_proto/latest/no_proto/format/index.html) & simple data storage format","span":{"file_name":"src/lib.rs","byte_start":1265,"byte_end":1383,"line_start":30,"line_end":30,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1384,"byte_end":1388,"line_start":31,"line_end":31,"column_start":1,"column_end":5}},{"value":"/ **Fast**
","span":{"file_name":"src/lib.rs","byte_start":1389,"byte_end":1406,"line_start":32,"line_end":32,"column_start":1,"column_end":18}},{"value":"/ - Zero copy deserialization","span":{"file_name":"src/lib.rs","byte_start":1407,"byte_end":1438,"line_start":33,"line_end":33,"column_start":1,"column_end":32}},{"value":"/ - Most updates are append only","span":{"file_name":"src/lib.rs","byte_start":1439,"byte_end":1473,"line_start":34,"line_end":34,"column_start":1,"column_end":35}},{"value":"/ - Deserialization is incrimental","span":{"file_name":"src/lib.rs","byte_start":1474,"byte_end":1510,"line_start":35,"line_end":35,"column_start":1,"column_end":37}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1511,"byte_end":1515,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ **Powerful**
","span":{"file_name":"src/lib.rs","byte_start":1516,"byte_end":1537,"line_start":37,"line_end":37,"column_start":1,"column_end":22}},{"value":"/ - Native byte-wise sorting","span":{"file_name":"src/lib.rs","byte_start":1538,"byte_end":1568,"line_start":38,"line_end":38,"column_start":1,"column_end":31}},{"value":"/ - Supports recursive data types","span":{"file_name":"src/lib.rs","byte_start":1569,"byte_end":1604,"line_start":39,"line_end":39,"column_start":1,"column_end":36}},{"value":"/ - Supports most common native data types","span":{"file_name":"src/lib.rs","byte_start":1605,"byte_end":1649,"line_start":40,"line_end":40,"column_start":1,"column_end":45}},{"value":"/ - Supports collections (list, map, struct & tuple)","span":{"file_name":"src/lib.rs","byte_start":1650,"byte_end":1704,"line_start":41,"line_end":41,"column_start":1,"column_end":55}},{"value":"/ - Supports arbitrary nesting of collection types","span":{"file_name":"src/lib.rs","byte_start":1705,"byte_end":1757,"line_start":42,"line_end":42,"column_start":1,"column_end":53}},{"value":"/ - Schemas support default values and non destructive updates","span":{"file_name":"src/lib.rs","byte_start":1758,"byte_end":1822,"line_start":43,"line_end":43,"column_start":1,"column_end":65}},{"value":"/ - Transport agnostic [RPC Framework](https://docs.rs/no_proto/latest/no_proto/rpc/index.html).","span":{"file_name":"src/lib.rs","byte_start":1823,"byte_end":1921,"line_start":44,"line_end":44,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1922,"byte_end":1926,"line_start":45,"line_end":45,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":1927,"byte_end":1931,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"/ ### Why ANOTHER Serialization Format?","span":{"file_name":"src/lib.rs","byte_start":1932,"byte_end":1973,"line_start":47,"line_end":47,"column_start":1,"column_end":42}},{"value":"/ 1. NoProto combines the **performance** of compiled formats with the **flexibilty** of dynamic formats:","span":{"file_name":"src/lib.rs","byte_start":1974,"byte_end":2081,"line_start":48,"line_end":48,"column_start":1,"column_end":108}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2082,"byte_end":2086,"line_start":49,"line_end":49,"column_start":1,"column_end":5}},{"value":"/ **Compiled** formats like Flatbuffers, CapN Proto and bincode have amazing performance and extremely compact buffers, but you MUST compile the data types into your application. This means if the schema of the data changes the application must be recompiled to accomodate the new schema.","span":{"file_name":"src/lib.rs","byte_start":2087,"byte_end":2378,"line_start":50,"line_end":50,"column_start":1,"column_end":292}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2379,"byte_end":2383,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ **Dynamic** formats like JSON, MessagePack and BSON give flexibilty to store any data with any schema at runtime but the buffers are fat and performance is somewhere between horrible and hopefully acceptable.","span":{"file_name":"src/lib.rs","byte_start":2384,"byte_end":2596,"line_start":52,"line_end":52,"column_start":1,"column_end":213}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2597,"byte_end":2601,"line_start":53,"line_end":53,"column_start":1,"column_end":5}},{"value":"/ NoProto takes the performance advantages of compiled formats and implements them in a flexible format.","span":{"file_name":"src/lib.rs","byte_start":2602,"byte_end":2708,"line_start":54,"line_end":54,"column_start":1,"column_end":107}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2709,"byte_end":2713,"line_start":55,"line_end":55,"column_start":1,"column_end":5}},{"value":"/ 2. NoProto is a **key-value database focused format**:","span":{"file_name":"src/lib.rs","byte_start":2714,"byte_end":2772,"line_start":56,"line_end":56,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":2773,"byte_end":2777,"line_start":57,"line_end":57,"column_start":1,"column_end":5}},{"value":"/ **Byte Wise Sorting** Ever try to store a signed integer as a sortable key in a database? NoProto can do that. Almost every data type is stored in the buffer as byte-wise sortable, meaning buffers can be compared at the byte level for sorting *without deserializing*.","span":{"file_name":"src/lib.rs","byte_start":2778,"byte_end":3051,"line_start":58,"line_end":58,"column_start":1,"column_end":274}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3052,"byte_end":3056,"line_start":59,"line_end":59,"column_start":1,"column_end":5}},{"value":"/ **Primary Key Management** Compound sortable keys are extremely easy to generate, maintain and update with NoProto. You don't need a custom sort function in your key-value store, you just need this library.","span":{"file_name":"src/lib.rs","byte_start":3057,"byte_end":3267,"line_start":60,"line_end":60,"column_start":1,"column_end":211}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3268,"byte_end":3272,"line_start":61,"line_end":61,"column_start":1,"column_end":5}},{"value":"/ **UUID & ULID Support** NoProto is one of the few formats that come with first class suport for these popular primary key data types. It can easily encode, decode and generate these data types.","span":{"file_name":"src/lib.rs","byte_start":3273,"byte_end":3471,"line_start":62,"line_end":62,"column_start":1,"column_end":199}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3472,"byte_end":3476,"line_start":63,"line_end":63,"column_start":1,"column_end":5}},{"value":"/ **Fastest Updates** NoProto is the only format that supports *all mutations* without deserializng. It can do the common database read -> update -> write operation between 50x - 300x faster than other dynamic formats. [Benchamrks](#benchmarks)","span":{"file_name":"src/lib.rs","byte_start":3477,"byte_end":3724,"line_start":64,"line_end":64,"column_start":1,"column_end":248}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3725,"byte_end":3729,"line_start":65,"line_end":65,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3730,"byte_end":3734,"line_start":66,"line_end":66,"column_start":1,"column_end":5}},{"value":"/ ### Comparison With Other Formats","span":{"file_name":"src/lib.rs","byte_start":3735,"byte_end":3772,"line_start":67,"line_end":67,"column_start":1,"column_end":38}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":3773,"byte_end":3777,"line_start":68,"line_end":68,"column_start":1,"column_end":5}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":3778,"byte_end":3787,"line_start":69,"line_end":69,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":3788,"byte_end":3801,"line_start":70,"line_end":70,"column_start":1,"column_end":14}},{"value":"/ Compared to Apache Avro","span":{"file_name":"src/lib.rs","byte_start":3802,"byte_end":3855,"line_start":71,"line_end":71,"column_start":1,"column_end":54}},{"value":"/ - Far more space efficient
","span":{"file_name":"src/lib.rs","byte_start":3856,"byte_end":3891,"line_start":72,"line_end":72,"column_start":1,"column_end":36}},{"value":"/ - Significantly faster serialization & deserialization
","span":{"file_name":"src/lib.rs","byte_start":3892,"byte_end":3955,"line_start":73,"line_end":73,"column_start":1,"column_end":64}},{"value":"/ - All values are optional (no void or null type)
","span":{"file_name":"src/lib.rs","byte_start":3956,"byte_end":4013,"line_start":74,"line_end":74,"column_start":1,"column_end":58}},{"value":"/ - Supports more native types (like unsigned ints)
","span":{"file_name":"src/lib.rs","byte_start":4014,"byte_end":4072,"line_start":75,"line_end":75,"column_start":1,"column_end":59}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":4073,"byte_end":4124,"line_start":76,"line_end":76,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":4125,"byte_end":4156,"line_start":77,"line_end":77,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":4157,"byte_end":4197,"line_start":78,"line_end":78,"column_start":1,"column_end":41}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4198,"byte_end":4212,"line_start":79,"line_end":79,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4213,"byte_end":4222,"line_start":80,"line_end":80,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4223,"byte_end":4236,"line_start":81,"line_end":81,"column_start":1,"column_end":14}},{"value":"/ Compared to Protocol Buffers","span":{"file_name":"src/lib.rs","byte_start":4237,"byte_end":4295,"line_start":82,"line_end":82,"column_start":1,"column_end":59}},{"value":"/ - Comparable serialization & deserialization performance
","span":{"file_name":"src/lib.rs","byte_start":4296,"byte_end":4361,"line_start":83,"line_end":83,"column_start":1,"column_end":66}},{"value":"/ - Updating buffers is an order of magnitude faster
","span":{"file_name":"src/lib.rs","byte_start":4362,"byte_end":4421,"line_start":84,"line_end":84,"column_start":1,"column_end":60}},{"value":"/ - Schemas are dynamic at runtime, no compilation step
","span":{"file_name":"src/lib.rs","byte_start":4422,"byte_end":4484,"line_start":85,"line_end":85,"column_start":1,"column_end":63}},{"value":"/ - All values are optional
","span":{"file_name":"src/lib.rs","byte_start":4485,"byte_end":4519,"line_start":86,"line_end":86,"column_start":1,"column_end":35}},{"value":"/ - Supports more types and better nested type support
","span":{"file_name":"src/lib.rs","byte_start":4520,"byte_end":4581,"line_start":87,"line_end":87,"column_start":1,"column_end":62}},{"value":"/ - Byte-wise sorting is first class operation
","span":{"file_name":"src/lib.rs","byte_start":4582,"byte_end":4635,"line_start":88,"line_end":88,"column_start":1,"column_end":54}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":4636,"byte_end":4687,"line_start":89,"line_end":89,"column_start":1,"column_end":52}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":4688,"byte_end":4728,"line_start":90,"line_end":90,"column_start":1,"column_end":41}},{"value":"/ - All values are optional and can be inserted in any order.
","span":{"file_name":"src/lib.rs","byte_start":4729,"byte_end":4797,"line_start":91,"line_end":91,"column_start":1,"column_end":69}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4798,"byte_end":4812,"line_start":92,"line_end":92,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4813,"byte_end":4822,"line_start":93,"line_end":93,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":4823,"byte_end":4836,"line_start":94,"line_end":94,"column_start":1,"column_end":14}},{"value":"/ Compared to JSON / BSON","span":{"file_name":"src/lib.rs","byte_start":4837,"byte_end":4890,"line_start":95,"line_end":95,"column_start":1,"column_end":54}},{"value":"/ - Far more space efficient
","span":{"file_name":"src/lib.rs","byte_start":4891,"byte_end":4926,"line_start":96,"line_end":96,"column_start":1,"column_end":36}},{"value":"/ - Significantly faster serialization & deserialization
","span":{"file_name":"src/lib.rs","byte_start":4927,"byte_end":4990,"line_start":97,"line_end":97,"column_start":1,"column_end":64}},{"value":"/ - Deserializtion is zero copy
","span":{"file_name":"src/lib.rs","byte_start":4991,"byte_end":5029,"line_start":98,"line_end":98,"column_start":1,"column_end":39}},{"value":"/ - Has schemas / type safe
","span":{"file_name":"src/lib.rs","byte_start":5030,"byte_end":5064,"line_start":99,"line_end":99,"column_start":1,"column_end":35}},{"value":"/ - Supports byte-wise sorting
","span":{"file_name":"src/lib.rs","byte_start":5065,"byte_end":5102,"line_start":100,"line_end":100,"column_start":1,"column_end":38}},{"value":"/ - Supports raw bytes & other native types
","span":{"file_name":"src/lib.rs","byte_start":5103,"byte_end":5153,"line_start":101,"line_end":101,"column_start":1,"column_end":51}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":5154,"byte_end":5205,"line_start":102,"line_end":102,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":5206,"byte_end":5237,"line_start":103,"line_end":103,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":5238,"byte_end":5278,"line_start":104,"line_end":104,"column_start":1,"column_end":41}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5279,"byte_end":5293,"line_start":105,"line_end":105,"column_start":1,"column_end":15}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5294,"byte_end":5303,"line_start":106,"line_end":106,"column_start":1,"column_end":10}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5304,"byte_end":5317,"line_start":107,"line_end":107,"column_start":1,"column_end":14}},{"value":"/ Compared to Flatbuffers / Bincode","span":{"file_name":"src/lib.rs","byte_start":5318,"byte_end":5381,"line_start":108,"line_end":108,"column_start":1,"column_end":64}},{"value":"/ - Data types can change or be created at runtime
","span":{"file_name":"src/lib.rs","byte_start":5382,"byte_end":5439,"line_start":109,"line_end":109,"column_start":1,"column_end":58}},{"value":"/ - Updating buffers is an order of magnitude faster
","span":{"file_name":"src/lib.rs","byte_start":5440,"byte_end":5499,"line_start":110,"line_end":110,"column_start":1,"column_end":60}},{"value":"/ - Supports byte-wise sorting
","span":{"file_name":"src/lib.rs","byte_start":5500,"byte_end":5537,"line_start":111,"line_end":111,"column_start":1,"column_end":38}},{"value":"/ - Updates without deserializng/serializing
","span":{"file_name":"src/lib.rs","byte_start":5538,"byte_end":5589,"line_start":112,"line_end":112,"column_start":1,"column_end":52}},{"value":"/ - Works with `no_std`.
","span":{"file_name":"src/lib.rs","byte_start":5590,"byte_end":5621,"line_start":113,"line_end":113,"column_start":1,"column_end":32}},{"value":"/ - Safely handle untrusted data.
","span":{"file_name":"src/lib.rs","byte_start":5622,"byte_end":5662,"line_start":114,"line_end":114,"column_start":1,"column_end":41}},{"value":"/ - All values are optional and can be inserted in any order.
","span":{"file_name":"src/lib.rs","byte_start":5663,"byte_end":5731,"line_start":115,"line_end":115,"column_start":1,"column_end":69}},{"value":"/
","span":{"file_name":"src/lib.rs","byte_start":5732,"byte_end":5746,"line_start":116,"line_end":116,"column_start":1,"column_end":15}},{"value":"/

","span":{"file_name":"src/lib.rs","byte_start":5747,"byte_end":5761,"line_start":117,"line_end":117,"column_start":1,"column_end":15}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":5762,"byte_end":5766,"line_start":118,"line_end":118,"column_start":1,"column_end":5}},{"value":"/ | Format | Zero-Copy | Size Limit | Mutable | Schemas | Byte-wise Sorting |","span":{"file_name":"src/lib.rs","byte_start":5767,"byte_end":5857,"line_start":119,"line_end":119,"column_start":1,"column_end":91}},{"value":"/ |------------------|-----------|------------|---------|----------|-------------------|","span":{"file_name":"src/lib.rs","byte_start":5858,"byte_end":5948,"line_start":120,"line_end":120,"column_start":1,"column_end":91}},{"value":"/ | **Runtime Libs** | | | | | | ","span":{"file_name":"src/lib.rs","byte_start":5949,"byte_end":6040,"line_start":121,"line_end":121,"column_start":1,"column_end":92}},{"value":"/ | *NoProto* | ✓ | ~4GB | ✓ | ✓ | ✓ |","span":{"file_name":"src/lib.rs","byte_start":6041,"byte_end":6139,"line_start":122,"line_end":122,"column_start":1,"column_end":91}},{"value":"/ | Apache Avro | ✗ | 2^63 Bytes | ✗ | ✓ | ✓ |","span":{"file_name":"src/lib.rs","byte_start":6140,"byte_end":6238,"line_start":123,"line_end":123,"column_start":1,"column_end":91}},{"value":"/ | JSON | ✗ | Unlimited | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6239,"byte_end":6337,"line_start":124,"line_end":124,"column_start":1,"column_end":91}},{"value":"/ | BSON | ✗ | ~16MB | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6338,"byte_end":6436,"line_start":125,"line_end":125,"column_start":1,"column_end":91}},{"value":"/ | MessagePack | ✗ | Unlimited | ✓ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6437,"byte_end":6535,"line_start":126,"line_end":126,"column_start":1,"column_end":91}},{"value":"/ | **Compiled Libs**| | | | | | ","span":{"file_name":"src/lib.rs","byte_start":6536,"byte_end":6627,"line_start":127,"line_end":127,"column_start":1,"column_end":92}},{"value":"/ | FlatBuffers | ✓ | ~2GB | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6628,"byte_end":6726,"line_start":128,"line_end":128,"column_start":1,"column_end":91}},{"value":"/ | Bincode | ✓ | ? | ✓ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6727,"byte_end":6825,"line_start":129,"line_end":129,"column_start":1,"column_end":91}},{"value":"/ | Protocol Buffers | ✗ | ~2GB | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6826,"byte_end":6924,"line_start":130,"line_end":130,"column_start":1,"column_end":91}},{"value":"/ | Cap'N Proto | ✓ | 2^64 Bytes | ✗ | ✓ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":6925,"byte_end":7023,"line_start":131,"line_end":131,"column_start":1,"column_end":91}},{"value":"/ | Veriform | ✗ | ? | ✗ | ✗ | ✗ |","span":{"file_name":"src/lib.rs","byte_start":7024,"byte_end":7122,"line_start":132,"line_end":132,"column_start":1,"column_end":91}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7123,"byte_end":7127,"line_start":133,"line_end":133,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7128,"byte_end":7132,"line_start":134,"line_end":134,"column_start":1,"column_end":5}},{"value":"/ # Quick Example","span":{"file_name":"src/lib.rs","byte_start":7133,"byte_end":7152,"line_start":135,"line_end":135,"column_start":1,"column_end":20}},{"value":"/ ```rust","span":{"file_name":"src/lib.rs","byte_start":7153,"byte_end":7164,"line_start":136,"line_end":136,"column_start":1,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/lib.rs","byte_start":7165,"byte_end":7199,"line_start":137,"line_end":137,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/lib.rs","byte_start":7200,"byte_end":7229,"line_start":138,"line_end":138,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7230,"byte_end":7234,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ // An ES6 like IDL is used to describe schema for the factory","span":{"file_name":"src/lib.rs","byte_start":7235,"byte_end":7300,"line_start":140,"line_end":140,"column_start":1,"column_end":66}},{"value":"/ // Each factory represents a single schema","span":{"file_name":"src/lib.rs","byte_start":7301,"byte_end":7347,"line_start":141,"line_end":141,"column_start":1,"column_end":47}},{"value":"/ // One factory can be used to serialize/deserialize any number of buffers","span":{"file_name":"src/lib.rs","byte_start":7348,"byte_end":7425,"line_start":142,"line_end":142,"column_start":1,"column_end":78}},{"value":"/ let user_factory = NP_Factory::new(r#\"","span":{"file_name":"src/lib.rs","byte_start":7426,"byte_end":7468,"line_start":143,"line_end":143,"column_start":1,"column_end":43}},{"value":"/ struct({ fields: {","span":{"file_name":"src/lib.rs","byte_start":7469,"byte_end":7495,"line_start":144,"line_end":144,"column_start":1,"column_end":27}},{"value":"/ name: string(),","span":{"file_name":"src/lib.rs","byte_start":7496,"byte_end":7523,"line_start":145,"line_end":145,"column_start":1,"column_end":28}},{"value":"/ age: u16({ default: 0 }),","span":{"file_name":"src/lib.rs","byte_start":7524,"byte_end":7561,"line_start":146,"line_end":146,"column_start":1,"column_end":38}},{"value":"/ tags: list({ of: string() })","span":{"file_name":"src/lib.rs","byte_start":7562,"byte_end":7602,"line_start":147,"line_end":147,"column_start":1,"column_end":41}},{"value":"/ }})","span":{"file_name":"src/lib.rs","byte_start":7603,"byte_end":7614,"line_start":148,"line_end":148,"column_start":1,"column_end":12}},{"value":"/ \"#)?;","span":{"file_name":"src/lib.rs","byte_start":7615,"byte_end":7624,"line_start":149,"line_end":149,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7625,"byte_end":7629,"line_start":150,"line_end":150,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7630,"byte_end":7634,"line_start":151,"line_end":151,"column_start":1,"column_end":5}},{"value":"/ // create a new empty buffer","span":{"file_name":"src/lib.rs","byte_start":7635,"byte_end":7667,"line_start":152,"line_end":152,"column_start":1,"column_end":33}},{"value":"/ let mut user_buffer = user_factory.new_buffer(None); // optional capacity","span":{"file_name":"src/lib.rs","byte_start":7668,"byte_end":7745,"line_start":153,"line_end":153,"column_start":1,"column_end":78}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7746,"byte_end":7750,"line_start":154,"line_end":154,"column_start":1,"column_end":5}},{"value":"/ // set the \"name\" field","span":{"file_name":"src/lib.rs","byte_start":7751,"byte_end":7778,"line_start":155,"line_end":155,"column_start":1,"column_end":28}},{"value":"/ user_buffer.set(&[\"name\"], \"Billy Joel\")?;","span":{"file_name":"src/lib.rs","byte_start":7779,"byte_end":7825,"line_start":156,"line_end":156,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7826,"byte_end":7830,"line_start":157,"line_end":157,"column_start":1,"column_end":5}},{"value":"/ // read the \"name\" field","span":{"file_name":"src/lib.rs","byte_start":7831,"byte_end":7859,"line_start":158,"line_end":158,"column_start":1,"column_end":29}},{"value":"/ let name = user_buffer.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":7860,"byte_end":7911,"line_start":159,"line_end":159,"column_start":1,"column_end":52}},{"value":"/ assert_eq!(name, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":7912,"byte_end":7953,"line_start":160,"line_end":160,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":7954,"byte_end":7958,"line_start":161,"line_end":161,"column_start":1,"column_end":5}},{"value":"/ // set a nested value, the first tag in the tag list","span":{"file_name":"src/lib.rs","byte_start":7959,"byte_end":8015,"line_start":162,"line_end":162,"column_start":1,"column_end":57}},{"value":"/ user_buffer.set(&[\"tags\", \"0\"], \"first tag\")?;","span":{"file_name":"src/lib.rs","byte_start":8016,"byte_end":8066,"line_start":163,"line_end":163,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8067,"byte_end":8071,"line_start":164,"line_end":164,"column_start":1,"column_end":5}},{"value":"/ // read the first tag from the tag list","span":{"file_name":"src/lib.rs","byte_start":8072,"byte_end":8115,"line_start":165,"line_end":165,"column_start":1,"column_end":44}},{"value":"/ let tag = user_buffer.get::<&str>(&[\"tags\", \"0\"])?;","span":{"file_name":"src/lib.rs","byte_start":8116,"byte_end":8171,"line_start":166,"line_end":166,"column_start":1,"column_end":56}},{"value":"/ assert_eq!(tag, Some(\"first tag\"));","span":{"file_name":"src/lib.rs","byte_start":8172,"byte_end":8211,"line_start":167,"line_end":167,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8212,"byte_end":8216,"line_start":168,"line_end":168,"column_start":1,"column_end":5}},{"value":"/ // close buffer and get internal bytes","span":{"file_name":"src/lib.rs","byte_start":8217,"byte_end":8259,"line_start":169,"line_end":169,"column_start":1,"column_end":43}},{"value":"/ let user_bytes: Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":8260,"byte_end":8319,"line_start":170,"line_end":170,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8320,"byte_end":8324,"line_start":171,"line_end":171,"column_start":1,"column_end":5}},{"value":"/ // open the buffer again","span":{"file_name":"src/lib.rs","byte_start":8325,"byte_end":8353,"line_start":172,"line_end":172,"column_start":1,"column_end":29}},{"value":"/ let user_buffer = user_factory.open_buffer(user_bytes);","span":{"file_name":"src/lib.rs","byte_start":8354,"byte_end":8413,"line_start":173,"line_end":173,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8414,"byte_end":8418,"line_start":174,"line_end":174,"column_start":1,"column_end":5}},{"value":"/ // read the \"name\" field again","span":{"file_name":"src/lib.rs","byte_start":8419,"byte_end":8453,"line_start":175,"line_end":175,"column_start":1,"column_end":35}},{"value":"/ let name = user_buffer.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":8454,"byte_end":8505,"line_start":176,"line_end":176,"column_start":1,"column_end":52}},{"value":"/ assert_eq!(name, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":8506,"byte_end":8547,"line_start":177,"line_end":177,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8548,"byte_end":8552,"line_start":178,"line_end":178,"column_start":1,"column_end":5}},{"value":"/ // get the age field","span":{"file_name":"src/lib.rs","byte_start":8553,"byte_end":8577,"line_start":179,"line_end":179,"column_start":1,"column_end":25}},{"value":"/ let age = user_buffer.get::(&[\"age\"])?;","span":{"file_name":"src/lib.rs","byte_start":8578,"byte_end":8626,"line_start":180,"line_end":180,"column_start":1,"column_end":49}},{"value":"/ // returns default value from schema","span":{"file_name":"src/lib.rs","byte_start":8627,"byte_end":8667,"line_start":181,"line_end":181,"column_start":1,"column_end":41}},{"value":"/ assert_eq!(age, Some(0u16));","span":{"file_name":"src/lib.rs","byte_start":8668,"byte_end":8700,"line_start":182,"line_end":182,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8701,"byte_end":8705,"line_start":183,"line_end":183,"column_start":1,"column_end":5}},{"value":"/ // close again","span":{"file_name":"src/lib.rs","byte_start":8706,"byte_end":8724,"line_start":184,"line_end":184,"column_start":1,"column_end":19}},{"value":"/ let user_bytes: Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":8725,"byte_end":8784,"line_start":185,"line_end":185,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8785,"byte_end":8789,"line_start":186,"line_end":186,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8790,"byte_end":8794,"line_start":187,"line_end":187,"column_start":1,"column_end":5}},{"value":"/ // we can now save user_bytes to disk, ","span":{"file_name":"src/lib.rs","byte_start":8795,"byte_end":8838,"line_start":188,"line_end":188,"column_start":1,"column_end":44}},{"value":"/ // send it over the network, or whatever else is needed with the data","span":{"file_name":"src/lib.rs","byte_start":8839,"byte_end":8912,"line_start":189,"line_end":189,"column_start":1,"column_end":74}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8913,"byte_end":8917,"line_start":190,"line_end":190,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8918,"byte_end":8922,"line_start":191,"line_end":191,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/lib.rs","byte_start":8923,"byte_end":8952,"line_start":192,"line_end":192,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":8953,"byte_end":8960,"line_start":193,"line_end":193,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":8961,"byte_end":8965,"line_start":194,"line_end":194,"column_start":1,"column_end":5}},{"value":"/ ## Guided Learning / Next Steps:","span":{"file_name":"src/lib.rs","byte_start":8966,"byte_end":9002,"line_start":195,"line_end":195,"column_start":1,"column_end":37}},{"value":"/ 1. [`Schemas`](https://docs.rs/no_proto/latest/no_proto/schema/index.html) - Learn how to build & work with schemas.","span":{"file_name":"src/lib.rs","byte_start":9003,"byte_end":9123,"line_start":196,"line_end":196,"column_start":1,"column_end":121}},{"value":"/ 2. [`Factories`](https://docs.rs/no_proto/latest/no_proto/struct.NP_Factory.html) - Parsing schemas into something you can work with.","span":{"file_name":"src/lib.rs","byte_start":9124,"byte_end":9261,"line_start":197,"line_end":197,"column_start":1,"column_end":138}},{"value":"/ 3. [`Buffers`](https://docs.rs/no_proto/latest/no_proto/buffer/struct.NP_Buffer.html) - How to create, update & compact buffers/data.","span":{"file_name":"src/lib.rs","byte_start":9262,"byte_end":9399,"line_start":198,"line_end":198,"column_start":1,"column_end":138}},{"value":"/ 4. [`RPC Framework`](https://docs.rs/no_proto/latest/no_proto/rpc/index.html) - How to use the RPC Framework APIs.","span":{"file_name":"src/lib.rs","byte_start":9400,"byte_end":9518,"line_start":199,"line_end":199,"column_start":1,"column_end":119}},{"value":"/ 5. [`Data & Schema Format`](https://docs.rs/no_proto/latest/no_proto/format/index.html) - Learn how data is saved into the buffer and schemas.","span":{"file_name":"src/lib.rs","byte_start":9519,"byte_end":9665,"line_start":200,"line_end":200,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":9666,"byte_end":9670,"line_start":201,"line_end":201,"column_start":1,"column_end":5}},{"value":"/ ## Benchmarks","span":{"file_name":"src/lib.rs","byte_start":9671,"byte_end":9688,"line_start":202,"line_end":202,"column_start":1,"column_end":18}},{"value":"/ While it's difficult to properly benchmark libraries like these in a fair way, I've made an attempt in the graph below. These benchmarks are available in the `bench` folder and you can easily run them yourself with `cargo run --release`. ","span":{"file_name":"src/lib.rs","byte_start":9689,"byte_end":9932,"line_start":203,"line_end":203,"column_start":1,"column_end":244}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":9933,"byte_end":9937,"line_start":204,"line_end":204,"column_start":1,"column_end":5}},{"value":"/ The format and data used in the benchmarks were taken from the `flatbuffers` benchmarks github repo. You should always benchmark/test your own use case for each library before making any choices on what to use.","span":{"file_name":"src/lib.rs","byte_start":9938,"byte_end":10153,"line_start":205,"line_end":205,"column_start":1,"column_end":216}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":10154,"byte_end":10158,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ **Legend**: Ops / Millisecond, higher is better","span":{"file_name":"src/lib.rs","byte_start":10159,"byte_end":10210,"line_start":207,"line_end":207,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":10211,"byte_end":10215,"line_start":208,"line_end":208,"column_start":1,"column_end":5}},{"value":"/ | Format / Lib | Encode | Decode All | Decode 1 | Update 1 | Size (bytes) | Size (Zlib) |","span":{"file_name":"src/lib.rs","byte_start":10216,"byte_end":10356,"line_start":209,"line_end":209,"column_start":1,"column_end":141}},{"value":"/ |------------------------------------------------------------|---------|------------|----------|----------|--------------|-------------|","span":{"file_name":"src/lib.rs","byte_start":10357,"byte_end":10497,"line_start":210,"line_end":210,"column_start":1,"column_end":141}},{"value":"/ | **Runtime Libs** | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10498,"byte_end":10638,"line_start":211,"line_end":211,"column_start":1,"column_end":141}},{"value":"/ | *NoProto* | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10639,"byte_end":10779,"line_start":212,"line_end":212,"column_start":1,"column_end":141}},{"value":"/ | [no_proto](https://crates.io/crates/no_proto) | 1393 | 1883 | 55556 | 9524 | 308 | 198 |","span":{"file_name":"src/lib.rs","byte_start":10780,"byte_end":10920,"line_start":213,"line_end":213,"column_start":1,"column_end":141}},{"value":"/ | Apache Avro | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":10921,"byte_end":11061,"line_start":214,"line_end":214,"column_start":1,"column_end":141}},{"value":"/ | [avro-rs](https://crates.io/crates/avro-rs) | 156 | 57 | 56 | 40 | 702 | 337 |","span":{"file_name":"src/lib.rs","byte_start":11062,"byte_end":11202,"line_start":215,"line_end":215,"column_start":1,"column_end":141}},{"value":"/ | FlexBuffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11203,"byte_end":11343,"line_start":216,"line_end":216,"column_start":1,"column_end":141}},{"value":"/ | [flexbuffers](https://crates.io/crates/flexbuffers) | 444 | 962 | 24390 | 294 | 490 | 309 |","span":{"file_name":"src/lib.rs","byte_start":11344,"byte_end":11484,"line_start":217,"line_end":217,"column_start":1,"column_end":141}},{"value":"/ | JSON | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11485,"byte_end":11625,"line_start":218,"line_end":218,"column_start":1,"column_end":141}},{"value":"/ | [json](https://crates.io/crates/json) | 609 | 481 | 607 | 439 | 439 | 184 |","span":{"file_name":"src/lib.rs","byte_start":11626,"byte_end":11766,"line_start":219,"line_end":219,"column_start":1,"column_end":141}},{"value":"/ | [serde_json](https://crates.io/crates/serde_json) | 938 | 646 | 644 | 403 | 446 | 198 |","span":{"file_name":"src/lib.rs","byte_start":11767,"byte_end":11907,"line_start":220,"line_end":220,"column_start":1,"column_end":141}},{"value":"/ | BSON | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":11908,"byte_end":12048,"line_start":221,"line_end":221,"column_start":1,"column_end":141}},{"value":"/ | [bson](https://crates.io/crates/bson) | 129 | 116 | 123 | 90 | 414 | 216 |","span":{"file_name":"src/lib.rs","byte_start":12049,"byte_end":12189,"line_start":222,"line_end":222,"column_start":1,"column_end":141}},{"value":"/ | [rawbson](https://crates.io/crates/rawbson) | 130 | 1117 | 17857 | 89 | 414 | 216 |","span":{"file_name":"src/lib.rs","byte_start":12190,"byte_end":12330,"line_start":223,"line_end":223,"column_start":1,"column_end":141}},{"value":"/ | MessagePack | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12331,"byte_end":12471,"line_start":224,"line_end":224,"column_start":1,"column_end":141}},{"value":"/ | [rmp](https://crates.io/crates/rmp) | 661 | 623 | 832 | 202 | 311 | 193 |","span":{"file_name":"src/lib.rs","byte_start":12472,"byte_end":12612,"line_start":225,"line_end":225,"column_start":1,"column_end":141}},{"value":"/ | [messagepack-rs](https://crates.io/crates/messagepack-rs) | 152 | 266 | 284 | 138 | 296 | 187 |","span":{"file_name":"src/lib.rs","byte_start":12613,"byte_end":12753,"line_start":226,"line_end":226,"column_start":1,"column_end":141}},{"value":"/ | **Compiled Libs** | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12754,"byte_end":12894,"line_start":227,"line_end":227,"column_start":1,"column_end":141}},{"value":"/ | Flatbuffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":12895,"byte_end":13035,"line_start":228,"line_end":228,"column_start":1,"column_end":141}},{"value":"/ | [flatbuffers](https://crates.io/crates/flatbuffers) | 3165 | 16393 | 250000 | 2532 | 264 | 181 |","span":{"file_name":"src/lib.rs","byte_start":13036,"byte_end":13176,"line_start":229,"line_end":229,"column_start":1,"column_end":141}},{"value":"/ | Bincode | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13177,"byte_end":13317,"line_start":230,"line_end":230,"column_start":1,"column_end":141}},{"value":"/ | [bincode](https://crates.io/crates/bincode) | 6757 | 9259 | 10000 | 4115 | 163 | 129 |","span":{"file_name":"src/lib.rs","byte_start":13318,"byte_end":13458,"line_start":231,"line_end":231,"column_start":1,"column_end":141}},{"value":"/ | Postcard | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13459,"byte_end":13599,"line_start":232,"line_end":232,"column_start":1,"column_end":141}},{"value":"/ | [postcard](https://crates.io/crates/postcard) | 3067 | 7519 | 7937 | 2469 | 128 | 119 |","span":{"file_name":"src/lib.rs","byte_start":13600,"byte_end":13740,"line_start":233,"line_end":233,"column_start":1,"column_end":141}},{"value":"/ | Protocol Buffers | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":13741,"byte_end":13881,"line_start":234,"line_end":234,"column_start":1,"column_end":141}},{"value":"/ | [protobuf](https://crates.io/crates/protobuf) | 953 | 1305 | 1312 | 529 | 154 | 141 |","span":{"file_name":"src/lib.rs","byte_start":13882,"byte_end":14022,"line_start":235,"line_end":235,"column_start":1,"column_end":141}},{"value":"/ | [prost](https://crates.io/crates/prost) | 1464 | 2020 | 2232 | 1040 | 154 | 142 |","span":{"file_name":"src/lib.rs","byte_start":14023,"byte_end":14163,"line_start":236,"line_end":236,"column_start":1,"column_end":141}},{"value":"/ | Abomonation | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":14164,"byte_end":14304,"line_start":237,"line_end":237,"column_start":1,"column_end":141}},{"value":"/ | [abomonation](https://crates.io/crates/abomonation) | 2342 | 125000 | 500000 | 2183 | 261 | 160 |","span":{"file_name":"src/lib.rs","byte_start":14305,"byte_end":14445,"line_start":238,"line_end":238,"column_start":1,"column_end":141}},{"value":"/ | Rkyv | | | | | | |","span":{"file_name":"src/lib.rs","byte_start":14446,"byte_end":14586,"line_start":239,"line_end":239,"column_start":1,"column_end":141}},{"value":"/ | [rkyv](https://crates.io/crates/rkyv) | 1605 | 37037 | 200000 | 1531 | 180 | 154 |","span":{"file_name":"src/lib.rs","byte_start":14587,"byte_end":14727,"line_start":240,"line_end":240,"column_start":1,"column_end":141}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":14728,"byte_end":14732,"line_start":241,"line_end":241,"column_start":1,"column_end":5}},{"value":"/ - **Encode**: Transfer a collection of fields of test data into a serialized `Vec`.","span":{"file_name":"src/lib.rs","byte_start":14733,"byte_end":14824,"line_start":242,"line_end":242,"column_start":1,"column_end":92}},{"value":"/ - **Decode All**: Deserialize the test object from the `Vec` into all fields.","span":{"file_name":"src/lib.rs","byte_start":14825,"byte_end":14910,"line_start":243,"line_end":243,"column_start":1,"column_end":86}},{"value":"/ - **Decode 1**: Deserialize the test object from the `Vec` into one field.","span":{"file_name":"src/lib.rs","byte_start":14911,"byte_end":14993,"line_start":244,"line_end":244,"column_start":1,"column_end":83}},{"value":"/ - **Update 1**: Deserialize, update a single field, then serialize back into `Vec`.","span":{"file_name":"src/lib.rs","byte_start":14994,"byte_end":15085,"line_start":245,"line_end":245,"column_start":1,"column_end":92}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15086,"byte_end":15090,"line_start":246,"line_end":246,"column_start":1,"column_end":5}},{"value":"/ **Runtime VS Compiled Libs**: Some formats require data types to be compiled into the application, which increases performance but means data types *cannot change at runtime*. If data types need to mutate during runtime or can't be known before the application is compiled (like with databases), you must use a format that doesn't compile data types into the application, like JSON or NoProto.","span":{"file_name":"src/lib.rs","byte_start":15091,"byte_end":15489,"line_start":247,"line_end":247,"column_start":1,"column_end":399}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15490,"byte_end":15494,"line_start":248,"line_end":248,"column_start":1,"column_end":5}},{"value":"/ Complete benchmark source code is available [here](https://github.com/only-cliches/NoProto/tree/master/bench). Suggestions for improving the quality of these benchmarks is appreciated.","span":{"file_name":"src/lib.rs","byte_start":15495,"byte_end":15684,"line_start":249,"line_end":249,"column_start":1,"column_end":190}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15685,"byte_end":15689,"line_start":250,"line_end":250,"column_start":1,"column_end":5}},{"value":"/ ## NoProto Strengths","span":{"file_name":"src/lib.rs","byte_start":15690,"byte_end":15714,"line_start":251,"line_end":251,"column_start":1,"column_end":25}},{"value":"/ If your use case fits any of the points below, NoProto might be a good choice for your application.","span":{"file_name":"src/lib.rs","byte_start":15715,"byte_end":15818,"line_start":252,"line_end":252,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":15819,"byte_end":15823,"line_start":253,"line_end":253,"column_start":1,"column_end":5}},{"value":"/ 1. Flexible At Runtime
","span":{"file_name":"src/lib.rs","byte_start":15824,"byte_end":15855,"line_start":254,"line_end":254,"column_start":1,"column_end":32}},{"value":"/ If you need to work with data types that will change or be created at runtime, you normally have to pick something like JSON since highly optimized formats like Flatbuffers and Bincode depend on compiling the data types into your application (making everything fixed at runtime). When it comes to formats that can change/implement data types at runtime, NoProto is fastest format we're aware of (if you know if one that might be faster, let us know!).","span":{"file_name":"src/lib.rs","byte_start":15856,"byte_end":16311,"line_start":255,"line_end":255,"column_start":1,"column_end":456}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":16312,"byte_end":16316,"line_start":256,"line_end":256,"column_start":1,"column_end":5}},{"value":"/ 2. Safely Accept Untrusted Data
","span":{"file_name":"src/lib.rs","byte_start":16317,"byte_end":16357,"line_start":257,"line_end":257,"column_start":1,"column_end":41}},{"value":"/ The worse case failure mode for NoProto buffers is junk data. While other formats can cause denial of service attacks or allow unsafe memory access, there is no such failure case with NoProto. There is no way to construct a NoProto buffer that would cause any detrement in performance to the host application or lead to unsafe memory access. Also, there is no panic causing code in the library, meaning it will never crash your application.","span":{"file_name":"src/lib.rs","byte_start":16358,"byte_end":16805,"line_start":258,"line_end":258,"column_start":1,"column_end":448}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":16806,"byte_end":16810,"line_start":259,"line_end":259,"column_start":1,"column_end":5}},{"value":"/ 3. Extremely Fast Updates
","span":{"file_name":"src/lib.rs","byte_start":16811,"byte_end":16845,"line_start":260,"line_end":260,"column_start":1,"column_end":35}},{"value":"/ If you have a workflow in your application that is read -> modify -> write with buffers, NoProto will usually outperform every other format, including Bincode and Flatbuffers. This is because NoProto never actually deserializes, it doesn't need to. This includes complicated mutations like pushing a value onto a nested list or replacing entire structs.","span":{"file_name":"src/lib.rs","byte_start":16846,"byte_end":17204,"line_start":261,"line_end":261,"column_start":1,"column_end":359}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":17205,"byte_end":17209,"line_start":262,"line_end":262,"column_start":1,"column_end":5}},{"value":"/ 4. All Fields Optional, Insert/Update In Any Order
","span":{"file_name":"src/lib.rs","byte_start":17210,"byte_end":17269,"line_start":263,"line_end":263,"column_start":1,"column_end":60}},{"value":"/ Many formats require that all values be present to close the buffer, further they may require data to be inserted in a specific order to accomodate the encoding/decoding scheme. With NoProto, all fields are optional and any update/insert can happen in any order. ","span":{"file_name":"src/lib.rs","byte_start":17270,"byte_end":17539,"line_start":264,"line_end":264,"column_start":1,"column_end":270}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":17540,"byte_end":17544,"line_start":265,"line_end":265,"column_start":1,"column_end":5}},{"value":"/ 5. Incremental Deserializing
","span":{"file_name":"src/lib.rs","byte_start":17545,"byte_end":17582,"line_start":266,"line_end":266,"column_start":1,"column_end":38}},{"value":"/ You only pay for the fields you read, no more. There is no deserializing step in NoProto, opening a buffer performs no operations. Once you start asking for fields, the library will navigate the buffer using the format rules to get just what you asked for and nothing else. If you have a workflow in your application where you read a buffer and only grab a few fields inside it, NoProto will outperform most other libraries.","span":{"file_name":"src/lib.rs","byte_start":17583,"byte_end":18011,"line_start":267,"line_end":267,"column_start":1,"column_end":429}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18012,"byte_end":18016,"line_start":268,"line_end":268,"column_start":1,"column_end":5}},{"value":"/ 6. Bytewise Sorting
","span":{"file_name":"src/lib.rs","byte_start":18017,"byte_end":18045,"line_start":269,"line_end":269,"column_start":1,"column_end":29}},{"value":"/ Almost all of NoProto's data types are designed to serialize into bytewise sortable values, *including signed integers*. When used with Tuples, making database keys with compound sorting is extremly easy. When you combine that with first class support for `UUID`s and `ULID`s NoProto makes an excellent tool for parsing and creating primary keys for databases like RocksDB, LevelDB and TiKV. ","span":{"file_name":"src/lib.rs","byte_start":18046,"byte_end":18444,"line_start":270,"line_end":270,"column_start":1,"column_end":399}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18445,"byte_end":18449,"line_start":271,"line_end":271,"column_start":1,"column_end":5}},{"value":"/ 7. `no_std` Support
","span":{"file_name":"src/lib.rs","byte_start":18450,"byte_end":18478,"line_start":272,"line_end":272,"column_start":1,"column_end":29}},{"value":"/ If you need a serialization format with low memory usage that works in `no_std` environments, NoProto is one of the few good choices.","span":{"file_name":"src/lib.rs","byte_start":18479,"byte_end":18616,"line_start":273,"line_end":273,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18617,"byte_end":18621,"line_start":274,"line_end":274,"column_start":1,"column_end":5}},{"value":"/ 8. Stable
","span":{"file_name":"src/lib.rs","byte_start":18622,"byte_end":18640,"line_start":275,"line_end":275,"column_start":1,"column_end":19}},{"value":"/ NoProto will never cause a panic in your application. It has *zero* panics or unwraps, meaning there is no code path that could lead to a panic. Fallback behavior is to provide a sane default path or bubble an error up to the caller.","span":{"file_name":"src/lib.rs","byte_start":18641,"byte_end":18880,"line_start":276,"line_end":276,"column_start":1,"column_end":240}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":18881,"byte_end":18885,"line_start":277,"line_end":277,"column_start":1,"column_end":5}},{"value":"/ 9. CPU Independent
","span":{"file_name":"src/lib.rs","byte_start":18886,"byte_end":18913,"line_start":278,"line_end":278,"column_start":1,"column_end":28}},{"value":"/ All numbers and pointers in NoProto buffers are always stored in big endian, so you can safely create buffers on any CPU architecture and know that they will work with any other CPU architecture.","span":{"file_name":"src/lib.rs","byte_start":18914,"byte_end":19113,"line_start":279,"line_end":279,"column_start":1,"column_end":200}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19114,"byte_end":19118,"line_start":280,"line_end":280,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19119,"byte_end":19123,"line_start":281,"line_end":281,"column_start":1,"column_end":5}},{"value":"/ ### When to use Flatbuffers / Bincode / CapN Proto","span":{"file_name":"src/lib.rs","byte_start":19124,"byte_end":19178,"line_start":282,"line_end":282,"column_start":1,"column_end":55}},{"value":"/ If you can safely compile all your data types into your application, all the buffers/data is trusted, and you don't intend to mutate buffers after they're created, Bincode/Flatbuffers/CapNProto is a better choice for you.","span":{"file_name":"src/lib.rs","byte_start":19179,"byte_end":19404,"line_start":283,"line_end":283,"column_start":1,"column_end":226}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19405,"byte_end":19409,"line_start":284,"line_end":284,"column_start":1,"column_end":5}},{"value":"/ ### When to use JSON / BSON / MessagePack","span":{"file_name":"src/lib.rs","byte_start":19410,"byte_end":19455,"line_start":285,"line_end":285,"column_start":1,"column_end":46}},{"value":"/ If your data changes so often that schemas don't really make sense or the format you use must be self describing, JSON/BSON/MessagePack is a better choice. Although I'd argue that if you *can* make schemas work you should. Once you can use a format with schemas you save a ton of space in the resulting buffers and performance far better.","span":{"file_name":"src/lib.rs","byte_start":19456,"byte_end":19801,"line_start":286,"line_end":286,"column_start":1,"column_end":346}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":19802,"byte_end":19806,"line_start":287,"line_end":287,"column_start":1,"column_end":5}},{"value":"/ ## Limitations","span":{"file_name":"src/lib.rs","byte_start":19807,"byte_end":19825,"line_start":288,"line_end":288,"column_start":1,"column_end":19}},{"value":"/ - Structs and Tuples cannot have more than 255 items.","span":{"file_name":"src/lib.rs","byte_start":19826,"byte_end":19883,"line_start":289,"line_end":289,"column_start":1,"column_end":58}},{"value":"/ - Lists and Maps cannot have more than 2^16 (~64k) items.","span":{"file_name":"src/lib.rs","byte_start":19884,"byte_end":19945,"line_start":290,"line_end":290,"column_start":1,"column_end":62}},{"value":"/ - You cannot nest more than 255 levels deep.","span":{"file_name":"src/lib.rs","byte_start":19946,"byte_end":19994,"line_start":291,"line_end":291,"column_start":1,"column_end":49}},{"value":"/ - Struct field names cannot be longer than 255 UTF8 bytes.","span":{"file_name":"src/lib.rs","byte_start":19995,"byte_end":20057,"line_start":292,"line_end":292,"column_start":1,"column_end":63}},{"value":"/ - Enum/Option types are limited to 255 options and each option cannot be more than 255 UTF8 Bytes.","span":{"file_name":"src/lib.rs","byte_start":20058,"byte_end":20160,"line_start":293,"line_end":293,"column_start":1,"column_end":103}},{"value":"/ - Map keys cannot be larger than 255 UTF8 bytes.","span":{"file_name":"src/lib.rs","byte_start":20161,"byte_end":20213,"line_start":294,"line_end":294,"column_start":1,"column_end":53}},{"value":"/ - Buffers cannot be larger than 2^32 bytes or ~4GB.","span":{"file_name":"src/lib.rs","byte_start":20214,"byte_end":20269,"line_start":295,"line_end":295,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20270,"byte_end":20274,"line_start":296,"line_end":296,"column_start":1,"column_end":5}},{"value":"/ ## Unsafe","span":{"file_name":"src/lib.rs","byte_start":20275,"byte_end":20288,"line_start":297,"line_end":297,"column_start":1,"column_end":14}},{"value":"/ This library makes use of `unsafe` to get better performance. Generally speaking, it's not possible to have a high performance serialization library without `unsafe`. It is only used where performance improvements are significant and additional checks are performed so that the worst case for any `unsafe` block is it leads to junk data in a buffer.","span":{"file_name":"src/lib.rs","byte_start":20289,"byte_end":20644,"line_start":298,"line_end":298,"column_start":1,"column_end":356}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20645,"byte_end":20649,"line_start":299,"line_end":299,"column_start":1,"column_end":5}},{"value":"/ ----------------------","span":{"file_name":"src/lib.rs","byte_start":20650,"byte_end":20676,"line_start":300,"line_end":300,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20677,"byte_end":20681,"line_start":301,"line_end":301,"column_start":1,"column_end":5}},{"value":"/ MIT License","span":{"file_name":"src/lib.rs","byte_start":20682,"byte_end":20697,"line_start":302,"line_end":302,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20698,"byte_end":20702,"line_start":303,"line_end":303,"column_start":1,"column_end":5}},{"value":"/ Copyright (c) 2021 Scott Lott","span":{"file_name":"src/lib.rs","byte_start":20703,"byte_end":20736,"line_start":304,"line_end":304,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":20737,"byte_end":20741,"line_start":305,"line_end":305,"column_start":1,"column_end":5}},{"value":"/ Permission is hereby granted, free of charge, to any person obtaining a copy","span":{"file_name":"src/lib.rs","byte_start":20742,"byte_end":20822,"line_start":306,"line_end":306,"column_start":1,"column_end":81}},{"value":"/ of this software and associated documentation files (the \"Software\"), to deal","span":{"file_name":"src/lib.rs","byte_start":20823,"byte_end":20904,"line_start":307,"line_end":307,"column_start":1,"column_end":82}},{"value":"/ in the Software without restriction, including without limitation the rights","span":{"file_name":"src/lib.rs","byte_start":20905,"byte_end":20985,"line_start":308,"line_end":308,"column_start":1,"column_end":81}},{"value":"/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell","span":{"file_name":"src/lib.rs","byte_start":20986,"byte_end":21063,"line_start":309,"line_end":309,"column_start":1,"column_end":78}},{"value":"/ copies of the Software, and to permit persons to whom the Software is","span":{"file_name":"src/lib.rs","byte_start":21064,"byte_end":21137,"line_start":310,"line_end":310,"column_start":1,"column_end":74}},{"value":"/ furnished to do so, subject to the following conditions:","span":{"file_name":"src/lib.rs","byte_start":21138,"byte_end":21198,"line_start":311,"line_end":311,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":21199,"byte_end":21203,"line_start":312,"line_end":312,"column_start":1,"column_end":5}},{"value":"/ The above copyright notice and this permission notice shall be included in all","span":{"file_name":"src/lib.rs","byte_start":21204,"byte_end":21286,"line_start":313,"line_end":313,"column_start":1,"column_end":83}},{"value":"/ copies or substantial portions of the Software.","span":{"file_name":"src/lib.rs","byte_start":21287,"byte_end":21338,"line_start":314,"line_end":314,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":21339,"byte_end":21343,"line_start":315,"line_end":315,"column_start":1,"column_end":5}},{"value":"/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR","span":{"file_name":"src/lib.rs","byte_start":21344,"byte_end":21422,"line_start":316,"line_end":316,"column_start":1,"column_end":79}},{"value":"/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,","span":{"file_name":"src/lib.rs","byte_start":21423,"byte_end":21499,"line_start":317,"line_end":317,"column_start":1,"column_end":77}},{"value":"/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE","span":{"file_name":"src/lib.rs","byte_start":21500,"byte_end":21579,"line_start":318,"line_end":318,"column_start":1,"column_end":80}},{"value":"/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER","span":{"file_name":"src/lib.rs","byte_start":21580,"byte_end":21654,"line_start":319,"line_end":319,"column_start":1,"column_end":75}},{"value":"/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,","span":{"file_name":"src/lib.rs","byte_start":21655,"byte_end":21736,"line_start":320,"line_end":320,"column_start":1,"column_end":82}},{"value":"/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE","span":{"file_name":"src/lib.rs","byte_start":21737,"byte_end":21818,"line_start":321,"line_end":321,"column_start":1,"column_end":82}},{"value":"/ SOFTWARE. ","span":{"file_name":"src/lib.rs","byte_start":21819,"byte_end":21833,"line_start":322,"line_end":322,"column_start":1,"column_end":15}}]},{"kind":"Mod","id":{"krate":0,"index":5},"span":{"file_name":"src/idl.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"idl","qualname":"::idl","value":"src/idl.rs","parent":null,"children":[{"krate":0,"index":6},{"krate":0,"index":9},{"krate":0,"index":12},{"krate":0,"index":2807},{"krate":0,"index":2810},{"krate":0,"index":2811},{"krate":0,"index":2814},{"krate":0,"index":2816},{"krate":0,"index":2817},{"krate":0,"index":2819},{"krate":0,"index":2837},{"krate":0,"index":2839},{"krate":0,"index":2842},{"krate":0,"index":2844},{"krate":0,"index":2855},{"krate":0,"index":2856},{"krate":0,"index":15},{"krate":0,"index":2858},{"krate":0,"index":2859},{"krate":0,"index":2861}],"decl_id":null,"docs":" ES6 IDL for Schemas\n \n Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.\n \n","sig":null,"attributes":[{"value":"/ ES6 IDL for Schemas","span":{"file_name":"src/idl.rs","byte_start":34932,"byte_end":34955,"line_start":1,"line_end":1,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/idl.rs","byte_start":34956,"byte_end":34960,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.","span":{"file_name":"src/idl.rs","byte_start":34961,"byte_end":35045,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/idl.rs","byte_start":35046,"byte_end":35050,"line_start":4,"line_end":4,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":2807},"span":{"file_name":"src/idl.rs","byte_start":35202,"byte_end":35209,"line_start":11,"line_end":11,"column_start":12,"column_end":19},"name":"AST_STR","qualname":"::idl::AST_STR","value":"AST_STR { start, end }","parent":null,"children":[{"krate":0,"index":2808},{"krate":0,"index":2809}],"decl_id":null,"docs":" Parsed AST String\n","sig":null,"attributes":[{"value":"/ Parsed AST String","span":{"file_name":"src/idl.rs","byte_start":35128,"byte_end":35149,"line_start":9,"line_end":9,"column_start":1,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":2808},"span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"name":"start","qualname":"::idl::AST_STR::start","value":"usize","parent":{"krate":0,"index":2807},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2809},"span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"name":"end","qualname":"::idl::AST_STR::end","value":"usize","parent":{"krate":0,"index":2807},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2820},"span":{"file_name":"src/idl.rs","byte_start":35342,"byte_end":35347,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"empty","qualname":"::idl::JS_AST::empty","value":"JS_AST::empty","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2822},"span":{"file_name":"src/idl.rs","byte_start":35353,"byte_end":35359,"line_start":21,"line_end":21,"column_start":5,"column_end":11},"name":"method","qualname":"::idl::JS_AST::method","value":"JS_AST::method { name, args }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2823},"span":{"file_name":"src/idl.rs","byte_start":35362,"byte_end":35366,"line_start":21,"line_end":21,"column_start":14,"column_end":18},"name":"name","qualname":"::idl::JS_AST::method::name","value":"idl::AST_STR","parent":{"krate":0,"index":2822},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2824},"span":{"file_name":"src/idl.rs","byte_start":35377,"byte_end":35381,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"name":"args","qualname":"::idl::JS_AST::method::args","value":"std::vec::Vec","parent":{"krate":0,"index":2822},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2825},"span":{"file_name":"src/idl.rs","byte_start":35402,"byte_end":35408,"line_start":22,"line_end":22,"column_start":5,"column_end":11},"name":"object","qualname":"::idl::JS_AST::object","value":"JS_AST::object { properties }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2826},"span":{"file_name":"src/idl.rs","byte_start":35411,"byte_end":35421,"line_start":22,"line_end":22,"column_start":14,"column_end":24},"name":"properties","qualname":"::idl::JS_AST::object::properties","value":"std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":{"krate":0,"index":2825},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2827},"span":{"file_name":"src/idl.rs","byte_start":35453,"byte_end":35457,"line_start":23,"line_end":23,"column_start":5,"column_end":9},"name":"bool","qualname":"::idl::JS_AST::bool","value":"JS_AST::bool { state }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2828},"span":{"file_name":"src/idl.rs","byte_start":35460,"byte_end":35465,"line_start":23,"line_end":23,"column_start":12,"column_end":17},"name":"state","qualname":"::idl::JS_AST::bool::state","value":"bool","parent":{"krate":0,"index":2827},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2829},"span":{"file_name":"src/idl.rs","byte_start":35479,"byte_end":35485,"line_start":24,"line_end":24,"column_start":5,"column_end":11},"name":"string","qualname":"::idl::JS_AST::string","value":"JS_AST::string { addr }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2830},"span":{"file_name":"src/idl.rs","byte_start":35488,"byte_end":35492,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"name":"addr","qualname":"::idl::JS_AST::string::addr","value":"idl::AST_STR","parent":{"krate":0,"index":2829},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2831},"span":{"file_name":"src/idl.rs","byte_start":35509,"byte_end":35514,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"name":"array","qualname":"::idl::JS_AST::array","value":"JS_AST::array { values }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2832},"span":{"file_name":"src/idl.rs","byte_start":35517,"byte_end":35523,"line_start":25,"line_end":25,"column_start":13,"column_end":19},"name":"values","qualname":"::idl::JS_AST::array::values","value":"std::vec::Vec","parent":{"krate":0,"index":2831},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2833},"span":{"file_name":"src/idl.rs","byte_start":35544,"byte_end":35550,"line_start":26,"line_end":26,"column_start":5,"column_end":11},"name":"number","qualname":"::idl::JS_AST::number","value":"JS_AST::number { addr }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2834},"span":{"file_name":"src/idl.rs","byte_start":35553,"byte_end":35557,"line_start":26,"line_end":26,"column_start":14,"column_end":18},"name":"addr","qualname":"::idl::JS_AST::number::addr","value":"idl::AST_STR","parent":{"krate":0,"index":2833},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2835},"span":{"file_name":"src/idl.rs","byte_start":35574,"byte_end":35581,"line_start":27,"line_end":27,"column_start":5,"column_end":12},"name":"closure","qualname":"::idl::JS_AST::closure","value":"JS_AST::closure { expressions }","parent":{"krate":0,"index":2819},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2836},"span":{"file_name":"src/idl.rs","byte_start":35584,"byte_end":35595,"line_start":27,"line_end":27,"column_start":15,"column_end":26},"name":"expressions","qualname":"::idl::JS_AST::closure::expressions","value":"std::vec::Vec","parent":{"krate":0,"index":2835},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2819},"span":{"file_name":"src/idl.rs","byte_start":35329,"byte_end":35335,"line_start":19,"line_end":19,"column_start":10,"column_end":16},"name":"JS_AST","qualname":"::idl::JS_AST","value":"pub enum JS_AST {\n empty,\n method {\n name: AST_STR,\n args: Vec,\n },\n object {\n properties: Vec<(AST_STR, JS_AST)>,\n },\n bool {\n state: bool,\n },\n string {\n addr: AST_STR,\n },\n array {\n values: Vec,\n },\n number {\n addr: AST_STR,\n },\n closure {\n expressions: Vec,\n },\n}","parent":null,"children":[{"krate":0,"index":2820},{"krate":0,"index":2822},{"krate":0,"index":2825},{"krate":0,"index":2827},{"krate":0,"index":2829},{"krate":0,"index":2831},{"krate":0,"index":2833},{"krate":0,"index":2835}],"decl_id":null,"docs":" AST object of es6 schema\n","sig":null,"attributes":[{"value":"/ AST object of es6 schema","span":{"file_name":"src/idl.rs","byte_start":35251,"byte_end":35279,"line_start":16,"line_end":16,"column_start":1,"column_end":29}},{"value":"allow(missing_docs)","span":{"file_name":"src/idl.rs","byte_start":35280,"byte_end":35302,"line_start":17,"line_end":17,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":2839},"span":{"file_name":"src/idl.rs","byte_start":35693,"byte_end":35702,"line_start":33,"line_end":33,"column_start":12,"column_end":21},"name":"JS_Schema","qualname":"::idl::JS_Schema","value":"JS_Schema { value, ast }","parent":null,"children":[{"krate":0,"index":2840},{"krate":0,"index":2841}],"decl_id":null,"docs":" Schema using ES6 syntax\n","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/idl.rs","byte_start":35614,"byte_end":35636,"line_start":30,"line_end":30,"column_start":1,"column_end":23}},{"value":"/ Schema using ES6 syntax","span":{"file_name":"src/idl.rs","byte_start":35654,"byte_end":35681,"line_start":32,"line_end":32,"column_start":1,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2840},"span":{"file_name":"src/idl.rs","byte_start":35709,"byte_end":35714,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"name":"value","qualname":"::idl::JS_Schema::value","value":"std::string::String","parent":{"krate":0,"index":2839},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2841},"span":{"file_name":"src/idl.rs","byte_start":35732,"byte_end":35735,"line_start":35,"line_end":35,"column_start":9,"column_end":12},"name":"ast","qualname":"::idl::JS_Schema::ast","value":"idl::JS_AST","parent":{"krate":0,"index":2839},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2845},"span":{"file_name":"src/idl.rs","byte_start":35790,"byte_end":35794,"line_start":40,"line_end":40,"column_start":5,"column_end":9},"name":"none","qualname":"::idl::js_control::none","value":"js_control::none","parent":{"krate":0,"index":2844},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2847},"span":{"file_name":"src/idl.rs","byte_start":35800,"byte_end":35805,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"name":"paran","qualname":"::idl::js_control::paran","value":"js_control::paran","parent":{"krate":0,"index":2844},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2849},"span":{"file_name":"src/idl.rs","byte_start":35811,"byte_end":35816,"line_start":42,"line_end":42,"column_start":5,"column_end":10},"name":"curly","qualname":"::idl::js_control::curly","value":"js_control::curly","parent":{"krate":0,"index":2844},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2851},"span":{"file_name":"src/idl.rs","byte_start":35822,"byte_end":35828,"line_start":43,"line_end":43,"column_start":5,"column_end":11},"name":"square","qualname":"::idl::js_control::square","value":"js_control::square","parent":{"krate":0,"index":2844},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2853},"span":{"file_name":"src/idl.rs","byte_start":35834,"byte_end":35839,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"name":"quote","qualname":"::idl::js_control::quote","value":"js_control::quote","parent":{"krate":0,"index":2844},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2844},"span":{"file_name":"src/idl.rs","byte_start":35773,"byte_end":35783,"line_start":39,"line_end":39,"column_start":6,"column_end":16},"name":"js_control","qualname":"::idl::js_control","value":"enum js_control { none, paran, curly, square, quote, }","parent":null,"children":[{"krate":0,"index":2845},{"krate":0,"index":2847},{"krate":0,"index":2849},{"krate":0,"index":2851},{"krate":0,"index":2853}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741840},"span":{"file_name":"src/idl.rs","byte_start":35916,"byte_end":35922,"line_start":49,"line_end":49,"column_start":16,"column_end":22},"name":"schema","qualname":"::new::schema","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":16},"span":{"file_name":"src/idl.rs","byte_start":35912,"byte_end":35915,"line_start":49,"line_end":49,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(String) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Parse a JS style schema into AST\n","sig":null,"attributes":[{"value":"/ Parse a JS style schema into AST","span":{"file_name":"src/idl.rs","byte_start":35864,"byte_end":35900,"line_start":48,"line_end":48,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":134217744},"span":{"file_name":"src/idl.rs","byte_start":35976,"byte_end":35987,"line_start":50,"line_end":50,"column_start":17,"column_end":28},"name":"no_comments","qualname":"no_comments$HirId { owner: DefId(0:16 ~ no_proto[7dec]::idl::{impl#0}::new), local_id: 16 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395024},"span":{"file_name":"src/idl.rs","byte_start":36080,"byte_end":36081,"line_start":52,"line_end":52,"column_start":45,"column_end":46},"name":"f","qualname":"$HirId { owner: DefId(0:16 ~ no_proto[7dec]::idl::{impl#0}::new), local_id: 91 }::f","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592528},"span":{"file_name":"src/idl.rs","byte_start":36101,"byte_end":36108,"line_start":53,"line_end":53,"column_start":17,"column_end":24},"name":"trimmed","qualname":"trimmed$HirId { owner: DefId(0:16 ~ no_proto[7dec]::idl::{impl#0}::new), local_id: 33 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741842},"span":{"file_name":"src/idl.rs","byte_start":36652,"byte_end":36656,"line_start":74,"line_end":74,"column_start":21,"column_end":25},"name":"self","qualname":"::get_str::self","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870930},"span":{"file_name":"src/idl.rs","byte_start":36658,"byte_end":36662,"line_start":74,"line_end":74,"column_start":27,"column_end":31},"name":"addr","qualname":"::get_str::addr","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":18},"span":{"file_name":"src/idl.rs","byte_start":36643,"byte_end":36650,"line_start":74,"line_end":74,"column_start":12,"column_end":19},"name":"get_str","qualname":"::get_str","value":"pub fn get_str(&Self, &AST_STR) -> &str","parent":null,"children":[],"decl_id":null,"docs":" Get a str value from the schema\n","sig":null,"attributes":[{"value":"/ Get a str value from the schema","span":{"file_name":"src/idl.rs","byte_start":36596,"byte_end":36631,"line_start":73,"line_end":73,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":1073741843},"span":{"file_name":"src/idl.rs","byte_start":36746,"byte_end":36751,"line_start":78,"line_end":78,"column_start":14,"column_end":19},"name":"depth","qualname":"::parse::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870931},"span":{"file_name":"src/idl.rs","byte_start":36760,"byte_end":36765,"line_start":78,"line_end":78,"column_start":28,"column_end":33},"name":"start","qualname":"::parse::start","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612755},"span":{"file_name":"src/idl.rs","byte_start":36774,"byte_end":36777,"line_start":78,"line_end":78,"column_start":42,"column_end":45},"name":"end","qualname":"::parse::end","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435475},"span":{"file_name":"src/idl.rs","byte_start":36786,"byte_end":36792,"line_start":78,"line_end":78,"column_start":54,"column_end":60},"name":"schema","qualname":"::parse::schema","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":19},"span":{"file_name":"src/idl.rs","byte_start":36740,"byte_end":36745,"line_start":78,"line_end":78,"column_start":8,"column_end":13},"name":"parse","qualname":"::parse","value":"fn parse(usize, usize, usize, &str) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197523},"span":{"file_name":"src/idl.rs","byte_start":37027,"byte_end":37039,"line_start":89,"line_end":89,"column_start":17,"column_end":29},"name":"control_char","qualname":"control_char$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 52 }","value":"idl::js_control","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617245715},"span":{"file_name":"src/idl.rs","byte_start":37077,"byte_end":37082,"line_start":91,"line_end":91,"column_start":17,"column_end":22},"name":"index","qualname":"index$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":20},"span":{"file_name":"src/idl.rs","byte_start":37543,"byte_end":37558,"line_start":104,"line_end":104,"column_start":16,"column_end":31},"name":"NESTING_DEFAULT","qualname":"::idl::JS_Schema::parse::NESTING_DEFAULT","value":"i16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030043155},"span":{"file_name":"src/idl.rs","byte_start":37586,"byte_end":37593,"line_start":106,"line_end":106,"column_start":17,"column_end":24},"name":"nesting","qualname":"nesting$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 158 }","value":"i16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157627923},"span":{"file_name":"src/idl.rs","byte_start":37630,"byte_end":37636,"line_start":108,"line_end":108,"column_start":17,"column_end":23},"name":"closed","qualname":"closed$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 162 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3841982483},"span":{"file_name":"src/idl.rs","byte_start":37662,"byte_end":37674,"line_start":109,"line_end":109,"column_start":17,"column_end":29},"name":"moving_start","qualname":"moving_start$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 167 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573547027},"span":{"file_name":"src/idl.rs","byte_start":37700,"byte_end":37707,"line_start":110,"line_end":110,"column_start":17,"column_end":24},"name":"escaped","qualname":"escaped$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 171 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110417939},"span":{"file_name":"src/idl.rs","byte_start":37733,"byte_end":37742,"line_start":111,"line_end":111,"column_start":17,"column_end":26},"name":"is_quoted","qualname":"is_quoted$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 175 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545259539},"span":{"file_name":"src/idl.rs","byte_start":38244,"byte_end":38247,"line_start":123,"line_end":123,"column_start":25,"column_end":28},"name":"arr","qualname":"arr$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 260 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3527409683},"span":{"file_name":"src/idl.rs","byte_start":41027,"byte_end":41034,"line_start":189,"line_end":189,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 587 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3309305875},"span":{"file_name":"src/idl.rs","byte_start":41619,"byte_end":41631,"line_start":200,"line_end":200,"column_start":29,"column_end":41},"name":"closed_first","qualname":"closed_first$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 675 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3879731219},"span":{"file_name":"src/idl.rs","byte_start":42027,"byte_end":42034,"line_start":210,"line_end":210,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 743 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3300917267},"span":{"file_name":"src/idl.rs","byte_start":42335,"byte_end":42346,"line_start":217,"line_end":217,"column_start":29,"column_end":40},"name":"expressions","qualname":"expressions$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 803 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1763704851},"span":{"file_name":"src/idl.rs","byte_start":45994,"byte_end":46001,"line_start":293,"line_end":293,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1174 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":455082003},"span":{"file_name":"src/idl.rs","byte_start":46381,"byte_end":46388,"line_start":300,"line_end":300,"column_start":25,"column_end":32},"name":"fn_name","qualname":"fn_name$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1240 }","value":"idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":656408595},"span":{"file_name":"src/idl.rs","byte_start":46455,"byte_end":46459,"line_start":302,"line_end":302,"column_start":29,"column_end":33},"name":"args","qualname":"args$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1252 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3932160019},"span":{"file_name":"src/idl.rs","byte_start":50094,"byte_end":50101,"line_start":378,"line_end":378,"column_start":33,"column_end":40},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1623 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2371878931},"span":{"file_name":"src/idl.rs","byte_start":50606,"byte_end":50609,"line_start":389,"line_end":389,"column_start":25,"column_end":28},"name":"obj","qualname":"obj$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1713 }","value":"std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1566572563},"span":{"file_name":"src/idl.rs","byte_start":50673,"byte_end":50676,"line_start":391,"line_end":391,"column_start":25,"column_end":28},"name":"key","qualname":"key$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1722 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1038090259},"span":{"file_name":"src/idl.rs","byte_start":52863,"byte_end":52870,"line_start":435,"line_end":435,"column_start":49,"column_end":56},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 1980 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":235929619},"span":{"file_name":"src/idl.rs","byte_start":54462,"byte_end":54469,"line_start":465,"line_end":465,"column_start":45,"column_end":52},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 2160 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1661992979},"span":{"file_name":"src/idl.rs","byte_start":55051,"byte_end":55058,"line_start":479,"line_end":479,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 2246 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3666870291},"span":{"file_name":"src/idl.rs","byte_start":56050,"byte_end":56057,"line_start":505,"line_end":505,"column_start":29,"column_end":36},"name":"message","qualname":"message$HirId { owner: DefId(0:19 ~ no_proto[7dec]::idl::{impl#0}::parse), local_id: 2395 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2861},"span":{"file_name":"src/idl.rs","byte_start":56418,"byte_end":56422,"line_start":517,"line_end":517,"column_start":4,"column_end":8},"name":"test","qualname":"::idl::test","value":"fn test()","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":21},"span":{"file_name":"src/pointer/mod.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"pointer","qualname":"::pointer","value":"src/pointer/mod.rs","parent":null,"children":[{"krate":0,"index":22},{"krate":0,"index":103},{"krate":0,"index":227},{"krate":0,"index":350},{"krate":0,"index":524},{"krate":0,"index":612},{"krate":0,"index":793},{"krate":0,"index":952},{"krate":0,"index":1114},{"krate":0,"index":1261},{"krate":0,"index":1366},{"krate":0,"index":1468},{"krate":0,"index":1550},{"krate":0,"index":1551},{"krate":0,"index":1552},{"krate":0,"index":1553},{"krate":0,"index":1555},{"krate":0,"index":1558},{"krate":0,"index":1559},{"krate":0,"index":1560},{"krate":0,"index":1563},{"krate":0,"index":1566},{"krate":0,"index":1569},{"krate":0,"index":1570},{"krate":0,"index":1573},{"krate":0,"index":1576},{"krate":0,"index":1579},{"krate":0,"index":1582},{"krate":0,"index":1583},{"krate":0,"index":1586},{"krate":0,"index":1587},{"krate":0,"index":1590},{"krate":0,"index":1593},{"krate":0,"index":1594},{"krate":0,"index":1595},{"krate":0,"index":1598},{"krate":0,"index":1599},{"krate":0,"index":1602},{"krate":0,"index":1605},{"krate":0,"index":1608},{"krate":0,"index":1611},{"krate":0,"index":1612},{"krate":0,"index":1615},{"krate":0,"index":1618},{"krate":0,"index":1621},{"krate":0,"index":1624},{"krate":0,"index":1625},{"krate":0,"index":1628},{"krate":0,"index":1631},{"krate":0,"index":1634},{"krate":0,"index":1635},{"krate":0,"index":1637},{"krate":0,"index":1638},{"krate":0,"index":1641},{"krate":0,"index":1642},{"krate":0,"index":3506},{"krate":0,"index":3509},{"krate":0,"index":3511},{"krate":0,"index":3512},{"krate":0,"index":1645},{"krate":0,"index":3515},{"krate":0,"index":3522},{"krate":0,"index":3524},{"krate":0,"index":3531},{"krate":0,"index":1648},{"krate":0,"index":1664},{"krate":0,"index":1671},{"krate":0,"index":1684},{"krate":0,"index":3533},{"krate":0,"index":3538},{"krate":0,"index":3540},{"krate":0,"index":3541},{"krate":0,"index":1701},{"krate":0,"index":3545},{"krate":0,"index":3550},{"krate":0,"index":3552},{"krate":0,"index":3554},{"krate":0,"index":3555},{"krate":0,"index":3556},{"krate":0,"index":3558},{"krate":0,"index":3565},{"krate":0,"index":3567},{"krate":0,"index":3570},{"krate":0,"index":1705},{"krate":0,"index":1719},{"krate":0,"index":1724}],"decl_id":null,"docs":" All values in buffers are accessed and modified through pointers\n \n NP_Ptr are the primary abstraction to read, update or delete values in a buffer.\n Pointers should *never* be created directly, instead the various methods provided by the library to access\n the internals of the buffer should be used.\n \n Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`.\n When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail.\n As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided.\n \n \n","sig":null,"attributes":[{"value":"/ All values in buffers are accessed and modified through pointers","span":{"file_name":"src/pointer/mod.rs","byte_start":56517,"byte_end":56585,"line_start":1,"line_end":1,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":56586,"byte_end":56590,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NP_Ptr are the primary abstraction to read, update or delete values in a buffer.","span":{"file_name":"src/pointer/mod.rs","byte_start":56591,"byte_end":56675,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ Pointers should *never* be created directly, instead the various methods provided by the library to access","span":{"file_name":"src/pointer/mod.rs","byte_start":56676,"byte_end":56786,"line_start":4,"line_end":4,"column_start":1,"column_end":111}},{"value":"/ the internals of the buffer should be used.","span":{"file_name":"src/pointer/mod.rs","byte_start":56787,"byte_end":56834,"line_start":5,"line_end":5,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":56835,"byte_end":56839,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ Once you have a pointer you can read it's contents if it's a scalar value with `.get()` or convert it to a collection with `.deref()`.","span":{"file_name":"src/pointer/mod.rs","byte_start":56840,"byte_end":56978,"line_start":7,"line_end":7,"column_start":1,"column_end":139}},{"value":"/ When you attempt to read, update, or convert a pointer the schema is checked for that pointer location. If the schema conflicts with the operation you're attempting it will fail.","span":{"file_name":"src/pointer/mod.rs","byte_start":56979,"byte_end":57162,"line_start":8,"line_end":8,"column_start":1,"column_end":184}},{"value":"/ As a result, you should be careful to make sure your reads and updates to the buffer line up with the schema you provided.","span":{"file_name":"src/pointer/mod.rs","byte_start":57163,"byte_end":57289,"line_start":9,"line_end":9,"column_start":1,"column_end":127}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":57290,"byte_end":57294,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":57295,"byte_end":57299,"line_start":11,"line_end":11,"column_start":1,"column_end":5}}]},{"kind":"Mod","id":{"krate":0,"index":22},"span":{"file_name":"src/pointer/any.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"any","qualname":"::pointer::any","value":"src/pointer/any.rs","parent":null,"children":[{"krate":0,"index":23},{"krate":0,"index":24},{"krate":0,"index":27},{"krate":0,"index":30},{"krate":0,"index":31},{"krate":0,"index":32},{"krate":0,"index":35},{"krate":0,"index":38},{"krate":0,"index":39},{"krate":0,"index":42},{"krate":0,"index":43},{"krate":0,"index":46},{"krate":0,"index":49},{"krate":0,"index":52},{"krate":0,"index":55},{"krate":0,"index":58},{"krate":0,"index":59},{"krate":0,"index":60},{"krate":0,"index":63},{"krate":0,"index":66},{"krate":0,"index":69},{"krate":0,"index":72},{"krate":0,"index":75},{"krate":0,"index":76},{"krate":0,"index":79},{"krate":0,"index":2862},{"krate":0,"index":2863},{"krate":0,"index":82},{"krate":0,"index":100},{"krate":0,"index":2865},{"krate":0,"index":2866},{"krate":0,"index":2868}],"decl_id":null,"docs":" Any type\n","sig":null,"attributes":[{"value":"/ Any type","span":{"file_name":"src/pointer/mod.rs","byte_start":57301,"byte_end":57313,"line_start":13,"line_end":13,"column_start":1,"column_end":13}}]},{"kind":"Struct","id":{"krate":0,"index":2862},"span":{"file_name":"src/pointer/any.rs","byte_start":101448,"byte_end":101454,"line_start":15,"line_end":15,"column_start":12,"column_end":18},"name":"NP_Any","qualname":"::pointer::any::NP_Any","value":"NP_Any { }","parent":null,"children":[],"decl_id":null,"docs":" Any data type\n","sig":null,"attributes":[{"value":"/ Any data type","span":{"file_name":"src/pointer/any.rs","byte_start":101402,"byte_end":101419,"line_start":13,"line_end":13,"column_start":1,"column_end":18}}]},{"kind":"Method","id":{"krate":0,"index":84},"span":{"file_name":"src/pointer/any.rs","byte_start":101538,"byte_end":101546,"line_start":20,"line_end":20,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741909},"span":{"file_name":"src/pointer/any.rs","byte_start":101631,"byte_end":101635,"line_start":21,"line_end":21,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::any::NP_Any","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":85},"span":{"file_name":"src/pointer/any.rs","byte_start":101616,"byte_end":101629,"line_start":21,"line_end":21,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741910},"span":{"file_name":"src/pointer/any.rs","byte_start":101720,"byte_end":101727,"line_start":23,"line_end":23,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870998},"span":{"file_name":"src/pointer/any.rs","byte_start":101753,"byte_end":101761,"line_start":23,"line_end":23,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":86},"span":{"file_name":"src/pointer/any.rs","byte_start":101705,"byte_end":101719,"line_start":23,"line_end":23,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306454},"span":{"file_name":"src/pointer/any.rs","byte_start":101816,"byte_end":101827,"line_start":24,"line_end":24,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:86 ~ no_proto[7dec]::pointer::any::{impl#0}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741911},"span":{"file_name":"src/pointer/any.rs","byte_start":102000,"byte_end":102007,"line_start":30,"line_end":30,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536870999},"span":{"file_name":"src/pointer/any.rs","byte_start":102033,"byte_end":102041,"line_start":30,"line_end":30,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":87},"span":{"file_name":"src/pointer/any.rs","byte_start":101986,"byte_end":101999,"line_start":30,"line_end":30,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741912},"span":{"file_name":"src/pointer/any.rs","byte_start":102146,"byte_end":102152,"line_start":34,"line_end":34,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871000},"span":{"file_name":"src/pointer/any.rs","byte_start":102177,"byte_end":102182,"line_start":34,"line_end":34,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612824},"span":{"file_name":"src/pointer/any.rs","byte_start":102190,"byte_end":102194,"line_start":34,"line_end":34,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435544},"span":{"file_name":"src/pointer/any.rs","byte_start":102208,"byte_end":102213,"line_start":34,"line_end":34,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":88},"span":{"file_name":"src/pointer/any.rs","byte_start":102127,"byte_end":102145,"line_start":34,"line_end":34,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741913},"span":{"file_name":"src/pointer/any.rs","byte_start":102393,"byte_end":102398,"line_start":38,"line_end":38,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871001},"span":{"file_name":"src/pointer/any.rs","byte_start":102407,"byte_end":102417,"line_start":38,"line_end":38,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612825},"span":{"file_name":"src/pointer/any.rs","byte_start":102425,"byte_end":102431,"line_start":38,"line_end":38,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435545},"span":{"file_name":"src/pointer/any.rs","byte_start":102444,"byte_end":102450,"line_start":38,"line_end":38,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177369},"span":{"file_name":"src/pointer/any.rs","byte_start":102469,"byte_end":102474,"line_start":38,"line_end":38,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":89},"span":{"file_name":"src/pointer/any.rs","byte_start":102373,"byte_end":102386,"line_start":38,"line_end":38,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741915},"span":{"file_name":"src/pointer/any.rs","byte_start":102630,"byte_end":102636,"line_start":42,"line_end":42,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871003},"span":{"file_name":"src/pointer/any.rs","byte_start":102649,"byte_end":102655,"line_start":42,"line_end":42,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612827},"span":{"file_name":"src/pointer/any.rs","byte_start":102674,"byte_end":102679,"line_start":42,"line_end":42,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::any::NP_Any","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":91},"span":{"file_name":"src/pointer/any.rs","byte_start":102614,"byte_end":102623,"line_start":42,"line_end":42,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741917},"span":{"file_name":"src/pointer/any.rs","byte_start":102875,"byte_end":102881,"line_start":45,"line_end":45,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871005},"span":{"file_name":"src/pointer/any.rs","byte_start":102895,"byte_end":102901,"line_start":45,"line_end":45,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":93},"span":{"file_name":"src/pointer/any.rs","byte_start":102864,"byte_end":102874,"line_start":45,"line_end":45,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741918},"span":{"file_name":"src/pointer/any.rs","byte_start":103063,"byte_end":103068,"line_start":48,"line_end":48,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871006},"span":{"file_name":"src/pointer/any.rs","byte_start":103076,"byte_end":103082,"line_start":48,"line_end":48,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612830},"span":{"file_name":"src/pointer/any.rs","byte_start":103096,"byte_end":103102,"line_start":48,"line_end":48,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":94},"span":{"file_name":"src/pointer/any.rs","byte_start":103055,"byte_end":103062,"line_start":48,"line_end":48,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741919},"span":{"file_name":"src/pointer/any.rs","byte_start":103180,"byte_end":103185,"line_start":51,"line_end":51,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871007},"span":{"file_name":"src/pointer/any.rs","byte_start":103193,"byte_end":103200,"line_start":51,"line_end":51,"column_start":30,"column_end":37},"name":"_cursor","qualname":"::get_size::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612831},"span":{"file_name":"src/pointer/any.rs","byte_start":103214,"byte_end":103221,"line_start":51,"line_end":51,"column_start":51,"column_end":58},"name":"_memory","qualname":"::get_size::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":95},"span":{"file_name":"src/pointer/any.rs","byte_start":103171,"byte_end":103179,"line_start":51,"line_end":51,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741920},"span":{"file_name":"src/pointer/any.rs","byte_start":103302,"byte_end":103307,"line_start":54,"line_end":54,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871008},"span":{"file_name":"src/pointer/any.rs","byte_start":103315,"byte_end":103326,"line_start":54,"line_end":54,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612832},"span":{"file_name":"src/pointer/any.rs","byte_start":103339,"byte_end":103350,"line_start":54,"line_end":54,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435552},"span":{"file_name":"src/pointer/any.rs","byte_start":103371,"byte_end":103380,"line_start":54,"line_end":54,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177376},"span":{"file_name":"src/pointer/any.rs","byte_start":103393,"byte_end":103402,"line_start":54,"line_end":54,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":96},"span":{"file_name":"src/pointer/any.rs","byte_start":103291,"byte_end":103301,"line_start":54,"line_end":54,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741921},"span":{"file_name":"src/pointer/any.rs","byte_start":103579,"byte_end":103585,"line_start":57,"line_end":57,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871009},"span":{"file_name":"src/pointer/any.rs","byte_start":103610,"byte_end":103622,"line_start":57,"line_end":57,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":97},"span":{"file_name":"src/pointer/any.rs","byte_start":103555,"byte_end":103574,"line_start":57,"line_end":57,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217825},"span":{"file_name":"src/pointer/any.rs","byte_start":103718,"byte_end":103729,"line_start":59,"line_end":59,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:97 ~ no_proto[7dec]::pointer::any::{impl#0}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741922},"span":{"file_name":"src/pointer/any.rs","byte_start":104070,"byte_end":104076,"line_start":71,"line_end":71,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871010},"span":{"file_name":"src/pointer/any.rs","byte_start":104085,"byte_end":104089,"line_start":71,"line_end":71,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612834},"span":{"file_name":"src/pointer/any.rs","byte_start":104098,"byte_end":104104,"line_start":71,"line_end":71,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":98},"span":{"file_name":"src/pointer/any.rs","byte_start":104056,"byte_end":104069,"line_start":71,"line_end":71,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073741923},"span":{"file_name":"src/pointer/any.rs","byte_start":104200,"byte_end":104206,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871011},"span":{"file_name":"src/pointer/any.rs","byte_start":104231,"byte_end":104239,"line_start":75,"line_end":75,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612835},"span":{"file_name":"src/pointer/any.rs","byte_start":104248,"byte_end":104254,"line_start":75,"line_end":75,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":99},"span":{"file_name":"src/pointer/any.rs","byte_start":104175,"byte_end":104195,"line_start":75,"line_end":75,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":102},"span":{"file_name":"src/pointer/any.rs","byte_start":104561,"byte_end":104568,"line_start":87,"line_end":87,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2868},"span":{"file_name":"src/pointer/any.rs","byte_start":104621,"byte_end":104641,"line_start":94,"line_end":94,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::any::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873780},"span":{"file_name":"src/pointer/any.rs","byte_start":104678,"byte_end":104684,"line_start":95,"line_end":95,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2868 ~ no_proto[7dec]::pointer::any::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752436},"span":{"file_name":"src/pointer/any.rs","byte_start":104717,"byte_end":104724,"line_start":96,"line_end":96,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2868 ~ no_proto[7dec]::pointer::any::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441012},"span":{"file_name":"src/pointer/any.rs","byte_start":104836,"byte_end":104844,"line_start":98,"line_end":98,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2868 ~ no_proto[7dec]::pointer::any::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":103},"span":{"file_name":"src/pointer/string.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"string","qualname":"::pointer::string","value":"src/pointer/string.rs","parent":null,"children":[{"krate":0,"index":104},{"krate":0,"index":107},{"krate":0,"index":110},{"krate":0,"index":113},{"krate":0,"index":114},{"krate":0,"index":117},{"krate":0,"index":118},{"krate":0,"index":121},{"krate":0,"index":124},{"krate":0,"index":125},{"krate":0,"index":128},{"krate":0,"index":131},{"krate":0,"index":134},{"krate":0,"index":135},{"krate":0,"index":138},{"krate":0,"index":141},{"krate":0,"index":142},{"krate":0,"index":145},{"krate":0,"index":146},{"krate":0,"index":149},{"krate":0,"index":152},{"krate":0,"index":155},{"krate":0,"index":158},{"krate":0,"index":159},{"krate":0,"index":162},{"krate":0,"index":165},{"krate":0,"index":168},{"krate":0,"index":171},{"krate":0,"index":174},{"krate":0,"index":176},{"krate":0,"index":181},{"krate":0,"index":200},{"krate":0,"index":205},{"krate":0,"index":2869},{"krate":0,"index":2870},{"krate":0,"index":2872},{"krate":0,"index":2873},{"krate":0,"index":2874},{"krate":0,"index":2876},{"krate":0,"index":2877},{"krate":0,"index":2878},{"krate":0,"index":2880},{"krate":0,"index":2881},{"krate":0,"index":2882},{"krate":0,"index":2884},{"krate":0,"index":2885},{"krate":0,"index":2886},{"krate":0,"index":2888},{"krate":0,"index":2889},{"krate":0,"index":2890},{"krate":0,"index":2892}],"decl_id":null,"docs":" NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type.","sig":null,"attributes":[{"value":"/ NoProto supports Rust's native UTF8 [`String`](https://doc.rust-lang.org/std/string/struct.String.html) type.","span":{"file_name":"src/pointer/string.rs","byte_start":104987,"byte_end":105100,"line_start":1,"line_end":1,"column_start":1,"column_end":114}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105101,"byte_end":105104,"line_start":2,"line_end":2,"column_start":1,"column_end":4}},{"value":"/ ```","span":{"file_name":"src/pointer/string.rs","byte_start":105105,"byte_end":105112,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/string.rs","byte_start":105113,"byte_end":105147,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/string.rs","byte_start":105148,"byte_end":105177,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105178,"byte_end":105181,"line_start":6,"line_end":6,"column_start":1,"column_end":4}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/pointer/string.rs","byte_start":105182,"byte_end":105241,"line_start":7,"line_end":7,"column_start":1,"column_end":60}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105242,"byte_end":105245,"line_start":8,"line_end":8,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/string.rs","byte_start":105246,"byte_end":105296,"line_start":9,"line_end":9,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], \"I want to play a game\")?;","span":{"file_name":"src/pointer/string.rs","byte_start":105297,"byte_end":105347,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105348,"byte_end":105351,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(\"I want to play a game\", new_buffer.get::<&str>(&[])?.unwrap());","span":{"file_name":"src/pointer/string.rs","byte_start":105352,"byte_end":105431,"line_start":12,"line_end":12,"column_start":1,"column_end":80}},{"value":"/","span":{"file_name":"src/pointer/string.rs","byte_start":105432,"byte_end":105435,"line_start":13,"line_end":13,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(())","span":{"file_name":"src/pointer/string.rs","byte_start":105436,"byte_end":105464,"line_start":14,"line_end":14,"column_start":1,"column_end":29}},{"value":"/ ```","span":{"file_name":"src/pointer/string.rs","byte_start":105465,"byte_end":105472,"line_start":15,"line_end":15,"column_start":1,"column_end":8}}]},{"kind":"Type","id":{"krate":0,"index":174},"span":{"file_name":"src/pointer/string.rs","byte_start":105987,"byte_end":105996,"line_start":35,"line_end":35,"column_start":10,"column_end":19},"name":"NP_String","qualname":"::pointer::string::NP_String","value":"&'string str","parent":null,"children":[],"decl_id":null,"docs":" &str type alias\n","sig":null,"attributes":[{"value":"/ &str type alias","span":{"file_name":"src/pointer/string.rs","byte_start":105958,"byte_end":105977,"line_start":34,"line_end":34,"column_start":1,"column_end":20}}]},{"kind":"Local","id":{"krate":0,"index":1073742002},"span":{"file_name":"src/pointer/string.rs","byte_start":106261,"byte_end":106267,"line_start":44,"line_end":44,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":178},"span":{"file_name":"src/pointer/string.rs","byte_start":106246,"byte_end":106260,"line_start":44,"line_end":44,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701554},"span":{"file_name":"src/pointer/string.rs","byte_start":106336,"byte_end":106340,"line_start":45,"line_end":45,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:178 ~ no_proto[7dec]::pointer::string::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314290},"span":{"file_name":"src/pointer/string.rs","byte_start":106410,"byte_end":106414,"line_start":47,"line_end":47,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:178 ~ no_proto[7dec]::pointer::string::{impl#0}::schema_default), local_id: 23 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019899058},"span":{"file_name":"src/pointer/string.rs","byte_start":106476,"byte_end":106477,"line_start":50,"line_end":50,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:178 ~ no_proto[7dec]::pointer::string::{impl#0}::schema_default), local_id: 45 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197682},"span":{"file_name":"src/pointer/string.rs","byte_start":106542,"byte_end":106544,"line_start":51,"line_end":51,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:178 ~ no_proto[7dec]::pointer::string::{impl#0}::schema_default), local_id: 52 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742003},"span":{"file_name":"src/pointer/string.rs","byte_start":106699,"byte_end":106705,"line_start":60,"line_end":60,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871091},"span":{"file_name":"src/pointer/string.rs","byte_start":106719,"byte_end":106725,"line_start":60,"line_end":60,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":179},"span":{"file_name":"src/pointer/string.rs","byte_start":106686,"byte_end":106698,"line_start":60,"line_end":60,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653363},"span":{"file_name":"src/pointer/string.rs","byte_start":106770,"byte_end":106774,"line_start":62,"line_end":62,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:179 ~ no_proto[7dec]::pointer::string::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266099},"span":{"file_name":"src/pointer/string.rs","byte_start":106875,"byte_end":106879,"line_start":64,"line_end":64,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:179 ~ no_proto[7dec]::pointer::string::{impl#0}::np_max_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811939507},"span":{"file_name":"src/pointer/string.rs","byte_start":106972,"byte_end":106977,"line_start":70,"line_end":70,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:179 ~ no_proto[7dec]::pointer::string::{impl#0}::np_max_value), local_id: 54 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116787},"span":{"file_name":"src/pointer/string.rs","byte_start":107043,"byte_end":107045,"line_start":72,"line_end":72,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:179 ~ no_proto[7dec]::pointer::string::{impl#0}::np_max_value), local_id: 61 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742004},"span":{"file_name":"src/pointer/string.rs","byte_start":107211,"byte_end":107217,"line_start":80,"line_end":80,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871092},"span":{"file_name":"src/pointer/string.rs","byte_start":107231,"byte_end":107237,"line_start":80,"line_end":80,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":180},"span":{"file_name":"src/pointer/string.rs","byte_start":107198,"byte_end":107210,"line_start":80,"line_end":80,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653364},"span":{"file_name":"src/pointer/string.rs","byte_start":107282,"byte_end":107286,"line_start":82,"line_end":82,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:180 ~ no_proto[7dec]::pointer::string::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266100},"span":{"file_name":"src/pointer/string.rs","byte_start":107387,"byte_end":107391,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:180 ~ no_proto[7dec]::pointer::string::{impl#0}::np_min_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811939508},"span":{"file_name":"src/pointer/string.rs","byte_start":107484,"byte_end":107489,"line_start":90,"line_end":90,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:180 ~ no_proto[7dec]::pointer::string::{impl#0}::np_min_value), local_id: 54 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116788},"span":{"file_name":"src/pointer/string.rs","byte_start":107555,"byte_end":107557,"line_start":92,"line_end":92,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:180 ~ no_proto[7dec]::pointer::string::{impl#0}::np_min_value), local_id: 61 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":183},"span":{"file_name":"src/pointer/string.rs","byte_start":107758,"byte_end":107766,"line_start":106,"line_end":106,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742008},"span":{"file_name":"src/pointer/string.rs","byte_start":107873,"byte_end":107877,"line_start":109,"line_end":109,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":184},"span":{"file_name":"src/pointer/string.rs","byte_start":107858,"byte_end":107871,"line_start":109,"line_end":109,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742009},"span":{"file_name":"src/pointer/string.rs","byte_start":107984,"byte_end":107990,"line_start":113,"line_end":113,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871097},"span":{"file_name":"src/pointer/string.rs","byte_start":108016,"byte_end":108023,"line_start":113,"line_end":113,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":185},"span":{"file_name":"src/pointer/string.rs","byte_start":107969,"byte_end":107983,"line_start":113,"line_end":113,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952790201},"span":{"file_name":"src/pointer/string.rs","byte_start":108075,"byte_end":108081,"line_start":114,"line_end":114,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:185 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_json), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939524281},"span":{"file_name":"src/pointer/string.rs","byte_start":108115,"byte_end":108119,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:185 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_json), local_id: 28 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603979961},"span":{"file_name":"src/pointer/string.rs","byte_start":108193,"byte_end":108204,"line_start":118,"line_end":118,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:185 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_json), local_id: 36 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742010},"span":{"file_name":"src/pointer/string.rs","byte_start":109092,"byte_end":109098,"line_start":149,"line_end":149,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871098},"span":{"file_name":"src/pointer/string.rs","byte_start":109124,"byte_end":109131,"line_start":149,"line_end":149,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":186},"span":{"file_name":"src/pointer/string.rs","byte_start":109078,"byte_end":109091,"line_start":149,"line_end":149,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952790202},"span":{"file_name":"src/pointer/string.rs","byte_start":109181,"byte_end":109187,"line_start":150,"line_end":150,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939524282},"span":{"file_name":"src/pointer/string.rs","byte_start":109221,"byte_end":109225,"line_start":152,"line_end":152,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 28 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335544506},"span":{"file_name":"src/pointer/string.rs","byte_start":109299,"byte_end":109309,"line_start":154,"line_end":154,"column_start":17,"column_end":27},"name":"properties","qualname":"properties$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 40 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504058},"span":{"file_name":"src/pointer/string.rs","byte_start":109399,"byte_end":109402,"line_start":157,"line_end":157,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 58 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2516582586},"span":{"file_name":"src/pointer/string.rs","byte_start":109626,"byte_end":109629,"line_start":165,"line_end":165,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 105 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660944570},"span":{"file_name":"src/pointer/string.rs","byte_start":110171,"byte_end":110180,"line_start":183,"line_end":183,"column_start":21,"column_end":30},"name":"final_str","qualname":"final_str$HirId { owner: DefId(0:186 ~ no_proto[7dec]::pointer::string::{impl#1}::schema_to_idl), local_id: 198 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742011},"span":{"file_name":"src/pointer/string.rs","byte_start":110391,"byte_end":110397,"line_start":191,"line_end":191,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871099},"span":{"file_name":"src/pointer/string.rs","byte_start":110422,"byte_end":110427,"line_start":191,"line_end":191,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612923},"span":{"file_name":"src/pointer/string.rs","byte_start":110435,"byte_end":110438,"line_start":191,"line_end":191,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435643},"span":{"file_name":"src/pointer/string.rs","byte_start":110452,"byte_end":110456,"line_start":191,"line_end":191,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":187},"span":{"file_name":"src/pointer/string.rs","byte_start":110368,"byte_end":110386,"line_start":191,"line_end":191,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088827},"span":{"file_name":"src/pointer/string.rs","byte_start":110550,"byte_end":110561,"line_start":192,"line_end":192,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751463611},"span":{"file_name":"src/pointer/string.rs","byte_start":110659,"byte_end":110668,"line_start":195,"line_end":195,"column_start":17,"column_end":26},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 37 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483028155},"span":{"file_name":"src/pointer/string.rs","byte_start":110706,"byte_end":110709,"line_start":196,"line_end":196,"column_start":17,"column_end":20},"name":"set","qualname":"set$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 41 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019899067},"span":{"file_name":"src/pointer/string.rs","byte_start":110732,"byte_end":110746,"line_start":198,"line_end":198,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 45 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810427},"span":{"file_name":"src/pointer/string.rs","byte_start":110772,"byte_end":110776,"line_start":199,"line_end":199,"column_start":17,"column_end":21},"name":"size","qualname":"size$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 49 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690987707},"span":{"file_name":"src/pointer/string.rs","byte_start":110802,"byte_end":110809,"line_start":201,"line_end":201,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 59 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215547},"span":{"file_name":"src/pointer/string.rs","byte_start":110934,"byte_end":110944,"line_start":206,"line_end":206,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 75 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514171},"span":{"file_name":"src/pointer/string.rs","byte_start":110977,"byte_end":110980,"line_start":207,"line_end":207,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 82 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388997819},"span":{"file_name":"src/pointer/string.rs","byte_start":110982,"byte_end":110987,"line_start":207,"line_end":207,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 83 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2969567419},"span":{"file_name":"src/pointer/string.rs","byte_start":111581,"byte_end":111585,"line_start":219,"line_end":219,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 141 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103785147},"span":{"file_name":"src/pointer/string.rs","byte_start":111728,"byte_end":111729,"line_start":221,"line_end":221,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 157 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962934459},"span":{"file_name":"src/pointer/string.rs","byte_start":111960,"byte_end":111962,"line_start":225,"line_end":225,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 174 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076863675},"span":{"file_name":"src/pointer/string.rs","byte_start":112367,"byte_end":112371,"line_start":233,"line_end":233,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 207 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":713031867},"span":{"file_name":"src/pointer/string.rs","byte_start":113179,"byte_end":113188,"line_start":261,"line_end":261,"column_start":17,"column_end":26},"name":"str_bytes","qualname":"str_bytes$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 340 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783262395},"span":{"file_name":"src/pointer/string.rs","byte_start":113457,"byte_end":113462,"line_start":268,"line_end":268,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 391 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1904214203},"span":{"file_name":"src/pointer/string.rs","byte_start":113499,"byte_end":113501,"line_start":270,"line_end":270,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:187 ~ no_proto[7dec]::pointer::string::{impl#1}::from_idl_to_schema), local_id: 398 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742012},"span":{"file_name":"src/pointer/string.rs","byte_start":114062,"byte_end":114068,"line_start":288,"line_end":288,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871100},"span":{"file_name":"src/pointer/string.rs","byte_start":114077,"byte_end":114088,"line_start":288,"line_end":288,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612924},"span":{"file_name":"src/pointer/string.rs","byte_start":114096,"byte_end":114102,"line_start":288,"line_end":288,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435644},"span":{"file_name":"src/pointer/string.rs","byte_start":114115,"byte_end":114121,"line_start":288,"line_end":288,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177468},"span":{"file_name":"src/pointer/string.rs","byte_start":114140,"byte_end":114145,"line_start":288,"line_end":288,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":188},"span":{"file_name":"src/pointer/string.rs","byte_start":114042,"byte_end":114055,"line_start":288,"line_end":288,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959740},"span":{"file_name":"src/pointer/string.rs","byte_start":114266,"byte_end":114271,"line_start":290,"line_end":290,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:188 ~ no_proto[7dec]::pointer::string::{impl#1}::set_from_json), local_id: 18 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742014},"span":{"file_name":"src/pointer/string.rs","byte_start":114443,"byte_end":114449,"line_start":299,"line_end":299,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871102},"span":{"file_name":"src/pointer/string.rs","byte_start":114474,"byte_end":114481,"line_start":299,"line_end":299,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612926},"span":{"file_name":"src/pointer/string.rs","byte_start":114490,"byte_end":114495,"line_start":299,"line_end":299,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":190},"span":{"file_name":"src/pointer/string.rs","byte_start":114418,"byte_end":114438,"line_start":299,"line_end":299,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818572478},"span":{"file_name":"src/pointer/string.rs","byte_start":114573,"byte_end":114582,"line_start":302,"line_end":302,"column_start":13,"column_end":22},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 21 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504062},"span":{"file_name":"src/pointer/string.rs","byte_start":114659,"byte_end":114669,"line_start":305,"line_end":305,"column_start":13,"column_end":23},"name":"fixed_size","qualname":"fixed_size$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 58 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704643262},"span":{"file_name":"src/pointer/string.rs","byte_start":114816,"byte_end":114828,"line_start":308,"line_end":308,"column_start":13,"column_end":25},"name":"default_size","qualname":"default_size$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 84 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100663486},"span":{"file_name":"src/pointer/string.rs","byte_start":114919,"byte_end":114924,"line_start":310,"line_end":310,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 96 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858759870},"span":{"file_name":"src/pointer/string.rs","byte_start":114961,"byte_end":114963,"line_start":312,"line_end":312,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 103 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996488894},"span":{"file_name":"src/pointer/string.rs","byte_start":115564,"byte_end":115577,"line_start":328,"line_end":328,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:190 ~ no_proto[7dec]::pointer::string::{impl#1}::from_bytes_to_schema), local_id: 238 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742015},"span":{"file_name":"src/pointer/string.rs","byte_start":116255,"byte_end":116261,"line_start":345,"line_end":345,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871103},"span":{"file_name":"src/pointer/string.rs","byte_start":116274,"byte_end":116280,"line_start":345,"line_end":345,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612927},"span":{"file_name":"src/pointer/string.rs","byte_start":116299,"byte_end":116304,"line_start":345,"line_end":345,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":191},"span":{"file_name":"src/pointer/string.rs","byte_start":116239,"byte_end":116248,"line_start":345,"line_end":345,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742017},"span":{"file_name":"src/pointer/string.rs","byte_start":116448,"byte_end":116454,"line_start":349,"line_end":349,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871105},"span":{"file_name":"src/pointer/string.rs","byte_start":116468,"byte_end":116474,"line_start":349,"line_end":349,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":193},"span":{"file_name":"src/pointer/string.rs","byte_start":116437,"byte_end":116447,"line_start":349,"line_end":349,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109057},"span":{"file_name":"src/pointer/string.rs","byte_start":116621,"byte_end":116622,"line_start":351,"line_end":351,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:193 ~ no_proto[7dec]::pointer::string::{impl#1}::into_value), local_id: 32 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742018},"span":{"file_name":"src/pointer/string.rs","byte_start":116717,"byte_end":116723,"line_start":357,"line_end":357,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871106},"span":{"file_name":"src/pointer/string.rs","byte_start":116731,"byte_end":116737,"line_start":357,"line_end":357,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612930},"span":{"file_name":"src/pointer/string.rs","byte_start":116751,"byte_end":116757,"line_start":357,"line_end":357,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":194},"span":{"file_name":"src/pointer/string.rs","byte_start":116708,"byte_end":116716,"line_start":357,"line_end":357,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959746},"span":{"file_name":"src/pointer/string.rs","byte_start":116813,"byte_end":116820,"line_start":359,"line_end":359,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:194 ~ no_proto[7dec]::pointer::string::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/string.rs:359:23: 359:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087007938},"span":{"file_name":"src/pointer/string.rs","byte_start":116868,"byte_end":116878,"line_start":360,"line_end":360,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:194 ~ no_proto[7dec]::pointer::string::{impl#1}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33554626},"span":{"file_name":"src/pointer/string.rs","byte_start":117020,"byte_end":117024,"line_start":367,"line_end":367,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:194 ~ no_proto[7dec]::pointer::string::{impl#1}::get_size), local_id: 64 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":234881218},"span":{"file_name":"src/pointer/string.rs","byte_start":117252,"byte_end":117262,"line_start":375,"line_end":375,"column_start":13,"column_end":23},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:194 ~ no_proto[7dec]::pointer::string::{impl#1}::get_size), local_id: 112 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742021},"span":{"file_name":"src/pointer/string.rs","byte_start":117506,"byte_end":117512,"line_start":383,"line_end":383,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871109},"span":{"file_name":"src/pointer/string.rs","byte_start":117537,"byte_end":117548,"line_start":383,"line_end":383,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":197},"span":{"file_name":"src/pointer/string.rs","byte_start":117482,"byte_end":117501,"line_start":383,"line_end":383,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217925},"span":{"file_name":"src/pointer/string.rs","byte_start":117644,"byte_end":117655,"line_start":385,"line_end":385,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592709},"span":{"file_name":"src/pointer/string.rs","byte_start":117753,"byte_end":117762,"line_start":388,"line_end":388,"column_start":17,"column_end":26},"name":"case_byte","qualname":"case_byte$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 33 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751463621},"span":{"file_name":"src/pointer/string.rs","byte_start":117800,"byte_end":117803,"line_start":389,"line_end":389,"column_start":17,"column_end":20},"name":"set","qualname":"set$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 37 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261413061},"span":{"file_name":"src/pointer/string.rs","byte_start":118297,"byte_end":118311,"line_start":407,"line_end":407,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 127 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1954545861},"span":{"file_name":"src/pointer/string.rs","byte_start":118334,"byte_end":118338,"line_start":409,"line_end":409,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 302 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774873797},"span":{"file_name":"src/pointer/string.rs","byte_start":118398,"byte_end":118399,"line_start":410,"line_end":410,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 135 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405775045},"span":{"file_name":"src/pointer/string.rs","byte_start":118975,"byte_end":118976,"line_start":425,"line_end":425,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 211 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2843738309},"span":{"file_name":"src/pointer/string.rs","byte_start":119671,"byte_end":119678,"line_start":447,"line_end":447,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 405 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3967811781},"span":{"file_name":"src/pointer/string.rs","byte_start":119741,"byte_end":119746,"line_start":448,"line_end":448,"column_start":29,"column_end":34},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 311 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685061},"span":{"file_name":"src/pointer/string.rs","byte_start":119773,"byte_end":119782,"line_start":449,"line_end":449,"column_start":21,"column_end":30},"name":"str_bytes","qualname":"str_bytes$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 322 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2239758533},"span":{"file_name":"src/pointer/string.rs","byte_start":120383,"byte_end":120388,"line_start":465,"line_end":465,"column_start":17,"column_end":22},"name":"empty","qualname":"empty$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 417 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":360710341},"span":{"file_name":"src/pointer/string.rs","byte_start":120425,"byte_end":120427,"line_start":467,"line_end":467,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:197 ~ no_proto[7dec]::pointer::string::{impl#1}::from_json_to_schema), local_id: 424 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742022},"span":{"file_name":"src/pointer/string.rs","byte_start":120970,"byte_end":120976,"line_start":485,"line_end":485,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871110},"span":{"file_name":"src/pointer/string.rs","byte_start":120984,"byte_end":120990,"line_start":485,"line_end":485,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612934},"span":{"file_name":"src/pointer/string.rs","byte_start":121004,"byte_end":121010,"line_start":485,"line_end":485,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":198},"span":{"file_name":"src/pointer/string.rs","byte_start":120962,"byte_end":120969,"line_start":485,"line_end":485,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701574},"span":{"file_name":"src/pointer/string.rs","byte_start":121109,"byte_end":121110,"line_start":488,"line_end":488,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:198 ~ no_proto[7dec]::pointer::string::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314310},"span":{"file_name":"src/pointer/string.rs","byte_start":121146,"byte_end":121147,"line_start":489,"line_end":489,"column_start":22,"column_end":23},"name":"y","qualname":"y$HirId { owner: DefId(0:198 ~ no_proto[7dec]::pointer::string::{impl#1}::to_json), local_id: 23 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959423174},"span":{"file_name":"src/pointer/string.rs","byte_start":121234,"byte_end":121238,"line_start":491,"line_end":491,"column_start":25,"column_end":29},"name":"data","qualname":"data$HirId { owner: DefId(0:198 ~ no_proto[7dec]::pointer::string::{impl#1}::to_json), local_id: 55 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154116806},"span":{"file_name":"src/pointer/string.rs","byte_start":121418,"byte_end":121419,"line_start":494,"line_end":494,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:198 ~ no_proto[7dec]::pointer::string::{impl#1}::to_json), local_id: 61 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514182},"span":{"file_name":"src/pointer/string.rs","byte_start":121598,"byte_end":121600,"line_start":500,"line_end":500,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:198 ~ no_proto[7dec]::pointer::string::{impl#1}::to_json), local_id: 82 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742023},"span":{"file_name":"src/pointer/string.rs","byte_start":121662,"byte_end":121668,"line_start":504,"line_end":504,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871111},"span":{"file_name":"src/pointer/string.rs","byte_start":121677,"byte_end":121688,"line_start":504,"line_end":504,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612935},"span":{"file_name":"src/pointer/string.rs","byte_start":121696,"byte_end":121702,"line_start":504,"line_end":504,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":199},"span":{"file_name":"src/pointer/string.rs","byte_start":121648,"byte_end":121661,"line_start":504,"line_end":504,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355443399},"span":{"file_name":"src/pointer/string.rs","byte_start":121828,"byte_end":121829,"line_start":506,"line_end":506,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:199 ~ no_proto[7dec]::pointer::string::{impl#1}::default_value), local_id: 19 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742026},"span":{"file_name":"src/pointer/string.rs","byte_start":121980,"byte_end":121987,"line_start":515,"line_end":515,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":202},"span":{"file_name":"src/pointer/string.rs","byte_start":121965,"byte_end":121979,"line_start":515,"line_end":515,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742027},"span":{"file_name":"src/pointer/string.rs","byte_start":122083,"byte_end":122090,"line_start":518,"line_end":518,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871115},"span":{"file_name":"src/pointer/string.rs","byte_start":122104,"byte_end":122111,"line_start":518,"line_end":518,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":203},"span":{"file_name":"src/pointer/string.rs","byte_start":122070,"byte_end":122082,"line_start":518,"line_end":518,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742028},"span":{"file_name":"src/pointer/string.rs","byte_start":122183,"byte_end":122190,"line_start":522,"line_end":522,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871116},"span":{"file_name":"src/pointer/string.rs","byte_start":122204,"byte_end":122211,"line_start":522,"line_end":522,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":204},"span":{"file_name":"src/pointer/string.rs","byte_start":122170,"byte_end":122182,"line_start":522,"line_end":522,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":207},"span":{"file_name":"src/pointer/string.rs","byte_start":122327,"byte_end":122335,"line_start":529,"line_end":529,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742032},"span":{"file_name":"src/pointer/string.rs","byte_start":122413,"byte_end":122417,"line_start":530,"line_end":530,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":208},"span":{"file_name":"src/pointer/string.rs","byte_start":122398,"byte_end":122411,"line_start":530,"line_end":530,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742033},"span":{"file_name":"src/pointer/string.rs","byte_start":122510,"byte_end":122517,"line_start":532,"line_end":532,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871121},"span":{"file_name":"src/pointer/string.rs","byte_start":122543,"byte_end":122551,"line_start":532,"line_end":532,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":209},"span":{"file_name":"src/pointer/string.rs","byte_start":122495,"byte_end":122509,"line_start":532,"line_end":532,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742034},"span":{"file_name":"src/pointer/string.rs","byte_start":122674,"byte_end":122680,"line_start":536,"line_end":536,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871122},"span":{"file_name":"src/pointer/string.rs","byte_start":122689,"byte_end":122700,"line_start":536,"line_end":536,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612946},"span":{"file_name":"src/pointer/string.rs","byte_start":122708,"byte_end":122715,"line_start":536,"line_end":536,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435666},"span":{"file_name":"src/pointer/string.rs","byte_start":122728,"byte_end":122735,"line_start":536,"line_end":536,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177490},"span":{"file_name":"src/pointer/string.rs","byte_start":122754,"byte_end":122760,"line_start":536,"line_end":536,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":210},"span":{"file_name":"src/pointer/string.rs","byte_start":122654,"byte_end":122667,"line_start":536,"line_end":536,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742036},"span":{"file_name":"src/pointer/string.rs","byte_start":122874,"byte_end":122880,"line_start":541,"line_end":541,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871124},"span":{"file_name":"src/pointer/string.rs","byte_start":122893,"byte_end":122899,"line_start":541,"line_end":541,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612948},"span":{"file_name":"src/pointer/string.rs","byte_start":122918,"byte_end":122923,"line_start":541,"line_end":541,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":212},"span":{"file_name":"src/pointer/string.rs","byte_start":122858,"byte_end":122867,"line_start":541,"line_end":541,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959764},"span":{"file_name":"src/pointer/string.rs","byte_start":123002,"byte_end":123009,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/string.rs:543:23: 543:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677721812},"span":{"file_name":"src/pointer/string.rs","byte_start":123058,"byte_end":123062,"line_start":545,"line_end":545,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 38 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201326804},"span":{"file_name":"src/pointer/string.rs","byte_start":123164,"byte_end":123168,"line_start":547,"line_end":547,"column_start":14,"column_end":18},"name":"size","qualname":"size$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 48 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810452},"span":{"file_name":"src/pointer/string.rs","byte_start":123170,"byte_end":123174,"line_start":547,"line_end":547,"column_start":20,"column_end":24},"name":"case","qualname":"case$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 49 }","value":"schema::String_Case","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617245908},"span":{"file_name":"src/pointer/string.rs","byte_start":123219,"byte_end":123224,"line_start":549,"line_end":549,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 57 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080374996},"span":{"file_name":"src/pointer/string.rs","byte_start":123262,"byte_end":123267,"line_start":551,"line_end":551,"column_start":17,"column_end":22},"name":"owned","qualname":"owned$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 62 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822083796},"span":{"file_name":"src/pointer/string.rs","byte_start":123721,"byte_end":123729,"line_start":566,"line_end":566,"column_start":13,"column_end":21},"name":"str_size","qualname":"str_size$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 140 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976200404},"span":{"file_name":"src/pointer/string.rs","byte_start":123919,"byte_end":123927,"line_start":573,"line_end":573,"column_start":21,"column_end":29},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 183 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":721420500},"span":{"file_name":"src/pointer/string.rs","byte_start":124084,"byte_end":124088,"line_start":577,"line_end":577,"column_start":17,"column_end":21},"name":"addr","qualname":"addr$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 212 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3674210516},"span":{"file_name":"src/pointer/string.rs","byte_start":124144,"byte_end":124155,"line_start":578,"line_end":578,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 219 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2801795284},"span":{"file_name":"src/pointer/string.rs","byte_start":124201,"byte_end":124202,"line_start":580,"line_end":580,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 229 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2625634516},"span":{"file_name":"src/pointer/string.rs","byte_start":124604,"byte_end":124614,"line_start":594,"line_end":594,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 313 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1988100308},"span":{"file_name":"src/pointer/string.rs","byte_start":124671,"byte_end":124680,"line_start":596,"line_end":596,"column_start":13,"column_end":22},"name":"prev_size","qualname":"prev_size$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 366 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":444596436},"span":{"file_name":"src/pointer/string.rs","byte_start":124727,"byte_end":124737,"line_start":597,"line_end":597,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 344 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3649044692},"span":{"file_name":"src/pointer/string.rs","byte_start":125227,"byte_end":125237,"line_start":610,"line_end":610,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 411 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1166016724},"span":{"file_name":"src/pointer/string.rs","byte_start":125290,"byte_end":125301,"line_start":612,"line_end":612,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 418 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3581935828},"span":{"file_name":"src/pointer/string.rs","byte_start":125374,"byte_end":125375,"line_start":615,"line_end":615,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 427 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2877292756},"span":{"file_name":"src/pointer/string.rs","byte_start":125495,"byte_end":125501,"line_start":619,"line_end":619,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 469 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2071986388},"span":{"file_name":"src/pointer/string.rs","byte_start":125553,"byte_end":125554,"line_start":622,"line_end":622,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 478 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3393192148},"span":{"file_name":"src/pointer/string.rs","byte_start":125851,"byte_end":125859,"line_start":631,"line_end":631,"column_start":17,"column_end":25},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 595 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":473956564},"span":{"file_name":"src/pointer/string.rs","byte_start":126026,"byte_end":126036,"line_start":635,"line_end":635,"column_start":21,"column_end":31},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:212 ~ no_proto[7dec]::pointer::string::{impl#3}::set_value), local_id: 568 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742041},"span":{"file_name":"src/pointer/string.rs","byte_start":126338,"byte_end":126344,"line_start":647,"line_end":647,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871129},"span":{"file_name":"src/pointer/string.rs","byte_start":126353,"byte_end":126364,"line_start":647,"line_end":647,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612953},"span":{"file_name":"src/pointer/string.rs","byte_start":126372,"byte_end":126378,"line_start":647,"line_end":647,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":217},"span":{"file_name":"src/pointer/string.rs","byte_start":126324,"byte_end":126337,"line_start":647,"line_end":647,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &'value Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653401},"span":{"file_name":"src/pointer/string.rs","byte_start":126441,"byte_end":126445,"line_start":648,"line_end":648,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:217 ~ no_proto[7dec]::pointer::string::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266137},"span":{"file_name":"src/pointer/string.rs","byte_start":126563,"byte_end":126564,"line_start":651,"line_end":651,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:217 ~ no_proto[7dec]::pointer::string::{impl#3}::default_value), local_id: 30 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742042},"span":{"file_name":"src/pointer/string.rs","byte_start":126671,"byte_end":126678,"line_start":657,"line_end":657,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871130},"span":{"file_name":"src/pointer/string.rs","byte_start":126704,"byte_end":126712,"line_start":657,"line_end":657,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":218},"span":{"file_name":"src/pointer/string.rs","byte_start":126657,"byte_end":126670,"line_start":657,"line_end":657,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":" This is never called\n","sig":null,"attributes":[{"value":"/ This is never called","span":{"file_name":"src/pointer/string.rs","byte_start":126625,"byte_end":126649,"line_start":656,"line_end":656,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073742043},"span":{"file_name":"src/pointer/string.rs","byte_start":126849,"byte_end":126855,"line_start":662,"line_end":662,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871131},"span":{"file_name":"src/pointer/string.rs","byte_start":126880,"byte_end":126885,"line_start":662,"line_end":662,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612955},"span":{"file_name":"src/pointer/string.rs","byte_start":126893,"byte_end":126897,"line_start":662,"line_end":662,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435675},"span":{"file_name":"src/pointer/string.rs","byte_start":126911,"byte_end":126916,"line_start":662,"line_end":662,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":219},"span":{"file_name":"src/pointer/string.rs","byte_start":126830,"byte_end":126848,"line_start":662,"line_end":662,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":" This is never called\n","sig":null,"attributes":[{"value":"/ This is never called","span":{"file_name":"src/pointer/string.rs","byte_start":126798,"byte_end":126822,"line_start":661,"line_end":661,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073742044},"span":{"file_name":"src/pointer/string.rs","byte_start":127087,"byte_end":127093,"line_start":666,"line_end":666,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871132},"span":{"file_name":"src/pointer/string.rs","byte_start":127107,"byte_end":127113,"line_start":666,"line_end":666,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":220},"span":{"file_name":"src/pointer/string.rs","byte_start":127076,"byte_end":127086,"line_start":666,"line_end":666,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134217948},"span":{"file_name":"src/pointer/string.rs","byte_start":127201,"byte_end":127208,"line_start":668,"line_end":668,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/string.rs:668:23: 668:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623878876},"span":{"file_name":"src/pointer/string.rs","byte_start":127257,"byte_end":127267,"line_start":670,"line_end":670,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858652},"span":{"file_name":"src/pointer/string.rs","byte_start":127411,"byte_end":127415,"line_start":676,"line_end":676,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973078748},"span":{"file_name":"src/pointer/string.rs","byte_start":127599,"byte_end":127604,"line_start":682,"line_end":682,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432696540},"span":{"file_name":"src/pointer/string.rs","byte_start":127849,"byte_end":127859,"line_start":689,"line_end":689,"column_start":17,"column_end":27},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 137 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886300},"span":{"file_name":"src/pointer/string.rs","byte_start":127994,"byte_end":127999,"line_start":692,"line_end":692,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:220 ~ no_proto[7dec]::pointer::string::{impl#3}::into_value), local_id: 160 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742047},"span":{"file_name":"src/pointer/string.rs","byte_start":128189,"byte_end":128194,"line_start":700,"line_end":700,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871135},"span":{"file_name":"src/pointer/string.rs","byte_start":128202,"byte_end":128208,"line_start":700,"line_end":700,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612959},"span":{"file_name":"src/pointer/string.rs","byte_start":128222,"byte_end":128228,"line_start":700,"line_end":700,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":223},"span":{"file_name":"src/pointer/string.rs","byte_start":128181,"byte_end":128188,"line_start":700,"line_end":700,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742048},"span":{"file_name":"src/pointer/string.rs","byte_start":128332,"byte_end":128337,"line_start":704,"line_end":704,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871136},"span":{"file_name":"src/pointer/string.rs","byte_start":128345,"byte_end":128351,"line_start":704,"line_end":704,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612960},"span":{"file_name":"src/pointer/string.rs","byte_start":128365,"byte_end":128371,"line_start":704,"line_end":704,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":224},"span":{"file_name":"src/pointer/string.rs","byte_start":128323,"byte_end":128331,"line_start":704,"line_end":704,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742049},"span":{"file_name":"src/pointer/string.rs","byte_start":128496,"byte_end":128502,"line_start":708,"line_end":708,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871137},"span":{"file_name":"src/pointer/string.rs","byte_start":128527,"byte_end":128539,"line_start":708,"line_end":708,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":225},"span":{"file_name":"src/pointer/string.rs","byte_start":128476,"byte_end":128495,"line_start":708,"line_end":708,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742050},"span":{"file_name":"src/pointer/string.rs","byte_start":128712,"byte_end":128718,"line_start":713,"line_end":713,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871138},"span":{"file_name":"src/pointer/string.rs","byte_start":128743,"byte_end":128751,"line_start":713,"line_end":713,"column_start":60,"column_end":68},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610612962},"span":{"file_name":"src/pointer/string.rs","byte_start":128760,"byte_end":128766,"line_start":713,"line_end":713,"column_start":77,"column_end":83},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":226},"span":{"file_name":"src/pointer/string.rs","byte_start":128691,"byte_end":128711,"line_start":713,"line_end":713,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2872},"span":{"file_name":"src/pointer/string.rs","byte_start":128894,"byte_end":128918,"line_start":720,"line_end":720,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::string::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873784},"span":{"file_name":"src/pointer/string.rs","byte_start":128955,"byte_end":128961,"line_start":721,"line_end":721,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752440},"span":{"file_name":"src/pointer/string.rs","byte_start":129005,"byte_end":129012,"line_start":722,"line_end":722,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3724544824},"span":{"file_name":"src/pointer/string.rs","byte_start":129114,"byte_end":129122,"line_start":724,"line_end":724,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 123 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2097154872},"span":{"file_name":"src/pointer/string.rs","byte_start":129255,"byte_end":129261,"line_start":727,"line_end":727,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 190 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600471352},"span":{"file_name":"src/pointer/string.rs","byte_start":129297,"byte_end":129304,"line_start":728,"line_end":728,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 217 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894072632},"span":{"file_name":"src/pointer/string.rs","byte_start":129406,"byte_end":129414,"line_start":730,"line_end":730,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 309 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":511707960},"span":{"file_name":"src/pointer/string.rs","byte_start":129547,"byte_end":129553,"line_start":733,"line_end":733,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 376 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3380611896},"span":{"file_name":"src/pointer/string.rs","byte_start":129596,"byte_end":129603,"line_start":734,"line_end":734,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 403 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4152363832},"span":{"file_name":"src/pointer/string.rs","byte_start":129705,"byte_end":129713,"line_start":736,"line_end":736,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 495 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1279265592},"span":{"file_name":"src/pointer/string.rs","byte_start":129846,"byte_end":129852,"line_start":739,"line_end":739,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 562 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2990541624},"span":{"file_name":"src/pointer/string.rs","byte_start":129895,"byte_end":129902,"line_start":740,"line_end":740,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 589 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2504002360},"span":{"file_name":"src/pointer/string.rs","byte_start":130004,"byte_end":130012,"line_start":742,"line_end":742,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 681 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":926944056},"span":{"file_name":"src/pointer/string.rs","byte_start":130145,"byte_end":130151,"line_start":745,"line_end":745,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 748 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3770682168},"span":{"file_name":"src/pointer/string.rs","byte_start":130177,"byte_end":130184,"line_start":746,"line_end":746,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 775 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3334474552},"span":{"file_name":"src/pointer/string.rs","byte_start":130286,"byte_end":130294,"line_start":748,"line_end":748,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2872 ~ no_proto[7dec]::pointer::string::schema_parsing_works_idl#1), local_id: 867 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2876},"span":{"file_name":"src/pointer/string.rs","byte_start":130444,"byte_end":130464,"line_start":755,"line_end":755,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::string::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873788},"span":{"file_name":"src/pointer/string.rs","byte_start":130501,"byte_end":130507,"line_start":756,"line_end":756,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752444},"span":{"file_name":"src/pointer/string.rs","byte_start":130565,"byte_end":130572,"line_start":757,"line_end":757,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441020},"span":{"file_name":"src/pointer/string.rs","byte_start":130684,"byte_end":130692,"line_start":759,"line_end":759,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600444},"span":{"file_name":"src/pointer/string.rs","byte_start":130830,"byte_end":130836,"line_start":762,"line_end":762,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580220},"span":{"file_name":"src/pointer/string.rs","byte_start":130884,"byte_end":130891,"line_start":763,"line_end":763,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409340},"span":{"file_name":"src/pointer/string.rs","byte_start":131003,"byte_end":131011,"line_start":765,"line_end":765,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":494930748},"span":{"file_name":"src/pointer/string.rs","byte_start":131149,"byte_end":131155,"line_start":768,"line_end":768,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 440 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3414166332},"span":{"file_name":"src/pointer/string.rs","byte_start":131210,"byte_end":131217,"line_start":769,"line_end":769,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 467 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4232055612},"span":{"file_name":"src/pointer/string.rs","byte_start":131329,"byte_end":131337,"line_start":771,"line_end":771,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 575 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1228933948},"span":{"file_name":"src/pointer/string.rs","byte_start":131475,"byte_end":131481,"line_start":774,"line_end":774,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 658 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3040873276},"span":{"file_name":"src/pointer/string.rs","byte_start":131536,"byte_end":131543,"line_start":775,"line_end":775,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 685 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2562722620},"span":{"file_name":"src/pointer/string.rs","byte_start":131655,"byte_end":131663,"line_start":777,"line_end":777,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 793 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":918555452},"span":{"file_name":"src/pointer/string.rs","byte_start":131801,"byte_end":131807,"line_start":780,"line_end":780,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 876 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3787459388},"span":{"file_name":"src/pointer/string.rs","byte_start":131843,"byte_end":131850,"line_start":781,"line_end":781,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 903 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3485469500},"span":{"file_name":"src/pointer/string.rs","byte_start":131962,"byte_end":131970,"line_start":783,"line_end":783,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2876 ~ no_proto[7dec]::pointer::string::schema_parsing_works#1), local_id: 1011 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2880},"span":{"file_name":"src/pointer/string.rs","byte_start":132125,"byte_end":132144,"line_start":790,"line_end":790,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::string::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873792},"span":{"file_name":"src/pointer/string.rs","byte_start":132181,"byte_end":132187,"line_start":791,"line_end":791,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2880 ~ no_proto[7dec]::pointer::string::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752448},"span":{"file_name":"src/pointer/string.rs","byte_start":132245,"byte_end":132252,"line_start":792,"line_end":792,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2880 ~ no_proto[7dec]::pointer::string::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547200},"span":{"file_name":"src/pointer/string.rs","byte_start":132301,"byte_end":132307,"line_start":793,"line_end":793,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2880 ~ no_proto[7dec]::pointer::string::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2884},"span":{"file_name":"src/pointer/string.rs","byte_start":132422,"byte_end":132438,"line_start":800,"line_end":800,"column_start":4,"column_end":20},"name":"fixed_size_works","qualname":"::pointer::string::fixed_size_works","value":"fn fixed_size_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873796},"span":{"file_name":"src/pointer/string.rs","byte_start":132475,"byte_end":132481,"line_start":801,"line_end":801,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2884 ~ no_proto[7dec]::pointer::string::fixed_size_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752452},"span":{"file_name":"src/pointer/string.rs","byte_start":132530,"byte_end":132537,"line_start":802,"line_end":802,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2884 ~ no_proto[7dec]::pointer::string::fixed_size_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547204},"span":{"file_name":"src/pointer/string.rs","byte_start":132590,"byte_end":132596,"line_start":803,"line_end":803,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2884 ~ no_proto[7dec]::pointer::string::fixed_size_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2888},"span":{"file_name":"src/pointer/string.rs","byte_start":132796,"byte_end":132832,"line_start":811,"line_end":811,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::string::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873800},"span":{"file_name":"src/pointer/string.rs","byte_start":132869,"byte_end":132875,"line_start":812,"line_end":812,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2888 ~ no_proto[7dec]::pointer::string::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752456},"span":{"file_name":"src/pointer/string.rs","byte_start":132911,"byte_end":132918,"line_start":813,"line_end":813,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2888 ~ no_proto[7dec]::pointer::string::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547208},"span":{"file_name":"src/pointer/string.rs","byte_start":132971,"byte_end":132977,"line_start":814,"line_end":814,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2888 ~ no_proto[7dec]::pointer::string::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2892},"span":{"file_name":"src/pointer/string.rs","byte_start":133361,"byte_end":133386,"line_start":831,"line_end":831,"column_start":4,"column_end":29},"name":"uppercase_lowercase_works","qualname":"::pointer::string::uppercase_lowercase_works","value":"fn uppercase_lowercase_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873804},"span":{"file_name":"src/pointer/string.rs","byte_start":133423,"byte_end":133429,"line_start":832,"line_end":832,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752460},"span":{"file_name":"src/pointer/string.rs","byte_start":133485,"byte_end":133492,"line_start":833,"line_end":833,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547212},"span":{"file_name":"src/pointer/string.rs","byte_start":133545,"byte_end":133551,"line_start":834,"line_end":834,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3909094220},"span":{"file_name":"src/pointer/string.rs","byte_start":133679,"byte_end":133685,"line_start":838,"line_end":838,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 151 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1291848524},"span":{"file_name":"src/pointer/string.rs","byte_start":133741,"byte_end":133748,"line_start":839,"line_end":839,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 178 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3707767628},"span":{"file_name":"src/pointer/string.rs","byte_start":133801,"byte_end":133807,"line_start":840,"line_end":840,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2892 ~ no_proto[7dec]::pointer::string::uppercase_lowercase_works#1), local_id: 187 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":227},"span":{"file_name":"src/pointer/bytes.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"bytes","qualname":"::pointer::bytes","value":"src/pointer/bytes.rs","parent":null,"children":[{"krate":0,"index":228},{"krate":0,"index":229},{"krate":0,"index":232},{"krate":0,"index":235},{"krate":0,"index":236},{"krate":0,"index":237},{"krate":0,"index":240},{"krate":0,"index":243},{"krate":0,"index":246},{"krate":0,"index":247},{"krate":0,"index":250},{"krate":0,"index":253},{"krate":0,"index":256},{"krate":0,"index":259},{"krate":0,"index":260},{"krate":0,"index":261},{"krate":0,"index":264},{"krate":0,"index":267},{"krate":0,"index":270},{"krate":0,"index":273},{"krate":0,"index":276},{"krate":0,"index":277},{"krate":0,"index":280},{"krate":0,"index":281},{"krate":0,"index":284},{"krate":0,"index":287},{"krate":0,"index":290},{"krate":0,"index":291},{"krate":0,"index":293},{"krate":0,"index":298},{"krate":0,"index":323},{"krate":0,"index":328},{"krate":0,"index":2893},{"krate":0,"index":2894},{"krate":0,"index":2896},{"krate":0,"index":2897},{"krate":0,"index":2898},{"krate":0,"index":2900},{"krate":0,"index":2901},{"krate":0,"index":2902},{"krate":0,"index":2904},{"krate":0,"index":2905},{"krate":0,"index":2906},{"krate":0,"index":2908},{"krate":0,"index":2909},{"krate":0,"index":2910},{"krate":0,"index":2912}],"decl_id":null,"docs":" Represents arbitrary bytes type\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::bytes::NP_Bytes;\n \n let factory: NP_Factory = NP_Factory::new(\"bytes()\")?;","sig":null,"attributes":[{"value":"/ Represents arbitrary bytes type","span":{"file_name":"src/pointer/bytes.rs","byte_start":133942,"byte_end":133977,"line_start":1,"line_end":1,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":133978,"byte_end":133982,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/bytes.rs","byte_start":133983,"byte_end":133990,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/bytes.rs","byte_start":133991,"byte_end":134025,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134026,"byte_end":134055,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::bytes::NP_Bytes;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134056,"byte_end":134099,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134100,"byte_end":134104,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"bytes()\")?;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134105,"byte_end":134163,"line_start":8,"line_end":8,"column_start":1,"column_end":59}},{"value":"/","span":{"file_name":"src/pointer/bytes.rs","byte_start":134164,"byte_end":134167,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/bytes.rs","byte_start":134168,"byte_end":134218,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], &[0u8, 1, 2, 3, 4] as &[u8])?;","span":{"file_name":"src/pointer/bytes.rs","byte_start":134219,"byte_end":134273,"line_start":11,"line_end":11,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134274,"byte_end":134278,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(&[0u8, 1, 2, 3, 4] as &[u8], new_buffer.get::<&[u8]>(&[])?.unwrap());","span":{"file_name":"src/pointer/bytes.rs","byte_start":134279,"byte_end":134363,"line_start":13,"line_end":13,"column_start":1,"column_end":85}},{"value":"/","span":{"file_name":"src/pointer/bytes.rs","byte_start":134364,"byte_end":134367,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134368,"byte_end":134397,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/bytes.rs","byte_start":134398,"byte_end":134405,"line_start":16,"line_end":16,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/bytes.rs","byte_start":134406,"byte_end":134410,"line_start":17,"line_end":17,"column_start":1,"column_end":5}}]},{"kind":"Type","id":{"krate":0,"index":290},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134872,"byte_end":134880,"line_start":33,"line_end":33,"column_start":10,"column_end":18},"name":"NP_Bytes","qualname":"::pointer::bytes::NP_Bytes","value":"Vec","parent":null,"children":[],"decl_id":null,"docs":" Arbitrary bytes\n Alias for Vec\n","sig":null,"attributes":[{"value":"/ Arbitrary bytes","span":{"file_name":"src/pointer/bytes.rs","byte_start":134821,"byte_end":134840,"line_start":31,"line_end":31,"column_start":1,"column_end":20}},{"value":"/ Alias for Vec","span":{"file_name":"src/pointer/bytes.rs","byte_start":134841,"byte_end":134862,"line_start":32,"line_end":32,"column_start":1,"column_end":22}}]},{"kind":"Type","id":{"krate":0,"index":291},"span":{"file_name":"src/pointer/bytes.rs","byte_start":134952,"byte_end":134967,"line_start":37,"line_end":37,"column_start":10,"column_end":25},"name":"NP_Borrow_Bytes","qualname":"::pointer::bytes::NP_Borrow_Bytes","value":"&'bytes [u8]","parent":null,"children":[],"decl_id":null,"docs":" Arbitrary bytes, borrowed\n Alias for &[u8]\n","sig":null,"attributes":[{"value":"/ Arbitrary bytes, borrowed","span":{"file_name":"src/pointer/bytes.rs","byte_start":134893,"byte_end":134922,"line_start":35,"line_end":35,"column_start":1,"column_end":30}},{"value":"/ Alias for &[u8]","span":{"file_name":"src/pointer/bytes.rs","byte_start":134923,"byte_end":134942,"line_start":36,"line_end":36,"column_start":1,"column_end":20}}]},{"kind":"Local","id":{"krate":0,"index":1073742119},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135069,"byte_end":135075,"line_start":41,"line_end":41,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":295},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135054,"byte_end":135068,"line_start":41,"line_end":41,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701671},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135144,"byte_end":135148,"line_start":42,"line_end":42,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:295 ~ no_proto[7dec]::pointer::bytes::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770087},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135257,"byte_end":135258,"line_start":45,"line_end":45,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:295 ~ no_proto[7dec]::pointer::bytes::{impl#0}::schema_default), local_id: 43 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422552359},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135326,"byte_end":135328,"line_start":46,"line_end":46,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:295 ~ no_proto[7dec]::pointer::bytes::{impl#0}::schema_default), local_id: 51 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742120},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135492,"byte_end":135498,"line_start":56,"line_end":56,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871208},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135512,"byte_end":135518,"line_start":56,"line_end":56,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":296},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135479,"byte_end":135491,"line_start":56,"line_end":56,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653480},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135562,"byte_end":135566,"line_start":57,"line_end":57,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:296 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266216},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135666,"byte_end":135670,"line_start":59,"line_end":59,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:296 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_max_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469762344},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135762,"byte_end":135767,"line_start":64,"line_end":64,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:296 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_max_value), local_id: 56 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858728},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135831,"byte_end":135833,"line_start":66,"line_end":66,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:296 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_max_value), local_id: 63 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742121},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135956,"byte_end":135962,"line_start":74,"line_end":74,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871209},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135976,"byte_end":135982,"line_start":74,"line_end":74,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":297},"span":{"file_name":"src/pointer/bytes.rs","byte_start":135943,"byte_end":135955,"line_start":74,"line_end":74,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653481},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136026,"byte_end":136030,"line_start":75,"line_end":75,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:297 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266217},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136130,"byte_end":136134,"line_start":77,"line_end":77,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:297 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_min_value), local_id: 30 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469762345},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136226,"byte_end":136231,"line_start":82,"line_end":82,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:297 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_min_value), local_id: 56 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858729},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136295,"byte_end":136297,"line_start":84,"line_end":84,"column_start":17,"column_end":19},"name":"_x","qualname":"_x$HirId { owner: DefId(0:297 ~ no_proto[7dec]::pointer::bytes::{impl#0}::np_min_value), local_id: 63 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":300},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136456,"byte_end":136464,"line_start":98,"line_end":98,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742125},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136553,"byte_end":136557,"line_start":99,"line_end":99,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":301},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136538,"byte_end":136551,"line_start":99,"line_end":99,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742126},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136646,"byte_end":136652,"line_start":101,"line_end":101,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871214},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136678,"byte_end":136685,"line_start":101,"line_end":101,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":302},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136631,"byte_end":136645,"line_start":101,"line_end":101,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306670},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136740,"byte_end":136751,"line_start":102,"line_end":102,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:302 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275068718},"span":{"file_name":"src/pointer/bytes.rs","byte_start":136877,"byte_end":136881,"line_start":105,"line_end":105,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:302 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503316782},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137169,"byte_end":137182,"line_start":113,"line_end":113,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:302 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_json), local_id: 120 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534510},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137213,"byte_end":137218,"line_start":113,"line_end":113,"column_start":61,"column_end":66},"name":"value","qualname":"$HirId { owner: DefId(0:302 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_json), local_id: 116 }::value","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742128},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137477,"byte_end":137483,"line_start":124,"line_end":124,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871216},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137492,"byte_end":137499,"line_start":124,"line_end":124,"column_start":37,"column_end":44},"name":"address","qualname":"::default_value::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613040},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137508,"byte_end":137514,"line_start":124,"line_end":124,"column_start":53,"column_end":59},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":304},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137463,"byte_end":137476,"line_start":124,"line_end":124,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653488},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137570,"byte_end":137574,"line_start":125,"line_end":125,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:304 ~ no_proto[7dec]::pointer::bytes::{impl#1}::default_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742129},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137793,"byte_end":137799,"line_start":136,"line_end":136,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871217},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137812,"byte_end":137818,"line_start":136,"line_end":136,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613041},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137837,"byte_end":137842,"line_start":136,"line_end":136,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":305},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137777,"byte_end":137786,"line_start":136,"line_end":136,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742131},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137996,"byte_end":138002,"line_start":141,"line_end":141,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871219},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138028,"byte_end":138035,"line_start":141,"line_end":141,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":307},"span":{"file_name":"src/pointer/bytes.rs","byte_start":137982,"byte_end":137995,"line_start":141,"line_end":141,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830771},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138085,"byte_end":138089,"line_start":142,"line_end":142,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140850995},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138171,"byte_end":138181,"line_start":144,"line_end":144,"column_start":17,"column_end":27},"name":"properties","qualname":"properties$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 34 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738197811},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138271,"byte_end":138274,"line_start":147,"line_end":147,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215667},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138374,"byte_end":138375,"line_start":149,"line_end":149,"column_start":40,"column_end":41},"name":"b","qualname":"$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 81 }::b","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503316787},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138561,"byte_end":138564,"line_start":155,"line_end":155,"column_start":21,"column_end":24},"name":"def","qualname":"def$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 120 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2499805491},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138805,"byte_end":138814,"line_start":163,"line_end":163,"column_start":21,"column_end":30},"name":"final_str","qualname":"final_str$HirId { owner: DefId(0:307 ~ no_proto[7dec]::pointer::bytes::{impl#1}::schema_to_idl), local_id: 169 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742133},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139015,"byte_end":139021,"line_start":171,"line_end":171,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871221},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139046,"byte_end":139051,"line_start":171,"line_end":171,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613045},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139059,"byte_end":139062,"line_start":171,"line_end":171,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435765},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139076,"byte_end":139080,"line_start":171,"line_end":171,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":309},"span":{"file_name":"src/pointer/bytes.rs","byte_start":138992,"byte_end":139010,"line_start":171,"line_end":171,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088949},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139174,"byte_end":139185,"line_start":172,"line_end":172,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288334645},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139278,"byte_end":139292,"line_start":175,"line_end":175,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205557},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139318,"byte_end":139322,"line_start":176,"line_end":176,"column_start":17,"column_end":21},"name":"size","qualname":"size$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 39 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422552373},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139348,"byte_end":139355,"line_start":178,"line_end":178,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 51 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780213},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139480,"byte_end":139490,"line_start":182,"line_end":182,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 67 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732021},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139523,"byte_end":139526,"line_start":183,"line_end":183,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 74 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523215669},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139528,"byte_end":139533,"line_start":183,"line_end":183,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 75 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321889077},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139753,"byte_end":139757,"line_start":187,"line_end":187,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 99 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456106805},"span":{"file_name":"src/pointer/bytes.rs","byte_start":139900,"byte_end":139901,"line_start":189,"line_end":189,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 115 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553648437},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140132,"byte_end":140134,"line_start":193,"line_end":193,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 132 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768240949},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140538,"byte_end":140544,"line_start":201,"line_end":201,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 165 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439329589},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140600,"byte_end":140612,"line_start":202,"line_end":202,"column_start":49,"column_end":61},"name":"default_vals","qualname":"default_vals$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 179 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1828716853},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140681,"byte_end":140684,"line_start":204,"line_end":204,"column_start":45,"column_end":48},"name":"val","qualname":"val$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 182 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124073781},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140818,"byte_end":140822,"line_start":206,"line_end":206,"column_start":66,"column_end":70},"name":"addr","qualname":"addr$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 194 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":184549685},"span":{"file_name":"src/pointer/bytes.rs","byte_start":140981,"byte_end":140982,"line_start":208,"line_end":208,"column_start":60,"column_end":61},"name":"x","qualname":"x$HirId { owner: DefId(0:309 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_idl_to_schema), local_id: 208 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742134},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142734,"byte_end":142740,"line_start":258,"line_end":258,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871222},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142749,"byte_end":142760,"line_start":258,"line_end":258,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613046},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142768,"byte_end":142774,"line_start":258,"line_end":258,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435766},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142787,"byte_end":142793,"line_start":258,"line_end":258,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177590},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142812,"byte_end":142817,"line_start":258,"line_end":258,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":310},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142714,"byte_end":142727,"line_start":258,"line_end":258,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959862},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142937,"byte_end":142942,"line_start":260,"line_end":260,"column_start":28,"column_end":33},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:310 ~ no_proto[7dec]::pointer::bytes::{impl#1}::set_from_json), local_id: 18 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109174},"span":{"file_name":"src/pointer/bytes.rs","byte_start":142973,"byte_end":142979,"line_start":261,"line_end":261,"column_start":25,"column_end":31},"name":"target","qualname":"target$HirId { owner: DefId(0:310 ~ no_proto[7dec]::pointer::bytes::{impl#1}::set_from_json), local_id: 32 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205558},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143043,"byte_end":143047,"line_start":263,"line_end":263,"column_start":40,"column_end":44},"name":"json","qualname":"$HirId { owner: DefId(0:310 ~ no_proto[7dec]::pointer::bytes::{impl#1}::set_from_json), local_id: 92 }::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415542},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143125,"byte_end":143126,"line_start":265,"line_end":265,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:310 ~ no_proto[7dec]::pointer::bytes::{impl#1}::set_from_json), local_id: 44 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080375094},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143250,"byte_end":143251,"line_start":268,"line_end":268,"column_start":40,"column_end":41},"name":"x","qualname":"x$HirId { owner: DefId(0:310 ~ no_proto[7dec]::pointer::bytes::{impl#1}::set_from_json), local_id: 62 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742137},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143625,"byte_end":143631,"line_start":285,"line_end":285,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871225},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143645,"byte_end":143651,"line_start":285,"line_end":285,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":313},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143614,"byte_end":143624,"line_start":285,"line_end":285,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109177},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143804,"byte_end":143809,"line_start":287,"line_end":287,"column_start":18,"column_end":23},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:313 ~ no_proto[7dec]::pointer::bytes::{impl#1}::into_value), local_id: 32 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742138},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143901,"byte_end":143907,"line_start":292,"line_end":292,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871226},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143915,"byte_end":143921,"line_start":292,"line_end":292,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613050},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143935,"byte_end":143941,"line_start":292,"line_end":292,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":314},"span":{"file_name":"src/pointer/bytes.rs","byte_start":143893,"byte_end":143900,"line_start":292,"line_end":292,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701690},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144041,"byte_end":144042,"line_start":296,"line_end":296,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314426},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144100,"byte_end":144101,"line_start":298,"line_end":298,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 23 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275068730},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144137,"byte_end":144142,"line_start":300,"line_end":300,"column_start":29,"column_end":34},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 50 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851002},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144159,"byte_end":144160,"line_start":300,"line_end":300,"column_start":51,"column_end":52},"name":"x","qualname":"$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 46 }::x","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167772474},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144331,"byte_end":144335,"line_start":306,"line_end":306,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 80 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778385210},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144502,"byte_end":144503,"line_start":309,"line_end":309,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 86 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3992977722},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144546,"byte_end":144551,"line_start":310,"line_end":310,"column_start":37,"column_end":42},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 119 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785018170},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144568,"byte_end":144569,"line_start":310,"line_end":310,"column_start":59,"column_end":60},"name":"v","qualname":"$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 115 }::v","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822083898},"span":{"file_name":"src/pointer/bytes.rs","byte_start":144956,"byte_end":144958,"line_start":322,"line_end":322,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:314 ~ no_proto[7dec]::pointer::bytes::{impl#1}::to_json), local_id: 140 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742141},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145041,"byte_end":145047,"line_start":327,"line_end":327,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871229},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145055,"byte_end":145061,"line_start":327,"line_end":327,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613053},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145075,"byte_end":145081,"line_start":327,"line_end":327,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":317},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145032,"byte_end":145040,"line_start":327,"line_end":327,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959869},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145137,"byte_end":145144,"line_start":329,"line_end":329,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:317 ~ no_proto[7dec]::pointer::bytes::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/bytes.rs:329:23: 329:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008061},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145192,"byte_end":145202,"line_start":330,"line_end":330,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:317 ~ no_proto[7dec]::pointer::bytes::{impl#1}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33554749},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145352,"byte_end":145356,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:317 ~ no_proto[7dec]::pointer::bytes::{impl#1}::get_size), local_id: 64 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":234881341},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145583,"byte_end":145593,"line_start":345,"line_end":345,"column_start":13,"column_end":23},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:317 ~ no_proto[7dec]::pointer::bytes::{impl#1}::get_size), local_id: 112 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742144},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145823,"byte_end":145829,"line_start":352,"line_end":352,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871232},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145854,"byte_end":145865,"line_start":352,"line_end":352,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":320},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145799,"byte_end":145818,"line_start":352,"line_end":352,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435776},"span":{"file_name":"src/pointer/bytes.rs","byte_start":145962,"byte_end":145976,"line_start":355,"line_end":355,"column_start":17,"column_end":31},"name":"has_fixed_size","qualname":"has_fixed_size$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 8 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671088960},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146002,"byte_end":146013,"line_start":356,"line_end":356,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1929380160},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146102,"byte_end":146106,"line_start":359,"line_end":359,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 206 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205568},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146166,"byte_end":146167,"line_start":360,"line_end":360,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 39 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456106816},"span":{"file_name":"src/pointer/bytes.rs","byte_start":146648,"byte_end":146649,"line_start":371,"line_end":371,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 115 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3162505536},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147246,"byte_end":147253,"line_start":389,"line_end":389,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 317 }","value":"core::option::Option>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3942646080},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147315,"byte_end":147320,"line_start":390,"line_end":390,"column_start":28,"column_end":33},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 215 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3229614400},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147348,"byte_end":147361,"line_start":392,"line_end":392,"column_start":21,"column_end":34},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 259 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1728053568},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147391,"byte_end":147392,"line_start":392,"line_end":392,"column_start":64,"column_end":65},"name":"v","qualname":"$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 255 }::v","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3607101760},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147467,"byte_end":147468,"line_start":394,"line_end":394,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 235 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4034920768},"span":{"file_name":"src/pointer/bytes.rs","byte_start":147595,"byte_end":147601,"line_start":398,"line_end":398,"column_start":21,"column_end":27},"name":"length","qualname":"length$HirId { owner: DefId(0:320 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_json_to_schema), local_id: 271 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742146},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148429,"byte_end":148435,"line_start":424,"line_end":424,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871234},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148460,"byte_end":148467,"line_start":424,"line_end":424,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613058},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148476,"byte_end":148481,"line_start":424,"line_end":424,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":322},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148404,"byte_end":148424,"line_start":424,"line_end":424,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770114},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148559,"byte_end":148569,"line_start":426,"line_end":426,"column_start":13,"column_end":23},"name":"fixed_size","qualname":"fixed_size$HirId { owner: DefId(0:322 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 43 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909314},"span":{"file_name":"src/pointer/bytes.rs","byte_start":148775,"byte_end":148787,"line_start":434,"line_end":434,"column_start":13,"column_end":25},"name":"default_size","qualname":"default_size$HirId { owner: DefId(0:322 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 69 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694499138},"span":{"file_name":"src/pointer/bytes.rs","byte_start":149408,"byte_end":149421,"line_start":451,"line_end":451,"column_start":17,"column_end":30},"name":"default_bytes","qualname":"default_bytes$HirId { owner: DefId(0:322 ~ no_proto[7dec]::pointer::bytes::{impl#1}::from_bytes_to_schema), local_id: 166 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742149},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150086,"byte_end":150093,"line_start":471,"line_end":471,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ [u8] as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":325},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150071,"byte_end":150085,"line_start":471,"line_end":471,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ [u8] as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742150},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150190,"byte_end":150197,"line_start":475,"line_end":475,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871238},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150211,"byte_end":150218,"line_start":475,"line_end":475,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":326},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150177,"byte_end":150189,"line_start":475,"line_end":475,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742151},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150290,"byte_end":150297,"line_start":479,"line_end":479,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871239},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150311,"byte_end":150318,"line_start":479,"line_end":479,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":327},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150277,"byte_end":150289,"line_start":479,"line_end":479,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ [u8] as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":330},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150442,"byte_end":150450,"line_start":488,"line_end":488,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742155},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150530,"byte_end":150534,"line_start":489,"line_end":489,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":331},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150515,"byte_end":150528,"line_start":489,"line_end":489,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742156},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150614,"byte_end":150620,"line_start":491,"line_end":491,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871244},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150646,"byte_end":150653,"line_start":491,"line_end":491,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":332},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150599,"byte_end":150613,"line_start":491,"line_end":491,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742157},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150776,"byte_end":150782,"line_start":495,"line_end":495,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871245},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150791,"byte_end":150802,"line_start":495,"line_end":495,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613069},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150810,"byte_end":150817,"line_start":495,"line_end":495,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435789},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150830,"byte_end":150837,"line_start":495,"line_end":495,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177613},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150856,"byte_end":150862,"line_start":495,"line_end":495,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":333},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150756,"byte_end":150769,"line_start":495,"line_end":495,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742159},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150973,"byte_end":150979,"line_start":499,"line_end":499,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871247},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150988,"byte_end":150992,"line_start":499,"line_end":499,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613071},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151001,"byte_end":151007,"line_start":499,"line_end":499,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":335},"span":{"file_name":"src/pointer/bytes.rs","byte_start":150959,"byte_end":150972,"line_start":499,"line_end":499,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &'value Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653519},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151070,"byte_end":151074,"line_start":500,"line_end":500,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:335 ~ no_proto[7dec]::pointer::bytes::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742160},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151314,"byte_end":151321,"line_start":511,"line_end":511,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871248},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151347,"byte_end":151355,"line_start":511,"line_end":511,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":336},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151300,"byte_end":151313,"line_start":511,"line_end":511,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742161},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151490,"byte_end":151496,"line_start":516,"line_end":516,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871249},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151521,"byte_end":151526,"line_start":516,"line_end":516,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613073},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151534,"byte_end":151538,"line_start":516,"line_end":516,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268435793},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151552,"byte_end":151557,"line_start":516,"line_end":516,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":337},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151471,"byte_end":151489,"line_start":516,"line_end":516,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742162},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151735,"byte_end":151741,"line_start":521,"line_end":521,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871250},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151754,"byte_end":151760,"line_start":521,"line_end":521,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613074},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151779,"byte_end":151784,"line_start":521,"line_end":521,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":338},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151719,"byte_end":151728,"line_start":521,"line_end":521,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207959890},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151863,"byte_end":151870,"line_start":523,"line_end":523,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/bytes.rs:523:23: 523:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314450},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151923,"byte_end":151928,"line_start":525,"line_end":525,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 23 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214592850},"span":{"file_name":"src/pointer/bytes.rs","byte_start":151955,"byte_end":151963,"line_start":527,"line_end":527,"column_start":13,"column_end":21},"name":"str_size","qualname":"str_size$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335544658},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152009,"byte_end":152020,"line_start":529,"line_end":529,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 40 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006633298},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152058,"byte_end":152062,"line_start":531,"line_end":531,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 60 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107296594},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152166,"byte_end":152170,"line_start":533,"line_end":533,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 66 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100663634},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152362,"byte_end":152373,"line_start":541,"line_end":541,"column_start":25,"column_end":36},"name":"empty_bytes","qualname":"empty_bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 96 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858760018},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152440,"byte_end":152442,"line_start":542,"line_end":542,"column_start":21,"column_end":23},"name":"_x","qualname":"_x$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 103 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886418},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152540,"byte_end":152548,"line_start":546,"line_end":546,"column_start":21,"column_end":29},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 160 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170894162},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152698,"byte_end":152702,"line_start":550,"line_end":550,"column_start":17,"column_end":21},"name":"addr","qualname":"addr$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 189 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076863826},"span":{"file_name":"src/pointer/bytes.rs","byte_start":152812,"byte_end":152813,"line_start":554,"line_end":554,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 207 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723282},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153208,"byte_end":153218,"line_start":568,"line_end":568,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 291 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":444596562},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153275,"byte_end":153284,"line_start":570,"line_end":570,"column_start":13,"column_end":22},"name":"prev_size","qualname":"prev_size$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 344 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685202},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153331,"byte_end":153341,"line_start":571,"line_end":571,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 322 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2709520722},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153831,"byte_end":153841,"line_start":584,"line_end":584,"column_start":17,"column_end":27},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 389 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1904214354},"span":{"file_name":"src/pointer/bytes.rs","byte_start":153924,"byte_end":153925,"line_start":586,"line_end":586,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 398 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":494928210},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154049,"byte_end":154055,"line_start":590,"line_end":590,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 440 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2206204242},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154107,"byte_end":154108,"line_start":593,"line_end":593,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 449 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1816133970},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154405,"byte_end":154413,"line_start":602,"line_end":602,"column_start":17,"column_end":25},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 566 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3628073298},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154579,"byte_end":154589,"line_start":606,"line_end":606,"column_start":21,"column_end":31},"name":"size_bytes","qualname":"size_bytes$HirId { owner: DefId(0:338 ~ no_proto[7dec]::pointer::bytes::{impl#3}::set_value), local_id: 539 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742167},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154893,"byte_end":154899,"line_start":619,"line_end":619,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871255},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154913,"byte_end":154919,"line_start":619,"line_end":619,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":343},"span":{"file_name":"src/pointer/bytes.rs","byte_start":154882,"byte_end":154892,"line_start":619,"line_end":619,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218071},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155007,"byte_end":155014,"line_start":621,"line_end":621,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/bytes.rs:621:23: 621:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623878999},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155063,"byte_end":155073,"line_start":623,"line_end":623,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227858775},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155217,"byte_end":155221,"line_start":629,"line_end":629,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973078871},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155404,"byte_end":155409,"line_start":635,"line_end":635,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238003031},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155617,"byte_end":155627,"line_start":642,"line_end":642,"column_start":17,"column_end":27},"name":"bytes_size","qualname":"bytes_size$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 131 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493172567},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155760,"byte_end":155765,"line_start":645,"line_end":645,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:343 ~ no_proto[7dec]::pointer::bytes::{impl#3}::into_value), local_id: 154 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742170},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155918,"byte_end":155923,"line_start":652,"line_end":652,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871258},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155931,"byte_end":155937,"line_start":652,"line_end":652,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613082},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155951,"byte_end":155957,"line_start":652,"line_end":652,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":346},"span":{"file_name":"src/pointer/bytes.rs","byte_start":155910,"byte_end":155917,"line_start":652,"line_end":652,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742171},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156063,"byte_end":156068,"line_start":656,"line_end":656,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871259},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156076,"byte_end":156082,"line_start":656,"line_end":656,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613083},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156096,"byte_end":156102,"line_start":656,"line_end":656,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":347},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156054,"byte_end":156062,"line_start":656,"line_end":656,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742172},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156229,"byte_end":156235,"line_start":660,"line_end":660,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871260},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156260,"byte_end":156271,"line_start":660,"line_end":660,"column_start":59,"column_end":70},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":348},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156209,"byte_end":156228,"line_start":660,"line_end":660,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742173},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156444,"byte_end":156450,"line_start":664,"line_end":664,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871261},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156475,"byte_end":156482,"line_start":664,"line_end":664,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613085},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156491,"byte_end":156496,"line_start":664,"line_end":664,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":349},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156423,"byte_end":156443,"line_start":664,"line_end":664,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2896},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156623,"byte_end":156647,"line_start":670,"line_end":670,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::bytes::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873808},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156684,"byte_end":156690,"line_start":671,"line_end":671,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752464},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156755,"byte_end":156762,"line_start":672,"line_end":672,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699216},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156856,"byte_end":156864,"line_start":674,"line_end":674,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526729552},"span":{"file_name":"src/pointer/bytes.rs","byte_start":156989,"byte_end":156995,"line_start":677,"line_end":677,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936015696},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157027,"byte_end":157034,"line_start":678,"line_end":678,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202695504},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157128,"byte_end":157136,"line_start":680,"line_end":680,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226495312},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157261,"byte_end":157267,"line_start":683,"line_end":683,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 432 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3548384080},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157289,"byte_end":157296,"line_start":684,"line_end":684,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 459 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2889878352},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157390,"byte_end":157398,"line_start":686,"line_end":686,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2896 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works_idl#1), local_id: 565 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2900},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157544,"byte_end":157564,"line_start":693,"line_end":693,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::bytes::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873812},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157601,"byte_end":157607,"line_start":694,"line_end":694,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752468},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157677,"byte_end":157684,"line_start":695,"line_end":695,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441044},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157796,"byte_end":157804,"line_start":697,"line_end":697,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600468},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157942,"byte_end":157948,"line_start":700,"line_end":700,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580244},"span":{"file_name":"src/pointer/bytes.rs","byte_start":157995,"byte_end":158002,"line_start":701,"line_end":701,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409364},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158114,"byte_end":158122,"line_start":703,"line_end":703,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":494930772},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158260,"byte_end":158266,"line_start":706,"line_end":706,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 440 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3414166356},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158301,"byte_end":158308,"line_start":707,"line_end":707,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 467 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4232055636},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158420,"byte_end":158428,"line_start":709,"line_end":709,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:2900 ~ no_proto[7dec]::pointer::bytes::schema_parsing_works#1), local_id: 575 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2904},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158588,"byte_end":158607,"line_start":717,"line_end":717,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::bytes::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873816},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158644,"byte_end":158650,"line_start":718,"line_end":718,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2904 ~ no_proto[7dec]::pointer::bytes::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752472},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158707,"byte_end":158714,"line_start":719,"line_end":719,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2904 ~ no_proto[7dec]::pointer::bytes::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547224},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158763,"byte_end":158769,"line_start":720,"line_end":720,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2904 ~ no_proto[7dec]::pointer::bytes::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2908},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158888,"byte_end":158904,"line_start":727,"line_end":727,"column_start":4,"column_end":20},"name":"fixed_size_works","qualname":"::pointer::bytes::fixed_size_works","value":"fn fixed_size_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873820},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158941,"byte_end":158947,"line_start":728,"line_end":728,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2908 ~ no_proto[7dec]::pointer::bytes::fixed_size_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752476},"span":{"file_name":"src/pointer/bytes.rs","byte_start":158995,"byte_end":159002,"line_start":729,"line_end":729,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2908 ~ no_proto[7dec]::pointer::bytes::fixed_size_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547228},"span":{"file_name":"src/pointer/bytes.rs","byte_start":159055,"byte_end":159061,"line_start":730,"line_end":730,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2908 ~ no_proto[7dec]::pointer::bytes::fixed_size_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2912},"span":{"file_name":"src/pointer/bytes.rs","byte_start":159328,"byte_end":159364,"line_start":738,"line_end":738,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::bytes::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873824},"span":{"file_name":"src/pointer/bytes.rs","byte_start":159401,"byte_end":159407,"line_start":739,"line_end":739,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2912 ~ no_proto[7dec]::pointer::bytes::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752480},"span":{"file_name":"src/pointer/bytes.rs","byte_start":159442,"byte_end":159449,"line_start":740,"line_end":740,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:2912 ~ no_proto[7dec]::pointer::bytes::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547232},"span":{"file_name":"src/pointer/bytes.rs","byte_start":159502,"byte_end":159508,"line_start":741,"line_end":741,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:2912 ~ no_proto[7dec]::pointer::bytes::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":350},"span":{"file_name":"src/pointer/numbers.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"numbers","qualname":"::pointer::numbers","value":"src/pointer/numbers.rs","parent":null,"children":[{"krate":0,"index":351},{"krate":0,"index":354},{"krate":0,"index":355},{"krate":0,"index":358},{"krate":0,"index":361},{"krate":0,"index":364},{"krate":0,"index":367},{"krate":0,"index":370},{"krate":0,"index":373},{"krate":0,"index":376},{"krate":0,"index":379},{"krate":0,"index":382},{"krate":0,"index":385},{"krate":0,"index":388},{"krate":0,"index":391},{"krate":0,"index":392},{"krate":0,"index":395},{"krate":0,"index":398},{"krate":0,"index":401},{"krate":0,"index":404},{"krate":0,"index":407},{"krate":0,"index":410},{"krate":0,"index":413},{"krate":0,"index":416},{"krate":0,"index":419},{"krate":0,"index":420},{"krate":0,"index":423},{"krate":0,"index":426},{"krate":0,"index":429},{"krate":0,"index":432},{"krate":0,"index":435},{"krate":0,"index":436},{"krate":0,"index":439},{"krate":0,"index":440},{"krate":0,"index":443},{"krate":0,"index":2913},{"krate":0,"index":2920},{"krate":0,"index":446},{"krate":0,"index":2922},{"krate":0,"index":2927},{"krate":0,"index":2948},{"krate":0,"index":2953},{"krate":0,"index":2974},{"krate":0,"index":2979},{"krate":0,"index":3000},{"krate":0,"index":3005},{"krate":0,"index":3026},{"krate":0,"index":3031},{"krate":0,"index":3052},{"krate":0,"index":3057},{"krate":0,"index":3078},{"krate":0,"index":3083},{"krate":0,"index":3104},{"krate":0,"index":3109},{"krate":0,"index":3130},{"krate":0,"index":3135},{"krate":0,"index":3156},{"krate":0,"index":3161},{"krate":0,"index":447},{"krate":0,"index":454},{"krate":0,"index":3182},{"krate":0,"index":3183},{"krate":0,"index":3185},{"krate":0,"index":3186},{"krate":0,"index":3187},{"krate":0,"index":3189},{"krate":0,"index":3190},{"krate":0,"index":3191},{"krate":0,"index":3193},{"krate":0,"index":3194},{"krate":0,"index":3195},{"krate":0,"index":3197},{"krate":0,"index":461},{"krate":0,"index":3198},{"krate":0,"index":3199},{"krate":0,"index":3201},{"krate":0,"index":3202},{"krate":0,"index":3203},{"krate":0,"index":3205},{"krate":0,"index":3206},{"krate":0,"index":3207},{"krate":0,"index":3209},{"krate":0,"index":468},{"krate":0,"index":3210},{"krate":0,"index":3211},{"krate":0,"index":3213},{"krate":0,"index":3214},{"krate":0,"index":3215},{"krate":0,"index":3217},{"krate":0,"index":3218},{"krate":0,"index":3219},{"krate":0,"index":3221},{"krate":0,"index":475},{"krate":0,"index":3222},{"krate":0,"index":3223},{"krate":0,"index":3225},{"krate":0,"index":3226},{"krate":0,"index":3227},{"krate":0,"index":3229},{"krate":0,"index":3230},{"krate":0,"index":3231},{"krate":0,"index":3233},{"krate":0,"index":482},{"krate":0,"index":3234},{"krate":0,"index":3235},{"krate":0,"index":3237},{"krate":0,"index":3238},{"krate":0,"index":3239},{"krate":0,"index":3241},{"krate":0,"index":3242},{"krate":0,"index":3243},{"krate":0,"index":3245},{"krate":0,"index":489},{"krate":0,"index":3246},{"krate":0,"index":3247},{"krate":0,"index":3249},{"krate":0,"index":3250},{"krate":0,"index":3251},{"krate":0,"index":3253},{"krate":0,"index":3254},{"krate":0,"index":3255},{"krate":0,"index":3257},{"krate":0,"index":496},{"krate":0,"index":3258},{"krate":0,"index":3259},{"krate":0,"index":3261},{"krate":0,"index":3262},{"krate":0,"index":3263},{"krate":0,"index":3265},{"krate":0,"index":3266},{"krate":0,"index":3267},{"krate":0,"index":3269},{"krate":0,"index":503},{"krate":0,"index":3270},{"krate":0,"index":3271},{"krate":0,"index":3273},{"krate":0,"index":3274},{"krate":0,"index":3275},{"krate":0,"index":3277},{"krate":0,"index":3278},{"krate":0,"index":3279},{"krate":0,"index":3281},{"krate":0,"index":510},{"krate":0,"index":3282},{"krate":0,"index":3283},{"krate":0,"index":3285},{"krate":0,"index":3286},{"krate":0,"index":3287},{"krate":0,"index":3289},{"krate":0,"index":3290},{"krate":0,"index":3291},{"krate":0,"index":3293},{"krate":0,"index":517},{"krate":0,"index":3294},{"krate":0,"index":3295},{"krate":0,"index":3297},{"krate":0,"index":3298},{"krate":0,"index":3299},{"krate":0,"index":3301},{"krate":0,"index":3302},{"krate":0,"index":3303},{"krate":0,"index":3305}],"decl_id":null,"docs":" NoProto supports a large number of native number types.\n \n Signed Integers:
\n [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
\n
\n Unsigned Integers:
\n [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
\n
\n Floating Point:
\n [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html)\n
\n \n The details of using each number type is identical to the pattern below.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(\"u32()\")?;","sig":null,"attributes":[{"value":"/ NoProto supports a large number of native number types.","span":{"file_name":"src/pointer/numbers.rs","byte_start":159875,"byte_end":159934,"line_start":1,"line_end":1,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":159935,"byte_end":159939,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Signed Integers:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":159940,"byte_end":159966,"line_start":3,"line_end":3,"column_start":1,"column_end":27}},{"value":"/ [`i8`](https://doc.rust-lang.org/std/primitive.i8.html), [`i16`](https://doc.rust-lang.org/std/primitive.i16.html), [`i32`](https://doc.rust-lang.org/std/primitive.i32.html), [`i64`](https://doc.rust-lang.org/std/primitive.i64.html)
","span":{"file_name":"src/pointer/numbers.rs","byte_start":159967,"byte_end":160209,"line_start":4,"line_end":4,"column_start":1,"column_end":243}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160210,"byte_end":160219,"line_start":5,"line_end":5,"column_start":1,"column_end":10}},{"value":"/ Unsigned Integers:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160220,"byte_end":160248,"line_start":6,"line_end":6,"column_start":1,"column_end":29}},{"value":"/ [`u8`](https://doc.rust-lang.org/std/primitive.u8.html), [`u16`](https://doc.rust-lang.org/std/primitive.u16.html), [`u32`](https://doc.rust-lang.org/std/primitive.u32.html), [`u64`](https://doc.rust-lang.org/std/primitive.u64.html)
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160249,"byte_end":160491,"line_start":7,"line_end":7,"column_start":1,"column_end":243}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160492,"byte_end":160501,"line_start":8,"line_end":8,"column_start":1,"column_end":10}},{"value":"/ Floating Point:
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160502,"byte_end":160527,"line_start":9,"line_end":9,"column_start":1,"column_end":26}},{"value":"/ [`f32`](https://doc.rust-lang.org/std/primitive.f32.html), [`f64`](https://doc.rust-lang.org/std/primitive.f64.html)","span":{"file_name":"src/pointer/numbers.rs","byte_start":160528,"byte_end":160648,"line_start":10,"line_end":10,"column_start":1,"column_end":121}},{"value":"/
","span":{"file_name":"src/pointer/numbers.rs","byte_start":160649,"byte_end":160658,"line_start":11,"line_end":11,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160659,"byte_end":160663,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The details of using each number type is identical to the pattern below.","span":{"file_name":"src/pointer/numbers.rs","byte_start":160664,"byte_end":160740,"line_start":13,"line_end":13,"column_start":1,"column_end":77}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160741,"byte_end":160745,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/numbers.rs","byte_start":160746,"byte_end":160753,"line_start":15,"line_end":15,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160754,"byte_end":160788,"line_start":16,"line_end":16,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160789,"byte_end":160818,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160819,"byte_end":160823,"line_start":18,"line_end":18,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"u32()\")?;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160824,"byte_end":160880,"line_start":19,"line_end":19,"column_start":1,"column_end":57}},{"value":"/","span":{"file_name":"src/pointer/numbers.rs","byte_start":160881,"byte_end":160884,"line_start":20,"line_end":20,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/numbers.rs","byte_start":160885,"byte_end":160935,"line_start":21,"line_end":21,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 20380u32)?;","span":{"file_name":"src/pointer/numbers.rs","byte_start":160936,"byte_end":160971,"line_start":22,"line_end":22,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":160972,"byte_end":160976,"line_start":23,"line_end":23,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(20380u32, new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/numbers.rs","byte_start":160977,"byte_end":161040,"line_start":24,"line_end":24,"column_start":1,"column_end":64}},{"value":"/","span":{"file_name":"src/pointer/numbers.rs","byte_start":161041,"byte_end":161044,"line_start":25,"line_end":25,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161045,"byte_end":161074,"line_start":26,"line_end":26,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/numbers.rs","byte_start":161075,"byte_end":161082,"line_start":27,"line_end":27,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161083,"byte_end":161087,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/numbers.rs","byte_start":161088,"byte_end":161092,"line_start":29,"line_end":29,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2914},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161931,"byte_end":161939,"line_start":57,"line_end":57,"column_start":5,"column_end":13},"name":"unsigned","qualname":"::pointer::numbers::NP_NumType::unsigned","value":"NP_NumType::unsigned","parent":{"krate":0,"index":2913},"children":[],"decl_id":null,"docs":" Unsigned integer type (only positive whole numbers)\n","sig":null,"attributes":[{"value":"/ Unsigned integer type (only positive whole numbers)","span":{"file_name":"src/pointer/numbers.rs","byte_start":161871,"byte_end":161926,"line_start":56,"line_end":56,"column_start":5,"column_end":60}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2916},"span":{"file_name":"src/pointer/numbers.rs","byte_start":162010,"byte_end":162016,"line_start":59,"line_end":59,"column_start":5,"column_end":11},"name":"signed","qualname":"::pointer::numbers::NP_NumType::signed","value":"NP_NumType::signed","parent":{"krate":0,"index":2913},"children":[],"decl_id":null,"docs":" Signed integer type (positive or negative whole numbers)\n","sig":null,"attributes":[{"value":"/ Signed integer type (positive or negative whole numbers)","span":{"file_name":"src/pointer/numbers.rs","byte_start":161945,"byte_end":162005,"line_start":58,"line_end":58,"column_start":5,"column_end":65}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2918},"span":{"file_name":"src/pointer/numbers.rs","byte_start":162052,"byte_end":162060,"line_start":61,"line_end":61,"column_start":5,"column_end":13},"name":"floating","qualname":"::pointer::numbers::NP_NumType::floating","value":"NP_NumType::floating","parent":{"krate":0,"index":2913},"children":[],"decl_id":null,"docs":" Decimal point numbers\n","sig":null,"attributes":[{"value":"/ Decimal point numbers","span":{"file_name":"src/pointer/numbers.rs","byte_start":162022,"byte_end":162047,"line_start":60,"line_end":60,"column_start":5,"column_end":30}}]},{"kind":"Enum","id":{"krate":0,"index":2913},"span":{"file_name":"src/pointer/numbers.rs","byte_start":161854,"byte_end":161864,"line_start":55,"line_end":55,"column_start":10,"column_end":20},"name":"NP_NumType","qualname":"::pointer::numbers::NP_NumType","value":"pub enum NP_NumType { unsigned, signed, floating, }","parent":null,"children":[{"krate":0,"index":2914},{"krate":0,"index":2916},{"krate":0,"index":2918}],"decl_id":null,"docs":" The type of number being used\n","sig":null,"attributes":[{"value":"/ The type of number being used","span":{"file_name":"src/pointer/numbers.rs","byte_start":161779,"byte_end":161812,"line_start":52,"line_end":52,"column_start":1,"column_end":34}}]},{"kind":"Trait","id":{"krate":0,"index":447},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181509,"byte_end":181521,"line_start":479,"line_end":479,"column_start":7,"column_end":19},"name":"NP_BigEndian","qualname":"::pointer::numbers::NP_BigEndian","value":"NP_BigEndian","parent":null,"children":[{"krate":0,"index":448},{"krate":0,"index":449},{"krate":0,"index":451},{"krate":0,"index":453}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":448},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181531,"byte_end":181555,"line_start":480,"line_end":480,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::pointer::numbers::NP_BigEndian::np_get_default_from_json","value":"pub fn np_get_default_from_json(&NP_JSON) -> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":449},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181614,"byte_end":181639,"line_start":481,"line_end":481,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::pointer::numbers::NP_BigEndian::np_get_default_from_bytes","value":"pub fn np_get_default_from_bytes<'default>(usize, &'default [u8])\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":451},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181731,"byte_end":181745,"line_start":482,"line_end":482,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::pointer::numbers::NP_BigEndian::np_get_default","value":"pub fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742277},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181874,"byte_end":181879,"line_start":483,"line_end":483,"column_start":26,"column_end":31},"name":"value","qualname":"::pointer::numbers::NP_BigEndian::np_unwrap_default::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":453},"span":{"file_name":"src/pointer/numbers.rs","byte_start":181856,"byte_end":181873,"line_start":483,"line_end":483,"column_start":8,"column_end":25},"name":"np_unwrap_default","qualname":"::pointer::numbers::NP_BigEndian::np_unwrap_default","value":"pub fn np_unwrap_default(Option) -> Option where Self: Sized +\nFromStr","parent":{"krate":0,"index":447},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742279},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182216,"byte_end":182227,"line_start":498,"line_end":498,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871367},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182236,"byte_end":182239,"line_start":498,"line_end":498,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":455},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182191,"byte_end":182205,"line_start":498,"line_end":498,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830919},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182323,"byte_end":182327,"line_start":500,"line_end":500,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:455 ~ no_proto[7dec]::pointer::numbers::{impl#0}::np_get_default), local_id: 22 }","value":"&schema::NP_i8_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742281},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182450,"byte_end":182454,"line_start":504,"line_end":504,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":457},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182425,"byte_end":182449,"line_start":504,"line_end":504,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096841},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182532,"byte_end":182533,"line_start":506,"line_end":506,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:457 ~ no_proto[7dec]::pointer::numbers::{impl#0}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314569},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182617,"byte_end":182618,"line_start":509,"line_end":509,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:457 ~ no_proto[7dec]::pointer::numbers::{impl#0}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742282},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182786,"byte_end":182793,"line_start":517,"line_end":517,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871370},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182802,"byte_end":182807,"line_start":517,"line_end":517,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":458},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182750,"byte_end":182775,"line_start":517,"line_end":517,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266378},"span":{"file_name":"src/pointer/numbers.rs","byte_start":182934,"byte_end":182939,"line_start":521,"line_end":521,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:458 ~ no_proto[7dec]::pointer::numbers::{impl#0}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3185},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183117,"byte_end":183140,"line_start":529,"line_end":529,"column_start":4,"column_end":27},"name":"i8_schema_parsing_works","qualname":"::pointer::numbers::i8_schema_parsing_works","value":"fn i8_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874097},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183177,"byte_end":183183,"line_start":530,"line_end":530,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752753},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183232,"byte_end":183239,"line_start":531,"line_end":531,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441329},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183351,"byte_end":183359,"line_start":533,"line_end":533,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600753},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183497,"byte_end":183503,"line_start":536,"line_end":536,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580529},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183537,"byte_end":183544,"line_start":537,"line_end":537,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409649},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183656,"byte_end":183664,"line_start":539,"line_end":539,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3185 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3189},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183823,"byte_end":183850,"line_start":546,"line_end":546,"column_start":4,"column_end":31},"name":"i8_schema_parsing_works_idl","qualname":"::pointer::numbers::i8_schema_parsing_works_idl","value":"fn i8_schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874101},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183887,"byte_end":183893,"line_start":547,"line_end":547,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752757},"span":{"file_name":"src/pointer/numbers.rs","byte_start":183926,"byte_end":183933,"line_start":548,"line_end":548,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699509},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184027,"byte_end":184035,"line_start":550,"line_end":550,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526729845},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184160,"byte_end":184166,"line_start":553,"line_end":553,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936015989},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184185,"byte_end":184192,"line_start":554,"line_end":554,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202695797},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184286,"byte_end":184294,"line_start":556,"line_end":556,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3189 ~ no_proto[7dec]::pointer::numbers::i8_schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3193},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184440,"byte_end":184462,"line_start":563,"line_end":563,"column_start":4,"column_end":26},"name":"i8_default_value_works","qualname":"::pointer::numbers::i8_default_value_works","value":"fn i8_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874105},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184499,"byte_end":184505,"line_start":564,"line_end":564,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3193 ~ no_proto[7dec]::pointer::numbers::i8_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752761},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184554,"byte_end":184561,"line_start":565,"line_end":565,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3193 ~ no_proto[7dec]::pointer::numbers::i8_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547513},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184610,"byte_end":184616,"line_start":566,"line_end":566,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3193 ~ no_proto[7dec]::pointer::numbers::i8_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761610873},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184708,"byte_end":184716,"line_start":568,"line_end":568,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3193 ~ no_proto[7dec]::pointer::numbers::i8_default_value_works#1), local_id: 150 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3197},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184871,"byte_end":184910,"line_start":575,"line_end":575,"column_start":4,"column_end":43},"name":"i8_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::i8_set_clear_value_and_compaction_works","value":"fn i8_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874109},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184947,"byte_end":184953,"line_start":576,"line_end":576,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3197 ~ no_proto[7dec]::pointer::numbers::i8_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752765},"span":{"file_name":"src/pointer/numbers.rs","byte_start":184985,"byte_end":184992,"line_start":577,"line_end":577,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3197 ~ no_proto[7dec]::pointer::numbers::i8_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547517},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185045,"byte_end":185051,"line_start":578,"line_end":578,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3197 ~ no_proto[7dec]::pointer::numbers::i8_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742286},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185395,"byte_end":185406,"line_start":591,"line_end":591,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871374},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185415,"byte_end":185418,"line_start":591,"line_end":591,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":462},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185370,"byte_end":185384,"line_start":591,"line_end":591,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830926},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185501,"byte_end":185505,"line_start":592,"line_end":592,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:462 ~ no_proto[7dec]::pointer::numbers::{impl#1}::np_get_default), local_id: 22 }","value":"&schema::NP_i16_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742288},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185628,"byte_end":185632,"line_start":595,"line_end":595,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":464},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185603,"byte_end":185627,"line_start":595,"line_end":595,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096848},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185710,"byte_end":185711,"line_start":597,"line_end":597,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:464 ~ no_proto[7dec]::pointer::numbers::{impl#1}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314576},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185795,"byte_end":185796,"line_start":600,"line_end":600,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:464 ~ no_proto[7dec]::pointer::numbers::{impl#1}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742289},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185964,"byte_end":185971,"line_start":608,"line_end":608,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871377},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185980,"byte_end":185985,"line_start":608,"line_end":608,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":465},"span":{"file_name":"src/pointer/numbers.rs","byte_start":185928,"byte_end":185953,"line_start":608,"line_end":608,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266385},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186112,"byte_end":186117,"line_start":612,"line_end":612,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:465 ~ no_proto[7dec]::pointer::numbers::{impl#1}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3201},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186296,"byte_end":186320,"line_start":620,"line_end":620,"column_start":4,"column_end":28},"name":"i16_schema_parsing_works","qualname":"::pointer::numbers::i16_schema_parsing_works","value":"fn i16_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874113},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186357,"byte_end":186363,"line_start":621,"line_end":621,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752769},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186413,"byte_end":186420,"line_start":622,"line_end":622,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441345},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186532,"byte_end":186540,"line_start":624,"line_end":624,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600769},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186678,"byte_end":186684,"line_start":627,"line_end":627,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580545},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186719,"byte_end":186726,"line_start":628,"line_end":628,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409665},"span":{"file_name":"src/pointer/numbers.rs","byte_start":186838,"byte_end":186846,"line_start":630,"line_end":630,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3201 ~ no_proto[7dec]::pointer::numbers::i16_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3205},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187006,"byte_end":187029,"line_start":638,"line_end":638,"column_start":4,"column_end":27},"name":"i16_default_value_works","qualname":"::pointer::numbers::i16_default_value_works","value":"fn i16_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874117},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187066,"byte_end":187072,"line_start":639,"line_end":639,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3205 ~ no_proto[7dec]::pointer::numbers::i16_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752773},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187123,"byte_end":187130,"line_start":640,"line_end":640,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3205 ~ no_proto[7dec]::pointer::numbers::i16_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547525},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187179,"byte_end":187185,"line_start":641,"line_end":641,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3205 ~ no_proto[7dec]::pointer::numbers::i16_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761610885},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187280,"byte_end":187288,"line_start":643,"line_end":643,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3205 ~ no_proto[7dec]::pointer::numbers::i16_default_value_works#1), local_id: 150 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3209},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187443,"byte_end":187483,"line_start":650,"line_end":650,"column_start":4,"column_end":44},"name":"i16_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::i16_set_clear_value_and_compaction_works","value":"fn i16_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874121},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187520,"byte_end":187526,"line_start":651,"line_end":651,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3209 ~ no_proto[7dec]::pointer::numbers::i16_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752777},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187561,"byte_end":187568,"line_start":652,"line_end":652,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3209 ~ no_proto[7dec]::pointer::numbers::i16_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547529},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187621,"byte_end":187627,"line_start":653,"line_end":653,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3209 ~ no_proto[7dec]::pointer::numbers::i16_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742293},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187977,"byte_end":187988,"line_start":666,"line_end":666,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871381},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187997,"byte_end":188000,"line_start":666,"line_end":666,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":469},"span":{"file_name":"src/pointer/numbers.rs","byte_start":187952,"byte_end":187966,"line_start":666,"line_end":666,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830933},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188083,"byte_end":188087,"line_start":667,"line_end":667,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:469 ~ no_proto[7dec]::pointer::numbers::{impl#2}::np_get_default), local_id: 22 }","value":"&schema::NP_i32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742295},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188210,"byte_end":188214,"line_start":670,"line_end":670,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":471},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188185,"byte_end":188209,"line_start":670,"line_end":670,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096855},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188292,"byte_end":188293,"line_start":672,"line_end":672,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:471 ~ no_proto[7dec]::pointer::numbers::{impl#2}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314583},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188377,"byte_end":188378,"line_start":675,"line_end":675,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:471 ~ no_proto[7dec]::pointer::numbers::{impl#2}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742296},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188546,"byte_end":188553,"line_start":683,"line_end":683,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871384},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188562,"byte_end":188567,"line_start":683,"line_end":683,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":472},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188510,"byte_end":188535,"line_start":683,"line_end":683,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266392},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188694,"byte_end":188699,"line_start":687,"line_end":687,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:472 ~ no_proto[7dec]::pointer::numbers::{impl#2}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3213},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188878,"byte_end":188902,"line_start":695,"line_end":695,"column_start":4,"column_end":28},"name":"i32_schema_parsing_works","qualname":"::pointer::numbers::i32_schema_parsing_works","value":"fn i32_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874125},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188939,"byte_end":188945,"line_start":696,"line_end":696,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752781},"span":{"file_name":"src/pointer/numbers.rs","byte_start":188995,"byte_end":189002,"line_start":697,"line_end":697,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441357},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189114,"byte_end":189122,"line_start":699,"line_end":699,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600781},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189260,"byte_end":189266,"line_start":702,"line_end":702,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580557},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189301,"byte_end":189308,"line_start":703,"line_end":703,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409677},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189420,"byte_end":189428,"line_start":705,"line_end":705,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3213 ~ no_proto[7dec]::pointer::numbers::i32_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3217},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189588,"byte_end":189611,"line_start":713,"line_end":713,"column_start":4,"column_end":27},"name":"i32_default_value_works","qualname":"::pointer::numbers::i32_default_value_works","value":"fn i32_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874129},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189648,"byte_end":189654,"line_start":714,"line_end":714,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3217 ~ no_proto[7dec]::pointer::numbers::i32_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752785},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189703,"byte_end":189710,"line_start":715,"line_end":715,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3217 ~ no_proto[7dec]::pointer::numbers::i32_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547537},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189759,"byte_end":189765,"line_start":716,"line_end":716,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3217 ~ no_proto[7dec]::pointer::numbers::i32_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3221},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189878,"byte_end":189918,"line_start":723,"line_end":723,"column_start":4,"column_end":44},"name":"i32_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::i32_set_clear_value_and_compaction_works","value":"fn i32_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874133},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189955,"byte_end":189961,"line_start":724,"line_end":724,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3221 ~ no_proto[7dec]::pointer::numbers::i32_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752789},"span":{"file_name":"src/pointer/numbers.rs","byte_start":189994,"byte_end":190001,"line_start":725,"line_end":725,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3221 ~ no_proto[7dec]::pointer::numbers::i32_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547541},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190054,"byte_end":190060,"line_start":726,"line_end":726,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3221 ~ no_proto[7dec]::pointer::numbers::i32_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742300},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190410,"byte_end":190421,"line_start":739,"line_end":739,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871388},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190430,"byte_end":190433,"line_start":739,"line_end":739,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":476},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190385,"byte_end":190399,"line_start":739,"line_end":739,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830940},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190516,"byte_end":190520,"line_start":740,"line_end":740,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:476 ~ no_proto[7dec]::pointer::numbers::{impl#3}::np_get_default), local_id: 22 }","value":"&schema::NP_i64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742302},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190643,"byte_end":190647,"line_start":743,"line_end":743,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":478},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190618,"byte_end":190642,"line_start":743,"line_end":743,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096862},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190725,"byte_end":190726,"line_start":745,"line_end":745,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:478 ~ no_proto[7dec]::pointer::numbers::{impl#3}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314590},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190810,"byte_end":190811,"line_start":748,"line_end":748,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:478 ~ no_proto[7dec]::pointer::numbers::{impl#3}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742303},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190979,"byte_end":190986,"line_start":756,"line_end":756,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871391},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190995,"byte_end":191000,"line_start":756,"line_end":756,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":479},"span":{"file_name":"src/pointer/numbers.rs","byte_start":190943,"byte_end":190968,"line_start":756,"line_end":756,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266399},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191127,"byte_end":191132,"line_start":760,"line_end":760,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:479 ~ no_proto[7dec]::pointer::numbers::{impl#3}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3225},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191312,"byte_end":191336,"line_start":768,"line_end":768,"column_start":4,"column_end":28},"name":"i64_schema_parsing_works","qualname":"::pointer::numbers::i64_schema_parsing_works","value":"fn i64_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874137},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191373,"byte_end":191379,"line_start":769,"line_end":769,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752793},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191429,"byte_end":191436,"line_start":770,"line_end":770,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441369},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191548,"byte_end":191556,"line_start":772,"line_end":772,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600793},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191694,"byte_end":191700,"line_start":775,"line_end":775,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580569},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191735,"byte_end":191742,"line_start":776,"line_end":776,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409689},"span":{"file_name":"src/pointer/numbers.rs","byte_start":191854,"byte_end":191862,"line_start":778,"line_end":778,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3225 ~ no_proto[7dec]::pointer::numbers::i64_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3229},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192022,"byte_end":192045,"line_start":786,"line_end":786,"column_start":4,"column_end":27},"name":"i64_default_value_works","qualname":"::pointer::numbers::i64_default_value_works","value":"fn i64_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874141},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192082,"byte_end":192088,"line_start":787,"line_end":787,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3229 ~ no_proto[7dec]::pointer::numbers::i64_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752797},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192139,"byte_end":192146,"line_start":788,"line_end":788,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3229 ~ no_proto[7dec]::pointer::numbers::i64_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547549},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192195,"byte_end":192201,"line_start":789,"line_end":789,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3229 ~ no_proto[7dec]::pointer::numbers::i64_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761610909},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192296,"byte_end":192304,"line_start":791,"line_end":791,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3229 ~ no_proto[7dec]::pointer::numbers::i64_default_value_works#1), local_id: 150 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3233},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192459,"byte_end":192499,"line_start":798,"line_end":798,"column_start":4,"column_end":44},"name":"i64_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::i64_set_clear_value_and_compaction_works","value":"fn i64_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874145},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192536,"byte_end":192542,"line_start":799,"line_end":799,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3233 ~ no_proto[7dec]::pointer::numbers::i64_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752801},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192577,"byte_end":192584,"line_start":800,"line_end":800,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3233 ~ no_proto[7dec]::pointer::numbers::i64_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547553},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192637,"byte_end":192643,"line_start":801,"line_end":801,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3233 ~ no_proto[7dec]::pointer::numbers::i64_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742307},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192992,"byte_end":193003,"line_start":814,"line_end":814,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871395},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193012,"byte_end":193015,"line_start":814,"line_end":814,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":483},"span":{"file_name":"src/pointer/numbers.rs","byte_start":192967,"byte_end":192981,"line_start":814,"line_end":814,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830947},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193098,"byte_end":193102,"line_start":815,"line_end":815,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:483 ~ no_proto[7dec]::pointer::numbers::{impl#4}::np_get_default), local_id: 22 }","value":"&schema::NP_u8_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742309},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193224,"byte_end":193228,"line_start":818,"line_end":818,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":485},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193199,"byte_end":193223,"line_start":818,"line_end":818,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096869},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193306,"byte_end":193307,"line_start":820,"line_end":820,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:485 ~ no_proto[7dec]::pointer::numbers::{impl#4}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314597},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193391,"byte_end":193392,"line_start":823,"line_end":823,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:485 ~ no_proto[7dec]::pointer::numbers::{impl#4}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742310},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193560,"byte_end":193567,"line_start":831,"line_end":831,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871398},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193576,"byte_end":193581,"line_start":831,"line_end":831,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":486},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193524,"byte_end":193549,"line_start":831,"line_end":831,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266406},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193708,"byte_end":193713,"line_start":835,"line_end":835,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:486 ~ no_proto[7dec]::pointer::numbers::{impl#4}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3237},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193892,"byte_end":193915,"line_start":844,"line_end":844,"column_start":4,"column_end":27},"name":"u8_schema_parsing_works","qualname":"::pointer::numbers::u8_schema_parsing_works","value":"fn u8_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874149},"span":{"file_name":"src/pointer/numbers.rs","byte_start":193952,"byte_end":193958,"line_start":845,"line_end":845,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752805},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194008,"byte_end":194015,"line_start":846,"line_end":846,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441381},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194127,"byte_end":194135,"line_start":848,"line_end":848,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600805},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194273,"byte_end":194279,"line_start":851,"line_end":851,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580581},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194314,"byte_end":194321,"line_start":852,"line_end":852,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409701},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194433,"byte_end":194441,"line_start":854,"line_end":854,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3237 ~ no_proto[7dec]::pointer::numbers::u8_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3241},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194600,"byte_end":194622,"line_start":861,"line_end":861,"column_start":4,"column_end":26},"name":"u8_default_value_works","qualname":"::pointer::numbers::u8_default_value_works","value":"fn u8_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874153},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194659,"byte_end":194665,"line_start":862,"line_end":862,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3241 ~ no_proto[7dec]::pointer::numbers::u8_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752809},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194716,"byte_end":194723,"line_start":863,"line_end":863,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3241 ~ no_proto[7dec]::pointer::numbers::u8_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547561},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194772,"byte_end":194778,"line_start":864,"line_end":864,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3241 ~ no_proto[7dec]::pointer::numbers::u8_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3245},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194889,"byte_end":194928,"line_start":871,"line_end":871,"column_start":4,"column_end":43},"name":"u8_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::u8_set_clear_value_and_compaction_works","value":"fn u8_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874157},"span":{"file_name":"src/pointer/numbers.rs","byte_start":194965,"byte_end":194971,"line_start":872,"line_end":872,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3245 ~ no_proto[7dec]::pointer::numbers::u8_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752813},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195006,"byte_end":195013,"line_start":873,"line_end":873,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3245 ~ no_proto[7dec]::pointer::numbers::u8_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547565},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195066,"byte_end":195072,"line_start":874,"line_end":874,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3245 ~ no_proto[7dec]::pointer::numbers::u8_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742314},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195418,"byte_end":195429,"line_start":887,"line_end":887,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871402},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195438,"byte_end":195441,"line_start":887,"line_end":887,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":490},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195393,"byte_end":195407,"line_start":887,"line_end":887,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830954},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195524,"byte_end":195528,"line_start":888,"line_end":888,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:490 ~ no_proto[7dec]::pointer::numbers::{impl#5}::np_get_default), local_id: 22 }","value":"&schema::NP_u16_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742316},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195651,"byte_end":195655,"line_start":891,"line_end":891,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":492},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195626,"byte_end":195650,"line_start":891,"line_end":891,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096876},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195733,"byte_end":195734,"line_start":893,"line_end":893,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:492 ~ no_proto[7dec]::pointer::numbers::{impl#5}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314604},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195818,"byte_end":195819,"line_start":896,"line_end":896,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:492 ~ no_proto[7dec]::pointer::numbers::{impl#5}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742317},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195987,"byte_end":195994,"line_start":904,"line_end":904,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871405},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196003,"byte_end":196008,"line_start":904,"line_end":904,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":493},"span":{"file_name":"src/pointer/numbers.rs","byte_start":195951,"byte_end":195976,"line_start":904,"line_end":904,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266413},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196135,"byte_end":196140,"line_start":908,"line_end":908,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:493 ~ no_proto[7dec]::pointer::numbers::{impl#5}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3249},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196319,"byte_end":196343,"line_start":916,"line_end":916,"column_start":4,"column_end":28},"name":"u16_schema_parsing_works","qualname":"::pointer::numbers::u16_schema_parsing_works","value":"fn u16_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874161},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196380,"byte_end":196386,"line_start":917,"line_end":917,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752817},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196437,"byte_end":196444,"line_start":918,"line_end":918,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441393},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196556,"byte_end":196564,"line_start":920,"line_end":920,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600817},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196702,"byte_end":196708,"line_start":923,"line_end":923,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580593},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196744,"byte_end":196751,"line_start":924,"line_end":924,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409713},"span":{"file_name":"src/pointer/numbers.rs","byte_start":196863,"byte_end":196871,"line_start":926,"line_end":926,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3249 ~ no_proto[7dec]::pointer::numbers::u16_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3253},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197031,"byte_end":197054,"line_start":934,"line_end":934,"column_start":4,"column_end":27},"name":"u16_default_value_works","qualname":"::pointer::numbers::u16_default_value_works","value":"fn u16_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874165},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197091,"byte_end":197097,"line_start":935,"line_end":935,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3253 ~ no_proto[7dec]::pointer::numbers::u16_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752821},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197146,"byte_end":197153,"line_start":936,"line_end":936,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3253 ~ no_proto[7dec]::pointer::numbers::u16_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547573},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197202,"byte_end":197208,"line_start":937,"line_end":937,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3253 ~ no_proto[7dec]::pointer::numbers::u16_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3257},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197321,"byte_end":197361,"line_start":944,"line_end":944,"column_start":4,"column_end":44},"name":"u16_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::u16_set_clear_value_and_compaction_works","value":"fn u16_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874169},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197398,"byte_end":197404,"line_start":945,"line_end":945,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3257 ~ no_proto[7dec]::pointer::numbers::u16_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752825},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197437,"byte_end":197444,"line_start":946,"line_end":946,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3257 ~ no_proto[7dec]::pointer::numbers::u16_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547577},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197497,"byte_end":197503,"line_start":947,"line_end":947,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3257 ~ no_proto[7dec]::pointer::numbers::u16_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742321},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197853,"byte_end":197864,"line_start":960,"line_end":960,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871409},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197873,"byte_end":197876,"line_start":960,"line_end":960,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":497},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197828,"byte_end":197842,"line_start":960,"line_end":960,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830961},"span":{"file_name":"src/pointer/numbers.rs","byte_start":197959,"byte_end":197963,"line_start":961,"line_end":961,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:497 ~ no_proto[7dec]::pointer::numbers::{impl#6}::np_get_default), local_id: 22 }","value":"&schema::NP_u32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742323},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198086,"byte_end":198090,"line_start":964,"line_end":964,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":499},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198061,"byte_end":198085,"line_start":964,"line_end":964,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096883},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198168,"byte_end":198169,"line_start":966,"line_end":966,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:499 ~ no_proto[7dec]::pointer::numbers::{impl#6}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314611},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198253,"byte_end":198254,"line_start":969,"line_end":969,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:499 ~ no_proto[7dec]::pointer::numbers::{impl#6}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742324},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198422,"byte_end":198429,"line_start":977,"line_end":977,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871412},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198438,"byte_end":198443,"line_start":977,"line_end":977,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":500},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198386,"byte_end":198411,"line_start":977,"line_end":977,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266420},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198570,"byte_end":198575,"line_start":981,"line_end":981,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:500 ~ no_proto[7dec]::pointer::numbers::{impl#6}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3261},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198754,"byte_end":198778,"line_start":989,"line_end":989,"column_start":4,"column_end":28},"name":"u32_schema_parsing_works","qualname":"::pointer::numbers::u32_schema_parsing_works","value":"fn u32_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874173},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198815,"byte_end":198821,"line_start":990,"line_end":990,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752829},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198872,"byte_end":198879,"line_start":991,"line_end":991,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441405},"span":{"file_name":"src/pointer/numbers.rs","byte_start":198991,"byte_end":198999,"line_start":993,"line_end":993,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600829},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199137,"byte_end":199143,"line_start":996,"line_end":996,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580605},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199179,"byte_end":199186,"line_start":997,"line_end":997,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409725},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199298,"byte_end":199306,"line_start":999,"line_end":999,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3261 ~ no_proto[7dec]::pointer::numbers::u32_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3265},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199466,"byte_end":199489,"line_start":1007,"line_end":1007,"column_start":4,"column_end":27},"name":"u32_default_value_works","qualname":"::pointer::numbers::u32_default_value_works","value":"fn u32_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874177},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199526,"byte_end":199532,"line_start":1008,"line_end":1008,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3265 ~ no_proto[7dec]::pointer::numbers::u32_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752833},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199581,"byte_end":199588,"line_start":1009,"line_end":1009,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3265 ~ no_proto[7dec]::pointer::numbers::u32_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547585},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199637,"byte_end":199643,"line_start":1010,"line_end":1010,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3265 ~ no_proto[7dec]::pointer::numbers::u32_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3269},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199756,"byte_end":199796,"line_start":1017,"line_end":1017,"column_start":4,"column_end":44},"name":"u32_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::u32_set_clear_value_and_compaction_works","value":"fn u32_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874181},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199833,"byte_end":199839,"line_start":1018,"line_end":1018,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3269 ~ no_proto[7dec]::pointer::numbers::u32_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752837},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199872,"byte_end":199879,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3269 ~ no_proto[7dec]::pointer::numbers::u32_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547589},"span":{"file_name":"src/pointer/numbers.rs","byte_start":199932,"byte_end":199938,"line_start":1020,"line_end":1020,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3269 ~ no_proto[7dec]::pointer::numbers::u32_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742328},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200288,"byte_end":200299,"line_start":1033,"line_end":1033,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871416},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200308,"byte_end":200311,"line_start":1033,"line_end":1033,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":504},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200263,"byte_end":200277,"line_start":1033,"line_end":1033,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830968},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200394,"byte_end":200398,"line_start":1034,"line_end":1034,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:504 ~ no_proto[7dec]::pointer::numbers::{impl#7}::np_get_default), local_id: 22 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742330},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200521,"byte_end":200525,"line_start":1037,"line_end":1037,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":506},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200496,"byte_end":200520,"line_start":1037,"line_end":1037,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096890},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200603,"byte_end":200604,"line_start":1039,"line_end":1039,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:506 ~ no_proto[7dec]::pointer::numbers::{impl#7}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314618},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200688,"byte_end":200689,"line_start":1042,"line_end":1042,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:506 ~ no_proto[7dec]::pointer::numbers::{impl#7}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742331},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200857,"byte_end":200864,"line_start":1050,"line_end":1050,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871419},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200873,"byte_end":200878,"line_start":1050,"line_end":1050,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":507},"span":{"file_name":"src/pointer/numbers.rs","byte_start":200821,"byte_end":200846,"line_start":1050,"line_end":1050,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266427},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201005,"byte_end":201010,"line_start":1054,"line_end":1054,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:507 ~ no_proto[7dec]::pointer::numbers::{impl#7}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3273},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201190,"byte_end":201214,"line_start":1062,"line_end":1062,"column_start":4,"column_end":28},"name":"u64_schema_parsing_works","qualname":"::pointer::numbers::u64_schema_parsing_works","value":"fn u64_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874185},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201251,"byte_end":201257,"line_start":1063,"line_end":1063,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752841},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201308,"byte_end":201315,"line_start":1064,"line_end":1064,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441417},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201427,"byte_end":201435,"line_start":1066,"line_end":1066,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600841},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201573,"byte_end":201579,"line_start":1069,"line_end":1069,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580617},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201615,"byte_end":201622,"line_start":1070,"line_end":1070,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409737},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201734,"byte_end":201742,"line_start":1072,"line_end":1072,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3273 ~ no_proto[7dec]::pointer::numbers::u64_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3277},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201901,"byte_end":201924,"line_start":1079,"line_end":1079,"column_start":4,"column_end":27},"name":"u64_default_value_works","qualname":"::pointer::numbers::u64_default_value_works","value":"fn u64_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874189},"span":{"file_name":"src/pointer/numbers.rs","byte_start":201961,"byte_end":201967,"line_start":1080,"line_end":1080,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3277 ~ no_proto[7dec]::pointer::numbers::u64_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752845},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202016,"byte_end":202023,"line_start":1081,"line_end":1081,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3277 ~ no_proto[7dec]::pointer::numbers::u64_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547597},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202072,"byte_end":202078,"line_start":1082,"line_end":1082,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3277 ~ no_proto[7dec]::pointer::numbers::u64_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3281},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202191,"byte_end":202231,"line_start":1089,"line_end":1089,"column_start":4,"column_end":44},"name":"u64_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::u64_set_clear_value_and_compaction_works","value":"fn u64_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874193},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202268,"byte_end":202274,"line_start":1090,"line_end":1090,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3281 ~ no_proto[7dec]::pointer::numbers::u64_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752849},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202307,"byte_end":202314,"line_start":1091,"line_end":1091,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3281 ~ no_proto[7dec]::pointer::numbers::u64_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547601},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202367,"byte_end":202373,"line_start":1092,"line_end":1092,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3281 ~ no_proto[7dec]::pointer::numbers::u64_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742335},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202723,"byte_end":202734,"line_start":1105,"line_end":1105,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871423},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202743,"byte_end":202746,"line_start":1105,"line_end":1105,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":511},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202698,"byte_end":202712,"line_start":1105,"line_end":1105,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830975},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202829,"byte_end":202833,"line_start":1106,"line_end":1106,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:511 ~ no_proto[7dec]::pointer::numbers::{impl#8}::np_get_default), local_id: 22 }","value":"&schema::NP_f32_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742337},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202956,"byte_end":202960,"line_start":1109,"line_end":1109,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":513},"span":{"file_name":"src/pointer/numbers.rs","byte_start":202931,"byte_end":202955,"line_start":1109,"line_end":1109,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096897},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203038,"byte_end":203039,"line_start":1111,"line_end":1111,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:513 ~ no_proto[7dec]::pointer::numbers::{impl#8}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314625},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203123,"byte_end":203124,"line_start":1114,"line_end":1114,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:513 ~ no_proto[7dec]::pointer::numbers::{impl#8}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742338},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203292,"byte_end":203299,"line_start":1122,"line_end":1122,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871426},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203308,"byte_end":203313,"line_start":1122,"line_end":1122,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":514},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203256,"byte_end":203281,"line_start":1122,"line_end":1122,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266434},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203440,"byte_end":203445,"line_start":1126,"line_end":1126,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:514 ~ no_proto[7dec]::pointer::numbers::{impl#8}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3285},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203624,"byte_end":203650,"line_start":1134,"line_end":1134,"column_start":4,"column_end":30},"name":"float_schema_parsing_works","qualname":"::pointer::numbers::float_schema_parsing_works","value":"fn float_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874197},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203687,"byte_end":203693,"line_start":1135,"line_end":1135,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752853},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203759,"byte_end":203766,"line_start":1136,"line_end":1136,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441429},"span":{"file_name":"src/pointer/numbers.rs","byte_start":203878,"byte_end":203886,"line_start":1138,"line_end":1138,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600853},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204024,"byte_end":204030,"line_start":1141,"line_end":1141,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580629},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204065,"byte_end":204072,"line_start":1142,"line_end":1142,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409749},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204184,"byte_end":204192,"line_start":1144,"line_end":1144,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3285 ~ no_proto[7dec]::pointer::numbers::float_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3289},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204351,"byte_end":204376,"line_start":1151,"line_end":1151,"column_start":4,"column_end":29},"name":"float_default_value_works","qualname":"::pointer::numbers::float_default_value_works","value":"fn float_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874201},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204413,"byte_end":204419,"line_start":1152,"line_end":1152,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3289 ~ no_proto[7dec]::pointer::numbers::float_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752857},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204476,"byte_end":204483,"line_start":1153,"line_end":1153,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3289 ~ no_proto[7dec]::pointer::numbers::float_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547609},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204532,"byte_end":204538,"line_start":1154,"line_end":1154,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3289 ~ no_proto[7dec]::pointer::numbers::float_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3293},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204657,"byte_end":204699,"line_start":1161,"line_end":1161,"column_start":4,"column_end":46},"name":"float_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::float_set_clear_value_and_compaction_works","value":"fn float_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874205},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204736,"byte_end":204742,"line_start":1162,"line_end":1162,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3293 ~ no_proto[7dec]::pointer::numbers::float_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752861},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204777,"byte_end":204784,"line_start":1163,"line_end":1163,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3293 ~ no_proto[7dec]::pointer::numbers::float_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547613},"span":{"file_name":"src/pointer/numbers.rs","byte_start":204837,"byte_end":204843,"line_start":1164,"line_end":1164,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3293 ~ no_proto[7dec]::pointer::numbers::float_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742342},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205206,"byte_end":205217,"line_start":1178,"line_end":1178,"column_start":33,"column_end":44},"name":"schema_addr","qualname":"::np_get_default::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871430},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205226,"byte_end":205229,"line_start":1178,"line_end":1178,"column_start":53,"column_end":56},"name":"ptr","qualname":"::np_get_default::ptr","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":518},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205181,"byte_end":205195,"line_start":1178,"line_end":1178,"column_start":8,"column_end":22},"name":"np_get_default","qualname":"::np_get_default","value":"fn np_get_default<'default>(usize, &'default Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":451},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744830982},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205312,"byte_end":205316,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:518 ~ no_proto[7dec]::pointer::numbers::{impl#9}::np_get_default), local_id: 22 }","value":"&schema::NP_f64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742344},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205439,"byte_end":205443,"line_start":1182,"line_end":1182,"column_start":33,"column_end":37},"name":"json","qualname":"::np_get_default_from_json::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":520},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205414,"byte_end":205438,"line_start":1182,"line_end":1182,"column_start":8,"column_end":32},"name":"np_get_default_from_json","qualname":"::np_get_default_from_json","value":"fn np_get_default_from_json(&NP_JSON) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":448},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3758096904},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205521,"byte_end":205522,"line_start":1184,"line_end":1184,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:520 ~ no_proto[7dec]::pointer::numbers::{impl#9}::np_get_default_from_json), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314632},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205606,"byte_end":205607,"line_start":1187,"line_end":1187,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:520 ~ no_proto[7dec]::pointer::numbers::{impl#9}::np_get_default_from_json), local_id: 23 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742345},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205775,"byte_end":205782,"line_start":1195,"line_end":1195,"column_start":44,"column_end":51},"name":"address","qualname":"::np_get_default_from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871433},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205791,"byte_end":205796,"line_start":1195,"line_end":1195,"column_start":60,"column_end":65},"name":"bytes","qualname":"::np_get_default_from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":521},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205739,"byte_end":205764,"line_start":1195,"line_end":1195,"column_start":8,"column_end":33},"name":"np_get_default_from_bytes","qualname":"::np_get_default_from_bytes","value":"fn np_get_default_from_bytes<'default>(usize, &'default [u8]) -> Option","parent":{"krate":0,"index":447},"children":[],"decl_id":{"krate":0,"index":449},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266441},"span":{"file_name":"src/pointer/numbers.rs","byte_start":205923,"byte_end":205928,"line_start":1199,"line_end":1199,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:521 ~ no_proto[7dec]::pointer::numbers::{impl#9}::np_get_default_from_bytes), local_id: 30 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3297},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206108,"byte_end":206135,"line_start":1207,"line_end":1207,"column_start":4,"column_end":31},"name":"double_schema_parsing_works","qualname":"::pointer::numbers::double_schema_parsing_works","value":"fn double_schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874209},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206172,"byte_end":206178,"line_start":1208,"line_end":1208,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752865},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206245,"byte_end":206252,"line_start":1209,"line_end":1209,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441441},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206364,"byte_end":206372,"line_start":1211,"line_end":1211,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600865},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206510,"byte_end":206516,"line_start":1214,"line_end":1214,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580641},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206552,"byte_end":206559,"line_start":1215,"line_end":1215,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409761},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206671,"byte_end":206679,"line_start":1217,"line_end":1217,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3297 ~ no_proto[7dec]::pointer::numbers::double_schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3301},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206834,"byte_end":206860,"line_start":1224,"line_end":1224,"column_start":4,"column_end":30},"name":"double_default_value_works","qualname":"::pointer::numbers::double_default_value_works","value":"fn double_default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874213},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206897,"byte_end":206903,"line_start":1225,"line_end":1225,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3301 ~ no_proto[7dec]::pointer::numbers::double_default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752869},"span":{"file_name":"src/pointer/numbers.rs","byte_start":206961,"byte_end":206968,"line_start":1226,"line_end":1226,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3301 ~ no_proto[7dec]::pointer::numbers::double_default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547621},"span":{"file_name":"src/pointer/numbers.rs","byte_start":207017,"byte_end":207023,"line_start":1227,"line_end":1227,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3301 ~ no_proto[7dec]::pointer::numbers::double_default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3305},"span":{"file_name":"src/pointer/numbers.rs","byte_start":207142,"byte_end":207185,"line_start":1234,"line_end":1234,"column_start":4,"column_end":47},"name":"double_set_clear_value_and_compaction_works","qualname":"::pointer::numbers::double_set_clear_value_and_compaction_works","value":"fn double_set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874217},"span":{"file_name":"src/pointer/numbers.rs","byte_start":207222,"byte_end":207228,"line_start":1235,"line_end":1235,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3305 ~ no_proto[7dec]::pointer::numbers::double_set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752873},"span":{"file_name":"src/pointer/numbers.rs","byte_start":207264,"byte_end":207271,"line_start":1236,"line_end":1236,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3305 ~ no_proto[7dec]::pointer::numbers::double_set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547625},"span":{"file_name":"src/pointer/numbers.rs","byte_start":207324,"byte_end":207330,"line_start":1237,"line_end":1237,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3305 ~ no_proto[7dec]::pointer::numbers::double_set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":524},"span":{"file_name":"src/pointer/bool.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"bool","qualname":"::pointer::bool","value":"src/pointer/bool.rs","parent":null,"children":[{"krate":0,"index":525},{"krate":0,"index":528},{"krate":0,"index":531},{"krate":0,"index":532},{"krate":0,"index":533},{"krate":0,"index":536},{"krate":0,"index":539},{"krate":0,"index":542},{"krate":0,"index":543},{"krate":0,"index":546},{"krate":0,"index":549},{"krate":0,"index":552},{"krate":0,"index":555},{"krate":0,"index":556},{"krate":0,"index":557},{"krate":0,"index":560},{"krate":0,"index":563},{"krate":0,"index":566},{"krate":0,"index":569},{"krate":0,"index":572},{"krate":0,"index":573},{"krate":0,"index":576},{"krate":0,"index":579},{"krate":0,"index":582},{"krate":0,"index":585},{"krate":0,"index":590},{"krate":0,"index":3306},{"krate":0,"index":3307},{"krate":0,"index":3309},{"krate":0,"index":3310},{"krate":0,"index":3311},{"krate":0,"index":3313},{"krate":0,"index":3314},{"krate":0,"index":3315},{"krate":0,"index":3317},{"krate":0,"index":3318},{"krate":0,"index":3319},{"krate":0,"index":3321}],"decl_id":null,"docs":" NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::bytes::NP_Bytes;\n \n let factory: NP_Factory = NP_Factory::new(\"bool()\")?;","sig":null,"attributes":[{"value":"/ NoProto supports Rust's native [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) type.","span":{"file_name":"src/pointer/bool.rs","byte_start":207631,"byte_end":207731,"line_start":1,"line_end":1,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":207732,"byte_end":207736,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/bool.rs","byte_start":207737,"byte_end":207744,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/bool.rs","byte_start":207745,"byte_end":207779,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/bool.rs","byte_start":207780,"byte_end":207809,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::bytes::NP_Bytes;","span":{"file_name":"src/pointer/bool.rs","byte_start":207810,"byte_end":207853,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":207854,"byte_end":207858,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"bool()\")?;","span":{"file_name":"src/pointer/bool.rs","byte_start":207859,"byte_end":207916,"line_start":8,"line_end":8,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/bool.rs","byte_start":207917,"byte_end":207920,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/bool.rs","byte_start":207921,"byte_end":207971,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], true)?;","span":{"file_name":"src/pointer/bool.rs","byte_start":207972,"byte_end":208003,"line_start":11,"line_end":11,"column_start":1,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/bool.rs","byte_start":208004,"byte_end":208008,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(true, new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/bool.rs","byte_start":208009,"byte_end":208069,"line_start":13,"line_end":13,"column_start":1,"column_end":61}},{"value":"/","span":{"file_name":"src/pointer/bool.rs","byte_start":208070,"byte_end":208073,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/bool.rs","byte_start":208074,"byte_end":208103,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/bool.rs","byte_start":208104,"byte_end":208111,"line_start":16,"line_end":16,"column_start":1,"column_end":8}}]},{"kind":"Local","id":{"krate":0,"index":1073742411},"span":{"file_name":"src/pointer/bool.rs","byte_start":208601,"byte_end":208608,"line_start":34,"line_end":34,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":587},"span":{"file_name":"src/pointer/bool.rs","byte_start":208586,"byte_end":208600,"line_start":34,"line_end":34,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742412},"span":{"file_name":"src/pointer/bool.rs","byte_start":208721,"byte_end":208728,"line_start":37,"line_end":37,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871500},"span":{"file_name":"src/pointer/bool.rs","byte_start":208742,"byte_end":208749,"line_start":37,"line_end":37,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":588},"span":{"file_name":"src/pointer/bool.rs","byte_start":208708,"byte_end":208720,"line_start":37,"line_end":37,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742413},"span":{"file_name":"src/pointer/bool.rs","byte_start":208827,"byte_end":208834,"line_start":41,"line_end":41,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871501},"span":{"file_name":"src/pointer/bool.rs","byte_start":208848,"byte_end":208855,"line_start":41,"line_end":41,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":589},"span":{"file_name":"src/pointer/bool.rs","byte_start":208814,"byte_end":208826,"line_start":41,"line_end":41,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":592},"span":{"file_name":"src/pointer/bool.rs","byte_start":208965,"byte_end":208973,"line_start":48,"line_end":48,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742417},"span":{"file_name":"src/pointer/bool.rs","byte_start":209063,"byte_end":209067,"line_start":49,"line_end":49,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":593},"span":{"file_name":"src/pointer/bool.rs","byte_start":209048,"byte_end":209061,"line_start":49,"line_end":49,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742418},"span":{"file_name":"src/pointer/bool.rs","byte_start":209157,"byte_end":209163,"line_start":51,"line_end":51,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871506},"span":{"file_name":"src/pointer/bool.rs","byte_start":209189,"byte_end":209196,"line_start":51,"line_end":51,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":594},"span":{"file_name":"src/pointer/bool.rs","byte_start":209142,"byte_end":209156,"line_start":51,"line_end":51,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805306962},"span":{"file_name":"src/pointer/bool.rs","byte_start":209251,"byte_end":209262,"line_start":52,"line_end":52,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:594 ~ no_proto[7dec]::pointer::bool::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069010},"span":{"file_name":"src/pointer/bool.rs","byte_start":209388,"byte_end":209392,"line_start":55,"line_end":55,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:594 ~ no_proto[7dec]::pointer::bool::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742419},"span":{"file_name":"src/pointer/bool.rs","byte_start":209749,"byte_end":209755,"line_start":68,"line_end":68,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871507},"span":{"file_name":"src/pointer/bool.rs","byte_start":209764,"byte_end":209771,"line_start":68,"line_end":68,"column_start":37,"column_end":44},"name":"address","qualname":"::default_value::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613331},"span":{"file_name":"src/pointer/bool.rs","byte_start":209780,"byte_end":209786,"line_start":68,"line_end":68,"column_start":53,"column_end":59},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":595},"span":{"file_name":"src/pointer/bool.rs","byte_start":209735,"byte_end":209748,"line_start":68,"line_end":68,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653779},"span":{"file_name":"src/pointer/bool.rs","byte_start":209842,"byte_end":209846,"line_start":69,"line_end":69,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:595 ~ no_proto[7dec]::pointer::bool::{impl#1}::default_value), local_id: 24 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742420},"span":{"file_name":"src/pointer/bool.rs","byte_start":209966,"byte_end":209972,"line_start":74,"line_end":74,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871508},"span":{"file_name":"src/pointer/bool.rs","byte_start":209981,"byte_end":209992,"line_start":74,"line_end":74,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613332},"span":{"file_name":"src/pointer/bool.rs","byte_start":210000,"byte_end":210006,"line_start":74,"line_end":74,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436052},"span":{"file_name":"src/pointer/bool.rs","byte_start":210019,"byte_end":210025,"line_start":74,"line_end":74,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177876},"span":{"file_name":"src/pointer/bool.rs","byte_start":210044,"byte_end":210049,"line_start":74,"line_end":74,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":596},"span":{"file_name":"src/pointer/bool.rs","byte_start":209946,"byte_end":209959,"line_start":74,"line_end":74,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742422},"span":{"file_name":"src/pointer/bool.rs","byte_start":210423,"byte_end":210429,"line_start":88,"line_end":88,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871510},"span":{"file_name":"src/pointer/bool.rs","byte_start":210442,"byte_end":210448,"line_start":88,"line_end":88,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613334},"span":{"file_name":"src/pointer/bool.rs","byte_start":210467,"byte_end":210472,"line_start":88,"line_end":88,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":598},"span":{"file_name":"src/pointer/bool.rs","byte_start":210407,"byte_end":210416,"line_start":88,"line_end":88,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960150},"span":{"file_name":"src/pointer/bool.rs","byte_start":210551,"byte_end":210558,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:598 ~ no_proto[7dec]::pointer::bool::{impl#1}::set_value), local_id: 18 }","value":"[closure@src/pointer/bool.rs:90:23: 90:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395606},"span":{"file_name":"src/pointer/bool.rs","byte_start":210610,"byte_end":210623,"line_start":91,"line_end":91,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:598 ~ no_proto[7dec]::pointer::bool::{impl#1}::set_value), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562774},"span":{"file_name":"src/pointer/bool.rs","byte_start":210998,"byte_end":211003,"line_start":106,"line_end":106,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:598 ~ no_proto[7dec]::pointer::bool::{impl#1}::set_value), local_id: 93 }","value":"[u8; 1]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742427},"span":{"file_name":"src/pointer/bool.rs","byte_start":211346,"byte_end":211352,"line_start":121,"line_end":121,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871515},"span":{"file_name":"src/pointer/bool.rs","byte_start":211366,"byte_end":211372,"line_start":121,"line_end":121,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":603},"span":{"file_name":"src/pointer/bool.rs","byte_start":211335,"byte_end":211345,"line_start":121,"line_end":121,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218331},"span":{"file_name":"src/pointer/bool.rs","byte_start":211460,"byte_end":211467,"line_start":123,"line_end":123,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:603 ~ no_proto[7dec]::pointer::bool::{impl#1}::into_value), local_id: 16 }","value":"[closure@src/pointer/bool.rs:123:23: 123:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879259},"span":{"file_name":"src/pointer/bool.rs","byte_start":211516,"byte_end":211526,"line_start":125,"line_end":125,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:603 ~ no_proto[7dec]::pointer::bool::{impl#1}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885681755},"span":{"file_name":"src/pointer/bool.rs","byte_start":211725,"byte_end":211726,"line_start":133,"line_end":133,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:603 ~ no_proto[7dec]::pointer::bool::{impl#1}::into_value), local_id: 53 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742429},"span":{"file_name":"src/pointer/bool.rs","byte_start":211862,"byte_end":211868,"line_start":140,"line_end":140,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871517},"span":{"file_name":"src/pointer/bool.rs","byte_start":211876,"byte_end":211882,"line_start":140,"line_end":140,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613341},"span":{"file_name":"src/pointer/bool.rs","byte_start":211896,"byte_end":211902,"line_start":140,"line_end":140,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":605},"span":{"file_name":"src/pointer/bool.rs","byte_start":211854,"byte_end":211861,"line_start":140,"line_end":140,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701981},"span":{"file_name":"src/pointer/bool.rs","byte_start":212001,"byte_end":212002,"line_start":143,"line_end":143,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:605 ~ no_proto[7dec]::pointer::bool::{impl#1}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314717},"span":{"file_name":"src/pointer/bool.rs","byte_start":212060,"byte_end":212061,"line_start":145,"line_end":145,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:605 ~ no_proto[7dec]::pointer::bool::{impl#1}::to_json), local_id: 23 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181038685},"span":{"file_name":"src/pointer/bool.rs","byte_start":212357,"byte_end":212361,"line_start":154,"line_end":154,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:605 ~ no_proto[7dec]::pointer::bool::{impl#1}::to_json), local_id: 65 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369099357},"span":{"file_name":"src/pointer/bool.rs","byte_start":212907,"byte_end":212909,"line_start":169,"line_end":169,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:605 ~ no_proto[7dec]::pointer::bool::{impl#1}::to_json), local_id: 104 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742430},"span":{"file_name":"src/pointer/bool.rs","byte_start":212993,"byte_end":212999,"line_start":175,"line_end":175,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871518},"span":{"file_name":"src/pointer/bool.rs","byte_start":213007,"byte_end":213013,"line_start":175,"line_end":175,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613342},"span":{"file_name":"src/pointer/bool.rs","byte_start":213027,"byte_end":213033,"line_start":175,"line_end":175,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":606},"span":{"file_name":"src/pointer/bool.rs","byte_start":212984,"byte_end":212992,"line_start":175,"line_end":175,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960158},"span":{"file_name":"src/pointer/bool.rs","byte_start":213088,"byte_end":213095,"line_start":176,"line_end":176,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:606 ~ no_proto[7dec]::pointer::bool::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/pointer/bool.rs:176:23: 176:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742432},"span":{"file_name":"src/pointer/bool.rs","byte_start":213293,"byte_end":213299,"line_start":184,"line_end":184,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871520},"span":{"file_name":"src/pointer/bool.rs","byte_start":213325,"byte_end":213332,"line_start":184,"line_end":184,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":608},"span":{"file_name":"src/pointer/bool.rs","byte_start":213279,"byte_end":213292,"line_start":184,"line_end":184,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831072},"span":{"file_name":"src/pointer/bool.rs","byte_start":213383,"byte_end":213387,"line_start":186,"line_end":186,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:608 ~ no_proto[7dec]::pointer::bool::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Bool_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750176},"span":{"file_name":"src/pointer/bool.rs","byte_start":213476,"byte_end":213482,"line_start":188,"line_end":188,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:608 ~ no_proto[7dec]::pointer::bool::{impl#1}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742433},"span":{"file_name":"src/pointer/bool.rs","byte_start":213877,"byte_end":213883,"line_start":203,"line_end":203,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871521},"span":{"file_name":"src/pointer/bool.rs","byte_start":213908,"byte_end":213913,"line_start":203,"line_end":203,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613345},"span":{"file_name":"src/pointer/bool.rs","byte_start":213921,"byte_end":213924,"line_start":203,"line_end":203,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436065},"span":{"file_name":"src/pointer/bool.rs","byte_start":213938,"byte_end":213942,"line_start":203,"line_end":203,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":609},"span":{"file_name":"src/pointer/bool.rs","byte_start":213854,"byte_end":213872,"line_start":203,"line_end":203,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281701985},"span":{"file_name":"src/pointer/bool.rs","byte_start":214037,"byte_end":214044,"line_start":205,"line_end":205,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593121},"span":{"file_name":"src/pointer/bool.rs","byte_start":214157,"byte_end":214167,"line_start":208,"line_end":208,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 33 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722209},"span":{"file_name":"src/pointer/bool.rs","byte_start":214200,"byte_end":214203,"line_start":209,"line_end":209,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825205857},"span":{"file_name":"src/pointer/bool.rs","byte_start":214205,"byte_end":214210,"line_start":209,"line_end":209,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859041},"span":{"file_name":"src/pointer/bool.rs","byte_start":214424,"byte_end":214429,"line_start":213,"line_end":213,"column_start":52,"column_end":57},"name":"state","qualname":"state$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 63 }","value":"&bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16777825},"span":{"file_name":"src/pointer/bool.rs","byte_start":214820,"byte_end":214831,"line_start":227,"line_end":227,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 128 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244636257},"span":{"file_name":"src/pointer/bool.rs","byte_start":214922,"byte_end":214929,"line_start":230,"line_end":230,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 191 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150995553},"span":{"file_name":"src/pointer/bool.rs","byte_start":214965,"byte_end":214966,"line_start":231,"line_end":231,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:609 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_idl_to_schema), local_id: 144 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742434},"span":{"file_name":"src/pointer/bool.rs","byte_start":215611,"byte_end":215617,"line_start":256,"line_end":256,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871522},"span":{"file_name":"src/pointer/bool.rs","byte_start":215642,"byte_end":215653,"line_start":256,"line_end":256,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":610},"span":{"file_name":"src/pointer/bool.rs","byte_start":215587,"byte_end":215606,"line_start":256,"line_end":256,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218338},"span":{"file_name":"src/pointer/bool.rs","byte_start":215749,"byte_end":215760,"line_start":258,"line_end":258,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:610 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060086882},"span":{"file_name":"src/pointer/bool.rs","byte_start":215851,"byte_end":215858,"line_start":261,"line_end":261,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:610 ~ no_proto[7dec]::pointer::bool::{impl#1}::from_json_to_schema), local_id: 79 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742435},"span":{"file_name":"src/pointer/bool.rs","byte_start":216556,"byte_end":216562,"line_start":286,"line_end":286,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871523},"span":{"file_name":"src/pointer/bool.rs","byte_start":216587,"byte_end":216594,"line_start":286,"line_end":286,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613347},"span":{"file_name":"src/pointer/bool.rs","byte_start":216603,"byte_end":216608,"line_start":286,"line_end":286,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":611},"span":{"file_name":"src/pointer/bool.rs","byte_start":216531,"byte_end":216551,"line_start":286,"line_end":286,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3309},"span":{"file_name":"src/pointer/bool.rs","byte_start":217118,"byte_end":217142,"line_start":304,"line_end":304,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::bool::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874221},"span":{"file_name":"src/pointer/bool.rs","byte_start":217179,"byte_end":217185,"line_start":305,"line_end":305,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752877},"span":{"file_name":"src/pointer/bool.rs","byte_start":217222,"byte_end":217229,"line_start":306,"line_end":306,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699629},"span":{"file_name":"src/pointer/bool.rs","byte_start":217323,"byte_end":217331,"line_start":308,"line_end":308,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526729965},"span":{"file_name":"src/pointer/bool.rs","byte_start":217456,"byte_end":217462,"line_start":311,"line_end":311,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936016109},"span":{"file_name":"src/pointer/bool.rs","byte_start":217483,"byte_end":217490,"line_start":312,"line_end":312,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202695917},"span":{"file_name":"src/pointer/bool.rs","byte_start":217584,"byte_end":217592,"line_start":314,"line_end":314,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3309 ~ no_proto[7dec]::pointer::bool::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3313},"span":{"file_name":"src/pointer/bool.rs","byte_start":217733,"byte_end":217753,"line_start":320,"line_end":320,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::bool::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874225},"span":{"file_name":"src/pointer/bool.rs","byte_start":217790,"byte_end":217796,"line_start":321,"line_end":321,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752881},"span":{"file_name":"src/pointer/bool.rs","byte_start":217848,"byte_end":217855,"line_start":322,"line_end":322,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441457},"span":{"file_name":"src/pointer/bool.rs","byte_start":217967,"byte_end":217975,"line_start":324,"line_end":324,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600881},"span":{"file_name":"src/pointer/bool.rs","byte_start":218113,"byte_end":218119,"line_start":327,"line_end":327,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580657},"span":{"file_name":"src/pointer/bool.rs","byte_start":218153,"byte_end":218160,"line_start":328,"line_end":328,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409777},"span":{"file_name":"src/pointer/bool.rs","byte_start":218272,"byte_end":218280,"line_start":330,"line_end":330,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3313 ~ no_proto[7dec]::pointer::bool::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3317},"span":{"file_name":"src/pointer/bool.rs","byte_start":218434,"byte_end":218453,"line_start":336,"line_end":336,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::bool::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874229},"span":{"file_name":"src/pointer/bool.rs","byte_start":218490,"byte_end":218496,"line_start":337,"line_end":337,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3317 ~ no_proto[7dec]::pointer::bool::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752885},"span":{"file_name":"src/pointer/bool.rs","byte_start":218548,"byte_end":218555,"line_start":338,"line_end":338,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3317 ~ no_proto[7dec]::pointer::bool::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547637},"span":{"file_name":"src/pointer/bool.rs","byte_start":218604,"byte_end":218610,"line_start":339,"line_end":339,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3317 ~ no_proto[7dec]::pointer::bool::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3321},"span":{"file_name":"src/pointer/bool.rs","byte_start":218724,"byte_end":218760,"line_start":347,"line_end":347,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::bool::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874233},"span":{"file_name":"src/pointer/bool.rs","byte_start":218797,"byte_end":218803,"line_start":348,"line_end":348,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3321 ~ no_proto[7dec]::pointer::bool::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752889},"span":{"file_name":"src/pointer/bool.rs","byte_start":218837,"byte_end":218844,"line_start":349,"line_end":349,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3321 ~ no_proto[7dec]::pointer::bool::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547641},"span":{"file_name":"src/pointer/bool.rs","byte_start":218897,"byte_end":218903,"line_start":350,"line_end":350,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3321 ~ no_proto[7dec]::pointer::bool::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":612},"span":{"file_name":"src/pointer/geo.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"geo","qualname":"::pointer::geo","value":"src/pointer/geo.rs","parent":null,"children":[{"krate":0,"index":613},{"krate":0,"index":616},{"krate":0,"index":619},{"krate":0,"index":620},{"krate":0,"index":621},{"krate":0,"index":624},{"krate":0,"index":627},{"krate":0,"index":628},{"krate":0,"index":631},{"krate":0,"index":634},{"krate":0,"index":637},{"krate":0,"index":640},{"krate":0,"index":643},{"krate":0,"index":646},{"krate":0,"index":647},{"krate":0,"index":650},{"krate":0,"index":653},{"krate":0,"index":654},{"krate":0,"index":657},{"krate":0,"index":660},{"krate":0,"index":661},{"krate":0,"index":664},{"krate":0,"index":667},{"krate":0,"index":668},{"krate":0,"index":669},{"krate":0,"index":670},{"krate":0,"index":672},{"krate":0,"index":675},{"krate":0,"index":678},{"krate":0,"index":681},{"krate":0,"index":682},{"krate":0,"index":685},{"krate":0,"index":686},{"krate":0,"index":689},{"krate":0,"index":3322},{"krate":0,"index":3326},{"krate":0,"index":3328},{"krate":0,"index":3329},{"krate":0,"index":3331},{"krate":0,"index":3332},{"krate":0,"index":692},{"krate":0,"index":697},{"krate":0,"index":705},{"krate":0,"index":707},{"krate":0,"index":3335},{"krate":0,"index":3339},{"krate":0,"index":3341},{"krate":0,"index":3343},{"krate":0,"index":3344},{"krate":0,"index":738},{"krate":0,"index":743},{"krate":0,"index":748},{"krate":0,"index":750},{"krate":0,"index":751},{"krate":0,"index":3347},{"krate":0,"index":3348},{"krate":0,"index":3350},{"krate":0,"index":3351},{"krate":0,"index":3352},{"krate":0,"index":3354},{"krate":0,"index":3355},{"krate":0,"index":3356},{"krate":0,"index":3358},{"krate":0,"index":3359},{"krate":0,"index":3360},{"krate":0,"index":3362}],"decl_id":null,"docs":" Represents a Geographic Coordinate (lat / lon)\n \n When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::geo::NP_Geo;\n \n let factory: NP_Factory = NP_Factory::new(\"geo4()\")?;","sig":null,"attributes":[{"value":"/ Represents a Geographic Coordinate (lat / lon)","span":{"file_name":"src/pointer/geo.rs","byte_start":219192,"byte_end":219242,"line_start":1,"line_end":1,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219243,"byte_end":219247,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ When `geo4`, `geo8`, or `geo16` types are used the data is saved and retrieved with this struct.","span":{"file_name":"src/pointer/geo.rs","byte_start":219248,"byte_end":219348,"line_start":3,"line_end":3,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219349,"byte_end":219353,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/geo.rs","byte_start":219354,"byte_end":219361,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/geo.rs","byte_start":219362,"byte_end":219396,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/geo.rs","byte_start":219397,"byte_end":219426,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/pointer/geo.rs","byte_start":219427,"byte_end":219466,"line_start":8,"line_end":8,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219467,"byte_end":219471,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"geo4()\")?;","span":{"file_name":"src/pointer/geo.rs","byte_start":219472,"byte_end":219529,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/geo.rs","byte_start":219530,"byte_end":219533,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/geo.rs","byte_start":219534,"byte_end":219584,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Geo::new(4, 45.509616, -122.714625))?;","span":{"file_name":"src/pointer/geo.rs","byte_start":219585,"byte_end":219650,"line_start":13,"line_end":13,"column_start":1,"column_end":66}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219651,"byte_end":219655,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"{\\\"lat\\\":45.5,\\\"lng\\\":-122.71}\", new_buffer.get::(&[])?.unwrap().into_json().stringify());","span":{"file_name":"src/pointer/geo.rs","byte_start":219656,"byte_end":219770,"line_start":15,"line_end":15,"column_start":1,"column_end":115}},{"value":"/","span":{"file_name":"src/pointer/geo.rs","byte_start":219771,"byte_end":219774,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/geo.rs","byte_start":219775,"byte_end":219804,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/geo.rs","byte_start":219805,"byte_end":219812,"line_start":18,"line_end":18,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":219813,"byte_end":219817,"line_start":19,"line_end":19,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3322},"span":{"file_name":"src/pointer/geo.rs","byte_start":220488,"byte_end":220500,"line_start":41,"line_end":41,"column_start":12,"column_end":24},"name":"NP_Geo_Bytes","qualname":"::pointer::geo::NP_Geo_Bytes","value":"NP_Geo_Bytes { size, lat, lng }","parent":null,"children":[{"krate":0,"index":3323},{"krate":0,"index":3324},{"krate":0,"index":3325}],"decl_id":null,"docs":" Allows you to efficiently retrieve just the bytes of the geographic coordinate\n","sig":null,"attributes":[{"value":"/ Allows you to efficiently retrieve just the bytes of the geographic coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":220362,"byte_end":220444,"line_start":39,"line_end":39,"column_start":1,"column_end":83}}]},{"kind":"Field","id":{"krate":0,"index":3323},"span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"name":"size","qualname":"::pointer::geo::NP_Geo_Bytes::size","value":"u8","parent":{"krate":0,"index":3322},"children":[],"decl_id":null,"docs":" Size of this coordinate: 4, 8 or 16\n","sig":null,"attributes":[{"value":"/ Size of this coordinate: 4, 8 or 16","span":{"file_name":"src/pointer/geo.rs","byte_start":220507,"byte_end":220546,"line_start":42,"line_end":42,"column_start":5,"column_end":44}}]},{"kind":"Field","id":{"krate":0,"index":3324},"span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"name":"lat","qualname":"::pointer::geo::NP_Geo_Bytes::lat","value":"std::vec::Vec","parent":{"krate":0,"index":3322},"children":[],"decl_id":null,"docs":" latitude bytes\n","sig":null,"attributes":[{"value":"/ latitude bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":220569,"byte_end":220587,"line_start":44,"line_end":44,"column_start":5,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3325},"span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"name":"lng","qualname":"::pointer::geo::NP_Geo_Bytes::lng","value":"std::vec::Vec","parent":{"krate":0,"index":3322},"children":[],"decl_id":null,"docs":" longitude bytes\n","sig":null,"attributes":[{"value":"/ longitude bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":220614,"byte_end":220633,"line_start":46,"line_end":46,"column_start":5,"column_end":24}}]},{"kind":"Local","id":{"krate":0,"index":1073742518},"span":{"file_name":"src/pointer/geo.rs","byte_start":220737,"byte_end":220743,"line_start":52,"line_end":52,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":694},"span":{"file_name":"src/pointer/geo.rs","byte_start":220722,"byte_end":220736,"line_start":52,"line_end":52,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702070},"span":{"file_name":"src/pointer/geo.rs","byte_start":220812,"byte_end":220816,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:694 ~ no_proto[7dec]::pointer::geo::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742519},"span":{"file_name":"src/pointer/geo.rs","byte_start":220963,"byte_end":220969,"line_start":57,"line_end":57,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871607},"span":{"file_name":"src/pointer/geo.rs","byte_start":220983,"byte_end":220989,"line_start":57,"line_end":57,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":695},"span":{"file_name":"src/pointer/geo.rs","byte_start":220950,"byte_end":220962,"line_start":57,"line_end":57,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653879},"span":{"file_name":"src/pointer/geo.rs","byte_start":221033,"byte_end":221037,"line_start":58,"line_end":58,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:695 ~ no_proto[7dec]::pointer::geo::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742520},"span":{"file_name":"src/pointer/geo.rs","byte_start":221220,"byte_end":221226,"line_start":62,"line_end":62,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871608},"span":{"file_name":"src/pointer/geo.rs","byte_start":221240,"byte_end":221246,"line_start":62,"line_end":62,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":696},"span":{"file_name":"src/pointer/geo.rs","byte_start":221207,"byte_end":221219,"line_start":62,"line_end":62,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653880},"span":{"file_name":"src/pointer/geo.rs","byte_start":221290,"byte_end":221294,"line_start":63,"line_end":63,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:696 ~ no_proto[7dec]::pointer::geo::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742522},"span":{"file_name":"src/pointer/geo.rs","byte_start":221562,"byte_end":221566,"line_start":70,"line_end":70,"column_start":21,"column_end":25},"name":"self","qualname":"::into_geo::self","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":698},"span":{"file_name":"src/pointer/geo.rs","byte_start":221553,"byte_end":221561,"line_start":70,"line_end":70,"column_start":12,"column_end":20},"name":"into_geo","qualname":"::into_geo","value":"pub fn into_geo(Self) -> NP_Geo","parent":null,"children":[],"decl_id":null,"docs":" Get the actual geographic coordinate for these bytes\n","sig":null,"attributes":[{"value":"/ Get the actual geographic coordinate for these bytes","span":{"file_name":"src/pointer/geo.rs","byte_start":221485,"byte_end":221541,"line_start":69,"line_end":69,"column_start":5,"column_end":61}}]},{"kind":"Local","id":{"krate":0,"index":402653882},"span":{"file_name":"src/pointer/geo.rs","byte_start":221660,"byte_end":221669,"line_start":74,"line_end":74,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 24 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545018},"span":{"file_name":"src/pointer/geo.rs","byte_start":221746,"byte_end":221755,"line_start":75,"line_end":75,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 40 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241514682},"span":{"file_name":"src/pointer/geo.rs","byte_start":221987,"byte_end":221990,"line_start":81,"line_end":81,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 82 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1174405818},"span":{"file_name":"src/pointer/geo.rs","byte_start":222061,"byte_end":222064,"line_start":83,"line_end":83,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 98 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308623546},"span":{"file_name":"src/pointer/geo.rs","byte_start":222131,"byte_end":222134,"line_start":84,"line_end":84,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 114 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553648826},"span":{"file_name":"src/pointer/geo.rs","byte_start":222201,"byte_end":222208,"line_start":85,"line_end":85,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 132 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761608378},"span":{"file_name":"src/pointer/geo.rs","byte_start":222271,"byte_end":222278,"line_start":86,"line_end":86,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 150 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976200890},"span":{"file_name":"src/pointer/geo.rs","byte_start":222452,"byte_end":222461,"line_start":91,"line_end":91,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 183 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3808428730},"span":{"file_name":"src/pointer/geo.rs","byte_start":222538,"byte_end":222547,"line_start":92,"line_end":92,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 199 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2399142586},"span":{"file_name":"src/pointer/geo.rs","byte_start":222779,"byte_end":222782,"line_start":98,"line_end":98,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 241 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155872954},"span":{"file_name":"src/pointer/geo.rs","byte_start":222853,"byte_end":222856,"line_start":100,"line_end":100,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 257 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2290090682},"span":{"file_name":"src/pointer/geo.rs","byte_start":222923,"byte_end":222926,"line_start":101,"line_end":101,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 273 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723642},"span":{"file_name":"src/pointer/geo.rs","byte_start":222993,"byte_end":223000,"line_start":102,"line_end":102,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 291 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894070458},"span":{"file_name":"src/pointer/geo.rs","byte_start":223063,"byte_end":223070,"line_start":103,"line_end":103,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 309 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1786774202},"span":{"file_name":"src/pointer/geo.rs","byte_start":223244,"byte_end":223253,"line_start":108,"line_end":108,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 342 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1719665338},"span":{"file_name":"src/pointer/geo.rs","byte_start":223330,"byte_end":223339,"line_start":109,"line_end":109,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 358 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":159384250},"span":{"file_name":"src/pointer/geo.rs","byte_start":223571,"byte_end":223574,"line_start":115,"line_end":115,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 400 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":92275386},"span":{"file_name":"src/pointer/geo.rs","byte_start":223645,"byte_end":223648,"line_start":117,"line_end":117,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 416 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493114},"span":{"file_name":"src/pointer/geo.rs","byte_start":223715,"byte_end":223718,"line_start":118,"line_end":118,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1132462778},"span":{"file_name":"src/pointer/geo.rs","byte_start":223785,"byte_end":223792,"line_start":119,"line_end":119,"column_start":21,"column_end":28},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 450 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":729809594},"span":{"file_name":"src/pointer/geo.rs","byte_start":223855,"byte_end":223862,"line_start":120,"line_end":120,"column_start":21,"column_end":28},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:698 ~ no_proto[7dec]::pointer::geo::{impl#1}::into_geo), local_id: 468 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":706},"span":{"file_name":"src/pointer/geo.rs","byte_start":224140,"byte_end":224147,"line_start":132,"line_end":132,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742533},"span":{"file_name":"src/pointer/geo.rs","byte_start":224315,"byte_end":224321,"line_start":139,"line_end":139,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871621},"span":{"file_name":"src/pointer/geo.rs","byte_start":224330,"byte_end":224341,"line_start":139,"line_end":139,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613445},"span":{"file_name":"src/pointer/geo.rs","byte_start":224349,"byte_end":224356,"line_start":139,"line_end":139,"column_start":62,"column_end":69},"name":"_cursor","qualname":"::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436165},"span":{"file_name":"src/pointer/geo.rs","byte_start":224369,"byte_end":224376,"line_start":139,"line_end":139,"column_start":82,"column_end":89},"name":"_memory","qualname":"::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342177989},"span":{"file_name":"src/pointer/geo.rs","byte_start":224395,"byte_end":224401,"line_start":139,"line_end":139,"column_start":108,"column_end":114},"name":"_value","qualname":"::set_from_json::_value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":709},"span":{"file_name":"src/pointer/geo.rs","byte_start":224295,"byte_end":224308,"line_start":139,"line_end":139,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742535},"span":{"file_name":"src/pointer/geo.rs","byte_start":224516,"byte_end":224522,"line_start":143,"line_end":143,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871623},"span":{"file_name":"src/pointer/geo.rs","byte_start":224531,"byte_end":224536,"line_start":143,"line_end":143,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613447},"span":{"file_name":"src/pointer/geo.rs","byte_start":224545,"byte_end":224552,"line_start":143,"line_end":143,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":711},"span":{"file_name":"src/pointer/geo.rs","byte_start":224502,"byte_end":224515,"line_start":143,"line_end":143,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":712},"span":{"file_name":"src/pointer/geo.rs","byte_start":224622,"byte_end":224630,"line_start":146,"line_end":146,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742537},"span":{"file_name":"src/pointer/geo.rs","byte_start":224708,"byte_end":224712,"line_start":147,"line_end":147,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":713},"span":{"file_name":"src/pointer/geo.rs","byte_start":224693,"byte_end":224706,"line_start":147,"line_end":147,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742538},"span":{"file_name":"src/pointer/geo.rs","byte_start":224789,"byte_end":224795,"line_start":149,"line_end":149,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871626},"span":{"file_name":"src/pointer/geo.rs","byte_start":224821,"byte_end":224828,"line_start":149,"line_end":149,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":714},"span":{"file_name":"src/pointer/geo.rs","byte_start":224775,"byte_end":224788,"line_start":149,"line_end":149,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742539},"span":{"file_name":"src/pointer/geo.rs","byte_start":224946,"byte_end":224952,"line_start":153,"line_end":153,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871627},"span":{"file_name":"src/pointer/geo.rs","byte_start":224977,"byte_end":224981,"line_start":153,"line_end":153,"column_start":58,"column_end":62},"name":"name","qualname":"::from_idl_to_schema::name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613451},"span":{"file_name":"src/pointer/geo.rs","byte_start":224989,"byte_end":224992,"line_start":153,"line_end":153,"column_start":70,"column_end":73},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436171},"span":{"file_name":"src/pointer/geo.rs","byte_start":225006,"byte_end":225010,"line_start":153,"line_end":153,"column_start":87,"column_end":91},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":715},"span":{"file_name":"src/pointer/geo.rs","byte_start":224927,"byte_end":224945,"line_start":153,"line_end":153,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742540},"span":{"file_name":"src/pointer/geo.rs","byte_start":225177,"byte_end":225183,"line_start":157,"line_end":157,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871628},"span":{"file_name":"src/pointer/geo.rs","byte_start":225209,"byte_end":225216,"line_start":157,"line_end":157,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":716},"span":{"file_name":"src/pointer/geo.rs","byte_start":225162,"byte_end":225176,"line_start":157,"line_end":157,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742541},"span":{"file_name":"src/pointer/geo.rs","byte_start":225320,"byte_end":225327,"line_start":159,"line_end":159,"column_start":24,"column_end":31},"name":"_cursor","qualname":"::set_value::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871629},"span":{"file_name":"src/pointer/geo.rs","byte_start":225340,"byte_end":225347,"line_start":159,"line_end":159,"column_start":44,"column_end":51},"name":"_memory","qualname":"::set_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613453},"span":{"file_name":"src/pointer/geo.rs","byte_start":225366,"byte_end":225372,"line_start":159,"line_end":159,"column_start":70,"column_end":76},"name":"_value","qualname":"::set_value::_value","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":717},"span":{"file_name":"src/pointer/geo.rs","byte_start":225304,"byte_end":225313,"line_start":159,"line_end":159,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742543},"span":{"file_name":"src/pointer/geo.rs","byte_start":225544,"byte_end":225549,"line_start":162,"line_end":162,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871631},"span":{"file_name":"src/pointer/geo.rs","byte_start":225557,"byte_end":225563,"line_start":162,"line_end":162,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613455},"span":{"file_name":"src/pointer/geo.rs","byte_start":225577,"byte_end":225583,"line_start":162,"line_end":162,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":719},"span":{"file_name":"src/pointer/geo.rs","byte_start":225536,"byte_end":225543,"line_start":162,"line_end":162,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742544},"span":{"file_name":"src/pointer/geo.rs","byte_start":225686,"byte_end":225692,"line_start":165,"line_end":165,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871632},"span":{"file_name":"src/pointer/geo.rs","byte_start":225700,"byte_end":225706,"line_start":165,"line_end":165,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613456},"span":{"file_name":"src/pointer/geo.rs","byte_start":225720,"byte_end":225726,"line_start":165,"line_end":165,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":720},"span":{"file_name":"src/pointer/geo.rs","byte_start":225677,"byte_end":225685,"line_start":165,"line_end":165,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960272},"span":{"file_name":"src/pointer/geo.rs","byte_start":225782,"byte_end":225789,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:720 ~ no_proto[7dec]::pointer::geo::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/pointer/geo.rs:167:23: 167:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885681872},"span":{"file_name":"src/pointer/geo.rs","byte_start":225930,"byte_end":225934,"line_start":172,"line_end":172,"column_start":17,"column_end":21},"name":"data","qualname":"data$HirId { owner: DefId(0:720 ~ no_proto[7dec]::pointer::geo::{impl#3}::get_size), local_id: 53 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742546},"span":{"file_name":"src/pointer/geo.rs","byte_start":226089,"byte_end":226095,"line_start":177,"line_end":177,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871634},"span":{"file_name":"src/pointer/geo.rs","byte_start":226109,"byte_end":226115,"line_start":177,"line_end":177,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":722},"span":{"file_name":"src/pointer/geo.rs","byte_start":226078,"byte_end":226088,"line_start":177,"line_end":177,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218450},"span":{"file_name":"src/pointer/geo.rs","byte_start":226203,"byte_end":226210,"line_start":179,"line_end":179,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/geo.rs:179:23: 179:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879378},"span":{"file_name":"src/pointer/geo.rs","byte_start":226259,"byte_end":226269,"line_start":181,"line_end":181,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859154},"span":{"file_name":"src/pointer/geo.rs","byte_start":226414,"byte_end":226418,"line_start":188,"line_end":188,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909714},"span":{"file_name":"src/pointer/geo.rs","byte_start":226516,"byte_end":226520,"line_start":190,"line_end":190,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534930},"span":{"file_name":"src/pointer/geo.rs","byte_start":226604,"byte_end":226613,"line_start":194,"line_end":194,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 100 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040188114},"span":{"file_name":"src/pointer/geo.rs","byte_start":226697,"byte_end":226706,"line_start":195,"line_end":195,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 124 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768241362},"span":{"file_name":"src/pointer/geo.rs","byte_start":226921,"byte_end":226930,"line_start":200,"line_end":200,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 165 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170894546},"span":{"file_name":"src/pointer/geo.rs","byte_start":227014,"byte_end":227023,"line_start":201,"line_end":201,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 189 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1728053970},"span":{"file_name":"src/pointer/geo.rs","byte_start":227237,"byte_end":227246,"line_start":206,"line_end":206,"column_start":21,"column_end":30},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 230 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2130707154},"span":{"file_name":"src/pointer/geo.rs","byte_start":227330,"byte_end":227339,"line_start":207,"line_end":207,"column_start":21,"column_end":30},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:722 ~ no_proto[7dec]::pointer::geo::{impl#3}::into_value), local_id: 254 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742560},"span":{"file_name":"src/pointer/geo.rs","byte_start":227625,"byte_end":227631,"line_start":217,"line_end":217,"column_start":28,"column_end":34},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871648},"span":{"file_name":"src/pointer/geo.rs","byte_start":227656,"byte_end":227667,"line_start":217,"line_end":217,"column_start":59,"column_end":70},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":736},"span":{"file_name":"src/pointer/geo.rs","byte_start":227605,"byte_end":227624,"line_start":217,"line_end":217,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742561},"span":{"file_name":"src/pointer/geo.rs","byte_start":227838,"byte_end":227844,"line_start":221,"line_end":221,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871649},"span":{"file_name":"src/pointer/geo.rs","byte_start":227869,"byte_end":227876,"line_start":221,"line_end":221,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613473},"span":{"file_name":"src/pointer/geo.rs","byte_start":227885,"byte_end":227890,"line_start":221,"line_end":221,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":737},"span":{"file_name":"src/pointer/geo.rs","byte_start":227817,"byte_end":227837,"line_start":221,"line_end":221,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3335},"span":{"file_name":"src/pointer/geo.rs","byte_start":228150,"byte_end":228156,"line_start":233,"line_end":233,"column_start":12,"column_end":18},"name":"NP_Geo","qualname":"::pointer::geo::NP_Geo","value":"NP_Geo { size, lat, lng }","parent":null,"children":[{"krate":0,"index":3336},{"krate":0,"index":3337},{"krate":0,"index":3338}],"decl_id":null,"docs":" Holds geographic coordinates\n \n Check out documentation [here](../geo/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds geographic coordinates","span":{"file_name":"src/pointer/geo.rs","byte_start":228006,"byte_end":228038,"line_start":228,"line_end":228,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":228039,"byte_end":228043,"line_start":229,"line_end":229,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../geo/index.html).","span":{"file_name":"src/pointer/geo.rs","byte_start":228044,"byte_end":228098,"line_start":230,"line_end":230,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":228099,"byte_end":228103,"line_start":231,"line_end":231,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3336},"span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"name":"size","qualname":"::pointer::geo::NP_Geo::size","value":"u8","parent":{"krate":0,"index":3335},"children":[],"decl_id":null,"docs":" The size of this geographic coordinate. 4, 8 or 16\n","sig":null,"attributes":[{"value":"/ The size of this geographic coordinate. 4, 8 or 16","span":{"file_name":"src/pointer/geo.rs","byte_start":228163,"byte_end":228218,"line_start":234,"line_end":234,"column_start":5,"column_end":60}}]},{"kind":"Field","id":{"krate":0,"index":3337},"span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"name":"lat","qualname":"::pointer::geo::NP_Geo::lat","value":"f64","parent":{"krate":0,"index":3335},"children":[],"decl_id":null,"docs":" The latitude of this coordinate\n","sig":null,"attributes":[{"value":"/ The latitude of this coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":228241,"byte_end":228276,"line_start":236,"line_end":236,"column_start":5,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":3338},"span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"name":"lng","qualname":"::pointer::geo::NP_Geo::lng","value":"f64","parent":{"krate":0,"index":3335},"children":[],"decl_id":null,"docs":" The longitude of this coordinate\n","sig":null,"attributes":[{"value":"/ The longitude of this coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":228299,"byte_end":228335,"line_start":238,"line_end":238,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073742564},"span":{"file_name":"src/pointer/geo.rs","byte_start":228429,"byte_end":228435,"line_start":243,"line_end":243,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":740},"span":{"file_name":"src/pointer/geo.rs","byte_start":228414,"byte_end":228428,"line_start":243,"line_end":243,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702116},"span":{"file_name":"src/pointer/geo.rs","byte_start":228504,"byte_end":228508,"line_start":244,"line_end":244,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:740 ~ no_proto[7dec]::pointer::geo::{impl#4}::schema_default), local_id: 17 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742565},"span":{"file_name":"src/pointer/geo.rs","byte_start":228649,"byte_end":228655,"line_start":248,"line_end":248,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871653},"span":{"file_name":"src/pointer/geo.rs","byte_start":228669,"byte_end":228675,"line_start":248,"line_end":248,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":741},"span":{"file_name":"src/pointer/geo.rs","byte_start":228636,"byte_end":228648,"line_start":248,"line_end":248,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653925},"span":{"file_name":"src/pointer/geo.rs","byte_start":228719,"byte_end":228723,"line_start":249,"line_end":249,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:741 ~ no_proto[7dec]::pointer::geo::{impl#4}::np_max_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742566},"span":{"file_name":"src/pointer/geo.rs","byte_start":228900,"byte_end":228906,"line_start":253,"line_end":253,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871654},"span":{"file_name":"src/pointer/geo.rs","byte_start":228920,"byte_end":228926,"line_start":253,"line_end":253,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":742},"span":{"file_name":"src/pointer/geo.rs","byte_start":228887,"byte_end":228899,"line_start":253,"line_end":253,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653926},"span":{"file_name":"src/pointer/geo.rs","byte_start":228970,"byte_end":228974,"line_start":254,"line_end":254,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:742 ~ no_proto[7dec]::pointer::geo::{impl#4}::np_min_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742568},"span":{"file_name":"src/pointer/geo.rs","byte_start":229238,"byte_end":229242,"line_start":262,"line_end":262,"column_start":16,"column_end":20},"name":"size","qualname":"::new::size","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871656},"span":{"file_name":"src/pointer/geo.rs","byte_start":229248,"byte_end":229251,"line_start":262,"line_end":262,"column_start":26,"column_end":29},"name":"lat","qualname":"::new::lat","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613480},"span":{"file_name":"src/pointer/geo.rs","byte_start":229258,"byte_end":229261,"line_start":262,"line_end":262,"column_start":36,"column_end":39},"name":"lng","qualname":"::new::lng","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":744},"span":{"file_name":"src/pointer/geo.rs","byte_start":229234,"byte_end":229237,"line_start":262,"line_end":262,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u8, f64, f64) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new NP_Geo value, make sure the size matches the schema\n","sig":null,"attributes":[{"value":"/ Create a new NP_Geo value, make sure the size matches the schema","span":{"file_name":"src/pointer/geo.rs","byte_start":229154,"byte_end":229222,"line_start":261,"line_end":261,"column_start":5,"column_end":73}}]},{"kind":"Local","id":{"krate":0,"index":1073742569},"span":{"file_name":"src/pointer/geo.rs","byte_start":229425,"byte_end":229429,"line_start":267,"line_end":267,"column_start":24,"column_end":28},"name":"size","qualname":"::get_deviser::size","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":745},"span":{"file_name":"src/pointer/geo.rs","byte_start":229413,"byte_end":229424,"line_start":267,"line_end":267,"column_start":12,"column_end":23},"name":"get_deviser","qualname":"::get_deviser","value":"pub fn get_deviser(i64) -> f64","parent":null,"children":[],"decl_id":null,"docs":" Get the deviser value depending on the resolution of the type in the schema\n","sig":null,"attributes":[{"value":"/ Get the deviser value depending on the resolution of the type in the schema","span":{"file_name":"src/pointer/geo.rs","byte_start":229322,"byte_end":229401,"line_start":266,"line_end":266,"column_start":5,"column_end":84}}]},{"kind":"Local","id":{"krate":0,"index":1073742570},"span":{"file_name":"src/pointer/geo.rs","byte_start":229667,"byte_end":229671,"line_start":278,"line_end":278,"column_start":24,"column_end":28},"name":"self","qualname":"::into_json::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":746},"span":{"file_name":"src/pointer/geo.rs","byte_start":229656,"byte_end":229665,"line_start":278,"line_end":278,"column_start":13,"column_end":22},"name":"into_json","qualname":"::into_json","value":"pub fn into_json(&Self) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" Export this Geo point to JSON\n \n","sig":null,"attributes":[{"value":"/ Export this Geo point to JSON","span":{"file_name":"src/pointer/geo.rs","byte_start":229600,"byte_end":229633,"line_start":276,"line_end":276,"column_start":6,"column_end":39}},{"value":"/ ","span":{"file_name":"src/pointer/geo.rs","byte_start":229639,"byte_end":229643,"line_start":277,"line_end":277,"column_start":6,"column_end":10}}]},{"kind":"Local","id":{"krate":0,"index":1342178026},"span":{"file_name":"src/pointer/geo.rs","byte_start":229702,"byte_end":229713,"line_start":279,"line_end":279,"column_start":17,"column_end":28},"name":"result_json","qualname":"result_json$HirId { owner: DefId(0:746 ~ no_proto[7dec]::pointer::geo::{impl#5}::into_json), local_id: 10 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742571},"span":{"file_name":"src/pointer/geo.rs","byte_start":230011,"byte_end":230015,"line_start":286,"line_end":286,"column_start":24,"column_end":28},"name":"self","qualname":"::get_bytes::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":747},"span":{"file_name":"src/pointer/geo.rs","byte_start":230000,"byte_end":230009,"line_start":286,"line_end":286,"column_start":13,"column_end":22},"name":"get_bytes","qualname":"::get_bytes","value":"pub fn get_bytes(&Self) -> Option","parent":null,"children":[],"decl_id":null,"docs":" Get the bytes that represent this geographic coordinate\n","sig":null,"attributes":[{"value":"/ Get the bytes that represent this geographic coordinate","span":{"file_name":"src/pointer/geo.rs","byte_start":229928,"byte_end":229987,"line_start":285,"line_end":285,"column_start":6,"column_end":65}}]},{"kind":"Local","id":{"krate":0,"index":3087008491},"span":{"file_name":"src/pointer/geo.rs","byte_start":230118,"byte_end":230121,"line_start":291,"line_end":291,"column_start":13,"column_end":16},"name":"dev","qualname":"dev$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 29 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327339},"span":{"file_name":"src/pointer/geo.rs","byte_start":230177,"byte_end":230184,"line_start":294,"line_end":294,"column_start":13,"column_end":20},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 48 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780651},"span":{"file_name":"src/pointer/geo.rs","byte_start":230244,"byte_end":230251,"line_start":295,"line_end":295,"column_start":13,"column_end":20},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 67 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778385643},"span":{"file_name":"src/pointer/geo.rs","byte_start":230373,"byte_end":230382,"line_start":300,"line_end":300,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 86 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321889515},"span":{"file_name":"src/pointer/geo.rs","byte_start":230449,"byte_end":230458,"line_start":301,"line_end":301,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 99 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157628651},"span":{"file_name":"src/pointer/geo.rs","byte_start":230828,"byte_end":230837,"line_start":311,"line_end":311,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 162 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110418667},"span":{"file_name":"src/pointer/geo.rs","byte_start":230904,"byte_end":230913,"line_start":312,"line_end":312,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 175 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996489451},"span":{"file_name":"src/pointer/geo.rs","byte_start":231283,"byte_end":231292,"line_start":322,"line_end":322,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 238 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3741319915},"span":{"file_name":"src/pointer/geo.rs","byte_start":231359,"byte_end":231368,"line_start":323,"line_end":323,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:747 ~ no_proto[7dec]::pointer::geo::{impl#5}::get_bytes), local_id: 251 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":749},"span":{"file_name":"src/pointer/geo.rs","byte_start":231801,"byte_end":231808,"line_start":339,"line_end":339,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742574},"span":{"file_name":"src/pointer/geo.rs","byte_start":231900,"byte_end":231904,"line_start":344,"line_end":344,"column_start":22,"column_end":26},"name":"size","qualname":"::pointer::geo::geo_default_value::size","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871662},"span":{"file_name":"src/pointer/geo.rs","byte_start":231910,"byte_end":231914,"line_start":344,"line_end":344,"column_start":32,"column_end":36},"name":"json","qualname":"::pointer::geo::geo_default_value::json","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":750},"span":{"file_name":"src/pointer/geo.rs","byte_start":231882,"byte_end":231899,"line_start":344,"line_end":344,"column_start":4,"column_end":21},"name":"geo_default_value","qualname":"::pointer::geo::geo_default_value","value":"fn geo_default_value(u8, &NP_JSON) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307118},"span":{"file_name":"src/pointer/geo.rs","byte_start":232027,"byte_end":232028,"line_start":346,"line_end":346,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 12 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960302},"span":{"file_name":"src/pointer/geo.rs","byte_start":232055,"byte_end":232058,"line_start":347,"line_end":347,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 18 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137582},"span":{"file_name":"src/pointer/geo.rs","byte_start":232121,"byte_end":232122,"line_start":349,"line_end":349,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 25 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109614},"span":{"file_name":"src/pointer/geo.rs","byte_start":232200,"byte_end":232201,"line_start":351,"line_end":351,"column_start":42,"column_end":43},"name":"y","qualname":"y$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 32 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348810990},"span":{"file_name":"src/pointer/geo.rs","byte_start":232319,"byte_end":232320,"line_start":354,"line_end":354,"column_start":40,"column_end":41},"name":"y","qualname":"y$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 49 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509950190},"span":{"file_name":"src/pointer/geo.rs","byte_start":232647,"byte_end":232650,"line_start":364,"line_end":364,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 90 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248147694},"span":{"file_name":"src/pointer/geo.rs","byte_start":232713,"byte_end":232714,"line_start":366,"line_end":366,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 97 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369099502},"span":{"file_name":"src/pointer/geo.rs","byte_start":232792,"byte_end":232793,"line_start":368,"line_end":368,"column_start":42,"column_end":43},"name":"y","qualname":"y$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 104 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650800878},"span":{"file_name":"src/pointer/geo.rs","byte_start":232911,"byte_end":232912,"line_start":371,"line_end":371,"column_start":40,"column_end":41},"name":"y","qualname":"y$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 121 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3036676846},"span":{"file_name":"src/pointer/geo.rs","byte_start":233301,"byte_end":233302,"line_start":383,"line_end":383,"column_start":22,"column_end":23},"name":"b","qualname":"b$HirId { owner: DefId(0:750 ~ no_proto[7dec]::pointer::geo::geo_default_value), local_id: 173 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742577},"span":{"file_name":"src/pointer/geo.rs","byte_start":233495,"byte_end":233501,"line_start":393,"line_end":393,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871665},"span":{"file_name":"src/pointer/geo.rs","byte_start":233510,"byte_end":233514,"line_start":393,"line_end":393,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613489},"span":{"file_name":"src/pointer/geo.rs","byte_start":233523,"byte_end":233529,"line_start":393,"line_end":393,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":753},"span":{"file_name":"src/pointer/geo.rs","byte_start":233481,"byte_end":233494,"line_start":393,"line_end":393,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402653937},"span":{"file_name":"src/pointer/geo.rs","byte_start":233585,"byte_end":233589,"line_start":394,"line_end":394,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:753 ~ no_proto[7dec]::pointer::geo::{impl#7}::default_value), local_id: 24 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742578},"span":{"file_name":"src/pointer/geo.rs","byte_start":233807,"byte_end":233813,"line_start":404,"line_end":404,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871666},"span":{"file_name":"src/pointer/geo.rs","byte_start":233822,"byte_end":233833,"line_start":404,"line_end":404,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613490},"span":{"file_name":"src/pointer/geo.rs","byte_start":233841,"byte_end":233847,"line_start":404,"line_end":404,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436210},"span":{"file_name":"src/pointer/geo.rs","byte_start":233860,"byte_end":233866,"line_start":404,"line_end":404,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178034},"span":{"file_name":"src/pointer/geo.rs","byte_start":233885,"byte_end":233890,"line_start":404,"line_end":404,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":754},"span":{"file_name":"src/pointer/geo.rs","byte_start":233787,"byte_end":233800,"line_start":404,"line_end":404,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266674},"span":{"file_name":"src/pointer/geo.rs","byte_start":233979,"byte_end":233983,"line_start":406,"line_end":406,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:754 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_from_json), local_id: 30 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603980530},"span":{"file_name":"src/pointer/geo.rs","byte_start":234081,"byte_end":234085,"line_start":408,"line_end":408,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:754 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_from_json), local_id: 36 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415986},"span":{"file_name":"src/pointer/geo.rs","byte_start":234157,"byte_end":234160,"line_start":411,"line_end":411,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:754 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_from_json), local_id: 44 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504626},"span":{"file_name":"src/pointer/geo.rs","byte_start":234191,"byte_end":234196,"line_start":412,"line_end":412,"column_start":25,"column_end":30},"name":"value","qualname":"value$HirId { owner: DefId(0:754 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_from_json), local_id: 58 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":756},"span":{"file_name":"src/pointer/geo.rs","byte_start":234894,"byte_end":234902,"line_start":438,"line_end":438,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742581},"span":{"file_name":"src/pointer/geo.rs","byte_start":234987,"byte_end":234991,"line_start":439,"line_end":439,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":757},"span":{"file_name":"src/pointer/geo.rs","byte_start":234972,"byte_end":234985,"line_start":439,"line_end":439,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742582},"span":{"file_name":"src/pointer/geo.rs","byte_start":235076,"byte_end":235082,"line_start":441,"line_end":441,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871670},"span":{"file_name":"src/pointer/geo.rs","byte_start":235108,"byte_end":235115,"line_start":441,"line_end":441,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":758},"span":{"file_name":"src/pointer/geo.rs","byte_start":235061,"byte_end":235075,"line_start":441,"line_end":441,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307126},"span":{"file_name":"src/pointer/geo.rs","byte_start":235170,"byte_end":235181,"line_start":442,"line_end":442,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:758 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013266678},"span":{"file_name":"src/pointer/geo.rs","byte_start":235211,"byte_end":235215,"line_start":444,"line_end":444,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:758 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_json), local_id: 30 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483028726},"span":{"file_name":"src/pointer/geo.rs","byte_start":235297,"byte_end":235305,"line_start":446,"line_end":446,"column_start":17,"column_end":25},"name":"type_str","qualname":"type_str$HirId { owner: DefId(0:758 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_json), local_id: 41 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704643830},"span":{"file_name":"src/pointer/geo.rs","byte_start":235539,"byte_end":235550,"line_start":451,"line_end":451,"column_start":21,"column_end":32},"name":"default_map","qualname":"default_map$HirId { owner: DefId(0:758 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_json), local_id: 84 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742583},"span":{"file_name":"src/pointer/geo.rs","byte_start":235897,"byte_end":235903,"line_start":461,"line_end":461,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871671},"span":{"file_name":"src/pointer/geo.rs","byte_start":235916,"byte_end":235922,"line_start":461,"line_end":461,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613495},"span":{"file_name":"src/pointer/geo.rs","byte_start":235941,"byte_end":235946,"line_start":461,"line_end":461,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":759},"span":{"file_name":"src/pointer/geo.rs","byte_start":235881,"byte_end":235890,"line_start":461,"line_end":461,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960311},"span":{"file_name":"src/pointer/geo.rs","byte_start":236025,"byte_end":236032,"line_start":463,"line_end":463,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 18 }","value":"[closure@src/pointer/geo.rs:463:23: 463:52]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722359},"span":{"file_name":"src/pointer/geo.rs","byte_start":236079,"byte_end":236083,"line_start":465,"line_end":465,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 38 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872415991},"span":{"file_name":"src/pointer/geo.rs","byte_start":236181,"byte_end":236185,"line_start":467,"line_end":467,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 44 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198263},"span":{"file_name":"src/pointer/geo.rs","byte_start":236212,"byte_end":236228,"line_start":469,"line_end":469,"column_start":13,"column_end":29},"name":"value_bytes_size","qualname":"value_bytes_size$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838861559},"span":{"file_name":"src/pointer/geo.rs","byte_start":236333,"byte_end":236344,"line_start":475,"line_end":475,"column_start":13,"column_end":24},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 76 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388998391},"span":{"file_name":"src/pointer/geo.rs","byte_start":236370,"byte_end":236386,"line_start":477,"line_end":477,"column_start":13,"column_end":29},"name":"half_value_bytes","qualname":"half_value_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 83 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276791},"span":{"file_name":"src/pointer/geo.rs","byte_start":236424,"byte_end":236431,"line_start":479,"line_end":479,"column_start":13,"column_end":20},"name":"use_lat","qualname":"use_lat$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 102 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650800887},"span":{"file_name":"src/pointer/geo.rs","byte_start":236492,"byte_end":236499,"line_start":480,"line_end":480,"column_start":13,"column_end":20},"name":"use_lng","qualname":"use_lng$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 121 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3258974967},"span":{"file_name":"src/pointer/geo.rs","byte_start":236606,"byte_end":236617,"line_start":483,"line_end":483,"column_start":13,"column_end":24},"name":"value_bytes","qualname":"value_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 579 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285213431},"span":{"file_name":"src/pointer/geo.rs","byte_start":236673,"byte_end":236676,"line_start":485,"line_end":485,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 136 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":687866615},"span":{"file_name":"src/pointer/geo.rs","byte_start":236729,"byte_end":236736,"line_start":487,"line_end":487,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 148 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2231370487},"span":{"file_name":"src/pointer/geo.rs","byte_start":236782,"byte_end":236791,"line_start":488,"line_end":488,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 161 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962935031},"span":{"file_name":"src/pointer/geo.rs","byte_start":236858,"byte_end":236867,"line_start":489,"line_end":489,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 174 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4076864247},"span":{"file_name":"src/pointer/geo.rs","byte_start":237093,"byte_end":237094,"line_start":495,"line_end":495,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 207 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":947913463},"span":{"file_name":"src/pointer/geo.rs","byte_start":237435,"byte_end":237438,"line_start":505,"line_end":505,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 284 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":343933687},"span":{"file_name":"src/pointer/geo.rs","byte_start":237490,"byte_end":237497,"line_start":507,"line_end":507,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 296 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894070519},"span":{"file_name":"src/pointer/geo.rs","byte_start":237543,"byte_end":237552,"line_start":508,"line_end":508,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 309 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115685623},"span":{"file_name":"src/pointer/geo.rs","byte_start":237619,"byte_end":237628,"line_start":509,"line_end":509,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 322 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3330278135},"span":{"file_name":"src/pointer/geo.rs","byte_start":237854,"byte_end":237855,"line_start":515,"line_end":515,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 355 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493175},"span":{"file_name":"src/pointer/geo.rs","byte_start":238196,"byte_end":238199,"line_start":525,"line_end":525,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1031799543},"span":{"file_name":"src/pointer/geo.rs","byte_start":238251,"byte_end":238258,"line_start":527,"line_end":527,"column_start":25,"column_end":32},"name":"v_bytes","qualname":"v_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 444 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2474640119},"span":{"file_name":"src/pointer/geo.rs","byte_start":238304,"byte_end":238313,"line_start":528,"line_end":528,"column_start":25,"column_end":34},"name":"lat_bytes","qualname":"lat_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 457 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803551479},"span":{"file_name":"src/pointer/geo.rs","byte_start":238380,"byte_end":238389,"line_start":529,"line_end":529,"column_start":25,"column_end":34},"name":"lon_bytes","qualname":"lon_bytes$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 470 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4018143991},"span":{"file_name":"src/pointer/geo.rs","byte_start":238615,"byte_end":238616,"line_start":535,"line_end":535,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 503 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1916797687},"span":{"file_name":"src/pointer/geo.rs","byte_start":239003,"byte_end":239016,"line_start":549,"line_end":549,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 590 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":641729271},"span":{"file_name":"src/pointer/geo.rs","byte_start":239233,"byte_end":239234,"line_start":556,"line_end":556,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 612 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3502244599},"span":{"file_name":"src/pointer/geo.rs","byte_start":239801,"byte_end":239802,"line_start":575,"line_end":575,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:759 ~ no_proto[7dec]::pointer::geo::{impl#7}::set_value), local_id: 779 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742596},"span":{"file_name":"src/pointer/geo.rs","byte_start":240108,"byte_end":240114,"line_start":588,"line_end":588,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871684},"span":{"file_name":"src/pointer/geo.rs","byte_start":240128,"byte_end":240134,"line_start":588,"line_end":588,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":772},"span":{"file_name":"src/pointer/geo.rs","byte_start":240097,"byte_end":240107,"line_start":588,"line_end":588,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218500},"span":{"file_name":"src/pointer/geo.rs","byte_start":240222,"byte_end":240229,"line_start":590,"line_end":590,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 16 }","value":"[closure@src/pointer/geo.rs:590:23: 590:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879428},"span":{"file_name":"src/pointer/geo.rs","byte_start":240278,"byte_end":240288,"line_start":592,"line_end":592,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859204},"span":{"file_name":"src/pointer/geo.rs","byte_start":240433,"byte_end":240437,"line_start":598,"line_end":598,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 63 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909764},"span":{"file_name":"src/pointer/geo.rs","byte_start":240539,"byte_end":240543,"line_start":600,"line_end":600,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637534980},"span":{"file_name":"src/pointer/geo.rs","byte_start":240641,"byte_end":240650,"line_start":605,"line_end":605,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 100 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040188164},"span":{"file_name":"src/pointer/geo.rs","byte_start":240738,"byte_end":240747,"line_start":606,"line_end":606,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 124 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3305112324},"span":{"file_name":"src/pointer/geo.rs","byte_start":240994,"byte_end":240997,"line_start":612,"line_end":612,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 163 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218104580},"span":{"file_name":"src/pointer/geo.rs","byte_start":241058,"byte_end":241061,"line_start":613,"line_end":613,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 176 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634023684},"span":{"file_name":"src/pointer/geo.rs","byte_start":241123,"byte_end":241126,"line_start":615,"line_end":615,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 185 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":654312196},"span":{"file_name":"src/pointer/geo.rs","byte_start":241280,"byte_end":241289,"line_start":620,"line_end":620,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 228 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1056965380},"span":{"file_name":"src/pointer/geo.rs","byte_start":241377,"byte_end":241386,"line_start":621,"line_end":621,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 252 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3296723716},"span":{"file_name":"src/pointer/geo.rs","byte_start":241633,"byte_end":241636,"line_start":627,"line_end":627,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 291 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":209715972},"span":{"file_name":"src/pointer/geo.rs","byte_start":241697,"byte_end":241700,"line_start":628,"line_end":628,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 304 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2625635076},"span":{"file_name":"src/pointer/geo.rs","byte_start":241762,"byte_end":241765,"line_start":630,"line_end":630,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 313 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":645923588},"span":{"file_name":"src/pointer/geo.rs","byte_start":241917,"byte_end":241926,"line_start":635,"line_end":635,"column_start":25,"column_end":34},"name":"bytes_lat","qualname":"bytes_lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 356 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1048576772},"span":{"file_name":"src/pointer/geo.rs","byte_start":242014,"byte_end":242023,"line_start":636,"line_end":636,"column_start":25,"column_end":34},"name":"bytes_lon","qualname":"bytes_lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 380 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3313500932},"span":{"file_name":"src/pointer/geo.rs","byte_start":242270,"byte_end":242273,"line_start":642,"line_end":642,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 419 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226493188},"span":{"file_name":"src/pointer/geo.rs","byte_start":242334,"byte_end":242337,"line_start":643,"line_end":643,"column_start":21,"column_end":24},"name":"lon","qualname":"lon$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 432 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2642412292},"span":{"file_name":"src/pointer/geo.rs","byte_start":242399,"byte_end":242402,"line_start":645,"line_end":645,"column_start":21,"column_end":24},"name":"dev","qualname":"dev$HirId { owner: DefId(0:772 ~ no_proto[7dec]::pointer::geo::{impl#7}::into_value), local_id: 441 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742610},"span":{"file_name":"src/pointer/geo.rs","byte_start":242610,"byte_end":242616,"line_start":655,"line_end":655,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871698},"span":{"file_name":"src/pointer/geo.rs","byte_start":242624,"byte_end":242630,"line_start":655,"line_end":655,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613522},"span":{"file_name":"src/pointer/geo.rs","byte_start":242644,"byte_end":242650,"line_start":655,"line_end":655,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":786},"span":{"file_name":"src/pointer/geo.rs","byte_start":242602,"byte_end":242609,"line_start":655,"line_end":655,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702162},"span":{"file_name":"src/pointer/geo.rs","byte_start":242749,"byte_end":242750,"line_start":658,"line_end":658,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892314898},"span":{"file_name":"src/pointer/geo.rs","byte_start":242808,"byte_end":242809,"line_start":660,"line_end":660,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 23 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593298},"span":{"file_name":"src/pointer/geo.rs","byte_start":242848,"byte_end":242854,"line_start":661,"line_end":661,"column_start":33,"column_end":39},"name":"object","qualname":"object$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 33 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562962},"span":{"file_name":"src/pointer/geo.rs","byte_start":243191,"byte_end":243195,"line_start":670,"line_end":670,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 93 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979712274},"span":{"file_name":"src/pointer/geo.rs","byte_start":243374,"byte_end":243380,"line_start":673,"line_end":673,"column_start":37,"column_end":43},"name":"object","qualname":"object$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 110 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2231370514},"span":{"file_name":"src/pointer/geo.rs","byte_start":243849,"byte_end":243851,"line_start":686,"line_end":686,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:786 ~ no_proto[7dec]::pointer::geo::{impl#7}::to_json), local_id: 161 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742611},"span":{"file_name":"src/pointer/geo.rs","byte_start":243940,"byte_end":243946,"line_start":692,"line_end":692,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871699},"span":{"file_name":"src/pointer/geo.rs","byte_start":243972,"byte_end":243979,"line_start":692,"line_end":692,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":787},"span":{"file_name":"src/pointer/geo.rs","byte_start":243926,"byte_end":243939,"line_start":692,"line_end":692,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831251},"span":{"file_name":"src/pointer/geo.rs","byte_start":244038,"byte_end":244042,"line_start":694,"line_end":694,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:787 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301990675},"span":{"file_name":"src/pointer/geo.rs","byte_start":244122,"byte_end":244132,"line_start":696,"line_end":696,"column_start":17,"column_end":27},"name":"schema_idl","qualname":"schema_idl$HirId { owner: DefId(0:787 ~ no_proto[7dec]::pointer::geo::{impl#7}::schema_to_idl), local_id: 72 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742612},"span":{"file_name":"src/pointer/geo.rs","byte_start":244840,"byte_end":244846,"line_start":719,"line_end":719,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871700},"span":{"file_name":"src/pointer/geo.rs","byte_start":244871,"byte_end":244875,"line_start":719,"line_end":719,"column_start":62,"column_end":66},"name":"name","qualname":"::from_idl_to_schema::name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613524},"span":{"file_name":"src/pointer/geo.rs","byte_start":244883,"byte_end":244886,"line_start":719,"line_end":719,"column_start":74,"column_end":77},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436244},"span":{"file_name":"src/pointer/geo.rs","byte_start":244900,"byte_end":244904,"line_start":719,"line_end":719,"column_start":91,"column_end":95},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":788},"span":{"file_name":"src/pointer/geo.rs","byte_start":244817,"byte_end":244835,"line_start":719,"line_end":719,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831252},"span":{"file_name":"src/pointer/geo.rs","byte_start":244999,"byte_end":245006,"line_start":721,"line_end":721,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 22 }","value":"(bool, f64, f64)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722388},"span":{"file_name":"src/pointer/geo.rs","byte_start":245137,"byte_end":245147,"line_start":725,"line_end":725,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 38 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770580},"span":{"file_name":"src/pointer/geo.rs","byte_start":245180,"byte_end":245183,"line_start":726,"line_end":726,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 43 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416020},"span":{"file_name":"src/pointer/geo.rs","byte_start":245185,"byte_end":245190,"line_start":726,"line_end":726,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 44 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":570426132},"span":{"file_name":"src/pointer/geo.rs","byte_start":245377,"byte_end":245390,"line_start":729,"line_end":729,"column_start":62,"column_end":75},"name":"default_props","qualname":"default_props$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 68 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474324},"span":{"file_name":"src/pointer/geo.rs","byte_start":245439,"byte_end":245443,"line_start":730,"line_end":730,"column_start":42,"column_end":46},"name":"dkey","qualname":"dkey$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 73 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732500},"span":{"file_name":"src/pointer/geo.rs","byte_start":245445,"byte_end":245451,"line_start":730,"line_end":730,"column_start":48,"column_end":54},"name":"dvalue","qualname":"dvalue$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 74 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3590325012},"span":{"file_name":"src/pointer/geo.rs","byte_start":245809,"byte_end":245813,"line_start":735,"line_end":735,"column_start":69,"column_end":73},"name":"addr","qualname":"addr$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 107 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3724542740},"span":{"file_name":"src/pointer/geo.rs","byte_start":245988,"byte_end":245989,"line_start":737,"line_end":737,"column_start":64,"column_end":65},"name":"x","qualname":"x$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 123 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2164261652},"span":{"file_name":"src/pointer/geo.rs","byte_start":246061,"byte_end":246063,"line_start":738,"line_end":738,"column_start":65,"column_end":67},"name":"_e","qualname":"_e$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 129 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2499805972},"span":{"file_name":"src/pointer/geo.rs","byte_start":246665,"byte_end":246669,"line_start":747,"line_end":747,"column_start":69,"column_end":73},"name":"addr","qualname":"addr$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 169 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634023700},"span":{"file_name":"src/pointer/geo.rs","byte_start":246844,"byte_end":246845,"line_start":749,"line_end":749,"column_start":64,"column_end":65},"name":"x","qualname":"x$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 185 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244636436},"span":{"file_name":"src/pointer/geo.rs","byte_start":246917,"byte_end":246919,"line_start":750,"line_end":750,"column_start":65,"column_end":67},"name":"_e","qualname":"_e$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 191 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":612369172},"span":{"file_name":"src/pointer/geo.rs","byte_start":247624,"byte_end":247628,"line_start":769,"line_end":769,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 292 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2726298388},"span":{"file_name":"src/pointer/geo.rs","byte_start":247764,"byte_end":247771,"line_start":776,"line_end":776,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 325 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2323645204},"span":{"file_name":"src/pointer/geo.rs","byte_start":247964,"byte_end":247975,"line_start":784,"line_end":784,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 337 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":897581844},"span":{"file_name":"src/pointer/geo.rs","byte_start":248093,"byte_end":248100,"line_start":787,"line_end":787,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 428 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":377488148},"span":{"file_name":"src/pointer/geo.rs","byte_start":248136,"byte_end":248137,"line_start":788,"line_end":788,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 360 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3514827540},"span":{"file_name":"src/pointer/geo.rs","byte_start":248303,"byte_end":248304,"line_start":792,"line_end":792,"column_start":21,"column_end":22},"name":"g","qualname":"g$HirId { owner: DefId(0:788 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_idl_to_schema), local_id: 395 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742613},"span":{"file_name":"src/pointer/geo.rs","byte_start":248820,"byte_end":248826,"line_start":809,"line_end":809,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871701},"span":{"file_name":"src/pointer/geo.rs","byte_start":248834,"byte_end":248840,"line_start":809,"line_end":809,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613525},"span":{"file_name":"src/pointer/geo.rs","byte_start":248854,"byte_end":248860,"line_start":809,"line_end":809,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":789},"span":{"file_name":"src/pointer/geo.rs","byte_start":248811,"byte_end":248819,"line_start":809,"line_end":809,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960341},"span":{"file_name":"src/pointer/geo.rs","byte_start":248916,"byte_end":248923,"line_start":811,"line_end":811,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:789 ~ no_proto[7dec]::pointer::geo::{impl#7}::get_size), local_id: 18 }","value":"[closure@src/pointer/geo.rs:811:23: 811:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395797},"span":{"file_name":"src/pointer/geo.rs","byte_start":248972,"byte_end":248982,"line_start":813,"line_end":813,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:789 ~ no_proto[7dec]::pointer::geo::{impl#7}::get_size), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543504661},"span":{"file_name":"src/pointer/geo.rs","byte_start":249102,"byte_end":249106,"line_start":818,"line_end":818,"column_start":17,"column_end":21},"name":"data","qualname":"data$HirId { owner: DefId(0:789 ~ no_proto[7dec]::pointer::geo::{impl#7}::get_size), local_id: 58 }","value":"&schema::NP_Geo_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742615},"span":{"file_name":"src/pointer/geo.rs","byte_start":249274,"byte_end":249280,"line_start":823,"line_end":823,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871703},"span":{"file_name":"src/pointer/geo.rs","byte_start":249305,"byte_end":249316,"line_start":823,"line_end":823,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":791},"span":{"file_name":"src/pointer/geo.rs","byte_start":249250,"byte_end":249269,"line_start":823,"line_end":823,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750359},"span":{"file_name":"src/pointer/geo.rs","byte_start":249408,"byte_end":249416,"line_start":825,"line_end":825,"column_start":13,"column_end":21},"name":"type_str","qualname":"type_str$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069207},"span":{"file_name":"src/pointer/geo.rs","byte_start":249539,"byte_end":249550,"line_start":829,"line_end":829,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 50 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83886871},"span":{"file_name":"src/pointer/geo.rs","byte_start":249689,"byte_end":249696,"line_start":832,"line_end":832,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 160 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120562967},"span":{"file_name":"src/pointer/geo.rs","byte_start":249768,"byte_end":249769,"line_start":833,"line_end":833,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 93 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16778007},"span":{"file_name":"src/pointer/geo.rs","byte_start":249967,"byte_end":249968,"line_start":837,"line_end":837,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 128 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385876759},"span":{"file_name":"src/pointer/geo.rs","byte_start":250626,"byte_end":250637,"line_start":854,"line_end":854,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 232 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1786774295},"span":{"file_name":"src/pointer/geo.rs","byte_start":250776,"byte_end":250783,"line_start":857,"line_end":857,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 342 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3363832599},"span":{"file_name":"src/pointer/geo.rs","byte_start":250855,"byte_end":250856,"line_start":858,"line_end":858,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 275 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1820328727},"span":{"file_name":"src/pointer/geo.rs","byte_start":251054,"byte_end":251055,"line_start":862,"line_end":862,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 310 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2038432535},"span":{"file_name":"src/pointer/geo.rs","byte_start":251714,"byte_end":251725,"line_start":879,"line_end":879,"column_start":25,"column_end":36},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 414 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":809501463},"span":{"file_name":"src/pointer/geo.rs","byte_start":251865,"byte_end":251872,"line_start":882,"line_end":882,"column_start":21,"column_end":28},"name":"default","qualname":"default$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 524 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2474640151},"span":{"file_name":"src/pointer/geo.rs","byte_start":251945,"byte_end":251946,"line_start":883,"line_end":883,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 457 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":931136279},"span":{"file_name":"src/pointer/geo.rs","byte_start":252144,"byte_end":252145,"line_start":887,"line_end":887,"column_start":29,"column_end":30},"name":"g","qualname":"g$HirId { owner: DefId(0:791 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_json_to_schema), local_id: 492 }","value":"pointer::geo::NP_Geo","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742616},"span":{"file_name":"src/pointer/geo.rs","byte_start":252892,"byte_end":252898,"line_start":909,"line_end":909,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871704},"span":{"file_name":"src/pointer/geo.rs","byte_start":252923,"byte_end":252930,"line_start":909,"line_end":909,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613528},"span":{"file_name":"src/pointer/geo.rs","byte_start":252939,"byte_end":252944,"line_start":909,"line_end":909,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":792},"span":{"file_name":"src/pointer/geo.rs","byte_start":252867,"byte_end":252887,"line_start":909,"line_end":909,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218520},"span":{"file_name":"src/pointer/geo.rs","byte_start":253000,"byte_end":253004,"line_start":910,"line_end":910,"column_start":13,"column_end":17},"name":"size","qualname":"size$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053454104},"span":{"file_name":"src/pointer/geo.rs","byte_start":253514,"byte_end":253517,"line_start":926,"line_end":926,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 109 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261413656},"span":{"file_name":"src/pointer/geo.rs","byte_start":253578,"byte_end":253581,"line_start":927,"line_end":927,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 127 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298479384},"span":{"file_name":"src/pointer/geo.rs","byte_start":253642,"byte_end":253655,"line_start":928,"line_end":928,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 145 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":654312216},"span":{"file_name":"src/pointer/geo.rs","byte_start":254156,"byte_end":254159,"line_start":938,"line_end":938,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 228 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1862271768},"span":{"file_name":"src/pointer/geo.rs","byte_start":254220,"byte_end":254223,"line_start":939,"line_end":939,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 246 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":276824856},"span":{"file_name":"src/pointer/geo.rs","byte_start":254285,"byte_end":254298,"line_start":940,"line_end":940,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 264 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3665822488},"span":{"file_name":"src/pointer/geo.rs","byte_start":254800,"byte_end":254803,"line_start":950,"line_end":950,"column_start":21,"column_end":24},"name":"lat","qualname":"lat$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 347 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3061842712},"span":{"file_name":"src/pointer/geo.rs","byte_start":254865,"byte_end":254868,"line_start":951,"line_end":951,"column_start":21,"column_end":24},"name":"lng","qualname":"lng$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 365 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4269802264},"span":{"file_name":"src/pointer/geo.rs","byte_start":254931,"byte_end":254944,"line_start":952,"line_end":952,"column_start":21,"column_end":34},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:792 ~ no_proto[7dec]::pointer::geo::{impl#7}::from_bytes_to_schema), local_id: 383 }","value":"pointer::geo::NP_Geo_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3350},"span":{"file_name":"src/pointer/geo.rs","byte_start":255502,"byte_end":255526,"line_start":970,"line_end":970,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::geo::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874262},"span":{"file_name":"src/pointer/geo.rs","byte_start":255563,"byte_end":255569,"line_start":971,"line_end":971,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752918},"span":{"file_name":"src/pointer/geo.rs","byte_start":255626,"byte_end":255633,"line_start":972,"line_end":972,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699670},"span":{"file_name":"src/pointer/geo.rs","byte_start":255727,"byte_end":255735,"line_start":974,"line_end":974,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526730006},"span":{"file_name":"src/pointer/geo.rs","byte_start":255860,"byte_end":255866,"line_start":977,"line_end":977,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936016150},"span":{"file_name":"src/pointer/geo.rs","byte_start":255887,"byte_end":255894,"line_start":978,"line_end":978,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202695958},"span":{"file_name":"src/pointer/geo.rs","byte_start":255988,"byte_end":255996,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":226495766},"span":{"file_name":"src/pointer/geo.rs","byte_start":256121,"byte_end":256127,"line_start":983,"line_end":983,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 432 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3548384534},"span":{"file_name":"src/pointer/geo.rs","byte_start":256194,"byte_end":256201,"line_start":984,"line_end":984,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 459 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2889878806},"span":{"file_name":"src/pointer/geo.rs","byte_start":256295,"byte_end":256303,"line_start":986,"line_end":986,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 565 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1631587606},"span":{"file_name":"src/pointer/geo.rs","byte_start":256428,"byte_end":256434,"line_start":989,"line_end":989,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 646 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2235567382},"span":{"file_name":"src/pointer/geo.rs","byte_start":256455,"byte_end":256462,"line_start":990,"line_end":990,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 673 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3502247190},"span":{"file_name":"src/pointer/geo.rs","byte_start":256556,"byte_end":256564,"line_start":992,"line_end":992,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 779 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":985664790},"span":{"file_name":"src/pointer/geo.rs","byte_start":256689,"byte_end":256695,"line_start":995,"line_end":995,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 860 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4005563670},"span":{"file_name":"src/pointer/geo.rs","byte_start":256767,"byte_end":256774,"line_start":996,"line_end":996,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 887 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2277510422},"span":{"file_name":"src/pointer/geo.rs","byte_start":256868,"byte_end":256876,"line_start":998,"line_end":998,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 993 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1277168918},"span":{"file_name":"src/pointer/geo.rs","byte_start":257001,"byte_end":257007,"line_start":1001,"line_end":1001,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 1074 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2988444950},"span":{"file_name":"src/pointer/geo.rs","byte_start":257029,"byte_end":257036,"line_start":1002,"line_end":1002,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 1101 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3978300694},"span":{"file_name":"src/pointer/geo.rs","byte_start":257130,"byte_end":257138,"line_start":1004,"line_end":1004,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3350 ~ no_proto[7dec]::pointer::geo::schema_parsing_works_idl#1), local_id: 1207 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3354},"span":{"file_name":"src/pointer/geo.rs","byte_start":257284,"byte_end":257304,"line_start":1011,"line_end":1011,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::geo::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874266},"span":{"file_name":"src/pointer/geo.rs","byte_start":257341,"byte_end":257347,"line_start":1012,"line_end":1012,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752922},"span":{"file_name":"src/pointer/geo.rs","byte_start":257417,"byte_end":257424,"line_start":1013,"line_end":1013,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441498},"span":{"file_name":"src/pointer/geo.rs","byte_start":257536,"byte_end":257544,"line_start":1015,"line_end":1015,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600922},"span":{"file_name":"src/pointer/geo.rs","byte_start":257682,"byte_end":257688,"line_start":1018,"line_end":1018,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580698},"span":{"file_name":"src/pointer/geo.rs","byte_start":257721,"byte_end":257728,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409818},"span":{"file_name":"src/pointer/geo.rs","byte_start":257840,"byte_end":257848,"line_start":1021,"line_end":1021,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":494931226},"span":{"file_name":"src/pointer/geo.rs","byte_start":257986,"byte_end":257992,"line_start":1024,"line_end":1024,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 440 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3414166810},"span":{"file_name":"src/pointer/geo.rs","byte_start":258072,"byte_end":258079,"line_start":1025,"line_end":1025,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 467 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4232056090},"span":{"file_name":"src/pointer/geo.rs","byte_start":258191,"byte_end":258199,"line_start":1027,"line_end":1027,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 575 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1228934426},"span":{"file_name":"src/pointer/geo.rs","byte_start":258337,"byte_end":258343,"line_start":1030,"line_end":1030,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 658 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3040873754},"span":{"file_name":"src/pointer/geo.rs","byte_start":258376,"byte_end":258383,"line_start":1031,"line_end":1031,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 685 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2562723098},"span":{"file_name":"src/pointer/geo.rs","byte_start":258495,"byte_end":258503,"line_start":1033,"line_end":1033,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 793 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":918555930},"span":{"file_name":"src/pointer/geo.rs","byte_start":258641,"byte_end":258647,"line_start":1036,"line_end":1036,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 876 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3787459866},"span":{"file_name":"src/pointer/geo.rs","byte_start":258732,"byte_end":258739,"line_start":1037,"line_end":1037,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 903 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3485469978},"span":{"file_name":"src/pointer/geo.rs","byte_start":258851,"byte_end":258859,"line_start":1039,"line_end":1039,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 1011 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1646267674},"span":{"file_name":"src/pointer/geo.rs","byte_start":258997,"byte_end":259003,"line_start":1042,"line_end":1042,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 1094 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2250247450},"span":{"file_name":"src/pointer/geo.rs","byte_start":259037,"byte_end":259044,"line_start":1043,"line_end":1043,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 1121 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3005222170},"span":{"file_name":"src/pointer/geo.rs","byte_start":259156,"byte_end":259164,"line_start":1045,"line_end":1045,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3354 ~ no_proto[7dec]::pointer::geo::schema_parsing_works#1), local_id: 1229 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3358},"span":{"file_name":"src/pointer/geo.rs","byte_start":259324,"byte_end":259343,"line_start":1053,"line_end":1053,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::geo::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874270},"span":{"file_name":"src/pointer/geo.rs","byte_start":259380,"byte_end":259386,"line_start":1054,"line_end":1054,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752926},"span":{"file_name":"src/pointer/geo.rs","byte_start":259456,"byte_end":259463,"line_start":1055,"line_end":1055,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547678},"span":{"file_name":"src/pointer/geo.rs","byte_start":259512,"byte_end":259518,"line_start":1056,"line_end":1056,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2701135134},"span":{"file_name":"src/pointer/geo.rs","byte_start":259642,"byte_end":259648,"line_start":1059,"line_end":1059,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 133 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83889438},"span":{"file_name":"src/pointer/geo.rs","byte_start":259728,"byte_end":259735,"line_start":1060,"line_end":1060,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 160 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2499808542},"span":{"file_name":"src/pointer/geo.rs","byte_start":259784,"byte_end":259790,"line_start":1061,"line_end":1061,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 169 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1619004702},"span":{"file_name":"src/pointer/geo.rs","byte_start":259924,"byte_end":259930,"line_start":1064,"line_end":1064,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 262 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2222984478},"span":{"file_name":"src/pointer/geo.rs","byte_start":260015,"byte_end":260022,"line_start":1065,"line_end":1065,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 289 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1417678110},"span":{"file_name":"src/pointer/geo.rs","byte_start":260071,"byte_end":260077,"line_start":1066,"line_end":1066,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3358 ~ no_proto[7dec]::pointer::geo::default_value_works#1), local_id: 298 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3362},"span":{"file_name":"src/pointer/geo.rs","byte_start":260233,"byte_end":260269,"line_start":1073,"line_end":1073,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::geo::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874274},"span":{"file_name":"src/pointer/geo.rs","byte_start":260306,"byte_end":260312,"line_start":1074,"line_end":1074,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3362 ~ no_proto[7dec]::pointer::geo::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752930},"span":{"file_name":"src/pointer/geo.rs","byte_start":260345,"byte_end":260352,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3362 ~ no_proto[7dec]::pointer::geo::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547682},"span":{"file_name":"src/pointer/geo.rs","byte_start":260405,"byte_end":260411,"line_start":1076,"line_end":1076,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3362 ~ no_proto[7dec]::pointer::geo::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258294562},"span":{"file_name":"src/pointer/geo.rs","byte_start":260675,"byte_end":260677,"line_start":1082,"line_end":1082,"column_start":18,"column_end":20},"name":"_x","qualname":"_x$HirId { owner: DefId(0:3362 ~ no_proto[7dec]::pointer::geo::set_clear_value_and_compaction_works#1), local_id: 210 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":793},"span":{"file_name":"src/pointer/dec.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"dec","qualname":"::pointer::dec","value":"src/pointer/dec.rs","parent":null,"children":[{"krate":0,"index":794},{"krate":0,"index":795},{"krate":0,"index":798},{"krate":0,"index":801},{"krate":0,"index":804},{"krate":0,"index":805},{"krate":0,"index":806},{"krate":0,"index":809},{"krate":0,"index":812},{"krate":0,"index":813},{"krate":0,"index":816},{"krate":0,"index":819},{"krate":0,"index":822},{"krate":0,"index":823},{"krate":0,"index":826},{"krate":0,"index":829},{"krate":0,"index":832},{"krate":0,"index":833},{"krate":0,"index":836},{"krate":0,"index":839},{"krate":0,"index":840},{"krate":0,"index":843},{"krate":0,"index":844},{"krate":0,"index":847},{"krate":0,"index":850},{"krate":0,"index":851},{"krate":0,"index":852},{"krate":0,"index":853},{"krate":0,"index":855},{"krate":0,"index":858},{"krate":0,"index":859},{"krate":0,"index":862},{"krate":0,"index":865},{"krate":0,"index":3363},{"krate":0,"index":3366},{"krate":0,"index":3368},{"krate":0,"index":3369},{"krate":0,"index":868},{"krate":0,"index":873},{"krate":0,"index":879},{"krate":0,"index":882},{"krate":0,"index":888},{"krate":0,"index":890},{"krate":0,"index":892},{"krate":0,"index":894},{"krate":0,"index":896},{"krate":0,"index":897},{"krate":0,"index":898},{"krate":0,"index":899},{"krate":0,"index":900},{"krate":0,"index":901},{"krate":0,"index":902},{"krate":0,"index":904},{"krate":0,"index":906},{"krate":0,"index":908},{"krate":0,"index":910},{"krate":0,"index":912},{"krate":0,"index":915},{"krate":0,"index":917},{"krate":0,"index":920},{"krate":0,"index":922},{"krate":0,"index":925},{"krate":0,"index":927},{"krate":0,"index":930},{"krate":0,"index":932},{"krate":0,"index":3371},{"krate":0,"index":3372},{"krate":0,"index":3374},{"krate":0,"index":3375},{"krate":0,"index":3376},{"krate":0,"index":3378},{"krate":0,"index":3379},{"krate":0,"index":3380},{"krate":0,"index":3382},{"krate":0,"index":3383},{"krate":0,"index":3384},{"krate":0,"index":3386}],"decl_id":null,"docs":" Represents a fixed point decimal number.\n \n Allows floating point values to be stored without rounding errors, useful for storing financial data.\n \n Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot.\n \n NP_Dec values contain two parts:\n 1. The actual number value (`num`)\n 2. The position of the decimal point from the right (`exp`)\n \n A value of \"2039.756\" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`.\n \n The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. \n \n If `exp` is zero, all values stored are whole numbers.\n \n For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. \n However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13.\n \n Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision.\n \n `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect.\n \n When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n // Creating a new NP_Dec for 20.49\n let mut dec = NP_Dec::new(2049, 2);\n \n // add 2\n dec += NP_Dec::new(200, 2);\n \n // add 0.03\n dec += NP_Dec::new(3, 2);\n \n // convert float then use it to minus 5\n let mut f: NP_Dec = 5.0_f64.into();\n f.shift_exp(2); // set new NP_Dec to `exp` of 2.\n dec -= f; // subtract\n \n assert_eq!(dec.to_float(), 17.52_f64);\n \n ```\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::dec::NP_Dec;\n \n let factory: NP_Factory = NP_Factory::new(\"dec({exp: 2})\")?;","sig":null,"attributes":[{"value":"/ Represents a fixed point decimal number.","span":{"file_name":"src/pointer/dec.rs","byte_start":260835,"byte_end":260879,"line_start":1,"line_end":1,"column_start":1,"column_end":45}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":260880,"byte_end":260884,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Allows floating point values to be stored without rounding errors, useful for storing financial data.","span":{"file_name":"src/pointer/dec.rs","byte_start":260885,"byte_end":260990,"line_start":3,"line_end":3,"column_start":1,"column_end":106}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":260991,"byte_end":260995,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ Do NOT perform calculations with `.to_float()` method, you'll make using this kind of moot.","span":{"file_name":"src/pointer/dec.rs","byte_start":260996,"byte_end":261091,"line_start":5,"line_end":5,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261092,"byte_end":261096,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ NP_Dec values contain two parts:","span":{"file_name":"src/pointer/dec.rs","byte_start":261097,"byte_end":261133,"line_start":7,"line_end":7,"column_start":1,"column_end":37}},{"value":"/ 1. The actual number value (`num`)","span":{"file_name":"src/pointer/dec.rs","byte_start":261134,"byte_end":261176,"line_start":8,"line_end":8,"column_start":1,"column_end":43}},{"value":"/ 2. The position of the decimal point from the right (`exp`)","span":{"file_name":"src/pointer/dec.rs","byte_start":261177,"byte_end":261244,"line_start":9,"line_end":9,"column_start":1,"column_end":68}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261245,"byte_end":261249,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ A value of \"2039.756\" could be stored as `NP_Dec {num: 2039756, exp: 3}`. It could also be stored as: `NP_Dec {num: 203975600, exp: 5}`.","span":{"file_name":"src/pointer/dec.rs","byte_start":261250,"byte_end":261391,"line_start":11,"line_end":11,"column_start":1,"column_end":142}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261392,"byte_end":261396,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The range of possible floating point values depends on the `exp` value. The `num` property is an i64 variable so it can safely store 9.22e18 to -9.22e18. ","span":{"file_name":"src/pointer/dec.rs","byte_start":261397,"byte_end":261557,"line_start":13,"line_end":13,"column_start":1,"column_end":161}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261558,"byte_end":261562,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ If `exp` is zero, all values stored are whole numbers.","span":{"file_name":"src/pointer/dec.rs","byte_start":261563,"byte_end":261621,"line_start":15,"line_end":15,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261622,"byte_end":261626,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ For every increase in `exp` by 1, the maximum range of possible values decreases by a power of 10. For example at `exp = 1` the range drops to 9.22e17 to -9.22e17. ","span":{"file_name":"src/pointer/dec.rs","byte_start":261627,"byte_end":261796,"line_start":17,"line_end":17,"column_start":1,"column_end":170}},{"value":"/ However, each increase in `exp` provides a decimal point of precision. In another example, at `exp = 5` you have 5 decimal points of precision and a max range of 9.22e13 to -9.22e13.","span":{"file_name":"src/pointer/dec.rs","byte_start":261797,"byte_end":261984,"line_start":18,"line_end":18,"column_start":1,"column_end":188}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":261985,"byte_end":261989,"line_start":19,"line_end":19,"column_start":1,"column_end":5}},{"value":"/ Essentially, increaseing the `exp` factor decreases the maximum range of possible values that can be stored in exchange for increased decimal precision.","span":{"file_name":"src/pointer/dec.rs","byte_start":261990,"byte_end":262146,"line_start":20,"line_end":20,"column_start":1,"column_end":157}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262147,"byte_end":262151,"line_start":21,"line_end":21,"column_start":1,"column_end":5}},{"value":"/ `NP_Dec` values can safely be multiplied, added, devided, subtracted or compared with eachother. It's a good idea to manually shift the `exp` values of two `NP_Dec` to match before performing any operation between them, otherwise the operation might not do what you expect.","span":{"file_name":"src/pointer/dec.rs","byte_start":262152,"byte_end":262430,"line_start":22,"line_end":22,"column_start":1,"column_end":279}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262431,"byte_end":262435,"line_start":23,"line_end":23,"column_start":1,"column_end":5}},{"value":"/ When `NP_Dec` values are pulled out of a buffer, the `num` property is pulled from the buffer contents and the `exp` property comes from the schema.","span":{"file_name":"src/pointer/dec.rs","byte_start":262436,"byte_end":262588,"line_start":24,"line_end":24,"column_start":1,"column_end":153}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262589,"byte_end":262593,"line_start":25,"line_end":25,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":262594,"byte_end":262601,"line_start":26,"line_end":26,"column_start":1,"column_end":8}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":262602,"byte_end":262641,"line_start":27,"line_end":27,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262642,"byte_end":262646,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ // Creating a new NP_Dec for 20.49","span":{"file_name":"src/pointer/dec.rs","byte_start":262647,"byte_end":262685,"line_start":29,"line_end":29,"column_start":1,"column_end":39}},{"value":"/ let mut dec = NP_Dec::new(2049, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262686,"byte_end":262725,"line_start":30,"line_end":30,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262726,"byte_end":262730,"line_start":31,"line_end":31,"column_start":1,"column_end":5}},{"value":"/ // add 2","span":{"file_name":"src/pointer/dec.rs","byte_start":262731,"byte_end":262743,"line_start":32,"line_end":32,"column_start":1,"column_end":13}},{"value":"/ dec += NP_Dec::new(200, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262744,"byte_end":262775,"line_start":33,"line_end":33,"column_start":1,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262776,"byte_end":262780,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ // add 0.03","span":{"file_name":"src/pointer/dec.rs","byte_start":262781,"byte_end":262796,"line_start":35,"line_end":35,"column_start":1,"column_end":16}},{"value":"/ dec += NP_Dec::new(3, 2);","span":{"file_name":"src/pointer/dec.rs","byte_start":262797,"byte_end":262826,"line_start":36,"line_end":36,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262827,"byte_end":262831,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ // convert float then use it to minus 5","span":{"file_name":"src/pointer/dec.rs","byte_start":262832,"byte_end":262875,"line_start":38,"line_end":38,"column_start":1,"column_end":44}},{"value":"/ let mut f: NP_Dec = 5.0_f64.into();","span":{"file_name":"src/pointer/dec.rs","byte_start":262876,"byte_end":262915,"line_start":39,"line_end":39,"column_start":1,"column_end":40}},{"value":"/ f.shift_exp(2); // set new NP_Dec to `exp` of 2.","span":{"file_name":"src/pointer/dec.rs","byte_start":262916,"byte_end":262968,"line_start":40,"line_end":40,"column_start":1,"column_end":53}},{"value":"/ dec -= f; // subtract","span":{"file_name":"src/pointer/dec.rs","byte_start":262969,"byte_end":262994,"line_start":41,"line_end":41,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":262995,"byte_end":262999,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(dec.to_float(), 17.52_f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":263000,"byte_end":263042,"line_start":43,"line_end":43,"column_start":1,"column_end":43}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263043,"byte_end":263047,"line_start":44,"line_end":44,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263048,"byte_end":263055,"line_start":45,"line_end":45,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263056,"byte_end":263060,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263061,"byte_end":263068,"line_start":47,"line_end":47,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/dec.rs","byte_start":263069,"byte_end":263103,"line_start":48,"line_end":48,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/dec.rs","byte_start":263104,"byte_end":263133,"line_start":49,"line_end":49,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":263134,"byte_end":263173,"line_start":50,"line_end":50,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263174,"byte_end":263178,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"dec({exp: 2})\")?;","span":{"file_name":"src/pointer/dec.rs","byte_start":263179,"byte_end":263243,"line_start":52,"line_end":52,"column_start":1,"column_end":65}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263244,"byte_end":263247,"line_start":53,"line_end":53,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/dec.rs","byte_start":263248,"byte_end":263298,"line_start":54,"line_end":54,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Dec::new(50283, 2))?;","span":{"file_name":"src/pointer/dec.rs","byte_start":263299,"byte_end":263347,"line_start":55,"line_end":55,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":263348,"byte_end":263352,"line_start":56,"line_end":56,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(502.83f64, new_buffer.get::(&[])?.unwrap().to_float());","span":{"file_name":"src/pointer/dec.rs","byte_start":263353,"byte_end":263431,"line_start":57,"line_end":57,"column_start":1,"column_end":79}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263432,"byte_end":263435,"line_start":58,"line_end":58,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/dec.rs","byte_start":263436,"byte_end":263465,"line_start":59,"line_end":59,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":263466,"byte_end":263473,"line_start":60,"line_end":60,"column_start":1,"column_end":8}},{"value":"/","span":{"file_name":"src/pointer/dec.rs","byte_start":263474,"byte_end":263477,"line_start":61,"line_end":61,"column_start":1,"column_end":4}}]},{"kind":"Struct","id":{"krate":0,"index":3363},"span":{"file_name":"src/pointer/dec.rs","byte_start":264124,"byte_end":264130,"line_start":84,"line_end":84,"column_start":12,"column_end":18},"name":"NP_Dec","qualname":"::pointer::dec::NP_Dec","value":"NP_Dec { num, exp }","parent":null,"children":[{"krate":0,"index":3364},{"krate":0,"index":3365}],"decl_id":null,"docs":" Holds fixed decimal data.\n \n Check out documentation [here](../dec/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds fixed decimal data.","span":{"file_name":"src/pointer/dec.rs","byte_start":263988,"byte_end":264017,"line_start":79,"line_end":79,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":264018,"byte_end":264022,"line_start":80,"line_end":80,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../dec/index.html).","span":{"file_name":"src/pointer/dec.rs","byte_start":264023,"byte_end":264077,"line_start":81,"line_end":81,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":264078,"byte_end":264082,"line_start":82,"line_end":82,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3364},"span":{"file_name":"src/pointer/dec.rs","byte_start":264210,"byte_end":264213,"line_start":86,"line_end":86,"column_start":9,"column_end":12},"name":"num","qualname":"::pointer::dec::NP_Dec::num","value":"i64","parent":{"krate":0,"index":3363},"children":[],"decl_id":null,"docs":" The number being stored, does not include decimal point data\n","sig":null,"attributes":[{"value":"/ The number being stored, does not include decimal point data","span":{"file_name":"src/pointer/dec.rs","byte_start":264137,"byte_end":264201,"line_start":85,"line_end":85,"column_start":5,"column_end":69}}]},{"kind":"Field","id":{"krate":0,"index":3365},"span":{"file_name":"src/pointer/dec.rs","byte_start":264264,"byte_end":264267,"line_start":88,"line_end":88,"column_start":9,"column_end":12},"name":"exp","qualname":"::pointer::dec::NP_Dec::exp","value":"u8","parent":{"krate":0,"index":3363},"children":[],"decl_id":null,"docs":" The exponent of this number\n","sig":null,"attributes":[{"value":"/ The exponent of this number","span":{"file_name":"src/pointer/dec.rs","byte_start":264224,"byte_end":264255,"line_start":87,"line_end":87,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":1073742694},"span":{"file_name":"src/pointer/dec.rs","byte_start":264348,"byte_end":264354,"line_start":92,"line_end":92,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_default::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":870},"span":{"file_name":"src/pointer/dec.rs","byte_start":264333,"byte_end":264347,"line_start":92,"line_end":92,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702246},"span":{"file_name":"src/pointer/dec.rs","byte_start":264423,"byte_end":264427,"line_start":93,"line_end":93,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:870 ~ no_proto[7dec]::pointer::dec::{impl#0}::schema_default), local_id: 17 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742695},"span":{"file_name":"src/pointer/dec.rs","byte_start":264554,"byte_end":264560,"line_start":97,"line_end":97,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871783},"span":{"file_name":"src/pointer/dec.rs","byte_start":264574,"byte_end":264580,"line_start":97,"line_end":97,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":871},"span":{"file_name":"src/pointer/dec.rs","byte_start":264541,"byte_end":264553,"line_start":97,"line_end":97,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654055},"span":{"file_name":"src/pointer/dec.rs","byte_start":264624,"byte_end":264628,"line_start":98,"line_end":98,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:871 ~ no_proto[7dec]::pointer::dec::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742696},"span":{"file_name":"src/pointer/dec.rs","byte_start":264786,"byte_end":264792,"line_start":102,"line_end":102,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871784},"span":{"file_name":"src/pointer/dec.rs","byte_start":264806,"byte_end":264812,"line_start":102,"line_end":102,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":872},"span":{"file_name":"src/pointer/dec.rs","byte_start":264773,"byte_end":264785,"line_start":102,"line_end":102,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654056},"span":{"file_name":"src/pointer/dec.rs","byte_start":264856,"byte_end":264860,"line_start":103,"line_end":103,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:872 ~ no_proto[7dec]::pointer::dec::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742698},"span":{"file_name":"src/pointer/dec.rs","byte_start":265407,"byte_end":265411,"line_start":121,"line_end":121,"column_start":22,"column_end":26},"name":"self","qualname":"::to_float::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":874},"span":{"file_name":"src/pointer/dec.rs","byte_start":265397,"byte_end":265405,"line_start":121,"line_end":121,"column_start":12,"column_end":20},"name":"to_float","qualname":"::to_float","value":"pub fn to_float(&Self) -> f64","parent":null,"children":[],"decl_id":null,"docs":" Convert an NP_Dec into a native floating point value.\n \n DO NOT use this to perform calculations, only to export/display the value.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n assert_eq!(my_num.to_float(), 2.203f64);\n ```\n \n","sig":null,"attributes":[{"value":"/ Convert an NP_Dec into a native floating point value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265018,"byte_end":265075,"line_start":109,"line_end":109,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265080,"byte_end":265084,"line_start":110,"line_end":110,"column_start":5,"column_end":9}},{"value":"/ DO NOT use this to perform calculations, only to export/display the value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265089,"byte_end":265167,"line_start":111,"line_end":111,"column_start":5,"column_end":83}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265172,"byte_end":265176,"line_start":112,"line_end":112,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265181,"byte_end":265188,"line_start":113,"line_end":113,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":265193,"byte_end":265232,"line_start":114,"line_end":114,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265237,"byte_end":265245,"line_start":115,"line_end":115,"column_start":5,"column_end":13}},{"value":"/ let my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":265250,"byte_end":265306,"line_start":116,"line_end":116,"column_start":5,"column_end":61}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265311,"byte_end":265315,"line_start":117,"line_end":117,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.to_float(), 2.203f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":265320,"byte_end":265364,"line_start":118,"line_end":118,"column_start":5,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265369,"byte_end":265376,"line_start":119,"line_end":119,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265381,"byte_end":265385,"line_start":120,"line_end":120,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489661802},"span":{"file_name":"src/pointer/dec.rs","byte_start":265434,"byte_end":265435,"line_start":122,"line_end":122,"column_start":13,"column_end":14},"name":"m","qualname":"m$HirId { owner: DefId(0:874 ~ no_proto[7dec]::pointer::dec::{impl#1}::to_float), local_id: 11 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702250},"span":{"file_name":"src/pointer/dec.rs","byte_start":265471,"byte_end":265475,"line_start":123,"line_end":123,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:874 ~ no_proto[7dec]::pointer::dec::{impl#1}::to_float), local_id: 17 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818573162},"span":{"file_name":"src/pointer/dec.rs","byte_start":265504,"byte_end":265505,"line_start":124,"line_end":124,"column_start":17,"column_end":18},"name":"s","qualname":"s$HirId { owner: DefId(0:874 ~ no_proto[7dec]::pointer::dec::{impl#1}::to_float), local_id: 21 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742699},"span":{"file_name":"src/pointer/dec.rs","byte_start":266374,"byte_end":266378,"line_start":148,"line_end":148,"column_start":27,"column_end":31},"name":"self","qualname":"::shift_exp::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871787},"span":{"file_name":"src/pointer/dec.rs","byte_start":266380,"byte_end":266387,"line_start":148,"line_end":148,"column_start":33,"column_end":40},"name":"new_exp","qualname":"::shift_exp::new_exp","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":875},"span":{"file_name":"src/pointer/dec.rs","byte_start":266359,"byte_end":266368,"line_start":148,"line_end":148,"column_start":12,"column_end":21},"name":"shift_exp","qualname":"::shift_exp","value":"pub fn shift_exp(&mut Self, u8) -> NP_Dec","parent":null,"children":[],"decl_id":null,"docs":" Shift the exponent of this NP_Dec to a new value.\n \n If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value.\n \n If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let mut my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2\n \n assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the \"03\" at the end because of reducing the `exp` value. \n \n ```\n","sig":null,"attributes":[{"value":"/ Shift the exponent of this NP_Dec to a new value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265621,"byte_end":265674,"line_start":132,"line_end":132,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265679,"byte_end":265683,"line_start":133,"line_end":133,"column_start":5,"column_end":9}},{"value":"/ If the new `exp` value is higher than the old `exp` value, there may be an overflow of the i64 value.","span":{"file_name":"src/pointer/dec.rs","byte_start":265688,"byte_end":265793,"line_start":134,"line_end":134,"column_start":5,"column_end":110}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265798,"byte_end":265802,"line_start":135,"line_end":135,"column_start":5,"column_end":9}},{"value":"/ If the new `exp` value is lower than the old one, information will likely be lost as decimal precision is being removed from the number.","span":{"file_name":"src/pointer/dec.rs","byte_start":265807,"byte_end":265947,"line_start":136,"line_end":136,"column_start":5,"column_end":145}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":265952,"byte_end":265956,"line_start":137,"line_end":137,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":265961,"byte_end":265968,"line_start":138,"line_end":138,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":265973,"byte_end":266012,"line_start":139,"line_end":139,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266017,"byte_end":266021,"line_start":140,"line_end":140,"column_start":5,"column_end":9}},{"value":"/ let mut my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":266026,"byte_end":266086,"line_start":141,"line_end":141,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266091,"byte_end":266095,"line_start":142,"line_end":142,"column_start":5,"column_end":9}},{"value":"/ my_num.shift_exp(1); // set `exp` to 1 instead of 3. This will force our value to 2.2","span":{"file_name":"src/pointer/dec.rs","byte_start":266100,"byte_end":266190,"line_start":143,"line_end":143,"column_start":5,"column_end":95}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266195,"byte_end":266199,"line_start":144,"line_end":144,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.to_float(), 2.2_f64); // notice we've lost the \"03\" at the end because of reducing the `exp` value. ","span":{"file_name":"src/pointer/dec.rs","byte_start":266204,"byte_end":266326,"line_start":145,"line_end":145,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266331,"byte_end":266335,"line_start":146,"line_end":146,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":266340,"byte_end":266347,"line_start":147,"line_end":147,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":3355444075},"span":{"file_name":"src/pointer/dec.rs","byte_start":266417,"byte_end":266421,"line_start":149,"line_end":149,"column_start":13,"column_end":17},"name":"diff","qualname":"diff$HirId { owner: DefId(0:875 ~ no_proto[7dec]::pointer::dec::{impl#1}::shift_exp), local_id: 19 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008619},"span":{"file_name":"src/pointer/dec.rs","byte_start":266475,"byte_end":266479,"line_start":151,"line_end":151,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:875 ~ no_proto[7dec]::pointer::dec::{impl#1}::shift_exp), local_id: 29 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742700},"span":{"file_name":"src/pointer/dec.rs","byte_start":267781,"byte_end":267784,"line_start":198,"line_end":198,"column_start":16,"column_end":19},"name":"num","qualname":"::new::num","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871788},"span":{"file_name":"src/pointer/dec.rs","byte_start":267791,"byte_end":267794,"line_start":198,"line_end":198,"column_start":26,"column_end":29},"name":"exp","qualname":"::new::exp","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":876},"span":{"file_name":"src/pointer/dec.rs","byte_start":267777,"byte_end":267780,"line_start":198,"line_end":198,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(i64, u8) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new NP_Dec value\n \n First argument is the `num` value, second is the `exp` or exponent.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let x = NP_Dec::new(2, 0); // stores \"2.00\"\n assert_eq!(x.to_float(), 2f64);\n \n let x = NP_Dec::new(2, 1); // stores \"0.20\"\n assert_eq!(x.to_float(), 0.2f64);\n \n let x = NP_Dec::new(2, 2); // stores \"0.02\"\n assert_eq!(x.to_float(), 0.02f64);\n \n let x = NP_Dec::new(5928, 1); // stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n let x = NP_Dec::new(59280, 2); // also stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n let x = NP_Dec::new(592800, 3); // also stores \"592.8\"\n assert_eq!(x.to_float(), 592.8f64);\n \n ```\n","sig":null,"attributes":[{"value":"/ Generate a new NP_Dec value","span":{"file_name":"src/pointer/dec.rs","byte_start":266915,"byte_end":266946,"line_start":172,"line_end":172,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":266951,"byte_end":266955,"line_start":173,"line_end":173,"column_start":5,"column_end":9}},{"value":"/ First argument is the `num` value, second is the `exp` or exponent.","span":{"file_name":"src/pointer/dec.rs","byte_start":266960,"byte_end":267031,"line_start":174,"line_end":174,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267036,"byte_end":267040,"line_start":175,"line_end":175,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":267045,"byte_end":267052,"line_start":176,"line_end":176,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":267057,"byte_end":267096,"line_start":177,"line_end":177,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267101,"byte_end":267105,"line_start":178,"line_end":178,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 0); // stores \"2.00\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267110,"byte_end":267157,"line_start":179,"line_end":179,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 2f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267162,"byte_end":267197,"line_start":180,"line_end":180,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267202,"byte_end":267206,"line_start":181,"line_end":181,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 1); // stores \"0.20\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267211,"byte_end":267258,"line_start":182,"line_end":182,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 0.2f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267263,"byte_end":267300,"line_start":183,"line_end":183,"column_start":5,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267305,"byte_end":267309,"line_start":184,"line_end":184,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(2, 2); // stores \"0.02\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267314,"byte_end":267361,"line_start":185,"line_end":185,"column_start":5,"column_end":52}},{"value":"/ assert_eq!(x.to_float(), 0.02f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267366,"byte_end":267404,"line_start":186,"line_end":186,"column_start":5,"column_end":43}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267409,"byte_end":267413,"line_start":187,"line_end":187,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(5928, 1); // stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267418,"byte_end":267469,"line_start":188,"line_end":188,"column_start":5,"column_end":56}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267474,"byte_end":267513,"line_start":189,"line_end":189,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267518,"byte_end":267522,"line_start":190,"line_end":190,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(59280, 2); // also stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267527,"byte_end":267584,"line_start":191,"line_end":191,"column_start":5,"column_end":62}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267589,"byte_end":267628,"line_start":192,"line_end":192,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267633,"byte_end":267637,"line_start":193,"line_end":193,"column_start":5,"column_end":9}},{"value":"/ let x = NP_Dec::new(592800, 3); // also stores \"592.8\"","span":{"file_name":"src/pointer/dec.rs","byte_start":267642,"byte_end":267700,"line_start":194,"line_end":194,"column_start":5,"column_end":63}},{"value":"/ assert_eq!(x.to_float(), 592.8f64);","span":{"file_name":"src/pointer/dec.rs","byte_start":267705,"byte_end":267744,"line_start":195,"line_end":195,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267749,"byte_end":267753,"line_start":196,"line_end":196,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":267758,"byte_end":267765,"line_start":197,"line_end":197,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":1073742701},"span":{"file_name":"src/pointer/dec.rs","byte_start":268520,"byte_end":268524,"line_start":218,"line_end":218,"column_start":23,"column_end":27},"name":"self","qualname":"::match_exp::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871789},"span":{"file_name":"src/pointer/dec.rs","byte_start":268526,"byte_end":268531,"line_start":218,"line_end":218,"column_start":29,"column_end":34},"name":"other","qualname":"::match_exp::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":877},"span":{"file_name":"src/pointer/dec.rs","byte_start":268509,"byte_end":268518,"line_start":218,"line_end":218,"column_start":12,"column_end":21},"name":"match_exp","qualname":"::match_exp","value":"pub fn match_exp(&Self, &NP_Dec) -> NP_Dec","parent":null,"children":[],"decl_id":null,"docs":" Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec.\n \n This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let mut my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n let other_num = NP_Dec::new(50, 1); // value is 5.0\n \n let matched_dec = my_num.match_exp(&other_num);\n // `exp` values match now! They're both 3.\n assert_eq!(matched_dec.exp, my_num.exp);\n ```\n \n","sig":null,"attributes":[{"value":"/ Given another NP_Dec value, match the `exp` value of this NP_Dec to the other one. Returns a copy of the other NP_Dec.","span":{"file_name":"src/pointer/dec.rs","byte_start":267849,"byte_end":267972,"line_start":202,"line_end":202,"column_start":5,"column_end":128}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":267977,"byte_end":267981,"line_start":203,"line_end":203,"column_start":5,"column_end":9}},{"value":"/ This creates a copy of the other NP_Dec then shifts it's `exp` value to whatever self is, then returns that copy.","span":{"file_name":"src/pointer/dec.rs","byte_start":267986,"byte_end":268103,"line_start":204,"line_end":204,"column_start":5,"column_end":122}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268108,"byte_end":268112,"line_start":205,"line_end":205,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268117,"byte_end":268124,"line_start":206,"line_end":206,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":268129,"byte_end":268168,"line_start":207,"line_end":207,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268173,"byte_end":268177,"line_start":208,"line_end":208,"column_start":5,"column_end":9}},{"value":"/ let mut my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":268182,"byte_end":268242,"line_start":209,"line_end":209,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268247,"byte_end":268251,"line_start":210,"line_end":210,"column_start":5,"column_end":9}},{"value":"/ let other_num = NP_Dec::new(50, 1); // value is 5.0","span":{"file_name":"src/pointer/dec.rs","byte_start":268256,"byte_end":268311,"line_start":211,"line_end":211,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268316,"byte_end":268320,"line_start":212,"line_end":212,"column_start":5,"column_end":9}},{"value":"/ let matched_dec = my_num.match_exp(&other_num);","span":{"file_name":"src/pointer/dec.rs","byte_start":268325,"byte_end":268376,"line_start":213,"line_end":213,"column_start":5,"column_end":56}},{"value":"/ // `exp` values match now! They're both 3.","span":{"file_name":"src/pointer/dec.rs","byte_start":268381,"byte_end":268427,"line_start":214,"line_end":214,"column_start":5,"column_end":51}},{"value":"/ assert_eq!(matched_dec.exp, my_num.exp);","span":{"file_name":"src/pointer/dec.rs","byte_start":268432,"byte_end":268476,"line_start":215,"line_end":215,"column_start":5,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268481,"byte_end":268488,"line_start":216,"line_end":216,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268493,"byte_end":268497,"line_start":217,"line_end":217,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489661805},"span":{"file_name":"src/pointer/dec.rs","byte_start":268570,"byte_end":268580,"line_start":219,"line_end":219,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:877 ~ no_proto[7dec]::pointer::dec::{impl#1}::match_exp), local_id: 11 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742702},"span":{"file_name":"src/pointer/dec.rs","byte_start":269022,"byte_end":269026,"line_start":239,"line_end":239,"column_start":20,"column_end":24},"name":"self","qualname":"::export::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":878},"span":{"file_name":"src/pointer/dec.rs","byte_start":269014,"byte_end":269020,"line_start":239,"line_end":239,"column_start":12,"column_end":18},"name":"export","qualname":"::export","value":"pub fn export(&Self) -> (i64, u8)","parent":null,"children":[],"decl_id":null,"docs":" Export NP_Dec to it's component parts.\n \n ```\n use no_proto::pointer::dec::NP_Dec;\n \n let my_num = NP_Dec::new(2203, 3); // value is 2.203\n \n assert_eq!(my_num.export(), (2203i64, 3u8));\n ```\n","sig":null,"attributes":[{"value":"/ Export NP_Dec to it's component parts.","span":{"file_name":"src/pointer/dec.rs","byte_start":268751,"byte_end":268793,"line_start":230,"line_end":230,"column_start":5,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268798,"byte_end":268802,"line_start":231,"line_end":231,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268807,"byte_end":268814,"line_start":232,"line_end":232,"column_start":5,"column_end":12}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/pointer/dec.rs","byte_start":268819,"byte_end":268858,"line_start":233,"line_end":233,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268863,"byte_end":268867,"line_start":234,"line_end":234,"column_start":5,"column_end":9}},{"value":"/ let my_num = NP_Dec::new(2203, 3); // value is 2.203","span":{"file_name":"src/pointer/dec.rs","byte_start":268872,"byte_end":268928,"line_start":235,"line_end":235,"column_start":5,"column_end":61}},{"value":"/ ","span":{"file_name":"src/pointer/dec.rs","byte_start":268933,"byte_end":268937,"line_start":236,"line_end":236,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(my_num.export(), (2203i64, 3u8));","span":{"file_name":"src/pointer/dec.rs","byte_start":268942,"byte_end":268990,"line_start":237,"line_end":237,"column_start":5,"column_end":53}},{"value":"/ ```","span":{"file_name":"src/pointer/dec.rs","byte_start":268995,"byte_end":269002,"line_start":238,"line_end":238,"column_start":5,"column_end":12}}]},{"kind":"Local","id":{"krate":0,"index":1073742704},"span":{"file_name":"src/pointer/dec.rs","byte_start":269728,"byte_end":269732,"line_start":265,"line_end":265,"column_start":12,"column_end":16},"name":"self","qualname":"::ne::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871792},"span":{"file_name":"src/pointer/dec.rs","byte_start":269734,"byte_end":269739,"line_start":265,"line_end":265,"column_start":18,"column_end":23},"name":"other","qualname":"::ne::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":880},"span":{"file_name":"src/pointer/dec.rs","byte_start":269724,"byte_end":269726,"line_start":265,"line_end":265,"column_start":8,"column_end":10},"name":"ne","qualname":"::ne","value":"fn ne(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2675},"children":[],"decl_id":{"krate":1,"index":2678},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464304},"span":{"file_name":"src/pointer/dec.rs","byte_start":269871,"byte_end":269878,"line_start":270,"line_end":270,"column_start":17,"column_end":24},"name":"new_exp","qualname":"new_exp$HirId { owner: DefId(0:880 ~ no_proto[7dec]::pointer::dec::{impl#2}::ne), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859312},"span":{"file_name":"src/pointer/dec.rs","byte_start":269927,"byte_end":269935,"line_start":271,"line_end":271,"column_start":17,"column_end":25},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:880 ~ no_proto[7dec]::pointer::dec::{impl#2}::ne), local_id: 63 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583692144},"span":{"file_name":"src/pointer/dec.rs","byte_start":270029,"byte_end":270038,"line_start":272,"line_end":272,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:880 ~ no_proto[7dec]::pointer::dec::{impl#2}::ne), local_id: 89 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742705},"span":{"file_name":"src/pointer/dec.rs","byte_start":270197,"byte_end":270201,"line_start":277,"line_end":277,"column_start":12,"column_end":16},"name":"self","qualname":"::eq::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871793},"span":{"file_name":"src/pointer/dec.rs","byte_start":270203,"byte_end":270208,"line_start":277,"line_end":277,"column_start":18,"column_end":23},"name":"other","qualname":"::eq::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":881},"span":{"file_name":"src/pointer/dec.rs","byte_start":270193,"byte_end":270195,"line_start":277,"line_end":277,"column_start":8,"column_end":10},"name":"eq","qualname":"::eq","value":"fn eq(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2675},"children":[],"decl_id":{"krate":1,"index":2677},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464305},"span":{"file_name":"src/pointer/dec.rs","byte_start":270341,"byte_end":270348,"line_start":282,"line_end":282,"column_start":17,"column_end":24},"name":"new_exp","qualname":"new_exp$HirId { owner: DefId(0:881 ~ no_proto[7dec]::pointer::dec::{impl#2}::eq), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859313},"span":{"file_name":"src/pointer/dec.rs","byte_start":270397,"byte_end":270405,"line_start":283,"line_end":283,"column_start":17,"column_end":25},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:881 ~ no_proto[7dec]::pointer::dec::{impl#2}::eq), local_id: 63 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583692145},"span":{"file_name":"src/pointer/dec.rs","byte_start":270499,"byte_end":270508,"line_start":284,"line_end":284,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:881 ~ no_proto[7dec]::pointer::dec::{impl#2}::eq), local_id: 89 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742707},"span":{"file_name":"src/pointer/dec.rs","byte_start":271282,"byte_end":271286,"line_start":312,"line_end":312,"column_start":12,"column_end":16},"name":"self","qualname":"::lt::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871795},"span":{"file_name":"src/pointer/dec.rs","byte_start":271288,"byte_end":271293,"line_start":312,"line_end":312,"column_start":18,"column_end":23},"name":"other","qualname":"::lt::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":883},"span":{"file_name":"src/pointer/dec.rs","byte_start":271278,"byte_end":271280,"line_start":312,"line_end":312,"column_start":8,"column_end":10},"name":"lt","qualname":"::lt","value":"fn lt(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2725},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109747},"span":{"file_name":"src/pointer/dec.rs","byte_start":271423,"byte_end":271432,"line_start":316,"line_end":316,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:883 ~ no_proto[7dec]::pointer::dec::{impl#3}::lt), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742708},"span":{"file_name":"src/pointer/dec.rs","byte_start":271531,"byte_end":271535,"line_start":321,"line_end":321,"column_start":12,"column_end":16},"name":"self","qualname":"::le::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871796},"span":{"file_name":"src/pointer/dec.rs","byte_start":271537,"byte_end":271542,"line_start":321,"line_end":321,"column_start":18,"column_end":23},"name":"other","qualname":"::le::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":884},"span":{"file_name":"src/pointer/dec.rs","byte_start":271527,"byte_end":271529,"line_start":321,"line_end":321,"column_start":8,"column_end":10},"name":"le","qualname":"::le","value":"fn le(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109748},"span":{"file_name":"src/pointer/dec.rs","byte_start":271673,"byte_end":271682,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:884 ~ no_proto[7dec]::pointer::dec::{impl#3}::le), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742709},"span":{"file_name":"src/pointer/dec.rs","byte_start":271782,"byte_end":271786,"line_start":330,"line_end":330,"column_start":12,"column_end":16},"name":"self","qualname":"::gt::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871797},"span":{"file_name":"src/pointer/dec.rs","byte_start":271788,"byte_end":271793,"line_start":330,"line_end":330,"column_start":18,"column_end":23},"name":"other","qualname":"::gt::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":885},"span":{"file_name":"src/pointer/dec.rs","byte_start":271778,"byte_end":271780,"line_start":330,"line_end":330,"column_start":8,"column_end":10},"name":"gt","qualname":"::gt","value":"fn gt(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109749},"span":{"file_name":"src/pointer/dec.rs","byte_start":271923,"byte_end":271932,"line_start":334,"line_end":334,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:885 ~ no_proto[7dec]::pointer::dec::{impl#3}::gt), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742710},"span":{"file_name":"src/pointer/dec.rs","byte_start":272031,"byte_end":272035,"line_start":339,"line_end":339,"column_start":12,"column_end":16},"name":"self","qualname":"::ge::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871798},"span":{"file_name":"src/pointer/dec.rs","byte_start":272037,"byte_end":272042,"line_start":339,"line_end":339,"column_start":18,"column_end":23},"name":"other","qualname":"::ge::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":886},"span":{"file_name":"src/pointer/dec.rs","byte_start":272027,"byte_end":272029,"line_start":339,"line_end":339,"column_start":8,"column_end":10},"name":"ge","qualname":"::ge","value":"fn ge(&Self, &NP_Dec) -> bool","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109750},"span":{"file_name":"src/pointer/dec.rs","byte_start":272173,"byte_end":272182,"line_start":343,"line_end":343,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:886 ~ no_proto[7dec]::pointer::dec::{impl#3}::ge), local_id: 32 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742711},"span":{"file_name":"src/pointer/dec.rs","byte_start":272291,"byte_end":272295,"line_start":348,"line_end":348,"column_start":21,"column_end":25},"name":"self","qualname":"::partial_cmp::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871799},"span":{"file_name":"src/pointer/dec.rs","byte_start":272297,"byte_end":272302,"line_start":348,"line_end":348,"column_start":27,"column_end":32},"name":"other","qualname":"::partial_cmp::other","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":887},"span":{"file_name":"src/pointer/dec.rs","byte_start":272278,"byte_end":272289,"line_start":348,"line_end":348,"column_start":8,"column_end":19},"name":"partial_cmp","qualname":"::partial_cmp","value":"fn partial_cmp(&Self, &NP_Dec) -> Option","parent":{"krate":1,"index":2722},"children":[],"decl_id":{"krate":1,"index":2724},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770679},"span":{"file_name":"src/pointer/dec.rs","byte_start":272361,"byte_end":272362,"line_start":350,"line_end":350,"column_start":14,"column_end":15},"name":"a","qualname":"a$HirId { owner: DefId(0:887 ~ no_proto[7dec]::pointer::dec::{impl#3}::partial_cmp), local_id: 43 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416119},"span":{"file_name":"src/pointer/dec.rs","byte_start":272364,"byte_end":272365,"line_start":350,"line_end":350,"column_start":17,"column_end":18},"name":"b","qualname":"b$HirId { owner: DefId(0:887 ~ no_proto[7dec]::pointer::dec::{impl#3}::partial_cmp), local_id: 44 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750455},"span":{"file_name":"src/pointer/dec.rs","byte_start":272463,"byte_end":272472,"line_start":353,"line_end":353,"column_start":17,"column_end":26},"name":"new_other","qualname":"new_other$HirId { owner: DefId(0:887 ~ no_proto[7dec]::pointer::dec::{impl#3}::partial_cmp), local_id: 31 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742713},"span":{"file_name":"src/pointer/dec.rs","byte_start":273086,"byte_end":273090,"line_start":380,"line_end":380,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":889},"span":{"file_name":"src/pointer/dec.rs","byte_start":273081,"byte_end":273085,"line_start":380,"line_end":380,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> i32","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436345},"span":{"file_name":"src/pointer/dec.rs","byte_start":273118,"byte_end":273130,"line_start":381,"line_end":381,"column_start":17,"column_end":29},"name":"change_value","qualname":"change_value$HirId { owner: DefId(0:889 ~ no_proto[7dec]::pointer::dec::{impl#4}::into), local_id: 8 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879049081},"span":{"file_name":"src/pointer/dec.rs","byte_start":273159,"byte_end":273167,"line_start":382,"line_end":382,"column_start":17,"column_end":25},"name":"loop_val","qualname":"loop_val$HirId { owner: DefId(0:889 ~ no_proto[7dec]::pointer::dec::{impl#4}::into), local_id: 14 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742715},"span":{"file_name":"src/pointer/dec.rs","byte_start":273540,"byte_end":273544,"line_start":401,"line_end":401,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":891},"span":{"file_name":"src/pointer/dec.rs","byte_start":273535,"byte_end":273539,"line_start":401,"line_end":401,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742717},"span":{"file_name":"src/pointer/dec.rs","byte_start":273869,"byte_end":273873,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":893},"span":{"file_name":"src/pointer/dec.rs","byte_start":273864,"byte_end":273868,"line_start":417,"line_end":417,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> i64","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436349},"span":{"file_name":"src/pointer/dec.rs","byte_start":273901,"byte_end":273913,"line_start":418,"line_end":418,"column_start":17,"column_end":29},"name":"change_value","qualname":"change_value$HirId { owner: DefId(0:893 ~ no_proto[7dec]::pointer::dec::{impl#6}::into), local_id: 8 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879049085},"span":{"file_name":"src/pointer/dec.rs","byte_start":273942,"byte_end":273950,"line_start":419,"line_end":419,"column_start":17,"column_end":25},"name":"loop_val","qualname":"loop_val$HirId { owner: DefId(0:893 ~ no_proto[7dec]::pointer::dec::{impl#6}::into), local_id: 14 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742719},"span":{"file_name":"src/pointer/dec.rs","byte_start":274309,"byte_end":274313,"line_start":438,"line_end":438,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":895},"span":{"file_name":"src/pointer/dec.rs","byte_start":274304,"byte_end":274308,"line_start":438,"line_end":438,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742720},"span":{"file_name":"src/pointer/dec.rs","byte_start":274381,"byte_end":274382,"line_start":445,"line_end":445,"column_start":14,"column_end":15},"name":"n","qualname":"::pointer::dec::round_f64::n","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":896},"span":{"file_name":"src/pointer/dec.rs","byte_start":274371,"byte_end":274380,"line_start":445,"line_end":445,"column_start":4,"column_end":13},"name":"round_f64","qualname":"::pointer::dec::round_f64","value":"fn round_f64(f64) -> f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315008},"span":{"file_name":"src/pointer/dec.rs","byte_start":274406,"byte_end":274411,"line_start":446,"line_end":446,"column_start":9,"column_end":14},"name":"value","qualname":"value$HirId { owner: DefId(0:896 ~ no_proto[7dec]::pointer::dec::round_f64), local_id: 23 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946157952},"span":{"file_name":"src/pointer/dec.rs","byte_start":274464,"byte_end":274476,"line_start":448,"line_end":448,"column_start":9,"column_end":21},"name":"bounds_value","qualname":"bounds_value$HirId { owner: DefId(0:896 ~ no_proto[7dec]::pointer::dec::round_f64), local_id: 46 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742721},"span":{"file_name":"src/pointer/dec.rs","byte_start":274590,"byte_end":274591,"line_start":453,"line_end":453,"column_start":14,"column_end":15},"name":"n","qualname":"::pointer::dec::round_f32::n","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":897},"span":{"file_name":"src/pointer/dec.rs","byte_start":274580,"byte_end":274589,"line_start":453,"line_end":453,"column_start":4,"column_end":13},"name":"round_f32","qualname":"::pointer::dec::round_f32","value":"fn round_f32(f32) -> f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315009},"span":{"file_name":"src/pointer/dec.rs","byte_start":274615,"byte_end":274620,"line_start":454,"line_end":454,"column_start":9,"column_end":14},"name":"value","qualname":"value$HirId { owner: DefId(0:897 ~ no_proto[7dec]::pointer::dec::round_f32), local_id: 23 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946157953},"span":{"file_name":"src/pointer/dec.rs","byte_start":274673,"byte_end":274685,"line_start":456,"line_end":456,"column_start":9,"column_end":21},"name":"bounds_value","qualname":"bounds_value$HirId { owner: DefId(0:897 ~ no_proto[7dec]::pointer::dec::round_f32), local_id: 46 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742722},"span":{"file_name":"src/pointer/dec.rs","byte_start":274795,"byte_end":274796,"line_start":461,"line_end":461,"column_start":10,"column_end":11},"name":"n","qualname":"::pointer::dec::round::n","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871810},"span":{"file_name":"src/pointer/dec.rs","byte_start":274803,"byte_end":274812,"line_start":461,"line_end":461,"column_start":18,"column_end":27},"name":"precision","qualname":"::pointer::dec::round::precision","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":898},"span":{"file_name":"src/pointer/dec.rs","byte_start":274789,"byte_end":274794,"line_start":461,"line_end":461,"column_start":4,"column_end":9},"name":"round","qualname":"::pointer::dec::round","value":"fn round(f64, u32) -> f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742723},"span":{"file_name":"src/pointer/dec.rs","byte_start":274923,"byte_end":274924,"line_start":465,"line_end":465,"column_start":14,"column_end":15},"name":"x","qualname":"::pointer::dec::precision::x","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":899},"span":{"file_name":"src/pointer/dec.rs","byte_start":274913,"byte_end":274922,"line_start":465,"line_end":465,"column_start":4,"column_end":13},"name":"precision","qualname":"::pointer::dec::precision","value":"fn precision(f64) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489661827},"span":{"file_name":"src/pointer/dec.rs","byte_start":274956,"byte_end":274962,"line_start":466,"line_end":466,"column_start":9,"column_end":15},"name":"digits","qualname":"digits$HirId { owner: DefId(0:899 ~ no_proto[7dec]::pointer::dec::precision), local_id: 11 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742724},"span":{"file_name":"src/pointer/dec.rs","byte_start":275096,"byte_end":275097,"line_start":474,"line_end":474,"column_start":12,"column_end":13},"name":"n","qualname":"::pointer::dec::round32::n","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871812},"span":{"file_name":"src/pointer/dec.rs","byte_start":275104,"byte_end":275113,"line_start":474,"line_end":474,"column_start":20,"column_end":29},"name":"precision","qualname":"::pointer::dec::round32::precision","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":900},"span":{"file_name":"src/pointer/dec.rs","byte_start":275088,"byte_end":275095,"line_start":474,"line_end":474,"column_start":4,"column_end":11},"name":"round32","qualname":"::pointer::dec::round32","value":"fn round32(f32, u32) -> f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742725},"span":{"file_name":"src/pointer/dec.rs","byte_start":275226,"byte_end":275227,"line_start":478,"line_end":478,"column_start":16,"column_end":17},"name":"x","qualname":"::pointer::dec::precision32::x","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":901},"span":{"file_name":"src/pointer/dec.rs","byte_start":275214,"byte_end":275225,"line_start":478,"line_end":478,"column_start":4,"column_end":15},"name":"precision32","qualname":"::pointer::dec::precision32","value":"fn precision32(f32) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489661829},"span":{"file_name":"src/pointer/dec.rs","byte_start":275259,"byte_end":275265,"line_start":479,"line_end":479,"column_start":9,"column_end":15},"name":"digits","qualname":"digits$HirId { owner: DefId(0:901 ~ no_proto[7dec]::pointer::dec::precision32), local_id: 11 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742727},"span":{"file_name":"src/pointer/dec.rs","byte_start":275628,"byte_end":275632,"line_start":497,"line_end":497,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":903},"span":{"file_name":"src/pointer/dec.rs","byte_start":275623,"byte_end":275627,"line_start":497,"line_end":497,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> f64","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742729},"span":{"file_name":"src/pointer/dec.rs","byte_start":275907,"byte_end":275911,"line_start":512,"line_end":512,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":905},"span":{"file_name":"src/pointer/dec.rs","byte_start":275902,"byte_end":275906,"line_start":512,"line_end":512,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415920009},"span":{"file_name":"src/pointer/dec.rs","byte_start":275975,"byte_end":275976,"line_start":514,"line_end":514,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 9 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137737},"span":{"file_name":"src/pointer/dec.rs","byte_start":276003,"byte_end":276021,"line_start":515,"line_end":515,"column_start":21,"column_end":39},"name":"max_decimal_places","qualname":"max_decimal_places$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 25 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109769},"span":{"file_name":"src/pointer/dec.rs","byte_start":276070,"byte_end":276078,"line_start":516,"line_end":516,"column_start":25,"column_end":33},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 32 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464329},"span":{"file_name":"src/pointer/dec.rs","byte_start":276119,"byte_end":276127,"line_start":517,"line_end":517,"column_start":25,"column_end":33},"name":"loop_exp","qualname":"loop_exp$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474441},"span":{"file_name":"src/pointer/dec.rs","byte_start":276299,"byte_end":276304,"line_start":522,"line_end":522,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 73 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276937},"span":{"file_name":"src/pointer/dec.rs","byte_start":276507,"byte_end":276512,"line_start":526,"line_end":526,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:905 ~ no_proto[7dec]::pointer::dec::{impl#9}::into), local_id: 102 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742731},"span":{"file_name":"src/pointer/dec.rs","byte_start":276863,"byte_end":276867,"line_start":543,"line_end":543,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":907},"span":{"file_name":"src/pointer/dec.rs","byte_start":276858,"byte_end":276862,"line_start":543,"line_end":543,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> f32","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742733},"span":{"file_name":"src/pointer/dec.rs","byte_start":277156,"byte_end":277160,"line_start":558,"line_end":558,"column_start":13,"column_end":17},"name":"self","qualname":"::into::self","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":909},"span":{"file_name":"src/pointer/dec.rs","byte_start":277151,"byte_end":277155,"line_start":558,"line_end":558,"column_start":8,"column_end":12},"name":"into","qualname":"::into","value":"fn into(Self) -> NP_Dec","parent":{"krate":1,"index":2927},"children":[],"decl_id":{"krate":1,"index":2929},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415920013},"span":{"file_name":"src/pointer/dec.rs","byte_start":277226,"byte_end":277227,"line_start":560,"line_end":560,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 9 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137741},"span":{"file_name":"src/pointer/dec.rs","byte_start":277254,"byte_end":277272,"line_start":561,"line_end":561,"column_start":21,"column_end":39},"name":"max_decimal_places","qualname":"max_decimal_places$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 25 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109773},"span":{"file_name":"src/pointer/dec.rs","byte_start":277321,"byte_end":277329,"line_start":562,"line_end":562,"column_start":25,"column_end":33},"name":"new_self","qualname":"new_self$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 32 }","value":"f32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464333},"span":{"file_name":"src/pointer/dec.rs","byte_start":277370,"byte_end":277378,"line_start":563,"line_end":563,"column_start":25,"column_end":33},"name":"loop_exp","qualname":"loop_exp$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 37 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474445},"span":{"file_name":"src/pointer/dec.rs","byte_start":277550,"byte_end":277555,"line_start":568,"line_end":568,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 73 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711276941},"span":{"file_name":"src/pointer/dec.rs","byte_start":277758,"byte_end":277763,"line_start":572,"line_end":572,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:909 ~ no_proto[7dec]::pointer::dec::{impl#11}::into), local_id: 102 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742735},"span":{"file_name":"src/pointer/dec.rs","byte_start":277941,"byte_end":277945,"line_start":580,"line_end":580,"column_start":24,"column_end":28},"name":"self","qualname":"::div_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871823},"span":{"file_name":"src/pointer/dec.rs","byte_start":277947,"byte_end":277952,"line_start":580,"line_end":580,"column_start":30,"column_end":35},"name":"other","qualname":"::div_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":911},"span":{"file_name":"src/pointer/dec.rs","byte_start":277925,"byte_end":277935,"line_start":580,"line_end":580,"column_start":8,"column_end":18},"name":"div_assign","qualname":"::div_assign","value":"fn div_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3134},"children":[],"decl_id":{"krate":1,"index":3136},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831375},"span":{"file_name":"src/pointer/dec.rs","byte_start":278016,"byte_end":278026,"line_start":582,"line_end":582,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:911 ~ no_proto[7dec]::pointer::dec::{impl#12}::div_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742738},"span":{"file_name":"src/pointer/dec.rs","byte_start":278267,"byte_end":278271,"line_start":592,"line_end":592,"column_start":16,"column_end":20},"name":"self","qualname":"::div::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871826},"span":{"file_name":"src/pointer/dec.rs","byte_start":278273,"byte_end":278278,"line_start":592,"line_end":592,"column_start":22,"column_end":27},"name":"other","qualname":"::div::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":914},"span":{"file_name":"src/pointer/dec.rs","byte_start":278259,"byte_end":278262,"line_start":592,"line_end":592,"column_start":8,"column_end":11},"name":"div","qualname":"::div","value":"fn div(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3106},"children":[],"decl_id":{"krate":1,"index":3109},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831378},"span":{"file_name":"src/pointer/dec.rs","byte_start":278386,"byte_end":278396,"line_start":594,"line_end":594,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:914 ~ no_proto[7dec]::pointer::dec::{impl#13}::div), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742740},"span":{"file_name":"src/pointer/dec.rs","byte_start":278647,"byte_end":278651,"line_start":604,"line_end":604,"column_start":24,"column_end":28},"name":"self","qualname":"::sub_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871828},"span":{"file_name":"src/pointer/dec.rs","byte_start":278653,"byte_end":278658,"line_start":604,"line_end":604,"column_start":30,"column_end":35},"name":"other","qualname":"::sub_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":916},"span":{"file_name":"src/pointer/dec.rs","byte_start":278631,"byte_end":278641,"line_start":604,"line_end":604,"column_start":8,"column_end":18},"name":"sub_assign","qualname":"::sub_assign","value":"fn sub_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3126},"children":[],"decl_id":{"krate":1,"index":3128},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831380},"span":{"file_name":"src/pointer/dec.rs","byte_start":278722,"byte_end":278732,"line_start":606,"line_end":606,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:916 ~ no_proto[7dec]::pointer::dec::{impl#14}::sub_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742743},"span":{"file_name":"src/pointer/dec.rs","byte_start":278973,"byte_end":278977,"line_start":616,"line_end":616,"column_start":16,"column_end":20},"name":"self","qualname":"::sub::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871831},"span":{"file_name":"src/pointer/dec.rs","byte_start":278979,"byte_end":278984,"line_start":616,"line_end":616,"column_start":22,"column_end":27},"name":"other","qualname":"::sub::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":919},"span":{"file_name":"src/pointer/dec.rs","byte_start":278965,"byte_end":278968,"line_start":616,"line_end":616,"column_start":8,"column_end":11},"name":"sub","qualname":"::sub","value":"fn sub(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3096},"children":[],"decl_id":{"krate":1,"index":3099},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831383},"span":{"file_name":"src/pointer/dec.rs","byte_start":279092,"byte_end":279102,"line_start":618,"line_end":618,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:919 ~ no_proto[7dec]::pointer::dec::{impl#15}::sub), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742745},"span":{"file_name":"src/pointer/dec.rs","byte_start":279353,"byte_end":279357,"line_start":628,"line_end":628,"column_start":24,"column_end":28},"name":"self","qualname":"::add_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871833},"span":{"file_name":"src/pointer/dec.rs","byte_start":279359,"byte_end":279364,"line_start":628,"line_end":628,"column_start":30,"column_end":35},"name":"other","qualname":"::add_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":921},"span":{"file_name":"src/pointer/dec.rs","byte_start":279337,"byte_end":279347,"line_start":628,"line_end":628,"column_start":8,"column_end":18},"name":"add_assign","qualname":"::add_assign","value":"fn add_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3122},"children":[],"decl_id":{"krate":1,"index":3124},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831385},"span":{"file_name":"src/pointer/dec.rs","byte_start":279428,"byte_end":279438,"line_start":630,"line_end":630,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:921 ~ no_proto[7dec]::pointer::dec::{impl#16}::add_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742748},"span":{"file_name":"src/pointer/dec.rs","byte_start":279679,"byte_end":279683,"line_start":640,"line_end":640,"column_start":16,"column_end":20},"name":"self","qualname":"::add::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871836},"span":{"file_name":"src/pointer/dec.rs","byte_start":279685,"byte_end":279690,"line_start":640,"line_end":640,"column_start":22,"column_end":27},"name":"other","qualname":"::add::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":924},"span":{"file_name":"src/pointer/dec.rs","byte_start":279671,"byte_end":279674,"line_start":640,"line_end":640,"column_start":8,"column_end":11},"name":"add","qualname":"::add","value":"fn add(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3091},"children":[],"decl_id":{"krate":1,"index":3094},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831388},"span":{"file_name":"src/pointer/dec.rs","byte_start":279798,"byte_end":279808,"line_start":642,"line_end":642,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:924 ~ no_proto[7dec]::pointer::dec::{impl#17}::add), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742750},"span":{"file_name":"src/pointer/dec.rs","byte_start":280059,"byte_end":280063,"line_start":652,"line_end":652,"column_start":24,"column_end":28},"name":"self","qualname":"::mul_assign::self","value":"&mut pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871838},"span":{"file_name":"src/pointer/dec.rs","byte_start":280065,"byte_end":280070,"line_start":652,"line_end":652,"column_start":30,"column_end":35},"name":"other","qualname":"::mul_assign::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":926},"span":{"file_name":"src/pointer/dec.rs","byte_start":280043,"byte_end":280053,"line_start":652,"line_end":652,"column_start":8,"column_end":18},"name":"mul_assign","qualname":"::mul_assign","value":"fn mul_assign(&mut Self, NP_Dec)","parent":{"krate":1,"index":3130},"children":[],"decl_id":{"krate":1,"index":3132},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831390},"span":{"file_name":"src/pointer/dec.rs","byte_start":280134,"byte_end":280144,"line_start":654,"line_end":654,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:926 ~ no_proto[7dec]::pointer::dec::{impl#18}::mul_assign), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742753},"span":{"file_name":"src/pointer/dec.rs","byte_start":280385,"byte_end":280389,"line_start":664,"line_end":664,"column_start":16,"column_end":20},"name":"self","qualname":"::mul::self","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871841},"span":{"file_name":"src/pointer/dec.rs","byte_start":280391,"byte_end":280396,"line_start":664,"line_end":664,"column_start":22,"column_end":27},"name":"other","qualname":"::mul::other","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":929},"span":{"file_name":"src/pointer/dec.rs","byte_start":280377,"byte_end":280380,"line_start":664,"line_end":664,"column_start":8,"column_end":11},"name":"mul","qualname":"::mul","value":"fn mul(Self, NP_Dec) -> >::Output","parent":{"krate":1,"index":3101},"children":[],"decl_id":{"krate":1,"index":3104},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831393},"span":{"file_name":"src/pointer/dec.rs","byte_start":280505,"byte_end":280515,"line_start":667,"line_end":667,"column_start":17,"column_end":27},"name":"other_copy","qualname":"other_copy$HirId { owner: DefId(0:929 ~ no_proto[7dec]::pointer::dec::{impl#19}::mul), local_id: 22 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":931},"span":{"file_name":"src/pointer/dec.rs","byte_start":280727,"byte_end":280734,"line_start":677,"line_end":677,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":934},"span":{"file_name":"src/pointer/dec.rs","byte_start":280837,"byte_end":280845,"line_start":687,"line_end":687,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742759},"span":{"file_name":"src/pointer/dec.rs","byte_start":280938,"byte_end":280942,"line_start":688,"line_end":688,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":935},"span":{"file_name":"src/pointer/dec.rs","byte_start":280923,"byte_end":280936,"line_start":688,"line_end":688,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742760},"span":{"file_name":"src/pointer/dec.rs","byte_start":281035,"byte_end":281041,"line_start":690,"line_end":690,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871848},"span":{"file_name":"src/pointer/dec.rs","byte_start":281067,"byte_end":281074,"line_start":690,"line_end":690,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":936},"span":{"file_name":"src/pointer/dec.rs","byte_start":281020,"byte_end":281034,"line_start":690,"line_end":690,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307304},"span":{"file_name":"src/pointer/dec.rs","byte_start":281129,"byte_end":281140,"line_start":691,"line_end":691,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:936 ~ no_proto[7dec]::pointer::dec::{impl#21}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069352},"span":{"file_name":"src/pointer/dec.rs","byte_start":281266,"byte_end":281270,"line_start":694,"line_end":694,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:936 ~ no_proto[7dec]::pointer::dec::{impl#21}::schema_to_json), local_id: 50 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100664232},"span":{"file_name":"src/pointer/dec.rs","byte_start":281480,"byte_end":281485,"line_start":699,"line_end":699,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:936 ~ no_proto[7dec]::pointer::dec::{impl#21}::schema_to_json), local_id: 96 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742761},"span":{"file_name":"src/pointer/dec.rs","byte_start":281712,"byte_end":281718,"line_start":707,"line_end":707,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871849},"span":{"file_name":"src/pointer/dec.rs","byte_start":281727,"byte_end":281731,"line_start":707,"line_end":707,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613673},"span":{"file_name":"src/pointer/dec.rs","byte_start":281740,"byte_end":281746,"line_start":707,"line_end":707,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":937},"span":{"file_name":"src/pointer/dec.rs","byte_start":281698,"byte_end":281711,"line_start":707,"line_end":707,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654121},"span":{"file_name":"src/pointer/dec.rs","byte_start":281802,"byte_end":281806,"line_start":708,"line_end":708,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:937 ~ no_proto[7dec]::pointer::dec::{impl#21}::default_value), local_id: 24 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742762},"span":{"file_name":"src/pointer/dec.rs","byte_start":282028,"byte_end":282034,"line_start":718,"line_end":718,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871850},"span":{"file_name":"src/pointer/dec.rs","byte_start":282043,"byte_end":282054,"line_start":718,"line_end":718,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613674},"span":{"file_name":"src/pointer/dec.rs","byte_start":282062,"byte_end":282068,"line_start":718,"line_end":718,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436394},"span":{"file_name":"src/pointer/dec.rs","byte_start":282081,"byte_end":282087,"line_start":718,"line_end":718,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178218},"span":{"file_name":"src/pointer/dec.rs","byte_start":282106,"byte_end":282111,"line_start":718,"line_end":718,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":938},"span":{"file_name":"src/pointer/dec.rs","byte_start":282008,"byte_end":282021,"line_start":718,"line_end":718,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960490},"span":{"file_name":"src/pointer/dec.rs","byte_start":282236,"byte_end":282239,"line_start":720,"line_end":720,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:938 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_from_json), local_id: 18 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742764},"span":{"file_name":"src/pointer/dec.rs","byte_start":283109,"byte_end":283115,"line_start":741,"line_end":741,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871852},"span":{"file_name":"src/pointer/dec.rs","byte_start":283128,"byte_end":283134,"line_start":741,"line_end":741,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613676},"span":{"file_name":"src/pointer/dec.rs","byte_start":283153,"byte_end":283158,"line_start":741,"line_end":741,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":940},"span":{"file_name":"src/pointer/dec.rs","byte_start":283093,"byte_end":283102,"line_start":741,"line_end":741,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960492},"span":{"file_name":"src/pointer/dec.rs","byte_start":283237,"byte_end":283244,"line_start":743,"line_end":743,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 18 }","value":"[closure@src/pointer/dec.rs:743:23: 743:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008684},"span":{"file_name":"src/pointer/dec.rs","byte_start":283297,"byte_end":283310,"line_start":745,"line_end":745,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811180},"span":{"file_name":"src/pointer/dec.rs","byte_start":283363,"byte_end":283367,"line_start":747,"line_end":747,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 49 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959423916},"span":{"file_name":"src/pointer/dec.rs","byte_start":283465,"byte_end":283468,"line_start":749,"line_end":749,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 55 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080375724},"span":{"file_name":"src/pointer/dec.rs","byte_start":283498,"byte_end":283510,"line_start":751,"line_end":751,"column_start":17,"column_end":29},"name":"cloned_value","qualname":"cloned_value$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 62 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523216300},"span":{"file_name":"src/pointer/dec.rs","byte_start":283580,"byte_end":283589,"line_start":754,"line_end":754,"column_start":13,"column_end":22},"name":"i64_value","qualname":"i64_value$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 75 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925869484},"span":{"file_name":"src/pointer/dec.rs","byte_start":283690,"byte_end":283695,"line_start":757,"line_end":757,"column_start":21,"column_end":26},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 87 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3590325164},"span":{"file_name":"src/pointer/dec.rs","byte_start":283822,"byte_end":283833,"line_start":762,"line_end":762,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 107 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771752876},"span":{"file_name":"src/pointer/dec.rs","byte_start":283926,"byte_end":283927,"line_start":765,"line_end":765,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 116 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157628844},"span":{"file_name":"src/pointer/dec.rs","byte_start":284073,"byte_end":284081,"line_start":771,"line_end":771,"column_start":21,"column_end":29},"name":"be_bytes","qualname":"be_bytes$HirId { owner: DefId(0:940 ~ no_proto[7dec]::pointer::dec::{impl#21}::set_value), local_id: 162 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742767},"span":{"file_name":"src/pointer/dec.rs","byte_start":284395,"byte_end":284401,"line_start":784,"line_end":784,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871855},"span":{"file_name":"src/pointer/dec.rs","byte_start":284415,"byte_end":284421,"line_start":784,"line_end":784,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":943},"span":{"file_name":"src/pointer/dec.rs","byte_start":284384,"byte_end":284394,"line_start":784,"line_end":784,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218671},"span":{"file_name":"src/pointer/dec.rs","byte_start":284509,"byte_end":284516,"line_start":786,"line_end":786,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 16 }","value":"[closure@src/pointer/dec.rs:786:23: 786:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623879599},"span":{"file_name":"src/pointer/dec.rs","byte_start":284565,"byte_end":284575,"line_start":788,"line_end":788,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859375},"span":{"file_name":"src/pointer/dec.rs","byte_start":284720,"byte_end":284724,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 63 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717909935},"span":{"file_name":"src/pointer/dec.rs","byte_start":284822,"byte_end":284825,"line_start":797,"line_end":797,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060087215},"span":{"file_name":"src/pointer/dec.rs","byte_start":284906,"byte_end":284907,"line_start":800,"line_end":800,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 79 }","value":"&[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436208559},"span":{"file_name":"src/pointer/dec.rs","byte_start":284938,"byte_end":284946,"line_start":801,"line_end":801,"column_start":25,"column_end":33},"name":"be_bytes","qualname":"be_bytes$HirId { owner: DefId(0:943 ~ no_proto[7dec]::pointer::dec::{impl#21}::into_value), local_id: 88 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742769},"span":{"file_name":"src/pointer/dec.rs","byte_start":285156,"byte_end":285162,"line_start":809,"line_end":809,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871857},"span":{"file_name":"src/pointer/dec.rs","byte_start":285170,"byte_end":285176,"line_start":809,"line_end":809,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613681},"span":{"file_name":"src/pointer/dec.rs","byte_start":285190,"byte_end":285196,"line_start":809,"line_end":809,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":945},"span":{"file_name":"src/pointer/dec.rs","byte_start":285148,"byte_end":285155,"line_start":809,"line_end":809,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395953},"span":{"file_name":"src/pointer/dec.rs","byte_start":285243,"byte_end":285247,"line_start":811,"line_end":811,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 26 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109809},"span":{"file_name":"src/pointer/dec.rs","byte_start":285345,"byte_end":285348,"line_start":813,"line_end":813,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 32 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770737},"span":{"file_name":"src/pointer/dec.rs","byte_start":285426,"byte_end":285427,"line_start":816,"line_end":816,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 43 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811185},"span":{"file_name":"src/pointer/dec.rs","byte_start":285485,"byte_end":285486,"line_start":818,"line_end":818,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 49 }","value":"pointer::dec::NP_Dec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690988465},"span":{"file_name":"src/pointer/dec.rs","byte_start":285525,"byte_end":285531,"line_start":819,"line_end":819,"column_start":33,"column_end":39},"name":"object","qualname":"object$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 59 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780849},"span":{"file_name":"src/pointer/dec.rs","byte_start":285581,"byte_end":285586,"line_start":821,"line_end":821,"column_start":33,"column_end":38},"name":"parts","qualname":"parts$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 67 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177527729},"span":{"file_name":"src/pointer/dec.rs","byte_start":286105,"byte_end":286109,"line_start":831,"line_end":831,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 159 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110418865},"span":{"file_name":"src/pointer/dec.rs","byte_start":286287,"byte_end":286293,"line_start":834,"line_end":834,"column_start":37,"column_end":43},"name":"object","qualname":"object$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 175 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976201137},"span":{"file_name":"src/pointer/dec.rs","byte_start":286346,"byte_end":286351,"line_start":835,"line_end":835,"column_start":37,"column_end":42},"name":"parts","qualname":"parts$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 183 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2961179569},"span":{"file_name":"src/pointer/dec.rs","byte_start":287024,"byte_end":287026,"line_start":850,"line_end":850,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:945 ~ no_proto[7dec]::pointer::dec::{impl#21}::to_json), local_id: 269 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742770},"span":{"file_name":"src/pointer/dec.rs","byte_start":287110,"byte_end":287116,"line_start":856,"line_end":856,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871858},"span":{"file_name":"src/pointer/dec.rs","byte_start":287124,"byte_end":287130,"line_start":856,"line_end":856,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613682},"span":{"file_name":"src/pointer/dec.rs","byte_start":287144,"byte_end":287150,"line_start":856,"line_end":856,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":946},"span":{"file_name":"src/pointer/dec.rs","byte_start":287101,"byte_end":287109,"line_start":856,"line_end":856,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960498},"span":{"file_name":"src/pointer/dec.rs","byte_start":287214,"byte_end":287221,"line_start":858,"line_end":858,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:946 ~ no_proto[7dec]::pointer::dec::{impl#21}::get_size), local_id: 18 }","value":"[closure@src/pointer/dec.rs:858:23: 858:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742772},"span":{"file_name":"src/pointer/dec.rs","byte_start":287422,"byte_end":287428,"line_start":868,"line_end":868,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871860},"span":{"file_name":"src/pointer/dec.rs","byte_start":287454,"byte_end":287461,"line_start":868,"line_end":868,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":948},"span":{"file_name":"src/pointer/dec.rs","byte_start":287408,"byte_end":287421,"line_start":868,"line_end":868,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831412},"span":{"file_name":"src/pointer/dec.rs","byte_start":287511,"byte_end":287515,"line_start":869,"line_end":869,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:948 ~ no_proto[7dec]::pointer::dec::{impl#21}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Dec_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750516},"span":{"file_name":"src/pointer/dec.rs","byte_start":287595,"byte_end":287601,"line_start":871,"line_end":871,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:948 ~ no_proto[7dec]::pointer::dec::{impl#21}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742773},"span":{"file_name":"src/pointer/dec.rs","byte_start":287941,"byte_end":287947,"line_start":882,"line_end":882,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871861},"span":{"file_name":"src/pointer/dec.rs","byte_start":287972,"byte_end":287977,"line_start":882,"line_end":882,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613685},"span":{"file_name":"src/pointer/dec.rs","byte_start":287985,"byte_end":287988,"line_start":882,"line_end":882,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436405},"span":{"file_name":"src/pointer/dec.rs","byte_start":288002,"byte_end":288006,"line_start":882,"line_end":882,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":949},"span":{"file_name":"src/pointer/dec.rs","byte_start":287918,"byte_end":287936,"line_start":882,"line_end":882,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702325},"span":{"file_name":"src/pointer/dec.rs","byte_start":288101,"byte_end":288104,"line_start":884,"line_end":884,"column_start":17,"column_end":20},"name":"exp","qualname":"exp$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476395957},"span":{"file_name":"src/pointer/dec.rs","byte_start":288141,"byte_end":288148,"line_start":885,"line_end":885,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 26 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287093},"span":{"file_name":"src/pointer/dec.rs","byte_start":288260,"byte_end":288270,"line_start":888,"line_end":888,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 42 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641653},"span":{"file_name":"src/pointer/dec.rs","byte_start":288303,"byte_end":288306,"line_start":889,"line_end":889,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 47 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327541},"span":{"file_name":"src/pointer/dec.rs","byte_start":288308,"byte_end":288313,"line_start":889,"line_end":889,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 48 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301990837},"span":{"file_name":"src/pointer/dec.rs","byte_start":288525,"byte_end":288529,"line_start":893,"line_end":893,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 72 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436208565},"span":{"file_name":"src/pointer/dec.rs","byte_start":288671,"byte_end":288672,"line_start":895,"line_end":895,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 88 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858760629},"span":{"file_name":"src/pointer/dec.rs","byte_start":288837,"byte_end":288839,"line_start":898,"line_end":898,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 103 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1627390901},"span":{"file_name":"src/pointer/dec.rs","byte_start":289247,"byte_end":289251,"line_start":906,"line_end":906,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 134 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761608629},"span":{"file_name":"src/pointer/dec.rs","byte_start":289394,"byte_end":289395,"line_start":908,"line_end":908,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 150 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768241589},"span":{"file_name":"src/pointer/dec.rs","byte_start":289564,"byte_end":289566,"line_start":911,"line_end":911,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 165 }","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3875537845},"span":{"file_name":"src/pointer/dec.rs","byte_start":290004,"byte_end":290015,"line_start":925,"line_end":925,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 231 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3900703669},"span":{"file_name":"src/pointer/dec.rs","byte_start":290116,"byte_end":290119,"line_start":930,"line_end":930,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 279 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1149240245},"span":{"file_name":"src/pointer/dec.rs","byte_start":290318,"byte_end":290322,"line_start":937,"line_end":937,"column_start":13,"column_end":17},"name":"mult","qualname":"mult$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 290 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":377488309},"span":{"file_name":"src/pointer/dec.rs","byte_start":290361,"byte_end":290368,"line_start":939,"line_end":939,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 360 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3833594805},"span":{"file_name":"src/pointer/dec.rs","byte_start":290404,"byte_end":290405,"line_start":940,"line_end":940,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 295 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1551893429},"span":{"file_name":"src/pointer/dec.rs","byte_start":290469,"byte_end":290474,"line_start":942,"line_end":942,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:949 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_idl_to_schema), local_id: 314 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742774},"span":{"file_name":"src/pointer/dec.rs","byte_start":291082,"byte_end":291088,"line_start":963,"line_end":963,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871862},"span":{"file_name":"src/pointer/dec.rs","byte_start":291113,"byte_end":291124,"line_start":963,"line_end":963,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":950},"span":{"file_name":"src/pointer/dec.rs","byte_start":291058,"byte_end":291077,"line_start":963,"line_end":963,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218678},"span":{"file_name":"src/pointer/dec.rs","byte_start":291220,"byte_end":291231,"line_start":965,"line_end":965,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109814},"span":{"file_name":"src/pointer/dec.rs","byte_start":291322,"byte_end":291325,"line_start":968,"line_end":968,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 32 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206198},"span":{"file_name":"src/pointer/dec.rs","byte_start":291396,"byte_end":291397,"line_start":971,"line_end":971,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 39 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2382365622},"span":{"file_name":"src/pointer/dec.rs","byte_start":291787,"byte_end":291791,"line_start":983,"line_end":983,"column_start":13,"column_end":17},"name":"mult","qualname":"mult$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 113 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4143973302},"span":{"file_name":"src/pointer/dec.rs","byte_start":291830,"byte_end":291837,"line_start":985,"line_end":985,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 239 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2650801078},"span":{"file_name":"src/pointer/dec.rs","byte_start":291898,"byte_end":291899,"line_start":986,"line_end":986,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 121 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":822084534},"span":{"file_name":"src/pointer/dec.rs","byte_start":291963,"byte_end":291968,"line_start":988,"line_end":988,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 140 }","value":"f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962935222},"span":{"file_name":"src/pointer/dec.rs","byte_start":292162,"byte_end":292163,"line_start":992,"line_end":992,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 174 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2197816246},"span":{"file_name":"src/pointer/dec.rs","byte_start":292227,"byte_end":292232,"line_start":994,"line_end":994,"column_start":21,"column_end":26},"name":"value","qualname":"value$HirId { owner: DefId(0:950 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_json_to_schema), local_id: 193 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742775},"span":{"file_name":"src/pointer/dec.rs","byte_start":292911,"byte_end":292917,"line_start":1016,"line_end":1016,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871863},"span":{"file_name":"src/pointer/dec.rs","byte_start":292942,"byte_end":292949,"line_start":1016,"line_end":1016,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613687},"span":{"file_name":"src/pointer/dec.rs","byte_start":292958,"byte_end":292963,"line_start":1016,"line_end":1016,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":951},"span":{"file_name":"src/pointer/dec.rs","byte_start":292886,"byte_end":292906,"line_start":1016,"line_end":1016,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218679},"span":{"file_name":"src/pointer/dec.rs","byte_start":293019,"byte_end":293022,"line_start":1017,"line_end":1017,"column_start":13,"column_end":16},"name":"exp","qualname":"exp$HirId { owner: DefId(0:951 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704644023},"span":{"file_name":"src/pointer/dec.rs","byte_start":293058,"byte_end":293065,"line_start":1019,"line_end":1019,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:951 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 84 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464375},"span":{"file_name":"src/pointer/dec.rs","byte_start":293151,"byte_end":293156,"line_start":1022,"line_end":1022,"column_start":21,"column_end":26},"name":"slice","qualname":"slice$HirId { owner: DefId(0:951 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 37 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254780855},"span":{"file_name":"src/pointer/dec.rs","byte_start":293267,"byte_end":293272,"line_start":1024,"line_end":1024,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:951 ~ no_proto[7dec]::pointer::dec::{impl#21}::from_bytes_to_schema), local_id: 67 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3374},"span":{"file_name":"src/pointer/dec.rs","byte_start":293653,"byte_end":293677,"line_start":1040,"line_end":1040,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::dec::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874286},"span":{"file_name":"src/pointer/dec.rs","byte_start":293714,"byte_end":293720,"line_start":1041,"line_end":1041,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752942},"span":{"file_name":"src/pointer/dec.rs","byte_start":293766,"byte_end":293773,"line_start":1042,"line_end":1042,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699694},"span":{"file_name":"src/pointer/dec.rs","byte_start":293867,"byte_end":293875,"line_start":1044,"line_end":1044,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526730030},"span":{"file_name":"src/pointer/dec.rs","byte_start":294000,"byte_end":294006,"line_start":1047,"line_end":1047,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936016174},"span":{"file_name":"src/pointer/dec.rs","byte_start":294034,"byte_end":294041,"line_start":1048,"line_end":1048,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202695982},"span":{"file_name":"src/pointer/dec.rs","byte_start":294135,"byte_end":294143,"line_start":1050,"line_end":1050,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3374 ~ no_proto[7dec]::pointer::dec::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3378},"span":{"file_name":"src/pointer/dec.rs","byte_start":294289,"byte_end":294309,"line_start":1057,"line_end":1057,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::dec::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874290},"span":{"file_name":"src/pointer/dec.rs","byte_start":294346,"byte_end":294352,"line_start":1058,"line_end":1058,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752946},"span":{"file_name":"src/pointer/dec.rs","byte_start":294419,"byte_end":294426,"line_start":1059,"line_end":1059,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441522},"span":{"file_name":"src/pointer/dec.rs","byte_start":294538,"byte_end":294546,"line_start":1061,"line_end":1061,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063600946},"span":{"file_name":"src/pointer/dec.rs","byte_start":294684,"byte_end":294690,"line_start":1064,"line_end":1064,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580722},"span":{"file_name":"src/pointer/dec.rs","byte_start":294737,"byte_end":294744,"line_start":1065,"line_end":1065,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409842},"span":{"file_name":"src/pointer/dec.rs","byte_start":294856,"byte_end":294864,"line_start":1067,"line_end":1067,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3378 ~ no_proto[7dec]::pointer::dec::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3382},"span":{"file_name":"src/pointer/dec.rs","byte_start":295023,"byte_end":295042,"line_start":1074,"line_end":1074,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::dec::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874294},"span":{"file_name":"src/pointer/dec.rs","byte_start":295079,"byte_end":295085,"line_start":1075,"line_end":1075,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3382 ~ no_proto[7dec]::pointer::dec::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752950},"span":{"file_name":"src/pointer/dec.rs","byte_start":295152,"byte_end":295159,"line_start":1076,"line_end":1076,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3382 ~ no_proto[7dec]::pointer::dec::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547702},"span":{"file_name":"src/pointer/dec.rs","byte_start":295208,"byte_end":295214,"line_start":1077,"line_end":1077,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3382 ~ no_proto[7dec]::pointer::dec::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956304694},"span":{"file_name":"src/pointer/dec.rs","byte_start":295328,"byte_end":295336,"line_start":1079,"line_end":1079,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3382 ~ no_proto[7dec]::pointer::dec::default_value_works#1), local_id: 156 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3386},"span":{"file_name":"src/pointer/dec.rs","byte_start":295492,"byte_end":295528,"line_start":1087,"line_end":1087,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::dec::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874298},"span":{"file_name":"src/pointer/dec.rs","byte_start":295565,"byte_end":295571,"line_start":1088,"line_end":1088,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3386 ~ no_proto[7dec]::pointer::dec::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752954},"span":{"file_name":"src/pointer/dec.rs","byte_start":295619,"byte_end":295626,"line_start":1089,"line_end":1089,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3386 ~ no_proto[7dec]::pointer::dec::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547706},"span":{"file_name":"src/pointer/dec.rs","byte_start":295679,"byte_end":295685,"line_start":1090,"line_end":1090,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3386 ~ no_proto[7dec]::pointer::dec::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":952},"span":{"file_name":"src/pointer/ulid.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"ulid","qualname":"::pointer::ulid","value":"src/pointer/ulid.rs","parent":null,"children":[{"krate":0,"index":953},{"krate":0,"index":954},{"krate":0,"index":955},{"krate":0,"index":958},{"krate":0,"index":961},{"krate":0,"index":964},{"krate":0,"index":965},{"krate":0,"index":968},{"krate":0,"index":971},{"krate":0,"index":974},{"krate":0,"index":977},{"krate":0,"index":978},{"krate":0,"index":981},{"krate":0,"index":984},{"krate":0,"index":987},{"krate":0,"index":988},{"krate":0,"index":991},{"krate":0,"index":994},{"krate":0,"index":995},{"krate":0,"index":998},{"krate":0,"index":999},{"krate":0,"index":1002},{"krate":0,"index":1005},{"krate":0,"index":1006},{"krate":0,"index":1009},{"krate":0,"index":1010},{"krate":0,"index":1011},{"krate":0,"index":1012},{"krate":0,"index":1014},{"krate":0,"index":1017},{"krate":0,"index":1020},{"krate":0,"index":1023},{"krate":0,"index":1026},{"krate":0,"index":1029},{"krate":0,"index":1030},{"krate":0,"index":1033},{"krate":0,"index":3387},{"krate":0,"index":3390},{"krate":0,"index":3391},{"krate":0,"index":3394},{"krate":0,"index":3395},{"krate":0,"index":3398},{"krate":0,"index":1036},{"krate":0,"index":1038},{"krate":0,"index":1060},{"krate":0,"index":1063},{"krate":0,"index":1065},{"krate":0,"index":1072},{"krate":0,"index":1090},{"krate":0,"index":1095},{"krate":0,"index":3400},{"krate":0,"index":3401},{"krate":0,"index":3403},{"krate":0,"index":3404},{"krate":0,"index":3405},{"krate":0,"index":3407},{"krate":0,"index":3408},{"krate":0,"index":3409},{"krate":0,"index":3411}],"decl_id":null,"docs":" Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness\n \n Useful for storing time stamp data that doesn't have collisions.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::ulid::NP_ULID;\n \n let factory: NP_Factory = NP_Factory::new(\"ulid()\")?;","sig":null,"attributes":[{"value":"/ Represents a ULID type which has a 6 byte timestamp and 10 bytes of randomness","span":{"file_name":"src/pointer/ulid.rs","byte_start":296012,"byte_end":296094,"line_start":1,"line_end":1,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296095,"byte_end":296099,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Useful for storing time stamp data that doesn't have collisions.","span":{"file_name":"src/pointer/ulid.rs","byte_start":296100,"byte_end":296168,"line_start":3,"line_end":3,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296169,"byte_end":296173,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/ulid.rs","byte_start":296174,"byte_end":296181,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296182,"byte_end":296216,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296217,"byte_end":296246,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::ulid::NP_ULID;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296247,"byte_end":296288,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296289,"byte_end":296293,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"ulid()\")?;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296294,"byte_end":296351,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/ulid.rs","byte_start":296352,"byte_end":296355,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/ulid.rs","byte_start":296356,"byte_end":296406,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ let ulid = NP_ULID::generate(1604965249484, 50);","span":{"file_name":"src/pointer/ulid.rs","byte_start":296407,"byte_end":296459,"line_start":13,"line_end":13,"column_start":1,"column_end":53}},{"value":"/ new_buffer.set(&[], &ulid)?;","span":{"file_name":"src/pointer/ulid.rs","byte_start":296460,"byte_end":296492,"line_start":14,"line_end":14,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296493,"byte_end":296497,"line_start":15,"line_end":15,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"01EPQP4CEC93KANC3XYNG9YKAQ\", new_buffer.get::<&NP_ULID>(&[])?.unwrap().to_string());","span":{"file_name":"src/pointer/ulid.rs","byte_start":296498,"byte_end":296598,"line_start":16,"line_end":16,"column_start":1,"column_end":101}},{"value":"/","span":{"file_name":"src/pointer/ulid.rs","byte_start":296599,"byte_end":296602,"line_start":17,"line_end":17,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296603,"byte_end":296632,"line_start":18,"line_end":18,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/ulid.rs","byte_start":296633,"byte_end":296640,"line_start":19,"line_end":19,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":296641,"byte_end":296645,"line_start":20,"line_end":20,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3387},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297331,"byte_end":297338,"line_start":44,"line_end":44,"column_start":12,"column_end":19},"name":"NP_ULID","qualname":"::pointer::ulid::NP_ULID","value":"NP_ULID { value }","parent":null,"children":[{"krate":0,"index":3388}],"decl_id":null,"docs":" Holds ULIDs which are good for time series keys.\n \n Check out documentation [here](../ulid/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds ULIDs which are good for time series keys.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297158,"byte_end":297210,"line_start":38,"line_end":38,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297211,"byte_end":297215,"line_start":39,"line_end":39,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../ulid/index.html).","span":{"file_name":"src/pointer/ulid.rs","byte_start":297216,"byte_end":297271,"line_start":40,"line_end":40,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297272,"byte_end":297276,"line_start":41,"line_end":41,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/ulid.rs","byte_start":297309,"byte_end":297319,"line_start":43,"line_end":43,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3388},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"name":"value","qualname":"::pointer::ulid::NP_ULID::value","value":"[u8; 16]","parent":{"krate":0,"index":3387},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1036},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297404,"byte_end":297412,"line_start":49,"line_end":49,"column_start":10,"column_end":18},"name":"_NP_ULID","qualname":"::pointer::ulid::_NP_ULID","value":"&'a NP_ULID","parent":null,"children":[],"decl_id":null,"docs":" ULID alias for shared type\n","sig":null,"attributes":[{"value":"/ ULID alias for shared type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297364,"byte_end":297394,"line_start":48,"line_end":48,"column_start":1,"column_end":31}}]},{"kind":"Local","id":{"krate":0,"index":1073742863},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297788,"byte_end":297794,"line_start":60,"line_end":60,"column_start":21,"column_end":27},"name":"now_ms","qualname":"::generate::now_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871951},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297801,"byte_end":297812,"line_start":60,"line_end":60,"column_start":34,"column_end":45},"name":"random_seed","qualname":"::generate::random_seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1039},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297779,"byte_end":297787,"line_start":60,"line_end":60,"column_start":12,"column_end":20},"name":"generate","qualname":"::generate","value":"pub fn generate(u64, u32) -> NP_ULID","parent":null,"children":[],"decl_id":null,"docs":" Creates a new ULID from the timestamp and provided seed.\n \n The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed.\n \n The time should be passed in as the unix epoch in milliseconds.\n","sig":null,"attributes":[{"value":"/ Creates a new ULID from the timestamp and provided seed.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297455,"byte_end":297515,"line_start":55,"line_end":55,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297520,"byte_end":297524,"line_start":56,"line_end":56,"column_start":5,"column_end":9}},{"value":"/ The random seed is used to generate the ID, the same seed will always lead to the same random bytes so try to use something actually random for the seed.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297529,"byte_end":297686,"line_start":57,"line_end":57,"column_start":5,"column_end":162}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":297691,"byte_end":297695,"line_start":58,"line_end":58,"column_start":5,"column_end":9}},{"value":"/ The time should be passed in as the unix epoch in milliseconds.","span":{"file_name":"src/pointer/ulid.rs","byte_start":297700,"byte_end":297767,"line_start":59,"line_end":59,"column_start":5,"column_end":72}}]},{"kind":"Local","id":{"krate":0,"index":1879049231},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297848,"byte_end":297851,"line_start":61,"line_end":61,"column_start":17,"column_end":20},"name":"rng","qualname":"rng$HirId { owner: DefId(0:1039 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate), local_id: 14 }","value":"utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396047},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297895,"byte_end":297897,"line_start":63,"line_end":63,"column_start":17,"column_end":19},"name":"id","qualname":"id$HirId { owner: DefId(0:1039 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate), local_id: 26 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593551},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297932,"byte_end":297942,"line_start":65,"line_end":65,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1039 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate), local_id: 33 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287183},"span":{"file_name":"src/pointer/ulid.rs","byte_start":297980,"byte_end":297981,"line_start":67,"line_end":67,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1039 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate), local_id: 42 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742866},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298507,"byte_end":298513,"line_start":83,"line_end":83,"column_start":34,"column_end":40},"name":"now_ms","qualname":"::generate_with_rand::now_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871954},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298520,"byte_end":298529,"line_start":83,"line_end":83,"column_start":47,"column_end":56},"name":"random_fn","qualname":"::generate_with_rand::random_fn","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1043},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298504,"byte_end":298505,"line_start":83,"line_end":83,"column_start":31,"column_end":32},"name":"F","qualname":"::generate_with_rand::F$HirId { owner: DefId(0:1042 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1042},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298485,"byte_end":298503,"line_start":83,"line_end":83,"column_start":12,"column_end":30},"name":"generate_with_rand","qualname":"::generate_with_rand","value":"pub fn generate_with_rand(u64, F) -> NP_ULID where F: Fn() -> u8","parent":null,"children":[],"decl_id":null,"docs":" Generates a ULID with the given time and a provided random number generator.\n This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.\n \n","sig":null,"attributes":[{"value":"/ Generates a ULID with the given time and a provided random number generator.","span":{"file_name":"src/pointer/ulid.rs","byte_start":298225,"byte_end":298305,"line_start":80,"line_end":80,"column_start":5,"column_end":85}},{"value":"/ This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.","span":{"file_name":"src/pointer/ulid.rs","byte_start":298310,"byte_end":298464,"line_start":81,"line_end":81,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":298469,"byte_end":298473,"line_start":82,"line_end":82,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":134218770},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298584,"byte_end":298586,"line_start":85,"line_end":85,"column_start":17,"column_end":19},"name":"id","qualname":"id$HirId { owner: DefId(0:1042 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 16 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315154},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298621,"byte_end":298631,"line_start":87,"line_end":87,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1042 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 23 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109906},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298669,"byte_end":298670,"line_start":89,"line_end":89,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1042 ~ no_proto[7dec]::pointer::ulid::{impl#0}::generate_with_rand), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742870},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298964,"byte_end":298968,"line_start":103,"line_end":103,"column_start":22,"column_end":26},"name":"self","qualname":"::get_time::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1046},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298954,"byte_end":298962,"line_start":103,"line_end":103,"column_start":12,"column_end":20},"name":"get_time","qualname":"::get_time","value":"pub fn get_time(&Self) -> u64","parent":null,"children":[],"decl_id":null,"docs":" Get just the timestamp for this ULID\n","sig":null,"attributes":[{"value":"/ Get just the timestamp for this ULID","span":{"file_name":"src/pointer/ulid.rs","byte_start":298902,"byte_end":298942,"line_start":102,"line_end":102,"column_start":5,"column_end":45}}]},{"kind":"Local","id":{"krate":0,"index":1879049238},"span":{"file_name":"src/pointer/ulid.rs","byte_start":298995,"byte_end":299005,"line_start":104,"line_end":104,"column_start":17,"column_end":27},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1046 ~ no_proto[7dec]::pointer::ulid::{impl#0}::get_time), local_id: 14 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2550137878},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299038,"byte_end":299039,"line_start":105,"line_end":105,"column_start":14,"column_end":15},"name":"i","qualname":"i$HirId { owner: DefId(0:1046 ~ no_proto[7dec]::pointer::ulid::{impl#0}::get_time), local_id: 25 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396054},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299041,"byte_end":299042,"line_start":105,"line_end":105,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1046 ~ no_proto[7dec]::pointer::ulid::{impl#0}::get_time), local_id: 26 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742873},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299248,"byte_end":299252,"line_start":112,"line_end":112,"column_start":24,"column_end":28},"name":"self","qualname":"::get_random::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1049},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299236,"byte_end":299246,"line_start":112,"line_end":112,"column_start":12,"column_end":22},"name":"get_random","qualname":"::get_random","value":"pub fn get_random(&Self) -> &[u8; ]","parent":null,"children":[],"decl_id":null,"docs":" Get the random component of this ULID\n","sig":null,"attributes":[{"value":"/ Get the random component of this ULID","span":{"file_name":"src/pointer/ulid.rs","byte_start":299183,"byte_end":299224,"line_start":111,"line_end":111,"column_start":5,"column_end":46}}]},{"kind":"Local","id":{"krate":0,"index":1073742876},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299447,"byte_end":299451,"line_start":118,"line_end":118,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1052},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299436,"byte_end":299445,"line_start":118,"line_end":118,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Generates a stringified version of this ULID with base32.\n \n","sig":null,"attributes":[{"value":"/ Generates a stringified version of this ULID with base32.","span":{"file_name":"src/pointer/ulid.rs","byte_start":299354,"byte_end":299415,"line_start":116,"line_end":116,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/pointer/ulid.rs","byte_start":299420,"byte_end":299424,"line_start":117,"line_end":117,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1342178332},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299481,"byte_end":299487,"line_start":119,"line_end":119,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1052 ~ no_proto[7dec]::pointer::ulid::{impl#0}::to_string), local_id: 10 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831516},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299530,"byte_end":299540,"line_start":121,"line_end":121,"column_start":17,"column_end":27},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1052 ~ no_proto[7dec]::pointer::ulid::{impl#0}::to_string), local_id: 22 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851740},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299578,"byte_end":299588,"line_start":122,"line_end":122,"column_start":17,"column_end":27},"name":"rand_bytes","qualname":"rand_bytes$HirId { owner: DefId(0:1052 ~ no_proto[7dec]::pointer::ulid::{impl#0}::to_string), local_id: 34 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287196},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299624,"byte_end":299625,"line_start":124,"line_end":124,"column_start":14,"column_end":15},"name":"i","qualname":"i$HirId { owner: DefId(0:1052 ~ no_proto[7dec]::pointer::ulid::{impl#0}::to_string), local_id: 42 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556770844},"span":{"file_name":"src/pointer/ulid.rs","byte_start":299627,"byte_end":299628,"line_start":124,"line_end":124,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1052 ~ no_proto[7dec]::pointer::ulid::{impl#0}::to_string), local_id: 43 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742881},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300069,"byte_end":300074,"line_start":139,"line_end":139,"column_start":39,"column_end":44},"name":"value","qualname":"::from_string::value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1058},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300054,"byte_end":300055,"line_start":139,"line_end":139,"column_start":24,"column_end":25},"name":"S","qualname":"::from_string::S$HirId { owner: DefId(0:1057 ~ no_proto[7dec]::pointer::ulid::{impl#0}::from_string), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1057},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300042,"byte_end":300053,"line_start":139,"line_end":139,"column_start":12,"column_end":23},"name":"from_string","qualname":"::from_string","value":"pub fn from_string>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Encode a ULID into bytes\n","sig":null,"attributes":[{"value":"/ Encode a ULID into bytes","span":{"file_name":"src/pointer/ulid.rs","byte_start":300002,"byte_end":300030,"line_start":138,"line_end":138,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3355444257},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300101,"byte_end":300111,"line_start":140,"line_end":140,"column_start":13,"column_end":23},"name":"time_bytes","qualname":"time_bytes$HirId { owner: DefId(0:1057 ~ no_proto[7dec]::pointer::ulid::{impl#0}::from_string), local_id: 19 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603980833},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300176,"byte_end":300186,"line_start":141,"line_end":141,"column_start":13,"column_end":23},"name":"rand_bytes","qualname":"rand_bytes$HirId { owner: DefId(0:1057 ~ no_proto[7dec]::pointer::ulid::{impl#0}::from_string), local_id: 36 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946158113},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300256,"byte_end":300262,"line_start":143,"line_end":143,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1057 ~ no_proto[7dec]::pointer::ulid::{impl#0}::from_string), local_id: 46 }","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198561},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300306,"byte_end":300307,"line_start":145,"line_end":145,"column_start":13,"column_end":14},"name":"i","qualname":"i$HirId { owner: DefId(0:1057 ~ no_proto[7dec]::pointer::ulid::{impl#0}::from_string), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1061},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300551,"byte_end":300558,"line_start":160,"line_end":160,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742888},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300655,"byte_end":300659,"line_start":166,"line_end":166,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871976},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300661,"byte_end":300662,"line_start":166,"line_end":166,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1064},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300650,"byte_end":300653,"line_start":166,"line_end":166,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742891},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300825,"byte_end":300832,"line_start":172,"line_end":172,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1067},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300810,"byte_end":300824,"line_start":172,"line_end":172,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742892},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300946,"byte_end":300953,"line_start":176,"line_end":176,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871980},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300967,"byte_end":300974,"line_start":176,"line_end":176,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1068},"span":{"file_name":"src/pointer/ulid.rs","byte_start":300933,"byte_end":300945,"line_start":176,"line_end":176,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742894},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301077,"byte_end":301084,"line_start":180,"line_end":180,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871982},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301098,"byte_end":301105,"line_start":180,"line_end":180,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1070},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301064,"byte_end":301076,"line_start":180,"line_end":180,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1074},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301241,"byte_end":301249,"line_start":188,"line_end":188,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742899},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301336,"byte_end":301340,"line_start":189,"line_end":189,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1075},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301321,"byte_end":301334,"line_start":189,"line_end":189,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742900},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301427,"byte_end":301434,"line_start":191,"line_end":191,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871988},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301460,"byte_end":301468,"line_start":191,"line_end":191,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1076},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301412,"byte_end":301426,"line_start":191,"line_end":191,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307444},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301523,"byte_end":301534,"line_start":192,"line_end":192,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1076 ~ no_proto[7dec]::pointer::ulid::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742901},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301727,"byte_end":301733,"line_start":198,"line_end":198,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871989},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301742,"byte_end":301753,"line_start":198,"line_end":198,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613813},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301761,"byte_end":301767,"line_start":198,"line_end":198,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436533},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301780,"byte_end":301786,"line_start":198,"line_end":198,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178357},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301805,"byte_end":301810,"line_start":198,"line_end":198,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1077},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301707,"byte_end":301720,"line_start":198,"line_end":198,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960629},"span":{"file_name":"src/pointer/ulid.rs","byte_start":301931,"byte_end":301936,"line_start":200,"line_end":200,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:1077 ~ no_proto[7dec]::pointer::ulid::{impl#4}::set_from_json), local_id: 18 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742903},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302112,"byte_end":302119,"line_start":209,"line_end":209,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871991},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302145,"byte_end":302153,"line_start":209,"line_end":209,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1079},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302098,"byte_end":302111,"line_start":209,"line_end":209,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742904},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302259,"byte_end":302265,"line_start":213,"line_end":213,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871992},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302290,"byte_end":302295,"line_start":213,"line_end":213,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613816},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302303,"byte_end":302307,"line_start":213,"line_end":213,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436536},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302321,"byte_end":302326,"line_start":213,"line_end":213,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1080},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302240,"byte_end":302258,"line_start":213,"line_end":213,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742905},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302503,"byte_end":302509,"line_start":217,"line_end":217,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871993},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302522,"byte_end":302528,"line_start":217,"line_end":217,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613817},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302547,"byte_end":302552,"line_start":217,"line_end":217,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1081},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302487,"byte_end":302496,"line_start":217,"line_end":217,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742907},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302695,"byte_end":302701,"line_start":221,"line_end":221,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871995},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302715,"byte_end":302721,"line_start":221,"line_end":221,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1083},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302684,"byte_end":302694,"line_start":221,"line_end":221,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67109947},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302867,"byte_end":302868,"line_start":223,"line_end":223,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1083 ~ no_proto[7dec]::pointer::ulid::{impl#4}::into_value), local_id: 32 }","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742908},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302965,"byte_end":302971,"line_start":228,"line_end":228,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871996},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302980,"byte_end":302991,"line_start":228,"line_end":228,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613820},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302999,"byte_end":303006,"line_start":228,"line_end":228,"column_start":56,"column_end":63},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1084},"span":{"file_name":"src/pointer/ulid.rs","byte_start":302951,"byte_end":302964,"line_start":228,"line_end":228,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742909},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303085,"byte_end":303091,"line_start":232,"line_end":232,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871997},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303099,"byte_end":303105,"line_start":232,"line_end":232,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613821},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303119,"byte_end":303125,"line_start":232,"line_end":232,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1085},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303077,"byte_end":303084,"line_start":232,"line_end":232,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702461},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303224,"byte_end":303225,"line_start":235,"line_end":235,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1085 ~ no_proto[7dec]::pointer::ulid::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315197},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303283,"byte_end":303284,"line_start":237,"line_end":237,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1085 ~ no_proto[7dec]::pointer::ulid::{impl#4}::to_json), local_id: 23 }","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641789},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303508,"byte_end":303510,"line_start":245,"line_end":245,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1085 ~ no_proto[7dec]::pointer::ulid::{impl#4}::to_json), local_id: 47 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742910},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303594,"byte_end":303600,"line_start":251,"line_end":251,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536871998},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303608,"byte_end":303614,"line_start":251,"line_end":251,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613822},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303628,"byte_end":303634,"line_start":251,"line_end":251,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1086},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303585,"byte_end":303593,"line_start":251,"line_end":251,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960638},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303690,"byte_end":303697,"line_start":253,"line_end":253,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1086 ~ no_proto[7dec]::pointer::ulid::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/ulid.rs:253:23: 253:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742912},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303882,"byte_end":303888,"line_start":262,"line_end":262,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872000},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303913,"byte_end":303925,"line_start":262,"line_end":262,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1088},"span":{"file_name":"src/pointer/ulid.rs","byte_start":303858,"byte_end":303877,"line_start":262,"line_end":262,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218816},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304021,"byte_end":304033,"line_start":264,"line_end":264,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1088 ~ no_proto[7dec]::pointer::ulid::{impl#4}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742913},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304390,"byte_end":304396,"line_start":278,"line_end":278,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872001},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304421,"byte_end":304429,"line_start":278,"line_end":278,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613825},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304438,"byte_end":304444,"line_start":278,"line_end":278,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1089},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304365,"byte_end":304385,"line_start":278,"line_end":278,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742916},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304781,"byte_end":304788,"line_start":292,"line_end":292,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1092},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304766,"byte_end":304780,"line_start":292,"line_end":292,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742917},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304884,"byte_end":304891,"line_start":295,"line_end":295,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872005},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304905,"byte_end":304912,"line_start":295,"line_end":295,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1093},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304871,"byte_end":304883,"line_start":295,"line_end":295,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742918},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304984,"byte_end":304991,"line_start":299,"line_end":299,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872006},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305005,"byte_end":305012,"line_start":299,"line_end":299,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1094},"span":{"file_name":"src/pointer/ulid.rs","byte_start":304971,"byte_end":304983,"line_start":299,"line_end":299,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ NP_ULID as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1097},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305120,"byte_end":305128,"line_start":307,"line_end":307,"column_start":8,"column_end":16},"name":"type_idx","qualname":"<&'_ NP_ULID as pointer::NP_Value>::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742922},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305207,"byte_end":305211,"line_start":308,"line_end":308,"column_start":23,"column_end":27},"name":"self","qualname":"<&'_ NP_ULID as pointer::NP_Value>::self_type_idx::self","value":"&&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1098},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305192,"byte_end":305205,"line_start":308,"line_end":308,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"<&'_ NP_ULID as pointer::NP_Value>::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742923},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305305,"byte_end":305312,"line_start":310,"line_end":310,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872011},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305338,"byte_end":305346,"line_start":310,"line_end":310,"column_start":56,"column_end":64},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1099},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305290,"byte_end":305304,"line_start":310,"line_end":310,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742924},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305470,"byte_end":305476,"line_start":314,"line_end":314,"column_start":28,"column_end":34},"name":"_depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872012},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305485,"byte_end":305496,"line_start":314,"line_end":314,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613836},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305504,"byte_end":305511,"line_start":314,"line_end":314,"column_start":62,"column_end":69},"name":"_cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436556},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305524,"byte_end":305531,"line_start":314,"line_end":314,"column_start":82,"column_end":89},"name":"_memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178380},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305550,"byte_end":305556,"line_start":314,"line_end":314,"column_start":108,"column_end":114},"name":"_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json::_value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1100},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305450,"byte_end":305463,"line_start":314,"line_end":314,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742926},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305668,"byte_end":305675,"line_start":319,"line_end":319,"column_start":22,"column_end":29},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872014},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305701,"byte_end":305709,"line_start":319,"line_end":319,"column_start":55,"column_end":63},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1102},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305654,"byte_end":305667,"line_start":319,"line_end":319,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"<&'_ NP_ULID as pointer::NP_Value>::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742927},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305815,"byte_end":305821,"line_start":323,"line_end":323,"column_start":27,"column_end":33},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872015},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305846,"byte_end":305851,"line_start":323,"line_end":323,"column_start":58,"column_end":63},"name":"_name","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613839},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305859,"byte_end":305863,"line_start":323,"line_end":323,"column_start":71,"column_end":75},"name":"_idl","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436559},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305877,"byte_end":305882,"line_start":323,"line_end":323,"column_start":89,"column_end":94},"name":"_args","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1103},"span":{"file_name":"src/pointer/ulid.rs","byte_start":305796,"byte_end":305814,"line_start":323,"line_end":323,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742928},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306058,"byte_end":306064,"line_start":327,"line_end":327,"column_start":24,"column_end":30},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872016},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306077,"byte_end":306083,"line_start":327,"line_end":327,"column_start":43,"column_end":49},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613840},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306102,"byte_end":306107,"line_start":327,"line_end":327,"column_start":68,"column_end":73},"name":"value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value::value","value":"&pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1104},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306042,"byte_end":306051,"line_start":327,"line_end":327,"column_start":8,"column_end":17},"name":"set_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960656},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306185,"byte_end":306192,"line_start":328,"line_end":328,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1104 ~ no_proto[7dec]::pointer::ulid::{impl#6}::set_value), local_id: 18 }","value":"[closure@src/pointer/ulid.rs:328:23: 328:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008848},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306245,"byte_end":306258,"line_start":330,"line_end":330,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1104 ~ no_proto[7dec]::pointer::ulid::{impl#6}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545424},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306374,"byte_end":306379,"line_start":333,"line_end":333,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1104 ~ no_proto[7dec]::pointer::ulid::{impl#6}::set_value), local_id: 40 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641808},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306411,"byte_end":306422,"line_start":334,"line_end":334,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1104 ~ no_proto[7dec]::pointer::ulid::{impl#6}::set_value), local_id: 47 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763152},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306515,"byte_end":306516,"line_start":337,"line_end":337,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1104 ~ no_proto[7dec]::pointer::ulid::{impl#6}::set_value), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742931},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306872,"byte_end":306878,"line_start":350,"line_end":350,"column_start":22,"column_end":28},"name":"_depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872019},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306887,"byte_end":306898,"line_start":350,"line_end":350,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613843},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306906,"byte_end":306913,"line_start":350,"line_end":350,"column_start":56,"column_end":63},"name":"_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1107},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306858,"byte_end":306871,"line_start":350,"line_end":350,"column_start":8,"column_end":21},"name":"default_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742932},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306995,"byte_end":307001,"line_start":354,"line_end":354,"column_start":19,"column_end":25},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872020},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307015,"byte_end":307021,"line_start":354,"line_end":354,"column_start":39,"column_end":45},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1108},"span":{"file_name":"src/pointer/ulid.rs","byte_start":306984,"byte_end":306994,"line_start":354,"line_end":354,"column_start":8,"column_end":18},"name":"into_value","qualname":"<&'_ NP_ULID as pointer::NP_Value>::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218836},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307109,"byte_end":307116,"line_start":356,"line_end":356,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1108 ~ no_proto[7dec]::pointer::ulid::{impl#6}::into_value), local_id: 16 }","value":"[closure@src/pointer/ulid.rs:356:23: 356:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654292},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307165,"byte_end":307175,"line_start":358,"line_end":358,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1108 ~ no_proto[7dec]::pointer::ulid::{impl#6}::into_value), local_id: 24 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682260},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307376,"byte_end":307377,"line_start":366,"line_end":366,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1108 ~ no_proto[7dec]::pointer::ulid::{impl#6}::into_value), local_id: 53 }","value":"&[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742934},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307523,"byte_end":307528,"line_start":373,"line_end":373,"column_start":16,"column_end":21},"name":"depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872022},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307536,"byte_end":307542,"line_start":373,"line_end":373,"column_start":29,"column_end":35},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613846},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307556,"byte_end":307562,"line_start":373,"line_end":373,"column_start":49,"column_end":55},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1110},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307515,"byte_end":307522,"line_start":373,"line_end":373,"column_start":8,"column_end":15},"name":"to_json","qualname":"<&'_ NP_ULID as pointer::NP_Value>::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742935},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307667,"byte_end":307672,"line_start":377,"line_end":377,"column_start":17,"column_end":22},"name":"depth","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872023},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307680,"byte_end":307686,"line_start":377,"line_end":377,"column_start":30,"column_end":36},"name":"cursor","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613847},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307700,"byte_end":307706,"line_start":377,"line_end":377,"column_start":50,"column_end":56},"name":"memory","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1111},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307658,"byte_end":307666,"line_start":377,"line_end":377,"column_start":8,"column_end":16},"name":"get_size","qualname":"<&'_ NP_ULID as pointer::NP_Value>::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742936},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307832,"byte_end":307838,"line_start":381,"line_end":381,"column_start":28,"column_end":34},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872024},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307863,"byte_end":307875,"line_start":381,"line_end":381,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema::_json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1112},"span":{"file_name":"src/pointer/ulid.rs","byte_start":307812,"byte_end":307831,"line_start":381,"line_end":381,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073742937},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308049,"byte_end":308055,"line_start":386,"line_end":386,"column_start":29,"column_end":35},"name":"schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872025},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308080,"byte_end":308088,"line_start":386,"line_end":386,"column_start":60,"column_end":68},"name":"_address","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613849},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308097,"byte_end":308103,"line_start":386,"line_end":386,"column_start":77,"column_end":83},"name":"_bytes","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1113},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308028,"byte_end":308048,"line_start":386,"line_end":386,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"<&'_ NP_ULID as pointer::NP_Value>::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3403},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308232,"byte_end":308256,"line_start":393,"line_end":393,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::ulid::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874315},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308293,"byte_end":308299,"line_start":394,"line_end":394,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3403 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752971},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308320,"byte_end":308327,"line_start":395,"line_end":395,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3403 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699723},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308421,"byte_end":308429,"line_start":397,"line_end":397,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3403 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3407},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308571,"byte_end":308591,"line_start":404,"line_end":404,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::ulid::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874319},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308628,"byte_end":308634,"line_start":405,"line_end":405,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3407 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752975},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308668,"byte_end":308675,"line_start":406,"line_end":406,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3407 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441551},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308787,"byte_end":308795,"line_start":408,"line_end":408,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3407 ~ no_proto[7dec]::pointer::ulid::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3411},"span":{"file_name":"src/pointer/ulid.rs","byte_start":308955,"byte_end":308991,"line_start":416,"line_end":416,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::ulid::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874323},"span":{"file_name":"src/pointer/ulid.rs","byte_start":309028,"byte_end":309034,"line_start":417,"line_end":417,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3411 ~ no_proto[7dec]::pointer::ulid::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752979},"span":{"file_name":"src/pointer/ulid.rs","byte_start":309068,"byte_end":309075,"line_start":418,"line_end":418,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3411 ~ no_proto[7dec]::pointer::ulid::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547731},"span":{"file_name":"src/pointer/ulid.rs","byte_start":309128,"byte_end":309134,"line_start":419,"line_end":419,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3411 ~ no_proto[7dec]::pointer::ulid::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275071827},"span":{"file_name":"src/pointer/ulid.rs","byte_start":309171,"byte_end":309180,"line_start":420,"line_end":420,"column_start":9,"column_end":18},"name":"set_value","qualname":"set_value$HirId { owner: DefId(0:3411 ~ no_proto[7dec]::pointer::ulid::set_clear_value_and_compaction_works#1), local_id: 50 }","value":"pointer::ulid::NP_ULID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1114},"span":{"file_name":"src/pointer/uuid.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"uuid","qualname":"::pointer::uuid","value":"src/pointer/uuid.rs","parent":null,"children":[{"krate":0,"index":1115},{"krate":0,"index":1118},{"krate":0,"index":1119},{"krate":0,"index":1122},{"krate":0,"index":1125},{"krate":0,"index":1126},{"krate":0,"index":1129},{"krate":0,"index":1132},{"krate":0,"index":1135},{"krate":0,"index":1138},{"krate":0,"index":1139},{"krate":0,"index":1142},{"krate":0,"index":1143},{"krate":0,"index":1146},{"krate":0,"index":1149},{"krate":0,"index":1150},{"krate":0,"index":1153},{"krate":0,"index":1156},{"krate":0,"index":1157},{"krate":0,"index":1160},{"krate":0,"index":1161},{"krate":0,"index":1164},{"krate":0,"index":1167},{"krate":0,"index":1168},{"krate":0,"index":1171},{"krate":0,"index":1172},{"krate":0,"index":1173},{"krate":0,"index":1174},{"krate":0,"index":1176},{"krate":0,"index":1179},{"krate":0,"index":1182},{"krate":0,"index":1185},{"krate":0,"index":1188},{"krate":0,"index":1191},{"krate":0,"index":3412},{"krate":0,"index":3415},{"krate":0,"index":3416},{"krate":0,"index":3419},{"krate":0,"index":3420},{"krate":0,"index":3423},{"krate":0,"index":1194},{"krate":0,"index":1196},{"krate":0,"index":1207},{"krate":0,"index":1209},{"krate":0,"index":1212},{"krate":0,"index":1219},{"krate":0,"index":1237},{"krate":0,"index":1242},{"krate":0,"index":3425},{"krate":0,"index":3426},{"krate":0,"index":3428},{"krate":0,"index":3429},{"krate":0,"index":3430},{"krate":0,"index":3432},{"krate":0,"index":3433},{"krate":0,"index":3434},{"krate":0,"index":3436}],"decl_id":null,"docs":" Represents a V4 UUID, good for globally unique identifiers\n \n `uuid` types are always represented with this struct.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::uuid::NP_UUID;\n \n let factory: NP_Factory = NP_Factory::new(\"uuid()\")?;","sig":null,"attributes":[{"value":"/ Represents a V4 UUID, good for globally unique identifiers","span":{"file_name":"src/pointer/uuid.rs","byte_start":309697,"byte_end":309759,"line_start":1,"line_end":1,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309760,"byte_end":309764,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ `uuid` types are always represented with this struct.","span":{"file_name":"src/pointer/uuid.rs","byte_start":309765,"byte_end":309822,"line_start":3,"line_end":3,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309823,"byte_end":309827,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/uuid.rs","byte_start":309828,"byte_end":309835,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309836,"byte_end":309870,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309871,"byte_end":309900,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309901,"byte_end":309942,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":309943,"byte_end":309947,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"uuid()\")?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":309948,"byte_end":310005,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/uuid.rs","byte_start":310006,"byte_end":310009,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310010,"byte_end":310060,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ let uuid = NP_UUID::generate(50);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310061,"byte_end":310098,"line_start":13,"line_end":13,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[], &uuid)?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":310099,"byte_end":310131,"line_start":14,"line_end":14,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310132,"byte_end":310136,"line_start":15,"line_end":15,"column_start":1,"column_end":5}},{"value":"/ let b_uuid: Option = new_buffer.get::(&[])?;","span":{"file_name":"src/pointer/uuid.rs","byte_start":310137,"byte_end":310203,"line_start":16,"line_end":16,"column_start":1,"column_end":67}},{"value":"/ assert_eq!(Some(uuid), b_uuid);","span":{"file_name":"src/pointer/uuid.rs","byte_start":310204,"byte_end":310239,"line_start":17,"line_end":17,"column_start":1,"column_end":36}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310240,"byte_end":310244,"line_start":18,"line_end":18,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(\"48E6AAB0-7DF5-409F-4D57-4D969FA065EE\", b_uuid.unwrap().to_string());","span":{"file_name":"src/pointer/uuid.rs","byte_start":310245,"byte_end":310329,"line_start":19,"line_end":19,"column_start":1,"column_end":85}},{"value":"/","span":{"file_name":"src/pointer/uuid.rs","byte_start":310330,"byte_end":310333,"line_start":20,"line_end":20,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310334,"byte_end":310363,"line_start":21,"line_end":21,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/uuid.rs","byte_start":310364,"byte_end":310371,"line_start":22,"line_end":22,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310372,"byte_end":310376,"line_start":23,"line_end":23,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3412},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311067,"byte_end":311074,"line_start":49,"line_end":49,"column_start":12,"column_end":19},"name":"NP_UUID","qualname":"::pointer::uuid::NP_UUID","value":"NP_UUID { value }","parent":null,"children":[{"krate":0,"index":3413}],"decl_id":null,"docs":" Holds UUID which is good for random keys.\n \n Check out documentation [here](../uuid/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds UUID which is good for random keys.","span":{"file_name":"src/pointer/uuid.rs","byte_start":310901,"byte_end":310946,"line_start":43,"line_end":43,"column_start":1,"column_end":46}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":310947,"byte_end":310951,"line_start":44,"line_end":44,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../uuid/index.html).","span":{"file_name":"src/pointer/uuid.rs","byte_start":310952,"byte_end":311007,"line_start":45,"line_end":45,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":311008,"byte_end":311012,"line_start":46,"line_end":46,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/uuid.rs","byte_start":311045,"byte_end":311055,"line_start":48,"line_end":48,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3413},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"name":"value","qualname":"::pointer::uuid::NP_UUID::value","value":"[u8; 16]","parent":{"krate":0,"index":3412},"children":[],"decl_id":null,"docs":" The random bytes for this UUID\n","sig":null,"attributes":[{"value":"/ The random bytes for this UUID","span":{"file_name":"src/pointer/uuid.rs","byte_start":311081,"byte_end":311115,"line_start":50,"line_end":50,"column_start":5,"column_end":39}}]},{"kind":"Type","id":{"krate":0,"index":1194},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311185,"byte_end":311193,"line_start":56,"line_end":56,"column_start":10,"column_end":18},"name":"_NP_UUID","qualname":"::pointer::uuid::_NP_UUID","value":"&'a NP_UUID","parent":null,"children":[],"decl_id":null,"docs":" ULID alias for shared value\n","sig":null,"attributes":[{"value":"/ ULID alias for shared value","span":{"file_name":"src/pointer/uuid.rs","byte_start":311144,"byte_end":311175,"line_start":55,"line_end":55,"column_start":1,"column_end":32}}]},{"kind":"Local","id":{"krate":0,"index":1073743021},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311388,"byte_end":311399,"line_start":62,"line_end":62,"column_start":21,"column_end":32},"name":"random_seed","qualname":"::generate::random_seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1197},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311379,"byte_end":311387,"line_start":62,"line_end":62,"column_start":12,"column_end":20},"name":"generate","qualname":"::generate","value":"pub fn generate(u32) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible.\n \n","sig":null,"attributes":[{"value":"/ Generate a new UUID with a given random seed. You should attempt to provide a seed with as much randomness as possible.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311234,"byte_end":311358,"line_start":60,"line_end":60,"column_start":5,"column_end":129}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":311363,"byte_end":311367,"line_start":61,"line_end":61,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805307565},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311434,"byte_end":311438,"line_start":65,"line_end":65,"column_start":17,"column_end":21},"name":"uuid","qualname":"uuid$HirId { owner: DefId(0:1197 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate), local_id: 12 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831661},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311506,"byte_end":311509,"line_start":69,"line_end":69,"column_start":17,"column_end":20},"name":"rng","qualname":"rng$HirId { owner: DefId(0:1197 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate), local_id: 22 }","value":"utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110061},"span":{"file_name":"src/pointer/uuid.rs","byte_start":311549,"byte_end":311550,"line_start":71,"line_end":71,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1197 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743023},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312059,"byte_end":312068,"line_start":85,"line_end":85,"column_start":34,"column_end":43},"name":"random_fn","qualname":"::generate_with_rand::random_fn","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1200},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312056,"byte_end":312057,"line_start":85,"line_end":85,"column_start":31,"column_end":32},"name":"F","qualname":"::generate_with_rand::F$HirId { owner: DefId(0:1199 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1199},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312037,"byte_end":312055,"line_start":85,"line_end":85,"column_start":12,"column_end":30},"name":"generate_with_rand","qualname":"::generate_with_rand","value":"pub fn generate_with_rand(F) -> Self where F: Fn() -> u8","parent":null,"children":[],"decl_id":null,"docs":" Generates a UUID with a provided random number generator.\n This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.\n \n","sig":null,"attributes":[{"value":"/ Generates a UUID with a provided random number generator.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311796,"byte_end":311857,"line_start":82,"line_end":82,"column_start":5,"column_end":66}},{"value":"/ This is the preferrable way to generate a ULID, if you can provide a better RNG function than the psudorandom one built into this library, you should.","span":{"file_name":"src/pointer/uuid.rs","byte_start":311862,"byte_end":312016,"line_start":83,"line_end":83,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312021,"byte_end":312025,"line_start":84,"line_end":84,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805307567},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312119,"byte_end":312123,"line_start":86,"line_end":86,"column_start":17,"column_end":21},"name":"uuid","qualname":"uuid$HirId { owner: DefId(0:1199 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 12 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831663},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312187,"byte_end":312188,"line_start":90,"line_end":90,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1199 ~ no_proto[7dec]::pointer::uuid::{impl#0}::generate_with_rand), local_id: 22 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743026},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312508,"byte_end":312512,"line_start":103,"line_end":103,"column_start":39,"column_end":43},"name":"uuid","qualname":"::from_string::uuid","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1203},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312493,"byte_end":312494,"line_start":103,"line_end":103,"column_start":24,"column_end":25},"name":"S","qualname":"::from_string::S$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1202},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312481,"byte_end":312492,"line_start":103,"line_end":103,"column_start":12,"column_end":23},"name":"from_string","qualname":"::from_string","value":"pub fn from_string>(S) -> NP_UUID","parent":null,"children":[],"decl_id":null,"docs":" Create a UUID from a string representation\n \n","sig":null,"attributes":[{"value":"/ Create a UUID from a string representation","span":{"file_name":"src/pointer/uuid.rs","byte_start":312414,"byte_end":312460,"line_start":101,"line_end":101,"column_start":5,"column_end":51}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312465,"byte_end":312469,"line_start":102,"line_end":102,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1744831666},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312542,"byte_end":312549,"line_start":104,"line_end":104,"column_start":13,"column_end":20},"name":"cleaned","qualname":"cleaned$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 22 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140851890},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312638,"byte_end":312643,"line_start":106,"line_end":106,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 34 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545522},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312678,"byte_end":312679,"line_start":108,"line_end":108,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 40 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682354},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312712,"byte_end":312716,"line_start":109,"line_end":109,"column_start":17,"column_end":21},"name":"step","qualname":"step$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375732914},"span":{"file_name":"src/pointer/uuid.rs","byte_start":312816,"byte_end":312820,"line_start":111,"line_end":111,"column_start":20,"column_end":24},"name":"byte","qualname":"byte$HirId { owner: DefId(0:1202 ~ no_proto[7dec]::pointer::uuid::{impl#0}::from_string), local_id: 74 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743030},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313012,"byte_end":313016,"line_start":121,"line_end":121,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1206},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313001,"byte_end":313010,"line_start":121,"line_end":121,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Generates a stringified version of the UUID.\n \n","sig":null,"attributes":[{"value":"/ Generates a stringified version of the UUID.","span":{"file_name":"src/pointer/uuid.rs","byte_start":312932,"byte_end":312980,"line_start":119,"line_end":119,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/uuid.rs","byte_start":312985,"byte_end":312989,"line_start":120,"line_end":120,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3489662134},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313047,"byte_end":313053,"line_start":123,"line_end":123,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1206 ~ no_proto[7dec]::pointer::uuid::{impl#0}::to_string), local_id: 11 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818573494},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313096,"byte_end":313097,"line_start":125,"line_end":125,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1206 ~ no_proto[7dec]::pointer::uuid::{impl#0}::to_string), local_id: 21 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717910198},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313246,"byte_end":313250,"line_start":129,"line_end":129,"column_start":17,"column_end":21},"name":"byte","qualname":"byte$HirId { owner: DefId(0:1206 ~ no_proto[7dec]::pointer::uuid::{impl#0}::to_string), local_id: 69 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743032},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313404,"byte_end":313408,"line_start":138,"line_end":138,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872120},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313410,"byte_end":313411,"line_start":138,"line_end":138,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1208},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313399,"byte_end":313402,"line_start":138,"line_end":138,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1210},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313541,"byte_end":313548,"line_start":144,"line_end":144,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743038},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313674,"byte_end":313681,"line_start":150,"line_end":150,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1214},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313659,"byte_end":313673,"line_start":150,"line_end":150,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743039},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313794,"byte_end":313801,"line_start":153,"line_end":153,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872127},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313815,"byte_end":313822,"line_start":153,"line_end":153,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1215},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313781,"byte_end":313793,"line_start":153,"line_end":153,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743041},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313925,"byte_end":313932,"line_start":157,"line_end":157,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872129},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313946,"byte_end":313953,"line_start":157,"line_end":157,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1217},"span":{"file_name":"src/pointer/uuid.rs","byte_start":313912,"byte_end":313924,"line_start":157,"line_end":157,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1221},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314090,"byte_end":314098,"line_start":166,"line_end":166,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743046},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314185,"byte_end":314189,"line_start":167,"line_end":167,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1222},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314170,"byte_end":314183,"line_start":167,"line_end":167,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743047},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314276,"byte_end":314283,"line_start":169,"line_end":169,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872135},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314309,"byte_end":314317,"line_start":169,"line_end":169,"column_start":56,"column_end":64},"name":"_address","qualname":"::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1223},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314261,"byte_end":314275,"line_start":169,"line_end":169,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307591},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314372,"byte_end":314383,"line_start":170,"line_end":170,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1223 ~ no_proto[7dec]::pointer::uuid::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743048},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314572,"byte_end":314578,"line_start":176,"line_end":176,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872136},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314591,"byte_end":314597,"line_start":176,"line_end":176,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613960},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314616,"byte_end":314621,"line_start":176,"line_end":176,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1224},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314556,"byte_end":314565,"line_start":176,"line_end":176,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743050},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314773,"byte_end":314779,"line_start":180,"line_end":180,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872138},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314788,"byte_end":314799,"line_start":180,"line_end":180,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613962},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314807,"byte_end":314813,"line_start":180,"line_end":180,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436682},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314826,"byte_end":314832,"line_start":180,"line_end":180,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178506},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314851,"byte_end":314856,"line_start":180,"line_end":180,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1226},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314753,"byte_end":314766,"line_start":180,"line_end":180,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960778},"span":{"file_name":"src/pointer/uuid.rs","byte_start":314978,"byte_end":314983,"line_start":183,"line_end":183,"column_start":29,"column_end":34},"name":"value","qualname":"value$HirId { owner: DefId(0:1226 ~ no_proto[7dec]::pointer::uuid::{impl#4}::set_from_json), local_id: 18 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743052},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315160,"byte_end":315167,"line_start":193,"line_end":193,"column_start":22,"column_end":29},"name":"_schema","qualname":"::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872140},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315193,"byte_end":315201,"line_start":193,"line_end":193,"column_start":55,"column_end":63},"name":"_address","qualname":"::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1228},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315146,"byte_end":315159,"line_start":193,"line_end":193,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743053},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315307,"byte_end":315313,"line_start":197,"line_end":197,"column_start":27,"column_end":33},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872141},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315338,"byte_end":315343,"line_start":197,"line_end":197,"column_start":58,"column_end":63},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613965},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315351,"byte_end":315355,"line_start":197,"line_end":197,"column_start":71,"column_end":75},"name":"_idl","qualname":"::from_idl_to_schema::_idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436685},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315369,"byte_end":315374,"line_start":197,"line_end":197,"column_start":89,"column_end":94},"name":"_args","qualname":"::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1229},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315288,"byte_end":315306,"line_start":197,"line_end":197,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743054},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315548,"byte_end":315554,"line_start":201,"line_end":201,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872142},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315563,"byte_end":315574,"line_start":201,"line_end":201,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613966},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315582,"byte_end":315589,"line_start":201,"line_end":201,"column_start":56,"column_end":63},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1230},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315534,"byte_end":315547,"line_start":201,"line_end":201,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743055},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315671,"byte_end":315677,"line_start":205,"line_end":205,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872143},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315691,"byte_end":315697,"line_start":205,"line_end":205,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1231},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315660,"byte_end":315670,"line_start":205,"line_end":205,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110095},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315843,"byte_end":315844,"line_start":207,"line_end":207,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1231 ~ no_proto[7dec]::pointer::uuid::{impl#4}::into_value), local_id: 32 }","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743056},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315935,"byte_end":315941,"line_start":212,"line_end":212,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872144},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315949,"byte_end":315955,"line_start":212,"line_end":212,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613968},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315969,"byte_end":315975,"line_start":212,"line_end":212,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1232},"span":{"file_name":"src/pointer/uuid.rs","byte_start":315927,"byte_end":315934,"line_start":212,"line_end":212,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702608},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316074,"byte_end":316075,"line_start":215,"line_end":215,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1232 ~ no_proto[7dec]::pointer::uuid::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315344},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316133,"byte_end":316134,"line_start":217,"line_end":217,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1232 ~ no_proto[7dec]::pointer::uuid::{impl#4}::to_json), local_id: 23 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641936},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316358,"byte_end":316360,"line_start":225,"line_end":225,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1232 ~ no_proto[7dec]::pointer::uuid::{impl#4}::to_json), local_id: 47 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743057},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316444,"byte_end":316450,"line_start":231,"line_end":231,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872145},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316458,"byte_end":316464,"line_start":231,"line_end":231,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613969},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316478,"byte_end":316484,"line_start":231,"line_end":231,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1233},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316435,"byte_end":316443,"line_start":231,"line_end":231,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960785},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316540,"byte_end":316547,"line_start":233,"line_end":233,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1233 ~ no_proto[7dec]::pointer::uuid::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/uuid.rs:233:23: 233:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743059},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316732,"byte_end":316738,"line_start":242,"line_end":242,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872147},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316763,"byte_end":316775,"line_start":242,"line_end":242,"column_start":63,"column_end":75},"name":"_json_schema","qualname":"::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1235},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316708,"byte_end":316727,"line_start":242,"line_end":242,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218963},"span":{"file_name":"src/pointer/uuid.rs","byte_start":316879,"byte_end":316891,"line_start":245,"line_end":245,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1235 ~ no_proto[7dec]::pointer::uuid::{impl#4}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743060},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317251,"byte_end":317257,"line_start":258,"line_end":258,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872148},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317282,"byte_end":317290,"line_start":258,"line_end":258,"column_start":64,"column_end":72},"name":"_address","qualname":"::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613972},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317299,"byte_end":317305,"line_start":258,"line_end":258,"column_start":81,"column_end":87},"name":"_bytes","qualname":"::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1236},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317226,"byte_end":317246,"line_start":258,"line_end":258,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743063},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317641,"byte_end":317648,"line_start":271,"line_end":271,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1239},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317626,"byte_end":317640,"line_start":271,"line_end":271,"column_start":8,"column_end":22},"name":"schema_default","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743064},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317745,"byte_end":317752,"line_start":275,"line_end":275,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872152},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317766,"byte_end":317773,"line_start":275,"line_end":275,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1240},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317732,"byte_end":317744,"line_start":275,"line_end":275,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743065},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317845,"byte_end":317852,"line_start":279,"line_end":279,"column_start":21,"column_end":28},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872153},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317866,"byte_end":317873,"line_start":279,"line_end":279,"column_start":42,"column_end":49},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1241},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317832,"byte_end":317844,"line_start":279,"line_end":279,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"<&'_ NP_UUID as pointer::NP_Scalar>::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1244},"span":{"file_name":"src/pointer/uuid.rs","byte_start":317980,"byte_end":317988,"line_start":286,"line_end":286,"column_start":8,"column_end":16},"name":"type_idx","qualname":"<&'_ NP_UUID as pointer::NP_Value>::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743069},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318067,"byte_end":318071,"line_start":287,"line_end":287,"column_start":23,"column_end":27},"name":"self","qualname":"<&'_ NP_UUID as pointer::NP_Value>::self_type_idx::self","value":"&&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1245},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318052,"byte_end":318065,"line_start":287,"line_end":287,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"<&'_ NP_UUID as pointer::NP_Value>::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743070},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318165,"byte_end":318172,"line_start":289,"line_end":289,"column_start":23,"column_end":30},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872158},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318198,"byte_end":318206,"line_start":289,"line_end":289,"column_start":56,"column_end":64},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1246},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318150,"byte_end":318164,"line_start":289,"line_end":289,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743071},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318326,"byte_end":318332,"line_start":293,"line_end":293,"column_start":24,"column_end":30},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872159},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318345,"byte_end":318351,"line_start":293,"line_end":293,"column_start":43,"column_end":49},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613983},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318370,"byte_end":318375,"line_start":293,"line_end":293,"column_start":68,"column_end":73},"name":"value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value::value","value":"&pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1247},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318310,"byte_end":318319,"line_start":293,"line_end":293,"column_start":8,"column_end":17},"name":"set_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960799},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318453,"byte_end":318460,"line_start":294,"line_end":294,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1247 ~ no_proto[7dec]::pointer::uuid::{impl#6}::set_value), local_id: 18 }","value":"[closure@src/pointer/uuid.rs:294:23: 294:52]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087008991},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318511,"byte_end":318524,"line_start":296,"line_end":296,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1247 ~ no_proto[7dec]::pointer::uuid::{impl#6}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335545567},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318640,"byte_end":318645,"line_start":299,"line_end":299,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1247 ~ no_proto[7dec]::pointer::uuid::{impl#6}::set_value), local_id: 40 }","value":"[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093641951},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318677,"byte_end":318688,"line_start":300,"line_end":300,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1247 ~ no_proto[7dec]::pointer::uuid::{impl#6}::set_value), local_id: 47 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763295},"span":{"file_name":"src/pointer/uuid.rs","byte_start":318781,"byte_end":318782,"line_start":303,"line_end":303,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1247 ~ no_proto[7dec]::pointer::uuid::{impl#6}::set_value), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743074},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319118,"byte_end":319125,"line_start":316,"line_end":316,"column_start":22,"column_end":29},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872162},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319151,"byte_end":319159,"line_start":316,"line_end":316,"column_start":55,"column_end":63},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1250},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319104,"byte_end":319117,"line_start":316,"line_end":316,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"<&'_ NP_UUID as pointer::NP_Value>::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743075},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319265,"byte_end":319271,"line_start":320,"line_end":320,"column_start":27,"column_end":33},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872163},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319296,"byte_end":319301,"line_start":320,"line_end":320,"column_start":58,"column_end":63},"name":"_name","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613987},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319309,"byte_end":319313,"line_start":320,"line_end":320,"column_start":71,"column_end":75},"name":"_idl","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436707},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319327,"byte_end":319332,"line_start":320,"line_end":320,"column_start":89,"column_end":94},"name":"_args","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema::_args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1251},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319246,"byte_end":319264,"line_start":320,"line_end":320,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743076},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319506,"byte_end":319512,"line_start":324,"line_end":324,"column_start":22,"column_end":28},"name":"_depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872164},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319521,"byte_end":319532,"line_start":324,"line_end":324,"column_start":37,"column_end":48},"name":"_scham_addr","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_scham_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613988},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319540,"byte_end":319547,"line_start":324,"line_end":324,"column_start":56,"column_end":63},"name":"_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1252},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319492,"byte_end":319505,"line_start":324,"line_end":324,"column_start":8,"column_end":21},"name":"default_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743077},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319638,"byte_end":319644,"line_start":328,"line_end":328,"column_start":28,"column_end":34},"name":"_depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872165},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319653,"byte_end":319664,"line_start":328,"line_end":328,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613989},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319672,"byte_end":319679,"line_start":328,"line_end":328,"column_start":62,"column_end":69},"name":"_cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436709},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319692,"byte_end":319699,"line_start":328,"line_end":328,"column_start":82,"column_end":89},"name":"_memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178533},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319718,"byte_end":319724,"line_start":328,"line_end":328,"column_start":108,"column_end":114},"name":"_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json::_value","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1253},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319618,"byte_end":319631,"line_start":328,"line_end":328,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743079},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319832,"byte_end":319838,"line_start":332,"line_end":332,"column_start":19,"column_end":25},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872167},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319852,"byte_end":319858,"line_start":332,"line_end":332,"column_start":39,"column_end":45},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1255},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319821,"byte_end":319831,"line_start":332,"line_end":332,"column_start":8,"column_end":18},"name":"into_value","qualname":"<&'_ NP_UUID as pointer::NP_Value>::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134218983},"span":{"file_name":"src/pointer/uuid.rs","byte_start":319946,"byte_end":319953,"line_start":334,"line_end":334,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1255 ~ no_proto[7dec]::pointer::uuid::{impl#6}::into_value), local_id: 16 }","value":"[closure@src/pointer/uuid.rs:334:23: 334:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654439},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320002,"byte_end":320012,"line_start":336,"line_end":336,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1255 ~ no_proto[7dec]::pointer::uuid::{impl#6}::into_value), local_id: 24 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682407},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320213,"byte_end":320214,"line_start":344,"line_end":344,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1255 ~ no_proto[7dec]::pointer::uuid::{impl#6}::into_value), local_id: 53 }","value":"&[u8; 16]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743081},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320360,"byte_end":320365,"line_start":351,"line_end":351,"column_start":16,"column_end":21},"name":"depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872169},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320373,"byte_end":320379,"line_start":351,"line_end":351,"column_start":29,"column_end":35},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613993},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320393,"byte_end":320399,"line_start":351,"line_end":351,"column_start":49,"column_end":55},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1257},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320352,"byte_end":320359,"line_start":351,"line_end":351,"column_start":8,"column_end":15},"name":"to_json","qualname":"<&'_ NP_UUID as pointer::NP_Value>::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743082},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320504,"byte_end":320509,"line_start":355,"line_end":355,"column_start":17,"column_end":22},"name":"depth","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872170},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320517,"byte_end":320523,"line_start":355,"line_end":355,"column_start":30,"column_end":36},"name":"cursor","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613994},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320537,"byte_end":320543,"line_start":355,"line_end":355,"column_start":50,"column_end":56},"name":"memory","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1258},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320495,"byte_end":320503,"line_start":355,"line_end":355,"column_start":8,"column_end":16},"name":"get_size","qualname":"<&'_ NP_UUID as pointer::NP_Value>::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743083},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320669,"byte_end":320675,"line_start":359,"line_end":359,"column_start":28,"column_end":34},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872171},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320700,"byte_end":320712,"line_start":359,"line_end":359,"column_start":59,"column_end":71},"name":"_json_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema::_json_schema","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1259},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320649,"byte_end":320668,"line_start":359,"line_end":359,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743084},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320885,"byte_end":320891,"line_start":363,"line_end":363,"column_start":29,"column_end":35},"name":"schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872172},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320916,"byte_end":320924,"line_start":363,"line_end":363,"column_start":60,"column_end":68},"name":"_address","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::_address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610613996},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320933,"byte_end":320939,"line_start":363,"line_end":363,"column_start":77,"column_end":83},"name":"_bytes","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema::_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1260},"span":{"file_name":"src/pointer/uuid.rs","byte_start":320864,"byte_end":320884,"line_start":363,"line_end":363,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"<&'_ NP_UUID as pointer::NP_Value>::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3428},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321067,"byte_end":321091,"line_start":369,"line_end":369,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::uuid::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874340},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321128,"byte_end":321134,"line_start":370,"line_end":370,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3428 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752996},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321155,"byte_end":321162,"line_start":371,"line_end":371,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3428 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699748},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321256,"byte_end":321264,"line_start":373,"line_end":373,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3428 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3432},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321406,"byte_end":321426,"line_start":380,"line_end":380,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::uuid::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874344},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321463,"byte_end":321469,"line_start":381,"line_end":381,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3432 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753000},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321503,"byte_end":321510,"line_start":382,"line_end":382,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3432 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441576},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321622,"byte_end":321630,"line_start":384,"line_end":384,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3432 ~ no_proto[7dec]::pointer::uuid::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3436},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321787,"byte_end":321823,"line_start":393,"line_end":393,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::uuid::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874348},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321860,"byte_end":321866,"line_start":394,"line_end":394,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3436 ~ no_proto[7dec]::pointer::uuid::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753004},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321900,"byte_end":321907,"line_start":395,"line_end":395,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3436 ~ no_proto[7dec]::pointer::uuid::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547756},"span":{"file_name":"src/pointer/uuid.rs","byte_start":321960,"byte_end":321966,"line_start":396,"line_end":396,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3436 ~ no_proto[7dec]::pointer::uuid::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348813676},"span":{"file_name":"src/pointer/uuid.rs","byte_start":322003,"byte_end":322012,"line_start":397,"line_end":397,"column_start":9,"column_end":18},"name":"set_value","qualname":"set_value$HirId { owner: DefId(0:3436 ~ no_proto[7dec]::pointer::uuid::set_clear_value_and_compaction_works#1), local_id: 49 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1261},"span":{"file_name":"src/pointer/option.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"option","qualname":"::pointer::option","value":"src/pointer/option.rs","parent":null,"children":[{"krate":0,"index":1262},{"krate":0,"index":1263},{"krate":0,"index":1266},{"krate":0,"index":1269},{"krate":0,"index":1270},{"krate":0,"index":1273},{"krate":0,"index":1276},{"krate":0,"index":1277},{"krate":0,"index":1280},{"krate":0,"index":1281},{"krate":0,"index":1284},{"krate":0,"index":1285},{"krate":0,"index":1288},{"krate":0,"index":1291},{"krate":0,"index":1292},{"krate":0,"index":1295},{"krate":0,"index":1298},{"krate":0,"index":1299},{"krate":0,"index":1302},{"krate":0,"index":1303},{"krate":0,"index":1306},{"krate":0,"index":1309},{"krate":0,"index":1310},{"krate":0,"index":1311},{"krate":0,"index":1312},{"krate":0,"index":1314},{"krate":0,"index":1317},{"krate":0,"index":1320},{"krate":0,"index":1323},{"krate":0,"index":1324},{"krate":0,"index":1327},{"krate":0,"index":1328},{"krate":0,"index":3437},{"krate":0,"index":3443},{"krate":0,"index":3445},{"krate":0,"index":3447},{"krate":0,"index":3448},{"krate":0,"index":3450},{"krate":0,"index":3451},{"krate":0,"index":1331},{"krate":0,"index":1336},{"krate":0,"index":1343},{"krate":0,"index":1345},{"krate":0,"index":3454},{"krate":0,"index":3455},{"krate":0,"index":3457},{"krate":0,"index":3458},{"krate":0,"index":3459},{"krate":0,"index":3461},{"krate":0,"index":3462},{"krate":0,"index":3463},{"krate":0,"index":3465},{"krate":0,"index":3466},{"krate":0,"index":3467},{"krate":0,"index":3469}],"decl_id":null,"docs":" Represents the string value of a choice in a schema\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::option::NP_Enum;\n \n let factory: NP_Factory = NP_Factory::new(r#\"enum({choices: [\"red\", \"green\", \"blue\"] })\"#)?;","sig":null,"attributes":[{"value":"/ Represents the string value of a choice in a schema","span":{"file_name":"src/pointer/option.rs","byte_start":322546,"byte_end":322601,"line_start":1,"line_end":1,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322602,"byte_end":322606,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/option.rs","byte_start":322607,"byte_end":322614,"line_start":3,"line_end":3,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/option.rs","byte_start":322615,"byte_end":322649,"line_start":4,"line_end":4,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/option.rs","byte_start":322650,"byte_end":322679,"line_start":5,"line_end":5,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/pointer/option.rs","byte_start":322680,"byte_end":322723,"line_start":6,"line_end":6,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322724,"byte_end":322728,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"enum({choices: [\"red\", \"green\", \"blue\"] })\"#)?;","span":{"file_name":"src/pointer/option.rs","byte_start":322729,"byte_end":322825,"line_start":8,"line_end":8,"column_start":1,"column_end":97}},{"value":"/","span":{"file_name":"src/pointer/option.rs","byte_start":322826,"byte_end":322829,"line_start":9,"line_end":9,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/option.rs","byte_start":322830,"byte_end":322880,"line_start":10,"line_end":10,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Enum::new(\"green\"))?;","span":{"file_name":"src/pointer/option.rs","byte_start":322881,"byte_end":322929,"line_start":11,"line_end":11,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":322930,"byte_end":322934,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(NP_Enum::new(\"green\"), new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/option.rs","byte_start":322935,"byte_end":323015,"line_start":13,"line_end":13,"column_start":1,"column_end":81}},{"value":"/","span":{"file_name":"src/pointer/option.rs","byte_start":323016,"byte_end":323019,"line_start":14,"line_end":14,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/option.rs","byte_start":323020,"byte_end":323049,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/option.rs","byte_start":323050,"byte_end":323057,"line_start":16,"line_end":16,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323058,"byte_end":323062,"line_start":17,"line_end":17,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3438},"span":{"file_name":"src/pointer/option.rs","byte_start":323700,"byte_end":323704,"line_start":40,"line_end":40,"column_start":5,"column_end":9},"name":"None","qualname":"::pointer::option::NP_Enum::None","value":"NP_Enum::None","parent":{"krate":0,"index":3437},"children":[],"decl_id":null,"docs":" No value\n","sig":null,"attributes":[{"value":"/ No value","span":{"file_name":"src/pointer/option.rs","byte_start":323683,"byte_end":323695,"line_start":39,"line_end":39,"column_start":5,"column_end":17}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3440},"span":{"file_name":"src/pointer/option.rs","byte_start":323724,"byte_end":323728,"line_start":42,"line_end":42,"column_start":5,"column_end":9},"name":"Some","qualname":"::pointer::option::NP_Enum::Some","value":"NP_Enum::Some(String)","parent":{"krate":0,"index":3437},"children":[],"decl_id":null,"docs":" Value\n","sig":null,"attributes":[{"value":"/ Value","span":{"file_name":"src/pointer/option.rs","byte_start":323710,"byte_end":323719,"line_start":41,"line_end":41,"column_start":5,"column_end":14}}]},{"kind":"Field","id":{"krate":0,"index":3442},"span":{"file_name":"src/pointer/option.rs","byte_start":323729,"byte_end":323735,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"name":"0","qualname":"::pointer::option::NP_Enum::Some::0","value":"std::string::String","parent":{"krate":0,"index":3440},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3437},"span":{"file_name":"src/pointer/option.rs","byte_start":323669,"byte_end":323676,"line_start":38,"line_end":38,"column_start":10,"column_end":17},"name":"NP_Enum","qualname":"::pointer::option::NP_Enum","value":"pub enum NP_Enum { None, Some(String), }","parent":null,"children":[{"krate":0,"index":3438},{"krate":0,"index":3440}],"decl_id":null,"docs":" Holds Enum / Option type data.\n \n Check out documentation [here](../option/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds Enum / Option type data.","span":{"file_name":"src/pointer/option.rs","byte_start":323518,"byte_end":323552,"line_start":33,"line_end":33,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323553,"byte_end":323557,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../option/index.html).","span":{"file_name":"src/pointer/option.rs","byte_start":323558,"byte_end":323615,"line_start":35,"line_end":35,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/option.rs","byte_start":323616,"byte_end":323620,"line_start":36,"line_end":36,"column_start":1,"column_end":5}}]},{"kind":"Local","id":{"krate":0,"index":1073743157},"span":{"file_name":"src/pointer/option.rs","byte_start":323814,"byte_end":323821,"line_start":46,"line_end":46,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1333},"span":{"file_name":"src/pointer/option.rs","byte_start":323799,"byte_end":323813,"line_start":46,"line_end":46,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743158},"span":{"file_name":"src/pointer/option.rs","byte_start":323935,"byte_end":323941,"line_start":50,"line_end":50,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_max_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872246},"span":{"file_name":"src/pointer/option.rs","byte_start":323955,"byte_end":323961,"line_start":50,"line_end":50,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_max_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1334},"span":{"file_name":"src/pointer/option.rs","byte_start":323922,"byte_end":323934,"line_start":50,"line_end":50,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654518},"span":{"file_name":"src/pointer/option.rs","byte_start":324005,"byte_end":324009,"line_start":51,"line_end":51,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1334 ~ no_proto[7dec]::pointer::option::{impl#0}::np_max_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743159},"span":{"file_name":"src/pointer/option.rs","byte_start":324181,"byte_end":324187,"line_start":55,"line_end":55,"column_start":21,"column_end":27},"name":"cursor","qualname":"::np_min_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872247},"span":{"file_name":"src/pointer/option.rs","byte_start":324201,"byte_end":324207,"line_start":55,"line_end":55,"column_start":41,"column_end":47},"name":"memory","qualname":"::np_min_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1335},"span":{"file_name":"src/pointer/option.rs","byte_start":324168,"byte_end":324180,"line_start":55,"line_end":55,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654519},"span":{"file_name":"src/pointer/option.rs","byte_start":324251,"byte_end":324255,"line_start":56,"line_end":56,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1335 ~ no_proto[7dec]::pointer::option::{impl#0}::np_min_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743161},"span":{"file_name":"src/pointer/option.rs","byte_start":324491,"byte_end":324496,"line_start":64,"line_end":64,"column_start":33,"column_end":38},"name":"value","qualname":"::new::value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":1338},"span":{"file_name":"src/pointer/option.rs","byte_start":324474,"byte_end":324475,"line_start":64,"line_end":64,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:1337 ~ no_proto[7dec]::pointer::option::{impl#1}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1337},"span":{"file_name":"src/pointer/option.rs","byte_start":324470,"byte_end":324473,"line_start":64,"line_end":64,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new option type with the given string\n","sig":null,"attributes":[{"value":"/ Create a new option type with the given string","span":{"file_name":"src/pointer/option.rs","byte_start":324408,"byte_end":324458,"line_start":63,"line_end":63,"column_start":5,"column_end":55}}]},{"kind":"Local","id":{"krate":0,"index":1073743163},"span":{"file_name":"src/pointer/option.rs","byte_start":324600,"byte_end":324604,"line_start":71,"line_end":71,"column_start":17,"column_end":21},"name":"self","qualname":"::len::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1339},"span":{"file_name":"src/pointer/option.rs","byte_start":324595,"byte_end":324598,"line_start":71,"line_end":71,"column_start":12,"column_end":15},"name":"len","qualname":"::len","value":"pub fn len(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" get length of value\n","sig":null,"attributes":[{"value":"/ get length of value","span":{"file_name":"src/pointer/option.rs","byte_start":324560,"byte_end":324583,"line_start":70,"line_end":70,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":805307707},"span":{"file_name":"src/pointer/option.rs","byte_start":324696,"byte_end":324697,"line_start":74,"line_end":74,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1339 ~ no_proto[7dec]::pointer::option::{impl#1}::len), local_id: 12 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743164},"span":{"file_name":"src/pointer/option.rs","byte_start":324775,"byte_end":324779,"line_start":79,"line_end":79,"column_start":22,"column_end":26},"name":"self","qualname":"::as_bytes::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1340},"span":{"file_name":"src/pointer/option.rs","byte_start":324765,"byte_end":324773,"line_start":79,"line_end":79,"column_start":12,"column_end":20},"name":"as_bytes","qualname":"::as_bytes","value":"pub fn as_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" get value as bytes\n","sig":null,"attributes":[{"value":"/ get value as bytes","span":{"file_name":"src/pointer/option.rs","byte_start":324731,"byte_end":324753,"line_start":78,"line_end":78,"column_start":5,"column_end":27}}]},{"kind":"Local","id":{"krate":0,"index":2952791356},"span":{"file_name":"src/pointer/option.rs","byte_start":324873,"byte_end":324874,"line_start":82,"line_end":82,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1340 ~ no_proto[7dec]::pointer::option::{impl#1}::as_bytes), local_id: 13 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743165},"span":{"file_name":"src/pointer/option.rs","byte_start":324956,"byte_end":324960,"line_start":87,"line_end":87,"column_start":20,"column_end":24},"name":"self","qualname":"::to_str::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1341},"span":{"file_name":"src/pointer/option.rs","byte_start":324948,"byte_end":324954,"line_start":87,"line_end":87,"column_start":12,"column_end":18},"name":"to_str","qualname":"::to_str","value":"pub fn to_str(&Self) -> &str","parent":null,"children":[],"decl_id":null,"docs":" get string of value\n","sig":null,"attributes":[{"value":"/ get string of value","span":{"file_name":"src/pointer/option.rs","byte_start":324913,"byte_end":324936,"line_start":86,"line_end":86,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":805307709},"span":{"file_name":"src/pointer/option.rs","byte_start":325052,"byte_end":325053,"line_start":90,"line_end":90,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1341 ~ no_proto[7dec]::pointer::option::{impl#1}::to_str), local_id: 12 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743166},"span":{"file_name":"src/pointer/option.rs","byte_start":325127,"byte_end":325131,"line_start":95,"line_end":95,"column_start":23,"column_end":27},"name":"self","qualname":"::to_string::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1342},"span":{"file_name":"src/pointer/option.rs","byte_start":325116,"byte_end":325125,"line_start":95,"line_end":95,"column_start":12,"column_end":21},"name":"to_string","qualname":"::to_string","value":"pub fn to_string(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" get string of value\n","sig":null,"attributes":[{"value":"/ get string of value","span":{"file_name":"src/pointer/option.rs","byte_start":325081,"byte_end":325104,"line_start":94,"line_end":94,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":2281702718},"span":{"file_name":"src/pointer/option.rs","byte_start":325239,"byte_end":325240,"line_start":98,"line_end":98,"column_start":27,"column_end":28},"name":"x","qualname":"x$HirId { owner: DefId(0:1342 ~ no_proto[7dec]::pointer::option::{impl#1}::to_string), local_id: 17 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1344},"span":{"file_name":"src/pointer/option.rs","byte_start":325308,"byte_end":325315,"line_start":104,"line_end":104,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1347},"span":{"file_name":"src/pointer/option.rs","byte_start":325413,"byte_end":325421,"line_start":111,"line_end":111,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743172},"span":{"file_name":"src/pointer/option.rs","byte_start":325510,"byte_end":325514,"line_start":112,"line_end":112,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1348},"span":{"file_name":"src/pointer/option.rs","byte_start":325495,"byte_end":325508,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743173},"span":{"file_name":"src/pointer/option.rs","byte_start":325603,"byte_end":325609,"line_start":114,"line_end":114,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872261},"span":{"file_name":"src/pointer/option.rs","byte_start":325635,"byte_end":325642,"line_start":114,"line_end":114,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1349},"span":{"file_name":"src/pointer/option.rs","byte_start":325588,"byte_end":325602,"line_start":114,"line_end":114,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307717},"span":{"file_name":"src/pointer/option.rs","byte_start":325697,"byte_end":325708,"line_start":115,"line_end":115,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1349 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069765},"span":{"file_name":"src/pointer/option.rs","byte_start":325834,"byte_end":325838,"line_start":118,"line_end":118,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1349 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_json), local_id: 50 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167773509},"span":{"file_name":"src/pointer/option.rs","byte_start":325915,"byte_end":325922,"line_start":120,"line_end":120,"column_start":13,"column_end":20},"name":"options","qualname":"options$HirId { owner: DefId(0:1349 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_json), local_id: 80 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33555781},"span":{"file_name":"src/pointer/option.rs","byte_start":325964,"byte_end":325969,"line_start":120,"line_end":120,"column_start":62,"column_end":67},"name":"value","qualname":"$HirId { owner: DefId(0:1349 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_json), local_id: 76 }::value","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743175},"span":{"file_name":"src/pointer/option.rs","byte_start":326410,"byte_end":326416,"line_start":136,"line_end":136,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872263},"span":{"file_name":"src/pointer/option.rs","byte_start":326425,"byte_end":326436,"line_start":136,"line_end":136,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614087},"span":{"file_name":"src/pointer/option.rs","byte_start":326444,"byte_end":326450,"line_start":136,"line_end":136,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436807},"span":{"file_name":"src/pointer/option.rs","byte_start":326463,"byte_end":326469,"line_start":136,"line_end":136,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178631},"span":{"file_name":"src/pointer/option.rs","byte_start":326488,"byte_end":326493,"line_start":136,"line_end":136,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1351},"span":{"file_name":"src/pointer/option.rs","byte_start":326390,"byte_end":326403,"line_start":136,"line_end":136,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960903},"span":{"file_name":"src/pointer/option.rs","byte_start":326614,"byte_end":326615,"line_start":138,"line_end":138,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:1351 ~ no_proto[7dec]::pointer::option::{impl#3}::set_from_json), local_id: 18 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743177},"span":{"file_name":"src/pointer/option.rs","byte_start":326786,"byte_end":326792,"line_start":147,"line_end":147,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872265},"span":{"file_name":"src/pointer/option.rs","byte_start":326805,"byte_end":326811,"line_start":147,"line_end":147,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614089},"span":{"file_name":"src/pointer/option.rs","byte_start":326830,"byte_end":326835,"line_start":147,"line_end":147,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1353},"span":{"file_name":"src/pointer/option.rs","byte_start":326770,"byte_end":326779,"line_start":147,"line_end":147,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960905},"span":{"file_name":"src/pointer/option.rs","byte_start":326914,"byte_end":326921,"line_start":149,"line_end":149,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 18 }","value":"[closure@src/pointer/option.rs:149:23: 149:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677722953},"span":{"file_name":"src/pointer/option.rs","byte_start":326970,"byte_end":326974,"line_start":151,"line_end":151,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 38 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019900233},"span":{"file_name":"src/pointer/option.rs","byte_start":327077,"byte_end":327086,"line_start":153,"line_end":153,"column_start":17,"column_end":26},"name":"value_num","qualname":"value_num$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 45 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422553417},"span":{"file_name":"src/pointer/option.rs","byte_start":327129,"byte_end":327131,"line_start":156,"line_end":156,"column_start":21,"column_end":23},"name":"ct","qualname":"ct$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 51 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763401},"span":{"file_name":"src/pointer/option.rs","byte_start":327159,"byte_end":327162,"line_start":158,"line_end":158,"column_start":17,"column_end":20},"name":"opt","qualname":"opt$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 56 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774874953},"span":{"file_name":"src/pointer/option.rs","byte_start":327479,"byte_end":327484,"line_start":170,"line_end":170,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 135 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1224738121},"span":{"file_name":"src/pointer/option.rs","byte_start":327521,"byte_end":327531,"line_start":172,"line_end":172,"column_start":17,"column_end":27},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 146 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030044489},"span":{"file_name":"src/pointer/option.rs","byte_start":327645,"byte_end":327656,"line_start":176,"line_end":176,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1353 ~ no_proto[7dec]::pointer::option::{impl#3}::set_value), local_id: 158 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743180},"span":{"file_name":"src/pointer/option.rs","byte_start":328021,"byte_end":328027,"line_start":191,"line_end":191,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872268},"span":{"file_name":"src/pointer/option.rs","byte_start":328053,"byte_end":328060,"line_start":191,"line_end":191,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1356},"span":{"file_name":"src/pointer/option.rs","byte_start":328007,"byte_end":328020,"line_start":191,"line_end":191,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791372},"span":{"file_name":"src/pointer/option.rs","byte_start":328114,"byte_end":328120,"line_start":192,"line_end":192,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1356 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_idl), local_id: 13 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160750924},"span":{"file_name":"src/pointer/option.rs","byte_start":328160,"byte_end":328164,"line_start":194,"line_end":194,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1356 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_idl), local_id: 31 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434444},"span":{"file_name":"src/pointer/option.rs","byte_start":328521,"byte_end":328532,"line_start":206,"line_end":206,"column_start":13,"column_end":24},"name":"last_choice","qualname":"last_choice$HirId { owner: DefId(0:1356 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_idl), local_id: 91 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3321890124},"span":{"file_name":"src/pointer/option.rs","byte_start":328572,"byte_end":328575,"line_start":207,"line_end":207,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1356 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_idl), local_id: 99 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":637535564},"span":{"file_name":"src/pointer/option.rs","byte_start":328577,"byte_end":328583,"line_start":207,"line_end":207,"column_start":19,"column_end":25},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1356 ~ no_proto[7dec]::pointer::option::{impl#3}::schema_to_idl), local_id: 100 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743181},"span":{"file_name":"src/pointer/option.rs","byte_start":329029,"byte_end":329035,"line_start":225,"line_end":225,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872269},"span":{"file_name":"src/pointer/option.rs","byte_start":329060,"byte_end":329065,"line_start":225,"line_end":225,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614093},"span":{"file_name":"src/pointer/option.rs","byte_start":329073,"byte_end":329076,"line_start":225,"line_end":225,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436813},"span":{"file_name":"src/pointer/option.rs","byte_start":329090,"byte_end":329094,"line_start":225,"line_end":225,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1357},"span":{"file_name":"src/pointer/option.rs","byte_start":329006,"byte_end":329024,"line_start":225,"line_end":225,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671089997},"span":{"file_name":"src/pointer/option.rs","byte_start":329188,"byte_end":329199,"line_start":226,"line_end":226,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556771149},"span":{"file_name":"src/pointer/option.rs","byte_start":329291,"byte_end":329298,"line_start":229,"line_end":229,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 43 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738198861},"span":{"file_name":"src/pointer/option.rs","byte_start":329344,"byte_end":329356,"line_start":231,"line_end":231,"column_start":17,"column_end":29},"name":"default_stir","qualname":"default_stir$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 52 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154117965},"span":{"file_name":"src/pointer/option.rs","byte_start":329398,"byte_end":329411,"line_start":233,"line_end":233,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 61 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644168525},"span":{"file_name":"src/pointer/option.rs","byte_start":329453,"byte_end":329466,"line_start":234,"line_end":234,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 70 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386253},"span":{"file_name":"src/pointer/option.rs","byte_start":329578,"byte_end":329588,"line_start":238,"line_end":238,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 86 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434445},"span":{"file_name":"src/pointer/option.rs","byte_start":329621,"byte_end":329624,"line_start":239,"line_end":239,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 91 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973079885},"span":{"file_name":"src/pointer/option.rs","byte_start":329626,"byte_end":329631,"line_start":239,"line_end":239,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 92 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771753293},"span":{"file_name":"src/pointer/option.rs","byte_start":329847,"byte_end":329851,"line_start":243,"line_end":243,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 116 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493173581},"span":{"file_name":"src/pointer/option.rs","byte_start":330243,"byte_end":330249,"line_start":251,"line_end":251,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 154 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177528141},"span":{"file_name":"src/pointer/option.rs","byte_start":330301,"byte_end":330307,"line_start":252,"line_end":252,"column_start":45,"column_end":51},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 159 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573548365},"span":{"file_name":"src/pointer/option.rs","byte_start":330444,"byte_end":330448,"line_start":254,"line_end":254,"column_start":66,"column_end":70},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 171 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1828717901},"span":{"file_name":"src/pointer/option.rs","byte_start":330512,"byte_end":330516,"line_start":255,"line_end":255,"column_start":57,"column_end":61},"name":"stir","qualname":"stir$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 182 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":713033037},"span":{"file_name":"src/pointer/option.rs","byte_start":331719,"byte_end":331722,"line_start":283,"line_end":283,"column_start":18,"column_end":21},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 340 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2860516685},"span":{"file_name":"src/pointer/option.rs","byte_start":331724,"byte_end":331730,"line_start":283,"line_end":283,"column_start":23,"column_end":29},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 341 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3917481293},"span":{"file_name":"src/pointer/option.rs","byte_start":332033,"byte_end":332034,"line_start":293,"line_end":293,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 407 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3716154701},"span":{"file_name":"src/pointer/option.rs","byte_start":332194,"byte_end":332200,"line_start":299,"line_end":299,"column_start":13,"column_end":19},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1357 ~ no_proto[7dec]::pointer::option::{impl#3}::from_idl_to_schema), local_id: 443 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743182},"span":{"file_name":"src/pointer/option.rs","byte_start":332679,"byte_end":332685,"line_start":314,"line_end":314,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872270},"span":{"file_name":"src/pointer/option.rs","byte_start":332699,"byte_end":332705,"line_start":314,"line_end":314,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1358},"span":{"file_name":"src/pointer/option.rs","byte_start":332668,"byte_end":332678,"line_start":314,"line_end":314,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219086},"span":{"file_name":"src/pointer/option.rs","byte_start":332793,"byte_end":332800,"line_start":316,"line_end":316,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1358 ~ no_proto[7dec]::pointer::option::{impl#3}::into_value), local_id: 16 }","value":"[closure@src/pointer/option.rs:316:23: 316:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880014},"span":{"file_name":"src/pointer/option.rs","byte_start":332849,"byte_end":332859,"line_start":318,"line_end":318,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1358 ~ no_proto[7dec]::pointer::option::{impl#3}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859790},"span":{"file_name":"src/pointer/option.rs","byte_start":333004,"byte_end":333008,"line_start":325,"line_end":325,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1358 ~ no_proto[7dec]::pointer::option::{impl#3}::into_value), local_id: 63 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449474894},"span":{"file_name":"src/pointer/option.rs","byte_start":333163,"byte_end":333164,"line_start":328,"line_end":328,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1358 ~ no_proto[7dec]::pointer::option::{impl#3}::into_value), local_id: 73 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3388998990},"span":{"file_name":"src/pointer/option.rs","byte_start":333191,"byte_end":333200,"line_start":329,"line_end":329,"column_start":21,"column_end":30},"name":"value_num","qualname":"value_num$HirId { owner: DefId(0:1358 ~ no_proto[7dec]::pointer::option::{impl#3}::into_value), local_id: 83 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743184},"span":{"file_name":"src/pointer/option.rs","byte_start":333482,"byte_end":333488,"line_start":342,"line_end":342,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872272},"span":{"file_name":"src/pointer/option.rs","byte_start":333497,"byte_end":333508,"line_start":342,"line_end":342,"column_start":37,"column_end":48},"name":"schema_addr","qualname":"::default_value::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614096},"span":{"file_name":"src/pointer/option.rs","byte_start":333516,"byte_end":333522,"line_start":342,"line_end":342,"column_start":56,"column_end":62},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1360},"span":{"file_name":"src/pointer/option.rs","byte_start":333468,"byte_end":333481,"line_start":342,"line_end":342,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654544},"span":{"file_name":"src/pointer/option.rs","byte_start":333579,"byte_end":333583,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1360 ~ no_proto[7dec]::pointer::option::{impl#3}::default_value), local_id: 24 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743185},"span":{"file_name":"src/pointer/option.rs","byte_start":333800,"byte_end":333806,"line_start":355,"line_end":355,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872273},"span":{"file_name":"src/pointer/option.rs","byte_start":333814,"byte_end":333820,"line_start":355,"line_end":355,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614097},"span":{"file_name":"src/pointer/option.rs","byte_start":333834,"byte_end":333840,"line_start":355,"line_end":355,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1361},"span":{"file_name":"src/pointer/option.rs","byte_start":333792,"byte_end":333799,"line_start":355,"line_end":355,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702737},"span":{"file_name":"src/pointer/option.rs","byte_start":333939,"byte_end":333940,"line_start":358,"line_end":358,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315473},"span":{"file_name":"src/pointer/option.rs","byte_start":333998,"byte_end":333999,"line_start":360,"line_end":360,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 23 }","value":"pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267281},"span":{"file_name":"src/pointer/option.rs","byte_start":334082,"byte_end":334091,"line_start":362,"line_end":362,"column_start":43,"column_end":52},"name":"str_value","qualname":"str_value$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 30 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107297617},"span":{"file_name":"src/pointer/option.rs","byte_start":334283,"byte_end":334287,"line_start":366,"line_end":366,"column_start":37,"column_end":41},"name":"data","qualname":"data$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 66 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167773521},"span":{"file_name":"src/pointer/option.rs","byte_start":334539,"byte_end":334542,"line_start":370,"line_end":370,"column_start":55,"column_end":58},"name":"val","qualname":"val$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 80 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432697681},"span":{"file_name":"src/pointer/option.rs","byte_start":335159,"byte_end":335163,"line_start":385,"line_end":385,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 137 }","value":"&schema::NP_Enum_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3909092689},"span":{"file_name":"src/pointer/option.rs","byte_start":335391,"byte_end":335392,"line_start":389,"line_end":389,"column_start":47,"column_end":48},"name":"x","qualname":"x$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 151 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":486540625},"span":{"file_name":"src/pointer/option.rs","byte_start":335717,"byte_end":335719,"line_start":399,"line_end":399,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1361 ~ no_proto[7dec]::pointer::option::{impl#3}::to_json), local_id: 184 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743186},"span":{"file_name":"src/pointer/option.rs","byte_start":335803,"byte_end":335809,"line_start":405,"line_end":405,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872274},"span":{"file_name":"src/pointer/option.rs","byte_start":335817,"byte_end":335823,"line_start":405,"line_end":405,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614098},"span":{"file_name":"src/pointer/option.rs","byte_start":335837,"byte_end":335843,"line_start":405,"line_end":405,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1362},"span":{"file_name":"src/pointer/option.rs","byte_start":335794,"byte_end":335802,"line_start":405,"line_end":405,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207960914},"span":{"file_name":"src/pointer/option.rs","byte_start":335898,"byte_end":335905,"line_start":406,"line_end":406,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1362 ~ no_proto[7dec]::pointer::option::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/pointer/option.rs:406:23: 406:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087009106},"span":{"file_name":"src/pointer/option.rs","byte_start":335954,"byte_end":335967,"line_start":408,"line_end":408,"column_start":13,"column_end":26},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1362 ~ no_proto[7dec]::pointer::option::{impl#3}::get_size), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743188},"span":{"file_name":"src/pointer/option.rs","byte_start":336174,"byte_end":336180,"line_start":417,"line_end":417,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872276},"span":{"file_name":"src/pointer/option.rs","byte_start":336205,"byte_end":336216,"line_start":417,"line_end":417,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1364},"span":{"file_name":"src/pointer/option.rs","byte_start":336150,"byte_end":336169,"line_start":417,"line_end":417,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219092},"span":{"file_name":"src/pointer/option.rs","byte_start":336313,"byte_end":336324,"line_start":420,"line_end":420,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206612},"span":{"file_name":"src/pointer/option.rs","byte_start":336416,"byte_end":336423,"line_start":423,"line_end":423,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 39 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201327956},"span":{"file_name":"src/pointer/option.rs","byte_start":336469,"byte_end":336481,"line_start":425,"line_end":425,"column_start":17,"column_end":29},"name":"default_stir","qualname":"default_stir$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 48 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763412},"span":{"file_name":"src/pointer/option.rs","byte_start":336575,"byte_end":336578,"line_start":428,"line_end":428,"column_start":29,"column_end":32},"name":"def","qualname":"def$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 56 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386260},"span":{"file_name":"src/pointer/option.rs","byte_start":336697,"byte_end":336710,"line_start":434,"line_end":434,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 86 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4194305364},"span":{"file_name":"src/pointer/option.rs","byte_start":336752,"byte_end":336765,"line_start":435,"line_end":435,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 95 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858761044},"span":{"file_name":"src/pointer/option.rs","byte_start":336854,"byte_end":336855,"line_start":438,"line_end":438,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 103 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971028},"span":{"file_name":"src/pointer/option.rs","byte_start":336882,"byte_end":336885,"line_start":439,"line_end":439,"column_start":21,"column_end":24},"name":"opt","qualname":"opt$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 108 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3992978772},"span":{"file_name":"src/pointer/option.rs","byte_start":336965,"byte_end":336969,"line_start":441,"line_end":441,"column_start":41,"column_end":45},"name":"stir","qualname":"stir$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 119 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1216349524},"span":{"file_name":"src/pointer/option.rs","byte_start":338063,"byte_end":338064,"line_start":469,"line_end":469,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 274 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1820329300},"span":{"file_name":"src/pointer/option.rs","byte_start":338224,"byte_end":338230,"line_start":475,"line_end":475,"column_start":13,"column_end":19},"name":"choice","qualname":"choice$HirId { owner: DefId(0:1364 ~ no_proto[7dec]::pointer::option::{impl#3}::from_json_to_schema), local_id: 310 }","value":"&pointer::option::NP_Enum","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743189},"span":{"file_name":"src/pointer/option.rs","byte_start":338738,"byte_end":338744,"line_start":491,"line_end":491,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872277},"span":{"file_name":"src/pointer/option.rs","byte_start":338769,"byte_end":338776,"line_start":491,"line_end":491,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614101},"span":{"file_name":"src/pointer/option.rs","byte_start":338785,"byte_end":338790,"line_start":491,"line_end":491,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1365},"span":{"file_name":"src/pointer/option.rs","byte_start":338713,"byte_end":338733,"line_start":491,"line_end":491,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4026533205},"span":{"file_name":"src/pointer/option.rs","byte_start":338850,"byte_end":338863,"line_start":492,"line_end":492,"column_start":17,"column_end":30},"name":"default_index","qualname":"default_index$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 15 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654549},"span":{"file_name":"src/pointer/option.rs","byte_start":338900,"byte_end":338913,"line_start":493,"line_end":493,"column_start":17,"column_end":30},"name":"default_value","qualname":"default_value$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 24 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33555797},"span":{"file_name":"src/pointer/option.rs","byte_start":339057,"byte_end":339068,"line_start":499,"line_end":499,"column_start":13,"column_end":24},"name":"choices_len","qualname":"choices_len$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 64 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862165},"span":{"file_name":"src/pointer/option.rs","byte_start":339108,"byte_end":339115,"line_start":501,"line_end":501,"column_start":17,"column_end":24},"name":"choices","qualname":"choices$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 76 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852128085},"span":{"file_name":"src/pointer/option.rs","byte_start":339160,"byte_end":339166,"line_start":502,"line_end":502,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 85 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973079893},"span":{"file_name":"src/pointer/option.rs","byte_start":339201,"byte_end":339202,"line_start":503,"line_end":503,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 92 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053454677},"span":{"file_name":"src/pointer/option.rs","byte_start":339239,"byte_end":339250,"line_start":504,"line_end":504,"column_start":17,"column_end":28},"name":"choice_size","qualname":"choice_size$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 109 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1090520405},"span":{"file_name":"src/pointer/option.rs","byte_start":339293,"byte_end":339305,"line_start":505,"line_end":505,"column_start":17,"column_end":29},"name":"choice_bytes","qualname":"choice_bytes$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 130 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895826773},"span":{"file_name":"src/pointer/option.rs","byte_start":339374,"byte_end":339387,"line_start":506,"line_end":506,"column_start":17,"column_end":30},"name":"choice_string","qualname":"choice_string$HirId { owner: DefId(0:1365 ~ no_proto[7dec]::pointer::option::{impl#3}::from_bytes_to_schema), local_id: 142 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3457},"span":{"file_name":"src/pointer/option.rs","byte_start":340080,"byte_end":340104,"line_start":529,"line_end":529,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::pointer::option::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874369},"span":{"file_name":"src/pointer/option.rs","byte_start":340141,"byte_end":340147,"line_start":530,"line_end":530,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753025},"span":{"file_name":"src/pointer/option.rs","byte_start":340218,"byte_end":340225,"line_start":531,"line_end":531,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699777},"span":{"file_name":"src/pointer/option.rs","byte_start":340319,"byte_end":340327,"line_start":533,"line_end":533,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526730113},"span":{"file_name":"src/pointer/option.rs","byte_start":340452,"byte_end":340458,"line_start":536,"line_end":536,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936016257},"span":{"file_name":"src/pointer/option.rs","byte_start":340511,"byte_end":340518,"line_start":537,"line_end":537,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202696065},"span":{"file_name":"src/pointer/option.rs","byte_start":340612,"byte_end":340620,"line_start":539,"line_end":539,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3457 ~ no_proto[7dec]::pointer::option::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3461},"span":{"file_name":"src/pointer/option.rs","byte_start":340766,"byte_end":340786,"line_start":546,"line_end":546,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::option::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874373},"span":{"file_name":"src/pointer/option.rs","byte_start":340823,"byte_end":340829,"line_start":547,"line_end":547,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753029},"span":{"file_name":"src/pointer/option.rs","byte_start":340921,"byte_end":340928,"line_start":548,"line_end":548,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441605},"span":{"file_name":"src/pointer/option.rs","byte_start":341040,"byte_end":341048,"line_start":550,"line_end":550,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063601029},"span":{"file_name":"src/pointer/option.rs","byte_start":341186,"byte_end":341192,"line_start":553,"line_end":553,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667580805},"span":{"file_name":"src/pointer/option.rs","byte_start":341262,"byte_end":341269,"line_start":554,"line_end":554,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793409925},"span":{"file_name":"src/pointer/option.rs","byte_start":341381,"byte_end":341389,"line_start":556,"line_end":556,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3461 ~ no_proto[7dec]::pointer::option::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3465},"span":{"file_name":"src/pointer/option.rs","byte_start":341549,"byte_end":341568,"line_start":564,"line_end":564,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::option::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874377},"span":{"file_name":"src/pointer/option.rs","byte_start":341605,"byte_end":341611,"line_start":565,"line_end":565,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3465 ~ no_proto[7dec]::pointer::option::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753033},"span":{"file_name":"src/pointer/option.rs","byte_start":341703,"byte_end":341710,"line_start":566,"line_end":566,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3465 ~ no_proto[7dec]::pointer::option::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547785},"span":{"file_name":"src/pointer/option.rs","byte_start":341759,"byte_end":341765,"line_start":567,"line_end":567,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3465 ~ no_proto[7dec]::pointer::option::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3469},"span":{"file_name":"src/pointer/option.rs","byte_start":341897,"byte_end":341933,"line_start":574,"line_end":574,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::option::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874381},"span":{"file_name":"src/pointer/option.rs","byte_start":341970,"byte_end":341976,"line_start":575,"line_end":575,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3469 ~ no_proto[7dec]::pointer::option::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753037},"span":{"file_name":"src/pointer/option.rs","byte_start":342046,"byte_end":342053,"line_start":576,"line_end":576,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3469 ~ no_proto[7dec]::pointer::option::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547789},"span":{"file_name":"src/pointer/option.rs","byte_start":342106,"byte_end":342112,"line_start":577,"line_end":577,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3469 ~ no_proto[7dec]::pointer::option::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1366},"span":{"file_name":"src/pointer/date.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"date","qualname":"::pointer::date","value":"src/pointer/date.rs","parent":null,"children":[{"krate":0,"index":1367},{"krate":0,"index":1368},{"krate":0,"index":1371},{"krate":0,"index":1374},{"krate":0,"index":1375},{"krate":0,"index":1376},{"krate":0,"index":1379},{"krate":0,"index":1382},{"krate":0,"index":1383},{"krate":0,"index":1386},{"krate":0,"index":1389},{"krate":0,"index":1392},{"krate":0,"index":1395},{"krate":0,"index":1396},{"krate":0,"index":1399},{"krate":0,"index":1402},{"krate":0,"index":1403},{"krate":0,"index":1406},{"krate":0,"index":1407},{"krate":0,"index":1410},{"krate":0,"index":1413},{"krate":0,"index":1414},{"krate":0,"index":1415},{"krate":0,"index":1416},{"krate":0,"index":1418},{"krate":0,"index":1421},{"krate":0,"index":1424},{"krate":0,"index":1427},{"krate":0,"index":1428},{"krate":0,"index":1431},{"krate":0,"index":1434},{"krate":0,"index":3470},{"krate":0,"index":3472},{"krate":0,"index":3474},{"krate":0,"index":3475},{"krate":0,"index":3476},{"krate":0,"index":3478},{"krate":0,"index":3479},{"krate":0,"index":1437},{"krate":0,"index":1442},{"krate":0,"index":1444},{"krate":0,"index":1446},{"krate":0,"index":1448},{"krate":0,"index":3482},{"krate":0,"index":3483},{"krate":0,"index":3485},{"krate":0,"index":3486},{"krate":0,"index":3487},{"krate":0,"index":3489},{"krate":0,"index":3490},{"krate":0,"index":3491},{"krate":0,"index":3493}],"decl_id":null,"docs":" Stores the current unix epoch in u64.\n \n Epoch should be stored in milliseconds.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::date::NP_Date;\n \n let factory: NP_Factory = NP_Factory::new(\"date()\")?;","sig":null,"attributes":[{"value":"/ Stores the current unix epoch in u64.","span":{"file_name":"src/pointer/date.rs","byte_start":342436,"byte_end":342477,"line_start":1,"line_end":1,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342478,"byte_end":342482,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Epoch should be stored in milliseconds.","span":{"file_name":"src/pointer/date.rs","byte_start":342483,"byte_end":342526,"line_start":3,"line_end":3,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342527,"byte_end":342531,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/date.rs","byte_start":342532,"byte_end":342539,"line_start":5,"line_end":5,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/date.rs","byte_start":342540,"byte_end":342574,"line_start":6,"line_end":6,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/date.rs","byte_start":342575,"byte_end":342604,"line_start":7,"line_end":7,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/pointer/date.rs","byte_start":342605,"byte_end":342646,"line_start":8,"line_end":8,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342647,"byte_end":342651,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"date()\")?;","span":{"file_name":"src/pointer/date.rs","byte_start":342652,"byte_end":342709,"line_start":10,"line_end":10,"column_start":1,"column_end":58}},{"value":"/","span":{"file_name":"src/pointer/date.rs","byte_start":342710,"byte_end":342713,"line_start":11,"line_end":11,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/date.rs","byte_start":342714,"byte_end":342764,"line_start":12,"line_end":12,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Date::new(1604965249484))?;","span":{"file_name":"src/pointer/date.rs","byte_start":342765,"byte_end":342819,"line_start":13,"line_end":13,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342820,"byte_end":342824,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(NP_Date::new(1604965249484), new_buffer.get::(&[])?.unwrap());","span":{"file_name":"src/pointer/date.rs","byte_start":342825,"byte_end":342911,"line_start":15,"line_end":15,"column_start":1,"column_end":87}},{"value":"/","span":{"file_name":"src/pointer/date.rs","byte_start":342912,"byte_end":342915,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/date.rs","byte_start":342916,"byte_end":342945,"line_start":17,"line_end":17,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/date.rs","byte_start":342946,"byte_end":342953,"line_start":18,"line_end":18,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":342954,"byte_end":342958,"line_start":19,"line_end":19,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":3470},"span":{"file_name":"src/pointer/date.rs","byte_start":343552,"byte_end":343559,"line_start":42,"line_end":42,"column_start":12,"column_end":19},"name":"NP_Date","qualname":"::pointer::date::NP_Date","value":"NP_Date { value }","parent":null,"children":[{"krate":0,"index":3471}],"decl_id":null,"docs":" Holds Date data.\n \n Check out documentation [here](../date/index.html).\n \n","sig":null,"attributes":[{"value":"/ Holds Date data.","span":{"file_name":"src/pointer/date.rs","byte_start":343405,"byte_end":343425,"line_start":36,"line_end":36,"column_start":1,"column_end":21}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":343426,"byte_end":343430,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ Check out documentation [here](../date/index.html).","span":{"file_name":"src/pointer/date.rs","byte_start":343431,"byte_end":343486,"line_start":38,"line_end":38,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/date.rs","byte_start":343487,"byte_end":343491,"line_start":39,"line_end":39,"column_start":1,"column_end":5}},{"value":"repr(C)","span":{"file_name":"src/pointer/date.rs","byte_start":343530,"byte_end":343540,"line_start":41,"line_end":41,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3471},"span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"name":"value","qualname":"::pointer::date::NP_Date::value","value":"u64","parent":{"krate":0,"index":3470},"children":[],"decl_id":null,"docs":" The value of the date\n","sig":null,"attributes":[{"value":"/ The value of the date","span":{"file_name":"src/pointer/date.rs","byte_start":343566,"byte_end":343591,"line_start":43,"line_end":43,"column_start":5,"column_end":30}}]},{"kind":"Local","id":{"krate":0,"index":1073743263},"span":{"file_name":"src/pointer/date.rs","byte_start":343688,"byte_end":343695,"line_start":48,"line_end":48,"column_start":23,"column_end":30},"name":"_schema","qualname":"::schema_default::_schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1439},"span":{"file_name":"src/pointer/date.rs","byte_start":343673,"byte_end":343687,"line_start":48,"line_end":48,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::schema_default","value":"fn schema_default(&NP_Parsed_Schema) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1721},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743264},"span":{"file_name":"src/pointer/date.rs","byte_start":343809,"byte_end":343816,"line_start":52,"line_end":52,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_max_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872352},"span":{"file_name":"src/pointer/date.rs","byte_start":343830,"byte_end":343837,"line_start":52,"line_end":52,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_max_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1440},"span":{"file_name":"src/pointer/date.rs","byte_start":343796,"byte_end":343808,"line_start":52,"line_end":52,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::np_max_value","value":"fn np_max_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1722},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743265},"span":{"file_name":"src/pointer/date.rs","byte_start":343938,"byte_end":343945,"line_start":56,"line_end":56,"column_start":21,"column_end":28},"name":"_cursor","qualname":"::np_min_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872353},"span":{"file_name":"src/pointer/date.rs","byte_start":343959,"byte_end":343966,"line_start":56,"line_end":56,"column_start":42,"column_end":49},"name":"_memory","qualname":"::np_min_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1441},"span":{"file_name":"src/pointer/date.rs","byte_start":343925,"byte_end":343937,"line_start":56,"line_end":56,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::np_min_value","value":"fn np_min_value(&NP_Cursor, &NP_Memory) -> Option","parent":{"krate":0,"index":1719},"children":[],"decl_id":{"krate":0,"index":1723},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743267},"span":{"file_name":"src/pointer/date.rs","byte_start":344135,"byte_end":344142,"line_start":64,"line_end":64,"column_start":16,"column_end":23},"name":"time_ms","qualname":"::new::time_ms","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1443},"span":{"file_name":"src/pointer/date.rs","byte_start":344131,"byte_end":344134,"line_start":64,"line_end":64,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u64) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new date type with the given time\n","sig":null,"attributes":[{"value":"/ Create a new date type with the given time","span":{"file_name":"src/pointer/date.rs","byte_start":344073,"byte_end":344119,"line_start":63,"line_end":63,"column_start":5,"column_end":51}}]},{"kind":"Method","id":{"krate":0,"index":1445},"span":{"file_name":"src/pointer/date.rs","byte_start":344237,"byte_end":344244,"line_start":70,"line_end":70,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743271},"span":{"file_name":"src/pointer/date.rs","byte_start":344334,"byte_end":344338,"line_start":76,"line_end":76,"column_start":13,"column_end":17},"name":"self","qualname":"::fmt::self","value":"&pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872359},"span":{"file_name":"src/pointer/date.rs","byte_start":344340,"byte_end":344341,"line_start":76,"line_end":76,"column_start":19,"column_end":20},"name":"f","qualname":"::fmt::f","value":"&mut core::fmt::Formatter","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1447},"span":{"file_name":"src/pointer/date.rs","byte_start":344329,"byte_end":344332,"line_start":76,"line_end":76,"column_start":8,"column_end":11},"name":"fmt","qualname":"::fmt","value":"fn fmt(&Self, &mut Formatter) -> core::fmt::Result","parent":{"krate":1,"index":9604},"children":[],"decl_id":{"krate":1,"index":9605},"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1450},"span":{"file_name":"src/pointer/date.rs","byte_start":344485,"byte_end":344493,"line_start":85,"line_end":85,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743275},"span":{"file_name":"src/pointer/date.rs","byte_start":344580,"byte_end":344584,"line_start":86,"line_end":86,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1451},"span":{"file_name":"src/pointer/date.rs","byte_start":344565,"byte_end":344578,"line_start":86,"line_end":86,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743276},"span":{"file_name":"src/pointer/date.rs","byte_start":344671,"byte_end":344677,"line_start":88,"line_end":88,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872364},"span":{"file_name":"src/pointer/date.rs","byte_start":344703,"byte_end":344710,"line_start":88,"line_end":88,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1452},"span":{"file_name":"src/pointer/date.rs","byte_start":344656,"byte_end":344670,"line_start":88,"line_end":88,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805307820},"span":{"file_name":"src/pointer/date.rs","byte_start":344765,"byte_end":344776,"line_start":89,"line_end":89,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1452 ~ no_proto[7dec]::pointer::date::{impl#4}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069868},"span":{"file_name":"src/pointer/date.rs","byte_start":344902,"byte_end":344906,"line_start":92,"line_end":92,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1452 ~ no_proto[7dec]::pointer::date::{impl#4}::schema_to_json), local_id: 50 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743277},"span":{"file_name":"src/pointer/date.rs","byte_start":345185,"byte_end":345191,"line_start":101,"line_end":101,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872365},"span":{"file_name":"src/pointer/date.rs","byte_start":345200,"byte_end":345204,"line_start":101,"line_end":101,"column_start":37,"column_end":41},"name":"addr","qualname":"::default_value::addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614189},"span":{"file_name":"src/pointer/date.rs","byte_start":345213,"byte_end":345219,"line_start":101,"line_end":101,"column_start":50,"column_end":56},"name":"schema","qualname":"::default_value::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1453},"span":{"file_name":"src/pointer/date.rs","byte_start":345171,"byte_end":345184,"line_start":101,"line_end":101,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402654637},"span":{"file_name":"src/pointer/date.rs","byte_start":345275,"byte_end":345279,"line_start":102,"line_end":102,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1453 ~ no_proto[7dec]::pointer::date::{impl#4}::default_value), local_id: 24 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743278},"span":{"file_name":"src/pointer/date.rs","byte_start":345515,"byte_end":345521,"line_start":112,"line_end":112,"column_start":28,"column_end":34},"name":"_depth","qualname":"::set_from_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872366},"span":{"file_name":"src/pointer/date.rs","byte_start":345530,"byte_end":345541,"line_start":112,"line_end":112,"column_start":43,"column_end":54},"name":"_apply_null","qualname":"::set_from_json::_apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614190},"span":{"file_name":"src/pointer/date.rs","byte_start":345549,"byte_end":345555,"line_start":112,"line_end":112,"column_start":62,"column_end":68},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436910},"span":{"file_name":"src/pointer/date.rs","byte_start":345568,"byte_end":345574,"line_start":112,"line_end":112,"column_start":81,"column_end":87},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178734},"span":{"file_name":"src/pointer/date.rs","byte_start":345593,"byte_end":345598,"line_start":112,"line_end":112,"column_start":106,"column_end":111},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1454},"span":{"file_name":"src/pointer/date.rs","byte_start":345495,"byte_end":345508,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416686},"span":{"file_name":"src/pointer/date.rs","byte_start":345678,"byte_end":345683,"line_start":113,"line_end":113,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:1454 ~ no_proto[7dec]::pointer::date::{impl#4}::set_from_json), local_id: 44 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355444654},"span":{"file_name":"src/pointer/date.rs","byte_start":345732,"byte_end":345733,"line_start":114,"line_end":114,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1454 ~ no_proto[7dec]::pointer::date::{impl#4}::set_from_json), local_id: 19 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267374},"span":{"file_name":"src/pointer/date.rs","byte_start":345776,"byte_end":345777,"line_start":115,"line_end":115,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1454 ~ no_proto[7dec]::pointer::date::{impl#4}::set_from_json), local_id: 30 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743280},"span":{"file_name":"src/pointer/date.rs","byte_start":345933,"byte_end":345939,"line_start":124,"line_end":124,"column_start":24,"column_end":30},"name":"cursor","qualname":"::set_value::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872368},"span":{"file_name":"src/pointer/date.rs","byte_start":345952,"byte_end":345958,"line_start":124,"line_end":124,"column_start":43,"column_end":49},"name":"memory","qualname":"::set_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614192},"span":{"file_name":"src/pointer/date.rs","byte_start":345977,"byte_end":345982,"line_start":124,"line_end":124,"column_start":68,"column_end":73},"name":"value","qualname":"::set_value::value","value":"pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1456},"span":{"file_name":"src/pointer/date.rs","byte_start":345917,"byte_end":345926,"line_start":124,"line_end":124,"column_start":8,"column_end":17},"name":"set_value","qualname":"::set_value","value":"fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1733},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961008},"span":{"file_name":"src/pointer/date.rs","byte_start":346061,"byte_end":346068,"line_start":126,"line_end":126,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 18 }","value":"[closure@src/pointer/date.rs:126:23: 126:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087009200},"span":{"file_name":"src/pointer/date.rs","byte_start":346121,"byte_end":346134,"line_start":128,"line_end":128,"column_start":17,"column_end":30},"name":"value_address","qualname":"value_address$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287600},"span":{"file_name":"src/pointer/date.rs","byte_start":346250,"byte_end":346255,"line_start":131,"line_end":131,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 42 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348811696},"span":{"file_name":"src/pointer/date.rs","byte_start":346302,"byte_end":346313,"line_start":133,"line_end":133,"column_start":17,"column_end":28},"name":"write_bytes","qualname":"write_bytes$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 49 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543505328},"span":{"file_name":"src/pointer/date.rs","byte_start":346406,"byte_end":346407,"line_start":136,"line_end":136,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 58 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2516583856},"span":{"file_name":"src/pointer/date.rs","byte_start":346549,"byte_end":346554,"line_start":142,"line_end":142,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1456 ~ no_proto[7dec]::pointer::date::{impl#4}::set_value), local_id: 105 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743283},"span":{"file_name":"src/pointer/date.rs","byte_start":346797,"byte_end":346803,"line_start":150,"line_end":150,"column_start":19,"column_end":25},"name":"cursor","qualname":"::into_value::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872371},"span":{"file_name":"src/pointer/date.rs","byte_start":346817,"byte_end":346823,"line_start":150,"line_end":150,"column_start":39,"column_end":45},"name":"memory","qualname":"::into_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1459},"span":{"file_name":"src/pointer/date.rs","byte_start":346786,"byte_end":346796,"line_start":150,"line_end":150,"column_start":8,"column_end":18},"name":"into_value","qualname":"::into_value","value":"fn into_value(&NP_Cursor, &'value NP_Memory) -> Result, NP_Error>\nwhere Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1737},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219187},"span":{"file_name":"src/pointer/date.rs","byte_start":346911,"byte_end":346918,"line_start":152,"line_end":152,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1459 ~ no_proto[7dec]::pointer::date::{impl#4}::into_value), local_id: 16 }","value":"[closure@src/pointer/date.rs:152:23: 152:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880115},"span":{"file_name":"src/pointer/date.rs","byte_start":346967,"byte_end":346977,"line_start":154,"line_end":154,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1459 ~ no_proto[7dec]::pointer::date::{impl#4}::into_value), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885682611},"span":{"file_name":"src/pointer/date.rs","byte_start":347177,"byte_end":347178,"line_start":162,"line_end":162,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1459 ~ no_proto[7dec]::pointer::date::{impl#4}::into_value), local_id: 53 }","value":"&[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743285},"span":{"file_name":"src/pointer/date.rs","byte_start":347322,"byte_end":347328,"line_start":169,"line_end":169,"column_start":16,"column_end":22},"name":"_depth","qualname":"::to_json::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872373},"span":{"file_name":"src/pointer/date.rs","byte_start":347336,"byte_end":347342,"line_start":169,"line_end":169,"column_start":30,"column_end":36},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614197},"span":{"file_name":"src/pointer/date.rs","byte_start":347356,"byte_end":347362,"line_start":169,"line_end":169,"column_start":50,"column_end":56},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1461},"span":{"file_name":"src/pointer/date.rs","byte_start":347314,"byte_end":347321,"line_start":169,"line_end":169,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702837},"span":{"file_name":"src/pointer/date.rs","byte_start":347461,"byte_end":347462,"line_start":172,"line_end":172,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:1461 ~ no_proto[7dec]::pointer::date::{impl#4}::to_json), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315573},"span":{"file_name":"src/pointer/date.rs","byte_start":347520,"byte_end":347521,"line_start":174,"line_end":174,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:1461 ~ no_proto[7dec]::pointer::date::{impl#4}::to_json), local_id: 23 }","value":"pointer::date::NP_Date","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690988981},"span":{"file_name":"src/pointer/date.rs","byte_start":347666,"byte_end":347670,"line_start":178,"line_end":178,"column_start":29,"column_end":33},"name":"data","qualname":"data$HirId { owner: DefId(0:1461 ~ no_proto[7dec]::pointer::date::{impl#4}::to_json), local_id: 59 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120563637},"span":{"file_name":"src/pointer/date.rs","byte_start":348047,"byte_end":348049,"line_start":188,"line_end":188,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1461 ~ no_proto[7dec]::pointer::date::{impl#4}::to_json), local_id: 93 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743286},"span":{"file_name":"src/pointer/date.rs","byte_start":348133,"byte_end":348139,"line_start":194,"line_end":194,"column_start":17,"column_end":23},"name":"_depth","qualname":"::get_size::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872374},"span":{"file_name":"src/pointer/date.rs","byte_start":348147,"byte_end":348153,"line_start":194,"line_end":194,"column_start":31,"column_end":37},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614198},"span":{"file_name":"src/pointer/date.rs","byte_start":348167,"byte_end":348173,"line_start":194,"line_end":194,"column_start":51,"column_end":57},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1462},"span":{"file_name":"src/pointer/date.rs","byte_start":348124,"byte_end":348132,"line_start":194,"line_end":194,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961014},"span":{"file_name":"src/pointer/date.rs","byte_start":348229,"byte_end":348236,"line_start":196,"line_end":196,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1462 ~ no_proto[7dec]::pointer::date::{impl#4}::get_size), local_id: 18 }","value":"[closure@src/pointer/date.rs:196:23: 196:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743288},"span":{"file_name":"src/pointer/date.rs","byte_start":348437,"byte_end":348443,"line_start":206,"line_end":206,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872376},"span":{"file_name":"src/pointer/date.rs","byte_start":348469,"byte_end":348476,"line_start":206,"line_end":206,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1464},"span":{"file_name":"src/pointer/date.rs","byte_start":348423,"byte_end":348436,"line_start":206,"line_end":206,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744831928},"span":{"file_name":"src/pointer/date.rs","byte_start":348526,"byte_end":348530,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1464 ~ no_proto[7dec]::pointer::date::{impl#4}::schema_to_idl), local_id: 22 }","value":"&schema::NP_u64_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751032},"span":{"file_name":"src/pointer/date.rs","byte_start":348610,"byte_end":348616,"line_start":209,"line_end":209,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1464 ~ no_proto[7dec]::pointer::date::{impl#4}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743289},"span":{"file_name":"src/pointer/date.rs","byte_start":348918,"byte_end":348924,"line_start":220,"line_end":220,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872377},"span":{"file_name":"src/pointer/date.rs","byte_start":348949,"byte_end":348954,"line_start":220,"line_end":220,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614201},"span":{"file_name":"src/pointer/date.rs","byte_start":348962,"byte_end":348965,"line_start":220,"line_end":220,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436921},"span":{"file_name":"src/pointer/date.rs","byte_start":348979,"byte_end":348983,"line_start":220,"line_end":220,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1465},"span":{"file_name":"src/pointer/date.rs","byte_start":348895,"byte_end":348913,"line_start":220,"line_end":220,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702841},"span":{"file_name":"src/pointer/date.rs","byte_start":349078,"byte_end":349085,"line_start":222,"line_end":222,"column_start":17,"column_end":24},"name":"default","qualname":"default$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214593977},"span":{"file_name":"src/pointer/date.rs","byte_start":349197,"byte_end":349207,"line_start":225,"line_end":225,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 33 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723065},"span":{"file_name":"src/pointer/date.rs","byte_start":349240,"byte_end":349243,"line_start":226,"line_end":226,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206713},"span":{"file_name":"src/pointer/date.rs","byte_start":349245,"byte_end":349250,"line_start":226,"line_end":226,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859897},"span":{"file_name":"src/pointer/date.rs","byte_start":349466,"byte_end":349470,"line_start":230,"line_end":230,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 63 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060087737},"span":{"file_name":"src/pointer/date.rs","byte_start":349613,"byte_end":349614,"line_start":232,"line_end":232,"column_start":48,"column_end":49},"name":"x","qualname":"x$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 79 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046821817},"span":{"file_name":"src/pointer/date.rs","byte_start":349783,"byte_end":349785,"line_start":235,"line_end":235,"column_start":49,"column_end":51},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 94 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83887545},"span":{"file_name":"src/pointer/date.rs","byte_start":350211,"byte_end":350222,"line_start":249,"line_end":249,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 160 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599033},"span":{"file_name":"src/pointer/date.rs","byte_start":350310,"byte_end":350317,"line_start":252,"line_end":252,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 222 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218105273},"span":{"file_name":"src/pointer/date.rs","byte_start":350353,"byte_end":350354,"line_start":253,"line_end":253,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1465 ~ no_proto[7dec]::pointer::date::{impl#4}::from_idl_to_schema), local_id: 176 }","value":"u64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743290},"span":{"file_name":"src/pointer/date.rs","byte_start":350962,"byte_end":350968,"line_start":275,"line_end":275,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872378},"span":{"file_name":"src/pointer/date.rs","byte_start":350993,"byte_end":351004,"line_start":275,"line_end":275,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1466},"span":{"file_name":"src/pointer/date.rs","byte_start":350938,"byte_end":350957,"line_start":275,"line_end":275,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219194},"span":{"file_name":"src/pointer/date.rs","byte_start":351100,"byte_end":351111,"line_start":277,"line_end":277,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1466 ~ no_proto[7dec]::pointer::date::{impl#4}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241515450},"span":{"file_name":"src/pointer/date.rs","byte_start":351199,"byte_end":351206,"line_start":280,"line_end":280,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1466 ~ no_proto[7dec]::pointer::date::{impl#4}::from_json_to_schema), local_id: 82 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288335802},"span":{"file_name":"src/pointer/date.rs","byte_start":351269,"byte_end":351270,"line_start":281,"line_end":281,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1466 ~ no_proto[7dec]::pointer::date::{impl#4}::from_json_to_schema), local_id: 35 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743291},"span":{"file_name":"src/pointer/date.rs","byte_start":351876,"byte_end":351882,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872379},"span":{"file_name":"src/pointer/date.rs","byte_start":351907,"byte_end":351914,"line_start":303,"line_end":303,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614203},"span":{"file_name":"src/pointer/date.rs","byte_start":351923,"byte_end":351928,"line_start":303,"line_end":303,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1467},"span":{"file_name":"src/pointer/date.rs","byte_start":351851,"byte_end":351871,"line_start":303,"line_end":303,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219195},"span":{"file_name":"src/pointer/date.rs","byte_start":351984,"byte_end":351995,"line_start":304,"line_end":304,"column_start":13,"column_end":24},"name":"has_default","qualname":"has_default$HirId { owner: DefId(0:1467 ~ no_proto[7dec]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301991355},"span":{"file_name":"src/pointer/date.rs","byte_start":352031,"byte_end":352038,"line_start":306,"line_end":306,"column_start":13,"column_end":20},"name":"default","qualname":"default$HirId { owner: DefId(0:1467 ~ no_proto[7dec]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 72 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416699},"span":{"file_name":"src/pointer/date.rs","byte_start":352113,"byte_end":352124,"line_start":309,"line_end":309,"column_start":17,"column_end":28},"name":"bytes_slice","qualname":"bytes_slice$HirId { owner: DefId(0:1467 ~ no_proto[7dec]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 44 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275069883},"span":{"file_name":"src/pointer/date.rs","byte_start":352187,"byte_end":352196,"line_start":311,"line_end":311,"column_start":21,"column_end":30},"name":"u64_bytes","qualname":"u64_bytes$HirId { owner: DefId(0:1467 ~ no_proto[7dec]::pointer::date::{impl#4}::from_bytes_to_schema), local_id: 50 }","value":"[u8; 8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3485},"span":{"file_name":"src/pointer/date.rs","byte_start":352619,"byte_end":352639,"line_start":327,"line_end":327,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::date::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874397},"span":{"file_name":"src/pointer/date.rs","byte_start":352676,"byte_end":352682,"line_start":328,"line_end":328,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3485 ~ no_proto[7dec]::pointer::date::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753053},"span":{"file_name":"src/pointer/date.rs","byte_start":352716,"byte_end":352723,"line_start":329,"line_end":329,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3485 ~ no_proto[7dec]::pointer::date::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441629},"span":{"file_name":"src/pointer/date.rs","byte_start":352835,"byte_end":352843,"line_start":331,"line_end":331,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3485 ~ no_proto[7dec]::pointer::date::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3489},"span":{"file_name":"src/pointer/date.rs","byte_start":353002,"byte_end":353021,"line_start":338,"line_end":338,"column_start":4,"column_end":23},"name":"default_value_works","qualname":"::pointer::date::default_value_works","value":"fn default_value_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874401},"span":{"file_name":"src/pointer/date.rs","byte_start":353058,"byte_end":353064,"line_start":339,"line_end":339,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3489 ~ no_proto[7dec]::pointer::date::default_value_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753057},"span":{"file_name":"src/pointer/date.rs","byte_start":353124,"byte_end":353131,"line_start":340,"line_end":340,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3489 ~ no_proto[7dec]::pointer::date::default_value_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547809},"span":{"file_name":"src/pointer/date.rs","byte_start":353180,"byte_end":353186,"line_start":341,"line_end":341,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3489 ~ no_proto[7dec]::pointer::date::default_value_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3640659361},"span":{"file_name":"src/pointer/date.rs","byte_start":353306,"byte_end":353314,"line_start":343,"line_end":343,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3489 ~ no_proto[7dec]::pointer::date::default_value_works#1), local_id: 155 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3493},"span":{"file_name":"src/pointer/date.rs","byte_start":353469,"byte_end":353505,"line_start":350,"line_end":350,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::date::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874405},"span":{"file_name":"src/pointer/date.rs","byte_start":353542,"byte_end":353548,"line_start":351,"line_end":351,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3493 ~ no_proto[7dec]::pointer::date::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753061},"span":{"file_name":"src/pointer/date.rs","byte_start":353582,"byte_end":353589,"line_start":352,"line_end":352,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3493 ~ no_proto[7dec]::pointer::date::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547813},"span":{"file_name":"src/pointer/date.rs","byte_start":353642,"byte_end":353648,"line_start":353,"line_end":353,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3493 ~ no_proto[7dec]::pointer::date::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1468},"span":{"file_name":"src/pointer/portal.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"portal","qualname":"::pointer::portal","value":"src/pointer/portal.rs","parent":null,"children":[{"krate":0,"index":1469},{"krate":0,"index":1470},{"krate":0,"index":1471},{"krate":0,"index":1474},{"krate":0,"index":1477},{"krate":0,"index":1480},{"krate":0,"index":1481},{"krate":0,"index":1484},{"krate":0,"index":1487},{"krate":0,"index":1490},{"krate":0,"index":1491},{"krate":0,"index":1494},{"krate":0,"index":1497},{"krate":0,"index":1498},{"krate":0,"index":1501},{"krate":0,"index":1504},{"krate":0,"index":1505},{"krate":0,"index":1508},{"krate":0,"index":1509},{"krate":0,"index":1512},{"krate":0,"index":1515},{"krate":0,"index":1518},{"krate":0,"index":1521},{"krate":0,"index":1524},{"krate":0,"index":1527},{"krate":0,"index":1528},{"krate":0,"index":1531},{"krate":0,"index":1533},{"krate":0,"index":3494},{"krate":0,"index":3495},{"krate":0,"index":3497},{"krate":0,"index":3498},{"krate":0,"index":3499},{"krate":0,"index":3501},{"krate":0,"index":3502},{"krate":0,"index":3503},{"krate":0,"index":3505}],"decl_id":null,"docs":" Clone type for recursion or duplicating data types.\n \n Portal types allow you to teleport a type from one part of a schema to another.\n \n This is useful for recursive types or if you'd like one type to be duplicated into multiple fields.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n // use portal to duplicate type\n let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {\n point1: struct({fields: { x: i32(), y: i32() }}),\n point2: portal({ to: \"point1\" }) // point2 is a \"clone\" of point1\n }})\"#)?;","sig":null,"attributes":[{"value":"/ Clone type for recursion or duplicating data types.","span":{"file_name":"src/pointer/portal.rs","byte_start":353984,"byte_end":354039,"line_start":1,"line_end":1,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354040,"byte_end":354044,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Portal types allow you to teleport a type from one part of a schema to another.","span":{"file_name":"src/pointer/portal.rs","byte_start":354045,"byte_end":354128,"line_start":3,"line_end":3,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354129,"byte_end":354133,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ This is useful for recursive types or if you'd like one type to be duplicated into multiple fields.","span":{"file_name":"src/pointer/portal.rs","byte_start":354134,"byte_end":354237,"line_start":5,"line_end":5,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354238,"byte_end":354242,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/pointer/portal.rs","byte_start":354243,"byte_end":354250,"line_start":7,"line_end":7,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/pointer/portal.rs","byte_start":354251,"byte_end":354285,"line_start":8,"line_end":8,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/pointer/portal.rs","byte_start":354286,"byte_end":354315,"line_start":9,"line_end":9,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354316,"byte_end":354320,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ // use portal to duplicate type","span":{"file_name":"src/pointer/portal.rs","byte_start":354321,"byte_end":354356,"line_start":11,"line_end":11,"column_start":1,"column_end":36}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {","span":{"file_name":"src/pointer/portal.rs","byte_start":354357,"byte_end":354423,"line_start":12,"line_end":12,"column_start":1,"column_end":67}},{"value":"/ point1: struct({fields: { x: i32(), y: i32() }}),","span":{"file_name":"src/pointer/portal.rs","byte_start":354424,"byte_end":354481,"line_start":13,"line_end":13,"column_start":1,"column_end":58}},{"value":"/ point2: portal({ to: \"point1\" }) // point2 is a \"clone\" of point1","span":{"file_name":"src/pointer/portal.rs","byte_start":354482,"byte_end":354555,"line_start":14,"line_end":14,"column_start":1,"column_end":74}},{"value":"/ }})\"#)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354556,"byte_end":354568,"line_start":15,"line_end":15,"column_start":1,"column_end":13}},{"value":"/","span":{"file_name":"src/pointer/portal.rs","byte_start":354569,"byte_end":354572,"line_start":16,"line_end":16,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/portal.rs","byte_start":354573,"byte_end":354623,"line_start":17,"line_end":17,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"point1\", \"x\"], 200i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354624,"byte_end":354670,"line_start":18,"line_end":18,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"point1\", \"y\"], 100i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354671,"byte_end":354717,"line_start":19,"line_end":19,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354718,"byte_end":354722,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ // point2 can be treated just like point1","span":{"file_name":"src/pointer/portal.rs","byte_start":354723,"byte_end":354768,"line_start":21,"line_end":21,"column_start":1,"column_end":46}},{"value":"/ new_buffer.set(&[\"point2\", \"x\"], 250i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354769,"byte_end":354815,"line_start":22,"line_end":22,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"point2\", \"y\"], 150i32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":354816,"byte_end":354862,"line_start":23,"line_end":23,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":354863,"byte_end":354867,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point1\", \"x\"])?, Some(200i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":354868,"byte_end":354939,"line_start":25,"line_end":25,"column_start":1,"column_end":72}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point1\", \"y\"])?, Some(100i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":354940,"byte_end":355011,"line_start":26,"line_end":26,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355012,"byte_end":355016,"line_start":27,"line_end":27,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point2\", \"x\"])?, Some(250i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":355017,"byte_end":355088,"line_start":28,"line_end":28,"column_start":1,"column_end":72}},{"value":"/ assert_eq!(new_buffer.get::(&[\"point2\", \"y\"])?, Some(150i32));","span":{"file_name":"src/pointer/portal.rs","byte_start":355089,"byte_end":355160,"line_start":29,"line_end":29,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355161,"byte_end":355165,"line_start":30,"line_end":30,"column_start":1,"column_end":5}},{"value":"/ // use portal for recursive type","span":{"file_name":"src/pointer/portal.rs","byte_start":355166,"byte_end":355202,"line_start":31,"line_end":31,"column_start":1,"column_end":37}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"struct({fields: {","span":{"file_name":"src/pointer/portal.rs","byte_start":355203,"byte_end":355269,"line_start":32,"line_end":32,"column_start":1,"column_end":67}},{"value":"/ node: u32(),","span":{"file_name":"src/pointer/portal.rs","byte_start":355270,"byte_end":355290,"line_start":33,"line_end":33,"column_start":1,"column_end":21}},{"value":"/ child: portal({ to: \"\" }) // child is a clone of the root object","span":{"file_name":"src/pointer/portal.rs","byte_start":355291,"byte_end":355363,"line_start":34,"line_end":34,"column_start":1,"column_end":73}},{"value":"/ }})\"#)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355364,"byte_end":355376,"line_start":35,"line_end":35,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355377,"byte_end":355381,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/pointer/portal.rs","byte_start":355382,"byte_end":355432,"line_start":37,"line_end":37,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"node\"], 1u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355433,"byte_end":355470,"line_start":38,"line_end":38,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[\"child\", \"node\"], 2u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355471,"byte_end":355517,"line_start":39,"line_end":39,"column_start":1,"column_end":47}},{"value":"/ new_buffer.set(&[\"child\", \"child\", \"node\"], 3u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355518,"byte_end":355573,"line_start":40,"line_end":40,"column_start":1,"column_end":56}},{"value":"/ new_buffer.set(&[\"child\", \"child\", \"child\", \"node\"], 4u32)?;","span":{"file_name":"src/pointer/portal.rs","byte_start":355574,"byte_end":355638,"line_start":41,"line_end":41,"column_start":1,"column_end":65}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355639,"byte_end":355643,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(Some(1u32), new_buffer.get(&[\"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355644,"byte_end":355699,"line_start":43,"line_end":43,"column_start":1,"column_end":56}},{"value":"/ assert_eq!(Some(2u32), new_buffer.get(&[\"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355700,"byte_end":355764,"line_start":44,"line_end":44,"column_start":1,"column_end":65}},{"value":"/ assert_eq!(Some(3u32), new_buffer.get(&[\"child\", \"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355765,"byte_end":355838,"line_start":45,"line_end":45,"column_start":1,"column_end":74}},{"value":"/ assert_eq!(Some(4u32), new_buffer.get(&[\"child\", \"child\", \"child\", \"node\"])?);","span":{"file_name":"src/pointer/portal.rs","byte_start":355839,"byte_end":355921,"line_start":46,"line_end":46,"column_start":1,"column_end":83}},{"value":"/","span":{"file_name":"src/pointer/portal.rs","byte_start":355922,"byte_end":355925,"line_start":47,"line_end":47,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/pointer/portal.rs","byte_start":355926,"byte_end":355955,"line_start":48,"line_end":48,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/pointer/portal.rs","byte_start":355956,"byte_end":355963,"line_start":49,"line_end":49,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355964,"byte_end":355968,"line_start":50,"line_end":50,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355969,"byte_end":355973,"line_start":51,"line_end":51,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/pointer/portal.rs","byte_start":355974,"byte_end":355978,"line_start":52,"line_end":52,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":1531},"span":{"file_name":"src/pointer/portal.rs","byte_start":356450,"byte_end":356459,"line_start":70,"line_end":70,"column_start":12,"column_end":21},"name":"NP_Portal","qualname":"::pointer::portal::NP_Portal","value":"","parent":null,"children":[],"decl_id":null,"docs":" Defines the behavior of the portal data type\n","sig":null,"attributes":[{"value":"/ Defines the behavior of the portal data type","span":{"file_name":"src/pointer/portal.rs","byte_start":356390,"byte_end":356438,"line_start":69,"line_end":69,"column_start":1,"column_end":49}}]},{"kind":"Method","id":{"krate":0,"index":1535},"span":{"file_name":"src/pointer/portal.rs","byte_start":356518,"byte_end":356526,"line_start":74,"line_end":74,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743360},"span":{"file_name":"src/pointer/portal.rs","byte_start":356630,"byte_end":356634,"line_start":78,"line_end":78,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&pointer::portal::NP_Portal","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1536},"span":{"file_name":"src/pointer/portal.rs","byte_start":356615,"byte_end":356628,"line_start":78,"line_end":78,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743361},"span":{"file_name":"src/pointer/portal.rs","byte_start":356737,"byte_end":356743,"line_start":82,"line_end":82,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872449},"span":{"file_name":"src/pointer/portal.rs","byte_start":356769,"byte_end":356776,"line_start":82,"line_end":82,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1537},"span":{"file_name":"src/pointer/portal.rs","byte_start":356722,"byte_end":356736,"line_start":82,"line_end":82,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791553},"span":{"file_name":"src/pointer/portal.rs","byte_start":356827,"byte_end":356833,"line_start":83,"line_end":83,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1537 ~ no_proto[7dec]::pointer::portal::{impl#0}::schema_to_json), local_id: 13 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939525633},"span":{"file_name":"src/pointer/portal.rs","byte_start":356867,"byte_end":356871,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1537 ~ no_proto[7dec]::pointer::portal::{impl#0}::schema_to_json), local_id: 28 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603981313},"span":{"file_name":"src/pointer/portal.rs","byte_start":356945,"byte_end":356956,"line_start":87,"line_end":87,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1537 ~ no_proto[7dec]::pointer::portal::{impl#0}::schema_to_json), local_id: 36 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743362},"span":{"file_name":"src/pointer/portal.rs","byte_start":357308,"byte_end":357314,"line_start":102,"line_end":102,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872450},"span":{"file_name":"src/pointer/portal.rs","byte_start":357340,"byte_end":357347,"line_start":102,"line_end":102,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1538},"span":{"file_name":"src/pointer/portal.rs","byte_start":357294,"byte_end":357307,"line_start":102,"line_end":102,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832002},"span":{"file_name":"src/pointer/portal.rs","byte_start":357398,"byte_end":357402,"line_start":104,"line_end":104,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1538 ~ no_proto[7dec]::pointer::portal::{impl#0}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751106},"span":{"file_name":"src/pointer/portal.rs","byte_start":357485,"byte_end":357491,"line_start":106,"line_end":106,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1538 ~ no_proto[7dec]::pointer::portal::{impl#0}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743363},"span":{"file_name":"src/pointer/portal.rs","byte_start":357669,"byte_end":357675,"line_start":113,"line_end":113,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872451},"span":{"file_name":"src/pointer/portal.rs","byte_start":357700,"byte_end":357705,"line_start":113,"line_end":113,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614275},"span":{"file_name":"src/pointer/portal.rs","byte_start":357713,"byte_end":357716,"line_start":113,"line_end":113,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268436995},"span":{"file_name":"src/pointer/portal.rs","byte_start":357730,"byte_end":357734,"line_start":113,"line_end":113,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1539},"span":{"file_name":"src/pointer/portal.rs","byte_start":357646,"byte_end":357664,"line_start":113,"line_end":113,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281702915},"span":{"file_name":"src/pointer/portal.rs","byte_start":357829,"byte_end":357831,"line_start":115,"line_end":115,"column_start":17,"column_end":19},"name":"to","qualname":"to$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 17 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594051},"span":{"file_name":"src/pointer/portal.rs","byte_start":357946,"byte_end":357956,"line_start":118,"line_end":118,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 33 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723139},"span":{"file_name":"src/pointer/portal.rs","byte_start":357989,"byte_end":357992,"line_start":119,"line_end":119,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 38 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825206787},"span":{"file_name":"src/pointer/portal.rs","byte_start":357994,"byte_end":357999,"line_start":119,"line_end":119,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 39 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227859971},"span":{"file_name":"src/pointer/portal.rs","byte_start":358210,"byte_end":358214,"line_start":123,"line_end":123,"column_start":54,"column_end":58},"name":"addr","qualname":"addr$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 63 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298480131},"span":{"file_name":"src/pointer/portal.rs","byte_start":358669,"byte_end":358679,"line_start":138,"line_end":138,"column_start":21,"column_end":31},"name":"schema_vec","qualname":"schema_vec$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 145 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776387},"span":{"file_name":"src/pointer/portal.rs","byte_start":359089,"byte_end":359099,"line_start":146,"line_end":146,"column_start":17,"column_end":27},"name":"path_bytes","qualname":"path_bytes$HirId { owner: DefId(0:1539 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_idl_to_schema), local_id: 211 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743364},"span":{"file_name":"src/pointer/portal.rs","byte_start":359435,"byte_end":359441,"line_start":156,"line_end":156,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872452},"span":{"file_name":"src/pointer/portal.rs","byte_start":359466,"byte_end":359477,"line_start":156,"line_end":156,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1540},"span":{"file_name":"src/pointer/portal.rs","byte_start":359411,"byte_end":359430,"line_start":156,"line_end":156,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219268},"span":{"file_name":"src/pointer/portal.rs","byte_start":359572,"byte_end":359582,"line_start":157,"line_end":157,"column_start":17,"column_end":27},"name":"schema_vec","qualname":"schema_vec$HirId { owner: DefId(0:1540 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288335876},"span":{"file_name":"src/pointer/portal.rs","byte_start":359721,"byte_end":359725,"line_start":160,"line_end":160,"column_start":29,"column_end":33},"name":"path","qualname":"path$HirId { owner: DefId(0:1540 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 35 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080068},"span":{"file_name":"src/pointer/portal.rs","byte_start":360090,"byte_end":360100,"line_start":167,"line_end":167,"column_start":21,"column_end":31},"name":"path_bytes","qualname":"path_bytes$HirId { owner: DefId(0:1540 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_json_to_schema), local_id: 92 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743365},"span":{"file_name":"src/pointer/portal.rs","byte_start":360439,"byte_end":360445,"line_start":177,"line_end":177,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872453},"span":{"file_name":"src/pointer/portal.rs","byte_start":360470,"byte_end":360477,"line_start":177,"line_end":177,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614277},"span":{"file_name":"src/pointer/portal.rs","byte_start":360486,"byte_end":360491,"line_start":177,"line_end":177,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1541},"span":{"file_name":"src/pointer/portal.rs","byte_start":360414,"byte_end":360434,"line_start":177,"line_end":177,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872416773},"span":{"file_name":"src/pointer/portal.rs","byte_start":360547,"byte_end":360556,"line_start":178,"line_end":178,"column_start":13,"column_end":22},"name":"path_size","qualname":"path_size$HirId { owner: DefId(0:1541 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 44 }","value":"[u8; 2]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247237},"span":{"file_name":"src/pointer/portal.rs","byte_start":360664,"byte_end":360673,"line_start":180,"line_end":180,"column_start":13,"column_end":22},"name":"path_size","qualname":"path_size$HirId { owner: DefId(0:1541 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604165},"span":{"file_name":"src/pointer/portal.rs","byte_start":360729,"byte_end":360733,"line_start":182,"line_end":182,"column_start":13,"column_end":17},"name":"path","qualname":"path$HirId { owner: DefId(0:1541 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 78 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509950981},"span":{"file_name":"src/pointer/portal.rs","byte_start":360793,"byte_end":360801,"line_start":184,"line_end":184,"column_start":13,"column_end":21},"name":"path_str","qualname":"path_str$HirId { owner: DefId(0:1541 ~ no_proto[7dec]::pointer::portal::{impl#0}::from_bytes_to_schema), local_id: 90 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743368},"span":{"file_name":"src/pointer/portal.rs","byte_start":361207,"byte_end":361213,"line_start":196,"line_end":196,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872456},"span":{"file_name":"src/pointer/portal.rs","byte_start":361222,"byte_end":361234,"line_start":196,"line_end":196,"column_start":37,"column_end":49},"name":"_schema_addr","qualname":"::default_value::_schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614280},"span":{"file_name":"src/pointer/portal.rs","byte_start":361243,"byte_end":361251,"line_start":196,"line_end":196,"column_start":58,"column_end":66},"name":"_schemas","qualname":"::default_value::_schemas","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1544},"span":{"file_name":"src/pointer/portal.rs","byte_start":361193,"byte_end":361206,"line_start":196,"line_end":196,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743369},"span":{"file_name":"src/pointer/portal.rs","byte_start":361330,"byte_end":361335,"line_start":200,"line_end":200,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872457},"span":{"file_name":"src/pointer/portal.rs","byte_start":361343,"byte_end":361349,"line_start":200,"line_end":200,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614281},"span":{"file_name":"src/pointer/portal.rs","byte_start":361363,"byte_end":361369,"line_start":200,"line_end":200,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1545},"span":{"file_name":"src/pointer/portal.rs","byte_start":361322,"byte_end":361329,"line_start":200,"line_end":200,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396553},"span":{"file_name":"src/pointer/portal.rs","byte_start":361415,"byte_end":361419,"line_start":201,"line_end":201,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1545 ~ no_proto[7dec]::pointer::portal::{impl#0}::to_json), local_id: 26 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594057},"span":{"file_name":"src/pointer/portal.rs","byte_start":361524,"byte_end":361528,"line_start":203,"line_end":203,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1545 ~ no_proto[7dec]::pointer::portal::{impl#0}::to_json), local_id: 33 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743370},"span":{"file_name":"src/pointer/portal.rs","byte_start":361732,"byte_end":361737,"line_start":209,"line_end":209,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872458},"span":{"file_name":"src/pointer/portal.rs","byte_start":361746,"byte_end":361756,"line_start":209,"line_end":209,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614282},"span":{"file_name":"src/pointer/portal.rs","byte_start":361764,"byte_end":361770,"line_start":209,"line_end":209,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437002},"span":{"file_name":"src/pointer/portal.rs","byte_start":361783,"byte_end":361789,"line_start":209,"line_end":209,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178826},"span":{"file_name":"src/pointer/portal.rs","byte_start":361808,"byte_end":361813,"line_start":209,"line_end":209,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1546},"span":{"file_name":"src/pointer/portal.rs","byte_start":361712,"byte_end":361725,"line_start":209,"line_end":209,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267466},"span":{"file_name":"src/pointer/portal.rs","byte_start":361902,"byte_end":361906,"line_start":211,"line_end":211,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1546 ~ no_proto[7dec]::pointer::portal::{impl#0}::set_from_json), local_id: 30 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751464970},"span":{"file_name":"src/pointer/portal.rs","byte_start":362011,"byte_end":362015,"line_start":213,"line_end":213,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1546 ~ no_proto[7dec]::pointer::portal::{impl#0}::set_from_json), local_id: 37 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743372},"span":{"file_name":"src/pointer/portal.rs","byte_start":362236,"byte_end":362241,"line_start":220,"line_end":220,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872460},"span":{"file_name":"src/pointer/portal.rs","byte_start":362249,"byte_end":362255,"line_start":220,"line_end":220,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614284},"span":{"file_name":"src/pointer/portal.rs","byte_start":362276,"byte_end":362282,"line_start":220,"line_end":220,"column_start":57,"column_end":63},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1548},"span":{"file_name":"src/pointer/portal.rs","byte_start":362227,"byte_end":362235,"line_start":220,"line_end":220,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &'value NP_Cursor, &'value NP_Memory)\n-> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396556},"span":{"file_name":"src/pointer/portal.rs","byte_start":362344,"byte_end":362348,"line_start":221,"line_end":221,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1548 ~ no_proto[7dec]::pointer::portal::{impl#0}::get_size), local_id: 26 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214594060},"span":{"file_name":"src/pointer/portal.rs","byte_start":362452,"byte_end":362456,"line_start":222,"line_end":222,"column_start":17,"column_end":21},"name":"next","qualname":"next$HirId { owner: DefId(0:1548 ~ no_proto[7dec]::pointer::portal::{impl#0}::get_size), local_id: 33 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743373},"span":{"file_name":"src/pointer/portal.rs","byte_start":362659,"byte_end":362664,"line_start":229,"line_end":229,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872461},"span":{"file_name":"src/pointer/portal.rs","byte_start":362676,"byte_end":362687,"line_start":229,"line_end":229,"column_start":36,"column_end":47},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614285},"span":{"file_name":"src/pointer/portal.rs","byte_start":362700,"byte_end":362711,"line_start":229,"line_end":229,"column_start":60,"column_end":71},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437005},"span":{"file_name":"src/pointer/portal.rs","byte_start":362736,"byte_end":362745,"line_start":229,"line_end":229,"column_start":96,"column_end":105},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178829},"span":{"file_name":"src/pointer/portal.rs","byte_start":362758,"byte_end":362767,"line_start":229,"line_end":229,"column_start":118,"column_end":127},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1549},"span":{"file_name":"src/pointer/portal.rs","byte_start":362648,"byte_end":362658,"line_start":229,"line_end":229,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267469},"span":{"file_name":"src/pointer/portal.rs","byte_start":362869,"byte_end":362873,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1549 ~ no_proto[7dec]::pointer::portal::{impl#0}::do_compact), local_id: 30 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3497},"span":{"file_name":"src/pointer/portal.rs","byte_start":363301,"byte_end":363321,"line_start":245,"line_end":245,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::pointer::portal::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874409},"span":{"file_name":"src/pointer/portal.rs","byte_start":363359,"byte_end":363365,"line_start":247,"line_end":247,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3497 ~ no_proto[7dec]::pointer::portal::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753065},"span":{"file_name":"src/pointer/portal.rs","byte_start":363413,"byte_end":363420,"line_start":248,"line_end":248,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3497 ~ no_proto[7dec]::pointer::portal::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441641},"span":{"file_name":"src/pointer/portal.rs","byte_start":363532,"byte_end":363540,"line_start":250,"line_end":250,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3497 ~ no_proto[7dec]::pointer::portal::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3501},"span":{"file_name":"src/pointer/portal.rs","byte_start":363696,"byte_end":363714,"line_start":258,"line_end":258,"column_start":4,"column_end":22},"name":"infinite_recursion","qualname":"::pointer::portal::infinite_recursion","value":"fn infinite_recursion() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874413},"span":{"file_name":"src/pointer/portal.rs","byte_start":363751,"byte_end":363757,"line_start":259,"line_end":259,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753069},"span":{"file_name":"src/pointer/portal.rs","byte_start":363985,"byte_end":363992,"line_start":267,"line_end":267,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547821},"span":{"file_name":"src/pointer/portal.rs","byte_start":364045,"byte_end":364051,"line_start":268,"line_end":268,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738201005},"span":{"file_name":"src/pointer/portal.rs","byte_start":364165,"byte_end":364170,"line_start":271,"line_end":271,"column_start":12,"column_end":17},"name":"_done","qualname":"_done$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 52 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107299757},"span":{"file_name":"src/pointer/portal.rs","byte_start":364221,"byte_end":364223,"line_start":274,"line_end":274,"column_start":13,"column_end":15},"name":"_e","qualname":"_e$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 66 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925872045},"span":{"file_name":"src/pointer/portal.rs","byte_start":364396,"byte_end":364401,"line_start":280,"line_end":280,"column_start":12,"column_end":17},"name":"_done","qualname":"_done$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 87 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785021357},"span":{"file_name":"src/pointer/portal.rs","byte_start":364452,"byte_end":364454,"line_start":283,"line_end":283,"column_start":13,"column_end":15},"name":"_e","qualname":"_e$HirId { owner: DefId(0:3501 ~ no_proto[7dec]::pointer::portal::infinite_recursion#1), local_id: 101 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3505},"span":{"file_name":"src/pointer/portal.rs","byte_start":364578,"byte_end":364614,"line_start":292,"line_end":292,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::pointer::portal::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874417},"span":{"file_name":"src/pointer/portal.rs","byte_start":364651,"byte_end":364657,"line_start":293,"line_end":293,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753073},"span":{"file_name":"src/pointer/portal.rs","byte_start":364879,"byte_end":364886,"line_start":301,"line_end":301,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547825},"span":{"file_name":"src/pointer/portal.rs","byte_start":364939,"byte_end":364945,"line_start":302,"line_end":302,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4039118257},"span":{"file_name":"src/pointer/portal.rs","byte_start":365938,"byte_end":365944,"line_start":322,"line_end":322,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 783 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1421872561},"span":{"file_name":"src/pointer/portal.rs","byte_start":366343,"byte_end":366350,"line_start":334,"line_end":334,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 810 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3435138481},"span":{"file_name":"src/pointer/portal.rs","byte_start":366403,"byte_end":366409,"line_start":335,"line_end":335,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3505 ~ no_proto[7dec]::pointer::portal::set_clear_value_and_compaction_works#1), local_id: 819 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3506},"span":{"file_name":"src/pointer/mod.rs","byte_start":58168,"byte_end":58185,"line_start":46,"line_end":46,"column_start":12,"column_end":29},"name":"NP_Pointer_Scalar","qualname":"::pointer::NP_Pointer_Scalar","value":"NP_Pointer_Scalar { addr_value }","parent":null,"children":[{"krate":0,"index":3507}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58146,"byte_end":58156,"line_start":45,"line_end":45,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3507},"span":{"file_name":"src/pointer/mod.rs","byte_start":58196,"byte_end":58206,"line_start":47,"line_end":47,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_Scalar::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3506},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1646},"span":{"file_name":"src/pointer/mod.rs","byte_start":58263,"byte_end":58270,"line_start":51,"line_end":51,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3515},"span":{"file_name":"src/pointer/mod.rs","byte_start":58382,"byte_end":58402,"line_start":59,"line_end":59,"column_start":12,"column_end":32},"name":"NP_Pointer_List_Item","qualname":"::pointer::NP_Pointer_List_Item","value":"NP_Pointer_List_Item { addr_value, next_value, index }","parent":null,"children":[{"krate":0,"index":3516},{"krate":0,"index":3518},{"krate":0,"index":3520}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58360,"byte_end":58370,"line_start":58,"line_end":58,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3516},"span":{"file_name":"src/pointer/mod.rs","byte_start":58413,"byte_end":58423,"line_start":60,"line_end":60,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_List_Item::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3518},"span":{"file_name":"src/pointer/mod.rs","byte_start":58442,"byte_end":58452,"line_start":61,"line_end":61,"column_start":9,"column_end":19},"name":"next_value","qualname":"::pointer::NP_Pointer_List_Item::next_value","value":"[u8; 4]","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3520},"span":{"file_name":"src/pointer/mod.rs","byte_start":58471,"byte_end":58476,"line_start":62,"line_end":62,"column_start":9,"column_end":14},"name":"index","qualname":"::pointer::NP_Pointer_List_Item::index","value":"[u8; 2]","parent":{"krate":0,"index":3515},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3524},"span":{"file_name":"src/pointer/mod.rs","byte_start":58543,"byte_end":58562,"line_start":68,"line_end":68,"column_start":12,"column_end":31},"name":"NP_Pointer_Map_Item","qualname":"::pointer::NP_Pointer_Map_Item","value":"NP_Pointer_Map_Item { addr_value, next_value, key_addr }","parent":null,"children":[{"krate":0,"index":3525},{"krate":0,"index":3527},{"krate":0,"index":3529}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":58521,"byte_end":58531,"line_start":67,"line_end":67,"column_start":1,"column_end":11}}]},{"kind":"Field","id":{"krate":0,"index":3525},"span":{"file_name":"src/pointer/mod.rs","byte_start":58573,"byte_end":58583,"line_start":69,"line_end":69,"column_start":9,"column_end":19},"name":"addr_value","qualname":"::pointer::NP_Pointer_Map_Item::addr_value","value":"[u8; 4]","parent":{"krate":0,"index":3524},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3527},"span":{"file_name":"src/pointer/mod.rs","byte_start":58602,"byte_end":58612,"line_start":70,"line_end":70,"column_start":9,"column_end":19},"name":"next_value","qualname":"::pointer::NP_Pointer_Map_Item::next_value","value":"[u8; 4]","parent":{"krate":0,"index":3524},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3529},"span":{"file_name":"src/pointer/mod.rs","byte_start":58631,"byte_end":58639,"line_start":71,"line_end":71,"column_start":9,"column_end":17},"name":"key_addr","qualname":"::pointer::NP_Pointer_Map_Item::key_addr","value":"[u8; 4]","parent":{"krate":0,"index":3524},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Trait","id":{"krate":0,"index":1648},"span":{"file_name":"src/pointer/mod.rs","byte_start":58718,"byte_end":58734,"line_start":76,"line_end":76,"column_start":11,"column_end":27},"name":"NP_Pointer_Bytes","qualname":"::pointer::NP_Pointer_Bytes","value":"NP_Pointer_Bytes","parent":null,"children":[{"krate":0,"index":1649},{"krate":0,"index":1650},{"krate":0,"index":1651},{"krate":0,"index":1652},{"krate":0,"index":1653},{"krate":0,"index":1654},{"krate":0,"index":1655},{"krate":0,"index":1656},{"krate":0,"index":1657},{"krate":0,"index":1658},{"krate":0,"index":1659},{"krate":0,"index":1660},{"krate":0,"index":1662}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs, unused_variables)","span":{"file_name":"src/pointer/mod.rs","byte_start":58667,"byte_end":58707,"line_start":75,"line_end":75,"column_start":1,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073743473},"span":{"file_name":"src/pointer/mod.rs","byte_start":58754,"byte_end":58758,"line_start":77,"line_end":77,"column_start":18,"column_end":22},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_type::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1649},"span":{"file_name":"src/pointer/mod.rs","byte_start":58744,"byte_end":58752,"line_start":77,"line_end":77,"column_start":8,"column_end":16},"name":"get_type","qualname":"::pointer::NP_Pointer_Bytes::get_type","value":"pub fn get_type(&Self) -> &str","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743474},"span":{"file_name":"src/pointer/mod.rs","byte_start":58834,"byte_end":58838,"line_start":78,"line_end":78,"column_start":24,"column_end":28},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_addr_value::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1650},"span":{"file_name":"src/pointer/mod.rs","byte_start":58818,"byte_end":58832,"line_start":78,"line_end":78,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::pointer::NP_Pointer_Bytes::get_addr_value","value":"pub fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743475},"span":{"file_name":"src/pointer/mod.rs","byte_start":58911,"byte_end":58915,"line_start":79,"line_end":79,"column_start":28,"column_end":32},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872563},"span":{"file_name":"src/pointer/mod.rs","byte_start":58917,"byte_end":58921,"line_start":79,"line_end":79,"column_start":34,"column_end":38},"name":"addr","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1651},"span":{"file_name":"src/pointer/mod.rs","byte_start":58891,"byte_end":58905,"line_start":79,"line_end":79,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::pointer::NP_Pointer_Bytes::set_addr_value","value":"pub fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743476},"span":{"file_name":"src/pointer/mod.rs","byte_start":58979,"byte_end":58983,"line_start":80,"line_end":80,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_next_addr::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1652},"span":{"file_name":"src/pointer/mod.rs","byte_start":58964,"byte_end":58977,"line_start":80,"line_end":80,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::pointer::NP_Pointer_Bytes::get_next_addr","value":"pub fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743477},"span":{"file_name":"src/pointer/mod.rs","byte_start":59056,"byte_end":59060,"line_start":81,"line_end":81,"column_start":27,"column_end":31},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872565},"span":{"file_name":"src/pointer/mod.rs","byte_start":59062,"byte_end":59066,"line_start":81,"line_end":81,"column_start":33,"column_end":37},"name":"addr","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1653},"span":{"file_name":"src/pointer/mod.rs","byte_start":59037,"byte_end":59050,"line_start":81,"line_end":81,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::pointer::NP_Pointer_Bytes::set_next_addr","value":"pub fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743478},"span":{"file_name":"src/pointer/mod.rs","byte_start":59125,"byte_end":59129,"line_start":82,"line_end":82,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_index::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872566},"span":{"file_name":"src/pointer/mod.rs","byte_start":59131,"byte_end":59136,"line_start":82,"line_end":82,"column_start":29,"column_end":34},"name":"index","qualname":"::pointer::NP_Pointer_Bytes::set_index::index","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1654},"span":{"file_name":"src/pointer/mod.rs","byte_start":59110,"byte_end":59119,"line_start":82,"line_end":82,"column_start":8,"column_end":17},"name":"set_index","qualname":"::pointer::NP_Pointer_Bytes::set_index","value":"pub fn set_index(&mut Self, u16)","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743479},"span":{"file_name":"src/pointer/mod.rs","byte_start":59194,"byte_end":59198,"line_start":83,"line_end":83,"column_start":19,"column_end":23},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_index::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1655},"span":{"file_name":"src/pointer/mod.rs","byte_start":59183,"byte_end":59192,"line_start":83,"line_end":83,"column_start":8,"column_end":17},"name":"get_index","qualname":"::pointer::NP_Pointer_Bytes::get_index","value":"pub fn get_index(&Self) -> u16","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743480},"span":{"file_name":"src/pointer/mod.rs","byte_start":59274,"byte_end":59278,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872568},"span":{"file_name":"src/pointer/mod.rs","byte_start":59280,"byte_end":59284,"line_start":84,"line_end":84,"column_start":32,"column_end":36},"name":"hash","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr::hash","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1656},"span":{"file_name":"src/pointer/mod.rs","byte_start":59256,"byte_end":59268,"line_start":84,"line_end":84,"column_start":8,"column_end":20},"name":"set_key_addr","qualname":"::pointer::NP_Pointer_Bytes::set_key_addr","value":"pub fn set_key_addr(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743481},"span":{"file_name":"src/pointer/mod.rs","byte_start":59343,"byte_end":59347,"line_start":85,"line_end":85,"column_start":22,"column_end":26},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key_addr::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1657},"span":{"file_name":"src/pointer/mod.rs","byte_start":59329,"byte_end":59341,"line_start":85,"line_end":85,"column_start":8,"column_end":20},"name":"get_key_addr","qualname":"::pointer::NP_Pointer_Bytes::get_key_addr","value":"pub fn get_key_addr(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743482},"span":{"file_name":"src/pointer/mod.rs","byte_start":59413,"byte_end":59417,"line_start":86,"line_end":86,"column_start":19,"column_end":23},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::reset::self","value":"&mut Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1658},"span":{"file_name":"src/pointer/mod.rs","byte_start":59402,"byte_end":59407,"line_start":86,"line_end":86,"column_start":8,"column_end":13},"name":"reset","qualname":"::pointer::NP_Pointer_Bytes::reset","value":"pub fn reset(&mut Self)","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743483},"span":{"file_name":"src/pointer/mod.rs","byte_start":59485,"byte_end":59489,"line_start":87,"line_end":87,"column_start":18,"column_end":22},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_size::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1659},"span":{"file_name":"src/pointer/mod.rs","byte_start":59475,"byte_end":59483,"line_start":87,"line_end":87,"column_start":8,"column_end":16},"name":"get_size","qualname":"::pointer::NP_Pointer_Bytes::get_size","value":"pub fn get_size(&Self) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743484},"span":{"file_name":"src/pointer/mod.rs","byte_start":59563,"byte_end":59567,"line_start":88,"line_end":88,"column_start":23,"column_end":27},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872572},"span":{"file_name":"src/pointer/mod.rs","byte_start":59569,"byte_end":59575,"line_start":88,"line_end":88,"column_start":29,"column_end":35},"name":"memory","qualname":"::pointer::NP_Pointer_Bytes::get_key::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1660},"span":{"file_name":"src/pointer/mod.rs","byte_start":59548,"byte_end":59555,"line_start":88,"line_end":88,"column_start":8,"column_end":15},"name":"get_key","qualname":"::pointer::NP_Pointer_Bytes::get_key","value":"pub fn get_key<'key>(&Self, &'key NP_Memory) -> &'key str","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743486},"span":{"file_name":"src/pointer/mod.rs","byte_start":59642,"byte_end":59646,"line_start":89,"line_end":89,"column_start":28,"column_end":32},"name":"self","qualname":"::pointer::NP_Pointer_Bytes::get_key_size::self","value":"&Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872574},"span":{"file_name":"src/pointer/mod.rs","byte_start":59648,"byte_end":59654,"line_start":89,"line_end":89,"column_start":34,"column_end":40},"name":"memory","qualname":"::pointer::NP_Pointer_Bytes::get_key_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1662},"span":{"file_name":"src/pointer/mod.rs","byte_start":59622,"byte_end":59634,"line_start":89,"line_end":89,"column_start":8,"column_end":20},"name":"get_key_size","qualname":"::pointer::NP_Pointer_Bytes::get_key_size","value":"pub fn get_key_size<'key>(&Self, &'key NP_Memory) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743489},"span":{"file_name":"src/pointer/mod.rs","byte_start":59755,"byte_end":59759,"line_start":93,"line_end":93,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1665},"span":{"file_name":"src/pointer/mod.rs","byte_start":59745,"byte_end":59753,"line_start":93,"line_end":93,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743490},"span":{"file_name":"src/pointer/mod.rs","byte_start":59827,"byte_end":59831,"line_start":95,"line_end":95,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1666},"span":{"file_name":"src/pointer/mod.rs","byte_start":59811,"byte_end":59825,"line_start":95,"line_end":95,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59786,"byte_end":59803,"line_start":94,"line_end":94,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743491},"span":{"file_name":"src/pointer/mod.rs","byte_start":59929,"byte_end":59933,"line_start":97,"line_end":97,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872579},"span":{"file_name":"src/pointer/mod.rs","byte_start":59935,"byte_end":59939,"line_start":97,"line_end":97,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1667},"span":{"file_name":"src/pointer/mod.rs","byte_start":59909,"byte_end":59923,"line_start":97,"line_end":97,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1651},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59884,"byte_end":59901,"line_start":96,"line_end":96,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743492},"span":{"file_name":"src/pointer/mod.rs","byte_start":60027,"byte_end":60031,"line_start":99,"line_end":99,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1668},"span":{"file_name":"src/pointer/mod.rs","byte_start":60016,"byte_end":60021,"line_start":99,"line_end":99,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":59991,"byte_end":60008,"line_start":98,"line_end":98,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743494},"span":{"file_name":"src/pointer/mod.rs","byte_start":60102,"byte_end":60106,"line_start":101,"line_end":101,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_Scalar","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1670},"span":{"file_name":"src/pointer/mod.rs","byte_start":60092,"byte_end":60100,"line_start":101,"line_end":101,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1659},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60067,"byte_end":60084,"line_start":100,"line_end":100,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743496},"span":{"file_name":"src/pointer/mod.rs","byte_start":60191,"byte_end":60195,"line_start":104,"line_end":104,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1672},"span":{"file_name":"src/pointer/mod.rs","byte_start":60181,"byte_end":60189,"line_start":104,"line_end":104,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743497},"span":{"file_name":"src/pointer/mod.rs","byte_start":60266,"byte_end":60270,"line_start":106,"line_end":106,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1673},"span":{"file_name":"src/pointer/mod.rs","byte_start":60250,"byte_end":60264,"line_start":106,"line_end":106,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60225,"byte_end":60242,"line_start":105,"line_end":105,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743498},"span":{"file_name":"src/pointer/mod.rs","byte_start":60368,"byte_end":60372,"line_start":108,"line_end":108,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872586},"span":{"file_name":"src/pointer/mod.rs","byte_start":60374,"byte_end":60378,"line_start":108,"line_end":108,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1674},"span":{"file_name":"src/pointer/mod.rs","byte_start":60348,"byte_end":60362,"line_start":108,"line_end":108,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1651},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60323,"byte_end":60340,"line_start":107,"line_end":107,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743499},"span":{"file_name":"src/pointer/mod.rs","byte_start":60470,"byte_end":60474,"line_start":110,"line_end":110,"column_start":23,"column_end":27},"name":"self","qualname":"::get_next_addr::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1675},"span":{"file_name":"src/pointer/mod.rs","byte_start":60455,"byte_end":60468,"line_start":110,"line_end":110,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::get_next_addr","value":"fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1652},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60430,"byte_end":60447,"line_start":109,"line_end":109,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743500},"span":{"file_name":"src/pointer/mod.rs","byte_start":60571,"byte_end":60575,"line_start":112,"line_end":112,"column_start":27,"column_end":31},"name":"self","qualname":"::set_next_addr::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872588},"span":{"file_name":"src/pointer/mod.rs","byte_start":60577,"byte_end":60581,"line_start":112,"line_end":112,"column_start":33,"column_end":37},"name":"addr","qualname":"::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1676},"span":{"file_name":"src/pointer/mod.rs","byte_start":60552,"byte_end":60565,"line_start":112,"line_end":112,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::set_next_addr","value":"fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1653},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60527,"byte_end":60544,"line_start":111,"line_end":111,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743501},"span":{"file_name":"src/pointer/mod.rs","byte_start":60673,"byte_end":60677,"line_start":114,"line_end":114,"column_start":23,"column_end":27},"name":"self","qualname":"::set_index::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872589},"span":{"file_name":"src/pointer/mod.rs","byte_start":60679,"byte_end":60684,"line_start":114,"line_end":114,"column_start":29,"column_end":34},"name":"index","qualname":"::set_index::index","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1677},"span":{"file_name":"src/pointer/mod.rs","byte_start":60658,"byte_end":60667,"line_start":114,"line_end":114,"column_start":8,"column_end":17},"name":"set_index","qualname":"::set_index","value":"fn set_index(&mut Self, u16)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1654},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60633,"byte_end":60650,"line_start":113,"line_end":113,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743502},"span":{"file_name":"src/pointer/mod.rs","byte_start":60769,"byte_end":60773,"line_start":116,"line_end":116,"column_start":19,"column_end":23},"name":"self","qualname":"::get_index::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1678},"span":{"file_name":"src/pointer/mod.rs","byte_start":60758,"byte_end":60767,"line_start":116,"line_end":116,"column_start":8,"column_end":17},"name":"get_index","qualname":"::get_index","value":"fn get_index(&Self) -> u16","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1655},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60733,"byte_end":60750,"line_start":115,"line_end":115,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743503},"span":{"file_name":"src/pointer/mod.rs","byte_start":60858,"byte_end":60862,"line_start":118,"line_end":118,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1679},"span":{"file_name":"src/pointer/mod.rs","byte_start":60847,"byte_end":60852,"line_start":118,"line_end":118,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60822,"byte_end":60839,"line_start":117,"line_end":117,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743507},"span":{"file_name":"src/pointer/mod.rs","byte_start":60980,"byte_end":60984,"line_start":120,"line_end":120,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1683},"span":{"file_name":"src/pointer/mod.rs","byte_start":60970,"byte_end":60978,"line_start":120,"line_end":120,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1659},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":60945,"byte_end":60962,"line_start":119,"line_end":119,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743509},"span":{"file_name":"src/pointer/mod.rs","byte_start":61069,"byte_end":61073,"line_start":123,"line_end":123,"column_start":18,"column_end":22},"name":"self","qualname":"::get_type::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1685},"span":{"file_name":"src/pointer/mod.rs","byte_start":61059,"byte_end":61067,"line_start":123,"line_end":123,"column_start":8,"column_end":16},"name":"get_type","qualname":"::get_type","value":"fn get_type(&Self) -> &str","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1649},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743510},"span":{"file_name":"src/pointer/mod.rs","byte_start":61143,"byte_end":61147,"line_start":125,"line_end":125,"column_start":24,"column_end":28},"name":"self","qualname":"::get_addr_value::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1686},"span":{"file_name":"src/pointer/mod.rs","byte_start":61127,"byte_end":61141,"line_start":125,"line_end":125,"column_start":8,"column_end":22},"name":"get_addr_value","qualname":"::get_addr_value","value":"fn get_addr_value(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1650},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61102,"byte_end":61119,"line_start":124,"line_end":124,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743511},"span":{"file_name":"src/pointer/mod.rs","byte_start":61245,"byte_end":61249,"line_start":127,"line_end":127,"column_start":28,"column_end":32},"name":"self","qualname":"::set_addr_value::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872599},"span":{"file_name":"src/pointer/mod.rs","byte_start":61251,"byte_end":61255,"line_start":127,"line_end":127,"column_start":34,"column_end":38},"name":"addr","qualname":"::set_addr_value::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1687},"span":{"file_name":"src/pointer/mod.rs","byte_start":61225,"byte_end":61239,"line_start":127,"line_end":127,"column_start":8,"column_end":22},"name":"set_addr_value","qualname":"::set_addr_value","value":"fn set_addr_value(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1651},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61200,"byte_end":61217,"line_start":126,"line_end":126,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743512},"span":{"file_name":"src/pointer/mod.rs","byte_start":61347,"byte_end":61351,"line_start":129,"line_end":129,"column_start":23,"column_end":27},"name":"self","qualname":"::get_next_addr::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1688},"span":{"file_name":"src/pointer/mod.rs","byte_start":61332,"byte_end":61345,"line_start":129,"line_end":129,"column_start":8,"column_end":21},"name":"get_next_addr","qualname":"::get_next_addr","value":"fn get_next_addr(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1652},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61307,"byte_end":61324,"line_start":128,"line_end":128,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743513},"span":{"file_name":"src/pointer/mod.rs","byte_start":61448,"byte_end":61452,"line_start":131,"line_end":131,"column_start":27,"column_end":31},"name":"self","qualname":"::set_next_addr::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872601},"span":{"file_name":"src/pointer/mod.rs","byte_start":61454,"byte_end":61458,"line_start":131,"line_end":131,"column_start":33,"column_end":37},"name":"addr","qualname":"::set_next_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1689},"span":{"file_name":"src/pointer/mod.rs","byte_start":61429,"byte_end":61442,"line_start":131,"line_end":131,"column_start":8,"column_end":21},"name":"set_next_addr","qualname":"::set_next_addr","value":"fn set_next_addr(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1653},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61404,"byte_end":61421,"line_start":130,"line_end":130,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743514},"span":{"file_name":"src/pointer/mod.rs","byte_start":61553,"byte_end":61557,"line_start":133,"line_end":133,"column_start":26,"column_end":30},"name":"self","qualname":"::set_key_addr::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872602},"span":{"file_name":"src/pointer/mod.rs","byte_start":61559,"byte_end":61563,"line_start":133,"line_end":133,"column_start":32,"column_end":36},"name":"addr","qualname":"::set_key_addr::addr","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1690},"span":{"file_name":"src/pointer/mod.rs","byte_start":61535,"byte_end":61547,"line_start":133,"line_end":133,"column_start":8,"column_end":20},"name":"set_key_addr","qualname":"::set_key_addr","value":"fn set_key_addr(&mut Self, u32)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1656},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61510,"byte_end":61527,"line_start":132,"line_end":132,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743515},"span":{"file_name":"src/pointer/mod.rs","byte_start":61654,"byte_end":61658,"line_start":135,"line_end":135,"column_start":22,"column_end":26},"name":"self","qualname":"::get_key_addr::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1691},"span":{"file_name":"src/pointer/mod.rs","byte_start":61640,"byte_end":61652,"line_start":135,"line_end":135,"column_start":8,"column_end":20},"name":"get_key_addr","qualname":"::get_key_addr","value":"fn get_key_addr(&Self) -> u32","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1657},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61615,"byte_end":61632,"line_start":134,"line_end":134,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743516},"span":{"file_name":"src/pointer/mod.rs","byte_start":61746,"byte_end":61750,"line_start":137,"line_end":137,"column_start":19,"column_end":23},"name":"self","qualname":"::reset::self","value":"&mut pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1692},"span":{"file_name":"src/pointer/mod.rs","byte_start":61735,"byte_end":61740,"line_start":137,"line_end":137,"column_start":8,"column_end":13},"name":"reset","qualname":"::reset","value":"fn reset(&mut Self)","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1658},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61710,"byte_end":61727,"line_start":136,"line_end":136,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743520},"span":{"file_name":"src/pointer/mod.rs","byte_start":61871,"byte_end":61875,"line_start":139,"line_end":139,"column_start":18,"column_end":22},"name":"self","qualname":"::get_size::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1696},"span":{"file_name":"src/pointer/mod.rs","byte_start":61861,"byte_end":61869,"line_start":139,"line_end":139,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(&Self) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1659},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61836,"byte_end":61853,"line_start":138,"line_end":138,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743521},"span":{"file_name":"src/pointer/mod.rs","byte_start":61937,"byte_end":61941,"line_start":141,"line_end":141,"column_start":23,"column_end":27},"name":"self","qualname":"::get_key::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872609},"span":{"file_name":"src/pointer/mod.rs","byte_start":61943,"byte_end":61949,"line_start":141,"line_end":141,"column_start":29,"column_end":35},"name":"memory","qualname":"::get_key::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1697},"span":{"file_name":"src/pointer/mod.rs","byte_start":61922,"byte_end":61929,"line_start":141,"line_end":141,"column_start":8,"column_end":15},"name":"get_key","qualname":"::get_key","value":"fn get_key<'key>(&Self, &'key NP_Memory) -> &'key str","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1660},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":61897,"byte_end":61914,"line_start":140,"line_end":140,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879049889},"span":{"file_name":"src/pointer/mod.rs","byte_start":61995,"byte_end":62003,"line_start":142,"line_end":142,"column_start":13,"column_end":21},"name":"key_addr","qualname":"key_addr$HirId { owner: DefId(0:1697 ~ no_proto[7dec]::pointer::{impl#3}::get_key), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751465121},"span":{"file_name":"src/pointer/mod.rs","byte_start":62119,"byte_end":62129,"line_start":146,"line_end":146,"column_start":17,"column_end":27},"name":"key_length","qualname":"key_length$HirId { owner: DefId(0:1697 ~ no_proto[7dec]::pointer::{impl#3}::get_key), local_id: 37 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006634657},"span":{"file_name":"src/pointer/mod.rs","byte_start":62188,"byte_end":62197,"line_start":147,"line_end":147,"column_start":17,"column_end":26},"name":"key_bytes","qualname":"key_bytes$HirId { owner: DefId(0:1697 ~ no_proto[7dec]::pointer::{impl#3}::get_key), local_id: 60 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743523},"span":{"file_name":"src/pointer/mod.rs","byte_start":62397,"byte_end":62401,"line_start":152,"line_end":152,"column_start":28,"column_end":32},"name":"self","qualname":"::get_key_size::self","value":"&pointer::NP_Pointer_Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872611},"span":{"file_name":"src/pointer/mod.rs","byte_start":62403,"byte_end":62409,"line_start":152,"line_end":152,"column_start":34,"column_end":40},"name":"memory","qualname":"::get_key_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1699},"span":{"file_name":"src/pointer/mod.rs","byte_start":62377,"byte_end":62389,"line_start":152,"line_end":152,"column_start":8,"column_end":20},"name":"get_key_size","qualname":"::get_key_size","value":"fn get_key_size<'key>(&Self, &'key NP_Memory) -> usize","parent":{"krate":0,"index":1648},"children":[],"decl_id":{"krate":0,"index":1662},"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":62352,"byte_end":62369,"line_start":151,"line_end":151,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879049891},"span":{"file_name":"src/pointer/mod.rs","byte_start":62451,"byte_end":62459,"line_start":153,"line_end":153,"column_start":13,"column_end":21},"name":"key_addr","qualname":"key_addr$HirId { owner: DefId(0:1699 ~ no_proto[7dec]::pointer::{impl#3}::get_key_size), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3533},"span":{"file_name":"src/pointer/mod.rs","byte_start":62782,"byte_end":62791,"line_start":170,"line_end":170,"column_start":12,"column_end":21},"name":"NP_Vtable","qualname":"::pointer::NP_Vtable","value":"NP_Vtable { values, next }","parent":null,"children":[{"krate":0,"index":3534},{"krate":0,"index":3536}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/pointer/mod.rs","byte_start":62692,"byte_end":62702,"line_start":166,"line_end":166,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/pointer/mod.rs","byte_start":62748,"byte_end":62770,"line_start":169,"line_end":169,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3534},"span":{"file_name":"src/pointer/mod.rs","byte_start":62802,"byte_end":62808,"line_start":171,"line_end":171,"column_start":9,"column_end":15},"name":"values","qualname":"::pointer::NP_Vtable::values","value":"[pointer::NP_Pointer_Scalar; 4]","parent":{"krate":0,"index":3533},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3536},"span":{"file_name":"src/pointer/mod.rs","byte_start":62838,"byte_end":62842,"line_start":172,"line_end":172,"column_start":5,"column_end":9},"name":"next","qualname":"::pointer::NP_Vtable::next","value":"[u8; 4]","parent":{"krate":0,"index":3533},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743526},"span":{"file_name":"src/pointer/mod.rs","byte_start":62940,"byte_end":62944,"line_start":180,"line_end":180,"column_start":22,"column_end":26},"name":"self","qualname":"::get_next::self","value":"&pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1702},"span":{"file_name":"src/pointer/mod.rs","byte_start":62930,"byte_end":62938,"line_start":180,"line_end":180,"column_start":12,"column_end":20},"name":"get_next","qualname":"::get_next","value":"pub fn get_next(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":62901,"byte_end":62918,"line_start":179,"line_end":179,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743528},"span":{"file_name":"src/pointer/mod.rs","byte_start":63096,"byte_end":63100,"line_start":185,"line_end":185,"column_start":26,"column_end":30},"name":"self","qualname":"::set_next::self","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872616},"span":{"file_name":"src/pointer/mod.rs","byte_start":63102,"byte_end":63107,"line_start":185,"line_end":185,"column_start":32,"column_end":37},"name":"value","qualname":"::set_next::value","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1704},"span":{"file_name":"src/pointer/mod.rs","byte_start":63082,"byte_end":63090,"line_start":185,"line_end":185,"column_start":12,"column_end":20},"name":"set_next","qualname":"::set_next","value":"pub fn set_next(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":63053,"byte_end":63070,"line_start":184,"line_end":184,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3489662632},"span":{"file_name":"src/pointer/mod.rs","byte_start":63128,"byte_end":63133,"line_start":186,"line_end":186,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1704 ~ no_proto[7dec]::pointer::{impl#4}::set_next), local_id: 11 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3546},"span":{"file_name":"src/pointer/mod.rs","byte_start":63386,"byte_end":63390,"line_start":197,"line_end":197,"column_start":5,"column_end":9},"name":"None","qualname":"::pointer::NP_Cursor_Parent::None","value":"NP_Cursor_Parent::None","parent":{"krate":0,"index":3545},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3548},"span":{"file_name":"src/pointer/mod.rs","byte_start":63396,"byte_end":63401,"line_start":198,"line_end":198,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::pointer::NP_Cursor_Parent::Tuple","value":"NP_Cursor_Parent::Tuple","parent":{"krate":0,"index":3545},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3545},"span":{"file_name":"src/pointer/mod.rs","byte_start":63363,"byte_end":63379,"line_start":196,"line_end":196,"column_start":10,"column_end":26},"name":"NP_Cursor_Parent","qualname":"::pointer::NP_Cursor_Parent","value":"pub enum NP_Cursor_Parent { None, Tuple, }","parent":null,"children":[{"krate":0,"index":3546},{"krate":0,"index":3548}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3558},"span":{"file_name":"src/pointer/mod.rs","byte_start":63505,"byte_end":63514,"line_start":205,"line_end":205,"column_start":12,"column_end":21},"name":"NP_Cursor","qualname":"::pointer::NP_Cursor","value":"NP_Cursor { buff_addr, schema_addr, parent_schema_addr, value_bytes, parent_type }","parent":null,"children":[{"krate":0,"index":3559},{"krate":0,"index":3560},{"krate":0,"index":3561},{"krate":0,"index":3562},{"krate":0,"index":3564}],"decl_id":null,"docs":" Cursor for pointer value in buffer\n \n","sig":null,"attributes":[{"value":"/ Cursor for pointer value in buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":63405,"byte_end":63443,"line_start":201,"line_end":201,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":63444,"byte_end":63448,"line_start":202,"line_end":202,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3559},"span":{"file_name":"src/pointer/mod.rs","byte_start":63575,"byte_end":63584,"line_start":207,"line_end":207,"column_start":9,"column_end":18},"name":"buff_addr","qualname":"::pointer::NP_Cursor::buff_addr","value":"usize","parent":{"krate":0,"index":3558},"children":[],"decl_id":null,"docs":" The location of this cursor in the buffer\n","sig":null,"attributes":[{"value":"/ The location of this cursor in the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":63521,"byte_end":63566,"line_start":206,"line_end":206,"column_start":5,"column_end":50}}]},{"kind":"Field","id":{"krate":0,"index":3560},"span":{"file_name":"src/pointer/mod.rs","byte_start":63651,"byte_end":63662,"line_start":209,"line_end":209,"column_start":9,"column_end":20},"name":"schema_addr","qualname":"::pointer::NP_Cursor::schema_addr","value":"usize","parent":{"krate":0,"index":3558},"children":[],"decl_id":null,"docs":" The address of the schema for this cursor\n","sig":null,"attributes":[{"value":"/ The address of the schema for this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":63597,"byte_end":63642,"line_start":208,"line_end":208,"column_start":5,"column_end":50}}]},{"kind":"Field","id":{"krate":0,"index":3561},"span":{"file_name":"src/pointer/mod.rs","byte_start":63765,"byte_end":63783,"line_start":211,"line_end":211,"column_start":9,"column_end":27},"name":"parent_schema_addr","qualname":"::pointer::NP_Cursor::parent_schema_addr","value":"usize","parent":{"krate":0,"index":3558},"children":[],"decl_id":null,"docs":" the parent schema address (so we know if we're in a collection type)\n","sig":null,"attributes":[{"value":"/ the parent schema address (so we know if we're in a collection type)","span":{"file_name":"src/pointer/mod.rs","byte_start":63684,"byte_end":63756,"line_start":210,"line_end":210,"column_start":5,"column_end":77}}]},{"kind":"Field","id":{"krate":0,"index":3562},"span":{"file_name":"src/pointer/mod.rs","byte_start":63866,"byte_end":63877,"line_start":213,"line_end":213,"column_start":9,"column_end":20},"name":"value_bytes","qualname":"::pointer::NP_Cursor::value_bytes","value":"core::option::Option<[u8; 4]>","parent":{"krate":0,"index":3558},"children":[],"decl_id":null,"docs":" used by tuple type to store scalar pointer bytes\n","sig":null,"attributes":[{"value":"/ used by tuple type to store scalar pointer bytes","span":{"file_name":"src/pointer/mod.rs","byte_start":63805,"byte_end":63857,"line_start":212,"line_end":212,"column_start":5,"column_end":57}}]},{"kind":"Field","id":{"krate":0,"index":3564},"span":{"file_name":"src/pointer/mod.rs","byte_start":63931,"byte_end":63942,"line_start":215,"line_end":215,"column_start":9,"column_end":20},"name":"parent_type","qualname":"::pointer::NP_Cursor::parent_type","value":"pointer::NP_Cursor_Parent","parent":{"krate":0,"index":3558},"children":[],"decl_id":null,"docs":" if parent is tuple\n","sig":null,"attributes":[{"value":"/ if parent is tuple","span":{"file_name":"src/pointer/mod.rs","byte_start":63900,"byte_end":63922,"line_start":214,"line_end":214,"column_start":5,"column_end":27}}]},{"kind":"Local","id":{"krate":0,"index":1073743531},"span":{"file_name":"src/pointer/mod.rs","byte_start":64034,"byte_end":64043,"line_start":221,"line_end":221,"column_start":16,"column_end":25},"name":"buff_addr","qualname":"::new::buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872619},"span":{"file_name":"src/pointer/mod.rs","byte_start":64052,"byte_end":64063,"line_start":221,"line_end":221,"column_start":34,"column_end":45},"name":"schema_addr","qualname":"::new::schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614443},"span":{"file_name":"src/pointer/mod.rs","byte_start":64072,"byte_end":64090,"line_start":221,"line_end":221,"column_start":54,"column_end":72},"name":"parent_schema_addr","qualname":"::new::parent_schema_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1707},"span":{"file_name":"src/pointer/mod.rs","byte_start":64030,"byte_end":64033,"line_start":221,"line_end":221,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(usize, usize, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Create a new cursor\n","sig":null,"attributes":[{"value":"/ Create a new cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":63995,"byte_end":64018,"line_start":220,"line_end":220,"column_start":5,"column_end":28}}]},{"kind":"Local","id":{"krate":0,"index":1073743532},"span":{"file_name":"src/pointer/mod.rs","byte_start":64391,"byte_end":64395,"line_start":233,"line_end":233,"column_start":23,"column_end":27},"name":"self","qualname":"::get_value::self","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872620},"span":{"file_name":"src/pointer/mod.rs","byte_start":64397,"byte_end":64403,"line_start":233,"line_end":233,"column_start":29,"column_end":35},"name":"memory","qualname":"::get_value::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1708},"span":{"file_name":"src/pointer/mod.rs","byte_start":64380,"byte_end":64389,"line_start":233,"line_end":233,"column_start":12,"column_end":21},"name":"get_value","qualname":"::get_value","value":"pub fn get_value(&Self, &NP_Memory) -> &'cursor dyn NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":" Get the value bytes of this cursor\n","sig":null,"attributes":[{"value":"/ Get the value bytes of this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":64308,"byte_end":64346,"line_start":231,"line_end":231,"column_start":5,"column_end":43}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":64351,"byte_end":64368,"line_start":232,"line_end":232,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2952791724},"span":{"file_name":"src/pointer/mod.rs","byte_start":64464,"byte_end":64467,"line_start":234,"line_end":234,"column_start":13,"column_end":16},"name":"ptr","qualname":"ptr$HirId { owner: DefId(0:1708 ~ no_proto[7dec]::pointer::{impl#5}::get_value), local_id: 13 }","value":"*const u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455020},"span":{"file_name":"src/pointer/mod.rs","byte_start":65243,"byte_end":65244,"line_start":248,"line_end":248,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1708 ~ no_proto[7dec]::pointer::{impl#5}::get_value), local_id: 109 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743533},"span":{"file_name":"src/pointer/mod.rs","byte_start":65771,"byte_end":65775,"line_start":261,"line_end":261,"column_start":31,"column_end":35},"name":"self","qualname":"::get_value_mut::self","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872621},"span":{"file_name":"src/pointer/mod.rs","byte_start":65777,"byte_end":65783,"line_start":261,"line_end":261,"column_start":37,"column_end":43},"name":"memory","qualname":"::get_value_mut::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1709},"span":{"file_name":"src/pointer/mod.rs","byte_start":65756,"byte_end":65769,"line_start":261,"line_end":261,"column_start":16,"column_end":29},"name":"get_value_mut","qualname":"::get_value_mut","value":"pub fn get_value_mut(&Self, &NP_Memory) -> &'cursor mut dyn NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":" Get the value bytes of this cursor\n","sig":null,"attributes":[{"value":"/ Get the value bytes of this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":65676,"byte_end":65714,"line_start":259,"line_end":259,"column_start":9,"column_end":47}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":65723,"byte_end":65740,"line_start":260,"line_end":260,"column_start":9,"column_end":26}}]},{"kind":"Local","id":{"krate":0,"index":2952791725},"span":{"file_name":"src/pointer/mod.rs","byte_start":65852,"byte_end":65855,"line_start":262,"line_end":262,"column_start":17,"column_end":20},"name":"ptr","qualname":"ptr$HirId { owner: DefId(0:1709 ~ no_proto[7dec]::pointer::{impl#5}::get_value_mut), local_id: 13 }","value":"*mut u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455021},"span":{"file_name":"src/pointer/mod.rs","byte_start":66695,"byte_end":66696,"line_start":276,"line_end":276,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:1709 ~ no_proto[7dec]::pointer::{impl#5}::get_value_mut), local_id: 109 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743534},"span":{"file_name":"src/pointer/mod.rs","byte_start":67280,"byte_end":67286,"line_start":290,"line_end":290,"column_start":19,"column_end":25},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872622},"span":{"file_name":"src/pointer/mod.rs","byte_start":67300,"byte_end":67306,"line_start":290,"line_end":290,"column_start":39,"column_end":45},"name":"cursor","qualname":"::select::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614446},"span":{"file_name":"src/pointer/mod.rs","byte_start":67319,"byte_end":67328,"line_start":290,"line_end":290,"column_start":58,"column_end":67},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437166},"span":{"file_name":"src/pointer/mod.rs","byte_start":67336,"byte_end":67348,"line_start":290,"line_end":290,"column_start":75,"column_end":87},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178990},"span":{"file_name":"src/pointer/mod.rs","byte_start":67356,"byte_end":67360,"line_start":290,"line_end":290,"column_start":95,"column_end":99},"name":"path","qualname":"::select::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1710},"span":{"file_name":"src/pointer/mod.rs","byte_start":67273,"byte_end":67279,"line_start":290,"line_end":290,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(&NP_Memory, NP_Cursor, bool, bool, &[&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Given a starting cursor, select into the buffer at a new location\n \n","sig":null,"attributes":[{"value":"/ Given a starting cursor, select into the buffer at a new location","span":{"file_name":"src/pointer/mod.rs","byte_start":67161,"byte_end":67230,"line_start":287,"line_end":287,"column_start":5,"column_end":74}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":67235,"byte_end":67239,"line_start":288,"line_end":288,"column_start":5,"column_end":9}},{"value":"inline(always)","span":{"file_name":"src/pointer/mod.rs","byte_start":67244,"byte_end":67261,"line_start":289,"line_end":289,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":4026533550},"span":{"file_name":"src/pointer/mod.rs","byte_start":67429,"byte_end":67440,"line_start":292,"line_end":292,"column_start":17,"column_end":28},"name":"loop_cursor","qualname":"loop_cursor$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 15 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355444910},"span":{"file_name":"src/pointer/mod.rs","byte_start":67472,"byte_end":67482,"line_start":294,"line_end":294,"column_start":17,"column_end":27},"name":"path_index","qualname":"path_index$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315822},"span":{"file_name":"src/pointer/mod.rs","byte_start":67518,"byte_end":67528,"line_start":296,"line_end":296,"column_start":17,"column_end":27},"name":"loop_count","qualname":"loop_count$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 23 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862510},"span":{"file_name":"src/pointer/mod.rs","byte_start":67829,"byte_end":67835,"line_start":310,"line_end":310,"column_start":17,"column_end":23},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 76 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242350},"span":{"file_name":"src/pointer/mod.rs","byte_start":68458,"byte_end":68459,"line_start":324,"line_end":324,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 165 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385877678},"span":{"file_name":"src/pointer/mod.rs","byte_start":68863,"byte_end":68865,"line_start":332,"line_end":332,"column_start":29,"column_end":31},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 232 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":276825774},"span":{"file_name":"src/pointer/mod.rs","byte_start":69173,"byte_end":69174,"line_start":339,"line_end":339,"column_start":28,"column_end":29},"name":"x","qualname":"x$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 264 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3128952494},"span":{"file_name":"src/pointer/mod.rs","byte_start":69581,"byte_end":69583,"line_start":347,"line_end":347,"column_start":29,"column_end":31},"name":"_e","qualname":"_e$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 349 }","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1669334702},"span":{"file_name":"src/pointer/mod.rs","byte_start":70593,"byte_end":70604,"line_start":370,"line_end":370,"column_start":25,"column_end":36},"name":"portal_data","qualname":"portal_data$HirId { owner: DefId(0:1710 ~ no_proto[7dec]::pointer::{impl#5}::select), local_id: 454 }","value":"&schema::NP_Portal_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743535},"span":{"file_name":"src/pointer/mod.rs","byte_start":71080,"byte_end":71086,"line_start":384,"line_end":384,"column_start":20,"column_end":26},"name":"cursor","qualname":"::set_max::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872623},"span":{"file_name":"src/pointer/mod.rs","byte_start":71099,"byte_end":71105,"line_start":384,"line_end":384,"column_start":39,"column_end":45},"name":"memory","qualname":"::set_max::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1711},"span":{"file_name":"src/pointer/mod.rs","byte_start":71072,"byte_end":71079,"line_start":384,"line_end":384,"column_start":12,"column_end":19},"name":"set_max","qualname":"::set_max","value":"pub fn set_max(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the max value at this cursor\n","sig":null,"attributes":[{"value":"/ Set the max value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":71024,"byte_end":71060,"line_start":383,"line_end":383,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":2099250863},"span":{"file_name":"src/pointer/mod.rs","byte_start":74001,"byte_end":74006,"line_start":411,"line_end":411,"column_start":25,"column_end":30},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1711 ~ no_proto[7dec]::pointer::{impl#5}::set_max), local_id: 1214 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1889535663},"span":{"file_name":"src/pointer/mod.rs","byte_start":74376,"byte_end":74381,"line_start":419,"line_end":419,"column_start":25,"column_end":30},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:1711 ~ no_proto[7dec]::pointer::{impl#5}::set_max), local_id: 1294 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":111150767},"span":{"file_name":"src/pointer/mod.rs","byte_start":74751,"byte_end":74755,"line_start":427,"line_end":427,"column_start":25,"column_end":29},"name":"list","qualname":"list$HirId { owner: DefId(0:1711 ~ no_proto[7dec]::pointer::{impl#5}::set_max), local_id: 1376 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":228591279},"span":{"file_name":"src/pointer/mod.rs","byte_start":75125,"byte_end":75128,"line_start":435,"line_end":435,"column_start":25,"column_end":28},"name":"map","qualname":"map$HirId { owner: DefId(0:1711 ~ no_proto[7dec]::pointer::{impl#5}::set_max), local_id: 1456 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743536},"span":{"file_name":"src/pointer/mod.rs","byte_start":75479,"byte_end":75485,"line_start":447,"line_end":447,"column_start":20,"column_end":26},"name":"cursor","qualname":"::set_min::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872624},"span":{"file_name":"src/pointer/mod.rs","byte_start":75498,"byte_end":75504,"line_start":447,"line_end":447,"column_start":39,"column_end":45},"name":"memory","qualname":"::set_min::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1712},"span":{"file_name":"src/pointer/mod.rs","byte_start":75471,"byte_end":75478,"line_start":447,"line_end":447,"column_start":12,"column_end":19},"name":"set_min","qualname":"::set_min","value":"pub fn set_min(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the min value at this cursor\n","sig":null,"attributes":[{"value":"/ Set the min value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":75423,"byte_end":75459,"line_start":446,"line_end":446,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":2099250864},"span":{"file_name":"src/pointer/mod.rs","byte_start":78400,"byte_end":78405,"line_start":474,"line_end":474,"column_start":25,"column_end":30},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1712 ~ no_proto[7dec]::pointer::{impl#5}::set_min), local_id: 1214 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1889535664},"span":{"file_name":"src/pointer/mod.rs","byte_start":78775,"byte_end":78780,"line_start":482,"line_end":482,"column_start":25,"column_end":30},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:1712 ~ no_proto[7dec]::pointer::{impl#5}::set_min), local_id: 1294 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":111150768},"span":{"file_name":"src/pointer/mod.rs","byte_start":79151,"byte_end":79155,"line_start":490,"line_end":490,"column_start":25,"column_end":29},"name":"list","qualname":"list$HirId { owner: DefId(0:1712 ~ no_proto[7dec]::pointer::{impl#5}::set_min), local_id: 1376 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":228591280},"span":{"file_name":"src/pointer/mod.rs","byte_start":79525,"byte_end":79528,"line_start":498,"line_end":498,"column_start":25,"column_end":28},"name":"map","qualname":"map$HirId { owner: DefId(0:1712 ~ no_proto[7dec]::pointer::{impl#5}::set_min), local_id: 1456 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743537},"span":{"file_name":"src/pointer/mod.rs","byte_start":80030,"byte_end":80035,"line_start":512,"line_end":512,"column_start":24,"column_end":29},"name":"depth","qualname":"::json_encode::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872625},"span":{"file_name":"src/pointer/mod.rs","byte_start":80044,"byte_end":80050,"line_start":512,"line_end":512,"column_start":38,"column_end":44},"name":"cursor","qualname":"::json_encode::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614449},"span":{"file_name":"src/pointer/mod.rs","byte_start":80064,"byte_end":80070,"line_start":512,"line_end":512,"column_start":58,"column_end":64},"name":"memory","qualname":"::json_encode::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1713},"span":{"file_name":"src/pointer/mod.rs","byte_start":80018,"byte_end":80029,"line_start":512,"line_end":512,"column_start":12,"column_end":23},"name":"json_encode","qualname":"::json_encode","value":"pub fn json_encode(usize, &NP_Cursor, &NP_Memory) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" Exports this pointer and all it's descendants into a JSON object.\n This will create a copy of the underlying data and return default values where there isn't data.\n \n","sig":null,"attributes":[{"value":"/ Exports this pointer and all it's descendants into a JSON object.","span":{"file_name":"src/pointer/mod.rs","byte_start":79823,"byte_end":79892,"line_start":509,"line_end":509,"column_start":5,"column_end":74}},{"value":"/ This will create a copy of the underlying data and return default values where there isn't data.","span":{"file_name":"src/pointer/mod.rs","byte_start":79897,"byte_end":79997,"line_start":510,"line_end":510,"column_start":5,"column_end":105}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":80002,"byte_end":80006,"line_start":511,"line_end":511,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743538},"span":{"file_name":"src/pointer/mod.rs","byte_start":82696,"byte_end":82701,"line_start":550,"line_end":550,"column_start":20,"column_end":25},"name":"depth","qualname":"::compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872626},"span":{"file_name":"src/pointer/mod.rs","byte_start":82710,"byte_end":82721,"line_start":550,"line_end":550,"column_start":34,"column_end":45},"name":"from_cursor","qualname":"::compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614450},"span":{"file_name":"src/pointer/mod.rs","byte_start":82734,"byte_end":82745,"line_start":550,"line_end":550,"column_start":58,"column_end":69},"name":"from_memory","qualname":"::compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437170},"span":{"file_name":"src/pointer/mod.rs","byte_start":82759,"byte_end":82768,"line_start":550,"line_end":550,"column_start":83,"column_end":92},"name":"to_cursor","qualname":"::compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178994},"span":{"file_name":"src/pointer/mod.rs","byte_start":82781,"byte_end":82790,"line_start":550,"line_end":550,"column_start":105,"column_end":114},"name":"to_memory","qualname":"::compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1714},"span":{"file_name":"src/pointer/mod.rs","byte_start":82688,"byte_end":82695,"line_start":550,"line_end":550,"column_start":12,"column_end":19},"name":"compact","qualname":"::compact","value":"pub fn compact(usize, NP_Cursor, &NP_Memory, NP_Cursor, &NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Compact from old cursor and memory into new cursor and memory\n \n","sig":null,"attributes":[{"value":"/ Compact from old cursor and memory into new cursor and memory","span":{"file_name":"src/pointer/mod.rs","byte_start":82602,"byte_end":82667,"line_start":548,"line_end":548,"column_start":5,"column_end":70}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":82672,"byte_end":82676,"line_start":549,"line_end":549,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743539},"span":{"file_name":"src/pointer/mod.rs","byte_start":86328,"byte_end":86334,"line_start":588,"line_end":588,"column_start":31,"column_end":37},"name":"cursor","qualname":"::set_schema_default::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872627},"span":{"file_name":"src/pointer/mod.rs","byte_start":86347,"byte_end":86353,"line_start":588,"line_end":588,"column_start":50,"column_end":56},"name":"memory","qualname":"::set_schema_default::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1715},"span":{"file_name":"src/pointer/mod.rs","byte_start":86309,"byte_end":86327,"line_start":588,"line_end":588,"column_start":12,"column_end":30},"name":"set_schema_default","qualname":"::set_schema_default","value":"pub fn set_schema_default(NP_Cursor, &NP_Memory) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Set default for this value. Not related to the schema default, this is the default value for this data type\n \n","sig":null,"attributes":[{"value":"/ Set default for this value. Not related to the schema default, this is the default value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":86176,"byte_end":86288,"line_start":586,"line_end":586,"column_start":5,"column_end":117}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":86293,"byte_end":86297,"line_start":587,"line_end":587,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1879049907},"span":{"file_name":"src/pointer/mod.rs","byte_start":86406,"byte_end":86412,"line_start":590,"line_end":590,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1715 ~ no_proto[7dec]::pointer::{impl#5}::set_schema_default), local_id: 14 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743540},"span":{"file_name":"src/pointer/mod.rs","byte_start":89678,"byte_end":89683,"line_start":626,"line_end":626,"column_start":26,"column_end":31},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872628},"span":{"file_name":"src/pointer/mod.rs","byte_start":89692,"byte_end":89702,"line_start":626,"line_end":626,"column_start":40,"column_end":50},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614452},"span":{"file_name":"src/pointer/mod.rs","byte_start":89710,"byte_end":89716,"line_start":626,"line_end":626,"column_start":58,"column_end":64},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437172},"span":{"file_name":"src/pointer/mod.rs","byte_start":89729,"byte_end":89735,"line_start":626,"line_end":626,"column_start":77,"column_end":83},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342178996},"span":{"file_name":"src/pointer/mod.rs","byte_start":89749,"byte_end":89753,"line_start":626,"line_end":626,"column_start":97,"column_end":101},"name":"json","qualname":"::set_from_json::json","value":"&[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1716},"span":{"file_name":"src/pointer/mod.rs","byte_start":89664,"byte_end":89677,"line_start":626,"line_end":626,"column_start":12,"column_end":25},"name":"set_from_json","qualname":"::set_from_json","value":"pub fn set_from_json(usize, bool, NP_Cursor, &NP_Memory, &Box)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Set a JSON value into the buffer\n","sig":null,"attributes":[{"value":"/ Set a JSON value into the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":89616,"byte_end":89652,"line_start":625,"line_end":625,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1073743541},"span":{"file_name":"src/pointer/mod.rs","byte_start":93415,"byte_end":93421,"line_start":676,"line_end":676,"column_start":19,"column_end":25},"name":"cursor","qualname":"::delete::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872629},"span":{"file_name":"src/pointer/mod.rs","byte_start":93434,"byte_end":93440,"line_start":676,"line_end":676,"column_start":38,"column_end":44},"name":"memory","qualname":"::delete::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1717},"span":{"file_name":"src/pointer/mod.rs","byte_start":93408,"byte_end":93414,"line_start":676,"line_end":676,"column_start":12,"column_end":18},"name":"delete","qualname":"::delete","value":"pub fn delete(NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Delete the value at this cursor\n \n Returns `true` if something was deleted, `false` otherwise.\n \n","sig":null,"attributes":[{"value":"/ Delete the value at this cursor","span":{"file_name":"src/pointer/mod.rs","byte_start":93275,"byte_end":93310,"line_start":672,"line_end":672,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93315,"byte_end":93319,"line_start":673,"line_end":673,"column_start":5,"column_end":9}},{"value":"/ Returns `true` if something was deleted, `false` otherwise.","span":{"file_name":"src/pointer/mod.rs","byte_start":93324,"byte_end":93387,"line_start":674,"line_end":674,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93392,"byte_end":93396,"line_start":675,"line_end":675,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743542},"span":{"file_name":"src/pointer/mod.rs","byte_start":93967,"byte_end":93972,"line_start":694,"line_end":694,"column_start":22,"column_end":27},"name":"depth","qualname":"::calc_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872630},"span":{"file_name":"src/pointer/mod.rs","byte_start":93981,"byte_end":93987,"line_start":694,"line_end":694,"column_start":36,"column_end":42},"name":"cursor","qualname":"::calc_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614454},"span":{"file_name":"src/pointer/mod.rs","byte_start":94001,"byte_end":94007,"line_start":694,"line_end":694,"column_start":56,"column_end":62},"name":"memory","qualname":"::calc_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1718},"span":{"file_name":"src/pointer/mod.rs","byte_start":93957,"byte_end":93966,"line_start":694,"line_end":694,"column_start":12,"column_end":21},"name":"calc_size","qualname":"::calc_size","value":"pub fn calc_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Calculate the number of bytes used by this pointer and it's descendants.\n \n","sig":null,"attributes":[{"value":"/ Calculate the number of bytes used by this pointer and it's descendants.","span":{"file_name":"src/pointer/mod.rs","byte_start":93860,"byte_end":93936,"line_start":692,"line_end":692,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":93941,"byte_end":93945,"line_start":693,"line_end":693,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1140852406},"span":{"file_name":"src/pointer/mod.rs","byte_start":94141,"byte_end":94146,"line_start":698,"line_end":698,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:1718 ~ no_proto[7dec]::pointer::{impl#5}::calc_size), local_id: 34 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019900598},"span":{"file_name":"src/pointer/mod.rs","byte_start":94188,"byte_end":94196,"line_start":700,"line_end":700,"column_start":13,"column_end":21},"name":"type_key","qualname":"type_key$HirId { owner: DefId(0:1718 ~ no_proto[7dec]::pointer::{impl#5}::calc_size), local_id: 45 }","value":"schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181039798},"span":{"file_name":"src/pointer/mod.rs","byte_start":94280,"byte_end":94289,"line_start":703,"line_end":703,"column_start":13,"column_end":22},"name":"base_size","qualname":"base_size$HirId { owner: DefId(0:1718 ~ no_proto[7dec]::pointer::{impl#5}::calc_size), local_id: 65 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3896510134},"span":{"file_name":"src/pointer/mod.rs","byte_start":94593,"byte_end":94602,"line_start":711,"line_end":711,"column_start":13,"column_end":22},"name":"type_size","qualname":"type_size$HirId { owner: DefId(0:1718 ~ no_proto[7dec]::pointer::{impl#5}::calc_size), local_id: 535 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Trait","id":{"krate":0,"index":1719},"span":{"file_name":"src/pointer/mod.rs","byte_start":97097,"byte_end":97106,"line_start":747,"line_end":747,"column_start":11,"column_end":20},"name":"NP_Scalar","qualname":"::pointer::NP_Scalar","value":"NP_Scalar<'scalar>","parent":null,"children":[{"krate":0,"index":1721},{"krate":0,"index":1722},{"krate":0,"index":1723}],"decl_id":null,"docs":" This trait is used to restrict which types can be set/get in the buffer\n","sig":null,"attributes":[{"value":"/ This trait is used to restrict which types can be set/get in the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":97011,"byte_end":97086,"line_start":746,"line_end":746,"column_start":1,"column_end":76}}]},{"kind":"Method","id":{"krate":0,"index":1721},"span":{"file_name":"src/pointer/mod.rs","byte_start":97287,"byte_end":97301,"line_start":750,"line_end":750,"column_start":8,"column_end":22},"name":"schema_default","qualname":"::pointer::NP_Scalar::schema_default","value":"pub fn schema_default(&'scalar NP_Parsed_Schema) -> Option where\nSelf: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":null,"docs":" Get the default for the schema type\n Does NOT get the `default` property of the schema, but generates a default value based on the schema settings\n","sig":null,"attributes":[{"value":"/ Get the default for the schema type","span":{"file_name":"src/pointer/mod.rs","byte_start":97122,"byte_end":97161,"line_start":748,"line_end":748,"column_start":5,"column_end":44}},{"value":"/ Does NOT get the `default` property of the schema, but generates a default value based on the schema settings","span":{"file_name":"src/pointer/mod.rs","byte_start":97166,"byte_end":97279,"line_start":749,"line_end":749,"column_start":5,"column_end":118}}]},{"kind":"Method","id":{"krate":0,"index":1722},"span":{"file_name":"src/pointer/mod.rs","byte_start":97426,"byte_end":97438,"line_start":753,"line_end":753,"column_start":8,"column_end":20},"name":"np_max_value","qualname":"::pointer::NP_Scalar::np_max_value","value":"pub fn np_max_value(&NP_Cursor, &NP_Memory) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":null,"docs":" Get the max value for this data type\n","sig":null,"attributes":[{"value":"/ Get the max value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":97378,"byte_end":97418,"line_start":752,"line_end":752,"column_start":5,"column_end":45}}]},{"kind":"Method","id":{"krate":0,"index":1723},"span":{"file_name":"src/pointer/mod.rs","byte_start":97569,"byte_end":97581,"line_start":756,"line_end":756,"column_start":8,"column_end":20},"name":"np_min_value","qualname":"::pointer::NP_Scalar::np_min_value","value":"pub fn np_min_value(&NP_Cursor, &NP_Memory) -> Option where Self: Sized","parent":{"krate":0,"index":1719},"children":[],"decl_id":null,"docs":" Get the min value for this data type\n","sig":null,"attributes":[{"value":"/ Get the min value for this data type","span":{"file_name":"src/pointer/mod.rs","byte_start":97521,"byte_end":97561,"line_start":755,"line_end":755,"column_start":5,"column_end":45}}]},{"kind":"Trait","id":{"krate":0,"index":1724},"span":{"file_name":"src/pointer/mod.rs","byte_start":97823,"byte_end":97831,"line_start":763,"line_end":763,"column_start":11,"column_end":19},"name":"NP_Value","qualname":"::pointer::NP_Value","value":"NP_Value<'value>","parent":null,"children":[{"krate":0,"index":1726},{"krate":0,"index":1727},{"krate":0,"index":1728},{"krate":0,"index":1729},{"krate":0,"index":1730},{"krate":0,"index":1731},{"krate":0,"index":1732},{"krate":0,"index":1733},{"krate":0,"index":1735},{"krate":0,"index":1737},{"krate":0,"index":1738},{"krate":0,"index":1739},{"krate":0,"index":1740},{"krate":0,"index":1741}],"decl_id":null,"docs":" This trait is used to implement types as NoProto buffer types.\n This includes all the type data, encoding and decoding methods.\n","sig":null,"attributes":[{"value":"/ This trait is used to implement types as NoProto buffer types.","span":{"file_name":"src/pointer/mod.rs","byte_start":97663,"byte_end":97729,"line_start":760,"line_end":760,"column_start":1,"column_end":67}},{"value":"/ This includes all the type data, encoding and decoding methods.","span":{"file_name":"src/pointer/mod.rs","byte_start":97730,"byte_end":97797,"line_start":761,"line_end":761,"column_start":1,"column_end":68}}]},{"kind":"Method","id":{"krate":0,"index":1726},"span":{"file_name":"src/pointer/mod.rs","byte_start":97915,"byte_end":97923,"line_start":767,"line_end":767,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::pointer::NP_Value::type_idx","value":"pub fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Get the type information for this type (static)\n \n","sig":null,"attributes":[{"value":"/ Get the type information for this type (static)","span":{"file_name":"src/pointer/mod.rs","byte_start":97847,"byte_end":97898,"line_start":765,"line_end":765,"column_start":5,"column_end":56}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":97903,"byte_end":97907,"line_start":766,"line_end":766,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1727},"span":{"file_name":"src/pointer/mod.rs","byte_start":98032,"byte_end":98045,"line_start":771,"line_end":771,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::pointer::NP_Value::self_type_idx","value":"pub fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Get the type information for this type (instance)\n \n","sig":null,"attributes":[{"value":"/ Get the type information for this type (instance)","span":{"file_name":"src/pointer/mod.rs","byte_start":97962,"byte_end":98015,"line_start":769,"line_end":769,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98020,"byte_end":98024,"line_start":770,"line_end":770,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1728},"span":{"file_name":"src/pointer/mod.rs","byte_start":98163,"byte_end":98177,"line_start":775,"line_end":775,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::pointer::NP_Value::schema_to_json","value":"pub fn schema_to_json(&Vec, usize)\n-> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Convert the schema byte array for this type into JSON\n \n","sig":null,"attributes":[{"value":"/ Convert the schema byte array for this type into JSON","span":{"file_name":"src/pointer/mod.rs","byte_start":98089,"byte_end":98146,"line_start":773,"line_end":773,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98151,"byte_end":98155,"line_start":774,"line_end":774,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1729},"span":{"file_name":"src/pointer/mod.rs","byte_start":98301,"byte_end":98314,"line_start":779,"line_end":779,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::pointer::NP_Value::schema_to_idl","value":"pub fn schema_to_idl(&Vec, usize)\n-> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Export schema to IDL\n \n","sig":null,"attributes":[{"value":"/ Export schema to IDL","span":{"file_name":"src/pointer/mod.rs","byte_start":98260,"byte_end":98284,"line_start":777,"line_end":777,"column_start":5,"column_end":29}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98289,"byte_end":98293,"line_start":778,"line_end":778,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1730},"span":{"file_name":"src/pointer/mod.rs","byte_start":98445,"byte_end":98463,"line_start":783,"line_end":783,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::pointer::NP_Value::from_idl_to_schema","value":"pub fn from_idl_to_schema(Vec, &str, &JS_Schema,\n&Vec) -> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Parse JSON schema into schema","sig":null,"attributes":[{"value":"/ Parse JSON schema into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98396,"byte_end":98429,"line_start":781,"line_end":781,"column_start":5,"column_end":38}},{"value":"/","span":{"file_name":"src/pointer/mod.rs","byte_start":98434,"byte_end":98437,"line_start":782,"line_end":782,"column_start":5,"column_end":8}}]},{"kind":"Method","id":{"krate":0,"index":1731},"span":{"file_name":"src/pointer/mod.rs","byte_start":98659,"byte_end":98678,"line_start":787,"line_end":787,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::pointer::NP_Value::from_json_to_schema","value":"pub fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Parse JSON schema into schema","sig":null,"attributes":[{"value":"/ Parse JSON schema into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98610,"byte_end":98643,"line_start":785,"line_end":785,"column_start":5,"column_end":38}},{"value":"/","span":{"file_name":"src/pointer/mod.rs","byte_start":98648,"byte_end":98651,"line_start":786,"line_end":786,"column_start":5,"column_end":8}}]},{"kind":"Method","id":{"krate":0,"index":1732},"span":{"file_name":"src/pointer/mod.rs","byte_start":98848,"byte_end":98868,"line_start":791,"line_end":791,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::pointer::NP_Value::from_bytes_to_schema","value":"pub fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Parse bytes into schema\n \n","sig":null,"attributes":[{"value":"/ Parse bytes into schema","span":{"file_name":"src/pointer/mod.rs","byte_start":98804,"byte_end":98831,"line_start":789,"line_end":789,"column_start":5,"column_end":32}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":98836,"byte_end":98840,"line_start":790,"line_end":790,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743557},"span":{"file_name":"src/pointer/mod.rs","byte_start":99050,"byte_end":99057,"line_start":795,"line_end":795,"column_start":24,"column_end":31},"name":"_cursor","qualname":"::pointer::NP_Value::set_value::_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872645},"span":{"file_name":"src/pointer/mod.rs","byte_start":99070,"byte_end":99077,"line_start":795,"line_end":795,"column_start":44,"column_end":51},"name":"_memory","qualname":"::pointer::NP_Value::set_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614469},"span":{"file_name":"src/pointer/mod.rs","byte_start":99096,"byte_end":99102,"line_start":795,"line_end":795,"column_start":70,"column_end":76},"name":"_value","qualname":"::pointer::NP_Value::set_value::_value","value":"Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1733},"span":{"file_name":"src/pointer/mod.rs","byte_start":99034,"byte_end":99043,"line_start":795,"line_end":795,"column_start":8,"column_end":17},"name":"set_value","qualname":"::pointer::NP_Value::set_value","value":"pub fn set_value<'set>(NP_Cursor, &'set NP_Memory, Self)\n-> Result where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Set the value of this scalar into the buffer\n \n","sig":null,"attributes":[{"value":"/ Set the value of this scalar into the buffer","span":{"file_name":"src/pointer/mod.rs","byte_start":98969,"byte_end":99017,"line_start":793,"line_end":793,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99022,"byte_end":99026,"line_start":794,"line_end":794,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308101},"span":{"file_name":"src/pointer/mod.rs","byte_start":99180,"byte_end":99187,"line_start":796,"line_end":796,"column_start":13,"column_end":20},"name":"message","qualname":"message$HirId { owner: DefId(0:1733 ~ no_proto[7dec]::pointer::NP_Value::set_value), local_id: 12 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1735},"span":{"file_name":"src/pointer/mod.rs","byte_start":99337,"byte_end":99350,"line_start":802,"line_end":802,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::pointer::NP_Value::set_from_json","value":"pub fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory,\n&Box) -> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Set value from JSON\n \n","sig":null,"attributes":[{"value":"/ Set value from JSON","span":{"file_name":"src/pointer/mod.rs","byte_start":99297,"byte_end":99320,"line_start":800,"line_end":800,"column_start":5,"column_end":28}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99325,"byte_end":99329,"line_start":801,"line_end":801,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743561},"span":{"file_name":"src/pointer/mod.rs","byte_start":99593,"byte_end":99600,"line_start":806,"line_end":806,"column_start":19,"column_end":26},"name":"_cursor","qualname":"::pointer::NP_Value::into_value::_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872649},"span":{"file_name":"src/pointer/mod.rs","byte_start":99614,"byte_end":99621,"line_start":806,"line_end":806,"column_start":40,"column_end":47},"name":"_memory","qualname":"::pointer::NP_Value::into_value::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1737},"span":{"file_name":"src/pointer/mod.rs","byte_start":99582,"byte_end":99592,"line_start":806,"line_end":806,"column_start":8,"column_end":18},"name":"into_value","qualname":"::pointer::NP_Value::into_value","value":"pub fn into_value(&NP_Cursor, &'value NP_Memory)\n-> Result, NP_Error> where Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Pull the data from the buffer and convert into type\n \n","sig":null,"attributes":[{"value":"/ Pull the data from the buffer and convert into type","span":{"file_name":"src/pointer/mod.rs","byte_start":99510,"byte_end":99565,"line_start":804,"line_end":804,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99570,"byte_end":99574,"line_start":805,"line_end":805,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1342179017},"span":{"file_name":"src/pointer/mod.rs","byte_start":99708,"byte_end":99715,"line_start":807,"line_end":807,"column_start":13,"column_end":20},"name":"message","qualname":"message$HirId { owner: DefId(0:1737 ~ no_proto[7dec]::pointer::NP_Value::into_value), local_id: 10 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1738},"span":{"file_name":"src/pointer/mod.rs","byte_start":99878,"byte_end":99891,"line_start":813,"line_end":813,"column_start":8,"column_end":21},"name":"default_value","qualname":"::pointer::NP_Value::default_value","value":"pub fn default_value(usize, usize, &'value Vec)\n-> Option where Self: Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Get the default value from the schema\n \n","sig":null,"attributes":[{"value":"/ Get the default value from the schema","span":{"file_name":"src/pointer/mod.rs","byte_start":99820,"byte_end":99861,"line_start":811,"line_end":811,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":99866,"byte_end":99870,"line_start":812,"line_end":812,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1739},"span":{"file_name":"src/pointer/mod.rs","byte_start":100088,"byte_end":100095,"line_start":817,"line_end":817,"column_start":8,"column_end":15},"name":"to_json","qualname":"::pointer::NP_Value::to_json","value":"pub fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Convert this type into a JSON value (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Convert this type into a JSON value (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100004,"byte_end":100071,"line_start":815,"line_end":815,"column_start":5,"column_end":72}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100076,"byte_end":100080,"line_start":816,"line_end":816,"column_start":5,"column_end":9}}]},{"kind":"Method","id":{"krate":0,"index":1740},"span":{"file_name":"src/pointer/mod.rs","byte_start":100275,"byte_end":100283,"line_start":821,"line_end":821,"column_start":8,"column_end":16},"name":"get_size","qualname":"::pointer::NP_Value::get_size","value":"pub fn get_size(usize, &'value NP_Cursor, &'value NP_Memory)\n-> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Calculate the size of this pointer and it's children (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Calculate the size of this pointer and it's children (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100174,"byte_end":100258,"line_start":819,"line_end":819,"column_start":5,"column_end":89}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100263,"byte_end":100267,"line_start":820,"line_end":820,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073743565},"span":{"file_name":"src/pointer/mod.rs","byte_start":100509,"byte_end":100515,"line_start":825,"line_end":825,"column_start":19,"column_end":25},"name":"_depth","qualname":"::pointer::NP_Value::do_compact::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872653},"span":{"file_name":"src/pointer/mod.rs","byte_start":100524,"byte_end":100535,"line_start":825,"line_end":825,"column_start":34,"column_end":45},"name":"from_cursor","qualname":"::pointer::NP_Value::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614477},"span":{"file_name":"src/pointer/mod.rs","byte_start":100548,"byte_end":100559,"line_start":825,"line_end":825,"column_start":58,"column_end":69},"name":"from_memory","qualname":"::pointer::NP_Value::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437197},"span":{"file_name":"src/pointer/mod.rs","byte_start":100580,"byte_end":100589,"line_start":825,"line_end":825,"column_start":90,"column_end":99},"name":"to_cursor","qualname":"::pointer::NP_Value::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179021},"span":{"file_name":"src/pointer/mod.rs","byte_start":100602,"byte_end":100611,"line_start":825,"line_end":825,"column_start":112,"column_end":121},"name":"to_memory","qualname":"::pointer::NP_Value::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1741},"span":{"file_name":"src/pointer/mod.rs","byte_start":100498,"byte_end":100508,"line_start":825,"line_end":825,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::pointer::NP_Value::do_compact","value":"pub fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":null,"docs":" Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections)\n \n","sig":null,"attributes":[{"value":"/ Handle copying from old pointer/buffer to new pointer/buffer (recursive for collections)","span":{"file_name":"src/pointer/mod.rs","byte_start":100389,"byte_end":100481,"line_start":823,"line_end":823,"column_start":5,"column_end":97}},{"value":"/ ","span":{"file_name":"src/pointer/mod.rs","byte_start":100486,"byte_end":100490,"line_start":824,"line_end":824,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1677723341},"span":{"file_name":"src/pointer/mod.rs","byte_start":100771,"byte_end":100772,"line_start":828,"line_end":828,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1741 ~ no_proto[7dec]::pointer::NP_Value::do_compact), local_id: 38 }","value":"Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1742},"span":{"file_name":"src/collection/mod.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"collection","qualname":"::collection","value":"src/collection/mod.rs","parent":null,"children":[{"krate":0,"index":1743},{"krate":0,"index":1866},{"krate":0,"index":1966},{"krate":0,"index":2084}],"decl_id":null,"docs":" Collections: NP_Struct, NP_Tuple, NP_List & NP_Map\n","sig":null,"attributes":[{"value":"/ Collections: NP_Struct, NP_Tuple, NP_List & NP_Map","span":{"file_name":"src/collection/mod.rs","byte_start":366705,"byte_end":366759,"line_start":1,"line_end":1,"column_start":1,"column_end":55}}]},{"kind":"Mod","id":{"krate":0,"index":1743},"span":{"file_name":"src/collection/struc.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"struc","qualname":"::collection::struc","value":"src/collection/struc.rs","parent":null,"children":[{"krate":0,"index":1744},{"krate":0,"index":1747},{"krate":0,"index":1748},{"krate":0,"index":1751},{"krate":0,"index":1752},{"krate":0,"index":1755},{"krate":0,"index":1758},{"krate":0,"index":1761},{"krate":0,"index":1762},{"krate":0,"index":1763},{"krate":0,"index":1766},{"krate":0,"index":1769},{"krate":0,"index":1770},{"krate":0,"index":1773},{"krate":0,"index":1776},{"krate":0,"index":1779},{"krate":0,"index":1780},{"krate":0,"index":1783},{"krate":0,"index":1784},{"krate":0,"index":1785},{"krate":0,"index":1788},{"krate":0,"index":1789},{"krate":0,"index":1792},{"krate":0,"index":1793},{"krate":0,"index":1794},{"krate":0,"index":1797},{"krate":0,"index":1798},{"krate":0,"index":1801},{"krate":0,"index":1804},{"krate":0,"index":1805},{"krate":0,"index":1808},{"krate":0,"index":1811},{"krate":0,"index":1812},{"krate":0,"index":1815},{"krate":0,"index":1818},{"krate":0,"index":1821},{"krate":0,"index":1824},{"krate":0,"index":1827},{"krate":0,"index":1830},{"krate":0,"index":1831},{"krate":0,"index":3571},{"krate":0,"index":3578},{"krate":0,"index":1834},{"krate":0,"index":1848},{"krate":0,"index":3581},{"krate":0,"index":3582},{"krate":0,"index":3584},{"krate":0,"index":3585},{"krate":0,"index":3586},{"krate":0,"index":3588},{"krate":0,"index":3589},{"krate":0,"index":3590},{"krate":0,"index":3592},{"krate":0,"index":3594},{"krate":0,"index":3595},{"krate":0,"index":3597}],"decl_id":null,"docs":" Struct data type\n","sig":null,"attributes":[{"value":"/ Struct data type","span":{"file_name":"src/collection/mod.rs","byte_start":366761,"byte_end":366781,"line_start":3,"line_end":3,"column_start":1,"column_end":21}}]},{"kind":"Struct","id":{"krate":0,"index":3571},"span":{"file_name":"src/collection/struc.rs","byte_start":367565,"byte_end":367574,"line_start":19,"line_end":19,"column_start":12,"column_end":21},"name":"NP_Struct","qualname":"::collection::struc::NP_Struct","value":"NP_Struct { index, v_table, v_table_addr, v_table_index, table }","parent":null,"children":[{"krate":0,"index":3573},{"krate":0,"index":3574},{"krate":0,"index":3575},{"krate":0,"index":3576},{"krate":0,"index":3577}],"decl_id":null,"docs":" The data type for tables in NoProto buffers.\n \n","sig":null,"attributes":[{"value":"/ The data type for tables in NoProto buffers.","span":{"file_name":"src/collection/struc.rs","byte_start":367468,"byte_end":367516,"line_start":15,"line_end":15,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/collection/struc.rs","byte_start":367517,"byte_end":367521,"line_start":16,"line_end":16,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3573},"span":{"file_name":"src/collection/struc.rs","byte_start":367589,"byte_end":367594,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::struc::NP_Struct::index","value":"usize","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3574},"span":{"file_name":"src/collection/struc.rs","byte_start":367607,"byte_end":367614,"line_start":21,"line_end":21,"column_start":5,"column_end":12},"name":"v_table","qualname":"::collection::struc::NP_Struct::v_table","value":"core::option::Option<&'table mut pointer::NP_Vtable>","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3575},"span":{"file_name":"src/collection/struc.rs","byte_start":367651,"byte_end":367663,"line_start":22,"line_end":22,"column_start":5,"column_end":17},"name":"v_table_addr","qualname":"::collection::struc::NP_Struct::v_table_addr","value":"usize","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3576},"span":{"file_name":"src/collection/struc.rs","byte_start":367676,"byte_end":367689,"line_start":23,"line_end":23,"column_start":5,"column_end":18},"name":"v_table_index","qualname":"::collection::struc::NP_Struct::v_table_index","value":"usize","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3577},"span":{"file_name":"src/collection/struc.rs","byte_start":367702,"byte_end":367707,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"name":"table","qualname":"::collection::struc::NP_Struct::table","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3571},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743660},"span":{"file_name":"src/collection/struc.rs","byte_start":367827,"byte_end":367839,"line_start":31,"line_end":31,"column_start":23,"column_end":35},"name":"table_cursor","qualname":"::select::table_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872748},"span":{"file_name":"src/collection/struc.rs","byte_start":367852,"byte_end":367858,"line_start":31,"line_end":31,"column_start":48,"column_end":54},"name":"schema","qualname":"::select::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614572},"span":{"file_name":"src/collection/struc.rs","byte_start":367880,"byte_end":367883,"line_start":31,"line_end":31,"column_start":76,"column_end":79},"name":"key","qualname":"::select::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437292},"span":{"file_name":"src/collection/struc.rs","byte_start":367891,"byte_end":367900,"line_start":31,"line_end":31,"column_start":87,"column_end":96},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179116},"span":{"file_name":"src/collection/struc.rs","byte_start":367908,"byte_end":367920,"line_start":31,"line_end":31,"column_start":104,"column_end":116},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308204},"span":{"file_name":"src/collection/struc.rs","byte_start":367928,"byte_end":367934,"line_start":31,"line_end":31,"column_start":124,"column_end":130},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1836},"span":{"file_name":"src/collection/struc.rs","byte_start":367816,"byte_end":367822,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &NP_Parsed_Schema, &str, bool, bool, &NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":367787,"byte_end":367804,"line_start":30,"line_end":30,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3623880492},"span":{"file_name":"src/collection/struc.rs","byte_start":368013,"byte_end":368017,"line_start":33,"line_end":33,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 27 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336172},"span":{"file_name":"src/collection/struc.rs","byte_start":368118,"byte_end":368121,"line_start":35,"line_end":35,"column_start":44,"column_end":47},"name":"val","qualname":"$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 45 }::val","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201328428},"span":{"file_name":"src/collection/struc.rs","byte_start":368162,"byte_end":368163,"line_start":36,"line_end":36,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 48 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583693100},"span":{"file_name":"src/collection/struc.rs","byte_start":368349,"byte_end":368356,"line_start":42,"line_end":42,"column_start":21,"column_end":28},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 89 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148780},"span":{"file_name":"src/collection/struc.rs","byte_start":368413,"byte_end":368424,"line_start":43,"line_end":43,"column_start":21,"column_end":32},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 97 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842412},"span":{"file_name":"src/collection/struc.rs","byte_start":368507,"byte_end":368518,"line_start":45,"line_end":45,"column_start":25,"column_end":36},"name":"table_value","qualname":"table_value$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 106 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110419756},"span":{"file_name":"src/collection/struc.rs","byte_start":368937,"byte_end":368948,"line_start":57,"line_end":57,"column_start":25,"column_end":36},"name":"seek_vtable","qualname":"seek_vtable$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 175 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2634024748},"span":{"file_name":"src/collection/struc.rs","byte_start":368983,"byte_end":368997,"line_start":58,"line_end":58,"column_start":25,"column_end":39},"name":"vtable_address","qualname":"vtable_address$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 185 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124075308},"span":{"file_name":"src/collection/struc.rs","byte_start":369101,"byte_end":369109,"line_start":61,"line_end":61,"column_start":29,"column_end":37},"name":"loop_max","qualname":"loop_max$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 194 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600470316},"span":{"file_name":"src/collection/struc.rs","byte_start":369215,"byte_end":369226,"line_start":63,"line_end":63,"column_start":29,"column_end":40},"name":"this_vtable","qualname":"this_vtable$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 217 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":117442348},"span":{"file_name":"src/collection/struc.rs","byte_start":369299,"byte_end":369310,"line_start":64,"line_end":64,"column_start":29,"column_end":40},"name":"next_vtable","qualname":"next_vtable$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 224 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1115686700},"span":{"file_name":"src/collection/struc.rs","byte_start":369875,"byte_end":369887,"line_start":80,"line_end":80,"column_start":21,"column_end":33},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:1836 ~ no_proto[7dec]::collection::struc::{impl#0}::select), local_id: 322 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743662},"span":{"file_name":"src/collection/struc.rs","byte_start":370157,"byte_end":370169,"line_start":90,"line_end":90,"column_start":37,"column_end":49},"name":"table_cursor","qualname":"::make_first_vtable::table_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872750},"span":{"file_name":"src/collection/struc.rs","byte_start":370182,"byte_end":370188,"line_start":90,"line_end":90,"column_start":62,"column_end":68},"name":"memory","qualname":"::make_first_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1838},"span":{"file_name":"src/collection/struc.rs","byte_start":370132,"byte_end":370149,"line_start":90,"line_end":90,"column_start":12,"column_end":29},"name":"make_first_vtable","qualname":"::make_first_vtable","value":"pub fn make_first_vtable<'make>(NP_Cursor, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370103,"byte_end":370120,"line_start":89,"line_end":89,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2214594350},"span":{"file_name":"src/collection/struc.rs","byte_start":370254,"byte_end":370271,"line_start":92,"line_end":92,"column_start":13,"column_end":30},"name":"first_vtable_addr","qualname":"first_vtable_addr$HirId { owner: DefId(0:1838 ~ no_proto[7dec]::collection::struc::{impl#0}::make_first_vtable), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743665},"span":{"file_name":"src/collection/struc.rs","byte_start":370503,"byte_end":370514,"line_start":100,"line_end":100,"column_start":36,"column_end":47},"name":"prev_vtable","qualname":"::make_next_vtable::prev_vtable","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872753},"span":{"file_name":"src/collection/struc.rs","byte_start":370538,"byte_end":370544,"line_start":100,"line_end":100,"column_start":71,"column_end":77},"name":"memory","qualname":"::make_next_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1841},"span":{"file_name":"src/collection/struc.rs","byte_start":370479,"byte_end":370495,"line_start":100,"line_end":100,"column_start":12,"column_end":28},"name":"make_next_vtable","qualname":"::make_next_vtable","value":"pub fn make_next_vtable<'make>(&'make mut NP_Vtable, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370450,"byte_end":370467,"line_start":99,"line_end":99,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2214594353},"span":{"file_name":"src/collection/struc.rs","byte_start":370606,"byte_end":370617,"line_start":102,"line_end":102,"column_start":13,"column_end":24},"name":"vtable_addr","qualname":"vtable_addr$HirId { owner: DefId(0:1841 ~ no_proto[7dec]::collection::struc::{impl#0}::make_next_vtable), local_id: 33 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743668},"span":{"file_name":"src/collection/struc.rs","byte_start":370798,"byte_end":370804,"line_start":110,"line_end":110,"column_start":21,"column_end":27},"name":"cursor","qualname":"::new_iter::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872756},"span":{"file_name":"src/collection/struc.rs","byte_start":370818,"byte_end":370824,"line_start":110,"line_end":110,"column_start":41,"column_end":47},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1844},"span":{"file_name":"src/collection/struc.rs","byte_start":370789,"byte_end":370797,"line_start":110,"line_end":110,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &'table NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":370760,"byte_end":370777,"line_start":109,"line_end":109,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2952791860},"span":{"file_name":"src/collection/struc.rs","byte_start":370868,"byte_end":370879,"line_start":112,"line_end":112,"column_start":13,"column_end":24},"name":"table_value","qualname":"table_value$HirId { owner: DefId(0:1844 ~ no_proto[7dec]::collection::struc::{impl#0}::new_iter), local_id: 13 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892315956},"span":{"file_name":"src/collection/struc.rs","byte_start":370921,"byte_end":370931,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:1844 ~ no_proto[7dec]::collection::struc::{impl#0}::new_iter), local_id: 23 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743669},"span":{"file_name":"src/collection/struc.rs","byte_start":371342,"byte_end":371354,"line_start":130,"line_end":130,"column_start":32,"column_end":44},"name":"v_table_addr","qualname":"::get_vtable::v_table_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872757},"span":{"file_name":"src/collection/struc.rs","byte_start":371363,"byte_end":371369,"line_start":130,"line_end":130,"column_start":53,"column_end":59},"name":"memory","qualname":"::get_vtable::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1845},"span":{"file_name":"src/collection/struc.rs","byte_start":371322,"byte_end":371332,"line_start":130,"line_end":130,"column_start":12,"column_end":22},"name":"get_vtable","qualname":"::get_vtable","value":"pub fn get_vtable<'vtable>(usize, &'vtable NP_Memory)\n-> &'vtable mut NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":371293,"byte_end":371310,"line_start":129,"line_end":129,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743671},"span":{"file_name":"src/collection/struc.rs","byte_start":371761,"byte_end":371765,"line_start":139,"line_end":139,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872759},"span":{"file_name":"src/collection/struc.rs","byte_start":371767,"byte_end":371773,"line_start":139,"line_end":139,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1847},"span":{"file_name":"src/collection/struc.rs","byte_start":371746,"byte_end":371755,"line_start":139,"line_end":139,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &'table NP_Memory)\n-> Option<(usize, &'table str, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/struc.rs","byte_start":371717,"byte_end":371734,"line_start":138,"line_end":138,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2550138679},"span":{"file_name":"src/collection/struc.rs","byte_start":371860,"byte_end":371864,"line_start":141,"line_end":141,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 25 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199351},"span":{"file_name":"src/collection/struc.rs","byte_start":372050,"byte_end":372057,"line_start":147,"line_end":147,"column_start":13,"column_end":20},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 52 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154118455},"span":{"file_name":"src/collection/struc.rs","byte_start":372115,"byte_end":372126,"line_start":148,"line_end":148,"column_start":13,"column_end":24},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 61 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257655},"span":{"file_name":"src/collection/struc.rs","byte_start":372333,"byte_end":372339,"line_start":153,"line_end":153,"column_start":22,"column_end":28},"name":"vtable","qualname":"vtable$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 81 }","value":"&&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564023},"span":{"file_name":"src/collection/struc.rs","byte_start":372370,"byte_end":372381,"line_start":154,"line_end":154,"column_start":25,"column_end":36},"name":"next_vtable","qualname":"next_vtable$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 93 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103786807},"span":{"file_name":"src/collection/struc.rs","byte_start":372817,"byte_end":372827,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"name":"this_index","qualname":"this_index$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 157 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":754976567},"span":{"file_name":"src/collection/struc.rs","byte_start":372920,"byte_end":372932,"line_start":171,"line_end":171,"column_start":17,"column_end":29},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:1847 ~ no_proto[7dec]::collection::struc::{impl#0}::step_iter), local_id: 180 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743674},"span":{"file_name":"src/collection/struc.rs","byte_start":373320,"byte_end":373325,"line_start":182,"line_end":182,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872762},"span":{"file_name":"src/collection/struc.rs","byte_start":373333,"byte_end":373339,"line_start":182,"line_end":182,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614586},"span":{"file_name":"src/collection/struc.rs","byte_start":373353,"byte_end":373359,"line_start":182,"line_end":182,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1850},"span":{"file_name":"src/collection/struc.rs","byte_start":373312,"byte_end":373319,"line_start":182,"line_end":182,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961402},"span":{"file_name":"src/collection/struc.rs","byte_start":373405,"byte_end":373412,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1850 ~ no_proto[7dec]::collection::struc::{impl#1}::to_json), local_id: 18 }","value":"[closure@src/collection/struc.rs:183:23: 183:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409287994},"span":{"file_name":"src/collection/struc.rs","byte_start":373535,"byte_end":373543,"line_start":187,"line_end":187,"column_start":17,"column_end":25},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1850 ~ no_proto[7dec]::collection::struc::{impl#1}::to_json), local_id: 42 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763898},"span":{"file_name":"src/collection/struc.rs","byte_start":373577,"byte_end":373582,"line_start":189,"line_end":189,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1850 ~ no_proto[7dec]::collection::struc::{impl#1}::to_json), local_id: 56 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1852},"span":{"file_name":"src/collection/struc.rs","byte_start":374018,"byte_end":374026,"line_start":202,"line_end":202,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743677},"span":{"file_name":"src/collection/struc.rs","byte_start":374117,"byte_end":374121,"line_start":203,"line_end":203,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1853},"span":{"file_name":"src/collection/struc.rs","byte_start":374102,"byte_end":374115,"line_start":203,"line_end":203,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743678},"span":{"file_name":"src/collection/struc.rs","byte_start":374217,"byte_end":374222,"line_start":205,"line_end":205,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872766},"span":{"file_name":"src/collection/struc.rs","byte_start":374231,"byte_end":374241,"line_start":205,"line_end":205,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614590},"span":{"file_name":"src/collection/struc.rs","byte_start":374249,"byte_end":374255,"line_start":205,"line_end":205,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437310},"span":{"file_name":"src/collection/struc.rs","byte_start":374268,"byte_end":374274,"line_start":205,"line_end":205,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179134},"span":{"file_name":"src/collection/struc.rs","byte_start":374293,"byte_end":374298,"line_start":205,"line_end":205,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1854},"span":{"file_name":"src/collection/struc.rs","byte_start":374197,"byte_end":374210,"line_start":205,"line_end":205,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267774},"span":{"file_name":"src/collection/struc.rs","byte_start":374387,"byte_end":374391,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1854 ~ no_proto[7dec]::collection::struc::{impl#1}::set_from_json), local_id: 30 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603981630},"span":{"file_name":"src/collection/struc.rs","byte_start":374492,"byte_end":374495,"line_start":209,"line_end":209,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1854 ~ no_proto[7dec]::collection::struc::{impl#1}::set_from_json), local_id: 36 }","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941182},"span":{"file_name":"src/collection/struc.rs","byte_start":374536,"byte_end":374544,"line_start":210,"line_end":210,"column_start":17,"column_end":25},"name":"json_col","qualname":"json_col$HirId { owner: DefId(0:1854 ~ no_proto[7dec]::collection::struc::{impl#1}::set_from_json), local_id: 54 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100606},"span":{"file_name":"src/collection/struc.rs","byte_start":374836,"byte_end":374837,"line_start":215,"line_end":215,"column_start":34,"column_end":35},"name":"x","qualname":"x$HirId { owner: DefId(0:1854 ~ no_proto[7dec]::collection::struc::{impl#1}::set_from_json), local_id: 104 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3707766590},"span":{"file_name":"src/collection/struc.rs","byte_start":375222,"byte_end":375223,"line_start":224,"line_end":224,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:1854 ~ no_proto[7dec]::collection::struc::{impl#1}::set_from_json), local_id: 187 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743680},"span":{"file_name":"src/collection/struc.rs","byte_start":375657,"byte_end":375663,"line_start":240,"line_end":240,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872768},"span":{"file_name":"src/collection/struc.rs","byte_start":375688,"byte_end":375695,"line_start":240,"line_end":240,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614592},"span":{"file_name":"src/collection/struc.rs","byte_start":375704,"byte_end":375709,"line_start":240,"line_end":240,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1856},"span":{"file_name":"src/collection/struc.rs","byte_start":375632,"byte_end":375652,"line_start":240,"line_end":240,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219584},"span":{"file_name":"src/collection/struc.rs","byte_start":375765,"byte_end":375777,"line_start":241,"line_end":241,"column_start":13,"column_end":25},"name":"fields_count","qualname":"fields_count$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939525952},"span":{"file_name":"src/collection/struc.rs","byte_start":375817,"byte_end":375830,"line_start":243,"line_end":243,"column_start":17,"column_end":30},"name":"parsed_fields","qualname":"parsed_fields$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 28 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336192},"span":{"file_name":"src/collection/struc.rs","byte_start":375880,"byte_end":375897,"line_start":245,"line_end":245,"column_start":13,"column_end":30},"name":"table_schema_addr","qualname":"table_schema_addr$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 35 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3657434944},"span":{"file_name":"src/collection/struc.rs","byte_start":376212,"byte_end":376225,"line_start":254,"line_end":254,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 91 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1174406976},"span":{"file_name":"src/collection/struc.rs","byte_start":376253,"byte_end":376259,"line_start":256,"line_end":256,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 98 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842432},"span":{"file_name":"src/collection/struc.rs","byte_start":376292,"byte_end":376300,"line_start":258,"line_end":258,"column_start":17,"column_end":25},"name":"hash_map","qualname":"hash_map$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 106 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771753792},"span":{"file_name":"src/collection/struc.rs","byte_start":376328,"byte_end":376329,"line_start":260,"line_end":260,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 116 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2701133632},"span":{"file_name":"src/collection/struc.rs","byte_start":376376,"byte_end":376388,"line_start":261,"line_end":261,"column_start":17,"column_end":29},"name":"col_name_len","qualname":"col_name_len$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 133 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493174080},"span":{"file_name":"src/collection/struc.rs","byte_start":376431,"byte_end":376445,"line_start":262,"line_end":262,"column_start":17,"column_end":31},"name":"col_name_bytes","qualname":"col_name_bytes$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 154 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694500672},"span":{"file_name":"src/collection/struc.rs","byte_start":376515,"byte_end":376523,"line_start":263,"line_end":263,"column_start":17,"column_end":25},"name":"col_name","qualname":"col_name$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 166 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946240},"span":{"file_name":"src/collection/struc.rs","byte_start":376643,"byte_end":376654,"line_start":267,"line_end":267,"column_start":17,"column_end":28},"name":"schema_size","qualname":"schema_size$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 198 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3003123520},"span":{"file_name":"src/collection/struc.rs","byte_start":376785,"byte_end":376795,"line_start":272,"line_end":272,"column_start":17,"column_end":27},"name":"field_addr","qualname":"field_addr$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 205 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599424},"span":{"file_name":"src/collection/struc.rs","byte_start":376839,"byte_end":376845,"line_start":273,"line_end":273,"column_start":21,"column_end":27},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1856 ~ no_proto[7dec]::collection::struc::{impl#1}::from_bytes_to_schema), local_id: 222 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743681},"span":{"file_name":"src/collection/struc.rs","byte_start":377744,"byte_end":377750,"line_start":294,"line_end":294,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872769},"span":{"file_name":"src/collection/struc.rs","byte_start":377776,"byte_end":377783,"line_start":294,"line_end":294,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1857},"span":{"file_name":"src/collection/struc.rs","byte_start":377729,"byte_end":377743,"line_start":294,"line_end":294,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308225},"span":{"file_name":"src/collection/struc.rs","byte_start":377838,"byte_end":377849,"line_start":295,"line_end":295,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1857 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070273},"span":{"file_name":"src/collection/struc.rs","byte_start":377975,"byte_end":377979,"line_start":298,"line_end":298,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1857 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187672897},"span":{"file_name":"src/collection/struc.rs","byte_start":378058,"byte_end":378064,"line_start":300,"line_end":300,"column_start":13,"column_end":19},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1857 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_json), local_id: 125 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556289},"span":{"file_name":"src/collection/struc.rs","byte_start":378105,"byte_end":378110,"line_start":300,"line_end":300,"column_start":60,"column_end":65},"name":"field","qualname":"$HirId { owner: DefId(0:1857 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_json), local_id: 121 }::field","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862657},"span":{"file_name":"src/collection/struc.rs","byte_start":378134,"byte_end":378138,"line_start":301,"line_end":301,"column_start":21,"column_end":25},"name":"cols","qualname":"cols$HirId { owner: DefId(0:1857 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_json), local_id: 76 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743683},"span":{"file_name":"src/collection/struc.rs","byte_start":378539,"byte_end":378544,"line_start":313,"line_end":313,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872771},"span":{"file_name":"src/collection/struc.rs","byte_start":378552,"byte_end":378558,"line_start":313,"line_end":313,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614595},"span":{"file_name":"src/collection/struc.rs","byte_start":378572,"byte_end":378578,"line_start":313,"line_end":313,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1859},"span":{"file_name":"src/collection/struc.rs","byte_start":378530,"byte_end":378538,"line_start":313,"line_end":313,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961411},"span":{"file_name":"src/collection/struc.rs","byte_start":378641,"byte_end":378648,"line_start":315,"line_end":315,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/collection/struc.rs:315:23: 315:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207107},"span":{"file_name":"src/collection/struc.rs","byte_start":378783,"byte_end":378791,"line_start":321,"line_end":321,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070275},"span":{"file_name":"src/collection/struc.rs","byte_start":378819,"byte_end":378829,"line_start":323,"line_end":323,"column_start":17,"column_end":27},"name":"nex_vtable","qualname":"nex_vtable$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 50 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941187},"span":{"file_name":"src/collection/struc.rs","byte_start":378885,"byte_end":378893,"line_start":324,"line_end":324,"column_start":17,"column_end":25},"name":"loop_max","qualname":"loop_max$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 54 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257667},"span":{"file_name":"src/collection/struc.rs","byte_start":378996,"byte_end":379002,"line_start":327,"line_end":327,"column_start":17,"column_end":23},"name":"vtable","qualname":"vtable$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 81 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503318339},"span":{"file_name":"src/collection/struc.rs","byte_start":379150,"byte_end":379155,"line_start":332,"line_end":332,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 120 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936131},"span":{"file_name":"src/collection/struc.rs","byte_start":379324,"byte_end":379332,"line_start":336,"line_end":336,"column_start":21,"column_end":29},"name":"add_size","qualname":"add_size$HirId { owner: DefId(0:1859 ~ no_proto[7dec]::collection::struc::{impl#1}::get_size), local_id: 174 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743685},"span":{"file_name":"src/collection/struc.rs","byte_start":379635,"byte_end":379640,"line_start":349,"line_end":349,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872773},"span":{"file_name":"src/collection/struc.rs","byte_start":379648,"byte_end":379659,"line_start":349,"line_end":349,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614597},"span":{"file_name":"src/collection/struc.rs","byte_start":379672,"byte_end":379683,"line_start":349,"line_end":349,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437317},"span":{"file_name":"src/collection/struc.rs","byte_start":379708,"byte_end":379717,"line_start":349,"line_end":349,"column_start":92,"column_end":101},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179141},"span":{"file_name":"src/collection/struc.rs","byte_start":379730,"byte_end":379739,"line_start":349,"line_end":349,"column_start":114,"column_end":123},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1861},"span":{"file_name":"src/collection/struc.rs","byte_start":379624,"byte_end":379634,"line_start":349,"line_end":349,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445061},"span":{"file_name":"src/collection/struc.rs","byte_start":379833,"byte_end":379843,"line_start":351,"line_end":351,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733573},"span":{"file_name":"src/collection/struc.rs","byte_start":380054,"byte_end":380069,"line_start":358,"line_end":358,"column_start":13,"column_end":28},"name":"to_cursor_value","qualname":"to_cursor_value$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 74 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704644933},"span":{"file_name":"src/collection/struc.rs","byte_start":380120,"byte_end":380136,"line_start":359,"line_end":359,"column_start":17,"column_end":33},"name":"last_real_vtable","qualname":"last_real_vtable$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 84 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436209477},"span":{"file_name":"src/collection/struc.rs","byte_start":380198,"byte_end":380213,"line_start":360,"line_end":360,"column_start":17,"column_end":32},"name":"last_vtable_idx","qualname":"last_vtable_idx$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 88 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971525},"span":{"file_name":"src/collection/struc.rs","byte_start":380237,"byte_end":380241,"line_start":362,"line_end":362,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 108 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108357},"span":{"file_name":"src/collection/struc.rs","byte_start":380352,"byte_end":380363,"line_start":364,"line_end":364,"column_start":13,"column_end":24},"name":"col_schemas","qualname":"col_schemas$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 115 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":16779077},"span":{"file_name":"src/collection/struc.rs","byte_start":380397,"byte_end":380402,"line_start":366,"line_end":366,"column_start":17,"column_end":22},"name":"struc","qualname":"struc$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 128 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103786821},"span":{"file_name":"src/collection/struc.rs","byte_start":380583,"byte_end":380590,"line_start":371,"line_end":371,"column_start":21,"column_end":28},"name":"v_table","qualname":"v_table$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 157 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242501},"span":{"file_name":"src/collection/struc.rs","byte_start":380649,"byte_end":380660,"line_start":372,"line_end":372,"column_start":21,"column_end":32},"name":"v_table_idx","qualname":"v_table_idx$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 165 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976202053},"span":{"file_name":"src/collection/struc.rs","byte_start":380808,"byte_end":380819,"line_start":375,"line_end":375,"column_start":25,"column_end":36},"name":"vtable_data","qualname":"vtable_data$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 183 }","value":"&mut pointer::NP_Vtable","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3875538757},"span":{"file_name":"src/collection/struc.rs","byte_start":381038,"byte_end":381047,"line_start":380,"line_end":380,"column_start":21,"column_end":30},"name":"item_addr","qualname":"item_addr$HirId { owner: DefId(0:1861 ~ no_proto[7dec]::collection::struc::{impl#1}::do_compact), local_id: 231 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743686},"span":{"file_name":"src/collection/struc.rs","byte_start":381333,"byte_end":381339,"line_start":388,"line_end":388,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872774},"span":{"file_name":"src/collection/struc.rs","byte_start":381365,"byte_end":381372,"line_start":388,"line_end":388,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1862},"span":{"file_name":"src/collection/struc.rs","byte_start":381319,"byte_end":381332,"line_start":388,"line_end":388,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832326},"span":{"file_name":"src/collection/struc.rs","byte_start":381422,"byte_end":381426,"line_start":389,"line_end":389,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1862 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751430},"span":{"file_name":"src/collection/struc.rs","byte_start":381509,"byte_end":381515,"line_start":391,"line_end":391,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1862 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483029830},"span":{"file_name":"src/collection/struc.rs","byte_start":381566,"byte_end":381576,"line_start":393,"line_end":393,"column_start":13,"column_end":23},"name":"last_index","qualname":"last_index$HirId { owner: DefId(0:1862 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_idl), local_id: 41 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812102},"span":{"file_name":"src/collection/struc.rs","byte_start":381615,"byte_end":381618,"line_start":394,"line_end":394,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:1862 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_idl), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070278},"span":{"file_name":"src/collection/struc.rs","byte_start":381620,"byte_end":381625,"line_start":394,"line_end":394,"column_start":19,"column_end":24},"name":"field","qualname":"field$HirId { owner: DefId(0:1862 ~ no_proto[7dec]::collection::struc::{impl#1}::schema_to_idl), local_id: 50 }","value":"&schema::NP_Struct_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743687},"span":{"file_name":"src/collection/struc.rs","byte_start":382028,"byte_end":382034,"line_start":408,"line_end":408,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872775},"span":{"file_name":"src/collection/struc.rs","byte_start":382059,"byte_end":382064,"line_start":408,"line_end":408,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614599},"span":{"file_name":"src/collection/struc.rs","byte_start":382072,"byte_end":382075,"line_start":408,"line_end":408,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437319},"span":{"file_name":"src/collection/struc.rs","byte_start":382089,"byte_end":382093,"line_start":408,"line_end":408,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1863},"span":{"file_name":"src/collection/struc.rs","byte_start":382005,"byte_end":382023,"line_start":408,"line_end":408,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090503},"span":{"file_name":"src/collection/struc.rs","byte_start":382187,"byte_end":382199,"line_start":409,"line_end":409,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723463},"span":{"file_name":"src/collection/struc.rs","byte_start":382290,"byte_end":382307,"line_start":412,"line_end":412,"column_start":13,"column_end":30},"name":"schema_table_addr","qualname":"schema_table_addr$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785019719},"span":{"file_name":"src/collection/struc.rs","byte_start":382621,"byte_end":382627,"line_start":420,"line_end":420,"column_start":17,"column_end":23},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 101 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845495623},"span":{"file_name":"src/collection/struc.rs","byte_start":382681,"byte_end":382691,"line_start":422,"line_end":422,"column_start":17,"column_end":27},"name":"field_data","qualname":"field_data$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 118 }","value":"std::vec::Vec<(std::string::String, std::vec::Vec)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261414727},"span":{"file_name":"src/collection/struc.rs","byte_start":382747,"byte_end":382760,"line_start":424,"line_end":424,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 127 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043310919},"span":{"file_name":"src/collection/struc.rs","byte_start":382811,"byte_end":382821,"line_start":426,"line_end":426,"column_start":17,"column_end":27},"name":"idl_fields","qualname":"idl_fields$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 143 }","value":"core::option::Option<&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177528647},"span":{"file_name":"src/collection/struc.rs","byte_start":382954,"byte_end":382964,"line_start":430,"line_end":430,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 159 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":620758855},"span":{"file_name":"src/collection/struc.rs","byte_start":382997,"byte_end":383000,"line_start":431,"line_end":431,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 164 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242503},"span":{"file_name":"src/collection/struc.rs","byte_start":383002,"byte_end":383007,"line_start":431,"line_end":431,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 165 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170895687},"span":{"file_name":"src/collection/struc.rs","byte_start":383222,"byte_end":383232,"line_start":435,"line_end":435,"column_start":54,"column_end":64},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 189 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526728519},"span":{"file_name":"src/collection/struc.rs","byte_start":383602,"byte_end":383612,"line_start":443,"line_end":443,"column_start":54,"column_end":64},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 218 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3632269127},"span":{"file_name":"src/collection/struc.rs","byte_start":384062,"byte_end":384063,"line_start":459,"line_end":459,"column_start":21,"column_end":22},"name":"x","qualname":"x$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 283 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2021656391},"span":{"file_name":"src/collection/struc.rs","byte_start":384089,"byte_end":384092,"line_start":460,"line_end":460,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 286 }","value":"&(idl::AST_STR, idl::JS_AST)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2357200711},"span":{"file_name":"src/collection/struc.rs","byte_start":384129,"byte_end":384139,"line_start":461,"line_end":461,"column_start":21,"column_end":31},"name":"field_name","qualname":"field_name$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 305 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2994734919},"span":{"file_name":"src/collection/struc.rs","byte_start":384363,"byte_end":384380,"line_start":466,"line_end":466,"column_start":21,"column_end":38},"name":"field_schema_addr","qualname":"field_schema_addr$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 333 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783264071},"span":{"file_name":"src/collection/struc.rs","byte_start":384638,"byte_end":384650,"line_start":469,"line_end":469,"column_start":22,"column_end":34},"name":"_is_sortable","qualname":"_is_sortable$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 391 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":293603143},"span":{"file_name":"src/collection/struc.rs","byte_start":384652,"byte_end":384662,"line_start":469,"line_end":469,"column_start":36,"column_end":46},"name":"field_type","qualname":"field_type$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 392 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2441086791},"span":{"file_name":"src/collection/struc.rs","byte_start":384664,"byte_end":384672,"line_start":469,"line_end":469,"column_start":48,"column_end":56},"name":"schema_p","qualname":"schema_p$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 393 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":71305031},"span":{"file_name":"src/collection/struc.rs","byte_start":385606,"byte_end":385609,"line_start":493,"line_end":493,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 544 }","value":"(std::string::String, std::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":205522759},"span":{"file_name":"src/collection/struc.rs","byte_start":385676,"byte_end":385681,"line_start":495,"line_end":495,"column_start":21,"column_end":26},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1863 ~ no_proto[7dec]::collection::struc::{impl#1}::from_idl_to_schema), local_id: 560 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743688},"span":{"file_name":"src/collection/struc.rs","byte_start":386366,"byte_end":386372,"line_start":514,"line_end":514,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872776},"span":{"file_name":"src/collection/struc.rs","byte_start":386397,"byte_end":386408,"line_start":514,"line_end":514,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1864},"span":{"file_name":"src/collection/struc.rs","byte_start":386342,"byte_end":386361,"line_start":514,"line_end":514,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219592},"span":{"file_name":"src/collection/struc.rs","byte_start":386504,"byte_end":386516,"line_start":516,"line_end":516,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852552},"span":{"file_name":"src/collection/struc.rs","byte_start":386607,"byte_end":386624,"line_start":519,"line_end":519,"column_start":13,"column_end":30},"name":"schema_table_addr","qualname":"schema_table_addr$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148808},"span":{"file_name":"src/collection/struc.rs","byte_start":386938,"byte_end":386944,"line_start":527,"line_end":527,"column_start":17,"column_end":23},"name":"fields","qualname":"fields$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 97 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624712},"span":{"file_name":"src/collection/struc.rs","byte_start":386998,"byte_end":387008,"line_start":529,"line_end":529,"column_start":17,"column_end":27},"name":"field_data","qualname":"field_data$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 114 }","value":"std::vec::Vec<(std::string::String, std::vec::Vec)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3724543816},"span":{"file_name":"src/collection/struc.rs","byte_start":387064,"byte_end":387077,"line_start":531,"line_end":531,"column_start":17,"column_end":30},"name":"schema_parsed","qualname":"schema_parsed$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 123 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1426065224},"span":{"file_name":"src/collection/struc.rs","byte_start":387124,"byte_end":387135,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"name":"json_fields","qualname":"json_fields$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 170 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":218105672},"span":{"file_name":"src/collection/struc.rs","byte_start":387459,"byte_end":387460,"line_start":542,"line_end":542,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 176 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439331144},"span":{"file_name":"src/collection/struc.rs","byte_start":387482,"byte_end":387485,"line_start":543,"line_end":543,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 179 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":184551240},"span":{"file_name":"src/collection/struc.rs","byte_start":387519,"byte_end":387529,"line_start":544,"line_end":544,"column_start":17,"column_end":27},"name":"field_name","qualname":"field_name$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 208 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1124075336},"span":{"file_name":"src/collection/struc.rs","byte_start":387580,"byte_end":387581,"line_start":545,"line_end":545,"column_start":33,"column_end":34},"name":"x","qualname":"x$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 194 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":922748744},"span":{"file_name":"src/collection/struc.rs","byte_start":387820,"byte_end":387837,"line_start":552,"line_end":552,"column_start":17,"column_end":34},"name":"field_schema_addr","qualname":"field_schema_addr$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 236 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2491418440},"span":{"file_name":"src/collection/struc.rs","byte_start":388071,"byte_end":388083,"line_start":555,"line_end":555,"column_start":18,"column_end":30},"name":"_is_sortable","qualname":"_is_sortable$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 297 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1417676616},"span":{"file_name":"src/collection/struc.rs","byte_start":388085,"byte_end":388095,"line_start":555,"line_end":555,"column_start":32,"column_end":42},"name":"field_type","qualname":"field_type$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 298 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3565160264},"span":{"file_name":"src/collection/struc.rs","byte_start":388097,"byte_end":388105,"line_start":555,"line_end":555,"column_start":44,"column_end":52},"name":"schema_p","qualname":"schema_p$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 299 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3179284296},"span":{"file_name":"src/collection/struc.rs","byte_start":388944,"byte_end":388947,"line_start":579,"line_end":579,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 445 }","value":"(std::string::String, std::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3011512136},"span":{"file_name":"src/collection/struc.rs","byte_start":389006,"byte_end":389011,"line_start":581,"line_end":581,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:1864 ~ no_proto[7dec]::collection::struc::{impl#1}::from_json_to_schema), local_id: 461 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743689},"span":{"file_name":"src/collection/struc.rs","byte_start":389519,"byte_end":389525,"line_start":598,"line_end":598,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872777},"span":{"file_name":"src/collection/struc.rs","byte_start":389534,"byte_end":389539,"line_start":598,"line_end":598,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614601},"span":{"file_name":"src/collection/struc.rs","byte_start":389548,"byte_end":389555,"line_start":598,"line_end":598,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1865},"span":{"file_name":"src/collection/struc.rs","byte_start":389505,"byte_end":389518,"line_start":598,"line_end":598,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3584},"span":{"file_name":"src/collection/struc.rs","byte_start":389633,"byte_end":389657,"line_start":605,"line_end":605,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::collection::struc::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874496},"span":{"file_name":"src/collection/struc.rs","byte_start":389694,"byte_end":389700,"line_start":606,"line_end":606,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3584 ~ no_proto[7dec]::collection::struc::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753152},"span":{"file_name":"src/collection/struc.rs","byte_start":389801,"byte_end":389808,"line_start":607,"line_end":607,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3584 ~ no_proto[7dec]::collection::struc::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699904},"span":{"file_name":"src/collection/struc.rs","byte_start":389902,"byte_end":389910,"line_start":609,"line_end":609,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3584 ~ no_proto[7dec]::collection::struc::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3588},"span":{"file_name":"src/collection/struc.rs","byte_start":390052,"byte_end":390072,"line_start":616,"line_end":616,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::collection::struc::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874500},"span":{"file_name":"src/collection/struc.rs","byte_start":390109,"byte_end":390115,"line_start":617,"line_end":617,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3588 ~ no_proto[7dec]::collection::struc::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753156},"span":{"file_name":"src/collection/struc.rs","byte_start":390271,"byte_end":390278,"line_start":618,"line_end":618,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3588 ~ no_proto[7dec]::collection::struc::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441732},"span":{"file_name":"src/collection/struc.rs","byte_start":390390,"byte_end":390398,"line_start":620,"line_end":620,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3588 ~ no_proto[7dec]::collection::struc::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3592},"span":{"file_name":"src/collection/struc.rs","byte_start":390552,"byte_end":390588,"line_start":626,"line_end":626,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::collection::struc::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874504},"span":{"file_name":"src/collection/struc.rs","byte_start":390625,"byte_end":390631,"line_start":627,"line_end":627,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3592 ~ no_proto[7dec]::collection::struc::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753160},"span":{"file_name":"src/collection/struc.rs","byte_start":390729,"byte_end":390736,"line_start":628,"line_end":628,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3592 ~ no_proto[7dec]::collection::struc::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547912},"span":{"file_name":"src/collection/struc.rs","byte_start":390831,"byte_end":390837,"line_start":631,"line_end":631,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3592 ~ no_proto[7dec]::collection::struc::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2743078408},"span":{"file_name":"src/collection/struc.rs","byte_start":391297,"byte_end":391303,"line_start":641,"line_end":641,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3592 ~ no_proto[7dec]::collection::struc::set_clear_value_and_compaction_works#1), local_id: 453 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3597},"span":{"file_name":"src/collection/struc.rs","byte_start":392068,"byte_end":392080,"line_start":663,"line_end":663,"column_start":4,"column_end":16},"name":"test_vtables","qualname":"::collection::struc::test_vtables","value":"fn test_vtables() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476398605},"span":{"file_name":"src/collection/struc.rs","byte_start":392117,"byte_end":392124,"line_start":664,"line_end":664,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3597 ~ no_proto[7dec]::collection::struc::test_vtables#1), local_id: 26 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288337933},"span":{"file_name":"src/collection/struc.rs","byte_start":392397,"byte_end":392403,"line_start":675,"line_end":675,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3597 ~ no_proto[7dec]::collection::struc::test_vtables#1), local_id: 35 }","value":"buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1866},"span":{"file_name":"src/collection/map.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"map","qualname":"::collection::map","value":"src/collection/map.rs","parent":null,"children":[{"krate":0,"index":1867},{"krate":0,"index":1868},{"krate":0,"index":1871},{"krate":0,"index":1874},{"krate":0,"index":1875},{"krate":0,"index":1876},{"krate":0,"index":1879},{"krate":0,"index":1882},{"krate":0,"index":1885},{"krate":0,"index":1886},{"krate":0,"index":1889},{"krate":0,"index":1892},{"krate":0,"index":1893},{"krate":0,"index":1896},{"krate":0,"index":1897},{"krate":0,"index":1900},{"krate":0,"index":1901},{"krate":0,"index":1902},{"krate":0,"index":1905},{"krate":0,"index":1906},{"krate":0,"index":1909},{"krate":0,"index":1912},{"krate":0,"index":1915},{"krate":0,"index":1918},{"krate":0,"index":1921},{"krate":0,"index":1924},{"krate":0,"index":1927},{"krate":0,"index":1930},{"krate":0,"index":3598},{"krate":0,"index":3601},{"krate":0,"index":1933},{"krate":0,"index":3603},{"krate":0,"index":3607},{"krate":0,"index":3610},{"krate":0,"index":3613},{"krate":0,"index":1936},{"krate":0,"index":3615},{"krate":0,"index":3622},{"krate":0,"index":1939},{"krate":0,"index":1949},{"krate":0,"index":3625},{"krate":0,"index":3626},{"krate":0,"index":3628},{"krate":0,"index":3629},{"krate":0,"index":3630},{"krate":0,"index":3632},{"krate":0,"index":3633},{"krate":0,"index":3634},{"krate":0,"index":3636}],"decl_id":null,"docs":" Map data type\n","sig":null,"attributes":[{"value":"/ Map data type","span":{"file_name":"src/collection/mod.rs","byte_start":366797,"byte_end":366814,"line_start":5,"line_end":5,"column_start":1,"column_end":18}}]},{"kind":"Struct","id":{"krate":0,"index":3598},"span":{"file_name":"src/collection/map.rs","byte_start":394077,"byte_end":394089,"line_start":16,"line_end":16,"column_start":12,"column_end":24},"name":"NP_Map_Bytes","qualname":"::collection::map::NP_Map_Bytes","value":"NP_Map_Bytes { head }","parent":null,"children":[{"krate":0,"index":3599}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/collection/map.rs","byte_start":394000,"byte_end":394010,"line_start":12,"line_end":12,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/collection/map.rs","byte_start":394043,"byte_end":394065,"line_start":15,"line_end":15,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3599},"span":{"file_name":"src/collection/map.rs","byte_start":394096,"byte_end":394100,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::map::NP_Map_Bytes::head","value":"[u8; 4]","parent":{"krate":0,"index":3598},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743758},"span":{"file_name":"src/collection/map.rs","byte_start":394203,"byte_end":394207,"line_start":23,"line_end":23,"column_start":26,"column_end":30},"name":"self","qualname":"::set_head::self","value":"&mut collection::map::NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872846},"span":{"file_name":"src/collection/map.rs","byte_start":394209,"byte_end":394213,"line_start":23,"line_end":23,"column_start":32,"column_end":36},"name":"head","qualname":"::set_head::head","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1934},"span":{"file_name":"src/collection/map.rs","byte_start":394189,"byte_end":394197,"line_start":23,"line_end":23,"column_start":12,"column_end":20},"name":"set_head","qualname":"::set_head","value":"pub fn set_head(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394160,"byte_end":394177,"line_start":22,"line_end":22,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743759},"span":{"file_name":"src/collection/map.rs","byte_start":394311,"byte_end":394315,"line_start":27,"line_end":27,"column_start":22,"column_end":26},"name":"self","qualname":"::get_head::self","value":"&collection::map::NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1935},"span":{"file_name":"src/collection/map.rs","byte_start":394301,"byte_end":394309,"line_start":27,"line_end":27,"column_start":12,"column_end":20},"name":"get_head","qualname":"::get_head","value":"pub fn get_head(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394272,"byte_end":394289,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Struct","id":{"krate":0,"index":3603},"span":{"file_name":"src/collection/map.rs","byte_start":394425,"byte_end":394433,"line_start":34,"line_end":34,"column_start":8,"column_end":16},"name":"Map_Item","qualname":"::collection::map::Map_Item","value":"Map_Item { key, buff_addr }","parent":null,"children":[{"krate":0,"index":3605},{"krate":0,"index":3606}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3605},"span":{"file_name":"src/collection/map.rs","byte_start":394447,"byte_end":394450,"line_start":35,"line_end":35,"column_start":5,"column_end":8},"name":"key","qualname":"::collection::map::Map_Item::key","value":"&'item str","parent":{"krate":0,"index":3603},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3606},"span":{"file_name":"src/collection/map.rs","byte_start":394468,"byte_end":394477,"line_start":36,"line_end":36,"column_start":5,"column_end":14},"name":"buff_addr","qualname":"::collection::map::Map_Item::buff_addr","value":"usize","parent":{"krate":0,"index":3603},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743762},"span":{"file_name":"src/collection/map.rs","byte_start":394533,"byte_end":394536,"line_start":40,"line_end":40,"column_start":16,"column_end":19},"name":"key","qualname":"::new::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872850},"span":{"file_name":"src/collection/map.rs","byte_start":394550,"byte_end":394559,"line_start":40,"line_end":40,"column_start":33,"column_end":42},"name":"buff_addr","qualname":"::new::buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1938},"span":{"file_name":"src/collection/map.rs","byte_start":394529,"byte_end":394532,"line_start":40,"line_end":40,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(&'item str, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3615},"span":{"file_name":"src/collection/map.rs","byte_start":394684,"byte_end":394690,"line_start":49,"line_end":49,"column_start":12,"column_end":18},"name":"NP_Map","qualname":"::collection::map::NP_Map","value":"NP_Map { count, current, head, map, value_of }","parent":null,"children":[{"krate":0,"index":3617},{"krate":0,"index":3618},{"krate":0,"index":3619},{"krate":0,"index":3620},{"krate":0,"index":3621}],"decl_id":null,"docs":" The map type.\n \n","sig":null,"attributes":[{"value":"/ The map type.","span":{"file_name":"src/collection/map.rs","byte_start":394618,"byte_end":394635,"line_start":45,"line_end":45,"column_start":1,"column_end":18}},{"value":"/ ","span":{"file_name":"src/collection/map.rs","byte_start":394636,"byte_end":394640,"line_start":46,"line_end":46,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3617},"span":{"file_name":"src/collection/map.rs","byte_start":394704,"byte_end":394709,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"name":"count","qualname":"::collection::map::NP_Map::count","value":"usize","parent":{"krate":0,"index":3615},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3618},"span":{"file_name":"src/collection/map.rs","byte_start":394722,"byte_end":394729,"line_start":51,"line_end":51,"column_start":5,"column_end":12},"name":"current","qualname":"::collection::map::NP_Map::current","value":"core::option::Option>","parent":{"krate":0,"index":3615},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3619},"span":{"file_name":"src/collection/map.rs","byte_start":394759,"byte_end":394763,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::map::NP_Map::head","value":"core::option::Option>","parent":{"krate":0,"index":3615},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3620},"span":{"file_name":"src/collection/map.rs","byte_start":394793,"byte_end":394796,"line_start":53,"line_end":53,"column_start":5,"column_end":8},"name":"map","qualname":"::collection::map::NP_Map::map","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3615},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3621},"span":{"file_name":"src/collection/map.rs","byte_start":394813,"byte_end":394821,"line_start":54,"line_end":54,"column_start":5,"column_end":13},"name":"value_of","qualname":"::collection::map::NP_Map::value_of","value":"usize","parent":{"krate":0,"index":3615},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743765},"span":{"file_name":"src/collection/map.rs","byte_start":394922,"byte_end":394932,"line_start":61,"line_end":61,"column_start":19,"column_end":29},"name":"map_cursor","qualname":"::select::map_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872853},"span":{"file_name":"src/collection/map.rs","byte_start":394945,"byte_end":394948,"line_start":61,"line_end":61,"column_start":42,"column_end":45},"name":"key","qualname":"::select::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614677},"span":{"file_name":"src/collection/map.rs","byte_start":394956,"byte_end":394965,"line_start":61,"line_end":61,"column_start":53,"column_end":62},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437397},"span":{"file_name":"src/collection/map.rs","byte_start":394973,"byte_end":394985,"line_start":61,"line_end":61,"column_start":70,"column_end":82},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179221},"span":{"file_name":"src/collection/map.rs","byte_start":394993,"byte_end":394999,"line_start":61,"line_end":61,"column_start":90,"column_end":96},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1941},"span":{"file_name":"src/collection/map.rs","byte_start":394915,"byte_end":394921,"line_start":61,"line_end":61,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &str, bool, bool, &'map NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":394886,"byte_end":394903,"line_start":60,"line_end":60,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2013267861},"span":{"file_name":"src/collection/map.rs","byte_start":395072,"byte_end":395076,"line_start":63,"line_end":63,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1941 ~ no_proto[7dec]::collection::map::{impl#2}::select), local_id: 30 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207189},"span":{"file_name":"src/collection/map.rs","byte_start":395213,"byte_end":395221,"line_start":66,"line_end":66,"column_start":17,"column_end":25},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1941 ~ no_proto[7dec]::collection::map::{impl#2}::select), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523217301},"span":{"file_name":"src/collection/map.rs","byte_start":395346,"byte_end":395354,"line_start":71,"line_end":71,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1941 ~ no_proto[7dec]::collection::map::{impl#2}::select), local_id: 75 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743766},"span":{"file_name":"src/collection/map.rs","byte_start":395810,"byte_end":395823,"line_start":89,"line_end":89,"column_start":26,"column_end":39},"name":"map_buff_addr","qualname":"::get_map::map_buff_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872854},"span":{"file_name":"src/collection/map.rs","byte_start":395832,"byte_end":395838,"line_start":89,"line_end":89,"column_start":48,"column_end":54},"name":"memory","qualname":"::get_map::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1942},"span":{"file_name":"src/collection/map.rs","byte_start":395796,"byte_end":395803,"line_start":89,"line_end":89,"column_start":12,"column_end":19},"name":"get_map","qualname":"::get_map","value":"pub fn get_map<'get>(usize, &'get NP_Memory) -> &'get mut NP_Map_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":395767,"byte_end":395784,"line_start":88,"line_end":88,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743768},"span":{"file_name":"src/collection/map.rs","byte_start":396238,"byte_end":396248,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"name":"map_cursor","qualname":"::new_iter::map_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872856},"span":{"file_name":"src/collection/map.rs","byte_start":396262,"byte_end":396268,"line_start":98,"line_end":98,"column_start":45,"column_end":51},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1944},"span":{"file_name":"src/collection/map.rs","byte_start":396229,"byte_end":396237,"line_start":98,"line_end":98,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &'map NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":396200,"byte_end":396217,"line_start":97,"line_end":97,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655128},"span":{"file_name":"src/collection/map.rs","byte_start":396310,"byte_end":396314,"line_start":100,"line_end":100,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1944 ~ no_proto[7dec]::collection::map::{impl#2}::new_iter), local_id: 24 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013267864},"span":{"file_name":"src/collection/map.rs","byte_start":396421,"byte_end":396429,"line_start":102,"line_end":102,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1944 ~ no_proto[7dec]::collection::map::{impl#2}::new_iter), local_id: 30 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060088216},"span":{"file_name":"src/collection/map.rs","byte_start":396723,"byte_end":396732,"line_start":114,"line_end":114,"column_start":13,"column_end":22},"name":"head_addr","qualname":"head_addr$HirId { owner: DefId(0:1944 ~ no_proto[7dec]::collection::map::{impl#2}::new_iter), local_id: 79 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148888},"span":{"file_name":"src/collection/map.rs","byte_start":396804,"byte_end":396815,"line_start":116,"line_end":116,"column_start":13,"column_end":24},"name":"head_cursor","qualname":"head_cursor$HirId { owner: DefId(0:1944 ~ no_proto[7dec]::collection::map::{impl#2}::new_iter), local_id: 97 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1442842520},"span":{"file_name":"src/collection/map.rs","byte_start":396900,"byte_end":396917,"line_start":117,"line_end":117,"column_start":13,"column_end":30},"name":"head_cursor_value","qualname":"head_cursor_value$HirId { owner: DefId(0:1944 ~ no_proto[7dec]::collection::map::{impl#2}::new_iter), local_id: 106 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743769},"span":{"file_name":"src/collection/map.rs","byte_start":397237,"byte_end":397241,"line_start":129,"line_end":129,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872857},"span":{"file_name":"src/collection/map.rs","byte_start":397243,"byte_end":397249,"line_start":129,"line_end":129,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1945},"span":{"file_name":"src/collection/map.rs","byte_start":397222,"byte_end":397231,"line_start":129,"line_end":129,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &'map NP_Memory) -> Option<(&'map str, NP_Cursor)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":397193,"byte_end":397210,"line_start":128,"line_end":128,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3087009689},"span":{"file_name":"src/collection/map.rs","byte_start":397436,"byte_end":397440,"line_start":136,"line_end":136,"column_start":18,"column_end":22},"name":"head","qualname":"head$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 29 }","value":"collection::map::Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288089},"span":{"file_name":"src/collection/map.rs","byte_start":397544,"byte_end":397551,"line_start":141,"line_end":141,"column_start":26,"column_end":33},"name":"current","qualname":"current$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 42 }","value":"collection::map::Map_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080376729},"span":{"file_name":"src/collection/map.rs","byte_start":397611,"byte_end":397623,"line_start":142,"line_end":142,"column_start":29,"column_end":41},"name":"current_item","qualname":"current_item$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 62 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3791652761},"span":{"file_name":"src/collection/map.rs","byte_start":397726,"byte_end":397739,"line_start":143,"line_end":143,"column_start":29,"column_end":42},"name":"current_value","qualname":"current_value$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 71 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2315257753},"span":{"file_name":"src/collection/map.rs","byte_start":397802,"byte_end":397812,"line_start":144,"line_end":144,"column_start":29,"column_end":39},"name":"next_value","qualname":"next_value$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 81 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455257},"span":{"file_name":"src/collection/map.rs","byte_start":398029,"byte_end":398046,"line_start":148,"line_end":148,"column_start":33,"column_end":50},"name":"next_value_cursor","qualname":"next_value_cursor$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 109 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845495705},"span":{"file_name":"src/collection/map.rs","byte_start":398146,"byte_end":398162,"line_start":149,"line_end":149,"column_start":33,"column_end":49},"name":"next_value_value","qualname":"next_value_value$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 118 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261414809},"span":{"file_name":"src/collection/map.rs","byte_start":398234,"byte_end":398237,"line_start":150,"line_end":150,"column_start":33,"column_end":36},"name":"key","qualname":"key$HirId { owner: DefId(0:1945 ~ no_proto[7dec]::collection::map::{impl#2}::step_iter), local_id: 127 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743770},"span":{"file_name":"src/collection/map.rs","byte_start":398865,"byte_end":398875,"line_start":168,"line_end":168,"column_start":19,"column_end":29},"name":"map_cursor","qualname":"::insert::map_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872858},"span":{"file_name":"src/collection/map.rs","byte_start":398889,"byte_end":398895,"line_start":168,"line_end":168,"column_start":43,"column_end":49},"name":"memory","qualname":"::insert::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614682},"span":{"file_name":"src/collection/map.rs","byte_start":398909,"byte_end":398912,"line_start":168,"line_end":168,"column_start":63,"column_end":66},"name":"key","qualname":"::insert::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1946},"span":{"file_name":"src/collection/map.rs","byte_start":398858,"byte_end":398864,"line_start":168,"line_end":168,"column_start":12,"column_end":18},"name":"insert","qualname":"::insert","value":"pub fn insert(&NP_Cursor, &NP_Memory, &str) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/map.rs","byte_start":398829,"byte_end":398846,"line_start":167,"line_end":167,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1476396954},"span":{"file_name":"src/collection/map.rs","byte_start":398966,"byte_end":398970,"line_start":170,"line_end":170,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 26 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":67110810},"span":{"file_name":"src/collection/map.rs","byte_start":399077,"byte_end":399085,"line_start":172,"line_end":172,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298202},"span":{"file_name":"src/collection/map.rs","byte_start":399245,"byte_end":399254,"line_start":178,"line_end":178,"column_start":13,"column_end":22},"name":"map_value","qualname":"map_value$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 66 }","value":"[closure@src/collection/map.rs:178:25: 178:60]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822298},"span":{"file_name":"src/collection/map.rs","byte_start":399307,"byte_end":399322,"line_start":180,"line_end":180,"column_start":13,"column_end":28},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 94 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455258},"span":{"file_name":"src/collection/map.rs","byte_start":399372,"byte_end":399382,"line_start":181,"line_end":181,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 109 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2969569178},"span":{"file_name":"src/collection/map.rs","byte_start":399484,"byte_end":399497,"line_start":184,"line_end":184,"column_start":13,"column_end":26},"name":"key_item_addr","qualname":"key_item_addr$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 141 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4244637594},"span":{"file_name":"src/collection/map.rs","byte_start":399680,"byte_end":399684,"line_start":188,"line_end":188,"column_start":13,"column_end":17},"name":"head","qualname":"head$HirId { owner: DefId(0:1946 ~ no_proto[7dec]::collection::map::{impl#2}::insert), local_id: 191 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743775},"span":{"file_name":"src/collection/map.rs","byte_start":400093,"byte_end":400098,"line_start":204,"line_end":204,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872863},"span":{"file_name":"src/collection/map.rs","byte_start":400106,"byte_end":400112,"line_start":204,"line_end":204,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614687},"span":{"file_name":"src/collection/map.rs","byte_start":400126,"byte_end":400132,"line_start":204,"line_end":204,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1951},"span":{"file_name":"src/collection/map.rs","byte_start":400085,"byte_end":400092,"line_start":204,"line_end":204,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961503},"span":{"file_name":"src/collection/map.rs","byte_start":400178,"byte_end":400185,"line_start":205,"line_end":205,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1951 ~ no_proto[7dec]::collection::map::{impl#3}::to_json), local_id: 18 }","value":"[closure@src/collection/map.rs:205:23: 205:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288095},"span":{"file_name":"src/collection/map.rs","byte_start":400327,"byte_end":400335,"line_start":211,"line_end":211,"column_start":17,"column_end":25},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1951 ~ no_proto[7dec]::collection::map::{impl#3}::to_json), local_id: 42 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469763999},"span":{"file_name":"src/collection/map.rs","byte_start":400369,"byte_end":400377,"line_start":213,"line_end":213,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1951 ~ no_proto[7dec]::collection::map::{impl#3}::to_json), local_id: 56 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743777},"span":{"file_name":"src/collection/map.rs","byte_start":400683,"byte_end":400688,"line_start":222,"line_end":222,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872865},"span":{"file_name":"src/collection/map.rs","byte_start":400697,"byte_end":400707,"line_start":222,"line_end":222,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614689},"span":{"file_name":"src/collection/map.rs","byte_start":400715,"byte_end":400721,"line_start":222,"line_end":222,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437409},"span":{"file_name":"src/collection/map.rs","byte_start":400734,"byte_end":400740,"line_start":222,"line_end":222,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179233},"span":{"file_name":"src/collection/map.rs","byte_start":400759,"byte_end":400764,"line_start":222,"line_end":222,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1953},"span":{"file_name":"src/collection/map.rs","byte_start":400663,"byte_end":400676,"line_start":222,"line_end":222,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961505},"span":{"file_name":"src/collection/map.rs","byte_start":400898,"byte_end":400906,"line_start":225,"line_end":225,"column_start":33,"column_end":41},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:1953 ~ no_proto[7dec]::collection::map::{impl#3}::set_from_json), local_id: 18 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476396961},"span":{"file_name":"src/collection/map.rs","byte_start":400933,"byte_end":400940,"line_start":226,"line_end":226,"column_start":21,"column_end":28},"name":"js_item","qualname":"js_item$HirId { owner: DefId(0:1953 ~ no_proto[7dec]::collection::map::{impl#3}::set_from_json), local_id: 26 }","value":"&(std::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298209},"span":{"file_name":"src/collection/map.rs","byte_start":401083,"byte_end":401088,"line_start":228,"line_end":228,"column_start":30,"column_end":35},"name":"value","qualname":"value$HirId { owner: DefId(0:1953 ~ no_proto[7dec]::collection::map::{impl#3}::set_from_json), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1955},"span":{"file_name":"src/collection/map.rs","byte_start":401401,"byte_end":401409,"line_start":241,"line_end":241,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743780},"span":{"file_name":"src/collection/map.rs","byte_start":401494,"byte_end":401498,"line_start":242,"line_end":242,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1956},"span":{"file_name":"src/collection/map.rs","byte_start":401479,"byte_end":401492,"line_start":242,"line_end":242,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743781},"span":{"file_name":"src/collection/map.rs","byte_start":401587,"byte_end":401593,"line_start":244,"line_end":244,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872869},"span":{"file_name":"src/collection/map.rs","byte_start":401619,"byte_end":401626,"line_start":244,"line_end":244,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1957},"span":{"file_name":"src/collection/map.rs","byte_start":401572,"byte_end":401586,"line_start":244,"line_end":244,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308325},"span":{"file_name":"src/collection/map.rs","byte_start":401681,"byte_end":401692,"line_start":245,"line_end":245,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:1957 ~ no_proto[7dec]::collection::map::{impl#3}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070373},"span":{"file_name":"src/collection/map.rs","byte_start":401818,"byte_end":401822,"line_start":248,"line_end":248,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1957 ~ no_proto[7dec]::collection::map::{impl#3}::schema_to_json), local_id: 50 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764005},"span":{"file_name":"src/collection/map.rs","byte_start":401903,"byte_end":401911,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"name":"value_of","qualname":"value_of$HirId { owner: DefId(0:1957 ~ no_proto[7dec]::collection::map::{impl#3}::schema_to_json), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743782},"span":{"file_name":"src/collection/map.rs","byte_start":402089,"byte_end":402094,"line_start":257,"line_end":257,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872870},"span":{"file_name":"src/collection/map.rs","byte_start":402102,"byte_end":402108,"line_start":257,"line_end":257,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614694},"span":{"file_name":"src/collection/map.rs","byte_start":402122,"byte_end":402128,"line_start":257,"line_end":257,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1958},"span":{"file_name":"src/collection/map.rs","byte_start":402080,"byte_end":402088,"line_start":257,"line_end":257,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961510},"span":{"file_name":"src/collection/map.rs","byte_start":402191,"byte_end":402198,"line_start":259,"line_end":259,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:1958 ~ no_proto[7dec]::collection::map::{impl#3}::get_size), local_id: 18 }","value":"[closure@src/collection/map.rs:259:23: 259:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207206},"span":{"file_name":"src/collection/map.rs","byte_start":402333,"byte_end":402341,"line_start":265,"line_end":265,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:1958 ~ no_proto[7dec]::collection::map::{impl#3}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199462},"span":{"file_name":"src/collection/map.rs","byte_start":402369,"byte_end":402377,"line_start":267,"line_end":267,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1958 ~ no_proto[7dec]::collection::map::{impl#3}::get_size), local_id: 52 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241515942},"span":{"file_name":"src/collection/map.rs","byte_start":402512,"byte_end":402520,"line_start":270,"line_end":270,"column_start":17,"column_end":25},"name":"key_size","qualname":"key_size$HirId { owner: DefId(0:1958 ~ no_proto[7dec]::collection::map::{impl#3}::get_size), local_id: 82 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743784},"span":{"file_name":"src/collection/map.rs","byte_start":402781,"byte_end":402786,"line_start":283,"line_end":283,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872872},"span":{"file_name":"src/collection/map.rs","byte_start":402794,"byte_end":402805,"line_start":283,"line_end":283,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614696},"span":{"file_name":"src/collection/map.rs","byte_start":402818,"byte_end":402829,"line_start":283,"line_end":283,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437416},"span":{"file_name":"src/collection/map.rs","byte_start":402850,"byte_end":402859,"line_start":283,"line_end":283,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179240},"span":{"file_name":"src/collection/map.rs","byte_start":402872,"byte_end":402881,"line_start":283,"line_end":283,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1960},"span":{"file_name":"src/collection/map.rs","byte_start":402770,"byte_end":402780,"line_start":283,"line_end":283,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445160},"span":{"file_name":"src/collection/map.rs","byte_start":402975,"byte_end":402985,"line_start":285,"line_end":285,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:1960 ~ no_proto[7dec]::collection::map::{impl#3}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812200},"span":{"file_name":"src/collection/map.rs","byte_start":403132,"byte_end":403140,"line_start":291,"line_end":291,"column_start":17,"column_end":25},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:1960 ~ no_proto[7dec]::collection::map::{impl#3}::do_compact), local_id: 49 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248148904},"span":{"file_name":"src/collection/map.rs","byte_start":403287,"byte_end":403295,"line_start":294,"line_end":294,"column_start":17,"column_end":25},"name":"new_item","qualname":"new_item$HirId { owner: DefId(0:1960 ~ no_proto[7dec]::collection::map::{impl#3}::do_compact), local_id: 97 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743785},"span":{"file_name":"src/collection/map.rs","byte_start":403499,"byte_end":403505,"line_start":302,"line_end":302,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872873},"span":{"file_name":"src/collection/map.rs","byte_start":403531,"byte_end":403538,"line_start":302,"line_end":302,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1961},"span":{"file_name":"src/collection/map.rs","byte_start":403485,"byte_end":403498,"line_start":302,"line_end":302,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832425},"span":{"file_name":"src/collection/map.rs","byte_start":403588,"byte_end":403592,"line_start":303,"line_end":303,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:1961 ~ no_proto[7dec]::collection::map::{impl#3}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751529},"span":{"file_name":"src/collection/map.rs","byte_start":403677,"byte_end":403683,"line_start":305,"line_end":305,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:1961 ~ no_proto[7dec]::collection::map::{impl#3}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743786},"span":{"file_name":"src/collection/map.rs","byte_start":403894,"byte_end":403900,"line_start":312,"line_end":312,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872874},"span":{"file_name":"src/collection/map.rs","byte_start":403925,"byte_end":403930,"line_start":312,"line_end":312,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614698},"span":{"file_name":"src/collection/map.rs","byte_start":403938,"byte_end":403941,"line_start":312,"line_end":312,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437418},"span":{"file_name":"src/collection/map.rs","byte_start":403955,"byte_end":403959,"line_start":312,"line_end":312,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1962},"span":{"file_name":"src/collection/map.rs","byte_start":403871,"byte_end":403889,"line_start":312,"line_end":312,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090602},"span":{"file_name":"src/collection/map.rs","byte_start":404053,"byte_end":404064,"line_start":313,"line_end":313,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723562},"span":{"file_name":"src/collection/map.rs","byte_start":404160,"byte_end":404170,"line_start":317,"line_end":317,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564138},"span":{"file_name":"src/collection/map.rs","byte_start":404467,"byte_end":404476,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"value_jst","qualname":"value_jst$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 93 }","value":"core::option::Option<&idl::JS_AST>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455274},"span":{"file_name":"src/collection/map.rs","byte_start":404593,"byte_end":404603,"line_start":329,"line_end":329,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 109 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624810},"span":{"file_name":"src/collection/map.rs","byte_start":404636,"byte_end":404639,"line_start":330,"line_end":330,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 114 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108458},"span":{"file_name":"src/collection/map.rs","byte_start":404641,"byte_end":404646,"line_start":330,"line_end":330,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 115 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2332034986},"span":{"file_name":"src/collection/map.rs","byte_start":404996,"byte_end":405005,"line_start":342,"line_end":342,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 209 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293162},"span":{"file_name":"src/collection/map.rs","byte_start":405007,"byte_end":405018,"line_start":342,"line_end":342,"column_start":29,"column_end":40},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 210 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776810},"span":{"file_name":"src/collection/map.rs","byte_start":405020,"byte_end":405026,"line_start":342,"line_end":342,"column_start":42,"column_end":48},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1962 ~ no_proto[7dec]::collection::map::{impl#3}::from_idl_to_schema), local_id: 211 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743787},"span":{"file_name":"src/collection/map.rs","byte_start":405303,"byte_end":405309,"line_start":352,"line_end":352,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872875},"span":{"file_name":"src/collection/map.rs","byte_start":405334,"byte_end":405345,"line_start":352,"line_end":352,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1963},"span":{"file_name":"src/collection/map.rs","byte_start":405279,"byte_end":405298,"line_start":352,"line_end":352,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219691},"span":{"file_name":"src/collection/map.rs","byte_start":405447,"byte_end":405458,"line_start":354,"line_end":354,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:1963 ~ no_proto[7dec]::collection::map::{impl#3}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852651},"span":{"file_name":"src/collection/map.rs","byte_start":405545,"byte_end":405555,"line_start":357,"line_end":357,"column_start":13,"column_end":23},"name":"value_addr","qualname":"value_addr$HirId { owner: DefId(0:1963 ~ no_proto[7dec]::collection::map::{impl#3}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827371},"span":{"file_name":"src/collection/map.rs","byte_start":406073,"byte_end":406082,"line_start":373,"line_end":373,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1963 ~ no_proto[7dec]::collection::map::{impl#3}::from_json_to_schema), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043311019},"span":{"file_name":"src/collection/map.rs","byte_start":406084,"byte_end":406095,"line_start":373,"line_end":373,"column_start":25,"column_end":36},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:1963 ~ no_proto[7dec]::collection::map::{impl#3}::from_json_to_schema), local_id: 143 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150996907},"span":{"file_name":"src/collection/map.rs","byte_start":406097,"byte_end":406103,"line_start":373,"line_end":373,"column_start":38,"column_end":44},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1963 ~ no_proto[7dec]::collection::map::{impl#3}::from_json_to_schema), local_id: 144 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743788},"span":{"file_name":"src/collection/map.rs","byte_start":406307,"byte_end":406313,"line_start":381,"line_end":381,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872876},"span":{"file_name":"src/collection/map.rs","byte_start":406322,"byte_end":406327,"line_start":381,"line_end":381,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614700},"span":{"file_name":"src/collection/map.rs","byte_start":406336,"byte_end":406343,"line_start":381,"line_end":381,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1964},"span":{"file_name":"src/collection/map.rs","byte_start":406293,"byte_end":406306,"line_start":381,"line_end":381,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743789},"span":{"file_name":"src/collection/map.rs","byte_start":406439,"byte_end":406445,"line_start":385,"line_end":385,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872877},"span":{"file_name":"src/collection/map.rs","byte_start":406470,"byte_end":406477,"line_start":385,"line_end":385,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614701},"span":{"file_name":"src/collection/map.rs","byte_start":406486,"byte_end":406491,"line_start":385,"line_end":385,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":1965},"span":{"file_name":"src/collection/map.rs","byte_start":406414,"byte_end":406434,"line_start":385,"line_end":385,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952791981},"span":{"file_name":"src/collection/map.rs","byte_start":406547,"byte_end":406554,"line_start":386,"line_end":386,"column_start":13,"column_end":20},"name":"of_addr","qualname":"of_addr$HirId { owner: DefId(0:1965 ~ no_proto[7dec]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 13 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475501},"span":{"file_name":"src/collection/map.rs","byte_start":406844,"byte_end":406853,"line_start":393,"line_end":393,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:1965 ~ no_proto[7dec]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 73 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733677},"span":{"file_name":"src/collection/map.rs","byte_start":406855,"byte_end":406861,"line_start":393,"line_end":393,"column_start":25,"column_end":31},"name":"schema","qualname":"schema$HirId { owner: DefId(0:1965 ~ no_proto[7dec]::collection::map::{impl#3}::from_bytes_to_schema), local_id: 74 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3628},"span":{"file_name":"src/collection/map.rs","byte_start":406961,"byte_end":406985,"line_start":400,"line_end":400,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::collection::map::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874540},"span":{"file_name":"src/collection/map.rs","byte_start":407022,"byte_end":407028,"line_start":401,"line_end":401,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3628 ~ no_proto[7dec]::collection::map::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753196},"span":{"file_name":"src/collection/map.rs","byte_start":407068,"byte_end":407075,"line_start":402,"line_end":402,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3628 ~ no_proto[7dec]::collection::map::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699948},"span":{"file_name":"src/collection/map.rs","byte_start":407169,"byte_end":407177,"line_start":404,"line_end":404,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3628 ~ no_proto[7dec]::collection::map::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3632},"span":{"file_name":"src/collection/map.rs","byte_start":407318,"byte_end":407338,"line_start":410,"line_end":410,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::collection::map::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874544},"span":{"file_name":"src/collection/map.rs","byte_start":407375,"byte_end":407381,"line_start":411,"line_end":411,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3632 ~ no_proto[7dec]::collection::map::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753200},"span":{"file_name":"src/collection/map.rs","byte_start":407439,"byte_end":407446,"line_start":412,"line_end":412,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3632 ~ no_proto[7dec]::collection::map::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441776},"span":{"file_name":"src/collection/map.rs","byte_start":407558,"byte_end":407566,"line_start":414,"line_end":414,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3632 ~ no_proto[7dec]::collection::map::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3636},"span":{"file_name":"src/collection/map.rs","byte_start":407720,"byte_end":407756,"line_start":420,"line_end":420,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::collection::map::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874548},"span":{"file_name":"src/collection/map.rs","byte_start":407793,"byte_end":407799,"line_start":421,"line_end":421,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3636 ~ no_proto[7dec]::collection::map::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753204},"span":{"file_name":"src/collection/map.rs","byte_start":407857,"byte_end":407864,"line_start":422,"line_end":422,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3636 ~ no_proto[7dec]::collection::map::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547956},"span":{"file_name":"src/collection/map.rs","byte_start":407942,"byte_end":407948,"line_start":425,"line_end":425,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3636 ~ no_proto[7dec]::collection::map::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2743078452},"span":{"file_name":"src/collection/map.rs","byte_start":408415,"byte_end":408421,"line_start":435,"line_end":435,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3636 ~ no_proto[7dec]::collection::map::set_clear_value_and_compaction_works#1), local_id: 453 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":1966},"span":{"file_name":"src/collection/list.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"list","qualname":"::collection::list","value":"src/collection/list.rs","parent":null,"children":[{"krate":0,"index":1967},{"krate":0,"index":1968},{"krate":0,"index":1971},{"krate":0,"index":1974},{"krate":0,"index":1975},{"krate":0,"index":1976},{"krate":0,"index":1979},{"krate":0,"index":1982},{"krate":0,"index":1983},{"krate":0,"index":1986},{"krate":0,"index":1989},{"krate":0,"index":1992},{"krate":0,"index":1993},{"krate":0,"index":1996},{"krate":0,"index":1997},{"krate":0,"index":2000},{"krate":0,"index":2003},{"krate":0,"index":2004},{"krate":0,"index":2007},{"krate":0,"index":2008},{"krate":0,"index":2011},{"krate":0,"index":2012},{"krate":0,"index":2015},{"krate":0,"index":2018},{"krate":0,"index":2019},{"krate":0,"index":2022},{"krate":0,"index":2025},{"krate":0,"index":2028},{"krate":0,"index":2031},{"krate":0,"index":2032},{"krate":0,"index":2033},{"krate":0,"index":3637},{"krate":0,"index":3642},{"krate":0,"index":2036},{"krate":0,"index":3644},{"krate":0,"index":3647},{"krate":0,"index":3649},{"krate":0,"index":3651},{"krate":0,"index":3652},{"krate":0,"index":3653},{"krate":0,"index":3656},{"krate":0,"index":3666},{"krate":0,"index":2041},{"krate":0,"index":2067},{"krate":0,"index":3668},{"krate":0,"index":3669},{"krate":0,"index":3671},{"krate":0,"index":3672},{"krate":0,"index":3673},{"krate":0,"index":3675},{"krate":0,"index":3676},{"krate":0,"index":3677},{"krate":0,"index":3679},{"krate":0,"index":3680},{"krate":0,"index":3681},{"krate":0,"index":3683}],"decl_id":null,"docs":" List data type\n","sig":null,"attributes":[{"value":"/ List data type","span":{"file_name":"src/collection/mod.rs","byte_start":366828,"byte_end":366846,"line_start":7,"line_end":7,"column_start":1,"column_end":19}}]},{"kind":"Struct","id":{"krate":0,"index":3637},"span":{"file_name":"src/collection/list.rs","byte_start":409694,"byte_end":409707,"line_start":15,"line_end":15,"column_start":12,"column_end":25},"name":"NP_List_Bytes","qualname":"::collection::list::NP_List_Bytes","value":"NP_List_Bytes { head, tail }","parent":null,"children":[{"krate":0,"index":3638},{"krate":0,"index":3640}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(C)","span":{"file_name":"src/collection/list.rs","byte_start":409617,"byte_end":409627,"line_start":11,"line_end":11,"column_start":1,"column_end":11}},{"value":"allow(missing_docs)","span":{"file_name":"src/collection/list.rs","byte_start":409660,"byte_end":409682,"line_start":14,"line_end":14,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3638},"span":{"file_name":"src/collection/list.rs","byte_start":409714,"byte_end":409718,"line_start":16,"line_end":16,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::list::NP_List_Bytes::head","value":"[u8; 4]","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3640},"span":{"file_name":"src/collection/list.rs","byte_start":409733,"byte_end":409737,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"name":"tail","qualname":"::collection::list::NP_List_Bytes::tail","value":"[u8; 4]","parent":{"krate":0,"index":3637},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743861},"span":{"file_name":"src/collection/list.rs","byte_start":409841,"byte_end":409845,"line_start":23,"line_end":23,"column_start":26,"column_end":30},"name":"self","qualname":"::set_head::self","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872949},"span":{"file_name":"src/collection/list.rs","byte_start":409847,"byte_end":409851,"line_start":23,"line_end":23,"column_start":32,"column_end":36},"name":"head","qualname":"::set_head::head","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2037},"span":{"file_name":"src/collection/list.rs","byte_start":409827,"byte_end":409835,"line_start":23,"line_end":23,"column_start":12,"column_end":20},"name":"set_head","qualname":"::set_head","value":"pub fn set_head(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":409798,"byte_end":409815,"line_start":22,"line_end":22,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743862},"span":{"file_name":"src/collection/list.rs","byte_start":409949,"byte_end":409953,"line_start":27,"line_end":27,"column_start":22,"column_end":26},"name":"self","qualname":"::get_head::self","value":"&collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2038},"span":{"file_name":"src/collection/list.rs","byte_start":409939,"byte_end":409947,"line_start":27,"line_end":27,"column_start":12,"column_end":20},"name":"get_head","qualname":"::get_head","value":"pub fn get_head(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":409910,"byte_end":409927,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743863},"span":{"file_name":"src/collection/list.rs","byte_start":410055,"byte_end":410059,"line_start":31,"line_end":31,"column_start":26,"column_end":30},"name":"self","qualname":"::set_tail::self","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872951},"span":{"file_name":"src/collection/list.rs","byte_start":410061,"byte_end":410065,"line_start":31,"line_end":31,"column_start":32,"column_end":36},"name":"tail","qualname":"::set_tail::tail","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2039},"span":{"file_name":"src/collection/list.rs","byte_start":410041,"byte_end":410049,"line_start":31,"line_end":31,"column_start":12,"column_end":20},"name":"set_tail","qualname":"::set_tail","value":"pub fn set_tail(&mut Self, u32)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410012,"byte_end":410029,"line_start":30,"line_end":30,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743864},"span":{"file_name":"src/collection/list.rs","byte_start":410163,"byte_end":410167,"line_start":35,"line_end":35,"column_start":22,"column_end":26},"name":"self","qualname":"::get_tail::self","value":"&collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2040},"span":{"file_name":"src/collection/list.rs","byte_start":410153,"byte_end":410161,"line_start":35,"line_end":35,"column_start":12,"column_end":20},"name":"get_tail","qualname":"::get_tail","value":"pub fn get_tail(&Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410124,"byte_end":410141,"line_start":34,"line_end":34,"column_start":5,"column_end":22}}]},{"kind":"Struct","id":{"krate":0,"index":3644},"span":{"file_name":"src/collection/list.rs","byte_start":410288,"byte_end":410297,"line_start":42,"line_end":42,"column_start":8,"column_end":17},"name":"List_Item","qualname":"::collection::list::List_Item","value":"List_Item { index, buff_addr }","parent":null,"children":[{"krate":0,"index":3645},{"krate":0,"index":3646}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3645},"span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::list::List_Item::index","value":"usize","parent":{"krate":0,"index":3644},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3646},"span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"name":"buff_addr","qualname":"::collection::list::List_Item::buff_addr","value":"usize","parent":{"krate":0,"index":3644},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3656},"span":{"file_name":"src/collection/list.rs","byte_start":410410,"byte_end":410417,"line_start":51,"line_end":51,"column_start":12,"column_end":19},"name":"NP_List","qualname":"::collection::list::NP_List","value":"NP_List { next, current, index, count, tail, head, only_real, schema_of, list }","parent":null,"children":[{"krate":0,"index":3657},{"krate":0,"index":3658},{"krate":0,"index":3659},{"krate":0,"index":3660},{"krate":0,"index":3661},{"krate":0,"index":3662},{"krate":0,"index":3663},{"krate":0,"index":3664},{"krate":0,"index":3665}],"decl_id":null,"docs":" List data type.\n \n","sig":null,"attributes":[{"value":"/ List data type.","span":{"file_name":"src/collection/list.rs","byte_start":410342,"byte_end":410361,"line_start":47,"line_end":47,"column_start":1,"column_end":20}},{"value":"/ ","span":{"file_name":"src/collection/list.rs","byte_start":410362,"byte_end":410366,"line_start":48,"line_end":48,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3657},"span":{"file_name":"src/collection/list.rs","byte_start":410424,"byte_end":410428,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"name":"next","qualname":"::collection::list::NP_List::next","value":"core::option::Option","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3658},"span":{"file_name":"src/collection/list.rs","byte_start":410453,"byte_end":410460,"line_start":53,"line_end":53,"column_start":5,"column_end":12},"name":"current","qualname":"::collection::list::NP_List::current","value":"core::option::Option","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3659},"span":{"file_name":"src/collection/list.rs","byte_start":410485,"byte_end":410490,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::list::NP_List::index","value":"usize","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3660},"span":{"file_name":"src/collection/list.rs","byte_start":410503,"byte_end":410508,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"name":"count","qualname":"::collection::list::NP_List::count","value":"usize","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3661},"span":{"file_name":"src/collection/list.rs","byte_start":410521,"byte_end":410525,"line_start":56,"line_end":56,"column_start":5,"column_end":9},"name":"tail","qualname":"::collection::list::NP_List::tail","value":"core::option::Option","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3662},"span":{"file_name":"src/collection/list.rs","byte_start":410550,"byte_end":410554,"line_start":57,"line_end":57,"column_start":5,"column_end":9},"name":"head","qualname":"::collection::list::NP_List::head","value":"core::option::Option","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3663},"span":{"file_name":"src/collection/list.rs","byte_start":410579,"byte_end":410588,"line_start":58,"line_end":58,"column_start":5,"column_end":14},"name":"only_real","qualname":"::collection::list::NP_List::only_real","value":"bool","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3664},"span":{"file_name":"src/collection/list.rs","byte_start":410600,"byte_end":410609,"line_start":59,"line_end":59,"column_start":5,"column_end":14},"name":"schema_of","qualname":"::collection::list::NP_List::schema_of","value":"usize","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3665},"span":{"file_name":"src/collection/list.rs","byte_start":410622,"byte_end":410626,"line_start":60,"line_end":60,"column_start":5,"column_end":9},"name":"list","qualname":"::collection::list::NP_List::list","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3656},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743866},"span":{"file_name":"src/collection/list.rs","byte_start":410721,"byte_end":410732,"line_start":68,"line_end":68,"column_start":19,"column_end":30},"name":"list_cursor","qualname":"::select::list_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872954},"span":{"file_name":"src/collection/list.rs","byte_start":410745,"byte_end":410750,"line_start":68,"line_end":68,"column_start":43,"column_end":48},"name":"index","qualname":"::select::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614778},"span":{"file_name":"src/collection/list.rs","byte_start":410759,"byte_end":410768,"line_start":68,"line_end":68,"column_start":57,"column_end":66},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437498},"span":{"file_name":"src/collection/list.rs","byte_start":410776,"byte_end":410788,"line_start":68,"line_end":68,"column_start":74,"column_end":86},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179322},"span":{"file_name":"src/collection/list.rs","byte_start":410796,"byte_end":410802,"line_start":68,"line_end":68,"column_start":94,"column_end":100},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2042},"span":{"file_name":"src/collection/list.rs","byte_start":410714,"byte_end":410720,"line_start":68,"line_end":68,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, usize, bool, bool, &NP_Memory)\n-> Result)>, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":410685,"byte_end":410702,"line_start":67,"line_end":67,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1744832506},"span":{"file_name":"src/collection/list.rs","byte_start":410886,"byte_end":410896,"line_start":69,"line_end":69,"column_start":13,"column_end":23},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 22 }","value":"[closure@src/collection/list.rs:69:26: 69:62]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247738},"span":{"file_name":"src/collection/list.rs","byte_start":410994,"byte_end":410998,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 57 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227860474},"span":{"file_name":"src/collection/list.rs","byte_start":411106,"byte_end":411115,"line_start":75,"line_end":75,"column_start":13,"column_end":22},"name":"schema_of","qualname":"schema_of$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 63 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4110419962},"span":{"file_name":"src/collection/list.rs","byte_start":411547,"byte_end":411556,"line_start":90,"line_end":90,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 175 }","value":"[closure@src/collection/list.rs:90:25: 92:10]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776890},"span":{"file_name":"src/collection/list.rs","byte_start":411731,"byte_end":411746,"line_start":96,"line_end":96,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 211 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1191184378},"span":{"file_name":"src/collection/list.rs","byte_start":411820,"byte_end":411830,"line_start":97,"line_end":97,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 226 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3607103482},"span":{"file_name":"src/collection/list.rs","byte_start":411918,"byte_end":411934,"line_start":98,"line_end":98,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 235 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3430942714},"span":{"file_name":"src/collection/list.rs","byte_start":412228,"byte_end":412232,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"name":"head","qualname":"head$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 307 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189428730},"span":{"file_name":"src/collection/list.rs","byte_start":412333,"byte_end":412343,"line_start":108,"line_end":108,"column_start":13,"column_end":23},"name":"head_index","qualname":"head_index$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 321 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3330279418},"span":{"file_name":"src/collection/list.rs","byte_start":412483,"byte_end":412498,"line_start":111,"line_end":111,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 355 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1317013498},"span":{"file_name":"src/collection/list.rs","byte_start":412572,"byte_end":412582,"line_start":112,"line_end":112,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 370 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3732932602},"span":{"file_name":"src/collection/list.rs","byte_start":412670,"byte_end":412686,"line_start":113,"line_end":113,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 379 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3682600954},"span":{"file_name":"src/collection/list.rs","byte_start":413146,"byte_end":413150,"line_start":123,"line_end":123,"column_start":13,"column_end":17},"name":"tail","qualname":"tail$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 475 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3883927546},"span":{"file_name":"src/collection/list.rs","byte_start":413251,"byte_end":413261,"line_start":125,"line_end":125,"column_start":13,"column_end":23},"name":"tail_value","qualname":"tail_value$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 487 }","value":"[closure@src/collection/list.rs:125:26: 125:59]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1333790714},"span":{"file_name":"src/collection/list.rs","byte_start":413311,"byte_end":413321,"line_start":126,"line_end":126,"column_start":13,"column_end":23},"name":"tail_index","qualname":"tail_index$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 498 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":675284986},"span":{"file_name":"src/collection/list.rs","byte_start":413432,"byte_end":413447,"line_start":129,"line_end":129,"column_start":17,"column_end":32},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 532 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3292530682},"span":{"file_name":"src/collection/list.rs","byte_start":413521,"byte_end":413531,"line_start":130,"line_end":130,"column_start":17,"column_end":27},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 547 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":876611578},"span":{"file_name":"src/collection/list.rs","byte_start":413619,"byte_end":413635,"line_start":131,"line_end":131,"column_start":17,"column_end":33},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 556 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1363150842},"span":{"file_name":"src/collection/list.rs","byte_start":414091,"byte_end":414100,"line_start":141,"line_end":141,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2042 ~ no_proto[7dec]::collection::list::{impl#1}::select), local_id: 650 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743873},"span":{"file_name":"src/collection/list.rs","byte_start":414732,"byte_end":414736,"line_start":159,"line_end":159,"column_start":30,"column_end":34},"name":"self","qualname":"::make_item_in_loop::self","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872961},"span":{"file_name":"src/collection/list.rs","byte_start":414738,"byte_end":414744,"line_start":159,"line_end":159,"column_start":36,"column_end":42},"name":"memory","qualname":"::make_item_in_loop::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2049},"span":{"file_name":"src/collection/list.rs","byte_start":414714,"byte_end":414731,"line_start":159,"line_end":159,"column_start":12,"column_end":29},"name":"make_item_in_loop","qualname":"::make_item_in_loop","value":"pub fn make_item_in_loop(Self, &NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":414685,"byte_end":414702,"line_start":158,"line_end":158,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3087009793},"span":{"file_name":"src/collection/list.rs","byte_start":414804,"byte_end":414813,"line_start":161,"line_end":161,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 29 }","value":"[closure@src/collection/list.rs:161:25: 161:109]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247745},"span":{"file_name":"src/collection/list.rs","byte_start":414915,"byte_end":414930,"line_start":163,"line_end":163,"column_start":13,"column_end":28},"name":"new_cursor_addr","qualname":"new_cursor_addr$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 57 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733761},"span":{"file_name":"src/collection/list.rs","byte_start":415000,"byte_end":415010,"line_start":164,"line_end":164,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 74 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386945},"span":{"file_name":"src/collection/list.rs","byte_start":415097,"byte_end":415113,"line_start":165,"line_end":165,"column_start":13,"column_end":29},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 86 }","value":"[closure@src/collection/list.rs:165:32: 165:71]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2113931265},"span":{"file_name":"src/collection/list.rs","byte_start":415343,"byte_end":415354,"line_start":172,"line_end":172,"column_start":17,"column_end":28},"name":"curr_cursor","qualname":"curr_cursor$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 126 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3774875649},"span":{"file_name":"src/collection/list.rs","byte_start":415447,"byte_end":415464,"line_start":173,"line_end":173,"column_start":17,"column_end":34},"name":"prev_cursor_value","qualname":"prev_cursor_value$HirId { owner: DefId(0:2049 ~ no_proto[7dec]::collection::list::{impl#1}::make_item_in_loop), local_id: 135 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743877},"span":{"file_name":"src/collection/list.rs","byte_start":415953,"byte_end":415964,"line_start":189,"line_end":189,"column_start":29,"column_end":40},"name":"list_cursor","qualname":"::make_list::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872965},"span":{"file_name":"src/collection/list.rs","byte_start":415978,"byte_end":415984,"line_start":189,"line_end":189,"column_start":54,"column_end":60},"name":"memory","qualname":"::make_list::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2053},"span":{"file_name":"src/collection/list.rs","byte_start":415936,"byte_end":415945,"line_start":189,"line_end":189,"column_start":12,"column_end":21},"name":"make_list","qualname":"::make_list","value":"pub fn make_list<'make>(&NP_Cursor, &'make NP_Memory) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":415907,"byte_end":415924,"line_start":188,"line_end":188,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":67110917},"span":{"file_name":"src/collection/list.rs","byte_start":416042,"byte_end":416051,"line_start":190,"line_end":190,"column_start":13,"column_end":22},"name":"list_addr","qualname":"list_addr$HirId { owner: DefId(0:2053 ~ no_proto[7dec]::collection::list::{impl#1}::make_list), local_id: 32 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030021},"span":{"file_name":"src/collection/list.rs","byte_start":416115,"byte_end":416120,"line_start":191,"line_end":191,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2053 ~ no_proto[7dec]::collection::list::{impl#1}::make_list), local_id: 41 }","value":"&mut dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743880},"span":{"file_name":"src/collection/list.rs","byte_start":416277,"byte_end":416299,"line_start":197,"line_end":197,"column_start":28,"column_end":50},"name":"list_cursor_value_addr","qualname":"::get_list::list_cursor_value_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872968},"span":{"file_name":"src/collection/list.rs","byte_start":416308,"byte_end":416314,"line_start":197,"line_end":197,"column_start":59,"column_end":65},"name":"memory","qualname":"::get_list::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2056},"span":{"file_name":"src/collection/list.rs","byte_start":416261,"byte_end":416269,"line_start":197,"line_end":197,"column_start":12,"column_end":20},"name":"get_list","qualname":"::get_list","value":"pub fn get_list<'list>(usize, &'list NP_Memory) -> &'list mut NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":416232,"byte_end":416249,"line_start":196,"line_end":196,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073743882},"span":{"file_name":"src/collection/list.rs","byte_start":416737,"byte_end":416748,"line_start":206,"line_end":206,"column_start":21,"column_end":32},"name":"list_cursor","qualname":"::new_iter::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872970},"span":{"file_name":"src/collection/list.rs","byte_start":416762,"byte_end":416768,"line_start":206,"line_end":206,"column_start":46,"column_end":52},"name":"memory","qualname":"::new_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614794},"span":{"file_name":"src/collection/list.rs","byte_start":416782,"byte_end":416791,"line_start":206,"line_end":206,"column_start":66,"column_end":75},"name":"only_real","qualname":"::new_iter::only_real","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437514},"span":{"file_name":"src/collection/list.rs","byte_start":416799,"byte_end":416813,"line_start":206,"line_end":206,"column_start":83,"column_end":97},"name":"starting_index","qualname":"::new_iter::starting_index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2058},"span":{"file_name":"src/collection/list.rs","byte_start":416728,"byte_end":416736,"line_start":206,"line_end":206,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &NP_Memory, bool, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":416699,"byte_end":416716,"line_start":205,"line_end":205,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2281703434},"span":{"file_name":"src/collection/list.rs","byte_start":416845,"byte_end":416850,"line_start":208,"line_end":208,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 17 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880714},"span":{"file_name":"src/collection/list.rs","byte_start":416897,"byte_end":416906,"line_start":210,"line_end":210,"column_start":13,"column_end":22},"name":"list_addr","qualname":"list_addr$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093642762},"span":{"file_name":"src/collection/list.rs","byte_start":416955,"byte_end":416959,"line_start":212,"line_end":212,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 47 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885683210},"span":{"file_name":"src/collection/list.rs","byte_start":417067,"byte_end":417076,"line_start":214,"line_end":214,"column_start":13,"column_end":22},"name":"schema_of","qualname":"schema_of$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006635018},"span":{"file_name":"src/collection/list.rs","byte_start":417104,"byte_end":417116,"line_start":216,"line_end":216,"column_start":13,"column_end":25},"name":"memory_bytes","qualname":"memory_bytes$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 60 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822410},"span":{"file_name":"src/collection/list.rs","byte_start":417226,"byte_end":417231,"line_start":220,"line_end":220,"column_start":17,"column_end":22},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 94 }","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100810},"span":{"file_name":"src/collection/list.rs","byte_start":417330,"byte_end":417339,"line_start":222,"line_end":222,"column_start":17,"column_end":26},"name":"tail_addr","qualname":"tail_addr$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 104 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1040189450},"span":{"file_name":"src/collection/list.rs","byte_start":417436,"byte_end":417447,"line_start":226,"line_end":226,"column_start":21,"column_end":32},"name":"tail_cursor","qualname":"tail_cursor$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 124 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150997002},"span":{"file_name":"src/collection/list.rs","byte_start":417533,"byte_end":417544,"line_start":227,"line_end":227,"column_start":21,"column_end":32},"name":"head_cursor","qualname":"head_cursor$HirId { owner: DefId(0:2058 ~ no_proto[7dec]::collection::list::{impl#1}::new_iter), local_id: 144 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743883},"span":{"file_name":"src/collection/list.rs","byte_start":418679,"byte_end":418683,"line_start":257,"line_end":257,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872971},"span":{"file_name":"src/collection/list.rs","byte_start":418685,"byte_end":418691,"line_start":257,"line_end":257,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2059},"span":{"file_name":"src/collection/list.rs","byte_start":418664,"byte_end":418673,"line_start":257,"line_end":257,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &NP_Memory) -> Option<(usize, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":418635,"byte_end":418652,"line_start":256,"line_end":256,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3288336395},"span":{"file_name":"src/collection/list.rs","byte_start":418895,"byte_end":418899,"line_start":266,"line_end":266,"column_start":18,"column_end":22},"name":"next","qualname":"next$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 35 }","value":"collection::list::List_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254781963},"span":{"file_name":"src/collection/list.rs","byte_start":419013,"byte_end":419024,"line_start":270,"line_end":270,"column_start":25,"column_end":36},"name":"this_cursor","qualname":"this_cursor$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 67 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838862859},"span":{"file_name":"src/collection/list.rs","byte_start":419122,"byte_end":419132,"line_start":271,"line_end":271,"column_start":25,"column_end":35},"name":"this_value","qualname":"this_value$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 76 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778386955},"span":{"file_name":"src/collection/list.rs","byte_start":419190,"byte_end":419199,"line_start":272,"line_end":272,"column_start":25,"column_end":34},"name":"next_addr","qualname":"next_addr$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 86 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":503318539},"span":{"file_name":"src/collection/list.rs","byte_start":419374,"byte_end":419385,"line_start":276,"line_end":276,"column_start":29,"column_end":40},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 120 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1627392011},"span":{"file_name":"src/collection/list.rs","byte_start":419482,"byte_end":419492,"line_start":277,"line_end":277,"column_start":29,"column_end":39},"name":"next_index","qualname":"next_index$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 134 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1996490763},"span":{"file_name":"src/collection/list.rs","byte_start":420099,"byte_end":420110,"line_start":290,"line_end":290,"column_start":29,"column_end":40},"name":"this_cursor","qualname":"this_cursor$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 238 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4009756683},"span":{"file_name":"src/collection/list.rs","byte_start":420212,"byte_end":420222,"line_start":291,"line_end":291,"column_start":29,"column_end":39},"name":"this_value","qualname":"this_value$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 247 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155874315},"span":{"file_name":"src/collection/list.rs","byte_start":420285,"byte_end":420294,"line_start":293,"line_end":293,"column_start":29,"column_end":38},"name":"next_addr","qualname":"next_addr$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 257 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3095398411},"span":{"file_name":"src/collection/list.rs","byte_start":420456,"byte_end":420467,"line_start":297,"line_end":297,"column_start":33,"column_end":44},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 285 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3565160459},"span":{"file_name":"src/collection/list.rs","byte_start":420568,"byte_end":420578,"line_start":298,"line_end":298,"column_start":33,"column_end":43},"name":"next_index","qualname":"next_index$HirId { owner: DefId(0:2059 ~ no_proto[7dec]::collection::list::{impl#1}::step_iter), local_id: 299 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743884},"span":{"file_name":"src/collection/list.rs","byte_start":421106,"byte_end":421117,"line_start":315,"line_end":315,"column_start":24,"column_end":35},"name":"list_cursor","qualname":"::push::list_cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872972},"span":{"file_name":"src/collection/list.rs","byte_start":421131,"byte_end":421137,"line_start":315,"line_end":315,"column_start":49,"column_end":55},"name":"memory","qualname":"::push::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614796},"span":{"file_name":"src/collection/list.rs","byte_start":421151,"byte_end":421156,"line_start":315,"line_end":315,"column_start":69,"column_end":74},"name":"index","qualname":"::push::index","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2060},"span":{"file_name":"src/collection/list.rs","byte_start":421094,"byte_end":421098,"line_start":315,"line_end":315,"column_start":12,"column_end":16},"name":"push","qualname":"::push","value":"pub fn push<'push>(&NP_Cursor, &NP_Memory, Option)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/list.rs","byte_start":421065,"byte_end":421082,"line_start":314,"line_end":314,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1207961612},"span":{"file_name":"src/collection/list.rs","byte_start":421234,"byte_end":421244,"line_start":317,"line_end":317,"column_start":13,"column_end":23},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 18 }","value":"[closure@src/collection/list.rs:317:26: 317:60]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2986346508},"span":{"file_name":"src/collection/list.rs","byte_start":421407,"byte_end":421411,"line_start":323,"line_end":323,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 77 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925870604},"span":{"file_name":"src/collection/list.rs","byte_start":421523,"byte_end":421532,"line_start":325,"line_end":325,"column_start":17,"column_end":26},"name":"new_index","qualname":"new_index$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 87 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108556},"span":{"file_name":"src/collection/list.rs","byte_start":421575,"byte_end":421588,"line_start":327,"line_end":327,"column_start":13,"column_end":26},"name":"new_item_addr","qualname":"new_item_addr$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 115 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285214732},"span":{"file_name":"src/collection/list.rs","byte_start":421652,"byte_end":421661,"line_start":329,"line_end":329,"column_start":13,"column_end":22},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 136 }","value":"[closure@src/collection/list.rs:329:25: 329:92]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":419432460},"span":{"file_name":"src/collection/list.rs","byte_start":421746,"byte_end":421756,"line_start":331,"line_end":331,"column_start":13,"column_end":23},"name":"new_cursor","qualname":"new_cursor$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 152 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":620759052},"span":{"file_name":"src/collection/list.rs","byte_start":421839,"byte_end":421855,"line_start":332,"line_end":332,"column_start":13,"column_end":29},"name":"new_cursor_value","qualname":"new_cursor_value$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 164 }","value":"[closure@src/collection/list.rs:332:32: 332:69]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3204450316},"span":{"file_name":"src/collection/list.rs","byte_start":422325,"byte_end":422333,"line_start":343,"line_end":343,"column_start":17,"column_end":25},"name":"old_tail","qualname":"old_tail$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 253 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2424309772},"span":{"file_name":"src/collection/list.rs","byte_start":422438,"byte_end":422452,"line_start":344,"line_end":344,"column_start":17,"column_end":31},"name":"old_tail_value","qualname":"old_tail_value$HirId { owner: DefId(0:2060 ~ no_proto[7dec]::collection::list::{impl#1}::push), local_id: 265 }","value":"[closure@src/collection/list.rs:344:34: 344:69]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743893},"span":{"file_name":"src/collection/list.rs","byte_start":423152,"byte_end":423157,"line_start":367,"line_end":367,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872981},"span":{"file_name":"src/collection/list.rs","byte_start":423165,"byte_end":423171,"line_start":367,"line_end":367,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614805},"span":{"file_name":"src/collection/list.rs","byte_start":423185,"byte_end":423191,"line_start":367,"line_end":367,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2069},"span":{"file_name":"src/collection/list.rs","byte_start":423144,"byte_end":423151,"line_start":367,"line_end":367,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961621},"span":{"file_name":"src/collection/list.rs","byte_start":423237,"byte_end":423244,"line_start":368,"line_end":368,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2069 ~ no_proto[7dec]::collection::list::{impl#2}::to_json), local_id: 18 }","value":"[closure@src/collection/list.rs:368:23: 368:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288213},"span":{"file_name":"src/collection/list.rs","byte_start":423386,"byte_end":423395,"line_start":374,"line_end":374,"column_start":17,"column_end":26},"name":"json_list","qualname":"json_list$HirId { owner: DefId(0:2069 ~ no_proto[7dec]::collection::list::{impl#2}::to_json), local_id: 42 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2617247765},"span":{"file_name":"src/collection/list.rs","byte_start":423427,"byte_end":423436,"line_start":376,"line_end":376,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2069 ~ no_proto[7dec]::collection::list::{impl#2}::to_json), local_id: 57 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2071},"span":{"file_name":"src/collection/list.rs","byte_start":423859,"byte_end":423867,"line_start":389,"line_end":389,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743896},"span":{"file_name":"src/collection/list.rs","byte_start":423954,"byte_end":423958,"line_start":390,"line_end":390,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2072},"span":{"file_name":"src/collection/list.rs","byte_start":423939,"byte_end":423952,"line_start":390,"line_end":390,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743897},"span":{"file_name":"src/collection/list.rs","byte_start":424045,"byte_end":424051,"line_start":392,"line_end":392,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872985},"span":{"file_name":"src/collection/list.rs","byte_start":424077,"byte_end":424084,"line_start":392,"line_end":392,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2073},"span":{"file_name":"src/collection/list.rs","byte_start":424030,"byte_end":424044,"line_start":392,"line_end":392,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308441},"span":{"file_name":"src/collection/list.rs","byte_start":424139,"byte_end":424150,"line_start":393,"line_end":393,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:2073 ~ no_proto[7dec]::collection::list::{impl#2}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070489},"span":{"file_name":"src/collection/list.rs","byte_start":424276,"byte_end":424280,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2073 ~ no_proto[7dec]::collection::list::{impl#2}::schema_to_json), local_id: 50 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764121},"span":{"file_name":"src/collection/list.rs","byte_start":424361,"byte_end":424368,"line_start":398,"line_end":398,"column_start":13,"column_end":20},"name":"list_of","qualname":"list_of$HirId { owner: DefId(0:2073 ~ no_proto[7dec]::collection::list::{impl#2}::schema_to_json), local_id: 56 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743898},"span":{"file_name":"src/collection/list.rs","byte_start":424553,"byte_end":424558,"line_start":405,"line_end":405,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872986},"span":{"file_name":"src/collection/list.rs","byte_start":424567,"byte_end":424577,"line_start":405,"line_end":405,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614810},"span":{"file_name":"src/collection/list.rs","byte_start":424585,"byte_end":424591,"line_start":405,"line_end":405,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437530},"span":{"file_name":"src/collection/list.rs","byte_start":424604,"byte_end":424610,"line_start":405,"line_end":405,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179354},"span":{"file_name":"src/collection/list.rs","byte_start":424629,"byte_end":424634,"line_start":405,"line_end":405,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2074},"span":{"file_name":"src/collection/list.rs","byte_start":424533,"byte_end":424546,"line_start":405,"line_end":405,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961626},"span":{"file_name":"src/collection/list.rs","byte_start":424755,"byte_end":424759,"line_start":408,"line_end":408,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2074 ~ no_proto[7dec]::collection::list::{impl#2}::set_from_json), local_id: 18 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880730},"span":{"file_name":"src/collection/list.rs","byte_start":424787,"byte_end":424790,"line_start":409,"line_end":409,"column_start":22,"column_end":25},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2074 ~ no_proto[7dec]::collection::list::{impl#2}::set_from_json), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526170},"span":{"file_name":"src/collection/list.rs","byte_start":424792,"byte_end":424801,"line_start":409,"line_end":409,"column_start":27,"column_end":36},"name":"list_item","qualname":"list_item$HirId { owner: DefId(0:2074 ~ no_proto[7dec]::collection::list::{impl#2}::set_from_json), local_id: 28 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298330},"span":{"file_name":"src/collection/list.rs","byte_start":424940,"byte_end":424941,"line_start":411,"line_end":411,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:2074 ~ no_proto[7dec]::collection::list::{impl#2}::set_from_json), local_id: 66 }","value":"(usize, core::option::Option)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475610},"span":{"file_name":"src/collection/list.rs","byte_start":425025,"byte_end":425035,"line_start":413,"line_end":413,"column_start":38,"column_end":48},"name":"list_value","qualname":"list_value$HirId { owner: DefId(0:2074 ~ no_proto[7dec]::collection::list::{impl#2}::set_from_json), local_id: 73 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743900},"span":{"file_name":"src/collection/list.rs","byte_start":425594,"byte_end":425599,"line_start":432,"line_end":432,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872988},"span":{"file_name":"src/collection/list.rs","byte_start":425607,"byte_end":425613,"line_start":432,"line_end":432,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614812},"span":{"file_name":"src/collection/list.rs","byte_start":425627,"byte_end":425633,"line_start":432,"line_end":432,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2076},"span":{"file_name":"src/collection/list.rs","byte_start":425585,"byte_end":425593,"line_start":432,"line_end":432,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961628},"span":{"file_name":"src/collection/list.rs","byte_start":425689,"byte_end":425696,"line_start":434,"line_end":434,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2076 ~ no_proto[7dec]::collection::list::{impl#2}::get_size), local_id: 18 }","value":"[closure@src/collection/list.rs:434:23: 434:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207324},"span":{"file_name":"src/collection/list.rs","byte_start":425850,"byte_end":425859,"line_start":441,"line_end":441,"column_start":13,"column_end":22},"name":"base_size","qualname":"base_size$HirId { owner: DefId(0:2076 ~ no_proto[7dec]::collection::list::{impl#2}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556771868},"span":{"file_name":"src/collection/list.rs","byte_start":425887,"byte_end":425895,"line_start":443,"line_end":443,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:2076 ~ no_proto[7dec]::collection::list::{impl#2}::get_size), local_id: 43 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543505948},"span":{"file_name":"src/collection/list.rs","byte_start":425923,"byte_end":425932,"line_start":445,"line_end":445,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2076 ~ no_proto[7dec]::collection::list::{impl#2}::get_size), local_id: 58 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743902},"span":{"file_name":"src/collection/list.rs","byte_start":426280,"byte_end":426285,"line_start":458,"line_end":458,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872990},"span":{"file_name":"src/collection/list.rs","byte_start":426293,"byte_end":426304,"line_start":458,"line_end":458,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614814},"span":{"file_name":"src/collection/list.rs","byte_start":426317,"byte_end":426328,"line_start":458,"line_end":458,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437534},"span":{"file_name":"src/collection/list.rs","byte_start":426349,"byte_end":426358,"line_start":458,"line_end":458,"column_start":88,"column_end":97},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179358},"span":{"file_name":"src/collection/list.rs","byte_start":426371,"byte_end":426380,"line_start":458,"line_end":458,"column_start":110,"column_end":119},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2078},"span":{"file_name":"src/collection/list.rs","byte_start":426269,"byte_end":426279,"line_start":458,"line_end":458,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445278},"span":{"file_name":"src/collection/list.rs","byte_start":426474,"byte_end":426484,"line_start":460,"line_end":460,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:2078 ~ no_proto[7dec]::collection::list::{impl#2}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604702},"span":{"file_name":"src/collection/list.rs","byte_start":426681,"byte_end":426690,"line_start":468,"line_end":468,"column_start":17,"column_end":26},"name":"list_iter","qualname":"list_iter$HirId { owner: DefId(0:2078 ~ no_proto[7dec]::collection::list::{impl#2}::do_compact), local_id: 78 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303390},"span":{"file_name":"src/collection/list.rs","byte_start":426898,"byte_end":426908,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"name":"_new_index","qualname":"_new_index$HirId { owner: DefId(0:2078 ~ no_proto[7dec]::collection::list::{impl#2}::do_compact), local_id: 156 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103787038},"span":{"file_name":"src/collection/list.rs","byte_start":426910,"byte_end":426918,"line_start":472,"line_end":472,"column_start":34,"column_end":42},"name":"new_item","qualname":"new_item$HirId { owner: DefId(0:2078 ~ no_proto[7dec]::collection::list::{impl#2}::do_compact), local_id: 157 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743903},"span":{"file_name":"src/collection/list.rs","byte_start":427166,"byte_end":427172,"line_start":480,"line_end":480,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872991},"span":{"file_name":"src/collection/list.rs","byte_start":427198,"byte_end":427205,"line_start":480,"line_end":480,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2079},"span":{"file_name":"src/collection/list.rs","byte_start":427152,"byte_end":427165,"line_start":480,"line_end":480,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832543},"span":{"file_name":"src/collection/list.rs","byte_start":427255,"byte_end":427259,"line_start":481,"line_end":481,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2079 ~ no_proto[7dec]::collection::list::{impl#2}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751647},"span":{"file_name":"src/collection/list.rs","byte_start":427344,"byte_end":427350,"line_start":483,"line_end":483,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2079 ~ no_proto[7dec]::collection::list::{impl#2}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743904},"span":{"file_name":"src/collection/list.rs","byte_start":427557,"byte_end":427563,"line_start":490,"line_end":490,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872992},"span":{"file_name":"src/collection/list.rs","byte_start":427588,"byte_end":427593,"line_start":490,"line_end":490,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614816},"span":{"file_name":"src/collection/list.rs","byte_start":427601,"byte_end":427604,"line_start":490,"line_end":490,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437536},"span":{"file_name":"src/collection/list.rs","byte_start":427618,"byte_end":427622,"line_start":490,"line_end":490,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2080},"span":{"file_name":"src/collection/list.rs","byte_start":427534,"byte_end":427552,"line_start":490,"line_end":490,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090720},"span":{"file_name":"src/collection/list.rs","byte_start":427716,"byte_end":427728,"line_start":491,"line_end":491,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723680},"span":{"file_name":"src/collection/list.rs","byte_start":427817,"byte_end":427833,"line_start":494,"line_end":494,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564256},"span":{"file_name":"src/collection/list.rs","byte_start":428137,"byte_end":428143,"line_start":502,"line_end":502,"column_start":17,"column_end":23},"name":"of_jst","qualname":"of_jst$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 93 }","value":"core::option::Option<&idl::JS_AST>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455392},"span":{"file_name":"src/collection/list.rs","byte_start":428260,"byte_end":428270,"line_start":506,"line_end":506,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 109 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1308624928},"span":{"file_name":"src/collection/list.rs","byte_start":428303,"byte_end":428306,"line_start":507,"line_end":507,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 114 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108576},"span":{"file_name":"src/collection/list.rs","byte_start":428308,"byte_end":428313,"line_start":507,"line_end":507,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 115 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2332035104},"span":{"file_name":"src/collection/list.rs","byte_start":428654,"byte_end":428663,"line_start":519,"line_end":519,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 209 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293280},"span":{"file_name":"src/collection/list.rs","byte_start":428665,"byte_end":428676,"line_start":519,"line_end":519,"column_start":29,"column_end":40},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 210 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3405776928},"span":{"file_name":"src/collection/list.rs","byte_start":428678,"byte_end":428684,"line_start":519,"line_end":519,"column_start":42,"column_end":48},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2080 ~ no_proto[7dec]::collection::list::{impl#2}::from_idl_to_schema), local_id: 211 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743905},"span":{"file_name":"src/collection/list.rs","byte_start":428963,"byte_end":428969,"line_start":529,"line_end":529,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872993},"span":{"file_name":"src/collection/list.rs","byte_start":428994,"byte_end":429005,"line_start":529,"line_end":529,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2081},"span":{"file_name":"src/collection/list.rs","byte_start":428939,"byte_end":428958,"line_start":529,"line_end":529,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219809},"span":{"file_name":"src/collection/list.rs","byte_start":429101,"byte_end":429113,"line_start":531,"line_end":531,"column_start":17,"column_end":29},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2081 ~ no_proto[7dec]::collection::list::{impl#2}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140852769},"span":{"file_name":"src/collection/list.rs","byte_start":429202,"byte_end":429218,"line_start":534,"line_end":534,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2081 ~ no_proto[7dec]::collection::list::{impl#2}::from_json_to_schema), local_id: 34 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827489},"span":{"file_name":"src/collection/list.rs","byte_start":429768,"byte_end":429777,"line_start":550,"line_end":550,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2081 ~ no_proto[7dec]::collection::list::{impl#2}::from_json_to_schema), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4043311137},"span":{"file_name":"src/collection/list.rs","byte_start":429779,"byte_end":429790,"line_start":550,"line_end":550,"column_start":25,"column_end":36},"name":"child_bytes","qualname":"child_bytes$HirId { owner: DefId(0:2081 ~ no_proto[7dec]::collection::list::{impl#2}::from_json_to_schema), local_id: 143 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":150997025},"span":{"file_name":"src/collection/list.rs","byte_start":429792,"byte_end":429798,"line_start":550,"line_end":550,"column_start":38,"column_end":44},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2081 ~ no_proto[7dec]::collection::list::{impl#2}::from_json_to_schema), local_id: 144 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743906},"span":{"file_name":"src/collection/list.rs","byte_start":430000,"byte_end":430006,"line_start":557,"line_end":557,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872994},"span":{"file_name":"src/collection/list.rs","byte_start":430015,"byte_end":430020,"line_start":557,"line_end":557,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614818},"span":{"file_name":"src/collection/list.rs","byte_start":430029,"byte_end":430036,"line_start":557,"line_end":557,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2082},"span":{"file_name":"src/collection/list.rs","byte_start":429986,"byte_end":429999,"line_start":557,"line_end":557,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743907},"span":{"file_name":"src/collection/list.rs","byte_start":430132,"byte_end":430138,"line_start":561,"line_end":561,"column_start":33,"column_end":39},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536872995},"span":{"file_name":"src/collection/list.rs","byte_start":430163,"byte_end":430170,"line_start":561,"line_end":561,"column_start":64,"column_end":71},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614819},"span":{"file_name":"src/collection/list.rs","byte_start":430179,"byte_end":430184,"line_start":561,"line_end":561,"column_start":80,"column_end":85},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2083},"span":{"file_name":"src/collection/list.rs","byte_start":430107,"byte_end":430127,"line_start":561,"line_end":561,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952792099},"span":{"file_name":"src/collection/list.rs","byte_start":430241,"byte_end":430257,"line_start":563,"line_end":563,"column_start":13,"column_end":29},"name":"list_schema_addr","qualname":"list_schema_addr$HirId { owner: DefId(0:2083 ~ no_proto[7dec]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 13 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475619},"span":{"file_name":"src/collection/list.rs","byte_start":430565,"byte_end":430574,"line_start":571,"line_end":571,"column_start":14,"column_end":23},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2083 ~ no_proto[7dec]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 73 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375733795},"span":{"file_name":"src/collection/list.rs","byte_start":430576,"byte_end":430582,"line_start":571,"line_end":571,"column_start":25,"column_end":31},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2083 ~ no_proto[7dec]::collection::list::{impl#2}::from_bytes_to_schema), local_id: 74 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3671},"span":{"file_name":"src/collection/list.rs","byte_start":430683,"byte_end":430707,"line_start":579,"line_end":579,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::collection::list::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874583},"span":{"file_name":"src/collection/list.rs","byte_start":430744,"byte_end":430750,"line_start":580,"line_end":580,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3671 ~ no_proto[7dec]::collection::list::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753239},"span":{"file_name":"src/collection/list.rs","byte_start":430788,"byte_end":430795,"line_start":581,"line_end":581,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3671 ~ no_proto[7dec]::collection::list::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432699991},"span":{"file_name":"src/collection/list.rs","byte_start":430889,"byte_end":430897,"line_start":583,"line_end":583,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3671 ~ no_proto[7dec]::collection::list::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3675},"span":{"file_name":"src/collection/list.rs","byte_start":431038,"byte_end":431058,"line_start":589,"line_end":589,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::collection::list::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874587},"span":{"file_name":"src/collection/list.rs","byte_start":431095,"byte_end":431101,"line_start":590,"line_end":590,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3675 ~ no_proto[7dec]::collection::list::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753243},"span":{"file_name":"src/collection/list.rs","byte_start":431157,"byte_end":431164,"line_start":591,"line_end":591,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3675 ~ no_proto[7dec]::collection::list::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441819},"span":{"file_name":"src/collection/list.rs","byte_start":431276,"byte_end":431284,"line_start":593,"line_end":593,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3675 ~ no_proto[7dec]::collection::list::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3679},"span":{"file_name":"src/collection/list.rs","byte_start":431438,"byte_end":431474,"line_start":599,"line_end":599,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::collection::list::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874591},"span":{"file_name":"src/collection/list.rs","byte_start":431511,"byte_end":431517,"line_start":600,"line_end":600,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3679 ~ no_proto[7dec]::collection::list::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753247},"span":{"file_name":"src/collection/list.rs","byte_start":431573,"byte_end":431580,"line_start":601,"line_end":601,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3679 ~ no_proto[7dec]::collection::list::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547999},"span":{"file_name":"src/collection/list.rs","byte_start":431687,"byte_end":431693,"line_start":604,"line_end":604,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3679 ~ no_proto[7dec]::collection::list::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2743078495},"span":{"file_name":"src/collection/list.rs","byte_start":432152,"byte_end":432158,"line_start":614,"line_end":614,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3679 ~ no_proto[7dec]::collection::list::set_clear_value_and_compaction_works#1), local_id: 453 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3683},"span":{"file_name":"src/collection/list.rs","byte_start":433165,"byte_end":433179,"line_start":636,"line_end":636,"column_start":4,"column_end":18},"name":"parseing_works","qualname":"::collection::list::parseing_works","value":"fn parseing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874595},"span":{"file_name":"src/collection/list.rs","byte_start":433216,"byte_end":433222,"line_start":637,"line_end":637,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3683 ~ no_proto[7dec]::collection::list::parseing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753251},"span":{"file_name":"src/collection/list.rs","byte_start":433278,"byte_end":433285,"line_start":638,"line_end":638,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3683 ~ no_proto[7dec]::collection::list::parseing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335548003},"span":{"file_name":"src/collection/list.rs","byte_start":433392,"byte_end":433398,"line_start":641,"line_end":641,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3683 ~ no_proto[7dec]::collection::list::parseing_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858763363},"span":{"file_name":"src/collection/list.rs","byte_start":433504,"byte_end":433514,"line_start":644,"line_end":644,"column_start":9,"column_end":19},"name":"new_buffer","qualname":"new_buffer$HirId { owner: DefId(0:3683 ~ no_proto[7dec]::collection::list::parseing_works#1), local_id: 103 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2084},"span":{"file_name":"src/collection/tuple.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"tuple","qualname":"::collection::tuple","value":"src/collection/tuple.rs","parent":null,"children":[{"krate":0,"index":2085},{"krate":0,"index":2086},{"krate":0,"index":2089},{"krate":0,"index":2092},{"krate":0,"index":2093},{"krate":0,"index":2096},{"krate":0,"index":2099},{"krate":0,"index":2102},{"krate":0,"index":2103},{"krate":0,"index":2106},{"krate":0,"index":2109},{"krate":0,"index":2110},{"krate":0,"index":2113},{"krate":0,"index":2114},{"krate":0,"index":2117},{"krate":0,"index":2118},{"krate":0,"index":2121},{"krate":0,"index":2122},{"krate":0,"index":2125},{"krate":0,"index":2126},{"krate":0,"index":2127},{"krate":0,"index":2130},{"krate":0,"index":2131},{"krate":0,"index":2134},{"krate":0,"index":2137},{"krate":0,"index":2140},{"krate":0,"index":2143},{"krate":0,"index":2146},{"krate":0,"index":2149},{"krate":0,"index":2152},{"krate":0,"index":2153},{"krate":0,"index":2156},{"krate":0,"index":3684},{"krate":0,"index":3687},{"krate":0,"index":2159},{"krate":0,"index":2165},{"krate":0,"index":3689},{"krate":0,"index":3690},{"krate":0,"index":3692},{"krate":0,"index":3693},{"krate":0,"index":3694},{"krate":0,"index":3696},{"krate":0,"index":3697},{"krate":0,"index":3698},{"krate":0,"index":3700},{"krate":0,"index":3701},{"krate":0,"index":3702},{"krate":0,"index":3704}],"decl_id":null,"docs":" Tuple data type\n","sig":null,"attributes":[{"value":"/ Tuple data type","span":{"file_name":"src/collection/mod.rs","byte_start":366861,"byte_end":366880,"line_start":9,"line_end":9,"column_start":1,"column_end":20}}]},{"kind":"Struct","id":{"krate":0,"index":3684},"span":{"file_name":"src/collection/tuple.rs","byte_start":434273,"byte_end":434281,"line_start":18,"line_end":18,"column_start":12,"column_end":20},"name":"NP_Tuple","qualname":"::collection::tuple::NP_Tuple","value":"NP_Tuple { index, table }","parent":null,"children":[{"krate":0,"index":3685},{"krate":0,"index":3686}],"decl_id":null,"docs":" Tuple data type.\n \n","sig":null,"attributes":[{"value":"/ Tuple data type.","span":{"file_name":"src/collection/tuple.rs","byte_start":434204,"byte_end":434224,"line_start":14,"line_end":14,"column_start":1,"column_end":21}},{"value":"/ ","span":{"file_name":"src/collection/tuple.rs","byte_start":434225,"byte_end":434229,"line_start":15,"line_end":15,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3685},"span":{"file_name":"src/collection/tuple.rs","byte_start":434288,"byte_end":434293,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"name":"index","qualname":"::collection::tuple::NP_Tuple::index","value":"usize","parent":{"krate":0,"index":3684},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3686},"span":{"file_name":"src/collection/tuple.rs","byte_start":434306,"byte_end":434311,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"name":"table","qualname":"::collection::tuple::NP_Tuple::table","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3684},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743984},"span":{"file_name":"src/collection/tuple.rs","byte_start":434410,"byte_end":434422,"line_start":27,"line_end":27,"column_start":23,"column_end":35},"name":"tuple_cursor","qualname":"::select::tuple_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873072},"span":{"file_name":"src/collection/tuple.rs","byte_start":434435,"byte_end":434441,"line_start":27,"line_end":27,"column_start":48,"column_end":54},"name":"schema","qualname":"::select::schema","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614896},"span":{"file_name":"src/collection/tuple.rs","byte_start":434462,"byte_end":434467,"line_start":27,"line_end":27,"column_start":75,"column_end":80},"name":"index","qualname":"::select::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437616},"span":{"file_name":"src/collection/tuple.rs","byte_start":434476,"byte_end":434485,"line_start":27,"line_end":27,"column_start":89,"column_end":98},"name":"make_path","qualname":"::select::make_path","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179440},"span":{"file_name":"src/collection/tuple.rs","byte_start":434493,"byte_end":434505,"line_start":27,"line_end":27,"column_start":106,"column_end":118},"name":"schema_query","qualname":"::select::schema_query","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308528},"span":{"file_name":"src/collection/tuple.rs","byte_start":434513,"byte_end":434519,"line_start":27,"line_end":27,"column_start":126,"column_end":132},"name":"memory","qualname":"::select::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2160},"span":{"file_name":"src/collection/tuple.rs","byte_start":434399,"byte_end":434405,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"name":"select","qualname":"::select","value":"pub fn select(NP_Cursor, &NP_Parsed_Schema, usize, bool, bool, &NP_Memory)\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/tuple.rs","byte_start":434370,"byte_end":434387,"line_start":26,"line_end":26,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3623880816},"span":{"file_name":"src/collection/tuple.rs","byte_start":434796,"byte_end":434800,"line_start":30,"line_end":30,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2160 ~ no_proto[7dec]::collection::tuple::{impl#0}::select), local_id: 27 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3925870704},"span":{"file_name":"src/collection/tuple.rs","byte_start":435086,"byte_end":435103,"line_start":40,"line_end":40,"column_start":13,"column_end":30},"name":"value_schema_data","qualname":"value_schema_data$HirId { owner: DefId(0:2160 ~ no_proto[7dec]::collection::tuple::{impl#0}::select), local_id: 87 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100665456},"span":{"file_name":"src/collection/tuple.rs","byte_start":435150,"byte_end":435155,"line_start":42,"line_end":42,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2160 ~ no_proto[7dec]::collection::tuple::{impl#0}::select), local_id: 96 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3976202352},"span":{"file_name":"src/collection/tuple.rs","byte_start":435500,"byte_end":435512,"line_start":53,"line_end":53,"column_start":13,"column_end":25},"name":"item_address","qualname":"item_address$HirId { owner: DefId(0:2160 ~ no_proto[7dec]::collection::tuple::{impl#0}::select), local_id: 183 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946544},"span":{"file_name":"src/collection/tuple.rs","byte_start":435593,"byte_end":435599,"line_start":55,"line_end":55,"column_start":17,"column_end":23},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2160 ~ no_proto[7dec]::collection::tuple::{impl#0}::select), local_id: 198 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743985},"span":{"file_name":"src/collection/tuple.rs","byte_start":436079,"byte_end":436091,"line_start":73,"line_end":73,"column_start":31,"column_end":43},"name":"tuple_cursor","qualname":"::alloc_tuple::tuple_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873073},"span":{"file_name":"src/collection/tuple.rs","byte_start":436104,"byte_end":436109,"line_start":73,"line_end":73,"column_start":56,"column_end":61},"name":"empty","qualname":"::alloc_tuple::empty","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614897},"span":{"file_name":"src/collection/tuple.rs","byte_start":436121,"byte_end":436127,"line_start":73,"line_end":73,"column_start":73,"column_end":79},"name":"memory","qualname":"::alloc_tuple::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2161},"span":{"file_name":"src/collection/tuple.rs","byte_start":436060,"byte_end":436071,"line_start":73,"line_end":73,"column_start":12,"column_end":23},"name":"alloc_tuple","qualname":"::alloc_tuple","value":"pub fn alloc_tuple<'make>(NP_Cursor, &Vec, &'make NP_Memory)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/collection/tuple.rs","byte_start":436031,"byte_end":436048,"line_start":72,"line_end":72,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":4160751729},"span":{"file_name":"src/collection/tuple.rs","byte_start":436193,"byte_end":436201,"line_start":75,"line_end":75,"column_start":13,"column_end":21},"name":"new_addr","qualname":"new_addr$HirId { owner: DefId(0:2161 ~ no_proto[7dec]::collection::tuple::{impl#0}::alloc_tuple), local_id: 31 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743987},"span":{"file_name":"src/collection/tuple.rs","byte_start":436372,"byte_end":436378,"line_start":82,"line_end":82,"column_start":21,"column_end":27},"name":"cursor","qualname":"::new_iter::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873075},"span":{"file_name":"src/collection/tuple.rs","byte_start":436392,"byte_end":436399,"line_start":82,"line_end":82,"column_start":41,"column_end":48},"name":"_memory","qualname":"::new_iter::_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2163},"span":{"file_name":"src/collection/tuple.rs","byte_start":436363,"byte_end":436371,"line_start":82,"line_end":82,"column_start":12,"column_end":20},"name":"new_iter","qualname":"::new_iter","value":"pub fn new_iter(&NP_Cursor, &NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743988},"span":{"file_name":"src/collection/tuple.rs","byte_start":436539,"byte_end":436543,"line_start":90,"line_end":90,"column_start":27,"column_end":31},"name":"self","qualname":"::step_iter::self","value":"&mut collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873076},"span":{"file_name":"src/collection/tuple.rs","byte_start":436545,"byte_end":436551,"line_start":90,"line_end":90,"column_start":33,"column_end":39},"name":"memory","qualname":"::step_iter::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614900},"span":{"file_name":"src/collection/tuple.rs","byte_start":436565,"byte_end":436575,"line_start":90,"line_end":90,"column_start":53,"column_end":63},"name":"show_empty","qualname":"::step_iter::show_empty","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2164},"span":{"file_name":"src/collection/tuple.rs","byte_start":436524,"byte_end":436533,"line_start":90,"line_end":90,"column_start":12,"column_end":21},"name":"step_iter","qualname":"::step_iter","value":"pub fn step_iter(&mut Self, &NP_Memory, bool)\n-> Option<(usize, Option)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880820},"span":{"file_name":"src/collection/tuple.rs","byte_start":436636,"byte_end":436640,"line_start":92,"line_end":92,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 27 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3422554228},"span":{"file_name":"src/collection/tuple.rs","byte_start":436825,"byte_end":436835,"line_start":98,"line_end":98,"column_start":13,"column_end":23},"name":"this_index","qualname":"this_index$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 51 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241516148},"span":{"file_name":"src/collection/tuple.rs","byte_start":436888,"byte_end":436899,"line_start":101,"line_end":101,"column_start":13,"column_end":24},"name":"next_cursor","qualname":"next_cursor$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 82 }","value":"core::result::Result, error::NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778387060},"span":{"file_name":"src/collection/tuple.rs","byte_start":437048,"byte_end":437052,"line_start":104,"line_end":104,"column_start":16,"column_end":20},"name":"next","qualname":"next$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 86 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080692},"span":{"file_name":"src/collection/tuple.rs","byte_start":437113,"byte_end":437119,"line_start":106,"line_end":106,"column_start":26,"column_end":32},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 92 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2298480756},"span":{"file_name":"src/collection/tuple.rs","byte_start":437494,"byte_end":437496,"line_start":116,"line_end":116,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2164 ~ no_proto[7dec]::collection::tuple::{impl#0}::step_iter), local_id: 145 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743991},"span":{"file_name":"src/collection/tuple.rs","byte_start":437595,"byte_end":437600,"line_start":125,"line_end":125,"column_start":16,"column_end":21},"name":"depth","qualname":"::to_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873079},"span":{"file_name":"src/collection/tuple.rs","byte_start":437608,"byte_end":437614,"line_start":125,"line_end":125,"column_start":29,"column_end":35},"name":"cursor","qualname":"::to_json::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614903},"span":{"file_name":"src/collection/tuple.rs","byte_start":437628,"byte_end":437634,"line_start":125,"line_end":125,"column_start":49,"column_end":55},"name":"memory","qualname":"::to_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2167},"span":{"file_name":"src/collection/tuple.rs","byte_start":437587,"byte_end":437594,"line_start":125,"line_end":125,"column_start":8,"column_end":15},"name":"to_json","qualname":"::to_json","value":"fn to_json(usize, &NP_Cursor, &'value NP_Memory) -> NP_JSON","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1739},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961719},"span":{"file_name":"src/collection/tuple.rs","byte_start":437680,"byte_end":437687,"line_start":126,"line_end":126,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2167 ~ no_proto[7dec]::collection::tuple::{impl#1}::to_json), local_id: 18 }","value":"[closure@src/collection/tuple.rs:126:23: 126:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1409288311},"span":{"file_name":"src/collection/tuple.rs","byte_start":437810,"byte_end":437819,"line_start":130,"line_end":130,"column_start":17,"column_end":26},"name":"json_list","qualname":"json_list$HirId { owner: DefId(0:2167 ~ no_proto[7dec]::collection::tuple::{impl#1}::to_json), local_id: 42 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959425143},"span":{"file_name":"src/collection/tuple.rs","byte_start":437851,"byte_end":437856,"line_start":132,"line_end":132,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2167 ~ no_proto[7dec]::collection::tuple::{impl#1}::to_json), local_id: 55 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2169},"span":{"file_name":"src/collection/tuple.rs","byte_start":438227,"byte_end":438235,"line_start":146,"line_end":146,"column_start":8,"column_end":16},"name":"type_idx","qualname":"::type_idx","value":"fn type_idx() -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1726},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743994},"span":{"file_name":"src/collection/tuple.rs","byte_start":438324,"byte_end":438328,"line_start":147,"line_end":147,"column_start":23,"column_end":27},"name":"self","qualname":"::self_type_idx::self","value":"&collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2170},"span":{"file_name":"src/collection/tuple.rs","byte_start":438309,"byte_end":438322,"line_start":147,"line_end":147,"column_start":8,"column_end":21},"name":"self_type_idx","qualname":"::self_type_idx","value":"fn self_type_idx(&Self) -> (&'value str, NP_TypeKeys)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1727},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743995},"span":{"file_name":"src/collection/tuple.rs","byte_start":438417,"byte_end":438423,"line_start":149,"line_end":149,"column_start":23,"column_end":29},"name":"schema","qualname":"::schema_to_json::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873083},"span":{"file_name":"src/collection/tuple.rs","byte_start":438449,"byte_end":438456,"line_start":149,"line_end":149,"column_start":55,"column_end":62},"name":"address","qualname":"::schema_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2171},"span":{"file_name":"src/collection/tuple.rs","byte_start":438402,"byte_end":438416,"line_start":149,"line_end":149,"column_start":8,"column_end":22},"name":"schema_to_json","qualname":"::schema_to_json","value":"fn schema_to_json(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1728},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308539},"span":{"file_name":"src/collection/tuple.rs","byte_start":438511,"byte_end":438522,"line_start":150,"line_end":150,"column_start":17,"column_end":28},"name":"schema_json","qualname":"schema_json$HirId { owner: DefId(0:2171 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_json), local_id: 12 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070587},"span":{"file_name":"src/collection/tuple.rs","byte_start":438648,"byte_end":438652,"line_start":153,"line_end":153,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2171 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_json), local_id: 50 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2248149115},"span":{"file_name":"src/collection/tuple.rs","byte_start":438730,"byte_end":438742,"line_start":155,"line_end":155,"column_start":13,"column_end":25},"name":"schema_state","qualname":"schema_state$HirId { owner: DefId(0:2171 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_json), local_id: 97 }","value":"(bool, std::vec::Vec)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475707},"span":{"file_name":"src/collection/tuple.rs","byte_start":438818,"byte_end":438824,"line_start":155,"line_end":155,"column_start":101,"column_end":107},"name":"column","qualname":"$HirId { owner: DefId(0:2171 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_json), local_id: 92 }::column","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743997},"span":{"file_name":"src/collection/tuple.rs","byte_start":439205,"byte_end":439210,"line_start":168,"line_end":168,"column_start":28,"column_end":33},"name":"depth","qualname":"::set_from_json::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873085},"span":{"file_name":"src/collection/tuple.rs","byte_start":439219,"byte_end":439229,"line_start":168,"line_end":168,"column_start":42,"column_end":52},"name":"apply_null","qualname":"::set_from_json::apply_null","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614909},"span":{"file_name":"src/collection/tuple.rs","byte_start":439237,"byte_end":439243,"line_start":168,"line_end":168,"column_start":60,"column_end":66},"name":"cursor","qualname":"::set_from_json::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437629},"span":{"file_name":"src/collection/tuple.rs","byte_start":439256,"byte_end":439262,"line_start":168,"line_end":168,"column_start":79,"column_end":85},"name":"memory","qualname":"::set_from_json::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179453},"span":{"file_name":"src/collection/tuple.rs","byte_start":439281,"byte_end":439286,"line_start":168,"line_end":168,"column_start":104,"column_end":109},"name":"value","qualname":"::set_from_json::value","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2173},"span":{"file_name":"src/collection/tuple.rs","byte_start":439185,"byte_end":439198,"line_start":168,"line_end":168,"column_start":8,"column_end":21},"name":"set_from_json","qualname":"::set_from_json","value":"fn set_from_json<'set>(usize, bool, NP_Cursor, &'set NP_Memory, &Box)\n-> Result<(), NP_Error> where Self: 'set + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1735},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961725},"span":{"file_name":"src/collection/tuple.rs","byte_start":439415,"byte_end":439419,"line_start":171,"line_end":171,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2173 ~ no_proto[7dec]::collection::tuple::{impl#1}::set_from_json), local_id: 18 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623880829},"span":{"file_name":"src/collection/tuple.rs","byte_start":439447,"byte_end":439450,"line_start":172,"line_end":172,"column_start":22,"column_end":25},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2173 ~ no_proto[7dec]::collection::tuple::{impl#1}::set_from_json), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526269},"span":{"file_name":"src/collection/tuple.rs","byte_start":439452,"byte_end":439462,"line_start":172,"line_end":172,"column_start":27,"column_end":37},"name":"tuple_item","qualname":"tuple_item$HirId { owner: DefId(0:2173 ~ no_proto[7dec]::collection::tuple::{impl#1}::set_from_json), local_id: 28 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449475709},"span":{"file_name":"src/collection/tuple.rs","byte_start":439641,"byte_end":439642,"line_start":174,"line_end":174,"column_start":30,"column_end":31},"name":"x","qualname":"x$HirId { owner: DefId(0:2173 ~ no_proto[7dec]::collection::tuple::{impl#1}::set_from_json), local_id: 73 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073743999},"span":{"file_name":"src/collection/tuple.rs","byte_start":440076,"byte_end":440081,"line_start":189,"line_end":189,"column_start":17,"column_end":22},"name":"depth","qualname":"::get_size::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873087},"span":{"file_name":"src/collection/tuple.rs","byte_start":440089,"byte_end":440095,"line_start":189,"line_end":189,"column_start":30,"column_end":36},"name":"cursor","qualname":"::get_size::cursor","value":"&pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614911},"span":{"file_name":"src/collection/tuple.rs","byte_start":440109,"byte_end":440115,"line_start":189,"line_end":189,"column_start":50,"column_end":56},"name":"memory","qualname":"::get_size::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2175},"span":{"file_name":"src/collection/tuple.rs","byte_start":440067,"byte_end":440075,"line_start":189,"line_end":189,"column_start":8,"column_end":16},"name":"get_size","qualname":"::get_size","value":"fn get_size(usize, &NP_Cursor, &'value NP_Memory) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1740},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207961727},"span":{"file_name":"src/collection/tuple.rs","byte_start":440178,"byte_end":440185,"line_start":191,"line_end":191,"column_start":13,"column_end":20},"name":"c_value","qualname":"c_value$HirId { owner: DefId(0:2175 ~ no_proto[7dec]::collection::tuple::{impl#1}::get_size), local_id: 18 }","value":"[closure@src/collection/tuple.rs:191:23: 191:54]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207423},"span":{"file_name":"src/collection/tuple.rs","byte_start":440320,"byte_end":440328,"line_start":197,"line_end":197,"column_start":17,"column_end":25},"name":"acc_size","qualname":"acc_size$HirId { owner: DefId(0:2175 ~ no_proto[7dec]::collection::tuple::{impl#1}::get_size), local_id: 39 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738199679},"span":{"file_name":"src/collection/tuple.rs","byte_start":440356,"byte_end":440361,"line_start":199,"line_end":199,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2175 ~ no_proto[7dec]::collection::tuple::{impl#1}::get_size), local_id: 52 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992063},"span":{"file_name":"src/collection/tuple.rs","byte_start":440410,"byte_end":440414,"line_start":201,"line_end":201,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2175 ~ no_proto[7dec]::collection::tuple::{impl#1}::get_size), local_id: 72 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":905971839},"span":{"file_name":"src/collection/tuple.rs","byte_start":440667,"byte_end":440679,"line_start":206,"line_end":206,"column_start":21,"column_end":33},"name":"schema_value","qualname":"schema_value$HirId { owner: DefId(0:2175 ~ no_proto[7dec]::collection::tuple::{impl#1}::get_size), local_id: 108 }","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744001},"span":{"file_name":"src/collection/tuple.rs","byte_start":441009,"byte_end":441014,"line_start":219,"line_end":219,"column_start":19,"column_end":24},"name":"depth","qualname":"::do_compact::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873089},"span":{"file_name":"src/collection/tuple.rs","byte_start":441022,"byte_end":441033,"line_start":219,"line_end":219,"column_start":32,"column_end":43},"name":"from_cursor","qualname":"::do_compact::from_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614913},"span":{"file_name":"src/collection/tuple.rs","byte_start":441046,"byte_end":441057,"line_start":219,"line_end":219,"column_start":56,"column_end":67},"name":"from_memory","qualname":"::do_compact::from_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437633},"span":{"file_name":"src/collection/tuple.rs","byte_start":441082,"byte_end":441091,"line_start":219,"line_end":219,"column_start":92,"column_end":101},"name":"to_cursor","qualname":"::do_compact::to_cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179457},"span":{"file_name":"src/collection/tuple.rs","byte_start":441104,"byte_end":441113,"line_start":219,"line_end":219,"column_start":114,"column_end":123},"name":"to_memory","qualname":"::do_compact::to_memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2177},"span":{"file_name":"src/collection/tuple.rs","byte_start":440998,"byte_end":441008,"line_start":219,"line_end":219,"column_start":8,"column_end":18},"name":"do_compact","qualname":"::do_compact","value":"fn do_compact(usize, NP_Cursor, &'value NP_Memory, NP_Cursor,\n&'value NP_Memory) -> Result where Self: 'value + Sized","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1741},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445377},"span":{"file_name":"src/collection/tuple.rs","byte_start":441207,"byte_end":441217,"line_start":221,"line_end":221,"column_start":13,"column_end":23},"name":"from_value","qualname":"from_value$HirId { owner: DefId(0:2177 ~ no_proto[7dec]::collection::tuple::{impl#1}::do_compact), local_id: 19 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764225},"span":{"file_name":"src/collection/tuple.rs","byte_start":441360,"byte_end":441364,"line_start":227,"line_end":227,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2177 ~ no_proto[7dec]::collection::tuple::{impl#1}::do_compact), local_id: 56 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":570427521},"span":{"file_name":"src/collection/tuple.rs","byte_start":441475,"byte_end":441486,"line_start":229,"line_end":229,"column_start":14,"column_end":25},"name":"col_schemas","qualname":"col_schemas$HirId { owner: DefId(0:2177 ~ no_proto[7dec]::collection::tuple::{impl#1}::do_compact), local_id: 68 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911169},"span":{"file_name":"src/collection/tuple.rs","byte_start":441488,"byte_end":441494,"line_start":229,"line_end":229,"column_start":27,"column_end":33},"name":"_empty","qualname":"_empty$HirId { owner: DefId(0:2177 ~ no_proto[7dec]::collection::tuple::{impl#1}::do_compact), local_id: 69 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":771754113},"span":{"file_name":"src/collection/tuple.rs","byte_start":441620,"byte_end":441625,"line_start":233,"line_end":233,"column_start":17,"column_end":22},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2177 ~ no_proto[7dec]::collection::tuple::{impl#1}::do_compact), local_id: 116 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744002},"span":{"file_name":"src/collection/tuple.rs","byte_start":442117,"byte_end":442123,"line_start":245,"line_end":245,"column_start":22,"column_end":28},"name":"schema","qualname":"::schema_to_idl::schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873090},"span":{"file_name":"src/collection/tuple.rs","byte_start":442149,"byte_end":442156,"line_start":245,"line_end":245,"column_start":54,"column_end":61},"name":"address","qualname":"::schema_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2178},"span":{"file_name":"src/collection/tuple.rs","byte_start":442103,"byte_end":442116,"line_start":245,"line_end":245,"column_start":8,"column_end":21},"name":"schema_to_idl","qualname":"::schema_to_idl","value":"fn schema_to_idl(&Vec, usize) -> Result","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1729},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832642},"span":{"file_name":"src/collection/tuple.rs","byte_start":442206,"byte_end":442210,"line_start":246,"line_end":246,"column_start":13,"column_end":17},"name":"data","qualname":"data$HirId { owner: DefId(0:2178 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_idl), local_id: 22 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751746},"span":{"file_name":"src/collection/tuple.rs","byte_start":442292,"byte_end":442298,"line_start":248,"line_end":248,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2178 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_idl), local_id: 31 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030146},"span":{"file_name":"src/collection/tuple.rs","byte_start":442348,"byte_end":442358,"line_start":250,"line_end":250,"column_start":13,"column_end":23},"name":"last_index","qualname":"last_index$HirId { owner: DefId(0:2178 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_idl), local_id: 41 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812418},"span":{"file_name":"src/collection/tuple.rs","byte_start":442397,"byte_end":442400,"line_start":251,"line_end":251,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2178 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_idl), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275070594},"span":{"file_name":"src/collection/tuple.rs","byte_start":442402,"byte_end":442407,"line_start":251,"line_end":251,"column_start":19,"column_end":24},"name":"field","qualname":"field$HirId { owner: DefId(0:2178 ~ no_proto[7dec]::collection::tuple::{impl#1}::schema_to_idl), local_id: 50 }","value":"&schema::NP_Tuple_Field","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744003},"span":{"file_name":"src/collection/tuple.rs","byte_start":442859,"byte_end":442865,"line_start":267,"line_end":267,"column_start":31,"column_end":37},"name":"schema","qualname":"::from_idl_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873091},"span":{"file_name":"src/collection/tuple.rs","byte_start":442890,"byte_end":442895,"line_start":267,"line_end":267,"column_start":62,"column_end":67},"name":"_name","qualname":"::from_idl_to_schema::_name","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614915},"span":{"file_name":"src/collection/tuple.rs","byte_start":442903,"byte_end":442906,"line_start":267,"line_end":267,"column_start":75,"column_end":78},"name":"idl","qualname":"::from_idl_to_schema::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268437635},"span":{"file_name":"src/collection/tuple.rs","byte_start":442920,"byte_end":442924,"line_start":267,"line_end":267,"column_start":92,"column_end":96},"name":"args","qualname":"::from_idl_to_schema::args","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2179},"span":{"file_name":"src/collection/tuple.rs","byte_start":442836,"byte_end":442854,"line_start":267,"line_end":267,"column_start":8,"column_end":26},"name":"from_idl_to_schema","qualname":"::from_idl_to_schema","value":"fn from_idl_to_schema(Vec, &str, &JS_Schema, &Vec)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1730},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671090819},"span":{"file_name":"src/collection/tuple.rs","byte_start":443018,"byte_end":443029,"line_start":268,"line_end":268,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 20 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336515},"span":{"file_name":"src/collection/tuple.rs","byte_start":443122,"byte_end":443128,"line_start":271,"line_end":271,"column_start":17,"column_end":23},"name":"sorted","qualname":"sorted$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201328771},"span":{"file_name":"src/collection/tuple.rs","byte_start":443154,"byte_end":443166,"line_start":272,"line_end":272,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 48 }","value":"core::option::Option<&std::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556611},"span":{"file_name":"src/collection/tuple.rs","byte_start":443288,"byte_end":443298,"line_start":276,"line_end":276,"column_start":34,"column_end":44},"name":"properties","qualname":"properties$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 64 }","value":"&std::vec::Vec<(idl::AST_STR, idl::JS_AST)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911171},"span":{"file_name":"src/collection/tuple.rs","byte_start":443331,"byte_end":443334,"line_start":277,"line_end":277,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 69 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169347},"span":{"file_name":"src/collection/tuple.rs","byte_start":443336,"byte_end":443341,"line_start":277,"line_end":277,"column_start":31,"column_end":36},"name":"value","qualname":"value$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 70 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100931},"span":{"file_name":"src/collection/tuple.rs","byte_start":443675,"byte_end":443681,"line_start":284,"line_end":284,"column_start":53,"column_end":59},"name":"values","qualname":"values$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 104 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1660946563},"span":{"file_name":"src/collection/tuple.rs","byte_start":444245,"byte_end":444259,"line_start":306,"line_end":306,"column_start":21,"column_end":35},"name":"column_schemas","qualname":"column_schemas$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 198 }","value":"std::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3003123843},"span":{"file_name":"src/collection/tuple.rs","byte_start":444304,"byte_end":444314,"line_start":307,"line_end":307,"column_start":17,"column_end":27},"name":"tuple_addr","qualname":"tuple_addr$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 205 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2961180803},"span":{"file_name":"src/collection/tuple.rs","byte_start":444659,"byte_end":444671,"line_start":315,"line_end":315,"column_start":21,"column_end":33},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 269 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1216350339},"span":{"file_name":"src/collection/tuple.rs","byte_start":444732,"byte_end":444746,"line_start":317,"line_end":317,"column_start":21,"column_end":35},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 274 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1753221251},"span":{"file_name":"src/collection/tuple.rs","byte_start":444778,"byte_end":444789,"line_start":319,"line_end":319,"column_start":21,"column_end":32},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 278 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2558527619},"span":{"file_name":"src/collection/tuple.rs","byte_start":444821,"byte_end":444824,"line_start":321,"line_end":321,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 281 }","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1686112387},"span":{"file_name":"src/collection/tuple.rs","byte_start":444861,"byte_end":444871,"line_start":322,"line_end":322,"column_start":21,"column_end":31},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 294 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2726299779},"span":{"file_name":"src/collection/tuple.rs","byte_start":444917,"byte_end":444928,"line_start":323,"line_end":323,"column_start":22,"column_end":33},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 325 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1652557955},"span":{"file_name":"src/collection/tuple.rs","byte_start":444930,"byte_end":444942,"line_start":323,"line_end":323,"column_start":35,"column_end":47},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 326 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3800041603},"span":{"file_name":"src/collection/tuple.rs","byte_start":444944,"byte_end":444950,"line_start":323,"line_end":323,"column_start":49,"column_end":55},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 327 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3061844099},"span":{"file_name":"src/collection/tuple.rs","byte_start":445331,"byte_end":445332,"line_start":329,"line_end":329,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 365 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1681918083},"span":{"file_name":"src/collection/tuple.rs","byte_start":446494,"byte_end":446497,"line_start":356,"line_end":356,"column_start":17,"column_end":20},"name":"col","qualname":"col$HirId { owner: DefId(0:2179 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_idl_to_schema), local_id: 550 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744004},"span":{"file_name":"src/collection/tuple.rs","byte_start":447068,"byte_end":447074,"line_start":373,"line_end":373,"column_start":32,"column_end":38},"name":"schema","qualname":"::from_json_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873092},"span":{"file_name":"src/collection/tuple.rs","byte_start":447099,"byte_end":447110,"line_start":373,"line_end":373,"column_start":63,"column_end":74},"name":"json_schema","qualname":"::from_json_to_schema::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2180},"span":{"file_name":"src/collection/tuple.rs","byte_start":447044,"byte_end":447063,"line_start":373,"line_end":373,"column_start":8,"column_end":27},"name":"from_json_to_schema","qualname":"::from_json_to_schema","value":"fn from_json_to_schema(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1731},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219908},"span":{"file_name":"src/collection/tuple.rs","byte_start":447211,"byte_end":447222,"line_start":376,"line_end":376,"column_start":17,"column_end":28},"name":"schema_data","qualname":"schema_data$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751748},"span":{"file_name":"src/collection/tuple.rs","byte_start":447315,"byte_end":447321,"line_start":379,"line_end":379,"column_start":17,"column_end":23},"name":"sorted","qualname":"sorted$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 31 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604804},"span":{"file_name":"src/collection/tuple.rs","byte_start":447581,"byte_end":447595,"line_start":391,"line_end":391,"column_start":17,"column_end":31},"name":"column_schemas","qualname":"column_schemas$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 78 }","value":"std::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852128900},"span":{"file_name":"src/collection/tuple.rs","byte_start":447636,"byte_end":447646,"line_start":392,"line_end":392,"column_start":13,"column_end":23},"name":"tuple_addr","qualname":"tuple_addr$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 85 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2835351684},"span":{"file_name":"src/collection/tuple.rs","byte_start":447959,"byte_end":447971,"line_start":400,"line_end":400,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 149 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1493174404},"span":{"file_name":"src/collection/tuple.rs","byte_start":448024,"byte_end":448038,"line_start":402,"line_end":402,"column_start":17,"column_end":31},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 154 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030045316},"span":{"file_name":"src/collection/tuple.rs","byte_start":448066,"byte_end":448077,"line_start":404,"line_end":404,"column_start":17,"column_end":28},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 158 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1694500996},"span":{"file_name":"src/collection/tuple.rs","byte_start":448155,"byte_end":448159,"line_start":407,"line_end":407,"column_start":28,"column_end":32},"name":"cols","qualname":"cols$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 166 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3573549188},"span":{"file_name":"src/collection/tuple.rs","byte_start":448186,"byte_end":448189,"line_start":408,"line_end":408,"column_start":21,"column_end":24},"name":"col","qualname":"col$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 171 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":486541444},"span":{"file_name":"src/collection/tuple.rs","byte_start":448224,"byte_end":448234,"line_start":409,"line_end":409,"column_start":25,"column_end":35},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 184 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":989857924},"span":{"file_name":"src/collection/tuple.rs","byte_start":448284,"byte_end":448295,"line_start":410,"line_end":410,"column_start":26,"column_end":37},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 220 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3137341572},"span":{"file_name":"src/collection/tuple.rs","byte_start":448297,"byte_end":448309,"line_start":410,"line_end":410,"column_start":39,"column_end":51},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 221 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063599748},"span":{"file_name":"src/collection/tuple.rs","byte_start":448311,"byte_end":448317,"line_start":410,"line_end":410,"column_start":53,"column_end":59},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 222 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545261700},"span":{"file_name":"src/collection/tuple.rs","byte_start":448757,"byte_end":448758,"line_start":417,"line_end":417,"column_start":46,"column_end":47},"name":"x","qualname":"x$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 260 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1937770628},"span":{"file_name":"src/collection/tuple.rs","byte_start":450072,"byte_end":450075,"line_start":449,"line_end":449,"column_start":13,"column_end":16},"name":"col","qualname":"col$HirId { owner: DefId(0:2180 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_json_to_schema), local_id: 462 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744005},"span":{"file_name":"src/collection/tuple.rs","byte_start":450480,"byte_end":450486,"line_start":464,"line_end":464,"column_start":22,"column_end":28},"name":"_depth","qualname":"::default_value::_depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873093},"span":{"file_name":"src/collection/tuple.rs","byte_start":450495,"byte_end":450500,"line_start":464,"line_end":464,"column_start":37,"column_end":42},"name":"_addr","qualname":"::default_value::_addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614917},"span":{"file_name":"src/collection/tuple.rs","byte_start":450509,"byte_end":450516,"line_start":464,"line_end":464,"column_start":51,"column_end":58},"name":"_schema","qualname":"::default_value::_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2181},"span":{"file_name":"src/collection/tuple.rs","byte_start":450466,"byte_end":450479,"line_start":464,"line_end":464,"column_start":8,"column_end":21},"name":"default_value","qualname":"::default_value","value":"fn default_value(usize, usize, &Vec) -> Option","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1738},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744006},"span":{"file_name":"src/collection/tuple.rs","byte_start":450608,"byte_end":450614,"line_start":468,"line_end":468,"column_start":29,"column_end":35},"name":"schema","qualname":"::from_bytes_to_schema::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873094},"span":{"file_name":"src/collection/tuple.rs","byte_start":450639,"byte_end":450646,"line_start":468,"line_end":468,"column_start":60,"column_end":67},"name":"address","qualname":"::from_bytes_to_schema::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610614918},"span":{"file_name":"src/collection/tuple.rs","byte_start":450655,"byte_end":450660,"line_start":468,"line_end":468,"column_start":76,"column_end":81},"name":"bytes","qualname":"::from_bytes_to_schema::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2182},"span":{"file_name":"src/collection/tuple.rs","byte_start":450587,"byte_end":450607,"line_start":468,"line_end":468,"column_start":8,"column_end":28},"name":"from_bytes_to_schema","qualname":"::from_bytes_to_schema","value":"fn from_bytes_to_schema(Vec, usize, &[u8])\n-> (bool, Vec)","parent":{"krate":0,"index":1724},"children":[],"decl_id":{"krate":0,"index":1732},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134219910},"span":{"file_name":"src/collection/tuple.rs","byte_start":450716,"byte_end":450725,"line_start":469,"line_end":469,"column_start":13,"column_end":22},"name":"is_sorted","qualname":"is_sorted$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 16 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476397190},"span":{"file_name":"src/collection/tuple.rs","byte_start":450761,"byte_end":450771,"line_start":471,"line_end":471,"column_start":13,"column_end":23},"name":"column_len","qualname":"column_len$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 26 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160751750},"span":{"file_name":"src/collection/tuple.rs","byte_start":450811,"byte_end":450825,"line_start":473,"line_end":473,"column_start":17,"column_end":31},"name":"working_schema","qualname":"working_schema$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 31 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677723782},"span":{"file_name":"src/collection/tuple.rs","byte_start":450849,"byte_end":450866,"line_start":475,"line_end":475,"column_start":13,"column_end":30},"name":"tuple_schema_addr","qualname":"tuple_schema_addr$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 38 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":369100934},"span":{"file_name":"src/collection/tuple.rs","byte_start":451203,"byte_end":451215,"line_start":483,"line_end":483,"column_start":17,"column_end":29},"name":"tuple_values","qualname":"tuple_values$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 104 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4127197318},"span":{"file_name":"src/collection/tuple.rs","byte_start":451268,"byte_end":451274,"line_start":485,"line_end":485,"column_start":17,"column_end":23},"name":"offset","qualname":"offset$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 111 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456108678},"span":{"file_name":"src/collection/tuple.rs","byte_start":451307,"byte_end":451318,"line_start":487,"line_end":487,"column_start":17,"column_end":28},"name":"data_offset","qualname":"data_offset$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 115 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187673222},"span":{"file_name":"src/collection/tuple.rs","byte_start":451342,"byte_end":451344,"line_start":489,"line_end":489,"column_start":13,"column_end":15},"name":"_x","qualname":"_x$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 125 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3640658054},"span":{"file_name":"src/collection/tuple.rs","byte_start":451390,"byte_end":451401,"line_start":491,"line_end":491,"column_start":17,"column_end":28},"name":"schema_size","qualname":"schema_size$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 155 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1157630086},"span":{"file_name":"src/collection/tuple.rs","byte_start":451531,"byte_end":451541,"line_start":495,"line_end":495,"column_start":17,"column_end":27},"name":"schema_len","qualname":"schema_len$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 162 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1291847814},"span":{"file_name":"src/collection/tuple.rs","byte_start":451583,"byte_end":451592,"line_start":496,"line_end":496,"column_start":18,"column_end":27},"name":"_sortable","qualname":"_sortable$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 178 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3439331462},"span":{"file_name":"src/collection/tuple.rs","byte_start":451594,"byte_end":451600,"line_start":496,"line_end":496,"column_start":29,"column_end":35},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 179 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600470662},"span":{"file_name":"src/collection/tuple.rs","byte_start":451965,"byte_end":451966,"line_start":502,"line_end":502,"column_start":38,"column_end":39},"name":"x","qualname":"x$HirId { owner: DefId(0:2182 ~ no_proto[7dec]::collection::tuple::{impl#1}::from_bytes_to_schema), local_id: 217 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3692},"span":{"file_name":"src/collection/tuple.rs","byte_start":452690,"byte_end":452714,"line_start":527,"line_end":527,"column_start":4,"column_end":28},"name":"schema_parsing_works_idl","qualname":"::collection::tuple::schema_parsing_works_idl","value":"fn schema_parsing_works_idl() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874604},"span":{"file_name":"src/collection/tuple.rs","byte_start":452751,"byte_end":452757,"line_start":528,"line_end":528,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753260},"span":{"file_name":"src/collection/tuple.rs","byte_start":452813,"byte_end":452820,"line_start":529,"line_end":529,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 31 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2432700012},"span":{"file_name":"src/collection/tuple.rs","byte_start":452914,"byte_end":452922,"line_start":531,"line_end":531,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 137 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1526730348},"span":{"file_name":"src/collection/tuple.rs","byte_start":453047,"byte_end":453053,"line_start":534,"line_end":534,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 218 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2936016492},"span":{"file_name":"src/collection/tuple.rs","byte_start":453133,"byte_end":453140,"line_start":535,"line_end":535,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 245 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4202696300},"span":{"file_name":"src/collection/tuple.rs","byte_start":453234,"byte_end":453242,"line_start":537,"line_end":537,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3692 ~ no_proto[7dec]::collection::tuple::schema_parsing_works_idl#1), local_id: 351 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3696},"span":{"file_name":"src/collection/tuple.rs","byte_start":453383,"byte_end":453403,"line_start":543,"line_end":543,"column_start":4,"column_end":24},"name":"schema_parsing_works","qualname":"::collection::tuple::schema_parsing_works","value":"fn schema_parsing_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874608},"span":{"file_name":"src/collection/tuple.rs","byte_start":453440,"byte_end":453446,"line_start":544,"line_end":544,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753264},"span":{"file_name":"src/collection/tuple.rs","byte_start":453557,"byte_end":453564,"line_start":545,"line_end":545,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3506441840},"span":{"file_name":"src/collection/tuple.rs","byte_start":453676,"byte_end":453684,"line_start":547,"line_end":547,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 139 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2063601264},"span":{"file_name":"src/collection/tuple.rs","byte_start":453822,"byte_end":453828,"line_start":550,"line_end":550,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 222 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2667581040},"span":{"file_name":"src/collection/tuple.rs","byte_start":453967,"byte_end":453974,"line_start":551,"line_end":551,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 249 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2793410160},"span":{"file_name":"src/collection/tuple.rs","byte_start":454086,"byte_end":454094,"line_start":553,"line_end":553,"column_start":9,"column_end":17},"name":"factory2","qualname":"factory2$HirId { owner: DefId(0:3696 ~ no_proto[7dec]::collection::tuple::schema_parsing_works#1), local_id: 357 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3700},"span":{"file_name":"src/collection/tuple.rs","byte_start":454249,"byte_end":454285,"line_start":560,"line_end":560,"column_start":4,"column_end":40},"name":"set_clear_value_and_compaction_works","qualname":"::collection::tuple::set_clear_value_and_compaction_works","value":"fn set_clear_value_and_compaction_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874612},"span":{"file_name":"src/collection/tuple.rs","byte_start":454322,"byte_end":454328,"line_start":561,"line_end":561,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3700 ~ no_proto[7dec]::collection::tuple::set_clear_value_and_compaction_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753268},"span":{"file_name":"src/collection/tuple.rs","byte_start":454424,"byte_end":454431,"line_start":562,"line_end":562,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3700 ~ no_proto[7dec]::collection::tuple::set_clear_value_and_compaction_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335548020},"span":{"file_name":"src/collection/tuple.rs","byte_start":454484,"byte_end":454490,"line_start":563,"line_end":563,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3700 ~ no_proto[7dec]::collection::tuple::set_clear_value_and_compaction_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":3704},"span":{"file_name":"src/collection/tuple.rs","byte_start":455278,"byte_end":455298,"line_start":581,"line_end":581,"column_start":4,"column_end":24},"name":"sorting_tuples_works","qualname":"::collection::tuple::sorting_tuples_works","value":"fn sorting_tuples_works() -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536874616},"span":{"file_name":"src/collection/tuple.rs","byte_start":455335,"byte_end":455341,"line_start":582,"line_end":582,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:3704 ~ no_proto[7dec]::collection::tuple::sorting_tuples_works#1), local_id: 4 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160753272},"span":{"file_name":"src/collection/tuple.rs","byte_start":455461,"byte_end":455468,"line_start":583,"line_end":583,"column_start":9,"column_end":16},"name":"factory","qualname":"factory$HirId { owner: DefId(0:3704 ~ no_proto[7dec]::collection::tuple::sorting_tuples_works#1), local_id: 31 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335548024},"span":{"file_name":"src/collection/tuple.rs","byte_start":455521,"byte_end":455527,"line_start":584,"line_end":584,"column_start":13,"column_end":19},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:3704 ~ no_proto[7dec]::collection::tuple::sorting_tuples_works#1), local_id: 40 }","value":"[type error]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":587206264},"span":{"file_name":"src/collection/tuple.rs","byte_start":455782,"byte_end":455786,"line_start":588,"line_end":588,"column_start":9,"column_end":13},"name":"uuid","qualname":"uuid$HirId { owner: DefId(0:3704 ~ no_proto[7dec]::collection::tuple::sorting_tuples_works#1), local_id: 196 }","value":"pointer::uuid::NP_UUID","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2183},"span":{"file_name":"src/buffer.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"buffer","qualname":"::buffer","value":"src/buffer.rs","parent":null,"children":[{"krate":0,"index":2184},{"krate":0,"index":2187},{"krate":0,"index":2188},{"krate":0,"index":2191},{"krate":0,"index":2194},{"krate":0,"index":2197},{"krate":0,"index":2198},{"krate":0,"index":2201},{"krate":0,"index":2204},{"krate":0,"index":2207},{"krate":0,"index":2210},{"krate":0,"index":2213},{"krate":0,"index":2216},{"krate":0,"index":2217},{"krate":0,"index":2220},{"krate":0,"index":2223},{"krate":0,"index":2224},{"krate":0,"index":2227},{"krate":0,"index":2230},{"krate":0,"index":2233},{"krate":0,"index":2234},{"krate":0,"index":2235},{"krate":0,"index":2238},{"krate":0,"index":2239},{"krate":0,"index":2242},{"krate":0,"index":2243},{"krate":0,"index":2246},{"krate":0,"index":2249},{"krate":0,"index":2250},{"krate":0,"index":2253},{"krate":0,"index":2256},{"krate":0,"index":2259},{"krate":0,"index":2260},{"krate":0,"index":2261},{"krate":0,"index":2264},{"krate":0,"index":2267},{"krate":0,"index":2268},{"krate":0,"index":2271},{"krate":0,"index":2274},{"krate":0,"index":2275},{"krate":0,"index":2276},{"krate":0,"index":2277},{"krate":0,"index":3705},{"krate":0,"index":3709},{"krate":0,"index":3711},{"krate":0,"index":2278},{"krate":0,"index":3713},{"krate":0,"index":3715},{"krate":0,"index":2279},{"krate":0,"index":2283},{"krate":0,"index":2323},{"krate":0,"index":2331},{"krate":0,"index":3717},{"krate":0,"index":3733},{"krate":0,"index":2339},{"krate":0,"index":2342},{"krate":0,"index":2348},{"krate":0,"index":2351}],"decl_id":null,"docs":" Top level abstraction for buffer objects\n","sig":null,"attributes":[{"value":"/ Top level abstraction for buffer objects","span":{"file_name":"src/buffer.rs","byte_start":456104,"byte_end":456148,"line_start":1,"line_end":1,"column_start":1,"column_end":45}}]},{"kind":"Const","id":{"krate":0,"index":2274},"span":{"file_name":"src/buffer.rs","byte_start":456940,"byte_end":456961,"line_start":23,"line_end":23,"column_start":11,"column_end":32},"name":"DEFAULT_ROOT_PTR_ADDR","qualname":"::buffer::DEFAULT_ROOT_PTR_ADDR","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" The address location of the root pointer.\n","sig":null,"attributes":[{"value":"/ The address location of the root pointer.","span":{"file_name":"src/buffer.rs","byte_start":456869,"byte_end":456914,"line_start":21,"line_end":21,"column_start":1,"column_end":46}}]},{"kind":"Const","id":{"krate":0,"index":2275},"span":{"file_name":"src/buffer.rs","byte_start":457036,"byte_end":457049,"line_start":26,"line_end":26,"column_start":11,"column_end":24},"name":"LIST_MAX_SIZE","qualname":"::buffer::LIST_MAX_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" Maximum size of list collections\n","sig":null,"attributes":[{"value":"/ Maximum size of list collections","span":{"file_name":"src/buffer.rs","byte_start":456974,"byte_end":457010,"line_start":24,"line_end":24,"column_start":1,"column_end":37}}]},{"kind":"Const","id":{"krate":0,"index":2276},"span":{"file_name":"src/buffer.rs","byte_start":457109,"byte_end":457120,"line_start":28,"line_end":28,"column_start":11,"column_end":22},"name":"VTABLE_SIZE","qualname":"::buffer::VTABLE_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2277},"span":{"file_name":"src/buffer.rs","byte_start":457158,"byte_end":457170,"line_start":30,"line_end":30,"column_start":11,"column_end":23},"name":"VTABLE_BYTES","qualname":"::buffer::VTABLE_BYTES","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3705},"span":{"file_name":"src/buffer.rs","byte_start":457341,"byte_end":457350,"line_start":37,"line_end":37,"column_start":12,"column_end":21},"name":"NP_Buffer","qualname":"::buffer::NP_Buffer","value":"NP_Buffer { memory, mutable, cursor }","parent":null,"children":[{"krate":0,"index":3706},{"krate":0,"index":3707},{"krate":0,"index":3708}],"decl_id":null,"docs":" Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction.\n \n \n","sig":null,"attributes":[{"value":"/ Buffers contain the bytes of each object and allow you to perform reads, updates, deletes and compaction.","span":{"file_name":"src/buffer.rs","byte_start":457186,"byte_end":457295,"line_start":33,"line_end":33,"column_start":1,"column_end":110}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457296,"byte_end":457300,"line_start":34,"line_end":34,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457301,"byte_end":457305,"line_start":35,"line_end":35,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3706},"span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Buffer::memory","value":"memory::NP_Memory","parent":{"krate":0,"index":3705},"children":[],"decl_id":null,"docs":" Memory object used by this buffer\n","sig":null,"attributes":[{"value":"/ Memory object used by this buffer","span":{"file_name":"src/buffer.rs","byte_start":457357,"byte_end":457394,"line_start":38,"line_end":38,"column_start":5,"column_end":42}}]},{"kind":"Field","id":{"krate":0,"index":3707},"span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"name":"mutable","qualname":"::buffer::NP_Buffer::mutable","value":"bool","parent":{"krate":0,"index":3705},"children":[],"decl_id":null,"docs":" Is this buffer mutable?\n","sig":null,"attributes":[{"value":"/ Is this buffer mutable?","span":{"file_name":"src/buffer.rs","byte_start":457422,"byte_end":457449,"line_start":40,"line_end":40,"column_start":5,"column_end":32}}]},{"kind":"Field","id":{"krate":0,"index":3708},"span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"name":"cursor","qualname":"::buffer::NP_Buffer::cursor","value":"pointer::NP_Cursor","parent":{"krate":0,"index":3705},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3713},"span":{"file_name":"src/buffer.rs","byte_start":457620,"byte_end":457638,"line_start":50,"line_end":50,"column_start":12,"column_end":30},"name":"NP_Finished_Buffer","qualname":"::buffer::NP_Finished_Buffer","value":"NP_Finished_Buffer { memory }","parent":null,"children":[{"krate":0,"index":3714}],"decl_id":null,"docs":" Finished buffer, can't be edited. Just exported.\n \n","sig":null,"attributes":[{"value":"/ Finished buffer, can't be edited. Just exported.","span":{"file_name":"src/buffer.rs","byte_start":457533,"byte_end":457586,"line_start":47,"line_end":47,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457587,"byte_end":457591,"line_start":48,"line_end":48,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":3714},"span":{"file_name":"src/buffer.rs","byte_start":457645,"byte_end":457651,"line_start":51,"line_end":51,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Finished_Buffer::memory","value":"memory::NP_Memory","parent":{"krate":0,"index":3713},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744104},"span":{"file_name":"src/buffer.rs","byte_start":457755,"byte_end":457759,"line_start":57,"line_end":57,"column_start":23,"column_end":27},"name":"self","qualname":"::buffer_len::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2280},"span":{"file_name":"src/buffer.rs","byte_start":457744,"byte_end":457754,"line_start":57,"line_end":57,"column_start":12,"column_end":22},"name":"buffer_len","qualname":"::buffer_len","value":"pub fn buffer_len(Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" How large the buffer is\n \n","sig":null,"attributes":[{"value":"/ How large the buffer is","span":{"file_name":"src/buffer.rs","byte_start":457696,"byte_end":457723,"line_start":55,"line_end":55,"column_start":5,"column_end":32}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457728,"byte_end":457732,"line_start":56,"line_end":56,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744105},"span":{"file_name":"src/buffer.rs","byte_start":457902,"byte_end":457906,"line_start":63,"line_end":63,"column_start":21,"column_end":25},"name":"self","qualname":"::data_len::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2281},"span":{"file_name":"src/buffer.rs","byte_start":457893,"byte_end":457901,"line_start":63,"line_end":63,"column_start":12,"column_end":20},"name":"data_len","qualname":"::data_len","value":"pub fn data_len(Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" How many bytes the data is using in the buffer\n \n","sig":null,"attributes":[{"value":"/ How many bytes the data is using in the buffer","span":{"file_name":"src/buffer.rs","byte_start":457822,"byte_end":457872,"line_start":61,"line_end":61,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":457877,"byte_end":457881,"line_start":62,"line_end":62,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744106},"span":{"file_name":"src/buffer.rs","byte_start":458206,"byte_end":458210,"line_start":71,"line_end":71,"column_start":18,"column_end":22},"name":"self","qualname":"::bytes::self","value":"buffer::NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2282},"span":{"file_name":"src/buffer.rs","byte_start":458200,"byte_end":458205,"line_start":71,"line_end":71,"column_start":12,"column_end":17},"name":"bytes","qualname":"::bytes","value":"pub fn bytes(Self) -> Vec","parent":null,"children":[],"decl_id":null,"docs":" Get an owned copy of the bytes in the buffer\n If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes.\n If the buffer was an owned type, this moves the bytes out of the buffer\n \n","sig":null,"attributes":[{"value":"/ Get an owned copy of the bytes in the buffer","span":{"file_name":"src/buffer.rs","byte_start":457959,"byte_end":458007,"line_start":67,"line_end":67,"column_start":5,"column_end":53}},{"value":"/ If the buffer was a `ref` or `ref_mut` this creates a copy of the underlying bytes.","span":{"file_name":"src/buffer.rs","byte_start":458012,"byte_end":458099,"line_start":68,"line_end":68,"column_start":5,"column_end":92}},{"value":"/ If the buffer was an owned type, this moves the bytes out of the buffer","span":{"file_name":"src/buffer.rs","byte_start":458104,"byte_end":458179,"line_start":69,"line_end":69,"column_start":5,"column_end":80}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458184,"byte_end":458188,"line_start":70,"line_end":70,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744108},"span":{"file_name":"src/buffer.rs","byte_start":458314,"byte_end":458320,"line_start":79,"line_end":79,"column_start":17,"column_end":23},"name":"memory","qualname":"::_new::memory","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2284},"span":{"file_name":"src/buffer.rs","byte_start":458309,"byte_end":458313,"line_start":79,"line_end":79,"column_start":12,"column_end":16},"name":"_new","qualname":"::_new","value":"pub fn _new(NP_Memory) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744109},"span":{"file_name":"src/buffer.rs","byte_start":459366,"byte_end":459370,"line_start":112,"line_end":112,"column_start":25,"column_end":29},"name":"self","qualname":"::json_encode::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873197},"span":{"file_name":"src/buffer.rs","byte_start":459372,"byte_end":459376,"line_start":112,"line_end":112,"column_start":31,"column_end":35},"name":"path","qualname":"::json_encode::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2285},"span":{"file_name":"src/buffer.rs","byte_start":459353,"byte_end":459364,"line_start":112,"line_end":112,"column_start":12,"column_end":23},"name":"json_encode","qualname":"::json_encode","value":"pub fn json_encode(&Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Copy an object at the provided path and all it's children into JSON.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n struct({fields: {\n age: u8(),\n name: string()\n }})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[\"name\"], \"Jeb Kermin\");\n new_buffer.set(&[\"age\"], 30u8);\n \n assert_eq!(r#\"{\"value\":{\"age\":30,\"name\":\"Jeb Kermin\"}}\"#, new_buffer.json_encode(&[])?.stringify());\n assert_eq!(r#\"{\"value\":\"Jeb Kermin\"}\"#, new_buffer.json_encode(&[\"name\"])?.stringify());\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Copy an object at the provided path and all it's children into JSON.","span":{"file_name":"src/buffer.rs","byte_start":458526,"byte_end":458598,"line_start":88,"line_end":88,"column_start":5,"column_end":77}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458603,"byte_end":458607,"line_start":89,"line_end":89,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":458612,"byte_end":458619,"line_start":90,"line_end":90,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":458624,"byte_end":458658,"line_start":91,"line_end":91,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":458663,"byte_end":458692,"line_start":92,"line_end":92,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":458697,"byte_end":458728,"line_start":93,"line_end":93,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458733,"byte_end":458737,"line_start":94,"line_end":94,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":458742,"byte_end":458791,"line_start":95,"line_end":95,"column_start":5,"column_end":54}},{"value":"/ struct({fields: {","span":{"file_name":"src/buffer.rs","byte_start":458796,"byte_end":458821,"line_start":96,"line_end":96,"column_start":5,"column_end":30}},{"value":"/ age: u8(),","span":{"file_name":"src/buffer.rs","byte_start":458826,"byte_end":458848,"line_start":97,"line_end":97,"column_start":5,"column_end":27}},{"value":"/ name: string()","span":{"file_name":"src/buffer.rs","byte_start":458853,"byte_end":458879,"line_start":98,"line_end":98,"column_start":5,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/buffer.rs","byte_start":458884,"byte_end":458895,"line_start":99,"line_end":99,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":458900,"byte_end":458909,"line_start":100,"line_end":100,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":458914,"byte_end":458918,"line_start":101,"line_end":101,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":458923,"byte_end":458973,"line_start":102,"line_end":102,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[\"name\"], \"Jeb Kermin\");","span":{"file_name":"src/buffer.rs","byte_start":458978,"byte_end":459022,"line_start":103,"line_end":103,"column_start":5,"column_end":49}},{"value":"/ new_buffer.set(&[\"age\"], 30u8);","span":{"file_name":"src/buffer.rs","byte_start":459027,"byte_end":459062,"line_start":104,"line_end":104,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459067,"byte_end":459071,"line_start":105,"line_end":105,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(r#\"{\"value\":{\"age\":30,\"name\":\"Jeb Kermin\"}}\"#, new_buffer.json_encode(&[])?.stringify());","span":{"file_name":"src/buffer.rs","byte_start":459076,"byte_end":459180,"line_start":106,"line_end":106,"column_start":5,"column_end":109}},{"value":"/ assert_eq!(r#\"{\"value\":\"Jeb Kermin\"}\"#, new_buffer.json_encode(&[\"name\"])?.stringify());","span":{"file_name":"src/buffer.rs","byte_start":459185,"byte_end":459277,"line_start":107,"line_end":107,"column_start":5,"column_end":97}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459282,"byte_end":459286,"line_start":108,"line_end":108,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":459291,"byte_end":459320,"line_start":109,"line_end":109,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":459325,"byte_end":459332,"line_start":110,"line_end":110,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459337,"byte_end":459341,"line_start":111,"line_end":111,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030253},"span":{"file_name":"src/buffer.rs","byte_start":459431,"byte_end":459443,"line_start":114,"line_end":114,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2285 ~ no_proto[7dec]::buffer::{impl#2}::json_encode), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":469764333},"span":{"file_name":"src/buffer.rs","byte_start":459583,"byte_end":459591,"line_start":118,"line_end":118,"column_start":21,"column_end":29},"name":"json_map","qualname":"json_map$HirId { owner: DefId(0:2285 ~ no_proto[7dec]::buffer::{impl#2}::json_encode), local_id: 56 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744110},"span":{"file_name":"src/buffer.rs","byte_start":460785,"byte_end":460789,"line_start":152,"line_end":152,"column_start":19,"column_end":23},"name":"self","qualname":"::finish::self","value":"buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2286},"span":{"file_name":"src/buffer.rs","byte_start":460778,"byte_end":460784,"line_start":152,"line_end":152,"column_start":12,"column_end":18},"name":"finish","qualname":"::finish","value":"pub fn finish(Self) -> NP_Finished_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Finish the buffer.\n \n If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method.\n \n If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // close buffer and get bytes\n let bytes: Vec = new_buffer.finish().bytes();\n assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Finish the buffer.","span":{"file_name":"src/buffer.rs","byte_start":459826,"byte_end":459848,"line_start":129,"line_end":129,"column_start":5,"column_end":27}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":459853,"byte_end":459857,"line_start":130,"line_end":130,"column_start":5,"column_end":9}},{"value":"/ If the buffer is an onwed type typically opened with `.open_buffer` or created with `.new_empty` you will get the bytes of the buffer returned from this method.","span":{"file_name":"src/buffer.rs","byte_start":459862,"byte_end":460026,"line_start":131,"line_end":131,"column_start":5,"column_end":169}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460031,"byte_end":460035,"line_start":132,"line_end":132,"column_start":5,"column_end":9}},{"value":"/ If the buffer is a ref type typically opened with `.open_buffer_ref` or `.open_buffer_ref_mut` this method returns an empty `Vec`.","span":{"file_name":"src/buffer.rs","byte_start":460040,"byte_end":460178,"line_start":133,"line_end":133,"column_start":5,"column_end":143}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460183,"byte_end":460187,"line_start":134,"line_end":134,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":460192,"byte_end":460199,"line_start":135,"line_end":135,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":460204,"byte_end":460238,"line_start":136,"line_end":136,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":460243,"byte_end":460272,"line_start":137,"line_end":137,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":460277,"byte_end":460308,"line_start":138,"line_end":138,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460313,"byte_end":460317,"line_start":139,"line_end":139,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":460322,"byte_end":460381,"line_start":140,"line_end":140,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460386,"byte_end":460390,"line_start":141,"line_end":141,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":460395,"byte_end":460445,"line_start":142,"line_end":142,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":460450,"byte_end":460474,"line_start":143,"line_end":143,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":460479,"byte_end":460513,"line_start":144,"line_end":144,"column_start":5,"column_end":39}},{"value":"/ // close buffer and get bytes","span":{"file_name":"src/buffer.rs","byte_start":460518,"byte_end":460551,"line_start":145,"line_end":145,"column_start":5,"column_end":38}},{"value":"/ let bytes: Vec = new_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":460556,"byte_end":460609,"line_start":146,"line_end":146,"column_start":5,"column_end":58}},{"value":"/ assert_eq!([0, 0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111].to_vec(), bytes);","span":{"file_name":"src/buffer.rs","byte_start":460614,"byte_end":460702,"line_start":147,"line_end":147,"column_start":5,"column_end":93}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460707,"byte_end":460711,"line_start":148,"line_end":148,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":460716,"byte_end":460745,"line_start":149,"line_end":149,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":460750,"byte_end":460757,"line_start":150,"line_end":150,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460762,"byte_end":460766,"line_start":151,"line_end":151,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744111},"span":{"file_name":"src/buffer.rs","byte_start":460967,"byte_end":460971,"line_start":158,"line_end":158,"column_start":24,"column_end":28},"name":"self","qualname":"::read_bytes::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2287},"span":{"file_name":"src/buffer.rs","byte_start":460955,"byte_end":460965,"line_start":158,"line_end":158,"column_start":12,"column_end":22},"name":"read_bytes","qualname":"::read_bytes","value":"pub fn read_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Read the bytes of the buffer immutably. No touching!\n \n","sig":null,"attributes":[{"value":"/ Read the bytes of the buffer immutably. No touching!","span":{"file_name":"src/buffer.rs","byte_start":460877,"byte_end":460934,"line_start":156,"line_end":156,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":460939,"byte_end":460943,"line_start":157,"line_end":157,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744112},"span":{"file_name":"src/buffer.rs","byte_start":461514,"byte_end":461518,"line_start":166,"line_end":166,"column_start":29,"column_end":33},"name":"self","qualname":"::move_cursor::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873200},"span":{"file_name":"src/buffer.rs","byte_start":461520,"byte_end":461524,"line_start":166,"line_end":166,"column_start":35,"column_end":39},"name":"path","qualname":"::move_cursor::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2288},"span":{"file_name":"src/buffer.rs","byte_start":461497,"byte_end":461508,"line_start":166,"line_end":166,"column_start":12,"column_end":23},"name":"move_cursor","qualname":"::move_cursor","value":"pub fn move_cursor(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level.\n \n This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist.\n \n","sig":null,"attributes":[{"value":"/ Move buffer cursor to new location. Cursors can only be moved into children. If you need to move up reset the cursor to root, then move back down to the desired level.","span":{"file_name":"src/buffer.rs","byte_start":461028,"byte_end":461201,"line_start":162,"line_end":162,"column_start":5,"column_end":178}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461206,"byte_end":461210,"line_start":163,"line_end":163,"column_start":5,"column_end":9}},{"value":"/ This also creates objects/collections along the path as needed. If you attempt to move into a path that doesn't exist, this method will return `false`. Otherwise it will return `true` of the path requested exists or is something that can be made to exist.","span":{"file_name":"src/buffer.rs","byte_start":461215,"byte_end":461476,"line_start":164,"line_end":164,"column_start":5,"column_end":266}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461481,"byte_end":461485,"line_start":165,"line_end":165,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":3556772080},"span":{"file_name":"src/buffer.rs","byte_start":461576,"byte_end":461588,"line_start":168,"line_end":168,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2288 ~ no_proto[7dec]::buffer::{impl#2}::move_cursor), local_id: 43 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298544},"span":{"file_name":"src/buffer.rs","byte_start":461686,"byte_end":461692,"line_start":170,"line_end":170,"column_start":13,"column_end":19},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2288 ~ no_proto[7dec]::buffer::{impl#2}::move_cursor), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744113},"span":{"file_name":"src/buffer.rs","byte_start":461957,"byte_end":461961,"line_start":183,"line_end":183,"column_start":32,"column_end":36},"name":"self","qualname":"::cursor_to_root::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2289},"span":{"file_name":"src/buffer.rs","byte_start":461937,"byte_end":461951,"line_start":183,"line_end":183,"column_start":12,"column_end":26},"name":"cursor_to_root","qualname":"::cursor_to_root","value":"pub fn cursor_to_root(&mut Self)","parent":null,"children":[],"decl_id":null,"docs":" Moves cursor position to root of buffer, the default.\n \n","sig":null,"attributes":[{"value":"/ Moves cursor position to root of buffer, the default.","span":{"file_name":"src/buffer.rs","byte_start":461859,"byte_end":461916,"line_start":181,"line_end":181,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":461921,"byte_end":461925,"line_start":182,"line_end":182,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744114},"span":{"file_name":"src/buffer.rs","byte_start":463814,"byte_end":463818,"line_start":233,"line_end":233,"column_start":25,"column_end":29},"name":"self","qualname":"::set_max::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873202},"span":{"file_name":"src/buffer.rs","byte_start":463820,"byte_end":463824,"line_start":233,"line_end":233,"column_start":31,"column_end":35},"name":"path","qualname":"::set_max::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2290},"span":{"file_name":"src/buffer.rs","byte_start":463801,"byte_end":463808,"line_start":233,"line_end":233,"column_start":12,"column_end":19},"name":"set_max","qualname":"::set_max","value":"pub fn set_max(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the max value allowed for the specific data type at the given key.\n \n String & Byte types only work if a `size` property is set in the schema.\n \n Will return `true` if a value was found and succesfully set, `false` otherwise.\n \n *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.\n \n When this is applied to a `string` data type, only ascii values are supported.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({\n sorted: true,\n values: [string({size: 10}), u32()]\n })\n \"#)?;\n \n let mut low_buffer = factory.new_buffer(None);\n // set all types to minimum value\n low_buffer.set_min(&[])?;\n // get bytes\n let low_bytes: Vec = low_buffer.finish().bytes();\n \n let mut high_buffer = factory.new_buffer(None);\n // set all types to max value\n high_buffer.set_max(&[])?;\n // get bytes\n let high_bytes: Vec = high_buffer.finish().bytes();\n \n let mut middle_buffer = factory.new_buffer(None);\n middle_buffer.set(&[\"0\"], \"Light This Candle!\");\n middle_buffer.set(&[\"1\"], 22938u32);\n let middle_bytes: Vec = middle_buffer.finish().bytes();\n \n assert!(low_bytes < middle_bytes);\n assert!(middle_bytes < high_bytes);\n assert!(low_bytes < high_bytes);\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set the max value allowed for the specific data type at the given key.","span":{"file_name":"src/buffer.rs","byte_start":462038,"byte_end":462112,"line_start":187,"line_end":187,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462117,"byte_end":462121,"line_start":188,"line_end":188,"column_start":5,"column_end":9}},{"value":"/ String & Byte types only work if a `size` property is set in the schema.","span":{"file_name":"src/buffer.rs","byte_start":462126,"byte_end":462202,"line_start":189,"line_end":189,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462207,"byte_end":462211,"line_start":190,"line_end":190,"column_start":5,"column_end":9}},{"value":"/ Will return `true` if a value was found and succesfully set, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":462216,"byte_end":462299,"line_start":191,"line_end":191,"column_start":5,"column_end":88}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462304,"byte_end":462308,"line_start":192,"line_end":192,"column_start":5,"column_end":9}},{"value":"/ *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.","span":{"file_name":"src/buffer.rs","byte_start":462313,"byte_end":462512,"line_start":193,"line_end":193,"column_start":5,"column_end":204}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462517,"byte_end":462521,"line_start":194,"line_end":194,"column_start":5,"column_end":9}},{"value":"/ When this is applied to a `string` data type, only ascii values are supported.","span":{"file_name":"src/buffer.rs","byte_start":462526,"byte_end":462608,"line_start":195,"line_end":195,"column_start":5,"column_end":87}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462613,"byte_end":462617,"line_start":196,"line_end":196,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":462622,"byte_end":462629,"line_start":197,"line_end":197,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":462634,"byte_end":462668,"line_start":198,"line_end":198,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":462673,"byte_end":462702,"line_start":199,"line_end":199,"column_start":5,"column_end":34}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462707,"byte_end":462711,"line_start":200,"line_end":200,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":462716,"byte_end":462765,"line_start":201,"line_end":201,"column_start":5,"column_end":54}},{"value":"/ tuple({","span":{"file_name":"src/buffer.rs","byte_start":462770,"byte_end":462785,"line_start":202,"line_end":202,"column_start":5,"column_end":20}},{"value":"/ sorted: true,","span":{"file_name":"src/buffer.rs","byte_start":462790,"byte_end":462815,"line_start":203,"line_end":203,"column_start":5,"column_end":30}},{"value":"/ values: [string({size: 10}), u32()]","span":{"file_name":"src/buffer.rs","byte_start":462820,"byte_end":462867,"line_start":204,"line_end":204,"column_start":5,"column_end":52}},{"value":"/ })","span":{"file_name":"src/buffer.rs","byte_start":462872,"byte_end":462882,"line_start":205,"line_end":205,"column_start":5,"column_end":15}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":462887,"byte_end":462896,"line_start":206,"line_end":206,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":462901,"byte_end":462905,"line_start":207,"line_end":207,"column_start":5,"column_end":9}},{"value":"/ let mut low_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":462910,"byte_end":462960,"line_start":208,"line_end":208,"column_start":5,"column_end":55}},{"value":"/ // set all types to minimum value","span":{"file_name":"src/buffer.rs","byte_start":462965,"byte_end":463002,"line_start":209,"line_end":209,"column_start":5,"column_end":42}},{"value":"/ low_buffer.set_min(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":463007,"byte_end":463036,"line_start":210,"line_end":210,"column_start":5,"column_end":34}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":463041,"byte_end":463057,"line_start":211,"line_end":211,"column_start":5,"column_end":21}},{"value":"/ let low_bytes: Vec = low_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463062,"byte_end":463119,"line_start":212,"line_end":212,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463124,"byte_end":463128,"line_start":213,"line_end":213,"column_start":5,"column_end":9}},{"value":"/ let mut high_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":463133,"byte_end":463184,"line_start":214,"line_end":214,"column_start":5,"column_end":56}},{"value":"/ // set all types to max value","span":{"file_name":"src/buffer.rs","byte_start":463189,"byte_end":463222,"line_start":215,"line_end":215,"column_start":5,"column_end":38}},{"value":"/ high_buffer.set_max(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":463227,"byte_end":463257,"line_start":216,"line_end":216,"column_start":5,"column_end":35}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":463262,"byte_end":463278,"line_start":217,"line_end":217,"column_start":5,"column_end":21}},{"value":"/ let high_bytes: Vec = high_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463283,"byte_end":463342,"line_start":218,"line_end":218,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463347,"byte_end":463351,"line_start":219,"line_end":219,"column_start":5,"column_end":9}},{"value":"/ let mut middle_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":463356,"byte_end":463409,"line_start":220,"line_end":220,"column_start":5,"column_end":58}},{"value":"/ middle_buffer.set(&[\"0\"], \"Light This Candle!\");","span":{"file_name":"src/buffer.rs","byte_start":463414,"byte_end":463466,"line_start":221,"line_end":221,"column_start":5,"column_end":57}},{"value":"/ middle_buffer.set(&[\"1\"], 22938u32);","span":{"file_name":"src/buffer.rs","byte_start":463471,"byte_end":463511,"line_start":222,"line_end":222,"column_start":5,"column_end":45}},{"value":"/ let middle_bytes: Vec = middle_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":463516,"byte_end":463579,"line_start":223,"line_end":223,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463584,"byte_end":463588,"line_start":224,"line_end":224,"column_start":5,"column_end":9}},{"value":"/ assert!(low_bytes < middle_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463593,"byte_end":463631,"line_start":225,"line_end":225,"column_start":5,"column_end":43}},{"value":"/ assert!(middle_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463636,"byte_end":463675,"line_start":226,"line_end":226,"column_start":5,"column_end":44}},{"value":"/ assert!(low_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":463680,"byte_end":463716,"line_start":227,"line_end":227,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463721,"byte_end":463725,"line_start":228,"line_end":228,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463730,"byte_end":463734,"line_start":229,"line_end":229,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":463739,"byte_end":463768,"line_start":230,"line_end":230,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":463773,"byte_end":463780,"line_start":231,"line_end":231,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":463785,"byte_end":463789,"line_start":232,"line_end":232,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1006635250},"span":{"file_name":"src/buffer.rs","byte_start":463970,"byte_end":463982,"line_start":238,"line_end":238,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2290 ~ no_proto[7dec]::buffer::{impl#2}::set_max), local_id: 60 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556722},"span":{"file_name":"src/buffer.rs","byte_start":464113,"byte_end":464114,"line_start":240,"line_end":240,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2290 ~ no_proto[7dec]::buffer::{impl#2}::set_max), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744115},"span":{"file_name":"src/buffer.rs","byte_start":466019,"byte_end":466023,"line_start":293,"line_end":293,"column_start":25,"column_end":29},"name":"self","qualname":"::set_min::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873203},"span":{"file_name":"src/buffer.rs","byte_start":466025,"byte_end":466029,"line_start":293,"line_end":293,"column_start":31,"column_end":35},"name":"path","qualname":"::set_min::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2291},"span":{"file_name":"src/buffer.rs","byte_start":466006,"byte_end":466013,"line_start":293,"line_end":293,"column_start":12,"column_end":19},"name":"set_min","qualname":"::set_min","value":"pub fn set_min(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Set the min value allowed for the specific data type at the given key.\n \n String & Byte types only work if a `size` property is set in the schema.\n \n Will return `true` if a value was found and succesfully set, `false` otherwise.\n \n *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.\n \n When this is applied to a `string` data type, only ascii values are supported.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({\n sorted: true,\n values: [string({size: 10}), u32()]\n })\n \"#)?;\n \n let mut low_buffer = factory.new_buffer(None);\n // set all types to minimum value\n low_buffer.set_min(&[])?;\n // get bytes\n let low_bytes: Vec = low_buffer.finish().bytes();\n \n let mut high_buffer = factory.new_buffer(None);\n // set all types to max value\n high_buffer.set_max(&[])?;\n // get bytes\n let high_bytes: Vec = high_buffer.finish().bytes();\n \n let mut middle_buffer = factory.new_buffer(None);\n middle_buffer.set(&[\"0\"], \"Light This Candle!\");\n middle_buffer.set(&[\"1\"], 22938u32);\n let middle_bytes: Vec = middle_buffer.finish().bytes();\n \n assert!(low_bytes < middle_bytes);\n assert!(middle_bytes < high_bytes);\n assert!(low_bytes < high_bytes);\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set the min value allowed for the specific data type at the given key.","span":{"file_name":"src/buffer.rs","byte_start":464243,"byte_end":464317,"line_start":247,"line_end":247,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464322,"byte_end":464326,"line_start":248,"line_end":248,"column_start":5,"column_end":9}},{"value":"/ String & Byte types only work if a `size` property is set in the schema.","span":{"file_name":"src/buffer.rs","byte_start":464331,"byte_end":464407,"line_start":249,"line_end":249,"column_start":5,"column_end":81}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464412,"byte_end":464416,"line_start":250,"line_end":250,"column_start":5,"column_end":9}},{"value":"/ Will return `true` if a value was found and succesfully set, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":464421,"byte_end":464504,"line_start":251,"line_end":251,"column_start":5,"column_end":88}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464509,"byte_end":464513,"line_start":252,"line_end":252,"column_start":5,"column_end":9}},{"value":"/ *WARNING* If you call this on a collection (Map, Tuple, List, or Table) ALL children will be overwritten/set. The method is recursive, so this will hit *all* children, including nested children.","span":{"file_name":"src/buffer.rs","byte_start":464518,"byte_end":464717,"line_start":253,"line_end":253,"column_start":5,"column_end":204}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464722,"byte_end":464726,"line_start":254,"line_end":254,"column_start":5,"column_end":9}},{"value":"/ When this is applied to a `string` data type, only ascii values are supported.","span":{"file_name":"src/buffer.rs","byte_start":464731,"byte_end":464813,"line_start":255,"line_end":255,"column_start":5,"column_end":87}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464818,"byte_end":464822,"line_start":256,"line_end":256,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":464827,"byte_end":464834,"line_start":257,"line_end":257,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":464839,"byte_end":464873,"line_start":258,"line_end":258,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":464878,"byte_end":464907,"line_start":259,"line_end":259,"column_start":5,"column_end":34}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":464912,"byte_end":464916,"line_start":260,"line_end":260,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":464921,"byte_end":464970,"line_start":261,"line_end":261,"column_start":5,"column_end":54}},{"value":"/ tuple({","span":{"file_name":"src/buffer.rs","byte_start":464975,"byte_end":464990,"line_start":262,"line_end":262,"column_start":5,"column_end":20}},{"value":"/ sorted: true,","span":{"file_name":"src/buffer.rs","byte_start":464995,"byte_end":465020,"line_start":263,"line_end":263,"column_start":5,"column_end":30}},{"value":"/ values: [string({size: 10}), u32()]","span":{"file_name":"src/buffer.rs","byte_start":465025,"byte_end":465072,"line_start":264,"line_end":264,"column_start":5,"column_end":52}},{"value":"/ })","span":{"file_name":"src/buffer.rs","byte_start":465077,"byte_end":465087,"line_start":265,"line_end":265,"column_start":5,"column_end":15}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":465092,"byte_end":465101,"line_start":266,"line_end":266,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465106,"byte_end":465110,"line_start":267,"line_end":267,"column_start":5,"column_end":9}},{"value":"/ let mut low_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465115,"byte_end":465165,"line_start":268,"line_end":268,"column_start":5,"column_end":55}},{"value":"/ // set all types to minimum value","span":{"file_name":"src/buffer.rs","byte_start":465170,"byte_end":465207,"line_start":269,"line_end":269,"column_start":5,"column_end":42}},{"value":"/ low_buffer.set_min(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":465212,"byte_end":465241,"line_start":270,"line_end":270,"column_start":5,"column_end":34}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":465246,"byte_end":465262,"line_start":271,"line_end":271,"column_start":5,"column_end":21}},{"value":"/ let low_bytes: Vec = low_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465267,"byte_end":465324,"line_start":272,"line_end":272,"column_start":5,"column_end":62}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465329,"byte_end":465333,"line_start":273,"line_end":273,"column_start":5,"column_end":9}},{"value":"/ let mut high_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465338,"byte_end":465389,"line_start":274,"line_end":274,"column_start":5,"column_end":56}},{"value":"/ // set all types to max value","span":{"file_name":"src/buffer.rs","byte_start":465394,"byte_end":465427,"line_start":275,"line_end":275,"column_start":5,"column_end":38}},{"value":"/ high_buffer.set_max(&[])?;","span":{"file_name":"src/buffer.rs","byte_start":465432,"byte_end":465462,"line_start":276,"line_end":276,"column_start":5,"column_end":35}},{"value":"/ // get bytes","span":{"file_name":"src/buffer.rs","byte_start":465467,"byte_end":465483,"line_start":277,"line_end":277,"column_start":5,"column_end":21}},{"value":"/ let high_bytes: Vec = high_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465488,"byte_end":465547,"line_start":278,"line_end":278,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465552,"byte_end":465556,"line_start":279,"line_end":279,"column_start":5,"column_end":9}},{"value":"/ let mut middle_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":465561,"byte_end":465614,"line_start":280,"line_end":280,"column_start":5,"column_end":58}},{"value":"/ middle_buffer.set(&[\"0\"], \"Light This Candle!\");","span":{"file_name":"src/buffer.rs","byte_start":465619,"byte_end":465671,"line_start":281,"line_end":281,"column_start":5,"column_end":57}},{"value":"/ middle_buffer.set(&[\"1\"], 22938u32);","span":{"file_name":"src/buffer.rs","byte_start":465676,"byte_end":465716,"line_start":282,"line_end":282,"column_start":5,"column_end":45}},{"value":"/ let middle_bytes: Vec = middle_buffer.finish().bytes();","span":{"file_name":"src/buffer.rs","byte_start":465721,"byte_end":465784,"line_start":283,"line_end":283,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465789,"byte_end":465793,"line_start":284,"line_end":284,"column_start":5,"column_end":9}},{"value":"/ assert!(low_bytes < middle_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465798,"byte_end":465836,"line_start":285,"line_end":285,"column_start":5,"column_end":43}},{"value":"/ assert!(middle_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465841,"byte_end":465880,"line_start":286,"line_end":286,"column_start":5,"column_end":44}},{"value":"/ assert!(low_bytes < high_bytes);","span":{"file_name":"src/buffer.rs","byte_start":465885,"byte_end":465921,"line_start":287,"line_end":287,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465926,"byte_end":465930,"line_start":288,"line_end":288,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465935,"byte_end":465939,"line_start":289,"line_end":289,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":465944,"byte_end":465973,"line_start":290,"line_end":290,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":465978,"byte_end":465985,"line_start":291,"line_end":291,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":465990,"byte_end":465994,"line_start":292,"line_end":292,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1006635251},"span":{"file_name":"src/buffer.rs","byte_start":466176,"byte_end":466188,"line_start":299,"line_end":299,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2291 ~ no_proto[7dec]::buffer::{impl#2}::set_min), local_id: 60 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556723},"span":{"file_name":"src/buffer.rs","byte_start":466319,"byte_end":466320,"line_start":301,"line_end":301,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2291 ~ no_proto[7dec]::buffer::{impl#2}::set_min), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744116},"span":{"file_name":"src/buffer.rs","byte_start":467550,"byte_end":467554,"line_start":333,"line_end":333,"column_start":36,"column_end":40},"name":"self","qualname":"::set::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873204},"span":{"file_name":"src/buffer.rs","byte_start":467556,"byte_end":467560,"line_start":333,"line_end":333,"column_start":42,"column_end":46},"name":"path","qualname":"::set::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615028},"span":{"file_name":"src/buffer.rs","byte_start":467571,"byte_end":467576,"line_start":333,"line_end":333,"column_start":57,"column_end":62},"name":"value","qualname":"::set::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2294},"span":{"file_name":"src/buffer.rs","byte_start":467536,"byte_end":467537,"line_start":333,"line_end":333,"column_start":22,"column_end":23},"name":"X","qualname":"::set::X$HirId { owner: DefId(0:2292 ~ no_proto[7dec]::buffer::{impl#2}::set), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2292},"span":{"file_name":"src/buffer.rs","byte_start":467526,"byte_end":467529,"line_start":333,"line_end":333,"column_start":12,"column_end":15},"name":"set","qualname":"::set","value":"pub fn set<'set, X: 'set>(&mut Self, &[&str], X) -> Result\nwhere X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Used to set scalar values inside the buffer.\n \n The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({ of: string() })})})\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key\n // \n new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"look at all this nesting madness\")?;\n \n // get the same item we just set\n let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;\n \n assert_eq!(message, Some(\"look at all this nesting madness\"));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Used to set scalar values inside the buffer.","span":{"file_name":"src/buffer.rs","byte_start":466449,"byte_end":466497,"line_start":308,"line_end":308,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466502,"byte_end":466506,"line_start":309,"line_end":309,"column_start":5,"column_end":9}},{"value":"/ The type that you set with will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":466511,"byte_end":466627,"line_start":310,"line_end":310,"column_start":5,"column_end":121}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466632,"byte_end":466636,"line_start":311,"line_end":311,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":466641,"byte_end":466648,"line_start":312,"line_end":312,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":466653,"byte_end":466687,"line_start":313,"line_end":313,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":466692,"byte_end":466721,"line_start":314,"line_end":314,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":466726,"byte_end":466757,"line_start":315,"line_end":315,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466762,"byte_end":466766,"line_start":316,"line_end":316,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":466771,"byte_end":466865,"line_start":317,"line_end":317,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({ of: string() })})})\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":466870,"byte_end":466973,"line_start":318,"line_end":318,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":466978,"byte_end":466982,"line_start":319,"line_end":319,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":466987,"byte_end":467037,"line_start":320,"line_end":320,"column_start":5,"column_end":55}},{"value":"/ // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key","span":{"file_name":"src/buffer.rs","byte_start":467042,"byte_end":467156,"line_start":321,"line_end":321,"column_start":5,"column_end":119}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":467161,"byte_end":467168,"line_start":322,"line_end":322,"column_start":5,"column_end":12}},{"value":"/ new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"look at all this nesting madness\")?;","span":{"file_name":"src/buffer.rs","byte_start":467173,"byte_end":467251,"line_start":323,"line_end":323,"column_start":5,"column_end":83}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467256,"byte_end":467260,"line_start":324,"line_end":324,"column_start":5,"column_end":9}},{"value":"/ // get the same item we just set","span":{"file_name":"src/buffer.rs","byte_start":467265,"byte_end":467301,"line_start":325,"line_end":325,"column_start":5,"column_end":41}},{"value":"/ let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;","span":{"file_name":"src/buffer.rs","byte_start":467306,"byte_end":467370,"line_start":326,"line_end":326,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467375,"byte_end":467379,"line_start":327,"line_end":327,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(message, Some(\"look at all this nesting madness\"));","span":{"file_name":"src/buffer.rs","byte_start":467384,"byte_end":467450,"line_start":328,"line_end":328,"column_start":5,"column_end":71}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467455,"byte_end":467459,"line_start":329,"line_end":329,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":467464,"byte_end":467493,"line_start":330,"line_end":330,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":467498,"byte_end":467505,"line_start":331,"line_end":331,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":467510,"byte_end":467514,"line_start":332,"line_end":332,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":4227860724},"span":{"file_name":"src/buffer.rs","byte_start":467760,"byte_end":467772,"line_start":339,"line_end":339,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2292 ~ no_proto[7dec]::buffer::{impl#2}::set), local_id: 63 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782196},"span":{"file_name":"src/buffer.rs","byte_start":467903,"byte_end":467904,"line_start":341,"line_end":341,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2292 ~ no_proto[7dec]::buffer::{impl#2}::set), local_id: 67 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":973080820},"span":{"file_name":"src/buffer.rs","byte_start":468066,"byte_end":468069,"line_start":345,"line_end":345,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2292 ~ no_proto[7dec]::buffer::{impl#2}::set), local_id: 92 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744119},"span":{"file_name":"src/buffer.rs","byte_start":470225,"byte_end":470229,"line_start":397,"line_end":397,"column_start":48,"column_end":52},"name":"self","qualname":"::set_with_json::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873207},"span":{"file_name":"src/buffer.rs","byte_start":470231,"byte_end":470235,"line_start":397,"line_end":397,"column_start":54,"column_end":58},"name":"path","qualname":"::set_with_json::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615031},"span":{"file_name":"src/buffer.rs","byte_start":470246,"byte_end":470256,"line_start":397,"line_end":397,"column_start":69,"column_end":79},"name":"json_value","qualname":"::set_with_json::json_value","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2296},"span":{"file_name":"src/buffer.rs","byte_start":470203,"byte_end":470204,"line_start":397,"line_end":397,"column_start":26,"column_end":27},"name":"S","qualname":"::set_with_json::S$HirId { owner: DefId(0:2295 ~ no_proto[7dec]::buffer::{impl#2}::set_with_json), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2295},"span":{"file_name":"src/buffer.rs","byte_start":470189,"byte_end":470202,"line_start":397,"line_end":397,"column_start":12,"column_end":25},"name":"set_with_json","qualname":"::set_with_json","value":"pub fn set_with_json>(&mut Self, &[&str], S)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Set value with JSON\n \n This works with all types including portals.\n \n Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored.\n \n Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values.\n \n Using the `.set()` method is far more performant. I recommend only using this on the client side of your application.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set_with_json(&[], r#\"{\"value\": [\"foo\", \"bar\", null, \"baz\"]}\"#)?;\n \n assert_eq!(new_buffer.get_length(&[])?, Some(4));\n assert_eq!(new_buffer.get::<&str>(&[\"0\"])?, Some(\"foo\"));\n assert_eq!(new_buffer.get::<&str>(&[\"1\"])?, Some(\"bar\"));\n assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, None);\n assert_eq!(new_buffer.get::<&str>(&[\"3\"])?, Some(\"baz\"));\n \n new_buffer.set_with_json(&[\"2\"], r#\"{\"value\": \"bazzy\"}\"#)?;\n assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, Some(\"bazzy\"));\n \n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Set value with JSON","span":{"file_name":"src/buffer.rs","byte_start":468742,"byte_end":468765,"line_start":364,"line_end":364,"column_start":5,"column_end":28}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468770,"byte_end":468774,"line_start":365,"line_end":365,"column_start":5,"column_end":9}},{"value":"/ This works with all types including portals.","span":{"file_name":"src/buffer.rs","byte_start":468779,"byte_end":468827,"line_start":366,"line_end":366,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468832,"byte_end":468836,"line_start":367,"line_end":367,"column_start":5,"column_end":9}},{"value":"/ Data that doesn't align with the schema will be ignored. `Null` and `undefined` values will be ignored.","span":{"file_name":"src/buffer.rs","byte_start":468841,"byte_end":468949,"line_start":368,"line_end":368,"column_start":5,"column_end":113}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":468954,"byte_end":468958,"line_start":369,"line_end":369,"column_start":5,"column_end":9}},{"value":"/ Partial updates just merge the provided values into the buffer, you only need to provide the values you'd like changed. This method cannot be used to delete values.","span":{"file_name":"src/buffer.rs","byte_start":468963,"byte_end":469132,"line_start":370,"line_end":370,"column_start":5,"column_end":174}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469137,"byte_end":469141,"line_start":371,"line_end":371,"column_start":5,"column_end":9}},{"value":"/ Using the `.set()` method is far more performant. I recommend only using this on the client side of your application.","span":{"file_name":"src/buffer.rs","byte_start":469146,"byte_end":469268,"line_start":372,"line_end":372,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469273,"byte_end":469277,"line_start":373,"line_end":373,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":469282,"byte_end":469289,"line_start":374,"line_end":374,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":469294,"byte_end":469328,"line_start":375,"line_end":375,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":469333,"byte_end":469362,"line_start":376,"line_end":376,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":469367,"byte_end":469398,"line_start":377,"line_end":377,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469403,"byte_end":469407,"line_start":378,"line_end":378,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;","span":{"file_name":"src/buffer.rs","byte_start":469412,"byte_end":469483,"line_start":379,"line_end":379,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469488,"byte_end":469492,"line_start":380,"line_end":380,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":469497,"byte_end":469547,"line_start":381,"line_end":381,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set_with_json(&[], r#\"{\"value\": [\"foo\", \"bar\", null, \"baz\"]}\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":469552,"byte_end":469632,"line_start":382,"line_end":382,"column_start":5,"column_end":85}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469637,"byte_end":469644,"line_start":383,"line_end":383,"column_start":5,"column_end":12}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(4));","span":{"file_name":"src/buffer.rs","byte_start":469649,"byte_end":469702,"line_start":384,"line_end":384,"column_start":5,"column_end":58}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"0\"])?, Some(\"foo\"));","span":{"file_name":"src/buffer.rs","byte_start":469707,"byte_end":469768,"line_start":385,"line_end":385,"column_start":5,"column_end":66}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"1\"])?, Some(\"bar\"));","span":{"file_name":"src/buffer.rs","byte_start":469773,"byte_end":469834,"line_start":386,"line_end":386,"column_start":5,"column_end":66}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, None);","span":{"file_name":"src/buffer.rs","byte_start":469839,"byte_end":469893,"line_start":387,"line_end":387,"column_start":5,"column_end":59}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"3\"])?, Some(\"baz\"));","span":{"file_name":"src/buffer.rs","byte_start":469898,"byte_end":469959,"line_start":388,"line_end":388,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":469964,"byte_end":469968,"line_start":389,"line_end":389,"column_start":5,"column_end":9}},{"value":"/ new_buffer.set_with_json(&[\"2\"], r#\"{\"value\": \"bazzy\"}\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":469973,"byte_end":470036,"line_start":390,"line_end":390,"column_start":5,"column_end":68}},{"value":"/ assert_eq!(new_buffer.get::<&str>(&[\"2\"])?, Some(\"bazzy\"));","span":{"file_name":"src/buffer.rs","byte_start":470041,"byte_end":470104,"line_start":391,"line_end":391,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470109,"byte_end":470113,"line_start":392,"line_end":392,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470118,"byte_end":470122,"line_start":393,"line_end":393,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":470127,"byte_end":470156,"line_start":394,"line_end":394,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":470161,"byte_end":470168,"line_start":395,"line_end":395,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":470173,"byte_end":470177,"line_start":396,"line_end":396,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2080377079},"span":{"file_name":"src/buffer.rs","byte_start":470397,"byte_end":470409,"line_start":403,"line_end":403,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2295 ~ no_proto[7dec]::buffer::{impl#2}::set_with_json), local_id: 62 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298551},"span":{"file_name":"src/buffer.rs","byte_start":470540,"byte_end":470541,"line_start":405,"line_end":405,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2295 ~ no_proto[7dec]::buffer::{impl#2}::set_with_json), local_id: 66 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822647},"span":{"file_name":"src/buffer.rs","byte_start":470568,"byte_end":470574,"line_start":406,"line_end":406,"column_start":21,"column_end":27},"name":"parsed","qualname":"parsed$HirId { owner: DefId(0:2295 ~ no_proto[7dec]::buffer::{impl#2}::set_with_json), local_id: 94 }","value":"std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744121},"span":{"file_name":"src/buffer.rs","byte_start":476204,"byte_end":476208,"line_start":568,"line_end":568,"column_start":41,"column_end":45},"name":"self","qualname":"::get_collection::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873209},"span":{"file_name":"src/buffer.rs","byte_start":476210,"byte_end":476214,"line_start":568,"line_end":568,"column_start":47,"column_end":51},"name":"path","qualname":"::get_collection::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2297},"span":{"file_name":"src/buffer.rs","byte_start":476175,"byte_end":476189,"line_start":568,"line_end":568,"column_start":12,"column_end":26},"name":"get_collection","qualname":"::get_collection","value":"pub fn get_collection<'iter>(&'iter Self, &'iter [&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Get an iterator for a collection\n \n \n ## List Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 1 index\n new_buffer.set(&[\"1\"], \"hello\")?;\n // set value at 4 index\n new_buffer.set(&[\"4\"], \"world\")?;\n // push value onto the end\n new_buffer.list_push(&[], \"!\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), None),\n 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),\n 2 => assert_eq!(item.get::<&str>().unwrap(), None),\n 3 => assert_eq!(item.get::<&str>().unwrap(), None),\n 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"world\")),\n 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"!\")),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Struct Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"struct\",\n \"fields\": [\n [\"age\", {\"type\": \"uint8\"}],\n [\"name\", {\"type\": \"string\"}],\n [\"job\", {\"type\": \"string\"}],\n [\"tags\", {\"type\": \"list\", \"of\": {\"type\": \"string\"}}]\n ]\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value of age\n new_buffer.set(&[\"age\"], 20u8)?;\n // set value of name\n new_buffer.set(&[\"name\"], \"Bill Kerman\")?;\n // push value onto tags list\n new_buffer.list_push(&[\"tags\"], \"rocket\")?;\n \n // get iterator of root (table)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n \n match item.key {\n \"name\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"Bill Kerman\")),\n \"age\" => assert_eq!(item.get::().unwrap(), Some(20)),\n \"job\" => assert_eq!(item.get::<&str>().unwrap(), None),\n \"tags\" => { /* tags field is list, can't do anything with it here */ },\n _ => { panic!() }\n };\n });\n \n // we can also loop through items of the tags list\n new_buffer.get_collection(&[\"tags\"])?.unwrap().into_iter().for_each(|item| {\n assert_eq!(item.index, 0);\n assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\"));\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Map Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"map\",\n \"value\": {\"type\": \"string\"}\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value of color key\n new_buffer.set(&[\"color\"], \"blue\")?;\n // set value of sport key\n new_buffer.set(&[\"sport\"], \"soccor\")?;\n \n // get iterator of root (map)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n \n match item.key {\n \"color\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"blue\")),\n \"sport\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"soccor\")),\n _ => panic!()\n }\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Tuple Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"tuple\",\n \"values\": [\n {\"type\": \"string\"},\n {\"type\": \"u8\"},\n {\"type\": \"bool\"}\n ]\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 0 index\n new_buffer.set(&[\"0\"], \"hello\")?;\n // set value at 2 index\n new_buffer.set(&[\"2\"], false)?;\n \n // get iterator of root (tuple item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),\n 1 => assert_eq!(item.get::().unwrap(), None),\n 2 => assert_eq!(item.get::().unwrap(), Some(false)),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Get an iterator for a collection","span":{"file_name":"src/buffer.rs","byte_start":471101,"byte_end":471137,"line_start":424,"line_end":424,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471142,"byte_end":471146,"line_start":425,"line_end":425,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471151,"byte_end":471155,"line_start":426,"line_end":426,"column_start":5,"column_end":9}},{"value":"/ ## List Example","span":{"file_name":"src/buffer.rs","byte_start":471160,"byte_end":471179,"line_start":427,"line_end":427,"column_start":5,"column_end":24}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":471184,"byte_end":471191,"line_start":428,"line_end":428,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":471196,"byte_end":471230,"line_start":429,"line_end":429,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":471235,"byte_end":471264,"line_start":430,"line_end":430,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":471269,"byte_end":471300,"line_start":431,"line_end":431,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471305,"byte_end":471309,"line_start":432,"line_end":432,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({of: string()})\")?;","span":{"file_name":"src/buffer.rs","byte_start":471314,"byte_end":471385,"line_start":433,"line_end":433,"column_start":5,"column_end":76}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471390,"byte_end":471394,"line_start":434,"line_end":434,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":471399,"byte_end":471449,"line_start":435,"line_end":435,"column_start":5,"column_end":55}},{"value":"/ // set value at 1 index","span":{"file_name":"src/buffer.rs","byte_start":471454,"byte_end":471481,"line_start":436,"line_end":436,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"1\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":471486,"byte_end":471523,"line_start":437,"line_end":437,"column_start":5,"column_end":42}},{"value":"/ // set value at 4 index","span":{"file_name":"src/buffer.rs","byte_start":471528,"byte_end":471555,"line_start":438,"line_end":438,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"4\"], \"world\")?;","span":{"file_name":"src/buffer.rs","byte_start":471560,"byte_end":471597,"line_start":439,"line_end":439,"column_start":5,"column_end":42}},{"value":"/ // push value onto the end","span":{"file_name":"src/buffer.rs","byte_start":471602,"byte_end":471632,"line_start":440,"line_end":440,"column_start":5,"column_end":35}},{"value":"/ new_buffer.list_push(&[], \"!\")?;","span":{"file_name":"src/buffer.rs","byte_start":471637,"byte_end":471673,"line_start":441,"line_end":441,"column_start":5,"column_end":41}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":471678,"byte_end":471682,"line_start":442,"line_end":442,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":471687,"byte_end":471726,"line_start":443,"line_end":443,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":471731,"byte_end":471805,"line_start":444,"line_end":444,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":471810,"byte_end":471836,"line_start":445,"line_end":445,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":471841,"byte_end":471904,"line_start":446,"line_end":446,"column_start":5,"column_end":68}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),","span":{"file_name":"src/buffer.rs","byte_start":471909,"byte_end":471981,"line_start":447,"line_end":447,"column_start":5,"column_end":77}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":471986,"byte_end":472049,"line_start":448,"line_end":448,"column_start":5,"column_end":68}},{"value":"/ 3 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":472054,"byte_end":472117,"line_start":449,"line_end":449,"column_start":5,"column_end":68}},{"value":"/ 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"world\")),","span":{"file_name":"src/buffer.rs","byte_start":472122,"byte_end":472194,"line_start":450,"line_end":450,"column_start":5,"column_end":77}},{"value":"/ 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"!\")),","span":{"file_name":"src/buffer.rs","byte_start":472199,"byte_end":472267,"line_start":451,"line_end":451,"column_start":5,"column_end":73}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":472272,"byte_end":472297,"line_start":452,"line_end":452,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":472302,"byte_end":472312,"line_start":453,"line_end":453,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":472317,"byte_end":472324,"line_start":454,"line_end":454,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472329,"byte_end":472333,"line_start":455,"line_end":455,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":472338,"byte_end":472367,"line_start":456,"line_end":456,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":472372,"byte_end":472379,"line_start":457,"line_end":457,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472384,"byte_end":472388,"line_start":458,"line_end":458,"column_start":5,"column_end":9}},{"value":"/ ## Struct Example","span":{"file_name":"src/buffer.rs","byte_start":472393,"byte_end":472414,"line_start":459,"line_end":459,"column_start":5,"column_end":26}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":472419,"byte_end":472426,"line_start":460,"line_end":460,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":472431,"byte_end":472465,"line_start":461,"line_end":461,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":472470,"byte_end":472499,"line_start":462,"line_end":462,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":472504,"byte_end":472535,"line_start":463,"line_end":463,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472540,"byte_end":472544,"line_start":464,"line_end":464,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":472549,"byte_end":472604,"line_start":465,"line_end":465,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/buffer.rs","byte_start":472609,"byte_end":472633,"line_start":466,"line_end":466,"column_start":5,"column_end":29}},{"value":"/ \"fields\": [","span":{"file_name":"src/buffer.rs","byte_start":472638,"byte_end":472656,"line_start":467,"line_end":467,"column_start":5,"column_end":23}},{"value":"/ [\"age\", {\"type\": \"uint8\"}],","span":{"file_name":"src/buffer.rs","byte_start":472661,"byte_end":472700,"line_start":468,"line_end":468,"column_start":5,"column_end":44}},{"value":"/ [\"name\", {\"type\": \"string\"}],","span":{"file_name":"src/buffer.rs","byte_start":472705,"byte_end":472746,"line_start":469,"line_end":469,"column_start":5,"column_end":46}},{"value":"/ [\"job\", {\"type\": \"string\"}],","span":{"file_name":"src/buffer.rs","byte_start":472751,"byte_end":472791,"line_start":470,"line_end":470,"column_start":5,"column_end":45}},{"value":"/ [\"tags\", {\"type\": \"list\", \"of\": {\"type\": \"string\"}}]","span":{"file_name":"src/buffer.rs","byte_start":472796,"byte_end":472860,"line_start":471,"line_end":471,"column_start":5,"column_end":69}},{"value":"/ ]","span":{"file_name":"src/buffer.rs","byte_start":472865,"byte_end":472874,"line_start":472,"line_end":472,"column_start":5,"column_end":14}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":472879,"byte_end":472889,"line_start":473,"line_end":473,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":472894,"byte_end":472898,"line_start":474,"line_end":474,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":472903,"byte_end":472953,"line_start":475,"line_end":475,"column_start":5,"column_end":55}},{"value":"/ // set value of age","span":{"file_name":"src/buffer.rs","byte_start":472958,"byte_end":472981,"line_start":476,"line_end":476,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/buffer.rs","byte_start":472986,"byte_end":473022,"line_start":477,"line_end":477,"column_start":5,"column_end":41}},{"value":"/ // set value of name","span":{"file_name":"src/buffer.rs","byte_start":473027,"byte_end":473051,"line_start":478,"line_end":478,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[\"name\"], \"Bill Kerman\")?;","span":{"file_name":"src/buffer.rs","byte_start":473056,"byte_end":473102,"line_start":479,"line_end":479,"column_start":5,"column_end":51}},{"value":"/ // push value onto tags list","span":{"file_name":"src/buffer.rs","byte_start":473107,"byte_end":473139,"line_start":480,"line_end":480,"column_start":5,"column_end":37}},{"value":"/ new_buffer.list_push(&[\"tags\"], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":473144,"byte_end":473191,"line_start":481,"line_end":481,"column_start":5,"column_end":52}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473196,"byte_end":473200,"line_start":482,"line_end":482,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (table)","span":{"file_name":"src/buffer.rs","byte_start":473205,"byte_end":473240,"line_start":483,"line_end":483,"column_start":5,"column_end":40}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":473245,"byte_end":473319,"line_start":484,"line_end":484,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473324,"byte_end":473332,"line_start":485,"line_end":485,"column_start":5,"column_end":13}},{"value":"/ match item.key {","span":{"file_name":"src/buffer.rs","byte_start":473337,"byte_end":473361,"line_start":486,"line_end":486,"column_start":5,"column_end":29}},{"value":"/ \"name\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"Bill Kerman\")),","span":{"file_name":"src/buffer.rs","byte_start":473366,"byte_end":473449,"line_start":487,"line_end":487,"column_start":5,"column_end":88}},{"value":"/ \"age\" => assert_eq!(item.get::().unwrap(), Some(20)),","span":{"file_name":"src/buffer.rs","byte_start":473454,"byte_end":473524,"line_start":488,"line_end":488,"column_start":5,"column_end":75}},{"value":"/ \"job\" => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":473529,"byte_end":473596,"line_start":489,"line_end":489,"column_start":5,"column_end":72}},{"value":"/ \"tags\" => { /* tags field is list, can't do anything with it here */ },","span":{"file_name":"src/buffer.rs","byte_start":473601,"byte_end":473684,"line_start":490,"line_end":490,"column_start":5,"column_end":88}},{"value":"/ _ => { panic!() }","span":{"file_name":"src/buffer.rs","byte_start":473689,"byte_end":473718,"line_start":491,"line_end":491,"column_start":5,"column_end":34}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":473723,"byte_end":473733,"line_start":492,"line_end":492,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":473738,"byte_end":473745,"line_start":493,"line_end":493,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":473750,"byte_end":473754,"line_start":494,"line_end":494,"column_start":5,"column_end":9}},{"value":"/ // we can also loop through items of the tags list","span":{"file_name":"src/buffer.rs","byte_start":473759,"byte_end":473813,"line_start":495,"line_end":495,"column_start":5,"column_end":59}},{"value":"/ new_buffer.get_collection(&[\"tags\"])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":473818,"byte_end":473898,"line_start":496,"line_end":496,"column_start":5,"column_end":85}},{"value":"/ assert_eq!(item.index, 0);","span":{"file_name":"src/buffer.rs","byte_start":473903,"byte_end":473937,"line_start":497,"line_end":497,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\"));","span":{"file_name":"src/buffer.rs","byte_start":473942,"byte_end":474006,"line_start":498,"line_end":498,"column_start":5,"column_end":69}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":474011,"byte_end":474018,"line_start":499,"line_end":499,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474023,"byte_end":474027,"line_start":500,"line_end":500,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":474032,"byte_end":474061,"line_start":501,"line_end":501,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":474066,"byte_end":474073,"line_start":502,"line_end":502,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474078,"byte_end":474082,"line_start":503,"line_end":503,"column_start":5,"column_end":9}},{"value":"/ ## Map Example","span":{"file_name":"src/buffer.rs","byte_start":474087,"byte_end":474105,"line_start":504,"line_end":504,"column_start":5,"column_end":23}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":474110,"byte_end":474117,"line_start":505,"line_end":505,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":474122,"byte_end":474156,"line_start":506,"line_end":506,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":474161,"byte_end":474190,"line_start":507,"line_end":507,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":474195,"byte_end":474226,"line_start":508,"line_end":508,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474231,"byte_end":474235,"line_start":509,"line_end":509,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":474240,"byte_end":474295,"line_start":510,"line_end":510,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/buffer.rs","byte_start":474300,"byte_end":474321,"line_start":511,"line_end":511,"column_start":5,"column_end":26}},{"value":"/ \"value\": {\"type\": \"string\"}","span":{"file_name":"src/buffer.rs","byte_start":474326,"byte_end":474360,"line_start":512,"line_end":512,"column_start":5,"column_end":39}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":474365,"byte_end":474375,"line_start":513,"line_end":513,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474380,"byte_end":474384,"line_start":514,"line_end":514,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":474389,"byte_end":474439,"line_start":515,"line_end":515,"column_start":5,"column_end":55}},{"value":"/ // set value of color key","span":{"file_name":"src/buffer.rs","byte_start":474444,"byte_end":474473,"line_start":516,"line_end":516,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"color\"], \"blue\")?;","span":{"file_name":"src/buffer.rs","byte_start":474478,"byte_end":474518,"line_start":517,"line_end":517,"column_start":5,"column_end":45}},{"value":"/ // set value of sport key","span":{"file_name":"src/buffer.rs","byte_start":474523,"byte_end":474552,"line_start":518,"line_end":518,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"sport\"], \"soccor\")?;","span":{"file_name":"src/buffer.rs","byte_start":474557,"byte_end":474599,"line_start":519,"line_end":519,"column_start":5,"column_end":47}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474604,"byte_end":474608,"line_start":520,"line_end":520,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (map)","span":{"file_name":"src/buffer.rs","byte_start":474613,"byte_end":474646,"line_start":521,"line_end":521,"column_start":5,"column_end":38}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":474651,"byte_end":474725,"line_start":522,"line_end":522,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474730,"byte_end":474738,"line_start":523,"line_end":523,"column_start":5,"column_end":13}},{"value":"/ match item.key {","span":{"file_name":"src/buffer.rs","byte_start":474743,"byte_end":474767,"line_start":524,"line_end":524,"column_start":5,"column_end":29}},{"value":"/ \"color\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"blue\")),","span":{"file_name":"src/buffer.rs","byte_start":474772,"byte_end":474849,"line_start":525,"line_end":525,"column_start":5,"column_end":82}},{"value":"/ \"sport\" => assert_eq!(item.get::<&str>().unwrap(), Some(\"soccor\")),","span":{"file_name":"src/buffer.rs","byte_start":474854,"byte_end":474933,"line_start":526,"line_end":526,"column_start":5,"column_end":84}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":474938,"byte_end":474963,"line_start":527,"line_end":527,"column_start":5,"column_end":30}},{"value":"/ }","span":{"file_name":"src/buffer.rs","byte_start":474968,"byte_end":474977,"line_start":528,"line_end":528,"column_start":5,"column_end":14}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":474982,"byte_end":474989,"line_start":529,"line_end":529,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":474994,"byte_end":474998,"line_start":530,"line_end":530,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":475003,"byte_end":475032,"line_start":531,"line_end":531,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":475037,"byte_end":475044,"line_start":532,"line_end":532,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475049,"byte_end":475053,"line_start":533,"line_end":533,"column_start":5,"column_end":9}},{"value":"/ ## Tuple Example","span":{"file_name":"src/buffer.rs","byte_start":475058,"byte_end":475078,"line_start":534,"line_end":534,"column_start":5,"column_end":25}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":475083,"byte_end":475090,"line_start":535,"line_end":535,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":475095,"byte_end":475129,"line_start":536,"line_end":536,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":475134,"byte_end":475163,"line_start":537,"line_end":537,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":475168,"byte_end":475199,"line_start":538,"line_end":538,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475204,"byte_end":475208,"line_start":539,"line_end":539,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":475213,"byte_end":475268,"line_start":540,"line_end":540,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/buffer.rs","byte_start":475273,"byte_end":475296,"line_start":541,"line_end":541,"column_start":5,"column_end":28}},{"value":"/ \"values\": [","span":{"file_name":"src/buffer.rs","byte_start":475301,"byte_end":475320,"line_start":542,"line_end":542,"column_start":5,"column_end":24}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/buffer.rs","byte_start":475325,"byte_end":475356,"line_start":543,"line_end":543,"column_start":5,"column_end":36}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/buffer.rs","byte_start":475361,"byte_end":475388,"line_start":544,"line_end":544,"column_start":5,"column_end":32}},{"value":"/ {\"type\": \"bool\"}","span":{"file_name":"src/buffer.rs","byte_start":475393,"byte_end":475421,"line_start":545,"line_end":545,"column_start":5,"column_end":33}},{"value":"/ ]","span":{"file_name":"src/buffer.rs","byte_start":475426,"byte_end":475435,"line_start":546,"line_end":546,"column_start":5,"column_end":14}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":475440,"byte_end":475450,"line_start":547,"line_end":547,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475455,"byte_end":475459,"line_start":548,"line_end":548,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":475464,"byte_end":475514,"line_start":549,"line_end":549,"column_start":5,"column_end":55}},{"value":"/ // set value at 0 index","span":{"file_name":"src/buffer.rs","byte_start":475519,"byte_end":475546,"line_start":550,"line_end":550,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"0\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":475551,"byte_end":475588,"line_start":551,"line_end":551,"column_start":5,"column_end":42}},{"value":"/ // set value at 2 index","span":{"file_name":"src/buffer.rs","byte_start":475593,"byte_end":475620,"line_start":552,"line_end":552,"column_start":5,"column_end":32}},{"value":"/ new_buffer.set(&[\"2\"], false)?;","span":{"file_name":"src/buffer.rs","byte_start":475625,"byte_end":475660,"line_start":553,"line_end":553,"column_start":5,"column_end":40}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":475665,"byte_end":475669,"line_start":554,"line_end":554,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (tuple item)","span":{"file_name":"src/buffer.rs","byte_start":475674,"byte_end":475714,"line_start":555,"line_end":555,"column_start":5,"column_end":45}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":475719,"byte_end":475793,"line_start":556,"line_end":556,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":475798,"byte_end":475824,"line_start":557,"line_end":557,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"hello\")),","span":{"file_name":"src/buffer.rs","byte_start":475829,"byte_end":475901,"line_start":558,"line_end":558,"column_start":5,"column_end":77}},{"value":"/ 1 => assert_eq!(item.get::().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":475906,"byte_end":475967,"line_start":559,"line_end":559,"column_start":5,"column_end":66}},{"value":"/ 2 => assert_eq!(item.get::().unwrap(), Some(false)),","span":{"file_name":"src/buffer.rs","byte_start":475972,"byte_end":476042,"line_start":560,"line_end":560,"column_start":5,"column_end":75}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":476047,"byte_end":476072,"line_start":561,"line_end":561,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":476077,"byte_end":476087,"line_start":562,"line_end":562,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":476092,"byte_end":476099,"line_start":563,"line_end":563,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476104,"byte_end":476108,"line_start":564,"line_end":564,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":476113,"byte_end":476142,"line_start":565,"line_end":565,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":476147,"byte_end":476154,"line_start":566,"line_end":566,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476159,"byte_end":476163,"line_start":567,"line_end":567,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030265},"span":{"file_name":"src/buffer.rs","byte_start":476302,"byte_end":476307,"line_start":570,"line_end":570,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2297 ~ no_proto[7dec]::buffer::{impl#2}::get_collection), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040377},"span":{"file_name":"src/buffer.rs","byte_start":476398,"byte_end":476403,"line_start":572,"line_end":572,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2297 ~ no_proto[7dec]::buffer::{impl#2}::get_collection), local_id: 65 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838863097},"span":{"file_name":"src/buffer.rs","byte_start":476515,"byte_end":476525,"line_start":578,"line_end":578,"column_start":13,"column_end":23},"name":"value_data","qualname":"value_data$HirId { owner: DefId(0:2297 ~ no_proto[7dec]::buffer::{impl#2}::get_collection), local_id: 76 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744123},"span":{"file_name":"src/buffer.rs","byte_start":478865,"byte_end":478869,"line_start":639,"line_end":639,"column_start":44,"column_end":48},"name":"self","qualname":"::list_push::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873211},"span":{"file_name":"src/buffer.rs","byte_start":478871,"byte_end":478875,"line_start":639,"line_end":639,"column_start":50,"column_end":54},"name":"path","qualname":"::list_push::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615035},"span":{"file_name":"src/buffer.rs","byte_start":478886,"byte_end":478891,"line_start":639,"line_end":639,"column_start":65,"column_end":70},"name":"value","qualname":"::list_push::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2301},"span":{"file_name":"src/buffer.rs","byte_start":478850,"byte_end":478851,"line_start":639,"line_end":639,"column_start":29,"column_end":30},"name":"X","qualname":"::list_push::X$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2299},"span":{"file_name":"src/buffer.rs","byte_start":478833,"byte_end":478842,"line_start":639,"line_end":639,"column_start":12,"column_end":21},"name":"list_push","qualname":"::list_push","value":"pub fn list_push<'push, X: 'push>(&mut Self, &[&str], X)\n-> Result, NP_Error> where X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Push a value onto the end of a list.\n The path provided must resolve to a list type, and the type being pushed must match the schema\n \n This is the most efficient way to add values to a list type.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"list\",\n \"of\": {\"type\": \"string\"}\n }\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[\"3\"], \"launch\")?;\n new_buffer.list_push(&[], \"this\")?;\n new_buffer.list_push(&[], \"rocket\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), None),\n 1 => assert_eq!(item.get::<&str>().unwrap(), None),\n 2 => assert_eq!(item.get::<&str>().unwrap(), None),\n 3 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),\n 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),\n 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),\n _ => panic!()\n };\n });\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.list_push(&[], \"launch\")?;\n new_buffer.list_push(&[], \"this\")?;\n new_buffer.list_push(&[], \"rocket\")?;\n \n // get iterator of root (list item)\n new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {\n match item.index {\n 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),\n 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),\n 2 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),\n _ => panic!()\n };\n });\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Push a value onto the end of a list.","span":{"file_name":"src/buffer.rs","byte_start":476753,"byte_end":476793,"line_start":588,"line_end":588,"column_start":5,"column_end":45}},{"value":"/ The path provided must resolve to a list type, and the type being pushed must match the schema","span":{"file_name":"src/buffer.rs","byte_start":476798,"byte_end":476896,"line_start":589,"line_end":589,"column_start":5,"column_end":103}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476901,"byte_end":476905,"line_start":590,"line_end":590,"column_start":5,"column_end":9}},{"value":"/ This is the most efficient way to add values to a list type.","span":{"file_name":"src/buffer.rs","byte_start":476910,"byte_end":476974,"line_start":591,"line_end":591,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":476979,"byte_end":476983,"line_start":592,"line_end":592,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":476988,"byte_end":476995,"line_start":593,"line_end":593,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":477000,"byte_end":477034,"line_start":594,"line_end":594,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":477039,"byte_end":477068,"line_start":595,"line_end":595,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":477073,"byte_end":477104,"line_start":596,"line_end":596,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477109,"byte_end":477113,"line_start":597,"line_end":597,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/buffer.rs","byte_start":477118,"byte_end":477173,"line_start":598,"line_end":598,"column_start":5,"column_end":60}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/buffer.rs","byte_start":477178,"byte_end":477200,"line_start":599,"line_end":599,"column_start":5,"column_end":27}},{"value":"/ \"of\": {\"type\": \"string\"}","span":{"file_name":"src/buffer.rs","byte_start":477205,"byte_end":477237,"line_start":600,"line_end":600,"column_start":5,"column_end":37}},{"value":"/ }\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":477242,"byte_end":477252,"line_start":601,"line_end":601,"column_start":5,"column_end":15}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477257,"byte_end":477261,"line_start":602,"line_end":602,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":477266,"byte_end":477316,"line_start":603,"line_end":603,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[\"3\"], \"launch\")?;","span":{"file_name":"src/buffer.rs","byte_start":477321,"byte_end":477359,"line_start":604,"line_end":604,"column_start":5,"column_end":43}},{"value":"/ new_buffer.list_push(&[], \"this\")?;","span":{"file_name":"src/buffer.rs","byte_start":477364,"byte_end":477403,"line_start":605,"line_end":605,"column_start":5,"column_end":44}},{"value":"/ new_buffer.list_push(&[], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":477408,"byte_end":477449,"line_start":606,"line_end":606,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":477454,"byte_end":477458,"line_start":607,"line_end":607,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":477463,"byte_end":477502,"line_start":608,"line_end":608,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":477507,"byte_end":477581,"line_start":609,"line_end":609,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":477586,"byte_end":477612,"line_start":610,"line_end":610,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477617,"byte_end":477680,"line_start":611,"line_end":611,"column_start":5,"column_end":68}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477685,"byte_end":477748,"line_start":612,"line_end":612,"column_start":5,"column_end":68}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), None),","span":{"file_name":"src/buffer.rs","byte_start":477753,"byte_end":477816,"line_start":613,"line_end":613,"column_start":5,"column_end":68}},{"value":"/ 3 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),","span":{"file_name":"src/buffer.rs","byte_start":477821,"byte_end":477894,"line_start":614,"line_end":614,"column_start":5,"column_end":78}},{"value":"/ 4 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),","span":{"file_name":"src/buffer.rs","byte_start":477899,"byte_end":477970,"line_start":615,"line_end":615,"column_start":5,"column_end":76}},{"value":"/ 5 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),","span":{"file_name":"src/buffer.rs","byte_start":477975,"byte_end":478048,"line_start":616,"line_end":616,"column_start":5,"column_end":78}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":478053,"byte_end":478078,"line_start":617,"line_end":617,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":478083,"byte_end":478093,"line_start":618,"line_end":618,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":478098,"byte_end":478105,"line_start":619,"line_end":619,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478110,"byte_end":478114,"line_start":620,"line_end":620,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":478119,"byte_end":478169,"line_start":621,"line_end":621,"column_start":5,"column_end":55}},{"value":"/ new_buffer.list_push(&[], \"launch\")?;","span":{"file_name":"src/buffer.rs","byte_start":478174,"byte_end":478215,"line_start":622,"line_end":622,"column_start":5,"column_end":46}},{"value":"/ new_buffer.list_push(&[], \"this\")?;","span":{"file_name":"src/buffer.rs","byte_start":478220,"byte_end":478259,"line_start":623,"line_end":623,"column_start":5,"column_end":44}},{"value":"/ new_buffer.list_push(&[], \"rocket\")?;","span":{"file_name":"src/buffer.rs","byte_start":478264,"byte_end":478305,"line_start":624,"line_end":624,"column_start":5,"column_end":46}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478310,"byte_end":478314,"line_start":625,"line_end":625,"column_start":5,"column_end":9}},{"value":"/ // get iterator of root (list item)","span":{"file_name":"src/buffer.rs","byte_start":478319,"byte_end":478358,"line_start":626,"line_end":626,"column_start":5,"column_end":44}},{"value":"/ new_buffer.get_collection(&[])?.unwrap().into_iter().for_each(|item| {","span":{"file_name":"src/buffer.rs","byte_start":478363,"byte_end":478437,"line_start":627,"line_end":627,"column_start":5,"column_end":79}},{"value":"/ match item.index {","span":{"file_name":"src/buffer.rs","byte_start":478442,"byte_end":478468,"line_start":628,"line_end":628,"column_start":5,"column_end":31}},{"value":"/ 0 => assert_eq!(item.get::<&str>().unwrap(), Some(\"launch\")),","span":{"file_name":"src/buffer.rs","byte_start":478473,"byte_end":478546,"line_start":629,"line_end":629,"column_start":5,"column_end":78}},{"value":"/ 1 => assert_eq!(item.get::<&str>().unwrap(), Some(\"this\")),","span":{"file_name":"src/buffer.rs","byte_start":478551,"byte_end":478622,"line_start":630,"line_end":630,"column_start":5,"column_end":76}},{"value":"/ 2 => assert_eq!(item.get::<&str>().unwrap(), Some(\"rocket\")),","span":{"file_name":"src/buffer.rs","byte_start":478627,"byte_end":478700,"line_start":631,"line_end":631,"column_start":5,"column_end":78}},{"value":"/ _ => panic!()","span":{"file_name":"src/buffer.rs","byte_start":478705,"byte_end":478730,"line_start":632,"line_end":632,"column_start":5,"column_end":30}},{"value":"/ };","span":{"file_name":"src/buffer.rs","byte_start":478735,"byte_end":478745,"line_start":633,"line_end":633,"column_start":5,"column_end":15}},{"value":"/ });","span":{"file_name":"src/buffer.rs","byte_start":478750,"byte_end":478757,"line_start":634,"line_end":634,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478762,"byte_end":478766,"line_start":635,"line_end":635,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":478771,"byte_end":478800,"line_start":636,"line_end":636,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":478805,"byte_end":478812,"line_start":637,"line_end":637,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":478817,"byte_end":478821,"line_start":638,"line_end":638,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":973080827},"span":{"file_name":"src/buffer.rs","byte_start":479083,"byte_end":479094,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"name":"list_cursor","qualname":"list_cursor$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 92 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1375734011},"span":{"file_name":"src/buffer.rs","byte_start":479245,"byte_end":479246,"line_start":646,"line_end":646,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 74 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3858761979},"span":{"file_name":"src/buffer.rs","byte_start":479315,"byte_end":479321,"line_start":650,"line_end":650,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 103 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3187673339},"span":{"file_name":"src/buffer.rs","byte_start":479455,"byte_end":479459,"line_start":655,"line_end":655,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 125 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238004987},"span":{"file_name":"src/buffer.rs","byte_start":479539,"byte_end":479541,"line_start":657,"line_end":657,"column_start":21,"column_end":23},"name":"of","qualname":"of$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 131 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827707},"span":{"file_name":"src/buffer.rs","byte_start":479597,"byte_end":479606,"line_start":659,"line_end":659,"column_start":21,"column_end":30},"name":"of_schema","qualname":"of_schema$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 142 }","value":"&&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177529083},"span":{"file_name":"src/buffer.rs","byte_start":479765,"byte_end":479768,"line_start":663,"line_end":663,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 159 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":8390907},"span":{"file_name":"src/buffer.rs","byte_start":480308,"byte_end":480313,"line_start":675,"line_end":675,"column_start":19,"column_end":24},"name":"index","qualname":"index$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 256 }","value":"u16","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2155874555},"span":{"file_name":"src/buffer.rs","byte_start":480315,"byte_end":480328,"line_start":675,"line_end":675,"column_start":26,"column_end":39},"name":"new_item_addr","qualname":"new_item_addr$HirId { owner: DefId(0:2299 ~ no_proto[7dec]::buffer::{impl#2}::list_push), local_id: 257 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744126},"span":{"file_name":"src/buffer.rs","byte_start":483604,"byte_end":483608,"line_start":779,"line_end":779,"column_start":24,"column_end":28},"name":"self","qualname":"::get_length::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873214},"span":{"file_name":"src/buffer.rs","byte_start":483610,"byte_end":483614,"line_start":779,"line_end":779,"column_start":30,"column_end":34},"name":"path","qualname":"::get_length::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2302},"span":{"file_name":"src/buffer.rs","byte_start":483592,"byte_end":483602,"line_start":779,"line_end":779,"column_start":12,"column_end":22},"name":"get_length","qualname":"::get_length","value":"pub fn get_length(&Self, &[&str]) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Get length of String, Bytes, Table, Tuple, List or Map Type\n \n If the type found at the path provided does not support length operations, you'll get `None`.\n \n If there is no value at the path provodid, you will get `None`.\n \n If an item is found and it's length is zero, you can expect `Some(0)`.\n \n ## String Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // get length of value at root (String)\n assert_eq!(new_buffer.get_length(&[])?, Some(5));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (List) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set value at 9th index\n new_buffer.set(&[\"9\"], \"hello\")?;\n // get length of value at root (List)\n assert_eq!(new_buffer.get_length(&[])?, Some(10));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Table) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(r#\"\n struct({fields: {\n age: u8(),\n name: string()\n }})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // get length of value at root (Table)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Map) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"map({value: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set values\n new_buffer.set(&[\"foo\"], \"bar\")?;\n new_buffer.set(&[\"foo2\"], \"bar2\")?;\n // get length of value at root (Map)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Collection (Tuple) Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"tuple({values: [string(), string()]})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // get length of value at root (Tuple)\n assert_eq!(new_buffer.get_length(&[])?, Some(2));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Get length of String, Bytes, Table, Tuple, List or Map Type","span":{"file_name":"src/buffer.rs","byte_start":480501,"byte_end":480564,"line_start":684,"line_end":684,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480569,"byte_end":480573,"line_start":685,"line_end":685,"column_start":5,"column_end":9}},{"value":"/ If the type found at the path provided does not support length operations, you'll get `None`.","span":{"file_name":"src/buffer.rs","byte_start":480578,"byte_end":480675,"line_start":686,"line_end":686,"column_start":5,"column_end":102}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480680,"byte_end":480684,"line_start":687,"line_end":687,"column_start":5,"column_end":9}},{"value":"/ If there is no value at the path provodid, you will get `None`.","span":{"file_name":"src/buffer.rs","byte_start":480689,"byte_end":480756,"line_start":688,"line_end":688,"column_start":5,"column_end":72}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480761,"byte_end":480765,"line_start":689,"line_end":689,"column_start":5,"column_end":9}},{"value":"/ If an item is found and it's length is zero, you can expect `Some(0)`.","span":{"file_name":"src/buffer.rs","byte_start":480770,"byte_end":480844,"line_start":690,"line_end":690,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":480849,"byte_end":480853,"line_start":691,"line_end":691,"column_start":5,"column_end":9}},{"value":"/ ## String Example","span":{"file_name":"src/buffer.rs","byte_start":480858,"byte_end":480879,"line_start":692,"line_end":692,"column_start":5,"column_end":26}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":480884,"byte_end":480891,"line_start":693,"line_end":693,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":480896,"byte_end":480930,"line_start":694,"line_end":694,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":480935,"byte_end":480964,"line_start":695,"line_end":695,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":480969,"byte_end":481000,"line_start":696,"line_end":696,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481005,"byte_end":481009,"line_start":697,"line_end":697,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":481014,"byte_end":481073,"line_start":698,"line_end":698,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481078,"byte_end":481082,"line_start":699,"line_end":699,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":481087,"byte_end":481137,"line_start":700,"line_end":700,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":481142,"byte_end":481166,"line_start":701,"line_end":701,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":481171,"byte_end":481205,"line_start":702,"line_end":702,"column_start":5,"column_end":39}},{"value":"/ // get length of value at root (String)","span":{"file_name":"src/buffer.rs","byte_start":481210,"byte_end":481253,"line_start":703,"line_end":703,"column_start":5,"column_end":48}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(5));","span":{"file_name":"src/buffer.rs","byte_start":481258,"byte_end":481311,"line_start":704,"line_end":704,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481316,"byte_end":481320,"line_start":705,"line_end":705,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":481325,"byte_end":481354,"line_start":706,"line_end":706,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481359,"byte_end":481366,"line_start":707,"line_end":707,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481371,"byte_end":481375,"line_start":708,"line_end":708,"column_start":5,"column_end":9}},{"value":"/ ## Collection (List) Example","span":{"file_name":"src/buffer.rs","byte_start":481380,"byte_end":481412,"line_start":709,"line_end":709,"column_start":5,"column_end":37}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481417,"byte_end":481424,"line_start":710,"line_end":710,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":481429,"byte_end":481463,"line_start":711,"line_end":711,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":481468,"byte_end":481497,"line_start":712,"line_end":712,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":481502,"byte_end":481533,"line_start":713,"line_end":713,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481538,"byte_end":481542,"line_start":714,"line_end":714,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":481547,"byte_end":481620,"line_start":715,"line_end":715,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481625,"byte_end":481629,"line_start":716,"line_end":716,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":481634,"byte_end":481684,"line_start":717,"line_end":717,"column_start":5,"column_end":55}},{"value":"/ // set value at 9th index","span":{"file_name":"src/buffer.rs","byte_start":481689,"byte_end":481718,"line_start":718,"line_end":718,"column_start":5,"column_end":34}},{"value":"/ new_buffer.set(&[\"9\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":481723,"byte_end":481760,"line_start":719,"line_end":719,"column_start":5,"column_end":42}},{"value":"/ // get length of value at root (List)","span":{"file_name":"src/buffer.rs","byte_start":481765,"byte_end":481806,"line_start":720,"line_end":720,"column_start":5,"column_end":46}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(10));","span":{"file_name":"src/buffer.rs","byte_start":481811,"byte_end":481865,"line_start":721,"line_end":721,"column_start":5,"column_end":59}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481870,"byte_end":481874,"line_start":722,"line_end":722,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":481879,"byte_end":481908,"line_start":723,"line_end":723,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481913,"byte_end":481920,"line_start":724,"line_end":724,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":481925,"byte_end":481929,"line_start":725,"line_end":725,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Table) Example","span":{"file_name":"src/buffer.rs","byte_start":481934,"byte_end":481967,"line_start":726,"line_end":726,"column_start":5,"column_end":38}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":481972,"byte_end":481979,"line_start":727,"line_end":727,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":481984,"byte_end":482018,"line_start":728,"line_end":728,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":482023,"byte_end":482052,"line_start":729,"line_end":729,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":482057,"byte_end":482088,"line_start":730,"line_end":730,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482093,"byte_end":482097,"line_start":731,"line_end":731,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":482102,"byte_end":482151,"line_start":732,"line_end":732,"column_start":5,"column_end":54}},{"value":"/ struct({fields: {","span":{"file_name":"src/buffer.rs","byte_start":482156,"byte_end":482181,"line_start":733,"line_end":733,"column_start":5,"column_end":30}},{"value":"/ age: u8(),","span":{"file_name":"src/buffer.rs","byte_start":482186,"byte_end":482208,"line_start":734,"line_end":734,"column_start":5,"column_end":27}},{"value":"/ name: string()","span":{"file_name":"src/buffer.rs","byte_start":482213,"byte_end":482239,"line_start":735,"line_end":735,"column_start":5,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/buffer.rs","byte_start":482244,"byte_end":482255,"line_start":736,"line_end":736,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":482260,"byte_end":482269,"line_start":737,"line_end":737,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482274,"byte_end":482278,"line_start":738,"line_end":738,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":482283,"byte_end":482333,"line_start":739,"line_end":739,"column_start":5,"column_end":55}},{"value":"/ // get length of value at root (Table)","span":{"file_name":"src/buffer.rs","byte_start":482338,"byte_end":482380,"line_start":740,"line_end":740,"column_start":5,"column_end":47}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":482385,"byte_end":482438,"line_start":741,"line_end":741,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482443,"byte_end":482447,"line_start":742,"line_end":742,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":482452,"byte_end":482481,"line_start":743,"line_end":743,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":482486,"byte_end":482493,"line_start":744,"line_end":744,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482498,"byte_end":482502,"line_start":745,"line_end":745,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Map) Example","span":{"file_name":"src/buffer.rs","byte_start":482507,"byte_end":482538,"line_start":746,"line_end":746,"column_start":5,"column_end":36}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":482543,"byte_end":482550,"line_start":747,"line_end":747,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":482555,"byte_end":482589,"line_start":748,"line_end":748,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":482594,"byte_end":482623,"line_start":749,"line_end":749,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":482628,"byte_end":482659,"line_start":750,"line_end":750,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482664,"byte_end":482668,"line_start":751,"line_end":751,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"map({value: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":482673,"byte_end":482747,"line_start":752,"line_end":752,"column_start":5,"column_end":79}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":482752,"byte_end":482756,"line_start":753,"line_end":753,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":482761,"byte_end":482811,"line_start":754,"line_end":754,"column_start":5,"column_end":55}},{"value":"/ // set values","span":{"file_name":"src/buffer.rs","byte_start":482816,"byte_end":482833,"line_start":755,"line_end":755,"column_start":5,"column_end":22}},{"value":"/ new_buffer.set(&[\"foo\"], \"bar\")?;","span":{"file_name":"src/buffer.rs","byte_start":482838,"byte_end":482875,"line_start":756,"line_end":756,"column_start":5,"column_end":42}},{"value":"/ new_buffer.set(&[\"foo2\"], \"bar2\")?;","span":{"file_name":"src/buffer.rs","byte_start":482880,"byte_end":482919,"line_start":757,"line_end":757,"column_start":5,"column_end":44}},{"value":"/ // get length of value at root (Map)","span":{"file_name":"src/buffer.rs","byte_start":482924,"byte_end":482964,"line_start":758,"line_end":758,"column_start":5,"column_end":45}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":482969,"byte_end":483022,"line_start":759,"line_end":759,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483027,"byte_end":483031,"line_start":760,"line_end":760,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":483036,"byte_end":483065,"line_start":761,"line_end":761,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483070,"byte_end":483077,"line_start":762,"line_end":762,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483082,"byte_end":483086,"line_start":763,"line_end":763,"column_start":5,"column_end":9}},{"value":"/ ## Collection (Tuple) Example","span":{"file_name":"src/buffer.rs","byte_start":483091,"byte_end":483124,"line_start":764,"line_end":764,"column_start":5,"column_end":38}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483129,"byte_end":483136,"line_start":765,"line_end":765,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":483141,"byte_end":483175,"line_start":766,"line_end":766,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":483180,"byte_end":483209,"line_start":767,"line_end":767,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":483214,"byte_end":483245,"line_start":768,"line_end":768,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483250,"byte_end":483254,"line_start":769,"line_end":769,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"tuple({values: [string(), string()]})\")?;","span":{"file_name":"src/buffer.rs","byte_start":483259,"byte_end":483347,"line_start":770,"line_end":770,"column_start":5,"column_end":93}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483352,"byte_end":483356,"line_start":771,"line_end":771,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":483361,"byte_end":483411,"line_start":772,"line_end":772,"column_start":5,"column_end":55}},{"value":"/ // get length of value at root (Tuple)","span":{"file_name":"src/buffer.rs","byte_start":483416,"byte_end":483458,"line_start":773,"line_end":773,"column_start":5,"column_end":47}},{"value":"/ assert_eq!(new_buffer.get_length(&[])?, Some(2));","span":{"file_name":"src/buffer.rs","byte_start":483463,"byte_end":483516,"line_start":774,"line_end":774,"column_start":5,"column_end":58}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483521,"byte_end":483525,"line_start":775,"line_end":775,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":483530,"byte_end":483559,"line_start":776,"line_end":776,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":483564,"byte_end":483571,"line_start":777,"line_end":777,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":483576,"byte_end":483580,"line_start":778,"line_end":778,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030270},"span":{"file_name":"src/buffer.rs","byte_start":483674,"byte_end":483686,"line_start":780,"line_end":780,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040382},"span":{"file_name":"src/buffer.rs","byte_start":483777,"byte_end":483789,"line_start":782,"line_end":782,"column_start":13,"column_end":25},"name":"found_cursor","qualname":"found_cursor$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 65 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604926},"span":{"file_name":"src/buffer.rs","byte_start":483908,"byte_end":483918,"line_start":788,"line_end":788,"column_start":13,"column_end":23},"name":"addr_value","qualname":"addr_value$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 78 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583693566},"span":{"file_name":"src/buffer.rs","byte_start":483989,"byte_end":483995,"line_start":790,"line_end":790,"column_start":13,"column_end":19},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 89 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4261415166},"span":{"file_name":"src/buffer.rs","byte_start":484222,"byte_end":484226,"line_start":798,"line_end":798,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 127 }","value":"&schema::NP_Map_List_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2701134078},"span":{"file_name":"src/buffer.rs","byte_start":484306,"byte_end":484308,"line_start":800,"line_end":800,"column_start":21,"column_end":23},"name":"of","qualname":"of$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 133 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761609982},"span":{"file_name":"src/buffer.rs","byte_start":484344,"byte_end":484353,"line_start":802,"line_end":802,"column_start":21,"column_end":30},"name":"list_data","qualname":"list_data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 150 }","value":"&mut collection::list::NP_List_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":83888382},"span":{"file_name":"src/buffer.rs","byte_start":484430,"byte_end":484439,"line_start":803,"line_end":803,"column_start":21,"column_end":30},"name":"tail_addr","qualname":"tail_addr$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 160 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3170896126},"span":{"file_name":"src/buffer.rs","byte_start":484590,"byte_end":484601,"line_start":807,"line_end":807,"column_start":25,"column_end":36},"name":"tail_cursor","qualname":"tail_cursor$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 189 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":318769406},"span":{"file_name":"src/buffer.rs","byte_start":484685,"byte_end":484696,"line_start":808,"line_end":808,"column_start":25,"column_end":36},"name":"cursor_data","qualname":"cursor_data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 200 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":788531454},"span":{"file_name":"src/buffer.rs","byte_start":484986,"byte_end":484991,"line_start":816,"line_end":816,"column_start":25,"column_end":30},"name":"count","qualname":"count$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 244 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":545261822},"span":{"file_name":"src/buffer.rs","byte_start":485048,"byte_end":485056,"line_start":818,"line_end":818,"column_start":29,"column_end":37},"name":"map_iter","qualname":"map_iter$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 260 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189428990},"span":{"file_name":"src/buffer.rs","byte_start":485376,"byte_end":485380,"line_start":828,"line_end":828,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 321 }","value":"&schema::NP_Struct_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2256537854},"span":{"file_name":"src/buffer.rs","byte_start":485552,"byte_end":485556,"line_start":832,"line_end":832,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 353 }","value":"&schema::NP_Tuple_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2172651774},"span":{"file_name":"src/buffer.rs","byte_start":485728,"byte_end":485732,"line_start":837,"line_end":837,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 385 }","value":"&schema::NP_Bytes_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3783264510},"span":{"file_name":"src/buffer.rs","byte_start":485809,"byte_end":485813,"line_start":839,"line_end":839,"column_start":21,"column_end":25},"name":"size","qualname":"size$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 391 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3045067006},"span":{"file_name":"src/buffer.rs","byte_start":485960,"byte_end":485972,"line_start":844,"line_end":844,"column_start":25,"column_end":37},"name":"length_bytes","qualname":"length_bytes$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 429 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803553022},"span":{"file_name":"src/buffer.rs","byte_start":486226,"byte_end":486230,"line_start":851,"line_end":851,"column_start":21,"column_end":25},"name":"data","qualname":"data$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 470 }","value":"&schema::NP_String_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":998246654},"span":{"file_name":"src/buffer.rs","byte_start":486308,"byte_end":486312,"line_start":853,"line_end":853,"column_start":21,"column_end":25},"name":"size","qualname":"size$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 476 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1077938430},"span":{"file_name":"src/buffer.rs","byte_start":486462,"byte_end":486474,"line_start":858,"line_end":858,"column_start":25,"column_end":37},"name":"length_bytes","qualname":"length_bytes$HirId { owner: DefId(0:2302 ~ no_proto[7dec]::buffer::{impl#2}::get_length), local_id: 514 }","value":"&[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744129},"span":{"file_name":"src/buffer.rs","byte_start":487544,"byte_end":487548,"line_start":893,"line_end":893,"column_start":21,"column_end":25},"name":"self","qualname":"::del::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873217},"span":{"file_name":"src/buffer.rs","byte_start":487550,"byte_end":487554,"line_start":893,"line_end":893,"column_start":27,"column_end":31},"name":"path","qualname":"::del::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2305},"span":{"file_name":"src/buffer.rs","byte_start":487535,"byte_end":487538,"line_start":893,"line_end":893,"column_start":12,"column_end":15},"name":"del","qualname":"::del","value":"pub fn del(&mut Self, &[&str]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Clear an inner value from the buffer.\n This can also be used to clear deeply nested collection objects or scalar objects.\n \n Returns `true` if it found a value to delete (and deleted it), `false` otherwise.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set index 0\n new_buffer.set(&[\"0\"], \"hello\")?;\n // del index 0\n new_buffer.del(&[\"0\"])?;\n // value is gone now!\n assert_eq!(None, new_buffer.get::<&str>(&[\"0\"])?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Clear an inner value from the buffer.","span":{"file_name":"src/buffer.rs","byte_start":486737,"byte_end":486778,"line_start":870,"line_end":870,"column_start":5,"column_end":46}},{"value":"/ This can also be used to clear deeply nested collection objects or scalar objects.","span":{"file_name":"src/buffer.rs","byte_start":486783,"byte_end":486869,"line_start":871,"line_end":871,"column_start":5,"column_end":91}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":486874,"byte_end":486878,"line_start":872,"line_end":872,"column_start":5,"column_end":9}},{"value":"/ Returns `true` if it found a value to delete (and deleted it), `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":486883,"byte_end":486968,"line_start":873,"line_end":873,"column_start":5,"column_end":90}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":486973,"byte_end":486977,"line_start":874,"line_end":874,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":486982,"byte_end":486989,"line_start":875,"line_end":875,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":486994,"byte_end":487028,"line_start":876,"line_end":876,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":487033,"byte_end":487062,"line_start":877,"line_end":877,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":487067,"byte_end":487098,"line_start":878,"line_end":878,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487103,"byte_end":487107,"line_start":879,"line_end":879,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"list({ of: string() })\")?;","span":{"file_name":"src/buffer.rs","byte_start":487112,"byte_end":487185,"line_start":880,"line_end":880,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487190,"byte_end":487194,"line_start":881,"line_end":881,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":487199,"byte_end":487249,"line_start":882,"line_end":882,"column_start":5,"column_end":55}},{"value":"/ // set index 0","span":{"file_name":"src/buffer.rs","byte_start":487254,"byte_end":487272,"line_start":883,"line_end":883,"column_start":5,"column_end":23}},{"value":"/ new_buffer.set(&[\"0\"], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":487277,"byte_end":487314,"line_start":884,"line_end":884,"column_start":5,"column_end":42}},{"value":"/ // del index 0","span":{"file_name":"src/buffer.rs","byte_start":487319,"byte_end":487337,"line_start":885,"line_end":885,"column_start":5,"column_end":23}},{"value":"/ new_buffer.del(&[\"0\"])?;","span":{"file_name":"src/buffer.rs","byte_start":487342,"byte_end":487370,"line_start":886,"line_end":886,"column_start":5,"column_end":33}},{"value":"/ // value is gone now!","span":{"file_name":"src/buffer.rs","byte_start":487375,"byte_end":487400,"line_start":887,"line_end":887,"column_start":5,"column_end":30}},{"value":"/ assert_eq!(None, new_buffer.get::<&str>(&[\"0\"])?);","span":{"file_name":"src/buffer.rs","byte_start":487405,"byte_end":487459,"line_start":888,"line_end":888,"column_start":5,"column_end":59}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487464,"byte_end":487468,"line_start":889,"line_end":889,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":487473,"byte_end":487502,"line_start":890,"line_end":890,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":487507,"byte_end":487514,"line_start":891,"line_end":891,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":487519,"byte_end":487523,"line_start":892,"line_end":892,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1543506177},"span":{"file_name":"src/buffer.rs","byte_start":487701,"byte_end":487713,"line_start":899,"line_end":899,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2305 ~ no_proto[7dec]::buffer::{impl#2}::del), local_id: 58 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080377089},"span":{"file_name":"src/buffer.rs","byte_start":487846,"byte_end":487847,"line_start":902,"line_end":902,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2305 ~ no_proto[7dec]::buffer::{impl#2}::del), local_id: 62 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744130},"span":{"file_name":"src/buffer.rs","byte_start":488790,"byte_end":488794,"line_start":929,"line_end":929,"column_start":29,"column_end":33},"name":"self","qualname":"::get_schema_type::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873218},"span":{"file_name":"src/buffer.rs","byte_start":488796,"byte_end":488800,"line_start":929,"line_end":929,"column_start":35,"column_end":39},"name":"path","qualname":"::get_schema_type::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2306},"span":{"file_name":"src/buffer.rs","byte_start":488773,"byte_end":488788,"line_start":929,"line_end":929,"column_start":12,"column_end":27},"name":"get_schema_type","qualname":"::get_schema_type","value":"pub fn get_schema_type(&Self, &[&str])\n-> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Retrieve the schema type at a given path.\n \n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::schema::NP_TypeKeys;\n \n let factory: NP_Factory = NP_Factory::new(\"tuple({values: [ geo8(), dec({exp: 2}), string() ]})\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n \n assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple);\n assert_eq!(new_buffer.get_schema_type(&[\"0\"])?.unwrap(), NP_TypeKeys::Geo);\n assert_eq!(new_buffer.get_schema_type(&[\"1\"])?.unwrap(), NP_TypeKeys::Decimal);\n assert_eq!(new_buffer.get_schema_type(&[\"2\"])?.unwrap(), NP_TypeKeys::UTF8String);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve the schema type at a given path.","span":{"file_name":"src/buffer.rs","byte_start":487970,"byte_end":488015,"line_start":909,"line_end":909,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488020,"byte_end":488024,"line_start":910,"line_end":910,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488029,"byte_end":488033,"line_start":911,"line_end":911,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":488038,"byte_end":488045,"line_start":912,"line_end":912,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":488050,"byte_end":488084,"line_start":913,"line_end":913,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":488089,"byte_end":488118,"line_start":914,"line_end":914,"column_start":5,"column_end":34}},{"value":"/ use no_proto::schema::NP_TypeKeys;","span":{"file_name":"src/buffer.rs","byte_start":488123,"byte_end":488161,"line_start":915,"line_end":915,"column_start":5,"column_end":43}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488166,"byte_end":488170,"line_start":916,"line_end":916,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"tuple({values: [ geo8(), dec({exp: 2}), string() ]})\")?;","span":{"file_name":"src/buffer.rs","byte_start":488175,"byte_end":488278,"line_start":917,"line_end":917,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488283,"byte_end":488287,"line_start":918,"line_end":918,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":488292,"byte_end":488342,"line_start":919,"line_end":919,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488347,"byte_end":488351,"line_start":920,"line_end":920,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[])?.unwrap(), NP_TypeKeys::Tuple);","span":{"file_name":"src/buffer.rs","byte_start":488356,"byte_end":488434,"line_start":921,"line_end":921,"column_start":5,"column_end":83}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"0\"])?.unwrap(), NP_TypeKeys::Geo);","span":{"file_name":"src/buffer.rs","byte_start":488439,"byte_end":488518,"line_start":922,"line_end":922,"column_start":5,"column_end":84}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"1\"])?.unwrap(), NP_TypeKeys::Decimal);","span":{"file_name":"src/buffer.rs","byte_start":488523,"byte_end":488606,"line_start":923,"line_end":923,"column_start":5,"column_end":88}},{"value":"/ assert_eq!(new_buffer.get_schema_type(&[\"2\"])?.unwrap(), NP_TypeKeys::UTF8String);","span":{"file_name":"src/buffer.rs","byte_start":488611,"byte_end":488697,"line_start":924,"line_end":924,"column_start":5,"column_end":91}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488702,"byte_end":488706,"line_start":925,"line_end":925,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":488711,"byte_end":488740,"line_start":926,"line_end":926,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":488745,"byte_end":488752,"line_start":927,"line_end":927,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":488757,"byte_end":488761,"line_start":928,"line_end":928,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":335546626},"span":{"file_name":"src/buffer.rs","byte_start":488961,"byte_end":488962,"line_start":932,"line_end":932,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2306 ~ no_proto[7dec]::buffer::{impl#2}::get_schema_type), local_id: 40 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744131},"span":{"file_name":"src/buffer.rs","byte_start":490812,"byte_end":490816,"line_start":975,"line_end":975,"column_start":52,"column_end":56},"name":"self","qualname":"::get_schema_default::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873219},"span":{"file_name":"src/buffer.rs","byte_start":490818,"byte_end":490822,"line_start":975,"line_end":975,"column_start":58,"column_end":62},"name":"path","qualname":"::get_schema_default::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2309},"span":{"file_name":"src/buffer.rs","byte_start":490797,"byte_end":490798,"line_start":975,"line_end":975,"column_start":37,"column_end":38},"name":"X","qualname":"::get_schema_default::X$HirId { owner: DefId(0:2307 ~ no_proto[7dec]::buffer::{impl#2}::get_schema_default), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2307},"span":{"file_name":"src/buffer.rs","byte_start":490772,"byte_end":490790,"line_start":975,"line_end":975,"column_start":12,"column_end":30},"name":"get_schema_default","qualname":"::get_schema_default","value":"pub fn get_schema_default<'get, X: 'get>(&'get Self, &[&str])\n-> Result, NP_Error> where X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Retrieve the schema default at a given path.\n \n This is useful for `geo` and `dec` data types where there is information about the value in the schema.\n \n For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema.\n \n The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::pointer::dec::NP_Dec;\n use no_proto::pointer::geo::NP_Geo;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"\n tuple({values: [\n geo8(),\n dec({exp: 2})\n ]})\n \"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // Get an empty NP_Geo type that has the correct resolution for the schema\n // \n let geo_default: NP_Geo = new_buffer.get_schema_default::(&[\"0\"])?.unwrap();\n assert_eq!(geo_default.size, 8); // geo is size 8 in schema\n \n // Get an empty NP_Dec type that has the correct exp for the schema\n // \n let dec_default: NP_Dec = new_buffer.get_schema_default::(&[\"1\"])?.unwrap();\n assert_eq!(dec_default.exp, 2); // exponent is 2 in schema\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve the schema default at a given path.","span":{"file_name":"src/buffer.rs","byte_start":489099,"byte_end":489147,"line_start":939,"line_end":939,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489152,"byte_end":489156,"line_start":940,"line_end":940,"column_start":5,"column_end":9}},{"value":"/ This is useful for `geo` and `dec` data types where there is information about the value in the schema.","span":{"file_name":"src/buffer.rs","byte_start":489161,"byte_end":489268,"line_start":941,"line_end":941,"column_start":5,"column_end":112}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489273,"byte_end":489277,"line_start":942,"line_end":942,"column_start":5,"column_end":9}},{"value":"/ For example, when you create an `NP_Geo` type to put into a `geo` field, you must know the resolution (4/8/16). If you use this method you can get an empty `NP_Geo` type that already has the correct resolution set based on the schema.","span":{"file_name":"src/buffer.rs","byte_start":489282,"byte_end":489521,"line_start":943,"line_end":943,"column_start":5,"column_end":244}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489526,"byte_end":489530,"line_start":944,"line_end":944,"column_start":5,"column_end":9}},{"value":"/ The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":489535,"byte_end":489662,"line_start":945,"line_end":945,"column_start":5,"column_end":132}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489667,"byte_end":489671,"line_start":946,"line_end":946,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":489676,"byte_end":489683,"line_start":947,"line_end":947,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":489688,"byte_end":489722,"line_start":948,"line_end":948,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":489727,"byte_end":489756,"line_start":949,"line_end":949,"column_start":5,"column_end":34}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/buffer.rs","byte_start":489761,"byte_end":489800,"line_start":950,"line_end":950,"column_start":5,"column_end":44}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/buffer.rs","byte_start":489805,"byte_end":489844,"line_start":951,"line_end":951,"column_start":5,"column_end":44}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":489849,"byte_end":489853,"line_start":952,"line_end":952,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":489858,"byte_end":489952,"line_start":953,"line_end":953,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"","span":{"file_name":"src/buffer.rs","byte_start":489957,"byte_end":490006,"line_start":954,"line_end":954,"column_start":5,"column_end":54}},{"value":"/ tuple({values: [","span":{"file_name":"src/buffer.rs","byte_start":490011,"byte_end":490035,"line_start":955,"line_end":955,"column_start":5,"column_end":29}},{"value":"/ geo8(),","span":{"file_name":"src/buffer.rs","byte_start":490040,"byte_end":490059,"line_start":956,"line_end":956,"column_start":5,"column_end":24}},{"value":"/ dec({exp: 2})","span":{"file_name":"src/buffer.rs","byte_start":490064,"byte_end":490089,"line_start":957,"line_end":957,"column_start":5,"column_end":30}},{"value":"/ ]})","span":{"file_name":"src/buffer.rs","byte_start":490094,"byte_end":490105,"line_start":958,"line_end":958,"column_start":5,"column_end":16}},{"value":"/ \"#)?;","span":{"file_name":"src/buffer.rs","byte_start":490110,"byte_end":490119,"line_start":959,"line_end":959,"column_start":5,"column_end":14}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490124,"byte_end":490128,"line_start":960,"line_end":960,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":490133,"byte_end":490183,"line_start":961,"line_end":961,"column_start":5,"column_end":55}},{"value":"/ // Get an empty NP_Geo type that has the correct resolution for the schema","span":{"file_name":"src/buffer.rs","byte_start":490188,"byte_end":490266,"line_start":962,"line_end":962,"column_start":5,"column_end":83}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":490271,"byte_end":490278,"line_start":963,"line_end":963,"column_start":5,"column_end":12}},{"value":"/ let geo_default: NP_Geo = new_buffer.get_schema_default::(&[\"0\"])?.unwrap();","span":{"file_name":"src/buffer.rs","byte_start":490283,"byte_end":490371,"line_start":964,"line_end":964,"column_start":5,"column_end":93}},{"value":"/ assert_eq!(geo_default.size, 8); // geo is size 8 in schema","span":{"file_name":"src/buffer.rs","byte_start":490376,"byte_end":490439,"line_start":965,"line_end":965,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490444,"byte_end":490448,"line_start":966,"line_end":966,"column_start":5,"column_end":9}},{"value":"/ // Get an empty NP_Dec type that has the correct exp for the schema","span":{"file_name":"src/buffer.rs","byte_start":490453,"byte_end":490524,"line_start":967,"line_end":967,"column_start":5,"column_end":76}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":490529,"byte_end":490536,"line_start":968,"line_end":968,"column_start":5,"column_end":12}},{"value":"/ let dec_default: NP_Dec = new_buffer.get_schema_default::(&[\"1\"])?.unwrap();","span":{"file_name":"src/buffer.rs","byte_start":490541,"byte_end":490629,"line_start":969,"line_end":969,"column_start":5,"column_end":93}},{"value":"/ assert_eq!(dec_default.exp, 2); // exponent is 2 in schema","span":{"file_name":"src/buffer.rs","byte_start":490634,"byte_end":490696,"line_start":970,"line_end":970,"column_start":5,"column_end":67}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490701,"byte_end":490705,"line_start":971,"line_end":971,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":490710,"byte_end":490739,"line_start":972,"line_end":972,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":490744,"byte_end":490751,"line_start":973,"line_end":973,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":490756,"byte_end":490760,"line_start":974,"line_end":974,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":335546627},"span":{"file_name":"src/buffer.rs","byte_start":491015,"byte_end":491016,"line_start":978,"line_end":978,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2307 ~ no_proto[7dec]::buffer::{impl#2}::get_schema_default), local_id: 40 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040387},"span":{"file_name":"src/buffer.rs","byte_start":491210,"byte_end":491213,"line_start":982,"line_end":982,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2307 ~ no_proto[7dec]::buffer::{impl#2}::get_schema_default), local_id: 65 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744134},"span":{"file_name":"src/buffer.rs","byte_start":492850,"byte_end":492854,"line_start":1021,"line_end":1021,"column_start":37,"column_end":41},"name":"self","qualname":"::get::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873222},"span":{"file_name":"src/buffer.rs","byte_start":492856,"byte_end":492860,"line_start":1021,"line_end":1021,"column_start":43,"column_end":47},"name":"path","qualname":"::get::path","value":"&[&str]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2312},"span":{"file_name":"src/buffer.rs","byte_start":492835,"byte_end":492836,"line_start":1021,"line_end":1021,"column_start":22,"column_end":23},"name":"X","qualname":"::get::X$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2310},"span":{"file_name":"src/buffer.rs","byte_start":492825,"byte_end":492828,"line_start":1021,"line_end":1021,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get<'get, X: 'get>(&'get Self, &[&str]) -> Result, NP_Error>\nwhere X: NP_Value + NP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Retrieve an inner value from the buffer. \n \n The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n // a list where each item is a map where each key has a value containing a list of strings\n let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({of: string() }) })})\"#)?;\n \n let mut new_buffer = factory.new_buffer(None);\n // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key\n // \n new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"who would build a schema like this\")?;\n \n // get the same item we just set\n let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;\n \n assert_eq!(message, Some(\"who would build a schema like this\"));\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Retrieve an inner value from the buffer. ","span":{"file_name":"src/buffer.rs","byte_start":491736,"byte_end":491781,"line_start":996,"line_end":996,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":491786,"byte_end":491790,"line_start":997,"line_end":997,"column_start":5,"column_end":9}},{"value":"/ The type that you cast the request to will be compared to the schema, if it doesn't match the schema the request will fail.","span":{"file_name":"src/buffer.rs","byte_start":491795,"byte_end":491922,"line_start":998,"line_end":998,"column_start":5,"column_end":132}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":491927,"byte_end":491931,"line_start":999,"line_end":999,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":491936,"byte_end":491943,"line_start":1000,"line_end":1000,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":491948,"byte_end":491982,"line_start":1001,"line_end":1001,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":491987,"byte_end":492016,"line_start":1002,"line_end":1002,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":492021,"byte_end":492052,"line_start":1003,"line_end":1003,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492057,"byte_end":492061,"line_start":1004,"line_end":1004,"column_start":5,"column_end":9}},{"value":"/ // a list where each item is a map where each key has a value containing a list of strings","span":{"file_name":"src/buffer.rs","byte_start":492066,"byte_end":492160,"line_start":1005,"line_end":1005,"column_start":5,"column_end":99}},{"value":"/ let factory: NP_Factory = NP_Factory::new(r#\"list({of: map({ value: list({of: string() }) })})\"#)?;","span":{"file_name":"src/buffer.rs","byte_start":492165,"byte_end":492268,"line_start":1006,"line_end":1006,"column_start":5,"column_end":108}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492273,"byte_end":492277,"line_start":1007,"line_end":1007,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":492282,"byte_end":492332,"line_start":1008,"line_end":1008,"column_start":5,"column_end":55}},{"value":"/ // third item in the top level list -> key \"alpha\" of map at 3rd element -> 9th element of list at \"alpha\" key","span":{"file_name":"src/buffer.rs","byte_start":492337,"byte_end":492451,"line_start":1009,"line_end":1009,"column_start":5,"column_end":119}},{"value":"/ // ","span":{"file_name":"src/buffer.rs","byte_start":492456,"byte_end":492463,"line_start":1010,"line_end":1010,"column_start":5,"column_end":12}},{"value":"/ new_buffer.set(&[\"3\", \"alpha\", \"9\"], \"who would build a schema like this\")?;","span":{"file_name":"src/buffer.rs","byte_start":492468,"byte_end":492548,"line_start":1011,"line_end":1011,"column_start":5,"column_end":85}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492553,"byte_end":492557,"line_start":1012,"line_end":1012,"column_start":5,"column_end":9}},{"value":"/ // get the same item we just set","span":{"file_name":"src/buffer.rs","byte_start":492562,"byte_end":492598,"line_start":1013,"line_end":1013,"column_start":5,"column_end":41}},{"value":"/ let message = new_buffer.get::<&str>(&[\"3\", \"alpha\", \"9\"])?;","span":{"file_name":"src/buffer.rs","byte_start":492603,"byte_end":492667,"line_start":1014,"line_end":1014,"column_start":5,"column_end":69}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492672,"byte_end":492676,"line_start":1015,"line_end":1015,"column_start":5,"column_end":9}},{"value":"/ assert_eq!(message, Some(\"who would build a schema like this\"));","span":{"file_name":"src/buffer.rs","byte_start":492681,"byte_end":492749,"line_start":1016,"line_end":1016,"column_start":5,"column_end":73}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492754,"byte_end":492758,"line_start":1017,"line_end":1017,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":492763,"byte_end":492792,"line_start":1018,"line_end":1018,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":492797,"byte_end":492804,"line_start":1019,"line_end":1019,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":492809,"byte_end":492813,"line_start":1020,"line_end":1020,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2483030278},"span":{"file_name":"src/buffer.rs","byte_start":492958,"byte_end":492970,"line_start":1022,"line_end":1022,"column_start":13,"column_end":25},"name":"value_cursor","qualname":"value_cursor$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 41 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019901190},"span":{"file_name":"src/buffer.rs","byte_start":493095,"byte_end":493096,"line_start":1025,"line_end":1025,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 45 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169478},"span":{"file_name":"src/buffer.rs","byte_start":493290,"byte_end":493293,"line_start":1029,"line_end":1029,"column_start":29,"column_end":32},"name":"err","qualname":"err$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 70 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303622},"span":{"file_name":"src/buffer.rs","byte_start":493753,"byte_end":493754,"line_start":1038,"line_end":1038,"column_start":26,"column_end":27},"name":"x","qualname":"x$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 156 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3707767046},"span":{"file_name":"src/buffer.rs","byte_start":494029,"byte_end":494030,"line_start":1043,"line_end":1043,"column_start":34,"column_end":35},"name":"y","qualname":"y$HirId { owner: DefId(0:2310 ~ no_proto[7dec]::buffer::{impl#2}::get), local_id: 187 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744137},"span":{"file_name":"src/buffer.rs","byte_start":496589,"byte_end":496593,"line_start":1109,"line_end":1109,"column_start":34,"column_end":38},"name":"self","qualname":"::maybe_compact::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873225},"span":{"file_name":"src/buffer.rs","byte_start":496595,"byte_end":496607,"line_start":1109,"line_end":1109,"column_start":40,"column_end":52},"name":"new_capacity","qualname":"::maybe_compact::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615049},"span":{"file_name":"src/buffer.rs","byte_start":496628,"byte_end":496636,"line_start":1109,"line_end":1109,"column_start":73,"column_end":81},"name":"callback","qualname":"::maybe_compact::callback","value":"F","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2314},"span":{"file_name":"src/buffer.rs","byte_start":496581,"byte_end":496582,"line_start":1109,"line_end":1109,"column_start":26,"column_end":27},"name":"F","qualname":"::maybe_compact::F$HirId { owner: DefId(0:2313 ~ no_proto[7dec]::buffer::{impl#2}::maybe_compact), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2313},"span":{"file_name":"src/buffer.rs","byte_start":496567,"byte_end":496580,"line_start":1109,"line_end":1109,"column_start":12,"column_end":25},"name":"maybe_compact","qualname":"::maybe_compact","value":"pub fn maybe_compact(&mut Self, Option, F) -> Result<(), NP_Error>\nwhere F: FnMut(NP_Size_Data) -> bool","parent":null,"children":[],"decl_id":null,"docs":" This performs a compaction if the closure provided as the second argument returns `true`.\n Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.\n The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise.\n \n The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.\n \n **WARNING** Your cursor location will be reset to the root.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // using 15 bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n // update the value\n new_buffer.set(&[], \"hello, world\")?;\n // now using 31 bytes, with 9 bytes of wasted space\n assert_eq!(NP_Size_Data {\n current_buffer: 31,\n after_compaction: 22,\n wasted_bytes: 9\n }, new_buffer.calc_bytes()?);\n // compact to save space\n new_buffer.maybe_compact(None, |compact_data| {\n // only compact if wasted bytes are greater than 5\n if compact_data.wasted_bytes > 5 {\n true\n } else {\n false\n }\n })?;\n // back down to 18 bytes with no wasted bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 22,\n after_compaction: 22,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ This performs a compaction if the closure provided as the second argument returns `true`.","span":{"file_name":"src/buffer.rs","byte_start":494421,"byte_end":494514,"line_start":1058,"line_end":1058,"column_start":5,"column_end":98}},{"value":"/ Compaction is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.","span":{"file_name":"src/buffer.rs","byte_start":494519,"byte_end":494635,"line_start":1059,"line_end":1059,"column_start":5,"column_end":121}},{"value":"/ The closure is provided an argument that contains the original size of the buffer, how many bytes could be saved by compaction, and how large the new buffer would be after compaction. The closure should return `true` to perform compaction, `false` otherwise.","span":{"file_name":"src/buffer.rs","byte_start":494640,"byte_end":494903,"line_start":1060,"line_end":1060,"column_start":5,"column_end":268}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":494908,"byte_end":494912,"line_start":1061,"line_end":1061,"column_start":5,"column_end":9}},{"value":"/ The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.","span":{"file_name":"src/buffer.rs","byte_start":494917,"byte_end":495077,"line_start":1062,"line_end":1062,"column_start":5,"column_end":165}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495082,"byte_end":495086,"line_start":1063,"line_end":1063,"column_start":5,"column_end":9}},{"value":"/ **WARNING** Your cursor location will be reset to the root.","span":{"file_name":"src/buffer.rs","byte_start":495091,"byte_end":495154,"line_start":1064,"line_end":1064,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495159,"byte_end":495163,"line_start":1065,"line_end":1065,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":495168,"byte_end":495175,"line_start":1066,"line_end":1066,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":495180,"byte_end":495214,"line_start":1067,"line_end":1067,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":495219,"byte_end":495248,"line_start":1068,"line_end":1068,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":495253,"byte_end":495284,"line_start":1069,"line_end":1069,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495289,"byte_end":495293,"line_start":1070,"line_end":1070,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":495298,"byte_end":495357,"line_start":1071,"line_end":1071,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":495362,"byte_end":495366,"line_start":1072,"line_end":1072,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":495371,"byte_end":495421,"line_start":1073,"line_end":1073,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":495426,"byte_end":495450,"line_start":1074,"line_end":1074,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":495455,"byte_end":495489,"line_start":1075,"line_end":1075,"column_start":5,"column_end":39}},{"value":"/ // using 15 bytes","span":{"file_name":"src/buffer.rs","byte_start":495494,"byte_end":495515,"line_start":1076,"line_end":1076,"column_start":5,"column_end":26}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":495520,"byte_end":495549,"line_start":1077,"line_end":1077,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":495554,"byte_end":495581,"line_start":1078,"line_end":1078,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":495586,"byte_end":495615,"line_start":1079,"line_end":1079,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":495620,"byte_end":495643,"line_start":1080,"line_end":1080,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":495648,"byte_end":495681,"line_start":1081,"line_end":1081,"column_start":5,"column_end":38}},{"value":"/ // update the value","span":{"file_name":"src/buffer.rs","byte_start":495686,"byte_end":495709,"line_start":1082,"line_end":1082,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[], \"hello, world\")?;","span":{"file_name":"src/buffer.rs","byte_start":495714,"byte_end":495755,"line_start":1083,"line_end":1083,"column_start":5,"column_end":46}},{"value":"/ // now using 31 bytes, with 9 bytes of wasted space","span":{"file_name":"src/buffer.rs","byte_start":495760,"byte_end":495815,"line_start":1084,"line_end":1084,"column_start":5,"column_end":60}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":495820,"byte_end":495849,"line_start":1085,"line_end":1085,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 31,","span":{"file_name":"src/buffer.rs","byte_start":495854,"byte_end":495881,"line_start":1086,"line_end":1086,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":495886,"byte_end":495915,"line_start":1087,"line_end":1087,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 9","span":{"file_name":"src/buffer.rs","byte_start":495920,"byte_end":495943,"line_start":1088,"line_end":1088,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":495948,"byte_end":495981,"line_start":1089,"line_end":1089,"column_start":5,"column_end":38}},{"value":"/ // compact to save space","span":{"file_name":"src/buffer.rs","byte_start":495986,"byte_end":496014,"line_start":1090,"line_end":1090,"column_start":5,"column_end":33}},{"value":"/ new_buffer.maybe_compact(None, |compact_data| {","span":{"file_name":"src/buffer.rs","byte_start":496019,"byte_end":496070,"line_start":1091,"line_end":1091,"column_start":5,"column_end":56}},{"value":"/ // only compact if wasted bytes are greater than 5","span":{"file_name":"src/buffer.rs","byte_start":496075,"byte_end":496133,"line_start":1092,"line_end":1092,"column_start":5,"column_end":63}},{"value":"/ if compact_data.wasted_bytes > 5 {","span":{"file_name":"src/buffer.rs","byte_start":496138,"byte_end":496180,"line_start":1093,"line_end":1093,"column_start":5,"column_end":47}},{"value":"/ true","span":{"file_name":"src/buffer.rs","byte_start":496185,"byte_end":496201,"line_start":1094,"line_end":1094,"column_start":5,"column_end":21}},{"value":"/ } else {","span":{"file_name":"src/buffer.rs","byte_start":496206,"byte_end":496222,"line_start":1095,"line_end":1095,"column_start":5,"column_end":21}},{"value":"/ false","span":{"file_name":"src/buffer.rs","byte_start":496227,"byte_end":496244,"line_start":1096,"line_end":1096,"column_start":5,"column_end":22}},{"value":"/ }","span":{"file_name":"src/buffer.rs","byte_start":496249,"byte_end":496258,"line_start":1097,"line_end":1097,"column_start":5,"column_end":14}},{"value":"/ })?;","span":{"file_name":"src/buffer.rs","byte_start":496263,"byte_end":496271,"line_start":1098,"line_end":1098,"column_start":5,"column_end":13}},{"value":"/ // back down to 18 bytes with no wasted bytes","span":{"file_name":"src/buffer.rs","byte_start":496276,"byte_end":496325,"line_start":1099,"line_end":1099,"column_start":5,"column_end":54}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":496330,"byte_end":496359,"line_start":1100,"line_end":1100,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 22,","span":{"file_name":"src/buffer.rs","byte_start":496364,"byte_end":496391,"line_start":1101,"line_end":1101,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":496396,"byte_end":496425,"line_start":1102,"line_end":1102,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":496430,"byte_end":496453,"line_start":1103,"line_end":1103,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":496458,"byte_end":496491,"line_start":1104,"line_end":1104,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":496496,"byte_end":496500,"line_start":1105,"line_end":1105,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":496505,"byte_end":496534,"line_start":1106,"line_end":1106,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":496539,"byte_end":496546,"line_start":1107,"line_end":1107,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":496551,"byte_end":496555,"line_start":1108,"line_end":1108,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1946159369},"span":{"file_name":"src/buffer.rs","byte_start":496812,"byte_end":496822,"line_start":1115,"line_end":1115,"column_start":13,"column_end":23},"name":"bytes_data","qualname":"bytes_data$HirId { owner: DefId(0:2313 ~ no_proto[7dec]::buffer::{impl#2}::maybe_compact), local_id: 46 }","value":"NP_Size_Data","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744139},"span":{"file_name":"src/buffer.rs","byte_start":499102,"byte_end":499106,"line_start":1171,"line_end":1171,"column_start":35,"column_end":39},"name":"self","qualname":"::compact::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873227},"span":{"file_name":"src/buffer.rs","byte_start":499108,"byte_end":499120,"line_start":1171,"line_end":1171,"column_start":41,"column_end":53},"name":"new_capacity","qualname":"::compact::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2315},"span":{"file_name":"src/buffer.rs","byte_start":499079,"byte_end":499086,"line_start":1171,"line_end":1171,"column_start":12,"column_end":19},"name":"compact","qualname":"::compact","value":"pub fn compact<'compact>(&mut Self, Option) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Compacts a buffer to remove an unused bytes or free space after a mutation.\n This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.\n \n The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.\n \n - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. \n - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead.\n - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated.\n \n **WARNING** Your cursor location will be reset to the root.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n // set initial value\n new_buffer.set(&[], \"hello\")?;\n // using 15 bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n // update the value\n new_buffer.set(&[], \"hello, world\")?;\n // now using 31 bytes, with 9 bytes of wasted space\n assert_eq!(NP_Size_Data {\n current_buffer: 31,\n after_compaction: 22,\n wasted_bytes: 9\n }, new_buffer.calc_bytes()?);\n // compact to save space\n new_buffer.compact(None)?;\n // back down to 18 bytes with no wasted bytes\n assert_eq!(NP_Size_Data {\n current_buffer: 22,\n after_compaction: 22,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Compacts a buffer to remove an unused bytes or free space after a mutation.","span":{"file_name":"src/buffer.rs","byte_start":496966,"byte_end":497045,"line_start":1124,"line_end":1124,"column_start":5,"column_end":84}},{"value":"/ This is a pretty expensive operation (requires full copy of the whole buffer) so should be done sparingly.","span":{"file_name":"src/buffer.rs","byte_start":497050,"byte_end":497160,"line_start":1125,"line_end":1125,"column_start":5,"column_end":115}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497165,"byte_end":497169,"line_start":1126,"line_end":1126,"column_start":5,"column_end":9}},{"value":"/ The first argument, new_capacity, is the capacity of the underlying Vec that we'll be copying the data into. The default is the size of the old buffer.","span":{"file_name":"src/buffer.rs","byte_start":497174,"byte_end":497334,"line_start":1127,"line_end":1127,"column_start":5,"column_end":165}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497339,"byte_end":497343,"line_start":1128,"line_end":1128,"column_start":5,"column_end":9}},{"value":"/ - If this buffer is an owned type typically created with `new_buffer` or opened with `open_buffer` the comapction will occur into the existing buffer. ","span":{"file_name":"src/buffer.rs","byte_start":497348,"byte_end":497503,"line_start":1129,"line_end":1129,"column_start":5,"column_end":160}},{"value":"/ - If this buffer is a ref type typically opened with `open_buffer_ref` the compaction will fail. Use `compact_into` instead.","span":{"file_name":"src/buffer.rs","byte_start":497508,"byte_end":497637,"line_start":1130,"line_end":1130,"column_start":5,"column_end":134}},{"value":"/ - If this buffer is a mutable ref type typically opened with `open_buffer_ref_mut` the compaction will ocurr into the existing buffer and the length will be updated.","span":{"file_name":"src/buffer.rs","byte_start":497642,"byte_end":497811,"line_start":1131,"line_end":1131,"column_start":5,"column_end":174}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497816,"byte_end":497820,"line_start":1132,"line_end":1132,"column_start":5,"column_end":9}},{"value":"/ **WARNING** Your cursor location will be reset to the root.","span":{"file_name":"src/buffer.rs","byte_start":497825,"byte_end":497888,"line_start":1133,"line_end":1133,"column_start":5,"column_end":68}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":497893,"byte_end":497897,"line_start":1134,"line_end":1134,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":497902,"byte_end":497909,"line_start":1135,"line_end":1135,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":497914,"byte_end":497948,"line_start":1136,"line_end":1136,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":497953,"byte_end":497982,"line_start":1137,"line_end":1137,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":497987,"byte_end":498018,"line_start":1138,"line_end":1138,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":498023,"byte_end":498027,"line_start":1139,"line_end":1139,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":498032,"byte_end":498091,"line_start":1140,"line_end":1140,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":498096,"byte_end":498100,"line_start":1141,"line_end":1141,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":498105,"byte_end":498155,"line_start":1142,"line_end":1142,"column_start":5,"column_end":55}},{"value":"/ // set initial value","span":{"file_name":"src/buffer.rs","byte_start":498160,"byte_end":498184,"line_start":1143,"line_end":1143,"column_start":5,"column_end":29}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":498189,"byte_end":498223,"line_start":1144,"line_end":1144,"column_start":5,"column_end":39}},{"value":"/ // using 15 bytes","span":{"file_name":"src/buffer.rs","byte_start":498228,"byte_end":498249,"line_start":1145,"line_end":1145,"column_start":5,"column_end":26}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498254,"byte_end":498283,"line_start":1146,"line_end":1146,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":498288,"byte_end":498315,"line_start":1147,"line_end":1147,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":498320,"byte_end":498349,"line_start":1148,"line_end":1148,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":498354,"byte_end":498377,"line_start":1149,"line_end":1149,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498382,"byte_end":498415,"line_start":1150,"line_end":1150,"column_start":5,"column_end":38}},{"value":"/ // update the value","span":{"file_name":"src/buffer.rs","byte_start":498420,"byte_end":498443,"line_start":1151,"line_end":1151,"column_start":5,"column_end":28}},{"value":"/ new_buffer.set(&[], \"hello, world\")?;","span":{"file_name":"src/buffer.rs","byte_start":498448,"byte_end":498489,"line_start":1152,"line_end":1152,"column_start":5,"column_end":46}},{"value":"/ // now using 31 bytes, with 9 bytes of wasted space","span":{"file_name":"src/buffer.rs","byte_start":498494,"byte_end":498549,"line_start":1153,"line_end":1153,"column_start":5,"column_end":60}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498554,"byte_end":498583,"line_start":1154,"line_end":1154,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 31,","span":{"file_name":"src/buffer.rs","byte_start":498588,"byte_end":498615,"line_start":1155,"line_end":1155,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":498620,"byte_end":498649,"line_start":1156,"line_end":1156,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 9","span":{"file_name":"src/buffer.rs","byte_start":498654,"byte_end":498677,"line_start":1157,"line_end":1157,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498682,"byte_end":498715,"line_start":1158,"line_end":1158,"column_start":5,"column_end":38}},{"value":"/ // compact to save space","span":{"file_name":"src/buffer.rs","byte_start":498720,"byte_end":498748,"line_start":1159,"line_end":1159,"column_start":5,"column_end":33}},{"value":"/ new_buffer.compact(None)?;","span":{"file_name":"src/buffer.rs","byte_start":498753,"byte_end":498783,"line_start":1160,"line_end":1160,"column_start":5,"column_end":35}},{"value":"/ // back down to 18 bytes with no wasted bytes","span":{"file_name":"src/buffer.rs","byte_start":498788,"byte_end":498837,"line_start":1161,"line_end":1161,"column_start":5,"column_end":54}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":498842,"byte_end":498871,"line_start":1162,"line_end":1162,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 22,","span":{"file_name":"src/buffer.rs","byte_start":498876,"byte_end":498903,"line_start":1163,"line_end":1163,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 22,","span":{"file_name":"src/buffer.rs","byte_start":498908,"byte_end":498937,"line_start":1164,"line_end":1164,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":498942,"byte_end":498965,"line_start":1165,"line_end":1165,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":498970,"byte_end":499003,"line_start":1166,"line_end":1166,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":499008,"byte_end":499012,"line_start":1167,"line_end":1167,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":499017,"byte_end":499046,"line_start":1168,"line_end":1168,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":499051,"byte_end":499058,"line_start":1169,"line_end":1169,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":499063,"byte_end":499067,"line_start":1170,"line_end":1170,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1275070731},"span":{"file_name":"src/buffer.rs","byte_start":499271,"byte_end":499279,"line_start":1177,"line_end":1177,"column_start":13,"column_end":21},"name":"capacity","qualname":"capacity$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 50 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526411},"span":{"file_name":"src/buffer.rs","byte_start":499325,"byte_end":499326,"line_start":1178,"line_end":1178,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 28 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556747},"span":{"file_name":"src/buffer.rs","byte_start":499423,"byte_end":499431,"line_start":1182,"line_end":1182,"column_start":13,"column_end":21},"name":"old_root","qualname":"old_root$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 64 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604939},"span":{"file_name":"src/buffer.rs","byte_start":499486,"byte_end":499494,"line_start":1183,"line_end":1183,"column_start":13,"column_end":21},"name":"new_root","qualname":"new_root$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 78 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3053455627},"span":{"file_name":"src/buffer.rs","byte_start":499702,"byte_end":499711,"line_start":1187,"line_end":1187,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 109 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1761609995},"span":{"file_name":"src/buffer.rs","byte_start":499916,"byte_end":499926,"line_start":1190,"line_end":1190,"column_start":17,"column_end":27},"name":"new_length","qualname":"new_length$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 150 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3103787275},"span":{"file_name":"src/buffer.rs","byte_start":499965,"byte_end":499975,"line_start":1191,"line_end":1191,"column_start":17,"column_end":27},"name":"read_bytes","qualname":"read_bytes$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 157 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768242955},"span":{"file_name":"src/buffer.rs","byte_start":500018,"byte_end":500024,"line_start":1192,"line_end":1192,"column_start":17,"column_end":23},"name":"memory","qualname":"memory$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 165 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936587},"span":{"file_name":"src/buffer.rs","byte_start":500071,"byte_end":500072,"line_start":1194,"line_end":1194,"column_start":17,"column_end":18},"name":"x","qualname":"x$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 174 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":411044107},"span":{"file_name":"src/buffer.rs","byte_start":500409,"byte_end":500418,"line_start":1206,"line_end":1206,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2315 ~ no_proto[7dec]::buffer::{impl#2}::compact), local_id: 280 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744141},"span":{"file_name":"src/buffer.rs","byte_start":501079,"byte_end":501083,"line_start":1223,"line_end":1223,"column_start":30,"column_end":34},"name":"self","qualname":"::compact_into::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873229},"span":{"file_name":"src/buffer.rs","byte_start":501085,"byte_end":501097,"line_start":1223,"line_end":1223,"column_start":36,"column_end":48},"name":"new_capacity","qualname":"::compact_into::new_capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2317},"span":{"file_name":"src/buffer.rs","byte_start":501061,"byte_end":501073,"line_start":1223,"line_end":1223,"column_start":12,"column_end":24},"name":"compact_into","qualname":"::compact_into","value":"pub fn compact_into(&mut Self, Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Compact the current buffer into a new owned buffer.\n Returns an owned buffer of the compacted result.\n \n This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer.\n \n If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction.\n \n","sig":null,"attributes":[{"value":"/ Compact the current buffer into a new owned buffer.","span":{"file_name":"src/buffer.rs","byte_start":500674,"byte_end":500729,"line_start":1216,"line_end":1216,"column_start":5,"column_end":60}},{"value":"/ Returns an owned buffer of the compacted result.","span":{"file_name":"src/buffer.rs","byte_start":500734,"byte_end":500786,"line_start":1217,"line_end":1217,"column_start":5,"column_end":57}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":500791,"byte_end":500795,"line_start":1218,"line_end":1218,"column_start":5,"column_end":9}},{"value":"/ This works identically to `.compact` except compaction happens into a new buffer, instead of into the existing buffer.","span":{"file_name":"src/buffer.rs","byte_start":500800,"byte_end":500922,"line_start":1219,"line_end":1219,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":500927,"byte_end":500931,"line_start":1220,"line_end":1220,"column_start":5,"column_end":9}},{"value":"/ If the buffer was opened as read only with `.open_buffer_ref` this is the only way to do compaction.","span":{"file_name":"src/buffer.rs","byte_start":500936,"byte_end":501040,"line_start":1221,"line_end":1221,"column_start":5,"column_end":109}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":501045,"byte_end":501049,"line_start":1222,"line_end":1222,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":2214594829},"span":{"file_name":"src/buffer.rs","byte_start":501160,"byte_end":501168,"line_start":1225,"line_end":1225,"column_start":13,"column_end":21},"name":"capacity","qualname":"capacity$HirId { owner: DefId(0:2317 ~ no_proto[7dec]::buffer::{impl#2}::compact_into), local_id: 33 }","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489663245},"span":{"file_name":"src/buffer.rs","byte_start":501214,"byte_end":501215,"line_start":1226,"line_end":1226,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2317 ~ no_proto[7dec]::buffer::{impl#2}::compact_into), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4093643021},"span":{"file_name":"src/buffer.rs","byte_start":501312,"byte_end":501320,"line_start":1230,"line_end":1230,"column_start":13,"column_end":21},"name":"old_root","qualname":"old_root$HirId { owner: DefId(0:2317 ~ no_proto[7dec]::buffer::{impl#2}::compact_into), local_id: 47 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992205},"span":{"file_name":"src/buffer.rs","byte_start":501376,"byte_end":501385,"line_start":1232,"line_end":1232,"column_start":13,"column_end":22},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2317 ~ no_proto[7dec]::buffer::{impl#2}::compact_into), local_id: 72 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1778387213},"span":{"file_name":"src/buffer.rs","byte_start":501503,"byte_end":501511,"line_start":1233,"line_end":1233,"column_start":13,"column_end":21},"name":"new_root","qualname":"new_root$HirId { owner: DefId(0:2317 ~ no_proto[7dec]::buffer::{impl#2}::compact_into), local_id: 86 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744142},"span":{"file_name":"src/buffer.rs","byte_start":501834,"byte_end":501838,"line_start":1244,"line_end":1244,"column_start":25,"column_end":29},"name":"self","qualname":"::copy_buffer::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2318},"span":{"file_name":"src/buffer.rs","byte_start":501821,"byte_end":501832,"line_start":1244,"line_end":1244,"column_start":12,"column_end":23},"name":"copy_buffer","qualname":"::copy_buffer","value":"pub fn copy_buffer(&Self) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Copy the current buffer into a new owned buffer.\n \n","sig":null,"attributes":[{"value":"/ Copy the current buffer into a new owned buffer.","span":{"file_name":"src/buffer.rs","byte_start":501748,"byte_end":501800,"line_start":1242,"line_end":1242,"column_start":5,"column_end":57}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":501805,"byte_end":501809,"line_start":1243,"line_end":1243,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308686},"span":{"file_name":"src/buffer.rs","byte_start":501867,"byte_end":501877,"line_start":1245,"line_end":1245,"column_start":13,"column_end":23},"name":"copy_bytes","qualname":"copy_bytes$HirId { owner: DefId(0:2318 ~ no_proto[7dec]::buffer::{impl#2}::copy_buffer), local_id: 12 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2751465742},"span":{"file_name":"src/buffer.rs","byte_start":501927,"byte_end":501937,"line_start":1246,"line_end":1246,"column_start":13,"column_end":23},"name":"new_memory","qualname":"new_memory$HirId { owner: DefId(0:2318 ~ no_proto[7dec]::buffer::{impl#2}::copy_buffer), local_id: 37 }","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744143},"span":{"file_name":"src/buffer.rs","byte_start":502825,"byte_end":502829,"line_start":1271,"line_end":1271,"column_start":32,"column_end":36},"name":"self","qualname":"::calc_bytes::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2319},"span":{"file_name":"src/buffer.rs","byte_start":502805,"byte_end":502815,"line_start":1271,"line_end":1271,"column_start":12,"column_end":22},"name":"calc_bytes","qualname":"::calc_bytes","value":"pub fn calc_bytes<'bytes>(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursively measures how many bytes each element in the buffer is using.\n This will let you know how many bytes can be saved from a compaction.\n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n use no_proto::NP_Size_Data;\n \n let factory: NP_Factory = NP_Factory::new(\"string()\")?;\n \n let mut new_buffer = factory.new_buffer(None);\n new_buffer.set(&[], \"hello\")?;\n assert_eq!(NP_Size_Data {\n current_buffer: 15,\n after_compaction: 15,\n wasted_bytes: 0\n }, new_buffer.calc_bytes()?);\n \n # Ok::<(), NP_Error>(()) \n ```\n \n","sig":null,"attributes":[{"value":"/ Recursively measures how many bytes each element in the buffer is using.","span":{"file_name":"src/buffer.rs","byte_start":502103,"byte_end":502179,"line_start":1250,"line_end":1250,"column_start":5,"column_end":81}},{"value":"/ This will let you know how many bytes can be saved from a compaction.","span":{"file_name":"src/buffer.rs","byte_start":502184,"byte_end":502257,"line_start":1251,"line_end":1251,"column_start":5,"column_end":78}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502262,"byte_end":502266,"line_start":1252,"line_end":1252,"column_start":5,"column_end":9}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":502271,"byte_end":502278,"line_start":1253,"line_end":1253,"column_start":5,"column_end":12}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/buffer.rs","byte_start":502283,"byte_end":502317,"line_start":1254,"line_end":1254,"column_start":5,"column_end":39}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/buffer.rs","byte_start":502322,"byte_end":502351,"line_start":1255,"line_end":1255,"column_start":5,"column_end":34}},{"value":"/ use no_proto::NP_Size_Data;","span":{"file_name":"src/buffer.rs","byte_start":502356,"byte_end":502387,"line_start":1256,"line_end":1256,"column_start":5,"column_end":36}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502392,"byte_end":502396,"line_start":1257,"line_end":1257,"column_start":5,"column_end":9}},{"value":"/ let factory: NP_Factory = NP_Factory::new(\"string()\")?;","span":{"file_name":"src/buffer.rs","byte_start":502401,"byte_end":502460,"line_start":1258,"line_end":1258,"column_start":5,"column_end":64}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502465,"byte_end":502469,"line_start":1259,"line_end":1259,"column_start":5,"column_end":9}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/buffer.rs","byte_start":502474,"byte_end":502524,"line_start":1260,"line_end":1260,"column_start":5,"column_end":55}},{"value":"/ new_buffer.set(&[], \"hello\")?;","span":{"file_name":"src/buffer.rs","byte_start":502529,"byte_end":502563,"line_start":1261,"line_end":1261,"column_start":5,"column_end":39}},{"value":"/ assert_eq!(NP_Size_Data {","span":{"file_name":"src/buffer.rs","byte_start":502568,"byte_end":502597,"line_start":1262,"line_end":1262,"column_start":5,"column_end":34}},{"value":"/ current_buffer: 15,","span":{"file_name":"src/buffer.rs","byte_start":502602,"byte_end":502629,"line_start":1263,"line_end":1263,"column_start":5,"column_end":32}},{"value":"/ after_compaction: 15,","span":{"file_name":"src/buffer.rs","byte_start":502634,"byte_end":502663,"line_start":1264,"line_end":1264,"column_start":5,"column_end":34}},{"value":"/ wasted_bytes: 0","span":{"file_name":"src/buffer.rs","byte_start":502668,"byte_end":502691,"line_start":1265,"line_end":1265,"column_start":5,"column_end":28}},{"value":"/ }, new_buffer.calc_bytes()?);","span":{"file_name":"src/buffer.rs","byte_start":502696,"byte_end":502729,"line_start":1266,"line_end":1266,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502734,"byte_end":502738,"line_start":1267,"line_end":1267,"column_start":5,"column_end":9}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/buffer.rs","byte_start":502743,"byte_end":502772,"line_start":1268,"line_end":1268,"column_start":5,"column_end":34}},{"value":"/ ```","span":{"file_name":"src/buffer.rs","byte_start":502777,"byte_end":502784,"line_start":1269,"line_end":1269,"column_start":5,"column_end":12}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":502789,"byte_end":502793,"line_start":1270,"line_end":1270,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":134220047},"span":{"file_name":"src/buffer.rs","byte_start":502880,"byte_end":502884,"line_start":1273,"line_end":1273,"column_start":13,"column_end":17},"name":"root","qualname":"root$HirId { owner: DefId(0:2319 ~ no_proto[7dec]::buffer::{impl#2}::calc_bytes), local_id: 16 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2885683471},"span":{"file_name":"src/buffer.rs","byte_start":502939,"byte_end":502949,"line_start":1274,"line_end":1274,"column_start":13,"column_end":23},"name":"real_bytes","qualname":"real_bytes$HirId { owner: DefId(0:2319 ~ no_proto[7dec]::buffer::{impl#2}::calc_bytes), local_id: 53 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154118927},"span":{"file_name":"src/buffer.rs","byte_start":503030,"byte_end":503040,"line_start":1275,"line_end":1275,"column_start":13,"column_end":23},"name":"total_size","qualname":"total_size$HirId { owner: DefId(0:2319 ~ no_proto[7dec]::buffer::{impl#2}::calc_bytes), local_id: 61 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744145},"span":{"file_name":"src/buffer.rs","byte_start":503734,"byte_end":503738,"line_start":1295,"line_end":1295,"column_start":37,"column_end":41},"name":"self","qualname":"::set_max_data_length::self","value":"&mut buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873233},"span":{"file_name":"src/buffer.rs","byte_start":503740,"byte_end":503743,"line_start":1295,"line_end":1295,"column_start":43,"column_end":46},"name":"len","qualname":"::set_max_data_length::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2321},"span":{"file_name":"src/buffer.rs","byte_start":503709,"byte_end":503728,"line_start":1295,"line_end":1295,"column_start":12,"column_end":31},"name":"set_max_data_length","qualname":"::set_max_data_length","value":"pub fn set_max_data_length(&mut Self, usize)","parent":null,"children":[],"decl_id":null,"docs":" Set the maximum allowed of size of this buffer, in bytes.\n \n Once this value is set, the buffer will not be allowed to grow beyond this size.\n \n This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. \n \n","sig":null,"attributes":[{"value":"/ Set the maximum allowed of size of this buffer, in bytes.","span":{"file_name":"src/buffer.rs","byte_start":503407,"byte_end":503468,"line_start":1289,"line_end":1289,"column_start":5,"column_end":66}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503473,"byte_end":503477,"line_start":1290,"line_end":1290,"column_start":5,"column_end":9}},{"value":"/ Once this value is set, the buffer will not be allowed to grow beyond this size.","span":{"file_name":"src/buffer.rs","byte_start":503482,"byte_end":503566,"line_start":1291,"line_end":1291,"column_start":5,"column_end":89}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503571,"byte_end":503575,"line_start":1292,"line_end":1292,"column_start":5,"column_end":9}},{"value":"/ This doesn't cause any mutations, if the buffer is already larger than this value nothing will happen. ","span":{"file_name":"src/buffer.rs","byte_start":503580,"byte_end":503688,"line_start":1293,"line_end":1293,"column_start":5,"column_end":113}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503693,"byte_end":503697,"line_start":1294,"line_end":1294,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744146},"span":{"file_name":"src/buffer.rs","byte_start":504008,"byte_end":504012,"line_start":1303,"line_end":1303,"column_start":25,"column_end":29},"name":"self","qualname":"::data_length::self","value":"&buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2322},"span":{"file_name":"src/buffer.rs","byte_start":503995,"byte_end":504006,"line_start":1303,"line_end":1303,"column_start":12,"column_end":23},"name":"data_length","qualname":"::data_length","value":"pub fn data_length(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":" Get the number of bytes used by the data in this buffer.\n \n This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer.\n \n","sig":null,"attributes":[{"value":"/ Get the number of bytes used by the data in this buffer.","span":{"file_name":"src/buffer.rs","byte_start":503806,"byte_end":503866,"line_start":1299,"line_end":1299,"column_start":5,"column_end":65}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503871,"byte_end":503875,"line_start":1300,"line_end":1300,"column_start":5,"column_end":9}},{"value":"/ This will be identical to `buffer.read_bytes().len()` unless you're using a RefMut buffer.","span":{"file_name":"src/buffer.rs","byte_start":503880,"byte_end":503974,"line_start":1301,"line_end":1301,"column_start":5,"column_end":99}},{"value":"/ ","span":{"file_name":"src/buffer.rs","byte_start":503979,"byte_end":503983,"line_start":1302,"line_end":1302,"column_start":5,"column_end":9}}]},{"kind":"Struct","id":{"krate":0,"index":2323},"span":{"file_name":"src/buffer.rs","byte_start":504086,"byte_end":504093,"line_start":1309,"line_end":1309,"column_start":12,"column_end":19},"name":"NP_Item","qualname":"::buffer::NP_Item","value":"NP_Item { index, key, field, cursor, parent, memory }","parent":null,"children":[{"krate":0,"index":2325},{"krate":0,"index":2326},{"krate":0,"index":2327},{"krate":0,"index":2328},{"krate":0,"index":2329},{"krate":0,"index":2330}],"decl_id":null,"docs":" NP Item\n","sig":null,"attributes":[{"value":"/ NP Item","span":{"file_name":"src/buffer.rs","byte_start":504063,"byte_end":504074,"line_start":1308,"line_end":1308,"column_start":1,"column_end":12}}]},{"kind":"Field","id":{"krate":0,"index":2325},"span":{"file_name":"src/buffer.rs","byte_start":504139,"byte_end":504144,"line_start":1311,"line_end":1311,"column_start":9,"column_end":14},"name":"index","qualname":"::buffer::NP_Item::index","value":"usize","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":" index of this value\n","sig":null,"attributes":[{"value":"/ index of this value","span":{"file_name":"src/buffer.rs","byte_start":504107,"byte_end":504130,"line_start":1310,"line_end":1310,"column_start":5,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2326},"span":{"file_name":"src/buffer.rs","byte_start":504187,"byte_end":504190,"line_start":1313,"line_end":1313,"column_start":9,"column_end":12},"name":"key","qualname":"::buffer::NP_Item::key","value":"&'item str","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":" Key at this index\n","sig":null,"attributes":[{"value":"/ Key at this index","span":{"file_name":"src/buffer.rs","byte_start":504157,"byte_end":504178,"line_start":1312,"line_end":1312,"column_start":5,"column_end":26}}]},{"kind":"Field","id":{"krate":0,"index":2327},"span":{"file_name":"src/buffer.rs","byte_start":504240,"byte_end":504245,"line_start":1315,"line_end":1315,"column_start":9,"column_end":14},"name":"field","qualname":"::buffer::NP_Item::field","value":"&'item str","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":" Field at this index\n","sig":null,"attributes":[{"value":"/ Field at this index","span":{"file_name":"src/buffer.rs","byte_start":504208,"byte_end":504231,"line_start":1314,"line_end":1314,"column_start":5,"column_end":28}}]},{"kind":"Field","id":{"krate":0,"index":2328},"span":{"file_name":"src/buffer.rs","byte_start":504284,"byte_end":504290,"line_start":1317,"line_end":1317,"column_start":5,"column_end":11},"name":"cursor","qualname":"::buffer::NP_Item::cursor","value":"core::option::Option","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":" Cursor value\n","sig":null,"attributes":[{"value":"/ Cursor value","span":{"file_name":"src/buffer.rs","byte_start":504263,"byte_end":504279,"line_start":1316,"line_end":1316,"column_start":5,"column_end":21}}]},{"kind":"Field","id":{"krate":0,"index":2329},"span":{"file_name":"src/buffer.rs","byte_start":504315,"byte_end":504321,"line_start":1318,"line_end":1318,"column_start":5,"column_end":11},"name":"parent","qualname":"::buffer::NP_Item::parent","value":"pointer::NP_Cursor","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2330},"span":{"file_name":"src/buffer.rs","byte_start":504338,"byte_end":504344,"line_start":1319,"line_end":1319,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Item::memory","value":"&'item memory::NP_Memory","parent":{"krate":0,"index":2323},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744157},"span":{"file_name":"src/buffer.rs","byte_start":504451,"byte_end":504455,"line_start":1325,"line_end":1325,"column_start":23,"column_end":27},"name":"self","qualname":"::has_value::self","value":"&buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2333},"span":{"file_name":"src/buffer.rs","byte_start":504440,"byte_end":504449,"line_start":1325,"line_end":1325,"column_start":12,"column_end":21},"name":"has_value","qualname":"::has_value","value":"pub fn has_value(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" If this item has a value\n","sig":null,"attributes":[{"value":"/ If this item has a value","span":{"file_name":"src/buffer.rs","byte_start":504400,"byte_end":504428,"line_start":1324,"line_end":1324,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":671090973},"span":{"file_name":"src/buffer.rs","byte_start":504522,"byte_end":504527,"line_start":1327,"line_end":1327,"column_start":17,"column_end":22},"name":"value","qualname":"value$HirId { owner: DefId(0:2333 ~ no_proto[7dec]::buffer::{impl#3}::has_value), local_id: 20 }","value":"&dyn pointer::NP_Pointer_Bytes","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744158},"span":{"file_name":"src/buffer.rs","byte_start":504706,"byte_end":504710,"line_start":1334,"line_end":1334,"column_start":26,"column_end":30},"name":"self","qualname":"::get::self","value":"&buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2335},"span":{"file_name":"src/buffer.rs","byte_start":504696,"byte_end":504697,"line_start":1334,"line_end":1334,"column_start":16,"column_end":17},"name":"X","qualname":"::get::X$HirId { owner: DefId(0:2334 ~ no_proto[7dec]::buffer::{impl#3}::get), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2334},"span":{"file_name":"src/buffer.rs","byte_start":504692,"byte_end":504695,"line_start":1334,"line_end":1334,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get(&'item Self) -> Result, NP_Error> where X: NP_Value +\nNP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Get value at this pointer\n","sig":null,"attributes":[{"value":"/ Get value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":504651,"byte_end":504680,"line_start":1333,"line_end":1333,"column_start":5,"column_end":34}}]},{"kind":"Local","id":{"krate":0,"index":3825207582},"span":{"file_name":"src/buffer.rs","byte_start":504911,"byte_end":504912,"line_start":1337,"line_end":1337,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:2334 ~ no_proto[7dec]::buffer::{impl#3}::get), local_id: 39 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1644169502},"span":{"file_name":"src/buffer.rs","byte_start":505121,"byte_end":505122,"line_start":1342,"line_end":1342,"column_start":30,"column_end":31},"name":"y","qualname":"y$HirId { owner: DefId(0:2334 ~ no_proto[7dec]::buffer::{impl#3}::get), local_id: 70 }","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744160},"span":{"file_name":"src/buffer.rs","byte_start":505465,"byte_end":505469,"line_start":1357,"line_end":1357,"column_start":30,"column_end":34},"name":"self","qualname":"::set::self","value":"&mut buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873248},"span":{"file_name":"src/buffer.rs","byte_start":505471,"byte_end":505476,"line_start":1357,"line_end":1357,"column_start":36,"column_end":41},"name":"value","qualname":"::set::value","value":"X","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2337},"span":{"file_name":"src/buffer.rs","byte_start":505451,"byte_end":505452,"line_start":1357,"line_end":1357,"column_start":16,"column_end":17},"name":"X","qualname":"::set::X$HirId { owner: DefId(0:2336 ~ no_proto[7dec]::buffer::{impl#3}::set), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2336},"span":{"file_name":"src/buffer.rs","byte_start":505447,"byte_end":505450,"line_start":1357,"line_end":1357,"column_start":12,"column_end":15},"name":"set","qualname":"::set","value":"pub fn set(&'item mut Self, X) -> Result<(), NP_Error> where X: NP_Value +\nNP_Scalar","parent":null,"children":[],"decl_id":null,"docs":" Set value at this pointer\n","sig":null,"attributes":[{"value":"/ Set value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":505406,"byte_end":505435,"line_start":1356,"line_end":1356,"column_start":5,"column_end":34}}]},{"kind":"Local","id":{"krate":0,"index":3523217696},"span":{"file_name":"src/buffer.rs","byte_start":505797,"byte_end":505803,"line_start":1366,"line_end":1366,"column_start":17,"column_end":23},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2336 ~ no_proto[7dec]::buffer::{impl#3}::set), local_id: 75 }","value":"&schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2030045472},"span":{"file_name":"src/buffer.rs","byte_start":506034,"byte_end":506038,"line_start":1370,"line_end":1370,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2336 ~ no_proto[7dec]::buffer::{impl#3}::set), local_id: 158 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3204450592},"span":{"file_name":"src/buffer.rs","byte_start":506284,"byte_end":506288,"line_start":1374,"line_end":1374,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2336 ~ no_proto[7dec]::buffer::{impl#3}::set), local_id: 253 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1518340384},"span":{"file_name":"src/buffer.rs","byte_start":506531,"byte_end":506535,"line_start":1378,"line_end":1378,"column_start":25,"column_end":29},"name":"item","qualname":"item$HirId { owner: DefId(0:2336 ~ no_proto[7dec]::buffer::{impl#3}::set), local_id: 346 }","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744162},"span":{"file_name":"src/buffer.rs","byte_start":506851,"byte_end":506855,"line_start":1389,"line_end":1389,"column_start":27,"column_end":31},"name":"self","qualname":"::del::self","value":"&mut buffer::NP_Item","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2338},"span":{"file_name":"src/buffer.rs","byte_start":506836,"byte_end":506839,"line_start":1389,"line_end":1389,"column_start":12,"column_end":15},"name":"del","qualname":"::del","value":"pub fn del(&'item mut Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Clear the value at this pointer\n","sig":null,"attributes":[{"value":"/ Clear the value at this pointer","span":{"file_name":"src/buffer.rs","byte_start":506789,"byte_end":506824,"line_start":1388,"line_end":1388,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":3288336674},"span":{"file_name":"src/buffer.rs","byte_start":507093,"byte_end":507099,"line_start":1398,"line_end":1398,"column_start":20,"column_end":26},"name":"result","qualname":"result$HirId { owner: DefId(0:2338 ~ no_proto[7dec]::buffer::{impl#3}::del), local_id: 35 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030306},"span":{"file_name":"src/buffer.rs","byte_start":507132,"byte_end":507134,"line_start":1399,"line_end":1399,"column_start":21,"column_end":23},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2338 ~ no_proto[7dec]::buffer::{impl#3}::del), local_id: 41 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3719},"span":{"file_name":"src/buffer.rs","byte_start":507322,"byte_end":507326,"line_start":1414,"line_end":1414,"column_start":5,"column_end":9},"name":"None","qualname":"::buffer::NP_Iterator_Collection::None","value":"NP_Iterator_Collection::None","parent":{"krate":0,"index":3717},"children":[],"decl_id":null,"docs":" None\n","sig":null,"attributes":[{"value":"/ None","span":{"file_name":"src/buffer.rs","byte_start":507309,"byte_end":507317,"line_start":1413,"line_end":1413,"column_start":5,"column_end":13}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3721},"span":{"file_name":"src/buffer.rs","byte_start":507344,"byte_end":507347,"line_start":1416,"line_end":1416,"column_start":5,"column_end":8},"name":"Map","qualname":"::buffer::NP_Iterator_Collection::Map","value":"NP_Iterator_Collection::Map(NP_Map)","parent":{"krate":0,"index":3717},"children":[],"decl_id":null,"docs":" Map\n","sig":null,"attributes":[{"value":"/ Map","span":{"file_name":"src/buffer.rs","byte_start":507332,"byte_end":507339,"line_start":1415,"line_end":1415,"column_start":5,"column_end":12}}]},{"kind":"Field","id":{"krate":0,"index":3723},"span":{"file_name":"src/buffer.rs","byte_start":507348,"byte_end":507360,"line_start":1416,"line_end":1416,"column_start":9,"column_end":21},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Map::0","value":"collection::map::NP_Map<'col>","parent":{"krate":0,"index":3721},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3724},"span":{"file_name":"src/buffer.rs","byte_start":507380,"byte_end":507384,"line_start":1418,"line_end":1418,"column_start":5,"column_end":9},"name":"List","qualname":"::buffer::NP_Iterator_Collection::List","value":"NP_Iterator_Collection::List(NP_List)","parent":{"krate":0,"index":3717},"children":[],"decl_id":null,"docs":" List\n","sig":null,"attributes":[{"value":"/ List","span":{"file_name":"src/buffer.rs","byte_start":507367,"byte_end":507375,"line_start":1417,"line_end":1417,"column_start":5,"column_end":13}}]},{"kind":"Field","id":{"krate":0,"index":3726},"span":{"file_name":"src/buffer.rs","byte_start":507385,"byte_end":507392,"line_start":1418,"line_end":1418,"column_start":10,"column_end":17},"name":"0","qualname":"::buffer::NP_Iterator_Collection::List::0","value":"collection::list::NP_List","parent":{"krate":0,"index":3724},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3727},"span":{"file_name":"src/buffer.rs","byte_start":507414,"byte_end":507420,"line_start":1420,"line_end":1420,"column_start":5,"column_end":11},"name":"Struct","qualname":"::buffer::NP_Iterator_Collection::Struct","value":"NP_Iterator_Collection::Struct(NP_Struct)","parent":{"krate":0,"index":3717},"children":[],"decl_id":null,"docs":" Struct\n","sig":null,"attributes":[{"value":"/ Struct","span":{"file_name":"src/buffer.rs","byte_start":507399,"byte_end":507409,"line_start":1419,"line_end":1419,"column_start":5,"column_end":15}}]},{"kind":"Field","id":{"krate":0,"index":3729},"span":{"file_name":"src/buffer.rs","byte_start":507421,"byte_end":507436,"line_start":1420,"line_end":1420,"column_start":12,"column_end":27},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Struct::0","value":"collection::struc::NP_Struct<'col>","parent":{"krate":0,"index":3727},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3730},"span":{"file_name":"src/buffer.rs","byte_start":507457,"byte_end":507462,"line_start":1422,"line_end":1422,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::buffer::NP_Iterator_Collection::Tuple","value":"NP_Iterator_Collection::Tuple(NP_Tuple)","parent":{"krate":0,"index":3717},"children":[],"decl_id":null,"docs":" Tuple\n","sig":null,"attributes":[{"value":"/ Tuple","span":{"file_name":"src/buffer.rs","byte_start":507443,"byte_end":507452,"line_start":1421,"line_end":1421,"column_start":5,"column_end":14}}]},{"kind":"Field","id":{"krate":0,"index":3732},"span":{"file_name":"src/buffer.rs","byte_start":507463,"byte_end":507471,"line_start":1422,"line_end":1422,"column_start":11,"column_end":19},"name":"0","qualname":"::buffer::NP_Iterator_Collection::Tuple::0","value":"collection::tuple::NP_Tuple","parent":{"krate":0,"index":3730},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3717},"span":{"file_name":"src/buffer.rs","byte_start":507274,"byte_end":507296,"line_start":1412,"line_end":1412,"column_start":10,"column_end":32},"name":"NP_Iterator_Collection","qualname":"::buffer::NP_Iterator_Collection","value":"pub enum NP_Iterator_Collection<'col> {\n None,\n Map(NP_Map),\n List(NP_List),\n Struct(NP_Struct),\n Tuple(NP_Tuple),\n}","parent":null,"children":[{"krate":0,"index":3719},{"krate":0,"index":3721},{"krate":0,"index":3724},{"krate":0,"index":3727},{"krate":0,"index":3730}],"decl_id":null,"docs":" Iterator Enum\n","sig":null,"attributes":[{"value":"/ Iterator Enum","span":{"file_name":"src/buffer.rs","byte_start":507215,"byte_end":507232,"line_start":1409,"line_end":1409,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744165},"span":{"file_name":"src/buffer.rs","byte_start":507556,"byte_end":507562,"line_start":1427,"line_end":1427,"column_start":16,"column_end":22},"name":"cursor","qualname":"::new::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873253},"span":{"file_name":"src/buffer.rs","byte_start":507575,"byte_end":507581,"line_start":1427,"line_end":1427,"column_start":35,"column_end":41},"name":"memory","qualname":"::new::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2341},"span":{"file_name":"src/buffer.rs","byte_start":507552,"byte_end":507555,"line_start":1427,"line_end":1427,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(NP_Cursor, &'col NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2013268261},"span":{"file_name":"src/buffer.rs","byte_start":507742,"byte_end":507747,"line_start":1430,"line_end":1430,"column_start":21,"column_end":26},"name":"struc","qualname":"struc$HirId { owner: DefId(0:2341 ~ no_proto[7dec]::buffer::{impl#4}::new), local_id: 30 }","value":"collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1006635301},"span":{"file_name":"src/buffer.rs","byte_start":507919,"byte_end":507923,"line_start":1434,"line_end":1434,"column_start":21,"column_end":25},"name":"list","qualname":"list$HirId { owner: DefId(0:2341 ~ no_proto[7dec]::buffer::{impl#4}::new), local_id: 60 }","value":"collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436209957},"span":{"file_name":"src/buffer.rs","byte_start":508100,"byte_end":508105,"line_start":1438,"line_end":1438,"column_start":21,"column_end":26},"name":"tuple","qualname":"tuple$HirId { owner: DefId(0:2341 ~ no_proto[7dec]::buffer::{impl#4}::new), local_id: 88 }","value":"collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2919237925},"span":{"file_name":"src/buffer.rs","byte_start":508275,"byte_end":508278,"line_start":1442,"line_end":1442,"column_start":21,"column_end":24},"name":"map","qualname":"map$HirId { owner: DefId(0:2341 ~ no_proto[7dec]::buffer::{impl#4}::new), local_id: 117 }","value":"collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":2342},"span":{"file_name":"src/buffer.rs","byte_start":508525,"byte_end":508544,"line_start":1451,"line_end":1451,"column_start":12,"column_end":31},"name":"NP_Generic_Iterator","qualname":"::buffer::NP_Generic_Iterator","value":"NP_Generic_Iterator { root, value, memory, index }","parent":null,"children":[{"krate":0,"index":2344},{"krate":0,"index":2345},{"krate":0,"index":2346},{"krate":0,"index":2347}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/buffer.rs","byte_start":508491,"byte_end":508513,"line_start":1450,"line_end":1450,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":2344},"span":{"file_name":"src/buffer.rs","byte_start":508556,"byte_end":508560,"line_start":1452,"line_end":1452,"column_start":5,"column_end":9},"name":"root","qualname":"::buffer::NP_Generic_Iterator::root","value":"pointer::NP_Cursor","parent":{"krate":0,"index":2342},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2345},"span":{"file_name":"src/buffer.rs","byte_start":508577,"byte_end":508582,"line_start":1453,"line_end":1453,"column_start":5,"column_end":10},"name":"value","qualname":"::buffer::NP_Generic_Iterator::value","value":"buffer::NP_Iterator_Collection<'it>","parent":{"krate":0,"index":2342},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2346},"span":{"file_name":"src/buffer.rs","byte_start":508617,"byte_end":508623,"line_start":1454,"line_end":1454,"column_start":5,"column_end":11},"name":"memory","qualname":"::buffer::NP_Generic_Iterator::memory","value":"&'it memory::NP_Memory","parent":{"krate":0,"index":2342},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2347},"span":{"file_name":"src/buffer.rs","byte_start":508645,"byte_end":508650,"line_start":1455,"line_end":1455,"column_start":5,"column_end":10},"name":"index","qualname":"::buffer::NP_Generic_Iterator::index","value":"usize","parent":{"krate":0,"index":2342},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744174},"span":{"file_name":"src/buffer.rs","byte_start":508736,"byte_end":508742,"line_start":1460,"line_end":1460,"column_start":16,"column_end":22},"name":"cursor","qualname":"::new::cursor","value":"pointer::NP_Cursor","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873262},"span":{"file_name":"src/buffer.rs","byte_start":508755,"byte_end":508761,"line_start":1460,"line_end":1460,"column_start":35,"column_end":41},"name":"memory","qualname":"::new::memory","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2350},"span":{"file_name":"src/buffer.rs","byte_start":508732,"byte_end":508735,"line_start":1460,"line_end":1460,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(NP_Cursor, &'it NP_Memory) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744178},"span":{"file_name":"src/buffer.rs","byte_start":509101,"byte_end":509105,"line_start":1474,"line_end":1474,"column_start":18,"column_end":22},"name":"self","qualname":"::next::self","value":"&mut buffer::NP_Generic_Iterator","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2354},"span":{"file_name":"src/buffer.rs","byte_start":509091,"byte_end":509095,"line_start":1474,"line_end":1474,"column_start":8,"column_end":12},"name":"next","qualname":"::next","value":"fn next(&mut Self) -> Option","parent":{"krate":1,"index":7914},"children":[],"decl_id":{"krate":1,"index":7916},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415921458},"span":{"file_name":"src/buffer.rs","byte_start":509203,"byte_end":509204,"line_start":1476,"line_end":1476,"column_start":41,"column_end":42},"name":"x","qualname":"x$HirId { owner: DefId(0:2354 ~ no_proto[7dec]::buffer::{impl#6}::next), local_id: 9 }","value":"&mut collection::map::NP_Map","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912604978},"span":{"file_name":"src/buffer.rs","byte_start":509613,"byte_end":509614,"line_start":1484,"line_end":1484,"column_start":42,"column_end":43},"name":"x","qualname":"x$HirId { owner: DefId(0:2354 ~ no_proto[7dec]::buffer::{impl#6}::next), local_id: 78 }","value":"&mut collection::list::NP_List","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":553650482},"span":{"file_name":"src/buffer.rs","byte_start":509961,"byte_end":509962,"line_start":1491,"line_end":1491,"column_start":44,"column_end":45},"name":"x","qualname":"x$HirId { owner: DefId(0:2354 ~ no_proto[7dec]::buffer::{impl#6}::next), local_id: 132 }","value":"&mut collection::struc::NP_Struct","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2097154354},"span":{"file_name":"src/buffer.rs","byte_start":510326,"byte_end":510327,"line_start":1498,"line_end":1498,"column_start":43,"column_end":44},"name":"x","qualname":"x$HirId { owner: DefId(0:2354 ~ no_proto[7dec]::buffer::{impl#6}::next), local_id: 190 }","value":"&mut collection::tuple::NP_Tuple","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2355},"span":{"file_name":"src/schema.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"schema","qualname":"::schema","value":"src/schema.rs","parent":null,"children":[{"krate":0,"index":2356},{"krate":0,"index":2357},{"krate":0,"index":2360},{"krate":0,"index":2361},{"krate":0,"index":2364},{"krate":0,"index":2367},{"krate":0,"index":2368},{"krate":0,"index":2371},{"krate":0,"index":2372},{"krate":0,"index":2375},{"krate":0,"index":2376},{"krate":0,"index":2379},{"krate":0,"index":2382},{"krate":0,"index":2383},{"krate":0,"index":2384},{"krate":0,"index":2386},{"krate":0,"index":2387},{"krate":0,"index":2390},{"krate":0,"index":2393},{"krate":0,"index":2396},{"krate":0,"index":2397},{"krate":0,"index":2398},{"krate":0,"index":2399},{"krate":0,"index":2401},{"krate":0,"index":2404},{"krate":0,"index":2407},{"krate":0,"index":2410},{"krate":0,"index":2413},{"krate":0,"index":2416},{"krate":0,"index":2419},{"krate":0,"index":2422},{"krate":0,"index":2425},{"krate":0,"index":2426},{"krate":0,"index":2429},{"krate":0,"index":2432},{"krate":0,"index":2435},{"krate":0,"index":2436},{"krate":0,"index":2439},{"krate":0,"index":2442},{"krate":0,"index":2445},{"krate":0,"index":2448},{"krate":0,"index":3736},{"krate":0,"index":3815},{"krate":0,"index":3817},{"krate":0,"index":3819},{"krate":0,"index":3820},{"krate":0,"index":3822},{"krate":0,"index":3823},{"krate":0,"index":3825},{"krate":0,"index":2451},{"krate":0,"index":2453},{"krate":0,"index":2456},{"krate":0,"index":3826},{"krate":0,"index":3836},{"krate":0,"index":3838},{"krate":0,"index":3840},{"krate":0,"index":3841},{"krate":0,"index":3843},{"krate":0,"index":3844},{"krate":0,"index":3846},{"krate":0,"index":2457},{"krate":0,"index":3847},{"krate":0,"index":3853},{"krate":0,"index":3855},{"krate":0,"index":3857},{"krate":0,"index":3858},{"krate":0,"index":3860},{"krate":0,"index":3861},{"krate":0,"index":3864},{"krate":0,"index":3865},{"krate":0,"index":3870},{"krate":0,"index":3872},{"krate":0,"index":3874},{"krate":0,"index":3875},{"krate":0,"index":3878},{"krate":0,"index":3883},{"krate":0,"index":3885},{"krate":0,"index":3887},{"krate":0,"index":3888},{"krate":0,"index":2459},{"krate":0,"index":3891},{"krate":0,"index":3906},{"krate":0,"index":3908},{"krate":0,"index":3910},{"krate":0,"index":3917},{"krate":0,"index":3919},{"krate":0,"index":2461},{"krate":0,"index":2462},{"krate":0,"index":2463},{"krate":0,"index":3921},{"krate":0,"index":3923},{"krate":0,"index":3925},{"krate":0,"index":3927},{"krate":0,"index":3929},{"krate":0,"index":3931},{"krate":0,"index":3933},{"krate":0,"index":3935},{"krate":0,"index":3937},{"krate":0,"index":3939},{"krate":0,"index":3941},{"krate":0,"index":3943},{"krate":0,"index":3945},{"krate":0,"index":3947},{"krate":0,"index":3949},{"krate":0,"index":3951},{"krate":0,"index":3953},{"krate":0,"index":3955},{"krate":0,"index":3957},{"krate":0,"index":3959},{"krate":0,"index":3961},{"krate":0,"index":3963},{"krate":0,"index":3965},{"krate":0,"index":3967},{"krate":0,"index":3969},{"krate":0,"index":3971},{"krate":0,"index":3973},{"krate":0,"index":3975},{"krate":0,"index":3977},{"krate":0,"index":3979},{"krate":0,"index":3981},{"krate":0,"index":3983},{"krate":0,"index":3985},{"krate":0,"index":3987},{"krate":0,"index":3992},{"krate":0,"index":3994},{"krate":0,"index":3996},{"krate":0,"index":3999},{"krate":0,"index":4001},{"krate":0,"index":4003},{"krate":0,"index":4006},{"krate":0,"index":4008},{"krate":0,"index":4010},{"krate":0,"index":4013},{"krate":0,"index":4015},{"krate":0,"index":4017},{"krate":0,"index":4020},{"krate":0,"index":4022},{"krate":0,"index":4024},{"krate":0,"index":4027},{"krate":0,"index":4029},{"krate":0,"index":4031},{"krate":0,"index":4033},{"krate":0,"index":4035},{"krate":0,"index":4037},{"krate":0,"index":4040},{"krate":0,"index":4042},{"krate":0,"index":4044},{"krate":0,"index":4048},{"krate":0,"index":4050},{"krate":0,"index":2465},{"krate":0,"index":4052},{"krate":0,"index":4055},{"krate":0,"index":4057},{"krate":0,"index":2467}],"decl_id":null,"docs":" Schemas are used to describe the shape and types of buffer objects\n \n NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it.\n \n Schemas can be loaded from JSON, ES6 or Bytes.\n \n As a quick example, the schemas below are indentical in what they describe, only different in syntax.\n ```text\n /* List Of Strings */\n \n // JSON Schema\n {\"type\": \"list\", \"of\": {\"type\": \"string\"}}\n \n // ES6 Schema\n list({of: string()})\n \n // Byte schema (not human readable)\n [23, 2, 0, 0, 0, 0, 0]\n ```\n \n NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it.\n \n Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it.\n \n Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. \n \n Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string:\n ```text\n // JSON\n {\n \"type\": \"string\"\n }\n // ES6\n string()\n ```\n \n However, you will likely want to store more complicated objects, so that's easy to do as well.\n ```text\n // JSON\n {\n \"type\": \"struct\",\n \"fields\": [\n [\"userID\", {\"type\": \"string\"}], // userID field contains a string\n [\"password\", {\"type\": \"string\"}], // password field contains a string\n [\"email\", {\"type\": \"string\"}], // email field contains a string\n [\"age\", {\"type\": \"u8\"}] // age field contains a Uint8 number (0 - 255)\n ]\n }\n \n // ES6\n struct({fields: {\n userID: string(), // userID field contains a string\n password: string(), // password field contains a string\n email: string(), // email field contains a string\n age: u8() // age field contains a Uint8 number (0 - 255)\n }})\n ```\n \n There are multiple collection types and they can be nested.\n \n For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type.\n ```text\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\n \"type\": \"struct\",\n \"fields\": [\n [\"id\", {\"type\": \"string\"}]\n [\"title\", {\"type\": \"string\"}]\n ]\n }\n }\n \n // ES6\n list({of: struct({fields: {\n id: string(),\n title: string()\n }})})\n ```\n You can nest collections as much and however you'd like, up to 255 levels.\n \n A list of strings is just as easy...\n \n ```text\n // JSON\n {\n \"type\": \"list\",\n \"of\": { \"type\": \"string\" }\n }\n \n // ES6\n list({of: string()})\n ```\n \n **ES6 Schemas**
\n NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax.\n \n The following ES6 syntax is supported:\n - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn(\"hello\", [1, 2])`\n - Single line comments on their own line or at the end of a line using double slash `//`.\n - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `[\"hello\", myFn()]`\n - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: \"value\"}`, `{foo: \"bar\", baz: myFn()}`\n - Arrays and objects can be safely nested. There is a nesting limit of 255 levels.\n - Numbers, Strings contained in double quotes '`\"`', and Boolean values.\n - Strings can safely contain escaped double quotes `\\\"` inside them.\n - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }`\n \n If the syntax is not in the above list, it will not be parsed correctly by NoProto.\n \n ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas.\n \n **JSON Schemas**
\n \n If you're familiar with Typescript, JSON schemas can be described by this recursive interface:\n \n ```typescript\n interface NP_Schema {\n // table, string, bytes, etc\n type: string; \n \n // used by string & bytes types\n size?: number;\n \n // used by decimal type, the number of decimal places every value has\n exp?: number;\n \n // used by tuple to indicite bytewise sorting of children\n sorted?: boolean;\n \n // used by list types\n of?: NP_Schema\n \n // used by map types\n value?: NP_Schema\n \n // used by tuple types\n values?: NP_Schema[]\n \n // used by struct types\n fields?: [string, NP_Schema][];\n \n // used by option/enum types\n choices?: string[];\n \n // used by unions\n types?: [string, NP_Schema][];\n \n // used by portals\n to?: string\n \n // default value for this item\n default?: any;\n }\n ```\n \n ## Schema Data Types\n Each type has trade offs associated with it. The table and documentation below go into further detail.\n \n ### Supported Data Types\n \n | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes |\n |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------|\n | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. |\n | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. |\n | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. |\n | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. |\n | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. |\n | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. |\n | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. |\n | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 |\n | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 |\n | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 |\n | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 |\n | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 |\n | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 |\n | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 |\n | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 |\n | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 |\n | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 |\n | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. |\n | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | |\n | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. |\n | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate |\n | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate |\n | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate |\n | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) |\n | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs |\n | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 |\n | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | \n \n - \\* `sorting` must be set to `true` in the schema for this object to enable sorting.\n - \\*\\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema\n \n # Legend\n \n **Bytewise Sorting**
\n Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases.\n \n Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose.\n \n You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical.\n \n **Compaction**
\n Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided.\n \n Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence.\n \n Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options.\n \n Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space.\n \n - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact)\n \n **Schema Mutations**
\n Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction.\n \n There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe.\n \n Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`.\n \n # Schema Types\n \n Every schema type maps exactly to a native data type in your code.\n \n ## struct\n Structs represnt a fixed number of named fields, with each field having it's own data type.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Fields without values will be removed from the buffer durring compaction.\n - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. \n \n Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes.\n \n Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data.\n \n If you need flexible field names use a `map` type instead.\n \n ```text\n // JSON\n {\n \"type\": \"struct\",\n \"fields\": [ // can have between 1 and 255 fields\n [\"field name\", {\"type\": \"data type for this field\"}],\n [\"name\", {\"type\": \"string\"}],\n [\"tags\", {\"type\": \"list\", \"of\": { // nested list of strings\n \"type\": \"string\"\n }}],\n [\"age\", {\"type\": \"u8\"}], // Uint8 number\n [\"meta\", {\"type\": \"struct\", \"fields\": [ // nested struct\n [\"favorite_color\", {\"type\": \"string\"}],\n [\"favorite_sport\", {\"type\": \"string\"}]\n ]}]\n ]\n }\n \n // ES6\n struct({fields: {\n // data_type() isn't a real data type...\n field_name: data_type(),\n name: string(),\n tags: list({of: string()}),\n age: u8(),\n meta: struct({fields: {\n favorite_color: string(),\n favorite_sport: string()\n }})\n }})\n ```\n \n ## list\n Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space.\n - **Schema Mutations**: None\n \n Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. \n \n The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list.\n \n ```text\n // a list of list of strings\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\n \"type\": \"list\",\n \"of\": {\"type\": \"string\"}\n }\n }\n // ES6\n list({of: list({of: string()})})\n \n // list of numbers\n // JSON\n {\n \"type\": \"list\",\n \"of\": {\"type\": \"i32\"}\n }\n \n // ES6\n list({of: i32()})\n ```\n \n \n ## map\n A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type.\n \n - **Bytewise Sorting**: Unsupported\n - **Compaction**: Keys without values are removed from the buffer\n - **Schema Mutations**: None\n \n Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map.\n \n If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. \n \n The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values.\n \n ```text\n // a map where every value is a string\n // JSON\n {\n \"type\": \"map\",\n \"value\": {\n \"type\": \"string\"\n }\n }\n // ES6\n map({value: string()})\n ```\n \n \n ## tuple\n A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items.\n \n - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`.\n - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated.\n - **Schema Mutations**: No mutations are safe\n \n Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples.\n \n **Sorting**
\n You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size.\n \n When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size.\n \n ```text\n // JSON\n {\n \"type\": \"tuple\",\n \"values\": [\n {\"type\": \"string\"},\n {\"type\": \"list\", \"of\": {\"type\": \"strings\"}},\n {\"type\": \"u64\"}\n ]\n }\n // ES6\n tuple({values: [string(), list({of: string()}), u64()]})\n \n // tuple for bytewise sorting\n // JSON\n {\n \"type\": \"tuple\",\n \"sorted\": true,\n \"values\": [\n {\"type\": \"string\", \"size\": 25},\n {\"type\": \"u8\"},\n {\"type\": \"i64\"}\n ]\n }\n \n // ES6\n tuple({storted: true, values: [\n string({size: 25}), \n u8(), \n i64()\n ]})\n ```","sig":null,"attributes":[{"value":"/ Schemas are used to describe the shape and types of buffer objects","span":{"file_name":"src/schema.rs","byte_start":510681,"byte_end":510751,"line_start":1,"line_end":1,"column_start":1,"column_end":71}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":510752,"byte_end":510756,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NoProto schemas describe how the data in a buffer is stored and what types of data are stored. Schemas are required to create buffers and each buffer is a descendant of the schema that created it.","span":{"file_name":"src/schema.rs","byte_start":510757,"byte_end":510958,"line_start":3,"line_end":3,"column_start":1,"column_end":202}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":510959,"byte_end":510963,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ Schemas can be loaded from JSON, ES6 or Bytes.","span":{"file_name":"src/schema.rs","byte_start":510964,"byte_end":511014,"line_start":5,"line_end":5,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511015,"byte_end":511019,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ As a quick example, the schemas below are indentical in what they describe, only different in syntax.","span":{"file_name":"src/schema.rs","byte_start":511020,"byte_end":511125,"line_start":7,"line_end":7,"column_start":1,"column_end":106}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":511126,"byte_end":511137,"line_start":8,"line_end":8,"column_start":1,"column_end":12}},{"value":"/ /* List Of Strings */","span":{"file_name":"src/schema.rs","byte_start":511138,"byte_end":511163,"line_start":9,"line_end":9,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511164,"byte_end":511168,"line_start":10,"line_end":10,"column_start":1,"column_end":5}},{"value":"/ // JSON Schema","span":{"file_name":"src/schema.rs","byte_start":511169,"byte_end":511187,"line_start":11,"line_end":11,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"list\", \"of\": {\"type\": \"string\"}}","span":{"file_name":"src/schema.rs","byte_start":511188,"byte_end":511234,"line_start":12,"line_end":12,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511235,"byte_end":511239,"line_start":13,"line_end":13,"column_start":1,"column_end":5}},{"value":"/ // ES6 Schema","span":{"file_name":"src/schema.rs","byte_start":511240,"byte_end":511257,"line_start":14,"line_end":14,"column_start":1,"column_end":18}},{"value":"/ list({of: string()})","span":{"file_name":"src/schema.rs","byte_start":511258,"byte_end":511282,"line_start":15,"line_end":15,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511283,"byte_end":511287,"line_start":16,"line_end":16,"column_start":1,"column_end":5}},{"value":"/ // Byte schema (not human readable)","span":{"file_name":"src/schema.rs","byte_start":511288,"byte_end":511327,"line_start":17,"line_end":17,"column_start":1,"column_end":40}},{"value":"/ [23, 2, 0, 0, 0, 0, 0]","span":{"file_name":"src/schema.rs","byte_start":511328,"byte_end":511354,"line_start":18,"line_end":18,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":511355,"byte_end":511362,"line_start":19,"line_end":19,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511363,"byte_end":511367,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ NoProto provides complete import and export interop for all schema syntax variants. You can create a NoProto factory using any schema syntax then export to any syntax. This means you can compile your schema into bytes using the runtime, then later expand the bytes schema to JSON or IDL if you need to inspect it.","span":{"file_name":"src/schema.rs","byte_start":511368,"byte_end":511687,"line_start":21,"line_end":21,"column_start":1,"column_end":320}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511688,"byte_end":511692,"line_start":22,"line_end":22,"column_start":1,"column_end":5}},{"value":"/ Buffers are forever related to the schema that created them, buffers created from a given schema can only later be decoded, edited or compacted by that same schema or a safe mutation of it.","span":{"file_name":"src/schema.rs","byte_start":511693,"byte_end":511886,"line_start":23,"line_end":23,"column_start":1,"column_end":194}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":511887,"byte_end":511891,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ Schemas are validated and sanity checked upon creation. You cannot pass an invalid JSON or ES6 schema into a factory constructor and build/parse buffers with it. ","span":{"file_name":"src/schema.rs","byte_start":511892,"byte_end":512060,"line_start":25,"line_end":25,"column_start":1,"column_end":169}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512061,"byte_end":512065,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ Schemas can be as simple as a single scalar type, for example a perfectly valid schema for a buffer that contains only a string:","span":{"file_name":"src/schema.rs","byte_start":512066,"byte_end":512198,"line_start":27,"line_end":27,"column_start":1,"column_end":133}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":512199,"byte_end":512210,"line_start":28,"line_end":28,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":512211,"byte_end":512222,"line_start":29,"line_end":29,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":512223,"byte_end":512228,"line_start":30,"line_end":30,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":512229,"byte_end":512253,"line_start":31,"line_end":31,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":512254,"byte_end":512259,"line_start":32,"line_end":32,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":512260,"byte_end":512270,"line_start":33,"line_end":33,"column_start":1,"column_end":11}},{"value":"/ string()","span":{"file_name":"src/schema.rs","byte_start":512271,"byte_end":512283,"line_start":34,"line_end":34,"column_start":1,"column_end":13}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":512284,"byte_end":512291,"line_start":35,"line_end":35,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512292,"byte_end":512296,"line_start":36,"line_end":36,"column_start":1,"column_end":5}},{"value":"/ However, you will likely want to store more complicated objects, so that's easy to do as well.","span":{"file_name":"src/schema.rs","byte_start":512297,"byte_end":512395,"line_start":37,"line_end":37,"column_start":1,"column_end":99}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":512396,"byte_end":512407,"line_start":38,"line_end":38,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":512408,"byte_end":512419,"line_start":39,"line_end":39,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":512420,"byte_end":512425,"line_start":40,"line_end":40,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":512426,"byte_end":512451,"line_start":41,"line_end":41,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":512452,"byte_end":512471,"line_start":42,"line_end":42,"column_start":1,"column_end":20}},{"value":"/ [\"userID\", {\"type\": \"string\"}], // userID field contains a string","span":{"file_name":"src/schema.rs","byte_start":512472,"byte_end":512551,"line_start":43,"line_end":43,"column_start":1,"column_end":80}},{"value":"/ [\"password\", {\"type\": \"string\"}], // password field contains a string","span":{"file_name":"src/schema.rs","byte_start":512552,"byte_end":512633,"line_start":44,"line_end":44,"column_start":1,"column_end":82}},{"value":"/ [\"email\", {\"type\": \"string\"}], // email field contains a string","span":{"file_name":"src/schema.rs","byte_start":512634,"byte_end":512712,"line_start":45,"line_end":45,"column_start":1,"column_end":79}},{"value":"/ [\"age\", {\"type\": \"u8\"}] // age field contains a Uint8 number (0 - 255)","span":{"file_name":"src/schema.rs","byte_start":512713,"byte_end":512804,"line_start":46,"line_end":46,"column_start":1,"column_end":92}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":512805,"byte_end":512814,"line_start":47,"line_end":47,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":512815,"byte_end":512820,"line_start":48,"line_end":48,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":512821,"byte_end":512825,"line_start":49,"line_end":49,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":512826,"byte_end":512836,"line_start":50,"line_end":50,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":512837,"byte_end":512858,"line_start":51,"line_end":51,"column_start":1,"column_end":22}},{"value":"/ userID: string(), // userID field contains a string","span":{"file_name":"src/schema.rs","byte_start":512859,"byte_end":512921,"line_start":52,"line_end":52,"column_start":1,"column_end":63}},{"value":"/ password: string(), // password field contains a string","span":{"file_name":"src/schema.rs","byte_start":512922,"byte_end":512986,"line_start":53,"line_end":53,"column_start":1,"column_end":65}},{"value":"/ email: string(), // email field contains a string","span":{"file_name":"src/schema.rs","byte_start":512987,"byte_end":513048,"line_start":54,"line_end":54,"column_start":1,"column_end":62}},{"value":"/ age: u8() // age field contains a Uint8 number (0 - 255)","span":{"file_name":"src/schema.rs","byte_start":513049,"byte_end":513124,"line_start":55,"line_end":55,"column_start":1,"column_end":76}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":513125,"byte_end":513132,"line_start":56,"line_end":56,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513133,"byte_end":513140,"line_start":57,"line_end":57,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513141,"byte_end":513145,"line_start":58,"line_end":58,"column_start":1,"column_end":5}},{"value":"/ There are multiple collection types and they can be nested.","span":{"file_name":"src/schema.rs","byte_start":513146,"byte_end":513209,"line_start":59,"line_end":59,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513210,"byte_end":513214,"line_start":60,"line_end":60,"column_start":1,"column_end":5}},{"value":"/ For example, this is a list of structs. Every item in the list is a struct with two fields: id and title. Both fields are a string type.","span":{"file_name":"src/schema.rs","byte_start":513215,"byte_end":513357,"line_start":61,"line_end":61,"column_start":1,"column_end":143}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":513358,"byte_end":513369,"line_start":62,"line_end":62,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":513370,"byte_end":513381,"line_start":63,"line_end":63,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":513382,"byte_end":513387,"line_start":64,"line_end":64,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":513388,"byte_end":513411,"line_start":65,"line_end":65,"column_start":1,"column_end":24}},{"value":"/ \"of\": {","span":{"file_name":"src/schema.rs","byte_start":513412,"byte_end":513427,"line_start":66,"line_end":66,"column_start":1,"column_end":16}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":513428,"byte_end":513457,"line_start":67,"line_end":67,"column_start":1,"column_end":30}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":513458,"byte_end":513481,"line_start":68,"line_end":68,"column_start":1,"column_end":24}},{"value":"/ [\"id\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":513482,"byte_end":513527,"line_start":69,"line_end":69,"column_start":1,"column_end":46}},{"value":"/ [\"title\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":513528,"byte_end":513573,"line_start":70,"line_end":70,"column_start":1,"column_end":46}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":513574,"byte_end":513587,"line_start":71,"line_end":71,"column_start":1,"column_end":14}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513588,"byte_end":513597,"line_start":72,"line_end":72,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513598,"byte_end":513603,"line_start":73,"line_end":73,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513604,"byte_end":513608,"line_start":74,"line_end":74,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":513609,"byte_end":513619,"line_start":75,"line_end":75,"column_start":1,"column_end":11}},{"value":"/ list({of: struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":513620,"byte_end":513651,"line_start":76,"line_end":76,"column_start":1,"column_end":32}},{"value":"/ id: string(),","span":{"file_name":"src/schema.rs","byte_start":513652,"byte_end":513673,"line_start":77,"line_end":77,"column_start":1,"column_end":22}},{"value":"/ title: string()","span":{"file_name":"src/schema.rs","byte_start":513674,"byte_end":513697,"line_start":78,"line_end":78,"column_start":1,"column_end":24}},{"value":"/ }})})","span":{"file_name":"src/schema.rs","byte_start":513698,"byte_end":513707,"line_start":79,"line_end":79,"column_start":1,"column_end":10}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513708,"byte_end":513715,"line_start":80,"line_end":80,"column_start":1,"column_end":8}},{"value":"/ You can nest collections as much and however you'd like, up to 255 levels.","span":{"file_name":"src/schema.rs","byte_start":513716,"byte_end":513794,"line_start":81,"line_end":81,"column_start":1,"column_end":79}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513795,"byte_end":513799,"line_start":82,"line_end":82,"column_start":1,"column_end":5}},{"value":"/ A list of strings is just as easy...","span":{"file_name":"src/schema.rs","byte_start":513800,"byte_end":513840,"line_start":83,"line_end":83,"column_start":1,"column_end":41}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513841,"byte_end":513845,"line_start":84,"line_end":84,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":513846,"byte_end":513857,"line_start":85,"line_end":85,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":513858,"byte_end":513869,"line_start":86,"line_end":86,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":513870,"byte_end":513875,"line_start":87,"line_end":87,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":513876,"byte_end":513899,"line_start":88,"line_end":88,"column_start":1,"column_end":24}},{"value":"/ \"of\": { \"type\": \"string\" }","span":{"file_name":"src/schema.rs","byte_start":513900,"byte_end":513934,"line_start":89,"line_end":89,"column_start":1,"column_end":35}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":513935,"byte_end":513940,"line_start":90,"line_end":90,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513941,"byte_end":513945,"line_start":91,"line_end":91,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":513946,"byte_end":513956,"line_start":92,"line_end":92,"column_start":1,"column_end":11}},{"value":"/ list({of: string()})","span":{"file_name":"src/schema.rs","byte_start":513957,"byte_end":513981,"line_start":93,"line_end":93,"column_start":1,"column_end":25}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":513982,"byte_end":513989,"line_start":94,"line_end":94,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":513990,"byte_end":513994,"line_start":95,"line_end":95,"column_start":1,"column_end":5}},{"value":"/ **ES6 Schemas**
","span":{"file_name":"src/schema.rs","byte_start":513995,"byte_end":514019,"line_start":96,"line_end":96,"column_start":1,"column_end":25}},{"value":"/ NoProto's ES6/Javascript IDL schemas use a **very** strict subset of the ES6 syntax. Expressions like `2 + 3`, variables and most other javascripty things aren't supported. The ES6 IDL is not intended to provide a JS runtime, only a familiar syntax.","span":{"file_name":"src/schema.rs","byte_start":514020,"byte_end":514274,"line_start":97,"line_end":97,"column_start":1,"column_end":255}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":514275,"byte_end":514279,"line_start":98,"line_end":98,"column_start":1,"column_end":5}},{"value":"/ The following ES6 syntax is supported:","span":{"file_name":"src/schema.rs","byte_start":514280,"byte_end":514322,"line_start":99,"line_end":99,"column_start":1,"column_end":43}},{"value":"/ - Calling functions with or without arguments like `myFn()`, `myFn(1, 2)`, or `myFn(\"hello\", [1, 2])`","span":{"file_name":"src/schema.rs","byte_start":514323,"byte_end":514428,"line_start":100,"line_end":100,"column_start":1,"column_end":106}},{"value":"/ - Single line comments on their own line or at the end of a line using double slash `//`.","span":{"file_name":"src/schema.rs","byte_start":514429,"byte_end":514522,"line_start":101,"line_end":101,"column_start":1,"column_end":94}},{"value":"/ - Arrays with any valid JS object. Examples: `[]`, `[1, 2]`, `[\"hello\", myFn()]`","span":{"file_name":"src/schema.rs","byte_start":514523,"byte_end":514608,"line_start":102,"line_end":102,"column_start":1,"column_end":86}},{"value":"/ - Objects with string keys and any valid JS object for values. **Keys cannot use quotes**. Examples: `{}`, `{key: \"value\"}`, `{foo: \"bar\", baz: myFn()}`","span":{"file_name":"src/schema.rs","byte_start":514609,"byte_end":514767,"line_start":103,"line_end":103,"column_start":1,"column_end":159}},{"value":"/ - Arrays and objects can be safely nested. There is a nesting limit of 255 levels.","span":{"file_name":"src/schema.rs","byte_start":514768,"byte_end":514855,"line_start":104,"line_end":104,"column_start":1,"column_end":88}},{"value":"/ - Numbers, Strings contained in double quotes '`\"`', and Boolean values.","span":{"file_name":"src/schema.rs","byte_start":514856,"byte_end":514932,"line_start":105,"line_end":105,"column_start":1,"column_end":77}},{"value":"/ - Strings can safely contain escaped double quotes `\\\"` inside them.","span":{"file_name":"src/schema.rs","byte_start":514933,"byte_end":515005,"line_start":106,"line_end":106,"column_start":1,"column_end":73}},{"value":"/ - ES6 arrow methods that contain comments or statements seperated by semicolons. Example: `() => { string(); }`","span":{"file_name":"src/schema.rs","byte_start":515006,"byte_end":515121,"line_start":107,"line_end":107,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515122,"byte_end":515126,"line_start":108,"line_end":108,"column_start":1,"column_end":5}},{"value":"/ If the syntax is not in the above list, it will not be parsed correctly by NoProto.","span":{"file_name":"src/schema.rs","byte_start":515127,"byte_end":515214,"line_start":109,"line_end":109,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515215,"byte_end":515219,"line_start":110,"line_end":110,"column_start":1,"column_end":5}},{"value":"/ ES6 schemas are not as expensive to parse as JSON schemas, but nowhere near as fast to parse as byte schemas.","span":{"file_name":"src/schema.rs","byte_start":515220,"byte_end":515333,"line_start":111,"line_end":111,"column_start":1,"column_end":114}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515334,"byte_end":515338,"line_start":112,"line_end":112,"column_start":1,"column_end":5}},{"value":"/ **JSON Schemas**
","span":{"file_name":"src/schema.rs","byte_start":515339,"byte_end":515364,"line_start":113,"line_end":113,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515365,"byte_end":515369,"line_start":114,"line_end":114,"column_start":1,"column_end":5}},{"value":"/ If you're familiar with Typescript, JSON schemas can be described by this recursive interface:","span":{"file_name":"src/schema.rs","byte_start":515370,"byte_end":515468,"line_start":115,"line_end":115,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515469,"byte_end":515473,"line_start":116,"line_end":116,"column_start":1,"column_end":5}},{"value":"/ ```typescript","span":{"file_name":"src/schema.rs","byte_start":515474,"byte_end":515491,"line_start":117,"line_end":117,"column_start":1,"column_end":18}},{"value":"/ interface NP_Schema {","span":{"file_name":"src/schema.rs","byte_start":515492,"byte_end":515517,"line_start":118,"line_end":118,"column_start":1,"column_end":26}},{"value":"/ // table, string, bytes, etc","span":{"file_name":"src/schema.rs","byte_start":515518,"byte_end":515554,"line_start":119,"line_end":119,"column_start":1,"column_end":37}},{"value":"/ type: string; ","span":{"file_name":"src/schema.rs","byte_start":515555,"byte_end":515577,"line_start":120,"line_end":120,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515578,"byte_end":515586,"line_start":121,"line_end":121,"column_start":1,"column_end":9}},{"value":"/ // used by string & bytes types","span":{"file_name":"src/schema.rs","byte_start":515587,"byte_end":515626,"line_start":122,"line_end":122,"column_start":1,"column_end":40}},{"value":"/ size?: number;","span":{"file_name":"src/schema.rs","byte_start":515627,"byte_end":515649,"line_start":123,"line_end":123,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515650,"byte_end":515658,"line_start":124,"line_end":124,"column_start":1,"column_end":9}},{"value":"/ // used by decimal type, the number of decimal places every value has","span":{"file_name":"src/schema.rs","byte_start":515659,"byte_end":515736,"line_start":125,"line_end":125,"column_start":1,"column_end":78}},{"value":"/ exp?: number;","span":{"file_name":"src/schema.rs","byte_start":515737,"byte_end":515758,"line_start":126,"line_end":126,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515759,"byte_end":515767,"line_start":127,"line_end":127,"column_start":1,"column_end":9}},{"value":"/ // used by tuple to indicite bytewise sorting of children","span":{"file_name":"src/schema.rs","byte_start":515768,"byte_end":515833,"line_start":128,"line_end":128,"column_start":1,"column_end":66}},{"value":"/ sorted?: boolean;","span":{"file_name":"src/schema.rs","byte_start":515834,"byte_end":515859,"line_start":129,"line_end":129,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515860,"byte_end":515868,"line_start":130,"line_end":130,"column_start":1,"column_end":9}},{"value":"/ // used by list types","span":{"file_name":"src/schema.rs","byte_start":515869,"byte_end":515898,"line_start":131,"line_end":131,"column_start":1,"column_end":30}},{"value":"/ of?: NP_Schema","span":{"file_name":"src/schema.rs","byte_start":515899,"byte_end":515921,"line_start":132,"line_end":132,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515922,"byte_end":515930,"line_start":133,"line_end":133,"column_start":1,"column_end":9}},{"value":"/ // used by map types","span":{"file_name":"src/schema.rs","byte_start":515931,"byte_end":515959,"line_start":134,"line_end":134,"column_start":1,"column_end":29}},{"value":"/ value?: NP_Schema","span":{"file_name":"src/schema.rs","byte_start":515960,"byte_end":515985,"line_start":135,"line_end":135,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":515986,"byte_end":515990,"line_start":136,"line_end":136,"column_start":1,"column_end":5}},{"value":"/ // used by tuple types","span":{"file_name":"src/schema.rs","byte_start":515991,"byte_end":516021,"line_start":137,"line_end":137,"column_start":1,"column_end":31}},{"value":"/ values?: NP_Schema[]","span":{"file_name":"src/schema.rs","byte_start":516022,"byte_end":516050,"line_start":138,"line_end":138,"column_start":1,"column_end":29}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516051,"byte_end":516055,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ // used by struct types","span":{"file_name":"src/schema.rs","byte_start":516056,"byte_end":516087,"line_start":140,"line_end":140,"column_start":1,"column_end":32}},{"value":"/ fields?: [string, NP_Schema][];","span":{"file_name":"src/schema.rs","byte_start":516088,"byte_end":516127,"line_start":141,"line_end":141,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516128,"byte_end":516132,"line_start":142,"line_end":142,"column_start":1,"column_end":5}},{"value":"/ // used by option/enum types","span":{"file_name":"src/schema.rs","byte_start":516133,"byte_end":516169,"line_start":143,"line_end":143,"column_start":1,"column_end":37}},{"value":"/ choices?: string[];","span":{"file_name":"src/schema.rs","byte_start":516170,"byte_end":516197,"line_start":144,"line_end":144,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516198,"byte_end":516206,"line_start":145,"line_end":145,"column_start":1,"column_end":9}},{"value":"/ // used by unions","span":{"file_name":"src/schema.rs","byte_start":516207,"byte_end":516232,"line_start":146,"line_end":146,"column_start":1,"column_end":26}},{"value":"/ types?: [string, NP_Schema][];","span":{"file_name":"src/schema.rs","byte_start":516233,"byte_end":516271,"line_start":147,"line_end":147,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516272,"byte_end":516280,"line_start":148,"line_end":148,"column_start":1,"column_end":9}},{"value":"/ // used by portals","span":{"file_name":"src/schema.rs","byte_start":516281,"byte_end":516307,"line_start":149,"line_end":149,"column_start":1,"column_end":27}},{"value":"/ to?: string","span":{"file_name":"src/schema.rs","byte_start":516308,"byte_end":516327,"line_start":150,"line_end":150,"column_start":1,"column_end":20}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516328,"byte_end":516332,"line_start":151,"line_end":151,"column_start":1,"column_end":5}},{"value":"/ // default value for this item","span":{"file_name":"src/schema.rs","byte_start":516333,"byte_end":516371,"line_start":152,"line_end":152,"column_start":1,"column_end":39}},{"value":"/ default?: any;","span":{"file_name":"src/schema.rs","byte_start":516372,"byte_end":516394,"line_start":153,"line_end":153,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":516395,"byte_end":516400,"line_start":154,"line_end":154,"column_start":1,"column_end":6}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":516401,"byte_end":516408,"line_start":155,"line_end":155,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516409,"byte_end":516413,"line_start":156,"line_end":156,"column_start":1,"column_end":5}},{"value":"/ ## Schema Data Types","span":{"file_name":"src/schema.rs","byte_start":516414,"byte_end":516438,"line_start":157,"line_end":157,"column_start":1,"column_end":25}},{"value":"/ Each type has trade offs associated with it. The table and documentation below go into further detail.","span":{"file_name":"src/schema.rs","byte_start":516439,"byte_end":516546,"line_start":158,"line_end":158,"column_start":1,"column_end":108}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516547,"byte_end":516551,"line_start":159,"line_end":159,"column_start":1,"column_end":5}},{"value":"/ ### Supported Data Types","span":{"file_name":"src/schema.rs","byte_start":516552,"byte_end":516580,"line_start":160,"line_end":160,"column_start":1,"column_end":29}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":516581,"byte_end":516585,"line_start":161,"line_end":161,"column_start":1,"column_end":5}},{"value":"/ | Schema Type | Rust Type | Zero Copy Type |Bytewise Sorting | Bytes (Size) | Limits / Notes |","span":{"file_name":"src/schema.rs","byte_start":516586,"byte_end":516838,"line_start":162,"line_end":162,"column_start":1,"column_end":253}},{"value":"/ |----------------------------------------|--------------------------------------------------------------------------|------------------|------------------|-----------------|--------------------------------------------------------------------------|","span":{"file_name":"src/schema.rs","byte_start":516839,"byte_end":517091,"line_start":163,"line_end":163,"column_start":1,"column_end":253}},{"value":"/ | [`struct`](#struct) | [`NP_Struct`](../collection/table/struct.NP_Struct.html) | - |𐄂 | 4 bytes - ~4GB | Set of vtables with up to 255 named fields. |","span":{"file_name":"src/schema.rs","byte_start":517092,"byte_end":517346,"line_start":164,"line_end":164,"column_start":1,"column_end":252}},{"value":"/ | [`list`](#list) | [`NP_List`](../collection/list/struct.NP_List.html) | - |𐄂 | 8 bytes - ~4GB | Linked list with integer indexed values and up to 255 items. |","span":{"file_name":"src/schema.rs","byte_start":517347,"byte_end":517602,"line_start":165,"line_end":165,"column_start":1,"column_end":253}},{"value":"/ | [`map`](#map) | [`NP_Map`](../collection/map/struct.NP_Map.html) | - |𐄂 | 4 bytes - ~4GB | Linked list with `&str` keys, up to 255 items. |","span":{"file_name":"src/schema.rs","byte_start":517603,"byte_end":517858,"line_start":166,"line_end":166,"column_start":1,"column_end":253}},{"value":"/ | [`tuple`](#tuple) | [`NP_Tuple`](../collection/tuple/struct.NP_Tuple.html) | - |✓ * | 4 bytes - ~4GB | Static sized collection of specific values. Up to 255 values. |","span":{"file_name":"src/schema.rs","byte_start":517859,"byte_end":518113,"line_start":167,"line_end":167,"column_start":1,"column_end":253}},{"value":"/ | [`any`](#any) | [`NP_Any`](../pointer/any/struct.NP_Any.html) | - |𐄂 | 2 bytes - ~4GB | Generic type. |","span":{"file_name":"src/schema.rs","byte_start":518114,"byte_end":518369,"line_start":168,"line_end":168,"column_start":1,"column_end":253}},{"value":"/ | [`string`](#string) | [`String`](https://doc.rust-lang.org/std/string/struct.String.html) | &str |✓ ** | 2 bytes - ~4GB | Utf-8 formatted string. |","span":{"file_name":"src/schema.rs","byte_start":518370,"byte_end":518624,"line_start":169,"line_end":169,"column_start":1,"column_end":253}},{"value":"/ | [`bytes`](#bytes) | [`Vec`](https://doc.rust-lang.org/std/vec/struct.Vec.html) | &[u8] |✓ ** | 2 bytes - ~4GB | Arbitrary bytes. |","span":{"file_name":"src/schema.rs","byte_start":518625,"byte_end":518879,"line_start":170,"line_end":170,"column_start":1,"column_end":253}},{"value":"/ | [`int8`](#int8-int16-int32-int64) | [`i8`](https://doc.rust-lang.org/std/primitive.i8.html) | - |✓ | 1 byte | -127 to 127 |","span":{"file_name":"src/schema.rs","byte_start":518880,"byte_end":519134,"line_start":171,"line_end":171,"column_start":1,"column_end":253}},{"value":"/ | [`int16`](#int8-int16-int32-int64) | [`i16`](https://doc.rust-lang.org/std/primitive.i16.html) | - |✓ | 2 bytes | -32,768 to 32,768 |","span":{"file_name":"src/schema.rs","byte_start":519135,"byte_end":519389,"line_start":172,"line_end":172,"column_start":1,"column_end":253}},{"value":"/ | [`int32`](#int8-int16-int32-int64) | [`i32`](https://doc.rust-lang.org/std/primitive.i32.html) | - |✓ | 4 bytes | -2,147,483,648 to 2,147,483,648 |","span":{"file_name":"src/schema.rs","byte_start":519390,"byte_end":519644,"line_start":173,"line_end":173,"column_start":1,"column_end":253}},{"value":"/ | [`int64`](#int8-int16-int32-int64) | [`i64`](https://doc.rust-lang.org/std/primitive.i64.html) | - |✓ | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,808 |","span":{"file_name":"src/schema.rs","byte_start":519645,"byte_end":519899,"line_start":174,"line_end":174,"column_start":1,"column_end":253}},{"value":"/ | [`uint8`](#uint8-uint16-uint32-uint64) | [`u8`](https://doc.rust-lang.org/std/primitive.u8.html) | - |✓ | 1 byte | 0 - 255 |","span":{"file_name":"src/schema.rs","byte_start":519900,"byte_end":520154,"line_start":175,"line_end":175,"column_start":1,"column_end":253}},{"value":"/ | [`uint16`](#uint8-uint16-uint32-uint64)| [`u16`](https://doc.rust-lang.org/std/primitive.u16.html) | - |✓ | 2 bytes | 0 - 65,535 |","span":{"file_name":"src/schema.rs","byte_start":520155,"byte_end":520409,"line_start":176,"line_end":176,"column_start":1,"column_end":253}},{"value":"/ | [`uint32`](#uint8-uint16-uint32-uint64)| [`u32`](https://doc.rust-lang.org/std/primitive.u32.html) | - |✓ | 4 bytes | 0 - 4,294,967,295 |","span":{"file_name":"src/schema.rs","byte_start":520410,"byte_end":520664,"line_start":177,"line_end":177,"column_start":1,"column_end":253}},{"value":"/ | [`uint64`](#uint8-uint16-uint32-uint64)| [`u64`](https://doc.rust-lang.org/std/primitive.u64.html) | - |✓ | 8 bytes | 0 - 18,446,744,073,709,551,616 |","span":{"file_name":"src/schema.rs","byte_start":520665,"byte_end":520919,"line_start":178,"line_end":178,"column_start":1,"column_end":253}},{"value":"/ | [`float`](#float-double) | [`f32`](https://doc.rust-lang.org/std/primitive.f32.html) | - |𐄂 | 4 bytes | -3.4e38 to 3.4e38 |","span":{"file_name":"src/schema.rs","byte_start":520920,"byte_end":521175,"line_start":179,"line_end":179,"column_start":1,"column_end":253}},{"value":"/ | [`double`](#float-double) | [`f64`](https://doc.rust-lang.org/std/primitive.f64.html) | - |𐄂 | 8 bytes | -1.7e308 to 1.7e308 |","span":{"file_name":"src/schema.rs","byte_start":521176,"byte_end":521431,"line_start":180,"line_end":180,"column_start":1,"column_end":253}},{"value":"/ | [`enum`](#enum) | [`NP_Enum`](../pointer/option/struct.NP_Enum.html) | - |✓ | 1 byte | Up to 255 string based options in schema. |","span":{"file_name":"src/schema.rs","byte_start":521432,"byte_end":521686,"line_start":181,"line_end":181,"column_start":1,"column_end":253}},{"value":"/ | [`bool`](#bool) | [`bool`](https://doc.rust-lang.org/std/primitive.bool.html) | - |✓ | 1 byte | |","span":{"file_name":"src/schema.rs","byte_start":521687,"byte_end":521941,"line_start":182,"line_end":182,"column_start":1,"column_end":253}},{"value":"/ | [`decimal`](#decimal) | [`NP_Dec`](../pointer/dec/struct.NP_Dec.html) | - |✓ | 8 bytes | Fixed point decimal number based on i64. |","span":{"file_name":"src/schema.rs","byte_start":521942,"byte_end":522196,"line_start":183,"line_end":183,"column_start":1,"column_end":253}},{"value":"/ | [`geo4`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 4 bytes | 1.1km resolution (city) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522197,"byte_end":522451,"line_start":184,"line_end":184,"column_start":1,"column_end":253}},{"value":"/ | [`geo8`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 8 bytes | 11mm resolution (marble) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522452,"byte_end":522706,"line_start":185,"line_end":185,"column_start":1,"column_end":253}},{"value":"/ | [`geo16`](#geo4-geo8-geo16) | [`NP_Geo`](../pointer/geo/struct.NP_Geo.html) | - |✓ | 16 bytes | 110 microns resolution (grain of sand) geographic coordinate |","span":{"file_name":"src/schema.rs","byte_start":522707,"byte_end":522961,"line_start":186,"line_end":186,"column_start":1,"column_end":253}},{"value":"/ | [`ulid`](#ulid) | [`NP_ULID`](../pointer/ulid/struct.NP_ULID.html) | &NP_ULID |✓ | 16 bytes | 6 bytes for the timestamp (5,224 years), 10 bytes of randomness (1.2e24) |","span":{"file_name":"src/schema.rs","byte_start":522962,"byte_end":523216,"line_start":187,"line_end":187,"column_start":1,"column_end":253}},{"value":"/ | [`uuid`](#uuid) | [`NP_UUID`](../pointer/uuid/struct.NP_UUID.html) | &NP_UUID |✓ | 16 bytes | v4 UUID, 2e37 possible UUIDs |","span":{"file_name":"src/schema.rs","byte_start":523217,"byte_end":523471,"line_start":188,"line_end":188,"column_start":1,"column_end":253}},{"value":"/ | [`date`](#date) | [`NP_Date`](../pointer/date/struct.NP_Date.html) | - |✓ | 8 bytes | Good to store unix epoch (in milliseconds) until the year 584,866,263 |","span":{"file_name":"src/schema.rs","byte_start":523472,"byte_end":523726,"line_start":189,"line_end":189,"column_start":1,"column_end":253}},{"value":"/ | [`portal`](#portal) | - | - |𐄂 | 0 bytes | A type that just points to another type in the buffer. | ","span":{"file_name":"src/schema.rs","byte_start":523727,"byte_end":523983,"line_start":190,"line_end":190,"column_start":1,"column_end":254}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":523984,"byte_end":523988,"line_start":191,"line_end":191,"column_start":1,"column_end":5}},{"value":"/ - \\* `sorting` must be set to `true` in the schema for this object to enable sorting.","span":{"file_name":"src/schema.rs","byte_start":523989,"byte_end":524078,"line_start":192,"line_end":192,"column_start":1,"column_end":90}},{"value":"/ - \\*\\* String & Bytes can be bytewise sorted only if they have a `size` property in the schema","span":{"file_name":"src/schema.rs","byte_start":524079,"byte_end":524177,"line_start":193,"line_end":193,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524178,"byte_end":524182,"line_start":194,"line_end":194,"column_start":1,"column_end":5}},{"value":"/ # Legend","span":{"file_name":"src/schema.rs","byte_start":524183,"byte_end":524195,"line_start":195,"line_end":195,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524196,"byte_end":524200,"line_start":196,"line_end":196,"column_start":1,"column_end":5}},{"value":"/ **Bytewise Sorting**
","span":{"file_name":"src/schema.rs","byte_start":524201,"byte_end":524230,"line_start":197,"line_end":197,"column_start":1,"column_end":30}},{"value":"/ Bytewise sorting means that two buffers can be compared at the byte level *without deserializing* and a correct ordering between the buffer's internal values will be found. This is extremely useful for storing ordered keys in databases.","span":{"file_name":"src/schema.rs","byte_start":524231,"byte_end":524472,"line_start":198,"line_end":198,"column_start":1,"column_end":242}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524473,"byte_end":524477,"line_start":199,"line_end":199,"column_start":1,"column_end":5}},{"value":"/ Each type has specific notes on wether it supports bytewise sorting and what things to consider if using it for that purpose.","span":{"file_name":"src/schema.rs","byte_start":524478,"byte_end":524607,"line_start":200,"line_end":200,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524608,"byte_end":524612,"line_start":201,"line_end":201,"column_start":1,"column_end":5}},{"value":"/ You can sort by multiple types/values if a tuple is used. The ordering of values in the tuple will determine the sort order. For example if you have a tuple with types (A, B) the ordering will first sort by A, then B where A is identical. This is true for any number of items, for example a tuple with types (A,B,C,D) will sort by D when A, B & C are identical.","span":{"file_name":"src/schema.rs","byte_start":524613,"byte_end":524981,"line_start":202,"line_end":202,"column_start":1,"column_end":369}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":524982,"byte_end":524986,"line_start":203,"line_end":203,"column_start":1,"column_end":5}},{"value":"/ **Compaction**
","span":{"file_name":"src/schema.rs","byte_start":524987,"byte_end":525010,"line_start":204,"line_end":204,"column_start":1,"column_end":24}},{"value":"/ Campaction is an optional operation you can perform at any time on a buffer, typically used to recover free space. NoProto Buffers are contiguous, growing arrays of bytes. When you add or update a value sometimes additional memory is used and the old value is dereferenced, meaning the buffer is now occupying more space than it needs to. This space can be recovered with compaction. Compaction involves a recursive, full copy of all referenced & valid values of the buffer, it's an expensive operation that should be avoided.","span":{"file_name":"src/schema.rs","byte_start":525011,"byte_end":525545,"line_start":205,"line_end":205,"column_start":1,"column_end":535}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525546,"byte_end":525550,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ Sometimes the space you can recover with compaction is minimal or you can craft your schema and upates in such a way that compactions are never needed, in these cases compaction can be avoided with little to no consequence.","span":{"file_name":"src/schema.rs","byte_start":525551,"byte_end":525778,"line_start":207,"line_end":207,"column_start":1,"column_end":228}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525779,"byte_end":525783,"line_start":208,"line_end":208,"column_start":1,"column_end":5}},{"value":"/ Deleting a value will almost always mean space can be recovered with compaction, but updating values can have different outcomes to the space used depending on the type and options.","span":{"file_name":"src/schema.rs","byte_start":525784,"byte_end":525969,"line_start":209,"line_end":209,"column_start":1,"column_end":186}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":525970,"byte_end":525974,"line_start":210,"line_end":210,"column_start":1,"column_end":5}},{"value":"/ Each type will have notes on how updates can lead to wasted bytes and require compaction to recover the wasted space.","span":{"file_name":"src/schema.rs","byte_start":525975,"byte_end":526096,"line_start":211,"line_end":211,"column_start":1,"column_end":122}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526097,"byte_end":526101,"line_start":212,"line_end":212,"column_start":1,"column_end":5}},{"value":"/ - [How do you run compaction on a buffer?](../buffer/struct.NP_Buffer.html#method.compact)","span":{"file_name":"src/schema.rs","byte_start":526102,"byte_end":526196,"line_start":213,"line_end":213,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526197,"byte_end":526201,"line_start":214,"line_end":214,"column_start":1,"column_end":5}},{"value":"/ **Schema Mutations**
","span":{"file_name":"src/schema.rs","byte_start":526202,"byte_end":526232,"line_start":215,"line_end":215,"column_start":1,"column_end":31}},{"value":"/ Once a schema is created all the buffers it creates depend on that schema for reliable de/serialization, data access, and compaction.","span":{"file_name":"src/schema.rs","byte_start":526233,"byte_end":526370,"line_start":216,"line_end":216,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526371,"byte_end":526375,"line_start":217,"line_end":217,"column_start":1,"column_end":5}},{"value":"/ There are safe ways you can mutate a schema after it's been created without breaking old buffers, however those updates are limited. The safe mutations will be mentioned for each type, consider any other schema mutations unsafe.","span":{"file_name":"src/schema.rs","byte_start":526376,"byte_end":526609,"line_start":218,"line_end":218,"column_start":1,"column_end":234}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526610,"byte_end":526614,"line_start":219,"line_end":219,"column_start":1,"column_end":5}},{"value":"/ Changing the `type` property of any value in the schame is unsafe. It's only sometimes safe to modify properties besides `type`.","span":{"file_name":"src/schema.rs","byte_start":526615,"byte_end":526748,"line_start":220,"line_end":220,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526749,"byte_end":526753,"line_start":221,"line_end":221,"column_start":1,"column_end":5}},{"value":"/ # Schema Types","span":{"file_name":"src/schema.rs","byte_start":526754,"byte_end":526772,"line_start":222,"line_end":222,"column_start":1,"column_end":19}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526773,"byte_end":526777,"line_start":223,"line_end":223,"column_start":1,"column_end":5}},{"value":"/ Every schema type maps exactly to a native data type in your code.","span":{"file_name":"src/schema.rs","byte_start":526778,"byte_end":526848,"line_start":224,"line_end":224,"column_start":1,"column_end":71}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526849,"byte_end":526853,"line_start":225,"line_end":225,"column_start":1,"column_end":5}},{"value":"/ ## struct","span":{"file_name":"src/schema.rs","byte_start":526854,"byte_end":526867,"line_start":226,"line_end":226,"column_start":1,"column_end":14}},{"value":"/ Structs represnt a fixed number of named fields, with each field having it's own data type.","span":{"file_name":"src/schema.rs","byte_start":526868,"byte_end":526963,"line_start":227,"line_end":227,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":526964,"byte_end":526968,"line_start":228,"line_end":228,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":526969,"byte_end":527008,"line_start":229,"line_end":229,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Fields without values will be removed from the buffer durring compaction.","span":{"file_name":"src/schema.rs","byte_start":527009,"byte_end":527104,"line_start":230,"line_end":230,"column_start":1,"column_end":96}},{"value":"/ - **Schema Mutations**: The ordering of items in the `fields` property must always remain the same. It's safe to add new fields to the bottom of the field list or rename fields, but never to remove fields. field types cannot be changed safely. If you need to depreciate a field, set it's name to an empty string. ","span":{"file_name":"src/schema.rs","byte_start":527105,"byte_end":527425,"line_start":231,"line_end":231,"column_start":1,"column_end":321}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527426,"byte_end":527430,"line_start":232,"line_end":232,"column_start":1,"column_end":5}},{"value":"/ Struct schemas have a single required property called `fields`. The `fields` property is an array of arrays that represent all possible fields in the struct and their data types. Any type can be used in fields, including other structs. Structs cannot have more than 255 fields, and the field names cannot be longer than 255 UTF8 bytes.","span":{"file_name":"src/schema.rs","byte_start":527431,"byte_end":527773,"line_start":233,"line_end":233,"column_start":1,"column_end":343}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527774,"byte_end":527778,"line_start":234,"line_end":234,"column_start":1,"column_end":5}},{"value":"/ Structs do not store the field names in the buffer, only the field index, so this is a very efficient way to store associated data.","span":{"file_name":"src/schema.rs","byte_start":527779,"byte_end":527914,"line_start":235,"line_end":235,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527915,"byte_end":527919,"line_start":236,"line_end":236,"column_start":1,"column_end":5}},{"value":"/ If you need flexible field names use a `map` type instead.","span":{"file_name":"src/schema.rs","byte_start":527920,"byte_end":527982,"line_start":237,"line_end":237,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":527983,"byte_end":527987,"line_start":238,"line_end":238,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":527988,"byte_end":527999,"line_start":239,"line_end":239,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":528000,"byte_end":528011,"line_start":240,"line_end":240,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":528012,"byte_end":528017,"line_start":241,"line_end":241,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":528018,"byte_end":528043,"line_start":242,"line_end":242,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [ // can have between 1 and 255 fields","span":{"file_name":"src/schema.rs","byte_start":528044,"byte_end":528100,"line_start":243,"line_end":243,"column_start":1,"column_end":57}},{"value":"/ [\"field name\", {\"type\": \"data type for this field\"}],","span":{"file_name":"src/schema.rs","byte_start":528101,"byte_end":528167,"line_start":244,"line_end":244,"column_start":1,"column_end":67}},{"value":"/ [\"name\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":528168,"byte_end":528217,"line_start":245,"line_end":245,"column_start":1,"column_end":50}},{"value":"/ [\"tags\", {\"type\": \"list\", \"of\": { // nested list of strings","span":{"file_name":"src/schema.rs","byte_start":528218,"byte_end":528297,"line_start":246,"line_end":246,"column_start":1,"column_end":80}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":528298,"byte_end":528330,"line_start":247,"line_end":247,"column_start":1,"column_end":33}},{"value":"/ }}],","span":{"file_name":"src/schema.rs","byte_start":528331,"byte_end":528347,"line_start":248,"line_end":248,"column_start":1,"column_end":17}},{"value":"/ [\"age\", {\"type\": \"u8\"}], // Uint8 number","span":{"file_name":"src/schema.rs","byte_start":528348,"byte_end":528409,"line_start":249,"line_end":249,"column_start":1,"column_end":62}},{"value":"/ [\"meta\", {\"type\": \"struct\", \"fields\": [ // nested struct","span":{"file_name":"src/schema.rs","byte_start":528410,"byte_end":528486,"line_start":250,"line_end":250,"column_start":1,"column_end":77}},{"value":"/ [\"favorite_color\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":528487,"byte_end":528543,"line_start":251,"line_end":251,"column_start":1,"column_end":57}},{"value":"/ [\"favorite_sport\", {\"type\": \"string\"}]","span":{"file_name":"src/schema.rs","byte_start":528544,"byte_end":528599,"line_start":252,"line_end":252,"column_start":1,"column_end":56}},{"value":"/ ]}]","span":{"file_name":"src/schema.rs","byte_start":528600,"byte_end":528615,"line_start":253,"line_end":253,"column_start":1,"column_end":16}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":528616,"byte_end":528625,"line_start":254,"line_end":254,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":528626,"byte_end":528631,"line_start":255,"line_end":255,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":528632,"byte_end":528636,"line_start":256,"line_end":256,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":528637,"byte_end":528647,"line_start":257,"line_end":257,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":528648,"byte_end":528669,"line_start":258,"line_end":258,"column_start":1,"column_end":22}},{"value":"/ // data_type() isn't a real data type...","span":{"file_name":"src/schema.rs","byte_start":528670,"byte_end":528718,"line_start":259,"line_end":259,"column_start":1,"column_end":49}},{"value":"/ field_name: data_type(),","span":{"file_name":"src/schema.rs","byte_start":528719,"byte_end":528751,"line_start":260,"line_end":260,"column_start":1,"column_end":33}},{"value":"/ name: string(),","span":{"file_name":"src/schema.rs","byte_start":528752,"byte_end":528775,"line_start":261,"line_end":261,"column_start":1,"column_end":24}},{"value":"/ tags: list({of: string()}),","span":{"file_name":"src/schema.rs","byte_start":528776,"byte_end":528811,"line_start":262,"line_end":262,"column_start":1,"column_end":36}},{"value":"/ age: u8(),","span":{"file_name":"src/schema.rs","byte_start":528812,"byte_end":528830,"line_start":263,"line_end":263,"column_start":1,"column_end":19}},{"value":"/ meta: struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":528831,"byte_end":528862,"line_start":264,"line_end":264,"column_start":1,"column_end":32}},{"value":"/ favorite_color: string(),","span":{"file_name":"src/schema.rs","byte_start":528863,"byte_end":528900,"line_start":265,"line_end":265,"column_start":1,"column_end":38}},{"value":"/ favorite_sport: string()","span":{"file_name":"src/schema.rs","byte_start":528901,"byte_end":528937,"line_start":266,"line_end":266,"column_start":1,"column_end":37}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":528938,"byte_end":528949,"line_start":267,"line_end":267,"column_start":1,"column_end":12}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":528950,"byte_end":528957,"line_start":268,"line_end":268,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":528958,"byte_end":528965,"line_start":269,"line_end":269,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":528966,"byte_end":528970,"line_start":270,"line_end":270,"column_start":1,"column_end":5}},{"value":"/ ## list","span":{"file_name":"src/schema.rs","byte_start":528971,"byte_end":528982,"line_start":271,"line_end":271,"column_start":1,"column_end":12}},{"value":"/ Lists represent a dynamically sized list of items. The type for every item in the list is identical and the order of entries is mainted in the buffer. Lists do not have to contain contiguous entries, gaps can safely and efficiently be stored.","span":{"file_name":"src/schema.rs","byte_start":528983,"byte_end":529231,"line_start":272,"line_end":272,"column_start":1,"column_end":249}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529232,"byte_end":529236,"line_start":273,"line_end":273,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":529237,"byte_end":529276,"line_start":274,"line_end":274,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Indexes that have had their value cleared will be removed from the buffer. If a specific index never had a value, it occupies *zero* space.","span":{"file_name":"src/schema.rs","byte_start":529277,"byte_end":529439,"line_start":275,"line_end":275,"column_start":1,"column_end":163}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":529440,"byte_end":529472,"line_start":276,"line_end":276,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529473,"byte_end":529477,"line_start":277,"line_end":277,"column_start":1,"column_end":5}},{"value":"/ Lists have a single required property in the schema, `of`. The `of` property contains another schema for the type of data contained in the list. Any type is supported, including another list. ","span":{"file_name":"src/schema.rs","byte_start":529478,"byte_end":529677,"line_start":278,"line_end":278,"column_start":1,"column_end":200}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529678,"byte_end":529682,"line_start":279,"line_end":279,"column_start":1,"column_end":5}},{"value":"/ The more items you have in a list, the slower it will be to seek to values towards the end of the list or loop through the list.","span":{"file_name":"src/schema.rs","byte_start":529683,"byte_end":529815,"line_start":280,"line_end":280,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":529816,"byte_end":529820,"line_start":281,"line_end":281,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":529821,"byte_end":529832,"line_start":282,"line_end":282,"column_start":1,"column_end":12}},{"value":"/ // a list of list of strings","span":{"file_name":"src/schema.rs","byte_start":529833,"byte_end":529865,"line_start":283,"line_end":283,"column_start":1,"column_end":33}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":529866,"byte_end":529877,"line_start":284,"line_end":284,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":529878,"byte_end":529883,"line_start":285,"line_end":285,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":529884,"byte_end":529907,"line_start":286,"line_end":286,"column_start":1,"column_end":24}},{"value":"/ \"of\": {","span":{"file_name":"src/schema.rs","byte_start":529908,"byte_end":529923,"line_start":287,"line_end":287,"column_start":1,"column_end":16}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":529924,"byte_end":529951,"line_start":288,"line_end":288,"column_start":1,"column_end":28}},{"value":"/ \"of\": {\"type\": \"string\"}","span":{"file_name":"src/schema.rs","byte_start":529952,"byte_end":529988,"line_start":289,"line_end":289,"column_start":1,"column_end":37}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":529989,"byte_end":529998,"line_start":290,"line_end":290,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":529999,"byte_end":530004,"line_start":291,"line_end":291,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":530005,"byte_end":530015,"line_start":292,"line_end":292,"column_start":1,"column_end":11}},{"value":"/ list({of: list({of: string()})})","span":{"file_name":"src/schema.rs","byte_start":530016,"byte_end":530052,"line_start":293,"line_end":293,"column_start":1,"column_end":37}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530053,"byte_end":530057,"line_start":294,"line_end":294,"column_start":1,"column_end":5}},{"value":"/ // list of numbers","span":{"file_name":"src/schema.rs","byte_start":530058,"byte_end":530080,"line_start":295,"line_end":295,"column_start":1,"column_end":23}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":530081,"byte_end":530092,"line_start":296,"line_end":296,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":530093,"byte_end":530098,"line_start":297,"line_end":297,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/schema.rs","byte_start":530099,"byte_end":530122,"line_start":298,"line_end":298,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"i32\"}","span":{"file_name":"src/schema.rs","byte_start":530123,"byte_end":530152,"line_start":299,"line_end":299,"column_start":1,"column_end":30}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":530153,"byte_end":530158,"line_start":300,"line_end":300,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530159,"byte_end":530163,"line_start":301,"line_end":301,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":530164,"byte_end":530174,"line_start":302,"line_end":302,"column_start":1,"column_end":11}},{"value":"/ list({of: i32()})","span":{"file_name":"src/schema.rs","byte_start":530175,"byte_end":530196,"line_start":303,"line_end":303,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":530197,"byte_end":530204,"line_start":304,"line_end":304,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530205,"byte_end":530209,"line_start":305,"line_end":305,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530210,"byte_end":530214,"line_start":306,"line_end":306,"column_start":1,"column_end":5}},{"value":"/ ## map","span":{"file_name":"src/schema.rs","byte_start":530215,"byte_end":530225,"line_start":307,"line_end":307,"column_start":1,"column_end":11}},{"value":"/ A map is a dynamically sized list of items where each key is a `&str`. Every value of a map has the same type.","span":{"file_name":"src/schema.rs","byte_start":530226,"byte_end":530341,"line_start":308,"line_end":308,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530342,"byte_end":530346,"line_start":309,"line_end":309,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported","span":{"file_name":"src/schema.rs","byte_start":530347,"byte_end":530386,"line_start":310,"line_end":310,"column_start":1,"column_end":40}},{"value":"/ - **Compaction**: Keys without values are removed from the buffer","span":{"file_name":"src/schema.rs","byte_start":530387,"byte_end":530456,"line_start":311,"line_end":311,"column_start":1,"column_end":70}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":530457,"byte_end":530489,"line_start":312,"line_end":312,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530490,"byte_end":530494,"line_start":313,"line_end":313,"column_start":1,"column_end":5}},{"value":"/ Maps have a single required property in the schema, `value`. The property is used to describe the schema of the values for the map. Values can be any schema type, including another map.","span":{"file_name":"src/schema.rs","byte_start":530495,"byte_end":530685,"line_start":314,"line_end":314,"column_start":1,"column_end":191}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530686,"byte_end":530690,"line_start":315,"line_end":315,"column_start":1,"column_end":5}},{"value":"/ If you expect to have fixed, predictable keys then use a `table` type instead. Maps are less efficient than tables because keys are stored in the buffer. ","span":{"file_name":"src/schema.rs","byte_start":530691,"byte_end":530851,"line_start":316,"line_end":316,"column_start":1,"column_end":161}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":530852,"byte_end":530856,"line_start":317,"line_end":317,"column_start":1,"column_end":5}},{"value":"/ The more items you have in a map, the slower it will be to seek to values or loop through the map. Tables are far more performant for seeking to values.","span":{"file_name":"src/schema.rs","byte_start":530857,"byte_end":531014,"line_start":318,"line_end":318,"column_start":1,"column_end":158}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531015,"byte_end":531019,"line_start":319,"line_end":319,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":531020,"byte_end":531031,"line_start":320,"line_end":320,"column_start":1,"column_end":12}},{"value":"/ // a map where every value is a string","span":{"file_name":"src/schema.rs","byte_start":531032,"byte_end":531074,"line_start":321,"line_end":321,"column_start":1,"column_end":43}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":531075,"byte_end":531086,"line_start":322,"line_end":322,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":531087,"byte_end":531092,"line_start":323,"line_end":323,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/schema.rs","byte_start":531093,"byte_end":531115,"line_start":324,"line_end":324,"column_start":1,"column_end":23}},{"value":"/ \"value\": {","span":{"file_name":"src/schema.rs","byte_start":531116,"byte_end":531134,"line_start":325,"line_end":325,"column_start":1,"column_end":19}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":531135,"byte_end":531163,"line_start":326,"line_end":326,"column_start":1,"column_end":29}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":531164,"byte_end":531173,"line_start":327,"line_end":327,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":531174,"byte_end":531179,"line_start":328,"line_end":328,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":531180,"byte_end":531190,"line_start":329,"line_end":329,"column_start":1,"column_end":11}},{"value":"/ map({value: string()})","span":{"file_name":"src/schema.rs","byte_start":531191,"byte_end":531217,"line_start":330,"line_end":330,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":531218,"byte_end":531225,"line_start":331,"line_end":331,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531226,"byte_end":531230,"line_start":332,"line_end":332,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531231,"byte_end":531235,"line_start":333,"line_end":333,"column_start":1,"column_end":5}},{"value":"/ ## tuple","span":{"file_name":"src/schema.rs","byte_start":531236,"byte_end":531248,"line_start":334,"line_end":334,"column_start":1,"column_end":13}},{"value":"/ A tuple is a fixed size list of items. Each item has it's own type and index. Tuples support up to 255 items.","span":{"file_name":"src/schema.rs","byte_start":531249,"byte_end":531364,"line_start":335,"line_end":335,"column_start":1,"column_end":116}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531365,"byte_end":531369,"line_start":336,"line_end":336,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported if all children are scalars that support bytewise sorting and schema `sorted` is set to `true`.","span":{"file_name":"src/schema.rs","byte_start":531370,"byte_end":531503,"line_start":337,"line_end":337,"column_start":1,"column_end":134}},{"value":"/ - **Compaction**: If `sorted` is true, compaction will not save space. Otherwise, tuples only reduce in size if children are deleted or children with a dyanmic size are updated.","span":{"file_name":"src/schema.rs","byte_start":531504,"byte_end":531686,"line_start":338,"line_end":338,"column_start":1,"column_end":183}},{"value":"/ - **Schema Mutations**: No mutations are safe","span":{"file_name":"src/schema.rs","byte_start":531687,"byte_end":531736,"line_start":339,"line_end":339,"column_start":1,"column_end":50}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531737,"byte_end":531741,"line_start":340,"line_end":340,"column_start":1,"column_end":5}},{"value":"/ Tuples have a single required property in the schema called `values`. It's an array of schemas that represnt the tuple values. Any schema is allowed, including other Tuples.","span":{"file_name":"src/schema.rs","byte_start":531742,"byte_end":531921,"line_start":341,"line_end":341,"column_start":1,"column_end":180}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":531922,"byte_end":531926,"line_start":342,"line_end":342,"column_start":1,"column_end":5}},{"value":"/ **Sorting**
","span":{"file_name":"src/schema.rs","byte_start":531927,"byte_end":531947,"line_start":343,"line_end":343,"column_start":1,"column_end":21}},{"value":"/ You can use tuples to support compound bytewise sorting across multiple values of different types. By setting the `sorted` property to `true` you enable a strict mode for the tuple that enables sorting features. When `sorted` is enabled only scalar values that support sorting are allowed in the schema. For example, strings/bytes types can only be fixed size.","span":{"file_name":"src/schema.rs","byte_start":531948,"byte_end":532315,"line_start":344,"line_end":344,"column_start":1,"column_end":368}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532316,"byte_end":532320,"line_start":345,"line_end":345,"column_start":1,"column_end":5}},{"value":"/ When `sorted` is true the order of values is gauranteed to be constant in every buffer and all buffers will be identical in size.","span":{"file_name":"src/schema.rs","byte_start":532321,"byte_end":532454,"line_start":346,"line_end":346,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532455,"byte_end":532459,"line_start":347,"line_end":347,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":532460,"byte_end":532471,"line_start":348,"line_end":348,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":532472,"byte_end":532483,"line_start":349,"line_end":349,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":532484,"byte_end":532489,"line_start":350,"line_end":350,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/schema.rs","byte_start":532490,"byte_end":532514,"line_start":351,"line_end":351,"column_start":1,"column_end":25}},{"value":"/ \"values\": [","span":{"file_name":"src/schema.rs","byte_start":532515,"byte_end":532534,"line_start":352,"line_end":352,"column_start":1,"column_end":20}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/schema.rs","byte_start":532535,"byte_end":532566,"line_start":353,"line_end":353,"column_start":1,"column_end":32}},{"value":"/ {\"type\": \"list\", \"of\": {\"type\": \"strings\"}},","span":{"file_name":"src/schema.rs","byte_start":532567,"byte_end":532623,"line_start":354,"line_end":354,"column_start":1,"column_end":57}},{"value":"/ {\"type\": \"u64\"}","span":{"file_name":"src/schema.rs","byte_start":532624,"byte_end":532651,"line_start":355,"line_end":355,"column_start":1,"column_end":28}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":532652,"byte_end":532661,"line_start":356,"line_end":356,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":532662,"byte_end":532667,"line_start":357,"line_end":357,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":532668,"byte_end":532678,"line_start":358,"line_end":358,"column_start":1,"column_end":11}},{"value":"/ tuple({values: [string(), list({of: string()}), u64()]})","span":{"file_name":"src/schema.rs","byte_start":532679,"byte_end":532739,"line_start":359,"line_end":359,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532740,"byte_end":532744,"line_start":360,"line_end":360,"column_start":1,"column_end":5}},{"value":"/ // tuple for bytewise sorting","span":{"file_name":"src/schema.rs","byte_start":532745,"byte_end":532778,"line_start":361,"line_end":361,"column_start":1,"column_end":34}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":532779,"byte_end":532790,"line_start":362,"line_end":362,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":532791,"byte_end":532796,"line_start":363,"line_end":363,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/schema.rs","byte_start":532797,"byte_end":532821,"line_start":364,"line_end":364,"column_start":1,"column_end":25}},{"value":"/ \"sorted\": true,","span":{"file_name":"src/schema.rs","byte_start":532822,"byte_end":532845,"line_start":365,"line_end":365,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/schema.rs","byte_start":532846,"byte_end":532865,"line_start":366,"line_end":366,"column_start":1,"column_end":20}},{"value":"/ {\"type\": \"string\", \"size\": 25},","span":{"file_name":"src/schema.rs","byte_start":532866,"byte_end":532909,"line_start":367,"line_end":367,"column_start":1,"column_end":44}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/schema.rs","byte_start":532910,"byte_end":532937,"line_start":368,"line_end":368,"column_start":1,"column_end":28}},{"value":"/ {\"type\": \"i64\"}","span":{"file_name":"src/schema.rs","byte_start":532938,"byte_end":532965,"line_start":369,"line_end":369,"column_start":1,"column_end":28}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":532966,"byte_end":532975,"line_start":370,"line_end":370,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":532976,"byte_end":532981,"line_start":371,"line_end":371,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":532982,"byte_end":532986,"line_start":372,"line_end":372,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":532987,"byte_end":532997,"line_start":373,"line_end":373,"column_start":1,"column_end":11}},{"value":"/ tuple({storted: true, values: [","span":{"file_name":"src/schema.rs","byte_start":532998,"byte_end":533033,"line_start":374,"line_end":374,"column_start":1,"column_end":36}},{"value":"/ string({size: 25}), ","span":{"file_name":"src/schema.rs","byte_start":533034,"byte_end":533062,"line_start":375,"line_end":375,"column_start":1,"column_end":29}},{"value":"/ u8(), ","span":{"file_name":"src/schema.rs","byte_start":533063,"byte_end":533077,"line_start":376,"line_end":376,"column_start":1,"column_end":15}},{"value":"/ i64()","span":{"file_name":"src/schema.rs","byte_start":533078,"byte_end":533091,"line_start":377,"line_end":377,"column_start":1,"column_end":14}},{"value":"/ ]})","span":{"file_name":"src/schema.rs","byte_start":533092,"byte_end":533099,"line_start":378,"line_end":378,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":533100,"byte_end":533107,"line_start":379,"line_end":379,"column_start":1,"column_end":8}},{"value":"/","span":{"file_name":"src/schema.rs","byte_start":533108,"byte_end":533111,"line_start":380,"line_end":380,"column_start":1,"column_end":4}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533112,"byte_end":533116,"line_start":381,"line_end":381,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533117,"byte_end":533121,"line_start":382,"line_end":382,"column_start":1,"column_end":5}},{"value":"/ ## string","span":{"file_name":"src/schema.rs","byte_start":533122,"byte_end":533135,"line_start":383,"line_end":383,"column_start":1,"column_end":14}},{"value":"/ A string is a fixed or dynamically sized collection of utf-8 encoded bytes.","span":{"file_name":"src/schema.rs","byte_start":533136,"byte_end":533215,"line_start":384,"line_end":384,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533216,"byte_end":533220,"line_start":385,"line_end":385,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported only if `size` property is set in schema.","span":{"file_name":"src/schema.rs","byte_start":533221,"byte_end":533300,"line_start":386,"line_end":386,"column_start":1,"column_end":80}},{"value":"/ - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length.","span":{"file_name":"src/schema.rs","byte_start":533301,"byte_end":533465,"line_start":387,"line_end":387,"column_start":1,"column_end":165}},{"value":"/ - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing string values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe.","span":{"file_name":"src/schema.rs","byte_start":533466,"byte_end":533700,"line_start":388,"line_end":388,"column_start":1,"column_end":235}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533701,"byte_end":533705,"line_start":389,"line_end":389,"column_start":1,"column_end":5}},{"value":"/ The `size` property provides a way to have fixed size strings in your buffers. If a provided string is larger than the `size` property it will be truncated. Smaller strings will be padded with white space.","span":{"file_name":"src/schema.rs","byte_start":533706,"byte_end":533917,"line_start":390,"line_end":390,"column_start":1,"column_end":212}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":533918,"byte_end":533922,"line_start":391,"line_end":391,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":533923,"byte_end":533934,"line_start":392,"line_end":392,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":533935,"byte_end":533946,"line_start":393,"line_end":393,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":533947,"byte_end":533952,"line_start":394,"line_end":394,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/schema.rs","byte_start":533953,"byte_end":533977,"line_start":395,"line_end":395,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":533978,"byte_end":533983,"line_start":396,"line_end":396,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":533984,"byte_end":533994,"line_start":397,"line_end":397,"column_start":1,"column_end":11}},{"value":"/ string()","span":{"file_name":"src/schema.rs","byte_start":533995,"byte_end":534007,"line_start":398,"line_end":398,"column_start":1,"column_end":13}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534008,"byte_end":534012,"line_start":399,"line_end":399,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534013,"byte_end":534017,"line_start":400,"line_end":400,"column_start":1,"column_end":5}},{"value":"/ // fixed size","span":{"file_name":"src/schema.rs","byte_start":534018,"byte_end":534035,"line_start":401,"line_end":401,"column_start":1,"column_end":18}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":534036,"byte_end":534047,"line_start":402,"line_end":402,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":534048,"byte_end":534053,"line_start":403,"line_end":403,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/schema.rs","byte_start":534054,"byte_end":534079,"line_start":404,"line_end":404,"column_start":1,"column_end":26}},{"value":"/ \"size\": 20","span":{"file_name":"src/schema.rs","byte_start":534080,"byte_end":534098,"line_start":405,"line_end":405,"column_start":1,"column_end":19}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":534099,"byte_end":534104,"line_start":406,"line_end":406,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":534105,"byte_end":534115,"line_start":407,"line_end":407,"column_start":1,"column_end":11}},{"value":"/ string({size: 20})","span":{"file_name":"src/schema.rs","byte_start":534116,"byte_end":534138,"line_start":408,"line_end":408,"column_start":1,"column_end":23}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534139,"byte_end":534143,"line_start":409,"line_end":409,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":534144,"byte_end":534169,"line_start":410,"line_end":410,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":534170,"byte_end":534181,"line_start":411,"line_end":411,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":534182,"byte_end":534187,"line_start":412,"line_end":412,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/schema.rs","byte_start":534188,"byte_end":534213,"line_start":413,"line_end":413,"column_start":1,"column_end":26}},{"value":"/ \"default\": \"Default string value\"","span":{"file_name":"src/schema.rs","byte_start":534214,"byte_end":534255,"line_start":414,"line_end":414,"column_start":1,"column_end":42}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":534256,"byte_end":534261,"line_start":415,"line_end":415,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534262,"byte_end":534266,"line_start":416,"line_end":416,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":534267,"byte_end":534277,"line_start":417,"line_end":417,"column_start":1,"column_end":11}},{"value":"/ string({default: \"Default string value\"})","span":{"file_name":"src/schema.rs","byte_start":534278,"byte_end":534323,"line_start":418,"line_end":418,"column_start":1,"column_end":46}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":534324,"byte_end":534331,"line_start":419,"line_end":419,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534332,"byte_end":534336,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":534337,"byte_end":534354,"line_start":421,"line_end":421,"column_start":1,"column_end":18}},{"value":"/ - [Using String data type](../pointer/string/index.html)","span":{"file_name":"src/schema.rs","byte_start":534355,"byte_end":534415,"line_start":422,"line_end":422,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534416,"byte_end":534420,"line_start":423,"line_end":423,"column_start":1,"column_end":5}},{"value":"/ ## bytes","span":{"file_name":"src/schema.rs","byte_start":534421,"byte_end":534433,"line_start":424,"line_end":424,"column_start":1,"column_end":13}},{"value":"/ Bytes are fixed or dynimcally sized Vec collections. ","span":{"file_name":"src/schema.rs","byte_start":534434,"byte_end":534495,"line_start":425,"line_end":425,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534496,"byte_end":534500,"line_start":426,"line_end":426,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported only if `size` property is set in schema.","span":{"file_name":"src/schema.rs","byte_start":534501,"byte_end":534580,"line_start":427,"line_end":427,"column_start":1,"column_end":80}},{"value":"/ - **Compaction**: If `size` property is set, compaction cannot reclaim space. Otherwise it will reclaim space unless all updates have been identical in length.","span":{"file_name":"src/schema.rs","byte_start":534581,"byte_end":534745,"line_start":428,"line_end":428,"column_start":1,"column_end":165}},{"value":"/ - **Schema Mutations**: If the `size` property is set it's safe to make it smaller, but not larger (this may cause existing bytes values to truncate, though). If the field is being used for bytewise sorting, no mutation is safe.","span":{"file_name":"src/schema.rs","byte_start":534746,"byte_end":534979,"line_start":429,"line_end":429,"column_start":1,"column_end":234}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":534980,"byte_end":534984,"line_start":430,"line_end":430,"column_start":1,"column_end":5}},{"value":"/ The `size` property provides a way to have fixed size `&[u8]` in your buffers. If a provided byte slice is larger than the `size` property it will be truncated. Smaller byte slices will be padded with zeros.","span":{"file_name":"src/schema.rs","byte_start":534985,"byte_end":535198,"line_start":431,"line_end":431,"column_start":1,"column_end":214}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535199,"byte_end":535203,"line_start":432,"line_end":432,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":535204,"byte_end":535215,"line_start":433,"line_end":433,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535216,"byte_end":535227,"line_start":434,"line_end":434,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535228,"byte_end":535233,"line_start":435,"line_end":435,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\"","span":{"file_name":"src/schema.rs","byte_start":535234,"byte_end":535257,"line_start":436,"line_end":436,"column_start":1,"column_end":24}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535258,"byte_end":535263,"line_start":437,"line_end":437,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535264,"byte_end":535274,"line_start":438,"line_end":438,"column_start":1,"column_end":11}},{"value":"/ bytes()","span":{"file_name":"src/schema.rs","byte_start":535275,"byte_end":535286,"line_start":439,"line_end":439,"column_start":1,"column_end":12}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535287,"byte_end":535291,"line_start":440,"line_end":440,"column_start":1,"column_end":5}},{"value":"/ // fixed size","span":{"file_name":"src/schema.rs","byte_start":535292,"byte_end":535309,"line_start":441,"line_end":441,"column_start":1,"column_end":18}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535310,"byte_end":535321,"line_start":442,"line_end":442,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535322,"byte_end":535327,"line_start":443,"line_end":443,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\",","span":{"file_name":"src/schema.rs","byte_start":535328,"byte_end":535352,"line_start":444,"line_end":444,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20","span":{"file_name":"src/schema.rs","byte_start":535353,"byte_end":535371,"line_start":445,"line_end":445,"column_start":1,"column_end":19}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535372,"byte_end":535377,"line_start":446,"line_end":446,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535378,"byte_end":535388,"line_start":447,"line_end":447,"column_start":1,"column_end":11}},{"value":"/ bytes({size: 20})","span":{"file_name":"src/schema.rs","byte_start":535389,"byte_end":535410,"line_start":448,"line_end":448,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535411,"byte_end":535415,"line_start":449,"line_end":449,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":535416,"byte_end":535441,"line_start":450,"line_end":450,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535442,"byte_end":535453,"line_start":451,"line_end":451,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535454,"byte_end":535459,"line_start":452,"line_end":452,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bytes\",","span":{"file_name":"src/schema.rs","byte_start":535460,"byte_end":535484,"line_start":453,"line_end":453,"column_start":1,"column_end":25}},{"value":"/ \"default\": [1, 2, 3, 4]","span":{"file_name":"src/schema.rs","byte_start":535485,"byte_end":535516,"line_start":454,"line_end":454,"column_start":1,"column_end":32}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535517,"byte_end":535522,"line_start":455,"line_end":455,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535523,"byte_end":535527,"line_start":456,"line_end":456,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535528,"byte_end":535538,"line_start":457,"line_end":457,"column_start":1,"column_end":11}},{"value":"/ bytes({default: [1, 2, 3, 4]})","span":{"file_name":"src/schema.rs","byte_start":535539,"byte_end":535573,"line_start":458,"line_end":458,"column_start":1,"column_end":35}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":535574,"byte_end":535581,"line_start":459,"line_end":459,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535582,"byte_end":535586,"line_start":460,"line_end":460,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":535587,"byte_end":535604,"line_start":461,"line_end":461,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Bytes data type](../pointer/bytes/index.html)","span":{"file_name":"src/schema.rs","byte_start":535605,"byte_end":535666,"line_start":462,"line_end":462,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535667,"byte_end":535671,"line_start":463,"line_end":463,"column_start":1,"column_end":5}},{"value":"/ ## int8, int16, int32, int64","span":{"file_name":"src/schema.rs","byte_start":535672,"byte_end":535704,"line_start":464,"line_end":464,"column_start":1,"column_end":33}},{"value":"/ Signed integers allow positive or negative whole numbers to be stored. The bytes are stored in big endian format and converted to unsigned types to allow bytewise sorting.","span":{"file_name":"src/schema.rs","byte_start":535705,"byte_end":535881,"line_start":465,"line_end":465,"column_start":1,"column_end":177}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535882,"byte_end":535886,"line_start":466,"line_end":466,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":535887,"byte_end":535898,"line_start":467,"line_end":467,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":535899,"byte_end":535910,"line_start":468,"line_end":468,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":535911,"byte_end":535916,"line_start":469,"line_end":469,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"i8\"","span":{"file_name":"src/schema.rs","byte_start":535917,"byte_end":535937,"line_start":470,"line_end":470,"column_start":1,"column_end":21}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":535938,"byte_end":535943,"line_start":471,"line_end":471,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535944,"byte_end":535948,"line_start":472,"line_end":472,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":535949,"byte_end":535959,"line_start":473,"line_end":473,"column_start":1,"column_end":11}},{"value":"/ i8()","span":{"file_name":"src/schema.rs","byte_start":535960,"byte_end":535968,"line_start":474,"line_end":474,"column_start":1,"column_end":9}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":535969,"byte_end":535973,"line_start":475,"line_end":475,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":535974,"byte_end":535999,"line_start":476,"line_end":476,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536000,"byte_end":536011,"line_start":477,"line_end":477,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536012,"byte_end":536017,"line_start":478,"line_end":478,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"i8\",","span":{"file_name":"src/schema.rs","byte_start":536018,"byte_end":536039,"line_start":479,"line_end":479,"column_start":1,"column_end":22}},{"value":"/ \"default\": 20","span":{"file_name":"src/schema.rs","byte_start":536040,"byte_end":536061,"line_start":480,"line_end":480,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536062,"byte_end":536067,"line_start":481,"line_end":481,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536068,"byte_end":536072,"line_start":482,"line_end":482,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536073,"byte_end":536083,"line_start":483,"line_end":483,"column_start":1,"column_end":11}},{"value":"/ i8({default: 20})","span":{"file_name":"src/schema.rs","byte_start":536084,"byte_end":536105,"line_start":484,"line_end":484,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":536106,"byte_end":536113,"line_start":485,"line_end":485,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536114,"byte_end":536118,"line_start":486,"line_end":486,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":536119,"byte_end":536156,"line_start":487,"line_end":487,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":536157,"byte_end":536233,"line_start":488,"line_end":488,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":536234,"byte_end":536266,"line_start":489,"line_end":489,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536267,"byte_end":536271,"line_start":490,"line_end":490,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":536272,"byte_end":536289,"line_start":491,"line_end":491,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":536290,"byte_end":536352,"line_start":492,"line_end":492,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536353,"byte_end":536357,"line_start":493,"line_end":493,"column_start":1,"column_end":5}},{"value":"/ ## uint8, uint16, uint32, uint64","span":{"file_name":"src/schema.rs","byte_start":536358,"byte_end":536394,"line_start":494,"line_end":494,"column_start":1,"column_end":37}},{"value":"/ Unsgined integers allow only positive whole numbers to be stored. The bytes are stored in big endian format to allow bytewise sorting.","span":{"file_name":"src/schema.rs","byte_start":536395,"byte_end":536534,"line_start":495,"line_end":495,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536535,"byte_end":536539,"line_start":496,"line_end":496,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":536540,"byte_end":536577,"line_start":497,"line_end":497,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":536578,"byte_end":536654,"line_start":498,"line_end":498,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":536655,"byte_end":536687,"line_start":499,"line_end":499,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536688,"byte_end":536692,"line_start":500,"line_end":500,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":536693,"byte_end":536704,"line_start":501,"line_end":501,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536705,"byte_end":536716,"line_start":502,"line_end":502,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536717,"byte_end":536722,"line_start":503,"line_end":503,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"u8\"","span":{"file_name":"src/schema.rs","byte_start":536723,"byte_end":536743,"line_start":504,"line_end":504,"column_start":1,"column_end":21}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536744,"byte_end":536749,"line_start":505,"line_end":505,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536750,"byte_end":536754,"line_start":506,"line_end":506,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536755,"byte_end":536765,"line_start":507,"line_end":507,"column_start":1,"column_end":11}},{"value":"/ u8()","span":{"file_name":"src/schema.rs","byte_start":536766,"byte_end":536774,"line_start":508,"line_end":508,"column_start":1,"column_end":9}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536775,"byte_end":536779,"line_start":509,"line_end":509,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536780,"byte_end":536784,"line_start":510,"line_end":510,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":536785,"byte_end":536810,"line_start":511,"line_end":511,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":536811,"byte_end":536822,"line_start":512,"line_end":512,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":536823,"byte_end":536828,"line_start":513,"line_end":513,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"u8\",","span":{"file_name":"src/schema.rs","byte_start":536829,"byte_end":536850,"line_start":514,"line_end":514,"column_start":1,"column_end":22}},{"value":"/ \"default\": 20","span":{"file_name":"src/schema.rs","byte_start":536851,"byte_end":536872,"line_start":515,"line_end":515,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":536873,"byte_end":536878,"line_start":516,"line_end":516,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":536879,"byte_end":536889,"line_start":517,"line_end":517,"column_start":1,"column_end":11}},{"value":"/ u8({default: 20})","span":{"file_name":"src/schema.rs","byte_start":536890,"byte_end":536911,"line_start":518,"line_end":518,"column_start":1,"column_end":22}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":536912,"byte_end":536919,"line_start":519,"line_end":519,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":536920,"byte_end":536924,"line_start":520,"line_end":520,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":536925,"byte_end":536942,"line_start":521,"line_end":521,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":536943,"byte_end":537005,"line_start":522,"line_end":522,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537006,"byte_end":537010,"line_start":523,"line_end":523,"column_start":1,"column_end":5}},{"value":"/ ## float, double","span":{"file_name":"src/schema.rs","byte_start":537011,"byte_end":537031,"line_start":524,"line_end":524,"column_start":1,"column_end":21}},{"value":"/ Allows the storage of floating point numbers of various sizes. Bytes are stored in big endian format.","span":{"file_name":"src/schema.rs","byte_start":537032,"byte_end":537138,"line_start":525,"line_end":525,"column_start":1,"column_end":107}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537139,"byte_end":537143,"line_start":526,"line_end":526,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Unsupported, use decimal type.","span":{"file_name":"src/schema.rs","byte_start":537144,"byte_end":537202,"line_start":527,"line_end":527,"column_start":1,"column_end":59}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":537203,"byte_end":537279,"line_start":528,"line_end":528,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":537280,"byte_end":537312,"line_start":529,"line_end":529,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537313,"byte_end":537317,"line_start":530,"line_end":530,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":537318,"byte_end":537329,"line_start":531,"line_end":531,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":537330,"byte_end":537341,"line_start":532,"line_end":532,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":537342,"byte_end":537347,"line_start":533,"line_end":533,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"f32\"","span":{"file_name":"src/schema.rs","byte_start":537348,"byte_end":537369,"line_start":534,"line_end":534,"column_start":1,"column_end":22}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":537370,"byte_end":537375,"line_start":535,"line_end":535,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537376,"byte_end":537380,"line_start":536,"line_end":536,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":537381,"byte_end":537391,"line_start":537,"line_end":537,"column_start":1,"column_end":11}},{"value":"/ f32()","span":{"file_name":"src/schema.rs","byte_start":537392,"byte_end":537401,"line_start":538,"line_end":538,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537402,"byte_end":537406,"line_start":539,"line_end":539,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":537407,"byte_end":537432,"line_start":540,"line_end":540,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":537433,"byte_end":537444,"line_start":541,"line_end":541,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":537445,"byte_end":537450,"line_start":542,"line_end":542,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"f32\",","span":{"file_name":"src/schema.rs","byte_start":537451,"byte_end":537473,"line_start":543,"line_end":543,"column_start":1,"column_end":23}},{"value":"/ \"default\": 20.283","span":{"file_name":"src/schema.rs","byte_start":537474,"byte_end":537499,"line_start":544,"line_end":544,"column_start":1,"column_end":26}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":537500,"byte_end":537505,"line_start":545,"line_end":545,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537506,"byte_end":537510,"line_start":546,"line_end":546,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":537511,"byte_end":537521,"line_start":547,"line_end":547,"column_start":1,"column_end":11}},{"value":"/ f32({default: 20.283})","span":{"file_name":"src/schema.rs","byte_start":537522,"byte_end":537548,"line_start":548,"line_end":548,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537549,"byte_end":537553,"line_start":549,"line_end":549,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":537554,"byte_end":537561,"line_start":550,"line_end":550,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537562,"byte_end":537566,"line_start":551,"line_end":551,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":537567,"byte_end":537584,"line_start":552,"line_end":552,"column_start":1,"column_end":18}},{"value":"/ - [Using number data types](../pointer/numbers/index.html)","span":{"file_name":"src/schema.rs","byte_start":537585,"byte_end":537647,"line_start":553,"line_end":553,"column_start":1,"column_end":63}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537648,"byte_end":537652,"line_start":554,"line_end":554,"column_start":1,"column_end":5}},{"value":"/ ## enum","span":{"file_name":"src/schema.rs","byte_start":537653,"byte_end":537664,"line_start":555,"line_end":555,"column_start":1,"column_end":12}},{"value":"/ Allows efficeint storage of a selection between a known collection of ordered strings. The selection is stored as a single u8 byte, limiting the max number of choices to 255. Also the choices themselves cannot be longer than 255 UTF8 bytes each.","span":{"file_name":"src/schema.rs","byte_start":537665,"byte_end":537916,"line_start":556,"line_end":556,"column_start":1,"column_end":252}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":537917,"byte_end":537921,"line_start":557,"line_end":557,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":537922,"byte_end":537959,"line_start":558,"line_end":558,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":537960,"byte_end":538036,"line_start":559,"line_end":559,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: You can safely add new choices to the end of the list or update the existing choices in place. If you need to delete a choice, just make it an empty string. Changing the order of the choices is destructive as this type only stores the index of the choice it's set to.","span":{"file_name":"src/schema.rs","byte_start":538037,"byte_end":538334,"line_start":560,"line_end":560,"column_start":1,"column_end":298}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538335,"byte_end":538339,"line_start":561,"line_end":561,"column_start":1,"column_end":5}},{"value":"/ There is one required property of this schema called `choices`. The property should contain an array of strings that represent all possible choices of the option.","span":{"file_name":"src/schema.rs","byte_start":538340,"byte_end":538507,"line_start":562,"line_end":562,"column_start":1,"column_end":168}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538508,"byte_end":538512,"line_start":563,"line_end":563,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":538513,"byte_end":538524,"line_start":564,"line_end":564,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":538525,"byte_end":538536,"line_start":565,"line_end":565,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":538537,"byte_end":538542,"line_start":566,"line_end":566,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"enum\",","span":{"file_name":"src/schema.rs","byte_start":538543,"byte_end":538566,"line_start":567,"line_end":567,"column_start":1,"column_end":24}},{"value":"/ \"choices\": [\"choice 1\", \"choice 2\", \"etc\"]","span":{"file_name":"src/schema.rs","byte_start":538567,"byte_end":538617,"line_start":568,"line_end":568,"column_start":1,"column_end":51}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":538618,"byte_end":538623,"line_start":569,"line_end":569,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":538624,"byte_end":538634,"line_start":570,"line_end":570,"column_start":1,"column_end":11}},{"value":"/ enum({choices: [\"choice 1\", \"choice 2\", \"etc\"]})","span":{"file_name":"src/schema.rs","byte_start":538635,"byte_end":538687,"line_start":571,"line_end":571,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538688,"byte_end":538692,"line_start":572,"line_end":572,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":538693,"byte_end":538718,"line_start":573,"line_end":573,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":538719,"byte_end":538730,"line_start":574,"line_end":574,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":538731,"byte_end":538736,"line_start":575,"line_end":575,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"enum\",","span":{"file_name":"src/schema.rs","byte_start":538737,"byte_end":538760,"line_start":576,"line_end":576,"column_start":1,"column_end":24}},{"value":"/ \"choices\": [\"choice 1\", \"choice 2\", \"etc\"],","span":{"file_name":"src/schema.rs","byte_start":538761,"byte_end":538812,"line_start":577,"line_end":577,"column_start":1,"column_end":52}},{"value":"/ \"default\": \"etc\"","span":{"file_name":"src/schema.rs","byte_start":538813,"byte_end":538837,"line_start":578,"line_end":578,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":538838,"byte_end":538843,"line_start":579,"line_end":579,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538844,"byte_end":538848,"line_start":580,"line_end":580,"column_start":1,"column_end":5}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":538849,"byte_end":538859,"line_start":581,"line_end":581,"column_start":1,"column_end":11}},{"value":"/ enum({choices: [\"choice 1\", \"choice 2\", \"etc\"], default: \"etc\"})","span":{"file_name":"src/schema.rs","byte_start":538860,"byte_end":538928,"line_start":582,"line_end":582,"column_start":1,"column_end":69}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":538929,"byte_end":538936,"line_start":583,"line_end":583,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":538937,"byte_end":538941,"line_start":584,"line_end":584,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":538942,"byte_end":538959,"line_start":585,"line_end":585,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Enum data type](../pointer/option/index.html)","span":{"file_name":"src/schema.rs","byte_start":538960,"byte_end":539021,"line_start":586,"line_end":586,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539022,"byte_end":539026,"line_start":587,"line_end":587,"column_start":1,"column_end":5}},{"value":"/ ## bool","span":{"file_name":"src/schema.rs","byte_start":539027,"byte_end":539038,"line_start":588,"line_end":588,"column_start":1,"column_end":12}},{"value":"/ Allows efficent storage of a true or false value. The value is stored as a single byte that is set to either 1 or 0.","span":{"file_name":"src/schema.rs","byte_start":539039,"byte_end":539160,"line_start":589,"line_end":589,"column_start":1,"column_end":122}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539161,"byte_end":539165,"line_start":590,"line_end":590,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":539166,"byte_end":539203,"line_start":591,"line_end":591,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":539204,"byte_end":539280,"line_start":592,"line_end":592,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":539281,"byte_end":539313,"line_start":593,"line_end":593,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539314,"byte_end":539318,"line_start":594,"line_end":594,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":539319,"byte_end":539330,"line_start":595,"line_end":595,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":539331,"byte_end":539342,"line_start":596,"line_end":596,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":539343,"byte_end":539348,"line_start":597,"line_end":597,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/schema.rs","byte_start":539349,"byte_end":539371,"line_start":598,"line_end":598,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":539372,"byte_end":539377,"line_start":599,"line_end":599,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":539378,"byte_end":539388,"line_start":600,"line_end":600,"column_start":1,"column_end":11}},{"value":"/ bool()","span":{"file_name":"src/schema.rs","byte_start":539389,"byte_end":539399,"line_start":601,"line_end":601,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539400,"byte_end":539404,"line_start":602,"line_end":602,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":539405,"byte_end":539430,"line_start":603,"line_end":603,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":539431,"byte_end":539442,"line_start":604,"line_end":604,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":539443,"byte_end":539448,"line_start":605,"line_end":605,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/schema.rs","byte_start":539449,"byte_end":539472,"line_start":606,"line_end":606,"column_start":1,"column_end":24}},{"value":"/ \"default\": false","span":{"file_name":"src/schema.rs","byte_start":539473,"byte_end":539497,"line_start":607,"line_end":607,"column_start":1,"column_end":25}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":539498,"byte_end":539503,"line_start":608,"line_end":608,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":539504,"byte_end":539514,"line_start":609,"line_end":609,"column_start":1,"column_end":11}},{"value":"/ bool({default: false})","span":{"file_name":"src/schema.rs","byte_start":539515,"byte_end":539541,"line_start":610,"line_end":610,"column_start":1,"column_end":27}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":539542,"byte_end":539549,"line_start":611,"line_end":611,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539550,"byte_end":539554,"line_start":612,"line_end":612,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":539555,"byte_end":539572,"line_start":613,"line_end":613,"column_start":1,"column_end":18}},{"value":"/ - [Using Bool data type](../pointer/bool/index.html)","span":{"file_name":"src/schema.rs","byte_start":539573,"byte_end":539629,"line_start":614,"line_end":614,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539630,"byte_end":539634,"line_start":615,"line_end":615,"column_start":1,"column_end":5}},{"value":"/ ## decimal","span":{"file_name":"src/schema.rs","byte_start":539635,"byte_end":539649,"line_start":616,"line_end":616,"column_start":1,"column_end":15}},{"value":"/ Allows you to store fixed point decimal numbers. The number of decimal places must be declared in the schema as `exp` property and will be used for every value.","span":{"file_name":"src/schema.rs","byte_start":539650,"byte_end":539815,"line_start":617,"line_end":617,"column_start":1,"column_end":166}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539816,"byte_end":539820,"line_start":618,"line_end":618,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":539821,"byte_end":539858,"line_start":619,"line_end":619,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":539859,"byte_end":539935,"line_start":620,"line_end":620,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":539936,"byte_end":539968,"line_start":621,"line_end":621,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":539969,"byte_end":539973,"line_start":622,"line_end":622,"column_start":1,"column_end":5}},{"value":"/ There is a single required property called `exp` that represents the number of decimal points every value will have.","span":{"file_name":"src/schema.rs","byte_start":539974,"byte_end":540094,"line_start":623,"line_end":623,"column_start":1,"column_end":121}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540095,"byte_end":540099,"line_start":624,"line_end":624,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":540100,"byte_end":540111,"line_start":625,"line_end":625,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":540112,"byte_end":540123,"line_start":626,"line_end":626,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":540124,"byte_end":540129,"line_start":627,"line_end":627,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/schema.rs","byte_start":540130,"byte_end":540156,"line_start":628,"line_end":628,"column_start":1,"column_end":27}},{"value":"/ \"exp\": 3","span":{"file_name":"src/schema.rs","byte_start":540157,"byte_end":540173,"line_start":629,"line_end":629,"column_start":1,"column_end":17}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":540174,"byte_end":540179,"line_start":630,"line_end":630,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":540180,"byte_end":540190,"line_start":631,"line_end":631,"column_start":1,"column_end":11}},{"value":"/ decimal({exp: 3})","span":{"file_name":"src/schema.rs","byte_start":540191,"byte_end":540212,"line_start":632,"line_end":632,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540213,"byte_end":540217,"line_start":633,"line_end":633,"column_start":1,"column_end":5}},{"value":"/ // with default value","span":{"file_name":"src/schema.rs","byte_start":540218,"byte_end":540243,"line_start":634,"line_end":634,"column_start":1,"column_end":26}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":540244,"byte_end":540255,"line_start":635,"line_end":635,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":540256,"byte_end":540261,"line_start":636,"line_end":636,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/schema.rs","byte_start":540262,"byte_end":540288,"line_start":637,"line_end":637,"column_start":1,"column_end":27}},{"value":"/ \"exp\": 3,","span":{"file_name":"src/schema.rs","byte_start":540289,"byte_end":540306,"line_start":638,"line_end":638,"column_start":1,"column_end":18}},{"value":"/ \"default\": 20.293","span":{"file_name":"src/schema.rs","byte_start":540307,"byte_end":540332,"line_start":639,"line_end":639,"column_start":1,"column_end":26}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":540333,"byte_end":540338,"line_start":640,"line_end":640,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":540339,"byte_end":540349,"line_start":641,"line_end":641,"column_start":1,"column_end":11}},{"value":"/ decimal({exp: 3, default: 20.293})","span":{"file_name":"src/schema.rs","byte_start":540350,"byte_end":540388,"line_start":642,"line_end":642,"column_start":1,"column_end":39}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":540389,"byte_end":540396,"line_start":643,"line_end":643,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540397,"byte_end":540401,"line_start":644,"line_end":644,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":540402,"byte_end":540419,"line_start":645,"line_end":645,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Dec data type](../pointer/dec/index.html)","span":{"file_name":"src/schema.rs","byte_start":540420,"byte_end":540477,"line_start":646,"line_end":646,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540478,"byte_end":540482,"line_start":647,"line_end":647,"column_start":1,"column_end":5}},{"value":"/ ## geo4, ge8, geo16","span":{"file_name":"src/schema.rs","byte_start":540483,"byte_end":540506,"line_start":648,"line_end":648,"column_start":1,"column_end":24}},{"value":"/ Allows you to store geographic coordinates with varying levels of accuracy and space usage. ","span":{"file_name":"src/schema.rs","byte_start":540507,"byte_end":540604,"line_start":649,"line_end":649,"column_start":1,"column_end":98}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540605,"byte_end":540609,"line_start":650,"line_end":650,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Not supported","span":{"file_name":"src/schema.rs","byte_start":540610,"byte_end":540651,"line_start":651,"line_end":651,"column_start":1,"column_end":42}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":540652,"byte_end":540728,"line_start":652,"line_end":652,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":540729,"byte_end":540761,"line_start":653,"line_end":653,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540762,"byte_end":540766,"line_start":654,"line_end":654,"column_start":1,"column_end":5}},{"value":"/ Larger geo values take up more space, but allow greater resolution.","span":{"file_name":"src/schema.rs","byte_start":540767,"byte_end":540838,"line_start":655,"line_end":655,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":540839,"byte_end":540843,"line_start":656,"line_end":656,"column_start":1,"column_end":5}},{"value":"/ | Type | Bytes | Earth Resolution | Decimal Places |","span":{"file_name":"src/schema.rs","byte_start":540844,"byte_end":540923,"line_start":657,"line_end":657,"column_start":1,"column_end":80}},{"value":"/ |-------|-------|----------------------------------------|----------------|","span":{"file_name":"src/schema.rs","byte_start":540924,"byte_end":541003,"line_start":658,"line_end":658,"column_start":1,"column_end":80}},{"value":"/ | geo4 | 4 | 1.1km resolution (city) | 2 |","span":{"file_name":"src/schema.rs","byte_start":541004,"byte_end":541083,"line_start":659,"line_end":659,"column_start":1,"column_end":80}},{"value":"/ | geo8 | 8 | 11mm resolution (marble) | 7 |","span":{"file_name":"src/schema.rs","byte_start":541084,"byte_end":541163,"line_start":660,"line_end":660,"column_start":1,"column_end":80}},{"value":"/ | geo16 | 16 | 110 microns resolution (grain of sand) | 9 |","span":{"file_name":"src/schema.rs","byte_start":541164,"byte_end":541243,"line_start":661,"line_end":661,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541244,"byte_end":541248,"line_start":662,"line_end":662,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":541249,"byte_end":541260,"line_start":663,"line_end":663,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":541261,"byte_end":541272,"line_start":664,"line_end":664,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541273,"byte_end":541278,"line_start":665,"line_end":665,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"geo4\"","span":{"file_name":"src/schema.rs","byte_start":541279,"byte_end":541301,"line_start":666,"line_end":666,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":541302,"byte_end":541307,"line_start":667,"line_end":667,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":541308,"byte_end":541318,"line_start":668,"line_end":668,"column_start":1,"column_end":11}},{"value":"/ geo4()","span":{"file_name":"src/schema.rs","byte_start":541319,"byte_end":541329,"line_start":669,"line_end":669,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541330,"byte_end":541334,"line_start":670,"line_end":670,"column_start":1,"column_end":5}},{"value":"/ // with default","span":{"file_name":"src/schema.rs","byte_start":541335,"byte_end":541354,"line_start":671,"line_end":671,"column_start":1,"column_end":20}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541355,"byte_end":541360,"line_start":672,"line_end":672,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"geo4\",","span":{"file_name":"src/schema.rs","byte_start":541361,"byte_end":541384,"line_start":673,"line_end":673,"column_start":1,"column_end":24}},{"value":"/ \"default\": {\"lat\": -20.283, \"lng\": 19.929}","span":{"file_name":"src/schema.rs","byte_start":541385,"byte_end":541435,"line_start":674,"line_end":674,"column_start":1,"column_end":51}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":541436,"byte_end":541441,"line_start":675,"line_end":675,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":541442,"byte_end":541452,"line_start":676,"line_end":676,"column_start":1,"column_end":11}},{"value":"/ geo4({default: {lat: -20.283, lng: 19.929}})","span":{"file_name":"src/schema.rs","byte_start":541453,"byte_end":541501,"line_start":677,"line_end":677,"column_start":1,"column_end":49}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":541502,"byte_end":541509,"line_start":678,"line_end":678,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541510,"byte_end":541514,"line_start":679,"line_end":679,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":541515,"byte_end":541532,"line_start":680,"line_end":680,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Geo data type](../pointer/geo/index.html)","span":{"file_name":"src/schema.rs","byte_start":541533,"byte_end":541590,"line_start":681,"line_end":681,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541591,"byte_end":541595,"line_start":682,"line_end":682,"column_start":1,"column_end":5}},{"value":"/ ## ulid","span":{"file_name":"src/schema.rs","byte_start":541596,"byte_end":541607,"line_start":683,"line_end":683,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a unique ID with a timestamp. The timestamp is stored in milliseconds since the unix epoch.","span":{"file_name":"src/schema.rs","byte_start":541608,"byte_end":541724,"line_start":684,"line_end":684,"column_start":1,"column_end":117}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541725,"byte_end":541729,"line_start":685,"line_end":685,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported, orders by timestamp. Order is random if timestamp is identical between two values.","span":{"file_name":"src/schema.rs","byte_start":541730,"byte_end":541851,"line_start":686,"line_end":686,"column_start":1,"column_end":122}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":541852,"byte_end":541928,"line_start":687,"line_end":687,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":541929,"byte_end":541961,"line_start":688,"line_end":688,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":541962,"byte_end":541966,"line_start":689,"line_end":689,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":541967,"byte_end":541978,"line_start":690,"line_end":690,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":541979,"byte_end":541990,"line_start":691,"line_end":691,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":541991,"byte_end":541996,"line_start":692,"line_end":692,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"ulid\"","span":{"file_name":"src/schema.rs","byte_start":541997,"byte_end":542019,"line_start":693,"line_end":693,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542020,"byte_end":542025,"line_start":694,"line_end":694,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542026,"byte_end":542036,"line_start":695,"line_end":695,"column_start":1,"column_end":11}},{"value":"/ ulid()","span":{"file_name":"src/schema.rs","byte_start":542037,"byte_end":542047,"line_start":696,"line_end":696,"column_start":1,"column_end":11}},{"value":"/ // no default supported","span":{"file_name":"src/schema.rs","byte_start":542048,"byte_end":542075,"line_start":697,"line_end":697,"column_start":1,"column_end":28}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":542076,"byte_end":542083,"line_start":698,"line_end":698,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542084,"byte_end":542088,"line_start":699,"line_end":699,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":542089,"byte_end":542106,"line_start":700,"line_end":700,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_ULID data type](../pointer/ulid/index.html)","span":{"file_name":"src/schema.rs","byte_start":542107,"byte_end":542166,"line_start":701,"line_end":701,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542167,"byte_end":542171,"line_start":702,"line_end":702,"column_start":1,"column_end":5}},{"value":"/ ## uuid","span":{"file_name":"src/schema.rs","byte_start":542172,"byte_end":542183,"line_start":703,"line_end":703,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a universally unique ID.","span":{"file_name":"src/schema.rs","byte_start":542184,"byte_end":542232,"line_start":704,"line_end":704,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542233,"byte_end":542237,"line_start":705,"line_end":705,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported, but values are random","span":{"file_name":"src/schema.rs","byte_start":542238,"byte_end":542298,"line_start":706,"line_end":706,"column_start":1,"column_end":61}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":542299,"byte_end":542375,"line_start":707,"line_end":707,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":542376,"byte_end":542408,"line_start":708,"line_end":708,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542409,"byte_end":542413,"line_start":709,"line_end":709,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":542414,"byte_end":542425,"line_start":710,"line_end":710,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":542426,"byte_end":542437,"line_start":711,"line_end":711,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":542438,"byte_end":542443,"line_start":712,"line_end":712,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/schema.rs","byte_start":542444,"byte_end":542466,"line_start":713,"line_end":713,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542467,"byte_end":542472,"line_start":714,"line_end":714,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542473,"byte_end":542483,"line_start":715,"line_end":715,"column_start":1,"column_end":11}},{"value":"/ uuid()","span":{"file_name":"src/schema.rs","byte_start":542484,"byte_end":542494,"line_start":716,"line_end":716,"column_start":1,"column_end":11}},{"value":"/ // no default supported","span":{"file_name":"src/schema.rs","byte_start":542495,"byte_end":542522,"line_start":717,"line_end":717,"column_start":1,"column_end":28}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":542523,"byte_end":542530,"line_start":718,"line_end":718,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542531,"byte_end":542535,"line_start":719,"line_end":719,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":542536,"byte_end":542553,"line_start":720,"line_end":720,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_UUID data type](../pointer/uuid/index.html)","span":{"file_name":"src/schema.rs","byte_start":542554,"byte_end":542613,"line_start":721,"line_end":721,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542614,"byte_end":542618,"line_start":722,"line_end":722,"column_start":1,"column_end":5}},{"value":"/ ## date","span":{"file_name":"src/schema.rs","byte_start":542619,"byte_end":542630,"line_start":723,"line_end":723,"column_start":1,"column_end":12}},{"value":"/ Allows you to store a timestamp as a u64 value. This is just a thin wrapper around the u64 type.","span":{"file_name":"src/schema.rs","byte_start":542631,"byte_end":542732,"line_start":724,"line_end":724,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542733,"byte_end":542737,"line_start":725,"line_end":725,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Supported","span":{"file_name":"src/schema.rs","byte_start":542738,"byte_end":542775,"line_start":726,"line_end":726,"column_start":1,"column_end":38}},{"value":"/ - **Compaction**: Updates are done in place, never use additional space.","span":{"file_name":"src/schema.rs","byte_start":542776,"byte_end":542852,"line_start":727,"line_end":727,"column_start":1,"column_end":77}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":542853,"byte_end":542885,"line_start":728,"line_end":728,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542886,"byte_end":542890,"line_start":729,"line_end":729,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":542891,"byte_end":542902,"line_start":730,"line_end":730,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":542903,"byte_end":542914,"line_start":731,"line_end":731,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":542915,"byte_end":542920,"line_start":732,"line_end":732,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/schema.rs","byte_start":542921,"byte_end":542943,"line_start":733,"line_end":733,"column_start":1,"column_end":23}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":542944,"byte_end":542949,"line_start":734,"line_end":734,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":542950,"byte_end":542960,"line_start":735,"line_end":735,"column_start":1,"column_end":11}},{"value":"/ date()","span":{"file_name":"src/schema.rs","byte_start":542961,"byte_end":542971,"line_start":736,"line_end":736,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":542972,"byte_end":542976,"line_start":737,"line_end":737,"column_start":1,"column_end":5}},{"value":"/ // with default value (default should be in ms)","span":{"file_name":"src/schema.rs","byte_start":542977,"byte_end":543028,"line_start":738,"line_end":738,"column_start":1,"column_end":52}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":543029,"byte_end":543040,"line_start":739,"line_end":739,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":543041,"byte_end":543046,"line_start":740,"line_end":740,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"date\",","span":{"file_name":"src/schema.rs","byte_start":543047,"byte_end":543070,"line_start":741,"line_end":741,"column_start":1,"column_end":24}},{"value":"/ \"default\": 1605909163951","span":{"file_name":"src/schema.rs","byte_start":543071,"byte_end":543103,"line_start":742,"line_end":742,"column_start":1,"column_end":33}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":543104,"byte_end":543109,"line_start":743,"line_end":743,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":543110,"byte_end":543120,"line_start":744,"line_end":744,"column_start":1,"column_end":11}},{"value":"/ date({default: 1605909163951})","span":{"file_name":"src/schema.rs","byte_start":543121,"byte_end":543155,"line_start":745,"line_end":745,"column_start":1,"column_end":35}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":543156,"byte_end":543163,"line_start":746,"line_end":746,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543164,"byte_end":543168,"line_start":747,"line_end":747,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":543169,"byte_end":543186,"line_start":748,"line_end":748,"column_start":1,"column_end":18}},{"value":"/ - [Using NP_Date data type](../pointer/date/index.html)","span":{"file_name":"src/schema.rs","byte_start":543187,"byte_end":543246,"line_start":749,"line_end":749,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543247,"byte_end":543252,"line_start":750,"line_end":750,"column_start":1,"column_end":6}},{"value":"/ ## portal","span":{"file_name":"src/schema.rs","byte_start":543253,"byte_end":543266,"line_start":751,"line_end":751,"column_start":1,"column_end":14}},{"value":"/ Portals allow types/schemas to be \"teleported\" from one part of a schema to another.","span":{"file_name":"src/schema.rs","byte_start":543267,"byte_end":543355,"line_start":752,"line_end":752,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543356,"byte_end":543360,"line_start":753,"line_end":753,"column_start":1,"column_end":5}},{"value":"/ You can use these for duplicating a type many times in a schema or for recursive data types.","span":{"file_name":"src/schema.rs","byte_start":543361,"byte_end":543457,"line_start":754,"line_end":754,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543458,"byte_end":543462,"line_start":755,"line_end":755,"column_start":1,"column_end":5}},{"value":"/ The one required property is `to`, it should be a dot notated path to the type being teleported. If `to` is an empty string, the root is used.","span":{"file_name":"src/schema.rs","byte_start":543463,"byte_end":543610,"line_start":756,"line_end":756,"column_start":1,"column_end":148}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543611,"byte_end":543615,"line_start":757,"line_end":757,"column_start":1,"column_end":5}},{"value":"/ Recursion works up to 255 levels of depth.","span":{"file_name":"src/schema.rs","byte_start":543616,"byte_end":543662,"line_start":758,"line_end":758,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543663,"byte_end":543667,"line_start":759,"line_end":759,"column_start":1,"column_end":5}},{"value":"/ - **Bytewise Sorting**: Not Supported","span":{"file_name":"src/schema.rs","byte_start":543668,"byte_end":543709,"line_start":760,"line_end":760,"column_start":1,"column_end":42}},{"value":"/ - **Compaction**: Same behavior as type being teleported.","span":{"file_name":"src/schema.rs","byte_start":543710,"byte_end":543771,"line_start":761,"line_end":761,"column_start":1,"column_end":62}},{"value":"/ - **Schema Mutations**: None","span":{"file_name":"src/schema.rs","byte_start":543772,"byte_end":543804,"line_start":762,"line_end":762,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":543805,"byte_end":543809,"line_start":763,"line_end":763,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":543810,"byte_end":543821,"line_start":764,"line_end":764,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":543822,"byte_end":543833,"line_start":765,"line_end":765,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":543834,"byte_end":543839,"line_start":766,"line_end":766,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":543840,"byte_end":543865,"line_start":767,"line_end":767,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":543866,"byte_end":543885,"line_start":768,"line_end":768,"column_start":1,"column_end":20}},{"value":"/ [\"value\", {\"type\": \"u8\"}],","span":{"file_name":"src/schema.rs","byte_start":543886,"byte_end":543924,"line_start":769,"line_end":769,"column_start":1,"column_end":39}},{"value":"/ [\"next\", {\"type\": \"portal\", \"to\": \"\"}]","span":{"file_name":"src/schema.rs","byte_start":543925,"byte_end":543975,"line_start":770,"line_end":770,"column_start":1,"column_end":51}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":543976,"byte_end":543985,"line_start":771,"line_end":771,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":543986,"byte_end":543991,"line_start":772,"line_end":772,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":543992,"byte_end":544002,"line_start":773,"line_end":773,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":544003,"byte_end":544024,"line_start":774,"line_end":774,"column_start":1,"column_end":22}},{"value":"/ value: u8(),","span":{"file_name":"src/schema.rs","byte_start":544025,"byte_end":544045,"line_start":775,"line_end":775,"column_start":1,"column_end":21}},{"value":"/ next: portal({to: \"\"})","span":{"file_name":"src/schema.rs","byte_start":544046,"byte_end":544076,"line_start":776,"line_end":776,"column_start":1,"column_end":31}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":544077,"byte_end":544084,"line_start":777,"line_end":777,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":544085,"byte_end":544092,"line_start":778,"line_end":778,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544093,"byte_end":544097,"line_start":779,"line_end":779,"column_start":1,"column_end":5}},{"value":"/ With the above schema, values can be stored at `value`, `next.value`, `next.next.next.value`, etc.","span":{"file_name":"src/schema.rs","byte_start":544098,"byte_end":544200,"line_start":780,"line_end":780,"column_start":1,"column_end":103}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544201,"byte_end":544205,"line_start":781,"line_end":781,"column_start":1,"column_end":5}},{"value":"/ Here is an example where `portal` is used to duplicate a type.","span":{"file_name":"src/schema.rs","byte_start":544206,"byte_end":544272,"line_start":782,"line_end":782,"column_start":1,"column_end":67}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544273,"byte_end":544277,"line_start":783,"line_end":783,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/schema.rs","byte_start":544278,"byte_end":544289,"line_start":784,"line_end":784,"column_start":1,"column_end":12}},{"value":"/ // JSON","span":{"file_name":"src/schema.rs","byte_start":544290,"byte_end":544301,"line_start":785,"line_end":785,"column_start":1,"column_end":12}},{"value":"/ {","span":{"file_name":"src/schema.rs","byte_start":544302,"byte_end":544307,"line_start":786,"line_end":786,"column_start":1,"column_end":6}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/schema.rs","byte_start":544308,"byte_end":544333,"line_start":787,"line_end":787,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/schema.rs","byte_start":544334,"byte_end":544353,"line_start":788,"line_end":788,"column_start":1,"column_end":20}},{"value":"/ [\"username\", {\"type\": \"string\"}],","span":{"file_name":"src/schema.rs","byte_start":544354,"byte_end":544399,"line_start":789,"line_end":789,"column_start":1,"column_end":46}},{"value":"/ [\"email\", {\"type\": \"portal\", \"to\": \"username\"}]","span":{"file_name":"src/schema.rs","byte_start":544400,"byte_end":544459,"line_start":790,"line_end":790,"column_start":1,"column_end":60}},{"value":"/ ]","span":{"file_name":"src/schema.rs","byte_start":544460,"byte_end":544469,"line_start":791,"line_end":791,"column_start":1,"column_end":10}},{"value":"/ }","span":{"file_name":"src/schema.rs","byte_start":544470,"byte_end":544475,"line_start":792,"line_end":792,"column_start":1,"column_end":6}},{"value":"/ // ES6","span":{"file_name":"src/schema.rs","byte_start":544476,"byte_end":544486,"line_start":793,"line_end":793,"column_start":1,"column_end":11}},{"value":"/ struct({fields: {","span":{"file_name":"src/schema.rs","byte_start":544487,"byte_end":544508,"line_start":794,"line_end":794,"column_start":1,"column_end":22}},{"value":"/ username: string(),","span":{"file_name":"src/schema.rs","byte_start":544509,"byte_end":544536,"line_start":795,"line_end":795,"column_start":1,"column_end":28}},{"value":"/ email: portal({to: \"username\"})","span":{"file_name":"src/schema.rs","byte_start":544537,"byte_end":544576,"line_start":796,"line_end":796,"column_start":1,"column_end":40}},{"value":"/ }})","span":{"file_name":"src/schema.rs","byte_start":544577,"byte_end":544584,"line_start":797,"line_end":797,"column_start":1,"column_end":8}},{"value":"/ ```","span":{"file_name":"src/schema.rs","byte_start":544585,"byte_end":544592,"line_start":798,"line_end":798,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544593,"byte_end":544597,"line_start":799,"line_end":799,"column_start":1,"column_end":5}},{"value":"/ In the schema above `username` and `email` are both resolved to the `string` type.","span":{"file_name":"src/schema.rs","byte_start":544598,"byte_end":544684,"line_start":800,"line_end":800,"column_start":1,"column_end":87}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544685,"byte_end":544689,"line_start":801,"line_end":801,"column_start":1,"column_end":5}},{"value":"/ Even though structs are the only type used in the examples above, the `portal` type will work with any collection type.","span":{"file_name":"src/schema.rs","byte_start":544690,"byte_end":544813,"line_start":802,"line_end":802,"column_start":1,"column_end":124}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544814,"byte_end":544818,"line_start":803,"line_end":803,"column_start":1,"column_end":5}},{"value":"/ More Details:","span":{"file_name":"src/schema.rs","byte_start":544819,"byte_end":544836,"line_start":804,"line_end":804,"column_start":1,"column_end":18}},{"value":"/ - [Using Portal data type](../pointer/portal/index.html)","span":{"file_name":"src/schema.rs","byte_start":544837,"byte_end":544897,"line_start":805,"line_end":805,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544898,"byte_end":544902,"line_start":806,"line_end":806,"column_start":1,"column_end":5}},{"value":"/ ## Next Step","span":{"file_name":"src/schema.rs","byte_start":544903,"byte_end":544919,"line_start":807,"line_end":807,"column_start":1,"column_end":17}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544920,"byte_end":544924,"line_start":808,"line_end":808,"column_start":1,"column_end":5}},{"value":"/ Read about how to initialize a schema into a NoProto Factory.","span":{"file_name":"src/schema.rs","byte_start":544925,"byte_end":544990,"line_start":809,"line_end":809,"column_start":1,"column_end":66}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":544991,"byte_end":544995,"line_start":810,"line_end":810,"column_start":1,"column_end":5}},{"value":"/ [Go to NP_Factory docs](../struct.NP_Factory.html)","span":{"file_name":"src/schema.rs","byte_start":544996,"byte_end":545050,"line_start":811,"line_end":811,"column_start":1,"column_end":55}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":545051,"byte_end":545055,"line_start":812,"line_end":812,"column_start":1,"column_end":5}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3737},"span":{"file_name":"src/schema.rs","byte_start":545923,"byte_end":545927,"line_start":836,"line_end":836,"column_start":5,"column_end":9},"name":"None","qualname":"::schema::NP_TypeKeys::None","value":"NP_TypeKeys::None","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3740},"span":{"file_name":"src/schema.rs","byte_start":545944,"byte_end":545947,"line_start":837,"line_end":837,"column_start":5,"column_end":8},"name":"Any","qualname":"::schema::NP_TypeKeys::Any","value":"NP_TypeKeys::Any","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3743},"span":{"file_name":"src/schema.rs","byte_start":545965,"byte_end":545975,"line_start":838,"line_end":838,"column_start":5,"column_end":15},"name":"UTF8String","qualname":"::schema::NP_TypeKeys::UTF8String","value":"NP_TypeKeys::UTF8String","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3746},"span":{"file_name":"src/schema.rs","byte_start":545986,"byte_end":545991,"line_start":839,"line_end":839,"column_start":5,"column_end":10},"name":"Bytes","qualname":"::schema::NP_TypeKeys::Bytes","value":"NP_TypeKeys::Bytes","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3749},"span":{"file_name":"src/schema.rs","byte_start":546007,"byte_end":546011,"line_start":840,"line_end":840,"column_start":5,"column_end":9},"name":"Int8","qualname":"::schema::NP_TypeKeys::Int8","value":"NP_TypeKeys::Int8","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3752},"span":{"file_name":"src/schema.rs","byte_start":546028,"byte_end":546033,"line_start":841,"line_end":841,"column_start":5,"column_end":10},"name":"Int16","qualname":"::schema::NP_TypeKeys::Int16","value":"NP_TypeKeys::Int16","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3755},"span":{"file_name":"src/schema.rs","byte_start":546049,"byte_end":546054,"line_start":842,"line_end":842,"column_start":5,"column_end":10},"name":"Int32","qualname":"::schema::NP_TypeKeys::Int32","value":"NP_TypeKeys::Int32","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3758},"span":{"file_name":"src/schema.rs","byte_start":546070,"byte_end":546075,"line_start":843,"line_end":843,"column_start":5,"column_end":10},"name":"Int64","qualname":"::schema::NP_TypeKeys::Int64","value":"NP_TypeKeys::Int64","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3761},"span":{"file_name":"src/schema.rs","byte_start":546091,"byte_end":546096,"line_start":844,"line_end":844,"column_start":5,"column_end":10},"name":"Uint8","qualname":"::schema::NP_TypeKeys::Uint8","value":"NP_TypeKeys::Uint8","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3764},"span":{"file_name":"src/schema.rs","byte_start":546112,"byte_end":546118,"line_start":845,"line_end":845,"column_start":5,"column_end":11},"name":"Uint16","qualname":"::schema::NP_TypeKeys::Uint16","value":"NP_TypeKeys::Uint16","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3767},"span":{"file_name":"src/schema.rs","byte_start":546133,"byte_end":546139,"line_start":846,"line_end":846,"column_start":5,"column_end":11},"name":"Uint32","qualname":"::schema::NP_TypeKeys::Uint32","value":"NP_TypeKeys::Uint32","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3770},"span":{"file_name":"src/schema.rs","byte_start":546154,"byte_end":546160,"line_start":847,"line_end":847,"column_start":5,"column_end":11},"name":"Uint64","qualname":"::schema::NP_TypeKeys::Uint64","value":"NP_TypeKeys::Uint64","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3773},"span":{"file_name":"src/schema.rs","byte_start":546175,"byte_end":546180,"line_start":848,"line_end":848,"column_start":5,"column_end":10},"name":"Float","qualname":"::schema::NP_TypeKeys::Float","value":"NP_TypeKeys::Float","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3776},"span":{"file_name":"src/schema.rs","byte_start":546196,"byte_end":546202,"line_start":849,"line_end":849,"column_start":5,"column_end":11},"name":"Double","qualname":"::schema::NP_TypeKeys::Double","value":"NP_TypeKeys::Double","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3779},"span":{"file_name":"src/schema.rs","byte_start":546217,"byte_end":546224,"line_start":850,"line_end":850,"column_start":5,"column_end":12},"name":"Decimal","qualname":"::schema::NP_TypeKeys::Decimal","value":"NP_TypeKeys::Decimal","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3782},"span":{"file_name":"src/schema.rs","byte_start":546238,"byte_end":546245,"line_start":851,"line_end":851,"column_start":5,"column_end":12},"name":"Boolean","qualname":"::schema::NP_TypeKeys::Boolean","value":"NP_TypeKeys::Boolean","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3785},"span":{"file_name":"src/schema.rs","byte_start":546259,"byte_end":546262,"line_start":852,"line_end":852,"column_start":5,"column_end":8},"name":"Geo","qualname":"::schema::NP_TypeKeys::Geo","value":"NP_TypeKeys::Geo","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3788},"span":{"file_name":"src/schema.rs","byte_start":546280,"byte_end":546284,"line_start":853,"line_end":853,"column_start":5,"column_end":9},"name":"Uuid","qualname":"::schema::NP_TypeKeys::Uuid","value":"NP_TypeKeys::Uuid","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3791},"span":{"file_name":"src/schema.rs","byte_start":546301,"byte_end":546305,"line_start":854,"line_end":854,"column_start":5,"column_end":9},"name":"Ulid","qualname":"::schema::NP_TypeKeys::Ulid","value":"NP_TypeKeys::Ulid","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3794},"span":{"file_name":"src/schema.rs","byte_start":546322,"byte_end":546326,"line_start":855,"line_end":855,"column_start":5,"column_end":9},"name":"Date","qualname":"::schema::NP_TypeKeys::Date","value":"NP_TypeKeys::Date","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3797},"span":{"file_name":"src/schema.rs","byte_start":546343,"byte_end":546347,"line_start":856,"line_end":856,"column_start":5,"column_end":9},"name":"Enum","qualname":"::schema::NP_TypeKeys::Enum","value":"NP_TypeKeys::Enum","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3800},"span":{"file_name":"src/schema.rs","byte_start":546364,"byte_end":546370,"line_start":857,"line_end":857,"column_start":5,"column_end":11},"name":"Struct","qualname":"::schema::NP_TypeKeys::Struct","value":"NP_TypeKeys::Struct","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3803},"span":{"file_name":"src/schema.rs","byte_start":546385,"byte_end":546388,"line_start":858,"line_end":858,"column_start":5,"column_end":8},"name":"Map","qualname":"::schema::NP_TypeKeys::Map","value":"NP_TypeKeys::Map","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3806},"span":{"file_name":"src/schema.rs","byte_start":546407,"byte_end":546411,"line_start":859,"line_end":859,"column_start":5,"column_end":9},"name":"List","qualname":"::schema::NP_TypeKeys::List","value":"NP_TypeKeys::List","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3809},"span":{"file_name":"src/schema.rs","byte_start":546428,"byte_end":546433,"line_start":860,"line_end":860,"column_start":5,"column_end":10},"name":"Tuple","qualname":"::schema::NP_TypeKeys::Tuple","value":"NP_TypeKeys::Tuple","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3812},"span":{"file_name":"src/schema.rs","byte_start":546449,"byte_end":546455,"line_start":861,"line_end":861,"column_start":5,"column_end":11},"name":"Portal","qualname":"::schema::NP_TypeKeys::Portal","value":"NP_TypeKeys::Portal","parent":{"krate":0,"index":3736},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3736},"span":{"file_name":"src/schema.rs","byte_start":545905,"byte_end":545916,"line_start":835,"line_end":835,"column_start":10,"column_end":21},"name":"NP_TypeKeys","qualname":"::schema::NP_TypeKeys","value":"pub enum NP_TypeKeys {\n None = ,\n Any = ,\n UTF8String = ,\n Bytes = ,\n Int8 = ,\n Int16 = ,\n Int32 = ,\n Int64 = ,\n Uint8 = ,\n Uint16 = ,\n Uint32 = ,\n Uint64 = ,\n Float = ,\n Double = ,\n Decimal = ,\n Boolean = ,\n Geo = ,\n Uuid = ,\n Ulid = ,\n Date = ,\n Enum = ,\n Struct = ,\n Map = ,\n List = ,\n Tuple = ,\n Portal = ,\n}","parent":null,"children":[{"krate":0,"index":3737},{"krate":0,"index":3740},{"krate":0,"index":3743},{"krate":0,"index":3746},{"krate":0,"index":3749},{"krate":0,"index":3752},{"krate":0,"index":3755},{"krate":0,"index":3758},{"krate":0,"index":3761},{"krate":0,"index":3764},{"krate":0,"index":3767},{"krate":0,"index":3770},{"krate":0,"index":3773},{"krate":0,"index":3776},{"krate":0,"index":3779},{"krate":0,"index":3782},{"krate":0,"index":3785},{"krate":0,"index":3788},{"krate":0,"index":3791},{"krate":0,"index":3794},{"krate":0,"index":3797},{"krate":0,"index":3800},{"krate":0,"index":3803},{"krate":0,"index":3806},{"krate":0,"index":3809},{"krate":0,"index":3812}],"decl_id":null,"docs":" Simple enum to store the schema types\n","sig":null,"attributes":[{"value":"/ Simple enum to store the schema types","span":{"file_name":"src/schema.rs","byte_start":545774,"byte_end":545815,"line_start":831,"line_end":831,"column_start":1,"column_end":42}},{"value":"repr(u8)","span":{"file_name":"src/schema.rs","byte_start":545861,"byte_end":545872,"line_start":833,"line_end":833,"column_start":1,"column_end":12}},{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":545873,"byte_end":545895,"line_start":834,"line_end":834,"column_start":1,"column_end":23}}]},{"kind":"Local","id":{"krate":0,"index":1073744276},"span":{"file_name":"src/schema.rs","byte_start":546536,"byte_end":546541,"line_start":866,"line_end":866,"column_start":13,"column_end":18},"name":"value","qualname":"::from::value","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2452},"span":{"file_name":"src/schema.rs","byte_start":546531,"byte_end":546535,"line_start":866,"line_end":866,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(u8) -> Self","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744278},"span":{"file_name":"src/schema.rs","byte_start":546775,"byte_end":546779,"line_start":874,"line_end":874,"column_start":33,"column_end":37},"name":"self","qualname":"::into_type_idx::self","value":"&schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2454},"span":{"file_name":"src/schema.rs","byte_start":546754,"byte_end":546767,"line_start":874,"line_end":874,"column_start":12,"column_end":25},"name":"into_type_idx","qualname":"::into_type_idx","value":"pub fn into_type_idx<'idx>(&Self) -> (&'idx str, NP_TypeKeys)","parent":null,"children":[],"decl_id":null,"docs":" Convert this NP_TypeKey into a specific type index\n","sig":null,"attributes":[{"value":"/ Convert this NP_TypeKey into a specific type index","span":{"file_name":"src/schema.rs","byte_start":546688,"byte_end":546742,"line_start":873,"line_end":873,"column_start":5,"column_end":59}}]},{"kind":"Type","id":{"krate":0,"index":2456},"span":{"file_name":"src/schema.rs","byte_start":548583,"byte_end":548597,"line_start":908,"line_end":908,"column_start":10,"column_end":24},"name":"NP_Schema_Addr","qualname":"::schema::NP_Schema_Addr","value":"usize","parent":null,"children":[],"decl_id":null,"docs":" Schema Address (usize alias)\n","sig":null,"attributes":[{"value":"/ Schema Address (usize alias)","span":{"file_name":"src/schema.rs","byte_start":548526,"byte_end":548558,"line_start":906,"line_end":906,"column_start":1,"column_end":33}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3827},"span":{"file_name":"src/schema.rs","byte_start":548730,"byte_end":548734,"line_start":915,"line_end":915,"column_start":5,"column_end":9},"name":"None","qualname":"::schema::String_Case::None","value":"String_Case::None","parent":{"krate":0,"index":3826},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3830},"span":{"file_name":"src/schema.rs","byte_start":548744,"byte_end":548753,"line_start":916,"line_end":916,"column_start":5,"column_end":14},"name":"Lowercase","qualname":"::schema::String_Case::Lowercase","value":"String_Case::Lowercase","parent":{"krate":0,"index":3826},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3833},"span":{"file_name":"src/schema.rs","byte_start":548763,"byte_end":548772,"line_start":917,"line_end":917,"column_start":5,"column_end":14},"name":"Uppercase","qualname":"::schema::String_Case::Uppercase","value":"String_Case::Uppercase","parent":{"krate":0,"index":3826},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3826},"span":{"file_name":"src/schema.rs","byte_start":548712,"byte_end":548723,"line_start":914,"line_end":914,"column_start":10,"column_end":21},"name":"String_Case","qualname":"::schema::String_Case","value":"pub enum String_Case { None = , Lowercase = , Uppercase = , }","parent":null,"children":[{"krate":0,"index":3827},{"krate":0,"index":3830},{"krate":0,"index":3833}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"repr(u8)","span":{"file_name":"src/schema.rs","byte_start":548653,"byte_end":548664,"line_start":911,"line_end":911,"column_start":1,"column_end":12}},{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":548680,"byte_end":548702,"line_start":913,"line_end":913,"column_start":1,"column_end":23}}]},{"kind":"Local","id":{"krate":0,"index":1073744282},"span":{"file_name":"src/schema.rs","byte_start":548825,"byte_end":548830,"line_start":921,"line_end":921,"column_start":13,"column_end":18},"name":"value","qualname":"::from::value","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2458},"span":{"file_name":"src/schema.rs","byte_start":548820,"byte_end":548824,"line_start":921,"line_end":921,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(u8) -> Self","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3848},"span":{"file_name":"src/schema.rs","byte_start":549065,"byte_end":549072,"line_start":931,"line_end":931,"column_start":5,"column_end":12},"name":"Pointer","qualname":"::schema::NP_Value_Kind::Pointer","value":"NP_Value_Kind::Pointer","parent":{"krate":0,"index":3847},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3850},"span":{"file_name":"src/schema.rs","byte_start":549078,"byte_end":549083,"line_start":932,"line_end":932,"column_start":5,"column_end":10},"name":"Fixed","qualname":"::schema::NP_Value_Kind::Fixed","value":"NP_Value_Kind::Fixed(u32)","parent":{"krate":0,"index":3847},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3852},"span":{"file_name":"src/schema.rs","byte_start":549084,"byte_end":549087,"line_start":932,"line_end":932,"column_start":11,"column_end":14},"name":"0","qualname":"::schema::NP_Value_Kind::Fixed::0","value":"u32","parent":{"krate":0,"index":3850},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3847},"span":{"file_name":"src/schema.rs","byte_start":549045,"byte_end":549058,"line_start":930,"line_end":930,"column_start":10,"column_end":23},"name":"NP_Value_Kind","qualname":"::schema::NP_Value_Kind","value":"pub enum NP_Value_Kind { Pointer, Fixed(u32), }","parent":null,"children":[{"krate":0,"index":3848},{"krate":0,"index":3850}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549013,"byte_end":549035,"line_start":929,"line_end":929,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":3865},"span":{"file_name":"src/schema.rs","byte_start":549176,"byte_end":549191,"line_start":938,"line_end":938,"column_start":12,"column_end":27},"name":"NP_Struct_Field","qualname":"::schema::NP_Struct_Field","value":"NP_Struct_Field { idx, col, schema, offset }","parent":null,"children":[{"krate":0,"index":3866},{"krate":0,"index":3867},{"krate":0,"index":3868},{"krate":0,"index":3869}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549092,"byte_end":549114,"line_start":935,"line_end":935,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3866},"span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"name":"idx","qualname":"::schema::NP_Struct_Field::idx","value":"u8","parent":{"krate":0,"index":3865},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3867},"span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"name":"col","qualname":"::schema::NP_Struct_Field::col","value":"std::string::String","parent":{"krate":0,"index":3865},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3868},"span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Struct_Field::schema","value":"usize","parent":{"krate":0,"index":3865},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3869},"span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"name":"offset","qualname":"::schema::NP_Struct_Field::offset","value":"usize","parent":{"krate":0,"index":3865},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3878},"span":{"file_name":"src/schema.rs","byte_start":549364,"byte_end":549378,"line_start":948,"line_end":948,"column_start":12,"column_end":26},"name":"NP_Tuple_Field","qualname":"::schema::NP_Tuple_Field","value":"NP_Tuple_Field { schema, fixed, size, offset }","parent":null,"children":[{"krate":0,"index":3879},{"krate":0,"index":3880},{"krate":0,"index":3881},{"krate":0,"index":3882}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549280,"byte_end":549302,"line_start":945,"line_end":945,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3879},"span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Tuple_Field::schema","value":"usize","parent":{"krate":0,"index":3878},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3880},"span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"name":"fixed","qualname":"::schema::NP_Tuple_Field::fixed","value":"bool","parent":{"krate":0,"index":3878},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3881},"span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Tuple_Field::size","value":"usize","parent":{"krate":0,"index":3878},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3882},"span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"name":"offset","qualname":"::schema::NP_Tuple_Field::offset","value":"usize","parent":{"krate":0,"index":3878},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":2459},"span":{"file_name":"src/schema.rs","byte_start":549520,"byte_end":549524,"line_start":957,"line_end":957,"column_start":12,"column_end":16},"name":"NULL","qualname":"::schema::NULL","value":"fn() -> *const u8","parent":null,"children":[],"decl_id":null,"docs":" NULL pointer value\n","sig":null,"attributes":[{"value":"/ NULL pointer value","span":{"file_name":"src/schema.rs","byte_start":549471,"byte_end":549493,"line_start":955,"line_end":955,"column_start":1,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":3892},"span":{"file_name":"src/schema.rs","byte_start":549669,"byte_end":549673,"line_start":964,"line_end":964,"column_start":5,"column_end":9},"name":"TRUE","qualname":"::schema::NP_Schema_Property::TRUE","value":"NP_Schema_Property::TRUE","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":3894},"span":{"file_name":"src/schema.rs","byte_start":549679,"byte_end":549684,"line_start":965,"line_end":965,"column_start":5,"column_end":10},"name":"FALSE","qualname":"::schema::NP_Schema_Property::FALSE","value":"NP_Schema_Property::FALSE","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3896},"span":{"file_name":"src/schema.rs","byte_start":549690,"byte_end":549696,"line_start":966,"line_end":966,"column_start":5,"column_end":11},"name":"NUMBER","qualname":"::schema::NP_Schema_Property::NUMBER","value":"NP_Schema_Property::NUMBER { source }","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3897},"span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"name":"source","qualname":"::schema::NP_Schema_Property::NUMBER::source","value":"std::string::String","parent":{"krate":0,"index":3896},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3898},"span":{"file_name":"src/schema.rs","byte_start":549721,"byte_end":549727,"line_start":967,"line_end":967,"column_start":5,"column_end":11},"name":"STRING","qualname":"::schema::NP_Schema_Property::STRING","value":"NP_Schema_Property::STRING { source }","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3899},"span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"name":"source","qualname":"::schema::NP_Schema_Property::STRING::source","value":"std::string::String","parent":{"krate":0,"index":3898},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3900},"span":{"file_name":"src/schema.rs","byte_start":549752,"byte_end":549757,"line_start":968,"line_end":968,"column_start":5,"column_end":10},"name":"TOKEN","qualname":"::schema::NP_Schema_Property::TOKEN","value":"NP_Schema_Property::TOKEN { source }","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3901},"span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"name":"source","qualname":"::schema::NP_Schema_Property::TOKEN::source","value":"std::string::String","parent":{"krate":0,"index":3900},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3902},"span":{"file_name":"src/schema.rs","byte_start":549782,"byte_end":549786,"line_start":969,"line_end":969,"column_start":5,"column_end":9},"name":"LIST","qualname":"::schema::NP_Schema_Property::LIST","value":"NP_Schema_Property::LIST { items }","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3903},"span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"name":"items","qualname":"::schema::NP_Schema_Property::LIST::items","value":"std::vec::Vec","parent":{"krate":0,"index":3902},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":3904},"span":{"file_name":"src/schema.rs","byte_start":549827,"byte_end":549830,"line_start":970,"line_end":970,"column_start":5,"column_end":8},"name":"MAP","qualname":"::schema::NP_Schema_Property::MAP","value":"NP_Schema_Property::MAP { items }","parent":{"krate":0,"index":3891},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3905},"span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"name":"items","qualname":"::schema::NP_Schema_Property::MAP::items","value":"hashmap::NP_HashMap","parent":{"krate":0,"index":3904},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":3891},"span":{"file_name":"src/schema.rs","byte_start":549644,"byte_end":549662,"line_start":963,"line_end":963,"column_start":10,"column_end":28},"name":"NP_Schema_Property","qualname":"::schema::NP_Schema_Property","value":"pub enum NP_Schema_Property {\n TRUE,\n FALSE,\n NUMBER {\n source: String,\n },\n STRING {\n source: String,\n },\n TOKEN {\n source: String,\n },\n LIST {\n items: Vec,\n },\n MAP {\n items: NP_HashMap,\n },\n}","parent":null,"children":[{"krate":0,"index":3892},{"krate":0,"index":3894},{"krate":0,"index":3896},{"krate":0,"index":3898},{"krate":0,"index":3900},{"krate":0,"index":3902},{"krate":0,"index":3904}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549573,"byte_end":549595,"line_start":960,"line_end":960,"column_start":1,"column_end":23}}]},{"kind":"Struct","id":{"krate":0,"index":3910},"span":{"file_name":"src/schema.rs","byte_start":549949,"byte_end":549965,"line_start":976,"line_end":976,"column_start":12,"column_end":28},"name":"NP_Parsed_Schema","qualname":"::schema::NP_Parsed_Schema","value":"NP_Parsed_Schema { val, i, sortable, generics, all_props, data }","parent":null,"children":[{"krate":0,"index":3911},{"krate":0,"index":3912},{"krate":0,"index":3913},{"krate":0,"index":3914},{"krate":0,"index":3915},{"krate":0,"index":3916}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":549876,"byte_end":549898,"line_start":973,"line_end":973,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3911},"span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"name":"val","qualname":"::schema::NP_Parsed_Schema::val","value":"schema::NP_Value_Kind","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3912},"span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"name":"i","qualname":"::schema::NP_Parsed_Schema::i","value":"schema::NP_TypeKeys","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3913},"span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"name":"sortable","qualname":"::schema::NP_Parsed_Schema::sortable","value":"bool","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3914},"span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"name":"generics","qualname":"::schema::NP_Parsed_Schema::generics","value":"std::vec::Vec","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3915},"span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"name":"all_props","qualname":"::schema::NP_Parsed_Schema::all_props","value":"hashmap::NP_HashMap","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3916},"span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"name":"data","qualname":"::schema::NP_Parsed_Schema::data","value":"std::sync::Arc<*const u8>","parent":{"krate":0,"index":3910},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2464},"span":{"file_name":"src/schema.rs","byte_start":550304,"byte_end":550311,"line_start":989,"line_end":989,"column_start":8,"column_end":15},"name":"default","qualname":"::default","value":"fn default() -> Self","parent":{"krate":1,"index":3002},"children":[],"decl_id":{"krate":1,"index":3003},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3921},"span":{"file_name":"src/schema.rs","byte_start":550646,"byte_end":550656,"line_start":1004,"line_end":1004,"column_start":12,"column_end":22},"name":"NP_u8_Data","qualname":"::schema::NP_u8_Data","value":"NP_u8_Data { default }","parent":null,"children":[{"krate":0,"index":3922}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550573,"byte_end":550595,"line_start":1001,"line_end":1001,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3922},"span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u8_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3921},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3927},"span":{"file_name":"src/schema.rs","byte_start":550763,"byte_end":550774,"line_start":1011,"line_end":1011,"column_start":12,"column_end":23},"name":"NP_u16_Data","qualname":"::schema::NP_u16_Data","value":"NP_u16_Data { default }","parent":null,"children":[{"krate":0,"index":3928}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550690,"byte_end":550712,"line_start":1008,"line_end":1008,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3928},"span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u16_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3927},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3933},"span":{"file_name":"src/schema.rs","byte_start":550882,"byte_end":550893,"line_start":1018,"line_end":1018,"column_start":12,"column_end":23},"name":"NP_u32_Data","qualname":"::schema::NP_u32_Data","value":"NP_u32_Data { default }","parent":null,"children":[{"krate":0,"index":3934}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550809,"byte_end":550831,"line_start":1015,"line_end":1015,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3934},"span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3933},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3939},"span":{"file_name":"src/schema.rs","byte_start":551001,"byte_end":551012,"line_start":1025,"line_end":1025,"column_start":12,"column_end":23},"name":"NP_u64_Data","qualname":"::schema::NP_u64_Data","value":"NP_u64_Data { default }","parent":null,"children":[{"krate":0,"index":3940}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":550928,"byte_end":550950,"line_start":1022,"line_end":1022,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3940},"span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_u64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3939},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3945},"span":{"file_name":"src/schema.rs","byte_start":551120,"byte_end":551130,"line_start":1032,"line_end":1032,"column_start":12,"column_end":22},"name":"NP_i8_Data","qualname":"::schema::NP_i8_Data","value":"NP_i8_Data { default }","parent":null,"children":[{"krate":0,"index":3946}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551047,"byte_end":551069,"line_start":1029,"line_end":1029,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3946},"span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i8_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3945},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3951},"span":{"file_name":"src/schema.rs","byte_start":551237,"byte_end":551248,"line_start":1039,"line_end":1039,"column_start":12,"column_end":23},"name":"NP_i16_Data","qualname":"::schema::NP_i16_Data","value":"NP_i16_Data { default }","parent":null,"children":[{"krate":0,"index":3952}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551164,"byte_end":551186,"line_start":1036,"line_end":1036,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3952},"span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i16_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3951},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3957},"span":{"file_name":"src/schema.rs","byte_start":551356,"byte_end":551367,"line_start":1046,"line_end":1046,"column_start":12,"column_end":23},"name":"NP_i32_Data","qualname":"::schema::NP_i32_Data","value":"NP_i32_Data { default }","parent":null,"children":[{"krate":0,"index":3958}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551283,"byte_end":551305,"line_start":1043,"line_end":1043,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3958},"span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3957},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3963},"span":{"file_name":"src/schema.rs","byte_start":551475,"byte_end":551486,"line_start":1053,"line_end":1053,"column_start":12,"column_end":23},"name":"NP_i64_Data","qualname":"::schema::NP_i64_Data","value":"NP_i64_Data { default }","parent":null,"children":[{"krate":0,"index":3964}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551402,"byte_end":551424,"line_start":1050,"line_end":1050,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3964},"span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_i64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3963},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3969},"span":{"file_name":"src/schema.rs","byte_start":551594,"byte_end":551605,"line_start":1060,"line_end":1060,"column_start":12,"column_end":23},"name":"NP_f32_Data","qualname":"::schema::NP_f32_Data","value":"NP_f32_Data { default }","parent":null,"children":[{"krate":0,"index":3970}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551521,"byte_end":551543,"line_start":1057,"line_end":1057,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3970},"span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_f32_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3969},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3975},"span":{"file_name":"src/schema.rs","byte_start":551713,"byte_end":551724,"line_start":1067,"line_end":1067,"column_start":12,"column_end":23},"name":"NP_f64_Data","qualname":"::schema::NP_f64_Data","value":"NP_f64_Data { default }","parent":null,"children":[{"krate":0,"index":3976}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551640,"byte_end":551662,"line_start":1064,"line_end":1064,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3976},"span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_f64_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3975},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3981},"span":{"file_name":"src/schema.rs","byte_start":551832,"byte_end":551844,"line_start":1074,"line_end":1074,"column_start":12,"column_end":24},"name":"NP_Bool_Data","qualname":"::schema::NP_Bool_Data","value":"NP_Bool_Data { default }","parent":null,"children":[{"krate":0,"index":3982}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551759,"byte_end":551781,"line_start":1071,"line_end":1071,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3982},"span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Bool_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3981},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3987},"span":{"file_name":"src/schema.rs","byte_start":551953,"byte_end":551967,"line_start":1081,"line_end":1081,"column_start":12,"column_end":26},"name":"NP_String_Data","qualname":"::schema::NP_String_Data","value":"NP_String_Data { default, size, case, empty }","parent":null,"children":[{"krate":0,"index":3988},{"krate":0,"index":3989},{"krate":0,"index":3990},{"krate":0,"index":3991}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":551880,"byte_end":551902,"line_start":1078,"line_end":1078,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3988},"span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_String_Data::default","value":"core::option::Option","parent":{"krate":0,"index":3987},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3989},"span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_String_Data::size","value":"u32","parent":{"krate":0,"index":3987},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3990},"span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"name":"case","qualname":"::schema::NP_String_Data::case","value":"schema::String_Case","parent":{"krate":0,"index":3987},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3991},"span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_String_Data::empty","value":"std::vec::Vec","parent":{"krate":0,"index":3987},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":3996},"span":{"file_name":"src/schema.rs","byte_start":552148,"byte_end":552161,"line_start":1091,"line_end":1091,"column_start":12,"column_end":25},"name":"NP_Bytes_Data","qualname":"::schema::NP_Bytes_Data","value":"NP_Bytes_Data { default, size }","parent":null,"children":[{"krate":0,"index":3997},{"krate":0,"index":3998}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552075,"byte_end":552097,"line_start":1088,"line_end":1088,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":3997},"span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Bytes_Data::default","value":"core::option::Option>","parent":{"krate":0,"index":3996},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":3998},"span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Bytes_Data::size","value":"u32","parent":{"krate":0,"index":3996},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4003},"span":{"file_name":"src/schema.rs","byte_start":552292,"byte_end":552303,"line_start":1099,"line_end":1099,"column_start":12,"column_end":23},"name":"NP_Geo_Data","qualname":"::schema::NP_Geo_Data","value":"NP_Geo_Data { default, size }","parent":null,"children":[{"krate":0,"index":4004},{"krate":0,"index":4005}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552219,"byte_end":552241,"line_start":1096,"line_end":1096,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4004},"span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Geo_Data::default","value":"core::option::Option","parent":{"krate":0,"index":4003},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4005},"span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"name":"size","qualname":"::schema::NP_Geo_Data::size","value":"u8","parent":{"krate":0,"index":4003},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4010},"span":{"file_name":"src/schema.rs","byte_start":552433,"byte_end":552444,"line_start":1107,"line_end":1107,"column_start":12,"column_end":23},"name":"NP_Dec_Data","qualname":"::schema::NP_Dec_Data","value":"NP_Dec_Data { default, exp }","parent":null,"children":[{"krate":0,"index":4011},{"krate":0,"index":4012}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552360,"byte_end":552382,"line_start":1104,"line_end":1104,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4011},"span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Dec_Data::default","value":"core::option::Option","parent":{"krate":0,"index":4010},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4012},"span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"name":"exp","qualname":"::schema::NP_Dec_Data::exp","value":"u8","parent":{"krate":0,"index":4010},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4017},"span":{"file_name":"src/schema.rs","byte_start":552572,"byte_end":552584,"line_start":1115,"line_end":1115,"column_start":12,"column_end":24},"name":"NP_Enum_Data","qualname":"::schema::NP_Enum_Data","value":"NP_Enum_Data { default, choices }","parent":null,"children":[{"krate":0,"index":4018},{"krate":0,"index":4019}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552499,"byte_end":552521,"line_start":1112,"line_end":1112,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4018},"span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"name":"default","qualname":"::schema::NP_Enum_Data::default","value":"core::option::Option","parent":{"krate":0,"index":4017},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4019},"span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"name":"choices","qualname":"::schema::NP_Enum_Data::choices","value":"std::vec::Vec","parent":{"krate":0,"index":4017},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4024},"span":{"file_name":"src/schema.rs","byte_start":552727,"byte_end":552741,"line_start":1123,"line_end":1123,"column_start":12,"column_end":26},"name":"NP_Struct_Data","qualname":"::schema::NP_Struct_Data","value":"NP_Struct_Data { fields, empty }","parent":null,"children":[{"krate":0,"index":4025},{"krate":0,"index":4026}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552654,"byte_end":552676,"line_start":1120,"line_end":1120,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4025},"span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"name":"fields","qualname":"::schema::NP_Struct_Data::fields","value":"std::vec::Vec","parent":{"krate":0,"index":4024},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4026},"span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_Struct_Data::empty","value":"std::vec::Vec","parent":{"krate":0,"index":4024},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4031},"span":{"file_name":"src/schema.rs","byte_start":552882,"byte_end":552898,"line_start":1131,"line_end":1131,"column_start":12,"column_end":28},"name":"NP_Map_List_Data","qualname":"::schema::NP_Map_List_Data","value":"NP_Map_List_Data { child }","parent":null,"children":[{"krate":0,"index":4032}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552809,"byte_end":552831,"line_start":1128,"line_end":1128,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4032},"span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"name":"child","qualname":"::schema::NP_Map_List_Data::child","value":"usize","parent":{"krate":0,"index":4031},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4037},"span":{"file_name":"src/schema.rs","byte_start":552998,"byte_end":553011,"line_start":1138,"line_end":1138,"column_start":12,"column_end":25},"name":"NP_Tuple_Data","qualname":"::schema::NP_Tuple_Data","value":"NP_Tuple_Data { values, empty }","parent":null,"children":[{"krate":0,"index":4038},{"krate":0,"index":4039}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":552925,"byte_end":552947,"line_start":1135,"line_end":1135,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4038},"span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"name":"values","qualname":"::schema::NP_Tuple_Data::values","value":"std::vec::Vec","parent":{"krate":0,"index":4037},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4039},"span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"name":"empty","qualname":"::schema::NP_Tuple_Data::empty","value":"std::vec::Vec","parent":{"krate":0,"index":4037},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4044},"span":{"file_name":"src/schema.rs","byte_start":553151,"byte_end":553165,"line_start":1146,"line_end":1146,"column_start":12,"column_end":26},"name":"NP_Portal_Data","qualname":"::schema::NP_Portal_Data","value":"NP_Portal_Data { path, schema, parent_schema }","parent":null,"children":[{"krate":0,"index":4045},{"krate":0,"index":4046},{"krate":0,"index":4047}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/schema.rs","byte_start":553078,"byte_end":553100,"line_start":1143,"line_end":1143,"column_start":1,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4045},"span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"name":"path","qualname":"::schema::NP_Portal_Data::path","value":"std::string::String","parent":{"krate":0,"index":4044},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4046},"span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"name":"schema","qualname":"::schema::NP_Portal_Data::schema","value":"usize","parent":{"krate":0,"index":4044},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4047},"span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"name":"parent_schema","qualname":"::schema::NP_Portal_Data::parent_schema","value":"usize","parent":{"krate":0,"index":4044},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744290},"span":{"file_name":"src/schema.rs","byte_start":553297,"byte_end":553301,"line_start":1153,"line_end":1153,"column_start":18,"column_end":22},"name":"self","qualname":"::drop::self","value":"&mut schema::NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2466},"span":{"file_name":"src/schema.rs","byte_start":553287,"byte_end":553291,"line_start":1153,"line_end":1153,"column_start":8,"column_end":12},"name":"drop","qualname":"::drop","value":"fn drop(&mut Self)","parent":{"krate":1,"index":3266},"children":[],"decl_id":{"krate":1,"index":3267},"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4052},"span":{"file_name":"src/schema.rs","byte_start":558765,"byte_end":558774,"line_start":1279,"line_end":1279,"column_start":12,"column_end":21},"name":"NP_Schema","qualname":"::schema::NP_Schema","value":"NP_Schema { is_sortable, parsed }","parent":null,"children":[{"krate":0,"index":4053},{"krate":0,"index":4054}],"decl_id":null,"docs":" New NP Schema\n","sig":null,"attributes":[{"value":"/ New NP Schema","span":{"file_name":"src/schema.rs","byte_start":558697,"byte_end":558714,"line_start":1276,"line_end":1276,"column_start":1,"column_end":18}}]},{"kind":"Field","id":{"krate":0,"index":4053},"span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"name":"is_sortable","qualname":"::schema::NP_Schema::is_sortable","value":"bool","parent":{"krate":0,"index":4052},"children":[],"decl_id":null,"docs":" is this schema sortable?\n","sig":null,"attributes":[{"value":"/ is this schema sortable?","span":{"file_name":"src/schema.rs","byte_start":558781,"byte_end":558809,"line_start":1280,"line_end":1280,"column_start":5,"column_end":33}}]},{"kind":"Field","id":{"krate":0,"index":4054},"span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"name":"parsed","qualname":"::schema::NP_Schema::parsed","value":"std::vec::Vec","parent":{"krate":0,"index":4052},"children":[],"decl_id":null,"docs":" recursive parsed schema\n","sig":null,"attributes":[{"value":"/ recursive parsed schema","span":{"file_name":"src/schema.rs","byte_start":558841,"byte_end":558868,"line_start":1282,"line_end":1282,"column_start":5,"column_end":32}}]},{"kind":"Local","id":{"krate":0,"index":1073744292},"span":{"file_name":"src/schema.rs","byte_start":558997,"byte_end":559001,"line_start":1290,"line_end":1290,"column_start":20,"column_end":24},"name":"self","qualname":"::to_idl::self","value":"&schema::NP_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2468},"span":{"file_name":"src/schema.rs","byte_start":558989,"byte_end":558995,"line_start":1290,"line_end":1290,"column_start":12,"column_end":18},"name":"to_idl","qualname":"::to_idl","value":"pub fn to_idl(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get a IDL represenatation of this schema\n","sig":null,"attributes":[{"value":"/ Get a IDL represenatation of this schema","span":{"file_name":"src/schema.rs","byte_start":558933,"byte_end":558977,"line_start":1289,"line_end":1289,"column_start":5,"column_end":49}}]},{"kind":"Local","id":{"krate":0,"index":1073744293},"span":{"file_name":"src/schema.rs","byte_start":559181,"byte_end":559194,"line_start":1296,"line_end":1296,"column_start":25,"column_end":38},"name":"parsed_schema","qualname":"::_type_to_idl::parsed_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873381},"span":{"file_name":"src/schema.rs","byte_start":559220,"byte_end":559227,"line_start":1296,"line_end":1296,"column_start":64,"column_end":71},"name":"address","qualname":"::_type_to_idl::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2469},"span":{"file_name":"src/schema.rs","byte_start":559168,"byte_end":559180,"line_start":1296,"line_end":1296,"column_start":12,"column_end":24},"name":"_type_to_idl","qualname":"::_type_to_idl","value":"pub fn _type_to_idl(&Vec, usize) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursive function parse schema into IDL\n","sig":null,"attributes":[{"value":"/ Recursive function parse schema into IDL","span":{"file_name":"src/schema.rs","byte_start":559093,"byte_end":559137,"line_start":1294,"line_end":1294,"column_start":5,"column_end":49}}]},{"kind":"Local","id":{"krate":0,"index":1073744294},"span":{"file_name":"src/schema.rs","byte_start":561910,"byte_end":561914,"line_start":1329,"line_end":1329,"column_start":21,"column_end":25},"name":"self","qualname":"::to_json::self","value":"&schema::NP_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2470},"span":{"file_name":"src/schema.rs","byte_start":561901,"byte_end":561908,"line_start":1329,"line_end":1329,"column_start":12,"column_end":19},"name":"to_json","qualname":"::to_json","value":"pub fn to_json(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get a JSON represenatation of this schema\n","sig":null,"attributes":[{"value":"/ Get a JSON represenatation of this schema","span":{"file_name":"src/schema.rs","byte_start":561844,"byte_end":561889,"line_start":1328,"line_end":1328,"column_start":5,"column_end":50}}]},{"kind":"Local","id":{"krate":0,"index":1073744295},"span":{"file_name":"src/schema.rs","byte_start":562098,"byte_end":562111,"line_start":1335,"line_end":1335,"column_start":26,"column_end":39},"name":"parsed_schema","qualname":"::_type_to_json::parsed_schema","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873383},"span":{"file_name":"src/schema.rs","byte_start":562137,"byte_end":562144,"line_start":1335,"line_end":1335,"column_start":65,"column_end":72},"name":"address","qualname":"::_type_to_json::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2471},"span":{"file_name":"src/schema.rs","byte_start":562084,"byte_end":562097,"line_start":1335,"line_end":1335,"column_start":12,"column_end":25},"name":"_type_to_json","qualname":"::_type_to_json","value":"pub fn _type_to_json(&Vec, usize)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":" Recursive function parse schema into JSON\n","sig":null,"attributes":[{"value":"/ Recursive function parse schema into JSON","span":{"file_name":"src/schema.rs","byte_start":562008,"byte_end":562053,"line_start":1333,"line_end":1333,"column_start":5,"column_end":50}}]},{"kind":"Local","id":{"krate":0,"index":1073744296},"span":{"file_name":"src/schema.rs","byte_start":564861,"byte_end":564872,"line_start":1369,"line_end":1369,"column_start":22,"column_end":33},"name":"json_schema","qualname":"::_get_type::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2472},"span":{"file_name":"src/schema.rs","byte_start":564851,"byte_end":564860,"line_start":1369,"line_end":1369,"column_start":12,"column_end":21},"name":"_get_type","qualname":"::_get_type","value":"pub fn _get_type(&Box) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Get type string for this schema\n","sig":null,"attributes":[{"value":"/ Get type string for this schema","span":{"file_name":"src/schema.rs","byte_start":564785,"byte_end":564820,"line_start":1367,"line_end":1367,"column_start":5,"column_end":40}}]},{"kind":"Local","id":{"krate":0,"index":1342179752},"span":{"file_name":"src/schema.rs","byte_start":564984,"byte_end":564985,"line_start":1371,"line_end":1371,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:2472 ~ no_proto[7dec]::schema::{impl#7}::_get_type), local_id: 10 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744297},"span":{"file_name":"src/schema.rs","byte_start":567024,"byte_end":567030,"line_start":1422,"line_end":1422,"column_start":21,"column_end":27},"name":"parsed","qualname":"::from_idl::parsed","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873385},"span":{"file_name":"src/schema.rs","byte_start":567055,"byte_end":567058,"line_start":1422,"line_end":1422,"column_start":52,"column_end":55},"name":"idl","qualname":"::from_idl::idl","value":"&idl::JS_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615209},"span":{"file_name":"src/schema.rs","byte_start":567072,"byte_end":567075,"line_start":1422,"line_end":1422,"column_start":69,"column_end":72},"name":"ast","qualname":"::from_idl::ast","value":"&idl::JS_AST","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2473},"span":{"file_name":"src/schema.rs","byte_start":567015,"byte_end":567023,"line_start":1422,"line_end":1422,"column_start":12,"column_end":20},"name":"from_idl","qualname":"::from_idl","value":"pub fn from_idl(Vec, &JS_Schema, &JS_AST)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Scan the schema for portals and resolve their locations\n Generate a schema from a parsed IDL\n","sig":null,"attributes":[{"value":"/ Scan the schema for portals and resolve their locations","span":{"file_name":"src/schema.rs","byte_start":565166,"byte_end":565225,"line_start":1380,"line_end":1380,"column_start":5,"column_end":64}},{"value":"/ Generate a schema from a parsed IDL","span":{"file_name":"src/schema.rs","byte_start":566964,"byte_end":567003,"line_start":1421,"line_end":1421,"column_start":5,"column_end":44}}]},{"kind":"Local","id":{"krate":0,"index":805308841},"span":{"file_name":"src/schema.rs","byte_start":567206,"byte_end":567210,"line_start":1425,"line_end":1425,"column_start":30,"column_end":34},"name":"name","qualname":"name$HirId { owner: DefId(0:2473 ~ no_proto[7dec]::schema::{impl#7}::from_idl), local_id: 12 }","value":"&idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050665},"span":{"file_name":"src/schema.rs","byte_start":567212,"byte_end":567216,"line_start":1425,"line_end":1425,"column_start":36,"column_end":40},"name":"args","qualname":"args$HirId { owner: DefId(0:2473 ~ no_proto[7dec]::schema::{impl#7}::from_idl), local_id: 14 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881129},"span":{"file_name":"src/schema.rs","byte_start":567244,"byte_end":567253,"line_start":1426,"line_end":1426,"column_start":21,"column_end":30},"name":"type_name","qualname":"type_name$HirId { owner: DefId(0:2473 ~ no_proto[7dec]::schema::{impl#7}::from_idl), local_id: 27 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":213911977},"span":{"file_name":"src/schema.rs","byte_start":571735,"byte_end":571742,"line_start":1474,"line_end":1474,"column_start":33,"column_end":40},"name":"err_msg","qualname":"err_msg$HirId { owner: DefId(0:2473 ~ no_proto[7dec]::schema::{impl#7}::from_idl), local_id: 816 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744298},"span":{"file_name":"src/schema.rs","byte_start":572139,"byte_end":572144,"line_start":1485,"line_end":1485,"column_start":27,"column_end":32},"name":"cache","qualname":"::from_bytes::cache","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873386},"span":{"file_name":"src/schema.rs","byte_start":572169,"byte_end":572176,"line_start":1485,"line_end":1485,"column_start":57,"column_end":64},"name":"address","qualname":"::from_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615210},"span":{"file_name":"src/schema.rs","byte_start":572185,"byte_end":572190,"line_start":1485,"line_end":1485,"column_start":73,"column_end":78},"name":"bytes","qualname":"::from_bytes::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2474},"span":{"file_name":"src/schema.rs","byte_start":572124,"byte_end":572134,"line_start":1485,"line_end":1485,"column_start":12,"column_end":22},"name":"from_bytes","qualname":"::from_bytes","value":"pub fn from_bytes(Vec, usize, &[u8])\n-> (bool, Vec)","parent":null,"children":[],"decl_id":null,"docs":" Parse a schema out of schema bytes\n","sig":null,"attributes":[{"value":"/ Parse a schema out of schema bytes","span":{"file_name":"src/schema.rs","byte_start":572074,"byte_end":572112,"line_start":1484,"line_end":1484,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":3355445674},"span":{"file_name":"src/schema.rs","byte_start":572246,"byte_end":572255,"line_start":1486,"line_end":1486,"column_start":13,"column_end":22},"name":"this_type","qualname":"this_type$HirId { owner: DefId(0:2474 ~ no_proto[7dec]::schema::{impl#7}::from_bytes), local_id: 19 }","value":"schema::NP_TypeKeys","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744299},"span":{"file_name":"src/schema.rs","byte_start":575365,"byte_end":575371,"line_start":1524,"line_end":1524,"column_start":22,"column_end":28},"name":"schema","qualname":"::from_json::schema","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873387},"span":{"file_name":"src/schema.rs","byte_start":575396,"byte_end":575407,"line_start":1524,"line_end":1524,"column_start":53,"column_end":64},"name":"json_schema","qualname":"::from_json::json_schema","value":"&std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2475},"span":{"file_name":"src/schema.rs","byte_start":575355,"byte_end":575364,"line_start":1524,"line_end":1524,"column_start":12,"column_end":21},"name":"from_json","qualname":"::from_json","value":"pub fn from_json(Vec, &Box)\n-> Result<(bool, Vec, Vec), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Parse schema from JSON object\n \n Given a valid JSON schema, parse and validate, then provide a compiled byte schema.\n \n If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick.\n \n","sig":null,"attributes":[{"value":"/ Parse schema from JSON object","span":{"file_name":"src/schema.rs","byte_start":575070,"byte_end":575103,"line_start":1518,"line_end":1518,"column_start":5,"column_end":38}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575108,"byte_end":575112,"line_start":1519,"line_end":1519,"column_start":5,"column_end":9}},{"value":"/ Given a valid JSON schema, parse and validate, then provide a compiled byte schema.","span":{"file_name":"src/schema.rs","byte_start":575117,"byte_end":575204,"line_start":1520,"line_end":1520,"column_start":5,"column_end":92}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575209,"byte_end":575213,"line_start":1521,"line_end":1521,"column_start":5,"column_end":9}},{"value":"/ If you need a quick way to convert JSON to schema bytes without firing up an NP_Factory, this will do the trick.","span":{"file_name":"src/schema.rs","byte_start":575218,"byte_end":575334,"line_start":1522,"line_end":1522,"column_start":5,"column_end":121}},{"value":"/ ","span":{"file_name":"src/schema.rs","byte_start":575339,"byte_end":575343,"line_start":1523,"line_end":1523,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":805308843},"span":{"file_name":"src/schema.rs","byte_start":575552,"byte_end":575553,"line_start":1527,"line_end":1527,"column_start":29,"column_end":30},"name":"x","qualname":"x$HirId { owner: DefId(0:2475 ~ no_proto[7dec]::schema::{impl#7}::from_json), local_id: 12 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1262487979},"span":{"file_name":"src/schema.rs","byte_start":579981,"byte_end":579988,"line_start":1577,"line_end":1577,"column_start":33,"column_end":40},"name":"err_msg","qualname":"err_msg$HirId { owner: DefId(0:2475 ~ no_proto[7dec]::schema::{impl#7}::from_json), local_id: 722 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2476},"span":{"file_name":"src/error.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"error","qualname":"::error","value":"src/error.rs","parent":null,"children":[{"krate":0,"index":2477},{"krate":0,"index":2480},{"krate":0,"index":2483},{"krate":0,"index":2486},{"krate":0,"index":4059},{"krate":0,"index":4070},{"krate":0,"index":2489},{"krate":0,"index":2494},{"krate":0,"index":2496},{"krate":0,"index":2498}],"decl_id":null,"docs":" Primary error type used by the library\n","sig":null,"attributes":[{"value":"/ Primary error type used by the library","span":{"file_name":"src/error.rs","byte_start":580379,"byte_end":580421,"line_start":1,"line_end":1,"column_start":1,"column_end":43}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4060},"span":{"file_name":"src/error.rs","byte_start":580658,"byte_end":580672,"line_start":12,"line_end":12,"column_start":5,"column_end":19},"name":"MemoryReadOnly","qualname":"::error::NP_Error::MemoryReadOnly","value":"NP_Error::MemoryReadOnly","parent":{"krate":0,"index":4059},"children":[],"decl_id":null,"docs":" Read only error\n","sig":null,"attributes":[{"value":"/ Read only error","span":{"file_name":"src/error.rs","byte_start":580634,"byte_end":580653,"line_start":11,"line_end":11,"column_start":5,"column_end":24}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4062},"span":{"file_name":"src/error.rs","byte_start":580738,"byte_end":580749,"line_start":14,"line_end":14,"column_start":5,"column_end":16},"name":"Unreachable","qualname":"::error::NP_Error::Unreachable","value":"NP_Error::Unreachable","parent":{"krate":0,"index":4059},"children":[],"decl_id":null,"docs":" Use this instead of unreachable! which causes panic\n","sig":null,"attributes":[{"value":"/ Use this instead of unreachable! which causes panic","span":{"file_name":"src/error.rs","byte_start":580678,"byte_end":580733,"line_start":13,"line_end":13,"column_start":5,"column_end":60}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4064},"span":{"file_name":"src/error.rs","byte_start":580780,"byte_end":580796,"line_start":16,"line_end":16,"column_start":5,"column_end":21},"name":"MemoryOutOfSpace","qualname":"::error::NP_Error::MemoryOutOfSpace","value":"NP_Error::MemoryOutOfSpace","parent":{"krate":0,"index":4059},"children":[],"decl_id":null,"docs":" Not Enough Space\n","sig":null,"attributes":[{"value":"/ Not Enough Space","span":{"file_name":"src/error.rs","byte_start":580755,"byte_end":580775,"line_start":15,"line_end":15,"column_start":5,"column_end":25}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4066},"span":{"file_name":"src/error.rs","byte_start":580835,"byte_end":580849,"line_start":18,"line_end":18,"column_start":5,"column_end":19},"name":"RecursionLimit","qualname":"::error::NP_Error::RecursionLimit","value":"NP_Error::RecursionLimit","parent":{"krate":0,"index":4059},"children":[],"decl_id":null,"docs":" Too many recursive calls\n","sig":null,"attributes":[{"value":"/ Too many recursive calls","span":{"file_name":"src/error.rs","byte_start":580802,"byte_end":580830,"line_start":17,"line_end":17,"column_start":5,"column_end":33}}]},{"kind":"StructVariant","id":{"krate":0,"index":4068},"span":{"file_name":"src/error.rs","byte_start":580884,"byte_end":580890,"line_start":20,"line_end":20,"column_start":5,"column_end":11},"name":"Custom","qualname":"::error::NP_Error::Custom","value":"NP_Error::Custom { message }","parent":{"krate":0,"index":4059},"children":[],"decl_id":null,"docs":" Custom error message\n","sig":null,"attributes":[{"value":"/ Custom error message","span":{"file_name":"src/error.rs","byte_start":580855,"byte_end":580879,"line_start":19,"line_end":19,"column_start":5,"column_end":29}}]},{"kind":"Field","id":{"krate":0,"index":4069},"span":{"file_name":"src/error.rs","byte_start":580928,"byte_end":580935,"line_start":22,"line_end":22,"column_start":9,"column_end":16},"name":"message","qualname":"::error::NP_Error::Custom::message","value":"std::string::String","parent":{"krate":0,"index":4068},"children":[],"decl_id":null,"docs":" Error message\n","sig":null,"attributes":[{"value":"/ Error message","span":{"file_name":"src/error.rs","byte_start":580902,"byte_end":580919,"line_start":21,"line_end":21,"column_start":9,"column_end":26}}]},{"kind":"Enum","id":{"krate":0,"index":4059},"span":{"file_name":"src/error.rs","byte_start":580619,"byte_end":580627,"line_start":10,"line_end":10,"column_start":10,"column_end":18},"name":"NP_Error","qualname":"::error::NP_Error","value":"pub enum NP_Error {\n MemoryReadOnly,\n Unreachable,\n MemoryOutOfSpace,\n RecursionLimit,\n Custom {\n message: String,\n },\n}","parent":null,"children":[{"krate":0,"index":4060},{"krate":0,"index":4062},{"krate":0,"index":4064},{"krate":0,"index":4066},{"krate":0,"index":4068}],"decl_id":null,"docs":" The error type used for errors in this library\n","sig":null,"attributes":[{"value":"/ The error type used for errors in this library","span":{"file_name":"src/error.rs","byte_start":580542,"byte_end":580592,"line_start":8,"line_end":8,"column_start":1,"column_end":51}}]},{"kind":"Local","id":{"krate":0,"index":1073744314},"span":{"file_name":"src/error.rs","byte_start":581053,"byte_end":581060,"line_start":28,"line_end":28,"column_start":31,"column_end":38},"name":"message","qualname":"::new::message","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2491},"span":{"file_name":"src/error.rs","byte_start":581038,"byte_end":581039,"line_start":28,"line_end":28,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:2490 ~ no_proto[7dec]::error::{impl#0}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2490},"span":{"file_name":"src/error.rs","byte_start":581034,"byte_end":581037,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new>(S) -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new error with a specific message\n","sig":null,"attributes":[{"value":"/ Generate a new error with a specific message","span":{"file_name":"src/error.rs","byte_start":580974,"byte_end":581022,"line_start":27,"line_end":27,"column_start":5,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":1073744316},"span":{"file_name":"src/error.rs","byte_start":581211,"byte_end":581216,"line_start":32,"line_end":32,"column_start":22,"column_end":27},"name":"value","qualname":"::unwrap::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2493},"span":{"file_name":"src/error.rs","byte_start":581208,"byte_end":581209,"line_start":32,"line_end":32,"column_start":19,"column_end":20},"name":"T","qualname":"::unwrap::T$HirId { owner: DefId(0:2492 ~ no_proto[7dec]::error::{impl#0}::unwrap), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2492},"span":{"file_name":"src/error.rs","byte_start":581201,"byte_end":581207,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"name":"unwrap","qualname":"::unwrap","value":"pub fn unwrap(Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Convert an option to an error type\n","sig":null,"attributes":[{"value":"/ Convert an option to an error type","span":{"file_name":"src/error.rs","byte_start":581151,"byte_end":581189,"line_start":31,"line_end":31,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":1610615228},"span":{"file_name":"src/error.rs","byte_start":581293,"byte_end":581294,"line_start":34,"line_end":34,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2492 ~ no_proto[7dec]::error::{impl#0}::unwrap), local_id: 6 }","value":"T","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744319},"span":{"file_name":"src/error.rs","byte_start":581444,"byte_end":581447,"line_start":41,"line_end":41,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"std::string::FromUtf8Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2495},"span":{"file_name":"src/error.rs","byte_start":581439,"byte_end":581443,"line_start":41,"line_end":41,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(FromUtf8Error) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744321},"span":{"file_name":"src/error.rs","byte_start":581600,"byte_end":581603,"line_start":47,"line_end":47,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"core::num::ParseFloatError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2497},"span":{"file_name":"src/error.rs","byte_start":581595,"byte_end":581599,"line_start":47,"line_end":47,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(core::num::ParseFloatError) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744323},"span":{"file_name":"src/error.rs","byte_start":581767,"byte_end":581770,"line_start":53,"line_end":53,"column_start":13,"column_end":16},"name":"err","qualname":"::from::err","value":"core::num::ParseIntError","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2499},"span":{"file_name":"src/error.rs","byte_start":581762,"byte_end":581766,"line_start":53,"line_end":53,"column_start":8,"column_end":12},"name":"from","qualname":"::from","value":"fn from(core::num::ParseIntError) -> NP_Error","parent":{"krate":1,"index":2930},"children":[],"decl_id":{"krate":1,"index":2932},"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2500},"span":{"file_name":"src/json_flex.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"json_flex","qualname":"::json_flex","value":"src/json_flex.rs","parent":null,"children":[{"krate":0,"index":2501},{"krate":0,"index":2504},{"krate":0,"index":2507},{"krate":0,"index":2510},{"krate":0,"index":2513},{"krate":0,"index":2516},{"krate":0,"index":2519},{"krate":0,"index":2522},{"krate":0,"index":2523},{"krate":0,"index":4072},{"krate":0,"index":4074},{"krate":0,"index":4076},{"krate":0,"index":4078},{"krate":0,"index":4079},{"krate":0,"index":2526},{"krate":0,"index":4082},{"krate":0,"index":4104},{"krate":0,"index":4106},{"krate":0,"index":4108},{"krate":0,"index":4109},{"krate":0,"index":2532},{"krate":0,"index":2553},{"krate":0,"index":2557},{"krate":0,"index":2561},{"krate":0,"index":2566},{"krate":0,"index":2567}],"decl_id":null,"docs":" JSON Parser, serializer and deserializer\n \n This file is derived from the json_flex crate.\n \n [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex)\n \n Changes:\n - Library has been converted & stripped for no_std use\n - All `.unwrap()`s have been replaced with proper error handling\n - Several additions that were needed for NoProto\n - Some minor optimizations\n \n The MIT License (MIT)\n \n Copyright (c) 2015 nacika\n Copyright (c) 2020 Scott Lott\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n","sig":null,"attributes":[{"value":"/ JSON Parser, serializer and deserializer","span":{"file_name":"src/json_flex.rs","byte_start":581868,"byte_end":581912,"line_start":1,"line_end":1,"column_start":1,"column_end":45}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":581913,"byte_end":581917,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ This file is derived from the json_flex crate.","span":{"file_name":"src/json_flex.rs","byte_start":581918,"byte_end":581968,"line_start":3,"line_end":3,"column_start":1,"column_end":51}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":581969,"byte_end":581973,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ [github](https://github.com/nacika-ins/json_flex) | [crates.io](https://crates.io/crates/json_flex)","span":{"file_name":"src/json_flex.rs","byte_start":581974,"byte_end":582077,"line_start":5,"line_end":5,"column_start":1,"column_end":104}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582078,"byte_end":582082,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ Changes:","span":{"file_name":"src/json_flex.rs","byte_start":582083,"byte_end":582095,"line_start":7,"line_end":7,"column_start":1,"column_end":13}},{"value":"/ - Library has been converted & stripped for no_std use","span":{"file_name":"src/json_flex.rs","byte_start":582096,"byte_end":582154,"line_start":8,"line_end":8,"column_start":1,"column_end":59}},{"value":"/ - All `.unwrap()`s have been replaced with proper error handling","span":{"file_name":"src/json_flex.rs","byte_start":582155,"byte_end":582223,"line_start":9,"line_end":9,"column_start":1,"column_end":69}},{"value":"/ - Several additions that were needed for NoProto","span":{"file_name":"src/json_flex.rs","byte_start":582224,"byte_end":582276,"line_start":10,"line_end":10,"column_start":1,"column_end":53}},{"value":"/ - Some minor optimizations","span":{"file_name":"src/json_flex.rs","byte_start":582277,"byte_end":582307,"line_start":11,"line_end":11,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582308,"byte_end":582312,"line_start":12,"line_end":12,"column_start":1,"column_end":5}},{"value":"/ The MIT License (MIT)","span":{"file_name":"src/json_flex.rs","byte_start":582313,"byte_end":582338,"line_start":13,"line_end":13,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582339,"byte_end":582343,"line_start":14,"line_end":14,"column_start":1,"column_end":5}},{"value":"/ Copyright (c) 2015 nacika","span":{"file_name":"src/json_flex.rs","byte_start":582344,"byte_end":582373,"line_start":15,"line_end":15,"column_start":1,"column_end":30}},{"value":"/ Copyright (c) 2020 Scott Lott","span":{"file_name":"src/json_flex.rs","byte_start":582374,"byte_end":582407,"line_start":16,"line_end":16,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582408,"byte_end":582412,"line_start":17,"line_end":17,"column_start":1,"column_end":5}},{"value":"/ Permission is hereby granted, free of charge, to any person obtaining a copy","span":{"file_name":"src/json_flex.rs","byte_start":582413,"byte_end":582493,"line_start":18,"line_end":18,"column_start":1,"column_end":81}},{"value":"/ of this software and associated documentation files (the \"Software\"), to deal","span":{"file_name":"src/json_flex.rs","byte_start":582494,"byte_end":582575,"line_start":19,"line_end":19,"column_start":1,"column_end":82}},{"value":"/ in the Software without restriction, including without limitation the rights","span":{"file_name":"src/json_flex.rs","byte_start":582576,"byte_end":582656,"line_start":20,"line_end":20,"column_start":1,"column_end":81}},{"value":"/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell","span":{"file_name":"src/json_flex.rs","byte_start":582657,"byte_end":582734,"line_start":21,"line_end":21,"column_start":1,"column_end":78}},{"value":"/ copies of the Software, and to permit persons to whom the Software is","span":{"file_name":"src/json_flex.rs","byte_start":582735,"byte_end":582808,"line_start":22,"line_end":22,"column_start":1,"column_end":74}},{"value":"/ furnished to do so, subject to the following conditions:","span":{"file_name":"src/json_flex.rs","byte_start":582809,"byte_end":582869,"line_start":23,"line_end":23,"column_start":1,"column_end":61}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":582870,"byte_end":582874,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ The above copyright notice and this permission notice shall be included in all","span":{"file_name":"src/json_flex.rs","byte_start":582875,"byte_end":582957,"line_start":25,"line_end":25,"column_start":1,"column_end":83}},{"value":"/ copies or substantial portions of the Software.","span":{"file_name":"src/json_flex.rs","byte_start":582958,"byte_end":583009,"line_start":26,"line_end":26,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/json_flex.rs","byte_start":583010,"byte_end":583014,"line_start":27,"line_end":27,"column_start":1,"column_end":5}},{"value":"/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR","span":{"file_name":"src/json_flex.rs","byte_start":583015,"byte_end":583093,"line_start":28,"line_end":28,"column_start":1,"column_end":79}},{"value":"/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,","span":{"file_name":"src/json_flex.rs","byte_start":583094,"byte_end":583170,"line_start":29,"line_end":29,"column_start":1,"column_end":77}},{"value":"/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE","span":{"file_name":"src/json_flex.rs","byte_start":583171,"byte_end":583250,"line_start":30,"line_end":30,"column_start":1,"column_end":80}},{"value":"/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER","span":{"file_name":"src/json_flex.rs","byte_start":583251,"byte_end":583325,"line_start":31,"line_end":31,"column_start":1,"column_end":75}},{"value":"/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,","span":{"file_name":"src/json_flex.rs","byte_start":583326,"byte_end":583407,"line_start":32,"line_end":32,"column_start":1,"column_end":82}},{"value":"/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE","span":{"file_name":"src/json_flex.rs","byte_start":583408,"byte_end":583489,"line_start":33,"line_end":33,"column_start":1,"column_end":82}},{"value":"/ SOFTWARE.","span":{"file_name":"src/json_flex.rs","byte_start":583490,"byte_end":583503,"line_start":34,"line_end":34,"column_start":1,"column_end":14}}]},{"kind":"Struct","id":{"krate":0,"index":4072},"span":{"file_name":"src/json_flex.rs","byte_start":583797,"byte_end":583802,"line_start":48,"line_end":48,"column_start":12,"column_end":17},"name":"JSMAP","qualname":"::json_flex::JSMAP","value":"JSMAP { values }","parent":null,"children":[{"krate":0,"index":4073}],"decl_id":null,"docs":" The JSON representation of a JS Map\n","sig":null,"attributes":[{"value":"/ The JSON representation of a JS Map","span":{"file_name":"src/json_flex.rs","byte_start":583711,"byte_end":583750,"line_start":46,"line_end":46,"column_start":1,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":4073},"span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"name":"values","qualname":"::json_flex::JSMAP::values","value":"std::vec::Vec<(std::string::String, json_flex::NP_JSON)>","parent":{"krate":0,"index":4072},"children":[],"decl_id":null,"docs":" The vec of values in the map\n","sig":null,"attributes":[{"value":"/ The vec of values in the map","span":{"file_name":"src/json_flex.rs","byte_start":583809,"byte_end":583841,"line_start":49,"line_end":49,"column_start":5,"column_end":37}}]},{"kind":"Method","id":{"krate":0,"index":2527},"span":{"file_name":"src/json_flex.rs","byte_start":583942,"byte_end":583945,"line_start":56,"line_end":56,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new() -> Self","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty map\n","sig":null,"attributes":[{"value":"/ Generate a new empty map","span":{"file_name":"src/json_flex.rs","byte_start":583902,"byte_end":583930,"line_start":55,"line_end":55,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":1073744352},"span":{"file_name":"src/json_flex.rs","byte_start":584061,"byte_end":584065,"line_start":61,"line_end":61,"column_start":24,"column_end":28},"name":"self","qualname":"::insert::self","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873440},"span":{"file_name":"src/json_flex.rs","byte_start":584067,"byte_end":584070,"line_start":61,"line_end":61,"column_start":30,"column_end":33},"name":"key","qualname":"::insert::key","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615264},"span":{"file_name":"src/json_flex.rs","byte_start":584080,"byte_end":584085,"line_start":61,"line_end":61,"column_start":43,"column_end":48},"name":"value","qualname":"::insert::value","value":"json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2528},"span":{"file_name":"src/json_flex.rs","byte_start":584049,"byte_end":584055,"line_start":61,"line_end":61,"column_start":12,"column_end":18},"name":"insert","qualname":"::insert","value":"pub fn insert(&mut Self, String, NP_JSON) -> usize","parent":null,"children":[],"decl_id":null,"docs":" Insert a value into the map\n","sig":null,"attributes":[{"value":"/ Insert a value into the map","span":{"file_name":"src/json_flex.rs","byte_start":584006,"byte_end":584037,"line_start":60,"line_end":60,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":134220256},"span":{"file_name":"src/json_flex.rs","byte_start":584120,"byte_end":584121,"line_start":63,"line_end":63,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2528 ~ no_proto[7dec]::json_flex::{impl#0}::insert), local_id: 16 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744353},"span":{"file_name":"src/json_flex.rs","byte_start":584439,"byte_end":584443,"line_start":76,"line_end":76,"column_start":25,"column_end":29},"name":"self","qualname":"::get_mut::self","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873441},"span":{"file_name":"src/json_flex.rs","byte_start":584445,"byte_end":584448,"line_start":76,"line_end":76,"column_start":31,"column_end":34},"name":"key","qualname":"::get_mut::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2529},"span":{"file_name":"src/json_flex.rs","byte_start":584426,"byte_end":584433,"line_start":76,"line_end":76,"column_start":12,"column_end":19},"name":"get_mut","qualname":"::get_mut","value":"pub fn get_mut(&mut Self, &str) -> Option<&mut NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":" Get a mutable reference to a value in the map\n","sig":null,"attributes":[{"value":"/ Get a mutable reference to a value in the map","span":{"file_name":"src/json_flex.rs","byte_start":584365,"byte_end":584414,"line_start":75,"line_end":75,"column_start":5,"column_end":54}}]},{"kind":"Local","id":{"krate":0,"index":1879050721},"span":{"file_name":"src/json_flex.rs","byte_start":584494,"byte_end":584495,"line_start":77,"line_end":77,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2529 ~ no_proto[7dec]::json_flex::{impl#0}::get_mut), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744354},"span":{"file_name":"src/json_flex.rs","byte_start":584733,"byte_end":584737,"line_start":86,"line_end":86,"column_start":17,"column_end":21},"name":"self","qualname":"::get::self","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873442},"span":{"file_name":"src/json_flex.rs","byte_start":584739,"byte_end":584742,"line_start":86,"line_end":86,"column_start":23,"column_end":26},"name":"key","qualname":"::get::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2530},"span":{"file_name":"src/json_flex.rs","byte_start":584728,"byte_end":584731,"line_start":86,"line_end":86,"column_start":12,"column_end":15},"name":"get","qualname":"::get","value":"pub fn get(&Self, &str) -> Option<&NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":" Get an immutable reference to a value in the map\n","sig":null,"attributes":[{"value":"/ Get an immutable reference to a value in the map","span":{"file_name":"src/json_flex.rs","byte_start":584664,"byte_end":584716,"line_start":85,"line_end":85,"column_start":5,"column_end":57}}]},{"kind":"Local","id":{"krate":0,"index":1879050722},"span":{"file_name":"src/json_flex.rs","byte_start":584784,"byte_end":584785,"line_start":87,"line_end":87,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2530 ~ no_proto[7dec]::json_flex::{impl#0}::get), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744355},"span":{"file_name":"src/json_flex.rs","byte_start":585005,"byte_end":585009,"line_start":96,"line_end":96,"column_start":17,"column_end":21},"name":"self","qualname":"::has::self","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873443},"span":{"file_name":"src/json_flex.rs","byte_start":585011,"byte_end":585014,"line_start":96,"line_end":96,"column_start":23,"column_end":26},"name":"key","qualname":"::has::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2531},"span":{"file_name":"src/json_flex.rs","byte_start":585000,"byte_end":585003,"line_start":96,"line_end":96,"column_start":12,"column_end":15},"name":"has","qualname":"::has","value":"pub fn has(&Self, &str) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if a value exists in the map\n","sig":null,"attributes":[{"value":"/ Check if a value exists in the map","span":{"file_name":"src/json_flex.rs","byte_start":584950,"byte_end":584988,"line_start":95,"line_end":95,"column_start":5,"column_end":43}}]},{"kind":"Local","id":{"krate":0,"index":1879050723},"span":{"file_name":"src/json_flex.rs","byte_start":585044,"byte_end":585045,"line_start":97,"line_end":97,"column_start":13,"column_end":14},"name":"x","qualname":"x$HirId { owner: DefId(0:2531 ~ no_proto[7dec]::json_flex::{impl#0}::has), local_id: 14 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4083},"span":{"file_name":"src/json_flex.rs","byte_start":585302,"byte_end":585308,"line_start":110,"line_end":110,"column_start":5,"column_end":11},"name":"String","qualname":"::json_flex::NP_JSON::String","value":"NP_JSON::String(String)","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" String JSON type\n","sig":null,"attributes":[{"value":"/ String JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585277,"byte_end":585297,"line_start":109,"line_end":109,"column_start":5,"column_end":25}}]},{"kind":"Field","id":{"krate":0,"index":4085},"span":{"file_name":"src/json_flex.rs","byte_start":585309,"byte_end":585315,"line_start":110,"line_end":110,"column_start":12,"column_end":18},"name":"0","qualname":"::json_flex::NP_JSON::String::0","value":"std::string::String","parent":{"krate":0,"index":4083},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4086},"span":{"file_name":"src/json_flex.rs","byte_start":585349,"byte_end":585356,"line_start":112,"line_end":112,"column_start":5,"column_end":12},"name":"Integer","qualname":"::json_flex::NP_JSON::Integer","value":"NP_JSON::Integer(i64)","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" Integer JSON type\n","sig":null,"attributes":[{"value":"/ Integer JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585323,"byte_end":585344,"line_start":111,"line_end":111,"column_start":5,"column_end":26}}]},{"kind":"Field","id":{"krate":0,"index":4088},"span":{"file_name":"src/json_flex.rs","byte_start":585357,"byte_end":585360,"line_start":112,"line_end":112,"column_start":13,"column_end":16},"name":"0","qualname":"::json_flex::NP_JSON::Integer::0","value":"i64","parent":{"krate":0,"index":4086},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4089},"span":{"file_name":"src/json_flex.rs","byte_start":585392,"byte_end":585397,"line_start":114,"line_end":114,"column_start":5,"column_end":10},"name":"Float","qualname":"::json_flex::NP_JSON::Float","value":"NP_JSON::Float(f64)","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" Float JSON type\n","sig":null,"attributes":[{"value":"/ Float JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585368,"byte_end":585387,"line_start":113,"line_end":113,"column_start":5,"column_end":24}}]},{"kind":"Field","id":{"krate":0,"index":4091},"span":{"file_name":"src/json_flex.rs","byte_start":585398,"byte_end":585401,"line_start":114,"line_end":114,"column_start":11,"column_end":14},"name":"0","qualname":"::json_flex::NP_JSON::Float::0","value":"f64","parent":{"krate":0,"index":4089},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4092},"span":{"file_name":"src/json_flex.rs","byte_start":585431,"byte_end":585441,"line_start":116,"line_end":116,"column_start":5,"column_end":15},"name":"Dictionary","qualname":"::json_flex::NP_JSON::Dictionary","value":"NP_JSON::Dictionary(JSMAP)","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" Map JSON type\n","sig":null,"attributes":[{"value":"/ Map JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585409,"byte_end":585426,"line_start":115,"line_end":115,"column_start":5,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":4094},"span":{"file_name":"src/json_flex.rs","byte_start":585442,"byte_end":585447,"line_start":116,"line_end":116,"column_start":16,"column_end":21},"name":"0","qualname":"::json_flex::NP_JSON::Dictionary::0","value":"json_flex::JSMAP","parent":{"krate":0,"index":4092},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4095},"span":{"file_name":"src/json_flex.rs","byte_start":585478,"byte_end":585483,"line_start":118,"line_end":118,"column_start":5,"column_end":10},"name":"Array","qualname":"::json_flex::NP_JSON::Array","value":"NP_JSON::Array(Vec)","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" List JSON type\n","sig":null,"attributes":[{"value":"/ List JSON type","span":{"file_name":"src/json_flex.rs","byte_start":585455,"byte_end":585473,"line_start":117,"line_end":117,"column_start":5,"column_end":23}}]},{"kind":"Field","id":{"krate":0,"index":4097},"span":{"file_name":"src/json_flex.rs","byte_start":585484,"byte_end":585496,"line_start":118,"line_end":118,"column_start":11,"column_end":23},"name":"0","qualname":"::json_flex::NP_JSON::Array::0","value":"std::vec::Vec","parent":{"krate":0,"index":4095},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4098},"span":{"file_name":"src/json_flex.rs","byte_start":585527,"byte_end":585531,"line_start":120,"line_end":120,"column_start":5,"column_end":9},"name":"Null","qualname":"::json_flex::NP_JSON::Null","value":"NP_JSON::Null","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" NULL json type\n","sig":null,"attributes":[{"value":"/ NULL json type","span":{"file_name":"src/json_flex.rs","byte_start":585504,"byte_end":585522,"line_start":119,"line_end":119,"column_start":5,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4100},"span":{"file_name":"src/json_flex.rs","byte_start":585565,"byte_end":585570,"line_start":122,"line_end":122,"column_start":5,"column_end":10},"name":"False","qualname":"::json_flex::NP_JSON::False","value":"NP_JSON::False","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" boolean false type\n","sig":null,"attributes":[{"value":"/ boolean false type","span":{"file_name":"src/json_flex.rs","byte_start":585538,"byte_end":585560,"line_start":121,"line_end":121,"column_start":5,"column_end":27}}]},{"kind":"TupleVariant","id":{"krate":0,"index":4102},"span":{"file_name":"src/json_flex.rs","byte_start":585603,"byte_end":585607,"line_start":124,"line_end":124,"column_start":5,"column_end":9},"name":"True","qualname":"::json_flex::NP_JSON::True","value":"NP_JSON::True","parent":{"krate":0,"index":4082},"children":[],"decl_id":null,"docs":" boolean true type\n","sig":null,"attributes":[{"value":"/ boolean true type","span":{"file_name":"src/json_flex.rs","byte_start":585577,"byte_end":585598,"line_start":123,"line_end":123,"column_start":5,"column_end":26}}]},{"kind":"Enum","id":{"krate":0,"index":4082},"span":{"file_name":"src/json_flex.rs","byte_start":585263,"byte_end":585270,"line_start":108,"line_end":108,"column_start":10,"column_end":17},"name":"NP_JSON","qualname":"::json_flex::NP_JSON","value":"pub enum NP_JSON {\n String(String),\n Integer(i64),\n Float(f64),\n Dictionary(JSMAP),\n Array(Vec),\n Null,\n False,\n True,\n}","parent":null,"children":[{"krate":0,"index":4083},{"krate":0,"index":4086},{"krate":0,"index":4089},{"krate":0,"index":4092},{"krate":0,"index":4095},{"krate":0,"index":4098},{"krate":0,"index":4100},{"krate":0,"index":4102}],"decl_id":null,"docs":" Represents an JSON value\n","sig":null,"attributes":[{"value":"/ Represents an JSON value","span":{"file_name":"src/json_flex.rs","byte_start":585190,"byte_end":585218,"line_start":106,"line_end":106,"column_start":1,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":1073744357},"span":{"file_name":"src/json_flex.rs","byte_start":585691,"byte_end":585695,"line_start":133,"line_end":133,"column_start":19,"column_end":23},"name":"self","qualname":"::clone::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2533},"span":{"file_name":"src/json_flex.rs","byte_start":585684,"byte_end":585689,"line_start":133,"line_end":133,"column_start":12,"column_end":17},"name":"clone","qualname":"::clone","value":"pub fn clone(&Self) -> NP_JSON","parent":null,"children":[],"decl_id":null,"docs":" copy this value and it's children\n","sig":null,"attributes":[{"value":"/ copy this value and it's children","span":{"file_name":"src/json_flex.rs","byte_start":585635,"byte_end":585672,"line_start":132,"line_end":132,"column_start":5,"column_end":42}}]},{"kind":"Local","id":{"krate":0,"index":3758098917},"span":{"file_name":"src/json_flex.rs","byte_start":585764,"byte_end":585767,"line_start":136,"line_end":136,"column_start":33,"column_end":36},"name":"map","qualname":"map$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2281703909},"span":{"file_name":"src/json_flex.rs","byte_start":585798,"byte_end":585805,"line_start":137,"line_end":137,"column_start":25,"column_end":32},"name":"new_map","qualname":"new_map$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 17 }","value":"json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744832997},"span":{"file_name":"src/json_flex.rs","byte_start":585843,"byte_end":585847,"line_start":139,"line_end":139,"column_start":21,"column_end":25},"name":"item","qualname":"item$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 22 }","value":"&(std::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417765},"span":{"file_name":"src/json_flex.rs","byte_start":585889,"byte_end":585895,"line_start":140,"line_end":140,"column_start":25,"column_end":31},"name":"cloned","qualname":"cloned$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 44 }","value":"(std::string::String, json_flex::NP_JSON)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774693},"span":{"file_name":"src/json_flex.rs","byte_start":586217,"byte_end":586221,"line_start":151,"line_end":151,"column_start":28,"column_end":32},"name":"list","qualname":"list$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 80 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1509951973},"span":{"file_name":"src/json_flex.rs","byte_start":586252,"byte_end":586257,"line_start":152,"line_end":152,"column_start":25,"column_end":30},"name":"array","qualname":"array$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 90 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3120564709},"span":{"file_name":"src/json_flex.rs","byte_start":586292,"byte_end":586296,"line_start":153,"line_end":153,"column_start":21,"column_end":25},"name":"item","qualname":"item$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 93 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":285215205},"span":{"file_name":"src/json_flex.rs","byte_start":586452,"byte_end":586457,"line_start":158,"line_end":158,"column_start":29,"column_end":34},"name":"strng","qualname":"strng$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 136 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3909093861},"span":{"file_name":"src/json_flex.rs","byte_start":586555,"byte_end":586558,"line_start":161,"line_end":161,"column_start":30,"column_end":33},"name":"int","qualname":"int$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 151 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2768243173},"span":{"file_name":"src/json_flex.rs","byte_start":586646,"byte_end":586649,"line_start":164,"line_end":164,"column_start":28,"column_end":31},"name":"num","qualname":"num$HirId { owner: DefId(0:2533 ~ no_proto[7dec]::json_flex::{impl#1}::clone), local_id: 165 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744358},"span":{"file_name":"src/json_flex.rs","byte_start":587013,"byte_end":587017,"line_start":179,"line_end":179,"column_start":25,"column_end":29},"name":"self","qualname":"::into_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2534},"span":{"file_name":"src/json_flex.rs","byte_start":587000,"byte_end":587011,"line_start":179,"line_end":179,"column_start":12,"column_end":23},"name":"into_string","qualname":"::into_string","value":"pub fn into_string(&Self) -> Option<&String>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a string\n","sig":null,"attributes":[{"value":"/ Get this value as a string","span":{"file_name":"src/json_flex.rs","byte_start":586958,"byte_end":586988,"line_start":178,"line_end":178,"column_start":5,"column_end":35}}]},{"kind":"Local","id":{"krate":0,"index":3758098918},"span":{"file_name":"src/json_flex.rs","byte_start":587094,"byte_end":587095,"line_start":181,"line_end":181,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2534 ~ no_proto[7dec]::json_flex::{impl#1}::into_string), local_id: 7 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744359},"span":{"file_name":"src/json_flex.rs","byte_start":587202,"byte_end":587206,"line_start":186,"line_end":186,"column_start":22,"column_end":26},"name":"self","qualname":"::into_i64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2535},"span":{"file_name":"src/json_flex.rs","byte_start":587192,"byte_end":587200,"line_start":186,"line_end":186,"column_start":12,"column_end":20},"name":"into_i64","qualname":"::into_i64","value":"pub fn into_i64(&Self) -> Option<&i64>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as an i64\n","sig":null,"attributes":[{"value":"/ Get this value as an i64","span":{"file_name":"src/json_flex.rs","byte_start":587152,"byte_end":587180,"line_start":185,"line_end":185,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098919},"span":{"file_name":"src/json_flex.rs","byte_start":587281,"byte_end":587282,"line_start":188,"line_end":188,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2535 ~ no_proto[7dec]::json_flex::{impl#1}::into_i64), local_id: 7 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744360},"span":{"file_name":"src/json_flex.rs","byte_start":587389,"byte_end":587393,"line_start":193,"line_end":193,"column_start":22,"column_end":26},"name":"self","qualname":"::into_f64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2536},"span":{"file_name":"src/json_flex.rs","byte_start":587379,"byte_end":587387,"line_start":193,"line_end":193,"column_start":12,"column_end":20},"name":"into_f64","qualname":"::into_f64","value":"pub fn into_f64(&Self) -> Option<&f64>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as an f64\n","sig":null,"attributes":[{"value":"/ Get this value as an f64","span":{"file_name":"src/json_flex.rs","byte_start":587339,"byte_end":587367,"line_start":192,"line_end":192,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098920},"span":{"file_name":"src/json_flex.rs","byte_start":587466,"byte_end":587467,"line_start":195,"line_end":195,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2536 ~ no_proto[7dec]::json_flex::{impl#1}::into_f64), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744361},"span":{"file_name":"src/json_flex.rs","byte_start":587581,"byte_end":587585,"line_start":200,"line_end":200,"column_start":26,"column_end":30},"name":"self","qualname":"::into_hashmap::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2537},"span":{"file_name":"src/json_flex.rs","byte_start":587567,"byte_end":587579,"line_start":200,"line_end":200,"column_start":12,"column_end":24},"name":"into_hashmap","qualname":"::into_hashmap","value":"pub fn into_hashmap(&Self) -> Option<&JSMAP>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a hashmap\n","sig":null,"attributes":[{"value":"/ Get this value as a hashmap","span":{"file_name":"src/json_flex.rs","byte_start":587524,"byte_end":587555,"line_start":199,"line_end":199,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":3758098921},"span":{"file_name":"src/json_flex.rs","byte_start":587665,"byte_end":587666,"line_start":202,"line_end":202,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2537 ~ no_proto[7dec]::json_flex::{impl#1}::into_hashmap), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744362},"span":{"file_name":"src/json_flex.rs","byte_start":587773,"byte_end":587777,"line_start":207,"line_end":207,"column_start":22,"column_end":26},"name":"self","qualname":"::into_vec::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2538},"span":{"file_name":"src/json_flex.rs","byte_start":587763,"byte_end":587771,"line_start":207,"line_end":207,"column_start":12,"column_end":20},"name":"into_vec","qualname":"::into_vec","value":"pub fn into_vec(&Self) -> Option<&Vec>","parent":null,"children":[],"decl_id":null,"docs":" Get this value as a list\n","sig":null,"attributes":[{"value":"/ Get this value as a list","span":{"file_name":"src/json_flex.rs","byte_start":587723,"byte_end":587751,"line_start":206,"line_end":206,"column_start":5,"column_end":33}}]},{"kind":"Local","id":{"krate":0,"index":3758098922},"span":{"file_name":"src/json_flex.rs","byte_start":587859,"byte_end":587860,"line_start":209,"line_end":209,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2538 ~ no_proto[7dec]::json_flex::{impl#1}::into_vec), local_id: 7 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744363},"span":{"file_name":"src/json_flex.rs","byte_start":587969,"byte_end":587973,"line_start":214,"line_end":214,"column_start":21,"column_end":25},"name":"self","qualname":"::is_null::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2539},"span":{"file_name":"src/json_flex.rs","byte_start":587960,"byte_end":587967,"line_start":214,"line_end":214,"column_start":12,"column_end":19},"name":"is_null","qualname":"::is_null","value":"pub fn is_null(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is null\n","sig":null,"attributes":[{"value":"/ Check if this value is null","span":{"file_name":"src/json_flex.rs","byte_start":587917,"byte_end":587948,"line_start":213,"line_end":213,"column_start":5,"column_end":36}}]},{"kind":"Local","id":{"krate":0,"index":1073744364},"span":{"file_name":"src/json_flex.rs","byte_start":588146,"byte_end":588150,"line_start":221,"line_end":221,"column_start":21,"column_end":25},"name":"self","qualname":"::is_true::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2540},"span":{"file_name":"src/json_flex.rs","byte_start":588137,"byte_end":588144,"line_start":221,"line_end":221,"column_start":12,"column_end":19},"name":"is_true","qualname":"::is_true","value":"pub fn is_true(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is boolean true\n","sig":null,"attributes":[{"value":"/ Check if this value is boolean true","span":{"file_name":"src/json_flex.rs","byte_start":588086,"byte_end":588125,"line_start":220,"line_end":220,"column_start":5,"column_end":44}}]},{"kind":"Local","id":{"krate":0,"index":1073744365},"span":{"file_name":"src/json_flex.rs","byte_start":588325,"byte_end":588329,"line_start":228,"line_end":228,"column_start":22,"column_end":26},"name":"self","qualname":"::is_false::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2541},"span":{"file_name":"src/json_flex.rs","byte_start":588315,"byte_end":588323,"line_start":228,"line_end":228,"column_start":12,"column_end":20},"name":"is_false","qualname":"::is_false","value":"pub fn is_false(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is boolean false\n","sig":null,"attributes":[{"value":"/ Check if this value is boolean false","span":{"file_name":"src/json_flex.rs","byte_start":588263,"byte_end":588303,"line_start":227,"line_end":227,"column_start":5,"column_end":45}}]},{"kind":"Local","id":{"krate":0,"index":1073744366},"span":{"file_name":"src/json_flex.rs","byte_start":588497,"byte_end":588501,"line_start":235,"line_end":235,"column_start":22,"column_end":26},"name":"self","qualname":"::is_array::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2542},"span":{"file_name":"src/json_flex.rs","byte_start":588487,"byte_end":588495,"line_start":235,"line_end":235,"column_start":12,"column_end":20},"name":"is_array","qualname":"::is_array","value":"pub fn is_array(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is array\n","sig":null,"attributes":[{"value":"/ Check if this value is array","span":{"file_name":"src/json_flex.rs","byte_start":588443,"byte_end":588475,"line_start":234,"line_end":234,"column_start":5,"column_end":37}}]},{"kind":"Local","id":{"krate":0,"index":1073744367},"span":{"file_name":"src/json_flex.rs","byte_start":588675,"byte_end":588679,"line_start":242,"line_end":242,"column_start":27,"column_end":31},"name":"self","qualname":"::is_dictionary::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2543},"span":{"file_name":"src/json_flex.rs","byte_start":588660,"byte_end":588673,"line_start":242,"line_end":242,"column_start":12,"column_end":25},"name":"is_dictionary","qualname":"::is_dictionary","value":"pub fn is_dictionary(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is map\n","sig":null,"attributes":[{"value":"/ Check if this value is map","span":{"file_name":"src/json_flex.rs","byte_start":588618,"byte_end":588648,"line_start":241,"line_end":241,"column_start":5,"column_end":35}}]},{"kind":"Local","id":{"krate":0,"index":1073744368},"span":{"file_name":"src/json_flex.rs","byte_start":588857,"byte_end":588861,"line_start":249,"line_end":249,"column_start":23,"column_end":27},"name":"self","qualname":"::is_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2544},"span":{"file_name":"src/json_flex.rs","byte_start":588846,"byte_end":588855,"line_start":249,"line_end":249,"column_start":12,"column_end":21},"name":"is_string","qualname":"::is_string","value":"pub fn is_string(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is string\n","sig":null,"attributes":[{"value":"/ Check if this value is string","span":{"file_name":"src/json_flex.rs","byte_start":588801,"byte_end":588834,"line_start":248,"line_end":248,"column_start":5,"column_end":38}}]},{"kind":"Local","id":{"krate":0,"index":1073744369},"span":{"file_name":"src/json_flex.rs","byte_start":589040,"byte_end":589044,"line_start":256,"line_end":256,"column_start":24,"column_end":28},"name":"self","qualname":"::is_integer::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2545},"span":{"file_name":"src/json_flex.rs","byte_start":589028,"byte_end":589038,"line_start":256,"line_end":256,"column_start":12,"column_end":22},"name":"is_integer","qualname":"::is_integer","value":"pub fn is_integer(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is an integer\n","sig":null,"attributes":[{"value":"/ Check if this value is an integer","span":{"file_name":"src/json_flex.rs","byte_start":588979,"byte_end":589016,"line_start":255,"line_end":255,"column_start":5,"column_end":42}}]},{"kind":"Local","id":{"krate":0,"index":1073744370},"span":{"file_name":"src/json_flex.rs","byte_start":589217,"byte_end":589221,"line_start":263,"line_end":263,"column_start":22,"column_end":26},"name":"self","qualname":"::is_float::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2546},"span":{"file_name":"src/json_flex.rs","byte_start":589207,"byte_end":589215,"line_start":263,"line_end":263,"column_start":12,"column_end":20},"name":"is_float","qualname":"::is_float","value":"pub fn is_float(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":" Check if this value is float\n","sig":null,"attributes":[{"value":"/ Check if this value is float","span":{"file_name":"src/json_flex.rs","byte_start":589163,"byte_end":589195,"line_start":262,"line_end":262,"column_start":5,"column_end":37}}]},{"kind":"Local","id":{"krate":0,"index":1073744371},"span":{"file_name":"src/json_flex.rs","byte_start":589429,"byte_end":589433,"line_start":270,"line_end":270,"column_start":27,"column_end":31},"name":"self","qualname":"::unwrap_string::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2547},"span":{"file_name":"src/json_flex.rs","byte_start":589414,"byte_end":589427,"line_start":270,"line_end":270,"column_start":12,"column_end":25},"name":"unwrap_string","qualname":"::unwrap_string","value":"pub fn unwrap_string(&Self) -> Option<&String>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the string in this value if it's a string\n","sig":null,"attributes":[{"value":"/ Get a reference to the string in this value if it's a string","span":{"file_name":"src/json_flex.rs","byte_start":589338,"byte_end":589402,"line_start":269,"line_end":269,"column_start":5,"column_end":69}}]},{"kind":"Local","id":{"krate":0,"index":3758098931},"span":{"file_name":"src/json_flex.rs","byte_start":589510,"byte_end":589511,"line_start":272,"line_end":272,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2547 ~ no_proto[7dec]::json_flex::{impl#1}::unwrap_string), local_id: 7 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744372},"span":{"file_name":"src/json_flex.rs","byte_start":589650,"byte_end":589654,"line_start":277,"line_end":277,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_i64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2548},"span":{"file_name":"src/json_flex.rs","byte_start":589638,"byte_end":589648,"line_start":277,"line_end":277,"column_start":12,"column_end":22},"name":"unwrap_i64","qualname":"::unwrap_i64","value":"pub fn unwrap_i64(&Self) -> Option<&i64>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the i64 in this value if it's a i64\n","sig":null,"attributes":[{"value":"/ Get a reference to the i64 in this value if it's a i64","span":{"file_name":"src/json_flex.rs","byte_start":589568,"byte_end":589626,"line_start":276,"line_end":276,"column_start":5,"column_end":63}}]},{"kind":"Local","id":{"krate":0,"index":3758098932},"span":{"file_name":"src/json_flex.rs","byte_start":589729,"byte_end":589730,"line_start":279,"line_end":279,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2548 ~ no_proto[7dec]::json_flex::{impl#1}::unwrap_i64), local_id: 7 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744373},"span":{"file_name":"src/json_flex.rs","byte_start":589869,"byte_end":589873,"line_start":284,"line_end":284,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_f64::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2549},"span":{"file_name":"src/json_flex.rs","byte_start":589857,"byte_end":589867,"line_start":284,"line_end":284,"column_start":12,"column_end":22},"name":"unwrap_f64","qualname":"::unwrap_f64","value":"pub fn unwrap_f64(&Self) -> Option<&f64>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the f64 in this value if it's a f64\n","sig":null,"attributes":[{"value":"/ Get a reference to the f64 in this value if it's a f64","span":{"file_name":"src/json_flex.rs","byte_start":589787,"byte_end":589845,"line_start":283,"line_end":283,"column_start":5,"column_end":63}}]},{"kind":"Local","id":{"krate":0,"index":3758098933},"span":{"file_name":"src/json_flex.rs","byte_start":589946,"byte_end":589947,"line_start":286,"line_end":286,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2549 ~ no_proto[7dec]::json_flex::{impl#1}::unwrap_f64), local_id: 7 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744374},"span":{"file_name":"src/json_flex.rs","byte_start":590098,"byte_end":590102,"line_start":291,"line_end":291,"column_start":28,"column_end":32},"name":"self","qualname":"::unwrap_hashmap::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2550},"span":{"file_name":"src/json_flex.rs","byte_start":590082,"byte_end":590096,"line_start":291,"line_end":291,"column_start":12,"column_end":26},"name":"unwrap_hashmap","qualname":"::unwrap_hashmap","value":"pub fn unwrap_hashmap(&Self) -> Option<&JSMAP>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the hashmap in this value if it's a hashmap\n","sig":null,"attributes":[{"value":"/ Get a reference to the hashmap in this value if it's a hashmap","span":{"file_name":"src/json_flex.rs","byte_start":590004,"byte_end":590070,"line_start":290,"line_end":290,"column_start":5,"column_end":71}}]},{"kind":"Local","id":{"krate":0,"index":3758098934},"span":{"file_name":"src/json_flex.rs","byte_start":590182,"byte_end":590183,"line_start":293,"line_end":293,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2550 ~ no_proto[7dec]::json_flex::{impl#1}::unwrap_hashmap), local_id: 7 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744375},"span":{"file_name":"src/json_flex.rs","byte_start":590324,"byte_end":590328,"line_start":298,"line_end":298,"column_start":24,"column_end":28},"name":"self","qualname":"::unwrap_vec::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2551},"span":{"file_name":"src/json_flex.rs","byte_start":590312,"byte_end":590322,"line_start":298,"line_end":298,"column_start":12,"column_end":22},"name":"unwrap_vec","qualname":"::unwrap_vec","value":"pub fn unwrap_vec(&Self) -> Option<&Vec>","parent":null,"children":[],"decl_id":null,"docs":" Get a reference to the list in this value if it's a list\n","sig":null,"attributes":[{"value":"/ Get a reference to the list in this value if it's a list","span":{"file_name":"src/json_flex.rs","byte_start":590240,"byte_end":590300,"line_start":297,"line_end":297,"column_start":5,"column_end":65}}]},{"kind":"Local","id":{"krate":0,"index":3758098935},"span":{"file_name":"src/json_flex.rs","byte_start":590410,"byte_end":590411,"line_start":300,"line_end":300,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2551 ~ no_proto[7dec]::json_flex::{impl#1}::unwrap_vec), local_id: 7 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744376},"span":{"file_name":"src/json_flex.rs","byte_start":590539,"byte_end":590543,"line_start":305,"line_end":305,"column_start":23,"column_end":27},"name":"self","qualname":"::stringify::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2552},"span":{"file_name":"src/json_flex.rs","byte_start":590528,"byte_end":590537,"line_start":305,"line_end":305,"column_start":12,"column_end":21},"name":"stringify","qualname":"::stringify","value":"pub fn stringify(&Self) -> String","parent":null,"children":[],"decl_id":null,"docs":" Stringify this JSON object and it's children\n","sig":null,"attributes":[{"value":"/ Stringify this JSON object and it's children","span":{"file_name":"src/json_flex.rs","byte_start":590468,"byte_end":590516,"line_start":304,"line_end":304,"column_start":5,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":3758098936},"span":{"file_name":"src/json_flex.rs","byte_start":590611,"byte_end":590612,"line_start":307,"line_end":307,"column_start":34,"column_end":35},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 7 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962104},"span":{"file_name":"src/json_flex.rs","byte_start":590643,"byte_end":590649,"line_start":308,"line_end":308,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 18 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417784},"span":{"file_name":"src/json_flex.rs","byte_start":590855,"byte_end":590856,"line_start":313,"line_end":313,"column_start":35,"column_end":36},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 44 }","value":"&i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1811941880},"span":{"file_name":"src/json_flex.rs","byte_start":590908,"byte_end":590909,"line_start":314,"line_end":314,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 54 }","value":"&f64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":33556984},"span":{"file_name":"src/json_flex.rs","byte_start":590966,"byte_end":590967,"line_start":315,"line_end":315,"column_start":38,"column_end":39},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 64 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3523217912},"span":{"file_name":"src/json_flex.rs","byte_start":590998,"byte_end":591004,"line_start":316,"line_end":316,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 75 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4060088824},"span":{"file_name":"src/json_flex.rs","byte_start":591055,"byte_end":591063,"line_start":317,"line_end":317,"column_start":25,"column_end":33},"name":"is_first","qualname":"is_first$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 79 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":704645624},"span":{"file_name":"src/json_flex.rs","byte_start":591093,"byte_end":591094,"line_start":318,"line_end":318,"column_start":22,"column_end":23},"name":"k","qualname":"k$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 84 }","value":"&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852129272},"span":{"file_name":"src/json_flex.rs","byte_start":591096,"byte_end":591097,"line_start":318,"line_end":318,"column_start":25,"column_end":26},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 85 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845496312},"span":{"file_name":"src/json_flex.rs","byte_start":591311,"byte_end":591320,"line_start":324,"line_end":324,"column_start":29,"column_end":38},"name":"substring","qualname":"substring$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 118 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1560283640},"span":{"file_name":"src/json_flex.rs","byte_start":591696,"byte_end":591697,"line_start":333,"line_end":333,"column_start":33,"column_end":34},"name":"v","qualname":"v$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 186 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2734688760},"span":{"file_name":"src/json_flex.rs","byte_start":591728,"byte_end":591734,"line_start":334,"line_end":334,"column_start":25,"column_end":31},"name":"string","qualname":"string$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 197 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2466253304},"span":{"file_name":"src/json_flex.rs","byte_start":591784,"byte_end":591792,"line_start":335,"line_end":335,"column_start":25,"column_end":33},"name":"is_first","qualname":"is_first$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 201 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":855640568},"span":{"file_name":"src/json_flex.rs","byte_start":591821,"byte_end":591822,"line_start":336,"line_end":336,"column_start":21,"column_end":22},"name":"i","qualname":"i$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 204 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3766487544},"span":{"file_name":"src/json_flex.rs","byte_start":592094,"byte_end":592107,"line_start":344,"line_end":344,"column_start":25,"column_end":38},"name":"return_string","qualname":"return_string$HirId { owner: DefId(0:2552 ~ no_proto[7dec]::json_flex::{impl#1}::stringify), local_id: 263 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744379},"span":{"file_name":"src/json_flex.rs","byte_start":592520,"byte_end":592524,"line_start":358,"line_end":358,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873467},"span":{"file_name":"src/json_flex.rs","byte_start":592526,"byte_end":592528,"line_start":358,"line_end":358,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2555},"span":{"file_name":"src/json_flex.rs","byte_start":592506,"byte_end":592511,"line_start":358,"line_end":358,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'a>(&'a Self, usize) -> &'a Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179835},"span":{"file_name":"src/json_flex.rs","byte_start":592608,"byte_end":592609,"line_start":360,"line_end":360,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2555 ~ no_proto[7dec]::json_flex::{impl#2}::index), local_id: 10 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091195},"span":{"file_name":"src/json_flex.rs","byte_start":592675,"byte_end":592676,"line_start":362,"line_end":362,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2555 ~ no_proto[7dec]::json_flex::{impl#2}::index), local_id: 20 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744383},"span":{"file_name":"src/json_flex.rs","byte_start":592895,"byte_end":592899,"line_start":373,"line_end":373,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873471},"span":{"file_name":"src/json_flex.rs","byte_start":592901,"byte_end":592903,"line_start":373,"line_end":373,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2559},"span":{"file_name":"src/json_flex.rs","byte_start":592881,"byte_end":592886,"line_start":373,"line_end":373,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'a>(&'a Self, String) -> &'a Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179839},"span":{"file_name":"src/json_flex.rs","byte_start":592988,"byte_end":592989,"line_start":375,"line_end":375,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2559 ~ no_proto[7dec]::json_flex::{impl#3}::index), local_id: 10 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1744833023},"span":{"file_name":"src/json_flex.rs","byte_start":593064,"byte_end":593065,"line_start":377,"line_end":377,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2559 ~ no_proto[7dec]::json_flex::{impl#3}::index), local_id: 22 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744388},"span":{"file_name":"src/json_flex.rs","byte_start":593289,"byte_end":593293,"line_start":388,"line_end":388,"column_start":22,"column_end":26},"name":"self","qualname":"::index::self","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873476},"span":{"file_name":"src/json_flex.rs","byte_start":593295,"byte_end":593297,"line_start":388,"line_end":388,"column_start":28,"column_end":30},"name":"id","qualname":"::index::id","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2564},"span":{"file_name":"src/json_flex.rs","byte_start":593275,"byte_end":593280,"line_start":388,"line_end":388,"column_start":8,"column_end":13},"name":"index","qualname":"::index","value":"fn index<'b>(&'b Self, &str) -> &'b Self::Output","parent":{"krate":1,"index":3327},"children":[],"decl_id":{"krate":1,"index":3330},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179844},"span":{"file_name":"src/json_flex.rs","byte_start":593380,"byte_end":593381,"line_start":390,"line_end":390,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2564 ~ no_proto[7dec]::json_flex::{impl#4}::index), local_id: 10 }","value":"&json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3892316676},"span":{"file_name":"src/json_flex.rs","byte_start":593459,"byte_end":593460,"line_start":392,"line_end":392,"column_start":26,"column_end":27},"name":"y","qualname":"y$HirId { owner: DefId(0:2564 ~ no_proto[7dec]::json_flex::{impl#4}::index), local_id: 23 }","value":"&json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744390},"span":{"file_name":"src/json_flex.rs","byte_start":593612,"byte_end":593613,"line_start":402,"line_end":402,"column_start":14,"column_end":15},"name":"v","qualname":"::json_flex::recursive::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873478},"span":{"file_name":"src/json_flex.rs","byte_start":593642,"byte_end":593649,"line_start":403,"line_end":403,"column_start":14,"column_end":21},"name":"a_chain","qualname":"::json_flex::recursive::a_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615302},"span":{"file_name":"src/json_flex.rs","byte_start":593674,"byte_end":593681,"line_start":404,"line_end":404,"column_start":14,"column_end":21},"name":"d_chain","qualname":"::json_flex::recursive::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438022},"span":{"file_name":"src/json_flex.rs","byte_start":593713,"byte_end":593719,"line_start":405,"line_end":405,"column_start":18,"column_end":24},"name":"a_nest","qualname":"::json_flex::recursive::a_nest","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179846},"span":{"file_name":"src/json_flex.rs","byte_start":593743,"byte_end":593749,"line_start":406,"line_end":406,"column_start":18,"column_end":24},"name":"d_nest","qualname":"::json_flex::recursive::d_nest","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805308934},"span":{"file_name":"src/json_flex.rs","byte_start":593769,"byte_end":593779,"line_start":407,"line_end":407,"column_start":14,"column_end":24},"name":"last_chain","qualname":"::json_flex::recursive::last_chain","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050758},"span":{"file_name":"src/json_flex.rs","byte_start":593800,"byte_end":593806,"line_start":408,"line_end":408,"column_start":14,"column_end":20},"name":"last_c","qualname":"::json_flex::recursive::last_c","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220294},"span":{"file_name":"src/json_flex.rs","byte_start":593827,"byte_end":593831,"line_start":409,"line_end":409,"column_start":14,"column_end":18},"name":"func","qualname":"::json_flex::recursive::func","value":"for<'r> fn(&'r mut json_flex::NP_JSON, core::option::Option, std::vec::Vec, std::vec::Vec, i64, i64, char) -> core::result::Result<(), error::NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962118},"span":{"file_name":"src/json_flex.rs","byte_start":594097,"byte_end":594102,"line_start":417,"line_end":417,"column_start":14,"column_end":19},"name":"value","qualname":"::json_flex::recursive::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091206},"span":{"file_name":"src/json_flex.rs","byte_start":594133,"byte_end":594136,"line_start":418,"line_end":418,"column_start":14,"column_end":17},"name":"log","qualname":"::json_flex::recursive::log","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2566},"span":{"file_name":"src/json_flex.rs","byte_start":593602,"byte_end":593611,"line_start":402,"line_end":402,"column_start":4,"column_end":13},"name":"recursive","qualname":"::json_flex::recursive","value":"fn recursive(&mut NP_JSON, Vec, Vec, i64, i64, char, char,\nfn(: &mut NP_JSON, : Option, : Vec, : Vec, : i64, : i64,\n : char) -> Result<(), NP_Error>, Option, String)\n-> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3028290054},"span":{"file_name":"src/json_flex.rs","byte_start":594196,"byte_end":594203,"line_start":421,"line_end":421,"column_start":9,"column_end":16},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 301 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881222},"span":{"file_name":"src/json_flex.rs","byte_start":594249,"byte_end":594252,"line_start":423,"line_end":423,"column_start":32,"column_end":35},"name":"vvz","qualname":"vvz$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 27 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4227860998},"span":{"file_name":"src/json_flex.rs","byte_start":594275,"byte_end":594276,"line_start":424,"line_end":424,"column_start":17,"column_end":18},"name":"i","qualname":"i$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 63 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4177529350},"span":{"file_name":"src/json_flex.rs","byte_start":594345,"byte_end":594352,"line_start":425,"line_end":425,"column_start":17,"column_end":24},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 159 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605190},"span":{"file_name":"src/json_flex.rs","byte_start":594383,"byte_end":594386,"line_start":426,"line_end":426,"column_start":21,"column_end":24},"name":"vvv","qualname":"vvv$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 78 }","value":"core::option::Option<&mut json_flex::NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2566916614},"span":{"file_name":"src/json_flex.rs","byte_start":594434,"byte_end":594441,"line_start":427,"line_end":427,"column_start":21,"column_end":28},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 153 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2852129286},"span":{"file_name":"src/json_flex.rs","byte_start":594491,"byte_end":594495,"line_start":428,"line_end":428,"column_start":30,"column_end":34},"name":"vvvv","qualname":"vvvv$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 85 }","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1962936838},"span":{"file_name":"src/json_flex.rs","byte_start":595276,"byte_end":595278,"line_start":452,"line_end":452,"column_start":37,"column_end":39},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 174 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1023412742},"span":{"file_name":"src/json_flex.rs","byte_start":595301,"byte_end":595306,"line_start":453,"line_end":453,"column_start":17,"column_end":22},"name":"o_key","qualname":"o_key$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 188 }","value":"core::option::Option<&std::string::String>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":50334214},"span":{"file_name":"src/json_flex.rs","byte_start":595390,"byte_end":595393,"line_start":455,"line_end":455,"column_start":26,"column_end":29},"name":"key","qualname":"key$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 192 }","value":"&&std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1258293766},"span":{"file_name":"src/json_flex.rs","byte_start":595424,"byte_end":595427,"line_start":456,"line_end":456,"column_start":25,"column_end":28},"name":"vvv","qualname":"vvv$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 210 }","value":"core::option::Option<&mut json_flex::NP_JSON>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3095398918},"span":{"file_name":"src/json_flex.rs","byte_start":595509,"byte_end":595516,"line_start":458,"line_end":458,"column_start":25,"column_end":32},"name":"is_find","qualname":"is_find$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 285 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2600471046},"span":{"file_name":"src/json_flex.rs","byte_start":595570,"byte_end":595574,"line_start":459,"line_end":459,"column_start":34,"column_end":38},"name":"vvvv","qualname":"vvvv$HirId { owner: DefId(0:2566 ~ no_proto[7dec]::json_flex::recursive), local_id: 217 }","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744391},"span":{"file_name":"src/json_flex.rs","byte_start":596684,"byte_end":596688,"line_start":497,"line_end":497,"column_start":27,"column_end":31},"name":"text","qualname":"::json_flex::json_decode::text","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2567},"span":{"file_name":"src/json_flex.rs","byte_start":596665,"byte_end":596676,"line_start":497,"line_end":497,"column_start":8,"column_end":19},"name":"json_decode","qualname":"::json_flex::json_decode","value":"pub fn json_decode<'json>(String) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Parse a JSON string into a JSON object in memory\n","sig":null,"attributes":[{"value":"/ Parse a JSON string into a JSON object in memory","span":{"file_name":"src/json_flex.rs","byte_start":596605,"byte_end":596657,"line_start":496,"line_end":496,"column_start":1,"column_end":53}}]},{"kind":"Local","id":{"krate":0,"index":2952792583},"span":{"file_name":"src/json_flex.rs","byte_start":596747,"byte_end":596750,"line_start":499,"line_end":499,"column_start":13,"column_end":16},"name":"ret","qualname":"ret$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 13 }","value":"std::boxed::Box","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445767},"span":{"file_name":"src/json_flex.rs","byte_start":596791,"byte_end":596794,"line_start":501,"line_end":501,"column_start":13,"column_end":16},"name":"pos","qualname":"pos$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752135},"span":{"file_name":"src/json_flex.rs","byte_start":596820,"byte_end":596825,"line_start":503,"line_end":503,"column_start":13,"column_end":18},"name":"chain","qualname":"chain$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 31 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556772359},"span":{"file_name":"src/json_flex.rs","byte_start":596863,"byte_end":596870,"line_start":504,"line_end":504,"column_start":13,"column_end":20},"name":"d_chain","qualname":"d_chain$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 43 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3959425543},"span":{"file_name":"src/json_flex.rs","byte_start":596910,"byte_end":596917,"line_start":505,"line_end":505,"column_start":13,"column_end":20},"name":"a_chain","qualname":"a_chain$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 55 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3154119175},"span":{"file_name":"src/json_flex.rs","byte_start":596954,"byte_end":596964,"line_start":506,"line_end":506,"column_start":13,"column_end":23},"name":"last_chain","qualname":"last_chain$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 61 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782471},"span":{"file_name":"src/json_flex.rs","byte_start":596990,"byte_end":597006,"line_start":507,"line_end":507,"column_start":13,"column_end":29},"name":"last_active_char","qualname":"last_active_char$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 67 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992455},"span":{"file_name":"src/json_flex.rs","byte_start":597032,"byte_end":597035,"line_start":508,"line_end":508,"column_start":13,"column_end":16},"name":"key","qualname":"key$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 72 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774727},"span":{"file_name":"src/json_flex.rs","byte_start":597057,"byte_end":597063,"line_start":509,"line_end":509,"column_start":13,"column_end":19},"name":"string","qualname":"string$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 80 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":436210183},"span":{"file_name":"src/json_flex.rs","byte_start":597101,"byte_end":597104,"line_start":510,"line_end":510,"column_start":13,"column_end":16},"name":"num","qualname":"num$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 88 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822919},"span":{"file_name":"src/json_flex.rs","byte_start":597142,"byte_end":597148,"line_start":511,"line_end":511,"column_start":13,"column_end":19},"name":"last_c","qualname":"last_c$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 94 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711278599},"span":{"file_name":"src/json_flex.rs","byte_start":597174,"byte_end":597180,"line_start":512,"line_end":512,"column_start":13,"column_end":19},"name":"s_true","qualname":"s_true$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 102 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714055},"span":{"file_name":"src/json_flex.rs","byte_start":597218,"byte_end":597225,"line_start":513,"line_end":513,"column_start":13,"column_end":20},"name":"s_false","qualname":"s_false$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 110 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1845496327},"span":{"file_name":"src/json_flex.rs","byte_start":597263,"byte_end":597269,"line_start":514,"line_end":514,"column_start":13,"column_end":19},"name":"s_null","qualname":"s_null$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 118 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3238005255},"span":{"file_name":"src/json_flex.rs","byte_start":597304,"byte_end":597308,"line_start":516,"line_end":516,"column_start":9,"column_end":13},"name":"body","qualname":"body$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 131 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1358957063},"span":{"file_name":"src/json_flex.rs","byte_start":597354,"byte_end":597358,"line_start":517,"line_end":517,"column_start":9,"column_end":13},"name":"size","qualname":"size$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 138 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1895827975},"span":{"file_name":"src/json_flex.rs","byte_start":597385,"byte_end":597389,"line_start":518,"line_end":518,"column_start":13,"column_end":17},"name":"done","qualname":"done$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 142 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":956303879},"span":{"file_name":"src/json_flex.rs","byte_start":597430,"byte_end":597431,"line_start":521,"line_end":521,"column_start":13,"column_end":14},"name":"c","qualname":"c$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 156 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3229616647},"span":{"file_name":"src/json_flex.rs","byte_start":598105,"byte_end":598106,"line_start":556,"line_end":556,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 259 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2894072327},"span":{"file_name":"src/json_flex.rs","byte_start":598263,"byte_end":598270,"line_start":561,"line_end":561,"column_start":29,"column_end":36},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 309 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3162507783},"span":{"file_name":"src/json_flex.rs","byte_start":598607,"byte_end":598613,"line_start":572,"line_end":572,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 317 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2189429255},"span":{"file_name":"src/json_flex.rs","byte_start":598654,"byte_end":598660,"line_start":573,"line_end":573,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 321 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2457864711},"span":{"file_name":"src/json_flex.rs","byte_start":598701,"byte_end":598704,"line_start":574,"line_end":574,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 329 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744393},"span":{"file_name":"src/json_flex.rs","byte_start":598766,"byte_end":598767,"line_start":575,"line_end":575,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438025},"span":{"file_name":"src/json_flex.rs","byte_start":598923,"byte_end":598930,"line_start":578,"line_end":578,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2569},"span":{"file_name":"src/json_flex.rs","byte_start":598761,"byte_end":598765,"line_start":575,"line_end":575,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091209},"span":{"file_name":"src/json_flex.rs","byte_start":599206,"byte_end":599208,"line_start":583,"line_end":583,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2569 ~ no_proto[7dec]::json_flex::json_decode::func), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030537},"span":{"file_name":"src/json_flex.rs","byte_start":599394,"byte_end":599396,"line_start":586,"line_end":586,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2569 ~ no_proto[7dec]::json_flex::json_decode::func), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476105},"span":{"file_name":"src/json_flex.rs","byte_start":599447,"byte_end":599450,"line_start":587,"line_end":587,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2569 ~ no_proto[7dec]::json_flex::json_decode::func), local_id: 73 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1803553287},"span":{"file_name":"src/json_flex.rs","byte_start":600813,"byte_end":600819,"line_start":623,"line_end":623,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 470 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1535117831},"span":{"file_name":"src/json_flex.rs","byte_start":600856,"byte_end":600862,"line_start":624,"line_end":624,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 474 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1199573511},"span":{"file_name":"src/json_flex.rs","byte_start":600899,"byte_end":600902,"line_start":625,"line_end":625,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 482 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744394},"span":{"file_name":"src/json_flex.rs","byte_start":600960,"byte_end":600961,"line_start":626,"line_end":626,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2570},"span":{"file_name":"src/json_flex.rs","byte_start":600955,"byte_end":600959,"line_start":626,"line_end":626,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091210},"span":{"file_name":"src/json_flex.rs","byte_start":601362,"byte_end":601364,"line_start":634,"line_end":634,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2570 ~ no_proto[7dec]::json_flex::json_decode::func#1), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":759171591},"span":{"file_name":"src/json_flex.rs","byte_start":602684,"byte_end":602690,"line_start":667,"line_end":667,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 692 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":490736135},"span":{"file_name":"src/json_flex.rs","byte_start":602727,"byte_end":602733,"line_start":668,"line_end":668,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 696 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":54528519},"span":{"file_name":"src/json_flex.rs","byte_start":602770,"byte_end":602773,"line_start":669,"line_end":669,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 704 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744395},"span":{"file_name":"src/json_flex.rs","byte_start":602831,"byte_end":602832,"line_start":670,"line_end":670,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2571},"span":{"file_name":"src/json_flex.rs","byte_start":602826,"byte_end":602830,"line_start":670,"line_end":670,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091211},"span":{"file_name":"src/json_flex.rs","byte_start":603233,"byte_end":603235,"line_start":678,"line_end":678,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2571 ~ no_proto[7dec]::json_flex::json_decode::func#2), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1237322247},"span":{"file_name":"src/json_flex.rs","byte_start":604553,"byte_end":604559,"line_start":712,"line_end":712,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 914 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1774193159},"span":{"file_name":"src/json_flex.rs","byte_start":604596,"byte_end":604602,"line_start":713,"line_end":713,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 918 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2042628615},"span":{"file_name":"src/json_flex.rs","byte_start":604639,"byte_end":604642,"line_start":714,"line_end":714,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 926 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744396},"span":{"file_name":"src/json_flex.rs","byte_start":604700,"byte_end":604701,"line_start":715,"line_end":715,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2572},"span":{"file_name":"src/json_flex.rs","byte_start":604695,"byte_end":604699,"line_start":715,"line_end":715,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091212},"span":{"file_name":"src/json_flex.rs","byte_start":605102,"byte_end":605104,"line_start":723,"line_end":723,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2572 ~ no_proto[7dec]::json_flex::json_decode::func#3), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":471861767},"span":{"file_name":"src/json_flex.rs","byte_start":606156,"byte_end":606162,"line_start":752,"line_end":752,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1080 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1008732679},"span":{"file_name":"src/json_flex.rs","byte_start":606199,"byte_end":606205,"line_start":753,"line_end":753,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1084 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":572525063},"span":{"file_name":"src/json_flex.rs","byte_start":606242,"byte_end":606245,"line_start":754,"line_end":754,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1092 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744397},"span":{"file_name":"src/json_flex.rs","byte_start":606303,"byte_end":606304,"line_start":755,"line_end":755,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873485},"span":{"file_name":"src/json_flex.rs","byte_start":606352,"byte_end":606357,"line_start":756,"line_end":756,"column_start":33,"column_end":38},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2573},"span":{"file_name":"src/json_flex.rs","byte_start":606298,"byte_end":606302,"line_start":755,"line_end":755,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091213},"span":{"file_name":"src/json_flex.rs","byte_start":606709,"byte_end":606711,"line_start":763,"line_end":763,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2573 ~ no_proto[7dec]::json_flex::json_decode::func#4), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":201329165},"span":{"file_name":"src/json_flex.rs","byte_start":606763,"byte_end":606770,"line_start":765,"line_end":765,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2573 ~ no_proto[7dec]::json_flex::json_decode::func#4), local_id: 48 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1730152967},"span":{"file_name":"src/json_flex.rs","byte_start":608317,"byte_end":608323,"line_start":803,"line_end":803,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1254 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1461717511},"span":{"file_name":"src/json_flex.rs","byte_start":608364,"byte_end":608370,"line_start":804,"line_end":804,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1258 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1327499783},"span":{"file_name":"src/json_flex.rs","byte_start":608411,"byte_end":608414,"line_start":805,"line_end":805,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1266 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744398},"span":{"file_name":"src/json_flex.rs","byte_start":608476,"byte_end":608477,"line_start":806,"line_end":806,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2574},"span":{"file_name":"src/json_flex.rs","byte_start":608471,"byte_end":608475,"line_start":806,"line_end":806,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091214},"span":{"file_name":"src/json_flex.rs","byte_start":608910,"byte_end":608912,"line_start":814,"line_end":814,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2574 ~ no_proto[7dec]::json_flex::json_decode::func#5), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1772096007},"span":{"file_name":"src/json_flex.rs","byte_start":610247,"byte_end":610248,"line_start":855,"line_end":855,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1430 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3852470791},"span":{"file_name":"src/json_flex.rs","byte_start":610364,"byte_end":610370,"line_start":859,"line_end":859,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1447 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3584035335},"span":{"file_name":"src/json_flex.rs","byte_start":610407,"byte_end":610413,"line_start":860,"line_end":860,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1451 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3449817607},"span":{"file_name":"src/json_flex.rs","byte_start":610450,"byte_end":610453,"line_start":861,"line_end":861,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1459 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744399},"span":{"file_name":"src/json_flex.rs","byte_start":610512,"byte_end":610513,"line_start":863,"line_end":863,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438031},"span":{"file_name":"src/json_flex.rs","byte_start":610657,"byte_end":610664,"line_start":866,"line_end":866,"column_start":33,"column_end":40},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2575},"span":{"file_name":"src/json_flex.rs","byte_start":610507,"byte_end":610511,"line_start":863,"line_end":863,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091215},"span":{"file_name":"src/json_flex.rs","byte_start":610920,"byte_end":610922,"line_start":871,"line_end":871,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2575 ~ no_proto[7dec]::json_flex::json_decode::func#6), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030543},"span":{"file_name":"src/json_flex.rs","byte_start":611103,"byte_end":611105,"line_start":874,"line_end":874,"column_start":61,"column_end":63},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2575 ~ no_proto[7dec]::json_flex::json_decode::func#6), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476111},"span":{"file_name":"src/json_flex.rs","byte_start":611152,"byte_end":611155,"line_start":875,"line_end":875,"column_start":41,"column_end":44},"name":"key","qualname":"key$HirId { owner: DefId(0:2575 ~ no_proto[7dec]::json_flex::json_decode::func#6), local_id: 73 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2543847943},"span":{"file_name":"src/json_flex.rs","byte_start":611973,"byte_end":611974,"line_start":897,"line_end":897,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1513 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2824866311},"span":{"file_name":"src/json_flex.rs","byte_start":612091,"byte_end":612098,"line_start":902,"line_end":902,"column_start":29,"column_end":36},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1557 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3093301767},"span":{"file_name":"src/json_flex.rs","byte_start":612440,"byte_end":612446,"line_start":911,"line_end":911,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1565 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2220886535},"span":{"file_name":"src/json_flex.rs","byte_start":612487,"byte_end":612493,"line_start":912,"line_end":912,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1569 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2489321991},"span":{"file_name":"src/json_flex.rs","byte_start":612534,"byte_end":612537,"line_start":913,"line_end":913,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1577 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744400},"span":{"file_name":"src/json_flex.rs","byte_start":612599,"byte_end":612600,"line_start":914,"line_end":914,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438032},"span":{"file_name":"src/json_flex.rs","byte_start":612756,"byte_end":612763,"line_start":917,"line_end":917,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2576},"span":{"file_name":"src/json_flex.rs","byte_start":612594,"byte_end":612598,"line_start":914,"line_end":914,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091216},"span":{"file_name":"src/json_flex.rs","byte_start":613039,"byte_end":613041,"line_start":922,"line_end":922,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2576 ~ no_proto[7dec]::json_flex::json_decode::func#7), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030544},"span":{"file_name":"src/json_flex.rs","byte_start":613234,"byte_end":613236,"line_start":925,"line_end":925,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2576 ~ no_proto[7dec]::json_flex::json_decode::func#7), local_id: 41 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2449476112},"span":{"file_name":"src/json_flex.rs","byte_start":613287,"byte_end":613290,"line_start":926,"line_end":926,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2576 ~ no_proto[7dec]::json_flex::json_decode::func#7), local_id: 73 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3210742279},"span":{"file_name":"src/json_flex.rs","byte_start":614908,"byte_end":614914,"line_start":970,"line_end":970,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1789 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2162166279},"span":{"file_name":"src/json_flex.rs","byte_start":614955,"byte_end":614961,"line_start":971,"line_end":971,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1793 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2430601735},"span":{"file_name":"src/json_flex.rs","byte_start":615002,"byte_end":615005,"line_start":972,"line_end":972,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 1801 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744401},"span":{"file_name":"src/json_flex.rs","byte_start":615067,"byte_end":615068,"line_start":973,"line_end":973,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438033},"span":{"file_name":"src/json_flex.rs","byte_start":615224,"byte_end":615231,"line_start":976,"line_end":976,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2577},"span":{"file_name":"src/json_flex.rs","byte_start":615062,"byte_end":615066,"line_start":973,"line_end":973,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091217},"span":{"file_name":"src/json_flex.rs","byte_start":615513,"byte_end":615515,"line_start":982,"line_end":982,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2577 ~ no_proto[7dec]::json_flex::json_decode::func#8), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200081},"span":{"file_name":"src/json_flex.rs","byte_start":615566,"byte_end":615569,"line_start":983,"line_end":983,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2577 ~ no_proto[7dec]::json_flex::json_decode::func#8), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":806357511},"span":{"file_name":"src/json_flex.rs","byte_start":617215,"byte_end":617221,"line_start":1021,"line_end":1021,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2060 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":135268871},"span":{"file_name":"src/json_flex.rs","byte_start":617262,"byte_end":617268,"line_start":1022,"line_end":1022,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2064 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":403704327},"span":{"file_name":"src/json_flex.rs","byte_start":617309,"byte_end":617312,"line_start":1023,"line_end":1023,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2072 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744402},"span":{"file_name":"src/json_flex.rs","byte_start":617374,"byte_end":617375,"line_start":1024,"line_end":1024,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438034},"span":{"file_name":"src/json_flex.rs","byte_start":617531,"byte_end":617538,"line_start":1027,"line_end":1027,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2578},"span":{"file_name":"src/json_flex.rs","byte_start":617369,"byte_end":617373,"line_start":1024,"line_end":1024,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091218},"span":{"file_name":"src/json_flex.rs","byte_start":617820,"byte_end":617822,"line_start":1033,"line_end":1033,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2578 ~ no_proto[7dec]::json_flex::json_decode::func#9), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200082},"span":{"file_name":"src/json_flex.rs","byte_start":617873,"byte_end":617876,"line_start":1034,"line_end":1034,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2578 ~ no_proto[7dec]::json_flex::json_decode::func#9), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3633318407},"span":{"file_name":"src/json_flex.rs","byte_start":619521,"byte_end":619527,"line_start":1074,"line_end":1074,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2331 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4170189319},"span":{"file_name":"src/json_flex.rs","byte_start":619568,"byte_end":619574,"line_start":1075,"line_end":1075,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2335 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3834644999},"span":{"file_name":"src/json_flex.rs","byte_start":619615,"byte_end":619618,"line_start":1076,"line_end":1076,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2343 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744403},"span":{"file_name":"src/json_flex.rs","byte_start":619680,"byte_end":619681,"line_start":1077,"line_end":1077,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438035},"span":{"file_name":"src/json_flex.rs","byte_start":619837,"byte_end":619844,"line_start":1080,"line_end":1080,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2579},"span":{"file_name":"src/json_flex.rs","byte_start":619675,"byte_end":619679,"line_start":1077,"line_end":1077,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091219},"span":{"file_name":"src/json_flex.rs","byte_start":620126,"byte_end":620128,"line_start":1086,"line_end":1086,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2579 ~ no_proto[7dec]::json_flex::json_decode::func#10), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200083},"span":{"file_name":"src/json_flex.rs","byte_start":620179,"byte_end":620182,"line_start":1087,"line_end":1087,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2579 ~ no_proto[7dec]::json_flex::json_decode::func#10), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1334839815},"span":{"file_name":"src/json_flex.rs","byte_start":621558,"byte_end":621564,"line_start":1119,"line_end":1119,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2546 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1871710727},"span":{"file_name":"src/json_flex.rs","byte_start":621605,"byte_end":621611,"line_start":1120,"line_end":1120,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2550 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2140146183},"span":{"file_name":"src/json_flex.rs","byte_start":621652,"byte_end":621655,"line_start":1121,"line_end":1121,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2558 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744404},"span":{"file_name":"src/json_flex.rs","byte_start":621717,"byte_end":621718,"line_start":1122,"line_end":1122,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873492},"span":{"file_name":"src/json_flex.rs","byte_start":621770,"byte_end":621775,"line_start":1123,"line_end":1123,"column_start":37,"column_end":42},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438036},"span":{"file_name":"src/json_flex.rs","byte_start":621878,"byte_end":621885,"line_start":1125,"line_end":1125,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2580},"span":{"file_name":"src/json_flex.rs","byte_start":621712,"byte_end":621716,"line_start":1122,"line_end":1122,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091220},"span":{"file_name":"src/json_flex.rs","byte_start":622167,"byte_end":622169,"line_start":1131,"line_end":1131,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2580 ~ no_proto[7dec]::json_flex::json_decode::func#11), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200084},"span":{"file_name":"src/json_flex.rs","byte_start":622220,"byte_end":622223,"line_start":1132,"line_end":1132,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2580 ~ no_proto[7dec]::json_flex::json_decode::func#11), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605204},"span":{"file_name":"src/json_flex.rs","byte_start":622317,"byte_end":622322,"line_start":1133,"line_end":1133,"column_start":49,"column_end":54},"name":"value","qualname":"value$HirId { owner: DefId(0:2580 ~ no_proto[7dec]::json_flex::json_decode::func#11), local_id: 78 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2463107591},"span":{"file_name":"src/json_flex.rs","byte_start":624606,"byte_end":624607,"line_start":1187,"line_end":1187,"column_start":29,"column_end":30},"name":"v","qualname":"v$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 2889 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3083864583},"span":{"file_name":"src/json_flex.rs","byte_start":625521,"byte_end":625527,"line_start":1222,"line_end":1222,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3053 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2412775943},"span":{"file_name":"src/json_flex.rs","byte_start":625568,"byte_end":625574,"line_start":1223,"line_end":1223,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3057 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2681211399},"span":{"file_name":"src/json_flex.rs","byte_start":625615,"byte_end":625618,"line_start":1224,"line_end":1224,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3065 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744405},"span":{"file_name":"src/json_flex.rs","byte_start":625680,"byte_end":625681,"line_start":1225,"line_end":1225,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438037},"span":{"file_name":"src/json_flex.rs","byte_start":625837,"byte_end":625844,"line_start":1228,"line_end":1228,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2581},"span":{"file_name":"src/json_flex.rs","byte_start":625675,"byte_end":625679,"line_start":1225,"line_end":1225,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091221},"span":{"file_name":"src/json_flex.rs","byte_start":626120,"byte_end":626122,"line_start":1233,"line_end":1233,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2581 ~ no_proto[7dec]::json_flex::json_decode::func#12), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336917},"span":{"file_name":"src/json_flex.rs","byte_start":626295,"byte_end":626297,"line_start":1236,"line_end":1236,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2581 ~ no_proto[7dec]::json_flex::json_decode::func#12), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782485},"span":{"file_name":"src/json_flex.rs","byte_start":626349,"byte_end":626352,"line_start":1238,"line_end":1238,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2581 ~ no_proto[7dec]::json_flex::json_decode::func#12), local_id: 67 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":489687559},"span":{"file_name":"src/json_flex.rs","byte_start":627615,"byte_end":627616,"line_start":1268,"line_end":1268,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3256 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1219496455},"span":{"file_name":"src/json_flex.rs","byte_start":628182,"byte_end":628188,"line_start":1284,"line_end":1284,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3346 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1756367367},"span":{"file_name":"src/json_flex.rs","byte_start":628229,"byte_end":628235,"line_start":1285,"line_end":1285,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3350 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2024802823},"span":{"file_name":"src/json_flex.rs","byte_start":628276,"byte_end":628279,"line_start":1286,"line_end":1286,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3358 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744406},"span":{"file_name":"src/json_flex.rs","byte_start":628341,"byte_end":628342,"line_start":1287,"line_end":1287,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438038},"span":{"file_name":"src/json_flex.rs","byte_start":628498,"byte_end":628505,"line_start":1290,"line_end":1290,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2582},"span":{"file_name":"src/json_flex.rs","byte_start":628336,"byte_end":628340,"line_start":1287,"line_end":1287,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091222},"span":{"file_name":"src/json_flex.rs","byte_start":628781,"byte_end":628783,"line_start":1295,"line_end":1295,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2582 ~ no_proto[7dec]::json_flex::json_decode::func#13), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336918},"span":{"file_name":"src/json_flex.rs","byte_start":628957,"byte_end":628959,"line_start":1298,"line_end":1298,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2582 ~ no_proto[7dec]::json_flex::json_decode::func#13), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782486},"span":{"file_name":"src/json_flex.rs","byte_start":629011,"byte_end":629014,"line_start":1300,"line_end":1300,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2582 ~ no_proto[7dec]::json_flex::json_decode::func#13), local_id: 67 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3148876295},"span":{"file_name":"src/json_flex.rs","byte_start":630278,"byte_end":630279,"line_start":1330,"line_end":1330,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3549 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3966765575},"span":{"file_name":"src/json_flex.rs","byte_start":630841,"byte_end":630847,"line_start":1346,"line_end":1346,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3639 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3698330119},"span":{"file_name":"src/json_flex.rs","byte_start":630888,"byte_end":630894,"line_start":1347,"line_end":1347,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3643 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3262122503},"span":{"file_name":"src/json_flex.rs","byte_start":630935,"byte_end":630938,"line_start":1348,"line_end":1348,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3651 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744407},"span":{"file_name":"src/json_flex.rs","byte_start":631000,"byte_end":631001,"line_start":1349,"line_end":1349,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438039},"span":{"file_name":"src/json_flex.rs","byte_start":631157,"byte_end":631164,"line_start":1352,"line_end":1352,"column_start":37,"column_end":44},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2583},"span":{"file_name":"src/json_flex.rs","byte_start":630995,"byte_end":630999,"line_start":1349,"line_end":1349,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091223},"span":{"file_name":"src/json_flex.rs","byte_start":631440,"byte_end":631442,"line_start":1357,"line_end":1357,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2583 ~ no_proto[7dec]::json_flex::json_decode::func#14), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336919},"span":{"file_name":"src/json_flex.rs","byte_start":631615,"byte_end":631617,"line_start":1360,"line_end":1360,"column_start":65,"column_end":67},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2583 ~ no_proto[7dec]::json_flex::json_decode::func#14), local_id: 35 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3254782487},"span":{"file_name":"src/json_flex.rs","byte_start":631668,"byte_end":631671,"line_start":1361,"line_end":1361,"column_start":45,"column_end":48},"name":"key","qualname":"key$HirId { owner: DefId(0:2583 ~ no_proto[7dec]::json_flex::json_decode::func#14), local_id: 67 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1089473031},"span":{"file_name":"src/json_flex.rs","byte_start":632936,"byte_end":632937,"line_start":1389,"line_end":1389,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3842 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3975154183},"span":{"file_name":"src/json_flex.rs","byte_start":633180,"byte_end":633181,"line_start":1396,"line_end":1396,"column_start":29,"column_end":30},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3895 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1928333831},"span":{"file_name":"src/json_flex.rs","byte_start":633378,"byte_end":633384,"line_start":1399,"line_end":1399,"column_start":33,"column_end":39},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3918 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1257245191},"span":{"file_name":"src/json_flex.rs","byte_start":633425,"byte_end":633431,"line_start":1400,"line_end":1400,"column_start":33,"column_end":39},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3922 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1525680647},"span":{"file_name":"src/json_flex.rs","byte_start":633472,"byte_end":633475,"line_start":1401,"line_end":1401,"column_start":33,"column_end":36},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3930 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744408},"span":{"file_name":"src/json_flex.rs","byte_start":633537,"byte_end":633538,"line_start":1402,"line_end":1402,"column_start":37,"column_end":38},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2584},"span":{"file_name":"src/json_flex.rs","byte_start":633532,"byte_end":633536,"line_start":1402,"line_end":1402,"column_start":32,"column_end":36},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091224},"span":{"file_name":"src/json_flex.rs","byte_start":633971,"byte_end":633973,"line_start":1410,"line_end":1410,"column_start":60,"column_end":62},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2584 ~ no_proto[7dec]::json_flex::json_decode::func#15), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":703597063},"span":{"file_name":"src/json_flex.rs","byte_start":634816,"byte_end":634822,"line_start":1432,"line_end":1432,"column_start":29,"column_end":35},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3988 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":435161607},"span":{"file_name":"src/json_flex.rs","byte_start":634859,"byte_end":634865,"line_start":1433,"line_end":1433,"column_start":29,"column_end":35},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 3992 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":99617287},"span":{"file_name":"src/json_flex.rs","byte_start":634902,"byte_end":634905,"line_start":1434,"line_end":1434,"column_start":29,"column_end":32},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4000 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744409},"span":{"file_name":"src/json_flex.rs","byte_start":634963,"byte_end":634964,"line_start":1435,"line_end":1435,"column_start":33,"column_end":34},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873497},"span":{"file_name":"src/json_flex.rs","byte_start":635012,"byte_end":635017,"line_start":1436,"line_end":1436,"column_start":33,"column_end":38},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438041},"span":{"file_name":"src/json_flex.rs","byte_start":635112,"byte_end":635119,"line_start":1438,"line_end":1438,"column_start":33,"column_end":40},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2585},"span":{"file_name":"src/json_flex.rs","byte_start":634958,"byte_end":634962,"line_start":1435,"line_end":1435,"column_start":28,"column_end":32},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091225},"span":{"file_name":"src/json_flex.rs","byte_start":635375,"byte_end":635377,"line_start":1443,"line_end":1443,"column_start":56,"column_end":58},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2585 ~ no_proto[7dec]::json_flex::json_decode::func#16), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1275071001},"span":{"file_name":"src/json_flex.rs","byte_start":635428,"byte_end":635435,"line_start":1444,"line_end":1444,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2585 ~ no_proto[7dec]::json_flex::json_decode::func#16), local_id: 50 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":889195033},"span":{"file_name":"src/json_flex.rs","byte_start":636190,"byte_end":636192,"line_start":1458,"line_end":1458,"column_start":61,"column_end":63},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2585 ~ no_proto[7dec]::json_flex::json_decode::func#16), local_id: 172 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":855640601},"span":{"file_name":"src/json_flex.rs","byte_start":636240,"byte_end":636243,"line_start":1460,"line_end":1460,"column_start":41,"column_end":44},"name":"key","qualname":"key$HirId { owner: DefId(0:2585 ~ no_proto[7dec]::json_flex::json_decode::func#16), local_id: 204 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":385878553},"span":{"file_name":"src/json_flex.rs","byte_start":636334,"byte_end":636341,"line_start":1462,"line_end":1462,"column_start":45,"column_end":52},"name":"new_num","qualname":"new_num$HirId { owner: DefId(0:2585 ~ no_proto[7dec]::json_flex::json_decode::func#16), local_id: 232 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785544711},"span":{"file_name":"src/json_flex.rs","byte_start":638232,"byte_end":638233,"line_start":1503,"line_end":1503,"column_start":33,"column_end":34},"name":"a","qualname":"a$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4197 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":277350919},"span":{"file_name":"src/json_flex.rs","byte_start":639088,"byte_end":639094,"line_start":1534,"line_end":1534,"column_start":37,"column_end":43},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4360 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":814221831},"span":{"file_name":"src/json_flex.rs","byte_start":639139,"byte_end":639145,"line_start":1535,"line_end":1535,"column_start":37,"column_end":43},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4364 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":680004103},"span":{"file_name":"src/json_flex.rs","byte_start":639190,"byte_end":639193,"line_start":1536,"line_end":1536,"column_start":37,"column_end":40},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4372 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744410},"span":{"file_name":"src/json_flex.rs","byte_start":639259,"byte_end":639260,"line_start":1537,"line_end":1537,"column_start":41,"column_end":42},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873498},"span":{"file_name":"src/json_flex.rs","byte_start":639316,"byte_end":639321,"line_start":1538,"line_end":1538,"column_start":41,"column_end":46},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438042},"span":{"file_name":"src/json_flex.rs","byte_start":639432,"byte_end":639439,"line_start":1540,"line_end":1540,"column_start":41,"column_end":48},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2586},"span":{"file_name":"src/json_flex.rs","byte_start":639254,"byte_end":639258,"line_start":1537,"line_end":1537,"column_start":36,"column_end":40},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091226},"span":{"file_name":"src/json_flex.rs","byte_start":639741,"byte_end":639743,"line_start":1546,"line_end":1546,"column_start":69,"column_end":71},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2586 ~ no_proto[7dec]::json_flex::json_decode::func#17), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200090},"span":{"file_name":"src/json_flex.rs","byte_start":639798,"byte_end":639801,"line_start":1547,"line_end":1547,"column_start":49,"column_end":52},"name":"key","qualname":"key$HirId { owner: DefId(0:2586 ~ no_proto[7dec]::json_flex::json_decode::func#17), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605210},"span":{"file_name":"src/json_flex.rs","byte_start":639899,"byte_end":639904,"line_start":1548,"line_end":1548,"column_start":53,"column_end":58},"name":"value","qualname":"value$HirId { owner: DefId(0:2586 ~ no_proto[7dec]::json_flex::json_decode::func#17), local_id: 78 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2978482695},"span":{"file_name":"src/json_flex.rs","byte_start":641057,"byte_end":641064,"line_start":1569,"line_end":1569,"column_start":37,"column_end":44},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4493 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2844264967},"span":{"file_name":"src/json_flex.rs","byte_start":641468,"byte_end":641474,"line_start":1578,"line_end":1578,"column_start":41,"column_end":47},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4501 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2575829511},"span":{"file_name":"src/json_flex.rs","byte_start":641523,"byte_end":641529,"line_start":1579,"line_end":1579,"column_start":41,"column_end":47},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4505 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2240285191},"span":{"file_name":"src/json_flex.rs","byte_start":641578,"byte_end":641581,"line_start":1580,"line_end":1580,"column_start":41,"column_end":44},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4513 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744411},"span":{"file_name":"src/json_flex.rs","byte_start":641651,"byte_end":641652,"line_start":1581,"line_end":1581,"column_start":45,"column_end":46},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873499},"span":{"file_name":"src/json_flex.rs","byte_start":641712,"byte_end":641717,"line_start":1582,"line_end":1582,"column_start":45,"column_end":50},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2587},"span":{"file_name":"src/json_flex.rs","byte_start":641646,"byte_end":641650,"line_start":1581,"line_end":1581,"column_start":40,"column_end":44},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091227},"span":{"file_name":"src/json_flex.rs","byte_start":642153,"byte_end":642155,"line_start":1589,"line_end":1589,"column_start":68,"column_end":70},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2587 ~ no_proto[7dec]::json_flex::json_decode::func#18), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":931662343},"span":{"file_name":"src/json_flex.rs","byte_start":643366,"byte_end":643367,"line_start":1614,"line_end":1614,"column_start":29,"column_end":30},"name":"w","qualname":"w$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4588 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":843581959},"span":{"file_name":"src/json_flex.rs","byte_start":643965,"byte_end":643971,"line_start":1633,"line_end":1633,"column_start":37,"column_end":43},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4684 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":172493319},"span":{"file_name":"src/json_flex.rs","byte_start":644016,"byte_end":644022,"line_start":1634,"line_end":1634,"column_start":37,"column_end":43},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4688 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":440928775},"span":{"file_name":"src/json_flex.rs","byte_start":644067,"byte_end":644070,"line_start":1635,"line_end":1635,"column_start":37,"column_end":40},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4696 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744412},"span":{"file_name":"src/json_flex.rs","byte_start":644136,"byte_end":644137,"line_start":1636,"line_end":1636,"column_start":41,"column_end":42},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873500},"span":{"file_name":"src/json_flex.rs","byte_start":644193,"byte_end":644198,"line_start":1637,"line_end":1637,"column_start":41,"column_end":46},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438044},"span":{"file_name":"src/json_flex.rs","byte_start":644309,"byte_end":644316,"line_start":1639,"line_end":1639,"column_start":41,"column_end":48},"name":"d_chain","qualname":"::json_flex::json_decode::func::d_chain","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2588},"span":{"file_name":"src/json_flex.rs","byte_start":644131,"byte_end":644135,"line_start":1636,"line_end":1636,"column_start":36,"column_end":40},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091228},"span":{"file_name":"src/json_flex.rs","byte_start":644618,"byte_end":644620,"line_start":1645,"line_end":1645,"column_start":69,"column_end":71},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2588 ~ no_proto[7dec]::json_flex::json_decode::func#19), local_id: 20 }","value":"&mut json_flex::JSMAP","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200092},"span":{"file_name":"src/json_flex.rs","byte_start":644675,"byte_end":644678,"line_start":1646,"line_end":1646,"column_start":49,"column_end":52},"name":"key","qualname":"key$HirId { owner: DefId(0:2588 ~ no_proto[7dec]::json_flex::json_decode::func#19), local_id: 52 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1912605212},"span":{"file_name":"src/json_flex.rs","byte_start":644776,"byte_end":644781,"line_start":1647,"line_end":1647,"column_start":53,"column_end":58},"name":"value","qualname":"value$HirId { owner: DefId(0:2588 ~ no_proto[7dec]::json_flex::json_decode::func#19), local_id: 78 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1732774407},"span":{"file_name":"src/json_flex.rs","byte_start":645989,"byte_end":645996,"line_start":1669,"line_end":1669,"column_start":37,"column_end":44},"name":"is_root","qualname":"is_root$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4838 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2001209863},"span":{"file_name":"src/json_flex.rs","byte_start":646400,"byte_end":646406,"line_start":1678,"line_end":1678,"column_start":41,"column_end":47},"name":"a_nest","qualname":"a_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4846 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1330121223},"span":{"file_name":"src/json_flex.rs","byte_start":646455,"byte_end":646461,"line_start":1679,"line_end":1679,"column_start":41,"column_end":47},"name":"d_nest","qualname":"d_nest$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4850 }","value":"i64","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1598556679},"span":{"file_name":"src/json_flex.rs","byte_start":646510,"byte_end":646513,"line_start":1680,"line_end":1680,"column_start":41,"column_end":44},"name":"log","qualname":"log$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4858 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744413},"span":{"file_name":"src/json_flex.rs","byte_start":646583,"byte_end":646584,"line_start":1681,"line_end":1681,"column_start":45,"column_end":46},"name":"v","qualname":"::json_flex::json_decode::func::v","value":"&mut json_flex::NP_JSON","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873501},"span":{"file_name":"src/json_flex.rs","byte_start":646644,"byte_end":646649,"line_start":1682,"line_end":1682,"column_start":45,"column_end":50},"name":"value","qualname":"::json_flex::json_decode::func::value","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2589},"span":{"file_name":"src/json_flex.rs","byte_start":646578,"byte_end":646582,"line_start":1681,"line_end":1681,"column_start":40,"column_end":44},"name":"func","qualname":"::json_flex::json_decode::func","value":"fn func(&mut NP_JSON, Option, Vec, Vec, i64, i64, char)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091229},"span":{"file_name":"src/json_flex.rs","byte_start":647085,"byte_end":647087,"line_start":1689,"line_end":1689,"column_start":68,"column_end":70},"name":"vv","qualname":"vv$HirId { owner: DefId(0:2589 ~ no_proto[7dec]::json_flex::json_decode::func#20), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3536325127},"span":{"file_name":"src/json_flex.rs","byte_start":648345,"byte_end":648346,"line_start":1714,"line_end":1714,"column_start":29,"column_end":30},"name":"s","qualname":"s$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 4939 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1506281991},"span":{"file_name":"src/json_flex.rs","byte_start":648834,"byte_end":648835,"line_start":1729,"line_end":1729,"column_start":29,"column_end":30},"name":"n","qualname":"n$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 5018 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3150449159},"span":{"file_name":"src/json_flex.rs","byte_start":649306,"byte_end":649307,"line_start":1745,"line_end":1745,"column_start":29,"column_end":30},"name":"n","qualname":"n$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 5085 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2552760839},"span":{"file_name":"src/json_flex.rs","byte_start":649735,"byte_end":649736,"line_start":1762,"line_end":1762,"column_start":29,"column_end":30},"name":"t","qualname":"t$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 5145 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":975702535},"span":{"file_name":"src/json_flex.rs","byte_start":650213,"byte_end":650214,"line_start":1778,"line_end":1778,"column_start":29,"column_end":30},"name":"f","qualname":"f$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 5212 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4180150791},"span":{"file_name":"src/json_flex.rs","byte_start":650693,"byte_end":650697,"line_start":1794,"line_end":1794,"column_start":29,"column_end":33},"name":"null","qualname":"null$HirId { owner: DefId(0:2567 ~ no_proto[7dec]::json_flex::json_decode), local_id: 5279 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2590},"span":{"file_name":"src/format.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"format","qualname":"::format","value":"src/format.rs","parent":null,"children":[],"decl_id":null,"docs":" # NoProto Data Format Documentaion\n \n NoProto buffers are built out of pointers and data. \n \n They are designed to hold a variable amount of data that is parsed based on a schema provided by the client.\n \n \n ## Pointers\n \n Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers.\n \n There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer.\n \n | Pointer Kind | u32 size (bytes) |\n |--------------|------------------|\n | Standard | 4 | \n | Map Item | 12 | \n | List Item | 10 |\n \n \n The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a \"1\", non packed buffers start with a \"0\".\n \n The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer.\n \n Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else.\n \n For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: \"string\"}`.\n \n ```text\n [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111]\n [ root pointer, string length, h, e, l, l, o]\n ```\n \n It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root.\n \n Let's look at the different pointer types you will encounter in a buffer.\n \n ### Standard Pointer\n This is used for any scalar or collection data types. The standard pointer is just a single u32.\n \n ### Map Item Pointer\n \n Used by items in a map object. Contains the following:\n ```text\n | address of data | next map item pointer address | address of bytes for this key |\n | u32 | u32 | u32 |\n ```\n \n Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data.\n \n The last map item pointer in a map should have a zero in the next item address for no further map items.\n \n The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key.\n \n \n ### List Item Pointer\n \n Used by items in a list object. Contains the following:\n ```text\n | address of data | next list item pointer address | item index |\n | u32 | u32 | u16 |\n ```\n \n Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence.\n \n You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order.\n \n There should be list item pointers only for indexes that have data in the list.\n \n The last list item pointer in a list should have a zero in the next item address for no further list items.\n \n \n ## Data\n \n Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated.\n \n When a pointer's address \"points\" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below.\n \n Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema.\n \n \n ### Struct (Collection)\n \n The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains:\n - 4 address (u32) pointers for the field values\n - a trailing address(u32) of the next vtable (should be zero if no more vtables)\n \n Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5`\n \n Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer.\n \n \n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let factory: NP_Factory = NP_Factory::new_json(r#\"{\n \"type\": \"struct\",\n \"fields\": [\n [\"age\", {\"type\": \"u8\"}]\n ]\n }\"#)?;","sig":null,"attributes":[{"value":"/ # NoProto Data Format Documentaion","span":{"file_name":"src/format.rs","byte_start":651164,"byte_end":651202,"line_start":1,"line_end":1,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651203,"byte_end":651207,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ NoProto buffers are built out of pointers and data. ","span":{"file_name":"src/format.rs","byte_start":651208,"byte_end":651265,"line_start":3,"line_end":3,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651266,"byte_end":651270,"line_start":4,"line_end":4,"column_start":1,"column_end":5}},{"value":"/ They are designed to hold a variable amount of data that is parsed based on a schema provided by the client.","span":{"file_name":"src/format.rs","byte_start":651271,"byte_end":651383,"line_start":5,"line_end":5,"column_start":1,"column_end":113}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651384,"byte_end":651388,"line_start":6,"line_end":6,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651389,"byte_end":651393,"line_start":7,"line_end":7,"column_start":1,"column_end":5}},{"value":"/ ## Pointers","span":{"file_name":"src/format.rs","byte_start":651394,"byte_end":651409,"line_start":8,"line_end":8,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651410,"byte_end":651414,"line_start":9,"line_end":9,"column_start":1,"column_end":5}},{"value":"/ Pointers contain one or more addresses depending on the pointer type. The addresses will point to data or other pointers.","span":{"file_name":"src/format.rs","byte_start":651415,"byte_end":651541,"line_start":10,"line_end":10,"column_start":1,"column_end":127}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651542,"byte_end":651546,"line_start":11,"line_end":11,"column_start":1,"column_end":5}},{"value":"/ There is only one address size, u32. Addresses are always stored in big endian format and addresses are always zero based from the beginning of the buffer. In other words, address `23` always means 23 bytes from the beginning of the buffer.","span":{"file_name":"src/format.rs","byte_start":651547,"byte_end":651793,"line_start":12,"line_end":12,"column_start":1,"column_end":247}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":651794,"byte_end":651798,"line_start":13,"line_end":13,"column_start":1,"column_end":5}},{"value":"/ | Pointer Kind | u32 size (bytes) |","span":{"file_name":"src/format.rs","byte_start":651799,"byte_end":651838,"line_start":14,"line_end":14,"column_start":1,"column_end":40}},{"value":"/ |--------------|------------------|","span":{"file_name":"src/format.rs","byte_start":651839,"byte_end":651878,"line_start":15,"line_end":15,"column_start":1,"column_end":40}},{"value":"/ | Standard | 4 | ","span":{"file_name":"src/format.rs","byte_start":651879,"byte_end":651919,"line_start":16,"line_end":16,"column_start":1,"column_end":41}},{"value":"/ | Map Item | 12 | ","span":{"file_name":"src/format.rs","byte_start":651920,"byte_end":651960,"line_start":17,"line_end":17,"column_start":1,"column_end":41}},{"value":"/ | List Item | 10 |","span":{"file_name":"src/format.rs","byte_start":651961,"byte_end":652000,"line_start":18,"line_end":18,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652001,"byte_end":652006,"line_start":19,"line_end":19,"column_start":1,"column_end":6}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652007,"byte_end":652011,"line_start":20,"line_end":20,"column_start":1,"column_end":5}},{"value":"/ The first byte of every buffer is a flag to show if the buffer is packed with it's schema or not. Packed buffers start with a \"1\", non packed buffers start with a \"0\".","span":{"file_name":"src/format.rs","byte_start":652012,"byte_end":652184,"line_start":21,"line_end":21,"column_start":1,"column_end":173}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652185,"byte_end":652189,"line_start":22,"line_end":22,"column_start":1,"column_end":5}},{"value":"/ The second byte of every buffer is a version/size number to be used by later version of NoProto. The next 2 bytes of every buffer is the root pointer, these bytes should contain the address of the root object in the buffer.","span":{"file_name":"src/format.rs","byte_start":652190,"byte_end":652418,"line_start":23,"line_end":23,"column_start":1,"column_end":229}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652419,"byte_end":652423,"line_start":24,"line_end":24,"column_start":1,"column_end":5}},{"value":"/ Most of the time these bytes will point to the data immediately following them, but it's possible to clear the root object causing these bytes to be zero, or to update the root data which would cause this address to update to something else.","span":{"file_name":"src/format.rs","byte_start":652424,"byte_end":652669,"line_start":25,"line_end":25,"column_start":1,"column_end":246}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652670,"byte_end":652674,"line_start":26,"line_end":26,"column_start":1,"column_end":5}},{"value":"/ For example, here is a buffer with u32 address size that contains the string `hello`, it's schema is just `{type: \"string\"}`.","span":{"file_name":"src/format.rs","byte_start":652675,"byte_end":652804,"line_start":27,"line_end":27,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652805,"byte_end":652809,"line_start":28,"line_end":28,"column_start":1,"column_end":5}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":652810,"byte_end":652821,"line_start":29,"line_end":29,"column_start":1,"column_end":12}},{"value":"/ [0,0, 0, 0, 0, 6, 0, 0, 0, 5, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":652822,"byte_end":652885,"line_start":30,"line_end":30,"column_start":1,"column_end":64}},{"value":"/ [ root pointer, string length, h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":652886,"byte_end":652949,"line_start":31,"line_end":31,"column_start":1,"column_end":64}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":652950,"byte_end":652957,"line_start":32,"line_end":32,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":652958,"byte_end":652962,"line_start":33,"line_end":33,"column_start":1,"column_end":5}},{"value":"/ It should be noted that a schema is *required* to parse a buffer, otherwise you don't know the difference between pointers, data and what data types beyond the root.","span":{"file_name":"src/format.rs","byte_start":652963,"byte_end":653132,"line_start":34,"line_end":34,"column_start":1,"column_end":170}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653133,"byte_end":653137,"line_start":35,"line_end":35,"column_start":1,"column_end":5}},{"value":"/ Let's look at the different pointer types you will encounter in a buffer.","span":{"file_name":"src/format.rs","byte_start":653138,"byte_end":653215,"line_start":36,"line_end":36,"column_start":1,"column_end":78}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653216,"byte_end":653220,"line_start":37,"line_end":37,"column_start":1,"column_end":5}},{"value":"/ ### Standard Pointer","span":{"file_name":"src/format.rs","byte_start":653221,"byte_end":653245,"line_start":38,"line_end":38,"column_start":1,"column_end":25}},{"value":"/ This is used for any scalar or collection data types. The standard pointer is just a single u32.","span":{"file_name":"src/format.rs","byte_start":653246,"byte_end":653347,"line_start":39,"line_end":39,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653348,"byte_end":653352,"line_start":40,"line_end":40,"column_start":1,"column_end":5}},{"value":"/ ### Map Item Pointer","span":{"file_name":"src/format.rs","byte_start":653353,"byte_end":653377,"line_start":41,"line_end":41,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653378,"byte_end":653382,"line_start":42,"line_end":42,"column_start":1,"column_end":5}},{"value":"/ Used by items in a map object. Contains the following:","span":{"file_name":"src/format.rs","byte_start":653383,"byte_end":653442,"line_start":43,"line_end":43,"column_start":1,"column_end":60}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":653443,"byte_end":653454,"line_start":44,"line_end":44,"column_start":1,"column_end":12}},{"value":"/ | address of data | next map item pointer address | address of bytes for this key |","span":{"file_name":"src/format.rs","byte_start":653455,"byte_end":653542,"line_start":45,"line_end":45,"column_start":1,"column_end":88}},{"value":"/ | u32 | u32 | u32 |","span":{"file_name":"src/format.rs","byte_start":653543,"byte_end":653630,"line_start":46,"line_end":46,"column_start":1,"column_end":88}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":653631,"byte_end":653638,"line_start":47,"line_end":47,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653639,"byte_end":653643,"line_start":48,"line_end":48,"column_start":1,"column_end":5}},{"value":"/ Map collections represent a linked list of these pointers. There should only be map item pointers for items in the map that have data.","span":{"file_name":"src/format.rs","byte_start":653644,"byte_end":653783,"line_start":49,"line_end":49,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653784,"byte_end":653788,"line_start":50,"line_end":50,"column_start":1,"column_end":5}},{"value":"/ The last map item pointer in a map should have a zero in the next item address for no further map items.","span":{"file_name":"src/format.rs","byte_start":653789,"byte_end":653897,"line_start":51,"line_end":51,"column_start":1,"column_end":109}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":653898,"byte_end":653902,"line_start":52,"line_end":52,"column_start":1,"column_end":5}},{"value":"/ The `key` is always stored as a variable sequence of bytes provided by the client. If you go to the address of the key you should find a length byte (u8) followed by a sequence of bytes that represents the key.","span":{"file_name":"src/format.rs","byte_start":653903,"byte_end":654118,"line_start":53,"line_end":53,"column_start":1,"column_end":216}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654119,"byte_end":654123,"line_start":54,"line_end":54,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654124,"byte_end":654128,"line_start":55,"line_end":55,"column_start":1,"column_end":5}},{"value":"/ ### List Item Pointer","span":{"file_name":"src/format.rs","byte_start":654129,"byte_end":654154,"line_start":56,"line_end":56,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654155,"byte_end":654159,"line_start":57,"line_end":57,"column_start":1,"column_end":5}},{"value":"/ Used by items in a list object. Contains the following:","span":{"file_name":"src/format.rs","byte_start":654160,"byte_end":654220,"line_start":58,"line_end":58,"column_start":1,"column_end":61}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":654221,"byte_end":654232,"line_start":59,"line_end":59,"column_start":1,"column_end":12}},{"value":"/ | address of data | next list item pointer address | item index |","span":{"file_name":"src/format.rs","byte_start":654233,"byte_end":654302,"line_start":60,"line_end":60,"column_start":1,"column_end":70}},{"value":"/ | u32 | u32 | u16 |","span":{"file_name":"src/format.rs","byte_start":654303,"byte_end":654372,"line_start":61,"line_end":61,"column_start":1,"column_end":70}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":654373,"byte_end":654380,"line_start":62,"line_end":62,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654381,"byte_end":654385,"line_start":63,"line_end":63,"column_start":1,"column_end":5}},{"value":"/ Unlike tables and maps, the order of the list items point to eachother should be kept so that the index is the correct sequence.","span":{"file_name":"src/format.rs","byte_start":654386,"byte_end":654518,"line_start":64,"line_end":64,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654519,"byte_end":654523,"line_start":65,"line_end":65,"column_start":1,"column_end":5}},{"value":"/ You can have gaps in the sequence, but the index should always be in order. So if you have 3 item pointers with indexes 2, 8 and 20 they should point to each other in this order: 2 -> 8 -> 20. This doesn't mean they have to be in order in the buffer, they just have to point to eachother in order.","span":{"file_name":"src/format.rs","byte_start":654524,"byte_end":654827,"line_start":66,"line_end":66,"column_start":1,"column_end":304}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654828,"byte_end":654832,"line_start":67,"line_end":67,"column_start":1,"column_end":5}},{"value":"/ There should be list item pointers only for indexes that have data in the list.","span":{"file_name":"src/format.rs","byte_start":654833,"byte_end":654916,"line_start":68,"line_end":68,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":654917,"byte_end":654921,"line_start":69,"line_end":69,"column_start":1,"column_end":5}},{"value":"/ The last list item pointer in a list should have a zero in the next item address for no further list items.","span":{"file_name":"src/format.rs","byte_start":654922,"byte_end":655033,"line_start":70,"line_end":70,"column_start":1,"column_end":112}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655034,"byte_end":655038,"line_start":71,"line_end":71,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655039,"byte_end":655043,"line_start":72,"line_end":72,"column_start":1,"column_end":5}},{"value":"/ ## Data","span":{"file_name":"src/format.rs","byte_start":655044,"byte_end":655055,"line_start":73,"line_end":73,"column_start":1,"column_end":12}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655056,"byte_end":655060,"line_start":74,"line_end":74,"column_start":1,"column_end":5}},{"value":"/ Data is stored in a specific format based on the data type in the schema. The schema should determine how bytes at a sepcific address are treated.","span":{"file_name":"src/format.rs","byte_start":655061,"byte_end":655212,"line_start":75,"line_end":75,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655213,"byte_end":655217,"line_start":76,"line_end":76,"column_start":1,"column_end":5}},{"value":"/ When a pointer's address \"points\" to a location in the buffer, you should be able to parse the bytes at the designated location following the rules for the given data type below.","span":{"file_name":"src/format.rs","byte_start":655218,"byte_end":655400,"line_start":77,"line_end":77,"column_start":1,"column_end":183}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655401,"byte_end":655405,"line_start":78,"line_end":78,"column_start":1,"column_end":5}},{"value":"/ Most data types have a known size ahead of time, some don't, and some have a size dependent on the schema.","span":{"file_name":"src/format.rs","byte_start":655406,"byte_end":655516,"line_start":79,"line_end":79,"column_start":1,"column_end":111}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655517,"byte_end":655521,"line_start":80,"line_end":80,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655522,"byte_end":655526,"line_start":81,"line_end":81,"column_start":1,"column_end":5}},{"value":"/ ### Struct (Collection)","span":{"file_name":"src/format.rs","byte_start":655527,"byte_end":655554,"line_start":82,"line_end":82,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655555,"byte_end":655559,"line_start":83,"line_end":83,"column_start":1,"column_end":5}},{"value":"/ The struct data type stores one or more vtables for field values. Each vtable is 20 bytes and contains:","span":{"file_name":"src/format.rs","byte_start":655560,"byte_end":655668,"line_start":84,"line_end":84,"column_start":1,"column_end":109}},{"value":"/ - 4 address (u32) pointers for the field values","span":{"file_name":"src/format.rs","byte_start":655669,"byte_end":655720,"line_start":85,"line_end":85,"column_start":1,"column_end":52}},{"value":"/ - a trailing address(u32) of the next vtable (should be zero if no more vtables)","span":{"file_name":"src/format.rs","byte_start":655721,"byte_end":655805,"line_start":86,"line_end":86,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655806,"byte_end":655810,"line_start":87,"line_end":87,"column_start":1,"column_end":5}},{"value":"/ Each vtable can address up to 4 fields, so if there are 30 fields in a schema there may be as many as 8 vtables in the buffer: `30 / 4 = 7.5`","span":{"file_name":"src/format.rs","byte_start":655811,"byte_end":655956,"line_start":88,"line_end":88,"column_start":1,"column_end":146}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":655957,"byte_end":655961,"line_start":89,"line_end":89,"column_start":1,"column_end":5}},{"value":"/ Vtables are created as needed, For example if there are 100 fields in the schema but the client only ever sets values to the first 4 fields there will only ever be 1 vtable in the buffer.","span":{"file_name":"src/format.rs","byte_start":655962,"byte_end":656154,"line_start":90,"line_end":90,"column_start":1,"column_end":193}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656155,"byte_end":656159,"line_start":91,"line_end":91,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656160,"byte_end":656164,"line_start":92,"line_end":92,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":656165,"byte_end":656172,"line_start":93,"line_end":93,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":656173,"byte_end":656207,"line_start":94,"line_end":94,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":656208,"byte_end":656237,"line_start":95,"line_end":95,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656238,"byte_end":656242,"line_start":96,"line_end":96,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":656243,"byte_end":656298,"line_start":97,"line_end":97,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/format.rs","byte_start":656299,"byte_end":656324,"line_start":98,"line_end":98,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/format.rs","byte_start":656325,"byte_end":656344,"line_start":99,"line_end":99,"column_start":1,"column_end":20}},{"value":"/ [\"age\", {\"type\": \"u8\"}]","span":{"file_name":"src/format.rs","byte_start":656345,"byte_end":656381,"line_start":100,"line_end":100,"column_start":1,"column_end":37}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":656382,"byte_end":656391,"line_start":101,"line_end":101,"column_start":1,"column_end":10}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":656392,"byte_end":656402,"line_start":102,"line_end":102,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656403,"byte_end":656406,"line_start":103,"line_end":103,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":656407,"byte_end":656457,"line_start":104,"line_end":104,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":656458,"byte_end":656494,"line_start":105,"line_end":105,"column_start":1,"column_end":37}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656495,"byte_end":656498,"line_start":106,"line_end":106,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":656499,"byte_end":656632,"line_start":107,"line_end":107,"column_start":1,"column_end":134}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656633,"byte_end":656637,"line_start":108,"line_end":108,"column_start":1,"column_end":5}},{"value":"/ // [0, 0, 0, 0, 0, 6, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20]","span":{"file_name":"src/format.rs","byte_start":656638,"byte_end":656731,"line_start":109,"line_end":109,"column_start":1,"column_end":94}},{"value":"/ // [ root ptr, vtable, data]","span":{"file_name":"src/format.rs","byte_start":656732,"byte_end":656825,"line_start":110,"line_end":110,"column_start":1,"column_end":94}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":656826,"byte_end":656829,"line_start":111,"line_end":111,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":656830,"byte_end":656859,"line_start":112,"line_end":112,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":656860,"byte_end":656867,"line_start":113,"line_end":113,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656868,"byte_end":656872,"line_start":114,"line_end":114,"column_start":1,"column_end":5}},{"value":"/ ### List (Collection)","span":{"file_name":"src/format.rs","byte_start":656873,"byte_end":656898,"line_start":115,"line_end":115,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":656899,"byte_end":656903,"line_start":116,"line_end":116,"column_start":1,"column_end":5}},{"value":"/ The list type stores two addresses (u32), one to the first `ListItem` pointer (head) and one to the last `ListItem` pointer (tail).","span":{"file_name":"src/format.rs","byte_start":656904,"byte_end":657039,"line_start":117,"line_end":117,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657040,"byte_end":657044,"line_start":118,"line_end":118,"column_start":1,"column_end":5}},{"value":"/ If there is only one list item pointer in the list, the head and tail addresses should be identical.","span":{"file_name":"src/format.rs","byte_start":657045,"byte_end":657149,"line_start":119,"line_end":119,"column_start":1,"column_end":105}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657150,"byte_end":657154,"line_start":120,"line_end":120,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657155,"byte_end":657162,"line_start":121,"line_end":121,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":657163,"byte_end":657197,"line_start":122,"line_end":122,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":657198,"byte_end":657227,"line_start":123,"line_end":123,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657228,"byte_end":657232,"line_start":124,"line_end":124,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":657233,"byte_end":657288,"line_start":125,"line_end":125,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/format.rs","byte_start":657289,"byte_end":657312,"line_start":126,"line_end":126,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":657313,"byte_end":657341,"line_start":127,"line_end":127,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":657342,"byte_end":657352,"line_start":128,"line_end":128,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":657353,"byte_end":657356,"line_start":129,"line_end":129,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":657357,"byte_end":657407,"line_start":130,"line_end":130,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"4\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":657408,"byte_end":657442,"line_start":131,"line_end":131,"column_start":1,"column_end":35}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":657443,"byte_end":657572,"line_start":132,"line_end":132,"column_start":1,"column_end":130}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657573,"byte_end":657577,"line_start":133,"line_end":133,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 4, 20]","span":{"file_name":"src/format.rs","byte_start":657578,"byte_end":657669,"line_start":134,"line_end":134,"column_start":1,"column_end":92}},{"value":"/ // [ root ptr, head, tail, list item ptr, data]","span":{"file_name":"src/format.rs","byte_start":657670,"byte_end":657761,"line_start":135,"line_end":135,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":657762,"byte_end":657765,"line_start":136,"line_end":136,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":657766,"byte_end":657795,"line_start":137,"line_end":137,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657796,"byte_end":657803,"line_start":138,"line_end":138,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657804,"byte_end":657808,"line_start":139,"line_end":139,"column_start":1,"column_end":5}},{"value":"/ ### Map (Collection)","span":{"file_name":"src/format.rs","byte_start":657809,"byte_end":657833,"line_start":140,"line_end":140,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657834,"byte_end":657838,"line_start":141,"line_end":141,"column_start":1,"column_end":5}},{"value":"/ The map type stores a single address (u32) to the first `MapItem` pointer.","span":{"file_name":"src/format.rs","byte_start":657839,"byte_end":657917,"line_start":142,"line_end":142,"column_start":1,"column_end":79}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657918,"byte_end":657922,"line_start":143,"line_end":143,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":657923,"byte_end":657930,"line_start":144,"line_end":144,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":657931,"byte_end":657965,"line_start":145,"line_end":145,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":657966,"byte_end":657995,"line_start":146,"line_end":146,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":657996,"byte_end":658000,"line_start":147,"line_end":147,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":658001,"byte_end":658056,"line_start":148,"line_end":148,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/format.rs","byte_start":658057,"byte_end":658079,"line_start":149,"line_end":149,"column_start":1,"column_end":23}},{"value":"/ \"value\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":658080,"byte_end":658111,"line_start":150,"line_end":150,"column_start":1,"column_end":32}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":658112,"byte_end":658122,"line_start":151,"line_end":151,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":658123,"byte_end":658126,"line_start":152,"line_end":152,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":658127,"byte_end":658177,"line_start":153,"line_end":153,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"age\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":658178,"byte_end":658214,"line_start":154,"line_end":154,"column_start":1,"column_end":37}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":658215,"byte_end":658342,"line_start":155,"line_end":155,"column_start":1,"column_end":128}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658343,"byte_end":658347,"line_start":156,"line_end":156,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 18, 3, 97, 103, 101, 20]","span":{"file_name":"src/format.rs","byte_start":658348,"byte_end":658439,"line_start":157,"line_end":157,"column_start":1,"column_end":92}},{"value":"/ // [ root ptr, map item ptr, a, g, e, data]","span":{"file_name":"src/format.rs","byte_start":658440,"byte_end":658531,"line_start":158,"line_end":158,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":658532,"byte_end":658535,"line_start":159,"line_end":159,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":658536,"byte_end":658565,"line_start":160,"line_end":160,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":658566,"byte_end":658573,"line_start":161,"line_end":161,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658574,"byte_end":658578,"line_start":162,"line_end":162,"column_start":1,"column_end":5}},{"value":"/ ### Tuple (Collection)","span":{"file_name":"src/format.rs","byte_start":658579,"byte_end":658605,"line_start":163,"line_end":163,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658606,"byte_end":658610,"line_start":164,"line_end":164,"column_start":1,"column_end":5}},{"value":"/ Tuples are stored by packing the types next to eachother.","span":{"file_name":"src/format.rs","byte_start":658611,"byte_end":658672,"line_start":165,"line_end":165,"column_start":1,"column_end":62}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658673,"byte_end":658677,"line_start":166,"line_end":166,"column_start":1,"column_end":5}},{"value":"/ Before each type is a byte that is either 1 or 0. It should be zero if the value has not been set, otherwise it should be one.","span":{"file_name":"src/format.rs","byte_start":658678,"byte_end":658809,"line_start":167,"line_end":167,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658810,"byte_end":658814,"line_start":168,"line_end":168,"column_start":1,"column_end":5}},{"value":"/ If a child type is flexible in size, a pointer address is put in the tuple.","span":{"file_name":"src/format.rs","byte_start":658815,"byte_end":658894,"line_start":169,"line_end":169,"column_start":1,"column_end":80}},{"value":"/ If a child type is fixed in size, it is placed inline in the tuple.","span":{"file_name":"src/format.rs","byte_start":658895,"byte_end":658966,"line_start":170,"line_end":170,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":658967,"byte_end":658971,"line_start":171,"line_end":171,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":658972,"byte_end":658979,"line_start":172,"line_end":172,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":658980,"byte_end":659014,"line_start":173,"line_end":173,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":659015,"byte_end":659044,"line_start":174,"line_end":174,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659045,"byte_end":659049,"line_start":175,"line_end":175,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":659050,"byte_end":659105,"line_start":176,"line_end":176,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/format.rs","byte_start":659106,"byte_end":659129,"line_start":177,"line_end":177,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/format.rs","byte_start":659130,"byte_end":659148,"line_start":178,"line_end":178,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/format.rs","byte_start":659149,"byte_end":659175,"line_start":179,"line_end":179,"column_start":1,"column_end":27}},{"value":"/ {\"type\": \"string\"},","span":{"file_name":"src/format.rs","byte_start":659176,"byte_end":659206,"line_start":180,"line_end":180,"column_start":1,"column_end":31}},{"value":"/ {\"type\": \"u32\"}","span":{"file_name":"src/format.rs","byte_start":659207,"byte_end":659233,"line_start":181,"line_end":181,"column_start":1,"column_end":27}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":659234,"byte_end":659242,"line_start":182,"line_end":182,"column_start":1,"column_end":9}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":659243,"byte_end":659253,"line_start":183,"line_end":183,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659254,"byte_end":659258,"line_start":184,"line_end":184,"column_start":1,"column_end":5}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":659259,"byte_end":659262,"line_start":185,"line_end":185,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":659263,"byte_end":659313,"line_start":186,"line_end":186,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[\"0\"], 20u8)?;","span":{"file_name":"src/format.rs","byte_start":659314,"byte_end":659348,"line_start":187,"line_end":187,"column_start":1,"column_end":35}},{"value":"/ new_buffer.set(&[\"1\"], \"hello\")?;","span":{"file_name":"src/format.rs","byte_start":659349,"byte_end":659386,"line_start":188,"line_end":188,"column_start":1,"column_end":38}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":659387,"byte_end":659530,"line_start":189,"line_end":189,"column_start":1,"column_end":144}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659531,"byte_end":659535,"line_start":190,"line_end":190,"column_start":1,"column_end":5}},{"value":"/ // [0, 0, 0, 0, 0, 6, 1, 20, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":659536,"byte_end":659638,"line_start":191,"line_end":191,"column_start":1,"column_end":103}},{"value":"/ // [ root ptr, u8, str ptr, u32, h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":659639,"byte_end":659741,"line_start":192,"line_end":192,"column_start":1,"column_end":103}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":659742,"byte_end":659745,"line_start":193,"line_end":193,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":659746,"byte_end":659775,"line_start":194,"line_end":194,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":659776,"byte_end":659783,"line_start":195,"line_end":195,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659784,"byte_end":659788,"line_start":196,"line_end":196,"column_start":1,"column_end":5}},{"value":"/ ### int8, int16, int32, int64 (Scalar)","span":{"file_name":"src/format.rs","byte_start":659789,"byte_end":659831,"line_start":197,"line_end":197,"column_start":1,"column_end":43}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659832,"byte_end":659836,"line_start":198,"line_end":198,"column_start":1,"column_end":5}},{"value":"/ Signed integers should be converted to unsigned values, then saved in big endian format.","span":{"file_name":"src/format.rs","byte_start":659837,"byte_end":659929,"line_start":199,"line_end":199,"column_start":1,"column_end":93}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":659930,"byte_end":659934,"line_start":200,"line_end":200,"column_start":1,"column_end":5}},{"value":"/ The size of the integer should determine how many bytes are used. For example, i8 is 1 byte, i16 is 2 bytes, etc.","span":{"file_name":"src/format.rs","byte_start":659935,"byte_end":660053,"line_start":201,"line_end":201,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660054,"byte_end":660058,"line_start":202,"line_end":202,"column_start":1,"column_end":5}},{"value":"/ For example, an i8 of value -20 should be converted to 108, then saved as 108.","span":{"file_name":"src/format.rs","byte_start":660059,"byte_end":660141,"line_start":203,"line_end":203,"column_start":1,"column_end":83}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660142,"byte_end":660146,"line_start":204,"line_end":204,"column_start":1,"column_end":5}},{"value":"/ When it's requested by the client, it should be converted back to signed before being passed to the client.","span":{"file_name":"src/format.rs","byte_start":660147,"byte_end":660258,"line_start":205,"line_end":205,"column_start":1,"column_end":112}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660259,"byte_end":660263,"line_start":206,"line_end":206,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":660264,"byte_end":660271,"line_start":207,"line_end":207,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":660272,"byte_end":660306,"line_start":208,"line_end":208,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":660307,"byte_end":660336,"line_start":209,"line_end":209,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660337,"byte_end":660341,"line_start":210,"line_end":210,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":660342,"byte_end":660397,"line_start":211,"line_end":211,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\"","span":{"file_name":"src/format.rs","byte_start":660398,"byte_end":660418,"line_start":212,"line_end":212,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":660419,"byte_end":660429,"line_start":213,"line_end":213,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":660430,"byte_end":660433,"line_start":214,"line_end":214,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":660434,"byte_end":660484,"line_start":215,"line_end":215,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], -2023830i32)?;","span":{"file_name":"src/format.rs","byte_start":660485,"byte_end":660523,"line_start":216,"line_end":216,"column_start":1,"column_end":39}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 127, 225, 30, 106], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":660524,"byte_end":660611,"line_start":217,"line_end":217,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660612,"byte_end":660616,"line_start":218,"line_end":218,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 127, 225, 30, 106]","span":{"file_name":"src/format.rs","byte_start":660617,"byte_end":660662,"line_start":219,"line_end":219,"column_start":1,"column_end":46}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":660663,"byte_end":660708,"line_start":220,"line_end":220,"column_start":1,"column_end":46}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":660709,"byte_end":660712,"line_start":221,"line_end":221,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":660713,"byte_end":660742,"line_start":222,"line_end":222,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":660743,"byte_end":660750,"line_start":223,"line_end":223,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660751,"byte_end":660755,"line_start":224,"line_end":224,"column_start":1,"column_end":5}},{"value":"/ ### uint8, uint16, uint32, uint64 (Scalar)","span":{"file_name":"src/format.rs","byte_start":660756,"byte_end":660802,"line_start":225,"line_end":225,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660803,"byte_end":660807,"line_start":226,"line_end":226,"column_start":1,"column_end":5}},{"value":"/ Unsigned integers should be converted to big endian format, then saved to the buffer.","span":{"file_name":"src/format.rs","byte_start":660808,"byte_end":660897,"line_start":227,"line_end":227,"column_start":1,"column_end":90}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":660898,"byte_end":660902,"line_start":228,"line_end":228,"column_start":1,"column_end":5}},{"value":"/ The size of the integer should determine how many bytes are used. For example, u8 is 1 byte, u32 is 2 bytes, etc.","span":{"file_name":"src/format.rs","byte_start":660903,"byte_end":661021,"line_start":229,"line_end":229,"column_start":1,"column_end":119}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661022,"byte_end":661026,"line_start":230,"line_end":230,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661027,"byte_end":661034,"line_start":231,"line_end":231,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":661035,"byte_end":661069,"line_start":232,"line_end":232,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":661070,"byte_end":661099,"line_start":233,"line_end":233,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661100,"byte_end":661104,"line_start":234,"line_end":234,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":661105,"byte_end":661160,"line_start":235,"line_end":235,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"u32\"","span":{"file_name":"src/format.rs","byte_start":661161,"byte_end":661181,"line_start":236,"line_end":236,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":661182,"byte_end":661192,"line_start":237,"line_end":237,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661193,"byte_end":661196,"line_start":238,"line_end":238,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":661197,"byte_end":661247,"line_start":239,"line_end":239,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 28378u32)?;","span":{"file_name":"src/format.rs","byte_start":661248,"byte_end":661283,"line_start":240,"line_end":240,"column_start":1,"column_end":36}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 110, 218], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":661284,"byte_end":661368,"line_start":241,"line_end":241,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661369,"byte_end":661373,"line_start":242,"line_end":242,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 110, 218]","span":{"file_name":"src/format.rs","byte_start":661374,"byte_end":661415,"line_start":243,"line_end":243,"column_start":1,"column_end":42}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":661416,"byte_end":661457,"line_start":244,"line_end":244,"column_start":1,"column_end":42}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661458,"byte_end":661461,"line_start":245,"line_end":245,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":661462,"byte_end":661491,"line_start":246,"line_end":246,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661492,"byte_end":661499,"line_start":247,"line_end":247,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661500,"byte_end":661504,"line_start":248,"line_end":248,"column_start":1,"column_end":5}},{"value":"/ ### float, double (Scalar)","span":{"file_name":"src/format.rs","byte_start":661505,"byte_end":661535,"line_start":249,"line_end":249,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661536,"byte_end":661540,"line_start":250,"line_end":250,"column_start":1,"column_end":5}},{"value":"/ Floating point vales should be converted to big endian format, then saved to the buffer.","span":{"file_name":"src/format.rs","byte_start":661541,"byte_end":661633,"line_start":251,"line_end":251,"column_start":1,"column_end":93}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661634,"byte_end":661638,"line_start":252,"line_end":252,"column_start":1,"column_end":5}},{"value":"/ The size of the floating point value should determine how many bytes are used. `float` is `f32` (4 bytes) and `double` is `f64` (8 bytes)","span":{"file_name":"src/format.rs","byte_start":661639,"byte_end":661781,"line_start":253,"line_end":253,"column_start":1,"column_end":143}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661782,"byte_end":661786,"line_start":254,"line_end":254,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":661787,"byte_end":661794,"line_start":255,"line_end":255,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":661795,"byte_end":661829,"line_start":256,"line_end":256,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":661830,"byte_end":661859,"line_start":257,"line_end":257,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":661860,"byte_end":661864,"line_start":258,"line_end":258,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":661865,"byte_end":661920,"line_start":259,"line_end":259,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"f32\"","span":{"file_name":"src/format.rs","byte_start":661921,"byte_end":661941,"line_start":260,"line_end":260,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":661942,"byte_end":661952,"line_start":261,"line_end":261,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":661953,"byte_end":661956,"line_start":262,"line_end":262,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":661957,"byte_end":662007,"line_start":263,"line_end":263,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], 2.389988f32)?;","span":{"file_name":"src/format.rs","byte_start":662008,"byte_end":662046,"line_start":264,"line_end":264,"column_start":1,"column_end":39}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 64, 24, 245, 144], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":662047,"byte_end":662133,"line_start":265,"line_end":265,"column_start":1,"column_end":87}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662134,"byte_end":662138,"line_start":266,"line_end":266,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 64, 24, 245, 144]","span":{"file_name":"src/format.rs","byte_start":662139,"byte_end":662182,"line_start":267,"line_end":267,"column_start":1,"column_end":44}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":662183,"byte_end":662226,"line_start":268,"line_end":268,"column_start":1,"column_end":44}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":662227,"byte_end":662230,"line_start":269,"line_end":269,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":662231,"byte_end":662260,"line_start":270,"line_end":270,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":662261,"byte_end":662268,"line_start":271,"line_end":271,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662269,"byte_end":662273,"line_start":272,"line_end":272,"column_start":1,"column_end":5}},{"value":"/ ### option (Scalar)","span":{"file_name":"src/format.rs","byte_start":662274,"byte_end":662297,"line_start":273,"line_end":273,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662298,"byte_end":662302,"line_start":274,"line_end":274,"column_start":1,"column_end":5}},{"value":"/ Option values are stored as a single `u8` value. The value should represent the zero based location in the choice set.","span":{"file_name":"src/format.rs","byte_start":662303,"byte_end":662426,"line_start":275,"line_end":275,"column_start":1,"column_end":124}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662427,"byte_end":662431,"line_start":276,"line_end":276,"column_start":1,"column_end":5}},{"value":"/ For example if the schema has `choices: [\"red\", \"blue\", \"yellow\"]` and the user selects `yellow`, this value should be `2`.","span":{"file_name":"src/format.rs","byte_start":662432,"byte_end":662559,"line_start":277,"line_end":277,"column_start":1,"column_end":128}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662560,"byte_end":662564,"line_start":278,"line_end":278,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":662565,"byte_end":662572,"line_start":279,"line_end":279,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":662573,"byte_end":662607,"line_start":280,"line_end":280,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":662608,"byte_end":662637,"line_start":281,"line_end":281,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":662638,"byte_end":662681,"line_start":282,"line_end":282,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662682,"byte_end":662686,"line_start":283,"line_end":283,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":662687,"byte_end":662742,"line_start":284,"line_end":284,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":662743,"byte_end":662767,"line_start":285,"line_end":285,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"]","span":{"file_name":"src/format.rs","byte_start":662768,"byte_end":662811,"line_start":286,"line_end":286,"column_start":1,"column_end":44}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":662812,"byte_end":662822,"line_start":287,"line_end":287,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":662823,"byte_end":662826,"line_start":288,"line_end":288,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":662827,"byte_end":662877,"line_start":289,"line_end":289,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Enum::new(\"red\"))?;","span":{"file_name":"src/format.rs","byte_start":662878,"byte_end":662924,"line_start":290,"line_end":290,"column_start":1,"column_end":47}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 2], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":662925,"byte_end":662996,"line_start":291,"line_end":291,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":662997,"byte_end":663001,"line_start":292,"line_end":292,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 2]","span":{"file_name":"src/format.rs","byte_start":663002,"byte_end":663035,"line_start":293,"line_end":293,"column_start":1,"column_end":34}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":663036,"byte_end":663069,"line_start":294,"line_end":294,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663070,"byte_end":663073,"line_start":295,"line_end":295,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":663074,"byte_end":663103,"line_start":296,"line_end":296,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663104,"byte_end":663111,"line_start":297,"line_end":297,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663112,"byte_end":663116,"line_start":298,"line_end":298,"column_start":1,"column_end":5}},{"value":"/ ### bool (Scalar)","span":{"file_name":"src/format.rs","byte_start":663117,"byte_end":663138,"line_start":299,"line_end":299,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663139,"byte_end":663143,"line_start":300,"line_end":300,"column_start":1,"column_end":5}},{"value":"/ A single `u8` byte. `1` for `true`, `0` for `false`.","span":{"file_name":"src/format.rs","byte_start":663144,"byte_end":663201,"line_start":301,"line_end":301,"column_start":1,"column_end":58}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663202,"byte_end":663206,"line_start":302,"line_end":302,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663207,"byte_end":663214,"line_start":303,"line_end":303,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":663215,"byte_end":663249,"line_start":304,"line_end":304,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":663250,"byte_end":663279,"line_start":305,"line_end":305,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663280,"byte_end":663284,"line_start":306,"line_end":306,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":663285,"byte_end":663340,"line_start":307,"line_end":307,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/format.rs","byte_start":663341,"byte_end":663362,"line_start":308,"line_end":308,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":663363,"byte_end":663373,"line_start":309,"line_end":309,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663374,"byte_end":663377,"line_start":310,"line_end":310,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":663378,"byte_end":663428,"line_start":311,"line_end":311,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], true)?;","span":{"file_name":"src/format.rs","byte_start":663429,"byte_end":663460,"line_start":312,"line_end":312,"column_start":1,"column_end":32}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 1], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":663461,"byte_end":663532,"line_start":313,"line_end":313,"column_start":1,"column_end":72}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663533,"byte_end":663537,"line_start":314,"line_end":314,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 1]","span":{"file_name":"src/format.rs","byte_start":663538,"byte_end":663571,"line_start":315,"line_end":315,"column_start":1,"column_end":34}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":663572,"byte_end":663605,"line_start":316,"line_end":316,"column_start":1,"column_end":34}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":663606,"byte_end":663609,"line_start":317,"line_end":317,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":663610,"byte_end":663639,"line_start":318,"line_end":318,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":663640,"byte_end":663647,"line_start":319,"line_end":319,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663648,"byte_end":663652,"line_start":320,"line_end":320,"column_start":1,"column_end":5}},{"value":"/ ### decimal (Scalar)","span":{"file_name":"src/format.rs","byte_start":663653,"byte_end":663677,"line_start":321,"line_end":321,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663678,"byte_end":663682,"line_start":322,"line_end":322,"column_start":1,"column_end":5}},{"value":"/ Stored the same as an i64 value (including converting to unsigned format described above).","span":{"file_name":"src/format.rs","byte_start":663683,"byte_end":663777,"line_start":323,"line_end":323,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663778,"byte_end":663782,"line_start":324,"line_end":324,"column_start":1,"column_end":5}},{"value":"/ The `i64` number should be devided by `10 ^ exp` to get the true value. The `exp` value is provided in the schema.","span":{"file_name":"src/format.rs","byte_start":663783,"byte_end":663902,"line_start":325,"line_end":325,"column_start":1,"column_end":120}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":663903,"byte_end":663907,"line_start":326,"line_end":326,"column_start":1,"column_end":5}},{"value":"/ For example, if you pull a `293` i64 value from the buffer and the `exp` value in the schema is `2`, the value is actually `293 / 100` or 2.93.","span":{"file_name":"src/format.rs","byte_start":663908,"byte_end":664055,"line_start":327,"line_end":327,"column_start":1,"column_end":148}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664056,"byte_end":664060,"line_start":328,"line_end":328,"column_start":1,"column_end":5}},{"value":"/ You should avoid converting the number to floating point values except for display purposes. Study the source code for the `NP_Dec` type to see how to preserve the internal i64 value correctly.","span":{"file_name":"src/format.rs","byte_start":664061,"byte_end":664259,"line_start":329,"line_end":329,"column_start":1,"column_end":199}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664260,"byte_end":664264,"line_start":330,"line_end":330,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":664265,"byte_end":664272,"line_start":331,"line_end":331,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":664273,"byte_end":664307,"line_start":332,"line_end":332,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":664308,"byte_end":664337,"line_start":333,"line_end":333,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/format.rs","byte_start":664338,"byte_end":664377,"line_start":334,"line_end":334,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664378,"byte_end":664382,"line_start":335,"line_end":335,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":664383,"byte_end":664438,"line_start":336,"line_end":336,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":664439,"byte_end":664464,"line_start":337,"line_end":337,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2","span":{"file_name":"src/format.rs","byte_start":664465,"byte_end":664480,"line_start":338,"line_end":338,"column_start":1,"column_end":16}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":664481,"byte_end":664491,"line_start":339,"line_end":339,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":664492,"byte_end":664495,"line_start":340,"line_end":340,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":664496,"byte_end":664546,"line_start":341,"line_end":341,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Dec::new(200, 0))?;","span":{"file_name":"src/format.rs","byte_start":664547,"byte_end":664593,"line_start":342,"line_end":342,"column_start":1,"column_end":47}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":664594,"byte_end":664690,"line_start":343,"line_end":343,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664691,"byte_end":664695,"line_start":344,"line_end":344,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 128, 0, 0, 0, 0, 0, 78, 32]","span":{"file_name":"src/format.rs","byte_start":664696,"byte_end":664750,"line_start":345,"line_end":345,"column_start":1,"column_end":55}},{"value":"/ // [ root ptr, data]","span":{"file_name":"src/format.rs","byte_start":664751,"byte_end":664805,"line_start":346,"line_end":346,"column_start":1,"column_end":55}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":664806,"byte_end":664809,"line_start":347,"line_end":347,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":664810,"byte_end":664839,"line_start":348,"line_end":348,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":664840,"byte_end":664847,"line_start":349,"line_end":349,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":664848,"byte_end":664852,"line_start":350,"line_end":350,"column_start":1,"column_end":5}},{"value":"/ ### geo4, geo8, geo16 (Scalar)","span":{"file_name":"src/format.rs","byte_start":664853,"byte_end":664887,"line_start":351,"line_end":351,"column_start":1,"column_end":35}},{"value":"/ Each geo size uses two signed integers right next to eachother in the buffer. i16/i16 for geo4, i32/i32 for geo8 and i64/i64 for geo16","span":{"file_name":"src/format.rs","byte_start":664888,"byte_end":665027,"line_start":352,"line_end":352,"column_start":1,"column_end":140}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665028,"byte_end":665032,"line_start":353,"line_end":353,"column_start":1,"column_end":5}},{"value":"/ The two signed integers are converted to unsigned values before being saved into big endian format. ","span":{"file_name":"src/format.rs","byte_start":665033,"byte_end":665137,"line_start":354,"line_end":354,"column_start":1,"column_end":105}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665138,"byte_end":665142,"line_start":355,"line_end":355,"column_start":1,"column_end":5}},{"value":"/ Depending on the size, the floating point value of each geographic coordinate is multiplied by a specific value before being saved as an integer.","span":{"file_name":"src/format.rs","byte_start":665143,"byte_end":665292,"line_start":356,"line_end":356,"column_start":1,"column_end":150}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665293,"byte_end":665297,"line_start":357,"line_end":357,"column_start":1,"column_end":5}},{"value":"/ | Size | Bytes | Factor |","span":{"file_name":"src/format.rs","byte_start":665298,"byte_end":665336,"line_start":358,"line_end":358,"column_start":1,"column_end":39}},{"value":"/ |------|------------|------------|","span":{"file_name":"src/format.rs","byte_start":665337,"byte_end":665375,"line_start":359,"line_end":359,"column_start":1,"column_end":39}},{"value":"/ | 4 | i16 \\| i16 | 100 |","span":{"file_name":"src/format.rs","byte_start":665376,"byte_end":665414,"line_start":360,"line_end":360,"column_start":1,"column_end":39}},{"value":"/ | 8 | i32 \\| i32 | 10000000 |","span":{"file_name":"src/format.rs","byte_start":665415,"byte_end":665453,"line_start":361,"line_end":361,"column_start":1,"column_end":39}},{"value":"/ | 16 | i64 \\| i64 | 1000000000 |","span":{"file_name":"src/format.rs","byte_start":665454,"byte_end":665492,"line_start":362,"line_end":362,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665493,"byte_end":665497,"line_start":363,"line_end":363,"column_start":1,"column_end":5}},{"value":"/ For example, if a user provides these coordinates: 41.303921, -81.901693","span":{"file_name":"src/format.rs","byte_start":665498,"byte_end":665574,"line_start":364,"line_end":364,"column_start":1,"column_end":77}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":665575,"byte_end":665579,"line_start":365,"line_end":365,"column_start":1,"column_end":5}},{"value":"/ To save into buffer:
","span":{"file_name":"src/format.rs","byte_start":665580,"byte_end":665609,"line_start":366,"line_end":366,"column_start":1,"column_end":30}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665610,"byte_end":665619,"line_start":367,"line_end":367,"column_start":1,"column_end":10}},{"value":"/ geo4:
","span":{"file_name":"src/format.rs","byte_start":665620,"byte_end":665635,"line_start":368,"line_end":368,"column_start":1,"column_end":16}},{"value":"/ 1 - Multiply by 100: (4130.3921, -8190.1693)
","span":{"file_name":"src/format.rs","byte_start":665636,"byte_end":665690,"line_start":369,"line_end":369,"column_start":1,"column_end":55}},{"value":"/ 2 - Make i16 (4130, -8190)
","span":{"file_name":"src/format.rs","byte_start":665691,"byte_end":665726,"line_start":370,"line_end":370,"column_start":1,"column_end":36}},{"value":"/ 3 - Save/convert as unsigned in big endian format
","span":{"file_name":"src/format.rs","byte_start":665727,"byte_end":665785,"line_start":371,"line_end":371,"column_start":1,"column_end":59}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665786,"byte_end":665795,"line_start":372,"line_end":372,"column_start":1,"column_end":10}},{"value":"/ geo8:
","span":{"file_name":"src/format.rs","byte_start":665796,"byte_end":665811,"line_start":373,"line_end":373,"column_start":1,"column_end":16}},{"value":"/ 1 - Multiply by 10000000: (413039210, -819016930)
","span":{"file_name":"src/format.rs","byte_start":665812,"byte_end":665870,"line_start":374,"line_end":374,"column_start":1,"column_end":59}},{"value":"/ 2 - Make i32 (413039210, -819016930)
","span":{"file_name":"src/format.rs","byte_start":665871,"byte_end":665916,"line_start":375,"line_end":375,"column_start":1,"column_end":46}},{"value":"/ 3 - Save/convert as unsigned in big endian format
","span":{"file_name":"src/format.rs","byte_start":665917,"byte_end":665975,"line_start":376,"line_end":376,"column_start":1,"column_end":59}},{"value":"/
","span":{"file_name":"src/format.rs","byte_start":665976,"byte_end":665985,"line_start":377,"line_end":377,"column_start":1,"column_end":10}},{"value":"/ geo16: ....","span":{"file_name":"src/format.rs","byte_start":665986,"byte_end":666001,"line_start":378,"line_end":378,"column_start":1,"column_end":16}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666002,"byte_end":666006,"line_start":379,"line_end":379,"column_start":1,"column_end":5}},{"value":"/ This process is reversed when the client requests the geo data from the buffer.","span":{"file_name":"src/format.rs","byte_start":666007,"byte_end":666090,"line_start":380,"line_end":380,"column_start":1,"column_end":84}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666091,"byte_end":666095,"line_start":381,"line_end":381,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666096,"byte_end":666103,"line_start":382,"line_end":382,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":666104,"byte_end":666138,"line_start":383,"line_end":383,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":666139,"byte_end":666168,"line_start":384,"line_end":384,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/format.rs","byte_start":666169,"byte_end":666208,"line_start":385,"line_end":385,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666209,"byte_end":666213,"line_start":386,"line_end":386,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":666214,"byte_end":666269,"line_start":387,"line_end":387,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\"","span":{"file_name":"src/format.rs","byte_start":666270,"byte_end":666291,"line_start":388,"line_end":388,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":666292,"byte_end":666302,"line_start":389,"line_end":389,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":666303,"byte_end":666306,"line_start":390,"line_end":390,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":666307,"byte_end":666357,"line_start":391,"line_end":391,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Geo::new(8, 41.303921, -81.901693))?;","span":{"file_name":"src/format.rs","byte_start":666358,"byte_end":666422,"line_start":392,"line_end":392,"column_start":1,"column_end":65}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":666423,"byte_end":666528,"line_start":393,"line_end":393,"column_start":1,"column_end":106}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666529,"byte_end":666533,"line_start":394,"line_end":394,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 152, 158, 122, 106, 79, 46, 203, 30]","span":{"file_name":"src/format.rs","byte_start":666534,"byte_end":666597,"line_start":395,"line_end":395,"column_start":1,"column_end":64}},{"value":"/ // [ root ptr, latitude, longitude]","span":{"file_name":"src/format.rs","byte_start":666598,"byte_end":666661,"line_start":396,"line_end":396,"column_start":1,"column_end":64}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":666662,"byte_end":666665,"line_start":397,"line_end":397,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":666666,"byte_end":666695,"line_start":398,"line_end":398,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666696,"byte_end":666703,"line_start":399,"line_end":399,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666704,"byte_end":666708,"line_start":400,"line_end":400,"column_start":1,"column_end":5}},{"value":"/ ### ulid, uuid (Scalar)","span":{"file_name":"src/format.rs","byte_start":666709,"byte_end":666736,"line_start":401,"line_end":401,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666737,"byte_end":666741,"line_start":402,"line_end":402,"column_start":1,"column_end":5}},{"value":"/ Saved as 16 bytes following the respective formats for each data type.","span":{"file_name":"src/format.rs","byte_start":666742,"byte_end":666816,"line_start":403,"line_end":403,"column_start":1,"column_end":75}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666817,"byte_end":666821,"line_start":404,"line_end":404,"column_start":1,"column_end":5}},{"value":"/ ULIDs store the date in the first 6 bytes, then the random bytes in the last 10.","span":{"file_name":"src/format.rs","byte_start":666822,"byte_end":666906,"line_start":405,"line_end":405,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":666907,"byte_end":666911,"line_start":406,"line_end":406,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":666912,"byte_end":666919,"line_start":407,"line_end":407,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":666920,"byte_end":666954,"line_start":408,"line_end":408,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":666955,"byte_end":666984,"line_start":409,"line_end":409,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/format.rs","byte_start":666985,"byte_end":667026,"line_start":410,"line_end":410,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667027,"byte_end":667031,"line_start":411,"line_end":411,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":667032,"byte_end":667087,"line_start":412,"line_end":412,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/format.rs","byte_start":667088,"byte_end":667109,"line_start":413,"line_end":413,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":667110,"byte_end":667120,"line_start":414,"line_end":414,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":667121,"byte_end":667124,"line_start":415,"line_end":415,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":667125,"byte_end":667175,"line_start":416,"line_end":416,"column_start":1,"column_end":51}},{"value":"/ let uuid = NP_UUID::generate(32);","span":{"file_name":"src/format.rs","byte_start":667176,"byte_end":667213,"line_start":417,"line_end":417,"column_start":1,"column_end":38}},{"value":"/ new_buffer.set(&[], &uuid)?;","span":{"file_name":"src/format.rs","byte_start":667214,"byte_end":667246,"line_start":418,"line_end":418,"column_start":1,"column_end":33}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":667247,"byte_end":667389,"line_start":419,"line_end":419,"column_start":1,"column_end":143}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667390,"byte_end":667394,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 202, 230, 170, 176, 127, 103, 66, 13, 89, 65, 221, 4, 153, 160, 117, 252]","span":{"file_name":"src/format.rs","byte_start":667395,"byte_end":667495,"line_start":421,"line_end":421,"column_start":1,"column_end":101}},{"value":"/ // [ root ptr, UUID ]","span":{"file_name":"src/format.rs","byte_start":667496,"byte_end":667596,"line_start":422,"line_end":422,"column_start":1,"column_end":101}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":667597,"byte_end":667600,"line_start":423,"line_end":423,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":667601,"byte_end":667630,"line_start":424,"line_end":424,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":667631,"byte_end":667638,"line_start":425,"line_end":425,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667639,"byte_end":667643,"line_start":426,"line_end":426,"column_start":1,"column_end":5}},{"value":"/ ### bytes, string (Scalar)","span":{"file_name":"src/format.rs","byte_start":667644,"byte_end":667674,"line_start":427,"line_end":427,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667675,"byte_end":667679,"line_start":428,"line_end":428,"column_start":1,"column_end":5}},{"value":"/ If there is a `size` property in the schema, store the provided data and pad the remainder of the space with zeros (for bytes) or 32 (for strings).","span":{"file_name":"src/format.rs","byte_start":667680,"byte_end":667831,"line_start":429,"line_end":429,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667832,"byte_end":667836,"line_start":430,"line_end":430,"column_start":1,"column_end":5}},{"value":"/ If the provided data is too large, truncate it.","span":{"file_name":"src/format.rs","byte_start":667837,"byte_end":667888,"line_start":431,"line_end":431,"column_start":1,"column_end":52}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":667889,"byte_end":667893,"line_start":432,"line_end":432,"column_start":1,"column_end":5}},{"value":"/ For example, if the user provideds a single byte `[22]` and the size is `3`, this should be in the buffer:","span":{"file_name":"src/format.rs","byte_start":667894,"byte_end":668004,"line_start":433,"line_end":433,"column_start":1,"column_end":111}},{"value":"/ ```text","span":{"file_name":"src/format.rs","byte_start":668005,"byte_end":668016,"line_start":434,"line_end":434,"column_start":1,"column_end":12}},{"value":"/ [22, 0, 0]","span":{"file_name":"src/format.rs","byte_start":668017,"byte_end":668031,"line_start":435,"line_end":435,"column_start":1,"column_end":15}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668032,"byte_end":668039,"line_start":436,"line_end":436,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668040,"byte_end":668044,"line_start":437,"line_end":437,"column_start":1,"column_end":5}},{"value":"/ If there is no fixed `size` in the schema, store a size (u32) followed by the actual data.","span":{"file_name":"src/format.rs","byte_start":668045,"byte_end":668139,"line_start":438,"line_end":438,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668140,"byte_end":668144,"line_start":439,"line_end":439,"column_start":1,"column_end":5}},{"value":"/ If it's a string, the data should be utf-8 encoded when it's saved into the buffer and utf-8 decoded when it's retrieved.","span":{"file_name":"src/format.rs","byte_start":668145,"byte_end":668270,"line_start":440,"line_end":440,"column_start":1,"column_end":126}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668271,"byte_end":668275,"line_start":441,"line_end":441,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668276,"byte_end":668283,"line_start":442,"line_end":442,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":668284,"byte_end":668318,"line_start":443,"line_end":443,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":668319,"byte_end":668348,"line_start":444,"line_end":444,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668349,"byte_end":668353,"line_start":445,"line_end":445,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":668354,"byte_end":668409,"line_start":446,"line_end":446,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/format.rs","byte_start":668410,"byte_end":668433,"line_start":447,"line_end":447,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":668434,"byte_end":668444,"line_start":448,"line_end":448,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":668445,"byte_end":668448,"line_start":449,"line_end":449,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":668449,"byte_end":668499,"line_start":450,"line_end":450,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], \"hello, world!\")?;","span":{"file_name":"src/format.rs","byte_start":668500,"byte_end":668542,"line_start":451,"line_end":451,"column_start":1,"column_end":43}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":668543,"byte_end":668686,"line_start":452,"line_end":452,"column_start":1,"column_end":144}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668687,"byte_end":668691,"line_start":453,"line_end":453,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 0, 13, 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]","span":{"file_name":"src/format.rs","byte_start":668692,"byte_end":668795,"line_start":454,"line_end":454,"column_start":1,"column_end":104}},{"value":"/ // [ root ptr, length, h, e, l, l, o, ,, , w, o, r, l, d, !]","span":{"file_name":"src/format.rs","byte_start":668796,"byte_end":668899,"line_start":455,"line_end":455,"column_start":1,"column_end":104}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":668900,"byte_end":668903,"line_start":456,"line_end":456,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":668904,"byte_end":668933,"line_start":457,"line_end":457,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":668934,"byte_end":668941,"line_start":458,"line_end":458,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":668942,"byte_end":668946,"line_start":459,"line_end":459,"column_start":1,"column_end":5}},{"value":"/ ### date (Scalar)","span":{"file_name":"src/format.rs","byte_start":668947,"byte_end":668968,"line_start":460,"line_end":460,"column_start":1,"column_end":22}},{"value":"/ This is stored the same as a uint64 value, should be unix timestamp in milliseconds.","span":{"file_name":"src/format.rs","byte_start":668969,"byte_end":669057,"line_start":461,"line_end":461,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669058,"byte_end":669062,"line_start":462,"line_end":462,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":669063,"byte_end":669070,"line_start":463,"line_end":463,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":669071,"byte_end":669105,"line_start":464,"line_end":464,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":669106,"byte_end":669135,"line_start":465,"line_end":465,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/format.rs","byte_start":669136,"byte_end":669177,"line_start":466,"line_end":466,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669178,"byte_end":669182,"line_start":467,"line_end":467,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":669183,"byte_end":669238,"line_start":468,"line_end":468,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/format.rs","byte_start":669239,"byte_end":669260,"line_start":469,"line_end":469,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":669261,"byte_end":669271,"line_start":470,"line_end":470,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":669272,"byte_end":669275,"line_start":471,"line_end":471,"column_start":1,"column_end":4}},{"value":"/ let mut new_buffer = factory.new_buffer(None);","span":{"file_name":"src/format.rs","byte_start":669276,"byte_end":669326,"line_start":472,"line_end":472,"column_start":1,"column_end":51}},{"value":"/ new_buffer.set(&[], NP_Date::new(1598490738507))?;","span":{"file_name":"src/format.rs","byte_start":669327,"byte_end":669381,"line_start":473,"line_end":473,"column_start":1,"column_end":55}},{"value":"/ assert_eq!(vec![0, 0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75], new_buffer.finish().bytes());","span":{"file_name":"src/format.rs","byte_start":669382,"byte_end":669482,"line_start":474,"line_end":474,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669483,"byte_end":669487,"line_start":475,"line_end":475,"column_start":1,"column_end":5}},{"value":"/ // [0,0, 0, 0, 0, 6, 0, 0, 1, 116, 45, 120, 255, 75]","span":{"file_name":"src/format.rs","byte_start":669488,"byte_end":669546,"line_start":476,"line_end":476,"column_start":1,"column_end":59}},{"value":"/ // [ root ptr, timestamp ]","span":{"file_name":"src/format.rs","byte_start":669547,"byte_end":669605,"line_start":477,"line_end":477,"column_start":1,"column_end":59}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":669606,"byte_end":669609,"line_start":478,"line_end":478,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":669610,"byte_end":669639,"line_start":479,"line_end":479,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":669640,"byte_end":669647,"line_start":480,"line_end":480,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669648,"byte_end":669652,"line_start":481,"line_end":481,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669653,"byte_end":669657,"line_start":482,"line_end":482,"column_start":1,"column_end":5}},{"value":"/ # NoProto Schema Format Documentation","span":{"file_name":"src/format.rs","byte_start":669658,"byte_end":669699,"line_start":483,"line_end":483,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669700,"byte_end":669704,"line_start":484,"line_end":484,"column_start":1,"column_end":5}},{"value":"/ NoProto JSON schemas are compiled into a byte array as part of the parsing process.","span":{"file_name":"src/format.rs","byte_start":669705,"byte_end":669792,"line_start":485,"line_end":485,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":669793,"byte_end":669797,"line_start":486,"line_end":486,"column_start":1,"column_end":5}},{"value":"/ The compiled byte array is a significantly more compact and efficient way to store the schema. It also takes almost no time to parse a byte schema, where parsing a JSON schema can be a comparitively expensive operation.","span":{"file_name":"src/format.rs","byte_start":669798,"byte_end":670022,"line_start":487,"line_end":487,"column_start":1,"column_end":225}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670023,"byte_end":670027,"line_start":488,"line_end":488,"column_start":1,"column_end":5}},{"value":"/ You can use the runtime to parse JSON schemas into byte array schemas at any time, and the JSON/byte array schemas can be used interchangebly.","span":{"file_name":"src/format.rs","byte_start":670028,"byte_end":670174,"line_start":489,"line_end":489,"column_start":1,"column_end":147}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670175,"byte_end":670179,"line_start":490,"line_end":490,"column_start":1,"column_end":5}},{"value":"/ The byte array schema store default values and all other supported schema properties.","span":{"file_name":"src/format.rs","byte_start":670180,"byte_end":670269,"line_start":491,"line_end":491,"column_start":1,"column_end":90}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670270,"byte_end":670274,"line_start":492,"line_end":492,"column_start":1,"column_end":5}},{"value":"/ Schema data is stored in a recursive format, each nested schema contains at least one byte that describes the data type. The single data type byte is usually but not always followed by schema data specific to that data type. The document below describes all of the data types and their specifics.","span":{"file_name":"src/format.rs","byte_start":670275,"byte_end":670577,"line_start":493,"line_end":493,"column_start":1,"column_end":303}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670578,"byte_end":670582,"line_start":494,"line_end":494,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670583,"byte_end":670587,"line_start":495,"line_end":495,"column_start":1,"column_end":5}},{"value":"/ ### int8, int16, int32, int64, uint8, uint16, uint32, uint64, float, double (Scalar)","span":{"file_name":"src/format.rs","byte_start":670588,"byte_end":670676,"line_start":496,"line_end":496,"column_start":1,"column_end":89}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670677,"byte_end":670681,"line_start":497,"line_end":497,"column_start":1,"column_end":5}},{"value":"/ Integer values store the data type followed by wether there is a default value or not, followed optionally by the default value","span":{"file_name":"src/format.rs","byte_start":670682,"byte_end":670813,"line_start":498,"line_end":498,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670814,"byte_end":670818,"line_start":499,"line_end":499,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":670819,"byte_end":670826,"line_start":500,"line_end":500,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":670827,"byte_end":670861,"line_start":501,"line_end":501,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":670862,"byte_end":670891,"line_start":502,"line_end":502,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":670892,"byte_end":670896,"line_start":503,"line_end":503,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":670897,"byte_end":670952,"line_start":504,"line_end":504,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\",","span":{"file_name":"src/format.rs","byte_start":670953,"byte_end":670974,"line_start":505,"line_end":505,"column_start":1,"column_end":22}},{"value":"/ \"default\": 56","span":{"file_name":"src/format.rs","byte_start":670975,"byte_end":670995,"line_start":506,"line_end":506,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":670996,"byte_end":671006,"line_start":507,"line_end":507,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671007,"byte_end":671010,"line_start":508,"line_end":508,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[6, 1, 0, 0, 0, 56], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":671011,"byte_end":671079,"line_start":509,"line_end":509,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671080,"byte_end":671084,"line_start":510,"line_end":510,"column_start":1,"column_end":5}},{"value":"/ // [ 6, 1, 0, 0, 0, 56]","span":{"file_name":"src/format.rs","byte_start":671085,"byte_end":671133,"line_start":511,"line_end":511,"column_start":1,"column_end":49}},{"value":"/ // [i32 type, has default, default value]","span":{"file_name":"src/format.rs","byte_start":671134,"byte_end":671182,"line_start":512,"line_end":512,"column_start":1,"column_end":49}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671183,"byte_end":671187,"line_start":513,"line_end":513,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":671188,"byte_end":671243,"line_start":514,"line_end":514,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"i32\"","span":{"file_name":"src/format.rs","byte_start":671244,"byte_end":671264,"line_start":515,"line_end":515,"column_start":1,"column_end":21}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":671265,"byte_end":671275,"line_start":516,"line_end":516,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671276,"byte_end":671279,"line_start":517,"line_end":517,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[6, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":671280,"byte_end":671335,"line_start":518,"line_end":518,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671336,"byte_end":671340,"line_start":519,"line_end":519,"column_start":1,"column_end":5}},{"value":"/ // [ 6, 0]","span":{"file_name":"src/format.rs","byte_start":671341,"byte_end":671371,"line_start":520,"line_end":520,"column_start":1,"column_end":31}},{"value":"/ // [i32 type, no default]","span":{"file_name":"src/format.rs","byte_start":671372,"byte_end":671402,"line_start":521,"line_end":521,"column_start":1,"column_end":31}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":671403,"byte_end":671406,"line_start":522,"line_end":522,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":671407,"byte_end":671436,"line_start":523,"line_end":523,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":671437,"byte_end":671444,"line_start":524,"line_end":524,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671445,"byte_end":671449,"line_start":525,"line_end":525,"column_start":1,"column_end":5}},{"value":"/ ### option (Scalar)","span":{"file_name":"src/format.rs","byte_start":671450,"byte_end":671473,"line_start":526,"line_end":526,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671474,"byte_end":671478,"line_start":527,"line_end":527,"column_start":1,"column_end":5}},{"value":"/ Option types will store the list of options and the index of the default value, if there is one.","span":{"file_name":"src/format.rs","byte_start":671479,"byte_end":671579,"line_start":528,"line_end":528,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671580,"byte_end":671584,"line_start":529,"line_end":529,"column_start":1,"column_end":5}},{"value":"/ The second byte is `0` if there is no default, otherwise it contains the default index + 1.","span":{"file_name":"src/format.rs","byte_start":671585,"byte_end":671680,"line_start":530,"line_end":530,"column_start":1,"column_end":96}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671681,"byte_end":671685,"line_start":531,"line_end":531,"column_start":1,"column_end":5}},{"value":"/ The third byte contains a `u8` that is the number of options available.","span":{"file_name":"src/format.rs","byte_start":671686,"byte_end":671761,"line_start":532,"line_end":532,"column_start":1,"column_end":76}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671762,"byte_end":671766,"line_start":533,"line_end":533,"column_start":1,"column_end":5}},{"value":"/ The remaining bytes go on a loop for each option, with each loop containing 1 u8 byte at the begining describing the length of the string option, followed by the string value itself.","span":{"file_name":"src/format.rs","byte_start":671767,"byte_end":671953,"line_start":534,"line_end":534,"column_start":1,"column_end":187}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":671954,"byte_end":671958,"line_start":535,"line_end":535,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":671959,"byte_end":671966,"line_start":536,"line_end":536,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":671967,"byte_end":672001,"line_start":537,"line_end":537,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":672002,"byte_end":672031,"line_start":538,"line_end":538,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":672032,"byte_end":672075,"line_start":539,"line_end":539,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672076,"byte_end":672080,"line_start":540,"line_end":540,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":672081,"byte_end":672136,"line_start":541,"line_end":541,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":672137,"byte_end":672161,"line_start":542,"line_end":542,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"],","span":{"file_name":"src/format.rs","byte_start":672162,"byte_end":672206,"line_start":543,"line_end":543,"column_start":1,"column_end":45}},{"value":"/ \"default\": \"red\"","span":{"file_name":"src/format.rs","byte_start":672207,"byte_end":672230,"line_start":544,"line_end":544,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":672231,"byte_end":672241,"line_start":545,"line_end":545,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":672242,"byte_end":672245,"line_start":546,"line_end":546,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":672246,"byte_end":672377,"line_start":547,"line_end":547,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672378,"byte_end":672382,"line_start":548,"line_end":548,"column_start":1,"column_end":5}},{"value":"/ // [ 20, 3, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100]","span":{"file_name":"src/format.rs","byte_start":672383,"byte_end":672513,"line_start":549,"line_end":549,"column_start":1,"column_end":131}},{"value":"/ // [data type, 1 based index of default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] ","span":{"file_name":"src/format.rs","byte_start":672514,"byte_end":672646,"line_start":550,"line_end":550,"column_start":1,"column_end":133}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672647,"byte_end":672651,"line_start":551,"line_end":551,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":672652,"byte_end":672707,"line_start":552,"line_end":552,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"option\",","span":{"file_name":"src/format.rs","byte_start":672708,"byte_end":672732,"line_start":553,"line_end":553,"column_start":1,"column_end":25}},{"value":"/ \"choices\": [\"blue\", \"orange\", \"red\"]","span":{"file_name":"src/format.rs","byte_start":672733,"byte_end":672776,"line_start":554,"line_end":554,"column_start":1,"column_end":44}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":672777,"byte_end":672787,"line_start":555,"line_end":555,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":672788,"byte_end":672791,"line_start":556,"line_end":556,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":672792,"byte_end":672923,"line_start":557,"line_end":557,"column_start":1,"column_end":132}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":672924,"byte_end":672928,"line_start":558,"line_end":558,"column_start":1,"column_end":5}},{"value":"/ // [ 20, 0, 3, 4, 98, 108, 117, 101, 6, 111, 114, 97, 110, 103, 101, 3, 114, 101, 100]","span":{"file_name":"src/format.rs","byte_start":672929,"byte_end":673046,"line_start":559,"line_end":559,"column_start":1,"column_end":118}},{"value":"/ // [data type, no default, # of options, b, l, u, e, o, r, a, n, g, e, r, e, d] ","span":{"file_name":"src/format.rs","byte_start":673047,"byte_end":673166,"line_start":560,"line_end":560,"column_start":1,"column_end":120}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673167,"byte_end":673170,"line_start":561,"line_end":561,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":673171,"byte_end":673200,"line_start":562,"line_end":562,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":673201,"byte_end":673208,"line_start":563,"line_end":563,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673209,"byte_end":673213,"line_start":564,"line_end":564,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673214,"byte_end":673218,"line_start":565,"line_end":565,"column_start":1,"column_end":5}},{"value":"/ ### bool (Scalar)","span":{"file_name":"src/format.rs","byte_start":673219,"byte_end":673240,"line_start":566,"line_end":566,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673241,"byte_end":673245,"line_start":567,"line_end":567,"column_start":1,"column_end":5}},{"value":"/ The second byte of a bool schema is used to store the default value.","span":{"file_name":"src/format.rs","byte_start":673246,"byte_end":673318,"line_start":568,"line_end":568,"column_start":1,"column_end":73}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673319,"byte_end":673323,"line_start":569,"line_end":569,"column_start":1,"column_end":5}},{"value":"/ If there is no default value, the second byte is 0.
","span":{"file_name":"src/format.rs","byte_start":673324,"byte_end":673384,"line_start":570,"line_end":570,"column_start":1,"column_end":61}},{"value":"/ If the default is true, the second byte is 1.
","span":{"file_name":"src/format.rs","byte_start":673385,"byte_end":673439,"line_start":571,"line_end":571,"column_start":1,"column_end":55}},{"value":"/ If the default is false, the second byte is 2.
","span":{"file_name":"src/format.rs","byte_start":673440,"byte_end":673495,"line_start":572,"line_end":572,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673496,"byte_end":673500,"line_start":573,"line_end":573,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":673501,"byte_end":673508,"line_start":574,"line_end":574,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":673509,"byte_end":673543,"line_start":575,"line_end":575,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":673544,"byte_end":673573,"line_start":576,"line_end":576,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::option::NP_Enum;","span":{"file_name":"src/format.rs","byte_start":673574,"byte_end":673617,"line_start":577,"line_end":577,"column_start":1,"column_end":44}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673618,"byte_end":673622,"line_start":578,"line_end":578,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":673623,"byte_end":673678,"line_start":579,"line_end":579,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/format.rs","byte_start":673679,"byte_end":673701,"line_start":580,"line_end":580,"column_start":1,"column_end":23}},{"value":"/ \"default\": true","span":{"file_name":"src/format.rs","byte_start":673702,"byte_end":673724,"line_start":581,"line_end":581,"column_start":1,"column_end":23}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":673725,"byte_end":673735,"line_start":582,"line_end":582,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673736,"byte_end":673739,"line_start":583,"line_end":583,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 1], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":673740,"byte_end":673796,"line_start":584,"line_end":584,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673797,"byte_end":673801,"line_start":585,"line_end":585,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 1]","span":{"file_name":"src/format.rs","byte_start":673802,"byte_end":673837,"line_start":586,"line_end":586,"column_start":1,"column_end":36}},{"value":"/ // [data type, default is true] ","span":{"file_name":"src/format.rs","byte_start":673838,"byte_end":673875,"line_start":587,"line_end":587,"column_start":1,"column_end":38}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":673876,"byte_end":673880,"line_start":588,"line_end":588,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":673881,"byte_end":673936,"line_start":589,"line_end":589,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\",","span":{"file_name":"src/format.rs","byte_start":673937,"byte_end":673959,"line_start":590,"line_end":590,"column_start":1,"column_end":23}},{"value":"/ \"default\": false","span":{"file_name":"src/format.rs","byte_start":673960,"byte_end":673983,"line_start":591,"line_end":591,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":673984,"byte_end":673994,"line_start":592,"line_end":592,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":673995,"byte_end":673998,"line_start":593,"line_end":593,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 2], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":673999,"byte_end":674055,"line_start":594,"line_end":594,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674056,"byte_end":674060,"line_start":595,"line_end":595,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 2]","span":{"file_name":"src/format.rs","byte_start":674061,"byte_end":674097,"line_start":596,"line_end":596,"column_start":1,"column_end":37}},{"value":"/ // [data type, default is false] ","span":{"file_name":"src/format.rs","byte_start":674098,"byte_end":674136,"line_start":597,"line_end":597,"column_start":1,"column_end":39}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674137,"byte_end":674141,"line_start":598,"line_end":598,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674142,"byte_end":674146,"line_start":599,"line_end":599,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":674147,"byte_end":674202,"line_start":600,"line_end":600,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"bool\"","span":{"file_name":"src/format.rs","byte_start":674203,"byte_end":674224,"line_start":601,"line_end":601,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":674225,"byte_end":674235,"line_start":602,"line_end":602,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":674236,"byte_end":674239,"line_start":603,"line_end":603,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[15, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":674240,"byte_end":674296,"line_start":604,"line_end":604,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674297,"byte_end":674301,"line_start":605,"line_end":605,"column_start":1,"column_end":5}},{"value":"/ // [ 15, 0]","span":{"file_name":"src/format.rs","byte_start":674302,"byte_end":674332,"line_start":606,"line_end":606,"column_start":1,"column_end":31}},{"value":"/ // [data type, no default] ","span":{"file_name":"src/format.rs","byte_start":674333,"byte_end":674365,"line_start":607,"line_end":607,"column_start":1,"column_end":33}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674366,"byte_end":674370,"line_start":608,"line_end":608,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":674371,"byte_end":674400,"line_start":609,"line_end":609,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":674401,"byte_end":674408,"line_start":610,"line_end":610,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674409,"byte_end":674413,"line_start":611,"line_end":611,"column_start":1,"column_end":5}},{"value":"/ ### decimal (Scalar)","span":{"file_name":"src/format.rs","byte_start":674414,"byte_end":674438,"line_start":612,"line_end":612,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674439,"byte_end":674443,"line_start":613,"line_end":613,"column_start":1,"column_end":5}},{"value":"/ Decimal stores the expontent in the second byte.","span":{"file_name":"src/format.rs","byte_start":674444,"byte_end":674496,"line_start":614,"line_end":614,"column_start":1,"column_end":53}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674497,"byte_end":674501,"line_start":615,"line_end":615,"column_start":1,"column_end":5}},{"value":"/ The third byte is 0 if there is no default value, otherwise it is 1.","span":{"file_name":"src/format.rs","byte_start":674502,"byte_end":674574,"line_start":616,"line_end":616,"column_start":1,"column_end":73}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674575,"byte_end":674579,"line_start":617,"line_end":617,"column_start":1,"column_end":5}},{"value":"/ If there is a default value, multiply the default value by (10^exp) and convert it into an i64, then save it in the bytes following the default flag byte.","span":{"file_name":"src/format.rs","byte_start":674580,"byte_end":674738,"line_start":618,"line_end":618,"column_start":1,"column_end":159}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674739,"byte_end":674743,"line_start":619,"line_end":619,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":674744,"byte_end":674751,"line_start":620,"line_end":620,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":674752,"byte_end":674786,"line_start":621,"line_end":621,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":674787,"byte_end":674816,"line_start":622,"line_end":622,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::dec::NP_Dec;","span":{"file_name":"src/format.rs","byte_start":674817,"byte_end":674856,"line_start":623,"line_end":623,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":674857,"byte_end":674861,"line_start":624,"line_end":624,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":674862,"byte_end":674917,"line_start":625,"line_end":625,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":674918,"byte_end":674943,"line_start":626,"line_end":626,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2","span":{"file_name":"src/format.rs","byte_start":674944,"byte_end":674959,"line_start":627,"line_end":627,"column_start":1,"column_end":16}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":674960,"byte_end":674970,"line_start":628,"line_end":628,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":674971,"byte_end":674974,"line_start":629,"line_end":629,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[14, 2, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":674975,"byte_end":675034,"line_start":630,"line_end":630,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675035,"byte_end":675039,"line_start":631,"line_end":631,"column_start":1,"column_end":5}},{"value":"/ // [ 14, 2, 0]","span":{"file_name":"src/format.rs","byte_start":675040,"byte_end":675087,"line_start":632,"line_end":632,"column_start":1,"column_end":48}},{"value":"/ // [data type, expontent, no default value]","span":{"file_name":"src/format.rs","byte_start":675088,"byte_end":675135,"line_start":633,"line_end":633,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675136,"byte_end":675140,"line_start":634,"line_end":634,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":675141,"byte_end":675196,"line_start":635,"line_end":635,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"decimal\",","span":{"file_name":"src/format.rs","byte_start":675197,"byte_end":675222,"line_start":636,"line_end":636,"column_start":1,"column_end":26}},{"value":"/ \"exp\": 2,","span":{"file_name":"src/format.rs","byte_start":675223,"byte_end":675239,"line_start":637,"line_end":637,"column_start":1,"column_end":17}},{"value":"/ \"default\": 521.32","span":{"file_name":"src/format.rs","byte_start":675240,"byte_end":675264,"line_start":638,"line_end":638,"column_start":1,"column_end":25}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":675265,"byte_end":675275,"line_start":639,"line_end":639,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":675276,"byte_end":675279,"line_start":640,"line_end":640,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":675280,"byte_end":675367,"line_start":641,"line_end":641,"column_start":1,"column_end":88}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675368,"byte_end":675372,"line_start":642,"line_end":642,"column_start":1,"column_end":5}},{"value":"/ // [ 14, 2, 1, 0, 0, 0, 0, 0, 0, 203, 164]","span":{"file_name":"src/format.rs","byte_start":675373,"byte_end":675449,"line_start":643,"line_end":643,"column_start":1,"column_end":77}},{"value":"/ // [data type, expontent, has default value, default value]","span":{"file_name":"src/format.rs","byte_start":675450,"byte_end":675526,"line_start":644,"line_end":644,"column_start":1,"column_end":77}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":675527,"byte_end":675530,"line_start":645,"line_end":645,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":675531,"byte_end":675560,"line_start":646,"line_end":646,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":675561,"byte_end":675568,"line_start":647,"line_end":647,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675569,"byte_end":675573,"line_start":648,"line_end":648,"column_start":1,"column_end":5}},{"value":"/ ### geo4, geo8, geo16 (Scalar)","span":{"file_name":"src/format.rs","byte_start":675574,"byte_end":675608,"line_start":649,"line_end":649,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675609,"byte_end":675613,"line_start":650,"line_end":650,"column_start":1,"column_end":5}},{"value":"/ Geo stores the size of the data type in the second byte.","span":{"file_name":"src/format.rs","byte_start":675614,"byte_end":675674,"line_start":651,"line_end":651,"column_start":1,"column_end":61}},{"value":"/ The third byte is 0 if there is no default, and 1 if there is a default.","span":{"file_name":"src/format.rs","byte_start":675675,"byte_end":675751,"line_start":652,"line_end":652,"column_start":1,"column_end":77}},{"value":"/ The remaining bytes are the default value (if there is one) parsed in the specific size designated in the second byte.","span":{"file_name":"src/format.rs","byte_start":675752,"byte_end":675874,"line_start":653,"line_end":653,"column_start":1,"column_end":123}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675875,"byte_end":675879,"line_start":654,"line_end":654,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":675880,"byte_end":675887,"line_start":655,"line_end":655,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":675888,"byte_end":675922,"line_start":656,"line_end":656,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":675923,"byte_end":675952,"line_start":657,"line_end":657,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::geo::NP_Geo;","span":{"file_name":"src/format.rs","byte_start":675953,"byte_end":675992,"line_start":658,"line_end":658,"column_start":1,"column_end":40}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":675993,"byte_end":675997,"line_start":659,"line_end":659,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":675998,"byte_end":676053,"line_start":660,"line_end":660,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\"","span":{"file_name":"src/format.rs","byte_start":676054,"byte_end":676075,"line_start":661,"line_end":661,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":676076,"byte_end":676086,"line_start":662,"line_end":662,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676087,"byte_end":676090,"line_start":663,"line_end":663,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[16, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":676091,"byte_end":676150,"line_start":664,"line_end":664,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676151,"byte_end":676155,"line_start":665,"line_end":665,"column_start":1,"column_end":5}},{"value":"/ // [ 16, 8, 0]","span":{"file_name":"src/format.rs","byte_start":676156,"byte_end":676211,"line_start":666,"line_end":666,"column_start":1,"column_end":56}},{"value":"/ // [data type, geo size (4/8/16), no default value]","span":{"file_name":"src/format.rs","byte_start":676212,"byte_end":676267,"line_start":667,"line_end":667,"column_start":1,"column_end":56}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676268,"byte_end":676272,"line_start":668,"line_end":668,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676273,"byte_end":676277,"line_start":669,"line_end":669,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":676278,"byte_end":676333,"line_start":670,"line_end":670,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"geo8\",","span":{"file_name":"src/format.rs","byte_start":676334,"byte_end":676356,"line_start":671,"line_end":671,"column_start":1,"column_end":23}},{"value":"/ \"default\": {\"lat\": 29.2, \"lng\": -19.2}","span":{"file_name":"src/format.rs","byte_start":676357,"byte_end":676402,"line_start":672,"line_end":672,"column_start":1,"column_end":46}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":676403,"byte_end":676413,"line_start":673,"line_end":673,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676414,"byte_end":676417,"line_start":674,"line_end":674,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":676418,"byte_end":676512,"line_start":675,"line_end":675,"column_start":1,"column_end":95}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676513,"byte_end":676517,"line_start":676,"line_end":676,"column_start":1,"column_end":5}},{"value":"/ // [ 16, 8, 1, 145, 103, 145, 0, 116, 142, 80, 0]","span":{"file_name":"src/format.rs","byte_start":676518,"byte_end":676609,"line_start":677,"line_end":677,"column_start":1,"column_end":92}},{"value":"/ // [data type, geo size (4/8/16), has default value, geo8 value (lat/lng) ]","span":{"file_name":"src/format.rs","byte_start":676610,"byte_end":676701,"line_start":678,"line_end":678,"column_start":1,"column_end":92}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":676702,"byte_end":676705,"line_start":679,"line_end":679,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":676706,"byte_end":676735,"line_start":680,"line_end":680,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":676736,"byte_end":676743,"line_start":681,"line_end":681,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676744,"byte_end":676748,"line_start":682,"line_end":682,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676749,"byte_end":676753,"line_start":683,"line_end":683,"column_start":1,"column_end":5}},{"value":"/ ### ulid, uuid (Scalar)","span":{"file_name":"src/format.rs","byte_start":676754,"byte_end":676781,"line_start":684,"line_end":684,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676782,"byte_end":676786,"line_start":685,"line_end":685,"column_start":1,"column_end":5}},{"value":"/ UUID and ULID do not have default options, so this data type is very simple.","span":{"file_name":"src/format.rs","byte_start":676787,"byte_end":676867,"line_start":686,"line_end":686,"column_start":1,"column_end":81}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676868,"byte_end":676872,"line_start":687,"line_end":687,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":676873,"byte_end":676880,"line_start":688,"line_end":688,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":676881,"byte_end":676915,"line_start":689,"line_end":689,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":676916,"byte_end":676945,"line_start":690,"line_end":690,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::uuid::NP_UUID;","span":{"file_name":"src/format.rs","byte_start":676946,"byte_end":676987,"line_start":691,"line_end":691,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":676988,"byte_end":676992,"line_start":692,"line_end":692,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":676993,"byte_end":677048,"line_start":693,"line_end":693,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"uuid\"","span":{"file_name":"src/format.rs","byte_start":677049,"byte_end":677070,"line_start":694,"line_end":694,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":677071,"byte_end":677081,"line_start":695,"line_end":695,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677082,"byte_end":677085,"line_start":696,"line_end":696,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[17], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":677086,"byte_end":677139,"line_start":697,"line_end":697,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677140,"byte_end":677144,"line_start":698,"line_end":698,"column_start":1,"column_end":5}},{"value":"/ // [ 17]","span":{"file_name":"src/format.rs","byte_start":677145,"byte_end":677163,"line_start":699,"line_end":699,"column_start":1,"column_end":19}},{"value":"/ // [data type]","span":{"file_name":"src/format.rs","byte_start":677164,"byte_end":677182,"line_start":700,"line_end":700,"column_start":1,"column_end":19}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677183,"byte_end":677186,"line_start":701,"line_end":701,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":677187,"byte_end":677216,"line_start":702,"line_end":702,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":677217,"byte_end":677224,"line_start":703,"line_end":703,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677225,"byte_end":677229,"line_start":704,"line_end":704,"column_start":1,"column_end":5}},{"value":"/ ### bytes, string (Scalar)","span":{"file_name":"src/format.rs","byte_start":677230,"byte_end":677260,"line_start":705,"line_end":705,"column_start":1,"column_end":31}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677261,"byte_end":677265,"line_start":706,"line_end":706,"column_start":1,"column_end":5}},{"value":"/ The second and third bytes are a u32 of the fixed size. If there is no fixed size, these two bytes are zero.","span":{"file_name":"src/format.rs","byte_start":677266,"byte_end":677379,"line_start":707,"line_end":707,"column_start":1,"column_end":114}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677380,"byte_end":677384,"line_start":708,"line_end":708,"column_start":1,"column_end":5}},{"value":"/ Thhe length of the default value follows as a u32, if there is no default value the u32 is zero. If there is a default value, it follows the length bytes.","span":{"file_name":"src/format.rs","byte_start":677385,"byte_end":677544,"line_start":709,"line_end":709,"column_start":1,"column_end":160}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677545,"byte_end":677549,"line_start":710,"line_end":710,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":677550,"byte_end":677557,"line_start":711,"line_end":711,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":677558,"byte_end":677592,"line_start":712,"line_end":712,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":677593,"byte_end":677622,"line_start":713,"line_end":713,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677623,"byte_end":677627,"line_start":714,"line_end":714,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":677628,"byte_end":677683,"line_start":715,"line_end":715,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\"","span":{"file_name":"src/format.rs","byte_start":677684,"byte_end":677707,"line_start":716,"line_end":716,"column_start":1,"column_end":24}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":677708,"byte_end":677718,"line_start":717,"line_end":717,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677719,"byte_end":677722,"line_start":718,"line_end":718,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":677723,"byte_end":677796,"line_start":719,"line_end":719,"column_start":1,"column_end":74}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":677797,"byte_end":677801,"line_start":720,"line_end":720,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":677802,"byte_end":677881,"line_start":721,"line_end":721,"column_start":1,"column_end":80}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ]","span":{"file_name":"src/format.rs","byte_start":677882,"byte_end":677961,"line_start":722,"line_end":722,"column_start":1,"column_end":80}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":677962,"byte_end":677965,"line_start":723,"line_end":723,"column_start":1,"column_end":4}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":677966,"byte_end":678021,"line_start":724,"line_end":724,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/format.rs","byte_start":678022,"byte_end":678046,"line_start":725,"line_end":725,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20","span":{"file_name":"src/format.rs","byte_start":678047,"byte_end":678064,"line_start":726,"line_end":726,"column_start":1,"column_end":18}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":678065,"byte_end":678075,"line_start":727,"line_end":727,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678076,"byte_end":678079,"line_start":728,"line_end":728,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":678080,"byte_end":678154,"line_start":729,"line_end":729,"column_start":1,"column_end":75}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678155,"byte_end":678159,"line_start":730,"line_end":730,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 20, 0, 0]","span":{"file_name":"src/format.rs","byte_start":678160,"byte_end":678239,"line_start":731,"line_end":731,"column_start":1,"column_end":80}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16) ]","span":{"file_name":"src/format.rs","byte_start":678240,"byte_end":678319,"line_start":732,"line_end":732,"column_start":1,"column_end":80}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678320,"byte_end":678324,"line_start":733,"line_end":733,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":678325,"byte_end":678380,"line_start":734,"line_end":734,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"string\",","span":{"file_name":"src/format.rs","byte_start":678381,"byte_end":678405,"line_start":735,"line_end":735,"column_start":1,"column_end":25}},{"value":"/ \"size\": 20,","span":{"file_name":"src/format.rs","byte_start":678406,"byte_end":678424,"line_start":736,"line_end":736,"column_start":1,"column_end":19}},{"value":"/ \"default\": \"hello\"","span":{"file_name":"src/format.rs","byte_start":678425,"byte_end":678450,"line_start":737,"line_end":737,"column_start":1,"column_end":26}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":678451,"byte_end":678461,"line_start":738,"line_end":738,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678462,"byte_end":678465,"line_start":739,"line_end":739,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":678466,"byte_end":678565,"line_start":740,"line_end":740,"column_start":1,"column_end":100}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678566,"byte_end":678570,"line_start":741,"line_end":741,"column_start":1,"column_end":5}},{"value":"/ // [ 2, 0, 0, 0, 0, 20, 0, 6, 104, 101, 108, 108, 111]","span":{"file_name":"src/format.rs","byte_start":678571,"byte_end":678675,"line_start":742,"line_end":742,"column_start":1,"column_end":105}},{"value":"/ // [data type, uppercase/lowercase, fixed size (u32), default size (u16), h, e, l, l, o]","span":{"file_name":"src/format.rs","byte_start":678676,"byte_end":678780,"line_start":743,"line_end":743,"column_start":1,"column_end":105}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":678781,"byte_end":678784,"line_start":744,"line_end":744,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":678785,"byte_end":678814,"line_start":745,"line_end":745,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":678815,"byte_end":678822,"line_start":746,"line_end":746,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678823,"byte_end":678827,"line_start":747,"line_end":747,"column_start":1,"column_end":5}},{"value":"/ ### date (Scalar)","span":{"file_name":"src/format.rs","byte_start":678828,"byte_end":678849,"line_start":748,"line_end":748,"column_start":1,"column_end":22}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678850,"byte_end":678854,"line_start":749,"line_end":749,"column_start":1,"column_end":5}},{"value":"/ The second byte is a 1 if there is a default value, 0 otherwise.","span":{"file_name":"src/format.rs","byte_start":678855,"byte_end":678923,"line_start":750,"line_end":750,"column_start":1,"column_end":69}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678924,"byte_end":678928,"line_start":751,"line_end":751,"column_start":1,"column_end":5}},{"value":"/ If there is a default value it follows the second byte.","span":{"file_name":"src/format.rs","byte_start":678929,"byte_end":678988,"line_start":752,"line_end":752,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":678989,"byte_end":678993,"line_start":753,"line_end":753,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":678994,"byte_end":679001,"line_start":754,"line_end":754,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":679002,"byte_end":679036,"line_start":755,"line_end":755,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":679037,"byte_end":679066,"line_start":756,"line_end":756,"column_start":1,"column_end":30}},{"value":"/ use no_proto::pointer::date::NP_Date;","span":{"file_name":"src/format.rs","byte_start":679067,"byte_end":679108,"line_start":757,"line_end":757,"column_start":1,"column_end":42}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679109,"byte_end":679113,"line_start":758,"line_end":758,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":679114,"byte_end":679169,"line_start":759,"line_end":759,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\"","span":{"file_name":"src/format.rs","byte_start":679170,"byte_end":679191,"line_start":760,"line_end":760,"column_start":1,"column_end":22}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":679192,"byte_end":679202,"line_start":761,"line_end":761,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679203,"byte_end":679206,"line_start":762,"line_end":762,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[19, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":679207,"byte_end":679263,"line_start":763,"line_end":763,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679264,"byte_end":679268,"line_start":764,"line_end":764,"column_start":1,"column_end":5}},{"value":"/ // [ 19, 0]","span":{"file_name":"src/format.rs","byte_start":679269,"byte_end":679302,"line_start":765,"line_end":765,"column_start":1,"column_end":34}},{"value":"/ // [data type, default flag ]","span":{"file_name":"src/format.rs","byte_start":679303,"byte_end":679336,"line_start":766,"line_end":766,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679337,"byte_end":679341,"line_start":767,"line_end":767,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":679342,"byte_end":679397,"line_start":768,"line_end":768,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"date\",","span":{"file_name":"src/format.rs","byte_start":679398,"byte_end":679420,"line_start":769,"line_end":769,"column_start":1,"column_end":23}},{"value":"/ \"default\": 1604862252","span":{"file_name":"src/format.rs","byte_start":679421,"byte_end":679449,"line_start":770,"line_end":770,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":679450,"byte_end":679460,"line_start":771,"line_end":771,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679461,"byte_end":679464,"line_start":772,"line_end":772,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[19, 1, 0, 0, 0, 0, 95, 168, 65, 44], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":679465,"byte_end":679550,"line_start":773,"line_end":773,"column_start":1,"column_end":86}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679551,"byte_end":679555,"line_start":774,"line_end":774,"column_start":1,"column_end":5}},{"value":"/ // [ 19, 1, 0, 0, 0, 0, 95, 168, 65, 44]","span":{"file_name":"src/format.rs","byte_start":679556,"byte_end":679617,"line_start":775,"line_end":775,"column_start":1,"column_end":62}},{"value":"/ // [data type, default flag, default value ]","span":{"file_name":"src/format.rs","byte_start":679618,"byte_end":679679,"line_start":776,"line_end":776,"column_start":1,"column_end":62}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":679680,"byte_end":679683,"line_start":777,"line_end":777,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":679684,"byte_end":679713,"line_start":778,"line_end":778,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":679714,"byte_end":679721,"line_start":779,"line_end":779,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679722,"byte_end":679726,"line_start":780,"line_end":780,"column_start":1,"column_end":5}},{"value":"/ ## Collection Schemas","span":{"file_name":"src/format.rs","byte_start":679727,"byte_end":679752,"line_start":781,"line_end":781,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679753,"byte_end":679757,"line_start":782,"line_end":782,"column_start":1,"column_end":5}},{"value":"/ Collection based schemas nest schemas in a way that allows any type to be the child of any collection, including other collections.","span":{"file_name":"src/format.rs","byte_start":679758,"byte_end":679893,"line_start":783,"line_end":783,"column_start":1,"column_end":136}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679894,"byte_end":679898,"line_start":784,"line_end":784,"column_start":1,"column_end":5}},{"value":"/ ### Struct (collection)","span":{"file_name":"src/format.rs","byte_start":679899,"byte_end":679926,"line_start":785,"line_end":785,"column_start":1,"column_end":28}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":679927,"byte_end":679931,"line_start":786,"line_end":786,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":679932,"byte_end":679939,"line_start":787,"line_end":787,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":679940,"byte_end":679974,"line_start":788,"line_end":788,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":679975,"byte_end":680004,"line_start":789,"line_end":789,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680005,"byte_end":680009,"line_start":790,"line_end":790,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":680010,"byte_end":680065,"line_start":791,"line_end":791,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"struct\",","span":{"file_name":"src/format.rs","byte_start":680066,"byte_end":680091,"line_start":792,"line_end":792,"column_start":1,"column_end":26}},{"value":"/ \"fields\": [","span":{"file_name":"src/format.rs","byte_start":680092,"byte_end":680111,"line_start":793,"line_end":793,"column_start":1,"column_end":20}},{"value":"/ [\"age\", {\"type\": \"u8\"}],","span":{"file_name":"src/format.rs","byte_start":680112,"byte_end":680149,"line_start":794,"line_end":794,"column_start":1,"column_end":38}},{"value":"/ [\"name\", {\"type\": \"string\"}]","span":{"file_name":"src/format.rs","byte_start":680150,"byte_end":680190,"line_start":795,"line_end":795,"column_start":1,"column_end":41}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":680191,"byte_end":680200,"line_start":796,"line_end":796,"column_start":1,"column_end":10}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":680201,"byte_end":680211,"line_start":797,"line_end":797,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680212,"byte_end":680215,"line_start":798,"line_end":798,"column_start":1,"column_end":4}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680216,"byte_end":680219,"line_start":799,"line_end":799,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":680220,"byte_end":680357,"line_start":800,"line_end":800,"column_start":1,"column_end":138}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680358,"byte_end":680362,"line_start":801,"line_end":801,"column_start":1,"column_end":5}},{"value":"/ // [21, 2, 3, 97, 103, 101, 0, 2, 8, 0, 4, 110, 97, 109, 101, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":680363,"byte_end":680458,"line_start":802,"line_end":802,"column_start":1,"column_end":96}},{"value":"/ // [data type, # of fields, a, g, e, field schema size (u32), field schema, n, a, m, e, field schema size (u32), field schema ]","span":{"file_name":"src/format.rs","byte_start":680459,"byte_end":680619,"line_start":803,"line_end":803,"column_start":1,"column_end":161}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680620,"byte_end":680623,"line_start":804,"line_end":804,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":680624,"byte_end":680653,"line_start":805,"line_end":805,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":680654,"byte_end":680661,"line_start":806,"line_end":806,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680662,"byte_end":680666,"line_start":807,"line_end":807,"column_start":1,"column_end":5}},{"value":"/ ### List (Collection)","span":{"file_name":"src/format.rs","byte_start":680667,"byte_end":680692,"line_start":808,"line_end":808,"column_start":1,"column_end":26}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680693,"byte_end":680697,"line_start":809,"line_end":809,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":680698,"byte_end":680705,"line_start":810,"line_end":810,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":680706,"byte_end":680740,"line_start":811,"line_end":811,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":680741,"byte_end":680770,"line_start":812,"line_end":812,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680771,"byte_end":680775,"line_start":813,"line_end":813,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":680776,"byte_end":680831,"line_start":814,"line_end":814,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"list\",","span":{"file_name":"src/format.rs","byte_start":680832,"byte_end":680855,"line_start":815,"line_end":815,"column_start":1,"column_end":24}},{"value":"/ \"of\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":680856,"byte_end":680884,"line_start":816,"line_end":816,"column_start":1,"column_end":29}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":680885,"byte_end":680895,"line_start":817,"line_end":817,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":680896,"byte_end":680899,"line_start":818,"line_end":818,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[23, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":680900,"byte_end":680959,"line_start":819,"line_end":819,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":680960,"byte_end":680964,"line_start":820,"line_end":820,"column_start":1,"column_end":5}},{"value":"/ // [ 23, 8, 0]","span":{"file_name":"src/format.rs","byte_start":680965,"byte_end":680996,"line_start":821,"line_end":821,"column_start":1,"column_end":32}},{"value":"/ // [data type, \"of\" schema]","span":{"file_name":"src/format.rs","byte_start":680997,"byte_end":681028,"line_start":822,"line_end":822,"column_start":1,"column_end":32}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681029,"byte_end":681032,"line_start":823,"line_end":823,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":681033,"byte_end":681062,"line_start":824,"line_end":824,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681063,"byte_end":681070,"line_start":825,"line_end":825,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681071,"byte_end":681075,"line_start":826,"line_end":826,"column_start":1,"column_end":5}},{"value":"/ ### Map (Collection)","span":{"file_name":"src/format.rs","byte_start":681076,"byte_end":681100,"line_start":827,"line_end":827,"column_start":1,"column_end":25}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681101,"byte_end":681105,"line_start":828,"line_end":828,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681106,"byte_end":681113,"line_start":829,"line_end":829,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":681114,"byte_end":681148,"line_start":830,"line_end":830,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":681149,"byte_end":681178,"line_start":831,"line_end":831,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681179,"byte_end":681183,"line_start":832,"line_end":832,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":681184,"byte_end":681239,"line_start":833,"line_end":833,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"map\",","span":{"file_name":"src/format.rs","byte_start":681240,"byte_end":681262,"line_start":834,"line_end":834,"column_start":1,"column_end":23}},{"value":"/ \"value\": {\"type\": \"u8\"}","span":{"file_name":"src/format.rs","byte_start":681263,"byte_end":681294,"line_start":835,"line_end":835,"column_start":1,"column_end":32}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":681295,"byte_end":681305,"line_start":836,"line_end":836,"column_start":1,"column_end":11}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681306,"byte_end":681310,"line_start":837,"line_end":837,"column_start":1,"column_end":5}},{"value":"/ assert_eq!(&[22, 8, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":681311,"byte_end":681370,"line_start":838,"line_end":838,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681371,"byte_end":681375,"line_start":839,"line_end":839,"column_start":1,"column_end":5}},{"value":"/ // [ 22, 8, 0]","span":{"file_name":"src/format.rs","byte_start":681376,"byte_end":681408,"line_start":840,"line_end":840,"column_start":1,"column_end":33}},{"value":"/ // [data type, value schema]","span":{"file_name":"src/format.rs","byte_start":681409,"byte_end":681441,"line_start":841,"line_end":841,"column_start":1,"column_end":33}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681442,"byte_end":681445,"line_start":842,"line_end":842,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":681446,"byte_end":681475,"line_start":843,"line_end":843,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681476,"byte_end":681483,"line_start":844,"line_end":844,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681484,"byte_end":681488,"line_start":845,"line_end":845,"column_start":1,"column_end":5}},{"value":"/ ### Tuple (Collection)","span":{"file_name":"src/format.rs","byte_start":681489,"byte_end":681515,"line_start":846,"line_end":846,"column_start":1,"column_end":27}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681516,"byte_end":681520,"line_start":847,"line_end":847,"column_start":1,"column_end":5}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":681521,"byte_end":681528,"line_start":848,"line_end":848,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/format.rs","byte_start":681529,"byte_end":681563,"line_start":849,"line_end":849,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/format.rs","byte_start":681564,"byte_end":681593,"line_start":850,"line_end":850,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681594,"byte_end":681598,"line_start":851,"line_end":851,"column_start":1,"column_end":5}},{"value":"/ let factory: NP_Factory = NP_Factory::new_json(r#\"{","span":{"file_name":"src/format.rs","byte_start":681599,"byte_end":681654,"line_start":852,"line_end":852,"column_start":1,"column_end":56}},{"value":"/ \"type\": \"tuple\",","span":{"file_name":"src/format.rs","byte_start":681655,"byte_end":681678,"line_start":853,"line_end":853,"column_start":1,"column_end":24}},{"value":"/ \"values\": [","span":{"file_name":"src/format.rs","byte_start":681679,"byte_end":681697,"line_start":854,"line_end":854,"column_start":1,"column_end":19}},{"value":"/ {\"type\": \"u8\"},","span":{"file_name":"src/format.rs","byte_start":681698,"byte_end":681724,"line_start":855,"line_end":855,"column_start":1,"column_end":27}},{"value":"/ {\"type\": \"string\"}","span":{"file_name":"src/format.rs","byte_start":681725,"byte_end":681754,"line_start":856,"line_end":856,"column_start":1,"column_end":30}},{"value":"/ ]","span":{"file_name":"src/format.rs","byte_start":681755,"byte_end":681763,"line_start":857,"line_end":857,"column_start":1,"column_end":9}},{"value":"/ }\"#)?;","span":{"file_name":"src/format.rs","byte_start":681764,"byte_end":681774,"line_start":858,"line_end":858,"column_start":1,"column_end":11}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":681775,"byte_end":681778,"line_start":859,"line_end":859,"column_start":1,"column_end":4}},{"value":"/ assert_eq!(&[24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], factory.export_schema_bytes());","span":{"file_name":"src/format.rs","byte_start":681779,"byte_end":681880,"line_start":860,"line_end":860,"column_start":1,"column_end":102}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":681881,"byte_end":681885,"line_start":861,"line_end":861,"column_start":1,"column_end":5}},{"value":"/ // [ 24, 0, 2, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0]","span":{"file_name":"src/format.rs","byte_start":681886,"byte_end":681998,"line_start":862,"line_end":862,"column_start":1,"column_end":113}},{"value":"/ // [data type, sorted, length (u8), schema size (u16), schema, schema size (u16), schema ]","span":{"file_name":"src/format.rs","byte_start":681999,"byte_end":682111,"line_start":863,"line_end":863,"column_start":1,"column_end":113}},{"value":"/","span":{"file_name":"src/format.rs","byte_start":682112,"byte_end":682115,"line_start":864,"line_end":864,"column_start":1,"column_end":4}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/format.rs","byte_start":682116,"byte_end":682145,"line_start":865,"line_end":865,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/format.rs","byte_start":682146,"byte_end":682153,"line_start":866,"line_end":866,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682154,"byte_end":682158,"line_start":867,"line_end":867,"column_start":1,"column_end":5}},{"value":"/ ### Portal (Collection/Scalar)","span":{"file_name":"src/format.rs","byte_start":682159,"byte_end":682193,"line_start":868,"line_end":868,"column_start":1,"column_end":35}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682194,"byte_end":682198,"line_start":869,"line_end":869,"column_start":1,"column_end":5}},{"value":"/ ### Union (Collection/Scalar)","span":{"file_name":"src/format.rs","byte_start":682199,"byte_end":682232,"line_start":870,"line_end":870,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682233,"byte_end":682237,"line_start":871,"line_end":871,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/format.rs","byte_start":682238,"byte_end":682242,"line_start":872,"line_end":872,"column_start":1,"column_end":5}}]},{"kind":"Mod","id":{"krate":0,"index":2591},"span":{"file_name":"src/memory.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"memory","qualname":"::memory","value":"src/memory.rs","parent":null,"children":[{"krate":0,"index":2592},{"krate":0,"index":2593},{"krate":0,"index":2596},{"krate":0,"index":2597},{"krate":0,"index":2600},{"krate":0,"index":2603},{"krate":0,"index":4112},{"krate":0,"index":4120},{"krate":0,"index":4121},{"krate":0,"index":4124},{"krate":0,"index":4126},{"krate":0,"index":4132},{"krate":0,"index":2606},{"krate":0,"index":2607},{"krate":0,"index":2609}],"decl_id":null,"docs":" Internal buffer memory management\n","sig":null,"attributes":[{"value":"/ Internal buffer memory management","span":{"file_name":"src/memory.rs","byte_start":682243,"byte_end":682280,"line_start":1,"line_end":1,"column_start":1,"column_end":38}}]},{"kind":"StructVariant","id":{"krate":0,"index":4113},"span":{"file_name":"src/memory.rs","byte_start":682474,"byte_end":682479,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"name":"Owned","qualname":"::memory::NP_Memory_Kind::Owned","value":"NP_Memory_Kind::Owned { vec }","parent":{"krate":0,"index":4112},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4114},"span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"name":"vec","qualname":"::memory::NP_Memory_Kind::Owned::vec","value":"std::vec::Vec","parent":{"krate":0,"index":4113},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4115},"span":{"file_name":"src/memory.rs","byte_start":682502,"byte_end":682505,"line_start":12,"line_end":12,"column_start":5,"column_end":8},"name":"Ref","qualname":"::memory::NP_Memory_Kind::Ref","value":"NP_Memory_Kind::Ref { vec }","parent":{"krate":0,"index":4112},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4116},"span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"name":"vec","qualname":"::memory::NP_Memory_Kind::Ref::vec","value":"*const [u8]","parent":{"krate":0,"index":4115},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4117},"span":{"file_name":"src/memory.rs","byte_start":682532,"byte_end":682538,"line_start":13,"line_end":13,"column_start":5,"column_end":11},"name":"RefMut","qualname":"::memory::NP_Memory_Kind::RefMut","value":"NP_Memory_Kind::RefMut { vec, len }","parent":{"krate":0,"index":4112},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4118},"span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"name":"vec","qualname":"::memory::NP_Memory_Kind::RefMut::vec","value":"*mut [u8]","parent":{"krate":0,"index":4117},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4119},"span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"name":"len","qualname":"::memory::NP_Memory_Kind::RefMut::len","value":"usize","parent":{"krate":0,"index":4117},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":4112},"span":{"file_name":"src/memory.rs","byte_start":682453,"byte_end":682467,"line_start":10,"line_end":10,"column_start":10,"column_end":24},"name":"NP_Memory_Kind","qualname":"::memory::NP_Memory_Kind","value":"pub enum NP_Memory_Kind {\n Owned {\n vec: Vec,\n },\n Ref {\n vec: *const [u8],\n },\n RefMut {\n vec: *mut [u8],\n len: usize,\n },\n}","parent":null,"children":[{"krate":0,"index":4113},{"krate":0,"index":4115},{"krate":0,"index":4117}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4126},"span":{"file_name":"src/memory.rs","byte_start":682618,"byte_end":682627,"line_start":20,"line_end":20,"column_start":12,"column_end":21},"name":"NP_Memory","qualname":"::memory::NP_Memory","value":"NP_Memory { bytes, root, schema, max_size, is_mutable }","parent":null,"children":[{"krate":0,"index":4127},{"krate":0,"index":4128},{"krate":0,"index":4129},{"krate":0,"index":4130},{"krate":0,"index":4131}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4127},"span":{"file_name":"src/memory.rs","byte_start":682634,"byte_end":682639,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"name":"bytes","qualname":"::memory::NP_Memory::bytes","value":"core::cell::UnsafeCell","parent":{"krate":0,"index":4126},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4128},"span":{"file_name":"src/memory.rs","byte_start":682677,"byte_end":682681,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"name":"root","qualname":"::memory::NP_Memory::root","value":"usize","parent":{"krate":0,"index":4126},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4129},"span":{"file_name":"src/memory.rs","byte_start":682698,"byte_end":682704,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"name":"schema","qualname":"::memory::NP_Memory::schema","value":"*const std::vec::Vec","parent":{"krate":0,"index":4126},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4130},"span":{"file_name":"src/memory.rs","byte_start":682744,"byte_end":682752,"line_start":24,"line_end":24,"column_start":9,"column_end":17},"name":"max_size","qualname":"::memory::NP_Memory::max_size","value":"usize","parent":{"krate":0,"index":4126},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4131},"span":{"file_name":"src/memory.rs","byte_start":682769,"byte_end":682779,"line_start":25,"line_end":25,"column_start":9,"column_end":19},"name":"is_mutable","qualname":"::memory::NP_Memory::is_mutable","value":"bool","parent":{"krate":0,"index":4126},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744432},"span":{"file_name":"src/memory.rs","byte_start":682866,"byte_end":682870,"line_start":31,"line_end":31,"column_start":15,"column_end":19},"name":"self","qualname":"::clone::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2608},"span":{"file_name":"src/memory.rs","byte_start":682859,"byte_end":682864,"line_start":31,"line_end":31,"column_start":8,"column_end":13},"name":"clone","qualname":"::clone","value":"fn clone(&Self) -> Self","parent":{"krate":1,"index":2645},"children":[],"decl_id":{"krate":1,"index":2646},"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744434},"span":{"file_name":"src/memory.rs","byte_start":683228,"byte_end":683233,"line_start":46,"line_end":46,"column_start":27,"column_end":32},"name":"bytes","qualname":"::existing_owned::bytes","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873522},"span":{"file_name":"src/memory.rs","byte_start":683244,"byte_end":683250,"line_start":46,"line_end":46,"column_start":43,"column_end":49},"name":"schema","qualname":"::existing_owned::schema","value":"*const std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615346},"span":{"file_name":"src/memory.rs","byte_start":683282,"byte_end":683286,"line_start":46,"line_end":46,"column_start":81,"column_end":85},"name":"root","qualname":"::existing_owned::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2610},"span":{"file_name":"src/memory.rs","byte_start":683213,"byte_end":683227,"line_start":46,"line_end":46,"column_start":12,"column_end":26},"name":"existing_owned","qualname":"::existing_owned","value":"pub fn existing_owned(Vec, *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683184,"byte_end":683201,"line_start":45,"line_end":45,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744435},"span":{"file_name":"src/memory.rs","byte_start":683574,"byte_end":683579,"line_start":58,"line_end":58,"column_start":25,"column_end":30},"name":"bytes","qualname":"::existing_ref::bytes","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873523},"span":{"file_name":"src/memory.rs","byte_start":683594,"byte_end":683600,"line_start":58,"line_end":58,"column_start":45,"column_end":51},"name":"schema","qualname":"::existing_ref::schema","value":"*const std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615347},"span":{"file_name":"src/memory.rs","byte_start":683632,"byte_end":683636,"line_start":58,"line_end":58,"column_start":83,"column_end":87},"name":"root","qualname":"::existing_ref::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2611},"span":{"file_name":"src/memory.rs","byte_start":683561,"byte_end":683573,"line_start":58,"line_end":58,"column_start":12,"column_end":24},"name":"existing_ref","qualname":"::existing_ref","value":"pub fn existing_ref(*const [u8], *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683532,"byte_end":683549,"line_start":57,"line_end":57,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744436},"span":{"file_name":"src/memory.rs","byte_start":683911,"byte_end":683916,"line_start":70,"line_end":70,"column_start":29,"column_end":34},"name":"bytes","qualname":"::existing_ref_mut::bytes","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873524},"span":{"file_name":"src/memory.rs","byte_start":683929,"byte_end":683932,"line_start":70,"line_end":70,"column_start":47,"column_end":50},"name":"len","qualname":"::existing_ref_mut::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615348},"span":{"file_name":"src/memory.rs","byte_start":683941,"byte_end":683947,"line_start":70,"line_end":70,"column_start":59,"column_end":65},"name":"schema","qualname":"::existing_ref_mut::schema","value":"*const std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438068},"span":{"file_name":"src/memory.rs","byte_start":683979,"byte_end":683983,"line_start":70,"line_end":70,"column_start":97,"column_end":101},"name":"root","qualname":"::existing_ref_mut::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2612},"span":{"file_name":"src/memory.rs","byte_start":683894,"byte_end":683910,"line_start":70,"line_end":70,"column_start":12,"column_end":28},"name":"existing_ref_mut","qualname":"::existing_ref_mut","value":"pub fn existing_ref_mut(*mut [u8], usize, *const Vec, usize)\n-> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":683865,"byte_end":683882,"line_start":69,"line_end":69,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744437},"span":{"file_name":"src/memory.rs","byte_start":684290,"byte_end":684298,"line_start":82,"line_end":82,"column_start":16,"column_end":24},"name":"capacity","qualname":"::new::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873525},"span":{"file_name":"src/memory.rs","byte_start":684315,"byte_end":684321,"line_start":82,"line_end":82,"column_start":41,"column_end":47},"name":"schema","qualname":"::new::schema","value":"*const std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615349},"span":{"file_name":"src/memory.rs","byte_start":684353,"byte_end":684357,"line_start":82,"line_end":82,"column_start":79,"column_end":83},"name":"root","qualname":"::new::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2613},"span":{"file_name":"src/memory.rs","byte_start":684286,"byte_end":684289,"line_start":82,"line_end":82,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(Option, *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":684257,"byte_end":684274,"line_start":81,"line_end":81,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":2818574901},"span":{"file_name":"src/memory.rs","byte_start":684388,"byte_end":684396,"line_start":83,"line_end":83,"column_start":13,"column_end":21},"name":"use_size","qualname":"use_size$HirId { owner: DefId(0:2613 ~ no_proto[7dec]::memory::{impl#2}::new), local_id: 21 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489663541},"span":{"file_name":"src/memory.rs","byte_start":684433,"byte_end":684434,"line_start":84,"line_end":84,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2613 ~ no_proto[7dec]::memory::{impl#2}::new), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752181},"span":{"file_name":"src/memory.rs","byte_start":684495,"byte_end":684504,"line_start":88,"line_end":88,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2613 ~ no_proto[7dec]::memory::{impl#2}::new), local_id: 31 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744439},"span":{"file_name":"src/memory.rs","byte_start":684888,"byte_end":684893,"line_start":103,"line_end":103,"column_start":24,"column_end":29},"name":"bytes","qualname":"::new_ref_mut::bytes","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873527},"span":{"file_name":"src/memory.rs","byte_start":684906,"byte_end":684912,"line_start":103,"line_end":103,"column_start":42,"column_end":48},"name":"schema","qualname":"::new_ref_mut::schema","value":"*const std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615351},"span":{"file_name":"src/memory.rs","byte_start":684944,"byte_end":684948,"line_start":103,"line_end":103,"column_start":80,"column_end":84},"name":"root","qualname":"::new_ref_mut::root","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2615},"span":{"file_name":"src/memory.rs","byte_start":684876,"byte_end":684887,"line_start":103,"line_end":103,"column_start":12,"column_end":23},"name":"new_ref_mut","qualname":"::new_ref_mut","value":"pub fn new_ref_mut(*mut [u8], *const Vec, usize) -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":684847,"byte_end":684864,"line_start":102,"line_end":102,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744440},"span":{"file_name":"src/memory.rs","byte_start":685221,"byte_end":685225,"line_start":114,"line_end":114,"column_start":23,"column_end":27},"name":"self","qualname":"::new_empty::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873528},"span":{"file_name":"src/memory.rs","byte_start":685227,"byte_end":685235,"line_start":114,"line_end":114,"column_start":29,"column_end":37},"name":"capacity","qualname":"::new_empty::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2616},"span":{"file_name":"src/memory.rs","byte_start":685210,"byte_end":685219,"line_start":114,"line_end":114,"column_start":12,"column_end":21},"name":"new_empty","qualname":"::new_empty","value":"pub fn new_empty(&Self, Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445816},"span":{"file_name":"src/memory.rs","byte_start":685292,"byte_end":685300,"line_start":115,"line_end":115,"column_start":13,"column_end":21},"name":"use_size","qualname":"use_size$HirId { owner: DefId(0:2616 ~ no_proto[7dec]::memory::{impl#2}::new_empty), local_id: 19 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415921720},"span":{"file_name":"src/memory.rs","byte_start":685337,"byte_end":685338,"line_start":116,"line_end":116,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2616 ~ no_proto[7dec]::memory::{impl#2}::new_empty), local_id: 9 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087010360},"span":{"file_name":"src/memory.rs","byte_start":685399,"byte_end":685408,"line_start":120,"line_end":120,"column_start":17,"column_end":26},"name":"new_bytes","qualname":"new_bytes$HirId { owner: DefId(0:2616 ~ no_proto[7dec]::memory::{impl#2}::new_empty), local_id: 29 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744442},"span":{"file_name":"src/memory.rs","byte_start":685790,"byte_end":685794,"line_start":134,"line_end":134,"column_start":24,"column_end":28},"name":"self","qualname":"::is_ref_mut::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2618},"span":{"file_name":"src/memory.rs","byte_start":685778,"byte_end":685788,"line_start":134,"line_end":134,"column_start":12,"column_end":22},"name":"is_ref_mut","qualname":"::is_ref_mut","value":"pub fn is_ref_mut(&Self) -> bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1879050810},"span":{"file_name":"src/memory.rs","byte_start":685818,"byte_end":685828,"line_start":135,"line_end":135,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2618 ~ no_proto[7dec]::memory::{impl#2}::is_ref_mut), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744443},"span":{"file_name":"src/memory.rs","byte_start":686008,"byte_end":686012,"line_start":143,"line_end":143,"column_start":28,"column_end":32},"name":"self","qualname":"::set_length::self","value":"&mut memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873531},"span":{"file_name":"src/memory.rs","byte_start":686014,"byte_end":686021,"line_start":143,"line_end":143,"column_start":34,"column_end":41},"name":"new_len","qualname":"::set_length::new_len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2619},"span":{"file_name":"src/memory.rs","byte_start":685992,"byte_end":686002,"line_start":143,"line_end":143,"column_start":12,"column_end":22},"name":"set_length","qualname":"::set_length","value":"pub fn set_length(&mut Self, usize) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220347},"span":{"file_name":"src/memory.rs","byte_start":686069,"byte_end":686079,"line_start":145,"line_end":145,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2619 ~ no_proto[7dec]::memory::{impl#2}::set_length), local_id: 16 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159675},"span":{"file_name":"src/memory.rs","byte_start":686438,"byte_end":686441,"line_start":156,"line_end":156,"column_start":38,"column_end":41},"name":"len","qualname":"len$HirId { owner: DefId(0:2619 ~ no_proto[7dec]::memory::{impl#2}::set_length), local_id: 46 }","value":"&mut usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744444},"span":{"file_name":"src/memory.rs","byte_start":686580,"byte_end":686584,"line_start":165,"line_end":165,"column_start":32,"column_end":36},"name":"self","qualname":"::set_max_length::self","value":"&mut memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873532},"span":{"file_name":"src/memory.rs","byte_start":686586,"byte_end":686589,"line_start":165,"line_end":165,"column_start":38,"column_end":41},"name":"len","qualname":"::set_max_length::len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2620},"span":{"file_name":"src/memory.rs","byte_start":686560,"byte_end":686574,"line_start":165,"line_end":165,"column_start":12,"column_end":26},"name":"set_max_length","qualname":"::set_max_length","value":"pub fn set_max_length(&mut Self, usize)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220348},"span":{"file_name":"src/memory.rs","byte_start":686613,"byte_end":686623,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2620 ~ no_proto[7dec]::memory::{impl#2}::set_max_length), local_id: 16 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744445},"span":{"file_name":"src/memory.rs","byte_start":687093,"byte_end":687097,"line_start":183,"line_end":183,"column_start":20,"column_end":24},"name":"self","qualname":"::length::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2621},"span":{"file_name":"src/memory.rs","byte_start":687085,"byte_end":687091,"line_start":183,"line_end":183,"column_start":12,"column_end":18},"name":"length","qualname":"::length","value":"pub fn length(&Self) -> usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687056,"byte_end":687073,"line_start":182,"line_end":182,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050813},"span":{"file_name":"src/memory.rs","byte_start":687122,"byte_end":687132,"line_start":184,"line_end":184,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2621 ~ no_proto[7dec]::memory::{impl#2}::length), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091261},"span":{"file_name":"src/memory.rs","byte_start":687229,"byte_end":687232,"line_start":186,"line_end":186,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2621 ~ no_proto[7dec]::memory::{impl#2}::length), local_id: 20 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3288336957},"span":{"file_name":"src/memory.rs","byte_start":687330,"byte_end":687333,"line_start":188,"line_end":188,"column_start":38,"column_end":41},"name":"len","qualname":"len$HirId { owner: DefId(0:2621 ~ no_proto[7dec]::memory::{impl#2}::length), local_id: 35 }","value":"&usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744446},"span":{"file_name":"src/memory.rs","byte_start":687411,"byte_end":687415,"line_start":193,"line_end":193,"column_start":25,"column_end":29},"name":"self","qualname":"::get_schemas::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2622},"span":{"file_name":"src/memory.rs","byte_start":687398,"byte_end":687409,"line_start":193,"line_end":193,"column_start":12,"column_end":23},"name":"get_schemas","qualname":"::get_schemas","value":"pub fn get_schemas(&Self) -> &Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687369,"byte_end":687386,"line_start":192,"line_end":192,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744447},"span":{"file_name":"src/memory.rs","byte_start":687530,"byte_end":687534,"line_start":198,"line_end":198,"column_start":24,"column_end":28},"name":"self","qualname":"::get_schema::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873535},"span":{"file_name":"src/memory.rs","byte_start":687536,"byte_end":687539,"line_start":198,"line_end":198,"column_start":30,"column_end":33},"name":"idx","qualname":"::get_schema::idx","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2623},"span":{"file_name":"src/memory.rs","byte_start":687518,"byte_end":687528,"line_start":198,"line_end":198,"column_start":12,"column_end":22},"name":"get_schema","qualname":"::get_schema","value":"pub fn get_schema(&Self, usize) -> &NP_Parsed_Schema","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687489,"byte_end":687506,"line_start":197,"line_end":197,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744448},"span":{"file_name":"src/memory.rs","byte_start":687667,"byte_end":687671,"line_start":203,"line_end":203,"column_start":27,"column_end":31},"name":"self","qualname":"::malloc_borrow::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873536},"span":{"file_name":"src/memory.rs","byte_start":687673,"byte_end":687678,"line_start":203,"line_end":203,"column_start":33,"column_end":38},"name":"bytes","qualname":"::malloc_borrow::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2624},"span":{"file_name":"src/memory.rs","byte_start":687652,"byte_end":687665,"line_start":203,"line_end":203,"column_start":12,"column_end":25},"name":"malloc_borrow","qualname":"::malloc_borrow","value":"pub fn malloc_borrow(&Self, &[u8]) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":687623,"byte_end":687640,"line_start":202,"line_end":202,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":3489663552},"span":{"file_name":"src/memory.rs","byte_start":687730,"byte_end":687738,"line_start":205,"line_end":205,"column_start":13,"column_end":21},"name":"location","qualname":"location$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 11 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159680},"span":{"file_name":"src/memory.rs","byte_start":687918,"byte_end":687928,"line_start":212,"line_end":212,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 46 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":738200128},"span":{"file_name":"src/memory.rs","byte_start":688030,"byte_end":688033,"line_start":215,"line_end":215,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 52 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774784},"span":{"file_name":"src/memory.rs","byte_start":688251,"byte_end":688254,"line_start":221,"line_end":221,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 80 }","value":"&mut *mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1241516608},"span":{"file_name":"src/memory.rs","byte_start":688256,"byte_end":688259,"line_start":221,"line_end":221,"column_start":43,"column_end":46},"name":"len","qualname":"len$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 82 }","value":"&mut usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2046822976},"span":{"file_name":"src/memory.rs","byte_start":688287,"byte_end":688288,"line_start":222,"line_end":222,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 94 }","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714112},"span":{"file_name":"src/memory.rs","byte_start":688372,"byte_end":688373,"line_start":224,"line_end":224,"column_start":22,"column_end":23},"name":"x","qualname":"x$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 110 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4127197760},"span":{"file_name":"src/memory.rs","byte_start":688375,"byte_end":688376,"line_start":224,"line_end":224,"column_start":25,"column_end":26},"name":"b","qualname":"b$HirId { owner: DefId(0:2624 ~ no_proto[7dec]::memory::{impl#2}::malloc_borrow), local_id: 111 }","value":"&u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744449},"span":{"file_name":"src/memory.rs","byte_start":688572,"byte_end":688576,"line_start":236,"line_end":236,"column_start":20,"column_end":24},"name":"self","qualname":"::malloc::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873537},"span":{"file_name":"src/memory.rs","byte_start":688578,"byte_end":688583,"line_start":236,"line_end":236,"column_start":26,"column_end":31},"name":"bytes","qualname":"::malloc::bytes","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2625},"span":{"file_name":"src/memory.rs","byte_start":688564,"byte_end":688570,"line_start":236,"line_end":236,"column_start":12,"column_end":18},"name":"malloc","qualname":"::malloc","value":"pub fn malloc(&Self, Vec) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":688535,"byte_end":688552,"line_start":235,"line_end":235,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744450},"span":{"file_name":"src/memory.rs","byte_start":688710,"byte_end":688714,"line_start":241,"line_end":241,"column_start":24,"column_end":28},"name":"self","qualname":"::read_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2626},"span":{"file_name":"src/memory.rs","byte_start":688698,"byte_end":688708,"line_start":241,"line_end":241,"column_start":12,"column_end":22},"name":"read_bytes","qualname":"::read_bytes","value":"pub fn read_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":688669,"byte_end":688686,"line_start":240,"line_end":240,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050818},"span":{"file_name":"src/memory.rs","byte_start":688739,"byte_end":688749,"line_start":242,"line_end":242,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2626 ~ no_proto[7dec]::memory::{impl#2}::read_bytes), local_id: 14 }","value":"&memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091266},"span":{"file_name":"src/memory.rs","byte_start":688846,"byte_end":688849,"line_start":244,"line_end":244,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[7dec]::memory::{impl#2}::read_bytes), local_id: 20 }","value":"&std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752194},"span":{"file_name":"src/memory.rs","byte_start":688899,"byte_end":688902,"line_start":245,"line_end":245,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[7dec]::memory::{impl#2}::read_bytes), local_id: 31 }","value":"&*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417858},"span":{"file_name":"src/memory.rs","byte_start":688964,"byte_end":688967,"line_start":246,"line_end":246,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2626 ~ no_proto[7dec]::memory::{impl#2}::read_bytes), local_id: 44 }","value":"&*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744451},"span":{"file_name":"src/memory.rs","byte_start":689062,"byte_end":689066,"line_start":251,"line_end":251,"column_start":25,"column_end":29},"name":"self","qualname":"::write_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2627},"span":{"file_name":"src/memory.rs","byte_start":689049,"byte_end":689060,"line_start":251,"line_end":251,"column_start":12,"column_end":23},"name":"write_bytes","qualname":"::write_bytes","value":"pub fn write_bytes(&Self) -> &mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689020,"byte_end":689037,"line_start":250,"line_end":250,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1879050819},"span":{"file_name":"src/memory.rs","byte_start":689095,"byte_end":689105,"line_start":252,"line_end":252,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 14 }","value":"&mut memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671091267},"span":{"file_name":"src/memory.rs","byte_start":689206,"byte_end":689209,"line_start":254,"line_end":254,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 20 }","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4160752195},"span":{"file_name":"src/memory.rs","byte_start":689263,"byte_end":689266,"line_start":255,"line_end":255,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 31 }","value":"&mut *const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207875},"span":{"file_name":"src/memory.rs","byte_start":689301,"byte_end":689310,"line_start":256,"line_end":256,"column_start":21,"column_end":30},"name":"const_ptr","qualname":"const_ptr$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 39 }","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812867},"span":{"file_name":"src/memory.rs","byte_start":689339,"byte_end":689346,"line_start":257,"line_end":257,"column_start":21,"column_end":28},"name":"mut_ptr","qualname":"mut_ptr$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 49 }","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3690990147},"span":{"file_name":"src/memory.rs","byte_start":689455,"byte_end":689458,"line_start":260,"line_end":260,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2627 ~ no_proto[7dec]::memory::{impl#2}::write_bytes), local_id: 59 }","value":"&mut *mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744452},"span":{"file_name":"src/memory.rs","byte_start":689553,"byte_end":689557,"line_start":265,"line_end":265,"column_start":24,"column_end":28},"name":"self","qualname":"::get_1_byte::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873540},"span":{"file_name":"src/memory.rs","byte_start":689559,"byte_end":689566,"line_start":265,"line_end":265,"column_start":30,"column_end":37},"name":"address","qualname":"::get_1_byte::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2628},"span":{"file_name":"src/memory.rs","byte_start":689541,"byte_end":689551,"line_start":265,"line_end":265,"column_start":12,"column_end":22},"name":"get_1_byte","qualname":"::get_1_byte","value":"pub fn get_1_byte(&Self, usize) -> Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689512,"byte_end":689529,"line_start":264,"line_end":264,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":1073744453},"span":{"file_name":"src/memory.rs","byte_start":689772,"byte_end":689776,"line_start":276,"line_end":276,"column_start":25,"column_end":29},"name":"self","qualname":"::get_2_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873541},"span":{"file_name":"src/memory.rs","byte_start":689778,"byte_end":689785,"line_start":276,"line_end":276,"column_start":31,"column_end":38},"name":"address","qualname":"::get_2_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2629},"span":{"file_name":"src/memory.rs","byte_start":689759,"byte_end":689770,"line_start":276,"line_end":276,"column_start":12,"column_end":23},"name":"get_2_bytes","qualname":"::get_2_bytes","value":"pub fn get_2_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":689730,"byte_end":689747,"line_start":275,"line_end":275,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655813},"span":{"file_name":"src/memory.rs","byte_start":689914,"byte_end":689924,"line_start":283,"line_end":283,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2629 ~ no_proto[7dec]::memory::{impl#2}::get_2_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506501},"span":{"file_name":"src/memory.rs","byte_start":690039,"byte_end":690044,"line_start":289,"line_end":289,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2629 ~ no_proto[7dec]::memory::{impl#2}::get_2_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744456},"span":{"file_name":"src/memory.rs","byte_start":690206,"byte_end":690210,"line_start":295,"line_end":295,"column_start":25,"column_end":29},"name":"self","qualname":"::get_4_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873544},"span":{"file_name":"src/memory.rs","byte_start":690212,"byte_end":690219,"line_start":295,"line_end":295,"column_start":31,"column_end":38},"name":"address","qualname":"::get_4_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2632},"span":{"file_name":"src/memory.rs","byte_start":690193,"byte_end":690204,"line_start":295,"line_end":295,"column_start":12,"column_end":23},"name":"get_4_bytes","qualname":"::get_4_bytes","value":"pub fn get_4_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":690164,"byte_end":690181,"line_start":294,"line_end":294,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655816},"span":{"file_name":"src/memory.rs","byte_start":690348,"byte_end":690358,"line_start":302,"line_end":302,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2632 ~ no_proto[7dec]::memory::{impl#2}::get_4_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506504},"span":{"file_name":"src/memory.rs","byte_start":690473,"byte_end":690478,"line_start":308,"line_end":308,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2632 ~ no_proto[7dec]::memory::{impl#2}::get_4_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744459},"span":{"file_name":"src/memory.rs","byte_start":690640,"byte_end":690644,"line_start":314,"line_end":314,"column_start":25,"column_end":29},"name":"self","qualname":"::get_8_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873547},"span":{"file_name":"src/memory.rs","byte_start":690646,"byte_end":690653,"line_start":314,"line_end":314,"column_start":31,"column_end":38},"name":"address","qualname":"::get_8_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2635},"span":{"file_name":"src/memory.rs","byte_start":690627,"byte_end":690638,"line_start":314,"line_end":314,"column_start":12,"column_end":23},"name":"get_8_bytes","qualname":"::get_8_bytes","value":"pub fn get_8_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":690598,"byte_end":690615,"line_start":313,"line_end":313,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655819},"span":{"file_name":"src/memory.rs","byte_start":690782,"byte_end":690792,"line_start":321,"line_end":321,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2635 ~ no_proto[7dec]::memory::{impl#2}::get_8_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506507},"span":{"file_name":"src/memory.rs","byte_start":690907,"byte_end":690912,"line_start":327,"line_end":327,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2635 ~ no_proto[7dec]::memory::{impl#2}::get_8_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744462},"span":{"file_name":"src/memory.rs","byte_start":691075,"byte_end":691079,"line_start":333,"line_end":333,"column_start":26,"column_end":30},"name":"self","qualname":"::get_16_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873550},"span":{"file_name":"src/memory.rs","byte_start":691081,"byte_end":691088,"line_start":333,"line_end":333,"column_start":32,"column_end":39},"name":"address","qualname":"::get_16_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2638},"span":{"file_name":"src/memory.rs","byte_start":691061,"byte_end":691073,"line_start":333,"line_end":333,"column_start":12,"column_end":24},"name":"get_16_bytes","qualname":"::get_16_bytes","value":"pub fn get_16_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":691032,"byte_end":691049,"line_start":332,"line_end":332,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655822},"span":{"file_name":"src/memory.rs","byte_start":691218,"byte_end":691228,"line_start":340,"line_end":340,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2638 ~ no_proto[7dec]::memory::{impl#2}::get_16_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506510},"span":{"file_name":"src/memory.rs","byte_start":691344,"byte_end":691349,"line_start":346,"line_end":346,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2638 ~ no_proto[7dec]::memory::{impl#2}::get_16_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744465},"span":{"file_name":"src/memory.rs","byte_start":691514,"byte_end":691518,"line_start":352,"line_end":352,"column_start":26,"column_end":30},"name":"self","qualname":"::get_32_bytes::self","value":"&memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873553},"span":{"file_name":"src/memory.rs","byte_start":691520,"byte_end":691527,"line_start":352,"line_end":352,"column_start":32,"column_end":39},"name":"address","qualname":"::get_32_bytes::address","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2641},"span":{"file_name":"src/memory.rs","byte_start":691500,"byte_end":691512,"line_start":352,"line_end":352,"column_start":12,"column_end":24},"name":"get_32_bytes","qualname":"::get_32_bytes","value":"pub fn get_32_bytes(&Self, usize) -> Option<&[u8; ]>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/memory.rs","byte_start":691471,"byte_end":691488,"line_start":351,"line_end":351,"column_start":5,"column_end":22}}]},{"kind":"Local","id":{"krate":0,"index":402655825},"span":{"file_name":"src/memory.rs","byte_start":691657,"byte_end":691667,"line_start":359,"line_end":359,"column_start":13,"column_end":23},"name":"self_bytes","qualname":"self_bytes$HirId { owner: DefId(0:2641 ~ no_proto[7dec]::memory::{impl#2}::get_32_bytes), local_id: 24 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506513},"span":{"file_name":"src/memory.rs","byte_start":691783,"byte_end":691788,"line_start":365,"line_end":365,"column_start":13,"column_end":18},"name":"slice","qualname":"slice$HirId { owner: DefId(0:2641 ~ no_proto[7dec]::memory::{impl#2}::get_32_bytes), local_id: 58 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744468},"span":{"file_name":"src/memory.rs","byte_start":691922,"byte_end":691926,"line_start":370,"line_end":370,"column_start":17,"column_end":21},"name":"self","qualname":"::dump::self","value":"memory::NP_Memory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2644},"span":{"file_name":"src/memory.rs","byte_start":691917,"byte_end":691921,"line_start":370,"line_end":370,"column_start":12,"column_end":16},"name":"dump","qualname":"::dump","value":"pub fn dump(Self) -> Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179924},"span":{"file_name":"src/memory.rs","byte_start":691953,"byte_end":691958,"line_start":371,"line_end":371,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2644 ~ no_proto[7dec]::memory::{impl#2}::dump), local_id: 10 }","value":"memory::NP_Memory_Kind","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220372},"span":{"file_name":"src/memory.rs","byte_start":692044,"byte_end":692047,"line_start":373,"line_end":373,"column_start":37,"column_end":40},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2644 ~ no_proto[7dec]::memory::{impl#2}::dump), local_id: 16 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":402655828},"span":{"file_name":"src/memory.rs","byte_start":692092,"byte_end":692095,"line_start":374,"line_end":374,"column_start":35,"column_end":38},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2644 ~ no_proto[7dec]::memory::{impl#2}::dump), local_id: 24 }","value":"*const [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2483030612},"span":{"file_name":"src/memory.rs","byte_start":692167,"byte_end":692170,"line_start":375,"line_end":375,"column_start":38,"column_end":41},"name":"vec","qualname":"vec$HirId { owner: DefId(0:2644 ~ no_proto[7dec]::memory::{impl#2}::dump), local_id: 41 }","value":"*mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2645},"span":{"file_name":"src/new_idl.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"new_idl","qualname":"::new_idl","value":"src/new_idl.rs","parent":null,"children":[{"krate":0,"index":2646},{"krate":0,"index":2649},{"krate":0,"index":2652},{"krate":0,"index":2655},{"krate":0,"index":4134},{"krate":0,"index":4137},{"krate":0,"index":4138},{"krate":0,"index":4141},{"krate":0,"index":4143},{"krate":0,"index":4144},{"krate":0,"index":4146},{"krate":0,"index":4170},{"krate":0,"index":2658},{"krate":0,"index":2677},{"krate":0,"index":2683},{"krate":0,"index":4172},{"krate":0,"index":4173},{"krate":0,"index":4175}],"decl_id":null,"docs":" ES6 IDL for Schemas\n \n Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.\n \n","sig":null,"attributes":[{"value":"/ ES6 IDL for Schemas","span":{"file_name":"src/new_idl.rs","byte_start":692227,"byte_end":692250,"line_start":1,"line_end":1,"column_start":1,"column_end":24}},{"value":"/ ","span":{"file_name":"src/new_idl.rs","byte_start":692251,"byte_end":692255,"line_start":2,"line_end":2,"column_start":1,"column_end":5}},{"value":"/ Supports a *very* limited subset of ES6/Javascript parsing for schemas and rpcs.","span":{"file_name":"src/new_idl.rs","byte_start":692256,"byte_end":692340,"line_start":3,"line_end":3,"column_start":1,"column_end":85}},{"value":"/ ","span":{"file_name":"src/new_idl.rs","byte_start":692341,"byte_end":692345,"line_start":4,"line_end":4,"column_start":1,"column_end":5}}]},{"kind":"Struct","id":{"krate":0,"index":4134},"span":{"file_name":"src/new_idl.rs","byte_start":692526,"byte_end":692533,"line_start":12,"line_end":12,"column_start":12,"column_end":19},"name":"AST_STR","qualname":"::new_idl::AST_STR","value":"AST_STR { start, end }","parent":null,"children":[{"krate":0,"index":4135},{"krate":0,"index":4136}],"decl_id":null,"docs":" Parsed AST String\n","sig":null,"attributes":[{"value":"/ Parsed AST String","span":{"file_name":"src/new_idl.rs","byte_start":692452,"byte_end":692473,"line_start":10,"line_end":10,"column_start":1,"column_end":22}}]},{"kind":"Field","id":{"krate":0,"index":4135},"span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"name":"start","qualname":"::new_idl::AST_STR::start","value":"usize","parent":{"krate":0,"index":4134},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4136},"span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"name":"end","qualname":"::new_idl::AST_STR::end","value":"usize","parent":{"krate":0,"index":4134},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4147},"span":{"file_name":"src/new_idl.rs","byte_start":692661,"byte_end":692666,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"name":"colon","qualname":"::new_idl::AST::colon","value":"AST::colon","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4149},"span":{"file_name":"src/new_idl.rs","byte_start":692672,"byte_end":692677,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"name":"comma","qualname":"::new_idl::AST::comma","value":"AST::comma","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":4151},"span":{"file_name":"src/new_idl.rs","byte_start":692683,"byte_end":692688,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"name":"arrow","qualname":"::new_idl::AST::arrow","value":"AST::arrow","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4153},"span":{"file_name":"src/new_idl.rs","byte_start":692694,"byte_end":692699,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"name":"token","qualname":"::new_idl::AST::token","value":"AST::token { addr }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4154},"span":{"file_name":"src/new_idl.rs","byte_start":692702,"byte_end":692706,"line_start":26,"line_end":26,"column_start":13,"column_end":17},"name":"addr","qualname":"::new_idl::AST::token::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":4153},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4155},"span":{"file_name":"src/new_idl.rs","byte_start":692723,"byte_end":692729,"line_start":27,"line_end":27,"column_start":5,"column_end":11},"name":"arrows","qualname":"::new_idl::AST::arrows","value":"AST::arrows { items }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4156},"span":{"file_name":"src/new_idl.rs","byte_start":692732,"byte_end":692737,"line_start":27,"line_end":27,"column_start":14,"column_end":19},"name":"items","qualname":"::new_idl::AST::arrows::items","value":"std::vec::Vec","parent":{"krate":0,"index":4155},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4157},"span":{"file_name":"src/new_idl.rs","byte_start":692755,"byte_end":692761,"line_start":28,"line_end":28,"column_start":5,"column_end":11},"name":"method","qualname":"::new_idl::AST::method","value":"AST::method { call, result }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4158},"span":{"file_name":"src/new_idl.rs","byte_start":692764,"byte_end":692768,"line_start":28,"line_end":28,"column_start":14,"column_end":18},"name":"call","qualname":"::new_idl::AST::method::call","value":"[type error]","parent":{"krate":0,"index":4157},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4159},"span":{"file_name":"src/new_idl.rs","byte_start":692780,"byte_end":692786,"line_start":28,"line_end":28,"column_start":30,"column_end":36},"name":"result","qualname":"::new_idl::AST::method::result","value":"[type error]","parent":{"krate":0,"index":4157},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4160},"span":{"file_name":"src/new_idl.rs","byte_start":692803,"byte_end":692807,"line_start":29,"line_end":29,"column_start":5,"column_end":9},"name":"args","qualname":"::new_idl::AST::args","value":"AST::args { items }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4161},"span":{"file_name":"src/new_idl.rs","byte_start":692810,"byte_end":692815,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"name":"items","qualname":"::new_idl::AST::args::items","value":"std::vec::Vec","parent":{"krate":0,"index":4160},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4162},"span":{"file_name":"src/new_idl.rs","byte_start":692833,"byte_end":692837,"line_start":30,"line_end":30,"column_start":5,"column_end":9},"name":"list","qualname":"::new_idl::AST::list","value":"AST::list { items }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4163},"span":{"file_name":"src/new_idl.rs","byte_start":692840,"byte_end":692845,"line_start":30,"line_end":30,"column_start":12,"column_end":17},"name":"items","qualname":"::new_idl::AST::list::items","value":"std::vec::Vec","parent":{"krate":0,"index":4162},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4164},"span":{"file_name":"src/new_idl.rs","byte_start":692863,"byte_end":692870,"line_start":31,"line_end":31,"column_start":5,"column_end":12},"name":"closure","qualname":"::new_idl::AST::closure","value":"AST::closure { items }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4165},"span":{"file_name":"src/new_idl.rs","byte_start":692873,"byte_end":692878,"line_start":31,"line_end":31,"column_start":15,"column_end":20},"name":"items","qualname":"::new_idl::AST::closure::items","value":"std::vec::Vec","parent":{"krate":0,"index":4164},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4166},"span":{"file_name":"src/new_idl.rs","byte_start":692896,"byte_end":692902,"line_start":32,"line_end":32,"column_start":5,"column_end":11},"name":"string","qualname":"::new_idl::AST::string","value":"AST::string { addr }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4167},"span":{"file_name":"src/new_idl.rs","byte_start":692905,"byte_end":692909,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"name":"addr","qualname":"::new_idl::AST::string::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":4166},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":4168},"span":{"file_name":"src/new_idl.rs","byte_start":692926,"byte_end":692932,"line_start":33,"line_end":33,"column_start":5,"column_end":11},"name":"number","qualname":"::new_idl::AST::number","value":"AST::number { addr }","parent":{"krate":0,"index":4146},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4169},"span":{"file_name":"src/new_idl.rs","byte_start":692935,"byte_end":692939,"line_start":33,"line_end":33,"column_start":14,"column_end":18},"name":"addr","qualname":"::new_idl::AST::number::addr","value":"new_idl::AST_STR","parent":{"krate":0,"index":4168},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":4146},"span":{"file_name":"src/new_idl.rs","byte_start":692651,"byte_end":692654,"line_start":22,"line_end":22,"column_start":10,"column_end":13},"name":"AST","qualname":"::new_idl::AST","value":"pub enum AST {\n colon,\n comma,\n arrow,\n token {\n addr: AST_STR,\n },\n arrows {\n items: Vec,\n },\n method {\n call: Box,\n result: Box,\n },\n args {\n items: Vec,\n },\n list {\n items: Vec,\n },\n closure {\n items: Vec,\n },\n string {\n addr: AST_STR,\n },\n number {\n addr: AST_STR,\n },\n}","parent":null,"children":[{"krate":0,"index":4147},{"krate":0,"index":4149},{"krate":0,"index":4151},{"krate":0,"index":4153},{"krate":0,"index":4155},{"krate":0,"index":4157},{"krate":0,"index":4160},{"krate":0,"index":4162},{"krate":0,"index":4164},{"krate":0,"index":4166},{"krate":0,"index":4168}],"decl_id":null,"docs":" AST object of schema\n","sig":null,"attributes":[{"value":"/ AST object of schema","span":{"file_name":"src/new_idl.rs","byte_start":692577,"byte_end":692601,"line_start":19,"line_end":19,"column_start":1,"column_end":25}},{"value":"allow(missing_docs)","span":{"file_name":"src/new_idl.rs","byte_start":692602,"byte_end":692624,"line_start":20,"line_end":20,"column_start":1,"column_end":23}}]},{"kind":"TupleVariant","id":{"krate":0,"index":2659},"span":{"file_name":"src/new_idl.rs","byte_start":692982,"byte_end":692991,"line_start":37,"line_end":37,"column_start":5,"column_end":14},"name":"searching","qualname":"::new_idl::ast_cursor_state::searching","value":"ast_cursor_state::searching","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2661},"span":{"file_name":"src/new_idl.rs","byte_start":692997,"byte_end":693002,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"name":"token","qualname":"::new_idl::ast_cursor_state::token","value":"ast_cursor_state::token","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2663},"span":{"file_name":"src/new_idl.rs","byte_start":693008,"byte_end":693014,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"name":"parens","qualname":"::new_idl::ast_cursor_state::parens","value":"ast_cursor_state::parens { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2664},"span":{"file_name":"src/new_idl.rs","byte_start":693017,"byte_end":693025,"line_start":39,"line_end":39,"column_start":14,"column_end":22},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::parens::open_idx","value":"usize","parent":{"krate":0,"index":2663},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2665},"span":{"file_name":"src/new_idl.rs","byte_start":693040,"byte_end":693046,"line_start":40,"line_end":40,"column_start":5,"column_end":11},"name":"arrows","qualname":"::new_idl::ast_cursor_state::arrows","value":"ast_cursor_state::arrows { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2666},"span":{"file_name":"src/new_idl.rs","byte_start":693049,"byte_end":693057,"line_start":40,"line_end":40,"column_start":14,"column_end":22},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::arrows::open_idx","value":"usize","parent":{"krate":0,"index":2665},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2667},"span":{"file_name":"src/new_idl.rs","byte_start":693073,"byte_end":693085,"line_start":41,"line_end":41,"column_start":5,"column_end":17},"name":"single_quote","qualname":"::new_idl::ast_cursor_state::single_quote","value":"ast_cursor_state::single_quote { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2668},"span":{"file_name":"src/new_idl.rs","byte_start":693088,"byte_end":693096,"line_start":41,"line_end":41,"column_start":20,"column_end":28},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::single_quote::open_idx","value":"usize","parent":{"krate":0,"index":2667},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2669},"span":{"file_name":"src/new_idl.rs","byte_start":693111,"byte_end":693123,"line_start":42,"line_end":42,"column_start":5,"column_end":17},"name":"double_quote","qualname":"::new_idl::ast_cursor_state::double_quote","value":"ast_cursor_state::double_quote { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2670},"span":{"file_name":"src/new_idl.rs","byte_start":693126,"byte_end":693134,"line_start":42,"line_end":42,"column_start":20,"column_end":28},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::double_quote::open_idx","value":"usize","parent":{"krate":0,"index":2669},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2671},"span":{"file_name":"src/new_idl.rs","byte_start":693149,"byte_end":693157,"line_start":43,"line_end":43,"column_start":5,"column_end":13},"name":"brackets","qualname":"::new_idl::ast_cursor_state::brackets","value":"ast_cursor_state::brackets { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2672},"span":{"file_name":"src/new_idl.rs","byte_start":693160,"byte_end":693168,"line_start":43,"line_end":43,"column_start":16,"column_end":24},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::brackets::open_idx","value":"usize","parent":{"krate":0,"index":2671},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"StructVariant","id":{"krate":0,"index":2673},"span":{"file_name":"src/new_idl.rs","byte_start":693183,"byte_end":693188,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"name":"curly","qualname":"::new_idl::ast_cursor_state::curly","value":"ast_cursor_state::curly { open_idx }","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2674},"span":{"file_name":"src/new_idl.rs","byte_start":693191,"byte_end":693199,"line_start":44,"line_end":44,"column_start":13,"column_end":21},"name":"open_idx","qualname":"::new_idl::ast_cursor_state::curly::open_idx","value":"usize","parent":{"krate":0,"index":2673},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"TupleVariant","id":{"krate":0,"index":2675},"span":{"file_name":"src/new_idl.rs","byte_start":693214,"byte_end":693220,"line_start":45,"line_end":45,"column_start":5,"column_end":11},"name":"number","qualname":"::new_idl::ast_cursor_state::number","value":"ast_cursor_state::number","parent":{"krate":0,"index":2658},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Enum","id":{"krate":0,"index":2658},"span":{"file_name":"src/new_idl.rs","byte_start":692959,"byte_end":692975,"line_start":36,"line_end":36,"column_start":6,"column_end":22},"name":"ast_cursor_state","qualname":"::new_idl::ast_cursor_state","value":"enum ast_cursor_state {\n searching,\n token,\n parens {\n open_idx: usize,\n },\n arrows {\n open_idx: usize,\n },\n single_quote {\n open_idx: usize,\n },\n double_quote {\n open_idx: usize,\n },\n brackets {\n open_idx: usize,\n },\n curly {\n open_idx: usize,\n },\n number,\n}","parent":null,"children":[{"krate":0,"index":2659},{"krate":0,"index":2661},{"krate":0,"index":2663},{"krate":0,"index":2665},{"krate":0,"index":2667},{"krate":0,"index":2669},{"krate":0,"index":2671},{"krate":0,"index":2673},{"krate":0,"index":2675}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":2677},"span":{"file_name":"src/new_idl.rs","byte_start":693231,"byte_end":693240,"line_start":48,"line_end":48,"column_start":8,"column_end":17},"name":"ast_state","qualname":"::new_idl::ast_state","value":"ast_state { start, end, state, escaped, level }","parent":null,"children":[{"krate":0,"index":2678},{"krate":0,"index":2679},{"krate":0,"index":2680},{"krate":0,"index":2681},{"krate":0,"index":2682}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2678},"span":{"file_name":"src/new_idl.rs","byte_start":693247,"byte_end":693252,"line_start":49,"line_end":49,"column_start":5,"column_end":10},"name":"start","qualname":"::new_idl::ast_state::start","value":"usize","parent":{"krate":0,"index":2677},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2679},"span":{"file_name":"src/new_idl.rs","byte_start":693265,"byte_end":693268,"line_start":50,"line_end":50,"column_start":5,"column_end":8},"name":"end","qualname":"::new_idl::ast_state::end","value":"usize","parent":{"krate":0,"index":2677},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2680},"span":{"file_name":"src/new_idl.rs","byte_start":693281,"byte_end":693286,"line_start":51,"line_end":51,"column_start":5,"column_end":10},"name":"state","qualname":"::new_idl::ast_state::state","value":"new_idl::ast_cursor_state","parent":{"krate":0,"index":2677},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2681},"span":{"file_name":"src/new_idl.rs","byte_start":693310,"byte_end":693317,"line_start":52,"line_end":52,"column_start":5,"column_end":12},"name":"escaped","qualname":"::new_idl::ast_state::escaped","value":"bool","parent":{"krate":0,"index":2677},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2682},"span":{"file_name":"src/new_idl.rs","byte_start":693329,"byte_end":693334,"line_start":53,"line_end":53,"column_start":5,"column_end":10},"name":"level","qualname":"::new_idl::ast_state::level","value":"i16","parent":{"krate":0,"index":2677},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744508},"span":{"file_name":"src/new_idl.rs","byte_start":693414,"byte_end":693419,"line_start":60,"line_end":60,"column_start":18,"column_end":23},"name":"input","qualname":"::parse::input","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2684},"span":{"file_name":"src/new_idl.rs","byte_start":693408,"byte_end":693413,"line_start":60,"line_end":60,"column_start":12,"column_end":17},"name":"parse","qualname":"::parse","value":"pub fn parse(&str) -> Result, NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Convert an ASCII string into AST\n","sig":null,"attributes":[{"value":"/ Convert an ASCII string into AST","span":{"file_name":"src/new_idl.rs","byte_start":693360,"byte_end":693396,"line_start":59,"line_end":59,"column_start":5,"column_end":41}}]},{"kind":"Local","id":{"krate":0,"index":1879050876},"span":{"file_name":"src/new_idl.rs","byte_start":693476,"byte_end":693482,"line_start":61,"line_end":61,"column_start":17,"column_end":23},"name":"result","qualname":"result$HirId { owner: DefId(0:2684 ~ no_proto[7dec]::new_idl::{impl#0}::parse), local_id: 14 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744509},"span":{"file_name":"src/new_idl.rs","byte_start":693684,"byte_end":693689,"line_start":67,"line_end":67,"column_start":28,"column_end":33},"name":"depth","qualname":"::recursive_parse::depth","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873597},"span":{"file_name":"src/new_idl.rs","byte_start":693698,"byte_end":693704,"line_start":67,"line_end":67,"column_start":42,"column_end":48},"name":"result","qualname":"::recursive_parse::result","value":"&mut std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615421},"span":{"file_name":"src/new_idl.rs","byte_start":693721,"byte_end":693727,"line_start":67,"line_end":67,"column_start":65,"column_end":71},"name":"source","qualname":"::recursive_parse::source","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":268438141},"span":{"file_name":"src/new_idl.rs","byte_start":693735,"byte_end":693738,"line_start":67,"line_end":67,"column_start":79,"column_end":82},"name":"ast","qualname":"::recursive_parse::ast","value":"new_idl::AST_STR","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2685},"span":{"file_name":"src/new_idl.rs","byte_start":693668,"byte_end":693683,"line_start":67,"line_end":67,"column_start":12,"column_end":27},"name":"recursive_parse","qualname":"::recursive_parse","value":"pub fn recursive_parse(usize, &mut Vec, &str, AST_STR)\n-> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":" Recursive AST parser\n","sig":null,"attributes":[{"value":"/ Recursive AST parser","span":{"file_name":"src/new_idl.rs","byte_start":693632,"byte_end":693656,"line_start":66,"line_end":66,"column_start":5,"column_end":29}}]},{"kind":"Local","id":{"krate":0,"index":3019901565},"span":{"file_name":"src/new_idl.rs","byte_start":693877,"byte_end":693883,"line_start":73,"line_end":73,"column_start":17,"column_end":23},"name":"cursor","qualname":"cursor$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 45 }","value":"new_idl::ast_state","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1543506557},"span":{"file_name":"src/new_idl.rs","byte_start":694080,"byte_end":694085,"line_start":81,"line_end":81,"column_start":13,"column_end":18},"name":"chars","qualname":"chars$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 58 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":167774845},"span":{"file_name":"src/new_idl.rs","byte_start":694183,"byte_end":694192,"line_start":84,"line_end":84,"column_start":21,"column_end":30},"name":"curr_char","qualname":"curr_char$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 80 }","value":"&char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3191868029},"span":{"file_name":"src/new_idl.rs","byte_start":698360,"byte_end":698371,"line_start":174,"line_end":174,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 637 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":792726141},"span":{"file_name":"src/new_idl.rs","byte_start":699064,"byte_end":699075,"line_start":190,"line_end":190,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 756 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3602909821},"span":{"file_name":"src/new_idl.rs","byte_start":699770,"byte_end":699781,"line_start":206,"line_end":206,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 875 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3474983549},"span":{"file_name":"src/new_idl.rs","byte_start":702376,"byte_end":702387,"line_start":259,"line_end":259,"column_start":33,"column_end":44},"name":"parans_args","qualname":"parans_args$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1267 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3399486077},"span":{"file_name":"src/new_idl.rs","byte_start":702904,"byte_end":702912,"line_start":273,"line_end":273,"column_start":42,"column_end":50},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1363 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2057308797},"span":{"file_name":"src/new_idl.rs","byte_start":702944,"byte_end":702949,"line_start":274,"line_end":274,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1374 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2510293629},"span":{"file_name":"src/new_idl.rs","byte_start":703361,"byte_end":703369,"line_start":280,"line_end":280,"column_start":40,"column_end":48},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1449 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":765463165},"span":{"file_name":"src/new_idl.rs","byte_start":703402,"byte_end":703407,"line_start":281,"line_end":281,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1460 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4288678525},"span":{"file_name":"src/new_idl.rs","byte_start":703814,"byte_end":703822,"line_start":287,"line_end":287,"column_start":40,"column_end":48},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1535 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1348471421},"span":{"file_name":"src/new_idl.rs","byte_start":703854,"byte_end":703859,"line_start":288,"line_end":288,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1546 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2858420861},"span":{"file_name":"src/new_idl.rs","byte_start":704271,"byte_end":704279,"line_start":294,"line_end":294,"column_start":46,"column_end":54},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1621 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":106957437},"span":{"file_name":"src/new_idl.rs","byte_start":704312,"byte_end":704317,"line_start":295,"line_end":295,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1632 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3579841149},"span":{"file_name":"src/new_idl.rs","byte_start":704730,"byte_end":704738,"line_start":301,"line_end":301,"column_start":46,"column_end":54},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1707 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1835010685},"span":{"file_name":"src/new_idl.rs","byte_start":704771,"byte_end":704776,"line_start":302,"line_end":302,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1718 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2162166397},"span":{"file_name":"src/new_idl.rs","byte_start":705183,"byte_end":705191,"line_start":308,"line_end":308,"column_start":39,"column_end":47},"name":"open_idx","qualname":"open_idx$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1793 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":819989117},"span":{"file_name":"src/new_idl.rs","byte_start":705224,"byte_end":705229,"line_start":309,"line_end":309,"column_start":25,"column_end":30},"name":"error","qualname":"error$HirId { owner: DefId(0:2685 ~ no_proto[7dec]::new_idl::{impl#0}::recursive_parse), local_id: 1804 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":4175},"span":{"file_name":"src/new_idl.rs","byte_start":705954,"byte_end":705958,"line_start":328,"line_end":328,"column_start":4,"column_end":8},"name":"test","qualname":"::new_idl::test","value":"fn test()","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2415923279},"span":{"file_name":"src/new_idl.rs","byte_start":706005,"byte_end":706011,"line_start":331,"line_end":331,"column_start":9,"column_end":15},"name":"schema","qualname":"schema$HirId { owner: DefId(0:4175 ~ no_proto[7dec]::new_idl::test#1), local_id: 9 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818576463},"span":{"file_name":"src/new_idl.rs","byte_start":706211,"byte_end":706214,"line_start":340,"line_end":340,"column_start":12,"column_end":15},"name":"ast","qualname":"ast$HirId { owner: DefId(0:4175 ~ no_proto[7dec]::new_idl::test#1), local_id: 21 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3456110671},"span":{"file_name":"src/new_idl.rs","byte_start":706280,"byte_end":706281,"line_start":343,"line_end":343,"column_start":13,"column_end":14},"name":"e","qualname":"e$HirId { owner: DefId(0:4175 ~ no_proto[7dec]::new_idl::test#1), local_id: 115 }","value":"error::NP_Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2686},"span":{"file_name":"src/hashmap.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"hashmap","qualname":"::hashmap","value":"src/hashmap.rs","parent":null,"children":[{"krate":0,"index":2687},{"krate":0,"index":2690},{"krate":0,"index":2693},{"krate":0,"index":2696},{"krate":0,"index":4176},{"krate":0,"index":4179},{"krate":0,"index":4182},{"krate":0,"index":2697},{"krate":0,"index":2698},{"krate":0,"index":2707},{"krate":0,"index":2708},{"krate":0,"index":2710}],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"allow(missing_docs)","span":{"file_name":"src/lib.rs","byte_start":22045,"byte_end":22067,"line_start":338,"line_end":338,"column_start":1,"column_end":23}}]},{"kind":"Static","id":{"krate":0,"index":2696},"span":{"file_name":"src/hashmap.rs","byte_start":706428,"byte_end":706432,"line_start":6,"line_end":6,"column_start":12,"column_end":16},"name":"SEED","qualname":"::hashmap::SEED","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4176},"span":{"file_name":"src/hashmap.rs","byte_start":706488,"byte_end":706498,"line_start":9,"line_end":9,"column_start":12,"column_end":22},"name":"NP_HashMap","qualname":"::hashmap::NP_HashMap","value":"NP_HashMap { data }","parent":null,"children":[{"krate":0,"index":4178}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":4178},"span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"name":"data","qualname":"::hashmap::NP_HashMap::data","value":"std::vec::Vec>","parent":{"krate":0,"index":4176},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":4177},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::hashmap::NP_HashMap::V$HirId { owner: DefId(0:4176 ~ no_proto[7dec]::hashmap::NP_HashMap), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":4180},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::V$HirId { owner: DefId(0:4179 ~ no_proto[7dec]::hashmap::{impl#1}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":4183},"span":{"file_name":"src/hashmap.rs","byte_start":706499,"byte_end":706500,"line_start":9,"line_end":9,"column_start":23,"column_end":24},"name":"V","qualname":"::V$HirId { owner: DefId(0:4182 ~ no_proto[7dec]::hashmap::{impl#2}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2697},"span":{"file_name":"src/hashmap.rs","byte_start":706542,"byte_end":706551,"line_start":13,"line_end":13,"column_start":7,"column_end":16},"name":"HASH_SIZE","qualname":"::hashmap::HASH_SIZE","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2699},"span":{"file_name":"src/hashmap.rs","byte_start":706573,"byte_end":706574,"line_start":15,"line_end":15,"column_start":6,"column_end":7},"name":"V","qualname":"::V$HirId { owner: DefId(0:2698 ~ no_proto[7dec]::hashmap::{impl#0}), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2700},"span":{"file_name":"src/hashmap.rs","byte_start":706604,"byte_end":706609,"line_start":17,"line_end":17,"column_start":12,"column_end":17},"name":"empty","qualname":">::empty","value":"pub fn empty() -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2701},"span":{"file_name":"src/hashmap.rs","byte_start":706685,"byte_end":706688,"line_start":21,"line_end":21,"column_start":12,"column_end":15},"name":"new","qualname":">::new","value":"pub fn new() -> Self","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1342179981},"span":{"file_name":"src/hashmap.rs","byte_start":706717,"byte_end":706723,"line_start":22,"line_end":22,"column_start":17,"column_end":23},"name":"vector","qualname":"vector$HirId { owner: DefId(0:2701 ~ no_proto[7dec]::hashmap::{impl#0}::new), local_id: 10 }","value":"std::vec::Vec>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744527},"span":{"file_name":"src/hashmap.rs","byte_start":706887,"byte_end":706891,"line_start":27,"line_end":27,"column_start":24,"column_end":28},"name":"self","qualname":">::insert::self","value":"&mut hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873615},"span":{"file_name":"src/hashmap.rs","byte_start":706893,"byte_end":706896,"line_start":27,"line_end":27,"column_start":30,"column_end":33},"name":"key","qualname":">::insert::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615439},"span":{"file_name":"src/hashmap.rs","byte_start":706904,"byte_end":706909,"line_start":27,"line_end":27,"column_start":41,"column_end":46},"name":"value","qualname":">::insert::value","value":"V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2703},"span":{"file_name":"src/hashmap.rs","byte_start":706875,"byte_end":706881,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"name":"insert","qualname":">::insert","value":"pub fn insert(&mut Self, &str, V) -> Result<(), NP_Error>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1207962255},"span":{"file_name":"src/hashmap.rs","byte_start":706953,"byte_end":706957,"line_start":29,"line_end":29,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2703 ~ no_proto[7dec]::hashmap::{impl#0}::insert), local_id: 18 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3087010447},"span":{"file_name":"src/hashmap.rs","byte_start":707019,"byte_end":707025,"line_start":31,"line_end":31,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2703 ~ no_proto[7dec]::hashmap::{impl#0}::insert), local_id: 29 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040783},"span":{"file_name":"src/hashmap.rs","byte_start":707183,"byte_end":707184,"line_start":36,"line_end":36,"column_start":18,"column_end":19},"name":"k","qualname":"k$HirId { owner: DefId(0:2703 ~ no_proto[7dec]::hashmap::{impl#0}::insert), local_id: 65 }","value":"&mut u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107298959},"span":{"file_name":"src/hashmap.rs","byte_start":707186,"byte_end":707187,"line_start":36,"line_end":36,"column_start":21,"column_end":22},"name":"v","qualname":"v$HirId { owner: DefId(0:2703 ~ no_proto[7dec]::hashmap::{impl#0}::insert), local_id: 66 }","value":"&mut V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744528},"span":{"file_name":"src/hashmap.rs","byte_start":707453,"byte_end":707457,"line_start":48,"line_end":48,"column_start":17,"column_end":21},"name":"self","qualname":">::get::self","value":"&hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873616},"span":{"file_name":"src/hashmap.rs","byte_start":707459,"byte_end":707462,"line_start":48,"line_end":48,"column_start":23,"column_end":26},"name":"key","qualname":">::get::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2704},"span":{"file_name":"src/hashmap.rs","byte_start":707448,"byte_end":707451,"line_start":48,"line_end":48,"column_start":12,"column_end":15},"name":"get","qualname":">::get","value":"pub fn get(&Self, &str) -> Option<&V>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220432},"span":{"file_name":"src/hashmap.rs","byte_start":707498,"byte_end":707502,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881360},"span":{"file_name":"src/hashmap.rs","byte_start":707559,"byte_end":707565,"line_start":50,"line_end":50,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603982480},"span":{"file_name":"src/hashmap.rs","byte_start":707651,"byte_end":707652,"line_start":53,"line_end":53,"column_start":18,"column_end":19},"name":"x","qualname":"x$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 36 }","value":"&std::vec::Vec<(u32, V)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3019901584},"span":{"file_name":"src/hashmap.rs","byte_start":707679,"byte_end":707682,"line_start":54,"line_end":54,"column_start":21,"column_end":24},"name":"len","qualname":"len$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 45 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2785020560},"span":{"file_name":"src/hashmap.rs","byte_start":708018,"byte_end":708019,"line_start":65,"line_end":65,"column_start":22,"column_end":23},"name":"k","qualname":"k$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 101 }","value":"&u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1711278736},"span":{"file_name":"src/hashmap.rs","byte_start":708021,"byte_end":708022,"line_start":65,"line_end":65,"column_start":25,"column_end":26},"name":"v","qualname":"v$HirId { owner: DefId(0:2704 ~ no_proto[7dec]::hashmap::{impl#0}::get), local_id: 102 }","value":"&V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744529},"span":{"file_name":"src/hashmap.rs","byte_start":708254,"byte_end":708258,"line_start":76,"line_end":76,"column_start":24,"column_end":28},"name":"self","qualname":">::delete::self","value":"&mut hashmap::NP_HashMap","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873617},"span":{"file_name":"src/hashmap.rs","byte_start":708260,"byte_end":708263,"line_start":76,"line_end":76,"column_start":30,"column_end":33},"name":"key","qualname":">::delete::key","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2705},"span":{"file_name":"src/hashmap.rs","byte_start":708242,"byte_end":708248,"line_start":76,"line_end":76,"column_start":12,"column_end":18},"name":"delete","qualname":">::delete","value":"pub fn delete(&mut Self, &str)","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220433},"span":{"file_name":"src/hashmap.rs","byte_start":708285,"byte_end":708289,"line_start":77,"line_end":77,"column_start":13,"column_end":17},"name":"hash","qualname":"hash$HirId { owner: DefId(0:2705 ~ no_proto[7dec]::hashmap::{impl#0}::delete), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3623881361},"span":{"file_name":"src/hashmap.rs","byte_start":708346,"byte_end":708352,"line_start":78,"line_end":78,"column_start":13,"column_end":19},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2705 ~ no_proto[7dec]::hashmap::{impl#0}::delete), local_id: 27 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":603982481},"span":{"file_name":"src/hashmap.rs","byte_start":708441,"byte_end":708447,"line_start":80,"line_end":80,"column_start":18,"column_end":24},"name":"bucket","qualname":"bucket$HirId { owner: DefId(0:2705 ~ no_proto[7dec]::hashmap::{impl#0}::delete), local_id: 36 }","value":"&mut std::vec::Vec<(u32, V)>","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3556772497},"span":{"file_name":"src/hashmap.rs","byte_start":708486,"byte_end":708487,"line_start":81,"line_end":81,"column_start":33,"column_end":34},"name":"k","qualname":"$HirId { owner: DefId(0:2705 ~ no_proto[7dec]::hashmap::{impl#0}::delete), local_id: 53 }::k","value":"&u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":872417937},"span":{"file_name":"src/hashmap.rs","byte_start":708489,"byte_end":708491,"line_start":81,"line_end":81,"column_start":36,"column_end":38},"name":"_v","qualname":"$HirId { owner: DefId(0:2705 ~ no_proto[7dec]::hashmap::{impl#0}::delete), local_id: 53 }::_v","value":"&V","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744531},"span":{"file_name":"src/hashmap.rs","byte_start":709787,"byte_end":709788,"line_start":113,"line_end":113,"column_start":15,"column_end":16},"name":"h","qualname":"::hashmap::fmix32::h","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2707},"span":{"file_name":"src/hashmap.rs","byte_start":709776,"byte_end":709782,"line_start":113,"line_end":113,"column_start":4,"column_end":10},"name":"fmix32","qualname":"::hashmap::fmix32","value":"fn fmix32(u32) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":709755,"byte_end":709772,"line_start":112,"line_end":112,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744532},"span":{"file_name":"src/hashmap.rs","byte_start":709982,"byte_end":709987,"line_start":124,"line_end":124,"column_start":17,"column_end":22},"name":"bytes","qualname":"::hashmap::get_32_block::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873620},"span":{"file_name":"src/hashmap.rs","byte_start":709996,"byte_end":710001,"line_start":124,"line_end":124,"column_start":31,"column_end":36},"name":"index","qualname":"::hashmap::get_32_block::index","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2708},"span":{"file_name":"src/hashmap.rs","byte_start":709969,"byte_end":709981,"line_start":124,"line_end":124,"column_start":4,"column_end":16},"name":"get_32_block","qualname":"::hashmap::get_32_block","value":"fn get_32_block(&[u8], usize) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":709948,"byte_end":709965,"line_start":123,"line_end":123,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":805309076},"span":{"file_name":"src/hashmap.rs","byte_start":710027,"byte_end":710037,"line_start":125,"line_end":125,"column_start":9,"column_end":19},"name":"real_index","qualname":"real_index$HirId { owner: DefId(0:2708 ~ no_proto[7dec]::hashmap::get_32_block), local_id: 12 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526804},"span":{"file_name":"src/hashmap.rs","byte_start":710071,"byte_end":710080,"line_start":126,"line_end":126,"column_start":9,"column_end":18},"name":"u32_bytes","qualname":"u32_bytes$HirId { owner: DefId(0:2708 ~ no_proto[7dec]::hashmap::get_32_block), local_id: 28 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1946159764},"span":{"file_name":"src/hashmap.rs","byte_start":710154,"byte_end":710159,"line_start":129,"line_end":129,"column_start":13,"column_end":18},"name":"bytes","qualname":"bytes$HirId { owner: DefId(0:2708 ~ no_proto[7dec]::hashmap::get_32_block), local_id: 46 }","value":"[u8; 4]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744534},"span":{"file_name":"src/hashmap.rs","byte_start":710298,"byte_end":710303,"line_start":135,"line_end":135,"column_start":27,"column_end":32},"name":"bytes","qualname":"::hashmap::murmurhash3_x86_32::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873622},"span":{"file_name":"src/hashmap.rs","byte_start":710312,"byte_end":710316,"line_start":135,"line_end":135,"column_start":41,"column_end":45},"name":"seed","qualname":"::hashmap::murmurhash3_x86_32::seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2710},"span":{"file_name":"src/hashmap.rs","byte_start":710279,"byte_end":710297,"line_start":135,"line_end":135,"column_start":8,"column_end":26},"name":"murmurhash3_x86_32","qualname":"::hashmap::murmurhash3_x86_32","value":"pub fn murmurhash3_x86_32(&[u8], u32) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/hashmap.rs","byte_start":710254,"byte_end":710271,"line_start":134,"line_end":134,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":268438166},"span":{"file_name":"src/hashmap.rs","byte_start":710340,"byte_end":710342,"line_start":136,"line_end":136,"column_start":9,"column_end":11},"name":"c1","qualname":"c1$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 8 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805309078},"span":{"file_name":"src/hashmap.rs","byte_start":710368,"byte_end":710370,"line_start":137,"line_end":137,"column_start":9,"column_end":11},"name":"c2","qualname":"c2$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 12 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":134220438},"span":{"file_name":"src/hashmap.rs","byte_start":710396,"byte_end":710405,"line_start":138,"line_end":138,"column_start":9,"column_end":18},"name":"read_size","qualname":"read_size$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 16 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1476397718},"span":{"file_name":"src/hashmap.rs","byte_start":710419,"byte_end":710422,"line_start":139,"line_end":139,"column_start":9,"column_end":12},"name":"len","qualname":"len$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 26 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1140853398},"span":{"file_name":"src/hashmap.rs","byte_start":710453,"byte_end":710464,"line_start":140,"line_end":140,"column_start":9,"column_end":20},"name":"block_count","qualname":"block_count$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 34 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825207958},"span":{"file_name":"src/hashmap.rs","byte_start":710497,"byte_end":710499,"line_start":142,"line_end":142,"column_start":13,"column_end":15},"name":"h1","qualname":"h1$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 39 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2348812950},"span":{"file_name":"src/hashmap.rs","byte_start":710517,"byte_end":710518,"line_start":144,"line_end":144,"column_start":9,"column_end":10},"name":"i","qualname":"i$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 49 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2181040790},"span":{"file_name":"src/hashmap.rs","byte_start":710564,"byte_end":710566,"line_start":145,"line_end":145,"column_start":17,"column_end":19},"name":"k1","qualname":"k1$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 65 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3372223126},"span":{"file_name":"src/hashmap.rs","byte_start":710839,"byte_end":710841,"line_start":156,"line_end":156,"column_start":13,"column_end":15},"name":"k1","qualname":"k1$HirId { owner: DefId(0:2710 ~ no_proto[7dec]::hashmap::murmurhash3_x86_32), local_id: 147 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Mod","id":{"krate":0,"index":2711},"span":{"file_name":"src/utils.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1},"name":"utils","qualname":"::utils","value":"src/utils.rs","parent":null,"children":[{"krate":0,"index":2712},{"krate":0,"index":2715},{"krate":0,"index":2718},{"krate":0,"index":2721},{"krate":0,"index":2724},{"krate":0,"index":2727},{"krate":0,"index":2728},{"krate":0,"index":2729},{"krate":0,"index":2730},{"krate":0,"index":2731},{"krate":0,"index":2732},{"krate":0,"index":2733},{"krate":0,"index":2738},{"krate":0,"index":2742},{"krate":0,"index":2744},{"krate":0,"index":2746},{"krate":0,"index":2749}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2727},"span":{"file_name":"src/utils.rs","byte_start":711439,"byte_end":711441,"line_start":8,"line_end":8,"column_start":7,"column_end":9},"name":"KX","qualname":"::utils::KX","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2728},"span":{"file_name":"src/utils.rs","byte_start":711466,"byte_end":711468,"line_start":9,"line_end":9,"column_start":7,"column_end":9},"name":"KY","qualname":"::utils::KY","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2729},"span":{"file_name":"src/utils.rs","byte_start":711493,"byte_end":711495,"line_start":10,"line_end":10,"column_start":7,"column_end":9},"name":"KZ","qualname":"::utils::KZ","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Const","id":{"krate":0,"index":2730},"span":{"file_name":"src/utils.rs","byte_start":711520,"byte_end":711522,"line_start":11,"line_end":11,"column_start":7,"column_end":9},"name":"KW","qualname":"::utils::KW","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744555},"span":{"file_name":"src/utils.rs","byte_start":711578,"byte_end":711582,"line_start":14,"line_end":14,"column_start":20,"column_end":24},"name":"byte","qualname":"::utils::to_unsigned::byte","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2731},"span":{"file_name":"src/utils.rs","byte_start":711566,"byte_end":711577,"line_start":14,"line_end":14,"column_start":8,"column_end":19},"name":"to_unsigned","qualname":"::utils::to_unsigned","value":"pub fn to_unsigned(u8) -> u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":711541,"byte_end":711558,"line_start":13,"line_end":13,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1073744556},"span":{"file_name":"src/utils.rs","byte_start":711688,"byte_end":711692,"line_start":19,"line_end":19,"column_start":18,"column_end":22},"name":"byte","qualname":"::utils::to_signed::byte","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2732},"span":{"file_name":"src/utils.rs","byte_start":711678,"byte_end":711687,"line_start":19,"line_end":19,"column_start":8,"column_end":17},"name":"to_signed","qualname":"::utils::to_signed","value":"pub fn to_signed(u8) -> u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":711653,"byte_end":711670,"line_start":18,"line_end":18,"column_start":1,"column_end":18}}]},{"kind":"Struct","id":{"krate":0,"index":2733},"span":{"file_name":"src/utils.rs","byte_start":711775,"byte_end":711779,"line_start":25,"line_end":25,"column_start":12,"column_end":16},"name":"Rand","qualname":"::utils::Rand","value":"Rand { x, y, z, w }","parent":null,"children":[{"krate":0,"index":2734},{"krate":0,"index":2735},{"krate":0,"index":2736},{"krate":0,"index":2737}],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2734},"span":{"file_name":"src/utils.rs","byte_start":711786,"byte_end":711787,"line_start":26,"line_end":26,"column_start":5,"column_end":6},"name":"x","qualname":"::utils::Rand::x","value":"u32","parent":{"krate":0,"index":2733},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2735},"span":{"file_name":"src/utils.rs","byte_start":711794,"byte_end":711795,"line_start":26,"line_end":26,"column_start":13,"column_end":14},"name":"y","qualname":"::utils::Rand::y","value":"u32","parent":{"krate":0,"index":2733},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2736},"span":{"file_name":"src/utils.rs","byte_start":711802,"byte_end":711803,"line_start":26,"line_end":26,"column_start":21,"column_end":22},"name":"z","qualname":"::utils::Rand::z","value":"u32","parent":{"krate":0,"index":2733},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Field","id":{"krate":0,"index":2737},"span":{"file_name":"src/utils.rs","byte_start":711810,"byte_end":711811,"line_start":26,"line_end":26,"column_start":29,"column_end":30},"name":"w","qualname":"::utils::Rand::w","value":"u32","parent":{"krate":0,"index":2733},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744563},"span":{"file_name":"src/utils.rs","byte_start":711847,"byte_end":711851,"line_start":30,"line_end":30,"column_start":16,"column_end":20},"name":"seed","qualname":"::new::seed","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2739},"span":{"file_name":"src/utils.rs","byte_start":711843,"byte_end":711846,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(u32) -> Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744564},"span":{"file_name":"src/utils.rs","byte_start":712030,"byte_end":712034,"line_start":38,"line_end":38,"column_start":22,"column_end":26},"name":"self","qualname":"::rand::self","value":"&mut utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2740},"span":{"file_name":"src/utils.rs","byte_start":712020,"byte_end":712024,"line_start":38,"line_end":38,"column_start":12,"column_end":16},"name":"rand","qualname":"::rand","value":"pub fn rand(&mut Self) -> u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":4026534580},"span":{"file_name":"src/utils.rs","byte_start":712057,"byte_end":712058,"line_start":39,"line_end":39,"column_start":13,"column_end":14},"name":"t","qualname":"t$HirId { owner: DefId(0:2740 ~ no_proto[7dec]::utils::{impl#0}::rand), local_id: 15 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744565},"span":{"file_name":"src/utils.rs","byte_start":712271,"byte_end":712275,"line_start":45,"line_end":45,"column_start":27,"column_end":31},"name":"self","qualname":"::gen_range::self","value":"&mut utils::Rand","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873653},"span":{"file_name":"src/utils.rs","byte_start":712277,"byte_end":712278,"line_start":45,"line_end":45,"column_start":33,"column_end":34},"name":"a","qualname":"::gen_range::a","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615477},"span":{"file_name":"src/utils.rs","byte_start":712285,"byte_end":712286,"line_start":45,"line_end":45,"column_start":41,"column_end":42},"name":"b","qualname":"::gen_range::b","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2741},"span":{"file_name":"src/utils.rs","byte_start":712256,"byte_end":712265,"line_start":45,"line_end":45,"column_start":12,"column_end":21},"name":"gen_range","qualname":"::gen_range","value":"pub fn gen_range(&mut Self, i32, i32) -> i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445941},"span":{"file_name":"src/utils.rs","byte_start":712314,"byte_end":712315,"line_start":46,"line_end":46,"column_start":13,"column_end":14},"name":"m","qualname":"m$HirId { owner: DefId(0:2741 ~ no_proto[7dec]::utils::{impl#0}::gen_range), local_id: 19 }","value":"u32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744566},"span":{"file_name":"src/utils.rs","byte_start":712420,"byte_end":712425,"line_start":52,"line_end":52,"column_start":19,"column_end":24},"name":"optin","qualname":"::utils::opt_err::optin","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2743},"span":{"file_name":"src/utils.rs","byte_start":712417,"byte_end":712418,"line_start":52,"line_end":52,"column_start":16,"column_end":17},"name":"T","qualname":"::utils::opt_err::T$HirId { owner: DefId(0:2742 ~ no_proto[7dec]::utils::opt_err), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2742},"span":{"file_name":"src/utils.rs","byte_start":712409,"byte_end":712416,"line_start":52,"line_end":52,"column_start":8,"column_end":15},"name":"opt_err","qualname":"::utils::opt_err","value":"pub fn opt_err(Option) -> Result","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[{"value":"inline(always)","span":{"file_name":"src/utils.rs","byte_start":712384,"byte_end":712401,"line_start":51,"line_end":51,"column_start":1,"column_end":18}}]},{"kind":"Local","id":{"krate":0,"index":1610615478},"span":{"file_name":"src/utils.rs","byte_start":712494,"byte_end":712495,"line_start":54,"line_end":54,"column_start":14,"column_end":15},"name":"x","qualname":"x$HirId { owner: DefId(0:2742 ~ no_proto[7dec]::utils::opt_err), local_id: 6 }","value":"T","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Static","id":{"krate":0,"index":2744},"span":{"file_name":"src/utils.rs","byte_start":712582,"byte_end":712594,"line_start":59,"line_end":59,"column_start":8,"column_end":20},"name":"CROCKFORD_32","qualname":"::utils::CROCKFORD_32","value":"[char; ]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744570},"span":{"file_name":"src/utils.rs","byte_start":712807,"byte_end":712816,"line_start":62,"line_end":62,"column_start":35,"column_end":44},"name":"value_str","qualname":"::utils::from_base32::value_str","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2747},"span":{"file_name":"src/utils.rs","byte_start":712792,"byte_end":712793,"line_start":62,"line_end":62,"column_start":20,"column_end":21},"name":"S","qualname":"::utils::from_base32::S$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2746},"span":{"file_name":"src/utils.rs","byte_start":712780,"byte_end":712791,"line_start":62,"line_end":62,"column_start":8,"column_end":19},"name":"from_base32","qualname":"::utils::from_base32","value":"pub fn from_base32>(S) -> u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1107299002},"span":{"file_name":"src/utils.rs","byte_start":712840,"byte_end":712846,"line_start":64,"line_end":64,"column_start":9,"column_end":15},"name":"to_num","qualname":"to_num$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 66 }","value":"[closure@src/utils.rs:64:18: 71:6]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2684357306},"span":{"file_name":"src/utils.rs","byte_start":712850,"byte_end":712856,"line_start":64,"line_end":64,"column_start":19,"column_end":25},"name":"encode","qualname":"$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 64 }::encode","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":805309114},"span":{"file_name":"src/utils.rs","byte_start":712885,"byte_end":712888,"line_start":65,"line_end":65,"column_start":14,"column_end":17},"name":"idx","qualname":"idx$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 12 }","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2952792762},"span":{"file_name":"src/utils.rs","byte_start":712890,"byte_end":712894,"line_start":65,"line_end":65,"column_start":19,"column_end":23},"name":"base","qualname":"base$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 13 }","value":"&char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":301992634},"span":{"file_name":"src/utils.rs","byte_start":713062,"byte_end":713069,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"name":"decoded","qualname":"decoded$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 72 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583694010},"span":{"file_name":"src/utils.rs","byte_start":713093,"byte_end":713098,"line_start":74,"line_end":74,"column_start":13,"column_end":18},"name":"place","qualname":"place$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 89 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":100666042},"span":{"file_name":"src/utils.rs","byte_start":713159,"byte_end":713161,"line_start":76,"line_end":76,"column_start":9,"column_end":11},"name":"ch","qualname":"ch$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 96 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1979714234},"span":{"file_name":"src/utils.rs","byte_start":713206,"byte_end":713211,"line_start":77,"line_end":77,"column_start":13,"column_end":18},"name":"digit","qualname":"digit$HirId { owner: DefId(0:2746 ~ no_proto[7dec]::utils::from_base32), local_id: 110 }","value":"u8","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744573},"span":{"file_name":"src/utils.rs","byte_start":713344,"byte_end":713347,"line_start":85,"line_end":85,"column_start":18,"column_end":21},"name":"num","qualname":"::utils::to_base32::num","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873661},"span":{"file_name":"src/utils.rs","byte_start":713355,"byte_end":713361,"line_start":85,"line_end":85,"column_start":29,"column_end":35},"name":"length","qualname":"::utils::to_base32::length","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Function","id":{"krate":0,"index":2749},"span":{"file_name":"src/utils.rs","byte_start":713334,"byte_end":713343,"line_start":85,"line_end":85,"column_start":8,"column_end":17},"name":"to_base32","qualname":"::utils::to_base32","value":"pub fn to_base32(u128, i32) -> String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2818575037},"span":{"file_name":"src/utils.rs","byte_start":713393,"byte_end":713399,"line_start":87,"line_end":87,"column_start":13,"column_end":19},"name":"result","qualname":"result$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 21 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":939526845},"span":{"file_name":"src/utils.rs","byte_start":713458,"byte_end":713460,"line_start":88,"line_end":88,"column_start":9,"column_end":11},"name":"_x","qualname":"_x$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 28 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2080377533},"span":{"file_name":"src/utils.rs","byte_start":713521,"byte_end":713526,"line_start":92,"line_end":92,"column_start":13,"column_end":18},"name":"value","qualname":"value$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 62 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2717911741},"span":{"file_name":"src/utils.rs","byte_start":713542,"byte_end":713543,"line_start":93,"line_end":93,"column_start":9,"column_end":10},"name":"i","qualname":"i$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 69 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":838863549},"span":{"file_name":"src/utils.rs","byte_start":713566,"byte_end":713567,"line_start":94,"line_end":94,"column_start":9,"column_end":10},"name":"x","qualname":"x$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 76 }","value":"i32","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2583694013},"span":{"file_name":"src/utils.rs","byte_start":713595,"byte_end":713602,"line_start":95,"line_end":95,"column_start":13,"column_end":20},"name":"modulus","qualname":"modulus$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 89 }","value":"u128","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1224739517},"span":{"file_name":"src/utils.rs","byte_start":713744,"byte_end":713756,"line_start":100,"line_end":100,"column_start":13,"column_end":25},"name":"final_string","qualname":"final_string$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 146 }","value":"std::string::String","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2835352253},"span":{"file_name":"src/utils.rs","byte_start":713791,"byte_end":713793,"line_start":102,"line_end":102,"column_start":9,"column_end":11},"name":"ch","qualname":"ch$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 149 }","value":"char","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":352324285},"span":{"file_name":"src/utils.rs","byte_start":713865,"byte_end":713866,"line_start":104,"line_end":104,"column_start":16,"column_end":17},"name":"x","qualname":"x$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 168 }","value":"&str","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2902461117},"span":{"file_name":"src/utils.rs","byte_start":713946,"byte_end":713948,"line_start":107,"line_end":107,"column_start":17,"column_end":19},"name":"_e","qualname":"_e$HirId { owner: DefId(0:2749 ~ no_proto[7dec]::utils::to_base32), local_id: 181 }","value":"core::str::Utf8Error","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4185},"span":{"file_name":"src/lib.rs","byte_start":25772,"byte_end":25782,"line_start":466,"line_end":466,"column_start":12,"column_end":22},"name":"NP_Factory","qualname":"::NP_Factory","value":"NP_Factory { schema, schema_bytes }","parent":null,"children":[{"krate":0,"index":4186},{"krate":0,"index":4187}],"decl_id":null,"docs":" Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones.\n \n The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html)\n \n You can also create a factory with a compiled byte schema using the static `new_bytes` method.\n \n # Example\n ```\n use no_proto::error::NP_Error;\n use no_proto::NP_Factory;\n \n let user_factory = NP_Factory::new(r#\"\n struct({fields: {\n name: string(),\n pass: string(),\n age: u16(),\n todos: list({of: string()})\n }})\n \"#)?;\n \n \n // user_factory can now be used to make or open buffers that contain the data in the schema.\n \n // create new buffer\n let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size\n \n // set the \"name\" field of the struct\n user_buffer.set(&[\"name\"], \"Billy Joel\")?;\n \n // set the first todo\n user_buffer.set(&[\"todos\", \"0\"], \"Write a rust library.\")?;\n \n // close buffer \n let user_vec:Vec = user_buffer.finish().bytes();\n \n // open existing buffer for reading\n let user_buffer_2 = user_factory.open_buffer(user_vec);\n \n // read field name\n let name_field = user_buffer_2.get::<&str>(&[\"name\"])?;\n assert_eq!(name_field, Some(\"Billy Joel\"));\n \n \n // read first todo\n let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"0\"])?;\n assert_eq!(todo_value, Some(\"Write a rust library.\"));\n \n // read second todo\n let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"1\"])?;\n assert_eq!(todo_value, None);\n \n \n // close buffer again\n let user_vec: Vec = user_buffer_2.finish().bytes();\n // user_vec is a serialized Vec with our data\n \n # Ok::<(), NP_Error>(()) \n ```\n \n ## Next Step\n \n Read about how to use buffers to access, mutate and compact data.\n \n [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html)\n \n","sig":null,"attributes":[{"value":"/ Factories are created from schemas. Once you have a factory you can use it to create new buffers or open existing ones.","span":{"file_name":"src/lib.rs","byte_start":23646,"byte_end":23770,"line_start":400,"line_end":400,"column_start":1,"column_end":125}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":23771,"byte_end":23775,"line_start":401,"line_end":401,"column_start":1,"column_end":5}},{"value":"/ The easiest way to create a factory is to pass a JSON string schema into the static `new` method. [Learn about schemas here.](./schema/index.html)","span":{"file_name":"src/lib.rs","byte_start":23776,"byte_end":23927,"line_start":402,"line_end":402,"column_start":1,"column_end":152}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":23928,"byte_end":23932,"line_start":403,"line_end":403,"column_start":1,"column_end":5}},{"value":"/ You can also create a factory with a compiled byte schema using the static `new_bytes` method.","span":{"file_name":"src/lib.rs","byte_start":23933,"byte_end":24031,"line_start":404,"line_end":404,"column_start":1,"column_end":99}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24032,"byte_end":24036,"line_start":405,"line_end":405,"column_start":1,"column_end":5}},{"value":"/ # Example","span":{"file_name":"src/lib.rs","byte_start":24037,"byte_end":24050,"line_start":406,"line_end":406,"column_start":1,"column_end":14}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":24051,"byte_end":24058,"line_start":407,"line_end":407,"column_start":1,"column_end":8}},{"value":"/ use no_proto::error::NP_Error;","span":{"file_name":"src/lib.rs","byte_start":24059,"byte_end":24093,"line_start":408,"line_end":408,"column_start":1,"column_end":35}},{"value":"/ use no_proto::NP_Factory;","span":{"file_name":"src/lib.rs","byte_start":24094,"byte_end":24123,"line_start":409,"line_end":409,"column_start":1,"column_end":30}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24124,"byte_end":24128,"line_start":410,"line_end":410,"column_start":1,"column_end":5}},{"value":"/ let user_factory = NP_Factory::new(r#\"","span":{"file_name":"src/lib.rs","byte_start":24129,"byte_end":24171,"line_start":411,"line_end":411,"column_start":1,"column_end":43}},{"value":"/ struct({fields: {","span":{"file_name":"src/lib.rs","byte_start":24172,"byte_end":24197,"line_start":412,"line_end":412,"column_start":1,"column_end":26}},{"value":"/ name: string(),","span":{"file_name":"src/lib.rs","byte_start":24198,"byte_end":24226,"line_start":413,"line_end":413,"column_start":1,"column_end":29}},{"value":"/ pass: string(),","span":{"file_name":"src/lib.rs","byte_start":24227,"byte_end":24255,"line_start":414,"line_end":414,"column_start":1,"column_end":29}},{"value":"/ age: u16(),","span":{"file_name":"src/lib.rs","byte_start":24256,"byte_end":24281,"line_start":415,"line_end":415,"column_start":1,"column_end":26}},{"value":"/ todos: list({of: string()})","span":{"file_name":"src/lib.rs","byte_start":24282,"byte_end":24321,"line_start":416,"line_end":416,"column_start":1,"column_end":40}},{"value":"/ }})","span":{"file_name":"src/lib.rs","byte_start":24322,"byte_end":24333,"line_start":417,"line_end":417,"column_start":1,"column_end":12}},{"value":"/ \"#)?;","span":{"file_name":"src/lib.rs","byte_start":24334,"byte_end":24343,"line_start":418,"line_end":418,"column_start":1,"column_end":10}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24344,"byte_end":24348,"line_start":419,"line_end":419,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24349,"byte_end":24353,"line_start":420,"line_end":420,"column_start":1,"column_end":5}},{"value":"/ // user_factory can now be used to make or open buffers that contain the data in the schema.","span":{"file_name":"src/lib.rs","byte_start":24354,"byte_end":24450,"line_start":421,"line_end":421,"column_start":1,"column_end":97}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24451,"byte_end":24455,"line_start":422,"line_end":422,"column_start":1,"column_end":5}},{"value":"/ // create new buffer","span":{"file_name":"src/lib.rs","byte_start":24456,"byte_end":24480,"line_start":423,"line_end":423,"column_start":1,"column_end":25}},{"value":"/ let mut user_buffer = user_factory.new_buffer(None); // optional capacity, optional address size","span":{"file_name":"src/lib.rs","byte_start":24481,"byte_end":24581,"line_start":424,"line_end":424,"column_start":1,"column_end":101}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24582,"byte_end":24589,"line_start":425,"line_end":425,"column_start":1,"column_end":8}},{"value":"/ // set the \"name\" field of the struct","span":{"file_name":"src/lib.rs","byte_start":24590,"byte_end":24631,"line_start":426,"line_end":426,"column_start":1,"column_end":42}},{"value":"/ user_buffer.set(&[\"name\"], \"Billy Joel\")?;","span":{"file_name":"src/lib.rs","byte_start":24632,"byte_end":24678,"line_start":427,"line_end":427,"column_start":1,"column_end":47}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24679,"byte_end":24683,"line_start":428,"line_end":428,"column_start":1,"column_end":5}},{"value":"/ // set the first todo","span":{"file_name":"src/lib.rs","byte_start":24684,"byte_end":24709,"line_start":429,"line_end":429,"column_start":1,"column_end":26}},{"value":"/ user_buffer.set(&[\"todos\", \"0\"], \"Write a rust library.\")?;","span":{"file_name":"src/lib.rs","byte_start":24710,"byte_end":24773,"line_start":430,"line_end":430,"column_start":1,"column_end":64}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24774,"byte_end":24778,"line_start":431,"line_end":431,"column_start":1,"column_end":5}},{"value":"/ // close buffer ","span":{"file_name":"src/lib.rs","byte_start":24779,"byte_end":24799,"line_start":432,"line_end":432,"column_start":1,"column_end":21}},{"value":"/ let user_vec:Vec = user_buffer.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":24800,"byte_end":24856,"line_start":433,"line_end":433,"column_start":1,"column_end":57}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24857,"byte_end":24861,"line_start":434,"line_end":434,"column_start":1,"column_end":5}},{"value":"/ // open existing buffer for reading","span":{"file_name":"src/lib.rs","byte_start":24862,"byte_end":24901,"line_start":435,"line_end":435,"column_start":1,"column_end":40}},{"value":"/ let user_buffer_2 = user_factory.open_buffer(user_vec);","span":{"file_name":"src/lib.rs","byte_start":24902,"byte_end":24961,"line_start":436,"line_end":436,"column_start":1,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":24962,"byte_end":24966,"line_start":437,"line_end":437,"column_start":1,"column_end":5}},{"value":"/ // read field name","span":{"file_name":"src/lib.rs","byte_start":24967,"byte_end":24989,"line_start":438,"line_end":438,"column_start":1,"column_end":23}},{"value":"/ let name_field = user_buffer_2.get::<&str>(&[\"name\"])?;","span":{"file_name":"src/lib.rs","byte_start":24990,"byte_end":25049,"line_start":439,"line_end":439,"column_start":1,"column_end":60}},{"value":"/ assert_eq!(name_field, Some(\"Billy Joel\"));","span":{"file_name":"src/lib.rs","byte_start":25050,"byte_end":25097,"line_start":440,"line_end":440,"column_start":1,"column_end":48}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25098,"byte_end":25102,"line_start":441,"line_end":441,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25103,"byte_end":25107,"line_start":442,"line_end":442,"column_start":1,"column_end":5}},{"value":"/ // read first todo","span":{"file_name":"src/lib.rs","byte_start":25108,"byte_end":25130,"line_start":443,"line_end":443,"column_start":1,"column_end":23}},{"value":"/ let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"0\"])?;","span":{"file_name":"src/lib.rs","byte_start":25131,"byte_end":25196,"line_start":444,"line_end":444,"column_start":1,"column_end":66}},{"value":"/ assert_eq!(todo_value, Some(\"Write a rust library.\"));","span":{"file_name":"src/lib.rs","byte_start":25197,"byte_end":25255,"line_start":445,"line_end":445,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25256,"byte_end":25260,"line_start":446,"line_end":446,"column_start":1,"column_end":5}},{"value":"/ // read second todo","span":{"file_name":"src/lib.rs","byte_start":25261,"byte_end":25284,"line_start":447,"line_end":447,"column_start":1,"column_end":24}},{"value":"/ let todo_value = user_buffer_2.get::<&str>(&[\"todos\", \"1\"])?;","span":{"file_name":"src/lib.rs","byte_start":25285,"byte_end":25350,"line_start":448,"line_end":448,"column_start":1,"column_end":66}},{"value":"/ assert_eq!(todo_value, None);","span":{"file_name":"src/lib.rs","byte_start":25351,"byte_end":25384,"line_start":449,"line_end":449,"column_start":1,"column_end":34}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25385,"byte_end":25389,"line_start":450,"line_end":450,"column_start":1,"column_end":5}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25390,"byte_end":25394,"line_start":451,"line_end":451,"column_start":1,"column_end":5}},{"value":"/ // close buffer again","span":{"file_name":"src/lib.rs","byte_start":25395,"byte_end":25420,"line_start":452,"line_end":452,"column_start":1,"column_end":26}},{"value":"/ let user_vec: Vec = user_buffer_2.finish().bytes();","span":{"file_name":"src/lib.rs","byte_start":25421,"byte_end":25480,"line_start":453,"line_end":453,"column_start":1,"column_end":60}},{"value":"/ // user_vec is a serialized Vec with our data","span":{"file_name":"src/lib.rs","byte_start":25481,"byte_end":25534,"line_start":454,"line_end":454,"column_start":1,"column_end":54}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25535,"byte_end":25539,"line_start":455,"line_end":455,"column_start":1,"column_end":5}},{"value":"/ # Ok::<(), NP_Error>(()) ","span":{"file_name":"src/lib.rs","byte_start":25540,"byte_end":25569,"line_start":456,"line_end":456,"column_start":1,"column_end":30}},{"value":"/ ```","span":{"file_name":"src/lib.rs","byte_start":25570,"byte_end":25577,"line_start":457,"line_end":457,"column_start":1,"column_end":8}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25578,"byte_end":25582,"line_start":458,"line_end":458,"column_start":1,"column_end":5}},{"value":"/ ## Next Step","span":{"file_name":"src/lib.rs","byte_start":25583,"byte_end":25599,"line_start":459,"line_end":459,"column_start":1,"column_end":17}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25600,"byte_end":25604,"line_start":460,"line_end":460,"column_start":1,"column_end":5}},{"value":"/ Read about how to use buffers to access, mutate and compact data.","span":{"file_name":"src/lib.rs","byte_start":25605,"byte_end":25674,"line_start":461,"line_end":461,"column_start":1,"column_end":70}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25675,"byte_end":25679,"line_start":462,"line_end":462,"column_start":1,"column_end":5}},{"value":"/ [Go to NP_Buffer docs](./buffer/struct.NP_Buffer.html)","span":{"file_name":"src/lib.rs","byte_start":25680,"byte_end":25738,"line_start":463,"line_end":463,"column_start":1,"column_end":59}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":25739,"byte_end":25743,"line_start":464,"line_end":464,"column_start":1,"column_end":5}}]},{"kind":"Field","id":{"krate":0,"index":4186},"span":{"file_name":"src/lib.rs","byte_start":25834,"byte_end":25840,"line_start":468,"line_end":468,"column_start":9,"column_end":15},"name":"schema","qualname":"::NP_Factory::schema","value":"schema::NP_Schema","parent":{"krate":0,"index":4185},"children":[],"decl_id":null,"docs":" schema data used by this factory\n","sig":null,"attributes":[{"value":"/ schema data used by this factory","span":{"file_name":"src/lib.rs","byte_start":25789,"byte_end":25825,"line_start":467,"line_end":467,"column_start":5,"column_end":41}}]},{"kind":"Field","id":{"krate":0,"index":4187},"span":{"file_name":"src/lib.rs","byte_start":25857,"byte_end":25869,"line_start":469,"line_end":469,"column_start":5,"column_end":17},"name":"schema_bytes","qualname":"::NP_Factory::schema_bytes","value":"std::vec::Vec","parent":{"krate":0,"index":4185},"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Struct","id":{"krate":0,"index":4190},"span":{"file_name":"src/lib.rs","byte_start":26117,"byte_end":26129,"line_start":477,"line_end":477,"column_start":12,"column_end":24},"name":"NP_Size_Data","qualname":"::NP_Size_Data","value":"NP_Size_Data { current_buffer, after_compaction, wasted_bytes }","parent":null,"children":[{"krate":0,"index":4191},{"krate":0,"index":4192},{"krate":0,"index":4193}],"decl_id":null,"docs":" When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not.\n","sig":null,"attributes":[{"value":"/ When calling `maybe_compact` on a buffer, this struct is provided to help make a choice on wether to compact or not.","span":{"file_name":"src/lib.rs","byte_start":25953,"byte_end":26073,"line_start":475,"line_end":475,"column_start":1,"column_end":121}}]},{"kind":"Field","id":{"krate":0,"index":4191},"span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"name":"current_buffer","qualname":"::NP_Size_Data::current_buffer","value":"usize","parent":{"krate":0,"index":4190},"children":[],"decl_id":null,"docs":" The size of the existing buffer\n","sig":null,"attributes":[{"value":"/ The size of the existing buffer","span":{"file_name":"src/lib.rs","byte_start":26136,"byte_end":26171,"line_start":478,"line_end":478,"column_start":5,"column_end":40}}]},{"kind":"Field","id":{"krate":0,"index":4192},"span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"name":"after_compaction","qualname":"::NP_Size_Data::after_compaction","value":"usize","parent":{"krate":0,"index":4190},"children":[],"decl_id":null,"docs":" The estimated size of buffer after compaction\n","sig":null,"attributes":[{"value":"/ The estimated size of buffer after compaction","span":{"file_name":"src/lib.rs","byte_start":26207,"byte_end":26256,"line_start":480,"line_end":480,"column_start":5,"column_end":54}}]},{"kind":"Field","id":{"krate":0,"index":4193},"span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"name":"wasted_bytes","qualname":"::NP_Size_Data::wasted_bytes","value":"usize","parent":{"krate":0,"index":4190},"children":[],"decl_id":null,"docs":" How many known wasted bytes in existing buffer\n","sig":null,"attributes":[{"value":"/ How many known wasted bytes in existing buffer","span":{"file_name":"src/lib.rs","byte_start":26294,"byte_end":26344,"line_start":482,"line_end":482,"column_start":5,"column_end":55}}]},{"kind":"Local","id":{"krate":0,"index":1073744617},"span":{"file_name":"src/lib.rs","byte_start":26579,"byte_end":26589,"line_start":492,"line_end":492,"column_start":19,"column_end":29},"name":"es6_schema","qualname":"::new::es6_schema","value":"S","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Type","id":{"krate":0,"index":2794},"span":{"file_name":"src/lib.rs","byte_start":26576,"byte_end":26577,"line_start":492,"line_end":492,"column_start":16,"column_end":17},"name":"S","qualname":"::new::S$HirId { owner: DefId(0:2793 ~ no_proto[7dec]::{impl#2}::new), local_id: 0 }","value":"","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2793},"span":{"file_name":"src/lib.rs","byte_start":26572,"byte_end":26575,"line_start":492,"line_end":492,"column_start":12,"column_end":15},"name":"new","qualname":"::new","value":"pub fn new(S) -> Result where S: Into","parent":null,"children":[],"decl_id":null,"docs":" Generate a new factory from an ES6 schema\n \n The operation will fail if the string can't be parsed or the schema is otherwise invalid.\n \n","sig":null,"attributes":[{"value":"/ Generate a new factory from an ES6 schema","span":{"file_name":"src/lib.rs","byte_start":26399,"byte_end":26444,"line_start":488,"line_end":488,"column_start":5,"column_end":50}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":26449,"byte_end":26453,"line_start":489,"line_end":489,"column_start":5,"column_end":9}},{"value":"/ The operation will fail if the string can't be parsed or the schema is otherwise invalid.","span":{"file_name":"src/lib.rs","byte_start":26458,"byte_end":26551,"line_start":490,"line_end":490,"column_start":5,"column_end":98}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":26556,"byte_end":26560,"line_start":491,"line_end":491,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1677724393},"span":{"file_name":"src/lib.rs","byte_start":26715,"byte_end":26726,"line_start":495,"line_end":495,"column_start":14,"column_end":25},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2793 ~ no_proto[7dec]::{impl#2}::new), local_id: 38 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3825208041},"span":{"file_name":"src/lib.rs","byte_start":26728,"byte_end":26740,"line_start":495,"line_end":495,"column_start":27,"column_end":39},"name":"schema_bytes","qualname":"schema_bytes$HirId { owner: DefId(0:2793 ~ no_proto[7dec]::{impl#2}::new), local_id: 39 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":335547113},"span":{"file_name":"src/lib.rs","byte_start":26746,"byte_end":26752,"line_start":495,"line_end":495,"column_start":45,"column_end":51},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2793 ~ no_proto[7dec]::{impl#2}::new), local_id: 40 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744619},"span":{"file_name":"src/lib.rs","byte_start":27259,"byte_end":27271,"line_start":511,"line_end":511,"column_start":22,"column_end":34},"name":"schema_bytes","qualname":"::new_bytes::schema_bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2795},"span":{"file_name":"src/lib.rs","byte_start":27249,"byte_end":27258,"line_start":511,"line_end":511,"column_start":12,"column_end":21},"name":"new_bytes","qualname":"::new_bytes","value":"pub fn new_bytes(&[u8]) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Create a new factory from a compiled schema byte array.\n The byte schemas are at least an order of magnitude faster to parse than JSON schemas.\n \n","sig":null,"attributes":[{"value":"/ Create a new factory from a compiled schema byte array.","span":{"file_name":"src/lib.rs","byte_start":27074,"byte_end":27133,"line_start":508,"line_end":508,"column_start":5,"column_end":64}},{"value":"/ The byte schemas are at least an order of magnitude faster to parse than JSON schemas.","span":{"file_name":"src/lib.rs","byte_start":27138,"byte_end":27228,"line_start":509,"line_end":509,"column_start":5,"column_end":95}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27233,"byte_end":27237,"line_start":510,"line_end":510,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1207962347},"span":{"file_name":"src/lib.rs","byte_start":27330,"byte_end":27341,"line_start":513,"line_end":513,"column_start":14,"column_end":25},"name":"is_sortable","qualname":"is_sortable$HirId { owner: DefId(0:2795 ~ no_proto[7dec]::{impl#2}::new_bytes), local_id: 18 }","value":"bool","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3355445995},"span":{"file_name":"src/lib.rs","byte_start":27347,"byte_end":27353,"line_start":513,"line_end":513,"column_start":31,"column_end":37},"name":"schema","qualname":"schema$HirId { owner: DefId(0:2795 ~ no_proto[7dec]::{impl#2}::new_bytes), local_id: 19 }","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1073744620},"span":{"file_name":"src/lib.rs","byte_start":27770,"byte_end":27774,"line_start":528,"line_end":528,"column_start":33,"column_end":37},"name":"self","qualname":"::export_schema_bytes::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2796},"span":{"file_name":"src/lib.rs","byte_start":27749,"byte_end":27768,"line_start":528,"line_end":528,"column_start":12,"column_end":31},"name":"export_schema_bytes","qualname":"::export_schema_bytes","value":"pub fn export_schema_bytes(&Self) -> &[u8]","parent":null,"children":[],"decl_id":null,"docs":" Get a copy of the compiled schema byte array\n \n","sig":null,"attributes":[{"value":"/ Get a copy of the compiled schema byte array","span":{"file_name":"src/lib.rs","byte_start":27680,"byte_end":27728,"line_start":526,"line_end":526,"column_start":5,"column_end":53}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27733,"byte_end":27737,"line_start":527,"line_end":527,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744621},"span":{"file_name":"src/lib.rs","byte_start":28023,"byte_end":28027,"line_start":534,"line_end":534,"column_start":31,"column_end":35},"name":"self","qualname":"::export_schema_idl::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2797},"span":{"file_name":"src/lib.rs","byte_start":28004,"byte_end":28021,"line_start":534,"line_end":534,"column_start":12,"column_end":29},"name":"export_schema_idl","qualname":"::export_schema_idl","value":"pub fn export_schema_idl(&Self) -> Result","parent":null,"children":[],"decl_id":null,"docs":" Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`.\n \n","sig":null,"attributes":[{"value":"/ Exports this factorie's schema to ES6 IDL. This works regardless of wether the factory was created with `NP_Factory::new` or `NP_Factory::new_bytes`.","span":{"file_name":"src/lib.rs","byte_start":27829,"byte_end":27983,"line_start":532,"line_end":532,"column_start":5,"column_end":159}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":27988,"byte_end":27992,"line_start":533,"line_end":533,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744622},"span":{"file_name":"src/lib.rs","byte_start":28188,"byte_end":28192,"line_start":540,"line_end":540,"column_start":25,"column_end":29},"name":"self","qualname":"::open_buffer::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873710},"span":{"file_name":"src/lib.rs","byte_start":28194,"byte_end":28199,"line_start":540,"line_end":540,"column_start":31,"column_end":36},"name":"bytes","qualname":"::open_buffer::bytes","value":"std::vec::Vec","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2798},"span":{"file_name":"src/lib.rs","byte_start":28175,"byte_end":28186,"line_start":540,"line_end":540,"column_start":12,"column_end":23},"name":"open_buffer","qualname":"::open_buffer","value":"pub fn open_buffer(&Self, Vec) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing Vec as buffer for this factory. \n \n","sig":null,"attributes":[{"value":"/ Open existing Vec as buffer for this factory. ","span":{"file_name":"src/lib.rs","byte_start":28099,"byte_end":28154,"line_start":538,"line_end":538,"column_start":5,"column_end":60}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28159,"byte_end":28163,"line_start":539,"line_end":539,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744623},"span":{"file_name":"src/lib.rs","byte_start":28729,"byte_end":28733,"line_start":550,"line_end":550,"column_start":46,"column_end":50},"name":"self","qualname":"::open_buffer_ref::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873711},"span":{"file_name":"src/lib.rs","byte_start":28735,"byte_end":28740,"line_start":550,"line_end":550,"column_start":52,"column_end":57},"name":"bytes","qualname":"::open_buffer_ref::bytes","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2799},"span":{"file_name":"src/lib.rs","byte_start":28695,"byte_end":28710,"line_start":550,"line_end":550,"column_start":12,"column_end":27},"name":"open_buffer_ref","qualname":"::open_buffer_ref","value":"pub fn open_buffer_ref<'buffer>(&'buffer Self, &'buffer [u8]) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing buffer as ready only ref, can much faster if you don't need to mutate anything.\n \n All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method.\n \n Also, read only buffers are `Sync` and `Send` so good for multithreaded environments.\n \n","sig":null,"attributes":[{"value":"/ Open existing buffer as ready only ref, can much faster if you don't need to mutate anything.","span":{"file_name":"src/lib.rs","byte_start":28338,"byte_end":28435,"line_start":544,"line_end":544,"column_start":5,"column_end":102}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28440,"byte_end":28444,"line_start":545,"line_end":545,"column_start":5,"column_end":9}},{"value":"/ All operations that would lead to mutation fail. You can't perform any mutations on a buffer opened with this method.","span":{"file_name":"src/lib.rs","byte_start":28449,"byte_end":28571,"line_start":546,"line_end":546,"column_start":5,"column_end":127}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28576,"byte_end":28580,"line_start":547,"line_end":547,"column_start":5,"column_end":9}},{"value":"/ Also, read only buffers are `Sync` and `Send` so good for multithreaded environments.","span":{"file_name":"src/lib.rs","byte_start":28585,"byte_end":28674,"line_start":548,"line_end":548,"column_start":5,"column_end":94}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":28679,"byte_end":28683,"line_start":549,"line_end":549,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744625},"span":{"file_name":"src/lib.rs","byte_start":29716,"byte_end":29720,"line_start":563,"line_end":563,"column_start":50,"column_end":54},"name":"self","qualname":"::open_buffer_ref_mut::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873713},"span":{"file_name":"src/lib.rs","byte_start":29722,"byte_end":29727,"line_start":563,"line_end":563,"column_start":56,"column_end":61},"name":"bytes","qualname":"::open_buffer_ref_mut::bytes","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1610615537},"span":{"file_name":"src/lib.rs","byte_start":29748,"byte_end":29756,"line_start":563,"line_end":563,"column_start":82,"column_end":90},"name":"data_len","qualname":"::open_buffer_ref_mut::data_len","value":"usize","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2801},"span":{"file_name":"src/lib.rs","byte_start":29678,"byte_end":29697,"line_start":563,"line_end":563,"column_start":12,"column_end":31},"name":"open_buffer_ref_mut","qualname":"::open_buffer_ref_mut","value":"pub fn open_buffer_ref_mut<'buffer>(&'buffer Self, &'buffer mut [u8], usize)\n-> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up.\n \n Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer.\n \n The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. \n \n If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations.\n \n \n","sig":null,"attributes":[{"value":"/ Open existing buffer as mutable ref, can be much faster to skip copying. The `data_len` property is how many bytes the data in the buffer is using up.","span":{"file_name":"src/lib.rs","byte_start":28883,"byte_end":29038,"line_start":554,"line_end":554,"column_start":5,"column_end":160}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29043,"byte_end":29047,"line_start":555,"line_end":555,"column_start":5,"column_end":9}},{"value":"/ Some mutations cannot be done without appending bytes to the existing buffer. Since it's impossible to append bytes to a `&mut [u8]` type, you should provide mutable slice with extra bytes on the end if you plan to mutate the buffer.","span":{"file_name":"src/lib.rs","byte_start":29052,"byte_end":29290,"line_start":556,"line_end":556,"column_start":5,"column_end":243}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29295,"byte_end":29299,"line_start":557,"line_end":557,"column_start":5,"column_end":9}},{"value":"/ The `data_len` is at which byte the data ends in the buffer, this will be moved as needed by compaction and mutation operations. ","span":{"file_name":"src/lib.rs","byte_start":29304,"byte_end":29438,"line_start":558,"line_end":558,"column_start":5,"column_end":139}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29443,"byte_end":29447,"line_start":559,"line_end":559,"column_start":5,"column_end":9}},{"value":"/ If the `&mut [u8]` type has the same length as `data_len`, mutations that require additional bytes will fail. `&mut [u8].len() - data_len` is how many bytes the buffer has for new allocations.","span":{"file_name":"src/lib.rs","byte_start":29452,"byte_end":29648,"line_start":560,"line_end":560,"column_start":5,"column_end":201}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29653,"byte_end":29657,"line_start":561,"line_end":561,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29662,"byte_end":29666,"line_start":562,"line_end":562,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744627},"span":{"file_name":"src/lib.rs","byte_start":30341,"byte_end":30345,"line_start":572,"line_end":572,"column_start":41,"column_end":45},"name":"self","qualname":"::new_buffer::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873715},"span":{"file_name":"src/lib.rs","byte_start":30347,"byte_end":30355,"line_start":572,"line_end":572,"column_start":47,"column_end":55},"name":"capacity","qualname":"::new_buffer::capacity","value":"core::option::Option","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2803},"span":{"file_name":"src/lib.rs","byte_start":30312,"byte_end":30322,"line_start":572,"line_end":572,"column_start":12,"column_end":22},"name":"new_buffer","qualname":"::new_buffer","value":"pub fn new_buffer<'buffer>(&'buffer Self, Option) -> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty buffer from this factory.\n \n The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes.\n \n \n","sig":null,"attributes":[{"value":"/ Generate a new empty buffer from this factory.","span":{"file_name":"src/lib.rs","byte_start":29905,"byte_end":29955,"line_start":567,"line_end":567,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":29960,"byte_end":29964,"line_start":568,"line_end":568,"column_start":5,"column_end":9}},{"value":"/ The first opional argument, capacity, can be used to set the space of the underlying Vec when it's created. If you know you're going to be putting lots of data into the buffer, it's a good idea to set this to a large number comparable to the amount of data you're putting in. The default is 1,024 bytes.","span":{"file_name":"src/lib.rs","byte_start":29969,"byte_end":30282,"line_start":569,"line_end":569,"column_start":5,"column_end":318}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30287,"byte_end":30291,"line_start":570,"line_end":570,"column_start":5,"column_end":9}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30296,"byte_end":30300,"line_start":571,"line_end":571,"column_start":5,"column_end":9}}]},{"kind":"Local","id":{"krate":0,"index":1073744629},"span":{"file_name":"src/lib.rs","byte_start":30710,"byte_end":30714,"line_start":580,"line_end":580,"column_start":49,"column_end":53},"name":"self","qualname":"::new_buffer_ref_mut::self","value":"&NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":536873717},"span":{"file_name":"src/lib.rs","byte_start":30716,"byte_end":30721,"line_start":580,"line_end":580,"column_start":55,"column_end":60},"name":"bytes","qualname":"::new_buffer_ref_mut::bytes","value":"&mut [u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Method","id":{"krate":0,"index":2805},"span":{"file_name":"src/lib.rs","byte_start":30673,"byte_end":30691,"line_start":580,"line_end":580,"column_start":12,"column_end":30},"name":"new_buffer_ref_mut","qualname":"::new_buffer_ref_mut","value":"pub fn new_buffer_ref_mut<'buffer>(&'buffer Self, &'buffer mut [u8])\n-> NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":" Generate a new empty buffer from this factory.\n \n Make sure the mutable slice is large enough to fit all the data you plan on putting into it.\n \n","sig":null,"attributes":[{"value":"/ Generate a new empty buffer from this factory.","span":{"file_name":"src/lib.rs","byte_start":30492,"byte_end":30542,"line_start":576,"line_end":576,"column_start":5,"column_end":55}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30547,"byte_end":30551,"line_start":577,"line_end":577,"column_start":5,"column_end":9}},{"value":"/ Make sure the mutable slice is large enough to fit all the data you plan on putting into it.","span":{"file_name":"src/lib.rs","byte_start":30556,"byte_end":30652,"line_start":578,"line_end":578,"column_start":5,"column_end":101}},{"value":"/ ","span":{"file_name":"src/lib.rs","byte_start":30657,"byte_end":30661,"line_start":579,"line_end":579,"column_start":5,"column_end":9}}]},{"kind":"Function","id":{"krate":0,"index":4206},"span":{"file_name":"src/lib.rs","byte_start":34598,"byte_end":34613,"line_start":687,"line_end":687,"column_start":4,"column_end":19},"name":"threading_works","qualname":"::threading_works","value":"fn threading_works()","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":3489665134},"span":{"file_name":"src/lib.rs","byte_start":34626,"byte_end":34630,"line_start":688,"line_end":688,"column_start":9,"column_end":13},"name":"fact","qualname":"fact$HirId { owner: DefId(0:4206 ~ no_proto[7dec]::threading_works#1), local_id: 11 }","value":"NP_Factory","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":671092846},"span":{"file_name":"src/lib.rs","byte_start":34679,"byte_end":34685,"line_start":689,"line_end":689,"column_start":9,"column_end":15},"name":"buffer","qualname":"buffer$HirId { owner: DefId(0:4206 ~ no_proto[7dec]::threading_works#1), local_id: 20 }","value":"buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":2214596718},"span":{"file_name":"src/lib.rs","byte_start":34756,"byte_end":34757,"line_start":691,"line_end":691,"column_start":13,"column_end":14},"name":"f","qualname":"f$HirId { owner: DefId(0:4206 ~ no_proto[7dec]::threading_works#1), local_id: 33 }","value":"&[u8]","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]},{"kind":"Local","id":{"krate":0,"index":1677725806},"span":{"file_name":"src/lib.rs","byte_start":34800,"byte_end":34801,"line_start":692,"line_end":692,"column_start":13,"column_end":14},"name":"b","qualname":"b$HirId { owner: DefId(0:4206 ~ no_proto[7dec]::threading_works#1), local_id: 38 }","value":"buffer::NP_Buffer","parent":null,"children":[],"decl_id":null,"docs":"","sig":null,"attributes":[]}],"impls":[{"id":0,"kind":"Inherent","span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":16},{"krate":0,"index":18},{"krate":0,"index":19}],"docs":"","sig":null,"attributes":[]},{"id":1,"kind":"Direct","span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":84},{"krate":0,"index":85},{"krate":0,"index":86},{"krate":0,"index":87},{"krate":0,"index":88},{"krate":0,"index":89},{"krate":0,"index":91},{"krate":0,"index":93},{"krate":0,"index":94},{"krate":0,"index":95},{"krate":0,"index":96},{"krate":0,"index":97},{"krate":0,"index":98},{"krate":0,"index":99}],"docs":"","sig":null,"attributes":[]},{"id":2,"kind":"Direct","span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"value":"","parent":null,"children":[{"krate":0,"index":102}],"docs":"","sig":null,"attributes":[]},{"id":3,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":178},{"krate":0,"index":179},{"krate":0,"index":180}],"docs":"","sig":null,"attributes":[]},{"id":4,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":183},{"krate":0,"index":184},{"krate":0,"index":185},{"krate":0,"index":186},{"krate":0,"index":187},{"krate":0,"index":188},{"krate":0,"index":190},{"krate":0,"index":191},{"krate":0,"index":193},{"krate":0,"index":194},{"krate":0,"index":197},{"krate":0,"index":198},{"krate":0,"index":199}],"docs":"","sig":null,"attributes":[]},{"id":5,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"value":"","parent":null,"children":[{"krate":0,"index":202},{"krate":0,"index":203},{"krate":0,"index":204}],"docs":"","sig":null,"attributes":[]},{"id":6,"kind":"Direct","span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":207},{"krate":0,"index":208},{"krate":0,"index":209},{"krate":0,"index":210},{"krate":0,"index":212},{"krate":0,"index":217},{"krate":0,"index":218},{"krate":0,"index":219},{"krate":0,"index":220},{"krate":0,"index":223},{"krate":0,"index":224},{"krate":0,"index":225},{"krate":0,"index":226}],"docs":"","sig":null,"attributes":[]},{"id":7,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"value":"","parent":null,"children":[{"krate":0,"index":295},{"krate":0,"index":296},{"krate":0,"index":297}],"docs":"","sig":null,"attributes":[]},{"id":8,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":300},{"krate":0,"index":301},{"krate":0,"index":302},{"krate":0,"index":304},{"krate":0,"index":305},{"krate":0,"index":307},{"krate":0,"index":309},{"krate":0,"index":310},{"krate":0,"index":313},{"krate":0,"index":314},{"krate":0,"index":317},{"krate":0,"index":320},{"krate":0,"index":322}],"docs":"","sig":null,"attributes":[]},{"id":9,"kind":"Direct","span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":330},{"krate":0,"index":331},{"krate":0,"index":332},{"krate":0,"index":333},{"krate":0,"index":335},{"krate":0,"index":336},{"krate":0,"index":337},{"krate":0,"index":338},{"krate":0,"index":343},{"krate":0,"index":346},{"krate":0,"index":347},{"krate":0,"index":348},{"krate":0,"index":349}],"docs":"","sig":null,"attributes":[]},{"id":42,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"value":"","parent":null,"children":[{"krate":0,"index":694},{"krate":0,"index":695},{"krate":0,"index":696}],"docs":"","sig":null,"attributes":[]},{"id":43,"kind":"Inherent","span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":698}],"docs":"","sig":null,"attributes":[]},{"id":44,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":706}],"docs":"","sig":null,"attributes":[]},{"id":45,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"value":"","parent":null,"children":[{"krate":0,"index":709},{"krate":0,"index":711},{"krate":0,"index":712},{"krate":0,"index":713},{"krate":0,"index":714},{"krate":0,"index":715},{"krate":0,"index":716},{"krate":0,"index":717},{"krate":0,"index":719},{"krate":0,"index":720},{"krate":0,"index":722},{"krate":0,"index":736},{"krate":0,"index":737}],"docs":"","sig":null,"attributes":[]},{"id":46,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":740},{"krate":0,"index":741},{"krate":0,"index":742}],"docs":"","sig":null,"attributes":[]},{"id":47,"kind":"Inherent","span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":744},{"krate":0,"index":745},{"krate":0,"index":746},{"krate":0,"index":747}],"docs":"","sig":null,"attributes":[]},{"id":48,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":749}],"docs":"","sig":null,"attributes":[]},{"id":49,"kind":"Direct","span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":753},{"krate":0,"index":754},{"krate":0,"index":756},{"krate":0,"index":757},{"krate":0,"index":758},{"krate":0,"index":759},{"krate":0,"index":772},{"krate":0,"index":786},{"krate":0,"index":787},{"krate":0,"index":788},{"krate":0,"index":789},{"krate":0,"index":791},{"krate":0,"index":792}],"docs":"","sig":null,"attributes":[]},{"id":50,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":870},{"krate":0,"index":871},{"krate":0,"index":872}],"docs":"","sig":null,"attributes":[]},{"id":51,"kind":"Inherent","span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"value":"","parent":null,"children":[{"krate":0,"index":874},{"krate":0,"index":875},{"krate":0,"index":876},{"krate":0,"index":877},{"krate":0,"index":878}],"docs":"","sig":null,"attributes":[]},{"id":52,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":880},{"krate":0,"index":881}],"docs":"","sig":null,"attributes":[]},{"id":53,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":883},{"krate":0,"index":884},{"krate":0,"index":885},{"krate":0,"index":886},{"krate":0,"index":887}],"docs":"","sig":null,"attributes":[]},{"id":54,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":889}],"docs":"","sig":null,"attributes":[]},{"id":56,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":893}],"docs":"","sig":null,"attributes":[]},{"id":58,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":903}],"docs":"","sig":null,"attributes":[]},{"id":60,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"value":"","parent":null,"children":[{"krate":0,"index":907}],"docs":"","sig":null,"attributes":[]},{"id":62,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":911}],"docs":"","sig":null,"attributes":[]},{"id":63,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":913},{"krate":0,"index":914}],"docs":"","sig":null,"attributes":[]},{"id":64,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":916}],"docs":"","sig":null,"attributes":[]},{"id":65,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":918},{"krate":0,"index":919}],"docs":"","sig":null,"attributes":[]},{"id":66,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":921}],"docs":"","sig":null,"attributes":[]},{"id":67,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":923},{"krate":0,"index":924}],"docs":"","sig":null,"attributes":[]},{"id":68,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"value":"","parent":null,"children":[{"krate":0,"index":926}],"docs":"","sig":null,"attributes":[]},{"id":69,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":928},{"krate":0,"index":929}],"docs":"","sig":null,"attributes":[]},{"id":70,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":931}],"docs":"","sig":null,"attributes":[]},{"id":71,"kind":"Direct","span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":934},{"krate":0,"index":935},{"krate":0,"index":936},{"krate":0,"index":937},{"krate":0,"index":938},{"krate":0,"index":940},{"krate":0,"index":943},{"krate":0,"index":945},{"krate":0,"index":946},{"krate":0,"index":948},{"krate":0,"index":949},{"krate":0,"index":950},{"krate":0,"index":951}],"docs":"","sig":null,"attributes":[]},{"id":72,"kind":"Inherent","span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1039},{"krate":0,"index":1042},{"krate":0,"index":1046},{"krate":0,"index":1049},{"krate":0,"index":1052},{"krate":0,"index":1057}],"docs":"","sig":null,"attributes":[]},{"id":73,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1061}],"docs":"","sig":null,"attributes":[]},{"id":74,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1064}],"docs":"","sig":null,"attributes":[]},{"id":75,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":1067},{"krate":0,"index":1068},{"krate":0,"index":1070}],"docs":"","sig":null,"attributes":[]},{"id":76,"kind":"Direct","span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1074},{"krate":0,"index":1075},{"krate":0,"index":1076},{"krate":0,"index":1077},{"krate":0,"index":1079},{"krate":0,"index":1080},{"krate":0,"index":1081},{"krate":0,"index":1083},{"krate":0,"index":1084},{"krate":0,"index":1085},{"krate":0,"index":1086},{"krate":0,"index":1088},{"krate":0,"index":1089}],"docs":"","sig":null,"attributes":[]},{"id":77,"kind":"Inherent","span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1197},{"krate":0,"index":1199},{"krate":0,"index":1202},{"krate":0,"index":1206}],"docs":"","sig":null,"attributes":[]},{"id":78,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1208}],"docs":"","sig":null,"attributes":[]},{"id":79,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1210}],"docs":"","sig":null,"attributes":[]},{"id":80,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":1214},{"krate":0,"index":1215},{"krate":0,"index":1217}],"docs":"","sig":null,"attributes":[]},{"id":81,"kind":"Direct","span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1221},{"krate":0,"index":1222},{"krate":0,"index":1223},{"krate":0,"index":1224},{"krate":0,"index":1226},{"krate":0,"index":1228},{"krate":0,"index":1229},{"krate":0,"index":1230},{"krate":0,"index":1231},{"krate":0,"index":1232},{"krate":0,"index":1233},{"krate":0,"index":1235},{"krate":0,"index":1236}],"docs":"","sig":null,"attributes":[]},{"id":82,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":1333},{"krate":0,"index":1334},{"krate":0,"index":1335}],"docs":"","sig":null,"attributes":[]},{"id":83,"kind":"Inherent","span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1337},{"krate":0,"index":1339},{"krate":0,"index":1340},{"krate":0,"index":1341},{"krate":0,"index":1342}],"docs":"","sig":null,"attributes":[]},{"id":84,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1344}],"docs":"","sig":null,"attributes":[]},{"id":85,"kind":"Direct","span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1347},{"krate":0,"index":1348},{"krate":0,"index":1349},{"krate":0,"index":1351},{"krate":0,"index":1353},{"krate":0,"index":1356},{"krate":0,"index":1357},{"krate":0,"index":1358},{"krate":0,"index":1360},{"krate":0,"index":1361},{"krate":0,"index":1362},{"krate":0,"index":1364},{"krate":0,"index":1365}],"docs":"","sig":null,"attributes":[]},{"id":86,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"value":"","parent":null,"children":[{"krate":0,"index":1439},{"krate":0,"index":1440},{"krate":0,"index":1441}],"docs":"","sig":null,"attributes":[]},{"id":87,"kind":"Inherent","span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":1443}],"docs":"","sig":null,"attributes":[]},{"id":88,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":1445}],"docs":"","sig":null,"attributes":[]},{"id":89,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1447}],"docs":"","sig":null,"attributes":[]},{"id":90,"kind":"Direct","span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":1450},{"krate":0,"index":1451},{"krate":0,"index":1452},{"krate":0,"index":1453},{"krate":0,"index":1454},{"krate":0,"index":1456},{"krate":0,"index":1459},{"krate":0,"index":1461},{"krate":0,"index":1462},{"krate":0,"index":1464},{"krate":0,"index":1465},{"krate":0,"index":1466},{"krate":0,"index":1467}],"docs":"","sig":null,"attributes":[]},{"id":91,"kind":"Direct","span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1535},{"krate":0,"index":1536},{"krate":0,"index":1537},{"krate":0,"index":1538},{"krate":0,"index":1539},{"krate":0,"index":1540},{"krate":0,"index":1541},{"krate":0,"index":1544},{"krate":0,"index":1545},{"krate":0,"index":1546},{"krate":0,"index":1548},{"krate":0,"index":1549}],"docs":"","sig":null,"attributes":[]},{"id":92,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"value":"","parent":null,"children":[{"krate":0,"index":1646}],"docs":"","sig":null,"attributes":[]},{"id":93,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1665},{"krate":0,"index":1666},{"krate":0,"index":1667},{"krate":0,"index":1668},{"krate":0,"index":1670}],"docs":"","sig":null,"attributes":[]},{"id":94,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"value":"","parent":null,"children":[{"krate":0,"index":1672},{"krate":0,"index":1673},{"krate":0,"index":1674},{"krate":0,"index":1675},{"krate":0,"index":1676},{"krate":0,"index":1677},{"krate":0,"index":1678},{"krate":0,"index":1679},{"krate":0,"index":1683}],"docs":"","sig":null,"attributes":[]},{"id":95,"kind":"Direct","span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"value":"","parent":null,"children":[{"krate":0,"index":1685},{"krate":0,"index":1686},{"krate":0,"index":1687},{"krate":0,"index":1688},{"krate":0,"index":1689},{"krate":0,"index":1690},{"krate":0,"index":1691},{"krate":0,"index":1692},{"krate":0,"index":1696},{"krate":0,"index":1697},{"krate":0,"index":1699}],"docs":"","sig":null,"attributes":[]},{"id":96,"kind":"Inherent","span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":1702},{"krate":0,"index":1704}],"docs":"","sig":null,"attributes":[]},{"id":97,"kind":"Inherent","span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":1707},{"krate":0,"index":1708},{"krate":0,"index":1709},{"krate":0,"index":1710},{"krate":0,"index":1711},{"krate":0,"index":1712},{"krate":0,"index":1713},{"krate":0,"index":1714},{"krate":0,"index":1715},{"krate":0,"index":1716},{"krate":0,"index":1717},{"krate":0,"index":1718}],"docs":"","sig":null,"attributes":[]},{"id":98,"kind":"Inherent","span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"value":"","parent":null,"children":[{"krate":0,"index":1836},{"krate":0,"index":1838},{"krate":0,"index":1841},{"krate":0,"index":1844},{"krate":0,"index":1845},{"krate":0,"index":1847}],"docs":"","sig":null,"attributes":[]},{"id":99,"kind":"Direct","span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"value":"","parent":null,"children":[{"krate":0,"index":1850},{"krate":0,"index":1852},{"krate":0,"index":1853},{"krate":0,"index":1854},{"krate":0,"index":1856},{"krate":0,"index":1857},{"krate":0,"index":1859},{"krate":0,"index":1861},{"krate":0,"index":1862},{"krate":0,"index":1863},{"krate":0,"index":1864},{"krate":0,"index":1865}],"docs":"","sig":null,"attributes":[]},{"id":100,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":1934},{"krate":0,"index":1935}],"docs":"","sig":null,"attributes":[]},{"id":101,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"value":"","parent":null,"children":[{"krate":0,"index":1938}],"docs":"","sig":null,"attributes":[]},{"id":102,"kind":"Inherent","span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"value":"","parent":null,"children":[{"krate":0,"index":1941},{"krate":0,"index":1942},{"krate":0,"index":1944},{"krate":0,"index":1945},{"krate":0,"index":1946}],"docs":"","sig":null,"attributes":[]},{"id":103,"kind":"Direct","span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"value":"","parent":null,"children":[{"krate":0,"index":1951},{"krate":0,"index":1953},{"krate":0,"index":1955},{"krate":0,"index":1956},{"krate":0,"index":1957},{"krate":0,"index":1958},{"krate":0,"index":1960},{"krate":0,"index":1961},{"krate":0,"index":1962},{"krate":0,"index":1963},{"krate":0,"index":1964},{"krate":0,"index":1965}],"docs":"","sig":null,"attributes":[]},{"id":104,"kind":"Inherent","span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":2037},{"krate":0,"index":2038},{"krate":0,"index":2039},{"krate":0,"index":2040}],"docs":"","sig":null,"attributes":[]},{"id":105,"kind":"Inherent","span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":2042},{"krate":0,"index":2049},{"krate":0,"index":2053},{"krate":0,"index":2056},{"krate":0,"index":2058},{"krate":0,"index":2059},{"krate":0,"index":2060}],"docs":"","sig":null,"attributes":[]},{"id":106,"kind":"Direct","span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"value":"","parent":null,"children":[{"krate":0,"index":2069},{"krate":0,"index":2071},{"krate":0,"index":2072},{"krate":0,"index":2073},{"krate":0,"index":2074},{"krate":0,"index":2076},{"krate":0,"index":2078},{"krate":0,"index":2079},{"krate":0,"index":2080},{"krate":0,"index":2081},{"krate":0,"index":2082},{"krate":0,"index":2083}],"docs":"","sig":null,"attributes":[]},{"id":107,"kind":"Inherent","span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"value":"","parent":null,"children":[{"krate":0,"index":2160},{"krate":0,"index":2161},{"krate":0,"index":2163},{"krate":0,"index":2164}],"docs":"","sig":null,"attributes":[]},{"id":108,"kind":"Direct","span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":2167},{"krate":0,"index":2169},{"krate":0,"index":2170},{"krate":0,"index":2171},{"krate":0,"index":2173},{"krate":0,"index":2175},{"krate":0,"index":2177},{"krate":0,"index":2178},{"krate":0,"index":2179},{"krate":0,"index":2180},{"krate":0,"index":2181},{"krate":0,"index":2182}],"docs":"","sig":null,"attributes":[]},{"id":109,"kind":"Direct","span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":110,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"value":"","parent":null,"children":[{"krate":0,"index":2280},{"krate":0,"index":2281},{"krate":0,"index":2282}],"docs":"","sig":null,"attributes":[]},{"id":111,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2284},{"krate":0,"index":2285},{"krate":0,"index":2286},{"krate":0,"index":2287},{"krate":0,"index":2288},{"krate":0,"index":2289},{"krate":0,"index":2290},{"krate":0,"index":2291},{"krate":0,"index":2292},{"krate":0,"index":2295},{"krate":0,"index":2297},{"krate":0,"index":2299},{"krate":0,"index":2302},{"krate":0,"index":2305},{"krate":0,"index":2306},{"krate":0,"index":2307},{"krate":0,"index":2310},{"krate":0,"index":2313},{"krate":0,"index":2315},{"krate":0,"index":2317},{"krate":0,"index":2318},{"krate":0,"index":2319},{"krate":0,"index":2321},{"krate":0,"index":2322}],"docs":"","sig":null,"attributes":[]},{"id":112,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"value":"","parent":null,"children":[{"krate":0,"index":2333},{"krate":0,"index":2334},{"krate":0,"index":2336},{"krate":0,"index":2338}],"docs":"","sig":null,"attributes":[]},{"id":113,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"value":"","parent":null,"children":[{"krate":0,"index":2341}],"docs":"","sig":null,"attributes":[]},{"id":114,"kind":"Inherent","span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2350}],"docs":"","sig":null,"attributes":[]},{"id":115,"kind":"Direct","span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"value":"","parent":null,"children":[{"krate":0,"index":2353},{"krate":0,"index":2354}],"docs":"","sig":null,"attributes":[]},{"id":116,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2452}],"docs":"","sig":null,"attributes":[]},{"id":117,"kind":"Inherent","span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"value":"","parent":null,"children":[{"krate":0,"index":2454}],"docs":"","sig":null,"attributes":[]},{"id":118,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2458}],"docs":"","sig":null,"attributes":[]},{"id":119,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":120,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":121,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"value":"","parent":null,"children":[{"krate":0,"index":2464}],"docs":"","sig":null,"attributes":[]},{"id":122,"kind":"Direct","span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":2466}],"docs":"","sig":null,"attributes":[]},{"id":123,"kind":"Inherent","span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2468},{"krate":0,"index":2469},{"krate":0,"index":2470},{"krate":0,"index":2471},{"krate":0,"index":2472},{"krate":0,"index":2473},{"krate":0,"index":2474},{"krate":0,"index":2475}],"docs":"","sig":null,"attributes":[]},{"id":124,"kind":"Inherent","span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"value":"","parent":null,"children":[{"krate":0,"index":2490},{"krate":0,"index":2492}],"docs":"","sig":null,"attributes":[]},{"id":125,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"value":"","parent":null,"children":[{"krate":0,"index":2495}],"docs":"","sig":null,"attributes":[]},{"id":126,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"value":"","parent":null,"children":[{"krate":0,"index":2497}],"docs":"","sig":null,"attributes":[]},{"id":127,"kind":"Direct","span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"value":"","parent":null,"children":[{"krate":0,"index":2499}],"docs":"","sig":null,"attributes":[]},{"id":128,"kind":"Inherent","span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"value":"","parent":null,"children":[{"krate":0,"index":2527},{"krate":0,"index":2528},{"krate":0,"index":2529},{"krate":0,"index":2530},{"krate":0,"index":2531}],"docs":"","sig":null,"attributes":[]},{"id":129,"kind":"Inherent","span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"value":"","parent":null,"children":[{"krate":0,"index":2533},{"krate":0,"index":2534},{"krate":0,"index":2535},{"krate":0,"index":2536},{"krate":0,"index":2537},{"krate":0,"index":2538},{"krate":0,"index":2539},{"krate":0,"index":2540},{"krate":0,"index":2541},{"krate":0,"index":2542},{"krate":0,"index":2543},{"krate":0,"index":2544},{"krate":0,"index":2545},{"krate":0,"index":2546},{"krate":0,"index":2547},{"krate":0,"index":2548},{"krate":0,"index":2549},{"krate":0,"index":2550},{"krate":0,"index":2551},{"krate":0,"index":2552}],"docs":"","sig":null,"attributes":[]},{"id":130,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"value":"","parent":null,"children":[{"krate":0,"index":2554},{"krate":0,"index":2555}],"docs":"","sig":null,"attributes":[]},{"id":131,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"value":"","parent":null,"children":[{"krate":0,"index":2558},{"krate":0,"index":2559}],"docs":"","sig":null,"attributes":[]},{"id":132,"kind":"Direct","span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"value":"","parent":null,"children":[{"krate":0,"index":2563},{"krate":0,"index":2564}],"docs":"","sig":null,"attributes":[]},{"id":133,"kind":"Direct","span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":134,"kind":"Direct","span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"value":"","parent":null,"children":[{"krate":0,"index":2608}],"docs":"","sig":null,"attributes":[]},{"id":135,"kind":"Inherent","span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"value":"","parent":null,"children":[{"krate":0,"index":2610},{"krate":0,"index":2611},{"krate":0,"index":2612},{"krate":0,"index":2613},{"krate":0,"index":2615},{"krate":0,"index":2616},{"krate":0,"index":2618},{"krate":0,"index":2619},{"krate":0,"index":2620},{"krate":0,"index":2621},{"krate":0,"index":2622},{"krate":0,"index":2623},{"krate":0,"index":2624},{"krate":0,"index":2625},{"krate":0,"index":2626},{"krate":0,"index":2627},{"krate":0,"index":2628},{"krate":0,"index":2629},{"krate":0,"index":2632},{"krate":0,"index":2635},{"krate":0,"index":2638},{"krate":0,"index":2641},{"krate":0,"index":2644}],"docs":"","sig":null,"attributes":[]},{"id":136,"kind":"Inherent","span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"value":"","parent":null,"children":[{"krate":0,"index":2684},{"krate":0,"index":2685}],"docs":"","sig":null,"attributes":[]},{"id":137,"kind":"Inherent","span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"value":"","parent":null,"children":[{"krate":0,"index":2700},{"krate":0,"index":2701},{"krate":0,"index":2703},{"krate":0,"index":2704},{"krate":0,"index":2705}],"docs":"","sig":null,"attributes":[]},{"id":138,"kind":"Inherent","span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"value":"","parent":null,"children":[{"krate":0,"index":2739},{"krate":0,"index":2740},{"krate":0,"index":2741}],"docs":"","sig":null,"attributes":[]},{"id":139,"kind":"Direct","span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":140,"kind":"Direct","span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"value":"","parent":null,"children":[],"docs":"","sig":null,"attributes":[]},{"id":141,"kind":"Inherent","span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"value":"","parent":null,"children":[{"krate":0,"index":2793},{"krate":0,"index":2795},{"krate":0,"index":2796},{"krate":0,"index":2797},{"krate":0,"index":2798},{"krate":0,"index":2799},{"krate":0,"index":2801},{"krate":0,"index":2803},{"krate":0,"index":2805}],"docs":"","sig":null,"attributes":[]}],"refs":[{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21888,"byte_end":21891,"line_start":328,"line_end":328,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35055,"byte_end":35060,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35062,"byte_end":35067,"line_start":5,"line_end":5,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35083,"byte_end":35088,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35090,"byte_end":35096,"line_start":6,"line_end":6,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35110,"byte_end":35115,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/idl.rs","byte_start":35117,"byte_end":35120,"line_start":7,"line_end":7,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35217,"byte_end":35222,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35236,"byte_end":35239,"line_start":13,"line_end":13,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":2809}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35368,"byte_end":35375,"line_start":21,"line_end":21,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35383,"byte_end":35386,"line_start":21,"line_end":21,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35387,"byte_end":35393,"line_start":21,"line_end":21,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35423,"byte_end":35426,"line_start":22,"line_end":22,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35428,"byte_end":35435,"line_start":22,"line_end":22,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35437,"byte_end":35443,"line_start":22,"line_end":22,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35494,"byte_end":35501,"line_start":24,"line_end":24,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35525,"byte_end":35528,"line_start":25,"line_end":25,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35529,"byte_end":35535,"line_start":25,"line_end":25,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35559,"byte_end":35566,"line_start":26,"line_end":26,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35597,"byte_end":35600,"line_start":27,"line_end":27,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35601,"byte_end":35607,"line_start":27,"line_end":27,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35362,"byte_end":35366,"line_start":21,"line_end":21,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2823}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35377,"byte_end":35381,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":2824}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35411,"byte_end":35421,"line_start":22,"line_end":22,"column_start":14,"column_end":24},"ref_id":{"krate":0,"index":2826}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35460,"byte_end":35465,"line_start":23,"line_end":23,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2828}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35488,"byte_end":35492,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2830}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35517,"byte_end":35523,"line_start":25,"line_end":25,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2832}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35553,"byte_end":35557,"line_start":26,"line_end":26,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":2834}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35584,"byte_end":35595,"line_start":27,"line_end":27,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":2836}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35716,"byte_end":35722,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35737,"byte_end":35743,"line_start":35,"line_end":35,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35709,"byte_end":35714,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2840}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":35732,"byte_end":35735,"line_start":35,"line_end":35,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":2841}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35924,"byte_end":35930,"line_start":49,"line_end":49,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35935,"byte_end":35941,"line_start":49,"line_end":49,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35948,"byte_end":35956,"line_start":49,"line_end":49,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35989,"byte_end":35995,"line_start":50,"line_end":50,"column_start":30,"column_end":36},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36006,"byte_end":36019,"line_start":50,"line_end":50,"column_start":47,"column_end":60},"ref_id":{"krate":5,"index":5549}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":35998,"byte_end":36004,"line_start":50,"line_end":50,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36027,"byte_end":36030,"line_start":50,"line_end":50,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":5601}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36020,"byte_end":36026,"line_start":50,"line_end":50,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1073741840}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36070,"byte_end":36078,"line_start":52,"line_end":52,"column_start":35,"column_end":43},"ref_id":{"krate":1,"index":7936}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36058,"byte_end":36063,"line_start":52,"line_end":52,"column_start":23,"column_end":28},"ref_id":{"krate":1,"index":12669}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36051,"byte_end":36055,"line_start":52,"line_end":52,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36044,"byte_end":36050,"line_start":52,"line_end":52,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741840}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36113,"byte_end":36117,"line_start":53,"line_end":53,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36111,"byte_end":36112,"line_start":53,"line_end":53,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1476395024}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36145,"byte_end":36148,"line_start":55,"line_end":55,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36137,"byte_end":36144,"line_start":55,"line_end":55,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":2214592528}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36200,"byte_end":36204,"line_start":56,"line_end":56,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36192,"byte_end":36199,"line_start":56,"line_end":56,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2214592528}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36180,"byte_end":36184,"line_start":56,"line_end":56,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36236,"byte_end":36239,"line_start":57,"line_end":57,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3556769808}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36282,"byte_end":36290,"line_start":58,"line_end":58,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36270,"byte_end":36281,"line_start":58,"line_end":58,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":134217744}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36292,"byte_end":36299,"line_start":58,"line_end":58,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":2214592528}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36300,"byte_end":36305,"line_start":58,"line_end":58,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":37912}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36302,"byte_end":36305,"line_start":58,"line_end":58,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":37914}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36302,"byte_end":36305,"line_start":58,"line_end":58,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3556769808}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36388,"byte_end":36396,"line_start":61,"line_end":61,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36376,"byte_end":36387,"line_start":61,"line_end":61,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":134217744}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36397,"byte_end":36404,"line_start":61,"line_end":61,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2214592528}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36462,"byte_end":36464,"line_start":67,"line_end":67,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36465,"byte_end":36469,"line_start":67,"line_end":67,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36484,"byte_end":36487,"line_start":68,"line_end":68,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2841}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36495,"byte_end":36500,"line_start":68,"line_end":68,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":19}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36519,"byte_end":36522,"line_start":68,"line_end":68,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":5601}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36507,"byte_end":36518,"line_start":68,"line_end":68,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":134217744}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36527,"byte_end":36538,"line_start":68,"line_end":68,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":134217744}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36554,"byte_end":36559,"line_start":69,"line_end":69,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2840}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36561,"byte_end":36572,"line_start":69,"line_end":69,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":134217744}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36665,"byte_end":36672,"line_start":74,"line_end":74,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36693,"byte_end":36697,"line_start":75,"line_end":75,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073741842}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36698,"byte_end":36703,"line_start":75,"line_end":75,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":2840}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36724,"line_start":75,"line_end":75,"column_start":21,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36714,"line_start":75,"line_end":75,"column_start":21,"column_end":31},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36704,"byte_end":36708,"line_start":75,"line_end":75,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36709,"byte_end":36714,"line_start":75,"line_end":75,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36716,"byte_end":36724,"line_start":75,"line_end":75,"column_start":33,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36716,"byte_end":36720,"line_start":75,"line_end":75,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":536870930}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36721,"byte_end":36724,"line_start":75,"line_end":75,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2809}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36803,"byte_end":36809,"line_start":78,"line_end":78,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36810,"byte_end":36816,"line_start":78,"line_end":78,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36818,"byte_end":36826,"line_start":78,"line_end":78,"column_start":86,"column_end":94},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36842,"byte_end":36847,"line_start":80,"line_end":80,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36851,"byte_end":36854,"line_start":80,"line_end":80,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36876,"byte_end":36879,"line_start":81,"line_end":81,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":36890,"byte_end":36893,"line_start":81,"line_end":81,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36880,"byte_end":36888,"line_start":81,"line_end":81,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":36935,"byte_end":36940,"line_start":84,"line_end":84,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36968,"byte_end":36971,"line_start":85,"line_end":85,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36982,"byte_end":36996,"line_start":85,"line_end":85,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4066}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":36972,"byte_end":36980,"line_start":85,"line_end":85,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37054,"byte_end":37058,"line_start":89,"line_end":89,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2845}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37042,"byte_end":37052,"line_start":89,"line_end":89,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37085,"byte_end":37090,"line_start":91,"line_end":91,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37106,"byte_end":37118,"line_start":92,"line_end":92,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":738197523}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37134,"byte_end":37138,"line_start":92,"line_end":92,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2845}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37122,"byte_end":37132,"line_start":92,"line_end":92,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37142,"byte_end":37147,"line_start":92,"line_end":92,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37150,"byte_end":37153,"line_start":92,"line_end":92,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37175,"byte_end":37181,"line_start":93,"line_end":93,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37200,"line_start":93,"line_end":93,"column_start":27,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37187,"line_start":93,"line_end":93,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37182,"byte_end":37187,"line_start":93,"line_end":93,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37189,"byte_end":37200,"line_start":93,"line_end":93,"column_start":34,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37190,"byte_end":37195,"line_start":93,"line_end":93,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37256,"byte_end":37262,"line_start":94,"line_end":94,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2851}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37244,"byte_end":37254,"line_start":94,"line_end":94,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37229,"byte_end":37241,"line_start":94,"line_end":94,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197523}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37319,"byte_end":37324,"line_start":95,"line_end":95,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":2849}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37307,"byte_end":37317,"line_start":95,"line_end":95,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37292,"byte_end":37304,"line_start":95,"line_end":95,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197523}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37381,"byte_end":37386,"line_start":96,"line_end":96,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":2847}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37369,"byte_end":37379,"line_start":96,"line_end":96,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37354,"byte_end":37366,"line_start":96,"line_end":96,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":738197523}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37444,"byte_end":37449,"line_start":97,"line_end":97,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":2853}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37432,"byte_end":37442,"line_start":97,"line_end":97,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37417,"byte_end":37429,"line_start":97,"line_end":97,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":738197523}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37505,"byte_end":37510,"line_start":101,"line_end":101,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37596,"byte_end":37611,"line_start":106,"line_end":106,"column_start":27,"column_end":42},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37677,"byte_end":37682,"line_start":109,"line_end":109,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37767,"byte_end":37779,"line_start":113,"line_end":113,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":738197523}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37806,"byte_end":37810,"line_start":114,"line_end":114,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2845}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37794,"byte_end":37804,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37806,"byte_end":37810,"line_start":114,"line_end":114,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2845}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37794,"byte_end":37804,"line_start":114,"line_end":114,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":37882,"byte_end":37886,"line_start":115,"line_end":115,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37863,"byte_end":37869,"line_start":115,"line_end":115,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37880,"line_start":115,"line_end":115,"column_start":30,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37875,"line_start":115,"line_end":115,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37870,"byte_end":37875,"line_start":115,"line_end":115,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37877,"byte_end":37880,"line_start":115,"line_end":115,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37877,"byte_end":37880,"line_start":115,"line_end":115,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37921,"byte_end":37923,"line_start":116,"line_end":116,"column_start":31,"column_end":33},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37924,"byte_end":37930,"line_start":116,"line_end":116,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37932,"byte_end":37936,"line_start":116,"line_end":116,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":37939,"byte_end":37944,"line_start":116,"line_end":116,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37986,"byte_end":37988,"line_start":117,"line_end":117,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37989,"byte_end":37995,"line_start":117,"line_end":117,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":37997,"byte_end":38001,"line_start":117,"line_end":117,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38004,"byte_end":38009,"line_start":117,"line_end":117,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38047,"byte_end":38049,"line_start":118,"line_end":118,"column_start":27,"column_end":29},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38058,"byte_end":38063,"line_start":118,"line_end":118,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":2820}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38050,"byte_end":38056,"line_start":118,"line_end":118,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38091,"byte_end":38093,"line_start":119,"line_end":119,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38094,"byte_end":38100,"line_start":119,"line_end":119,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38102,"byte_end":38108,"line_start":119,"line_end":119,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38111,"byte_end":38115,"line_start":119,"line_end":119,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38117,"byte_end":38124,"line_start":119,"line_end":119,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38127,"byte_end":38132,"line_start":119,"line_end":119,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38127,"byte_end":38132,"line_start":119,"line_end":119,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38134,"byte_end":38137,"line_start":119,"line_end":119,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38134,"byte_end":38137,"line_start":119,"line_end":119,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38199,"byte_end":38205,"line_start":122,"line_end":122,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2851}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38187,"byte_end":38197,"line_start":122,"line_end":122,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38199,"byte_end":38205,"line_start":122,"line_end":122,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2851}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38187,"byte_end":38197,"line_start":122,"line_end":122,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38249,"byte_end":38252,"line_start":123,"line_end":123,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38253,"byte_end":38259,"line_start":123,"line_end":123,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38268,"byte_end":38271,"line_start":123,"line_end":123,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38263,"byte_end":38266,"line_start":123,"line_end":123,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38298,"byte_end":38304,"line_start":125,"line_end":125,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38317,"byte_end":38322,"line_start":125,"line_end":125,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38325,"byte_end":38328,"line_start":125,"line_end":125,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38332,"byte_end":38339,"line_start":125,"line_end":125,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38350,"byte_end":38357,"line_start":125,"line_end":125,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38394,"byte_end":38400,"line_start":127,"line_end":127,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38419,"line_start":127,"line_end":127,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38406,"line_start":127,"line_end":127,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38401,"byte_end":38406,"line_start":127,"line_end":127,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38408,"byte_end":38419,"line_start":127,"line_end":127,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38409,"byte_end":38414,"line_start":127,"line_end":127,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38484,"byte_end":38491,"line_start":129,"line_end":129,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38534,"byte_end":38543,"line_start":131,"line_end":131,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38581,"byte_end":38588,"line_start":132,"line_end":132,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38592,"byte_end":38607,"line_start":132,"line_end":132,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38649,"byte_end":38661,"line_start":133,"line_end":133,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38665,"byte_end":38670,"line_start":133,"line_end":133,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38717,"byte_end":38721,"line_start":134,"line_end":134,"column_start":45,"column_end":49},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38713,"byte_end":38716,"line_start":134,"line_end":134,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":545259539}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":38728,"byte_end":38733,"line_start":134,"line_end":134,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38734,"byte_end":38739,"line_start":134,"line_end":134,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38745,"byte_end":38757,"line_start":134,"line_end":134,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38759,"byte_end":38764,"line_start":134,"line_end":134,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38766,"byte_end":38772,"line_start":134,"line_end":134,"column_start":94,"column_end":100},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38851,"byte_end":38857,"line_start":136,"line_end":136,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":38944,"byte_end":38951,"line_start":138,"line_end":138,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39147,"byte_end":39156,"line_start":143,"line_end":143,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39191,"byte_end":39198,"line_start":144,"line_end":144,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39240,"byte_end":39247,"line_start":145,"line_end":145,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39376,"byte_end":39385,"line_start":149,"line_end":149,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39420,"byte_end":39427,"line_start":150,"line_end":150,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39469,"byte_end":39476,"line_start":151,"line_end":151,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39636,"byte_end":39645,"line_start":155,"line_end":155,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39680,"byte_end":39687,"line_start":156,"line_end":156,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39729,"byte_end":39736,"line_start":157,"line_end":157,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":39894,"byte_end":39901,"line_start":161,"line_end":161,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40002,"byte_end":40009,"line_start":164,"line_end":164,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40303,"byte_end":40312,"line_start":170,"line_end":170,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40290,"byte_end":40299,"line_start":170,"line_end":170,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40435,"byte_end":40442,"line_start":174,"line_end":174,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40446,"byte_end":40461,"line_start":174,"line_end":174,"column_start":43,"column_end":58},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40466,"byte_end":40475,"line_start":174,"line_end":174,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40513,"byte_end":40525,"line_start":175,"line_end":175,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40529,"byte_end":40534,"line_start":175,"line_end":175,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":40577,"byte_end":40581,"line_start":176,"line_end":176,"column_start":41,"column_end":45},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40573,"byte_end":40576,"line_start":176,"line_end":176,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":545259539}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":40588,"byte_end":40593,"line_start":176,"line_end":176,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40594,"byte_end":40599,"line_start":176,"line_end":176,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40605,"byte_end":40617,"line_start":176,"line_end":176,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40619,"byte_end":40624,"line_start":176,"line_end":176,"column_start":83,"column_end":88},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40626,"byte_end":40632,"line_start":176,"line_end":176,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40718,"byte_end":40723,"line_start":178,"line_end":178,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40703,"byte_end":40715,"line_start":178,"line_end":178,"column_start":33,"column_end":45},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40846,"byte_end":40853,"line_start":182,"line_end":182,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40931,"byte_end":40936,"line_start":185,"line_end":185,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":40981,"byte_end":40987,"line_start":188,"line_end":188,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41045,"byte_end":41049,"line_start":189,"line_end":189,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41037,"byte_end":41043,"line_start":189,"line_end":189,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41129,"byte_end":41137,"line_start":190,"line_end":190,"column_start":29,"column_end":37},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41121,"byte_end":41128,"line_start":190,"line_end":190,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3527409683}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41139,"byte_end":41145,"line_start":190,"line_end":190,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41180,"line_start":190,"line_end":190,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41151,"line_start":190,"line_end":190,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41146,"byte_end":41151,"line_start":190,"line_end":190,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41153,"byte_end":41180,"line_start":190,"line_end":190,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41160,"byte_end":41163,"line_start":190,"line_end":190,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41164,"byte_end":41167,"line_start":190,"line_end":190,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41169,"byte_end":41174,"line_start":190,"line_end":190,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41211,"byte_end":41214,"line_start":191,"line_end":191,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41225,"byte_end":41228,"line_start":191,"line_end":191,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41215,"byte_end":41223,"line_start":191,"line_end":191,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41237,"byte_end":41243,"line_start":191,"line_end":191,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41229,"byte_end":41236,"line_start":191,"line_end":191,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3527409683}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41283,"byte_end":41285,"line_start":194,"line_end":194,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41286,"byte_end":41292,"line_start":194,"line_end":194,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41294,"byte_end":41299,"line_start":194,"line_end":194,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41302,"byte_end":41308,"line_start":194,"line_end":194,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2832}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41310,"byte_end":41313,"line_start":194,"line_end":194,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":545259539}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41356,"byte_end":41361,"line_start":196,"line_end":196,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2847}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41344,"byte_end":41354,"line_start":196,"line_end":196,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41356,"byte_end":41361,"line_start":196,"line_end":196,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2847}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41344,"byte_end":41354,"line_start":196,"line_end":196,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41410,"byte_end":41415,"line_start":197,"line_end":197,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41424,"byte_end":41429,"line_start":197,"line_end":197,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536870931}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41467,"byte_end":41470,"line_start":197,"line_end":197,"column_start":78,"column_end":81},"ref_id":{"krate":1,"index":12620}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":41460,"byte_end":41464,"line_start":197,"line_end":197,"column_start":71,"column_end":75},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41433,"byte_end":41439,"line_start":197,"line_end":197,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41458,"line_start":197,"line_end":197,"column_start":51,"column_end":69},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41445,"line_start":197,"line_end":197,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41440,"byte_end":41445,"line_start":197,"line_end":197,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41447,"byte_end":41458,"line_start":197,"line_end":197,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41448,"byte_end":41453,"line_start":197,"line_end":197,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41667,"byte_end":41679,"line_start":201,"line_end":201,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":3309305875}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41692,"byte_end":41697,"line_start":201,"line_end":201,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41700,"byte_end":41703,"line_start":201,"line_end":201,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41737,"byte_end":41743,"line_start":202,"line_end":202,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41762,"line_start":202,"line_end":202,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41749,"line_start":202,"line_end":202,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41744,"byte_end":41749,"line_start":202,"line_end":202,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41751,"byte_end":41762,"line_start":202,"line_end":202,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41752,"byte_end":41757,"line_start":202,"line_end":202,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41803,"byte_end":41815,"line_start":203,"line_end":203,"column_start":38,"column_end":50},"ref_id":{"krate":0,"index":3309305875}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41913,"byte_end":41918,"line_start":206,"line_end":206,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":41971,"byte_end":41983,"line_start":209,"line_end":209,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":3309305875}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42045,"byte_end":42049,"line_start":210,"line_end":210,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42037,"byte_end":42043,"line_start":210,"line_end":210,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42118,"byte_end":42126,"line_start":211,"line_end":211,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42110,"byte_end":42117,"line_start":211,"line_end":211,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3879731219}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42128,"byte_end":42134,"line_start":211,"line_end":211,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42169,"line_start":211,"line_end":211,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42140,"line_start":211,"line_end":211,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42135,"byte_end":42140,"line_start":211,"line_end":211,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42142,"byte_end":42169,"line_start":211,"line_end":211,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42149,"byte_end":42152,"line_start":211,"line_end":211,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42153,"byte_end":42156,"line_start":211,"line_end":211,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42158,"byte_end":42163,"line_start":211,"line_end":211,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42204,"byte_end":42207,"line_start":212,"line_end":212,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42218,"byte_end":42221,"line_start":212,"line_end":212,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42208,"byte_end":42216,"line_start":212,"line_end":212,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42230,"byte_end":42236,"line_start":212,"line_end":212,"column_start":58,"column_end":64},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42222,"byte_end":42229,"line_start":212,"line_end":212,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3879731219}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42299,"byte_end":42304,"line_start":215,"line_end":215,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42284,"byte_end":42296,"line_start":215,"line_end":215,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42348,"byte_end":42351,"line_start":217,"line_end":217,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42352,"byte_end":42358,"line_start":217,"line_end":217,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":42367,"byte_end":42370,"line_start":217,"line_end":217,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42362,"byte_end":42365,"line_start":217,"line_end":217,"column_start":56,"column_end":59},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42401,"byte_end":42407,"line_start":219,"line_end":219,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42420,"byte_end":42425,"line_start":219,"line_end":219,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42428,"byte_end":42431,"line_start":219,"line_end":219,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42435,"byte_end":42442,"line_start":219,"line_end":219,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42453,"byte_end":42460,"line_start":219,"line_end":219,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42500,"byte_end":42506,"line_start":220,"line_end":220,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42525,"line_start":220,"line_end":220,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42512,"line_start":220,"line_end":220,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42507,"byte_end":42512,"line_start":220,"line_end":220,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42514,"byte_end":42525,"line_start":220,"line_end":220,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42515,"byte_end":42520,"line_start":220,"line_end":220,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42602,"byte_end":42611,"line_start":222,"line_end":222,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42650,"byte_end":42657,"line_start":223,"line_end":223,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42703,"byte_end":42710,"line_start":224,"line_end":224,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42888,"byte_end":42897,"line_start":228,"line_end":228,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42936,"byte_end":42943,"line_start":229,"line_end":229,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":42989,"byte_end":42996,"line_start":230,"line_end":230,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43173,"byte_end":43182,"line_start":234,"line_end":234,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43221,"byte_end":43228,"line_start":235,"line_end":235,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43274,"byte_end":43281,"line_start":236,"line_end":236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43458,"byte_end":43467,"line_start":240,"line_end":240,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43506,"byte_end":43513,"line_start":241,"line_end":241,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43559,"byte_end":43566,"line_start":242,"line_end":242,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43743,"byte_end":43752,"line_start":246,"line_end":246,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43791,"byte_end":43798,"line_start":247,"line_end":247,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":43844,"byte_end":43851,"line_start":248,"line_end":248,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44023,"byte_end":44030,"line_start":252,"line_end":252,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44076,"byte_end":44085,"line_start":253,"line_end":253,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44127,"byte_end":44134,"line_start":254,"line_end":254,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44138,"byte_end":44153,"line_start":254,"line_end":254,"column_start":51,"column_end":66},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44199,"byte_end":44211,"line_start":255,"line_end":255,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44215,"byte_end":44220,"line_start":255,"line_end":255,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":44279,"byte_end":44283,"line_start":256,"line_end":256,"column_start":57,"column_end":61},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44267,"byte_end":44278,"line_start":256,"line_end":256,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3300917267}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":44290,"byte_end":44295,"line_start":256,"line_end":256,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44296,"byte_end":44301,"line_start":256,"line_end":256,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44307,"byte_end":44319,"line_start":256,"line_end":256,"column_start":85,"column_end":97},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44321,"byte_end":44326,"line_start":256,"line_end":256,"column_start":99,"column_end":104},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44328,"byte_end":44334,"line_start":256,"line_end":256,"column_start":106,"column_end":112},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44421,"byte_end":44427,"line_start":258,"line_end":258,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44522,"byte_end":44529,"line_start":260,"line_end":260,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44745,"byte_end":44752,"line_start":265,"line_end":265,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":44865,"byte_end":44872,"line_start":268,"line_end":268,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45190,"byte_end":45199,"line_start":274,"line_end":274,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45177,"byte_end":45186,"line_start":274,"line_end":274,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45338,"byte_end":45345,"line_start":278,"line_end":278,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45349,"byte_end":45364,"line_start":278,"line_end":278,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45369,"byte_end":45378,"line_start":278,"line_end":278,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45420,"byte_end":45432,"line_start":279,"line_end":279,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45436,"byte_end":45441,"line_start":279,"line_end":279,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":45496,"byte_end":45500,"line_start":280,"line_end":280,"column_start":53,"column_end":57},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45484,"byte_end":45495,"line_start":280,"line_end":280,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":3300917267}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":45507,"byte_end":45512,"line_start":280,"line_end":280,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45513,"byte_end":45518,"line_start":280,"line_end":280,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45524,"byte_end":45536,"line_start":280,"line_end":280,"column_start":81,"column_end":93},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45538,"byte_end":45543,"line_start":280,"line_end":280,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45545,"byte_end":45551,"line_start":280,"line_end":280,"column_start":102,"column_end":108},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45645,"byte_end":45650,"line_start":282,"line_end":282,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45630,"byte_end":45642,"line_start":282,"line_end":282,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45789,"byte_end":45796,"line_start":286,"line_end":286,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45886,"byte_end":45891,"line_start":289,"line_end":289,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":45944,"byte_end":45950,"line_start":292,"line_end":292,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46012,"byte_end":46016,"line_start":293,"line_end":293,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46004,"byte_end":46010,"line_start":293,"line_end":293,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46094,"byte_end":46102,"line_start":294,"line_end":294,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46086,"byte_end":46093,"line_start":294,"line_end":294,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1763704851}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46104,"byte_end":46110,"line_start":294,"line_end":294,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46145,"line_start":294,"line_end":294,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46116,"line_start":294,"line_end":294,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46111,"byte_end":46116,"line_start":294,"line_end":294,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46118,"byte_end":46145,"line_start":294,"line_end":294,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46125,"byte_end":46128,"line_start":294,"line_end":294,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46129,"byte_end":46132,"line_start":294,"line_end":294,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46134,"byte_end":46139,"line_start":294,"line_end":294,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46180,"byte_end":46183,"line_start":295,"line_end":295,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46194,"byte_end":46197,"line_start":295,"line_end":295,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46184,"byte_end":46192,"line_start":295,"line_end":295,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46206,"byte_end":46212,"line_start":295,"line_end":295,"column_start":58,"column_end":64},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46198,"byte_end":46205,"line_start":295,"line_end":295,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":1763704851}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46260,"byte_end":46262,"line_start":298,"line_end":298,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46263,"byte_end":46269,"line_start":298,"line_end":298,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46271,"byte_end":46278,"line_start":298,"line_end":298,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46281,"byte_end":46292,"line_start":298,"line_end":298,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":2836}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46281,"byte_end":46292,"line_start":298,"line_end":298,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":3300917267}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46391,"byte_end":46398,"line_start":300,"line_end":300,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46401,"byte_end":46406,"line_start":300,"line_end":300,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46401,"byte_end":46406,"line_start":300,"line_end":300,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46408,"byte_end":46411,"line_start":300,"line_end":300,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46413,"byte_end":46418,"line_start":300,"line_end":300,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46461,"byte_end":46464,"line_start":302,"line_end":302,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46465,"byte_end":46471,"line_start":302,"line_end":302,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":46480,"byte_end":46483,"line_start":302,"line_end":302,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46475,"byte_end":46478,"line_start":302,"line_end":302,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46514,"byte_end":46520,"line_start":304,"line_end":304,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46533,"byte_end":46538,"line_start":304,"line_end":304,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46541,"byte_end":46544,"line_start":304,"line_end":304,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46548,"byte_end":46555,"line_start":304,"line_end":304,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46566,"byte_end":46573,"line_start":304,"line_end":304,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46613,"byte_end":46619,"line_start":305,"line_end":305,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46638,"line_start":305,"line_end":305,"column_start":39,"column_end":57},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46625,"line_start":305,"line_end":305,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46620,"byte_end":46625,"line_start":305,"line_end":305,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46627,"byte_end":46638,"line_start":305,"line_end":305,"column_start":46,"column_end":57},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46628,"byte_end":46633,"line_start":305,"line_end":305,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46715,"byte_end":46724,"line_start":307,"line_end":307,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46763,"byte_end":46770,"line_start":308,"line_end":308,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":46816,"byte_end":46823,"line_start":309,"line_end":309,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47001,"byte_end":47010,"line_start":313,"line_end":313,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47049,"byte_end":47056,"line_start":314,"line_end":314,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47102,"byte_end":47109,"line_start":315,"line_end":315,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47286,"byte_end":47295,"line_start":319,"line_end":319,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47334,"byte_end":47341,"line_start":320,"line_end":320,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47387,"byte_end":47394,"line_start":321,"line_end":321,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47567,"byte_end":47574,"line_start":325,"line_end":325,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47620,"byte_end":47629,"line_start":326,"line_end":326,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47671,"byte_end":47678,"line_start":327,"line_end":327,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47682,"byte_end":47697,"line_start":327,"line_end":327,"column_start":51,"column_end":66},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47743,"byte_end":47755,"line_start":328,"line_end":328,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47759,"byte_end":47764,"line_start":328,"line_end":328,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":47816,"byte_end":47820,"line_start":329,"line_end":329,"column_start":50,"column_end":54},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47811,"byte_end":47815,"line_start":329,"line_end":329,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":656408595}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":47827,"byte_end":47832,"line_start":329,"line_end":329,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47833,"byte_end":47838,"line_start":329,"line_end":329,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47844,"byte_end":47856,"line_start":329,"line_end":329,"column_start":78,"column_end":90},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47858,"byte_end":47863,"line_start":329,"line_end":329,"column_start":92,"column_end":97},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47865,"byte_end":47871,"line_start":329,"line_end":329,"column_start":99,"column_end":105},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":47958,"byte_end":47964,"line_start":331,"line_end":331,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48059,"byte_end":48066,"line_start":333,"line_end":333,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48285,"byte_end":48294,"line_start":338,"line_end":338,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48333,"byte_end":48340,"line_start":339,"line_end":339,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48386,"byte_end":48393,"line_start":340,"line_end":340,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48569,"byte_end":48578,"line_start":344,"line_end":344,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48617,"byte_end":48624,"line_start":345,"line_end":345,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48670,"byte_end":48677,"line_start":346,"line_end":346,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48851,"byte_end":48858,"line_start":350,"line_end":350,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":48971,"byte_end":48978,"line_start":353,"line_end":353,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49296,"byte_end":49305,"line_start":359,"line_end":359,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49283,"byte_end":49292,"line_start":359,"line_end":359,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49444,"byte_end":49451,"line_start":363,"line_end":363,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49455,"byte_end":49470,"line_start":363,"line_end":363,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49476,"byte_end":49485,"line_start":363,"line_end":363,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49527,"byte_end":49539,"line_start":364,"line_end":364,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49543,"byte_end":49548,"line_start":364,"line_end":364,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":49596,"byte_end":49600,"line_start":365,"line_end":365,"column_start":46,"column_end":50},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49591,"byte_end":49595,"line_start":365,"line_end":365,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":656408595}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":49607,"byte_end":49612,"line_start":365,"line_end":365,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49613,"byte_end":49618,"line_start":365,"line_end":365,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49624,"byte_end":49636,"line_start":365,"line_end":365,"column_start":74,"column_end":86},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49638,"byte_end":49643,"line_start":365,"line_end":365,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49645,"byte_end":49651,"line_start":365,"line_end":365,"column_start":95,"column_end":101},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49745,"byte_end":49750,"line_start":367,"line_end":367,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49730,"byte_end":49742,"line_start":367,"line_end":367,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49889,"byte_end":49896,"line_start":371,"line_end":371,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":49986,"byte_end":49991,"line_start":374,"line_end":374,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50044,"byte_end":50050,"line_start":377,"line_end":377,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50112,"byte_end":50116,"line_start":378,"line_end":378,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50104,"byte_end":50110,"line_start":378,"line_end":378,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50192,"byte_end":50200,"line_start":379,"line_end":379,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50184,"byte_end":50191,"line_start":379,"line_end":379,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160019}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50202,"byte_end":50208,"line_start":379,"line_end":379,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50243,"line_start":379,"line_end":379,"column_start":50,"column_end":84},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50214,"line_start":379,"line_end":379,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50209,"byte_end":50214,"line_start":379,"line_end":379,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50216,"byte_end":50243,"line_start":379,"line_end":379,"column_start":57,"column_end":84},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50223,"byte_end":50226,"line_start":379,"line_end":379,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50227,"byte_end":50230,"line_start":379,"line_end":379,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50232,"byte_end":50237,"line_start":379,"line_end":379,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":536870931}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50279,"byte_end":50287,"line_start":380,"line_end":380,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50271,"byte_end":50278,"line_start":380,"line_end":380,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160019}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50327,"byte_end":50335,"line_start":381,"line_end":381,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50319,"byte_end":50326,"line_start":381,"line_end":381,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3932160019}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50381,"byte_end":50384,"line_start":382,"line_end":382,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50395,"byte_end":50398,"line_start":382,"line_end":382,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50385,"byte_end":50393,"line_start":382,"line_end":382,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50407,"byte_end":50413,"line_start":382,"line_end":382,"column_start":58,"column_end":64},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50399,"byte_end":50406,"line_start":382,"line_end":382,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3932160019}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50461,"byte_end":50463,"line_start":385,"line_end":385,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50464,"byte_end":50470,"line_start":385,"line_end":385,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50472,"byte_end":50478,"line_start":385,"line_end":385,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50481,"byte_end":50485,"line_start":385,"line_end":385,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":2823}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50487,"byte_end":50494,"line_start":385,"line_end":385,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":455082003}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50496,"byte_end":50500,"line_start":385,"line_end":385,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":2824}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50496,"byte_end":50500,"line_start":385,"line_end":385,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":656408595}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50561,"byte_end":50566,"line_start":388,"line_end":388,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2849}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50549,"byte_end":50559,"line_start":388,"line_end":388,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50561,"byte_end":50566,"line_start":388,"line_end":388,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2849}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50549,"byte_end":50559,"line_start":388,"line_end":388,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50611,"byte_end":50614,"line_start":389,"line_end":389,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50616,"byte_end":50623,"line_start":389,"line_end":389,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50625,"byte_end":50631,"line_start":389,"line_end":389,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":50641,"byte_end":50644,"line_start":389,"line_end":389,"column_start":60,"column_end":63},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50636,"byte_end":50639,"line_start":389,"line_end":389,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50678,"byte_end":50684,"line_start":391,"line_end":391,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50685,"byte_end":50692,"line_start":391,"line_end":391,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50696,"byte_end":50700,"line_start":391,"line_end":391,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50725,"byte_end":50731,"line_start":393,"line_end":393,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50744,"byte_end":50749,"line_start":393,"line_end":393,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50752,"byte_end":50755,"line_start":393,"line_end":393,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50759,"byte_end":50766,"line_start":393,"line_end":393,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50777,"byte_end":50784,"line_start":393,"line_end":393,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50820,"byte_end":50826,"line_start":394,"line_end":394,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50845,"line_start":394,"line_end":394,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50832,"line_start":394,"line_end":394,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50827,"byte_end":50832,"line_start":394,"line_end":394,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50834,"byte_end":50845,"line_start":394,"line_end":394,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50835,"byte_end":50840,"line_start":394,"line_end":394,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50914,"byte_end":50923,"line_start":396,"line_end":396,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50961,"byte_end":50968,"line_start":397,"line_end":397,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":50972,"byte_end":50987,"line_start":397,"line_end":397,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51029,"byte_end":51041,"line_start":398,"line_end":398,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51045,"byte_end":51050,"line_start":398,"line_end":398,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":51099,"byte_end":51103,"line_start":399,"line_end":399,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":51104,"byte_end":51111,"line_start":399,"line_end":399,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51114,"byte_end":51119,"line_start":399,"line_end":399,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51121,"byte_end":51133,"line_start":399,"line_end":399,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51135,"byte_end":51138,"line_start":399,"line_end":399,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51140,"byte_end":51145,"line_start":399,"line_end":399,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51093,"byte_end":51096,"line_start":399,"line_end":399,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1566572563}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51238,"byte_end":51243,"line_start":401,"line_end":401,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51223,"byte_end":51235,"line_start":401,"line_end":401,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51438,"byte_end":51447,"line_start":407,"line_end":407,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51482,"byte_end":51489,"line_start":408,"line_end":408,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51531,"byte_end":51538,"line_start":409,"line_end":409,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51700,"byte_end":51709,"line_start":413,"line_end":413,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51744,"byte_end":51751,"line_start":414,"line_end":414,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51793,"byte_end":51800,"line_start":415,"line_end":415,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":51961,"byte_end":51970,"line_start":419,"line_end":419,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52005,"byte_end":52012,"line_start":420,"line_end":420,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52054,"byte_end":52061,"line_start":421,"line_end":421,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52217,"byte_end":52224,"line_start":425,"line_end":425,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52266,"byte_end":52275,"line_start":426,"line_end":426,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52313,"byte_end":52320,"line_start":427,"line_end":427,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52324,"byte_end":52339,"line_start":427,"line_end":427,"column_start":47,"column_end":62},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52402,"byte_end":52405,"line_start":428,"line_end":428,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":1566572563}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52385,"byte_end":52389,"line_start":428,"line_end":428,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52451,"byte_end":52463,"line_start":429,"line_end":429,"column_start":44,"column_end":56},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52467,"byte_end":52472,"line_start":429,"line_end":429,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52523,"byte_end":52527,"line_start":430,"line_end":430,"column_start":49,"column_end":53},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52519,"byte_end":52522,"line_start":430,"line_end":430,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":2371878931}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52537,"byte_end":52542,"line_start":430,"line_end":430,"column_start":63,"column_end":68},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52529,"byte_end":52536,"line_start":430,"line_end":430,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":1457520659}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52552,"byte_end":52557,"line_start":430,"line_end":430,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52558,"byte_end":52563,"line_start":430,"line_end":430,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52569,"byte_end":52581,"line_start":430,"line_end":430,"column_start":95,"column_end":107},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52583,"byte_end":52588,"line_start":430,"line_end":430,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52590,"byte_end":52596,"line_start":430,"line_end":430,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52699,"byte_end":52704,"line_start":432,"line_end":432,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52684,"byte_end":52696,"line_start":432,"line_end":432,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52764,"byte_end":52768,"line_start":433,"line_end":433,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52756,"byte_end":52762,"line_start":433,"line_end":433,"column_start":47,"column_end":53},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52750,"byte_end":52753,"line_start":433,"line_end":433,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1566572563}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52881,"byte_end":52885,"line_start":435,"line_end":435,"column_start":67,"column_end":71},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52873,"byte_end":52879,"line_start":435,"line_end":435,"column_start":59,"column_end":65},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":52975,"byte_end":52983,"line_start":436,"line_end":436,"column_start":49,"column_end":57},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52967,"byte_end":52974,"line_start":436,"line_end":436,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":1038090259}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52985,"byte_end":52991,"line_start":436,"line_end":436,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53040,"line_start":436,"line_end":436,"column_start":66,"column_end":114},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53004,"line_start":436,"line_end":436,"column_start":66,"column_end":78},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":52992,"byte_end":53004,"line_start":436,"line_end":436,"column_start":66,"column_end":78},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53006,"byte_end":53040,"line_start":436,"line_end":436,"column_start":80,"column_end":114},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53013,"byte_end":53016,"line_start":436,"line_end":436,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53017,"byte_end":53020,"line_start":436,"line_end":436,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53022,"byte_end":53034,"line_start":436,"line_end":436,"column_start":96,"column_end":108},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":53091,"byte_end":53094,"line_start":437,"line_end":437,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53105,"byte_end":53108,"line_start":437,"line_end":437,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":53095,"byte_end":53103,"line_start":437,"line_end":437,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":53117,"byte_end":53123,"line_start":437,"line_end":437,"column_start":74,"column_end":80},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53109,"byte_end":53116,"line_start":437,"line_end":437,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":1038090259}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53202,"byte_end":53208,"line_start":439,"line_end":439,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53295,"byte_end":53302,"line_start":441,"line_end":441,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53494,"byte_end":53501,"line_start":446,"line_end":446,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53602,"byte_end":53609,"line_start":449,"line_end":449,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53903,"byte_end":53912,"line_start":455,"line_end":455,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":53890,"byte_end":53899,"line_start":455,"line_end":455,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54035,"byte_end":54042,"line_start":459,"line_end":459,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2030043155}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54046,"byte_end":54061,"line_start":459,"line_end":459,"column_start":43,"column_end":58},"ref_id":{"krate":0,"index":20}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54066,"byte_end":54075,"line_start":459,"line_end":459,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":4110417939}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54134,"byte_end":54137,"line_start":460,"line_end":460,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":1566572563}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54117,"byte_end":54121,"line_start":460,"line_end":460,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54180,"byte_end":54184,"line_start":461,"line_end":461,"column_start":41,"column_end":45},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54176,"byte_end":54179,"line_start":461,"line_end":461,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2371878931}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54194,"byte_end":54199,"line_start":461,"line_end":461,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54186,"byte_end":54193,"line_start":461,"line_end":461,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":336592915}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54209,"byte_end":54214,"line_start":461,"line_end":461,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":19}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54215,"byte_end":54220,"line_start":461,"line_end":461,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1073741843}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54226,"byte_end":54238,"line_start":461,"line_end":461,"column_start":87,"column_end":99},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54240,"byte_end":54245,"line_start":461,"line_end":461,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54247,"byte_end":54253,"line_start":461,"line_end":461,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":268435475}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54310,"byte_end":54315,"line_start":462,"line_end":462,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54295,"byte_end":54307,"line_start":462,"line_end":462,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54371,"byte_end":54375,"line_start":463,"line_end":463,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54363,"byte_end":54369,"line_start":463,"line_end":463,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54357,"byte_end":54360,"line_start":463,"line_end":463,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1566572563}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54480,"byte_end":54484,"line_start":465,"line_end":465,"column_start":63,"column_end":67},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54472,"byte_end":54478,"line_start":465,"line_end":465,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54570,"byte_end":54578,"line_start":466,"line_end":466,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54562,"byte_end":54569,"line_start":466,"line_end":466,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":235929619}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54580,"byte_end":54586,"line_start":466,"line_end":466,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54635,"line_start":466,"line_end":466,"column_start":62,"column_end":110},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54599,"line_start":466,"line_end":466,"column_start":62,"column_end":74},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54587,"byte_end":54599,"line_start":466,"line_end":466,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54601,"byte_end":54635,"line_start":466,"line_end":466,"column_start":76,"column_end":110},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54608,"byte_end":54611,"line_start":466,"line_end":466,"column_start":83,"column_end":86},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54612,"byte_end":54615,"line_start":466,"line_end":466,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54617,"byte_end":54629,"line_start":466,"line_end":466,"column_start":92,"column_end":104},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54682,"byte_end":54685,"line_start":467,"line_end":467,"column_start":44,"column_end":47},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54696,"byte_end":54699,"line_start":467,"line_end":467,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":54686,"byte_end":54694,"line_start":467,"line_end":467,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":54708,"byte_end":54714,"line_start":467,"line_end":467,"column_start":70,"column_end":76},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54700,"byte_end":54707,"line_start":467,"line_end":467,"column_start":62,"column_end":69},"ref_id":{"krate":0,"index":235929619}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54870,"byte_end":54877,"line_start":472,"line_end":472,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":54955,"byte_end":54960,"line_start":475,"line_end":475,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55005,"byte_end":55011,"line_start":478,"line_end":478,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55069,"byte_end":55073,"line_start":479,"line_end":479,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55061,"byte_end":55067,"line_start":479,"line_end":479,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55153,"byte_end":55161,"line_start":480,"line_end":480,"column_start":29,"column_end":37},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55145,"byte_end":55152,"line_start":480,"line_end":480,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":1661992979}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55163,"byte_end":55169,"line_start":480,"line_end":480,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55204,"line_start":480,"line_end":480,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55175,"line_start":480,"line_end":480,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55170,"byte_end":55175,"line_start":480,"line_end":480,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55177,"byte_end":55204,"line_start":480,"line_end":480,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55184,"byte_end":55187,"line_start":480,"line_end":480,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55188,"byte_end":55191,"line_start":480,"line_end":480,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55193,"byte_end":55198,"line_start":480,"line_end":480,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55235,"byte_end":55238,"line_start":481,"line_end":481,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55249,"byte_end":55252,"line_start":481,"line_end":481,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55239,"byte_end":55247,"line_start":481,"line_end":481,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":55261,"byte_end":55267,"line_start":481,"line_end":481,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55253,"byte_end":55260,"line_start":481,"line_end":481,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":1661992979}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55307,"byte_end":55309,"line_start":484,"line_end":484,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55310,"byte_end":55316,"line_start":484,"line_end":484,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55318,"byte_end":55324,"line_start":484,"line_end":484,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55326,"byte_end":55336,"line_start":484,"line_end":484,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":2826}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55338,"byte_end":55341,"line_start":484,"line_end":484,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2371878931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55384,"byte_end":55389,"line_start":486,"line_end":486,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2853}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55372,"byte_end":55382,"line_start":486,"line_end":486,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55384,"byte_end":55389,"line_start":486,"line_end":486,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2853}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55372,"byte_end":55382,"line_start":486,"line_end":486,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2844}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55427,"byte_end":55433,"line_start":487,"line_end":487,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55446,"byte_end":55451,"line_start":487,"line_end":487,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55454,"byte_end":55457,"line_start":487,"line_end":487,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55487,"byte_end":55493,"line_start":488,"line_end":488,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55512,"line_start":488,"line_end":488,"column_start":35,"column_end":53},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55499,"line_start":488,"line_end":488,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55494,"byte_end":55499,"line_start":488,"line_end":488,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55501,"byte_end":55512,"line_start":488,"line_end":488,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55502,"byte_end":55507,"line_start":488,"line_end":488,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55578,"byte_end":55585,"line_start":490,"line_end":490,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55686,"byte_end":55693,"line_start":493,"line_end":493,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55737,"byte_end":55743,"line_start":494,"line_end":494,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55869,"byte_end":55876,"line_start":498,"line_end":498,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3573547027}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":55954,"byte_end":55959,"line_start":501,"line_end":501,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56004,"byte_end":56010,"line_start":504,"line_end":504,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1157627923}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56068,"byte_end":56072,"line_start":505,"line_end":505,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56060,"byte_end":56066,"line_start":505,"line_end":505,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56145,"byte_end":56153,"line_start":506,"line_end":506,"column_start":29,"column_end":37},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56137,"byte_end":56144,"line_start":506,"line_end":506,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3666870291}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56155,"byte_end":56161,"line_start":506,"line_end":506,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268435475}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56196,"line_start":506,"line_end":506,"column_start":46,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56167,"line_start":506,"line_end":506,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56162,"byte_end":56167,"line_start":506,"line_end":506,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536870931}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56169,"byte_end":56196,"line_start":506,"line_end":506,"column_start":53,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56176,"byte_end":56179,"line_start":506,"line_end":506,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56180,"byte_end":56183,"line_start":506,"line_end":506,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610612755}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56185,"byte_end":56190,"line_start":506,"line_end":506,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":536870931}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56227,"byte_end":56230,"line_start":507,"line_end":507,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56241,"byte_end":56244,"line_start":507,"line_end":507,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56231,"byte_end":56239,"line_start":507,"line_end":507,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56253,"byte_end":56259,"line_start":507,"line_end":507,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56245,"byte_end":56252,"line_start":507,"line_end":507,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3666870291}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56299,"byte_end":56301,"line_start":510,"line_end":510,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56302,"byte_end":56308,"line_start":510,"line_end":510,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56310,"byte_end":56316,"line_start":510,"line_end":510,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56318,"byte_end":56322,"line_start":510,"line_end":510,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56324,"byte_end":56331,"line_start":510,"line_end":510,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2807}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56334,"byte_end":56339,"line_start":510,"line_end":510,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2808}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56341,"byte_end":56353,"line_start":510,"line_end":510,"column_start":59,"column_end":71},"ref_id":{"krate":0,"index":3841982483}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56355,"byte_end":56358,"line_start":510,"line_end":510,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2809}},{"kind":"Variable","span":{"file_name":"src/idl.rs","byte_start":56360,"byte_end":56365,"line_start":510,"line_end":510,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":2617245715}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56459,"byte_end":56462,"line_start":518,"line_end":518,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":16}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56448,"byte_end":56457,"line_start":518,"line_end":518,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":2839}},{"kind":"Function","span":{"file_name":"src/idl.rs","byte_start":56471,"byte_end":56475,"line_start":518,"line_end":518,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/idl.rs","byte_start":56463,"byte_end":56469,"line_start":518,"line_end":518,"column_start":37,"column_end":43},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21901,"byte_end":21908,"line_start":329,"line_end":329,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57322,"byte_end":57325,"line_start":14,"line_end":14,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":22}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101034,"byte_end":101039,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101042,"byte_end":101048,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101034,"byte_end":101039,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101058,"byte_end":101062,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101082,"byte_end":101085,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101082,"byte_end":101085,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101108,"byte_end":101117,"line_start":2,"line_end":2,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101074,"byte_end":101079,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101128,"byte_end":101134,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2459}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101182,"byte_end":101187,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101189,"byte_end":101192,"line_start":3,"line_end":3,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101203,"byte_end":101208,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101210,"byte_end":101215,"line_start":4,"line_end":4,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101239,"byte_end":101245,"line_start":5,"line_end":5,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101262,"byte_end":101269,"line_start":5,"line_end":5,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101231,"byte_end":101236,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101281,"byte_end":101290,"line_start":5,"line_end":5,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101308,"byte_end":101313,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101315,"byte_end":101320,"line_start":8,"line_end":8,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101331,"byte_end":101336,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/any.rs","byte_start":101338,"byte_end":101344,"line_start":9,"line_end":9,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101359,"byte_end":101364,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101383,"byte_end":101388,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2862}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101500,"byte_end":101508,"line_start":18,"line_end":18,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101566,"byte_end":101577,"line_start":20,"line_end":20,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101602,"byte_end":101605,"line_start":20,"line_end":20,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101589,"byte_end":101600,"line_start":20,"line_end":20,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101654,"byte_end":101665,"line_start":21,"line_end":21,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101690,"byte_end":101693,"line_start":21,"line_end":21,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101677,"byte_end":101688,"line_start":21,"line_end":21,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101730,"byte_end":101733,"line_start":23,"line_end":23,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101734,"byte_end":101750,"line_start":23,"line_end":23,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101772,"byte_end":101778,"line_start":23,"line_end":23,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101779,"byte_end":101786,"line_start":23,"line_end":23,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101788,"byte_end":101796,"line_start":23,"line_end":23,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101837,"byte_end":101840,"line_start":24,"line_end":24,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101830,"byte_end":101835,"line_start":24,"line_end":24,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101864,"byte_end":101870,"line_start":25,"line_end":25,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101852,"byte_end":101863,"line_start":25,"line_end":25,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306454}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101878,"byte_end":101886,"line_start":25,"line_end":25,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101899,"byte_end":101905,"line_start":25,"line_end":25,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101890,"byte_end":101897,"line_start":25,"line_end":25,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":101912,"byte_end":101920,"line_start":25,"line_end":25,"column_start":69,"column_end":77},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101935,"byte_end":101937,"line_start":27,"line_end":27,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101947,"byte_end":101957,"line_start":27,"line_end":27,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":101938,"byte_end":101945,"line_start":27,"line_end":27,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":101958,"byte_end":101969,"line_start":27,"line_end":27,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306454}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102010,"byte_end":102013,"line_start":30,"line_end":30,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102014,"byte_end":102030,"line_start":30,"line_end":30,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102052,"byte_end":102058,"line_start":30,"line_end":30,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102059,"byte_end":102065,"line_start":30,"line_end":30,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102067,"byte_end":102075,"line_start":30,"line_end":30,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102087,"byte_end":102089,"line_start":31,"line_end":31,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102098,"byte_end":102102,"line_start":31,"line_end":31,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102090,"byte_end":102096,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102154,"byte_end":102157,"line_start":34,"line_end":34,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102158,"byte_end":102174,"line_start":34,"line_end":34,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102197,"byte_end":102206,"line_start":34,"line_end":34,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102216,"byte_end":102219,"line_start":34,"line_end":34,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102220,"byte_end":102226,"line_start":34,"line_end":34,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102232,"byte_end":102238,"line_start":34,"line_end":34,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102246,"byte_end":102249,"line_start":34,"line_end":34,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102255,"byte_end":102258,"line_start":34,"line_end":34,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102259,"byte_end":102275,"line_start":34,"line_end":34,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102279,"byte_end":102287,"line_start":34,"line_end":34,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102305,"byte_end":102324,"line_start":35,"line_end":35,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":102325,"byte_end":102331,"line_start":35,"line_end":35,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073741912}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102339,"byte_end":102342,"line_start":35,"line_end":35,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102334,"byte_end":102337,"line_start":35,"line_end":35,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102352,"byte_end":102356,"line_start":35,"line_end":35,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102343,"byte_end":102350,"line_start":35,"line_end":35,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102534,"byte_end":102539,"line_start":38,"line_end":38,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102433,"byte_end":102442,"line_start":38,"line_end":38,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102458,"byte_end":102467,"line_start":38,"line_end":38,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102477,"byte_end":102480,"line_start":38,"line_end":38,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102481,"byte_end":102488,"line_start":38,"line_end":38,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102494,"byte_end":102500,"line_start":38,"line_end":38,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102505,"byte_end":102513,"line_start":38,"line_end":38,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102550,"byte_end":102553,"line_start":39,"line_end":39,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102564,"byte_end":102567,"line_start":39,"line_end":39,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102554,"byte_end":102562,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102737,"byte_end":102742,"line_start":42,"line_end":42,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102638,"byte_end":102647,"line_start":42,"line_end":42,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102663,"byte_end":102672,"line_start":42,"line_end":42,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102690,"byte_end":102696,"line_start":42,"line_end":42,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102697,"byte_end":102706,"line_start":42,"line_end":42,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102708,"byte_end":102716,"line_start":42,"line_end":42,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102753,"byte_end":102756,"line_start":43,"line_end":43,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102767,"byte_end":102770,"line_start":43,"line_end":43,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102757,"byte_end":102765,"line_start":43,"line_end":43,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102968,"byte_end":102973,"line_start":45,"line_end":45,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102884,"byte_end":102893,"line_start":45,"line_end":45,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102911,"byte_end":102920,"line_start":45,"line_end":45,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102925,"byte_end":102931,"line_start":45,"line_end":45,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102932,"byte_end":102938,"line_start":45,"line_end":45,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102946,"byte_end":102954,"line_start":45,"line_end":45,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102984,"byte_end":102987,"line_start":46,"line_end":46,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":102998,"byte_end":103001,"line_start":46,"line_end":46,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":102988,"byte_end":102996,"line_start":46,"line_end":46,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103085,"byte_end":103094,"line_start":48,"line_end":48,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103112,"byte_end":103121,"line_start":48,"line_end":48,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103126,"byte_end":103133,"line_start":48,"line_end":48,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103153,"byte_end":103157,"line_start":49,"line_end":49,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103144,"byte_end":103151,"line_start":49,"line_end":49,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103203,"byte_end":103212,"line_start":51,"line_end":51,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103224,"byte_end":103233,"line_start":51,"line_end":51,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103238,"byte_end":103244,"line_start":51,"line_end":51,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103252,"byte_end":103260,"line_start":51,"line_end":51,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103272,"byte_end":103274,"line_start":52,"line_end":52,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103475,"byte_end":103480,"line_start":54,"line_end":54,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103328,"byte_end":103337,"line_start":54,"line_end":54,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103360,"byte_end":103369,"line_start":54,"line_end":54,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103382,"byte_end":103391,"line_start":54,"line_end":54,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103412,"byte_end":103421,"line_start":54,"line_end":54,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103426,"byte_end":103432,"line_start":54,"line_end":54,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103433,"byte_end":103442,"line_start":54,"line_end":54,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103444,"byte_end":103452,"line_start":54,"line_end":54,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103491,"byte_end":103494,"line_start":55,"line_end":55,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103505,"byte_end":103508,"line_start":55,"line_end":55,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103495,"byte_end":103503,"line_start":55,"line_end":55,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103587,"byte_end":103590,"line_start":57,"line_end":57,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103591,"byte_end":103607,"line_start":57,"line_end":57,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103625,"byte_end":103628,"line_start":57,"line_end":57,"column_start":78,"column_end":81},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103629,"byte_end":103636,"line_start":57,"line_end":57,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103642,"byte_end":103648,"line_start":57,"line_end":57,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103656,"byte_end":103659,"line_start":57,"line_end":57,"column_start":109,"column_end":112},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103665,"byte_end":103668,"line_start":57,"line_end":57,"column_start":118,"column_end":121},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103669,"byte_end":103685,"line_start":57,"line_end":57,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103689,"byte_end":103697,"line_start":57,"line_end":57,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103731,"byte_end":103734,"line_start":59,"line_end":59,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103746,"byte_end":103749,"line_start":59,"line_end":59,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103741,"byte_end":103744,"line_start":59,"line_end":59,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103773,"byte_end":103777,"line_start":60,"line_end":60,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103761,"byte_end":103772,"line_start":60,"line_end":60,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217825}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103791,"byte_end":103794,"line_start":60,"line_end":60,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103778,"byte_end":103789,"line_start":60,"line_end":60,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103818,"byte_end":103822,"line_start":61,"line_end":61,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103811,"byte_end":103817,"line_start":61,"line_end":61,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741921}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103823,"byte_end":103839,"line_start":61,"line_end":61,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103854,"byte_end":103857,"line_start":62,"line_end":62,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103874,"byte_end":103881,"line_start":62,"line_end":62,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103859,"byte_end":103872,"line_start":62,"line_end":62,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103895,"byte_end":103896,"line_start":63,"line_end":63,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103911,"byte_end":103914,"line_start":63,"line_end":63,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103898,"byte_end":103909,"line_start":63,"line_end":63,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103928,"byte_end":103936,"line_start":64,"line_end":64,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103957,"byte_end":103961,"line_start":65,"line_end":65,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":103968,"byte_end":103971,"line_start":65,"line_end":65,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":103963,"byte_end":103966,"line_start":65,"line_end":65,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":103972,"byte_end":103976,"line_start":65,"line_end":65,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104007,"byte_end":104009,"line_start":67,"line_end":67,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104018,"byte_end":104029,"line_start":67,"line_end":67,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":134217825}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104031,"byte_end":104037,"line_start":67,"line_end":67,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073741921}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104107,"byte_end":104110,"line_start":71,"line_end":71,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104111,"byte_end":104127,"line_start":71,"line_end":71,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104133,"byte_end":104139,"line_start":71,"line_end":71,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104156,"byte_end":104160,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104208,"byte_end":104211,"line_start":75,"line_end":75,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104212,"byte_end":104228,"line_start":75,"line_end":75,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104273,"byte_end":104276,"line_start":75,"line_end":75,"column_start":106,"column_end":109},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104277,"byte_end":104293,"line_start":75,"line_end":75,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104313,"byte_end":104317,"line_start":76,"line_end":76,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104306,"byte_end":104312,"line_start":76,"line_end":76,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073741923}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104318,"byte_end":104334,"line_start":76,"line_end":76,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104349,"byte_end":104352,"line_start":77,"line_end":77,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104369,"byte_end":104376,"line_start":77,"line_end":77,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104354,"byte_end":104367,"line_start":77,"line_end":77,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104390,"byte_end":104391,"line_start":78,"line_end":78,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104406,"byte_end":104409,"line_start":78,"line_end":78,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104393,"byte_end":104404,"line_start":78,"line_end":78,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104423,"byte_end":104431,"line_start":79,"line_end":79,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104452,"byte_end":104456,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104463,"byte_end":104466,"line_start":80,"line_end":80,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104458,"byte_end":104461,"line_start":80,"line_end":80,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104467,"byte_end":104471,"line_start":80,"line_end":80,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104503,"byte_end":104509,"line_start":82,"line_end":82,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073741923}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2862}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104533,"byte_end":104540,"line_start":86,"line_end":86,"column_start":14,"column_end":21},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104590,"byte_end":104596,"line_start":88,"line_end":88,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2862}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104647,"byte_end":104653,"line_start":94,"line_end":94,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104658,"byte_end":104666,"line_start":94,"line_end":94,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104734,"byte_end":104744,"line_start":96,"line_end":96,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104727,"byte_end":104732,"line_start":96,"line_end":96,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104755,"byte_end":104761,"line_start":96,"line_end":96,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873780}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104780,"byte_end":104786,"line_start":97,"line_end":97,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873780}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104788,"byte_end":104795,"line_start":97,"line_end":97,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752436}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104866,"byte_end":104875,"line_start":98,"line_end":98,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104854,"byte_end":104864,"line_start":98,"line_end":98,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104847,"byte_end":104852,"line_start":98,"line_end":98,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104876,"byte_end":104883,"line_start":98,"line_end":98,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752436}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104924,"byte_end":104930,"line_start":99,"line_end":99,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873780}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104959,"byte_end":104968,"line_start":99,"line_end":99,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/any.rs","byte_start":104948,"byte_end":104955,"line_start":99,"line_end":99,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104932,"byte_end":104940,"line_start":99,"line_end":99,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441012}},{"kind":"Variable","span":{"file_name":"src/pointer/any.rs","byte_start":104941,"byte_end":104947,"line_start":99,"line_end":99,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/any.rs","byte_start":104977,"byte_end":104979,"line_start":100,"line_end":100,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57335,"byte_end":57341,"line_start":15,"line_end":15,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":103}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105478,"byte_end":105483,"line_start":17,"line_end":17,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105485,"byte_end":105489,"line_start":17,"line_end":17,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105500,"byte_end":105505,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105507,"byte_end":105513,"line_start":18,"line_end":18,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105527,"byte_end":105532,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105564,"byte_end":105569,"line_start":20,"line_end":20,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105581,"byte_end":105584,"line_start":20,"line_end":20,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105581,"byte_end":105584,"line_start":20,"line_end":20,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105556,"byte_end":105561,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105607,"byte_end":105613,"line_start":20,"line_end":20,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105679,"byte_end":105688,"line_start":22,"line_end":22,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105701,"byte_end":105707,"line_start":23,"line_end":23,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105666,"byte_end":105671,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105724,"byte_end":105730,"line_start":24,"line_end":24,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105767,"byte_end":105776,"line_start":26,"line_end":26,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105787,"byte_end":105794,"line_start":26,"line_end":26,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105759,"byte_end":105764,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105806,"byte_end":105812,"line_start":26,"line_end":26,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":2355}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105832,"byte_end":105837,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105839,"byte_end":105842,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105854,"byte_end":105859,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":105854,"byte_end":105859,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1719}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105889,"byte_end":105894,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105896,"byte_end":105902,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105917,"byte_end":105921,"line_start":31,"line_end":31,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105932,"byte_end":105937,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":105939,"byte_end":105945,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106208,"byte_end":106217,"line_start":43,"line_end":43,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106316,"byte_end":106321,"line_start":44,"line_end":44,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106270,"byte_end":106286,"line_start":44,"line_end":44,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106291,"byte_end":106297,"line_start":44,"line_end":44,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106356,"byte_end":106362,"line_start":45,"line_end":45,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742002}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106363,"byte_end":106367,"line_start":45,"line_end":45,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106378,"byte_end":106392,"line_start":45,"line_end":45,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106417,"byte_end":106421,"line_start":47,"line_end":47,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2281701554}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106422,"byte_end":106426,"line_start":47,"line_end":47,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3989}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106437,"byte_end":106441,"line_start":49,"line_end":49,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106445,"byte_end":106449,"line_start":49,"line_end":49,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3892314290}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106479,"byte_end":106485,"line_start":50,"line_end":50,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106496,"byte_end":106509,"line_start":50,"line_end":50,"column_start":41,"column_end":54},"ref_id":{"krate":5,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106488,"byte_end":106494,"line_start":50,"line_end":50,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106510,"byte_end":106514,"line_start":50,"line_end":50,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3892314290}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106548,"byte_end":106555,"line_start":51,"line_end":51,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106548,"byte_end":106549,"line_start":51,"line_end":51,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106551,"byte_end":106555,"line_start":51,"line_end":51,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106551,"byte_end":106555,"line_start":51,"line_end":51,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3892314290}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106576,"byte_end":106580,"line_start":52,"line_end":52,"column_start":19,"column_end":23},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106574,"byte_end":106575,"line_start":52,"line_end":52,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3019899058}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106613,"byte_end":106614,"line_start":54,"line_end":54,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019899058}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106652,"byte_end":106656,"line_start":56,"line_end":56,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106644,"byte_end":106650,"line_start":56,"line_end":56,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106708,"byte_end":106717,"line_start":60,"line_end":60,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106728,"byte_end":106737,"line_start":60,"line_end":60,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106742,"byte_end":106748,"line_start":60,"line_end":60,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106797,"byte_end":106807,"line_start":62,"line_end":62,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106790,"byte_end":106796,"line_start":62,"line_end":62,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871091}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106808,"byte_end":106814,"line_start":62,"line_end":62,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742003}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106815,"byte_end":106826,"line_start":62,"line_end":62,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106828,"byte_end":106832,"line_start":62,"line_end":62,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106843,"byte_end":106857,"line_start":62,"line_end":62,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106882,"byte_end":106886,"line_start":64,"line_end":64,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653363}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106887,"byte_end":106891,"line_start":64,"line_end":64,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":106906,"byte_end":106910,"line_start":67,"line_end":67,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106930,"byte_end":106934,"line_start":68,"line_end":68,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106979,"byte_end":106985,"line_start":70,"line_end":70,"column_start":28,"column_end":34},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":106996,"byte_end":107009,"line_start":70,"line_end":70,"column_start":45,"column_end":58},"ref_id":{"krate":5,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":106988,"byte_end":106994,"line_start":70,"line_end":70,"column_start":37,"column_end":43},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107010,"byte_end":107014,"line_start":70,"line_end":70,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107049,"byte_end":107056,"line_start":72,"line_end":72,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107049,"byte_end":107050,"line_start":72,"line_end":72,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107052,"byte_end":107056,"line_start":72,"line_end":72,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107052,"byte_end":107056,"line_start":72,"line_end":72,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266099}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107081,"byte_end":107089,"line_start":73,"line_end":73,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107075,"byte_end":107080,"line_start":73,"line_end":73,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1811939507}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107104,"byte_end":107123,"line_start":73,"line_end":73,"column_start":46,"column_end":65},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":107099,"byte_end":107102,"line_start":73,"line_end":73,"column_start":41,"column_end":44},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107162,"byte_end":107166,"line_start":76,"line_end":76,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107167,"byte_end":107172,"line_start":76,"line_end":76,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1811939507}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107220,"byte_end":107229,"line_start":80,"line_end":80,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107240,"byte_end":107249,"line_start":80,"line_end":80,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107254,"byte_end":107260,"line_start":80,"line_end":80,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107309,"byte_end":107319,"line_start":82,"line_end":82,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107302,"byte_end":107308,"line_start":82,"line_end":82,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871092}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107320,"byte_end":107326,"line_start":82,"line_end":82,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742004}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107327,"byte_end":107338,"line_start":82,"line_end":82,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107340,"byte_end":107344,"line_start":82,"line_end":82,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107355,"byte_end":107369,"line_start":82,"line_end":82,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107394,"byte_end":107398,"line_start":84,"line_end":84,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653364}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107399,"byte_end":107403,"line_start":84,"line_end":84,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107418,"byte_end":107422,"line_start":87,"line_end":87,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266100}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107442,"byte_end":107446,"line_start":88,"line_end":88,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107491,"byte_end":107497,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107508,"byte_end":107521,"line_start":90,"line_end":90,"column_start":45,"column_end":58},"ref_id":{"krate":5,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107500,"byte_end":107506,"line_start":90,"line_end":90,"column_start":37,"column_end":43},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107522,"byte_end":107526,"line_start":90,"line_end":90,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2013266100}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107561,"byte_end":107568,"line_start":92,"line_end":92,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107561,"byte_end":107562,"line_start":92,"line_end":92,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107564,"byte_end":107568,"line_start":92,"line_end":92,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107564,"byte_end":107568,"line_start":92,"line_end":92,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266100}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107593,"byte_end":107601,"line_start":93,"line_end":93,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107587,"byte_end":107592,"line_start":93,"line_end":93,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1811939508}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":107616,"byte_end":107635,"line_start":93,"line_end":93,"column_start":46,"column_end":65},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":107611,"byte_end":107614,"line_start":93,"line_end":93,"column_start":41,"column_end":44},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107673,"byte_end":107677,"line_start":96,"line_end":96,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":107678,"byte_end":107683,"line_start":96,"line_end":96,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1811939508}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107718,"byte_end":107726,"line_start":102,"line_end":102,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107786,"byte_end":107797,"line_start":106,"line_end":106,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107833,"byte_end":107843,"line_start":107,"line_end":107,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107820,"byte_end":107831,"line_start":107,"line_end":107,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107896,"byte_end":107907,"line_start":109,"line_end":109,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107943,"byte_end":107953,"line_start":110,"line_end":110,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107930,"byte_end":107941,"line_start":110,"line_end":110,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107993,"byte_end":107996,"line_start":113,"line_end":113,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":107997,"byte_end":108013,"line_start":113,"line_end":113,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108035,"byte_end":108041,"line_start":113,"line_end":113,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108042,"byte_end":108049,"line_start":113,"line_end":113,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108051,"byte_end":108059,"line_start":113,"line_end":113,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108085,"byte_end":108091,"line_start":114,"line_end":114,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742009}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108092,"byte_end":108099,"line_start":114,"line_end":114,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536871097}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108135,"byte_end":108141,"line_start":116,"line_end":116,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952790201}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108142,"byte_end":108146,"line_start":116,"line_end":116,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108157,"byte_end":108171,"line_start":116,"line_end":116,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3987}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108214,"byte_end":108217,"line_start":118,"line_end":118,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108207,"byte_end":108212,"line_start":118,"line_end":118,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108241,"byte_end":108247,"line_start":119,"line_end":119,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108229,"byte_end":108240,"line_start":119,"line_end":119,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603979961}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108268,"byte_end":108276,"line_start":120,"line_end":120,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108301,"byte_end":108307,"line_start":121,"line_end":121,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108292,"byte_end":108299,"line_start":121,"line_end":121,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108327,"byte_end":108336,"line_start":121,"line_end":121,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108314,"byte_end":108322,"line_start":121,"line_end":121,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108367,"byte_end":108371,"line_start":124,"line_end":124,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108372,"byte_end":108376,"line_start":124,"line_end":124,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3990}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108404,"byte_end":108413,"line_start":125,"line_end":125,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108391,"byte_end":108402,"line_start":125,"line_end":125,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108404,"byte_end":108413,"line_start":125,"line_end":125,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108391,"byte_end":108402,"line_start":125,"line_end":125,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108447,"byte_end":108453,"line_start":126,"line_end":126,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108435,"byte_end":108446,"line_start":126,"line_end":126,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":603979961}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108466,"byte_end":108474,"line_start":126,"line_end":126,"column_start":48,"column_end":56},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108487,"byte_end":108491,"line_start":126,"line_end":126,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108478,"byte_end":108485,"line_start":126,"line_end":126,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108534,"byte_end":108543,"line_start":128,"line_end":128,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108521,"byte_end":108532,"line_start":128,"line_end":128,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108534,"byte_end":108543,"line_start":128,"line_end":128,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108521,"byte_end":108532,"line_start":128,"line_end":128,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108577,"byte_end":108583,"line_start":129,"line_end":129,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108565,"byte_end":108576,"line_start":129,"line_end":129,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":603979961}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108596,"byte_end":108604,"line_start":129,"line_end":129,"column_start":48,"column_end":56},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108617,"byte_end":108621,"line_start":129,"line_end":129,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108608,"byte_end":108615,"line_start":129,"line_end":129,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108681,"byte_end":108685,"line_start":134,"line_end":134,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108686,"byte_end":108690,"line_start":134,"line_end":134,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3989}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108721,"byte_end":108727,"line_start":135,"line_end":135,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108709,"byte_end":108720,"line_start":135,"line_end":135,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":603979961}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108735,"byte_end":108743,"line_start":135,"line_end":135,"column_start":39,"column_end":47},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108756,"byte_end":108763,"line_start":135,"line_end":135,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108747,"byte_end":108754,"line_start":135,"line_end":135,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108782,"byte_end":108786,"line_start":135,"line_end":135,"column_start":86,"column_end":90},"ref_id":{"krate":1,"index":2929}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108774,"byte_end":108779,"line_start":135,"line_end":135,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108764,"byte_end":108768,"line_start":135,"line_end":135,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108769,"byte_end":108773,"line_start":135,"line_end":135,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108841,"byte_end":108845,"line_start":138,"line_end":138,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":939524281}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108846,"byte_end":108853,"line_start":138,"line_end":138,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108818,"byte_end":108822,"line_start":138,"line_end":138,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108880,"byte_end":108886,"line_start":139,"line_end":139,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108868,"byte_end":108879,"line_start":139,"line_end":139,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":603979961}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108914,"byte_end":108922,"line_start":140,"line_end":140,"column_start":27,"column_end":35},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108951,"byte_end":108957,"line_start":141,"line_end":141,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":108942,"byte_end":108949,"line_start":141,"line_end":141,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":108972,"byte_end":108981,"line_start":141,"line_end":141,"column_start":47,"column_end":56},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":108958,"byte_end":108971,"line_start":141,"line_end":141,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":3238002873}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109020,"byte_end":109022,"line_start":145,"line_end":145,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109032,"byte_end":109042,"line_start":145,"line_end":145,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109023,"byte_end":109030,"line_start":145,"line_end":145,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109043,"byte_end":109054,"line_start":145,"line_end":145,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":603979961}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109101,"byte_end":109104,"line_start":149,"line_end":149,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109105,"byte_end":109121,"line_start":149,"line_end":149,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109142,"byte_end":109148,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109149,"byte_end":109155,"line_start":149,"line_end":149,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109157,"byte_end":109165,"line_start":149,"line_end":149,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109191,"byte_end":109197,"line_start":150,"line_end":150,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742010}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109198,"byte_end":109205,"line_start":150,"line_end":150,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536871098}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109241,"byte_end":109247,"line_start":152,"line_end":152,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952790202}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109248,"byte_end":109252,"line_start":152,"line_end":152,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109263,"byte_end":109277,"line_start":152,"line_end":152,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109311,"byte_end":109314,"line_start":154,"line_end":154,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109315,"byte_end":109321,"line_start":154,"line_end":154,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109330,"byte_end":109333,"line_start":154,"line_end":154,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109325,"byte_end":109328,"line_start":154,"line_end":154,"column_start":43,"column_end":46},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109364,"byte_end":109368,"line_start":156,"line_end":156,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":939524282}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109369,"byte_end":109376,"line_start":156,"line_end":156,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109353,"byte_end":109357,"line_start":156,"line_end":156,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109413,"byte_end":109417,"line_start":157,"line_end":157,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109405,"byte_end":109411,"line_start":157,"line_end":157,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109448,"byte_end":109456,"line_start":158,"line_end":158,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109444,"byte_end":109447,"line_start":158,"line_end":158,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504058}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109480,"byte_end":109488,"line_start":159,"line_end":159,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109476,"byte_end":109479,"line_start":159,"line_end":159,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504058}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109491,"byte_end":109497,"line_start":159,"line_end":159,"column_start":28,"column_end":34},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109489,"byte_end":109490,"line_start":159,"line_end":159,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3556769978}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109518,"byte_end":109526,"line_start":160,"line_end":160,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109514,"byte_end":109517,"line_start":160,"line_end":160,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":1543504058}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109557,"byte_end":109561,"line_start":161,"line_end":161,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109546,"byte_end":109556,"line_start":161,"line_end":161,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":335544506}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109562,"byte_end":109565,"line_start":161,"line_end":161,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1543504058}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109590,"byte_end":109594,"line_start":164,"line_end":164,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":939524282}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109595,"byte_end":109599,"line_start":164,"line_end":164,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3989}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109640,"byte_end":109644,"line_start":165,"line_end":165,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109632,"byte_end":109638,"line_start":165,"line_end":165,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109672,"byte_end":109680,"line_start":166,"line_end":166,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109668,"byte_end":109671,"line_start":166,"line_end":166,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2516582586}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109703,"byte_end":109709,"line_start":166,"line_end":166,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109691,"byte_end":109700,"line_start":166,"line_end":166,"column_start":36,"column_end":45},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109681,"byte_end":109685,"line_start":166,"line_end":166,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":939524282}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109686,"byte_end":109690,"line_start":166,"line_end":166,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3989}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109737,"byte_end":109741,"line_start":167,"line_end":167,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109726,"byte_end":109736,"line_start":167,"line_end":167,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":335544506}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109742,"byte_end":109745,"line_start":167,"line_end":167,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2516582586}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109773,"byte_end":109777,"line_start":170,"line_end":170,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":939524282}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109778,"byte_end":109782,"line_start":170,"line_end":170,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3990}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109810,"byte_end":109819,"line_start":171,"line_end":171,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109797,"byte_end":109808,"line_start":171,"line_end":171,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109810,"byte_end":109819,"line_start":171,"line_end":171,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109797,"byte_end":109808,"line_start":171,"line_end":171,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109852,"byte_end":109856,"line_start":172,"line_end":172,"column_start":28,"column_end":32},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109841,"byte_end":109851,"line_start":172,"line_end":172,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":335544506}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109865,"byte_end":109869,"line_start":172,"line_end":172,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109857,"byte_end":109863,"line_start":172,"line_end":172,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109931,"byte_end":109940,"line_start":174,"line_end":174,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109918,"byte_end":109929,"line_start":174,"line_end":174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109931,"byte_end":109940,"line_start":174,"line_end":174,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109918,"byte_end":109929,"line_start":174,"line_end":174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109973,"byte_end":109977,"line_start":175,"line_end":175,"column_start":28,"column_end":32},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":109962,"byte_end":109972,"line_start":175,"line_end":175,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":335544506}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":109986,"byte_end":109990,"line_start":175,"line_end":175,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":109978,"byte_end":109984,"line_start":175,"line_end":175,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110080,"byte_end":110083,"line_start":180,"line_end":180,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110069,"byte_end":110079,"line_start":180,"line_end":180,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":335544506}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110105,"byte_end":110107,"line_start":181,"line_end":181,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110116,"byte_end":110120,"line_start":181,"line_end":181,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110108,"byte_end":110114,"line_start":181,"line_end":181,"column_start":16,"column_end":22},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110191,"byte_end":110195,"line_start":183,"line_end":183,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110183,"byte_end":110189,"line_start":183,"line_end":183,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110231,"byte_end":110239,"line_start":184,"line_end":184,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110221,"byte_end":110230,"line_start":184,"line_end":184,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1660944570}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110262,"byte_end":110268,"line_start":184,"line_end":184,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110251,"byte_end":110255,"line_start":184,"line_end":184,"column_start":43,"column_end":47},"ref_id":{"krate":5,"index":5165}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110240,"byte_end":110250,"line_start":184,"line_end":184,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":335544506}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110295,"byte_end":110303,"line_start":185,"line_end":185,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110285,"byte_end":110294,"line_start":185,"line_end":185,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1660944570}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110323,"byte_end":110325,"line_start":186,"line_end":186,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110326,"byte_end":110335,"line_start":186,"line_end":186,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1660944570}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110399,"byte_end":110402,"line_start":191,"line_end":191,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110403,"byte_end":110419,"line_start":191,"line_end":191,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110441,"byte_end":110450,"line_start":191,"line_end":191,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110459,"byte_end":110462,"line_start":191,"line_end":191,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110463,"byte_end":110469,"line_start":191,"line_end":191,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110475,"byte_end":110481,"line_start":191,"line_end":191,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110489,"byte_end":110492,"line_start":191,"line_end":191,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110498,"byte_end":110501,"line_start":191,"line_end":191,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110502,"byte_end":110518,"line_start":191,"line_end":191,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110522,"byte_end":110530,"line_start":191,"line_end":191,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110563,"byte_end":110566,"line_start":192,"line_end":192,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110578,"byte_end":110581,"line_start":192,"line_end":192,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110573,"byte_end":110576,"line_start":192,"line_end":192,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110605,"byte_end":110609,"line_start":193,"line_end":193,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110593,"byte_end":110604,"line_start":193,"line_end":193,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088827}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110623,"byte_end":110633,"line_start":193,"line_end":193,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110610,"byte_end":110621,"line_start":193,"line_end":193,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110684,"byte_end":110688,"line_start":195,"line_end":195,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3827}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110671,"byte_end":110682,"line_start":195,"line_end":195,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110811,"byte_end":110817,"line_start":201,"line_end":201,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110818,"byte_end":110824,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110836,"byte_end":110840,"line_start":201,"line_end":201,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110828,"byte_end":110834,"line_start":201,"line_end":201,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":110859,"byte_end":110862,"line_start":203,"line_end":203,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110854,"byte_end":110858,"line_start":203,"line_end":203,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268435643}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110891,"byte_end":110895,"line_start":205,"line_end":205,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268435643}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110934,"byte_end":110944,"line_start":206,"line_end":206,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110925,"byte_end":110931,"line_start":206,"line_end":206,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":110917,"byte_end":110923,"line_start":206,"line_end":206,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111003,"byte_end":111007,"line_start":207,"line_end":207,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":110992,"byte_end":111002,"line_start":207,"line_end":207,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3523215547}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111059,"byte_end":111063,"line_start":208,"line_end":208,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111046,"byte_end":111053,"line_start":208,"line_end":208,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111042,"byte_end":111045,"line_start":208,"line_end":208,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610612923}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111054,"byte_end":111057,"line_start":208,"line_end":208,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1241514171}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111170,"byte_end":111179,"line_start":210,"line_end":210,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111157,"byte_end":111168,"line_start":210,"line_end":210,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111145,"byte_end":111154,"line_start":210,"line_end":210,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2751463611}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111214,"byte_end":111217,"line_start":211,"line_end":211,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2483028155}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111357,"byte_end":111366,"line_start":214,"line_end":214,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111344,"byte_end":111355,"line_start":214,"line_end":214,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111332,"byte_end":111341,"line_start":214,"line_end":214,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2751463611}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111401,"byte_end":111404,"line_start":215,"line_end":215,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2483028155}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111520,"byte_end":111525,"line_start":218,"line_end":218,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3388997819}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111581,"byte_end":111585,"line_start":219,"line_end":219,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111572,"byte_end":111578,"line_start":219,"line_end":219,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111564,"byte_end":111570,"line_start":219,"line_end":219,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111664,"byte_end":111669,"line_start":220,"line_end":220,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111657,"byte_end":111661,"line_start":220,"line_end":220,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111643,"byte_end":111650,"line_start":220,"line_end":220,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111639,"byte_end":111642,"line_start":220,"line_end":220,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610612923}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111651,"byte_end":111655,"line_start":220,"line_end":220,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2969567419}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111725,"byte_end":111727,"line_start":221,"line_end":221,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111725,"byte_end":111727,"line_start":221,"line_end":221,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111791,"byte_end":111792,"line_start":222,"line_end":222,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3103785147}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111784,"byte_end":111788,"line_start":222,"line_end":222,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":111842,"byte_end":111856,"line_start":223,"line_end":223,"column_start":49,"column_end":63},"ref_id":{"krate":0,"index":3019899067}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111956,"byte_end":111959,"line_start":225,"line_end":225,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111956,"byte_end":111959,"line_start":225,"line_end":225,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111976,"byte_end":111979,"line_start":225,"line_end":225,"column_start":65,"column_end":68},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":111990,"byte_end":111993,"line_start":225,"line_end":225,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":111980,"byte_end":111988,"line_start":225,"line_end":225,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112306,"byte_end":112311,"line_start":232,"line_end":232,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3388997819}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112367,"byte_end":112371,"line_start":233,"line_end":233,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112358,"byte_end":112364,"line_start":233,"line_end":233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112350,"byte_end":112356,"line_start":233,"line_end":233,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112429,"byte_end":112433,"line_start":234,"line_end":234,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112442,"byte_end":112446,"line_start":234,"line_end":234,"column_start":64,"column_end":68},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112434,"byte_end":112440,"line_start":234,"line_end":234,"column_start":56,"column_end":62},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112451,"byte_end":112458,"line_start":234,"line_end":234,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112447,"byte_end":112450,"line_start":234,"line_end":234,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":1610612923}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112459,"byte_end":112463,"line_start":234,"line_end":234,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":4076863675}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112419,"byte_end":112426,"line_start":234,"line_end":234,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3690987707}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112788,"byte_end":112791,"line_start":248,"line_end":248,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":2483028155}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112818,"byte_end":112821,"line_start":249,"line_end":249,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112832,"byte_end":112835,"line_start":249,"line_end":249,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":112822,"byte_end":112830,"line_start":249,"line_end":249,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112919,"byte_end":112923,"line_start":252,"line_end":252,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112907,"byte_end":112918,"line_start":252,"line_end":252,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088827}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112924,"byte_end":112933,"line_start":252,"line_end":252,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2751463611}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112954,"byte_end":112968,"line_start":254,"line_end":254,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":3019899067}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":112995,"byte_end":113012,"line_start":255,"line_end":255,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":112983,"byte_end":112994,"line_start":255,"line_end":255,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088827}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113019,"byte_end":113030,"line_start":255,"line_end":255,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113014,"byte_end":113018,"line_start":255,"line_end":255,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113076,"byte_end":113093,"line_start":257,"line_end":257,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113064,"byte_end":113075,"line_start":257,"line_end":257,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088827}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113100,"byte_end":113111,"line_start":257,"line_end":257,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113153,"byte_end":113160,"line_start":260,"line_end":260,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3690987707}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113142,"byte_end":113146,"line_start":260,"line_end":260,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113193,"byte_end":113201,"line_start":261,"line_end":261,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113191,"byte_end":113192,"line_start":261,"line_end":261,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":310378683}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113229,"byte_end":113246,"line_start":262,"line_end":262,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113217,"byte_end":113228,"line_start":262,"line_end":262,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088827}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113279,"byte_end":113290,"line_start":262,"line_end":262,"column_start":75,"column_end":86},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113260,"byte_end":113263,"line_start":262,"line_end":262,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113250,"byte_end":113259,"line_start":262,"line_end":262,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":713031867}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113319,"byte_end":113336,"line_start":263,"line_end":263,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113307,"byte_end":113318,"line_start":263,"line_end":263,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088827}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113337,"byte_end":113346,"line_start":263,"line_end":263,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":713031867}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113390,"byte_end":113407,"line_start":265,"line_end":265,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113378,"byte_end":113389,"line_start":265,"line_end":265,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088827}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113414,"byte_end":113425,"line_start":265,"line_end":265,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113464,"byte_end":113467,"line_start":268,"line_end":268,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113479,"byte_end":113482,"line_start":268,"line_end":268,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113474,"byte_end":113477,"line_start":268,"line_end":268,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113505,"byte_end":113512,"line_start":270,"line_end":270,"column_start":19,"column_end":26},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113505,"byte_end":113506,"line_start":270,"line_end":270,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113508,"byte_end":113512,"line_start":270,"line_end":270,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113508,"byte_end":113512,"line_start":270,"line_end":270,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113533,"byte_end":113537,"line_start":271,"line_end":271,"column_start":19,"column_end":23},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113527,"byte_end":113532,"line_start":271,"line_end":271,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3783262395}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113569,"byte_end":113573,"line_start":274,"line_end":274,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113562,"byte_end":113568,"line_start":274,"line_end":274,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742011}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113574,"byte_end":113590,"line_start":274,"line_end":274,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113605,"byte_end":113608,"line_start":275,"line_end":275,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113613,"byte_end":113617,"line_start":275,"line_end":275,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113655,"byte_end":113660,"line_start":276,"line_end":276,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113640,"byte_end":113653,"line_start":276,"line_end":276,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113661,"byte_end":113665,"line_start":276,"line_end":276,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113726,"byte_end":113733,"line_start":278,"line_end":278,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113711,"byte_end":113724,"line_start":278,"line_end":278,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113761,"byte_end":113762,"line_start":280,"line_end":280,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113777,"byte_end":113787,"line_start":280,"line_end":280,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113764,"byte_end":113775,"line_start":280,"line_end":280,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113801,"byte_end":113809,"line_start":281,"line_end":281,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113811,"byte_end":113825,"line_start":281,"line_end":281,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":3019899067}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113839,"byte_end":113843,"line_start":282,"line_end":282,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":113851,"byte_end":113854,"line_start":282,"line_end":282,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113846,"byte_end":113849,"line_start":282,"line_end":282,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113878,"byte_end":113892,"line_start":282,"line_end":282,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113895,"byte_end":113899,"line_start":282,"line_end":282,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113901,"byte_end":113905,"line_start":282,"line_end":282,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":2348810427}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113907,"byte_end":113914,"line_start":282,"line_end":282,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3988}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113907,"byte_end":113914,"line_start":282,"line_end":282,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":3690987707}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113916,"byte_end":113920,"line_start":282,"line_end":282,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113922,"byte_end":113931,"line_start":282,"line_end":282,"column_start":96,"column_end":105},"ref_id":{"krate":0,"index":2751463611}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113933,"byte_end":113938,"line_start":282,"line_end":282,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113933,"byte_end":113938,"line_start":282,"line_end":282,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":3783262395}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":113985,"byte_end":113987,"line_start":285,"line_end":285,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":113989,"byte_end":114003,"line_start":285,"line_end":285,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":3019899067}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114005,"byte_end":114016,"line_start":285,"line_end":285,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088827}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114018,"byte_end":114024,"line_start":285,"line_end":285,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742011}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114205,"byte_end":114210,"line_start":288,"line_end":288,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114104,"byte_end":114113,"line_start":288,"line_end":288,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114129,"byte_end":114138,"line_start":288,"line_end":288,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114152,"byte_end":114159,"line_start":288,"line_end":288,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114165,"byte_end":114171,"line_start":288,"line_end":288,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114176,"byte_end":114184,"line_start":288,"line_end":288,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114230,"byte_end":114235,"line_start":289,"line_end":289,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342177468}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114259,"byte_end":114265,"line_start":290,"line_end":290,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114250,"byte_end":114257,"line_start":290,"line_end":290,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114259,"byte_end":114265,"line_start":290,"line_end":290,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114250,"byte_end":114257,"line_start":290,"line_end":290,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114300,"byte_end":114309,"line_start":291,"line_end":291,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114310,"byte_end":114316,"line_start":291,"line_end":291,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612924}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114318,"byte_end":114324,"line_start":291,"line_end":291,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268435644}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114332,"byte_end":114337,"line_start":291,"line_end":291,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114326,"byte_end":114331,"line_start":291,"line_end":291,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1207959740}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114397,"byte_end":114399,"line_start":296,"line_end":296,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114451,"byte_end":114454,"line_start":299,"line_end":299,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114455,"byte_end":114471,"line_start":299,"line_end":299,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114514,"byte_end":114517,"line_start":299,"line_end":299,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114518,"byte_end":114534,"line_start":299,"line_end":299,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114598,"byte_end":114602,"line_start":302,"line_end":302,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114585,"byte_end":114596,"line_start":302,"line_end":302,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114603,"byte_end":114608,"line_start":302,"line_end":302,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114609,"byte_end":114616,"line_start":302,"line_end":302,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":536871102}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114677,"byte_end":114690,"line_start":305,"line_end":305,"column_start":31,"column_end":44},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114692,"byte_end":114697,"line_start":305,"line_end":305,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114698,"byte_end":114705,"line_start":305,"line_end":305,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114712,"byte_end":114717,"line_start":305,"line_end":305,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114718,"byte_end":114725,"line_start":305,"line_end":305,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114731,"byte_end":114736,"line_start":305,"line_end":305,"column_start":85,"column_end":90},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114737,"byte_end":114744,"line_start":305,"line_end":305,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114751,"byte_end":114756,"line_start":305,"line_end":305,"column_start":105,"column_end":110},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114757,"byte_end":114764,"line_start":305,"line_end":305,"column_start":111,"column_end":118},"ref_id":{"krate":0,"index":536871102}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114836,"byte_end":114849,"line_start":308,"line_end":308,"column_start":33,"column_end":46},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114851,"byte_end":114856,"line_start":308,"line_end":308,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114857,"byte_end":114864,"line_start":308,"line_end":308,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114871,"byte_end":114876,"line_start":308,"line_end":308,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114877,"byte_end":114884,"line_start":308,"line_end":308,"column_start":74,"column_end":81},"ref_id":{"krate":0,"index":536871102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114926,"byte_end":114929,"line_start":310,"line_end":310,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":114941,"byte_end":114944,"line_start":310,"line_end":310,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114936,"byte_end":114939,"line_start":310,"line_end":310,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":114967,"byte_end":114980,"line_start":312,"line_end":312,"column_start":19,"column_end":32},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114967,"byte_end":114968,"line_start":312,"line_end":312,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114970,"byte_end":114980,"line_start":312,"line_end":312,"column_start":22,"column_end":32},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114970,"byte_end":114980,"line_start":312,"line_end":312,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115001,"byte_end":115005,"line_start":313,"line_end":313,"column_start":19,"column_end":23},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":114995,"byte_end":115000,"line_start":313,"line_end":313,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":100663486}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115033,"byte_end":115045,"line_start":316,"line_end":316,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":704643262}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115072,"byte_end":115076,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115065,"byte_end":115071,"line_start":317,"line_end":317,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742014}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115077,"byte_end":115093,"line_start":317,"line_end":317,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115112,"byte_end":115115,"line_start":318,"line_end":318,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115120,"byte_end":115130,"line_start":318,"line_end":318,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115172,"byte_end":115177,"line_start":319,"line_end":319,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115157,"byte_end":115170,"line_start":319,"line_end":319,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115178,"byte_end":115188,"line_start":319,"line_end":319,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115257,"byte_end":115264,"line_start":321,"line_end":321,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115242,"byte_end":115255,"line_start":321,"line_end":321,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115300,"byte_end":115301,"line_start":323,"line_end":323,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115316,"byte_end":115326,"line_start":323,"line_end":323,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115303,"byte_end":115314,"line_start":323,"line_end":323,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115344,"byte_end":115352,"line_start":324,"line_end":324,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115354,"byte_end":115364,"line_start":324,"line_end":324,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115386,"byte_end":115390,"line_start":325,"line_end":325,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115398,"byte_end":115401,"line_start":325,"line_end":325,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115393,"byte_end":115396,"line_start":325,"line_end":325,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115425,"byte_end":115439,"line_start":325,"line_end":325,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115442,"byte_end":115446,"line_start":325,"line_end":325,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115448,"byte_end":115458,"line_start":325,"line_end":325,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115460,"byte_end":115467,"line_start":325,"line_end":325,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115469,"byte_end":115473,"line_start":325,"line_end":325,"column_start":100,"column_end":104},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115475,"byte_end":115479,"line_start":325,"line_end":325,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115481,"byte_end":115490,"line_start":325,"line_end":325,"column_start":112,"column_end":121},"ref_id":{"krate":0,"index":2818572478}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115492,"byte_end":115497,"line_start":325,"line_end":325,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115492,"byte_end":115497,"line_start":325,"line_end":325,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":100663486}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115654,"byte_end":115671,"line_start":328,"line_end":328,"column_start":107,"column_end":124},"ref_id":{"krate":1,"index":8973}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115585,"byte_end":115594,"line_start":328,"line_end":328,"column_start":38,"column_end":47},"ref_id":{"krate":1,"index":11729}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":115580,"byte_end":115583,"line_start":328,"line_end":328,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115596,"byte_end":115601,"line_start":328,"line_end":328,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1610612926}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115602,"byte_end":115651,"line_start":328,"line_end":328,"column_start":55,"column_end":104},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115602,"byte_end":115615,"line_start":328,"line_end":328,"column_start":55,"column_end":68},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115603,"byte_end":115610,"line_start":328,"line_end":328,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115617,"byte_end":115651,"line_start":328,"line_end":328,"column_start":70,"column_end":104},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115618,"byte_end":115625,"line_start":328,"line_end":328,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":536871102}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115633,"byte_end":115645,"line_start":328,"line_end":328,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":704643262}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":115695,"byte_end":115699,"line_start":330,"line_end":330,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115688,"byte_end":115694,"line_start":330,"line_end":330,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742014}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115700,"byte_end":115716,"line_start":330,"line_end":330,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115735,"byte_end":115738,"line_start":331,"line_end":331,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115743,"byte_end":115753,"line_start":331,"line_end":331,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115795,"byte_end":115800,"line_start":332,"line_end":332,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115780,"byte_end":115793,"line_start":332,"line_end":332,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115801,"byte_end":115811,"line_start":332,"line_end":332,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115880,"byte_end":115887,"line_start":334,"line_end":334,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115865,"byte_end":115878,"line_start":334,"line_end":334,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115923,"byte_end":115924,"line_start":336,"line_end":336,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115939,"byte_end":115949,"line_start":336,"line_end":336,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":115926,"byte_end":115937,"line_start":336,"line_end":336,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115967,"byte_end":115975,"line_start":337,"line_end":337,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":115977,"byte_end":115987,"line_start":337,"line_end":337,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116009,"byte_end":116013,"line_start":338,"line_end":338,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116021,"byte_end":116024,"line_start":338,"line_end":338,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116016,"byte_end":116019,"line_start":338,"line_end":338,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116048,"byte_end":116062,"line_start":338,"line_end":338,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116065,"byte_end":116069,"line_start":338,"line_end":338,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116071,"byte_end":116081,"line_start":338,"line_end":338,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116083,"byte_end":116090,"line_start":338,"line_end":338,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116092,"byte_end":116096,"line_start":338,"line_end":338,"column_start":100,"column_end":104},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116111,"byte_end":116120,"line_start":338,"line_end":338,"column_start":119,"column_end":128},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116097,"byte_end":116110,"line_start":338,"line_end":338,"column_start":105,"column_end":118},"ref_id":{"krate":0,"index":1996488894}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116125,"byte_end":116129,"line_start":338,"line_end":338,"column_start":133,"column_end":137},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116131,"byte_end":116140,"line_start":338,"line_end":338,"column_start":139,"column_end":148},"ref_id":{"krate":0,"index":2818572478}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116142,"byte_end":116147,"line_start":338,"line_end":338,"column_start":150,"column_end":155},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116142,"byte_end":116147,"line_start":338,"line_end":338,"column_start":150,"column_end":155},"ref_id":{"krate":0,"index":100663486}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116201,"byte_end":116211,"line_start":342,"line_end":342,"column_start":10,"column_end":20},"ref_id":{"krate":0,"index":1543504062}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116217,"byte_end":116223,"line_start":342,"line_end":342,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742014}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116362,"byte_end":116367,"line_start":345,"line_end":345,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116263,"byte_end":116272,"line_start":345,"line_end":345,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116288,"byte_end":116297,"line_start":345,"line_end":345,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116315,"byte_end":116321,"line_start":345,"line_end":345,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116322,"byte_end":116331,"line_start":345,"line_end":345,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116333,"byte_end":116341,"line_start":345,"line_end":345,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116389,"byte_end":116398,"line_start":346,"line_end":346,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116378,"byte_end":116387,"line_start":346,"line_end":346,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":174}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116399,"byte_end":116405,"line_start":346,"line_end":346,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1073742015}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116407,"byte_end":116413,"line_start":346,"line_end":346,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871103}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116416,"byte_end":116421,"line_start":346,"line_end":346,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610612927}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116541,"byte_end":116546,"line_start":349,"line_end":349,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116457,"byte_end":116466,"line_start":349,"line_end":349,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116484,"byte_end":116493,"line_start":349,"line_end":349,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116498,"byte_end":116504,"line_start":349,"line_end":349,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116505,"byte_end":116511,"line_start":349,"line_end":349,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116519,"byte_end":116527,"line_start":349,"line_end":349,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116574,"byte_end":116584,"line_start":350,"line_end":350,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116563,"byte_end":116572,"line_start":350,"line_end":350,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":174}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116585,"byte_end":116591,"line_start":350,"line_end":350,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742017}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116593,"byte_end":116599,"line_start":350,"line_end":350,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871105}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116616,"byte_end":116620,"line_start":351,"line_end":351,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116616,"byte_end":116620,"line_start":351,"line_end":351,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116627,"byte_end":116629,"line_start":351,"line_end":351,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116630,"byte_end":116634,"line_start":351,"line_end":351,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116643,"byte_end":116647,"line_start":351,"line_end":351,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116635,"byte_end":116641,"line_start":351,"line_end":351,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116648,"byte_end":116649,"line_start":351,"line_end":351,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":67109057}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116666,"byte_end":116670,"line_start":352,"line_end":352,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116666,"byte_end":116670,"line_start":352,"line_end":352,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116674,"byte_end":116676,"line_start":352,"line_end":352,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116677,"byte_end":116681,"line_start":352,"line_end":352,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116740,"byte_end":116749,"line_start":357,"line_end":357,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116760,"byte_end":116769,"line_start":357,"line_end":357,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116774,"byte_end":116780,"line_start":357,"line_end":357,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116788,"byte_end":116796,"line_start":357,"line_end":357,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116835,"byte_end":116844,"line_start":359,"line_end":359,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116828,"byte_end":116834,"line_start":359,"line_end":359,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871106}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116845,"byte_end":116851,"line_start":359,"line_end":359,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610612930}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":116891,"byte_end":116905,"line_start":360,"line_end":360,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116881,"byte_end":116888,"line_start":360,"line_end":360,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959746}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":116953,"byte_end":116963,"line_start":363,"line_end":363,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3087007938}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":116990,"byte_end":116992,"line_start":364,"line_end":364,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117047,"byte_end":117057,"line_start":367,"line_end":367,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117040,"byte_end":117046,"line_start":367,"line_end":367,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612930}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117058,"byte_end":117064,"line_start":367,"line_end":367,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871106}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117065,"byte_end":117076,"line_start":367,"line_end":367,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117078,"byte_end":117082,"line_start":367,"line_end":367,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117093,"byte_end":117107,"line_start":367,"line_end":367,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117146,"byte_end":117150,"line_start":370,"line_end":370,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":33554626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117151,"byte_end":117155,"line_start":370,"line_end":370,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3989}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117181,"byte_end":117183,"line_start":371,"line_end":371,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117184,"byte_end":117188,"line_start":371,"line_end":371,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":33554626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117189,"byte_end":117193,"line_start":371,"line_end":371,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3989}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117277,"byte_end":117290,"line_start":375,"line_end":375,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117323,"byte_end":117332,"line_start":375,"line_end":375,"column_start":84,"column_end":93},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117299,"byte_end":117310,"line_start":375,"line_end":375,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117292,"byte_end":117298,"line_start":375,"line_end":375,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610612930}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117311,"byte_end":117321,"line_start":375,"line_end":375,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":3087007938}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117431,"byte_end":117433,"line_start":378,"line_end":378,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117434,"byte_end":117444,"line_start":378,"line_end":378,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":234881218}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117514,"byte_end":117517,"line_start":383,"line_end":383,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117518,"byte_end":117534,"line_start":383,"line_end":383,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117555,"byte_end":117562,"line_start":383,"line_end":383,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117568,"byte_end":117574,"line_start":383,"line_end":383,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117582,"byte_end":117585,"line_start":383,"line_end":383,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117591,"byte_end":117594,"line_start":383,"line_end":383,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117595,"byte_end":117611,"line_start":383,"line_end":383,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117615,"byte_end":117623,"line_start":383,"line_end":383,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117657,"byte_end":117660,"line_start":385,"line_end":385,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117672,"byte_end":117675,"line_start":385,"line_end":385,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117667,"byte_end":117670,"line_start":385,"line_end":385,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":117699,"byte_end":117703,"line_start":386,"line_end":386,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117687,"byte_end":117698,"line_start":386,"line_end":386,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217925}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117717,"byte_end":117727,"line_start":386,"line_end":386,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117704,"byte_end":117715,"line_start":386,"line_end":386,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117778,"byte_end":117782,"line_start":388,"line_end":388,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3827}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117765,"byte_end":117776,"line_start":388,"line_end":388,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117824,"byte_end":117835,"line_start":391,"line_end":391,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871109}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117872,"byte_end":117876,"line_start":392,"line_end":392,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117863,"byte_end":117870,"line_start":392,"line_end":392,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117872,"byte_end":117876,"line_start":392,"line_end":392,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117863,"byte_end":117870,"line_start":392,"line_end":392,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117907,"byte_end":117916,"line_start":392,"line_end":392,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":117894,"byte_end":117905,"line_start":392,"line_end":392,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117882,"byte_end":117891,"line_start":392,"line_end":392,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2214592709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117918,"byte_end":117921,"line_start":392,"line_end":392,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2751463621}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":117976,"byte_end":117987,"line_start":396,"line_end":396,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871109}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118024,"byte_end":118028,"line_start":397,"line_end":397,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118015,"byte_end":118022,"line_start":397,"line_end":397,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118024,"byte_end":118028,"line_start":397,"line_end":397,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118015,"byte_end":118022,"line_start":397,"line_end":397,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118059,"byte_end":118068,"line_start":397,"line_end":397,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118046,"byte_end":118057,"line_start":397,"line_end":397,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3826}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118034,"byte_end":118043,"line_start":397,"line_end":397,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2214592709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118070,"byte_end":118073,"line_start":397,"line_end":397,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2751463621}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118125,"byte_end":118128,"line_start":401,"line_end":401,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":2751463621}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118155,"byte_end":118158,"line_start":402,"line_end":402,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118169,"byte_end":118172,"line_start":402,"line_end":402,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118159,"byte_end":118167,"line_start":402,"line_end":402,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118257,"byte_end":118261,"line_start":405,"line_end":405,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118245,"byte_end":118256,"line_start":405,"line_end":405,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134217925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118262,"byte_end":118271,"line_start":405,"line_end":405,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2214592709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118347,"byte_end":118358,"line_start":409,"line_end":409,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536871109}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118390,"byte_end":118397,"line_start":410,"line_end":410,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118381,"byte_end":118388,"line_start":410,"line_end":410,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118390,"byte_end":118397,"line_start":410,"line_end":410,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118381,"byte_end":118388,"line_start":410,"line_end":410,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118422,"byte_end":118436,"line_start":411,"line_end":411,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":4261413061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118464,"byte_end":118465,"line_start":412,"line_end":412,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3774873797}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118499,"byte_end":118502,"line_start":413,"line_end":413,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118513,"byte_end":118516,"line_start":413,"line_end":413,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118503,"byte_end":118511,"line_start":413,"line_end":413,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118651,"byte_end":118652,"line_start":417,"line_end":417,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3774873797}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118664,"byte_end":118668,"line_start":417,"line_end":417,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118660,"byte_end":118663,"line_start":417,"line_end":417,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118700,"byte_end":118703,"line_start":418,"line_end":418,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118714,"byte_end":118717,"line_start":418,"line_end":418,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118704,"byte_end":118712,"line_start":418,"line_end":418,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118866,"byte_end":118872,"line_start":422,"line_end":422,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118854,"byte_end":118865,"line_start":422,"line_end":422,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118898,"byte_end":118904,"line_start":422,"line_end":422,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":118884,"byte_end":118895,"line_start":422,"line_end":422,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118874,"byte_end":118875,"line_start":422,"line_end":422,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3774873797}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118925,"byte_end":118926,"line_start":423,"line_end":423,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3774873797}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118969,"byte_end":118974,"line_start":425,"line_end":425,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118960,"byte_end":118967,"line_start":425,"line_end":425,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118969,"byte_end":118974,"line_start":425,"line_end":425,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":118960,"byte_end":118967,"line_start":425,"line_end":425,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":118999,"byte_end":119013,"line_start":426,"line_end":426,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":4261413061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119041,"byte_end":119042,"line_start":427,"line_end":427,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3405775045}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119078,"byte_end":119081,"line_start":428,"line_end":428,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119092,"byte_end":119095,"line_start":428,"line_end":428,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119082,"byte_end":119090,"line_start":428,"line_end":428,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119230,"byte_end":119231,"line_start":432,"line_end":432,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3405775045}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119243,"byte_end":119247,"line_start":432,"line_end":432,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119239,"byte_end":119242,"line_start":432,"line_end":432,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119279,"byte_end":119282,"line_start":433,"line_end":433,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119293,"byte_end":119296,"line_start":433,"line_end":433,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119283,"byte_end":119291,"line_start":433,"line_end":433,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119446,"byte_end":119452,"line_start":438,"line_end":438,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119434,"byte_end":119445,"line_start":438,"line_end":438,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119478,"byte_end":119484,"line_start":438,"line_end":438,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119464,"byte_end":119475,"line_start":438,"line_end":438,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119454,"byte_end":119455,"line_start":438,"line_end":438,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3405775045}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119505,"byte_end":119506,"line_start":439,"line_end":439,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3405775045}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119575,"byte_end":119581,"line_start":442,"line_end":442,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119563,"byte_end":119574,"line_start":442,"line_end":442,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119601,"byte_end":119607,"line_start":442,"line_end":442,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119587,"byte_end":119598,"line_start":442,"line_end":442,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119688,"byte_end":119699,"line_start":447,"line_end":447,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":536871109}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119734,"byte_end":119740,"line_start":448,"line_end":448,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119725,"byte_end":119732,"line_start":448,"line_end":448,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119734,"byte_end":119740,"line_start":448,"line_end":448,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119725,"byte_end":119732,"line_start":448,"line_end":448,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119799,"byte_end":119809,"line_start":449,"line_end":449,"column_start":47,"column_end":57},"ref_id":{"krate":5,"index":5559}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119791,"byte_end":119796,"line_start":449,"line_end":449,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119785,"byte_end":119790,"line_start":449,"line_end":449,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3967811781}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119842,"byte_end":119845,"line_start":450,"line_end":450,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119832,"byte_end":119841,"line_start":450,"line_end":450,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1115685061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":119855,"byte_end":119858,"line_start":450,"line_end":450,"column_start":43,"column_end":46},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119901,"byte_end":119904,"line_start":451,"line_end":451,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":119915,"byte_end":119918,"line_start":451,"line_end":451,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":119905,"byte_end":119913,"line_start":451,"line_end":451,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120072,"byte_end":120078,"line_start":455,"line_end":455,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120060,"byte_end":120071,"line_start":455,"line_end":455,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120124,"byte_end":120130,"line_start":455,"line_end":455,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120110,"byte_end":120121,"line_start":455,"line_end":455,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120091,"byte_end":120094,"line_start":455,"line_end":455,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120081,"byte_end":120090,"line_start":455,"line_end":455,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1115685061}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120163,"byte_end":120169,"line_start":456,"line_end":456,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120151,"byte_end":120162,"line_start":456,"line_end":456,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120170,"byte_end":120179,"line_start":456,"line_end":456,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":1115685061}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120198,"byte_end":120202,"line_start":457,"line_end":457,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120209,"byte_end":120218,"line_start":457,"line_end":457,"column_start":28,"column_end":37},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120203,"byte_end":120208,"line_start":457,"line_end":457,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3967811781}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120283,"byte_end":120289,"line_start":460,"line_end":460,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120271,"byte_end":120282,"line_start":460,"line_end":460,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134217925}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120309,"byte_end":120315,"line_start":460,"line_end":460,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120295,"byte_end":120306,"line_start":460,"line_end":460,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120336,"byte_end":120340,"line_start":461,"line_end":461,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120390,"byte_end":120393,"line_start":465,"line_end":465,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120405,"byte_end":120408,"line_start":465,"line_end":465,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120400,"byte_end":120403,"line_start":465,"line_end":465,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120431,"byte_end":120438,"line_start":467,"line_end":467,"column_start":19,"column_end":26},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120431,"byte_end":120432,"line_start":467,"line_end":467,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120434,"byte_end":120438,"line_start":467,"line_end":467,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120434,"byte_end":120438,"line_start":467,"line_end":467,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1954545861}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120459,"byte_end":120463,"line_start":468,"line_end":468,"column_start":19,"column_end":23},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120453,"byte_end":120458,"line_start":468,"line_end":468,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2239758533}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120495,"byte_end":120499,"line_start":471,"line_end":471,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120488,"byte_end":120494,"line_start":471,"line_end":471,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742021}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120500,"byte_end":120516,"line_start":471,"line_end":471,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120531,"byte_end":120534,"line_start":472,"line_end":472,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120539,"byte_end":120543,"line_start":472,"line_end":472,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1954545861}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120581,"byte_end":120586,"line_start":473,"line_end":473,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120566,"byte_end":120579,"line_start":473,"line_end":473,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120587,"byte_end":120591,"line_start":473,"line_end":473,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1954545861}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120652,"byte_end":120659,"line_start":475,"line_end":475,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120637,"byte_end":120650,"line_start":475,"line_end":475,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120687,"byte_end":120688,"line_start":477,"line_end":477,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120703,"byte_end":120713,"line_start":477,"line_end":477,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120690,"byte_end":120701,"line_start":477,"line_end":477,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120727,"byte_end":120735,"line_start":478,"line_end":478,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120737,"byte_end":120751,"line_start":478,"line_end":478,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":4261413061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120765,"byte_end":120769,"line_start":479,"line_end":479,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":120777,"byte_end":120780,"line_start":479,"line_end":479,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120772,"byte_end":120775,"line_start":479,"line_end":479,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120804,"byte_end":120818,"line_start":479,"line_end":479,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120821,"byte_end":120825,"line_start":479,"line_end":479,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120821,"byte_end":120825,"line_start":479,"line_end":479,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1954545861}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120827,"byte_end":120834,"line_start":479,"line_end":479,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":3988}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120827,"byte_end":120834,"line_start":479,"line_end":479,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":2843738309}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120836,"byte_end":120840,"line_start":479,"line_end":479,"column_start":84,"column_end":88},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120842,"byte_end":120851,"line_start":479,"line_end":479,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":2214592709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120853,"byte_end":120858,"line_start":479,"line_end":479,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120853,"byte_end":120858,"line_start":479,"line_end":479,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":2239758533}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120905,"byte_end":120907,"line_start":482,"line_end":482,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120909,"byte_end":120923,"line_start":482,"line_end":482,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":4261413061}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120925,"byte_end":120936,"line_start":482,"line_end":482,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":134217925}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":120938,"byte_end":120944,"line_start":482,"line_end":482,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742021}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":120993,"byte_end":121002,"line_start":485,"line_end":485,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121020,"byte_end":121029,"line_start":485,"line_end":485,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121034,"byte_end":121041,"line_start":485,"line_end":485,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121065,"byte_end":121075,"line_start":487,"line_end":487,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121076,"byte_end":121082,"line_start":487,"line_end":487,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871110}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121084,"byte_end":121090,"line_start":487,"line_end":487,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610612934}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121106,"byte_end":121108,"line_start":488,"line_end":488,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121106,"byte_end":121108,"line_start":488,"line_end":488,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121121,"byte_end":121122,"line_start":488,"line_end":488,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":2281701574}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121141,"byte_end":121145,"line_start":489,"line_end":489,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121141,"byte_end":121145,"line_start":489,"line_end":489,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121161,"byte_end":121167,"line_start":489,"line_end":489,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121152,"byte_end":121159,"line_start":489,"line_end":489,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121170,"byte_end":121179,"line_start":489,"line_end":489,"column_start":46,"column_end":55},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121168,"byte_end":121169,"line_start":489,"line_end":489,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3892314310}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121200,"byte_end":121204,"line_start":490,"line_end":490,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121200,"byte_end":121204,"line_start":490,"line_end":490,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121261,"byte_end":121271,"line_start":491,"line_end":491,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121254,"byte_end":121260,"line_start":491,"line_end":491,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610612934}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121272,"byte_end":121278,"line_start":491,"line_end":491,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":536871110}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121279,"byte_end":121290,"line_start":491,"line_end":491,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121292,"byte_end":121296,"line_start":491,"line_end":491,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121307,"byte_end":121321,"line_start":491,"line_end":491,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121374,"byte_end":121378,"line_start":493,"line_end":493,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3959423174}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121379,"byte_end":121386,"line_start":493,"line_end":493,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121413,"byte_end":121417,"line_start":494,"line_end":494,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121413,"byte_end":121417,"line_start":494,"line_end":494,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121433,"byte_end":121439,"line_start":494,"line_end":494,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121424,"byte_end":121431,"line_start":494,"line_end":494,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121442,"byte_end":121451,"line_start":494,"line_end":494,"column_start":54,"column_end":63},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121440,"byte_end":121441,"line_start":494,"line_end":494,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":3154116806}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121480,"byte_end":121484,"line_start":495,"line_end":495,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121480,"byte_end":121484,"line_start":495,"line_end":495,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121497,"byte_end":121501,"line_start":495,"line_end":495,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121488,"byte_end":121495,"line_start":495,"line_end":495,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121594,"byte_end":121597,"line_start":500,"line_end":500,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121594,"byte_end":121597,"line_start":500,"line_end":500,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121614,"byte_end":121618,"line_start":500,"line_end":500,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121605,"byte_end":121612,"line_start":500,"line_end":500,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121705,"byte_end":121708,"line_start":504,"line_end":504,"column_start":65,"column_end":68},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121709,"byte_end":121725,"line_start":504,"line_end":504,"column_start":69,"column_end":85},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121731,"byte_end":121737,"line_start":504,"line_end":504,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121771,"byte_end":121784,"line_start":505,"line_end":505,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121760,"byte_end":121769,"line_start":505,"line_end":505,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":174}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121788,"byte_end":121799,"line_start":505,"line_end":505,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":536871111}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121801,"byte_end":121807,"line_start":505,"line_end":505,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610612935}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121823,"byte_end":121827,"line_start":506,"line_end":506,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121823,"byte_end":121827,"line_start":506,"line_end":506,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121834,"byte_end":121838,"line_start":506,"line_end":506,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":121847,"byte_end":121851,"line_start":506,"line_end":506,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121839,"byte_end":121845,"line_start":506,"line_end":506,"column_start":29,"column_end":35},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":121852,"byte_end":121853,"line_start":506,"line_end":506,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3355443399}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121869,"byte_end":121873,"line_start":507,"line_end":507,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121869,"byte_end":121873,"line_start":507,"line_end":507,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121877,"byte_end":121881,"line_start":507,"line_end":507,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":174}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121916,"byte_end":121925,"line_start":514,"line_end":514,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122036,"byte_end":122041,"line_start":515,"line_end":515,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":121990,"byte_end":122006,"line_start":515,"line_end":515,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122011,"byte_end":122017,"line_start":515,"line_end":515,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122052,"byte_end":122056,"line_start":516,"line_end":516,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122093,"byte_end":122102,"line_start":518,"line_end":518,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122114,"byte_end":122123,"line_start":518,"line_end":518,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122128,"byte_end":122134,"line_start":518,"line_end":518,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122151,"byte_end":122155,"line_start":519,"line_end":519,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122193,"byte_end":122202,"line_start":522,"line_end":522,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122214,"byte_end":122223,"line_start":522,"line_end":522,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122228,"byte_end":122234,"line_start":522,"line_end":522,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122251,"byte_end":122255,"line_start":523,"line_end":523,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":174}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122278,"byte_end":122286,"line_start":527,"line_end":527,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122355,"byte_end":122366,"line_start":529,"line_end":529,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122378,"byte_end":122386,"line_start":529,"line_end":529,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122370,"byte_end":122376,"line_start":529,"line_end":529,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122436,"byte_end":122447,"line_start":530,"line_end":530,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122469,"byte_end":122482,"line_start":530,"line_end":530,"column_start":79,"column_end":92},"ref_id":{"krate":0,"index":1727}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122459,"byte_end":122466,"line_start":530,"line_end":530,"column_start":69,"column_end":76},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122451,"byte_end":122457,"line_start":530,"line_end":530,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122520,"byte_end":122523,"line_start":532,"line_end":532,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122524,"byte_end":122540,"line_start":532,"line_end":532,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122562,"byte_end":122568,"line_start":532,"line_end":532,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122569,"byte_end":122576,"line_start":532,"line_end":532,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122578,"byte_end":122586,"line_start":532,"line_end":532,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":122606,"byte_end":122620,"line_start":533,"line_end":533,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122598,"byte_end":122604,"line_start":533,"line_end":533,"column_start":9,"column_end":15},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":122621,"byte_end":122628,"line_start":533,"line_end":533,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1073742033}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":122630,"byte_end":122638,"line_start":533,"line_end":533,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":536871121}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122820,"byte_end":122825,"line_start":536,"line_end":536,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122717,"byte_end":122726,"line_start":536,"line_end":536,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122743,"byte_end":122752,"line_start":536,"line_end":536,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122767,"byte_end":122774,"line_start":536,"line_end":536,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122780,"byte_end":122786,"line_start":536,"line_end":536,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122791,"byte_end":122799,"line_start":536,"line_end":536,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122837,"byte_end":122839,"line_start":538,"line_end":538,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122981,"byte_end":122986,"line_start":541,"line_end":541,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122882,"byte_end":122891,"line_start":541,"line_end":541,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122907,"byte_end":122916,"line_start":541,"line_end":541,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122934,"byte_end":122940,"line_start":541,"line_end":541,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122941,"byte_end":122950,"line_start":541,"line_end":541,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":122952,"byte_end":122960,"line_start":541,"line_end":541,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123024,"byte_end":123033,"line_start":543,"line_end":543,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123017,"byte_end":123023,"line_start":543,"line_end":543,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123034,"byte_end":123040,"line_start":543,"line_end":543,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871124}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123085,"byte_end":123095,"line_start":545,"line_end":545,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123078,"byte_end":123084,"line_start":545,"line_end":545,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123096,"byte_end":123102,"line_start":545,"line_end":545,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123103,"byte_end":123114,"line_start":545,"line_end":545,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123116,"byte_end":123120,"line_start":545,"line_end":545,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123131,"byte_end":123145,"line_start":545,"line_end":545,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123179,"byte_end":123183,"line_start":547,"line_end":547,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1677721812}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123184,"byte_end":123188,"line_start":547,"line_end":547,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123190,"byte_end":123194,"line_start":547,"line_end":547,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1677721812}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123195,"byte_end":123199,"line_start":547,"line_end":547,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3990}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123233,"byte_end":123241,"line_start":549,"line_end":549,"column_start":31,"column_end":39},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123227,"byte_end":123232,"line_start":549,"line_end":549,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610612948}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123269,"byte_end":123275,"line_start":551,"line_end":551,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123291,"byte_end":123295,"line_start":552,"line_end":552,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":2348810452}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123323,"byte_end":123332,"line_start":553,"line_end":553,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123310,"byte_end":123321,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123323,"byte_end":123332,"line_start":553,"line_end":553,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3833}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123310,"byte_end":123321,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123370,"byte_end":123374,"line_start":554,"line_end":554,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123362,"byte_end":123368,"line_start":554,"line_end":554,"column_start":25,"column_end":31},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123375,"byte_end":123380,"line_start":554,"line_end":554,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":1610612948}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123354,"byte_end":123359,"line_start":554,"line_end":554,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123405,"byte_end":123425,"line_start":555,"line_end":555,"column_start":23,"column_end":43},"ref_id":{"krate":1,"index":12741}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123399,"byte_end":123404,"line_start":555,"line_end":555,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123459,"byte_end":123467,"line_start":556,"line_end":556,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123453,"byte_end":123458,"line_start":556,"line_end":556,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123445,"byte_end":123450,"line_start":556,"line_end":556,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123511,"byte_end":123520,"line_start":558,"line_end":558,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123498,"byte_end":123509,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123511,"byte_end":123520,"line_start":558,"line_end":558,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3830}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123498,"byte_end":123509,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123558,"byte_end":123562,"line_start":559,"line_end":559,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":123550,"byte_end":123556,"line_start":559,"line_end":559,"column_start":25,"column_end":31},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123563,"byte_end":123568,"line_start":559,"line_end":559,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":1610612948}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123542,"byte_end":123547,"line_start":559,"line_end":559,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123593,"byte_end":123613,"line_start":560,"line_end":560,"column_start":23,"column_end":43},"ref_id":{"krate":1,"index":12742}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123587,"byte_end":123592,"line_start":560,"line_end":560,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123647,"byte_end":123655,"line_start":561,"line_end":561,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123641,"byte_end":123646,"line_start":561,"line_end":561,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2080374996}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123633,"byte_end":123638,"line_start":561,"line_end":561,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123738,"byte_end":123741,"line_start":566,"line_end":566,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123732,"byte_end":123737,"line_start":566,"line_end":566,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123766,"byte_end":123770,"line_start":568,"line_end":568,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":201326804}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123839,"byte_end":123853,"line_start":571,"line_end":571,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123829,"byte_end":123836,"line_start":571,"line_end":571,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1207959764}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123937,"byte_end":123950,"line_start":573,"line_end":573,"column_start":39,"column_end":52},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123930,"byte_end":123936,"line_start":573,"line_end":573,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123952,"byte_end":123956,"line_start":573,"line_end":573,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1677721812}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123957,"byte_end":123962,"line_start":573,"line_end":573,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3991}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124020,"byte_end":124034,"line_start":574,"line_end":574,"column_start":46,"column_end":60},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":123998,"byte_end":124011,"line_start":574,"line_end":574,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":123991,"byte_end":123997,"line_start":574,"line_end":574,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124012,"byte_end":124018,"line_start":574,"line_end":574,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124035,"byte_end":124043,"line_start":574,"line_end":574,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":3976200404}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124101,"byte_end":124115,"line_start":577,"line_end":577,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124091,"byte_end":124098,"line_start":577,"line_end":577,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1207959764}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124165,"byte_end":124176,"line_start":578,"line_end":578,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124158,"byte_end":124164,"line_start":578,"line_end":578,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871124}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":124206,"byte_end":124224,"line_start":580,"line_end":580,"column_start":22,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124206,"byte_end":124207,"line_start":580,"line_end":580,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124209,"byte_end":124224,"line_start":580,"line_end":580,"column_start":25,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124210,"byte_end":124214,"line_start":580,"line_end":580,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":201326804}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124246,"byte_end":124247,"line_start":581,"line_end":581,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2801795284}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124256,"byte_end":124259,"line_start":581,"line_end":581,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124250,"byte_end":124255,"line_start":581,"line_end":581,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124356,"byte_end":124361,"line_start":583,"line_end":583,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124362,"byte_end":124363,"line_start":583,"line_end":583,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":2801795284}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124330,"byte_end":124341,"line_start":583,"line_end":583,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3674210516}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124343,"byte_end":124347,"line_start":583,"line_end":583,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":721420500}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124350,"byte_end":124351,"line_start":583,"line_end":583,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":2801795284}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124454,"byte_end":124465,"line_start":586,"line_end":586,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3674210516}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124467,"byte_end":124471,"line_start":586,"line_end":586,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":721420500}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124474,"byte_end":124475,"line_start":586,"line_end":586,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":2801795284}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":124540,"byte_end":124542,"line_start":590,"line_end":590,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124543,"byte_end":124549,"line_start":590,"line_end":590,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124627,"byte_end":124641,"line_start":594,"line_end":594,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124617,"byte_end":124624,"line_start":594,"line_end":594,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959764}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124693,"byte_end":124703,"line_start":596,"line_end":596,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2625634516}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124781,"byte_end":124790,"line_start":597,"line_end":597,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124757,"byte_end":124768,"line_start":597,"line_end":597,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124750,"byte_end":124756,"line_start":597,"line_end":597,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124769,"byte_end":124779,"line_start":597,"line_end":597,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2625634516}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":124818,"byte_end":124831,"line_start":598,"line_end":598,"column_start":18,"column_end":31},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124833,"byte_end":124843,"line_start":598,"line_end":598,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":444596436}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124921,"byte_end":124930,"line_start":603,"line_end":603,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":1988100308}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":124934,"byte_end":124942,"line_start":603,"line_end":603,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":822083796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125096,"byte_end":125104,"line_start":607,"line_end":607,"column_start":16,"column_end":24},"ref_id":{"krate":0,"index":822083796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125118,"byte_end":125121,"line_start":607,"line_end":607,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125107,"byte_end":125111,"line_start":607,"line_end":607,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125113,"byte_end":125116,"line_start":607,"line_end":607,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125156,"byte_end":125159,"line_start":608,"line_end":608,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125170,"byte_end":125173,"line_start":608,"line_end":608,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125160,"byte_end":125168,"line_start":608,"line_end":608,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125258,"byte_end":125269,"line_start":610,"line_end":610,"column_start":48,"column_end":59},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125241,"byte_end":125249,"line_start":610,"line_end":610,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":822083796}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125311,"byte_end":125322,"line_start":612,"line_end":612,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125304,"byte_end":125310,"line_start":612,"line_end":612,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871124}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125379,"byte_end":125398,"line_start":615,"line_end":615,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125379,"byte_end":125380,"line_start":615,"line_end":615,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125382,"byte_end":125398,"line_start":615,"line_end":615,"column_start":25,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125393,"byte_end":125396,"line_start":615,"line_end":615,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125382,"byte_end":125392,"line_start":615,"line_end":615,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3649044692}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125449,"byte_end":125459,"line_start":616,"line_end":616,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":3649044692}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125460,"byte_end":125461,"line_start":616,"line_end":616,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":3581935828}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125417,"byte_end":125428,"line_start":616,"line_end":616,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1166016724}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125430,"byte_end":125440,"line_start":616,"line_end":616,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2625634516}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125443,"byte_end":125444,"line_start":616,"line_end":616,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3581935828}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125558,"byte_end":125572,"line_start":622,"line_end":622,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125558,"byte_end":125559,"line_start":622,"line_end":622,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125561,"byte_end":125572,"line_start":622,"line_end":622,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125567,"byte_end":125570,"line_start":622,"line_end":622,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125561,"byte_end":125566,"line_start":622,"line_end":622,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125641,"byte_end":125646,"line_start":623,"line_end":623,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125647,"byte_end":125648,"line_start":623,"line_end":623,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2071986388}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125591,"byte_end":125602,"line_start":623,"line_end":623,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1166016724}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125604,"byte_end":125614,"line_start":623,"line_end":623,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2625634516}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125617,"byte_end":125618,"line_start":623,"line_end":623,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2071986388}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125621,"byte_end":125627,"line_start":623,"line_end":623,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2877292756}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125689,"byte_end":125691,"line_start":626,"line_end":626,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125692,"byte_end":125698,"line_start":626,"line_end":626,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125883,"byte_end":125891,"line_start":632,"line_end":632,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":822083796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":125905,"byte_end":125908,"line_start":632,"line_end":632,"column_start":42,"column_end":45},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125894,"byte_end":125898,"line_start":632,"line_end":632,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":125900,"byte_end":125903,"line_start":632,"line_end":632,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125947,"byte_end":125950,"line_start":633,"line_end":633,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":125961,"byte_end":125964,"line_start":633,"line_end":633,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":125951,"byte_end":125959,"line_start":633,"line_end":633,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126057,"byte_end":126068,"line_start":635,"line_end":635,"column_start":52,"column_end":63},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126040,"byte_end":126048,"line_start":635,"line_end":635,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":822083796}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126095,"byte_end":126108,"line_start":636,"line_end":636,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126088,"byte_end":126094,"line_start":636,"line_end":636,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126110,"byte_end":126120,"line_start":636,"line_end":636,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":473956564}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126184,"byte_end":126198,"line_start":639,"line_end":639,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126162,"byte_end":126175,"line_start":639,"line_end":639,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126155,"byte_end":126161,"line_start":639,"line_end":639,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126176,"byte_end":126182,"line_start":639,"line_end":639,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126199,"byte_end":126207,"line_start":639,"line_end":639,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":3393192148}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126241,"byte_end":126254,"line_start":641,"line_end":641,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126234,"byte_end":126240,"line_start":641,"line_end":641,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871124}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126255,"byte_end":126260,"line_start":641,"line_end":641,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":2617245908}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126288,"byte_end":126290,"line_start":643,"line_end":643,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126291,"byte_end":126297,"line_start":643,"line_end":643,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742036}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126388,"byte_end":126391,"line_start":647,"line_end":647,"column_start":72,"column_end":75},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126392,"byte_end":126408,"line_start":647,"line_end":647,"column_start":76,"column_end":92},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126414,"byte_end":126420,"line_start":647,"line_end":647,"column_start":98,"column_end":104},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126461,"byte_end":126467,"line_start":648,"line_end":648,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610612953}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126468,"byte_end":126479,"line_start":648,"line_end":648,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":536871129}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126481,"byte_end":126485,"line_start":648,"line_end":648,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126496,"byte_end":126510,"line_start":648,"line_end":648,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126531,"byte_end":126535,"line_start":650,"line_end":650,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":402653401}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126536,"byte_end":126543,"line_start":650,"line_end":650,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3988}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126558,"byte_end":126562,"line_start":651,"line_end":651,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126558,"byte_end":126562,"line_start":651,"line_end":651,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126569,"byte_end":126573,"line_start":651,"line_end":651,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":126574,"byte_end":126575,"line_start":651,"line_end":651,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2013266137}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126590,"byte_end":126594,"line_start":652,"line_end":652,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126590,"byte_end":126594,"line_start":652,"line_end":652,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126598,"byte_end":126602,"line_start":652,"line_end":652,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126681,"byte_end":126684,"line_start":657,"line_end":657,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126685,"byte_end":126701,"line_start":657,"line_end":657,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126723,"byte_end":126729,"line_start":657,"line_end":657,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126730,"byte_end":126736,"line_start":657,"line_end":657,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126738,"byte_end":126746,"line_start":657,"line_end":657,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126758,"byte_end":126760,"line_start":658,"line_end":658,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":126769,"byte_end":126773,"line_start":658,"line_end":658,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126761,"byte_end":126767,"line_start":658,"line_end":658,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126857,"byte_end":126860,"line_start":662,"line_end":662,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126861,"byte_end":126877,"line_start":662,"line_end":662,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126900,"byte_end":126909,"line_start":662,"line_end":662,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126919,"byte_end":126922,"line_start":662,"line_end":662,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126923,"byte_end":126929,"line_start":662,"line_end":662,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126935,"byte_end":126941,"line_start":662,"line_end":662,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126949,"byte_end":126952,"line_start":662,"line_end":662,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126958,"byte_end":126961,"line_start":662,"line_end":662,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126962,"byte_end":126978,"line_start":662,"line_end":662,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":126982,"byte_end":126990,"line_start":662,"line_end":662,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127008,"byte_end":127027,"line_start":663,"line_end":663,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127028,"byte_end":127034,"line_start":663,"line_end":663,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742043}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127055,"byte_end":127059,"line_start":663,"line_end":663,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127046,"byte_end":127053,"line_start":663,"line_end":663,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127180,"byte_end":127185,"line_start":666,"line_end":666,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127096,"byte_end":127105,"line_start":666,"line_end":666,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127123,"byte_end":127132,"line_start":666,"line_end":666,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127137,"byte_end":127143,"line_start":666,"line_end":666,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127144,"byte_end":127150,"line_start":666,"line_end":666,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127158,"byte_end":127166,"line_start":666,"line_end":666,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127223,"byte_end":127232,"line_start":668,"line_end":668,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127216,"byte_end":127222,"line_start":668,"line_end":668,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742044}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127233,"byte_end":127239,"line_start":668,"line_end":668,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871132}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127280,"byte_end":127294,"line_start":670,"line_end":670,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127270,"byte_end":127277,"line_start":670,"line_end":670,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134217948}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127341,"byte_end":127351,"line_start":672,"line_end":672,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127378,"byte_end":127380,"line_start":673,"line_end":673,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127381,"byte_end":127385,"line_start":673,"line_end":673,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127438,"byte_end":127448,"line_start":676,"line_end":676,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127431,"byte_end":127437,"line_start":676,"line_end":676,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871132}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127449,"byte_end":127455,"line_start":676,"line_end":676,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742044}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127456,"byte_end":127467,"line_start":676,"line_end":676,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127469,"byte_end":127473,"line_start":676,"line_end":676,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127484,"byte_end":127498,"line_start":676,"line_end":676,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127515,"byte_end":127519,"line_start":678,"line_end":678,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4227858652}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127520,"byte_end":127524,"line_start":678,"line_end":678,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3989}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127615,"byte_end":127625,"line_start":682,"line_end":682,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127608,"byte_end":127614,"line_start":682,"line_end":682,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871132}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127628,"byte_end":127677,"line_start":682,"line_end":682,"column_start":46,"column_end":95},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127628,"byte_end":127640,"line_start":682,"line_end":682,"column_start":46,"column_end":58},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127629,"byte_end":127639,"line_start":682,"line_end":682,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127642,"byte_end":127677,"line_start":682,"line_end":682,"column_start":60,"column_end":95},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127643,"byte_end":127653,"line_start":682,"line_end":682,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127657,"byte_end":127661,"line_start":682,"line_end":682,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":4227858652}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127662,"byte_end":127666,"line_start":682,"line_end":682,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":3989}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127700,"byte_end":127702,"line_start":684,"line_end":684,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":127703,"byte_end":127707,"line_start":684,"line_end":684,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127722,"byte_end":127741,"line_start":684,"line_end":684,"column_start":42,"column_end":61},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":127717,"byte_end":127720,"line_start":684,"line_end":684,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127742,"byte_end":127747,"line_start":684,"line_end":684,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":973078748}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127874,"byte_end":127887,"line_start":689,"line_end":689,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127920,"byte_end":127929,"line_start":689,"line_end":689,"column_start":88,"column_end":97},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":127896,"byte_end":127907,"line_start":689,"line_end":689,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127889,"byte_end":127895,"line_start":689,"line_end":689,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536871132}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":127908,"byte_end":127918,"line_start":689,"line_end":689,"column_start":76,"column_end":86},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128010,"byte_end":128020,"line_start":692,"line_end":692,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128003,"byte_end":128009,"line_start":692,"line_end":692,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871132}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128023,"byte_end":128070,"line_start":692,"line_end":692,"column_start":46,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128023,"byte_end":128039,"line_start":692,"line_end":692,"column_start":46,"column_end":62},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128024,"byte_end":128034,"line_start":692,"line_end":692,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128041,"byte_end":128070,"line_start":692,"line_end":692,"column_start":64,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128042,"byte_end":128052,"line_start":692,"line_end":692,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3623878876}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128059,"byte_end":128069,"line_start":692,"line_end":692,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":2432696540}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128093,"byte_end":128095,"line_start":694,"line_end":694,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128096,"byte_end":128100,"line_start":694,"line_end":694,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128115,"byte_end":128134,"line_start":694,"line_end":694,"column_start":42,"column_end":61},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/string.rs","byte_start":128110,"byte_end":128113,"line_start":694,"line_end":694,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128135,"byte_end":128140,"line_start":694,"line_end":694,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":83886300}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128211,"byte_end":128220,"line_start":700,"line_end":700,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128238,"byte_end":128247,"line_start":700,"line_end":700,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128252,"byte_end":128259,"line_start":700,"line_end":700,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128278,"byte_end":128285,"line_start":701,"line_end":701,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128270,"byte_end":128276,"line_start":701,"line_end":701,"column_start":9,"column_end":15},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128286,"byte_end":128291,"line_start":701,"line_end":701,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1073742047}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128293,"byte_end":128299,"line_start":701,"line_end":701,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871135}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128301,"byte_end":128307,"line_start":701,"line_end":701,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610612959}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128354,"byte_end":128363,"line_start":704,"line_end":704,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128374,"byte_end":128383,"line_start":704,"line_end":704,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128388,"byte_end":128394,"line_start":704,"line_end":704,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128402,"byte_end":128410,"line_start":704,"line_end":704,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128430,"byte_end":128438,"line_start":705,"line_end":705,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128422,"byte_end":128428,"line_start":705,"line_end":705,"column_start":9,"column_end":15},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128439,"byte_end":128444,"line_start":705,"line_end":705,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742048}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128446,"byte_end":128452,"line_start":705,"line_end":705,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871136}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128454,"byte_end":128460,"line_start":705,"line_end":705,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610612960}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128504,"byte_end":128507,"line_start":708,"line_end":708,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128508,"byte_end":128524,"line_start":708,"line_end":708,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128546,"byte_end":128553,"line_start":708,"line_end":708,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128559,"byte_end":128565,"line_start":708,"line_end":708,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128573,"byte_end":128576,"line_start":708,"line_end":708,"column_start":105,"column_end":108},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128582,"byte_end":128585,"line_start":708,"line_end":708,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128586,"byte_end":128602,"line_start":708,"line_end":708,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128606,"byte_end":128614,"line_start":708,"line_end":708,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128634,"byte_end":128653,"line_start":709,"line_end":709,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128626,"byte_end":128632,"line_start":709,"line_end":709,"column_start":9,"column_end":15},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128654,"byte_end":128660,"line_start":709,"line_end":709,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742049}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128662,"byte_end":128674,"line_start":709,"line_end":709,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":536871137}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128720,"byte_end":128723,"line_start":713,"line_end":713,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128724,"byte_end":128740,"line_start":713,"line_end":713,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128785,"byte_end":128788,"line_start":713,"line_end":713,"column_start":102,"column_end":105},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128789,"byte_end":128805,"line_start":713,"line_end":713,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":128826,"byte_end":128846,"line_start":714,"line_end":714,"column_start":17,"column_end":37},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128818,"byte_end":128824,"line_start":714,"line_end":714,"column_start":9,"column_end":15},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128847,"byte_end":128853,"line_start":714,"line_end":714,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742050}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128855,"byte_end":128863,"line_start":714,"line_end":714,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":536871138}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":128865,"byte_end":128871,"line_start":714,"line_end":714,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610612962}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128924,"byte_end":128930,"line_start":720,"line_end":720,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":128935,"byte_end":128943,"line_start":720,"line_end":720,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129034,"byte_end":129037,"line_start":722,"line_end":722,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129022,"byte_end":129032,"line_start":722,"line_end":722,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129015,"byte_end":129020,"line_start":722,"line_end":722,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129038,"byte_end":129044,"line_start":722,"line_end":722,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536873784}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129063,"byte_end":129069,"line_start":723,"line_end":723,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873784}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129095,"byte_end":129101,"line_start":723,"line_end":723,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129086,"byte_end":129092,"line_start":723,"line_end":723,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129071,"byte_end":129078,"line_start":723,"line_end":723,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752440}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129079,"byte_end":129085,"line_start":723,"line_end":723,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129144,"byte_end":129153,"line_start":724,"line_end":724,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129132,"byte_end":129142,"line_start":724,"line_end":724,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129125,"byte_end":129130,"line_start":724,"line_end":724,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129162,"byte_end":129181,"line_start":724,"line_end":724,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129154,"byte_end":129161,"line_start":724,"line_end":724,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752440}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129202,"byte_end":129208,"line_start":725,"line_end":725,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873784}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129235,"byte_end":129241,"line_start":725,"line_end":725,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129226,"byte_end":129232,"line_start":725,"line_end":725,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129210,"byte_end":129218,"line_start":725,"line_end":725,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3724544824}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129219,"byte_end":129225,"line_start":725,"line_end":725,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129326,"byte_end":129329,"line_start":728,"line_end":728,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129314,"byte_end":129324,"line_start":728,"line_end":728,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129307,"byte_end":129312,"line_start":728,"line_end":728,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129330,"byte_end":129336,"line_start":728,"line_end":728,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":2097154872}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129355,"byte_end":129361,"line_start":729,"line_end":729,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2097154872}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129387,"byte_end":129393,"line_start":729,"line_end":729,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129378,"byte_end":129384,"line_start":729,"line_end":729,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129363,"byte_end":129370,"line_start":729,"line_end":729,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2600471352}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129371,"byte_end":129377,"line_start":729,"line_end":729,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129436,"byte_end":129445,"line_start":730,"line_end":730,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129424,"byte_end":129434,"line_start":730,"line_end":730,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129417,"byte_end":129422,"line_start":730,"line_end":730,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129454,"byte_end":129473,"line_start":730,"line_end":730,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129446,"byte_end":129453,"line_start":730,"line_end":730,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2600471352}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129494,"byte_end":129500,"line_start":731,"line_end":731,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2097154872}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129527,"byte_end":129533,"line_start":731,"line_end":731,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129518,"byte_end":129524,"line_start":731,"line_end":731,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129502,"byte_end":129510,"line_start":731,"line_end":731,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2894072632}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129511,"byte_end":129517,"line_start":731,"line_end":731,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129625,"byte_end":129628,"line_start":734,"line_end":734,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129613,"byte_end":129623,"line_start":734,"line_end":734,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129606,"byte_end":129611,"line_start":734,"line_end":734,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129629,"byte_end":129635,"line_start":734,"line_end":734,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":511707960}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129654,"byte_end":129660,"line_start":735,"line_end":735,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":511707960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129686,"byte_end":129692,"line_start":735,"line_end":735,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129677,"byte_end":129683,"line_start":735,"line_end":735,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129662,"byte_end":129669,"line_start":735,"line_end":735,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3380611896}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129670,"byte_end":129676,"line_start":735,"line_end":735,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129735,"byte_end":129744,"line_start":736,"line_end":736,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129723,"byte_end":129733,"line_start":736,"line_end":736,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129716,"byte_end":129721,"line_start":736,"line_end":736,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129753,"byte_end":129772,"line_start":736,"line_end":736,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129745,"byte_end":129752,"line_start":736,"line_end":736,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3380611896}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129793,"byte_end":129799,"line_start":737,"line_end":737,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":511707960}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129826,"byte_end":129832,"line_start":737,"line_end":737,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129817,"byte_end":129823,"line_start":737,"line_end":737,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129801,"byte_end":129809,"line_start":737,"line_end":737,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4152363832}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129810,"byte_end":129816,"line_start":737,"line_end":737,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129924,"byte_end":129927,"line_start":740,"line_end":740,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129912,"byte_end":129922,"line_start":740,"line_end":740,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":129905,"byte_end":129910,"line_start":740,"line_end":740,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129928,"byte_end":129934,"line_start":740,"line_end":740,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1279265592}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129953,"byte_end":129959,"line_start":741,"line_end":741,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1279265592}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129985,"byte_end":129991,"line_start":741,"line_end":741,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":129976,"byte_end":129982,"line_start":741,"line_end":741,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129961,"byte_end":129968,"line_start":741,"line_end":741,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2990541624}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":129969,"byte_end":129975,"line_start":741,"line_end":741,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130034,"byte_end":130043,"line_start":742,"line_end":742,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130022,"byte_end":130032,"line_start":742,"line_end":742,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130015,"byte_end":130020,"line_start":742,"line_end":742,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130052,"byte_end":130071,"line_start":742,"line_end":742,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130044,"byte_end":130051,"line_start":742,"line_end":742,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2990541624}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130092,"byte_end":130098,"line_start":743,"line_end":743,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1279265592}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130125,"byte_end":130131,"line_start":743,"line_end":743,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130116,"byte_end":130122,"line_start":743,"line_end":743,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130100,"byte_end":130108,"line_start":743,"line_end":743,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2504002360}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130109,"byte_end":130115,"line_start":743,"line_end":743,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130206,"byte_end":130209,"line_start":746,"line_end":746,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130194,"byte_end":130204,"line_start":746,"line_end":746,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130187,"byte_end":130192,"line_start":746,"line_end":746,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130210,"byte_end":130216,"line_start":746,"line_end":746,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":926944056}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130235,"byte_end":130241,"line_start":747,"line_end":747,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":926944056}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130267,"byte_end":130273,"line_start":747,"line_end":747,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130258,"byte_end":130264,"line_start":747,"line_end":747,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130243,"byte_end":130250,"line_start":747,"line_end":747,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3770682168}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130251,"byte_end":130257,"line_start":747,"line_end":747,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130316,"byte_end":130325,"line_start":748,"line_end":748,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130304,"byte_end":130314,"line_start":748,"line_end":748,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130297,"byte_end":130302,"line_start":748,"line_end":748,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130334,"byte_end":130353,"line_start":748,"line_end":748,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130326,"byte_end":130333,"line_start":748,"line_end":748,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3770682168}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130374,"byte_end":130380,"line_start":749,"line_end":749,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":926944056}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130407,"byte_end":130413,"line_start":749,"line_end":749,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130398,"byte_end":130404,"line_start":749,"line_end":749,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130382,"byte_end":130390,"line_start":749,"line_end":749,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3334474552}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130391,"byte_end":130397,"line_start":749,"line_end":749,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130423,"byte_end":130425,"line_start":751,"line_end":751,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130470,"byte_end":130476,"line_start":755,"line_end":755,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130481,"byte_end":130489,"line_start":755,"line_end":755,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130582,"byte_end":130592,"line_start":757,"line_end":757,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130575,"byte_end":130580,"line_start":757,"line_end":757,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130603,"byte_end":130609,"line_start":757,"line_end":757,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873788}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130628,"byte_end":130634,"line_start":758,"line_end":758,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873788}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130636,"byte_end":130643,"line_start":758,"line_end":758,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752444}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130714,"byte_end":130723,"line_start":759,"line_end":759,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130702,"byte_end":130712,"line_start":759,"line_end":759,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130695,"byte_end":130700,"line_start":759,"line_end":759,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130724,"byte_end":130731,"line_start":759,"line_end":759,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752444}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130772,"byte_end":130778,"line_start":760,"line_end":760,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873788}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130807,"byte_end":130816,"line_start":760,"line_end":760,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":130796,"byte_end":130803,"line_start":760,"line_end":760,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130780,"byte_end":130788,"line_start":760,"line_end":760,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441020}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130789,"byte_end":130795,"line_start":760,"line_end":760,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130901,"byte_end":130911,"line_start":763,"line_end":763,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":130894,"byte_end":130899,"line_start":763,"line_end":763,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130922,"byte_end":130928,"line_start":763,"line_end":763,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600444}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130947,"byte_end":130953,"line_start":764,"line_end":764,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600444}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":130955,"byte_end":130962,"line_start":764,"line_end":764,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580220}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131033,"byte_end":131042,"line_start":765,"line_end":765,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131021,"byte_end":131031,"line_start":765,"line_end":765,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131014,"byte_end":131019,"line_start":765,"line_end":765,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131043,"byte_end":131050,"line_start":765,"line_end":765,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580220}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131091,"byte_end":131097,"line_start":766,"line_end":766,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600444}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131126,"byte_end":131135,"line_start":766,"line_end":766,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131115,"byte_end":131122,"line_start":766,"line_end":766,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131099,"byte_end":131107,"line_start":766,"line_end":766,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409340}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131108,"byte_end":131114,"line_start":766,"line_end":766,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131227,"byte_end":131237,"line_start":769,"line_end":769,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131220,"byte_end":131225,"line_start":769,"line_end":769,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131248,"byte_end":131254,"line_start":769,"line_end":769,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":494930748}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131273,"byte_end":131279,"line_start":770,"line_end":770,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494930748}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131281,"byte_end":131288,"line_start":770,"line_end":770,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3414166332}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131359,"byte_end":131368,"line_start":771,"line_end":771,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131347,"byte_end":131357,"line_start":771,"line_end":771,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131340,"byte_end":131345,"line_start":771,"line_end":771,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131369,"byte_end":131376,"line_start":771,"line_end":771,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3414166332}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131417,"byte_end":131423,"line_start":772,"line_end":772,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494930748}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131452,"byte_end":131461,"line_start":772,"line_end":772,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131441,"byte_end":131448,"line_start":772,"line_end":772,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131425,"byte_end":131433,"line_start":772,"line_end":772,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4232055612}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131434,"byte_end":131440,"line_start":772,"line_end":772,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131553,"byte_end":131563,"line_start":775,"line_end":775,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131546,"byte_end":131551,"line_start":775,"line_end":775,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131574,"byte_end":131580,"line_start":775,"line_end":775,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1228933948}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131599,"byte_end":131605,"line_start":776,"line_end":776,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1228933948}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131607,"byte_end":131614,"line_start":776,"line_end":776,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3040873276}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131685,"byte_end":131694,"line_start":777,"line_end":777,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131673,"byte_end":131683,"line_start":777,"line_end":777,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131666,"byte_end":131671,"line_start":777,"line_end":777,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131695,"byte_end":131702,"line_start":777,"line_end":777,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3040873276}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131743,"byte_end":131749,"line_start":778,"line_end":778,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1228933948}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131778,"byte_end":131787,"line_start":778,"line_end":778,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131767,"byte_end":131774,"line_start":778,"line_end":778,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131751,"byte_end":131759,"line_start":778,"line_end":778,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2562722620}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131760,"byte_end":131766,"line_start":778,"line_end":778,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131860,"byte_end":131870,"line_start":781,"line_end":781,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131853,"byte_end":131858,"line_start":781,"line_end":781,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131881,"byte_end":131887,"line_start":781,"line_end":781,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":918555452}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131906,"byte_end":131912,"line_start":782,"line_end":782,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":918555452}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":131914,"byte_end":131921,"line_start":782,"line_end":782,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3787459388}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":131992,"byte_end":132001,"line_start":783,"line_end":783,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131980,"byte_end":131990,"line_start":783,"line_end":783,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":131973,"byte_end":131978,"line_start":783,"line_end":783,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132002,"byte_end":132009,"line_start":783,"line_end":783,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3787459388}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132050,"byte_end":132056,"line_start":784,"line_end":784,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":918555452}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":132085,"byte_end":132094,"line_start":784,"line_end":784,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/string.rs","byte_start":132074,"byte_end":132081,"line_start":784,"line_end":784,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132058,"byte_end":132066,"line_start":784,"line_end":784,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3485469500}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132067,"byte_end":132073,"line_start":784,"line_end":784,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132104,"byte_end":132106,"line_start":786,"line_end":786,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132150,"byte_end":132156,"line_start":790,"line_end":790,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132161,"byte_end":132169,"line_start":790,"line_end":790,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132262,"byte_end":132272,"line_start":792,"line_end":792,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132255,"byte_end":132260,"line_start":792,"line_end":792,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132283,"byte_end":132289,"line_start":792,"line_end":792,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873792}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132310,"byte_end":132317,"line_start":793,"line_end":793,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752448}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132329,"byte_end":132333,"line_start":793,"line_end":793,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132351,"byte_end":132357,"line_start":794,"line_end":794,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547200}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132401,"byte_end":132403,"line_start":796,"line_end":796,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132444,"byte_end":132450,"line_start":800,"line_end":800,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132455,"byte_end":132463,"line_start":800,"line_end":800,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132547,"byte_end":132557,"line_start":802,"line_end":802,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132540,"byte_end":132545,"line_start":802,"line_end":802,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132568,"byte_end":132574,"line_start":802,"line_end":802,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873796}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132599,"byte_end":132606,"line_start":803,"line_end":803,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752452}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132618,"byte_end":132622,"line_start":803,"line_end":803,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132629,"byte_end":132635,"line_start":804,"line_end":804,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547204}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132710,"byte_end":132716,"line_start":805,"line_end":805,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547204}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132775,"byte_end":132777,"line_start":807,"line_end":807,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132838,"byte_end":132844,"line_start":811,"line_end":811,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132849,"byte_end":132857,"line_start":811,"line_end":811,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132928,"byte_end":132938,"line_start":813,"line_end":813,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132921,"byte_end":132926,"line_start":813,"line_end":813,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132949,"byte_end":132955,"line_start":813,"line_end":813,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873800}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":132980,"byte_end":132987,"line_start":814,"line_end":814,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752456}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":132999,"byte_end":133003,"line_start":814,"line_end":814,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133010,"byte_end":133016,"line_start":815,"line_end":815,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547208}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133089,"byte_end":133095,"line_start":817,"line_end":817,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":335547208}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133179,"byte_end":133185,"line_start":820,"line_end":820,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547208}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133212,"byte_end":133218,"line_start":821,"line_end":821,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547208}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133238,"byte_end":133242,"line_start":821,"line_end":821,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133250,"byte_end":133256,"line_start":823,"line_end":823,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547208}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133265,"byte_end":133269,"line_start":823,"line_end":823,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133288,"byte_end":133294,"line_start":824,"line_end":824,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547208}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133339,"byte_end":133341,"line_start":826,"line_end":826,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133392,"byte_end":133398,"line_start":831,"line_end":831,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133403,"byte_end":133411,"line_start":831,"line_end":831,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133502,"byte_end":133512,"line_start":833,"line_end":833,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133495,"byte_end":133500,"line_start":833,"line_end":833,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133523,"byte_end":133529,"line_start":833,"line_end":833,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873804}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133554,"byte_end":133561,"line_start":834,"line_end":834,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752460}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133573,"byte_end":133577,"line_start":834,"line_end":834,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133584,"byte_end":133590,"line_start":835,"line_end":835,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547212}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133626,"byte_end":133632,"line_start":836,"line_end":836,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547212}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133758,"byte_end":133768,"line_start":839,"line_end":839,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133751,"byte_end":133756,"line_start":839,"line_end":839,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133779,"byte_end":133785,"line_start":839,"line_end":839,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3909094220}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133810,"byte_end":133817,"line_start":840,"line_end":840,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":1291848524}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133829,"byte_end":133833,"line_start":840,"line_end":840,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133840,"byte_end":133846,"line_start":841,"line_end":841,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3707767628}},{"kind":"Variable","span":{"file_name":"src/pointer/string.rs","byte_start":133882,"byte_end":133888,"line_start":842,"line_end":842,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3707767628}},{"kind":"Type","span":{"file_name":"src/pointer/string.rs","byte_start":133932,"byte_end":133934,"line_start":845,"line_end":845,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57351,"byte_end":57356,"line_start":16,"line_end":16,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":227}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134416,"byte_end":134421,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134424,"byte_end":134430,"line_start":19,"line_end":19,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134416,"byte_end":134421,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134440,"byte_end":134444,"line_start":19,"line_end":19,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134464,"byte_end":134467,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134464,"byte_end":134467,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134490,"byte_end":134499,"line_start":20,"line_end":20,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134456,"byte_end":134461,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134508,"byte_end":134514,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134571,"byte_end":134576,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134578,"byte_end":134583,"line_start":21,"line_end":21,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134607,"byte_end":134613,"line_start":22,"line_end":22,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134630,"byte_end":134637,"line_start":22,"line_end":22,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134599,"byte_end":134604,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134649,"byte_end":134658,"line_start":22,"line_end":22,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134675,"byte_end":134680,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134682,"byte_end":134685,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134696,"byte_end":134701,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134703,"byte_end":134708,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134719,"byte_end":134724,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134727,"byte_end":134733,"line_start":26,"line_end":26,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134749,"byte_end":134754,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134773,"byte_end":134778,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134795,"byte_end":134800,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":134802,"byte_end":134808,"line_start":29,"line_end":29,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":134883,"byte_end":134886,"line_start":33,"line_end":33,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135014,"byte_end":135023,"line_start":40,"line_end":40,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135007,"byte_end":135012,"line_start":40,"line_end":40,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135124,"byte_end":135129,"line_start":41,"line_end":41,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135078,"byte_end":135094,"line_start":41,"line_end":41,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135099,"byte_end":135105,"line_start":41,"line_end":41,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135164,"byte_end":135170,"line_start":42,"line_end":42,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742119}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135171,"byte_end":135175,"line_start":42,"line_end":42,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135186,"byte_end":135199,"line_start":42,"line_end":42,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135213,"byte_end":135217,"line_start":44,"line_end":44,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135221,"byte_end":135225,"line_start":44,"line_end":44,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":2281701671}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135226,"byte_end":135230,"line_start":44,"line_end":44,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3998}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135260,"byte_end":135263,"line_start":45,"line_end":45,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135275,"byte_end":135288,"line_start":45,"line_end":45,"column_start":39,"column_end":52},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135270,"byte_end":135273,"line_start":45,"line_end":45,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135289,"byte_end":135293,"line_start":45,"line_end":45,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":2281701671}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135294,"byte_end":135298,"line_start":45,"line_end":45,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3998}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135332,"byte_end":135344,"line_start":46,"line_end":46,"column_start":23,"column_end":35},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135332,"byte_end":135333,"line_start":46,"line_end":46,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135335,"byte_end":135344,"line_start":46,"line_end":46,"column_start":26,"column_end":35},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135335,"byte_end":135339,"line_start":46,"line_end":46,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2281701671}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135340,"byte_end":135344,"line_start":46,"line_end":46,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135365,"byte_end":135369,"line_start":47,"line_end":47,"column_start":19,"column_end":23},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135363,"byte_end":135364,"line_start":47,"line_end":47,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3556770087}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135402,"byte_end":135403,"line_start":49,"line_end":49,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3556770087}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135438,"byte_end":135441,"line_start":51,"line_end":51,"column_start":18,"column_end":21},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135433,"byte_end":135436,"line_start":51,"line_end":51,"column_start":13,"column_end":16},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135501,"byte_end":135510,"line_start":56,"line_end":56,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135521,"byte_end":135530,"line_start":56,"line_end":56,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135535,"byte_end":135541,"line_start":56,"line_end":56,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135589,"byte_end":135599,"line_start":57,"line_end":57,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135582,"byte_end":135588,"line_start":57,"line_end":57,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871208}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135600,"byte_end":135606,"line_start":57,"line_end":57,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742120}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135607,"byte_end":135618,"line_start":57,"line_end":57,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135620,"byte_end":135624,"line_start":57,"line_end":57,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135635,"byte_end":135648,"line_start":57,"line_end":57,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135673,"byte_end":135677,"line_start":59,"line_end":59,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653480}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135678,"byte_end":135682,"line_start":59,"line_end":59,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135696,"byte_end":135700,"line_start":61,"line_end":61,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135720,"byte_end":135724,"line_start":62,"line_end":62,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135769,"byte_end":135772,"line_start":64,"line_end":64,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135784,"byte_end":135797,"line_start":64,"line_end":64,"column_start":43,"column_end":56},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135779,"byte_end":135782,"line_start":64,"line_end":64,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135798,"byte_end":135802,"line_start":64,"line_end":64,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135837,"byte_end":135844,"line_start":66,"line_end":66,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135837,"byte_end":135838,"line_start":66,"line_end":66,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135840,"byte_end":135844,"line_start":66,"line_end":66,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135840,"byte_end":135844,"line_start":66,"line_end":66,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266216}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":135869,"byte_end":135873,"line_start":67,"line_end":67,"column_start":23,"column_end":27},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135863,"byte_end":135868,"line_start":67,"line_end":67,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":469762344}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135907,"byte_end":135911,"line_start":70,"line_end":70,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":135912,"byte_end":135917,"line_start":70,"line_end":70,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":469762344}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135965,"byte_end":135974,"line_start":74,"line_end":74,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135985,"byte_end":135994,"line_start":74,"line_end":74,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":135999,"byte_end":136005,"line_start":74,"line_end":74,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136053,"byte_end":136063,"line_start":75,"line_end":75,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136046,"byte_end":136052,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871209}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136064,"byte_end":136070,"line_start":75,"line_end":75,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742121}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136071,"byte_end":136082,"line_start":75,"line_end":75,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136084,"byte_end":136088,"line_start":75,"line_end":75,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136099,"byte_end":136112,"line_start":75,"line_end":75,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136137,"byte_end":136141,"line_start":77,"line_end":77,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":402653481}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136142,"byte_end":136146,"line_start":77,"line_end":77,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136160,"byte_end":136164,"line_start":79,"line_end":79,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2013266217}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136184,"byte_end":136188,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136233,"byte_end":136236,"line_start":82,"line_end":82,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136248,"byte_end":136261,"line_start":82,"line_end":82,"column_start":43,"column_end":56},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136243,"byte_end":136246,"line_start":82,"line_end":82,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136262,"byte_end":136266,"line_start":82,"line_end":82,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2013266217}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136301,"byte_end":136308,"line_start":84,"line_end":84,"column_start":23,"column_end":30},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136301,"byte_end":136302,"line_start":84,"line_end":84,"column_start":23,"column_end":24},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136304,"byte_end":136308,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136304,"byte_end":136308,"line_start":84,"line_end":84,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":2013266217}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136333,"byte_end":136337,"line_start":85,"line_end":85,"column_start":23,"column_end":27},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136327,"byte_end":136332,"line_start":85,"line_end":85,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":469762345}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136369,"byte_end":136373,"line_start":88,"line_end":88,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136374,"byte_end":136379,"line_start":88,"line_end":88,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":469762345}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136414,"byte_end":136422,"line_start":94,"line_end":94,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136484,"byte_end":136495,"line_start":98,"line_end":98,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136522,"byte_end":136527,"line_start":98,"line_end":98,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136509,"byte_end":136520,"line_start":98,"line_end":98,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136576,"byte_end":136587,"line_start":99,"line_end":99,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136614,"byte_end":136619,"line_start":99,"line_end":99,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136601,"byte_end":136612,"line_start":99,"line_end":99,"column_start":71,"column_end":82},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136655,"byte_end":136658,"line_start":101,"line_end":101,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136659,"byte_end":136675,"line_start":101,"line_end":101,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136696,"byte_end":136702,"line_start":101,"line_end":101,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136703,"byte_end":136710,"line_start":101,"line_end":101,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136712,"byte_end":136720,"line_start":101,"line_end":101,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136761,"byte_end":136764,"line_start":102,"line_end":102,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136754,"byte_end":136759,"line_start":102,"line_end":102,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136788,"byte_end":136794,"line_start":103,"line_end":103,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136776,"byte_end":136787,"line_start":103,"line_end":103,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306670}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136802,"byte_end":136810,"line_start":103,"line_end":103,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136823,"byte_end":136829,"line_start":103,"line_end":103,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136814,"byte_end":136821,"line_start":103,"line_end":103,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136849,"byte_end":136858,"line_start":103,"line_end":103,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136836,"byte_end":136844,"line_start":103,"line_end":103,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136897,"byte_end":136903,"line_start":105,"line_end":105,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742126}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136904,"byte_end":136911,"line_start":105,"line_end":105,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871214}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136913,"byte_end":136917,"line_start":105,"line_end":105,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":136928,"byte_end":136941,"line_start":105,"line_end":105,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136958,"byte_end":136962,"line_start":107,"line_end":107,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1275068718}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136963,"byte_end":136967,"line_start":107,"line_end":107,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":136998,"byte_end":137004,"line_start":108,"line_end":108,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":136986,"byte_end":136997,"line_start":108,"line_end":108,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306670}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137012,"byte_end":137020,"line_start":108,"line_end":108,"column_start":39,"column_end":47},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137033,"byte_end":137040,"line_start":108,"line_end":108,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137024,"byte_end":137031,"line_start":108,"line_end":108,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137041,"byte_end":137045,"line_start":108,"line_end":108,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1275068718}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137046,"byte_end":137050,"line_start":108,"line_end":108,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137138,"byte_end":137142,"line_start":112,"line_end":112,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1275068718}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137143,"byte_end":137150,"line_start":112,"line_end":112,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137127,"byte_end":137131,"line_start":112,"line_end":112,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137184,"byte_end":137187,"line_start":113,"line_end":113,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137188,"byte_end":137195,"line_start":113,"line_end":113,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137289,"byte_end":137296,"line_start":115,"line_end":115,"column_start":16,"column_end":23},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137208,"byte_end":137211,"line_start":113,"line_end":113,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137201,"byte_end":137205,"line_start":113,"line_end":113,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137199,"byte_end":137200,"line_start":113,"line_end":113,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":2315256110}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137247,"byte_end":137254,"line_start":114,"line_end":114,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137238,"byte_end":137245,"line_start":114,"line_end":114,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137260,"byte_end":137264,"line_start":114,"line_end":114,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":2932}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137266,"byte_end":137271,"line_start":114,"line_end":114,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":637534510}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137324,"byte_end":137330,"line_start":116,"line_end":116,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137312,"byte_end":137323,"line_start":116,"line_end":116,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306670}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137341,"byte_end":137349,"line_start":116,"line_end":116,"column_start":42,"column_end":50},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137362,"byte_end":137367,"line_start":116,"line_end":116,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137353,"byte_end":137360,"line_start":116,"line_end":116,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137368,"byte_end":137381,"line_start":116,"line_end":116,"column_start":69,"column_end":82},"ref_id":{"krate":0,"index":503316782}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137412,"byte_end":137414,"line_start":121,"line_end":121,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137424,"byte_end":137434,"line_start":121,"line_end":121,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137415,"byte_end":137422,"line_start":121,"line_end":121,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137435,"byte_end":137446,"line_start":121,"line_end":121,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306670}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137517,"byte_end":137520,"line_start":124,"line_end":124,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137521,"byte_end":137537,"line_start":124,"line_end":124,"column_start":66,"column_end":82},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137543,"byte_end":137549,"line_start":124,"line_end":124,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137590,"byte_end":137596,"line_start":125,"line_end":125,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613040}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137597,"byte_end":137604,"line_start":125,"line_end":125,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871216}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137606,"byte_end":137610,"line_start":125,"line_end":125,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137621,"byte_end":137634,"line_start":125,"line_end":125,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137666,"byte_end":137670,"line_start":127,"line_end":127,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137671,"byte_end":137678,"line_start":127,"line_end":127,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137655,"byte_end":137659,"line_start":127,"line_end":127,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137693,"byte_end":137697,"line_start":128,"line_end":128,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137700,"byte_end":137705,"line_start":128,"line_end":128,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137698,"byte_end":137699,"line_start":128,"line_end":128,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623878960}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137738,"byte_end":137742,"line_start":130,"line_end":130,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137900,"byte_end":137905,"line_start":136,"line_end":136,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137801,"byte_end":137810,"line_start":136,"line_end":136,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137826,"byte_end":137835,"line_start":136,"line_end":136,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137853,"byte_end":137859,"line_start":136,"line_end":136,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137860,"byte_end":137869,"line_start":136,"line_end":136,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137871,"byte_end":137879,"line_start":136,"line_end":136,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":137933,"byte_end":137942,"line_start":137,"line_end":137,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":137916,"byte_end":137931,"line_start":137,"line_end":137,"column_start":9,"column_end":24},"ref_id":{"krate":0,"index":291}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137943,"byte_end":137949,"line_start":137,"line_end":137,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742129}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137951,"byte_end":137957,"line_start":137,"line_end":137,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871217}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":137960,"byte_end":137965,"line_start":137,"line_end":137,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":1610613041}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138005,"byte_end":138008,"line_start":141,"line_end":141,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138009,"byte_end":138025,"line_start":141,"line_end":141,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138046,"byte_end":138052,"line_start":141,"line_end":141,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138053,"byte_end":138059,"line_start":141,"line_end":141,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138061,"byte_end":138069,"line_start":141,"line_end":141,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138105,"byte_end":138111,"line_start":142,"line_end":142,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742131}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138112,"byte_end":138119,"line_start":142,"line_end":142,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871219}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138121,"byte_end":138125,"line_start":142,"line_end":142,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138136,"byte_end":138149,"line_start":142,"line_end":142,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138183,"byte_end":138186,"line_start":144,"line_end":144,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138187,"byte_end":138193,"line_start":144,"line_end":144,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138202,"byte_end":138205,"line_start":144,"line_end":144,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138197,"byte_end":138200,"line_start":144,"line_end":144,"column_start":43,"column_end":46},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138236,"byte_end":138240,"line_start":146,"line_end":146,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1744830771}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138241,"byte_end":138248,"line_start":146,"line_end":146,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138225,"byte_end":138229,"line_start":146,"line_end":146,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138285,"byte_end":138289,"line_start":147,"line_end":147,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138277,"byte_end":138283,"line_start":147,"line_end":147,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138320,"byte_end":138328,"line_start":148,"line_end":148,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138316,"byte_end":138319,"line_start":148,"line_end":148,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197811}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138351,"byte_end":138359,"line_start":149,"line_end":149,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138347,"byte_end":138350,"line_start":149,"line_end":149,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197811}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138427,"byte_end":138433,"line_start":149,"line_end":149,"column_start":93,"column_end":99},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138417,"byte_end":138421,"line_start":149,"line_end":149,"column_start":83,"column_end":87},"ref_id":{"krate":5,"index":5165}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138392,"byte_end":138399,"line_start":149,"line_end":149,"column_start":58,"column_end":65},"ref_id":{"krate":1,"index":7971}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138402,"byte_end":138405,"line_start":149,"line_end":149,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138406,"byte_end":138412,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138369,"byte_end":138372,"line_start":149,"line_end":149,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138362,"byte_end":138366,"line_start":149,"line_end":149,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138360,"byte_end":138361,"line_start":149,"line_end":149,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":2751463731}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138379,"byte_end":138388,"line_start":149,"line_end":149,"column_start":45,"column_end":54},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138377,"byte_end":138378,"line_start":149,"line_end":149,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3523215667}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138454,"byte_end":138462,"line_start":150,"line_end":150,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138450,"byte_end":138453,"line_start":150,"line_end":150,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":738197811}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138492,"byte_end":138496,"line_start":151,"line_end":151,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138481,"byte_end":138491,"line_start":151,"line_end":151,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1140850995}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138497,"byte_end":138500,"line_start":151,"line_end":151,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":738197811}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138525,"byte_end":138529,"line_start":154,"line_end":154,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1744830771}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138530,"byte_end":138534,"line_start":154,"line_end":154,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138575,"byte_end":138579,"line_start":155,"line_end":155,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138567,"byte_end":138573,"line_start":155,"line_end":155,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138607,"byte_end":138615,"line_start":156,"line_end":156,"column_start":17,"column_end":25},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138603,"byte_end":138606,"line_start":156,"line_end":156,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":503316787}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138638,"byte_end":138644,"line_start":156,"line_end":156,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138626,"byte_end":138635,"line_start":156,"line_end":156,"column_start":36,"column_end":45},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138616,"byte_end":138620,"line_start":156,"line_end":156,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744830771}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138621,"byte_end":138625,"line_start":156,"line_end":156,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138672,"byte_end":138676,"line_start":157,"line_end":157,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138661,"byte_end":138671,"line_start":157,"line_end":157,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1140850995}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138677,"byte_end":138680,"line_start":157,"line_end":157,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":503316787}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138702,"byte_end":138704,"line_start":160,"line_end":160,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138719,"byte_end":138722,"line_start":160,"line_end":160,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138708,"byte_end":138718,"line_start":160,"line_end":160,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1140850995}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138752,"byte_end":138756,"line_start":161,"line_end":161,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138744,"byte_end":138750,"line_start":161,"line_end":161,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138825,"byte_end":138829,"line_start":163,"line_end":163,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":138817,"byte_end":138823,"line_start":163,"line_end":163,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138864,"byte_end":138872,"line_start":164,"line_end":164,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138854,"byte_end":138863,"line_start":164,"line_end":164,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805491}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138895,"byte_end":138901,"line_start":164,"line_end":164,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138884,"byte_end":138888,"line_start":164,"line_end":164,"column_start":43,"column_end":47},"ref_id":{"krate":5,"index":5165}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138873,"byte_end":138883,"line_start":164,"line_end":164,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1140850995}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":138928,"byte_end":138936,"line_start":165,"line_end":165,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138918,"byte_end":138927,"line_start":165,"line_end":165,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805491}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":138956,"byte_end":138965,"line_start":166,"line_end":166,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2499805491}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139023,"byte_end":139026,"line_start":171,"line_end":171,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139027,"byte_end":139043,"line_start":171,"line_end":171,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139065,"byte_end":139074,"line_start":171,"line_end":171,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139083,"byte_end":139086,"line_start":171,"line_end":171,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139087,"byte_end":139093,"line_start":171,"line_end":171,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139099,"byte_end":139105,"line_start":171,"line_end":171,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139113,"byte_end":139116,"line_start":171,"line_end":171,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139122,"byte_end":139125,"line_start":171,"line_end":171,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139126,"byte_end":139142,"line_start":171,"line_end":171,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139146,"byte_end":139154,"line_start":171,"line_end":171,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139187,"byte_end":139190,"line_start":172,"line_end":172,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139202,"byte_end":139205,"line_start":172,"line_end":172,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139197,"byte_end":139200,"line_start":172,"line_end":172,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139229,"byte_end":139233,"line_start":173,"line_end":173,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139217,"byte_end":139228,"line_start":173,"line_end":173,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088949}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139247,"byte_end":139252,"line_start":173,"line_end":173,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139234,"byte_end":139245,"line_start":173,"line_end":173,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139357,"byte_end":139363,"line_start":178,"line_end":178,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139364,"byte_end":139367,"line_start":178,"line_end":178,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139383,"byte_end":139387,"line_start":178,"line_end":178,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139375,"byte_end":139381,"line_start":178,"line_end":178,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139406,"byte_end":139409,"line_start":180,"line_end":180,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139401,"byte_end":139405,"line_start":180,"line_end":180,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268435765}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139437,"byte_end":139441,"line_start":181,"line_end":181,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268435765}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139480,"byte_end":139490,"line_start":182,"line_end":182,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139471,"byte_end":139477,"line_start":182,"line_end":182,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139463,"byte_end":139469,"line_start":182,"line_end":182,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139549,"byte_end":139553,"line_start":183,"line_end":183,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139538,"byte_end":139548,"line_start":183,"line_end":183,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3254780213}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139605,"byte_end":139609,"line_start":184,"line_end":184,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139592,"byte_end":139599,"line_start":184,"line_end":184,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139588,"byte_end":139591,"line_start":184,"line_end":184,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613045}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139600,"byte_end":139603,"line_start":184,"line_end":184,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1375732021}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139692,"byte_end":139697,"line_start":186,"line_end":186,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3523215669}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139753,"byte_end":139757,"line_start":187,"line_end":187,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139744,"byte_end":139750,"line_start":187,"line_end":187,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139736,"byte_end":139742,"line_start":187,"line_end":187,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139836,"byte_end":139841,"line_start":188,"line_end":188,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139829,"byte_end":139833,"line_start":188,"line_end":188,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":139815,"byte_end":139822,"line_start":188,"line_end":188,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139811,"byte_end":139814,"line_start":188,"line_end":188,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613045}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139823,"byte_end":139827,"line_start":188,"line_end":188,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":3321889077}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139897,"byte_end":139899,"line_start":189,"line_end":189,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":139897,"byte_end":139899,"line_start":189,"line_end":189,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139963,"byte_end":139964,"line_start":190,"line_end":190,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3456106805}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":139956,"byte_end":139960,"line_start":190,"line_end":190,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140014,"byte_end":140028,"line_start":191,"line_end":191,"column_start":49,"column_end":63},"ref_id":{"krate":0,"index":3288334645}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140128,"byte_end":140131,"line_start":193,"line_end":193,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140128,"byte_end":140131,"line_start":193,"line_end":193,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140148,"byte_end":140151,"line_start":193,"line_end":193,"column_start":65,"column_end":68},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140162,"byte_end":140165,"line_start":193,"line_end":193,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140152,"byte_end":140160,"line_start":193,"line_end":193,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140478,"byte_end":140483,"line_start":200,"line_end":200,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3523215669}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140538,"byte_end":140544,"line_start":201,"line_end":201,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140530,"byte_end":140535,"line_start":201,"line_end":201,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140522,"byte_end":140528,"line_start":201,"line_end":201,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140614,"byte_end":140617,"line_start":202,"line_end":202,"column_start":63,"column_end":66},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140629,"byte_end":140632,"line_start":202,"line_end":202,"column_start":78,"column_end":81},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140624,"byte_end":140627,"line_start":202,"line_end":202,"column_start":73,"column_end":76},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140688,"byte_end":140694,"line_start":204,"line_end":204,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":2768240949}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140747,"byte_end":140750,"line_start":205,"line_end":205,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1828716853}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140818,"byte_end":140822,"line_start":206,"line_end":206,"column_start":66,"column_end":70},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140809,"byte_end":140815,"line_start":206,"line_end":206,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140801,"byte_end":140807,"line_start":206,"line_end":206,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140906,"byte_end":140911,"line_start":207,"line_end":207,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":140892,"byte_end":140899,"line_start":207,"line_end":207,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140888,"byte_end":140891,"line_start":207,"line_end":207,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1610613045}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":140900,"byte_end":140904,"line_start":207,"line_end":207,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":1124073781}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140978,"byte_end":140980,"line_start":208,"line_end":208,"column_start":57,"column_end":59},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":140978,"byte_end":140980,"line_start":208,"line_end":208,"column_start":57,"column_end":59},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141062,"byte_end":141066,"line_start":209,"line_end":209,"column_start":74,"column_end":78},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141049,"byte_end":141061,"line_start":209,"line_end":209,"column_start":61,"column_end":73},"ref_id":{"krate":0,"index":3439329589}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141067,"byte_end":141068,"line_start":209,"line_end":209,"column_start":79,"column_end":80},"ref_id":{"krate":0,"index":184549685}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":141495,"byte_end":141499,"line_start":218,"line_end":218,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141500,"byte_end":141512,"line_start":218,"line_end":218,"column_start":56,"column_end":68},"ref_id":{"krate":0,"index":3439329589}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141485,"byte_end":141492,"line_start":218,"line_end":218,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3422552373}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141828,"byte_end":141842,"line_start":231,"line_end":231,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":3288334645}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141869,"byte_end":141886,"line_start":232,"line_end":232,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141857,"byte_end":141868,"line_start":232,"line_end":232,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088949}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141893,"byte_end":141904,"line_start":232,"line_end":232,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141888,"byte_end":141892,"line_start":232,"line_end":232,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141950,"byte_end":141967,"line_start":234,"line_end":234,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":141938,"byte_end":141949,"line_start":234,"line_end":234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088949}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":141974,"byte_end":141985,"line_start":234,"line_end":234,"column_start":49,"column_end":60},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142027,"byte_end":142034,"line_start":237,"line_end":237,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3422552373}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142016,"byte_end":142020,"line_start":237,"line_end":237,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142061,"byte_end":142078,"line_start":238,"line_end":238,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142049,"byte_end":142060,"line_start":238,"line_end":238,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088949}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142103,"byte_end":142114,"line_start":238,"line_end":238,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142084,"byte_end":142087,"line_start":238,"line_end":238,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142082,"byte_end":142083,"line_start":238,"line_end":238,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2457862453}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142143,"byte_end":142160,"line_start":239,"line_end":239,"column_start":25,"column_end":42},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142131,"byte_end":142142,"line_start":239,"line_end":239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088949}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142162,"byte_end":142163,"line_start":239,"line_end":239,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2457862453}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142164,"byte_end":142166,"line_start":239,"line_end":239,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142211,"byte_end":142217,"line_start":241,"line_end":241,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142199,"byte_end":142210,"line_start":241,"line_end":241,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671088949}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142237,"byte_end":142243,"line_start":241,"line_end":241,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142223,"byte_end":142234,"line_start":241,"line_end":241,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142274,"byte_end":142278,"line_start":244,"line_end":244,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142267,"byte_end":142273,"line_start":244,"line_end":244,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742133}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142279,"byte_end":142295,"line_start":244,"line_end":244,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142310,"byte_end":142313,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142318,"byte_end":142322,"line_start":245,"line_end":245,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142360,"byte_end":142365,"line_start":246,"line_end":246,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142345,"byte_end":142358,"line_start":246,"line_end":246,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142366,"byte_end":142370,"line_start":246,"line_end":246,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142431,"byte_end":142438,"line_start":248,"line_end":248,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142416,"byte_end":142429,"line_start":248,"line_end":248,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142466,"byte_end":142467,"line_start":250,"line_end":250,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142482,"byte_end":142487,"line_start":250,"line_end":250,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142469,"byte_end":142480,"line_start":250,"line_end":250,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142501,"byte_end":142509,"line_start":251,"line_end":251,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142511,"byte_end":142525,"line_start":251,"line_end":251,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":3288334645}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142539,"byte_end":142543,"line_start":252,"line_end":252,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142550,"byte_end":142553,"line_start":252,"line_end":252,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142545,"byte_end":142548,"line_start":252,"line_end":252,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142559,"byte_end":142567,"line_start":252,"line_end":252,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142554,"byte_end":142557,"line_start":252,"line_end":252,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142573,"byte_end":142576,"line_start":252,"line_end":252,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142568,"byte_end":142571,"line_start":252,"line_end":252,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142577,"byte_end":142590,"line_start":252,"line_end":252,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142593,"byte_end":142597,"line_start":252,"line_end":252,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142593,"byte_end":142597,"line_start":252,"line_end":252,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3825205557}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142599,"byte_end":142606,"line_start":252,"line_end":252,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3997}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142599,"byte_end":142606,"line_start":252,"line_end":252,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3422552373}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142653,"byte_end":142655,"line_start":255,"line_end":255,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142657,"byte_end":142671,"line_start":255,"line_end":255,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":3288334645}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142673,"byte_end":142684,"line_start":255,"line_end":255,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088949}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142686,"byte_end":142692,"line_start":255,"line_end":255,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742133}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142877,"byte_end":142882,"line_start":258,"line_end":258,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142776,"byte_end":142785,"line_start":258,"line_end":258,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142801,"byte_end":142810,"line_start":258,"line_end":258,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142820,"byte_end":142823,"line_start":258,"line_end":258,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142824,"byte_end":142831,"line_start":258,"line_end":258,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142837,"byte_end":142843,"line_start":258,"line_end":258,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142848,"byte_end":142856,"line_start":258,"line_end":258,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":142902,"byte_end":142907,"line_start":259,"line_end":259,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342177590}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142931,"byte_end":142936,"line_start":260,"line_end":260,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142922,"byte_end":142929,"line_start":260,"line_end":260,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142931,"byte_end":142936,"line_start":260,"line_end":260,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142922,"byte_end":142929,"line_start":260,"line_end":260,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142981,"byte_end":142984,"line_start":261,"line_end":261,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":142996,"byte_end":142999,"line_start":261,"line_end":261,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":142991,"byte_end":142994,"line_start":261,"line_end":261,"column_start":43,"column_end":46},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143033,"byte_end":143041,"line_start":263,"line_end":263,"column_start":30,"column_end":38},"ref_id":{"krate":1,"index":7936}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143026,"byte_end":143030,"line_start":263,"line_end":263,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143020,"byte_end":143025,"line_start":263,"line_end":263,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1207959862}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143077,"byte_end":143081,"line_start":264,"line_end":264,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":3825205558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143117,"byte_end":143124,"line_start":265,"line_end":265,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143108,"byte_end":143115,"line_start":265,"line_end":265,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143117,"byte_end":143124,"line_start":265,"line_end":265,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143108,"byte_end":143115,"line_start":265,"line_end":265,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143168,"byte_end":143172,"line_start":266,"line_end":266,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143161,"byte_end":143167,"line_start":266,"line_end":266,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109174}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143174,"byte_end":143175,"line_start":266,"line_end":266,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":872415542}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143244,"byte_end":143249,"line_start":268,"line_end":268,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143235,"byte_end":143242,"line_start":268,"line_end":268,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143244,"byte_end":143249,"line_start":268,"line_end":268,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143235,"byte_end":143242,"line_start":268,"line_end":268,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143293,"byte_end":143297,"line_start":269,"line_end":269,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143286,"byte_end":143292,"line_start":269,"line_end":269,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109174}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143299,"byte_end":143300,"line_start":269,"line_end":269,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2080375094}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143402,"byte_end":143406,"line_start":272,"line_end":272,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143395,"byte_end":143401,"line_start":272,"line_end":272,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":67109174}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143502,"byte_end":143511,"line_start":277,"line_end":277,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143512,"byte_end":143518,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613046}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143520,"byte_end":143526,"line_start":277,"line_end":277,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268435766}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143528,"byte_end":143534,"line_start":277,"line_end":277,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":67109174}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143593,"byte_end":143595,"line_start":282,"line_end":282,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143718,"byte_end":143723,"line_start":285,"line_end":285,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143634,"byte_end":143643,"line_start":285,"line_end":285,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143661,"byte_end":143670,"line_start":285,"line_end":285,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143675,"byte_end":143681,"line_start":285,"line_end":285,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143682,"byte_end":143688,"line_start":285,"line_end":285,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143696,"byte_end":143704,"line_start":285,"line_end":285,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143757,"byte_end":143767,"line_start":286,"line_end":286,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143740,"byte_end":143755,"line_start":286,"line_end":286,"column_start":15,"column_end":30},"ref_id":{"krate":0,"index":291}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143768,"byte_end":143774,"line_start":286,"line_end":286,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1073742137}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143776,"byte_end":143782,"line_start":286,"line_end":286,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871225}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143799,"byte_end":143803,"line_start":287,"line_end":287,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143799,"byte_end":143803,"line_start":287,"line_end":287,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143814,"byte_end":143816,"line_start":287,"line_end":287,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143817,"byte_end":143821,"line_start":287,"line_end":287,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143828,"byte_end":143834,"line_start":287,"line_end":287,"column_start":42,"column_end":48},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":143822,"byte_end":143827,"line_start":287,"line_end":287,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":67109177}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143852,"byte_end":143856,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143852,"byte_end":143856,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143860,"byte_end":143862,"line_start":288,"line_end":288,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143863,"byte_end":143867,"line_start":288,"line_end":288,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143924,"byte_end":143933,"line_start":292,"line_end":292,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143951,"byte_end":143960,"line_start":292,"line_end":292,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":143965,"byte_end":143972,"line_start":292,"line_end":292,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":143997,"byte_end":144007,"line_start":295,"line_end":295,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144008,"byte_end":144014,"line_start":295,"line_end":295,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871226}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144016,"byte_end":144022,"line_start":295,"line_end":295,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613050}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144038,"byte_end":144040,"line_start":296,"line_end":296,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144038,"byte_end":144040,"line_start":296,"line_end":296,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144071,"byte_end":144072,"line_start":297,"line_end":297,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281701690}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144095,"byte_end":144099,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144095,"byte_end":144099,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144191,"byte_end":144198,"line_start":300,"line_end":300,"column_start":83,"column_end":90},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144154,"byte_end":144157,"line_start":300,"line_end":300,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144147,"byte_end":144151,"line_start":300,"line_end":300,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144145,"byte_end":144146,"line_start":300,"line_end":300,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3892314426}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144171,"byte_end":144178,"line_start":300,"line_end":300,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144162,"byte_end":144169,"line_start":300,"line_end":300,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144180,"byte_end":144181,"line_start":300,"line_end":300,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":1140851002}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144236,"byte_end":144241,"line_start":302,"line_end":302,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144227,"byte_end":144234,"line_start":302,"line_end":302,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144242,"byte_end":144247,"line_start":302,"line_end":302,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1275068730}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144292,"byte_end":144296,"line_start":304,"line_end":304,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144292,"byte_end":144296,"line_start":304,"line_end":304,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144358,"byte_end":144368,"line_start":306,"line_end":306,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144351,"byte_end":144357,"line_start":306,"line_end":306,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613050}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144369,"byte_end":144375,"line_start":306,"line_end":306,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871226}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144376,"byte_end":144387,"line_start":306,"line_end":306,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144389,"byte_end":144393,"line_start":306,"line_end":306,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144404,"byte_end":144417,"line_start":306,"line_end":306,"column_start":102,"column_end":115},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144454,"byte_end":144458,"line_start":308,"line_end":308,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":167772474}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144459,"byte_end":144466,"line_start":308,"line_end":308,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144497,"byte_end":144501,"line_start":309,"line_end":309,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144497,"byte_end":144501,"line_start":309,"line_end":309,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144672,"byte_end":144679,"line_start":312,"line_end":312,"column_start":36,"column_end":43},"ref_id":{"krate":1,"index":7971}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144682,"byte_end":144685,"line_start":312,"line_end":312,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144686,"byte_end":144693,"line_start":312,"line_end":312,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144563,"byte_end":144566,"line_start":310,"line_end":310,"column_start":54,"column_end":57},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":144556,"byte_end":144560,"line_start":310,"line_end":310,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144554,"byte_end":144555,"line_start":310,"line_end":310,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1778385210}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144618,"byte_end":144625,"line_start":311,"line_end":311,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144609,"byte_end":144616,"line_start":311,"line_end":311,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144627,"byte_end":144628,"line_start":311,"line_end":311,"column_start":55,"column_end":56},"ref_id":{"krate":0,"index":2785018170}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144741,"byte_end":144746,"line_start":314,"line_end":314,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144732,"byte_end":144739,"line_start":314,"line_end":314,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":144747,"byte_end":144752,"line_start":314,"line_end":314,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":3992977722}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144813,"byte_end":144817,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144813,"byte_end":144817,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144830,"byte_end":144834,"line_start":316,"line_end":316,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144821,"byte_end":144828,"line_start":316,"line_end":316,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144952,"byte_end":144955,"line_start":322,"line_end":322,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144952,"byte_end":144955,"line_start":322,"line_end":322,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144990,"byte_end":144994,"line_start":323,"line_end":323,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":144981,"byte_end":144988,"line_start":323,"line_end":323,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145064,"byte_end":145073,"line_start":327,"line_end":327,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145084,"byte_end":145093,"line_start":327,"line_end":327,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145098,"byte_end":145104,"line_start":327,"line_end":327,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145112,"byte_end":145120,"line_start":327,"line_end":327,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145159,"byte_end":145168,"line_start":329,"line_end":329,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145152,"byte_end":145158,"line_start":329,"line_end":329,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871229}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145169,"byte_end":145175,"line_start":329,"line_end":329,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613053}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145215,"byte_end":145229,"line_start":330,"line_end":330,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145205,"byte_end":145212,"line_start":330,"line_end":330,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145285,"byte_end":145295,"line_start":333,"line_end":333,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3087008061}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145322,"byte_end":145324,"line_start":334,"line_end":334,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145379,"byte_end":145389,"line_start":337,"line_end":337,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145372,"byte_end":145378,"line_start":337,"line_end":337,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613053}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145390,"byte_end":145396,"line_start":337,"line_end":337,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871229}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145397,"byte_end":145408,"line_start":337,"line_end":337,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145410,"byte_end":145414,"line_start":337,"line_end":337,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145425,"byte_end":145438,"line_start":337,"line_end":337,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145477,"byte_end":145481,"line_start":340,"line_end":340,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":33554749}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145482,"byte_end":145486,"line_start":340,"line_end":340,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3998}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145512,"byte_end":145514,"line_start":341,"line_end":341,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145515,"byte_end":145519,"line_start":341,"line_end":341,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":33554749}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145520,"byte_end":145524,"line_start":341,"line_end":341,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145608,"byte_end":145621,"line_start":345,"line_end":345,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145654,"byte_end":145663,"line_start":345,"line_end":345,"column_start":84,"column_end":93},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":145630,"byte_end":145641,"line_start":345,"line_end":345,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145623,"byte_end":145629,"line_start":345,"line_end":345,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610613053}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145642,"byte_end":145652,"line_start":345,"line_end":345,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":3087008061}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145756,"byte_end":145758,"line_start":348,"line_end":348,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":145759,"byte_end":145769,"line_start":348,"line_end":348,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":234881341}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145831,"byte_end":145834,"line_start":352,"line_end":352,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145835,"byte_end":145851,"line_start":352,"line_end":352,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145868,"byte_end":145871,"line_start":352,"line_end":352,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145872,"byte_end":145879,"line_start":352,"line_end":352,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145885,"byte_end":145891,"line_start":352,"line_end":352,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145899,"byte_end":145902,"line_start":352,"line_end":352,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145908,"byte_end":145911,"line_start":352,"line_end":352,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145912,"byte_end":145928,"line_start":352,"line_end":352,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":145932,"byte_end":145940,"line_start":352,"line_end":352,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146015,"byte_end":146018,"line_start":356,"line_end":356,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146030,"byte_end":146033,"line_start":356,"line_end":356,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146025,"byte_end":146028,"line_start":356,"line_end":356,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146057,"byte_end":146061,"line_start":357,"line_end":357,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146045,"byte_end":146056,"line_start":357,"line_end":357,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671088960}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146075,"byte_end":146080,"line_start":357,"line_end":357,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146062,"byte_end":146073,"line_start":357,"line_end":357,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146115,"byte_end":146126,"line_start":359,"line_end":359,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536871232}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146158,"byte_end":146165,"line_start":360,"line_end":360,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146149,"byte_end":146156,"line_start":360,"line_end":360,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146158,"byte_end":146165,"line_start":360,"line_end":360,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146149,"byte_end":146156,"line_start":360,"line_end":360,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146190,"byte_end":146204,"line_start":361,"line_end":361,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":268435776}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146232,"byte_end":146233,"line_start":362,"line_end":362,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825205568}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146267,"byte_end":146270,"line_start":363,"line_end":363,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146281,"byte_end":146284,"line_start":363,"line_end":363,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146271,"byte_end":146279,"line_start":363,"line_end":363,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146371,"byte_end":146372,"line_start":365,"line_end":365,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825205568}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146384,"byte_end":146388,"line_start":365,"line_end":365,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146380,"byte_end":146383,"line_start":365,"line_end":365,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146420,"byte_end":146423,"line_start":366,"line_end":366,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146434,"byte_end":146437,"line_start":366,"line_end":366,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146424,"byte_end":146432,"line_start":366,"line_end":366,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146538,"byte_end":146544,"line_start":368,"line_end":368,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146526,"byte_end":146537,"line_start":368,"line_end":368,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146570,"byte_end":146576,"line_start":368,"line_end":368,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146556,"byte_end":146567,"line_start":368,"line_end":368,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146546,"byte_end":146547,"line_start":368,"line_end":368,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3825205568}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146597,"byte_end":146598,"line_start":369,"line_end":369,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3825205568}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146642,"byte_end":146647,"line_start":371,"line_end":371,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146633,"byte_end":146640,"line_start":371,"line_end":371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146642,"byte_end":146647,"line_start":371,"line_end":371,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146633,"byte_end":146640,"line_start":371,"line_end":371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146672,"byte_end":146686,"line_start":372,"line_end":372,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":268435776}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146714,"byte_end":146715,"line_start":373,"line_end":373,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3456106816}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146751,"byte_end":146754,"line_start":374,"line_end":374,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146765,"byte_end":146768,"line_start":374,"line_end":374,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146755,"byte_end":146763,"line_start":374,"line_end":374,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146855,"byte_end":146856,"line_start":376,"line_end":376,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3456106816}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146868,"byte_end":146872,"line_start":376,"line_end":376,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":146864,"byte_end":146867,"line_start":376,"line_end":376,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":24128}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146904,"byte_end":146907,"line_start":377,"line_end":377,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":146918,"byte_end":146921,"line_start":377,"line_end":377,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":146908,"byte_end":146916,"line_start":377,"line_end":377,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147023,"byte_end":147029,"line_start":380,"line_end":380,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147011,"byte_end":147022,"line_start":380,"line_end":380,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147055,"byte_end":147061,"line_start":380,"line_end":380,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147041,"byte_end":147052,"line_start":380,"line_end":380,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147031,"byte_end":147032,"line_start":380,"line_end":380,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3456106816}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147082,"byte_end":147083,"line_start":381,"line_end":381,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3456106816}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147153,"byte_end":147159,"line_start":384,"line_end":384,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147141,"byte_end":147152,"line_start":384,"line_end":384,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147179,"byte_end":147185,"line_start":384,"line_end":384,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147165,"byte_end":147176,"line_start":384,"line_end":384,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147263,"byte_end":147274,"line_start":389,"line_end":389,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":536871232}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147309,"byte_end":147314,"line_start":390,"line_end":390,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147300,"byte_end":147307,"line_start":390,"line_end":390,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147309,"byte_end":147314,"line_start":390,"line_end":390,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147300,"byte_end":147307,"line_start":390,"line_end":390,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147363,"byte_end":147366,"line_start":392,"line_end":392,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147564,"byte_end":147571,"line_start":397,"line_end":397,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147386,"byte_end":147389,"line_start":392,"line_end":392,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147379,"byte_end":147383,"line_start":392,"line_end":392,"column_start":52,"column_end":56},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147373,"byte_end":147378,"line_start":392,"line_end":392,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3942646080}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147422,"byte_end":147423,"line_start":393,"line_end":393,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1728053568}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147459,"byte_end":147466,"line_start":394,"line_end":394,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147450,"byte_end":147457,"line_start":394,"line_end":394,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147459,"byte_end":147466,"line_start":394,"line_end":394,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147450,"byte_end":147457,"line_start":394,"line_end":394,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147476,"byte_end":147477,"line_start":394,"line_end":394,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":3607101760}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147618,"byte_end":147621,"line_start":398,"line_end":398,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147604,"byte_end":147617,"line_start":398,"line_end":398,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":3229614400}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147664,"byte_end":147670,"line_start":399,"line_end":399,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147652,"byte_end":147663,"line_start":399,"line_end":399,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147692,"byte_end":147698,"line_start":399,"line_end":399,"column_start":57,"column_end":63},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147678,"byte_end":147689,"line_start":399,"line_end":399,"column_start":43,"column_end":54},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147671,"byte_end":147677,"line_start":399,"line_end":399,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":4034920768}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147731,"byte_end":147737,"line_start":400,"line_end":400,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147719,"byte_end":147730,"line_start":400,"line_end":400,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147752,"byte_end":147757,"line_start":400,"line_end":400,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147738,"byte_end":147751,"line_start":400,"line_end":400,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":3229614400}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147778,"byte_end":147782,"line_start":401,"line_end":401,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147783,"byte_end":147796,"line_start":401,"line_end":401,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3229614400}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147860,"byte_end":147866,"line_start":404,"line_end":404,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147848,"byte_end":147859,"line_start":404,"line_end":404,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671088960}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147886,"byte_end":147892,"line_start":404,"line_end":404,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147872,"byte_end":147883,"line_start":404,"line_end":404,"column_start":41,"column_end":52},"ref_id":{"krate":1,"index":24111}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147913,"byte_end":147917,"line_start":405,"line_end":405,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":147968,"byte_end":147972,"line_start":410,"line_end":410,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":147961,"byte_end":147967,"line_start":410,"line_end":410,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742144}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":147973,"byte_end":147989,"line_start":410,"line_end":410,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148004,"byte_end":148007,"line_start":411,"line_end":411,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148012,"byte_end":148016,"line_start":411,"line_end":411,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1929380160}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148054,"byte_end":148059,"line_start":412,"line_end":412,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148039,"byte_end":148052,"line_start":412,"line_end":412,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148060,"byte_end":148064,"line_start":412,"line_end":412,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1929380160}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148125,"byte_end":148132,"line_start":414,"line_end":414,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148110,"byte_end":148123,"line_start":414,"line_end":414,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148160,"byte_end":148161,"line_start":416,"line_end":416,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148176,"byte_end":148181,"line_start":416,"line_end":416,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148163,"byte_end":148174,"line_start":416,"line_end":416,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148195,"byte_end":148199,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148206,"byte_end":148209,"line_start":417,"line_end":417,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148201,"byte_end":148204,"line_start":417,"line_end":417,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148215,"byte_end":148223,"line_start":417,"line_end":417,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148210,"byte_end":148213,"line_start":417,"line_end":417,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148229,"byte_end":148232,"line_start":417,"line_end":417,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148224,"byte_end":148227,"line_start":417,"line_end":417,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148233,"byte_end":148246,"line_start":417,"line_end":417,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148249,"byte_end":148253,"line_start":417,"line_end":417,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148249,"byte_end":148253,"line_start":417,"line_end":417,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1929380160}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148255,"byte_end":148262,"line_start":417,"line_end":417,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3997}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148255,"byte_end":148262,"line_start":417,"line_end":417,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3162505536}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148294,"byte_end":148302,"line_start":418,"line_end":418,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148304,"byte_end":148318,"line_start":418,"line_end":418,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":268435776}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148347,"byte_end":148349,"line_start":421,"line_end":421,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148351,"byte_end":148365,"line_start":421,"line_end":421,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":268435776}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148367,"byte_end":148378,"line_start":421,"line_end":421,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":671088960}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148380,"byte_end":148386,"line_start":421,"line_end":421,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073742144}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148437,"byte_end":148440,"line_start":424,"line_end":424,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148441,"byte_end":148457,"line_start":424,"line_end":424,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148500,"byte_end":148503,"line_start":424,"line_end":424,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148504,"byte_end":148520,"line_start":424,"line_end":424,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148577,"byte_end":148590,"line_start":426,"line_end":426,"column_start":31,"column_end":44},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148605,"byte_end":148610,"line_start":427,"line_end":427,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148611,"byte_end":148618,"line_start":427,"line_end":427,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148637,"byte_end":148642,"line_start":428,"line_end":428,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148643,"byte_end":148650,"line_start":428,"line_end":428,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148669,"byte_end":148674,"line_start":429,"line_end":429,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148675,"byte_end":148682,"line_start":429,"line_end":429,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148701,"byte_end":148706,"line_start":430,"line_end":430,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148707,"byte_end":148714,"line_start":430,"line_end":430,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148795,"byte_end":148808,"line_start":434,"line_end":434,"column_start":33,"column_end":46},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148823,"byte_end":148828,"line_start":435,"line_end":435,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148829,"byte_end":148836,"line_start":435,"line_end":435,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148855,"byte_end":148860,"line_start":436,"line_end":436,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148861,"byte_end":148868,"line_start":436,"line_end":436,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148907,"byte_end":148919,"line_start":439,"line_end":439,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":2717909314}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":148946,"byte_end":148950,"line_start":440,"line_end":440,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148939,"byte_end":148945,"line_start":440,"line_end":440,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742146}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":148951,"byte_end":148967,"line_start":440,"line_end":440,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148986,"byte_end":148989,"line_start":441,"line_end":441,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":148994,"byte_end":149004,"line_start":441,"line_end":441,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149046,"byte_end":149051,"line_start":442,"line_end":442,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149031,"byte_end":149044,"line_start":442,"line_end":442,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149052,"byte_end":149062,"line_start":442,"line_end":442,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149131,"byte_end":149138,"line_start":444,"line_end":444,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149116,"byte_end":149129,"line_start":444,"line_end":444,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149174,"byte_end":149175,"line_start":446,"line_end":446,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149190,"byte_end":149195,"line_start":446,"line_end":446,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149177,"byte_end":149188,"line_start":446,"line_end":446,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149213,"byte_end":149221,"line_start":447,"line_end":447,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149223,"byte_end":149233,"line_start":447,"line_end":447,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149255,"byte_end":149259,"line_start":448,"line_end":448,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149266,"byte_end":149269,"line_start":448,"line_end":448,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149261,"byte_end":149264,"line_start":448,"line_end":448,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149275,"byte_end":149283,"line_start":448,"line_end":448,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149270,"byte_end":149273,"line_start":448,"line_end":448,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149289,"byte_end":149292,"line_start":448,"line_end":448,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149284,"byte_end":149287,"line_start":448,"line_end":448,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149293,"byte_end":149306,"line_start":448,"line_end":448,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149309,"byte_end":149313,"line_start":448,"line_end":448,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149315,"byte_end":149325,"line_start":448,"line_end":448,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149327,"byte_end":149334,"line_start":448,"line_end":448,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149336,"byte_end":149340,"line_start":448,"line_end":448,"column_start":98,"column_end":102},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149425,"byte_end":149430,"line_start":451,"line_end":451,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1610613058}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149431,"byte_end":149480,"line_start":451,"line_end":451,"column_start":40,"column_end":89},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149431,"byte_end":149444,"line_start":451,"line_end":451,"column_start":40,"column_end":53},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149432,"byte_end":149439,"line_start":451,"line_end":451,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149446,"byte_end":149480,"line_start":451,"line_end":451,"column_start":55,"column_end":89},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149447,"byte_end":149454,"line_start":451,"line_end":451,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":536871234}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149462,"byte_end":149474,"line_start":451,"line_end":451,"column_start":71,"column_end":83},"ref_id":{"krate":0,"index":2717909314}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149503,"byte_end":149507,"line_start":453,"line_end":453,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149496,"byte_end":149502,"line_start":453,"line_end":453,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742146}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149508,"byte_end":149524,"line_start":453,"line_end":453,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149543,"byte_end":149546,"line_start":454,"line_end":454,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149551,"byte_end":149561,"line_start":454,"line_end":454,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149603,"byte_end":149608,"line_start":455,"line_end":455,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149588,"byte_end":149601,"line_start":455,"line_end":455,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149609,"byte_end":149619,"line_start":455,"line_end":455,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149688,"byte_end":149695,"line_start":457,"line_end":457,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149673,"byte_end":149686,"line_start":457,"line_end":457,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149731,"byte_end":149732,"line_start":459,"line_end":459,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149747,"byte_end":149752,"line_start":459,"line_end":459,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149734,"byte_end":149745,"line_start":459,"line_end":459,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149770,"byte_end":149774,"line_start":460,"line_end":460,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149781,"byte_end":149784,"line_start":460,"line_end":460,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149776,"byte_end":149779,"line_start":460,"line_end":460,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149790,"byte_end":149798,"line_start":460,"line_end":460,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149785,"byte_end":149788,"line_start":460,"line_end":460,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149804,"byte_end":149807,"line_start":460,"line_end":460,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149799,"byte_end":149802,"line_start":460,"line_end":460,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149808,"byte_end":149821,"line_start":460,"line_end":460,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149824,"byte_end":149828,"line_start":460,"line_end":460,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149830,"byte_end":149840,"line_start":460,"line_end":460,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149842,"byte_end":149849,"line_start":460,"line_end":460,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":149851,"byte_end":149855,"line_start":460,"line_end":460,"column_start":98,"column_end":102},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":149870,"byte_end":149876,"line_start":460,"line_end":460,"column_start":117,"column_end":123},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149856,"byte_end":149869,"line_start":460,"line_end":460,"column_start":103,"column_end":116},"ref_id":{"krate":0,"index":1694499138}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149915,"byte_end":149923,"line_start":461,"line_end":461,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149925,"byte_end":149935,"line_start":461,"line_end":461,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149980,"byte_end":149990,"line_start":465,"line_end":465,"column_start":10,"column_end":20},"ref_id":{"krate":0,"index":3556770114}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":149996,"byte_end":150002,"line_start":465,"line_end":465,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742146}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150034,"byte_end":150043,"line_start":470,"line_end":470,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150027,"byte_end":150032,"line_start":470,"line_end":470,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150142,"byte_end":150147,"line_start":471,"line_end":471,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150096,"byte_end":150112,"line_start":471,"line_end":471,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150117,"byte_end":150123,"line_start":471,"line_end":471,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150158,"byte_end":150162,"line_start":472,"line_end":472,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150200,"byte_end":150209,"line_start":475,"line_end":475,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150221,"byte_end":150230,"line_start":475,"line_end":475,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150235,"byte_end":150241,"line_start":475,"line_end":475,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150258,"byte_end":150262,"line_start":476,"line_end":476,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150300,"byte_end":150309,"line_start":479,"line_end":479,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150321,"byte_end":150330,"line_start":479,"line_end":479,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150335,"byte_end":150341,"line_start":479,"line_end":479,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150358,"byte_end":150362,"line_start":480,"line_end":480,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"ref_id":{"krate":0,"index":291}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150385,"byte_end":150393,"line_start":484,"line_end":484,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150470,"byte_end":150481,"line_start":488,"line_end":488,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150495,"byte_end":150503,"line_start":488,"line_end":488,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150485,"byte_end":150493,"line_start":488,"line_end":488,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150553,"byte_end":150564,"line_start":489,"line_end":489,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150578,"byte_end":150586,"line_start":489,"line_end":489,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150568,"byte_end":150576,"line_start":489,"line_end":489,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150623,"byte_end":150626,"line_start":491,"line_end":491,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150627,"byte_end":150643,"line_start":491,"line_end":491,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150664,"byte_end":150670,"line_start":491,"line_end":491,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150671,"byte_end":150678,"line_start":491,"line_end":491,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150680,"byte_end":150688,"line_start":491,"line_end":491,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":150710,"byte_end":150724,"line_start":492,"line_end":492,"column_start":19,"column_end":33},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150700,"byte_end":150708,"line_start":492,"line_end":492,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":150725,"byte_end":150731,"line_start":492,"line_end":492,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073742156}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":150733,"byte_end":150740,"line_start":492,"line_end":492,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":536871244}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150922,"byte_end":150927,"line_start":495,"line_end":495,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150819,"byte_end":150828,"line_start":495,"line_end":495,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150845,"byte_end":150854,"line_start":495,"line_end":495,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150865,"byte_end":150868,"line_start":495,"line_end":495,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150869,"byte_end":150876,"line_start":495,"line_end":495,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150882,"byte_end":150888,"line_start":495,"line_end":495,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150893,"byte_end":150901,"line_start":495,"line_end":495,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":150938,"byte_end":150940,"line_start":496,"line_end":496,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151017,"byte_end":151020,"line_start":499,"line_end":499,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151021,"byte_end":151037,"line_start":499,"line_end":499,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151043,"byte_end":151049,"line_start":499,"line_end":499,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151090,"byte_end":151096,"line_start":500,"line_end":500,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613071}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151097,"byte_end":151101,"line_start":500,"line_end":500,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871247}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151103,"byte_end":151107,"line_start":500,"line_end":500,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151118,"byte_end":151131,"line_start":500,"line_end":500,"column_start":61,"column_end":74},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151163,"byte_end":151167,"line_start":502,"line_end":502,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653519}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151168,"byte_end":151175,"line_start":502,"line_end":502,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3997}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151152,"byte_end":151156,"line_start":502,"line_end":502,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151190,"byte_end":151194,"line_start":503,"line_end":503,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151196,"byte_end":151197,"line_start":503,"line_end":503,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3623878991}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151198,"byte_end":151200,"line_start":503,"line_end":503,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":37850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151232,"byte_end":151236,"line_start":505,"line_end":505,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151324,"byte_end":151327,"line_start":511,"line_end":511,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151328,"byte_end":151344,"line_start":511,"line_end":511,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151366,"byte_end":151372,"line_start":511,"line_end":511,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151373,"byte_end":151379,"line_start":511,"line_end":511,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151381,"byte_end":151389,"line_start":511,"line_end":511,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151401,"byte_end":151403,"line_start":512,"line_end":512,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151412,"byte_end":151416,"line_start":512,"line_end":512,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151404,"byte_end":151410,"line_start":512,"line_end":512,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151498,"byte_end":151501,"line_start":516,"line_end":516,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151502,"byte_end":151518,"line_start":516,"line_end":516,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151541,"byte_end":151550,"line_start":516,"line_end":516,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151560,"byte_end":151563,"line_start":516,"line_end":516,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151564,"byte_end":151570,"line_start":516,"line_end":516,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151576,"byte_end":151582,"line_start":516,"line_end":516,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151590,"byte_end":151593,"line_start":516,"line_end":516,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151599,"byte_end":151602,"line_start":516,"line_end":516,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151603,"byte_end":151619,"line_start":516,"line_end":516,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151623,"byte_end":151631,"line_start":516,"line_end":516,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151649,"byte_end":151668,"line_start":517,"line_end":517,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151669,"byte_end":151675,"line_start":517,"line_end":517,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742161}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151683,"byte_end":151686,"line_start":517,"line_end":517,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151678,"byte_end":151681,"line_start":517,"line_end":517,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151696,"byte_end":151700,"line_start":517,"line_end":517,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151687,"byte_end":151694,"line_start":517,"line_end":517,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151842,"byte_end":151847,"line_start":521,"line_end":521,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151743,"byte_end":151752,"line_start":521,"line_end":521,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151768,"byte_end":151777,"line_start":521,"line_end":521,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151795,"byte_end":151801,"line_start":521,"line_end":521,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151802,"byte_end":151811,"line_start":521,"line_end":521,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":151813,"byte_end":151821,"line_start":521,"line_end":521,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151885,"byte_end":151894,"line_start":523,"line_end":523,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151878,"byte_end":151884,"line_start":523,"line_end":523,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151895,"byte_end":151901,"line_start":523,"line_end":523,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151931,"byte_end":151936,"line_start":525,"line_end":525,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1610613074}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":151972,"byte_end":151975,"line_start":527,"line_end":527,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":151966,"byte_end":151971,"line_start":527,"line_end":527,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152030,"byte_end":152041,"line_start":529,"line_end":529,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152023,"byte_end":152029,"line_start":529,"line_end":529,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871250}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152085,"byte_end":152095,"line_start":531,"line_end":531,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152078,"byte_end":152084,"line_start":531,"line_end":531,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152096,"byte_end":152102,"line_start":531,"line_end":531,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152103,"byte_end":152114,"line_start":531,"line_end":531,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152116,"byte_end":152120,"line_start":531,"line_end":531,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152131,"byte_end":152144,"line_start":531,"line_end":531,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152173,"byte_end":152177,"line_start":533,"line_end":533,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1006633298}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152178,"byte_end":152182,"line_start":533,"line_end":533,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152200,"byte_end":152204,"line_start":535,"line_end":535,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1107296594}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152273,"byte_end":152287,"line_start":538,"line_end":538,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152263,"byte_end":152270,"line_start":538,"line_end":538,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1207959890}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152375,"byte_end":152378,"line_start":541,"line_end":541,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152390,"byte_end":152403,"line_start":541,"line_end":541,"column_start":53,"column_end":66},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152385,"byte_end":152388,"line_start":541,"line_end":541,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152404,"byte_end":152408,"line_start":541,"line_end":541,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1107296594}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152446,"byte_end":152453,"line_start":542,"line_end":542,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152446,"byte_end":152447,"line_start":542,"line_end":542,"column_start":27,"column_end":28},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152449,"byte_end":152453,"line_start":542,"line_end":542,"column_start":30,"column_end":34},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152449,"byte_end":152453,"line_start":542,"line_end":542,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1107296594}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152488,"byte_end":152492,"line_start":543,"line_end":543,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152476,"byte_end":152487,"line_start":543,"line_end":543,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":100663634}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152558,"byte_end":152564,"line_start":546,"line_end":546,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2625}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152551,"byte_end":152557,"line_start":546,"line_end":546,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152565,"byte_end":152576,"line_start":546,"line_end":546,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":100663634}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152634,"byte_end":152648,"line_start":547,"line_end":547,"column_start":46,"column_end":60},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152612,"byte_end":152625,"line_start":547,"line_end":547,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152605,"byte_end":152611,"line_start":547,"line_end":547,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152626,"byte_end":152632,"line_start":547,"line_end":547,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152649,"byte_end":152657,"line_start":547,"line_end":547,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":83886418}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152715,"byte_end":152729,"line_start":550,"line_end":550,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152705,"byte_end":152712,"line_start":550,"line_end":550,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1207959890}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152776,"byte_end":152787,"line_start":552,"line_end":552,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152769,"byte_end":152775,"line_start":552,"line_end":552,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152755,"byte_end":152766,"line_start":552,"line_end":552,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":335544658}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":152817,"byte_end":152835,"line_start":554,"line_end":554,"column_start":22,"column_end":40},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152817,"byte_end":152818,"line_start":554,"line_end":554,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152820,"byte_end":152835,"line_start":554,"line_end":554,"column_start":25,"column_end":40},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152821,"byte_end":152825,"line_start":554,"line_end":554,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1107296594}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152857,"byte_end":152858,"line_start":555,"line_end":555,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":4076863826}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":152867,"byte_end":152870,"line_start":555,"line_end":555,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152861,"byte_end":152866,"line_start":555,"line_end":555,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152967,"byte_end":152972,"line_start":557,"line_end":557,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152973,"byte_end":152974,"line_start":557,"line_end":557,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":4076863826}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152941,"byte_end":152952,"line_start":557,"line_end":557,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":335544658}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152954,"byte_end":152958,"line_start":557,"line_end":557,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3170894162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":152961,"byte_end":152962,"line_start":557,"line_end":557,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":4076863826}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153059,"byte_end":153070,"line_start":560,"line_end":560,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":335544658}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153072,"byte_end":153076,"line_start":560,"line_end":560,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3170894162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153079,"byte_end":153080,"line_start":560,"line_end":560,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":4076863826}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153144,"byte_end":153146,"line_start":564,"line_end":564,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153147,"byte_end":153153,"line_start":564,"line_end":564,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153231,"byte_end":153245,"line_start":568,"line_end":568,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153221,"byte_end":153228,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207959890}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153297,"byte_end":153307,"line_start":570,"line_end":570,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3296723282}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153385,"byte_end":153394,"line_start":571,"line_end":571,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153361,"byte_end":153372,"line_start":571,"line_end":571,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153354,"byte_end":153360,"line_start":571,"line_end":571,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153373,"byte_end":153383,"line_start":571,"line_end":571,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":3296723282}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153422,"byte_end":153435,"line_start":572,"line_end":572,"column_start":18,"column_end":31},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153437,"byte_end":153447,"line_start":572,"line_end":572,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":1115685202}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153525,"byte_end":153534,"line_start":577,"line_end":577,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":444596562}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153538,"byte_end":153546,"line_start":577,"line_end":577,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2214592850}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153700,"byte_end":153708,"line_start":581,"line_end":581,"column_start":16,"column_end":24},"ref_id":{"krate":0,"index":2214592850}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153722,"byte_end":153725,"line_start":581,"line_end":581,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":153711,"byte_end":153715,"line_start":581,"line_end":581,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":153717,"byte_end":153720,"line_start":581,"line_end":581,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153760,"byte_end":153763,"line_start":582,"line_end":582,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153774,"byte_end":153777,"line_start":582,"line_end":582,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153764,"byte_end":153772,"line_start":582,"line_end":582,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153862,"byte_end":153873,"line_start":584,"line_end":584,"column_start":48,"column_end":59},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153845,"byte_end":153853,"line_start":584,"line_end":584,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2214592850}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":153929,"byte_end":153948,"line_start":586,"line_end":586,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153929,"byte_end":153930,"line_start":586,"line_end":586,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153932,"byte_end":153948,"line_start":586,"line_end":586,"column_start":25,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":153943,"byte_end":153946,"line_start":586,"line_end":586,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153932,"byte_end":153942,"line_start":586,"line_end":586,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2709520722}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153999,"byte_end":154009,"line_start":587,"line_end":587,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":2709520722}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154010,"byte_end":154011,"line_start":587,"line_end":587,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":1904214354}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153967,"byte_end":153978,"line_start":587,"line_end":587,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":335544658}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153980,"byte_end":153990,"line_start":587,"line_end":587,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3296723282}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":153993,"byte_end":153994,"line_start":587,"line_end":587,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":1904214354}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154112,"byte_end":154126,"line_start":593,"line_end":593,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154112,"byte_end":154113,"line_start":593,"line_end":593,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154115,"byte_end":154126,"line_start":593,"line_end":593,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154121,"byte_end":154124,"line_start":593,"line_end":593,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154115,"byte_end":154120,"line_start":593,"line_end":593,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154195,"byte_end":154200,"line_start":594,"line_end":594,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154201,"byte_end":154202,"line_start":594,"line_end":594,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2206204242}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154145,"byte_end":154156,"line_start":594,"line_end":594,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":335544658}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154158,"byte_end":154168,"line_start":594,"line_end":594,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3296723282}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154171,"byte_end":154172,"line_start":594,"line_end":594,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2206204242}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154175,"byte_end":154181,"line_start":594,"line_end":594,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":494928210}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154243,"byte_end":154245,"line_start":597,"line_end":597,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154246,"byte_end":154252,"line_start":597,"line_end":597,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154437,"byte_end":154445,"line_start":603,"line_end":603,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":2214592850}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154459,"byte_end":154462,"line_start":603,"line_end":603,"column_start":42,"column_end":45},"ref_id":{"krate":1,"index":16313}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":154448,"byte_end":154452,"line_start":603,"line_end":603,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bytes.rs","byte_start":154454,"byte_end":154457,"line_start":603,"line_end":603,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":73}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154501,"byte_end":154504,"line_start":604,"line_end":604,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154515,"byte_end":154518,"line_start":604,"line_end":604,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154505,"byte_end":154513,"line_start":604,"line_end":604,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154610,"byte_end":154621,"line_start":606,"line_end":606,"column_start":52,"column_end":63},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154593,"byte_end":154601,"line_start":606,"line_end":606,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2214592850}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154648,"byte_end":154661,"line_start":607,"line_end":607,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154641,"byte_end":154647,"line_start":607,"line_end":607,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154663,"byte_end":154673,"line_start":607,"line_end":607,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3628073298}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154737,"byte_end":154751,"line_start":610,"line_end":610,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154715,"byte_end":154728,"line_start":610,"line_end":610,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154708,"byte_end":154714,"line_start":610,"line_end":610,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154729,"byte_end":154735,"line_start":610,"line_end":610,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154752,"byte_end":154760,"line_start":610,"line_end":610,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":1816133970}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":154794,"byte_end":154807,"line_start":612,"line_end":612,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154787,"byte_end":154793,"line_start":612,"line_end":612,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871250}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154808,"byte_end":154813,"line_start":612,"line_end":612,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3892314450}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154841,"byte_end":154843,"line_start":614,"line_end":614,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":154844,"byte_end":154850,"line_start":614,"line_end":614,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742162}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154986,"byte_end":154991,"line_start":619,"line_end":619,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154902,"byte_end":154911,"line_start":619,"line_end":619,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154929,"byte_end":154938,"line_start":619,"line_end":619,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154943,"byte_end":154949,"line_start":619,"line_end":619,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154950,"byte_end":154956,"line_start":619,"line_end":619,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":154964,"byte_end":154972,"line_start":619,"line_end":619,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155029,"byte_end":155038,"line_start":621,"line_end":621,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155022,"byte_end":155028,"line_start":621,"line_end":621,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742167}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155039,"byte_end":155045,"line_start":621,"line_end":621,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871255}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155086,"byte_end":155100,"line_start":623,"line_end":623,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155076,"byte_end":155083,"line_start":623,"line_end":623,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218071}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155147,"byte_end":155157,"line_start":625,"line_end":625,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155184,"byte_end":155186,"line_start":626,"line_end":626,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155187,"byte_end":155191,"line_start":626,"line_end":626,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155244,"byte_end":155254,"line_start":629,"line_end":629,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155237,"byte_end":155243,"line_start":629,"line_end":629,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871255}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155255,"byte_end":155261,"line_start":629,"line_end":629,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742167}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155262,"byte_end":155273,"line_start":629,"line_end":629,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155275,"byte_end":155279,"line_start":629,"line_end":629,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155290,"byte_end":155303,"line_start":629,"line_end":629,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155320,"byte_end":155324,"line_start":631,"line_end":631,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4227858775}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155325,"byte_end":155329,"line_start":631,"line_end":631,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3998}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155420,"byte_end":155430,"line_start":635,"line_end":635,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155413,"byte_end":155419,"line_start":635,"line_end":635,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871255}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155433,"byte_end":155482,"line_start":635,"line_end":635,"column_start":46,"column_end":95},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155433,"byte_end":155445,"line_start":635,"line_end":635,"column_start":46,"column_end":58},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155434,"byte_end":155444,"line_start":635,"line_end":635,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155447,"byte_end":155482,"line_start":635,"line_end":635,"column_start":60,"column_end":95},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155448,"byte_end":155458,"line_start":635,"line_end":635,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155462,"byte_end":155466,"line_start":635,"line_end":635,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":4227858775}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155467,"byte_end":155471,"line_start":635,"line_end":635,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":3998}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155505,"byte_end":155507,"line_start":637,"line_end":637,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155508,"byte_end":155512,"line_start":637,"line_end":637,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155513,"byte_end":155518,"line_start":637,"line_end":637,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":973078871}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155642,"byte_end":155655,"line_start":642,"line_end":642,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":24219}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155688,"byte_end":155697,"line_start":642,"line_end":642,"column_start":88,"column_end":97},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155664,"byte_end":155675,"line_start":642,"line_end":642,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155657,"byte_end":155663,"line_start":642,"line_end":642,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536871255}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155676,"byte_end":155686,"line_start":642,"line_end":642,"column_start":76,"column_end":86},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":155776,"byte_end":155786,"line_start":645,"line_end":645,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155769,"byte_end":155775,"line_start":645,"line_end":645,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536871255}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155789,"byte_end":155836,"line_start":645,"line_end":645,"column_start":46,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155789,"byte_end":155805,"line_start":645,"line_end":645,"column_start":46,"column_end":62},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155790,"byte_end":155800,"line_start":645,"line_end":645,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155807,"byte_end":155836,"line_start":645,"line_end":645,"column_start":64,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155808,"byte_end":155818,"line_start":645,"line_end":645,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3623878999}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155825,"byte_end":155835,"line_start":645,"line_end":645,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":3238003031}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155859,"byte_end":155861,"line_start":647,"line_end":647,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155862,"byte_end":155866,"line_start":647,"line_end":647,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":155867,"byte_end":155872,"line_start":647,"line_end":647,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1493172567}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155940,"byte_end":155949,"line_start":652,"line_end":652,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155967,"byte_end":155976,"line_start":652,"line_end":652,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155981,"byte_end":155988,"line_start":652,"line_end":652,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156009,"byte_end":156016,"line_start":653,"line_end":653,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":155999,"byte_end":156007,"line_start":653,"line_end":653,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156017,"byte_end":156022,"line_start":653,"line_end":653,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073742170}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156024,"byte_end":156030,"line_start":653,"line_end":653,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871258}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156032,"byte_end":156038,"line_start":653,"line_end":653,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156085,"byte_end":156094,"line_start":656,"line_end":656,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156105,"byte_end":156114,"line_start":656,"line_end":656,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156119,"byte_end":156125,"line_start":656,"line_end":656,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156133,"byte_end":156141,"line_start":656,"line_end":656,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156163,"byte_end":156171,"line_start":657,"line_end":657,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156153,"byte_end":156161,"line_start":657,"line_end":657,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156172,"byte_end":156177,"line_start":657,"line_end":657,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1073742171}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156179,"byte_end":156185,"line_start":657,"line_end":657,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":536871259}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156187,"byte_end":156193,"line_start":657,"line_end":657,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610613083}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156237,"byte_end":156240,"line_start":660,"line_end":660,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156241,"byte_end":156257,"line_start":660,"line_end":660,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156274,"byte_end":156277,"line_start":660,"line_end":660,"column_start":73,"column_end":76},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156278,"byte_end":156285,"line_start":660,"line_end":660,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156291,"byte_end":156297,"line_start":660,"line_end":660,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156305,"byte_end":156308,"line_start":660,"line_end":660,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156314,"byte_end":156317,"line_start":660,"line_end":660,"column_start":113,"column_end":116},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156318,"byte_end":156334,"line_start":660,"line_end":660,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156338,"byte_end":156346,"line_start":660,"line_end":660,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156368,"byte_end":156387,"line_start":661,"line_end":661,"column_start":19,"column_end":38},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156358,"byte_end":156366,"line_start":661,"line_end":661,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156388,"byte_end":156394,"line_start":661,"line_end":661,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742172}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156396,"byte_end":156407,"line_start":661,"line_end":661,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":536871260}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156452,"byte_end":156455,"line_start":664,"line_end":664,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156456,"byte_end":156472,"line_start":664,"line_end":664,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156515,"byte_end":156518,"line_start":664,"line_end":664,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156519,"byte_end":156535,"line_start":664,"line_end":664,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156558,"byte_end":156578,"line_start":665,"line_end":665,"column_start":19,"column_end":39},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156548,"byte_end":156556,"line_start":665,"line_end":665,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156579,"byte_end":156585,"line_start":665,"line_end":665,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073742173}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156587,"byte_end":156594,"line_start":665,"line_end":665,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":536871261}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156596,"byte_end":156601,"line_start":665,"line_end":665,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":1610613085}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156653,"byte_end":156659,"line_start":670,"line_end":670,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156664,"byte_end":156672,"line_start":670,"line_end":670,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156784,"byte_end":156787,"line_start":672,"line_end":672,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156772,"byte_end":156782,"line_start":672,"line_end":672,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156765,"byte_end":156770,"line_start":672,"line_end":672,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156788,"byte_end":156794,"line_start":672,"line_end":672,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536873808}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156813,"byte_end":156819,"line_start":673,"line_end":673,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873808}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156836,"byte_end":156842,"line_start":673,"line_end":673,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156821,"byte_end":156828,"line_start":673,"line_end":673,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752464}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156829,"byte_end":156835,"line_start":673,"line_end":673,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156886,"byte_end":156895,"line_start":674,"line_end":674,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156874,"byte_end":156884,"line_start":674,"line_end":674,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":156867,"byte_end":156872,"line_start":674,"line_end":674,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156904,"byte_end":156923,"line_start":674,"line_end":674,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156896,"byte_end":156903,"line_start":674,"line_end":674,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752464}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156944,"byte_end":156950,"line_start":675,"line_end":675,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873808}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":156968,"byte_end":156974,"line_start":675,"line_end":675,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156952,"byte_end":156960,"line_start":675,"line_end":675,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699216}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":156961,"byte_end":156967,"line_start":675,"line_end":675,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157056,"byte_end":157059,"line_start":678,"line_end":678,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157044,"byte_end":157054,"line_start":678,"line_end":678,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157037,"byte_end":157042,"line_start":678,"line_end":678,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157060,"byte_end":157066,"line_start":678,"line_end":678,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526729552}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157085,"byte_end":157091,"line_start":679,"line_end":679,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729552}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157108,"byte_end":157114,"line_start":679,"line_end":679,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157093,"byte_end":157100,"line_start":679,"line_end":679,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936015696}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157101,"byte_end":157107,"line_start":679,"line_end":679,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157158,"byte_end":157167,"line_start":680,"line_end":680,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157146,"byte_end":157156,"line_start":680,"line_end":680,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157139,"byte_end":157144,"line_start":680,"line_end":680,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157176,"byte_end":157195,"line_start":680,"line_end":680,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157168,"byte_end":157175,"line_start":680,"line_end":680,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936015696}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157216,"byte_end":157222,"line_start":681,"line_end":681,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729552}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157240,"byte_end":157246,"line_start":681,"line_end":681,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157224,"byte_end":157232,"line_start":681,"line_end":681,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202695504}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157233,"byte_end":157239,"line_start":681,"line_end":681,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157318,"byte_end":157321,"line_start":684,"line_end":684,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157306,"byte_end":157316,"line_start":684,"line_end":684,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157299,"byte_end":157304,"line_start":684,"line_end":684,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157322,"byte_end":157328,"line_start":684,"line_end":684,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":226495312}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157347,"byte_end":157353,"line_start":685,"line_end":685,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":226495312}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157370,"byte_end":157376,"line_start":685,"line_end":685,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157355,"byte_end":157362,"line_start":685,"line_end":685,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3548384080}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157363,"byte_end":157369,"line_start":685,"line_end":685,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157420,"byte_end":157429,"line_start":686,"line_end":686,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157408,"byte_end":157418,"line_start":686,"line_end":686,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157401,"byte_end":157406,"line_start":686,"line_end":686,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157438,"byte_end":157457,"line_start":686,"line_end":686,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157430,"byte_end":157437,"line_start":686,"line_end":686,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3548384080}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157478,"byte_end":157484,"line_start":687,"line_end":687,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":226495312}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157502,"byte_end":157508,"line_start":687,"line_end":687,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157486,"byte_end":157494,"line_start":687,"line_end":687,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2889878352}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157495,"byte_end":157501,"line_start":687,"line_end":687,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157523,"byte_end":157525,"line_start":689,"line_end":689,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157570,"byte_end":157576,"line_start":693,"line_end":693,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157581,"byte_end":157589,"line_start":693,"line_end":693,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157694,"byte_end":157704,"line_start":695,"line_end":695,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157687,"byte_end":157692,"line_start":695,"line_end":695,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157715,"byte_end":157721,"line_start":695,"line_end":695,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873812}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157740,"byte_end":157746,"line_start":696,"line_end":696,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873812}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157748,"byte_end":157755,"line_start":696,"line_end":696,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752468}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157826,"byte_end":157835,"line_start":697,"line_end":697,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157814,"byte_end":157824,"line_start":697,"line_end":697,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":157807,"byte_end":157812,"line_start":697,"line_end":697,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157836,"byte_end":157843,"line_start":697,"line_end":697,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157884,"byte_end":157890,"line_start":698,"line_end":698,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536873812}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157919,"byte_end":157928,"line_start":698,"line_end":698,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":157908,"byte_end":157915,"line_start":698,"line_end":698,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157892,"byte_end":157900,"line_start":698,"line_end":698,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441044}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":157901,"byte_end":157907,"line_start":698,"line_end":698,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158012,"byte_end":158022,"line_start":701,"line_end":701,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158005,"byte_end":158010,"line_start":701,"line_end":701,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158033,"byte_end":158039,"line_start":701,"line_end":701,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158058,"byte_end":158064,"line_start":702,"line_end":702,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600468}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158066,"byte_end":158073,"line_start":702,"line_end":702,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580244}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158144,"byte_end":158153,"line_start":703,"line_end":703,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158132,"byte_end":158142,"line_start":703,"line_end":703,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158125,"byte_end":158130,"line_start":703,"line_end":703,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158154,"byte_end":158161,"line_start":703,"line_end":703,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580244}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158202,"byte_end":158208,"line_start":704,"line_end":704,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600468}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158237,"byte_end":158246,"line_start":704,"line_end":704,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158226,"byte_end":158233,"line_start":704,"line_end":704,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158210,"byte_end":158218,"line_start":704,"line_end":704,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409364}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158219,"byte_end":158225,"line_start":704,"line_end":704,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158318,"byte_end":158328,"line_start":707,"line_end":707,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158311,"byte_end":158316,"line_start":707,"line_end":707,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158339,"byte_end":158345,"line_start":707,"line_end":707,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":494930772}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158364,"byte_end":158370,"line_start":708,"line_end":708,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494930772}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158372,"byte_end":158379,"line_start":708,"line_end":708,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3414166356}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158450,"byte_end":158459,"line_start":709,"line_end":709,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158438,"byte_end":158448,"line_start":709,"line_end":709,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158431,"byte_end":158436,"line_start":709,"line_end":709,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158460,"byte_end":158467,"line_start":709,"line_end":709,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3414166356}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158508,"byte_end":158514,"line_start":710,"line_end":710,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494930772}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158543,"byte_end":158552,"line_start":710,"line_end":710,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/bytes.rs","byte_start":158532,"byte_end":158539,"line_start":710,"line_end":710,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158516,"byte_end":158524,"line_start":710,"line_end":710,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4232055636}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158525,"byte_end":158531,"line_start":710,"line_end":710,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158566,"byte_end":158568,"line_start":712,"line_end":712,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158613,"byte_end":158619,"line_start":717,"line_end":717,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158624,"byte_end":158632,"line_start":717,"line_end":717,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158724,"byte_end":158734,"line_start":719,"line_end":719,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158717,"byte_end":158722,"line_start":719,"line_end":719,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158745,"byte_end":158751,"line_start":719,"line_end":719,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873816}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158772,"byte_end":158779,"line_start":720,"line_end":720,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752472}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158791,"byte_end":158795,"line_start":720,"line_end":720,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":158813,"byte_end":158819,"line_start":721,"line_end":721,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547224}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158867,"byte_end":158869,"line_start":723,"line_end":723,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158910,"byte_end":158916,"line_start":727,"line_end":727,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":158921,"byte_end":158929,"line_start":727,"line_end":727,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159012,"byte_end":159022,"line_start":729,"line_end":729,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159005,"byte_end":159010,"line_start":729,"line_end":729,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159033,"byte_end":159039,"line_start":729,"line_end":729,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873820}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159064,"byte_end":159071,"line_start":730,"line_end":730,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752476}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159083,"byte_end":159087,"line_start":730,"line_end":730,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159094,"byte_end":159100,"line_start":731,"line_end":731,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547228}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159199,"byte_end":159205,"line_start":732,"line_end":732,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547228}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159307,"byte_end":159309,"line_start":734,"line_end":734,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159370,"byte_end":159376,"line_start":738,"line_end":738,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159381,"byte_end":159389,"line_start":738,"line_end":738,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159459,"byte_end":159469,"line_start":740,"line_end":740,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159452,"byte_end":159457,"line_start":740,"line_end":740,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159480,"byte_end":159486,"line_start":740,"line_end":740,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536873824}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159511,"byte_end":159518,"line_start":741,"line_end":741,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752480}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159530,"byte_end":159534,"line_start":741,"line_end":741,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159541,"byte_end":159547,"line_start":742,"line_end":742,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547232}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159619,"byte_end":159625,"line_start":743,"line_end":743,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547232}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159705,"byte_end":159711,"line_start":744,"line_end":744,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547232}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159738,"byte_end":159744,"line_start":745,"line_end":745,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547232}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159765,"byte_end":159769,"line_start":745,"line_end":745,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159777,"byte_end":159783,"line_start":747,"line_end":747,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547232}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159792,"byte_end":159796,"line_start":747,"line_end":747,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bytes.rs","byte_start":159815,"byte_end":159821,"line_start":748,"line_end":748,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547232}},{"kind":"Type","span":{"file_name":"src/pointer/bytes.rs","byte_start":159866,"byte_end":159868,"line_start":750,"line_end":750,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57366,"byte_end":57373,"line_start":17,"line_end":17,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":350}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":161098,"byte_end":161103,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2459}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161105,"byte_end":161111,"line_start":31,"line_end":31,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3945}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3945}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3951}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3951}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3957}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3957}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3963}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3963}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3921}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3921}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3927}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3927}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3933}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3933}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3939}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3939}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3969}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3969}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161123,"byte_end":161128,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3975}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161130,"byte_end":161136,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3975}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161272,"byte_end":161277,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161279,"byte_end":161283,"line_start":33,"line_end":33,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161294,"byte_end":161299,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161301,"byte_end":161307,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161328,"byte_end":161332,"line_start":35,"line_end":35,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":12197}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161335,"byte_end":161338,"line_start":35,"line_end":35,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":11718}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161355,"byte_end":161360,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161362,"byte_end":161369,"line_start":37,"line_end":37,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161383,"byte_end":161388,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161390,"byte_end":161396,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161410,"byte_end":161415,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161439,"byte_end":161444,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161446,"byte_end":161452,"line_start":40,"line_end":40,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2355}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161476,"byte_end":161481,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161483,"byte_end":161486,"line_start":41,"line_end":41,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":161497,"byte_end":161502,"line_start":42,"line_end":42,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161504,"byte_end":161509,"line_start":42,"line_end":42,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":161528,"byte_end":161533,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161535,"byte_end":161540,"line_start":43,"line_end":43,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161557,"byte_end":161562,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161564,"byte_end":161569,"line_start":44,"line_end":44,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161593,"byte_end":161599,"line_start":45,"line_end":45,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161614,"byte_end":161621,"line_start":45,"line_end":45,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161633,"byte_end":161642,"line_start":45,"line_end":45,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161585,"byte_end":161590,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161653,"byte_end":161662,"line_start":45,"line_end":45,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161677,"byte_end":161682,"line_start":47,"line_end":47,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161684,"byte_end":161690,"line_start":47,"line_end":47,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161706,"byte_end":161711,"line_start":48,"line_end":48,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/numbers.rs","byte_start":161714,"byte_end":161720,"line_start":48,"line_end":48,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161736,"byte_end":161741,"line_start":49,"line_end":49,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":161760,"byte_end":161765,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180719,"byte_end":180725,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180707,"byte_end":180717,"line_start":463,"line_end":463,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180699,"byte_end":180703,"line_start":463,"line_end":463,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180686,"byte_end":180697,"line_start":463,"line_end":463,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180799,"byte_end":180805,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180787,"byte_end":180797,"line_start":464,"line_end":464,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180779,"byte_end":180784,"line_start":464,"line_end":464,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180766,"byte_end":180777,"line_start":464,"line_end":464,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180879,"byte_end":180885,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180867,"byte_end":180877,"line_start":465,"line_end":465,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180859,"byte_end":180864,"line_start":465,"line_end":465,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180846,"byte_end":180857,"line_start":465,"line_end":465,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180959,"byte_end":180965,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":2916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180947,"byte_end":180957,"line_start":466,"line_end":466,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180939,"byte_end":180944,"line_start":466,"line_end":466,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":180926,"byte_end":180937,"line_start":466,"line_end":466,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181061,"byte_end":181069,"line_start":469,"line_end":469,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181049,"byte_end":181059,"line_start":469,"line_end":469,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181041,"byte_end":181046,"line_start":469,"line_end":469,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181028,"byte_end":181039,"line_start":469,"line_end":469,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181143,"byte_end":181151,"line_start":470,"line_end":470,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181131,"byte_end":181141,"line_start":470,"line_end":470,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181123,"byte_end":181129,"line_start":470,"line_end":470,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181110,"byte_end":181121,"line_start":470,"line_end":470,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181225,"byte_end":181233,"line_start":471,"line_end":471,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181213,"byte_end":181223,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181205,"byte_end":181211,"line_start":471,"line_end":471,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181192,"byte_end":181203,"line_start":471,"line_end":471,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181307,"byte_end":181315,"line_start":472,"line_end":472,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2914}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181295,"byte_end":181305,"line_start":472,"line_end":472,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181287,"byte_end":181293,"line_start":472,"line_end":472,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181274,"byte_end":181285,"line_start":472,"line_end":472,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181408,"byte_end":181416,"line_start":475,"line_end":475,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181396,"byte_end":181406,"line_start":475,"line_end":475,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181388,"byte_end":181393,"line_start":475,"line_end":475,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181375,"byte_end":181386,"line_start":475,"line_end":475,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181490,"byte_end":181498,"line_start":476,"line_end":476,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2918}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181478,"byte_end":181488,"line_start":476,"line_end":476,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2913}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181470,"byte_end":181476,"line_start":476,"line_end":476,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181457,"byte_end":181468,"line_start":476,"line_end":476,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181600,"byte_end":181605,"line_start":480,"line_end":480,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181563,"byte_end":181570,"line_start":480,"line_end":480,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181575,"byte_end":181581,"line_start":480,"line_end":480,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181717,"byte_end":181722,"line_start":481,"line_end":481,"column_start":111,"column_end":116},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181692,"byte_end":181698,"line_start":481,"line_end":481,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181842,"byte_end":181847,"line_start":482,"line_end":482,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181791,"byte_end":181794,"line_start":482,"line_end":482,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181795,"byte_end":181811,"line_start":482,"line_end":482,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181817,"byte_end":181823,"line_start":482,"line_end":482,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181925,"byte_end":181930,"line_start":483,"line_end":483,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181933,"byte_end":181940,"line_start":483,"line_end":483,"column_start":85,"column_end":92},"ref_id":{"krate":1,"index":12197}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181881,"byte_end":181887,"line_start":483,"line_end":483,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181888,"byte_end":181894,"line_start":483,"line_end":483,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181900,"byte_end":181906,"line_start":483,"line_end":483,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":181968,"byte_end":181973,"line_start":484,"line_end":484,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742277}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181958,"byte_end":181962,"line_start":484,"line_end":484,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182005,"byte_end":182010,"line_start":485,"line_end":485,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182003,"byte_end":182004,"line_start":485,"line_end":485,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":2684355013}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":181995,"byte_end":181997,"line_start":485,"line_end":485,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182039,"byte_end":182043,"line_start":486,"line_end":486,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182044,"byte_end":182045,"line_start":486,"line_end":486,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":805306821}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182084,"byte_end":182088,"line_start":488,"line_end":488,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182132,"byte_end":182136,"line_start":491,"line_end":491,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182162,"byte_end":182174,"line_start":497,"line_end":497,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182302,"byte_end":182307,"line_start":498,"line_end":498,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182251,"byte_end":182254,"line_start":498,"line_end":498,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182255,"byte_end":182271,"line_start":498,"line_end":498,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182277,"byte_end":182283,"line_start":498,"line_end":498,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182343,"byte_end":182346,"line_start":500,"line_end":500,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871367}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182347,"byte_end":182358,"line_start":500,"line_end":500,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742279}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182360,"byte_end":182364,"line_start":500,"line_end":500,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182375,"byte_end":182385,"line_start":500,"line_end":500,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3945}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182398,"byte_end":182402,"line_start":501,"line_end":501,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830919}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182403,"byte_end":182410,"line_start":501,"line_end":501,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3946}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182457,"byte_end":182464,"line_start":504,"line_end":504,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182469,"byte_end":182475,"line_start":504,"line_end":504,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182498,"byte_end":182502,"line_start":505,"line_end":505,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742281}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182526,"byte_end":182531,"line_start":506,"line_end":506,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182517,"byte_end":182524,"line_start":506,"line_end":506,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182526,"byte_end":182531,"line_start":506,"line_end":506,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182517,"byte_end":182524,"line_start":506,"line_end":506,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182556,"byte_end":182560,"line_start":507,"line_end":507,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182562,"byte_end":182563,"line_start":507,"line_end":507,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096841}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182609,"byte_end":182616,"line_start":509,"line_end":509,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182600,"byte_end":182607,"line_start":509,"line_end":509,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182609,"byte_end":182616,"line_start":509,"line_end":509,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182600,"byte_end":182607,"line_start":509,"line_end":509,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182641,"byte_end":182645,"line_start":510,"line_end":510,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182647,"byte_end":182648,"line_start":510,"line_end":510,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314569}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182708,"byte_end":182712,"line_start":513,"line_end":513,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182828,"byte_end":182834,"line_start":517,"line_end":517,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182854,"byte_end":182859,"line_start":518,"line_end":518,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871370}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182860,"byte_end":182867,"line_start":518,"line_end":518,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742282}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182892,"byte_end":182896,"line_start":519,"line_end":519,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182960,"byte_end":182967,"line_start":521,"line_end":521,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":182951,"byte_end":182958,"line_start":521,"line_end":521,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":182989,"byte_end":183004,"line_start":522,"line_end":522,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":182983,"byte_end":182988,"line_start":522,"line_end":522,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266378}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183006,"byte_end":183011,"line_start":522,"line_end":522,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871370}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183012,"byte_end":183040,"line_start":522,"line_end":522,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183012,"byte_end":183025,"line_start":522,"line_end":522,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183013,"byte_end":183020,"line_start":522,"line_end":522,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742282}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183027,"byte_end":183040,"line_start":522,"line_end":522,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183028,"byte_end":183035,"line_start":522,"line_end":522,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742282}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183056,"byte_end":183060,"line_start":523,"line_end":523,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183065,"byte_end":183078,"line_start":523,"line_end":523,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":23380}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183079,"byte_end":183084,"line_start":523,"line_end":523,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2013266378}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183146,"byte_end":183152,"line_start":529,"line_end":529,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183157,"byte_end":183165,"line_start":529,"line_end":529,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183249,"byte_end":183259,"line_start":531,"line_end":531,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183242,"byte_end":183247,"line_start":531,"line_end":531,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183270,"byte_end":183276,"line_start":531,"line_end":531,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874097}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183295,"byte_end":183301,"line_start":532,"line_end":532,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874097}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183303,"byte_end":183310,"line_start":532,"line_end":532,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752753}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183381,"byte_end":183390,"line_start":533,"line_end":533,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183369,"byte_end":183379,"line_start":533,"line_end":533,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183362,"byte_end":183367,"line_start":533,"line_end":533,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183391,"byte_end":183398,"line_start":533,"line_end":533,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752753}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183439,"byte_end":183445,"line_start":534,"line_end":534,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874097}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183474,"byte_end":183483,"line_start":534,"line_end":534,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183463,"byte_end":183470,"line_start":534,"line_end":534,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183447,"byte_end":183455,"line_start":534,"line_end":534,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441329}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183456,"byte_end":183462,"line_start":534,"line_end":534,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183554,"byte_end":183564,"line_start":537,"line_end":537,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183547,"byte_end":183552,"line_start":537,"line_end":537,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183575,"byte_end":183581,"line_start":537,"line_end":537,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600753}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183600,"byte_end":183606,"line_start":538,"line_end":538,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600753}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183608,"byte_end":183615,"line_start":538,"line_end":538,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580529}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183686,"byte_end":183695,"line_start":539,"line_end":539,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183674,"byte_end":183684,"line_start":539,"line_end":539,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183667,"byte_end":183672,"line_start":539,"line_end":539,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183696,"byte_end":183703,"line_start":539,"line_end":539,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580529}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183744,"byte_end":183750,"line_start":540,"line_end":540,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600753}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183779,"byte_end":183788,"line_start":540,"line_end":540,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183768,"byte_end":183775,"line_start":540,"line_end":540,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183752,"byte_end":183760,"line_start":540,"line_end":540,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409649}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183761,"byte_end":183767,"line_start":540,"line_end":540,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183802,"byte_end":183804,"line_start":542,"line_end":542,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183856,"byte_end":183862,"line_start":546,"line_end":546,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183867,"byte_end":183875,"line_start":546,"line_end":546,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":183955,"byte_end":183958,"line_start":548,"line_end":548,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183943,"byte_end":183953,"line_start":548,"line_end":548,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":183936,"byte_end":183941,"line_start":548,"line_end":548,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183959,"byte_end":183965,"line_start":548,"line_end":548,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874101}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183984,"byte_end":183990,"line_start":549,"line_end":549,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874101}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184007,"byte_end":184013,"line_start":549,"line_end":549,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":183992,"byte_end":183999,"line_start":549,"line_end":549,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752757}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184000,"byte_end":184006,"line_start":549,"line_end":549,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184057,"byte_end":184066,"line_start":550,"line_end":550,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184045,"byte_end":184055,"line_start":550,"line_end":550,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184038,"byte_end":184043,"line_start":550,"line_end":550,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184075,"byte_end":184094,"line_start":550,"line_end":550,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184067,"byte_end":184074,"line_start":550,"line_end":550,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752757}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184115,"byte_end":184121,"line_start":551,"line_end":551,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874101}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184139,"byte_end":184145,"line_start":551,"line_end":551,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184123,"byte_end":184131,"line_start":551,"line_end":551,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699509}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184132,"byte_end":184138,"line_start":551,"line_end":551,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184214,"byte_end":184217,"line_start":554,"line_end":554,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184202,"byte_end":184212,"line_start":554,"line_end":554,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184195,"byte_end":184200,"line_start":554,"line_end":554,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184218,"byte_end":184224,"line_start":554,"line_end":554,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526729845}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184243,"byte_end":184249,"line_start":555,"line_end":555,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729845}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184266,"byte_end":184272,"line_start":555,"line_end":555,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184251,"byte_end":184258,"line_start":555,"line_end":555,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936015989}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184259,"byte_end":184265,"line_start":555,"line_end":555,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184316,"byte_end":184325,"line_start":556,"line_end":556,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184304,"byte_end":184314,"line_start":556,"line_end":556,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184297,"byte_end":184302,"line_start":556,"line_end":556,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184334,"byte_end":184353,"line_start":556,"line_end":556,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184326,"byte_end":184333,"line_start":556,"line_end":556,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936015989}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184374,"byte_end":184380,"line_start":557,"line_end":557,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729845}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184398,"byte_end":184404,"line_start":557,"line_end":557,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184382,"byte_end":184390,"line_start":557,"line_end":557,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202695797}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184391,"byte_end":184397,"line_start":557,"line_end":557,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184419,"byte_end":184421,"line_start":559,"line_end":559,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184468,"byte_end":184474,"line_start":563,"line_end":563,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184479,"byte_end":184487,"line_start":563,"line_end":563,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184571,"byte_end":184581,"line_start":565,"line_end":565,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184564,"byte_end":184569,"line_start":565,"line_end":565,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184592,"byte_end":184598,"line_start":565,"line_end":565,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874105}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184619,"byte_end":184626,"line_start":566,"line_end":566,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752761}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184638,"byte_end":184642,"line_start":566,"line_end":566,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184660,"byte_end":184666,"line_start":567,"line_end":567,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547513}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184738,"byte_end":184747,"line_start":568,"line_end":568,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184726,"byte_end":184736,"line_start":568,"line_end":568,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184719,"byte_end":184724,"line_start":568,"line_end":568,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184748,"byte_end":184755,"line_start":568,"line_end":568,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752761}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184796,"byte_end":184802,"line_start":569,"line_end":569,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874105}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184831,"byte_end":184840,"line_start":569,"line_end":569,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":184820,"byte_end":184827,"line_start":569,"line_end":569,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184804,"byte_end":184812,"line_start":569,"line_end":569,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":1761610873}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":184813,"byte_end":184819,"line_start":569,"line_end":569,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184850,"byte_end":184852,"line_start":571,"line_end":571,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184916,"byte_end":184922,"line_start":575,"line_end":575,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184927,"byte_end":184935,"line_start":575,"line_end":575,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185002,"byte_end":185012,"line_start":577,"line_end":577,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":184995,"byte_end":185000,"line_start":577,"line_end":577,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185023,"byte_end":185029,"line_start":577,"line_end":577,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874109}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185054,"byte_end":185061,"line_start":578,"line_end":578,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752765}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185073,"byte_end":185077,"line_start":578,"line_end":578,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185084,"byte_end":185090,"line_start":579,"line_end":579,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547517}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185123,"byte_end":185129,"line_start":580,"line_end":580,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547517}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185167,"byte_end":185173,"line_start":581,"line_end":581,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547517}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185200,"byte_end":185206,"line_start":582,"line_end":582,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547517}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185224,"byte_end":185228,"line_start":582,"line_end":582,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185236,"byte_end":185242,"line_start":584,"line_end":584,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547517}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185251,"byte_end":185255,"line_start":584,"line_end":584,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185274,"byte_end":185280,"line_start":585,"line_end":585,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547517}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185325,"byte_end":185327,"line_start":587,"line_end":587,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185340,"byte_end":185352,"line_start":590,"line_end":590,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185481,"byte_end":185486,"line_start":591,"line_end":591,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185430,"byte_end":185433,"line_start":591,"line_end":591,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185434,"byte_end":185450,"line_start":591,"line_end":591,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185456,"byte_end":185462,"line_start":591,"line_end":591,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185521,"byte_end":185524,"line_start":592,"line_end":592,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871374}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185525,"byte_end":185536,"line_start":592,"line_end":592,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742286}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185538,"byte_end":185542,"line_start":592,"line_end":592,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185553,"byte_end":185564,"line_start":592,"line_end":592,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3951}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185577,"byte_end":185581,"line_start":593,"line_end":593,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830926}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185582,"byte_end":185589,"line_start":593,"line_end":593,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3952}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185635,"byte_end":185642,"line_start":595,"line_end":595,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185647,"byte_end":185653,"line_start":595,"line_end":595,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185676,"byte_end":185680,"line_start":596,"line_end":596,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742288}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185704,"byte_end":185709,"line_start":597,"line_end":597,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185695,"byte_end":185702,"line_start":597,"line_end":597,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185704,"byte_end":185709,"line_start":597,"line_end":597,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185695,"byte_end":185702,"line_start":597,"line_end":597,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185734,"byte_end":185738,"line_start":598,"line_end":598,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185740,"byte_end":185741,"line_start":598,"line_end":598,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096848}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185787,"byte_end":185794,"line_start":600,"line_end":600,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185778,"byte_end":185785,"line_start":600,"line_end":600,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185787,"byte_end":185794,"line_start":600,"line_end":600,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185778,"byte_end":185785,"line_start":600,"line_end":600,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185819,"byte_end":185823,"line_start":601,"line_end":601,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":185825,"byte_end":185826,"line_start":601,"line_end":601,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314576}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":185886,"byte_end":185890,"line_start":604,"line_end":604,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186006,"byte_end":186012,"line_start":608,"line_end":608,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186032,"byte_end":186037,"line_start":609,"line_end":609,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871377}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186038,"byte_end":186045,"line_start":609,"line_end":609,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742289}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186070,"byte_end":186074,"line_start":610,"line_end":610,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186138,"byte_end":186145,"line_start":612,"line_end":612,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186129,"byte_end":186136,"line_start":612,"line_end":612,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186167,"byte_end":186182,"line_start":613,"line_end":613,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186161,"byte_end":186166,"line_start":613,"line_end":613,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266385}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186184,"byte_end":186189,"line_start":613,"line_end":613,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871377}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186190,"byte_end":186218,"line_start":613,"line_end":613,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186190,"byte_end":186203,"line_start":613,"line_end":613,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186191,"byte_end":186198,"line_start":613,"line_end":613,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742289}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186205,"byte_end":186218,"line_start":613,"line_end":613,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186206,"byte_end":186213,"line_start":613,"line_end":613,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742289}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186234,"byte_end":186238,"line_start":614,"line_end":614,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186244,"byte_end":186257,"line_start":614,"line_end":614,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186258,"byte_end":186263,"line_start":614,"line_end":614,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266385}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186326,"byte_end":186332,"line_start":620,"line_end":620,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186337,"byte_end":186345,"line_start":620,"line_end":620,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186430,"byte_end":186440,"line_start":622,"line_end":622,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186423,"byte_end":186428,"line_start":622,"line_end":622,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186451,"byte_end":186457,"line_start":622,"line_end":622,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874113}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186476,"byte_end":186482,"line_start":623,"line_end":623,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874113}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186484,"byte_end":186491,"line_start":623,"line_end":623,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752769}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186562,"byte_end":186571,"line_start":624,"line_end":624,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186550,"byte_end":186560,"line_start":624,"line_end":624,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186543,"byte_end":186548,"line_start":624,"line_end":624,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186572,"byte_end":186579,"line_start":624,"line_end":624,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752769}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186620,"byte_end":186626,"line_start":625,"line_end":625,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874113}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186655,"byte_end":186664,"line_start":625,"line_end":625,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186644,"byte_end":186651,"line_start":625,"line_end":625,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186628,"byte_end":186636,"line_start":625,"line_end":625,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441345}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186637,"byte_end":186643,"line_start":625,"line_end":625,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186736,"byte_end":186746,"line_start":628,"line_end":628,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186729,"byte_end":186734,"line_start":628,"line_end":628,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186757,"byte_end":186763,"line_start":628,"line_end":628,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600769}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186782,"byte_end":186788,"line_start":629,"line_end":629,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600769}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186790,"byte_end":186797,"line_start":629,"line_end":629,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580545}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186868,"byte_end":186877,"line_start":630,"line_end":630,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186856,"byte_end":186866,"line_start":630,"line_end":630,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186849,"byte_end":186854,"line_start":630,"line_end":630,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186878,"byte_end":186885,"line_start":630,"line_end":630,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580545}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186926,"byte_end":186932,"line_start":631,"line_end":631,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600769}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186961,"byte_end":186970,"line_start":631,"line_end":631,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":186950,"byte_end":186957,"line_start":631,"line_end":631,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186934,"byte_end":186942,"line_start":631,"line_end":631,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409665}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":186943,"byte_end":186949,"line_start":631,"line_end":631,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":186984,"byte_end":186986,"line_start":633,"line_end":633,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187035,"byte_end":187041,"line_start":638,"line_end":638,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187046,"byte_end":187054,"line_start":638,"line_end":638,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187140,"byte_end":187150,"line_start":640,"line_end":640,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187133,"byte_end":187138,"line_start":640,"line_end":640,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187161,"byte_end":187167,"line_start":640,"line_end":640,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874117}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187188,"byte_end":187195,"line_start":641,"line_end":641,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752773}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187207,"byte_end":187211,"line_start":641,"line_end":641,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187229,"byte_end":187235,"line_start":642,"line_end":642,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547525}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":187310,"byte_end":187319,"line_start":643,"line_end":643,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187298,"byte_end":187308,"line_start":643,"line_end":643,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187291,"byte_end":187296,"line_start":643,"line_end":643,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187320,"byte_end":187327,"line_start":643,"line_end":643,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752773}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187368,"byte_end":187374,"line_start":644,"line_end":644,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874117}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":187403,"byte_end":187412,"line_start":644,"line_end":644,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":187392,"byte_end":187399,"line_start":644,"line_end":644,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187376,"byte_end":187384,"line_start":644,"line_end":644,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":1761610885}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187385,"byte_end":187391,"line_start":644,"line_end":644,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187422,"byte_end":187424,"line_start":646,"line_end":646,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187489,"byte_end":187495,"line_start":650,"line_end":650,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187500,"byte_end":187508,"line_start":650,"line_end":650,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187578,"byte_end":187588,"line_start":652,"line_end":652,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187571,"byte_end":187576,"line_start":652,"line_end":652,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187599,"byte_end":187605,"line_start":652,"line_end":652,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874121}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187630,"byte_end":187637,"line_start":653,"line_end":653,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752777}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187649,"byte_end":187653,"line_start":653,"line_end":653,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187660,"byte_end":187666,"line_start":654,"line_end":654,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547529}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187701,"byte_end":187707,"line_start":655,"line_end":655,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547529}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187748,"byte_end":187754,"line_start":656,"line_end":656,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547529}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187781,"byte_end":187787,"line_start":657,"line_end":657,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547529}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187806,"byte_end":187810,"line_start":657,"line_end":657,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187818,"byte_end":187824,"line_start":659,"line_end":659,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547529}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187833,"byte_end":187837,"line_start":659,"line_end":659,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":187856,"byte_end":187862,"line_start":660,"line_end":660,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547529}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187907,"byte_end":187909,"line_start":662,"line_end":662,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":187922,"byte_end":187934,"line_start":665,"line_end":665,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188063,"byte_end":188068,"line_start":666,"line_end":666,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188012,"byte_end":188015,"line_start":666,"line_end":666,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188016,"byte_end":188032,"line_start":666,"line_end":666,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188038,"byte_end":188044,"line_start":666,"line_end":666,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188103,"byte_end":188106,"line_start":667,"line_end":667,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871381}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188107,"byte_end":188118,"line_start":667,"line_end":667,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742293}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188120,"byte_end":188124,"line_start":667,"line_end":667,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188135,"byte_end":188146,"line_start":667,"line_end":667,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3957}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188159,"byte_end":188163,"line_start":668,"line_end":668,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830933}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188164,"byte_end":188171,"line_start":668,"line_end":668,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3958}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188217,"byte_end":188224,"line_start":670,"line_end":670,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188229,"byte_end":188235,"line_start":670,"line_end":670,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188258,"byte_end":188262,"line_start":671,"line_end":671,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742295}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188286,"byte_end":188291,"line_start":672,"line_end":672,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188277,"byte_end":188284,"line_start":672,"line_end":672,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188286,"byte_end":188291,"line_start":672,"line_end":672,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188277,"byte_end":188284,"line_start":672,"line_end":672,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188316,"byte_end":188320,"line_start":673,"line_end":673,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188322,"byte_end":188323,"line_start":673,"line_end":673,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096855}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188369,"byte_end":188376,"line_start":675,"line_end":675,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188360,"byte_end":188367,"line_start":675,"line_end":675,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188369,"byte_end":188376,"line_start":675,"line_end":675,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188360,"byte_end":188367,"line_start":675,"line_end":675,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188401,"byte_end":188405,"line_start":676,"line_end":676,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188407,"byte_end":188408,"line_start":676,"line_end":676,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314583}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188468,"byte_end":188472,"line_start":679,"line_end":679,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188588,"byte_end":188594,"line_start":683,"line_end":683,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188614,"byte_end":188619,"line_start":684,"line_end":684,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871384}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188620,"byte_end":188627,"line_start":684,"line_end":684,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742296}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188652,"byte_end":188656,"line_start":685,"line_end":685,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188720,"byte_end":188727,"line_start":687,"line_end":687,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188711,"byte_end":188718,"line_start":687,"line_end":687,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188749,"byte_end":188764,"line_start":688,"line_end":688,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188743,"byte_end":188748,"line_start":688,"line_end":688,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266392}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188766,"byte_end":188771,"line_start":688,"line_end":688,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871384}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188772,"byte_end":188800,"line_start":688,"line_end":688,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188772,"byte_end":188785,"line_start":688,"line_end":688,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188773,"byte_end":188780,"line_start":688,"line_end":688,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742296}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188787,"byte_end":188800,"line_start":688,"line_end":688,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188788,"byte_end":188795,"line_start":688,"line_end":688,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742296}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188816,"byte_end":188820,"line_start":689,"line_end":689,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":188826,"byte_end":188839,"line_start":689,"line_end":689,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":188840,"byte_end":188845,"line_start":689,"line_end":689,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266392}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188908,"byte_end":188914,"line_start":695,"line_end":695,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":188919,"byte_end":188927,"line_start":695,"line_end":695,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189012,"byte_end":189022,"line_start":697,"line_end":697,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189005,"byte_end":189010,"line_start":697,"line_end":697,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189033,"byte_end":189039,"line_start":697,"line_end":697,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874125}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189058,"byte_end":189064,"line_start":698,"line_end":698,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874125}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189066,"byte_end":189073,"line_start":698,"line_end":698,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752781}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189144,"byte_end":189153,"line_start":699,"line_end":699,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189132,"byte_end":189142,"line_start":699,"line_end":699,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189125,"byte_end":189130,"line_start":699,"line_end":699,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189154,"byte_end":189161,"line_start":699,"line_end":699,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752781}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189202,"byte_end":189208,"line_start":700,"line_end":700,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874125}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189237,"byte_end":189246,"line_start":700,"line_end":700,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189226,"byte_end":189233,"line_start":700,"line_end":700,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189210,"byte_end":189218,"line_start":700,"line_end":700,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189219,"byte_end":189225,"line_start":700,"line_end":700,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189318,"byte_end":189328,"line_start":703,"line_end":703,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189311,"byte_end":189316,"line_start":703,"line_end":703,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189339,"byte_end":189345,"line_start":703,"line_end":703,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600781}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189364,"byte_end":189370,"line_start":704,"line_end":704,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600781}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189372,"byte_end":189379,"line_start":704,"line_end":704,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580557}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189450,"byte_end":189459,"line_start":705,"line_end":705,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189438,"byte_end":189448,"line_start":705,"line_end":705,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189431,"byte_end":189436,"line_start":705,"line_end":705,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189460,"byte_end":189467,"line_start":705,"line_end":705,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580557}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189508,"byte_end":189514,"line_start":706,"line_end":706,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600781}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189543,"byte_end":189552,"line_start":706,"line_end":706,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":189532,"byte_end":189539,"line_start":706,"line_end":706,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189516,"byte_end":189524,"line_start":706,"line_end":706,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409677}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189525,"byte_end":189531,"line_start":706,"line_end":706,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189566,"byte_end":189568,"line_start":708,"line_end":708,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189617,"byte_end":189623,"line_start":713,"line_end":713,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189628,"byte_end":189636,"line_start":713,"line_end":713,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189720,"byte_end":189730,"line_start":715,"line_end":715,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189713,"byte_end":189718,"line_start":715,"line_end":715,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189741,"byte_end":189747,"line_start":715,"line_end":715,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874129}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189768,"byte_end":189775,"line_start":716,"line_end":716,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752785}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189787,"byte_end":189791,"line_start":716,"line_end":716,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":189809,"byte_end":189815,"line_start":717,"line_end":717,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547537}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189857,"byte_end":189859,"line_start":719,"line_end":719,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189924,"byte_end":189930,"line_start":723,"line_end":723,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":189935,"byte_end":189943,"line_start":723,"line_end":723,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190011,"byte_end":190021,"line_start":725,"line_end":725,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190004,"byte_end":190009,"line_start":725,"line_end":725,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190032,"byte_end":190038,"line_start":725,"line_end":725,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874133}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190063,"byte_end":190070,"line_start":726,"line_end":726,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752789}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190082,"byte_end":190086,"line_start":726,"line_end":726,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190093,"byte_end":190099,"line_start":727,"line_end":727,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547541}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190134,"byte_end":190140,"line_start":728,"line_end":728,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547541}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190181,"byte_end":190187,"line_start":729,"line_end":729,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547541}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190214,"byte_end":190220,"line_start":730,"line_end":730,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547541}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190239,"byte_end":190243,"line_start":730,"line_end":730,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190251,"byte_end":190257,"line_start":732,"line_end":732,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547541}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190266,"byte_end":190270,"line_start":732,"line_end":732,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190289,"byte_end":190295,"line_start":733,"line_end":733,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547541}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190340,"byte_end":190342,"line_start":735,"line_end":735,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190355,"byte_end":190367,"line_start":738,"line_end":738,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190496,"byte_end":190501,"line_start":739,"line_end":739,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190445,"byte_end":190448,"line_start":739,"line_end":739,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190449,"byte_end":190465,"line_start":739,"line_end":739,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190471,"byte_end":190477,"line_start":739,"line_end":739,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190536,"byte_end":190539,"line_start":740,"line_end":740,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871388}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190540,"byte_end":190551,"line_start":740,"line_end":740,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742300}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190553,"byte_end":190557,"line_start":740,"line_end":740,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190568,"byte_end":190579,"line_start":740,"line_end":740,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3963}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190592,"byte_end":190596,"line_start":741,"line_end":741,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830940}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190597,"byte_end":190604,"line_start":741,"line_end":741,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3964}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190650,"byte_end":190657,"line_start":743,"line_end":743,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190662,"byte_end":190668,"line_start":743,"line_end":743,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190691,"byte_end":190695,"line_start":744,"line_end":744,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742302}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190719,"byte_end":190724,"line_start":745,"line_end":745,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190710,"byte_end":190717,"line_start":745,"line_end":745,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190719,"byte_end":190724,"line_start":745,"line_end":745,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190710,"byte_end":190717,"line_start":745,"line_end":745,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190749,"byte_end":190753,"line_start":746,"line_end":746,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190755,"byte_end":190756,"line_start":746,"line_end":746,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096862}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190802,"byte_end":190809,"line_start":748,"line_end":748,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190793,"byte_end":190800,"line_start":748,"line_end":748,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190802,"byte_end":190809,"line_start":748,"line_end":748,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190793,"byte_end":190800,"line_start":748,"line_end":748,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190834,"byte_end":190838,"line_start":749,"line_end":749,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":190840,"byte_end":190841,"line_start":749,"line_end":749,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314590}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":190901,"byte_end":190905,"line_start":752,"line_end":752,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191021,"byte_end":191027,"line_start":756,"line_end":756,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191047,"byte_end":191052,"line_start":757,"line_end":757,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871391}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191053,"byte_end":191060,"line_start":757,"line_end":757,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742303}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191085,"byte_end":191089,"line_start":758,"line_end":758,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191153,"byte_end":191160,"line_start":760,"line_end":760,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191144,"byte_end":191151,"line_start":760,"line_end":760,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191182,"byte_end":191197,"line_start":761,"line_end":761,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191176,"byte_end":191181,"line_start":761,"line_end":761,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266399}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191199,"byte_end":191204,"line_start":761,"line_end":761,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871391}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191205,"byte_end":191234,"line_start":761,"line_end":761,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191205,"byte_end":191218,"line_start":761,"line_end":761,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191206,"byte_end":191213,"line_start":761,"line_end":761,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742303}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191220,"byte_end":191234,"line_start":761,"line_end":761,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191221,"byte_end":191228,"line_start":761,"line_end":761,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742303}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191250,"byte_end":191254,"line_start":762,"line_end":762,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191260,"byte_end":191273,"line_start":762,"line_end":762,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191274,"byte_end":191279,"line_start":762,"line_end":762,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266399}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191342,"byte_end":191348,"line_start":768,"line_end":768,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191353,"byte_end":191361,"line_start":768,"line_end":768,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191446,"byte_end":191456,"line_start":770,"line_end":770,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191439,"byte_end":191444,"line_start":770,"line_end":770,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191467,"byte_end":191473,"line_start":770,"line_end":770,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874137}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191492,"byte_end":191498,"line_start":771,"line_end":771,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874137}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191500,"byte_end":191507,"line_start":771,"line_end":771,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752793}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191578,"byte_end":191587,"line_start":772,"line_end":772,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191566,"byte_end":191576,"line_start":772,"line_end":772,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191559,"byte_end":191564,"line_start":772,"line_end":772,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191588,"byte_end":191595,"line_start":772,"line_end":772,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752793}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191636,"byte_end":191642,"line_start":773,"line_end":773,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874137}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191671,"byte_end":191680,"line_start":773,"line_end":773,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191660,"byte_end":191667,"line_start":773,"line_end":773,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191644,"byte_end":191652,"line_start":773,"line_end":773,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441369}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191653,"byte_end":191659,"line_start":773,"line_end":773,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191752,"byte_end":191762,"line_start":776,"line_end":776,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191745,"byte_end":191750,"line_start":776,"line_end":776,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191773,"byte_end":191779,"line_start":776,"line_end":776,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600793}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191798,"byte_end":191804,"line_start":777,"line_end":777,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600793}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191806,"byte_end":191813,"line_start":777,"line_end":777,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580569}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191884,"byte_end":191893,"line_start":778,"line_end":778,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191872,"byte_end":191882,"line_start":778,"line_end":778,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":191865,"byte_end":191870,"line_start":778,"line_end":778,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191894,"byte_end":191901,"line_start":778,"line_end":778,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580569}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191942,"byte_end":191948,"line_start":779,"line_end":779,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600793}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191977,"byte_end":191986,"line_start":779,"line_end":779,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":191966,"byte_end":191973,"line_start":779,"line_end":779,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191950,"byte_end":191958,"line_start":779,"line_end":779,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409689}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":191959,"byte_end":191965,"line_start":779,"line_end":779,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192000,"byte_end":192002,"line_start":781,"line_end":781,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192051,"byte_end":192057,"line_start":786,"line_end":786,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192062,"byte_end":192070,"line_start":786,"line_end":786,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192156,"byte_end":192166,"line_start":788,"line_end":788,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192149,"byte_end":192154,"line_start":788,"line_end":788,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192177,"byte_end":192183,"line_start":788,"line_end":788,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874141}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192204,"byte_end":192211,"line_start":789,"line_end":789,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752797}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192223,"byte_end":192227,"line_start":789,"line_end":789,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192245,"byte_end":192251,"line_start":790,"line_end":790,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547549}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":192326,"byte_end":192335,"line_start":791,"line_end":791,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192314,"byte_end":192324,"line_start":791,"line_end":791,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192307,"byte_end":192312,"line_start":791,"line_end":791,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192336,"byte_end":192343,"line_start":791,"line_end":791,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752797}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192384,"byte_end":192390,"line_start":792,"line_end":792,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874141}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":192419,"byte_end":192428,"line_start":792,"line_end":792,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":192408,"byte_end":192415,"line_start":792,"line_end":792,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192392,"byte_end":192400,"line_start":792,"line_end":792,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":1761610909}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192401,"byte_end":192407,"line_start":792,"line_end":792,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192438,"byte_end":192440,"line_start":794,"line_end":794,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192505,"byte_end":192511,"line_start":798,"line_end":798,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192516,"byte_end":192524,"line_start":798,"line_end":798,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192594,"byte_end":192604,"line_start":800,"line_end":800,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192587,"byte_end":192592,"line_start":800,"line_end":800,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192615,"byte_end":192621,"line_start":800,"line_end":800,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874145}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192646,"byte_end":192653,"line_start":801,"line_end":801,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752801}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192665,"byte_end":192669,"line_start":801,"line_end":801,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192676,"byte_end":192682,"line_start":802,"line_end":802,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547553}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192717,"byte_end":192723,"line_start":803,"line_end":803,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547553}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192764,"byte_end":192770,"line_start":804,"line_end":804,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547553}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192797,"byte_end":192803,"line_start":805,"line_end":805,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547553}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192822,"byte_end":192826,"line_start":805,"line_end":805,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192834,"byte_end":192840,"line_start":807,"line_end":807,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547553}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192849,"byte_end":192853,"line_start":807,"line_end":807,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":192872,"byte_end":192878,"line_start":808,"line_end":808,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547553}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192923,"byte_end":192925,"line_start":810,"line_end":810,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":192938,"byte_end":192950,"line_start":813,"line_end":813,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193078,"byte_end":193083,"line_start":814,"line_end":814,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193027,"byte_end":193030,"line_start":814,"line_end":814,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193031,"byte_end":193047,"line_start":814,"line_end":814,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193053,"byte_end":193059,"line_start":814,"line_end":814,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193118,"byte_end":193121,"line_start":815,"line_end":815,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871395}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193122,"byte_end":193133,"line_start":815,"line_end":815,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742307}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193135,"byte_end":193139,"line_start":815,"line_end":815,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193150,"byte_end":193160,"line_start":815,"line_end":815,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3921}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193173,"byte_end":193177,"line_start":816,"line_end":816,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830947}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193178,"byte_end":193185,"line_start":816,"line_end":816,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3922}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193231,"byte_end":193238,"line_start":818,"line_end":818,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193243,"byte_end":193249,"line_start":818,"line_end":818,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193272,"byte_end":193276,"line_start":819,"line_end":819,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742309}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193300,"byte_end":193305,"line_start":820,"line_end":820,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193291,"byte_end":193298,"line_start":820,"line_end":820,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193300,"byte_end":193305,"line_start":820,"line_end":820,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193291,"byte_end":193298,"line_start":820,"line_end":820,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193330,"byte_end":193334,"line_start":821,"line_end":821,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193336,"byte_end":193337,"line_start":821,"line_end":821,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096869}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193383,"byte_end":193390,"line_start":823,"line_end":823,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193374,"byte_end":193381,"line_start":823,"line_end":823,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193383,"byte_end":193390,"line_start":823,"line_end":823,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193374,"byte_end":193381,"line_start":823,"line_end":823,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193415,"byte_end":193419,"line_start":824,"line_end":824,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193421,"byte_end":193422,"line_start":824,"line_end":824,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314597}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193482,"byte_end":193486,"line_start":827,"line_end":827,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193602,"byte_end":193608,"line_start":831,"line_end":831,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193628,"byte_end":193633,"line_start":832,"line_end":832,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871398}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193634,"byte_end":193641,"line_start":832,"line_end":832,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742310}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193666,"byte_end":193670,"line_start":833,"line_end":833,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193734,"byte_end":193741,"line_start":835,"line_end":835,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193725,"byte_end":193732,"line_start":835,"line_end":835,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193763,"byte_end":193778,"line_start":836,"line_end":836,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193757,"byte_end":193762,"line_start":836,"line_end":836,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266406}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193780,"byte_end":193785,"line_start":836,"line_end":836,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871398}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193786,"byte_end":193814,"line_start":836,"line_end":836,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193786,"byte_end":193799,"line_start":836,"line_end":836,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193787,"byte_end":193794,"line_start":836,"line_end":836,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742310}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193801,"byte_end":193814,"line_start":836,"line_end":836,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193802,"byte_end":193809,"line_start":836,"line_end":836,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742310}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193830,"byte_end":193834,"line_start":837,"line_end":837,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":193839,"byte_end":193852,"line_start":837,"line_end":837,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":24015}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":193853,"byte_end":193858,"line_start":837,"line_end":837,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2013266406}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193921,"byte_end":193927,"line_start":844,"line_end":844,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":193932,"byte_end":193940,"line_start":844,"line_end":844,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194025,"byte_end":194035,"line_start":846,"line_end":846,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194018,"byte_end":194023,"line_start":846,"line_end":846,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194046,"byte_end":194052,"line_start":846,"line_end":846,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874149}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194071,"byte_end":194077,"line_start":847,"line_end":847,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874149}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194079,"byte_end":194086,"line_start":847,"line_end":847,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752805}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194157,"byte_end":194166,"line_start":848,"line_end":848,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194145,"byte_end":194155,"line_start":848,"line_end":848,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194138,"byte_end":194143,"line_start":848,"line_end":848,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194167,"byte_end":194174,"line_start":848,"line_end":848,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752805}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194215,"byte_end":194221,"line_start":849,"line_end":849,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874149}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194250,"byte_end":194259,"line_start":849,"line_end":849,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194239,"byte_end":194246,"line_start":849,"line_end":849,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194223,"byte_end":194231,"line_start":849,"line_end":849,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441381}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194232,"byte_end":194238,"line_start":849,"line_end":849,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194331,"byte_end":194341,"line_start":852,"line_end":852,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194324,"byte_end":194329,"line_start":852,"line_end":852,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194352,"byte_end":194358,"line_start":852,"line_end":852,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600805}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194377,"byte_end":194383,"line_start":853,"line_end":853,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600805}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194385,"byte_end":194392,"line_start":853,"line_end":853,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580581}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194463,"byte_end":194472,"line_start":854,"line_end":854,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194451,"byte_end":194461,"line_start":854,"line_end":854,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194444,"byte_end":194449,"line_start":854,"line_end":854,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194473,"byte_end":194480,"line_start":854,"line_end":854,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580581}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194521,"byte_end":194527,"line_start":855,"line_end":855,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600805}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194556,"byte_end":194565,"line_start":855,"line_end":855,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":194545,"byte_end":194552,"line_start":855,"line_end":855,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194529,"byte_end":194537,"line_start":855,"line_end":855,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409701}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194538,"byte_end":194544,"line_start":855,"line_end":855,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194579,"byte_end":194581,"line_start":857,"line_end":857,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194628,"byte_end":194634,"line_start":861,"line_end":861,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194639,"byte_end":194647,"line_start":861,"line_end":861,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194733,"byte_end":194743,"line_start":863,"line_end":863,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194726,"byte_end":194731,"line_start":863,"line_end":863,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194754,"byte_end":194760,"line_start":863,"line_end":863,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874153}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194781,"byte_end":194788,"line_start":864,"line_end":864,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752809}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194800,"byte_end":194804,"line_start":864,"line_end":864,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":194822,"byte_end":194828,"line_start":865,"line_end":865,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547561}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194868,"byte_end":194870,"line_start":867,"line_end":867,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194934,"byte_end":194940,"line_start":871,"line_end":871,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":194945,"byte_end":194953,"line_start":871,"line_end":871,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195023,"byte_end":195033,"line_start":873,"line_end":873,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195016,"byte_end":195021,"line_start":873,"line_end":873,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195044,"byte_end":195050,"line_start":873,"line_end":873,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874157}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195075,"byte_end":195082,"line_start":874,"line_end":874,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752813}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195094,"byte_end":195098,"line_start":874,"line_end":874,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195105,"byte_end":195111,"line_start":875,"line_end":875,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547565}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195145,"byte_end":195151,"line_start":876,"line_end":876,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547565}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195190,"byte_end":195196,"line_start":877,"line_end":877,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547565}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195223,"byte_end":195229,"line_start":878,"line_end":878,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547565}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195247,"byte_end":195251,"line_start":878,"line_end":878,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195259,"byte_end":195265,"line_start":880,"line_end":880,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547565}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195274,"byte_end":195278,"line_start":880,"line_end":880,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195297,"byte_end":195303,"line_start":881,"line_end":881,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547565}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195348,"byte_end":195350,"line_start":883,"line_end":883,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195363,"byte_end":195375,"line_start":886,"line_end":886,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195504,"byte_end":195509,"line_start":887,"line_end":887,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195453,"byte_end":195456,"line_start":887,"line_end":887,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195457,"byte_end":195473,"line_start":887,"line_end":887,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195479,"byte_end":195485,"line_start":887,"line_end":887,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195544,"byte_end":195547,"line_start":888,"line_end":888,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871402}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195548,"byte_end":195559,"line_start":888,"line_end":888,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742314}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195561,"byte_end":195565,"line_start":888,"line_end":888,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195576,"byte_end":195587,"line_start":888,"line_end":888,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3927}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195600,"byte_end":195604,"line_start":889,"line_end":889,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830954}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195605,"byte_end":195612,"line_start":889,"line_end":889,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3928}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195658,"byte_end":195665,"line_start":891,"line_end":891,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195670,"byte_end":195676,"line_start":891,"line_end":891,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195699,"byte_end":195703,"line_start":892,"line_end":892,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742316}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195727,"byte_end":195732,"line_start":893,"line_end":893,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195718,"byte_end":195725,"line_start":893,"line_end":893,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195727,"byte_end":195732,"line_start":893,"line_end":893,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195718,"byte_end":195725,"line_start":893,"line_end":893,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195757,"byte_end":195761,"line_start":894,"line_end":894,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195763,"byte_end":195764,"line_start":894,"line_end":894,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096876}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195810,"byte_end":195817,"line_start":896,"line_end":896,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195801,"byte_end":195808,"line_start":896,"line_end":896,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195810,"byte_end":195817,"line_start":896,"line_end":896,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195801,"byte_end":195808,"line_start":896,"line_end":896,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195842,"byte_end":195846,"line_start":897,"line_end":897,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":195848,"byte_end":195849,"line_start":897,"line_end":897,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314604}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":195909,"byte_end":195913,"line_start":900,"line_end":900,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196029,"byte_end":196035,"line_start":904,"line_end":904,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196055,"byte_end":196060,"line_start":905,"line_end":905,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871405}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196061,"byte_end":196068,"line_start":905,"line_end":905,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742317}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196093,"byte_end":196097,"line_start":906,"line_end":906,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196161,"byte_end":196168,"line_start":908,"line_end":908,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196152,"byte_end":196159,"line_start":908,"line_end":908,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196190,"byte_end":196205,"line_start":909,"line_end":909,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196184,"byte_end":196189,"line_start":909,"line_end":909,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266413}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196207,"byte_end":196212,"line_start":909,"line_end":909,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871405}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196213,"byte_end":196241,"line_start":909,"line_end":909,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196213,"byte_end":196226,"line_start":909,"line_end":909,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196214,"byte_end":196221,"line_start":909,"line_end":909,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742317}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196228,"byte_end":196241,"line_start":909,"line_end":909,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196229,"byte_end":196236,"line_start":909,"line_end":909,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742317}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196257,"byte_end":196261,"line_start":910,"line_end":910,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196267,"byte_end":196280,"line_start":910,"line_end":910,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196281,"byte_end":196286,"line_start":910,"line_end":910,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266413}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196349,"byte_end":196355,"line_start":916,"line_end":916,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196360,"byte_end":196368,"line_start":916,"line_end":916,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196454,"byte_end":196464,"line_start":918,"line_end":918,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196447,"byte_end":196452,"line_start":918,"line_end":918,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196475,"byte_end":196481,"line_start":918,"line_end":918,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874161}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196500,"byte_end":196506,"line_start":919,"line_end":919,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874161}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196508,"byte_end":196515,"line_start":919,"line_end":919,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752817}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196586,"byte_end":196595,"line_start":920,"line_end":920,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196574,"byte_end":196584,"line_start":920,"line_end":920,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196567,"byte_end":196572,"line_start":920,"line_end":920,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196596,"byte_end":196603,"line_start":920,"line_end":920,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752817}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196644,"byte_end":196650,"line_start":921,"line_end":921,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874161}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196679,"byte_end":196688,"line_start":921,"line_end":921,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196668,"byte_end":196675,"line_start":921,"line_end":921,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196652,"byte_end":196660,"line_start":921,"line_end":921,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441393}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196661,"byte_end":196667,"line_start":921,"line_end":921,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196761,"byte_end":196771,"line_start":924,"line_end":924,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196754,"byte_end":196759,"line_start":924,"line_end":924,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196782,"byte_end":196788,"line_start":924,"line_end":924,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600817}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196807,"byte_end":196813,"line_start":925,"line_end":925,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600817}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196815,"byte_end":196822,"line_start":925,"line_end":925,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580593}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196893,"byte_end":196902,"line_start":926,"line_end":926,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196881,"byte_end":196891,"line_start":926,"line_end":926,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":196874,"byte_end":196879,"line_start":926,"line_end":926,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196903,"byte_end":196910,"line_start":926,"line_end":926,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580593}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196951,"byte_end":196957,"line_start":927,"line_end":927,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600817}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196986,"byte_end":196995,"line_start":927,"line_end":927,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":196975,"byte_end":196982,"line_start":927,"line_end":927,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196959,"byte_end":196967,"line_start":927,"line_end":927,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409713}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":196968,"byte_end":196974,"line_start":927,"line_end":927,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197009,"byte_end":197011,"line_start":929,"line_end":929,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197060,"byte_end":197066,"line_start":934,"line_end":934,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197071,"byte_end":197079,"line_start":934,"line_end":934,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197163,"byte_end":197173,"line_start":936,"line_end":936,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197156,"byte_end":197161,"line_start":936,"line_end":936,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197184,"byte_end":197190,"line_start":936,"line_end":936,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874165}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197211,"byte_end":197218,"line_start":937,"line_end":937,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752821}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197230,"byte_end":197234,"line_start":937,"line_end":937,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197252,"byte_end":197258,"line_start":938,"line_end":938,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547573}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197300,"byte_end":197302,"line_start":940,"line_end":940,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197367,"byte_end":197373,"line_start":944,"line_end":944,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197378,"byte_end":197386,"line_start":944,"line_end":944,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197454,"byte_end":197464,"line_start":946,"line_end":946,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197447,"byte_end":197452,"line_start":946,"line_end":946,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197475,"byte_end":197481,"line_start":946,"line_end":946,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874169}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197506,"byte_end":197513,"line_start":947,"line_end":947,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752825}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197525,"byte_end":197529,"line_start":947,"line_end":947,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197536,"byte_end":197542,"line_start":948,"line_end":948,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547577}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197577,"byte_end":197583,"line_start":949,"line_end":949,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547577}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197624,"byte_end":197630,"line_start":950,"line_end":950,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547577}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197657,"byte_end":197663,"line_start":951,"line_end":951,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547577}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197682,"byte_end":197686,"line_start":951,"line_end":951,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197694,"byte_end":197700,"line_start":953,"line_end":953,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547577}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197709,"byte_end":197713,"line_start":953,"line_end":953,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197732,"byte_end":197738,"line_start":954,"line_end":954,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547577}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197783,"byte_end":197785,"line_start":956,"line_end":956,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197798,"byte_end":197810,"line_start":959,"line_end":959,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197939,"byte_end":197944,"line_start":960,"line_end":960,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197888,"byte_end":197891,"line_start":960,"line_end":960,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197892,"byte_end":197908,"line_start":960,"line_end":960,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":197914,"byte_end":197920,"line_start":960,"line_end":960,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197979,"byte_end":197982,"line_start":961,"line_end":961,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871409}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197983,"byte_end":197994,"line_start":961,"line_end":961,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742321}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":197996,"byte_end":198000,"line_start":961,"line_end":961,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198011,"byte_end":198022,"line_start":961,"line_end":961,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3933}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198035,"byte_end":198039,"line_start":962,"line_end":962,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830961}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198040,"byte_end":198047,"line_start":962,"line_end":962,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3934}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198093,"byte_end":198100,"line_start":964,"line_end":964,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198105,"byte_end":198111,"line_start":964,"line_end":964,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198134,"byte_end":198138,"line_start":965,"line_end":965,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742323}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198162,"byte_end":198167,"line_start":966,"line_end":966,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198153,"byte_end":198160,"line_start":966,"line_end":966,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198162,"byte_end":198167,"line_start":966,"line_end":966,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198153,"byte_end":198160,"line_start":966,"line_end":966,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198192,"byte_end":198196,"line_start":967,"line_end":967,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198198,"byte_end":198199,"line_start":967,"line_end":967,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096883}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198245,"byte_end":198252,"line_start":969,"line_end":969,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198236,"byte_end":198243,"line_start":969,"line_end":969,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198245,"byte_end":198252,"line_start":969,"line_end":969,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198236,"byte_end":198243,"line_start":969,"line_end":969,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198277,"byte_end":198281,"line_start":970,"line_end":970,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198283,"byte_end":198284,"line_start":970,"line_end":970,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314611}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198344,"byte_end":198348,"line_start":973,"line_end":973,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198464,"byte_end":198470,"line_start":977,"line_end":977,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198490,"byte_end":198495,"line_start":978,"line_end":978,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871412}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198496,"byte_end":198503,"line_start":978,"line_end":978,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742324}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198528,"byte_end":198532,"line_start":979,"line_end":979,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198596,"byte_end":198603,"line_start":981,"line_end":981,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198587,"byte_end":198594,"line_start":981,"line_end":981,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198625,"byte_end":198640,"line_start":982,"line_end":982,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198619,"byte_end":198624,"line_start":982,"line_end":982,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266420}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198642,"byte_end":198647,"line_start":982,"line_end":982,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871412}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198648,"byte_end":198676,"line_start":982,"line_end":982,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198648,"byte_end":198661,"line_start":982,"line_end":982,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198649,"byte_end":198656,"line_start":982,"line_end":982,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742324}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198663,"byte_end":198676,"line_start":982,"line_end":982,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198664,"byte_end":198671,"line_start":982,"line_end":982,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742324}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198692,"byte_end":198696,"line_start":983,"line_end":983,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":198702,"byte_end":198715,"line_start":983,"line_end":983,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198716,"byte_end":198721,"line_start":983,"line_end":983,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266420}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198784,"byte_end":198790,"line_start":989,"line_end":989,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198795,"byte_end":198803,"line_start":989,"line_end":989,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198889,"byte_end":198899,"line_start":991,"line_end":991,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":198882,"byte_end":198887,"line_start":991,"line_end":991,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198910,"byte_end":198916,"line_start":991,"line_end":991,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874173}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198935,"byte_end":198941,"line_start":992,"line_end":992,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874173}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":198943,"byte_end":198950,"line_start":992,"line_end":992,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752829}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199021,"byte_end":199030,"line_start":993,"line_end":993,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199009,"byte_end":199019,"line_start":993,"line_end":993,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199002,"byte_end":199007,"line_start":993,"line_end":993,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199031,"byte_end":199038,"line_start":993,"line_end":993,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752829}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199079,"byte_end":199085,"line_start":994,"line_end":994,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874173}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199114,"byte_end":199123,"line_start":994,"line_end":994,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199103,"byte_end":199110,"line_start":994,"line_end":994,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199087,"byte_end":199095,"line_start":994,"line_end":994,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441405}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199096,"byte_end":199102,"line_start":994,"line_end":994,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199196,"byte_end":199206,"line_start":997,"line_end":997,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199189,"byte_end":199194,"line_start":997,"line_end":997,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199217,"byte_end":199223,"line_start":997,"line_end":997,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600829}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199242,"byte_end":199248,"line_start":998,"line_end":998,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600829}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199250,"byte_end":199257,"line_start":998,"line_end":998,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580605}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199328,"byte_end":199337,"line_start":999,"line_end":999,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199316,"byte_end":199326,"line_start":999,"line_end":999,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199309,"byte_end":199314,"line_start":999,"line_end":999,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199338,"byte_end":199345,"line_start":999,"line_end":999,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580605}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199386,"byte_end":199392,"line_start":1000,"line_end":1000,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600829}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199421,"byte_end":199430,"line_start":1000,"line_end":1000,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":199410,"byte_end":199417,"line_start":1000,"line_end":1000,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199394,"byte_end":199402,"line_start":1000,"line_end":1000,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409725}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199403,"byte_end":199409,"line_start":1000,"line_end":1000,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199444,"byte_end":199446,"line_start":1002,"line_end":1002,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199495,"byte_end":199501,"line_start":1007,"line_end":1007,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199506,"byte_end":199514,"line_start":1007,"line_end":1007,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199598,"byte_end":199608,"line_start":1009,"line_end":1009,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199591,"byte_end":199596,"line_start":1009,"line_end":1009,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199619,"byte_end":199625,"line_start":1009,"line_end":1009,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874177}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199646,"byte_end":199653,"line_start":1010,"line_end":1010,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752833}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199665,"byte_end":199669,"line_start":1010,"line_end":1010,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199687,"byte_end":199693,"line_start":1011,"line_end":1011,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547585}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199735,"byte_end":199737,"line_start":1013,"line_end":1013,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199802,"byte_end":199808,"line_start":1017,"line_end":1017,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199813,"byte_end":199821,"line_start":1017,"line_end":1017,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199889,"byte_end":199899,"line_start":1019,"line_end":1019,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199882,"byte_end":199887,"line_start":1019,"line_end":1019,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199910,"byte_end":199916,"line_start":1019,"line_end":1019,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874181}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199941,"byte_end":199948,"line_start":1020,"line_end":1020,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752837}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":199960,"byte_end":199964,"line_start":1020,"line_end":1020,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":199971,"byte_end":199977,"line_start":1021,"line_end":1021,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547589}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200012,"byte_end":200018,"line_start":1022,"line_end":1022,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547589}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200059,"byte_end":200065,"line_start":1023,"line_end":1023,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547589}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200092,"byte_end":200098,"line_start":1024,"line_end":1024,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200117,"byte_end":200121,"line_start":1024,"line_end":1024,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200129,"byte_end":200135,"line_start":1026,"line_end":1026,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200144,"byte_end":200148,"line_start":1026,"line_end":1026,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200167,"byte_end":200173,"line_start":1027,"line_end":1027,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547589}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200218,"byte_end":200220,"line_start":1029,"line_end":1029,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200233,"byte_end":200245,"line_start":1032,"line_end":1032,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200374,"byte_end":200379,"line_start":1033,"line_end":1033,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200323,"byte_end":200326,"line_start":1033,"line_end":1033,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200327,"byte_end":200343,"line_start":1033,"line_end":1033,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200349,"byte_end":200355,"line_start":1033,"line_end":1033,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200414,"byte_end":200417,"line_start":1034,"line_end":1034,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871416}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200418,"byte_end":200429,"line_start":1034,"line_end":1034,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742328}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200431,"byte_end":200435,"line_start":1034,"line_end":1034,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200446,"byte_end":200457,"line_start":1034,"line_end":1034,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200470,"byte_end":200474,"line_start":1035,"line_end":1035,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830968}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200475,"byte_end":200482,"line_start":1035,"line_end":1035,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200528,"byte_end":200535,"line_start":1037,"line_end":1037,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200540,"byte_end":200546,"line_start":1037,"line_end":1037,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200569,"byte_end":200573,"line_start":1038,"line_end":1038,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742330}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200597,"byte_end":200602,"line_start":1039,"line_end":1039,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200588,"byte_end":200595,"line_start":1039,"line_end":1039,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200597,"byte_end":200602,"line_start":1039,"line_end":1039,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200588,"byte_end":200595,"line_start":1039,"line_end":1039,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200627,"byte_end":200631,"line_start":1040,"line_end":1040,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200633,"byte_end":200634,"line_start":1040,"line_end":1040,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096890}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200680,"byte_end":200687,"line_start":1042,"line_end":1042,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200671,"byte_end":200678,"line_start":1042,"line_end":1042,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200680,"byte_end":200687,"line_start":1042,"line_end":1042,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200671,"byte_end":200678,"line_start":1042,"line_end":1042,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200712,"byte_end":200716,"line_start":1043,"line_end":1043,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200718,"byte_end":200719,"line_start":1043,"line_end":1043,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314618}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200779,"byte_end":200783,"line_start":1046,"line_end":1046,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200899,"byte_end":200905,"line_start":1050,"line_end":1050,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200925,"byte_end":200930,"line_start":1051,"line_end":1051,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871419}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":200931,"byte_end":200938,"line_start":1051,"line_end":1051,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742331}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":200963,"byte_end":200967,"line_start":1052,"line_end":1052,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201031,"byte_end":201038,"line_start":1054,"line_end":1054,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201022,"byte_end":201029,"line_start":1054,"line_end":1054,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201060,"byte_end":201075,"line_start":1055,"line_end":1055,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201054,"byte_end":201059,"line_start":1055,"line_end":1055,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266427}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201077,"byte_end":201082,"line_start":1055,"line_end":1055,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871419}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201083,"byte_end":201112,"line_start":1055,"line_end":1055,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201083,"byte_end":201096,"line_start":1055,"line_end":1055,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201084,"byte_end":201091,"line_start":1055,"line_end":1055,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742331}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201098,"byte_end":201112,"line_start":1055,"line_end":1055,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201099,"byte_end":201106,"line_start":1055,"line_end":1055,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742331}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201128,"byte_end":201132,"line_start":1056,"line_end":1056,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201138,"byte_end":201151,"line_start":1056,"line_end":1056,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201152,"byte_end":201157,"line_start":1056,"line_end":1056,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266427}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201220,"byte_end":201226,"line_start":1062,"line_end":1062,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201231,"byte_end":201239,"line_start":1062,"line_end":1062,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201325,"byte_end":201335,"line_start":1064,"line_end":1064,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201318,"byte_end":201323,"line_start":1064,"line_end":1064,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201346,"byte_end":201352,"line_start":1064,"line_end":1064,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201371,"byte_end":201377,"line_start":1065,"line_end":1065,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201379,"byte_end":201386,"line_start":1065,"line_end":1065,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752841}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201457,"byte_end":201466,"line_start":1066,"line_end":1066,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201445,"byte_end":201455,"line_start":1066,"line_end":1066,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201438,"byte_end":201443,"line_start":1066,"line_end":1066,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201467,"byte_end":201474,"line_start":1066,"line_end":1066,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752841}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201515,"byte_end":201521,"line_start":1067,"line_end":1067,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874185}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201550,"byte_end":201559,"line_start":1067,"line_end":1067,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201539,"byte_end":201546,"line_start":1067,"line_end":1067,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201523,"byte_end":201531,"line_start":1067,"line_end":1067,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441417}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201532,"byte_end":201538,"line_start":1067,"line_end":1067,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201632,"byte_end":201642,"line_start":1070,"line_end":1070,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201625,"byte_end":201630,"line_start":1070,"line_end":1070,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201653,"byte_end":201659,"line_start":1070,"line_end":1070,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600841}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201678,"byte_end":201684,"line_start":1071,"line_end":1071,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600841}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201686,"byte_end":201693,"line_start":1071,"line_end":1071,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580617}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201764,"byte_end":201773,"line_start":1072,"line_end":1072,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201752,"byte_end":201762,"line_start":1072,"line_end":1072,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201745,"byte_end":201750,"line_start":1072,"line_end":1072,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201774,"byte_end":201781,"line_start":1072,"line_end":1072,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580617}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201822,"byte_end":201828,"line_start":1073,"line_end":1073,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600841}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201857,"byte_end":201866,"line_start":1073,"line_end":1073,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":201846,"byte_end":201853,"line_start":1073,"line_end":1073,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201830,"byte_end":201838,"line_start":1073,"line_end":1073,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409737}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":201839,"byte_end":201845,"line_start":1073,"line_end":1073,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201880,"byte_end":201882,"line_start":1075,"line_end":1075,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201930,"byte_end":201936,"line_start":1079,"line_end":1079,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":201941,"byte_end":201949,"line_start":1079,"line_end":1079,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202033,"byte_end":202043,"line_start":1081,"line_end":1081,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202026,"byte_end":202031,"line_start":1081,"line_end":1081,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202054,"byte_end":202060,"line_start":1081,"line_end":1081,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874189}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202081,"byte_end":202088,"line_start":1082,"line_end":1082,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752845}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202100,"byte_end":202104,"line_start":1082,"line_end":1082,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202122,"byte_end":202128,"line_start":1083,"line_end":1083,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547597}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202170,"byte_end":202172,"line_start":1085,"line_end":1085,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202237,"byte_end":202243,"line_start":1089,"line_end":1089,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202248,"byte_end":202256,"line_start":1089,"line_end":1089,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202324,"byte_end":202334,"line_start":1091,"line_end":1091,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202317,"byte_end":202322,"line_start":1091,"line_end":1091,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202345,"byte_end":202351,"line_start":1091,"line_end":1091,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874193}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202376,"byte_end":202383,"line_start":1092,"line_end":1092,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752849}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202395,"byte_end":202399,"line_start":1092,"line_end":1092,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202406,"byte_end":202412,"line_start":1093,"line_end":1093,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547601}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202447,"byte_end":202453,"line_start":1094,"line_end":1094,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547601}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202494,"byte_end":202500,"line_start":1095,"line_end":1095,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547601}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202527,"byte_end":202533,"line_start":1096,"line_end":1096,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547601}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202552,"byte_end":202556,"line_start":1096,"line_end":1096,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202564,"byte_end":202570,"line_start":1098,"line_end":1098,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547601}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202579,"byte_end":202583,"line_start":1098,"line_end":1098,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202602,"byte_end":202608,"line_start":1099,"line_end":1099,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547601}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202653,"byte_end":202655,"line_start":1101,"line_end":1101,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202668,"byte_end":202680,"line_start":1104,"line_end":1104,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202809,"byte_end":202814,"line_start":1105,"line_end":1105,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202758,"byte_end":202761,"line_start":1105,"line_end":1105,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202762,"byte_end":202778,"line_start":1105,"line_end":1105,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202784,"byte_end":202790,"line_start":1105,"line_end":1105,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202849,"byte_end":202852,"line_start":1106,"line_end":1106,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871423}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202853,"byte_end":202864,"line_start":1106,"line_end":1106,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742335}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202866,"byte_end":202870,"line_start":1106,"line_end":1106,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202881,"byte_end":202892,"line_start":1106,"line_end":1106,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3969}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202905,"byte_end":202909,"line_start":1107,"line_end":1107,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830975}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":202910,"byte_end":202917,"line_start":1107,"line_end":1107,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3970}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202963,"byte_end":202970,"line_start":1109,"line_end":1109,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":202975,"byte_end":202981,"line_start":1109,"line_end":1109,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203004,"byte_end":203008,"line_start":1110,"line_end":1110,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742337}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203032,"byte_end":203037,"line_start":1111,"line_end":1111,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203023,"byte_end":203030,"line_start":1111,"line_end":1111,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203032,"byte_end":203037,"line_start":1111,"line_end":1111,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203023,"byte_end":203030,"line_start":1111,"line_end":1111,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203062,"byte_end":203066,"line_start":1112,"line_end":1112,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203068,"byte_end":203069,"line_start":1112,"line_end":1112,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096897}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203115,"byte_end":203122,"line_start":1114,"line_end":1114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203106,"byte_end":203113,"line_start":1114,"line_end":1114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203115,"byte_end":203122,"line_start":1114,"line_end":1114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203106,"byte_end":203113,"line_start":1114,"line_end":1114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203147,"byte_end":203151,"line_start":1115,"line_end":1115,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203153,"byte_end":203154,"line_start":1115,"line_end":1115,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314625}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203214,"byte_end":203218,"line_start":1118,"line_end":1118,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203334,"byte_end":203340,"line_start":1122,"line_end":1122,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203360,"byte_end":203365,"line_start":1123,"line_end":1123,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871426}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203366,"byte_end":203373,"line_start":1123,"line_end":1123,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742338}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203398,"byte_end":203402,"line_start":1124,"line_end":1124,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203466,"byte_end":203473,"line_start":1126,"line_end":1126,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203457,"byte_end":203464,"line_start":1126,"line_end":1126,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203495,"byte_end":203510,"line_start":1127,"line_end":1127,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203489,"byte_end":203494,"line_start":1127,"line_end":1127,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266434}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203512,"byte_end":203517,"line_start":1127,"line_end":1127,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871426}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203518,"byte_end":203546,"line_start":1127,"line_end":1127,"column_start":42,"column_end":70},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203518,"byte_end":203531,"line_start":1127,"line_end":1127,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203519,"byte_end":203526,"line_start":1127,"line_end":1127,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742338}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203533,"byte_end":203546,"line_start":1127,"line_end":1127,"column_start":57,"column_end":70},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203534,"byte_end":203541,"line_start":1127,"line_end":1127,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742338}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203562,"byte_end":203566,"line_start":1128,"line_end":1128,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203572,"byte_end":203585,"line_start":1128,"line_end":1128,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":168}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203586,"byte_end":203591,"line_start":1128,"line_end":1128,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266434}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203656,"byte_end":203662,"line_start":1134,"line_end":1134,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203667,"byte_end":203675,"line_start":1134,"line_end":1134,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203776,"byte_end":203786,"line_start":1136,"line_end":1136,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203769,"byte_end":203774,"line_start":1136,"line_end":1136,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203797,"byte_end":203803,"line_start":1136,"line_end":1136,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874197}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203822,"byte_end":203828,"line_start":1137,"line_end":1137,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874197}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203830,"byte_end":203837,"line_start":1137,"line_end":1137,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752853}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203908,"byte_end":203917,"line_start":1138,"line_end":1138,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203896,"byte_end":203906,"line_start":1138,"line_end":1138,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":203889,"byte_end":203894,"line_start":1138,"line_end":1138,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203918,"byte_end":203925,"line_start":1138,"line_end":1138,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752853}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203966,"byte_end":203972,"line_start":1139,"line_end":1139,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874197}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":204001,"byte_end":204010,"line_start":1139,"line_end":1139,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":203990,"byte_end":203997,"line_start":1139,"line_end":1139,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203974,"byte_end":203982,"line_start":1139,"line_end":1139,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441429}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":203983,"byte_end":203989,"line_start":1139,"line_end":1139,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204082,"byte_end":204092,"line_start":1142,"line_end":1142,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204075,"byte_end":204080,"line_start":1142,"line_end":1142,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204103,"byte_end":204109,"line_start":1142,"line_end":1142,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600853}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204128,"byte_end":204134,"line_start":1143,"line_end":1143,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600853}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204136,"byte_end":204143,"line_start":1143,"line_end":1143,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580629}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":204214,"byte_end":204223,"line_start":1144,"line_end":1144,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204202,"byte_end":204212,"line_start":1144,"line_end":1144,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204195,"byte_end":204200,"line_start":1144,"line_end":1144,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204224,"byte_end":204231,"line_start":1144,"line_end":1144,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580629}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204272,"byte_end":204278,"line_start":1145,"line_end":1145,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600853}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":204307,"byte_end":204316,"line_start":1145,"line_end":1145,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":204296,"byte_end":204303,"line_start":1145,"line_end":1145,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204280,"byte_end":204288,"line_start":1145,"line_end":1145,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409749}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204289,"byte_end":204295,"line_start":1145,"line_end":1145,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204330,"byte_end":204332,"line_start":1147,"line_end":1147,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204382,"byte_end":204388,"line_start":1151,"line_end":1151,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204393,"byte_end":204401,"line_start":1151,"line_end":1151,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204493,"byte_end":204503,"line_start":1153,"line_end":1153,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204486,"byte_end":204491,"line_start":1153,"line_end":1153,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204514,"byte_end":204520,"line_start":1153,"line_end":1153,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874201}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204541,"byte_end":204548,"line_start":1154,"line_end":1154,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752857}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204560,"byte_end":204564,"line_start":1154,"line_end":1154,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204582,"byte_end":204588,"line_start":1155,"line_end":1155,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547609}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204636,"byte_end":204638,"line_start":1157,"line_end":1157,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204705,"byte_end":204711,"line_start":1161,"line_end":1161,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204716,"byte_end":204724,"line_start":1161,"line_end":1161,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204794,"byte_end":204804,"line_start":1163,"line_end":1163,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204787,"byte_end":204792,"line_start":1163,"line_end":1163,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204815,"byte_end":204821,"line_start":1163,"line_end":1163,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874205}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204846,"byte_end":204853,"line_start":1164,"line_end":1164,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752861}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":204865,"byte_end":204869,"line_start":1164,"line_end":1164,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204876,"byte_end":204882,"line_start":1165,"line_end":1165,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547613}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204923,"byte_end":204929,"line_start":1166,"line_end":1166,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547613}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":204976,"byte_end":204982,"line_start":1167,"line_end":1167,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547613}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205009,"byte_end":205015,"line_start":1168,"line_end":1168,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547613}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205034,"byte_end":205038,"line_start":1168,"line_end":1168,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205046,"byte_end":205052,"line_start":1170,"line_end":1170,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547613}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205061,"byte_end":205065,"line_start":1170,"line_end":1170,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205084,"byte_end":205090,"line_start":1171,"line_end":1171,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547613}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205135,"byte_end":205137,"line_start":1173,"line_end":1173,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205151,"byte_end":205163,"line_start":1177,"line_end":1177,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":447}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205292,"byte_end":205297,"line_start":1178,"line_end":1178,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205241,"byte_end":205244,"line_start":1178,"line_end":1178,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205245,"byte_end":205261,"line_start":1178,"line_end":1178,"column_start":72,"column_end":88},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205267,"byte_end":205273,"line_start":1178,"line_end":1178,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205332,"byte_end":205335,"line_start":1179,"line_end":1179,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536871430}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205336,"byte_end":205347,"line_start":1179,"line_end":1179,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1073742342}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205349,"byte_end":205353,"line_start":1179,"line_end":1179,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205364,"byte_end":205375,"line_start":1179,"line_end":1179,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":3975}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205388,"byte_end":205392,"line_start":1180,"line_end":1180,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1744830982}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205393,"byte_end":205400,"line_start":1180,"line_end":1180,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3976}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205446,"byte_end":205453,"line_start":1182,"line_end":1182,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205458,"byte_end":205464,"line_start":1182,"line_end":1182,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205487,"byte_end":205491,"line_start":1183,"line_end":1183,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742344}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205515,"byte_end":205520,"line_start":1184,"line_end":1184,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205506,"byte_end":205513,"line_start":1184,"line_end":1184,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205515,"byte_end":205520,"line_start":1184,"line_end":1184,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205506,"byte_end":205513,"line_start":1184,"line_end":1184,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205545,"byte_end":205549,"line_start":1185,"line_end":1185,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205551,"byte_end":205552,"line_start":1185,"line_end":1185,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3758096904}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205598,"byte_end":205605,"line_start":1187,"line_end":1187,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205589,"byte_end":205596,"line_start":1187,"line_end":1187,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205598,"byte_end":205605,"line_start":1187,"line_end":1187,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205589,"byte_end":205596,"line_start":1187,"line_end":1187,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205630,"byte_end":205634,"line_start":1188,"line_end":1188,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205636,"byte_end":205637,"line_start":1188,"line_end":1188,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3892314632}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205697,"byte_end":205701,"line_start":1191,"line_end":1191,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205817,"byte_end":205823,"line_start":1195,"line_end":1195,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205843,"byte_end":205848,"line_start":1196,"line_end":1196,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536871433}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205849,"byte_end":205856,"line_start":1196,"line_end":1196,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1073742345}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205881,"byte_end":205885,"line_start":1197,"line_end":1197,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":205949,"byte_end":205956,"line_start":1199,"line_end":1199,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":205940,"byte_end":205947,"line_start":1199,"line_end":1199,"column_start":38,"column_end":45},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":205978,"byte_end":205993,"line_start":1200,"line_end":1200,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205972,"byte_end":205977,"line_start":1200,"line_end":1200,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2013266441}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":205995,"byte_end":206000,"line_start":1200,"line_end":1200,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":536871433}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206001,"byte_end":206030,"line_start":1200,"line_end":1200,"column_start":42,"column_end":71},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206001,"byte_end":206014,"line_start":1200,"line_end":1200,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206002,"byte_end":206009,"line_start":1200,"line_end":1200,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1073742345}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206016,"byte_end":206030,"line_start":1200,"line_end":1200,"column_start":57,"column_end":71},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206017,"byte_end":206024,"line_start":1200,"line_end":1200,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":1073742345}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206046,"byte_end":206050,"line_start":1201,"line_end":1201,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206056,"byte_end":206069,"line_start":1201,"line_end":1201,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":268}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206070,"byte_end":206075,"line_start":1201,"line_end":1201,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2013266441}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206141,"byte_end":206147,"line_start":1207,"line_end":1207,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206152,"byte_end":206160,"line_start":1207,"line_end":1207,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206262,"byte_end":206272,"line_start":1209,"line_end":1209,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206255,"byte_end":206260,"line_start":1209,"line_end":1209,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206283,"byte_end":206289,"line_start":1209,"line_end":1209,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874209}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206308,"byte_end":206314,"line_start":1210,"line_end":1210,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874209}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206316,"byte_end":206323,"line_start":1210,"line_end":1210,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752865}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206394,"byte_end":206403,"line_start":1211,"line_end":1211,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206382,"byte_end":206392,"line_start":1211,"line_end":1211,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206375,"byte_end":206380,"line_start":1211,"line_end":1211,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206404,"byte_end":206411,"line_start":1211,"line_end":1211,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752865}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206452,"byte_end":206458,"line_start":1212,"line_end":1212,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874209}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206487,"byte_end":206496,"line_start":1212,"line_end":1212,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206476,"byte_end":206483,"line_start":1212,"line_end":1212,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206460,"byte_end":206468,"line_start":1212,"line_end":1212,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441441}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206469,"byte_end":206475,"line_start":1212,"line_end":1212,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206569,"byte_end":206579,"line_start":1215,"line_end":1215,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206562,"byte_end":206567,"line_start":1215,"line_end":1215,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206590,"byte_end":206596,"line_start":1215,"line_end":1215,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600865}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206615,"byte_end":206621,"line_start":1216,"line_end":1216,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600865}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206623,"byte_end":206630,"line_start":1216,"line_end":1216,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580641}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206701,"byte_end":206710,"line_start":1217,"line_end":1217,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206689,"byte_end":206699,"line_start":1217,"line_end":1217,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206682,"byte_end":206687,"line_start":1217,"line_end":1217,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206711,"byte_end":206718,"line_start":1217,"line_end":1217,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580641}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206759,"byte_end":206765,"line_start":1218,"line_end":1218,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600865}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206794,"byte_end":206803,"line_start":1218,"line_end":1218,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/numbers.rs","byte_start":206783,"byte_end":206790,"line_start":1218,"line_end":1218,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206767,"byte_end":206775,"line_start":1218,"line_end":1218,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409761}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206776,"byte_end":206782,"line_start":1218,"line_end":1218,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206813,"byte_end":206815,"line_start":1220,"line_end":1220,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206866,"byte_end":206872,"line_start":1224,"line_end":1224,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206877,"byte_end":206885,"line_start":1224,"line_end":1224,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206978,"byte_end":206988,"line_start":1226,"line_end":1226,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":206971,"byte_end":206976,"line_start":1226,"line_end":1226,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":206999,"byte_end":207005,"line_start":1226,"line_end":1226,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874213}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207026,"byte_end":207033,"line_start":1227,"line_end":1227,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752869}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207045,"byte_end":207049,"line_start":1227,"line_end":1227,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207067,"byte_end":207073,"line_start":1228,"line_end":1228,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547621}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207121,"byte_end":207123,"line_start":1230,"line_end":1230,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207191,"byte_end":207197,"line_start":1234,"line_end":1234,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207202,"byte_end":207210,"line_start":1234,"line_end":1234,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207281,"byte_end":207291,"line_start":1236,"line_end":1236,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207274,"byte_end":207279,"line_start":1236,"line_end":1236,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207302,"byte_end":207308,"line_start":1236,"line_end":1236,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874217}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207333,"byte_end":207340,"line_start":1237,"line_end":1237,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752873}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207352,"byte_end":207356,"line_start":1237,"line_end":1237,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207363,"byte_end":207369,"line_start":1238,"line_end":1238,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547625}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207410,"byte_end":207416,"line_start":1239,"line_end":1239,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547625}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207463,"byte_end":207469,"line_start":1240,"line_end":1240,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547625}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207496,"byte_end":207502,"line_start":1241,"line_end":1241,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547625}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207521,"byte_end":207525,"line_start":1241,"line_end":1241,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207533,"byte_end":207539,"line_start":1243,"line_end":1243,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547625}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207548,"byte_end":207552,"line_start":1243,"line_end":1243,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/numbers.rs","byte_start":207571,"byte_end":207577,"line_start":1244,"line_end":1244,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547625}},{"kind":"Type","span":{"file_name":"src/pointer/numbers.rs","byte_start":207622,"byte_end":207624,"line_start":1246,"line_end":1246,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57383,"byte_end":57387,"line_start":18,"line_end":18,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":524}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208117,"byte_end":208122,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208124,"byte_end":208128,"line_start":18,"line_end":18,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208139,"byte_end":208144,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208146,"byte_end":208152,"line_start":19,"line_end":19,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208174,"byte_end":208177,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208174,"byte_end":208177,"line_start":20,"line_end":20,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208200,"byte_end":208209,"line_start":20,"line_end":20,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3981}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3981}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208166,"byte_end":208171,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208218,"byte_end":208224,"line_start":20,"line_end":20,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208280,"byte_end":208285,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208287,"byte_end":208292,"line_start":21,"line_end":21,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208316,"byte_end":208322,"line_start":22,"line_end":22,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208339,"byte_end":208346,"line_start":22,"line_end":22,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208308,"byte_end":208313,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208358,"byte_end":208367,"line_start":22,"line_end":22,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208384,"byte_end":208389,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208391,"byte_end":208394,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208405,"byte_end":208410,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208412,"byte_end":208417,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208428,"byte_end":208433,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208436,"byte_end":208442,"line_start":26,"line_end":26,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208458,"byte_end":208463,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208480,"byte_end":208485,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":208487,"byte_end":208493,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208510,"byte_end":208515,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208549,"byte_end":208558,"line_start":32,"line_end":32,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208542,"byte_end":208547,"line_start":32,"line_end":32,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208657,"byte_end":208662,"line_start":34,"line_end":34,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208611,"byte_end":208627,"line_start":34,"line_end":34,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208632,"byte_end":208638,"line_start":34,"line_end":34,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208673,"byte_end":208677,"line_start":35,"line_end":35,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":208684,"byte_end":208691,"line_start":35,"line_end":35,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208731,"byte_end":208740,"line_start":37,"line_end":37,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208752,"byte_end":208761,"line_start":37,"line_end":37,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208766,"byte_end":208772,"line_start":37,"line_end":37,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208789,"byte_end":208793,"line_start":38,"line_end":38,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208837,"byte_end":208846,"line_start":41,"line_end":41,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208858,"byte_end":208867,"line_start":41,"line_end":41,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208872,"byte_end":208878,"line_start":41,"line_end":41,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208895,"byte_end":208899,"line_start":42,"line_end":42,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208929,"byte_end":208937,"line_start":46,"line_end":46,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":208993,"byte_end":209004,"line_start":48,"line_end":48,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209030,"byte_end":209037,"line_start":48,"line_end":48,"column_start":73,"column_end":80},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209017,"byte_end":209028,"line_start":48,"line_end":48,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209086,"byte_end":209097,"line_start":49,"line_end":49,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209123,"byte_end":209130,"line_start":49,"line_end":49,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209110,"byte_end":209121,"line_start":49,"line_end":49,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209166,"byte_end":209169,"line_start":51,"line_end":51,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209170,"byte_end":209186,"line_start":51,"line_end":51,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209207,"byte_end":209213,"line_start":51,"line_end":51,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209214,"byte_end":209221,"line_start":51,"line_end":51,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209223,"byte_end":209231,"line_start":51,"line_end":51,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209272,"byte_end":209275,"line_start":52,"line_end":52,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209265,"byte_end":209270,"line_start":52,"line_end":52,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209299,"byte_end":209305,"line_start":53,"line_end":53,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209287,"byte_end":209298,"line_start":53,"line_end":53,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805306962}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209313,"byte_end":209321,"line_start":53,"line_end":53,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209334,"byte_end":209340,"line_start":53,"line_end":53,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209325,"byte_end":209332,"line_start":53,"line_end":53,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209360,"byte_end":209369,"line_start":53,"line_end":53,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209347,"byte_end":209355,"line_start":53,"line_end":53,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209408,"byte_end":209414,"line_start":55,"line_end":55,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742418}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209415,"byte_end":209422,"line_start":55,"line_end":55,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871506}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209424,"byte_end":209428,"line_start":55,"line_end":55,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209439,"byte_end":209451,"line_start":55,"line_end":55,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209482,"byte_end":209486,"line_start":57,"line_end":57,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069010}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209487,"byte_end":209494,"line_start":57,"line_end":57,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3982}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209472,"byte_end":209476,"line_start":57,"line_end":57,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209521,"byte_end":209527,"line_start":58,"line_end":58,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209509,"byte_end":209520,"line_start":58,"line_end":58,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805306962}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":209538,"byte_end":209546,"line_start":58,"line_end":58,"column_start":42,"column_end":50},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209556,"byte_end":209557,"line_start":58,"line_end":58,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":2885681746}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209593,"byte_end":209597,"line_start":59,"line_end":59,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209584,"byte_end":209591,"line_start":59,"line_end":59,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209633,"byte_end":209638,"line_start":60,"line_end":60,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209624,"byte_end":209631,"line_start":60,"line_end":60,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209684,"byte_end":209686,"line_start":65,"line_end":65,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209696,"byte_end":209706,"line_start":65,"line_end":65,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209687,"byte_end":209694,"line_start":65,"line_end":65,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209707,"byte_end":209718,"line_start":65,"line_end":65,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805306962}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209789,"byte_end":209792,"line_start":68,"line_end":68,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209793,"byte_end":209809,"line_start":68,"line_end":68,"column_start":66,"column_end":82},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209815,"byte_end":209821,"line_start":68,"line_end":68,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209862,"byte_end":209868,"line_start":69,"line_end":69,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613331}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209869,"byte_end":209876,"line_start":69,"line_end":69,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871507}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209878,"byte_end":209882,"line_start":69,"line_end":69,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":209893,"byte_end":209905,"line_start":69,"line_end":69,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209919,"byte_end":209923,"line_start":71,"line_end":71,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":402653779}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":209924,"byte_end":209931,"line_start":71,"line_end":71,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3982}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210109,"byte_end":210114,"line_start":74,"line_end":74,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210008,"byte_end":210017,"line_start":74,"line_end":74,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210033,"byte_end":210042,"line_start":74,"line_end":74,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210052,"byte_end":210055,"line_start":74,"line_end":74,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210056,"byte_end":210063,"line_start":74,"line_end":74,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210069,"byte_end":210075,"line_start":74,"line_end":74,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210080,"byte_end":210088,"line_start":74,"line_end":74,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210133,"byte_end":210138,"line_start":75,"line_end":75,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1342177876}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210162,"byte_end":210166,"line_start":76,"line_end":76,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210153,"byte_end":210160,"line_start":76,"line_end":76,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210162,"byte_end":210166,"line_start":76,"line_end":76,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210153,"byte_end":210160,"line_start":76,"line_end":76,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210194,"byte_end":210203,"line_start":77,"line_end":77,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210204,"byte_end":210210,"line_start":77,"line_end":77,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613332}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210212,"byte_end":210218,"line_start":77,"line_end":77,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436052}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210264,"byte_end":210269,"line_start":79,"line_end":79,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210255,"byte_end":210262,"line_start":79,"line_end":79,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210264,"byte_end":210269,"line_start":79,"line_end":79,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210255,"byte_end":210262,"line_start":79,"line_end":79,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210297,"byte_end":210306,"line_start":80,"line_end":80,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210307,"byte_end":210313,"line_start":80,"line_end":80,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613332}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210315,"byte_end":210321,"line_start":80,"line_end":80,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436052}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210386,"byte_end":210388,"line_start":85,"line_end":85,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210530,"byte_end":210535,"line_start":88,"line_end":88,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210431,"byte_end":210440,"line_start":88,"line_end":88,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210456,"byte_end":210465,"line_start":88,"line_end":88,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210483,"byte_end":210489,"line_start":88,"line_end":88,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210490,"byte_end":210499,"line_start":88,"line_end":88,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210501,"byte_end":210509,"line_start":88,"line_end":88,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210573,"byte_end":210582,"line_start":90,"line_end":90,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210566,"byte_end":210572,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742422}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210583,"byte_end":210589,"line_start":90,"line_end":90,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871510}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210636,"byte_end":210650,"line_start":91,"line_end":91,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210626,"byte_end":210633,"line_start":91,"line_end":91,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960150}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210668,"byte_end":210681,"line_start":93,"line_end":93,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1476395606}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210830,"byte_end":210835,"line_start":96,"line_end":96,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1610613334}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":210787,"byte_end":210798,"line_start":96,"line_end":96,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210780,"byte_end":210786,"line_start":96,"line_end":96,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536871510}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210801,"byte_end":210814,"line_start":96,"line_end":96,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":1476395606}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":210938,"byte_end":210940,"line_start":102,"line_end":102,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":210941,"byte_end":210947,"line_start":102,"line_end":102,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742422}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211009,"byte_end":211014,"line_start":106,"line_end":106,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613334}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211159,"byte_end":211172,"line_start":112,"line_end":112,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211152,"byte_end":211158,"line_start":112,"line_end":112,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536871510}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211174,"byte_end":211179,"line_start":112,"line_end":112,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":3120562774}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211136,"byte_end":211149,"line_start":112,"line_end":112,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":1476395606}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211231,"byte_end":211245,"line_start":113,"line_end":113,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211209,"byte_end":211222,"line_start":113,"line_end":113,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211202,"byte_end":211208,"line_start":113,"line_end":113,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742422}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211223,"byte_end":211229,"line_start":113,"line_end":113,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871510}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211246,"byte_end":211259,"line_start":113,"line_end":113,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1476395606}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211289,"byte_end":211291,"line_start":115,"line_end":115,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211292,"byte_end":211298,"line_start":115,"line_end":115,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073742422}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211439,"byte_end":211444,"line_start":121,"line_end":121,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211355,"byte_end":211364,"line_start":121,"line_end":121,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211382,"byte_end":211391,"line_start":121,"line_end":121,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211396,"byte_end":211402,"line_start":121,"line_end":121,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211403,"byte_end":211409,"line_start":121,"line_end":121,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211417,"byte_end":211425,"line_start":121,"line_end":121,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211482,"byte_end":211491,"line_start":123,"line_end":123,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211475,"byte_end":211481,"line_start":123,"line_end":123,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742427}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211492,"byte_end":211498,"line_start":123,"line_end":123,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871515}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211539,"byte_end":211553,"line_start":125,"line_end":125,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211529,"byte_end":211536,"line_start":125,"line_end":125,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218331}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211601,"byte_end":211611,"line_start":128,"line_end":128,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879259}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211638,"byte_end":211640,"line_start":129,"line_end":129,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211641,"byte_end":211645,"line_start":129,"line_end":129,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211667,"byte_end":211669,"line_start":132,"line_end":132,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211683,"byte_end":211693,"line_start":132,"line_end":132,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211676,"byte_end":211682,"line_start":132,"line_end":132,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536871515}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211694,"byte_end":211704,"line_start":132,"line_end":132,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3623879259}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211720,"byte_end":211724,"line_start":133,"line_end":133,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211720,"byte_end":211724,"line_start":133,"line_end":133,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211749,"byte_end":211753,"line_start":134,"line_end":134,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211757,"byte_end":211758,"line_start":134,"line_end":134,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2885681755}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211816,"byte_end":211820,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211816,"byte_end":211820,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211824,"byte_end":211828,"line_start":136,"line_end":136,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211885,"byte_end":211894,"line_start":140,"line_end":140,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211912,"byte_end":211921,"line_start":140,"line_end":140,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211926,"byte_end":211933,"line_start":140,"line_end":140,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":211957,"byte_end":211967,"line_start":142,"line_end":142,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211968,"byte_end":211974,"line_start":142,"line_end":142,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871517}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":211976,"byte_end":211982,"line_start":142,"line_end":142,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613341}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211998,"byte_end":212000,"line_start":143,"line_end":143,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":211998,"byte_end":212000,"line_start":143,"line_end":143,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212031,"byte_end":212032,"line_start":144,"line_end":144,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281701981}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212055,"byte_end":212059,"line_start":145,"line_end":145,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212055,"byte_end":212059,"line_start":145,"line_end":145,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212095,"byte_end":212096,"line_start":146,"line_end":146,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":3892314717}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212144,"byte_end":212148,"line_start":147,"line_end":147,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212135,"byte_end":212142,"line_start":147,"line_end":147,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212219,"byte_end":212224,"line_start":149,"line_end":149,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212210,"byte_end":212217,"line_start":149,"line_end":149,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212294,"byte_end":212298,"line_start":152,"line_end":152,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212294,"byte_end":212298,"line_start":152,"line_end":152,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":212384,"byte_end":212394,"line_start":154,"line_end":154,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212377,"byte_end":212383,"line_start":154,"line_end":154,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613341}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212395,"byte_end":212401,"line_start":154,"line_end":154,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871517}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212402,"byte_end":212413,"line_start":154,"line_end":154,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212415,"byte_end":212419,"line_start":154,"line_end":154,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212430,"byte_end":212442,"line_start":154,"line_end":154,"column_start":102,"column_end":114},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212489,"byte_end":212493,"line_start":156,"line_end":156,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2181038685}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212494,"byte_end":212501,"line_start":156,"line_end":156,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3982}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212479,"byte_end":212483,"line_start":156,"line_end":156,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":212535,"byte_end":212536,"line_start":157,"line_end":157,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":570425949}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212588,"byte_end":212592,"line_start":158,"line_end":158,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212579,"byte_end":212586,"line_start":158,"line_end":158,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212671,"byte_end":212676,"line_start":160,"line_end":160,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212662,"byte_end":212669,"line_start":160,"line_end":160,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212777,"byte_end":212781,"line_start":163,"line_end":163,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212768,"byte_end":212775,"line_start":163,"line_end":163,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212903,"byte_end":212906,"line_start":169,"line_end":169,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212903,"byte_end":212906,"line_start":169,"line_end":169,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212941,"byte_end":212945,"line_start":170,"line_end":170,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":212932,"byte_end":212939,"line_start":170,"line_end":170,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213016,"byte_end":213025,"line_start":175,"line_end":175,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213036,"byte_end":213045,"line_start":175,"line_end":175,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213050,"byte_end":213056,"line_start":175,"line_end":175,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213064,"byte_end":213072,"line_start":175,"line_end":175,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213110,"byte_end":213119,"line_start":176,"line_end":176,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213103,"byte_end":213109,"line_start":176,"line_end":176,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871518}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213120,"byte_end":213126,"line_start":176,"line_end":176,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613342}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213152,"byte_end":213166,"line_start":177,"line_end":177,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213142,"byte_end":213149,"line_start":177,"line_end":177,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960158}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213188,"byte_end":213190,"line_start":178,"line_end":178,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213224,"byte_end":213226,"line_start":180,"line_end":180,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213238,"byte_end":213245,"line_start":180,"line_end":180,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":213227,"byte_end":213231,"line_start":180,"line_end":180,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/bool.rs","byte_start":213233,"byte_end":213236,"line_start":180,"line_end":180,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213302,"byte_end":213305,"line_start":184,"line_end":184,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213306,"byte_end":213322,"line_start":184,"line_end":184,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213343,"byte_end":213349,"line_start":184,"line_end":184,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213350,"byte_end":213356,"line_start":184,"line_end":184,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213358,"byte_end":213366,"line_start":184,"line_end":184,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213403,"byte_end":213409,"line_start":186,"line_end":186,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742432}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213410,"byte_end":213417,"line_start":186,"line_end":186,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871520}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213419,"byte_end":213423,"line_start":186,"line_end":186,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213434,"byte_end":213446,"line_start":186,"line_end":186,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":3981}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213493,"byte_end":213497,"line_start":188,"line_end":188,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213485,"byte_end":213491,"line_start":188,"line_end":188,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213533,"byte_end":213537,"line_start":189,"line_end":189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831072}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213538,"byte_end":213545,"line_start":189,"line_end":189,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3982}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213523,"byte_end":213527,"line_start":189,"line_end":189,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213567,"byte_end":213575,"line_start":190,"line_end":190,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213560,"byte_end":213566,"line_start":190,"line_end":190,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213606,"byte_end":213607,"line_start":191,"line_end":191,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1140851296}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213641,"byte_end":213649,"line_start":192,"line_end":192,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213634,"byte_end":213640,"line_start":192,"line_end":192,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213703,"byte_end":213711,"line_start":194,"line_end":194,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213696,"byte_end":213702,"line_start":194,"line_end":194,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213755,"byte_end":213763,"line_start":196,"line_end":196,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213748,"byte_end":213754,"line_start":196,"line_end":196,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":213795,"byte_end":213803,"line_start":198,"line_end":198,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213788,"byte_end":213794,"line_start":198,"line_end":198,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213818,"byte_end":213820,"line_start":199,"line_end":199,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":213821,"byte_end":213827,"line_start":199,"line_end":199,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160750176}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213885,"byte_end":213888,"line_start":203,"line_end":203,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213889,"byte_end":213905,"line_start":203,"line_end":203,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213927,"byte_end":213936,"line_start":203,"line_end":203,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213945,"byte_end":213948,"line_start":203,"line_end":203,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213949,"byte_end":213955,"line_start":203,"line_end":203,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213961,"byte_end":213967,"line_start":203,"line_end":203,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213975,"byte_end":213978,"line_start":203,"line_end":203,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213984,"byte_end":213987,"line_start":203,"line_end":203,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":213988,"byte_end":214004,"line_start":203,"line_end":203,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214008,"byte_end":214016,"line_start":203,"line_end":203,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214046,"byte_end":214052,"line_start":205,"line_end":205,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214061,"byte_end":214065,"line_start":205,"line_end":205,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214083,"byte_end":214086,"line_start":206,"line_end":206,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214078,"byte_end":214082,"line_start":206,"line_end":206,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436065}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214114,"byte_end":214118,"line_start":207,"line_end":207,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436065}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214157,"byte_end":214167,"line_start":208,"line_end":208,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214148,"byte_end":214154,"line_start":208,"line_end":208,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214140,"byte_end":214146,"line_start":208,"line_end":208,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214215,"byte_end":214225,"line_start":209,"line_end":209,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214593121}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214275,"byte_end":214279,"line_start":210,"line_end":210,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214262,"byte_end":214269,"line_start":210,"line_end":210,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214258,"byte_end":214261,"line_start":210,"line_end":210,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613345}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214270,"byte_end":214273,"line_start":210,"line_end":210,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677722209}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214365,"byte_end":214370,"line_start":212,"line_end":212,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825205857}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214424,"byte_end":214429,"line_start":213,"line_end":213,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":2828}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214417,"byte_end":214421,"line_start":213,"line_end":213,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":2827}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214409,"byte_end":214415,"line_start":213,"line_end":213,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214487,"byte_end":214491,"line_start":214,"line_end":214,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214493,"byte_end":214498,"line_start":214,"line_end":214,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":4227859041}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214477,"byte_end":214484,"line_start":214,"line_end":214,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2281701985}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214833,"byte_end":214836,"line_start":227,"line_end":227,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214848,"byte_end":214851,"line_start":227,"line_end":227,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214843,"byte_end":214846,"line_start":227,"line_end":227,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":214875,"byte_end":214879,"line_start":228,"line_end":228,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214863,"byte_end":214874,"line_start":228,"line_end":228,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":16777825}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214893,"byte_end":214900,"line_start":228,"line_end":228,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214880,"byte_end":214891,"line_start":228,"line_end":228,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214938,"byte_end":214945,"line_start":230,"line_end":230,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2281701985}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214960,"byte_end":214964,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":214960,"byte_end":214964,"line_start":231,"line_end":231,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":214992,"byte_end":214993,"line_start":232,"line_end":232,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":150995553}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215037,"byte_end":215041,"line_start":233,"line_end":233,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215025,"byte_end":215036,"line_start":233,"line_end":233,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":16777825}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215103,"byte_end":215107,"line_start":235,"line_end":235,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215091,"byte_end":215102,"line_start":235,"line_end":235,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":16777825}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215146,"byte_end":215150,"line_start":237,"line_end":237,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215151,"byte_end":215152,"line_start":237,"line_end":237,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":150995553}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215218,"byte_end":215222,"line_start":240,"line_end":240,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215206,"byte_end":215217,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":16777825}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215243,"byte_end":215247,"line_start":241,"line_end":241,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215289,"byte_end":215293,"line_start":245,"line_end":245,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215282,"byte_end":215288,"line_start":245,"line_end":245,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742433}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215294,"byte_end":215310,"line_start":245,"line_end":245,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215325,"byte_end":215328,"line_start":246,"line_end":246,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215345,"byte_end":215350,"line_start":246,"line_end":246,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215330,"byte_end":215343,"line_start":246,"line_end":246,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215367,"byte_end":215368,"line_start":247,"line_end":247,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215383,"byte_end":215390,"line_start":247,"line_end":247,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215370,"byte_end":215381,"line_start":247,"line_end":247,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215404,"byte_end":215412,"line_start":248,"line_end":248,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215432,"byte_end":215436,"line_start":249,"line_end":249,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215443,"byte_end":215446,"line_start":249,"line_end":249,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215438,"byte_end":215441,"line_start":249,"line_end":249,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215452,"byte_end":215460,"line_start":249,"line_end":249,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215447,"byte_end":215450,"line_start":249,"line_end":249,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215466,"byte_end":215469,"line_start":249,"line_end":249,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215461,"byte_end":215464,"line_start":249,"line_end":249,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215470,"byte_end":215482,"line_start":249,"line_end":249,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215485,"byte_end":215492,"line_start":249,"line_end":249,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3982}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215485,"byte_end":215492,"line_start":249,"line_end":249,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4244636257}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215539,"byte_end":215541,"line_start":252,"line_end":252,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215549,"byte_end":215560,"line_start":252,"line_end":252,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":16777825}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215562,"byte_end":215568,"line_start":252,"line_end":252,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742433}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215619,"byte_end":215622,"line_start":256,"line_end":256,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215623,"byte_end":215639,"line_start":256,"line_end":256,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215656,"byte_end":215659,"line_start":256,"line_end":256,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215660,"byte_end":215667,"line_start":256,"line_end":256,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215673,"byte_end":215679,"line_start":256,"line_end":256,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215687,"byte_end":215690,"line_start":256,"line_end":256,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215696,"byte_end":215699,"line_start":256,"line_end":256,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215700,"byte_end":215716,"line_start":256,"line_end":256,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215720,"byte_end":215728,"line_start":256,"line_end":256,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215762,"byte_end":215765,"line_start":258,"line_end":258,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215777,"byte_end":215780,"line_start":258,"line_end":258,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215772,"byte_end":215775,"line_start":258,"line_end":258,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215804,"byte_end":215808,"line_start":259,"line_end":259,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215792,"byte_end":215803,"line_start":259,"line_end":259,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134218338}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215822,"byte_end":215829,"line_start":259,"line_end":259,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215809,"byte_end":215820,"line_start":259,"line_end":259,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215867,"byte_end":215878,"line_start":261,"line_end":261,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536871522}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215913,"byte_end":215918,"line_start":262,"line_end":262,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215904,"byte_end":215911,"line_start":262,"line_end":262,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215913,"byte_end":215918,"line_start":262,"line_end":262,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215904,"byte_end":215911,"line_start":262,"line_end":262,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":215952,"byte_end":215956,"line_start":263,"line_end":263,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":215940,"byte_end":215951,"line_start":263,"line_end":263,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218338}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":215977,"byte_end":215981,"line_start":264,"line_end":264,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216025,"byte_end":216029,"line_start":266,"line_end":266,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216016,"byte_end":216023,"line_start":266,"line_end":266,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216025,"byte_end":216029,"line_start":266,"line_end":266,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216016,"byte_end":216023,"line_start":266,"line_end":266,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216063,"byte_end":216067,"line_start":267,"line_end":267,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216051,"byte_end":216062,"line_start":267,"line_end":267,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218338}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216088,"byte_end":216092,"line_start":268,"line_end":268,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216161,"byte_end":216165,"line_start":271,"line_end":271,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216149,"byte_end":216160,"line_start":271,"line_end":271,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218338}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216186,"byte_end":216190,"line_start":272,"line_end":272,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216232,"byte_end":216236,"line_start":276,"line_end":276,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216225,"byte_end":216231,"line_start":276,"line_end":276,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742434}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216237,"byte_end":216253,"line_start":276,"line_end":276,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216268,"byte_end":216271,"line_start":277,"line_end":277,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216288,"byte_end":216293,"line_start":277,"line_end":277,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216273,"byte_end":216286,"line_start":277,"line_end":277,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216310,"byte_end":216311,"line_start":278,"line_end":278,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216326,"byte_end":216333,"line_start":278,"line_end":278,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216313,"byte_end":216324,"line_start":278,"line_end":278,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216347,"byte_end":216351,"line_start":279,"line_end":279,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216358,"byte_end":216361,"line_start":279,"line_end":279,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216353,"byte_end":216356,"line_start":279,"line_end":279,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216367,"byte_end":216375,"line_start":279,"line_end":279,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216362,"byte_end":216365,"line_start":279,"line_end":279,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216381,"byte_end":216384,"line_start":279,"line_end":279,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216376,"byte_end":216379,"line_start":279,"line_end":279,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216385,"byte_end":216397,"line_start":279,"line_end":279,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216400,"byte_end":216407,"line_start":279,"line_end":279,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3982}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216400,"byte_end":216407,"line_start":279,"line_end":279,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4060086882}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216439,"byte_end":216447,"line_start":280,"line_end":280,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216482,"byte_end":216484,"line_start":283,"line_end":283,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216492,"byte_end":216503,"line_start":283,"line_end":283,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134218338}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216505,"byte_end":216511,"line_start":283,"line_end":283,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742434}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216564,"byte_end":216567,"line_start":286,"line_end":286,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216568,"byte_end":216584,"line_start":286,"line_end":286,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216627,"byte_end":216630,"line_start":286,"line_end":286,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216631,"byte_end":216647,"line_start":286,"line_end":286,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216667,"byte_end":216671,"line_start":287,"line_end":287,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216660,"byte_end":216666,"line_start":287,"line_end":287,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742435}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216672,"byte_end":216688,"line_start":287,"line_end":287,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216703,"byte_end":216706,"line_start":288,"line_end":288,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216723,"byte_end":216728,"line_start":288,"line_end":288,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216708,"byte_end":216721,"line_start":288,"line_end":288,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216745,"byte_end":216746,"line_start":289,"line_end":289,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216761,"byte_end":216768,"line_start":289,"line_end":289,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216748,"byte_end":216759,"line_start":289,"line_end":289,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216782,"byte_end":216790,"line_start":290,"line_end":290,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216810,"byte_end":216814,"line_start":291,"line_end":291,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216821,"byte_end":216824,"line_start":291,"line_end":291,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216816,"byte_end":216819,"line_start":291,"line_end":291,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216830,"byte_end":216838,"line_start":291,"line_end":291,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216825,"byte_end":216828,"line_start":291,"line_end":291,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":216844,"byte_end":216847,"line_start":291,"line_end":291,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216839,"byte_end":216842,"line_start":291,"line_end":291,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216848,"byte_end":216860,"line_start":291,"line_end":291,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":3981}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216863,"byte_end":216870,"line_start":291,"line_end":291,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3982}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216878,"byte_end":216883,"line_start":291,"line_end":291,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":1610613347}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":216884,"byte_end":216891,"line_start":291,"line_end":291,"column_start":87,"column_end":94},"ref_id":{"krate":0,"index":536871523}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216920,"byte_end":216924,"line_start":292,"line_end":292,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216947,"byte_end":216951,"line_start":293,"line_end":293,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":216980,"byte_end":216984,"line_start":294,"line_end":294,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217088,"byte_end":217094,"line_start":298,"line_end":298,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742435}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217148,"byte_end":217154,"line_start":304,"line_end":304,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217159,"byte_end":217167,"line_start":304,"line_end":304,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217251,"byte_end":217254,"line_start":306,"line_end":306,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217239,"byte_end":217249,"line_start":306,"line_end":306,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217232,"byte_end":217237,"line_start":306,"line_end":306,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217255,"byte_end":217261,"line_start":306,"line_end":306,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874221}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217280,"byte_end":217286,"line_start":307,"line_end":307,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874221}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217303,"byte_end":217309,"line_start":307,"line_end":307,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217288,"byte_end":217295,"line_start":307,"line_end":307,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752877}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217296,"byte_end":217302,"line_start":307,"line_end":307,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217353,"byte_end":217362,"line_start":308,"line_end":308,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217341,"byte_end":217351,"line_start":308,"line_end":308,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217334,"byte_end":217339,"line_start":308,"line_end":308,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217371,"byte_end":217390,"line_start":308,"line_end":308,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217363,"byte_end":217370,"line_start":308,"line_end":308,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752877}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217411,"byte_end":217417,"line_start":309,"line_end":309,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874221}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217435,"byte_end":217441,"line_start":309,"line_end":309,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217419,"byte_end":217427,"line_start":309,"line_end":309,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699629}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217428,"byte_end":217434,"line_start":309,"line_end":309,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217512,"byte_end":217515,"line_start":312,"line_end":312,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217500,"byte_end":217510,"line_start":312,"line_end":312,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217493,"byte_end":217498,"line_start":312,"line_end":312,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217516,"byte_end":217522,"line_start":312,"line_end":312,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526729965}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217541,"byte_end":217547,"line_start":313,"line_end":313,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729965}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217564,"byte_end":217570,"line_start":313,"line_end":313,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217549,"byte_end":217556,"line_start":313,"line_end":313,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936016109}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217557,"byte_end":217563,"line_start":313,"line_end":313,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217614,"byte_end":217623,"line_start":314,"line_end":314,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217602,"byte_end":217612,"line_start":314,"line_end":314,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217595,"byte_end":217600,"line_start":314,"line_end":314,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217632,"byte_end":217651,"line_start":314,"line_end":314,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217624,"byte_end":217631,"line_start":314,"line_end":314,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936016109}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217672,"byte_end":217678,"line_start":315,"line_end":315,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526729965}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217696,"byte_end":217702,"line_start":315,"line_end":315,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217680,"byte_end":217688,"line_start":315,"line_end":315,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202695917}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217689,"byte_end":217695,"line_start":315,"line_end":315,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217712,"byte_end":217714,"line_start":316,"line_end":316,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217759,"byte_end":217765,"line_start":320,"line_end":320,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217770,"byte_end":217778,"line_start":320,"line_end":320,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217865,"byte_end":217875,"line_start":322,"line_end":322,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217858,"byte_end":217863,"line_start":322,"line_end":322,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217886,"byte_end":217892,"line_start":322,"line_end":322,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874225}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217911,"byte_end":217917,"line_start":323,"line_end":323,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874225}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":217919,"byte_end":217926,"line_start":323,"line_end":323,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752881}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":217997,"byte_end":218006,"line_start":324,"line_end":324,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217985,"byte_end":217995,"line_start":324,"line_end":324,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":217978,"byte_end":217983,"line_start":324,"line_end":324,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218007,"byte_end":218014,"line_start":324,"line_end":324,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752881}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218055,"byte_end":218061,"line_start":325,"line_end":325,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874225}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":218090,"byte_end":218099,"line_start":325,"line_end":325,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":218079,"byte_end":218086,"line_start":325,"line_end":325,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218063,"byte_end":218071,"line_start":325,"line_end":325,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441457}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218072,"byte_end":218078,"line_start":325,"line_end":325,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218170,"byte_end":218180,"line_start":328,"line_end":328,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218163,"byte_end":218168,"line_start":328,"line_end":328,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218191,"byte_end":218197,"line_start":328,"line_end":328,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600881}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218216,"byte_end":218222,"line_start":329,"line_end":329,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600881}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218224,"byte_end":218231,"line_start":329,"line_end":329,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580657}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":218302,"byte_end":218311,"line_start":330,"line_end":330,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218290,"byte_end":218300,"line_start":330,"line_end":330,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218283,"byte_end":218288,"line_start":330,"line_end":330,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218312,"byte_end":218319,"line_start":330,"line_end":330,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580657}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218360,"byte_end":218366,"line_start":331,"line_end":331,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600881}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":218395,"byte_end":218404,"line_start":331,"line_end":331,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/bool.rs","byte_start":218384,"byte_end":218391,"line_start":331,"line_end":331,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218368,"byte_end":218376,"line_start":331,"line_end":331,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409777}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218377,"byte_end":218383,"line_start":331,"line_end":331,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218413,"byte_end":218415,"line_start":332,"line_end":332,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218459,"byte_end":218465,"line_start":336,"line_end":336,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218470,"byte_end":218478,"line_start":336,"line_end":336,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218565,"byte_end":218575,"line_start":338,"line_end":338,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218558,"byte_end":218563,"line_start":338,"line_end":338,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218586,"byte_end":218592,"line_start":338,"line_end":338,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874229}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218613,"byte_end":218620,"line_start":339,"line_end":339,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752885}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218632,"byte_end":218636,"line_start":339,"line_end":339,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218654,"byte_end":218660,"line_start":340,"line_end":340,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547637}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218702,"byte_end":218704,"line_start":342,"line_end":342,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218766,"byte_end":218772,"line_start":347,"line_end":347,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218777,"byte_end":218785,"line_start":347,"line_end":347,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218854,"byte_end":218864,"line_start":349,"line_end":349,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218847,"byte_end":218852,"line_start":349,"line_end":349,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218875,"byte_end":218881,"line_start":349,"line_end":349,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874233}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218906,"byte_end":218913,"line_start":350,"line_end":350,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752889}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":218925,"byte_end":218929,"line_start":350,"line_end":350,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218936,"byte_end":218942,"line_start":351,"line_end":351,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547641}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":218976,"byte_end":218982,"line_start":352,"line_end":352,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547641}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":219023,"byte_end":219029,"line_start":353,"line_end":353,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547641}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":219056,"byte_end":219062,"line_start":354,"line_end":354,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547641}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":219082,"byte_end":219086,"line_start":354,"line_end":354,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":219094,"byte_end":219100,"line_start":356,"line_end":356,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547641}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":219109,"byte_end":219113,"line_start":356,"line_end":356,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/bool.rs","byte_start":219132,"byte_end":219138,"line_start":357,"line_end":357,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547641}},{"kind":"Type","span":{"file_name":"src/pointer/bool.rs","byte_start":219183,"byte_end":219185,"line_start":359,"line_end":359,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57397,"byte_end":57400,"line_start":19,"line_end":19,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":612}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219823,"byte_end":219828,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219830,"byte_end":219834,"line_start":21,"line_end":21,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219845,"byte_end":219850,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219852,"byte_end":219858,"line_start":22,"line_end":22,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219880,"byte_end":219883,"line_start":23,"line_end":23,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219880,"byte_end":219883,"line_start":23,"line_end":23,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219872,"byte_end":219877,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":219906,"byte_end":219912,"line_start":23,"line_end":23,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3847}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219967,"byte_end":219972,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219974,"byte_end":219977,"line_start":24,"line_end":24,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":219988,"byte_end":219993,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":219995,"byte_end":220000,"line_start":25,"line_end":25,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":220017,"byte_end":220022,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220024,"byte_end":220029,"line_start":26,"line_end":26,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220048,"byte_end":220053,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220055,"byte_end":220064,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220048,"byte_end":220053,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220055,"byte_end":220064,"line_start":27,"line_end":27,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220088,"byte_end":220093,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220095,"byte_end":220101,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220088,"byte_end":220093,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220095,"byte_end":220101,"line_start":28,"line_end":28,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220133,"byte_end":220138,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220141,"byte_end":220148,"line_start":29,"line_end":29,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220133,"byte_end":220138,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220160,"byte_end":220165,"line_start":29,"line_end":29,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220182,"byte_end":220186,"line_start":30,"line_end":30,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220189,"byte_end":220192,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220208,"byte_end":220212,"line_start":31,"line_end":31,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220214,"byte_end":220221,"line_start":31,"line_end":31,"column_start":11,"column_end":18},"ref_id":{"krate":1,"index":2835}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220237,"byte_end":220242,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220244,"byte_end":220249,"line_start":33,"line_end":33,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220260,"byte_end":220265,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220267,"byte_end":220273,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220288,"byte_end":220293,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5742}},{"kind":"Mod","span":{"file_name":"src/pointer/geo.rs","byte_start":220296,"byte_end":220302,"line_start":35,"line_end":35,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220319,"byte_end":220324,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220343,"byte_end":220348,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220601,"byte_end":220604,"line_start":45,"line_end":45,"column_start":14,"column_end":17},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220647,"byte_end":220650,"line_start":47,"line_end":47,"column_start":14,"column_end":17},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3325}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3325}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3325}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3325}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220555,"byte_end":220559,"line_start":43,"line_end":43,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220596,"byte_end":220599,"line_start":45,"line_end":45,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220642,"byte_end":220645,"line_start":47,"line_end":47,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3325}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220678,"byte_end":220687,"line_start":50,"line_end":50,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220671,"byte_end":220676,"line_start":50,"line_end":50,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220792,"byte_end":220797,"line_start":52,"line_end":52,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220746,"byte_end":220762,"line_start":52,"line_end":52,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220767,"byte_end":220773,"line_start":52,"line_end":52,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220832,"byte_end":220838,"line_start":53,"line_end":53,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742518}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":220839,"byte_end":220843,"line_start":53,"line_end":53,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220854,"byte_end":220865,"line_start":53,"line_end":53,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":4003}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":220924,"byte_end":220933,"line_start":54,"line_end":54,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":747}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220972,"byte_end":220981,"line_start":57,"line_end":57,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":220992,"byte_end":221001,"line_start":57,"line_end":57,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221006,"byte_end":221012,"line_start":57,"line_end":57,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221060,"byte_end":221070,"line_start":58,"line_end":58,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221053,"byte_end":221059,"line_start":58,"line_end":58,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871607}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221071,"byte_end":221077,"line_start":58,"line_end":58,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221078,"byte_end":221089,"line_start":58,"line_end":58,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221091,"byte_end":221095,"line_start":58,"line_end":58,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221106,"byte_end":221117,"line_start":58,"line_end":58,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221181,"byte_end":221190,"line_start":59,"line_end":59,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":747}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221229,"byte_end":221238,"line_start":62,"line_end":62,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221249,"byte_end":221258,"line_start":62,"line_end":62,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221263,"byte_end":221269,"line_start":62,"line_end":62,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221317,"byte_end":221327,"line_start":63,"line_end":63,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221310,"byte_end":221316,"line_start":63,"line_end":63,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871608}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221328,"byte_end":221334,"line_start":63,"line_end":63,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221335,"byte_end":221346,"line_start":63,"line_end":63,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221348,"byte_end":221352,"line_start":63,"line_end":63,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221363,"byte_end":221374,"line_start":63,"line_end":63,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221440,"byte_end":221449,"line_start":64,"line_end":64,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":747}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221571,"byte_end":221577,"line_start":70,"line_end":70,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221594,"byte_end":221598,"line_start":71,"line_end":71,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221599,"byte_end":221603,"line_start":71,"line_end":71,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221703,"byte_end":221712,"line_start":74,"line_end":74,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221692,"byte_end":221700,"line_start":74,"line_end":74,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221681,"byte_end":221689,"line_start":74,"line_end":74,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221672,"byte_end":221676,"line_start":74,"line_end":74,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221677,"byte_end":221680,"line_start":74,"line_end":74,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221789,"byte_end":221798,"line_start":75,"line_end":75,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221778,"byte_end":221786,"line_start":75,"line_end":75,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221767,"byte_end":221775,"line_start":75,"line_end":75,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221758,"byte_end":221762,"line_start":75,"line_end":75,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221763,"byte_end":221766,"line_start":75,"line_end":75,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221883,"byte_end":221892,"line_start":78,"line_end":78,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221893,"byte_end":221902,"line_start":78,"line_end":78,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":402653882}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221868,"byte_end":221877,"line_start":78,"line_end":78,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":402653882}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":221940,"byte_end":221949,"line_start":79,"line_end":79,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221950,"byte_end":221959,"line_start":79,"line_end":79,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":335545018}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":221925,"byte_end":221934,"line_start":79,"line_end":79,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":335545018}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222001,"byte_end":222012,"line_start":81,"line_end":81,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":221993,"byte_end":221999,"line_start":81,"line_end":81,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222031,"byte_end":222035,"line_start":81,"line_end":81,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222014,"byte_end":222018,"line_start":81,"line_end":81,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222019,"byte_end":222023,"line_start":81,"line_end":81,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222072,"byte_end":222085,"line_start":83,"line_end":83,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222086,"byte_end":222095,"line_start":83,"line_end":83,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":402653882}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222106,"byte_end":222109,"line_start":83,"line_end":83,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":1241514682}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222142,"byte_end":222155,"line_start":84,"line_end":84,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222156,"byte_end":222165,"line_start":84,"line_end":84,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":335545018}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222176,"byte_end":222179,"line_start":84,"line_end":84,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":1241514682}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222216,"byte_end":222219,"line_start":85,"line_end":85,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222225,"byte_end":222228,"line_start":85,"line_end":85,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222229,"byte_end":222232,"line_start":85,"line_end":85,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1174405818}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222286,"byte_end":222289,"line_start":86,"line_end":86,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222295,"byte_end":222298,"line_start":86,"line_end":86,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222299,"byte_end":222302,"line_start":86,"line_end":86,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1308623546}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":222340,"byte_end":222346,"line_start":88,"line_end":88,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222349,"byte_end":222352,"line_start":88,"line_end":88,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222354,"byte_end":222361,"line_start":88,"line_end":88,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":553648826}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222363,"byte_end":222366,"line_start":88,"line_end":88,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222368,"byte_end":222375,"line_start":88,"line_end":88,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":1761608378}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222377,"byte_end":222381,"line_start":88,"line_end":88,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222383,"byte_end":222387,"line_start":88,"line_end":88,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222388,"byte_end":222392,"line_start":88,"line_end":88,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222495,"byte_end":222504,"line_start":91,"line_end":91,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222484,"byte_end":222492,"line_start":91,"line_end":91,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222473,"byte_end":222481,"line_start":91,"line_end":91,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222464,"byte_end":222468,"line_start":91,"line_end":91,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222469,"byte_end":222472,"line_start":91,"line_end":91,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222581,"byte_end":222590,"line_start":92,"line_end":92,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222570,"byte_end":222578,"line_start":92,"line_end":92,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222559,"byte_end":222567,"line_start":92,"line_end":92,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222550,"byte_end":222554,"line_start":92,"line_end":92,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222555,"byte_end":222558,"line_start":92,"line_end":92,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222675,"byte_end":222684,"line_start":95,"line_end":95,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222685,"byte_end":222694,"line_start":95,"line_end":95,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3976200890}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222660,"byte_end":222669,"line_start":95,"line_end":95,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3976200890}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222732,"byte_end":222741,"line_start":96,"line_end":96,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222742,"byte_end":222751,"line_start":96,"line_end":96,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3808428730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222717,"byte_end":222726,"line_start":96,"line_end":96,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3808428730}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222793,"byte_end":222804,"line_start":98,"line_end":98,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":222785,"byte_end":222791,"line_start":98,"line_end":98,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222823,"byte_end":222827,"line_start":98,"line_end":98,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222806,"byte_end":222810,"line_start":98,"line_end":98,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222811,"byte_end":222815,"line_start":98,"line_end":98,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222864,"byte_end":222877,"line_start":100,"line_end":100,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222878,"byte_end":222887,"line_start":100,"line_end":100,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3976200890}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222898,"byte_end":222901,"line_start":100,"line_end":100,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":2399142586}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":222934,"byte_end":222947,"line_start":101,"line_end":101,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222948,"byte_end":222957,"line_start":101,"line_end":101,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3808428730}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":222968,"byte_end":222971,"line_start":101,"line_end":101,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":2399142586}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223008,"byte_end":223011,"line_start":102,"line_end":102,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223017,"byte_end":223020,"line_start":102,"line_end":102,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223021,"byte_end":223024,"line_start":102,"line_end":102,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2155872954}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223078,"byte_end":223081,"line_start":103,"line_end":103,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223087,"byte_end":223090,"line_start":103,"line_end":103,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223091,"byte_end":223094,"line_start":103,"line_end":103,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2290090682}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223132,"byte_end":223138,"line_start":105,"line_end":105,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223141,"byte_end":223144,"line_start":105,"line_end":105,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223146,"byte_end":223153,"line_start":105,"line_end":105,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3296723642}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223155,"byte_end":223158,"line_start":105,"line_end":105,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223160,"byte_end":223167,"line_start":105,"line_end":105,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":2894070458}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223169,"byte_end":223173,"line_start":105,"line_end":105,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223175,"byte_end":223179,"line_start":105,"line_end":105,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223180,"byte_end":223184,"line_start":105,"line_end":105,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223287,"byte_end":223296,"line_start":108,"line_end":108,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223276,"byte_end":223284,"line_start":108,"line_end":108,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223265,"byte_end":223273,"line_start":108,"line_end":108,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223256,"byte_end":223260,"line_start":108,"line_end":108,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223261,"byte_end":223264,"line_start":108,"line_end":108,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223373,"byte_end":223382,"line_start":109,"line_end":109,"column_start":68,"column_end":77},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223362,"byte_end":223370,"line_start":109,"line_end":109,"column_start":57,"column_end":65},"ref_id":{"krate":1,"index":2936}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223351,"byte_end":223359,"line_start":109,"line_end":109,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":7116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223342,"byte_end":223346,"line_start":109,"line_end":109,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223347,"byte_end":223350,"line_start":109,"line_end":109,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223467,"byte_end":223476,"line_start":112,"line_end":112,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223477,"byte_end":223486,"line_start":112,"line_end":112,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1786774202}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223452,"byte_end":223461,"line_start":112,"line_end":112,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1786774202}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223524,"byte_end":223533,"line_start":113,"line_end":113,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223534,"byte_end":223543,"line_start":113,"line_end":113,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1719665338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223509,"byte_end":223518,"line_start":113,"line_end":113,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1719665338}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223585,"byte_end":223596,"line_start":115,"line_end":115,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223577,"byte_end":223583,"line_start":115,"line_end":115,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223615,"byte_end":223619,"line_start":115,"line_end":115,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223598,"byte_end":223602,"line_start":115,"line_end":115,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223603,"byte_end":223607,"line_start":115,"line_end":115,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223656,"byte_end":223669,"line_start":117,"line_end":117,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223670,"byte_end":223679,"line_start":117,"line_end":117,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1786774202}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223690,"byte_end":223693,"line_start":117,"line_end":117,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":159384250}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223726,"byte_end":223739,"line_start":118,"line_end":118,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223740,"byte_end":223749,"line_start":118,"line_end":118,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1719665338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223760,"byte_end":223763,"line_start":118,"line_end":118,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":159384250}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223800,"byte_end":223803,"line_start":119,"line_end":119,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223809,"byte_end":223812,"line_start":119,"line_end":119,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223813,"byte_end":223816,"line_start":119,"line_end":119,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":92275386}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223870,"byte_end":223873,"line_start":120,"line_end":120,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":223879,"byte_end":223882,"line_start":120,"line_end":120,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223883,"byte_end":223886,"line_start":120,"line_end":120,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493114}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":223924,"byte_end":223930,"line_start":122,"line_end":122,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223933,"byte_end":223936,"line_start":122,"line_end":122,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223938,"byte_end":223945,"line_start":122,"line_end":122,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1132462778}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223947,"byte_end":223950,"line_start":122,"line_end":122,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223952,"byte_end":223959,"line_start":122,"line_end":122,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":729809594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223961,"byte_end":223965,"line_start":122,"line_end":122,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223967,"byte_end":223971,"line_start":122,"line_end":122,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073742522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":223972,"byte_end":223976,"line_start":122,"line_end":122,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224028,"byte_end":224034,"line_start":125,"line_end":125,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224037,"byte_end":224040,"line_start":125,"line_end":125,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224048,"byte_end":224051,"line_start":125,"line_end":125,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224059,"byte_end":224063,"line_start":125,"line_end":125,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3336}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224106,"byte_end":224113,"line_start":131,"line_end":131,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224169,"byte_end":224181,"line_start":133,"line_end":133,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224184,"byte_end":224187,"line_start":133,"line_end":133,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224194,"byte_end":224197,"line_start":133,"line_end":133,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224189,"byte_end":224192,"line_start":133,"line_end":133,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224201,"byte_end":224204,"line_start":133,"line_end":133,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224211,"byte_end":224214,"line_start":133,"line_end":133,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224206,"byte_end":224209,"line_start":133,"line_end":133,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224218,"byte_end":224222,"line_start":133,"line_end":133,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224251,"byte_end":224259,"line_start":137,"line_end":137,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224461,"byte_end":224466,"line_start":139,"line_end":139,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224358,"byte_end":224367,"line_start":139,"line_end":139,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224384,"byte_end":224393,"line_start":139,"line_end":139,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224404,"byte_end":224407,"line_start":139,"line_end":139,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224408,"byte_end":224415,"line_start":139,"line_end":139,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224421,"byte_end":224427,"line_start":139,"line_end":139,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224432,"byte_end":224440,"line_start":139,"line_end":139,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224477,"byte_end":224479,"line_start":140,"line_end":140,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224555,"byte_end":224558,"line_start":143,"line_end":143,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224559,"byte_end":224575,"line_start":143,"line_end":143,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224581,"byte_end":224587,"line_start":143,"line_end":143,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224604,"byte_end":224608,"line_start":144,"line_end":144,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224650,"byte_end":224661,"line_start":146,"line_end":146,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224673,"byte_end":224681,"line_start":146,"line_end":146,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224665,"byte_end":224671,"line_start":146,"line_end":146,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224731,"byte_end":224742,"line_start":147,"line_end":147,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224754,"byte_end":224762,"line_start":147,"line_end":147,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224746,"byte_end":224752,"line_start":147,"line_end":147,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224798,"byte_end":224801,"line_start":149,"line_end":149,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224802,"byte_end":224818,"line_start":149,"line_end":149,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224839,"byte_end":224845,"line_start":149,"line_end":149,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224846,"byte_end":224852,"line_start":149,"line_end":149,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224854,"byte_end":224862,"line_start":149,"line_end":149,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":224882,"byte_end":224895,"line_start":150,"line_end":150,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224874,"byte_end":224880,"line_start":150,"line_end":150,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224896,"byte_end":224902,"line_start":150,"line_end":150,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":1073742538}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":224904,"byte_end":224911,"line_start":150,"line_end":150,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536871626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224954,"byte_end":224957,"line_start":153,"line_end":153,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224958,"byte_end":224974,"line_start":153,"line_end":153,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":224995,"byte_end":225004,"line_start":153,"line_end":153,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225013,"byte_end":225016,"line_start":153,"line_end":153,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225017,"byte_end":225023,"line_start":153,"line_end":153,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225029,"byte_end":225035,"line_start":153,"line_end":153,"column_start":110,"column_end":116},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225043,"byte_end":225046,"line_start":153,"line_end":153,"column_start":124,"column_end":127},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225052,"byte_end":225055,"line_start":153,"line_end":153,"column_start":133,"column_end":136},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225056,"byte_end":225072,"line_start":153,"line_end":153,"column_start":137,"column_end":153},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225076,"byte_end":225084,"line_start":153,"line_end":153,"column_start":157,"column_end":165},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225104,"byte_end":225122,"line_start":154,"line_end":154,"column_start":17,"column_end":35},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225096,"byte_end":225102,"line_start":154,"line_end":154,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225123,"byte_end":225129,"line_start":154,"line_end":154,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742539}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225131,"byte_end":225135,"line_start":154,"line_end":154,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":536871627}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225137,"byte_end":225140,"line_start":154,"line_end":154,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1610613451}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225142,"byte_end":225146,"line_start":154,"line_end":154,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":268436171}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225186,"byte_end":225189,"line_start":157,"line_end":157,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225190,"byte_end":225206,"line_start":157,"line_end":157,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225227,"byte_end":225233,"line_start":157,"line_end":157,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225234,"byte_end":225241,"line_start":157,"line_end":157,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225243,"byte_end":225251,"line_start":157,"line_end":157,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225263,"byte_end":225277,"line_start":157,"line_end":157,"column_start":109,"column_end":123},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225255,"byte_end":225261,"line_start":157,"line_end":157,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225278,"byte_end":225284,"line_start":157,"line_end":157,"column_start":124,"column_end":130},"ref_id":{"krate":0,"index":1073742540}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225286,"byte_end":225293,"line_start":157,"line_end":157,"column_start":132,"column_end":139},"ref_id":{"krate":0,"index":536871628}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225430,"byte_end":225435,"line_start":159,"line_end":159,"column_start":134,"column_end":139},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225329,"byte_end":225338,"line_start":159,"line_end":159,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225355,"byte_end":225364,"line_start":159,"line_end":159,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225383,"byte_end":225389,"line_start":159,"line_end":159,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225390,"byte_end":225399,"line_start":159,"line_end":159,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225401,"byte_end":225409,"line_start":159,"line_end":159,"column_start":105,"column_end":113},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225446,"byte_end":225449,"line_start":160,"line_end":160,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225460,"byte_end":225463,"line_start":160,"line_end":160,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225450,"byte_end":225458,"line_start":160,"line_end":160,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225566,"byte_end":225575,"line_start":162,"line_end":162,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225593,"byte_end":225602,"line_start":162,"line_end":162,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225607,"byte_end":225614,"line_start":162,"line_end":162,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225633,"byte_end":225640,"line_start":163,"line_end":163,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225625,"byte_end":225631,"line_start":163,"line_end":163,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225641,"byte_end":225646,"line_start":163,"line_end":163,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1073742543}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225648,"byte_end":225654,"line_start":163,"line_end":163,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871631}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225656,"byte_end":225662,"line_start":163,"line_end":163,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613455}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225709,"byte_end":225718,"line_start":165,"line_end":165,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225729,"byte_end":225738,"line_start":165,"line_end":165,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225743,"byte_end":225749,"line_start":165,"line_end":165,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225757,"byte_end":225765,"line_start":165,"line_end":165,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225804,"byte_end":225813,"line_start":167,"line_end":167,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225797,"byte_end":225803,"line_start":167,"line_end":167,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225814,"byte_end":225820,"line_start":167,"line_end":167,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613456}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225847,"byte_end":225861,"line_start":169,"line_end":169,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225837,"byte_end":225844,"line_start":169,"line_end":169,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960272}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":225890,"byte_end":225892,"line_start":170,"line_end":170,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":225957,"byte_end":225967,"line_start":172,"line_end":172,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225950,"byte_end":225956,"line_start":172,"line_end":172,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1610613456}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225968,"byte_end":225974,"line_start":172,"line_end":172,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536871632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225975,"byte_end":225986,"line_start":172,"line_end":172,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":225988,"byte_end":225992,"line_start":172,"line_end":172,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226003,"byte_end":226014,"line_start":172,"line_end":172,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226031,"byte_end":226033,"line_start":173,"line_end":173,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226034,"byte_end":226038,"line_start":173,"line_end":173,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":2885681872}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226039,"byte_end":226043,"line_start":173,"line_end":173,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":4005}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226182,"byte_end":226187,"line_start":177,"line_end":177,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226098,"byte_end":226107,"line_start":177,"line_end":177,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226125,"byte_end":226134,"line_start":177,"line_end":177,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226139,"byte_end":226145,"line_start":177,"line_end":177,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226146,"byte_end":226152,"line_start":177,"line_end":177,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226160,"byte_end":226168,"line_start":177,"line_end":177,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226225,"byte_end":226234,"line_start":179,"line_end":179,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226218,"byte_end":226224,"line_start":179,"line_end":179,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742546}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226235,"byte_end":226241,"line_start":179,"line_end":179,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871634}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226282,"byte_end":226296,"line_start":181,"line_end":181,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226272,"byte_end":226279,"line_start":181,"line_end":181,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218450}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226344,"byte_end":226354,"line_start":184,"line_end":184,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226381,"byte_end":226383,"line_start":185,"line_end":185,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226384,"byte_end":226388,"line_start":185,"line_end":185,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226441,"byte_end":226451,"line_start":188,"line_end":188,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226434,"byte_end":226440,"line_start":188,"line_end":188,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226452,"byte_end":226458,"line_start":188,"line_end":188,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742546}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226459,"byte_end":226470,"line_start":188,"line_end":188,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226472,"byte_end":226476,"line_start":188,"line_end":188,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226487,"byte_end":226498,"line_start":188,"line_end":188,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226523,"byte_end":226527,"line_start":190,"line_end":190,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4227859154}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226528,"byte_end":226532,"line_start":190,"line_end":190,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4005}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226543,"byte_end":226545,"line_start":192,"line_end":192,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226546,"byte_end":226550,"line_start":192,"line_end":192,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226557,"byte_end":226561,"line_start":192,"line_end":192,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2717909714}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226657,"byte_end":226666,"line_start":194,"line_end":194,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226633,"byte_end":226644,"line_start":194,"line_end":194,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226626,"byte_end":226632,"line_start":194,"line_end":194,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226645,"byte_end":226655,"line_start":194,"line_end":194,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226754,"byte_end":226763,"line_start":195,"line_end":195,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226726,"byte_end":226737,"line_start":195,"line_end":195,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226719,"byte_end":226725,"line_start":195,"line_end":195,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226738,"byte_end":226748,"line_start":195,"line_end":195,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":226791,"byte_end":226803,"line_start":197,"line_end":197,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226806,"byte_end":226809,"line_start":197,"line_end":197,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226821,"byte_end":226827,"line_start":197,"line_end":197,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226811,"byte_end":226820,"line_start":197,"line_end":197,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":637534930}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226831,"byte_end":226834,"line_start":197,"line_end":197,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226846,"byte_end":226852,"line_start":197,"line_end":197,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226836,"byte_end":226845,"line_start":197,"line_end":197,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1040188114}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226856,"byte_end":226860,"line_start":197,"line_end":197,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226974,"byte_end":226983,"line_start":200,"line_end":200,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":226950,"byte_end":226961,"line_start":200,"line_end":200,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226943,"byte_end":226949,"line_start":200,"line_end":200,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":226962,"byte_end":226972,"line_start":200,"line_end":200,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227071,"byte_end":227080,"line_start":201,"line_end":201,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227043,"byte_end":227054,"line_start":201,"line_end":201,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227036,"byte_end":227042,"line_start":201,"line_end":201,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227055,"byte_end":227065,"line_start":201,"line_end":201,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227108,"byte_end":227120,"line_start":203,"line_end":203,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227123,"byte_end":227126,"line_start":203,"line_end":203,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227138,"byte_end":227144,"line_start":203,"line_end":203,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227128,"byte_end":227137,"line_start":203,"line_end":203,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2768241362}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227148,"byte_end":227151,"line_start":203,"line_end":203,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227163,"byte_end":227169,"line_start":203,"line_end":203,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227153,"byte_end":227162,"line_start":203,"line_end":203,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":3170894546}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227173,"byte_end":227177,"line_start":203,"line_end":203,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3323}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227290,"byte_end":227299,"line_start":206,"line_end":206,"column_start":74,"column_end":83},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227266,"byte_end":227277,"line_start":206,"line_end":206,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2629}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227259,"byte_end":227265,"line_start":206,"line_end":206,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227278,"byte_end":227288,"line_start":206,"line_end":206,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227387,"byte_end":227396,"line_start":207,"line_end":207,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227359,"byte_end":227370,"line_start":207,"line_end":207,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":2629}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227352,"byte_end":227358,"line_start":207,"line_end":207,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536871634}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227371,"byte_end":227381,"line_start":207,"line_end":207,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3623879378}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227424,"byte_end":227436,"line_start":209,"line_end":209,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227439,"byte_end":227442,"line_start":209,"line_end":209,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227454,"byte_end":227460,"line_start":209,"line_end":209,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227444,"byte_end":227453,"line_start":209,"line_end":209,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1728053970}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227464,"byte_end":227467,"line_start":209,"line_end":209,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227479,"byte_end":227485,"line_start":209,"line_end":209,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227469,"byte_end":227478,"line_start":209,"line_end":209,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2130707154}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227489,"byte_end":227493,"line_start":209,"line_end":209,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227633,"byte_end":227636,"line_start":217,"line_end":217,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227637,"byte_end":227653,"line_start":217,"line_end":217,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227670,"byte_end":227673,"line_start":217,"line_end":217,"column_start":73,"column_end":76},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227674,"byte_end":227681,"line_start":217,"line_end":217,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227687,"byte_end":227693,"line_start":217,"line_end":217,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227701,"byte_end":227704,"line_start":217,"line_end":217,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227710,"byte_end":227713,"line_start":217,"line_end":217,"column_start":113,"column_end":116},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227714,"byte_end":227730,"line_start":217,"line_end":217,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227734,"byte_end":227742,"line_start":217,"line_end":217,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227762,"byte_end":227781,"line_start":218,"line_end":218,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227754,"byte_end":227760,"line_start":218,"line_end":218,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227782,"byte_end":227788,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1073742560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227790,"byte_end":227801,"line_start":218,"line_end":218,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":536871648}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227846,"byte_end":227849,"line_start":221,"line_end":221,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227850,"byte_end":227866,"line_start":221,"line_end":221,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227909,"byte_end":227912,"line_start":221,"line_end":221,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227913,"byte_end":227929,"line_start":221,"line_end":221,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":227950,"byte_end":227970,"line_start":222,"line_end":222,"column_start":17,"column_end":37},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":227942,"byte_end":227948,"line_start":222,"line_end":222,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227971,"byte_end":227977,"line_start":222,"line_end":222,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742561}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227979,"byte_end":227986,"line_start":222,"line_end":222,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":536871649}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":227988,"byte_end":227993,"line_start":222,"line_end":222,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1610613473}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228223,"byte_end":228235,"line_start":235,"line_end":235,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228281,"byte_end":228293,"line_start":237,"line_end":237,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228340,"byte_end":228352,"line_start":239,"line_end":239,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228227,"byte_end":228231,"line_start":235,"line_end":235,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228285,"byte_end":228288,"line_start":237,"line_end":237,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228344,"byte_end":228347,"line_start":239,"line_end":239,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228376,"byte_end":228385,"line_start":242,"line_end":242,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228369,"byte_end":228374,"line_start":242,"line_end":242,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228484,"byte_end":228489,"line_start":243,"line_end":243,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228438,"byte_end":228454,"line_start":243,"line_end":243,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228459,"byte_end":228465,"line_start":243,"line_end":243,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228524,"byte_end":228530,"line_start":244,"line_end":244,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742564}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228531,"byte_end":228535,"line_start":244,"line_end":244,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228546,"byte_end":228557,"line_start":244,"line_end":244,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228570,"byte_end":228574,"line_start":245,"line_end":245,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228575,"byte_end":228581,"line_start":245,"line_end":245,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228584,"byte_end":228588,"line_start":245,"line_end":245,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228590,"byte_end":228594,"line_start":245,"line_end":245,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":2281702116}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228595,"byte_end":228599,"line_start":245,"line_end":245,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228601,"byte_end":228604,"line_start":245,"line_end":245,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228611,"byte_end":228614,"line_start":245,"line_end":245,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228658,"byte_end":228667,"line_start":248,"line_end":248,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228678,"byte_end":228687,"line_start":248,"line_end":248,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228692,"byte_end":228698,"line_start":248,"line_end":248,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":228746,"byte_end":228756,"line_start":249,"line_end":249,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228739,"byte_end":228745,"line_start":249,"line_end":249,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871653}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228757,"byte_end":228763,"line_start":249,"line_end":249,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742565}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228764,"byte_end":228775,"line_start":249,"line_end":249,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228777,"byte_end":228781,"line_start":249,"line_end":249,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228792,"byte_end":228803,"line_start":249,"line_end":249,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228816,"byte_end":228820,"line_start":250,"line_end":250,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228821,"byte_end":228827,"line_start":250,"line_end":250,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228830,"byte_end":228834,"line_start":250,"line_end":250,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228836,"byte_end":228840,"line_start":250,"line_end":250,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":402653925}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228841,"byte_end":228845,"line_start":250,"line_end":250,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228847,"byte_end":228850,"line_start":250,"line_end":250,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228859,"byte_end":228862,"line_start":250,"line_end":250,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228909,"byte_end":228918,"line_start":253,"line_end":253,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228929,"byte_end":228938,"line_start":253,"line_end":253,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":228943,"byte_end":228949,"line_start":253,"line_end":253,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":228997,"byte_end":229007,"line_start":254,"line_end":254,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":228990,"byte_end":228996,"line_start":254,"line_end":254,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871654}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229008,"byte_end":229014,"line_start":254,"line_end":254,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742566}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229015,"byte_end":229026,"line_start":254,"line_end":254,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229028,"byte_end":229032,"line_start":254,"line_end":254,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229043,"byte_end":229054,"line_start":254,"line_end":254,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229067,"byte_end":229071,"line_start":255,"line_end":255,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229072,"byte_end":229078,"line_start":255,"line_end":255,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229081,"byte_end":229085,"line_start":255,"line_end":255,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229087,"byte_end":229091,"line_start":255,"line_end":255,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":402653926}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229092,"byte_end":229096,"line_start":255,"line_end":255,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229098,"byte_end":229101,"line_start":255,"line_end":255,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229111,"byte_end":229114,"line_start":255,"line_end":255,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229286,"byte_end":229292,"line_start":263,"line_end":263,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229295,"byte_end":229299,"line_start":263,"line_end":263,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3336}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229295,"byte_end":229299,"line_start":263,"line_end":263,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":1073742568}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229301,"byte_end":229304,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229301,"byte_end":229304,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":536871656}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229306,"byte_end":229309,"line_start":263,"line_end":263,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229306,"byte_end":229309,"line_start":263,"line_end":263,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1610613480}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229459,"byte_end":229463,"line_start":268,"line_end":268,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742569}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229676,"byte_end":229683,"line_start":278,"line_end":278,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229723,"byte_end":229726,"line_start":279,"line_end":279,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229716,"byte_end":229721,"line_start":279,"line_end":279,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229750,"byte_end":229756,"line_start":280,"line_end":280,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229738,"byte_end":229749,"line_start":280,"line_end":280,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1342178026}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229763,"byte_end":229771,"line_start":280,"line_end":280,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229784,"byte_end":229789,"line_start":280,"line_end":280,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229775,"byte_end":229782,"line_start":280,"line_end":280,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229790,"byte_end":229794,"line_start":280,"line_end":280,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229795,"byte_end":229798,"line_start":280,"line_end":280,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229822,"byte_end":229828,"line_start":281,"line_end":281,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229810,"byte_end":229821,"line_start":281,"line_end":281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1342178026}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":229835,"byte_end":229843,"line_start":281,"line_end":281,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229856,"byte_end":229861,"line_start":281,"line_end":281,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229847,"byte_end":229854,"line_start":281,"line_end":281,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229862,"byte_end":229866,"line_start":281,"line_end":281,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073742570}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229867,"byte_end":229870,"line_start":281,"line_end":281,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229891,"byte_end":229901,"line_start":282,"line_end":282,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":229882,"byte_end":229889,"line_start":282,"line_end":282,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":229902,"byte_end":229913,"line_start":282,"line_end":282,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":1342178026}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230020,"byte_end":230026,"line_start":286,"line_end":286,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230027,"byte_end":230039,"line_start":286,"line_end":286,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230054,"byte_end":230058,"line_start":287,"line_end":287,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230059,"byte_end":230063,"line_start":287,"line_end":287,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3336}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230090,"byte_end":230094,"line_start":288,"line_end":288,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230132,"byte_end":230143,"line_start":291,"line_end":291,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230124,"byte_end":230130,"line_start":291,"line_end":291,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230144,"byte_end":230148,"line_start":291,"line_end":291,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230149,"byte_end":230153,"line_start":291,"line_end":291,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230192,"byte_end":230195,"line_start":294,"line_end":294,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230201,"byte_end":230204,"line_start":294,"line_end":294,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230205,"byte_end":230209,"line_start":294,"line_end":294,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230210,"byte_end":230213,"line_start":294,"line_end":294,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230259,"byte_end":230262,"line_start":295,"line_end":295,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230268,"byte_end":230271,"line_start":295,"line_end":295,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230272,"byte_end":230276,"line_start":295,"line_end":295,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230277,"byte_end":230280,"line_start":295,"line_end":295,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230316,"byte_end":230320,"line_start":297,"line_end":297,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230321,"byte_end":230325,"line_start":297,"line_end":297,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230410,"byte_end":230421,"line_start":300,"line_end":300,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230387,"byte_end":230394,"line_start":300,"line_end":300,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327339}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230397,"byte_end":230400,"line_start":300,"line_end":300,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230486,"byte_end":230497,"line_start":301,"line_end":301,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230463,"byte_end":230470,"line_start":301,"line_end":301,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780651}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230473,"byte_end":230476,"line_start":301,"line_end":301,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230578,"byte_end":230589,"line_start":304,"line_end":304,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230590,"byte_end":230599,"line_start":304,"line_end":304,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1778385643}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230563,"byte_end":230572,"line_start":304,"line_end":304,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1778385643}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230636,"byte_end":230647,"line_start":305,"line_end":305,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230648,"byte_end":230657,"line_start":305,"line_end":305,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3321889515}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230621,"byte_end":230630,"line_start":305,"line_end":305,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3321889515}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230680,"byte_end":230684,"line_start":307,"line_end":307,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":230685,"byte_end":230697,"line_start":307,"line_end":307,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230700,"byte_end":230703,"line_start":307,"line_end":307,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230715,"byte_end":230721,"line_start":307,"line_end":307,"column_start":52,"column_end":58},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230705,"byte_end":230714,"line_start":307,"line_end":307,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1778385643}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230725,"byte_end":230728,"line_start":307,"line_end":307,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230740,"byte_end":230746,"line_start":307,"line_end":307,"column_start":77,"column_end":83},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230730,"byte_end":230739,"line_start":307,"line_end":307,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3321889515}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230750,"byte_end":230754,"line_start":307,"line_end":307,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230756,"byte_end":230760,"line_start":307,"line_end":307,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230761,"byte_end":230765,"line_start":307,"line_end":307,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230865,"byte_end":230876,"line_start":311,"line_end":311,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230842,"byte_end":230849,"line_start":311,"line_end":311,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327339}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230852,"byte_end":230855,"line_start":311,"line_end":311,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":230941,"byte_end":230952,"line_start":312,"line_end":312,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230918,"byte_end":230925,"line_start":312,"line_end":312,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780651}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":230928,"byte_end":230931,"line_start":312,"line_end":312,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231033,"byte_end":231044,"line_start":315,"line_end":315,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231045,"byte_end":231054,"line_start":315,"line_end":315,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1157628651}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231018,"byte_end":231027,"line_start":315,"line_end":315,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1157628651}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231091,"byte_end":231102,"line_start":316,"line_end":316,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231103,"byte_end":231112,"line_start":316,"line_end":316,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":4110418667}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231076,"byte_end":231085,"line_start":316,"line_end":316,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":4110418667}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231135,"byte_end":231139,"line_start":318,"line_end":318,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231140,"byte_end":231152,"line_start":318,"line_end":318,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231155,"byte_end":231158,"line_start":318,"line_end":318,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231170,"byte_end":231176,"line_start":318,"line_end":318,"column_start":52,"column_end":58},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231160,"byte_end":231169,"line_start":318,"line_end":318,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1157628651}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231180,"byte_end":231183,"line_start":318,"line_end":318,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231195,"byte_end":231201,"line_start":318,"line_end":318,"column_start":77,"column_end":83},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231185,"byte_end":231194,"line_start":318,"line_end":318,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":4110418667}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231205,"byte_end":231209,"line_start":318,"line_end":318,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231211,"byte_end":231215,"line_start":318,"line_end":318,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231216,"byte_end":231220,"line_start":318,"line_end":318,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231320,"byte_end":231331,"line_start":322,"line_end":322,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231297,"byte_end":231304,"line_start":322,"line_end":322,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":201327339}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231307,"byte_end":231310,"line_start":322,"line_end":322,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231396,"byte_end":231407,"line_start":323,"line_end":323,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231373,"byte_end":231380,"line_start":323,"line_end":323,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3254780651}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231383,"byte_end":231386,"line_start":323,"line_end":323,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3087008491}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231488,"byte_end":231499,"line_start":326,"line_end":326,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231500,"byte_end":231509,"line_start":326,"line_end":326,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1996489451}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231473,"byte_end":231482,"line_start":326,"line_end":326,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1996489451}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231546,"byte_end":231557,"line_start":327,"line_end":327,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231558,"byte_end":231567,"line_start":327,"line_end":327,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3741319915}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231531,"byte_end":231540,"line_start":327,"line_end":327,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3741319915}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231590,"byte_end":231594,"line_start":329,"line_end":329,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231595,"byte_end":231607,"line_start":329,"line_end":329,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231610,"byte_end":231613,"line_start":329,"line_end":329,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231625,"byte_end":231631,"line_start":329,"line_end":329,"column_start":52,"column_end":58},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231615,"byte_end":231624,"line_start":329,"line_end":329,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1996489451}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231635,"byte_end":231638,"line_start":329,"line_end":329,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":231650,"byte_end":231656,"line_start":329,"line_end":329,"column_start":77,"column_end":83},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231640,"byte_end":231649,"line_start":329,"line_end":329,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3741319915}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231660,"byte_end":231664,"line_start":329,"line_end":329,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231666,"byte_end":231670,"line_start":329,"line_end":329,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073742571}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231671,"byte_end":231675,"line_start":329,"line_end":329,"column_start":98,"column_end":102},"ref_id":{"krate":0,"index":3336}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231729,"byte_end":231733,"line_start":332,"line_end":332,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231773,"byte_end":231780,"line_start":338,"line_end":338,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231830,"byte_end":231836,"line_start":340,"line_end":340,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231839,"byte_end":231842,"line_start":340,"line_end":340,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231849,"byte_end":231852,"line_start":340,"line_end":340,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231859,"byte_end":231863,"line_start":340,"line_end":340,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3336}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231917,"byte_end":231924,"line_start":344,"line_end":344,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231929,"byte_end":231935,"line_start":344,"line_end":344,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231936,"byte_end":231942,"line_start":344,"line_end":344,"column_start":58,"column_end":64},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231943,"byte_end":231955,"line_start":344,"line_end":344,"column_start":65,"column_end":77},"ref_id":{"krate":0,"index":3322}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":231958,"byte_end":231966,"line_start":344,"line_end":344,"column_start":80,"column_end":88},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":231981,"byte_end":231985,"line_start":345,"line_end":345,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":536871662}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232016,"byte_end":232026,"line_start":346,"line_end":346,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232007,"byte_end":232014,"line_start":346,"line_end":346,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232016,"byte_end":232026,"line_start":346,"line_end":346,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232007,"byte_end":232014,"line_start":346,"line_end":346,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232087,"byte_end":232090,"line_start":348,"line_end":348,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232085,"byte_end":232086,"line_start":348,"line_end":348,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":805307118}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232116,"byte_end":232120,"line_start":349,"line_end":349,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232116,"byte_end":232120,"line_start":349,"line_end":349,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232155,"byte_end":232156,"line_start":350,"line_end":350,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2550137582}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232192,"byte_end":232199,"line_start":351,"line_end":351,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232183,"byte_end":232190,"line_start":351,"line_end":351,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232192,"byte_end":232199,"line_start":351,"line_end":351,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232183,"byte_end":232190,"line_start":351,"line_end":351,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232243,"byte_end":232244,"line_start":352,"line_end":352,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":67109614}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232236,"byte_end":232239,"line_start":352,"line_end":352,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1207960302}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232313,"byte_end":232318,"line_start":354,"line_end":354,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232304,"byte_end":232311,"line_start":354,"line_end":354,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232313,"byte_end":232318,"line_start":354,"line_end":354,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232304,"byte_end":232311,"line_start":354,"line_end":354,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232362,"byte_end":232363,"line_start":355,"line_end":355,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2348810990}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232355,"byte_end":232358,"line_start":355,"line_end":355,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1207960302}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232488,"byte_end":232492,"line_start":360,"line_end":360,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232488,"byte_end":232492,"line_start":360,"line_end":360,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232525,"byte_end":232528,"line_start":361,"line_end":361,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232539,"byte_end":232542,"line_start":361,"line_end":361,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232529,"byte_end":232537,"line_start":361,"line_end":361,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":232679,"byte_end":232682,"line_start":365,"line_end":365,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232677,"byte_end":232678,"line_start":365,"line_end":365,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":805307118}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232708,"byte_end":232712,"line_start":366,"line_end":366,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232708,"byte_end":232712,"line_start":366,"line_end":366,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232747,"byte_end":232748,"line_start":367,"line_end":367,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2248147694}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232784,"byte_end":232791,"line_start":368,"line_end":368,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232775,"byte_end":232782,"line_start":368,"line_end":368,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232784,"byte_end":232791,"line_start":368,"line_end":368,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232775,"byte_end":232782,"line_start":368,"line_end":368,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232835,"byte_end":232836,"line_start":369,"line_end":369,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":369099502}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232828,"byte_end":232831,"line_start":369,"line_end":369,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1509950190}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232905,"byte_end":232910,"line_start":371,"line_end":371,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232896,"byte_end":232903,"line_start":371,"line_end":371,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232905,"byte_end":232910,"line_start":371,"line_end":371,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":232896,"byte_end":232903,"line_start":371,"line_end":371,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232954,"byte_end":232955,"line_start":372,"line_end":372,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2650800878}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":232947,"byte_end":232950,"line_start":372,"line_end":372,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":1509950190}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233080,"byte_end":233084,"line_start":377,"line_end":377,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233080,"byte_end":233084,"line_start":377,"line_end":377,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233117,"byte_end":233120,"line_start":378,"line_end":378,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233131,"byte_end":233134,"line_start":378,"line_end":378,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233121,"byte_end":233129,"line_start":378,"line_end":378,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233266,"byte_end":233275,"line_start":382,"line_end":382,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":747}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233246,"byte_end":233249,"line_start":382,"line_end":382,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233238,"byte_end":233244,"line_start":382,"line_end":382,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233250,"byte_end":233254,"line_start":382,"line_end":382,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073742574}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233256,"byte_end":233259,"line_start":382,"line_end":382,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1207960302}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233261,"byte_end":233264,"line_start":382,"line_end":382,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":1509950190}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233296,"byte_end":233300,"line_start":383,"line_end":383,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233296,"byte_end":233300,"line_start":383,"line_end":383,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233314,"byte_end":233316,"line_start":383,"line_end":383,"column_start":35,"column_end":37},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233317,"byte_end":233321,"line_start":383,"line_end":383,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233322,"byte_end":233323,"line_start":383,"line_end":383,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":3036676846}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233343,"byte_end":233347,"line_start":384,"line_end":384,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233343,"byte_end":233347,"line_start":384,"line_end":384,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233358,"byte_end":233360,"line_start":384,"line_end":384,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233361,"byte_end":233365,"line_start":384,"line_end":384,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233412,"byte_end":233414,"line_start":387,"line_end":387,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233415,"byte_end":233419,"line_start":387,"line_end":387,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233443,"byte_end":233451,"line_start":391,"line_end":391,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233532,"byte_end":233535,"line_start":393,"line_end":393,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233536,"byte_end":233552,"line_start":393,"line_end":393,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233558,"byte_end":233564,"line_start":393,"line_end":393,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233605,"byte_end":233611,"line_start":394,"line_end":394,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613489}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233612,"byte_end":233616,"line_start":394,"line_end":394,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871665}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233618,"byte_end":233622,"line_start":394,"line_end":394,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233633,"byte_end":233644,"line_start":394,"line_end":394,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233676,"byte_end":233680,"line_start":396,"line_end":396,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402653937}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233681,"byte_end":233688,"line_start":396,"line_end":396,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233665,"byte_end":233669,"line_start":396,"line_end":396,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233703,"byte_end":233707,"line_start":397,"line_end":397,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":233710,"byte_end":233715,"line_start":397,"line_end":397,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233708,"byte_end":233709,"line_start":397,"line_end":397,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623879409}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233748,"byte_end":233752,"line_start":399,"line_end":399,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233950,"byte_end":233955,"line_start":404,"line_end":404,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233849,"byte_end":233858,"line_start":404,"line_end":404,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233874,"byte_end":233883,"line_start":404,"line_end":404,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233893,"byte_end":233896,"line_start":404,"line_end":404,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233897,"byte_end":233904,"line_start":404,"line_end":404,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233910,"byte_end":233916,"line_start":404,"line_end":404,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":233921,"byte_end":233929,"line_start":404,"line_end":404,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234006,"byte_end":234016,"line_start":406,"line_end":406,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":233999,"byte_end":234005,"line_start":406,"line_end":406,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268436210}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234017,"byte_end":234023,"line_start":406,"line_end":406,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610613490}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234024,"byte_end":234035,"line_start":406,"line_end":406,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234037,"byte_end":234041,"line_start":406,"line_end":406,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234052,"byte_end":234063,"line_start":406,"line_end":406,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234088,"byte_end":234092,"line_start":408,"line_end":408,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2013266674}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234093,"byte_end":234097,"line_start":408,"line_end":408,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234117,"byte_end":234122,"line_start":410,"line_end":410,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178034}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234146,"byte_end":234156,"line_start":411,"line_end":411,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234137,"byte_end":234144,"line_start":411,"line_end":411,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234146,"byte_end":234156,"line_start":411,"line_end":411,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234137,"byte_end":234144,"line_start":411,"line_end":411,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234207,"byte_end":234210,"line_start":412,"line_end":412,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234199,"byte_end":234205,"line_start":412,"line_end":412,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234211,"byte_end":234215,"line_start":412,"line_end":412,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":603980530}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234286,"byte_end":234289,"line_start":414,"line_end":414,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234282,"byte_end":234285,"line_start":414,"line_end":414,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":872415986}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234252,"byte_end":234256,"line_start":414,"line_end":414,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234266,"byte_end":234273,"line_start":414,"line_end":414,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234257,"byte_end":234264,"line_start":414,"line_end":414,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234332,"byte_end":234335,"line_start":415,"line_end":415,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":4227859186}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234319,"byte_end":234324,"line_start":415,"line_end":415,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234325,"byte_end":234328,"line_start":415,"line_end":415,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234418,"byte_end":234421,"line_start":418,"line_end":418,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234414,"byte_end":234417,"line_start":418,"line_end":418,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":872415986}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234386,"byte_end":234390,"line_start":418,"line_end":418,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234400,"byte_end":234405,"line_start":418,"line_end":418,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234391,"byte_end":234398,"line_start":418,"line_end":418,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234464,"byte_end":234467,"line_start":419,"line_end":419,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3657433842}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234451,"byte_end":234456,"line_start":419,"line_end":419,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234457,"byte_end":234460,"line_start":419,"line_end":419,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234552,"byte_end":234555,"line_start":422,"line_end":422,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234548,"byte_end":234551,"line_start":422,"line_end":422,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":872415986}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234518,"byte_end":234522,"line_start":422,"line_end":422,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234532,"byte_end":234539,"line_start":422,"line_end":422,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234523,"byte_end":234530,"line_start":422,"line_end":422,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234598,"byte_end":234601,"line_start":423,"line_end":423,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3992978162}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234585,"byte_end":234590,"line_start":423,"line_end":423,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234591,"byte_end":234594,"line_start":423,"line_end":423,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3338}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234684,"byte_end":234687,"line_start":426,"line_end":426,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234680,"byte_end":234683,"line_start":426,"line_end":426,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":872415986}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234652,"byte_end":234656,"line_start":426,"line_end":426,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234666,"byte_end":234671,"line_start":426,"line_end":426,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234657,"byte_end":234664,"line_start":426,"line_end":426,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234730,"byte_end":234733,"line_start":427,"line_end":427,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3372221170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234717,"byte_end":234722,"line_start":427,"line_end":427,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1543504626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234723,"byte_end":234726,"line_start":427,"line_end":427,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3338}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":234783,"byte_end":234792,"line_start":430,"line_end":430,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234793,"byte_end":234799,"line_start":430,"line_end":430,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613490}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234801,"byte_end":234807,"line_start":430,"line_end":430,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436210}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":234809,"byte_end":234814,"line_start":430,"line_end":430,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1543504626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234873,"byte_end":234875,"line_start":435,"line_end":435,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234922,"byte_end":234933,"line_start":438,"line_end":438,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234958,"byte_end":234961,"line_start":438,"line_end":438,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":234945,"byte_end":234956,"line_start":438,"line_end":438,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235010,"byte_end":235021,"line_start":439,"line_end":439,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235046,"byte_end":235049,"line_start":439,"line_end":439,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235033,"byte_end":235044,"line_start":439,"line_end":439,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235085,"byte_end":235088,"line_start":441,"line_end":441,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235089,"byte_end":235105,"line_start":441,"line_end":441,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235126,"byte_end":235132,"line_start":441,"line_end":441,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235133,"byte_end":235140,"line_start":441,"line_end":441,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235142,"byte_end":235150,"line_start":441,"line_end":441,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235191,"byte_end":235194,"line_start":442,"line_end":442,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235184,"byte_end":235189,"line_start":442,"line_end":442,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235231,"byte_end":235237,"line_start":444,"line_end":444,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742582}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235238,"byte_end":235245,"line_start":444,"line_end":444,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235247,"byte_end":235251,"line_start":444,"line_end":444,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235262,"byte_end":235273,"line_start":444,"line_end":444,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4003}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235327,"byte_end":235336,"line_start":446,"line_end":446,"column_start":47,"column_end":56},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235314,"byte_end":235322,"line_start":446,"line_end":446,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1726}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235357,"byte_end":235365,"line_start":447,"line_end":447,"column_start":18,"column_end":26},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235348,"byte_end":235356,"line_start":447,"line_end":447,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":2483028726}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235388,"byte_end":235394,"line_start":447,"line_end":447,"column_start":49,"column_end":55},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235376,"byte_end":235385,"line_start":447,"line_end":447,"column_start":37,"column_end":46},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235366,"byte_end":235370,"line_start":447,"line_end":447,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":2013266678}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235371,"byte_end":235375,"line_start":447,"line_end":447,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4005}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235419,"byte_end":235425,"line_start":448,"line_end":448,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235407,"byte_end":235418,"line_start":448,"line_end":448,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307126}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235433,"byte_end":235441,"line_start":448,"line_end":448,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235454,"byte_end":235460,"line_start":448,"line_end":448,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235445,"byte_end":235452,"line_start":448,"line_end":448,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235461,"byte_end":235469,"line_start":448,"line_end":448,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2483028726}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235504,"byte_end":235508,"line_start":450,"line_end":450,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":2013266678}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235509,"byte_end":235516,"line_start":450,"line_end":450,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235493,"byte_end":235497,"line_start":450,"line_end":450,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235560,"byte_end":235563,"line_start":451,"line_end":451,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235553,"byte_end":235558,"line_start":451,"line_end":451,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235591,"byte_end":235597,"line_start":452,"line_end":452,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235579,"byte_end":235590,"line_start":452,"line_end":452,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":704643830}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235604,"byte_end":235612,"line_start":452,"line_end":452,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235625,"byte_end":235630,"line_start":452,"line_end":452,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235616,"byte_end":235623,"line_start":452,"line_end":452,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235631,"byte_end":235632,"line_start":452,"line_end":452,"column_start":65,"column_end":66},"ref_id":{"krate":0,"index":1644167926}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235633,"byte_end":235636,"line_start":452,"line_end":452,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235664,"byte_end":235670,"line_start":453,"line_end":453,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235652,"byte_end":235663,"line_start":453,"line_end":453,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":704643830}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235677,"byte_end":235685,"line_start":453,"line_end":453,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235698,"byte_end":235703,"line_start":453,"line_end":453,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235689,"byte_end":235696,"line_start":453,"line_end":453,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235704,"byte_end":235705,"line_start":453,"line_end":453,"column_start":65,"column_end":66},"ref_id":{"krate":0,"index":1644167926}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235706,"byte_end":235709,"line_start":453,"line_end":453,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3338}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235737,"byte_end":235743,"line_start":454,"line_end":454,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235725,"byte_end":235736,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307126}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":235754,"byte_end":235762,"line_start":454,"line_end":454,"column_start":42,"column_end":50},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235775,"byte_end":235785,"line_start":454,"line_end":454,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235766,"byte_end":235773,"line_start":454,"line_end":454,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235786,"byte_end":235797,"line_start":454,"line_end":454,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":704643830}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235820,"byte_end":235822,"line_start":457,"line_end":457,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235832,"byte_end":235842,"line_start":457,"line_end":457,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235823,"byte_end":235830,"line_start":457,"line_end":457,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":235843,"byte_end":235854,"line_start":457,"line_end":457,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236004,"byte_end":236009,"line_start":461,"line_end":461,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235905,"byte_end":235914,"line_start":461,"line_end":461,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235930,"byte_end":235939,"line_start":461,"line_end":461,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235957,"byte_end":235963,"line_start":461,"line_end":461,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235964,"byte_end":235973,"line_start":461,"line_end":461,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":235975,"byte_end":235983,"line_start":461,"line_end":461,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236046,"byte_end":236055,"line_start":463,"line_end":463,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236039,"byte_end":236045,"line_start":463,"line_end":463,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073742583}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236056,"byte_end":236062,"line_start":463,"line_end":463,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871671}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236106,"byte_end":236116,"line_start":465,"line_end":465,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236099,"byte_end":236105,"line_start":465,"line_end":465,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871671}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236117,"byte_end":236123,"line_start":465,"line_end":465,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742583}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236124,"byte_end":236135,"line_start":465,"line_end":465,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236137,"byte_end":236141,"line_start":465,"line_end":465,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236152,"byte_end":236163,"line_start":465,"line_end":465,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236188,"byte_end":236192,"line_start":467,"line_end":467,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1677722359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236193,"byte_end":236197,"line_start":467,"line_end":467,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236231,"byte_end":236235,"line_start":469,"line_end":469,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":872415991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236258,"byte_end":236274,"line_start":471,"line_end":471,"column_start":12,"column_end":28},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236389,"byte_end":236405,"line_start":477,"line_end":477,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":738198263}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236439,"byte_end":236442,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236448,"byte_end":236451,"line_start":479,"line_end":479,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236452,"byte_end":236457,"line_start":479,"line_end":479,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1610613495}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236458,"byte_end":236461,"line_start":479,"line_end":479,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236507,"byte_end":236510,"line_start":480,"line_end":480,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236516,"byte_end":236519,"line_start":480,"line_end":480,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236520,"byte_end":236525,"line_start":480,"line_end":480,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1610613495}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236526,"byte_end":236529,"line_start":480,"line_end":480,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236626,"byte_end":236630,"line_start":483,"line_end":483,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":872415991}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236687,"byte_end":236698,"line_start":485,"line_end":485,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":236679,"byte_end":236685,"line_start":485,"line_end":485,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236819,"byte_end":236830,"line_start":488,"line_end":488,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236796,"byte_end":236803,"line_start":488,"line_end":488,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276791}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236806,"byte_end":236809,"line_start":488,"line_end":488,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":285213431}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236895,"byte_end":236906,"line_start":489,"line_end":489,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236872,"byte_end":236879,"line_start":489,"line_end":489,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800887}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236882,"byte_end":236885,"line_start":489,"line_end":489,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":285213431}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":236987,"byte_end":236998,"line_start":492,"line_end":492,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236999,"byte_end":237008,"line_start":492,"line_end":492,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2231370487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":236972,"byte_end":236981,"line_start":492,"line_end":492,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2231370487}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237045,"byte_end":237056,"line_start":493,"line_end":493,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237057,"byte_end":237066,"line_start":493,"line_end":493,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1962935031}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237030,"byte_end":237039,"line_start":493,"line_end":493,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1962935031}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237098,"byte_end":237117,"line_start":495,"line_end":495,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237098,"byte_end":237099,"line_start":495,"line_end":495,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237101,"byte_end":237117,"line_start":495,"line_end":495,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237101,"byte_end":237117,"line_start":495,"line_end":495,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237143,"byte_end":237144,"line_start":496,"line_end":496,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":4076864247}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237147,"byte_end":237163,"line_start":496,"line_end":496,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237203,"byte_end":237212,"line_start":497,"line_end":497,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2231370487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237213,"byte_end":237214,"line_start":497,"line_end":497,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4076864247}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237190,"byte_end":237197,"line_start":497,"line_end":497,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":687866615}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237198,"byte_end":237199,"line_start":497,"line_end":497,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4076864247}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237283,"byte_end":237292,"line_start":499,"line_end":499,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1962935031}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237293,"byte_end":237294,"line_start":499,"line_end":499,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4076864247}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237297,"byte_end":237313,"line_start":499,"line_end":499,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237270,"byte_end":237277,"line_start":499,"line_end":499,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":687866615}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237278,"byte_end":237279,"line_start":499,"line_end":499,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4076864247}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237373,"byte_end":237380,"line_start":502,"line_end":502,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":687866615}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237449,"byte_end":237460,"line_start":505,"line_end":505,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237441,"byte_end":237447,"line_start":505,"line_end":505,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237580,"byte_end":237591,"line_start":508,"line_end":508,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237557,"byte_end":237564,"line_start":508,"line_end":508,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276791}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237567,"byte_end":237570,"line_start":508,"line_end":508,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":947913463}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237656,"byte_end":237667,"line_start":509,"line_end":509,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237633,"byte_end":237640,"line_start":509,"line_end":509,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800887}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237643,"byte_end":237646,"line_start":509,"line_end":509,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":947913463}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237748,"byte_end":237759,"line_start":512,"line_end":512,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237760,"byte_end":237769,"line_start":512,"line_end":512,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2894070519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237733,"byte_end":237742,"line_start":512,"line_end":512,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2894070519}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":237806,"byte_end":237817,"line_start":513,"line_end":513,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237818,"byte_end":237827,"line_start":513,"line_end":513,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1115685623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237791,"byte_end":237800,"line_start":513,"line_end":513,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1115685623}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":237859,"byte_end":237878,"line_start":515,"line_end":515,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237859,"byte_end":237860,"line_start":515,"line_end":515,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237862,"byte_end":237878,"line_start":515,"line_end":515,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237862,"byte_end":237878,"line_start":515,"line_end":515,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237904,"byte_end":237905,"line_start":516,"line_end":516,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":3330278135}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237908,"byte_end":237924,"line_start":516,"line_end":516,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237964,"byte_end":237973,"line_start":517,"line_end":517,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2894070519}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237974,"byte_end":237975,"line_start":517,"line_end":517,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":3330278135}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237951,"byte_end":237958,"line_start":517,"line_end":517,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":343933687}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":237959,"byte_end":237960,"line_start":517,"line_end":517,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3330278135}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238044,"byte_end":238053,"line_start":519,"line_end":519,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1115685623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238054,"byte_end":238055,"line_start":519,"line_end":519,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":3330278135}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238058,"byte_end":238074,"line_start":519,"line_end":519,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238031,"byte_end":238038,"line_start":519,"line_end":519,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":343933687}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238039,"byte_end":238040,"line_start":519,"line_end":519,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3330278135}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238134,"byte_end":238141,"line_start":522,"line_end":522,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":343933687}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238210,"byte_end":238221,"line_start":525,"line_end":525,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":238202,"byte_end":238208,"line_start":525,"line_end":525,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238341,"byte_end":238352,"line_start":528,"line_end":528,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238318,"byte_end":238325,"line_start":528,"line_end":528,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1711276791}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238328,"byte_end":238331,"line_start":528,"line_end":528,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493175}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238417,"byte_end":238428,"line_start":529,"line_end":529,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":23481}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238394,"byte_end":238401,"line_start":529,"line_end":529,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":2650800887}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238404,"byte_end":238407,"line_start":529,"line_end":529,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":226493175}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238509,"byte_end":238520,"line_start":532,"line_end":532,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238521,"byte_end":238530,"line_start":532,"line_end":532,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2474640119}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238494,"byte_end":238503,"line_start":532,"line_end":532,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":2474640119}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":238567,"byte_end":238578,"line_start":533,"line_end":533,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238579,"byte_end":238588,"line_start":533,"line_end":533,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1803551479}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238552,"byte_end":238561,"line_start":533,"line_end":533,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1803551479}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":238620,"byte_end":238639,"line_start":535,"line_end":535,"column_start":26,"column_end":45},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238620,"byte_end":238621,"line_start":535,"line_end":535,"column_start":26,"column_end":27},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238623,"byte_end":238639,"line_start":535,"line_end":535,"column_start":29,"column_end":45},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238623,"byte_end":238639,"line_start":535,"line_end":535,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238665,"byte_end":238666,"line_start":536,"line_end":536,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":4018143991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238669,"byte_end":238685,"line_start":536,"line_end":536,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238725,"byte_end":238734,"line_start":537,"line_end":537,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2474640119}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238735,"byte_end":238736,"line_start":537,"line_end":537,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4018143991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238712,"byte_end":238719,"line_start":537,"line_end":537,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1031799543}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238720,"byte_end":238721,"line_start":537,"line_end":537,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4018143991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238805,"byte_end":238814,"line_start":539,"line_end":539,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1803551479}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238815,"byte_end":238816,"line_start":539,"line_end":539,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":4018143991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238819,"byte_end":238835,"line_start":539,"line_end":539,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":3388998391}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238792,"byte_end":238799,"line_start":539,"line_end":539,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1031799543}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238800,"byte_end":238801,"line_start":539,"line_end":539,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":4018143991}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":238895,"byte_end":238902,"line_start":542,"line_end":542,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1031799543}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239029,"byte_end":239043,"line_start":549,"line_end":549,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239019,"byte_end":239026,"line_start":549,"line_end":549,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960311}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239068,"byte_end":239081,"line_start":551,"line_end":551,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1916797687}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239150,"byte_end":239161,"line_start":553,"line_end":553,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239143,"byte_end":239149,"line_start":553,"line_end":553,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871671}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239129,"byte_end":239140,"line_start":553,"line_end":553,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":838861559}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":239238,"byte_end":239258,"line_start":556,"line_end":556,"column_start":22,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239238,"byte_end":239239,"line_start":556,"line_end":556,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239241,"byte_end":239258,"line_start":556,"line_end":556,"column_start":25,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239253,"byte_end":239256,"line_start":556,"line_end":556,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239241,"byte_end":239252,"line_start":556,"line_end":556,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3258974967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239280,"byte_end":239281,"line_start":557,"line_end":557,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":641729271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239284,"byte_end":239300,"line_start":557,"line_end":557,"column_start":24,"column_end":40},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239356,"byte_end":239367,"line_start":558,"line_end":558,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3258974967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239368,"byte_end":239369,"line_start":558,"line_end":558,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":641729271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239323,"byte_end":239334,"line_start":558,"line_end":558,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":838861559}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239335,"byte_end":239348,"line_start":558,"line_end":558,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1916797687}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239351,"byte_end":239352,"line_start":558,"line_end":558,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":641729271}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239471,"byte_end":239475,"line_start":565,"line_end":565,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":872415991}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239509,"byte_end":239522,"line_start":566,"line_end":566,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239502,"byte_end":239508,"line_start":566,"line_end":566,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536871671}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239569,"byte_end":239582,"line_start":567,"line_end":567,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239562,"byte_end":239568,"line_start":567,"line_end":567,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536871671}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239628,"byte_end":239641,"line_start":568,"line_end":568,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239621,"byte_end":239627,"line_start":568,"line_end":568,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536871671}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239449,"byte_end":239462,"line_start":565,"line_end":565,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":1916797687}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239733,"byte_end":239744,"line_start":572,"line_end":572,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239726,"byte_end":239732,"line_start":572,"line_end":572,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536871671}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239712,"byte_end":239723,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":838861559}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":239806,"byte_end":239826,"line_start":575,"line_end":575,"column_start":22,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239806,"byte_end":239807,"line_start":575,"line_end":575,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239809,"byte_end":239826,"line_start":575,"line_end":575,"column_start":25,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239821,"byte_end":239824,"line_start":575,"line_end":575,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239809,"byte_end":239820,"line_start":575,"line_end":575,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3258974967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239848,"byte_end":239849,"line_start":576,"line_end":576,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3502244599}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239852,"byte_end":239868,"line_start":576,"line_end":576,"column_start":24,"column_end":40},"ref_id":{"krate":0,"index":738198263}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239924,"byte_end":239935,"line_start":577,"line_end":577,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3258974967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239936,"byte_end":239937,"line_start":577,"line_end":577,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":3502244599}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239891,"byte_end":239902,"line_start":577,"line_end":577,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":838861559}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239903,"byte_end":239916,"line_start":577,"line_end":577,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1916797687}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239919,"byte_end":239920,"line_start":577,"line_end":577,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3502244599}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240014,"byte_end":240028,"line_start":581,"line_end":581,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":239992,"byte_end":240005,"line_start":581,"line_end":581,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":239985,"byte_end":239991,"line_start":581,"line_end":581,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742583}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240006,"byte_end":240012,"line_start":581,"line_end":581,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871671}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240029,"byte_end":240042,"line_start":581,"line_end":581,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1916797687}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240072,"byte_end":240074,"line_start":585,"line_end":585,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240075,"byte_end":240081,"line_start":585,"line_end":585,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742583}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240201,"byte_end":240206,"line_start":588,"line_end":588,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240117,"byte_end":240126,"line_start":588,"line_end":588,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240144,"byte_end":240153,"line_start":588,"line_end":588,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240158,"byte_end":240164,"line_start":588,"line_end":588,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240165,"byte_end":240171,"line_start":588,"line_end":588,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240179,"byte_end":240187,"line_start":588,"line_end":588,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240244,"byte_end":240253,"line_start":590,"line_end":590,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240237,"byte_end":240243,"line_start":590,"line_end":590,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742596}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240254,"byte_end":240260,"line_start":590,"line_end":590,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871684}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240301,"byte_end":240315,"line_start":592,"line_end":592,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240291,"byte_end":240298,"line_start":592,"line_end":592,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218500}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240364,"byte_end":240374,"line_start":595,"line_end":595,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240401,"byte_end":240403,"line_start":596,"line_end":596,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240404,"byte_end":240408,"line_start":596,"line_end":596,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240460,"byte_end":240470,"line_start":598,"line_end":598,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240453,"byte_end":240459,"line_start":598,"line_end":598,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240471,"byte_end":240477,"line_start":598,"line_end":598,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742596}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240478,"byte_end":240489,"line_start":598,"line_end":598,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240491,"byte_end":240495,"line_start":598,"line_end":598,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240506,"byte_end":240517,"line_start":598,"line_end":598,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240546,"byte_end":240550,"line_start":600,"line_end":600,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4227859204}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240551,"byte_end":240555,"line_start":600,"line_end":600,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4005}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240566,"byte_end":240568,"line_start":602,"line_end":602,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":240569,"byte_end":240573,"line_start":602,"line_end":602,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240580,"byte_end":240584,"line_start":602,"line_end":602,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2717909764}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240694,"byte_end":240703,"line_start":605,"line_end":605,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240670,"byte_end":240681,"line_start":605,"line_end":605,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240663,"byte_end":240669,"line_start":605,"line_end":605,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240682,"byte_end":240692,"line_start":605,"line_end":605,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240795,"byte_end":240804,"line_start":606,"line_end":606,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240767,"byte_end":240778,"line_start":606,"line_end":606,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240760,"byte_end":240766,"line_start":606,"line_end":606,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240779,"byte_end":240789,"line_start":606,"line_end":606,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240890,"byte_end":240899,"line_start":609,"line_end":609,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240900,"byte_end":240909,"line_start":609,"line_end":609,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":637534980}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240875,"byte_end":240884,"line_start":609,"line_end":609,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":637534980}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":240947,"byte_end":240956,"line_start":610,"line_end":610,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240957,"byte_end":240966,"line_start":610,"line_end":610,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1040188164}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":240932,"byte_end":240941,"line_start":610,"line_end":610,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1040188164}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241005,"byte_end":241018,"line_start":612,"line_end":612,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241019,"byte_end":241028,"line_start":612,"line_end":612,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":637534980}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241069,"byte_end":241082,"line_start":613,"line_end":613,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241083,"byte_end":241092,"line_start":613,"line_end":613,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1040188164}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241137,"byte_end":241148,"line_start":615,"line_end":615,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241129,"byte_end":241135,"line_start":615,"line_end":615,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241171,"byte_end":241177,"line_start":617,"line_end":617,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241180,"byte_end":241183,"line_start":617,"line_end":617,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241185,"byte_end":241188,"line_start":617,"line_end":617,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3305112324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241191,"byte_end":241194,"line_start":617,"line_end":617,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2634023684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241196,"byte_end":241199,"line_start":617,"line_end":617,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241201,"byte_end":241204,"line_start":617,"line_end":617,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":218104580}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241207,"byte_end":241210,"line_start":617,"line_end":617,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2634023684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241212,"byte_end":241216,"line_start":617,"line_end":617,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241333,"byte_end":241342,"line_start":620,"line_end":620,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241309,"byte_end":241320,"line_start":620,"line_end":620,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241302,"byte_end":241308,"line_start":620,"line_end":620,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241321,"byte_end":241331,"line_start":620,"line_end":620,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241434,"byte_end":241443,"line_start":621,"line_end":621,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241406,"byte_end":241417,"line_start":621,"line_end":621,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241399,"byte_end":241405,"line_start":621,"line_end":621,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241418,"byte_end":241428,"line_start":621,"line_end":621,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241529,"byte_end":241538,"line_start":624,"line_end":624,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241539,"byte_end":241548,"line_start":624,"line_end":624,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":654312196}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241514,"byte_end":241523,"line_start":624,"line_end":624,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":654312196}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241586,"byte_end":241595,"line_start":625,"line_end":625,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241596,"byte_end":241605,"line_start":625,"line_end":625,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1056965380}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241571,"byte_end":241580,"line_start":625,"line_end":625,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1056965380}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241644,"byte_end":241657,"line_start":627,"line_end":627,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241658,"byte_end":241667,"line_start":627,"line_end":627,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":654312196}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241708,"byte_end":241721,"line_start":628,"line_end":628,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23594}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241722,"byte_end":241731,"line_start":628,"line_end":628,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1056965380}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241776,"byte_end":241787,"line_start":630,"line_end":630,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241768,"byte_end":241774,"line_start":630,"line_end":630,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":241809,"byte_end":241815,"line_start":632,"line_end":632,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241818,"byte_end":241821,"line_start":632,"line_end":632,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241823,"byte_end":241826,"line_start":632,"line_end":632,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3296723716}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241829,"byte_end":241832,"line_start":632,"line_end":632,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2625635076}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241834,"byte_end":241837,"line_start":632,"line_end":632,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241839,"byte_end":241842,"line_start":632,"line_end":632,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":209715972}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241845,"byte_end":241848,"line_start":632,"line_end":632,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2625635076}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241850,"byte_end":241854,"line_start":632,"line_end":632,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3336}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241970,"byte_end":241979,"line_start":635,"line_end":635,"column_start":78,"column_end":87},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":241946,"byte_end":241957,"line_start":635,"line_end":635,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2629}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241939,"byte_end":241945,"line_start":635,"line_end":635,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":241958,"byte_end":241968,"line_start":635,"line_end":635,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242071,"byte_end":242080,"line_start":636,"line_end":636,"column_start":82,"column_end":91},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242043,"byte_end":242054,"line_start":636,"line_end":636,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2629}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242036,"byte_end":242042,"line_start":636,"line_end":636,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536871684}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242055,"byte_end":242065,"line_start":636,"line_end":636,"column_start":66,"column_end":76},"ref_id":{"krate":0,"index":3623879428}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242166,"byte_end":242175,"line_start":639,"line_end":639,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242176,"byte_end":242185,"line_start":639,"line_end":639,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":645923588}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242151,"byte_end":242160,"line_start":639,"line_end":639,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":645923588}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242223,"byte_end":242232,"line_start":640,"line_end":640,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242233,"byte_end":242242,"line_start":640,"line_end":640,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1048576772}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242208,"byte_end":242217,"line_start":640,"line_end":640,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1048576772}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242281,"byte_end":242294,"line_start":642,"line_end":642,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242295,"byte_end":242304,"line_start":642,"line_end":642,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":645923588}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242345,"byte_end":242358,"line_start":643,"line_end":643,"column_start":32,"column_end":45},"ref_id":{"krate":1,"index":23487}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242359,"byte_end":242368,"line_start":643,"line_end":643,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1048576772}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242413,"byte_end":242424,"line_start":645,"line_end":645,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":745}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242405,"byte_end":242411,"line_start":645,"line_end":645,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242446,"byte_end":242452,"line_start":647,"line_end":647,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242455,"byte_end":242458,"line_start":647,"line_end":647,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242460,"byte_end":242463,"line_start":647,"line_end":647,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":3313500932}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242466,"byte_end":242469,"line_start":647,"line_end":647,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":2642412292}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242471,"byte_end":242474,"line_start":647,"line_end":647,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3338}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242476,"byte_end":242479,"line_start":647,"line_end":647,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":226493188}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242482,"byte_end":242485,"line_start":647,"line_end":647,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2642412292}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242487,"byte_end":242491,"line_start":647,"line_end":647,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3336}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242633,"byte_end":242642,"line_start":655,"line_end":655,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242660,"byte_end":242669,"line_start":655,"line_end":655,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242674,"byte_end":242681,"line_start":655,"line_end":655,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242705,"byte_end":242715,"line_start":657,"line_end":657,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242716,"byte_end":242722,"line_start":657,"line_end":657,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242724,"byte_end":242730,"line_start":657,"line_end":657,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613522}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242746,"byte_end":242748,"line_start":658,"line_end":658,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242746,"byte_end":242748,"line_start":658,"line_end":658,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242779,"byte_end":242780,"line_start":659,"line_end":659,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702162}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242803,"byte_end":242807,"line_start":660,"line_end":660,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242803,"byte_end":242807,"line_start":660,"line_end":660,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242864,"byte_end":242867,"line_start":661,"line_end":661,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242857,"byte_end":242862,"line_start":661,"line_end":661,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242903,"byte_end":242909,"line_start":663,"line_end":663,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242896,"byte_end":242902,"line_start":663,"line_end":663,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2214593298}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242916,"byte_end":242924,"line_start":663,"line_end":663,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242937,"byte_end":242942,"line_start":663,"line_end":663,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":242928,"byte_end":242935,"line_start":663,"line_end":663,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242943,"byte_end":242944,"line_start":663,"line_end":663,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3892314898}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242945,"byte_end":242948,"line_start":663,"line_end":663,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242983,"byte_end":242989,"line_start":664,"line_end":664,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":242976,"byte_end":242982,"line_start":664,"line_end":664,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2214593298}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":242996,"byte_end":243004,"line_start":664,"line_end":664,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243017,"byte_end":243022,"line_start":664,"line_end":664,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243008,"byte_end":243015,"line_start":664,"line_end":664,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243023,"byte_end":243024,"line_start":664,"line_end":664,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3892314898}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243025,"byte_end":243028,"line_start":664,"line_end":664,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243090,"byte_end":243100,"line_start":666,"line_end":666,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243081,"byte_end":243088,"line_start":666,"line_end":666,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243101,"byte_end":243107,"line_start":666,"line_end":666,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2214593298}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243152,"byte_end":243156,"line_start":668,"line_end":668,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243152,"byte_end":243156,"line_start":668,"line_end":668,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243218,"byte_end":243228,"line_start":670,"line_end":670,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243211,"byte_end":243217,"line_start":670,"line_end":670,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613522}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243229,"byte_end":243235,"line_start":670,"line_end":670,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243236,"byte_end":243247,"line_start":670,"line_end":670,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243249,"byte_end":243253,"line_start":670,"line_end":670,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243264,"byte_end":243275,"line_start":670,"line_end":670,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243323,"byte_end":243327,"line_start":672,"line_end":672,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3120562962}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243328,"byte_end":243335,"line_start":672,"line_end":672,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243312,"byte_end":243316,"line_start":672,"line_end":672,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243390,"byte_end":243393,"line_start":673,"line_end":673,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243383,"byte_end":243388,"line_start":673,"line_end":673,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243433,"byte_end":243439,"line_start":675,"line_end":675,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243426,"byte_end":243432,"line_start":675,"line_end":675,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1979712274}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243446,"byte_end":243454,"line_start":675,"line_end":675,"column_start":49,"column_end":57},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243467,"byte_end":243472,"line_start":675,"line_end":675,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243458,"byte_end":243465,"line_start":675,"line_end":675,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243473,"byte_end":243474,"line_start":675,"line_end":675,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":100664082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243475,"byte_end":243478,"line_start":675,"line_end":675,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243517,"byte_end":243523,"line_start":676,"line_end":676,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243510,"byte_end":243516,"line_start":676,"line_end":676,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1979712274}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":243530,"byte_end":243538,"line_start":676,"line_end":676,"column_start":49,"column_end":57},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243551,"byte_end":243556,"line_start":676,"line_end":676,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243542,"byte_end":243549,"line_start":676,"line_end":676,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243557,"byte_end":243558,"line_start":676,"line_end":676,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":100664082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243559,"byte_end":243562,"line_start":676,"line_end":676,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243632,"byte_end":243642,"line_start":678,"line_end":678,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243623,"byte_end":243630,"line_start":678,"line_end":678,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":243643,"byte_end":243649,"line_start":678,"line_end":678,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1979712274}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243721,"byte_end":243725,"line_start":680,"line_end":680,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243712,"byte_end":243719,"line_start":680,"line_end":680,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243845,"byte_end":243848,"line_start":686,"line_end":686,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243845,"byte_end":243848,"line_start":686,"line_end":686,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243883,"byte_end":243887,"line_start":687,"line_end":687,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243874,"byte_end":243881,"line_start":687,"line_end":687,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243949,"byte_end":243952,"line_start":692,"line_end":692,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243953,"byte_end":243969,"line_start":692,"line_end":692,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243990,"byte_end":243996,"line_start":692,"line_end":692,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":243997,"byte_end":244003,"line_start":692,"line_end":692,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244005,"byte_end":244013,"line_start":692,"line_end":692,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244058,"byte_end":244064,"line_start":694,"line_end":694,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742611}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244065,"byte_end":244072,"line_start":694,"line_end":694,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871699}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244074,"byte_end":244078,"line_start":694,"line_end":694,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244089,"byte_end":244100,"line_start":694,"line_end":694,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244141,"byte_end":244145,"line_start":696,"line_end":696,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244146,"byte_end":244150,"line_start":696,"line_end":696,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":4005}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244181,"byte_end":244185,"line_start":697,"line_end":697,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244173,"byte_end":244179,"line_start":697,"line_end":697,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244226,"byte_end":244230,"line_start":698,"line_end":698,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244218,"byte_end":244224,"line_start":698,"line_end":698,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244272,"byte_end":244276,"line_start":699,"line_end":699,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244264,"byte_end":244270,"line_start":699,"line_end":699,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244318,"byte_end":244322,"line_start":700,"line_end":700,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244310,"byte_end":244316,"line_start":700,"line_end":700,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244377,"byte_end":244381,"line_start":703,"line_end":703,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1744831251}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244382,"byte_end":244389,"line_start":703,"line_end":703,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244366,"byte_end":244370,"line_start":703,"line_end":703,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244415,"byte_end":244423,"line_start":704,"line_end":704,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244404,"byte_end":244414,"line_start":704,"line_end":704,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244463,"byte_end":244471,"line_start":705,"line_end":705,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244452,"byte_end":244462,"line_start":705,"line_end":705,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244505,"byte_end":244513,"line_start":706,"line_end":706,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244494,"byte_end":244504,"line_start":706,"line_end":706,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244532,"byte_end":244538,"line_start":706,"line_end":706,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244520,"byte_end":244529,"line_start":706,"line_end":706,"column_start":39,"column_end":48},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244514,"byte_end":244515,"line_start":706,"line_end":706,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3523216147}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244516,"byte_end":244519,"line_start":706,"line_end":706,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3337}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244566,"byte_end":244574,"line_start":707,"line_end":707,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244555,"byte_end":244565,"line_start":707,"line_end":707,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244605,"byte_end":244613,"line_start":708,"line_end":708,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244594,"byte_end":244604,"line_start":708,"line_end":708,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244647,"byte_end":244655,"line_start":709,"line_end":709,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244636,"byte_end":244646,"line_start":709,"line_end":709,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244674,"byte_end":244680,"line_start":709,"line_end":709,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244662,"byte_end":244671,"line_start":709,"line_end":709,"column_start":39,"column_end":48},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244656,"byte_end":244657,"line_start":709,"line_end":709,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3523216147}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244658,"byte_end":244661,"line_start":709,"line_end":709,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3338}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244708,"byte_end":244716,"line_start":710,"line_end":710,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244697,"byte_end":244707,"line_start":710,"line_end":710,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":301990675}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":244754,"byte_end":244762,"line_start":713,"line_end":713,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244743,"byte_end":244753,"line_start":713,"line_end":713,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":301990675}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244778,"byte_end":244780,"line_start":715,"line_end":715,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":244781,"byte_end":244791,"line_start":715,"line_end":715,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":301990675}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244848,"byte_end":244851,"line_start":719,"line_end":719,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244852,"byte_end":244868,"line_start":719,"line_end":719,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244889,"byte_end":244898,"line_start":719,"line_end":719,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244907,"byte_end":244910,"line_start":719,"line_end":719,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244911,"byte_end":244917,"line_start":719,"line_end":719,"column_start":102,"column_end":108},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244923,"byte_end":244929,"line_start":719,"line_end":719,"column_start":114,"column_end":120},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244937,"byte_end":244940,"line_start":719,"line_end":719,"column_start":128,"column_end":131},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244946,"byte_end":244949,"line_start":719,"line_end":719,"column_start":137,"column_end":140},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244950,"byte_end":244966,"line_start":719,"line_end":719,"column_start":141,"column_end":157},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":244970,"byte_end":244978,"line_start":719,"line_end":719,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245063,"byte_end":245066,"line_start":723,"line_end":723,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245058,"byte_end":245062,"line_start":723,"line_end":723,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436244}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245094,"byte_end":245098,"line_start":724,"line_end":724,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436244}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245137,"byte_end":245147,"line_start":725,"line_end":725,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245128,"byte_end":245134,"line_start":725,"line_end":725,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245120,"byte_end":245126,"line_start":725,"line_end":725,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245195,"byte_end":245205,"line_start":726,"line_end":726,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1677722388}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245252,"byte_end":245256,"line_start":727,"line_end":727,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245239,"byte_end":245246,"line_start":727,"line_end":727,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245235,"byte_end":245238,"line_start":727,"line_end":727,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245247,"byte_end":245250,"line_start":727,"line_end":727,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3556770580}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245308,"byte_end":245313,"line_start":728,"line_end":728,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":872416020}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245365,"byte_end":245375,"line_start":729,"line_end":729,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245356,"byte_end":245362,"line_start":729,"line_end":729,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245348,"byte_end":245354,"line_start":729,"line_end":729,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245456,"byte_end":245469,"line_start":730,"line_end":730,"column_start":59,"column_end":72},"ref_id":{"krate":0,"index":570426132}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245536,"byte_end":245540,"line_start":731,"line_end":731,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245522,"byte_end":245529,"line_start":731,"line_end":731,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245518,"byte_end":245521,"line_start":731,"line_end":731,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245530,"byte_end":245534,"line_start":731,"line_end":731,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":2449474324}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245648,"byte_end":245655,"line_start":733,"line_end":733,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245732,"byte_end":245738,"line_start":734,"line_end":734,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1375732500}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245809,"byte_end":245813,"line_start":735,"line_end":735,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245801,"byte_end":245807,"line_start":735,"line_end":735,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245793,"byte_end":245799,"line_start":735,"line_end":735,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245908,"byte_end":245913,"line_start":736,"line_end":736,"column_start":88,"column_end":93},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245901,"byte_end":245905,"line_start":736,"line_end":736,"column_start":81,"column_end":85},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":245887,"byte_end":245894,"line_start":736,"line_end":736,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245883,"byte_end":245886,"line_start":736,"line_end":736,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245895,"byte_end":245899,"line_start":736,"line_end":736,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3590325012}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245985,"byte_end":245987,"line_start":737,"line_end":737,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":245985,"byte_end":245987,"line_start":737,"line_end":737,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245994,"byte_end":245995,"line_start":737,"line_end":737,"column_start":70,"column_end":71},"ref_id":{"krate":0,"index":3724542740}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246057,"byte_end":246060,"line_start":738,"line_end":738,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246057,"byte_end":246060,"line_start":738,"line_end":738,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246075,"byte_end":246078,"line_start":738,"line_end":738,"column_start":79,"column_end":82},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246089,"byte_end":246092,"line_start":738,"line_end":738,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246079,"byte_end":246087,"line_start":738,"line_end":738,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":245714,"byte_end":245721,"line_start":734,"line_end":734,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246504,"byte_end":246511,"line_start":745,"line_end":745,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246588,"byte_end":246594,"line_start":746,"line_end":746,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1375732500}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246665,"byte_end":246669,"line_start":747,"line_end":747,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246657,"byte_end":246663,"line_start":747,"line_end":747,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246649,"byte_end":246655,"line_start":747,"line_end":747,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246764,"byte_end":246769,"line_start":748,"line_end":748,"column_start":88,"column_end":93},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246757,"byte_end":246761,"line_start":748,"line_end":748,"column_start":81,"column_end":85},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246743,"byte_end":246750,"line_start":748,"line_end":748,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246739,"byte_end":246742,"line_start":748,"line_end":748,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1610613524}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246751,"byte_end":246755,"line_start":748,"line_end":748,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":2499805972}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246841,"byte_end":246843,"line_start":749,"line_end":749,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246841,"byte_end":246843,"line_start":749,"line_end":749,"column_start":61,"column_end":63},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246850,"byte_end":246851,"line_start":749,"line_end":749,"column_start":70,"column_end":71},"ref_id":{"krate":0,"index":2634023700}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246913,"byte_end":246916,"line_start":750,"line_end":750,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246913,"byte_end":246916,"line_start":750,"line_end":750,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246931,"byte_end":246934,"line_start":750,"line_end":750,"column_start":79,"column_end":82},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":246945,"byte_end":246948,"line_start":750,"line_end":750,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":246935,"byte_end":246943,"line_start":750,"line_end":750,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":246570,"byte_end":246577,"line_start":746,"line_end":746,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247637,"byte_end":247641,"line_start":769,"line_end":769,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":536871700}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247791,"byte_end":247798,"line_start":777,"line_end":777,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247828,"byte_end":247832,"line_start":778,"line_end":778,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247910,"byte_end":247919,"line_start":780,"line_end":780,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":747}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247878,"byte_end":247881,"line_start":780,"line_end":780,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247870,"byte_end":247876,"line_start":780,"line_end":780,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247882,"byte_end":247886,"line_start":780,"line_end":780,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":612369172}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247888,"byte_end":247895,"line_start":780,"line_end":780,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":247899,"byte_end":247906,"line_start":780,"line_end":780,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":1744831252}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247977,"byte_end":247980,"line_start":784,"line_end":784,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":247992,"byte_end":247995,"line_start":784,"line_end":784,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":247987,"byte_end":247990,"line_start":784,"line_end":784,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248019,"byte_end":248023,"line_start":785,"line_end":785,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248007,"byte_end":248018,"line_start":785,"line_end":785,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248037,"byte_end":248040,"line_start":785,"line_end":785,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248024,"byte_end":248035,"line_start":785,"line_end":785,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248069,"byte_end":248073,"line_start":786,"line_end":786,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248057,"byte_end":248068,"line_start":786,"line_end":786,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248074,"byte_end":248078,"line_start":786,"line_end":786,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":612369172}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248109,"byte_end":248116,"line_start":787,"line_end":787,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2726298388}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248131,"byte_end":248135,"line_start":788,"line_end":788,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248131,"byte_end":248135,"line_start":788,"line_end":788,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248172,"byte_end":248176,"line_start":789,"line_end":789,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248160,"byte_end":248171,"line_start":789,"line_end":789,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248209,"byte_end":248215,"line_start":790,"line_end":790,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248197,"byte_end":248208,"line_start":790,"line_end":790,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248222,"byte_end":248227,"line_start":790,"line_end":790,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248216,"byte_end":248217,"line_start":790,"line_end":790,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":377488148}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248218,"byte_end":248221,"line_start":790,"line_end":790,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248260,"byte_end":248266,"line_start":791,"line_end":791,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248248,"byte_end":248259,"line_start":791,"line_end":791,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248273,"byte_end":248278,"line_start":791,"line_end":791,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248267,"byte_end":248268,"line_start":791,"line_end":791,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":377488148}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248269,"byte_end":248272,"line_start":791,"line_end":791,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248309,"byte_end":248317,"line_start":792,"line_end":792,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248307,"byte_end":248308,"line_start":792,"line_end":792,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":377488148}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248337,"byte_end":248341,"line_start":793,"line_end":793,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248350,"byte_end":248353,"line_start":793,"line_end":793,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248342,"byte_end":248348,"line_start":793,"line_end":793,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248354,"byte_end":248358,"line_start":793,"line_end":793,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":612369172}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248360,"byte_end":248361,"line_start":793,"line_end":793,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3514827540}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248362,"byte_end":248365,"line_start":793,"line_end":793,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248367,"byte_end":248368,"line_start":793,"line_end":793,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":3514827540}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248369,"byte_end":248372,"line_start":793,"line_end":793,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248402,"byte_end":248406,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248402,"byte_end":248406,"line_start":795,"line_end":795,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248440,"byte_end":248444,"line_start":796,"line_end":796,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248428,"byte_end":248439,"line_start":796,"line_end":796,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248465,"byte_end":248469,"line_start":797,"line_end":797,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248510,"byte_end":248514,"line_start":800,"line_end":800,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248503,"byte_end":248509,"line_start":800,"line_end":800,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742612}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248515,"byte_end":248531,"line_start":800,"line_end":800,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248546,"byte_end":248549,"line_start":801,"line_end":801,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248566,"byte_end":248571,"line_start":801,"line_end":801,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248551,"byte_end":248564,"line_start":801,"line_end":801,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248572,"byte_end":248576,"line_start":801,"line_end":801,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":612369172}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248598,"byte_end":248599,"line_start":802,"line_end":802,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248614,"byte_end":248617,"line_start":802,"line_end":802,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248601,"byte_end":248612,"line_start":802,"line_end":802,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248631,"byte_end":248639,"line_start":803,"line_end":803,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248660,"byte_end":248664,"line_start":804,"line_end":804,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248671,"byte_end":248674,"line_start":804,"line_end":804,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248666,"byte_end":248669,"line_start":804,"line_end":804,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248680,"byte_end":248688,"line_start":804,"line_end":804,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248675,"byte_end":248678,"line_start":804,"line_end":804,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248694,"byte_end":248697,"line_start":804,"line_end":804,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248689,"byte_end":248692,"line_start":804,"line_end":804,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248698,"byte_end":248709,"line_start":804,"line_end":804,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248712,"byte_end":248716,"line_start":804,"line_end":804,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248712,"byte_end":248716,"line_start":804,"line_end":804,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":612369172}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248718,"byte_end":248725,"line_start":804,"line_end":804,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248718,"byte_end":248725,"line_start":804,"line_end":804,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":897581844}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248764,"byte_end":248766,"line_start":806,"line_end":806,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248775,"byte_end":248786,"line_start":806,"line_end":806,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2323645204}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248788,"byte_end":248794,"line_start":806,"line_end":806,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742612}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248843,"byte_end":248852,"line_start":809,"line_end":809,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248863,"byte_end":248872,"line_start":809,"line_end":809,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248877,"byte_end":248883,"line_start":809,"line_end":809,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":248891,"byte_end":248899,"line_start":809,"line_end":809,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248938,"byte_end":248947,"line_start":811,"line_end":811,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248931,"byte_end":248937,"line_start":811,"line_end":811,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248948,"byte_end":248954,"line_start":811,"line_end":811,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613525}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":248995,"byte_end":249009,"line_start":813,"line_end":813,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":248985,"byte_end":248992,"line_start":813,"line_end":813,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1207960341}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249025,"byte_end":249035,"line_start":815,"line_end":815,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1476395797}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249062,"byte_end":249064,"line_start":816,"line_end":816,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249129,"byte_end":249139,"line_start":818,"line_end":818,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249122,"byte_end":249128,"line_start":818,"line_end":818,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1610613525}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249140,"byte_end":249146,"line_start":818,"line_end":818,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536871701}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249147,"byte_end":249158,"line_start":818,"line_end":818,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249160,"byte_end":249164,"line_start":818,"line_end":818,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249175,"byte_end":249186,"line_start":818,"line_end":818,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249203,"byte_end":249205,"line_start":819,"line_end":819,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249206,"byte_end":249210,"line_start":819,"line_end":819,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1543504661}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249211,"byte_end":249215,"line_start":819,"line_end":819,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":4005}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249282,"byte_end":249285,"line_start":823,"line_end":823,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249286,"byte_end":249302,"line_start":823,"line_end":823,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249319,"byte_end":249322,"line_start":823,"line_end":823,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249323,"byte_end":249330,"line_start":823,"line_end":823,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249336,"byte_end":249342,"line_start":823,"line_end":823,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249350,"byte_end":249353,"line_start":823,"line_end":823,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249359,"byte_end":249362,"line_start":823,"line_end":823,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249363,"byte_end":249379,"line_start":823,"line_end":823,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249383,"byte_end":249391,"line_start":823,"line_end":823,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249430,"byte_end":249439,"line_start":825,"line_end":825,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2472}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249419,"byte_end":249428,"line_start":825,"line_end":825,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249441,"byte_end":249452,"line_start":825,"line_end":825,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":536871703}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249480,"byte_end":249486,"line_start":827,"line_end":827,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249471,"byte_end":249479,"line_start":827,"line_end":827,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":4160750359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249552,"byte_end":249555,"line_start":829,"line_end":829,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249567,"byte_end":249570,"line_start":829,"line_end":829,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249562,"byte_end":249565,"line_start":829,"line_end":829,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249602,"byte_end":249606,"line_start":830,"line_end":830,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249590,"byte_end":249601,"line_start":830,"line_end":830,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249620,"byte_end":249623,"line_start":830,"line_end":830,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249607,"byte_end":249618,"line_start":830,"line_end":830,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249660,"byte_end":249664,"line_start":831,"line_end":831,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249648,"byte_end":249659,"line_start":831,"line_end":831,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249705,"byte_end":249722,"line_start":832,"line_end":832,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":750}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249727,"byte_end":249738,"line_start":832,"line_end":832,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249763,"byte_end":249767,"line_start":833,"line_end":833,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":249763,"byte_end":249767,"line_start":833,"line_end":833,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249812,"byte_end":249816,"line_start":834,"line_end":834,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249800,"byte_end":249811,"line_start":834,"line_end":834,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249857,"byte_end":249863,"line_start":835,"line_end":835,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249845,"byte_end":249856,"line_start":835,"line_end":835,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249870,"byte_end":249875,"line_start":835,"line_end":835,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249864,"byte_end":249865,"line_start":835,"line_end":835,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3120562967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249866,"byte_end":249869,"line_start":835,"line_end":835,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249916,"byte_end":249922,"line_start":836,"line_end":836,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249904,"byte_end":249915,"line_start":836,"line_end":836,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249929,"byte_end":249934,"line_start":836,"line_end":836,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249923,"byte_end":249924,"line_start":836,"line_end":836,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3120562967}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249925,"byte_end":249928,"line_start":836,"line_end":836,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":249973,"byte_end":249981,"line_start":837,"line_end":837,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":249971,"byte_end":249972,"line_start":837,"line_end":837,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3120562967}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250009,"byte_end":250013,"line_start":838,"line_end":838,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250022,"byte_end":250025,"line_start":838,"line_end":838,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250014,"byte_end":250020,"line_start":838,"line_end":838,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250029,"byte_end":250030,"line_start":838,"line_end":838,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":16778007}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250031,"byte_end":250034,"line_start":838,"line_end":838,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250036,"byte_end":250037,"line_start":838,"line_end":838,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":16778007}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250038,"byte_end":250041,"line_start":838,"line_end":838,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250087,"byte_end":250091,"line_start":840,"line_end":840,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250087,"byte_end":250091,"line_start":840,"line_end":840,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250133,"byte_end":250137,"line_start":841,"line_end":841,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250121,"byte_end":250132,"line_start":841,"line_end":841,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250166,"byte_end":250170,"line_start":842,"line_end":842,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250235,"byte_end":250239,"line_start":845,"line_end":845,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250228,"byte_end":250234,"line_start":845,"line_end":845,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250240,"byte_end":250256,"line_start":845,"line_end":845,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250279,"byte_end":250282,"line_start":846,"line_end":846,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250299,"byte_end":250304,"line_start":846,"line_end":846,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250284,"byte_end":250297,"line_start":846,"line_end":846,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250329,"byte_end":250330,"line_start":847,"line_end":847,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250345,"byte_end":250348,"line_start":847,"line_end":847,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250332,"byte_end":250343,"line_start":847,"line_end":847,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250370,"byte_end":250378,"line_start":848,"line_end":848,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250407,"byte_end":250411,"line_start":849,"line_end":849,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250418,"byte_end":250421,"line_start":849,"line_end":849,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250413,"byte_end":250416,"line_start":849,"line_end":849,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250427,"byte_end":250435,"line_start":849,"line_end":849,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250422,"byte_end":250425,"line_start":849,"line_end":849,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250441,"byte_end":250444,"line_start":849,"line_end":849,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250436,"byte_end":250439,"line_start":849,"line_end":849,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250445,"byte_end":250456,"line_start":849,"line_end":849,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250459,"byte_end":250463,"line_start":849,"line_end":849,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250468,"byte_end":250475,"line_start":849,"line_end":849,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250468,"byte_end":250475,"line_start":849,"line_end":849,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":83886871}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250530,"byte_end":250532,"line_start":851,"line_end":851,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250541,"byte_end":250552,"line_start":851,"line_end":851,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":1275069207}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250554,"byte_end":250560,"line_start":851,"line_end":851,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250639,"byte_end":250642,"line_start":854,"line_end":854,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250654,"byte_end":250657,"line_start":854,"line_end":854,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250649,"byte_end":250652,"line_start":854,"line_end":854,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250689,"byte_end":250693,"line_start":855,"line_end":855,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250677,"byte_end":250688,"line_start":855,"line_end":855,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":385876759}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250707,"byte_end":250710,"line_start":855,"line_end":855,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250694,"byte_end":250705,"line_start":855,"line_end":855,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250747,"byte_end":250751,"line_start":856,"line_end":856,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250735,"byte_end":250746,"line_start":856,"line_end":856,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":385876759}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250792,"byte_end":250809,"line_start":857,"line_end":857,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":750}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250814,"byte_end":250825,"line_start":857,"line_end":857,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250850,"byte_end":250854,"line_start":858,"line_end":858,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":250850,"byte_end":250854,"line_start":858,"line_end":858,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250899,"byte_end":250903,"line_start":859,"line_end":859,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250887,"byte_end":250898,"line_start":859,"line_end":859,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876759}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250944,"byte_end":250950,"line_start":860,"line_end":860,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250932,"byte_end":250943,"line_start":860,"line_end":860,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876759}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":250957,"byte_end":250962,"line_start":860,"line_end":860,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250951,"byte_end":250952,"line_start":860,"line_end":860,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3363832599}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250953,"byte_end":250956,"line_start":860,"line_end":860,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251003,"byte_end":251009,"line_start":861,"line_end":861,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":250991,"byte_end":251002,"line_start":861,"line_end":861,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876759}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251016,"byte_end":251021,"line_start":861,"line_end":861,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251010,"byte_end":251011,"line_start":861,"line_end":861,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3363832599}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251012,"byte_end":251015,"line_start":861,"line_end":861,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251060,"byte_end":251068,"line_start":862,"line_end":862,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251058,"byte_end":251059,"line_start":862,"line_end":862,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3363832599}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251096,"byte_end":251100,"line_start":863,"line_end":863,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251109,"byte_end":251112,"line_start":863,"line_end":863,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251101,"byte_end":251107,"line_start":863,"line_end":863,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251116,"byte_end":251117,"line_start":863,"line_end":863,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1820328727}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251118,"byte_end":251121,"line_start":863,"line_end":863,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251123,"byte_end":251124,"line_start":863,"line_end":863,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":1820328727}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251125,"byte_end":251128,"line_start":863,"line_end":863,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251174,"byte_end":251178,"line_start":865,"line_end":865,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251174,"byte_end":251178,"line_start":865,"line_end":865,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251220,"byte_end":251224,"line_start":866,"line_end":866,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251208,"byte_end":251219,"line_start":866,"line_end":866,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":385876759}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251253,"byte_end":251257,"line_start":867,"line_end":867,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251322,"byte_end":251326,"line_start":870,"line_end":870,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251315,"byte_end":251321,"line_start":870,"line_end":870,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251327,"byte_end":251343,"line_start":870,"line_end":870,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251366,"byte_end":251369,"line_start":871,"line_end":871,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251386,"byte_end":251391,"line_start":871,"line_end":871,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251371,"byte_end":251384,"line_start":871,"line_end":871,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251416,"byte_end":251417,"line_start":872,"line_end":872,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251432,"byte_end":251435,"line_start":872,"line_end":872,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251419,"byte_end":251430,"line_start":872,"line_end":872,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251457,"byte_end":251465,"line_start":873,"line_end":873,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251494,"byte_end":251498,"line_start":874,"line_end":874,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251505,"byte_end":251508,"line_start":874,"line_end":874,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251500,"byte_end":251503,"line_start":874,"line_end":874,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251514,"byte_end":251522,"line_start":874,"line_end":874,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251509,"byte_end":251512,"line_start":874,"line_end":874,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251528,"byte_end":251531,"line_start":874,"line_end":874,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251523,"byte_end":251526,"line_start":874,"line_end":874,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251532,"byte_end":251543,"line_start":874,"line_end":874,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251546,"byte_end":251550,"line_start":874,"line_end":874,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251555,"byte_end":251562,"line_start":874,"line_end":874,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251555,"byte_end":251562,"line_start":874,"line_end":874,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":1786774295}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251617,"byte_end":251619,"line_start":876,"line_end":876,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251628,"byte_end":251639,"line_start":876,"line_end":876,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":385876759}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251641,"byte_end":251647,"line_start":876,"line_end":876,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251727,"byte_end":251730,"line_start":879,"line_end":879,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251742,"byte_end":251745,"line_start":879,"line_end":879,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251737,"byte_end":251740,"line_start":879,"line_end":879,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251777,"byte_end":251781,"line_start":880,"line_end":880,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251765,"byte_end":251776,"line_start":880,"line_end":880,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251795,"byte_end":251798,"line_start":880,"line_end":880,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251782,"byte_end":251793,"line_start":880,"line_end":880,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251835,"byte_end":251839,"line_start":881,"line_end":881,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251823,"byte_end":251834,"line_start":881,"line_end":881,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251881,"byte_end":251898,"line_start":882,"line_end":882,"column_start":37,"column_end":54},"ref_id":{"krate":0,"index":750}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251904,"byte_end":251915,"line_start":882,"line_end":882,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":536871703}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251940,"byte_end":251944,"line_start":883,"line_end":883,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":251940,"byte_end":251944,"line_start":883,"line_end":883,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":251989,"byte_end":251993,"line_start":884,"line_end":884,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":251977,"byte_end":251988,"line_start":884,"line_end":884,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252034,"byte_end":252040,"line_start":885,"line_end":885,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252022,"byte_end":252033,"line_start":885,"line_end":885,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252047,"byte_end":252052,"line_start":885,"line_end":885,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252041,"byte_end":252042,"line_start":885,"line_end":885,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2474640151}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252043,"byte_end":252046,"line_start":885,"line_end":885,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252093,"byte_end":252099,"line_start":886,"line_end":886,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252081,"byte_end":252092,"line_start":886,"line_end":886,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252106,"byte_end":252111,"line_start":886,"line_end":886,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252100,"byte_end":252101,"line_start":886,"line_end":886,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":2474640151}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252102,"byte_end":252105,"line_start":886,"line_end":886,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252150,"byte_end":252158,"line_start":887,"line_end":887,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252148,"byte_end":252149,"line_start":887,"line_end":887,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2474640151}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252186,"byte_end":252190,"line_start":888,"line_end":888,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252199,"byte_end":252202,"line_start":888,"line_end":888,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252191,"byte_end":252197,"line_start":888,"line_end":888,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252207,"byte_end":252208,"line_start":888,"line_end":888,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":931136279}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252209,"byte_end":252212,"line_start":888,"line_end":888,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":3337}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252214,"byte_end":252215,"line_start":888,"line_end":888,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":931136279}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252216,"byte_end":252219,"line_start":888,"line_end":888,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3338}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252265,"byte_end":252269,"line_start":890,"line_end":890,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252265,"byte_end":252269,"line_start":890,"line_end":890,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252311,"byte_end":252315,"line_start":891,"line_end":891,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252299,"byte_end":252310,"line_start":891,"line_end":891,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252344,"byte_end":252348,"line_start":892,"line_end":892,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252413,"byte_end":252417,"line_start":895,"line_end":895,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252406,"byte_end":252412,"line_start":895,"line_end":895,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252418,"byte_end":252434,"line_start":895,"line_end":895,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252457,"byte_end":252460,"line_start":896,"line_end":896,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252477,"byte_end":252482,"line_start":896,"line_end":896,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252462,"byte_end":252475,"line_start":896,"line_end":896,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252508,"byte_end":252509,"line_start":897,"line_end":897,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252524,"byte_end":252527,"line_start":897,"line_end":897,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252511,"byte_end":252522,"line_start":897,"line_end":897,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252549,"byte_end":252557,"line_start":898,"line_end":898,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252586,"byte_end":252590,"line_start":899,"line_end":899,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252597,"byte_end":252600,"line_start":899,"line_end":899,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252592,"byte_end":252595,"line_start":899,"line_end":899,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252606,"byte_end":252614,"line_start":899,"line_end":899,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252601,"byte_end":252604,"line_start":899,"line_end":899,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252620,"byte_end":252623,"line_start":899,"line_end":899,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252615,"byte_end":252618,"line_start":899,"line_end":899,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252624,"byte_end":252635,"line_start":899,"line_end":899,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252638,"byte_end":252642,"line_start":899,"line_end":899,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252648,"byte_end":252655,"line_start":899,"line_end":899,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252648,"byte_end":252655,"line_start":899,"line_end":899,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":809501463}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252710,"byte_end":252712,"line_start":901,"line_end":901,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252721,"byte_end":252732,"line_start":901,"line_end":901,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":2038432535}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":252734,"byte_end":252740,"line_start":901,"line_end":901,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1073742615}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252793,"byte_end":252795,"line_start":904,"line_end":904,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252809,"byte_end":252812,"line_start":904,"line_end":904,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252804,"byte_end":252807,"line_start":904,"line_end":904,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":252821,"byte_end":252824,"line_start":904,"line_end":904,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252816,"byte_end":252819,"line_start":904,"line_end":904,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252900,"byte_end":252903,"line_start":909,"line_end":909,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252904,"byte_end":252920,"line_start":909,"line_end":909,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252963,"byte_end":252966,"line_start":909,"line_end":909,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":252967,"byte_end":252983,"line_start":909,"line_end":909,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253007,"byte_end":253012,"line_start":910,"line_end":910,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253013,"byte_end":253020,"line_start":910,"line_end":910,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253061,"byte_end":253066,"line_start":913,"line_end":913,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253067,"byte_end":253074,"line_start":913,"line_end":913,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":536871704}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253106,"byte_end":253110,"line_start":914,"line_end":914,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253099,"byte_end":253105,"line_start":914,"line_end":914,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253111,"byte_end":253127,"line_start":914,"line_end":914,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253146,"byte_end":253149,"line_start":915,"line_end":915,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253166,"byte_end":253171,"line_start":915,"line_end":915,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253151,"byte_end":253164,"line_start":915,"line_end":915,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253172,"byte_end":253176,"line_start":915,"line_end":915,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253202,"byte_end":253203,"line_start":916,"line_end":916,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253218,"byte_end":253221,"line_start":916,"line_end":916,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253205,"byte_end":253216,"line_start":916,"line_end":916,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253239,"byte_end":253247,"line_start":917,"line_end":917,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253272,"byte_end":253276,"line_start":918,"line_end":918,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253283,"byte_end":253286,"line_start":918,"line_end":918,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253278,"byte_end":253281,"line_start":918,"line_end":918,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253292,"byte_end":253300,"line_start":918,"line_end":918,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253287,"byte_end":253290,"line_start":918,"line_end":918,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253306,"byte_end":253309,"line_start":918,"line_end":918,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253301,"byte_end":253304,"line_start":918,"line_end":918,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253310,"byte_end":253321,"line_start":918,"line_end":918,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253324,"byte_end":253328,"line_start":918,"line_end":918,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253330,"byte_end":253334,"line_start":918,"line_end":918,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253336,"byte_end":253343,"line_start":918,"line_end":918,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253345,"byte_end":253349,"line_start":918,"line_end":918,"column_start":90,"column_end":94},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253411,"byte_end":253417,"line_start":920,"line_end":920,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253468,"byte_end":253472,"line_start":924,"line_end":924,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253521,"byte_end":253526,"line_start":926,"line_end":926,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253527,"byte_end":253555,"line_start":926,"line_end":926,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253527,"byte_end":253540,"line_start":926,"line_end":926,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253528,"byte_end":253535,"line_start":926,"line_end":926,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253542,"byte_end":253555,"line_start":926,"line_end":926,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253543,"byte_end":253550,"line_start":926,"line_end":926,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253585,"byte_end":253590,"line_start":927,"line_end":927,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253591,"byte_end":253619,"line_start":927,"line_end":927,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253591,"byte_end":253604,"line_start":927,"line_end":927,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253592,"byte_end":253599,"line_start":927,"line_end":927,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253606,"byte_end":253619,"line_start":927,"line_end":927,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253607,"byte_end":253614,"line_start":927,"line_end":927,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871704}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253658,"byte_end":253670,"line_start":928,"line_end":928,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253673,"byte_end":253677,"line_start":928,"line_end":928,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253679,"byte_end":253683,"line_start":928,"line_end":928,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253685,"byte_end":253688,"line_start":928,"line_end":928,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253694,"byte_end":253700,"line_start":928,"line_end":928,"column_start":73,"column_end":79},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253690,"byte_end":253693,"line_start":928,"line_end":928,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":3053454104}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253704,"byte_end":253707,"line_start":928,"line_end":928,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253713,"byte_end":253719,"line_start":928,"line_end":928,"column_start":92,"column_end":98},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253709,"byte_end":253712,"line_start":928,"line_end":928,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4261413656}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253747,"byte_end":253751,"line_start":929,"line_end":929,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253740,"byte_end":253746,"line_start":929,"line_end":929,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253752,"byte_end":253768,"line_start":929,"line_end":929,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253791,"byte_end":253794,"line_start":930,"line_end":930,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253811,"byte_end":253816,"line_start":930,"line_end":930,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253796,"byte_end":253809,"line_start":930,"line_end":930,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253817,"byte_end":253821,"line_start":930,"line_end":930,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253851,"byte_end":253852,"line_start":931,"line_end":931,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253867,"byte_end":253870,"line_start":931,"line_end":931,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253854,"byte_end":253865,"line_start":931,"line_end":931,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253892,"byte_end":253900,"line_start":932,"line_end":932,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253929,"byte_end":253933,"line_start":933,"line_end":933,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253940,"byte_end":253943,"line_start":933,"line_end":933,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253935,"byte_end":253938,"line_start":933,"line_end":933,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253949,"byte_end":253957,"line_start":933,"line_end":933,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253944,"byte_end":253947,"line_start":933,"line_end":933,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":253963,"byte_end":253966,"line_start":933,"line_end":933,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253958,"byte_end":253961,"line_start":933,"line_end":933,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":253967,"byte_end":253978,"line_start":933,"line_end":933,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253981,"byte_end":253985,"line_start":933,"line_end":933,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253987,"byte_end":253991,"line_start":933,"line_end":933,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":253993,"byte_end":254000,"line_start":933,"line_end":933,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254002,"byte_end":254006,"line_start":933,"line_end":933,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254021,"byte_end":254029,"line_start":933,"line_end":933,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254007,"byte_end":254020,"line_start":933,"line_end":933,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":2298479384}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254094,"byte_end":254100,"line_start":935,"line_end":935,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254163,"byte_end":254168,"line_start":938,"line_end":938,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254169,"byte_end":254197,"line_start":938,"line_end":938,"column_start":34,"column_end":62},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254169,"byte_end":254182,"line_start":938,"line_end":938,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254170,"byte_end":254177,"line_start":938,"line_end":938,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254184,"byte_end":254197,"line_start":938,"line_end":938,"column_start":49,"column_end":62},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254185,"byte_end":254192,"line_start":938,"line_end":938,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254227,"byte_end":254232,"line_start":939,"line_end":939,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254233,"byte_end":254262,"line_start":939,"line_end":939,"column_start":34,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254233,"byte_end":254246,"line_start":939,"line_end":939,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254234,"byte_end":254241,"line_start":939,"line_end":939,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254248,"byte_end":254262,"line_start":939,"line_end":939,"column_start":49,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254249,"byte_end":254256,"line_start":939,"line_end":939,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871704}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254301,"byte_end":254313,"line_start":940,"line_end":940,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254316,"byte_end":254320,"line_start":940,"line_end":940,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254322,"byte_end":254326,"line_start":940,"line_end":940,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254328,"byte_end":254331,"line_start":940,"line_end":940,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254337,"byte_end":254343,"line_start":940,"line_end":940,"column_start":73,"column_end":79},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254333,"byte_end":254336,"line_start":940,"line_end":940,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":654312216}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254347,"byte_end":254350,"line_start":940,"line_end":940,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254356,"byte_end":254362,"line_start":940,"line_end":940,"column_start":92,"column_end":98},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254352,"byte_end":254355,"line_start":940,"line_end":940,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":1862271768}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254390,"byte_end":254394,"line_start":941,"line_end":941,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254383,"byte_end":254389,"line_start":941,"line_end":941,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254395,"byte_end":254411,"line_start":941,"line_end":941,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254434,"byte_end":254437,"line_start":942,"line_end":942,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254454,"byte_end":254459,"line_start":942,"line_end":942,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254439,"byte_end":254452,"line_start":942,"line_end":942,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254460,"byte_end":254464,"line_start":942,"line_end":942,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254494,"byte_end":254495,"line_start":943,"line_end":943,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254510,"byte_end":254513,"line_start":943,"line_end":943,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254497,"byte_end":254508,"line_start":943,"line_end":943,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254535,"byte_end":254543,"line_start":944,"line_end":944,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254572,"byte_end":254576,"line_start":945,"line_end":945,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254583,"byte_end":254586,"line_start":945,"line_end":945,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254578,"byte_end":254581,"line_start":945,"line_end":945,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254592,"byte_end":254600,"line_start":945,"line_end":945,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254587,"byte_end":254590,"line_start":945,"line_end":945,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254606,"byte_end":254609,"line_start":945,"line_end":945,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254601,"byte_end":254604,"line_start":945,"line_end":945,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254610,"byte_end":254621,"line_start":945,"line_end":945,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254624,"byte_end":254628,"line_start":945,"line_end":945,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254630,"byte_end":254634,"line_start":945,"line_end":945,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254636,"byte_end":254643,"line_start":945,"line_end":945,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254645,"byte_end":254649,"line_start":945,"line_end":945,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254664,"byte_end":254672,"line_start":945,"line_end":945,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254650,"byte_end":254663,"line_start":945,"line_end":945,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":276824856}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254737,"byte_end":254743,"line_start":947,"line_end":947,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254807,"byte_end":254812,"line_start":950,"line_end":950,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254813,"byte_end":254842,"line_start":950,"line_end":950,"column_start":34,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254813,"byte_end":254826,"line_start":950,"line_end":950,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254814,"byte_end":254821,"line_start":950,"line_end":950,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254828,"byte_end":254842,"line_start":950,"line_end":950,"column_start":49,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254829,"byte_end":254836,"line_start":950,"line_end":950,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254872,"byte_end":254877,"line_start":951,"line_end":951,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610613528}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254878,"byte_end":254908,"line_start":951,"line_end":951,"column_start":34,"column_end":64},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254878,"byte_end":254892,"line_start":951,"line_end":951,"column_start":34,"column_end":48},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254879,"byte_end":254886,"line_start":951,"line_end":951,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536871704}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254894,"byte_end":254908,"line_start":951,"line_end":951,"column_start":50,"column_end":64},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254895,"byte_end":254902,"line_start":951,"line_end":951,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":536871704}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":254947,"byte_end":254959,"line_start":952,"line_end":952,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3322}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254962,"byte_end":254966,"line_start":952,"line_end":952,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":3323}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254968,"byte_end":254972,"line_start":952,"line_end":952,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254974,"byte_end":254977,"line_start":952,"line_end":952,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3324}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":254983,"byte_end":254989,"line_start":952,"line_end":952,"column_start":73,"column_end":79},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254979,"byte_end":254982,"line_start":952,"line_end":952,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":3665822488}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254993,"byte_end":254996,"line_start":952,"line_end":952,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3325}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255002,"byte_end":255008,"line_start":952,"line_end":952,"column_start":92,"column_end":98},"ref_id":{"krate":5,"index":5157}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":254998,"byte_end":255001,"line_start":952,"line_end":952,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":3061842712}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255036,"byte_end":255040,"line_start":953,"line_end":953,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255029,"byte_end":255035,"line_start":953,"line_end":953,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255041,"byte_end":255057,"line_start":953,"line_end":953,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255080,"byte_end":255083,"line_start":954,"line_end":954,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255100,"byte_end":255105,"line_start":954,"line_end":954,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255085,"byte_end":255098,"line_start":954,"line_end":954,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255106,"byte_end":255110,"line_start":954,"line_end":954,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255140,"byte_end":255141,"line_start":955,"line_end":955,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255156,"byte_end":255159,"line_start":955,"line_end":955,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255143,"byte_end":255154,"line_start":955,"line_end":955,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255181,"byte_end":255189,"line_start":956,"line_end":956,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255218,"byte_end":255222,"line_start":957,"line_end":957,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255229,"byte_end":255232,"line_start":957,"line_end":957,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255224,"byte_end":255227,"line_start":957,"line_end":957,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255238,"byte_end":255246,"line_start":957,"line_end":957,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255233,"byte_end":255236,"line_start":957,"line_end":957,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255252,"byte_end":255255,"line_start":957,"line_end":957,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255247,"byte_end":255250,"line_start":957,"line_end":957,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255256,"byte_end":255267,"line_start":957,"line_end":957,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4003}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255270,"byte_end":255274,"line_start":957,"line_end":957,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255276,"byte_end":255280,"line_start":957,"line_end":957,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":134218520}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255282,"byte_end":255289,"line_start":957,"line_end":957,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":4004}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255291,"byte_end":255295,"line_start":957,"line_end":957,"column_start":94,"column_end":98},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255310,"byte_end":255318,"line_start":957,"line_end":957,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255296,"byte_end":255309,"line_start":957,"line_end":957,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":4269802264}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255383,"byte_end":255389,"line_start":959,"line_end":959,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1073742616}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255532,"byte_end":255538,"line_start":970,"line_end":970,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255543,"byte_end":255551,"line_start":970,"line_end":970,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255655,"byte_end":255658,"line_start":972,"line_end":972,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255643,"byte_end":255653,"line_start":972,"line_end":972,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255636,"byte_end":255641,"line_start":972,"line_end":972,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255659,"byte_end":255665,"line_start":972,"line_end":972,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874262}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255684,"byte_end":255690,"line_start":973,"line_end":973,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874262}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255707,"byte_end":255713,"line_start":973,"line_end":973,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255692,"byte_end":255699,"line_start":973,"line_end":973,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752918}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255700,"byte_end":255706,"line_start":973,"line_end":973,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255757,"byte_end":255766,"line_start":974,"line_end":974,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255745,"byte_end":255755,"line_start":974,"line_end":974,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255738,"byte_end":255743,"line_start":974,"line_end":974,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255775,"byte_end":255794,"line_start":974,"line_end":974,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255767,"byte_end":255774,"line_start":974,"line_end":974,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752918}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255815,"byte_end":255821,"line_start":975,"line_end":975,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874262}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255839,"byte_end":255845,"line_start":975,"line_end":975,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255823,"byte_end":255831,"line_start":975,"line_end":975,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255832,"byte_end":255838,"line_start":975,"line_end":975,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255916,"byte_end":255919,"line_start":978,"line_end":978,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255904,"byte_end":255914,"line_start":978,"line_end":978,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255897,"byte_end":255902,"line_start":978,"line_end":978,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255920,"byte_end":255926,"line_start":978,"line_end":978,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526730006}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255945,"byte_end":255951,"line_start":979,"line_end":979,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730006}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":255968,"byte_end":255974,"line_start":979,"line_end":979,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255953,"byte_end":255960,"line_start":979,"line_end":979,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936016150}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":255961,"byte_end":255967,"line_start":979,"line_end":979,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256018,"byte_end":256027,"line_start":980,"line_end":980,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256006,"byte_end":256016,"line_start":980,"line_end":980,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":255999,"byte_end":256004,"line_start":980,"line_end":980,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256036,"byte_end":256055,"line_start":980,"line_end":980,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256028,"byte_end":256035,"line_start":980,"line_end":980,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936016150}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256076,"byte_end":256082,"line_start":981,"line_end":981,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730006}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256100,"byte_end":256106,"line_start":981,"line_end":981,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256084,"byte_end":256092,"line_start":981,"line_end":981,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202695958}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256093,"byte_end":256099,"line_start":981,"line_end":981,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256223,"byte_end":256226,"line_start":984,"line_end":984,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256211,"byte_end":256221,"line_start":984,"line_end":984,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256204,"byte_end":256209,"line_start":984,"line_end":984,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256227,"byte_end":256233,"line_start":984,"line_end":984,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":226495766}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256252,"byte_end":256258,"line_start":985,"line_end":985,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":226495766}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256275,"byte_end":256281,"line_start":985,"line_end":985,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256260,"byte_end":256267,"line_start":985,"line_end":985,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3548384534}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256268,"byte_end":256274,"line_start":985,"line_end":985,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256325,"byte_end":256334,"line_start":986,"line_end":986,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256313,"byte_end":256323,"line_start":986,"line_end":986,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256306,"byte_end":256311,"line_start":986,"line_end":986,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256343,"byte_end":256362,"line_start":986,"line_end":986,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256335,"byte_end":256342,"line_start":986,"line_end":986,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3548384534}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256383,"byte_end":256389,"line_start":987,"line_end":987,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":226495766}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256407,"byte_end":256413,"line_start":987,"line_end":987,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256391,"byte_end":256399,"line_start":987,"line_end":987,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2889878806}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256400,"byte_end":256406,"line_start":987,"line_end":987,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256484,"byte_end":256487,"line_start":990,"line_end":990,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256472,"byte_end":256482,"line_start":990,"line_end":990,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256465,"byte_end":256470,"line_start":990,"line_end":990,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256488,"byte_end":256494,"line_start":990,"line_end":990,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1631587606}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256513,"byte_end":256519,"line_start":991,"line_end":991,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1631587606}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256536,"byte_end":256542,"line_start":991,"line_end":991,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256521,"byte_end":256528,"line_start":991,"line_end":991,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2235567382}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256529,"byte_end":256535,"line_start":991,"line_end":991,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256586,"byte_end":256595,"line_start":992,"line_end":992,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256574,"byte_end":256584,"line_start":992,"line_end":992,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256567,"byte_end":256572,"line_start":992,"line_end":992,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256604,"byte_end":256623,"line_start":992,"line_end":992,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256596,"byte_end":256603,"line_start":992,"line_end":992,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2235567382}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256644,"byte_end":256650,"line_start":993,"line_end":993,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1631587606}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256668,"byte_end":256674,"line_start":993,"line_end":993,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256652,"byte_end":256660,"line_start":993,"line_end":993,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3502247190}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256661,"byte_end":256667,"line_start":993,"line_end":993,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256796,"byte_end":256799,"line_start":996,"line_end":996,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256784,"byte_end":256794,"line_start":996,"line_end":996,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256777,"byte_end":256782,"line_start":996,"line_end":996,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256800,"byte_end":256806,"line_start":996,"line_end":996,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":985664790}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256825,"byte_end":256831,"line_start":997,"line_end":997,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":985664790}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256848,"byte_end":256854,"line_start":997,"line_end":997,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256833,"byte_end":256840,"line_start":997,"line_end":997,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4005563670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256841,"byte_end":256847,"line_start":997,"line_end":997,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256898,"byte_end":256907,"line_start":998,"line_end":998,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256886,"byte_end":256896,"line_start":998,"line_end":998,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":256879,"byte_end":256884,"line_start":998,"line_end":998,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256916,"byte_end":256935,"line_start":998,"line_end":998,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256908,"byte_end":256915,"line_start":998,"line_end":998,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4005563670}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256956,"byte_end":256962,"line_start":999,"line_end":999,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":985664790}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":256980,"byte_end":256986,"line_start":999,"line_end":999,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256964,"byte_end":256972,"line_start":999,"line_end":999,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2277510422}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":256973,"byte_end":256979,"line_start":999,"line_end":999,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257058,"byte_end":257061,"line_start":1002,"line_end":1002,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257046,"byte_end":257056,"line_start":1002,"line_end":1002,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257039,"byte_end":257044,"line_start":1002,"line_end":1002,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257062,"byte_end":257068,"line_start":1002,"line_end":1002,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1277168918}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257087,"byte_end":257093,"line_start":1003,"line_end":1003,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1277168918}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257110,"byte_end":257116,"line_start":1003,"line_end":1003,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257095,"byte_end":257102,"line_start":1003,"line_end":1003,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2988444950}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257103,"byte_end":257109,"line_start":1003,"line_end":1003,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257160,"byte_end":257169,"line_start":1004,"line_end":1004,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257148,"byte_end":257158,"line_start":1004,"line_end":1004,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257141,"byte_end":257146,"line_start":1004,"line_end":1004,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257178,"byte_end":257197,"line_start":1004,"line_end":1004,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257170,"byte_end":257177,"line_start":1004,"line_end":1004,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2988444950}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257218,"byte_end":257224,"line_start":1005,"line_end":1005,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1277168918}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257242,"byte_end":257248,"line_start":1005,"line_end":1005,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257226,"byte_end":257234,"line_start":1005,"line_end":1005,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3978300694}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257235,"byte_end":257241,"line_start":1005,"line_end":1005,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257263,"byte_end":257265,"line_start":1007,"line_end":1007,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257310,"byte_end":257316,"line_start":1011,"line_end":1011,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257321,"byte_end":257329,"line_start":1011,"line_end":1011,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257434,"byte_end":257444,"line_start":1013,"line_end":1013,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257427,"byte_end":257432,"line_start":1013,"line_end":1013,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257455,"byte_end":257461,"line_start":1013,"line_end":1013,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874266}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257480,"byte_end":257486,"line_start":1014,"line_end":1014,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874266}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257488,"byte_end":257495,"line_start":1014,"line_end":1014,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752922}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257566,"byte_end":257575,"line_start":1015,"line_end":1015,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257554,"byte_end":257564,"line_start":1015,"line_end":1015,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257547,"byte_end":257552,"line_start":1015,"line_end":1015,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257576,"byte_end":257583,"line_start":1015,"line_end":1015,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752922}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257624,"byte_end":257630,"line_start":1016,"line_end":1016,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874266}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257659,"byte_end":257668,"line_start":1016,"line_end":1016,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257648,"byte_end":257655,"line_start":1016,"line_end":1016,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257632,"byte_end":257640,"line_start":1016,"line_end":1016,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441498}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257641,"byte_end":257647,"line_start":1016,"line_end":1016,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257738,"byte_end":257748,"line_start":1019,"line_end":1019,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257731,"byte_end":257736,"line_start":1019,"line_end":1019,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257759,"byte_end":257765,"line_start":1019,"line_end":1019,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600922}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257784,"byte_end":257790,"line_start":1020,"line_end":1020,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600922}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257792,"byte_end":257799,"line_start":1020,"line_end":1020,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580698}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257870,"byte_end":257879,"line_start":1021,"line_end":1021,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257858,"byte_end":257868,"line_start":1021,"line_end":1021,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":257851,"byte_end":257856,"line_start":1021,"line_end":1021,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257880,"byte_end":257887,"line_start":1021,"line_end":1021,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580698}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257928,"byte_end":257934,"line_start":1022,"line_end":1022,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600922}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257963,"byte_end":257972,"line_start":1022,"line_end":1022,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":257952,"byte_end":257959,"line_start":1022,"line_end":1022,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257936,"byte_end":257944,"line_start":1022,"line_end":1022,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409818}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":257945,"byte_end":257951,"line_start":1022,"line_end":1022,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258089,"byte_end":258099,"line_start":1025,"line_end":1025,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258082,"byte_end":258087,"line_start":1025,"line_end":1025,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258110,"byte_end":258116,"line_start":1025,"line_end":1025,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":494931226}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258135,"byte_end":258141,"line_start":1026,"line_end":1026,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494931226}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258143,"byte_end":258150,"line_start":1026,"line_end":1026,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3414166810}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258221,"byte_end":258230,"line_start":1027,"line_end":1027,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258209,"byte_end":258219,"line_start":1027,"line_end":1027,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258202,"byte_end":258207,"line_start":1027,"line_end":1027,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258231,"byte_end":258238,"line_start":1027,"line_end":1027,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3414166810}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258279,"byte_end":258285,"line_start":1028,"line_end":1028,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":494931226}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258314,"byte_end":258323,"line_start":1028,"line_end":1028,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258303,"byte_end":258310,"line_start":1028,"line_end":1028,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258287,"byte_end":258295,"line_start":1028,"line_end":1028,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4232056090}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258296,"byte_end":258302,"line_start":1028,"line_end":1028,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258393,"byte_end":258403,"line_start":1031,"line_end":1031,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258386,"byte_end":258391,"line_start":1031,"line_end":1031,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258414,"byte_end":258420,"line_start":1031,"line_end":1031,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1228934426}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258439,"byte_end":258445,"line_start":1032,"line_end":1032,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1228934426}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258447,"byte_end":258454,"line_start":1032,"line_end":1032,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3040873754}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258525,"byte_end":258534,"line_start":1033,"line_end":1033,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258513,"byte_end":258523,"line_start":1033,"line_end":1033,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258506,"byte_end":258511,"line_start":1033,"line_end":1033,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258535,"byte_end":258542,"line_start":1033,"line_end":1033,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3040873754}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258583,"byte_end":258589,"line_start":1034,"line_end":1034,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1228934426}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258618,"byte_end":258627,"line_start":1034,"line_end":1034,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258607,"byte_end":258614,"line_start":1034,"line_end":1034,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258591,"byte_end":258599,"line_start":1034,"line_end":1034,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2562723098}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258600,"byte_end":258606,"line_start":1034,"line_end":1034,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258749,"byte_end":258759,"line_start":1037,"line_end":1037,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258742,"byte_end":258747,"line_start":1037,"line_end":1037,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258770,"byte_end":258776,"line_start":1037,"line_end":1037,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":918555930}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258795,"byte_end":258801,"line_start":1038,"line_end":1038,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":918555930}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258803,"byte_end":258810,"line_start":1038,"line_end":1038,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3787459866}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258881,"byte_end":258890,"line_start":1039,"line_end":1039,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258869,"byte_end":258879,"line_start":1039,"line_end":1039,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":258862,"byte_end":258867,"line_start":1039,"line_end":1039,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258891,"byte_end":258898,"line_start":1039,"line_end":1039,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3787459866}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258939,"byte_end":258945,"line_start":1040,"line_end":1040,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":918555930}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258974,"byte_end":258983,"line_start":1040,"line_end":1040,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":258963,"byte_end":258970,"line_start":1040,"line_end":1040,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258947,"byte_end":258955,"line_start":1040,"line_end":1040,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3485469978}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":258956,"byte_end":258962,"line_start":1040,"line_end":1040,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259054,"byte_end":259064,"line_start":1043,"line_end":1043,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259047,"byte_end":259052,"line_start":1043,"line_end":1043,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259075,"byte_end":259081,"line_start":1043,"line_end":1043,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1646267674}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259100,"byte_end":259106,"line_start":1044,"line_end":1044,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1646267674}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259108,"byte_end":259115,"line_start":1044,"line_end":1044,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2250247450}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":259186,"byte_end":259195,"line_start":1045,"line_end":1045,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259174,"byte_end":259184,"line_start":1045,"line_end":1045,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259167,"byte_end":259172,"line_start":1045,"line_end":1045,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259196,"byte_end":259203,"line_start":1045,"line_end":1045,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2250247450}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259244,"byte_end":259250,"line_start":1046,"line_end":1046,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1646267674}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":259279,"byte_end":259288,"line_start":1046,"line_end":1046,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":259268,"byte_end":259275,"line_start":1046,"line_end":1046,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259252,"byte_end":259260,"line_start":1046,"line_end":1046,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3005222170}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259261,"byte_end":259267,"line_start":1046,"line_end":1046,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259302,"byte_end":259304,"line_start":1048,"line_end":1048,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259349,"byte_end":259355,"line_start":1053,"line_end":1053,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259360,"byte_end":259368,"line_start":1053,"line_end":1053,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259473,"byte_end":259483,"line_start":1055,"line_end":1055,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259466,"byte_end":259471,"line_start":1055,"line_end":1055,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259494,"byte_end":259500,"line_start":1055,"line_end":1055,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874270}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259521,"byte_end":259528,"line_start":1056,"line_end":1056,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752926}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259540,"byte_end":259544,"line_start":1056,"line_end":1056,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259576,"byte_end":259582,"line_start":1057,"line_end":1057,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259563,"byte_end":259569,"line_start":1057,"line_end":1057,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":335547678}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":259609,"byte_end":259612,"line_start":1057,"line_end":1057,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259601,"byte_end":259607,"line_start":1057,"line_end":1057,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259745,"byte_end":259755,"line_start":1060,"line_end":1060,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259738,"byte_end":259743,"line_start":1060,"line_end":1060,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259766,"byte_end":259772,"line_start":1060,"line_end":1060,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2701135134}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259793,"byte_end":259800,"line_start":1061,"line_end":1061,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":83889438}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259812,"byte_end":259816,"line_start":1061,"line_end":1061,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259848,"byte_end":259854,"line_start":1062,"line_end":1062,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":259835,"byte_end":259841,"line_start":1062,"line_end":1062,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2499808542}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":259881,"byte_end":259884,"line_start":1062,"line_end":1062,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":259873,"byte_end":259879,"line_start":1062,"line_end":1062,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260032,"byte_end":260042,"line_start":1065,"line_end":1065,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260025,"byte_end":260030,"line_start":1065,"line_end":1065,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260053,"byte_end":260059,"line_start":1065,"line_end":1065,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1619004702}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260080,"byte_end":260087,"line_start":1066,"line_end":1066,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":2222984478}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260099,"byte_end":260103,"line_start":1066,"line_end":1066,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260135,"byte_end":260141,"line_start":1067,"line_end":1067,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260122,"byte_end":260128,"line_start":1067,"line_end":1067,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1417678110}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":260168,"byte_end":260171,"line_start":1067,"line_end":1067,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260160,"byte_end":260166,"line_start":1067,"line_end":1067,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260212,"byte_end":260214,"line_start":1069,"line_end":1069,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260275,"byte_end":260281,"line_start":1073,"line_end":1073,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260286,"byte_end":260294,"line_start":1073,"line_end":1073,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260362,"byte_end":260372,"line_start":1075,"line_end":1075,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260355,"byte_end":260360,"line_start":1075,"line_end":1075,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260383,"byte_end":260389,"line_start":1075,"line_end":1075,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874274}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260414,"byte_end":260421,"line_start":1076,"line_end":1076,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752930}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260433,"byte_end":260437,"line_start":1076,"line_end":1076,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260444,"byte_end":260450,"line_start":1077,"line_end":1077,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547682}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":260468,"byte_end":260471,"line_start":1077,"line_end":1077,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260460,"byte_end":260466,"line_start":1077,"line_end":1077,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260522,"byte_end":260528,"line_start":1078,"line_end":1078,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260509,"byte_end":260515,"line_start":1078,"line_end":1078,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":335547682}},{"kind":"Function","span":{"file_name":"src/pointer/geo.rs","byte_start":260555,"byte_end":260558,"line_start":1078,"line_end":1078,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":744}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260547,"byte_end":260553,"line_start":1078,"line_end":1078,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260583,"byte_end":260589,"line_start":1079,"line_end":1079,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547682}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260642,"byte_end":260648,"line_start":1081,"line_end":1081,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260629,"byte_end":260635,"line_start":1081,"line_end":1081,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":335547682}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260670,"byte_end":260674,"line_start":1082,"line_end":1082,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260670,"byte_end":260674,"line_start":1082,"line_end":1082,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260701,"byte_end":260705,"line_start":1083,"line_end":1083,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260701,"byte_end":260705,"line_start":1083,"line_end":1083,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260737,"byte_end":260743,"line_start":1087,"line_end":1087,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547682}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260752,"byte_end":260756,"line_start":1087,"line_end":1087,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/geo.rs","byte_start":260775,"byte_end":260781,"line_start":1088,"line_end":1088,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547682}},{"kind":"Type","span":{"file_name":"src/pointer/geo.rs","byte_start":260826,"byte_end":260828,"line_start":1090,"line_end":1090,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57410,"byte_end":57413,"line_start":20,"line_end":20,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":793}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263483,"byte_end":263488,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263491,"byte_end":263497,"line_start":63,"line_end":63,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263483,"byte_end":263488,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263507,"byte_end":263511,"line_start":63,"line_end":63,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263523,"byte_end":263528,"line_start":64,"line_end":64,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263560,"byte_end":263563,"line_start":65,"line_end":65,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263560,"byte_end":263563,"line_start":65,"line_end":65,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263586,"byte_end":263592,"line_start":65,"line_end":65,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263586,"byte_end":263592,"line_start":65,"line_end":65,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":263552,"byte_end":263557,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2732}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263624,"byte_end":263629,"line_start":65,"line_end":65,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263647,"byte_end":263652,"line_start":66,"line_end":66,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263654,"byte_end":263660,"line_start":66,"line_end":66,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263686,"byte_end":263691,"line_start":67,"line_end":67,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263693,"byte_end":263696,"line_start":67,"line_end":67,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":263707,"byte_end":263712,"line_start":68,"line_end":68,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2731}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263714,"byte_end":263719,"line_start":68,"line_end":68,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263738,"byte_end":263743,"line_start":69,"line_end":69,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263745,"byte_end":263754,"line_start":69,"line_end":69,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263738,"byte_end":263743,"line_start":69,"line_end":69,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263745,"byte_end":263754,"line_start":69,"line_end":69,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263778,"byte_end":263783,"line_start":70,"line_end":70,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263785,"byte_end":263791,"line_start":70,"line_end":70,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263812,"byte_end":263817,"line_start":71,"line_end":71,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263820,"byte_end":263827,"line_start":71,"line_end":71,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263812,"byte_end":263817,"line_start":71,"line_end":71,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263839,"byte_end":263844,"line_start":71,"line_end":71,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263861,"byte_end":263865,"line_start":72,"line_end":72,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263868,"byte_end":263871,"line_start":72,"line_end":72,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263888,"byte_end":263893,"line_start":74,"line_end":74,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263895,"byte_end":263901,"line_start":74,"line_end":74,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263916,"byte_end":263921,"line_start":75,"line_end":75,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":263940,"byte_end":263945,"line_start":76,"line_end":76,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263962,"byte_end":263967,"line_start":77,"line_end":77,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":263969,"byte_end":263975,"line_start":77,"line_end":77,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264210,"byte_end":264213,"line_start":86,"line_end":86,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264264,"byte_end":264267,"line_start":88,"line_end":88,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3365}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264295,"byte_end":264304,"line_start":91,"line_end":91,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264288,"byte_end":264293,"line_start":91,"line_end":91,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264403,"byte_end":264408,"line_start":92,"line_end":92,"column_start":78,"column_end":83},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264357,"byte_end":264373,"line_start":92,"line_end":92,"column_start":32,"column_end":48},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264378,"byte_end":264384,"line_start":92,"line_end":92,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264443,"byte_end":264449,"line_start":93,"line_end":93,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742694}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264450,"byte_end":264454,"line_start":93,"line_end":93,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264465,"byte_end":264476,"line_start":93,"line_end":93,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264489,"byte_end":264493,"line_start":94,"line_end":94,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264494,"byte_end":264500,"line_start":94,"line_end":94,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264503,"byte_end":264506,"line_start":94,"line_end":94,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264508,"byte_end":264512,"line_start":94,"line_end":94,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2281702246}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264513,"byte_end":264516,"line_start":94,"line_end":94,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264518,"byte_end":264521,"line_start":94,"line_end":94,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264563,"byte_end":264572,"line_start":97,"line_end":97,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264583,"byte_end":264592,"line_start":97,"line_end":97,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264597,"byte_end":264603,"line_start":97,"line_end":97,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264651,"byte_end":264661,"line_start":98,"line_end":98,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264644,"byte_end":264650,"line_start":98,"line_end":98,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871783}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264662,"byte_end":264668,"line_start":98,"line_end":98,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264669,"byte_end":264680,"line_start":98,"line_end":98,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264682,"byte_end":264686,"line_start":98,"line_end":98,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264697,"byte_end":264708,"line_start":98,"line_end":98,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264721,"byte_end":264725,"line_start":99,"line_end":99,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264734,"byte_end":264737,"line_start":99,"line_end":99,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264726,"byte_end":264732,"line_start":99,"line_end":99,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264743,"byte_end":264746,"line_start":99,"line_end":99,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":23603}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264748,"byte_end":264752,"line_start":99,"line_end":99,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":402654055}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264753,"byte_end":264756,"line_start":99,"line_end":99,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":4012}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264795,"byte_end":264804,"line_start":102,"line_end":102,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264815,"byte_end":264824,"line_start":102,"line_end":102,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264829,"byte_end":264835,"line_start":102,"line_end":102,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264883,"byte_end":264893,"line_start":103,"line_end":103,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264876,"byte_end":264882,"line_start":103,"line_end":103,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871784}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264894,"byte_end":264900,"line_start":103,"line_end":103,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742696}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264901,"byte_end":264912,"line_start":103,"line_end":103,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264914,"byte_end":264918,"line_start":103,"line_end":103,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264929,"byte_end":264940,"line_start":103,"line_end":103,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264953,"byte_end":264957,"line_start":104,"line_end":104,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":264966,"byte_end":264969,"line_start":104,"line_end":104,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":264958,"byte_end":264964,"line_start":104,"line_end":104,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264975,"byte_end":264978,"line_start":104,"line_end":104,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":23602}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264980,"byte_end":264984,"line_start":104,"line_end":104,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":402654056}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":264985,"byte_end":264988,"line_start":104,"line_end":104,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":4012}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265438,"byte_end":265442,"line_start":122,"line_end":122,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265443,"byte_end":265446,"line_start":122,"line_end":122,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265478,"byte_end":265482,"line_start":123,"line_end":123,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742698}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265483,"byte_end":265486,"line_start":123,"line_end":123,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265528,"byte_end":265532,"line_start":125,"line_end":125,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":2281702250}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265551,"byte_end":265552,"line_start":126,"line_end":126,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2818573162}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265575,"byte_end":265579,"line_start":127,"line_end":127,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":2281702250}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265604,"byte_end":265605,"line_start":129,"line_end":129,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3489661802}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":265608,"byte_end":265609,"line_start":129,"line_end":129,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2818573162}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":266396,"byte_end":266402,"line_start":148,"line_end":148,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266424,"byte_end":266428,"line_start":149,"line_end":149,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266429,"byte_end":266432,"line_start":149,"line_end":149,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266442,"byte_end":266449,"line_start":149,"line_end":149,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":536871787}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":266487,"byte_end":266490,"line_start":151,"line_end":151,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":23690}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266491,"byte_end":266495,"line_start":151,"line_end":151,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3355444075}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266510,"byte_end":266514,"line_start":153,"line_end":153,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266515,"byte_end":266518,"line_start":153,"line_end":153,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266522,"byte_end":266529,"line_start":153,"line_end":153,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":536871787}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266540,"byte_end":266544,"line_start":153,"line_end":153,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266559,"byte_end":266563,"line_start":155,"line_end":155,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3355444075}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266615,"byte_end":266619,"line_start":156,"line_end":156,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":3087008619}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266642,"byte_end":266646,"line_start":157,"line_end":157,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266647,"byte_end":266650,"line_start":157,"line_end":157,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266674,"byte_end":266678,"line_start":158,"line_end":158,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3087008619}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266759,"byte_end":266763,"line_start":161,"line_end":161,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":3087008619}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266786,"byte_end":266790,"line_start":162,"line_end":162,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266791,"byte_end":266794,"line_start":162,"line_end":162,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266818,"byte_end":266822,"line_start":163,"line_end":163,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3087008619}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266872,"byte_end":266879,"line_start":167,"line_end":167,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":536871787}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266861,"byte_end":266865,"line_start":167,"line_end":167,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266866,"byte_end":266869,"line_start":167,"line_end":167,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":266899,"byte_end":266903,"line_start":169,"line_end":169,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073742699}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":267818,"byte_end":267824,"line_start":199,"line_end":199,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267827,"byte_end":267830,"line_start":199,"line_end":199,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267827,"byte_end":267830,"line_start":199,"line_end":199,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1073742700}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267832,"byte_end":267835,"line_start":199,"line_end":199,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":267832,"byte_end":267835,"line_start":199,"line_end":199,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":536871788}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":268534,"byte_end":268540,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":268545,"byte_end":268551,"line_start":218,"line_end":218,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":268589,"byte_end":268594,"line_start":219,"line_end":219,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268583,"byte_end":268588,"line_start":219,"line_end":219,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":536871789}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268610,"byte_end":268620,"line_start":221,"line_end":221,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3489661805}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268621,"byte_end":268624,"line_start":221,"line_end":221,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268628,"byte_end":268632,"line_start":221,"line_end":221,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268633,"byte_end":268636,"line_start":221,"line_end":221,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268658,"byte_end":268668,"line_start":222,"line_end":222,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":3489661805}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":268699,"byte_end":268708,"line_start":225,"line_end":225,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":875}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268688,"byte_end":268698,"line_start":225,"line_end":225,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3489661805}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268709,"byte_end":268713,"line_start":225,"line_end":225,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268714,"byte_end":268717,"line_start":225,"line_end":225,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":268729,"byte_end":268739,"line_start":227,"line_end":227,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3489661805}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269052,"byte_end":269056,"line_start":240,"line_end":240,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073742702}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269057,"byte_end":269060,"line_start":240,"line_end":240,"column_start":15,"column_end":18},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269062,"byte_end":269066,"line_start":240,"line_end":240,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742702}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269067,"byte_end":269070,"line_start":240,"line_end":240,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3365}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269694,"byte_end":269703,"line_start":264,"line_end":264,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":2675}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":269683,"byte_end":269687,"line_start":264,"line_end":264,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":269689,"byte_end":269692,"line_start":264,"line_end":264,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":269742,"byte_end":269748,"line_start":265,"line_end":265,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269771,"byte_end":269775,"line_start":266,"line_end":266,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269776,"byte_end":269779,"line_start":266,"line_end":266,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269783,"byte_end":269788,"line_start":266,"line_end":266,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269789,"byte_end":269792,"line_start":266,"line_end":266,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269814,"byte_end":269818,"line_start":267,"line_end":267,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269819,"byte_end":269822,"line_start":267,"line_end":267,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269826,"byte_end":269831,"line_start":267,"line_end":267,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269832,"byte_end":269835,"line_start":267,"line_end":267,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269885,"byte_end":269888,"line_start":270,"line_end":270,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269889,"byte_end":269893,"line_start":270,"line_end":270,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269894,"byte_end":269897,"line_start":270,"line_end":270,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269899,"byte_end":269904,"line_start":270,"line_end":270,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269905,"byte_end":269908,"line_start":270,"line_end":270,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269941,"byte_end":269948,"line_start":271,"line_end":271,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269952,"byte_end":269956,"line_start":271,"line_end":271,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269957,"byte_end":269960,"line_start":271,"line_end":271,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269964,"byte_end":269968,"line_start":271,"line_end":271,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269991,"byte_end":270000,"line_start":271,"line_end":271,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":875}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":269983,"byte_end":269988,"line_start":271,"line_end":271,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":269978,"byte_end":269982,"line_start":271,"line_end":271,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073742704}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270001,"byte_end":270008,"line_start":271,"line_end":271,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270044,"byte_end":270051,"line_start":272,"line_end":272,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270055,"byte_end":270060,"line_start":272,"line_end":272,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270061,"byte_end":270064,"line_start":272,"line_end":272,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270068,"byte_end":270073,"line_start":272,"line_end":272,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":536871792}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270097,"byte_end":270106,"line_start":272,"line_end":272,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":875}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270089,"byte_end":270094,"line_start":272,"line_end":272,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270083,"byte_end":270088,"line_start":272,"line_end":272,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":536871792}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270107,"byte_end":270114,"line_start":272,"line_end":272,"column_start":95,"column_end":102},"ref_id":{"krate":0,"index":2751464304}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270139,"byte_end":270147,"line_start":274,"line_end":274,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":4227859312}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270148,"byte_end":270151,"line_start":274,"line_end":274,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270155,"byte_end":270164,"line_start":274,"line_end":274,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":2583692144}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270165,"byte_end":270168,"line_start":274,"line_end":274,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":270211,"byte_end":270217,"line_start":277,"line_end":277,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270241,"byte_end":270245,"line_start":278,"line_end":278,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270246,"byte_end":270249,"line_start":278,"line_end":278,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270253,"byte_end":270258,"line_start":278,"line_end":278,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871793}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270259,"byte_end":270262,"line_start":278,"line_end":278,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270284,"byte_end":270288,"line_start":279,"line_end":279,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270289,"byte_end":270292,"line_start":279,"line_end":279,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270296,"byte_end":270301,"line_start":279,"line_end":279,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871793}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270302,"byte_end":270305,"line_start":279,"line_end":279,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270355,"byte_end":270358,"line_start":282,"line_end":282,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270359,"byte_end":270363,"line_start":282,"line_end":282,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270364,"byte_end":270367,"line_start":282,"line_end":282,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270369,"byte_end":270374,"line_start":282,"line_end":282,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536871793}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270375,"byte_end":270378,"line_start":282,"line_end":282,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270411,"byte_end":270418,"line_start":283,"line_end":283,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":2751464305}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270422,"byte_end":270426,"line_start":283,"line_end":283,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270427,"byte_end":270430,"line_start":283,"line_end":283,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270434,"byte_end":270438,"line_start":283,"line_end":283,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270461,"byte_end":270470,"line_start":283,"line_end":283,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":875}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270453,"byte_end":270458,"line_start":283,"line_end":283,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270448,"byte_end":270452,"line_start":283,"line_end":283,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073742705}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270471,"byte_end":270478,"line_start":283,"line_end":283,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":2751464305}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270514,"byte_end":270521,"line_start":284,"line_end":284,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2751464305}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270525,"byte_end":270530,"line_start":284,"line_end":284,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":536871793}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270531,"byte_end":270534,"line_start":284,"line_end":284,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270538,"byte_end":270543,"line_start":284,"line_end":284,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":536871793}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270567,"byte_end":270576,"line_start":284,"line_end":284,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":875}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":270559,"byte_end":270564,"line_start":284,"line_end":284,"column_start":77,"column_end":82},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270553,"byte_end":270558,"line_start":284,"line_end":284,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":536871793}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270577,"byte_end":270584,"line_start":284,"line_end":284,"column_start":95,"column_end":102},"ref_id":{"krate":0,"index":2751464305}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270609,"byte_end":270617,"line_start":286,"line_end":286,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":4227859313}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270618,"byte_end":270621,"line_start":286,"line_end":286,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270625,"byte_end":270634,"line_start":286,"line_end":286,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":2583692145}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":270635,"byte_end":270638,"line_start":286,"line_end":286,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271246,"byte_end":271256,"line_start":310,"line_end":310,"column_start":17,"column_end":27},"ref_id":{"krate":1,"index":2722}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":271235,"byte_end":271239,"line_start":310,"line_end":310,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":271241,"byte_end":271244,"line_start":310,"line_end":310,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271296,"byte_end":271302,"line_start":312,"line_end":312,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271325,"byte_end":271329,"line_start":313,"line_end":313,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271330,"byte_end":271333,"line_start":313,"line_end":313,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271337,"byte_end":271342,"line_start":313,"line_end":313,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271343,"byte_end":271346,"line_start":313,"line_end":313,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271368,"byte_end":271372,"line_start":314,"line_end":314,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271373,"byte_end":271376,"line_start":314,"line_end":314,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271379,"byte_end":271384,"line_start":314,"line_end":314,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271385,"byte_end":271388,"line_start":314,"line_end":314,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271440,"byte_end":271449,"line_start":316,"line_end":316,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271435,"byte_end":271439,"line_start":316,"line_end":316,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271450,"byte_end":271455,"line_start":316,"line_end":316,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871795}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271477,"byte_end":271481,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742707}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271482,"byte_end":271485,"line_start":317,"line_end":317,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271488,"byte_end":271497,"line_start":317,"line_end":317,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":67109747}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271498,"byte_end":271501,"line_start":317,"line_end":317,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271545,"byte_end":271551,"line_start":321,"line_end":321,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271574,"byte_end":271578,"line_start":322,"line_end":322,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271579,"byte_end":271582,"line_start":322,"line_end":322,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271586,"byte_end":271591,"line_start":322,"line_end":322,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271592,"byte_end":271595,"line_start":322,"line_end":322,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271617,"byte_end":271621,"line_start":323,"line_end":323,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271622,"byte_end":271625,"line_start":323,"line_end":323,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271629,"byte_end":271634,"line_start":323,"line_end":323,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271635,"byte_end":271638,"line_start":323,"line_end":323,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271690,"byte_end":271699,"line_start":325,"line_end":325,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271685,"byte_end":271689,"line_start":325,"line_end":325,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271700,"byte_end":271705,"line_start":325,"line_end":325,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271727,"byte_end":271731,"line_start":326,"line_end":326,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271732,"byte_end":271735,"line_start":326,"line_end":326,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271739,"byte_end":271748,"line_start":326,"line_end":326,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":67109748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271749,"byte_end":271752,"line_start":326,"line_end":326,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":271796,"byte_end":271802,"line_start":330,"line_end":330,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271825,"byte_end":271829,"line_start":331,"line_end":331,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271830,"byte_end":271833,"line_start":331,"line_end":331,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271837,"byte_end":271842,"line_start":331,"line_end":331,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271843,"byte_end":271846,"line_start":331,"line_end":331,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271868,"byte_end":271872,"line_start":332,"line_end":332,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271873,"byte_end":271876,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271879,"byte_end":271884,"line_start":332,"line_end":332,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271885,"byte_end":271888,"line_start":332,"line_end":332,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":271940,"byte_end":271949,"line_start":334,"line_end":334,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271935,"byte_end":271939,"line_start":334,"line_end":334,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271950,"byte_end":271955,"line_start":334,"line_end":334,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871797}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271977,"byte_end":271981,"line_start":335,"line_end":335,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271982,"byte_end":271985,"line_start":335,"line_end":335,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271988,"byte_end":271997,"line_start":335,"line_end":335,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":67109749}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":271998,"byte_end":272001,"line_start":335,"line_end":335,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272045,"byte_end":272051,"line_start":339,"line_end":339,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272074,"byte_end":272078,"line_start":340,"line_end":340,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272079,"byte_end":272082,"line_start":340,"line_end":340,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272086,"byte_end":272091,"line_start":340,"line_end":340,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272092,"byte_end":272095,"line_start":340,"line_end":340,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272117,"byte_end":272121,"line_start":341,"line_end":341,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272122,"byte_end":272125,"line_start":341,"line_end":341,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272129,"byte_end":272134,"line_start":341,"line_end":341,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272135,"byte_end":272138,"line_start":341,"line_end":341,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":272190,"byte_end":272199,"line_start":343,"line_end":343,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272185,"byte_end":272189,"line_start":343,"line_end":343,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272200,"byte_end":272205,"line_start":343,"line_end":343,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871798}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272227,"byte_end":272231,"line_start":344,"line_end":344,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073742710}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272232,"byte_end":272235,"line_start":344,"line_end":344,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272239,"byte_end":272248,"line_start":344,"line_end":344,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":67109750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272249,"byte_end":272252,"line_start":344,"line_end":344,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272305,"byte_end":272311,"line_start":348,"line_end":348,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272316,"byte_end":272322,"line_start":348,"line_end":348,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272334,"byte_end":272342,"line_start":348,"line_end":348,"column_start":64,"column_end":72},"ref_id":{"krate":1,"index":29620}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272323,"byte_end":272327,"line_start":348,"line_end":348,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272329,"byte_end":272332,"line_start":348,"line_end":348,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2673}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272372,"byte_end":272376,"line_start":350,"line_end":350,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742711}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272377,"byte_end":272380,"line_start":350,"line_end":350,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272384,"byte_end":272389,"line_start":350,"line_end":350,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536871799}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272390,"byte_end":272393,"line_start":350,"line_end":350,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272409,"byte_end":272413,"line_start":351,"line_end":351,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073742711}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272414,"byte_end":272417,"line_start":351,"line_end":351,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272419,"byte_end":272424,"line_start":351,"line_end":351,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871799}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272425,"byte_end":272428,"line_start":351,"line_end":351,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":272480,"byte_end":272489,"line_start":353,"line_end":353,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272475,"byte_end":272479,"line_start":353,"line_end":353,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073742711}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272490,"byte_end":272495,"line_start":353,"line_end":353,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":536871799}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272511,"byte_end":272515,"line_start":354,"line_end":354,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073742711}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272516,"byte_end":272519,"line_start":354,"line_end":354,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272521,"byte_end":272530,"line_start":354,"line_end":354,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":4160750455}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272531,"byte_end":272534,"line_start":354,"line_end":354,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272559,"byte_end":272560,"line_start":357,"line_end":357,"column_start":12,"column_end":13},"ref_id":{"krate":0,"index":3556770679}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272563,"byte_end":272564,"line_start":357,"line_end":357,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":872416119}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272586,"byte_end":272590,"line_start":358,"line_end":358,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272612,"byte_end":272619,"line_start":358,"line_end":358,"column_start":46,"column_end":53},"ref_id":{"krate":1,"index":29627}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272591,"byte_end":272595,"line_start":358,"line_end":358,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272597,"byte_end":272600,"line_start":358,"line_end":358,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272602,"byte_end":272610,"line_start":358,"line_end":358,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272640,"byte_end":272641,"line_start":359,"line_end":359,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3556770679}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272644,"byte_end":272645,"line_start":359,"line_end":359,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":872416119}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272667,"byte_end":272671,"line_start":360,"line_end":360,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272693,"byte_end":272697,"line_start":360,"line_end":360,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":29621}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272672,"byte_end":272676,"line_start":360,"line_end":360,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272678,"byte_end":272681,"line_start":360,"line_end":360,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272683,"byte_end":272691,"line_start":360,"line_end":360,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272718,"byte_end":272719,"line_start":361,"line_end":361,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":3556770679}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":272723,"byte_end":272724,"line_start":361,"line_end":361,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":872416119}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272746,"byte_end":272750,"line_start":362,"line_end":362,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272772,"byte_end":272777,"line_start":362,"line_end":362,"column_start":46,"column_end":51},"ref_id":{"krate":1,"index":29624}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272751,"byte_end":272755,"line_start":362,"line_end":362,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":272757,"byte_end":272760,"line_start":362,"line_end":362,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":2673}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272762,"byte_end":272770,"line_start":362,"line_end":362,"column_start":36,"column_end":44},"ref_id":{"krate":1,"index":29620}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":272806,"byte_end":272810,"line_start":365,"line_end":365,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273051,"byte_end":273055,"line_start":379,"line_end":379,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273133,"byte_end":273137,"line_start":381,"line_end":381,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073742713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273138,"byte_end":273141,"line_start":381,"line_end":381,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273170,"byte_end":273174,"line_start":382,"line_end":382,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073742713}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273175,"byte_end":273178,"line_start":382,"line_end":382,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273194,"byte_end":273202,"line_start":383,"line_end":383,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1879049081}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273221,"byte_end":273233,"line_start":384,"line_end":384,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":268436345}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273253,"byte_end":273261,"line_start":385,"line_end":385,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1879049081}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273286,"byte_end":273298,"line_start":387,"line_end":387,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":268436345}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273505,"byte_end":273509,"line_start":400,"line_end":400,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273510,"byte_end":273516,"line_start":400,"line_end":400,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273549,"byte_end":273555,"line_start":401,"line_end":401,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":273575,"byte_end":273578,"line_start":402,"line_end":402,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273567,"byte_end":273573,"line_start":402,"line_end":402,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273579,"byte_end":273583,"line_start":402,"line_end":402,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073742715}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":273834,"byte_end":273838,"line_start":416,"line_end":416,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273916,"byte_end":273920,"line_start":418,"line_end":418,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073742717}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273921,"byte_end":273924,"line_start":418,"line_end":418,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273953,"byte_end":273957,"line_start":419,"line_end":419,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073742717}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273958,"byte_end":273961,"line_start":419,"line_end":419,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":273977,"byte_end":273985,"line_start":420,"line_end":420,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1879049085}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274004,"byte_end":274016,"line_start":421,"line_end":421,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":268436349}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274036,"byte_end":274044,"line_start":422,"line_end":422,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1879049085}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274069,"byte_end":274081,"line_start":424,"line_end":424,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":268436349}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274274,"byte_end":274278,"line_start":437,"line_end":437,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274279,"byte_end":274285,"line_start":437,"line_end":437,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274318,"byte_end":274324,"line_start":438,"line_end":438,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274344,"byte_end":274347,"line_start":439,"line_end":439,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274336,"byte_end":274342,"line_start":439,"line_end":439,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274348,"byte_end":274352,"line_start":439,"line_end":439,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073742719}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274417,"byte_end":274418,"line_start":446,"line_end":446,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274427,"byte_end":274428,"line_start":446,"line_end":446,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274444,"byte_end":274445,"line_start":446,"line_end":446,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":1073742720}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274512,"byte_end":274515,"line_start":448,"line_end":448,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":255}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274485,"byte_end":274488,"line_start":448,"line_end":448,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":254}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274479,"byte_end":274484,"line_start":448,"line_end":448,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892315008}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274500,"byte_end":274503,"line_start":448,"line_end":448,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16302}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274489,"byte_end":274493,"line_start":448,"line_end":448,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274495,"byte_end":274498,"line_start":448,"line_end":448,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274527,"byte_end":274530,"line_start":448,"line_end":448,"column_start":72,"column_end":75},"ref_id":{"krate":1,"index":16303}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274516,"byte_end":274520,"line_start":448,"line_end":448,"column_start":61,"column_end":65},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274522,"byte_end":274525,"line_start":448,"line_end":448,"column_start":67,"column_end":70},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274546,"byte_end":274558,"line_start":450,"line_end":450,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":1946157952}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274626,"byte_end":274627,"line_start":454,"line_end":454,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742721}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274636,"byte_end":274637,"line_start":454,"line_end":454,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1073742721}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274653,"byte_end":274654,"line_start":454,"line_end":454,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":1073742721}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274721,"byte_end":274724,"line_start":456,"line_end":456,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":155}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274694,"byte_end":274697,"line_start":456,"line_end":456,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":154}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274688,"byte_end":274693,"line_start":456,"line_end":456,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3892315009}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274709,"byte_end":274712,"line_start":456,"line_end":456,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16302}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274698,"byte_end":274702,"line_start":456,"line_end":456,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274704,"byte_end":274707,"line_start":456,"line_end":456,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274736,"byte_end":274739,"line_start":456,"line_end":456,"column_start":72,"column_end":75},"ref_id":{"krate":1,"index":16303}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274725,"byte_end":274729,"line_start":456,"line_end":456,"column_start":61,"column_end":65},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274731,"byte_end":274734,"line_start":456,"line_end":456,"column_start":67,"column_end":70},"ref_id":{"krate":1,"index":68}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274755,"byte_end":274767,"line_start":458,"line_end":458,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":1946157953}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274832,"byte_end":274841,"line_start":462,"line_end":462,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274842,"byte_end":274843,"line_start":462,"line_end":462,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":1073742722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274853,"byte_end":274856,"line_start":462,"line_end":462,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":24201}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274857,"byte_end":274866,"line_start":462,"line_end":462,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":536871810}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":274885,"byte_end":274888,"line_start":462,"line_end":462,"column_start":58,"column_end":61},"ref_id":{"krate":1,"index":23570}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274889,"byte_end":274898,"line_start":462,"line_end":462,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":536871810}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274934,"byte_end":274940,"line_start":465,"line_end":465,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":274966,"byte_end":274986,"line_start":466,"line_end":466,"column_start":19,"column_end":39},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274966,"byte_end":274967,"line_start":466,"line_end":466,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274969,"byte_end":274986,"line_start":466,"line_end":466,"column_start":22,"column_end":39},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":274980,"byte_end":274986,"line_start":466,"line_end":466,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274969,"byte_end":274973,"line_start":466,"line_end":466,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":274975,"byte_end":274978,"line_start":466,"line_end":466,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":176}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275000,"byte_end":275005,"line_start":467,"line_end":467,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":898}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275006,"byte_end":275007,"line_start":467,"line_end":467,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":1073742723}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275009,"byte_end":275015,"line_start":467,"line_end":467,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3489661827}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275020,"byte_end":275021,"line_start":467,"line_end":467,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":1073742723}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275043,"byte_end":275047,"line_start":468,"line_end":468,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275048,"byte_end":275054,"line_start":468,"line_end":468,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3489661827}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275077,"byte_end":275081,"line_start":471,"line_end":471,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275133,"byte_end":275142,"line_start":475,"line_end":475,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":897}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275143,"byte_end":275144,"line_start":475,"line_end":475,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":1073742724}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275154,"byte_end":275157,"line_start":475,"line_end":475,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":24201}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275158,"byte_end":275167,"line_start":475,"line_end":475,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":536871812}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275186,"byte_end":275189,"line_start":475,"line_end":475,"column_start":58,"column_end":61},"ref_id":{"krate":1,"index":23570}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275190,"byte_end":275199,"line_start":475,"line_end":475,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":536871812}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275237,"byte_end":275243,"line_start":478,"line_end":478,"column_start":27,"column_end":33},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275269,"byte_end":275289,"line_start":479,"line_end":479,"column_start":19,"column_end":39},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275269,"byte_end":275270,"line_start":479,"line_end":479,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275272,"byte_end":275289,"line_start":479,"line_end":479,"column_start":22,"column_end":39},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275283,"byte_end":275289,"line_start":479,"line_end":479,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":275272,"byte_end":275276,"line_start":479,"line_end":479,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":275278,"byte_end":275281,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":176}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275303,"byte_end":275310,"line_start":480,"line_end":480,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":900}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275311,"byte_end":275312,"line_start":480,"line_end":480,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1073742725}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275314,"byte_end":275320,"line_start":480,"line_end":480,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3489661829}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275325,"byte_end":275326,"line_start":480,"line_end":480,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1073742725}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275348,"byte_end":275352,"line_start":481,"line_end":481,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275353,"byte_end":275359,"line_start":481,"line_end":481,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3489661829}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275382,"byte_end":275386,"line_start":484,"line_end":484,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275593,"byte_end":275597,"line_start":496,"line_end":496,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275657,"byte_end":275665,"line_start":498,"line_end":498,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275652,"byte_end":275656,"line_start":498,"line_end":498,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742727}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275872,"byte_end":275876,"line_start":511,"line_end":511,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275877,"byte_end":275883,"line_start":511,"line_end":511,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275916,"byte_end":275922,"line_start":512,"line_end":512,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":275940,"byte_end":275949,"line_start":513,"line_end":513,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":899}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":275950,"byte_end":275954,"line_start":513,"line_end":513,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742729}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275970,"byte_end":275974,"line_start":514,"line_end":514,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":275970,"byte_end":275974,"line_start":514,"line_end":514,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276028,"byte_end":276031,"line_start":515,"line_end":515,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276032,"byte_end":276033,"line_start":515,"line_end":515,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2415920009}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276086,"byte_end":276091,"line_start":516,"line_end":516,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276081,"byte_end":276085,"line_start":516,"line_end":516,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073742729}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276130,"byte_end":276148,"line_start":517,"line_end":517,"column_start":36,"column_end":54},"ref_id":{"krate":0,"index":2550137737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276172,"byte_end":276180,"line_start":518,"line_end":518,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":2751464329}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276207,"byte_end":276215,"line_start":519,"line_end":519,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":67109769}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276246,"byte_end":276254,"line_start":520,"line_end":520,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":2751464329}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276307,"byte_end":276316,"line_start":522,"line_end":522,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276317,"byte_end":276325,"line_start":522,"line_end":522,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":67109769}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276366,"byte_end":276369,"line_start":523,"line_end":523,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276358,"byte_end":276364,"line_start":523,"line_end":523,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276370,"byte_end":276375,"line_start":523,"line_end":523,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2449474441}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276377,"byte_end":276395,"line_start":523,"line_end":523,"column_start":43,"column_end":61},"ref_id":{"krate":0,"index":2550137737}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276431,"byte_end":276435,"line_start":525,"line_end":525,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276431,"byte_end":276435,"line_start":525,"line_end":525,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276515,"byte_end":276524,"line_start":526,"line_end":526,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":896}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276525,"byte_end":276529,"line_start":526,"line_end":526,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742729}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276570,"byte_end":276573,"line_start":527,"line_end":527,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276562,"byte_end":276568,"line_start":527,"line_end":527,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276574,"byte_end":276579,"line_start":527,"line_end":527,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1711276937}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":276828,"byte_end":276832,"line_start":542,"line_end":542,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":276892,"byte_end":276900,"line_start":544,"line_end":544,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":276887,"byte_end":276891,"line_start":544,"line_end":544,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073742731}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277121,"byte_end":277125,"line_start":557,"line_end":557,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277126,"byte_end":277132,"line_start":557,"line_end":557,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277165,"byte_end":277171,"line_start":558,"line_end":558,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277189,"byte_end":277200,"line_start":559,"line_end":559,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":901}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277201,"byte_end":277205,"line_start":559,"line_end":559,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073742733}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277221,"byte_end":277225,"line_start":560,"line_end":560,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277221,"byte_end":277225,"line_start":560,"line_end":560,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277279,"byte_end":277282,"line_start":561,"line_end":561,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277283,"byte_end":277284,"line_start":561,"line_end":561,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2415920013}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277337,"byte_end":277342,"line_start":562,"line_end":562,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277332,"byte_end":277336,"line_start":562,"line_end":562,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073742733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277381,"byte_end":277399,"line_start":563,"line_end":563,"column_start":36,"column_end":54},"ref_id":{"krate":0,"index":2550137741}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277423,"byte_end":277431,"line_start":564,"line_end":564,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":2751464333}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277458,"byte_end":277466,"line_start":565,"line_end":565,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":67109773}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277497,"byte_end":277505,"line_start":566,"line_end":566,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":2751464333}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277558,"byte_end":277567,"line_start":568,"line_end":568,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":897}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277568,"byte_end":277576,"line_start":568,"line_end":568,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":67109773}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277617,"byte_end":277620,"line_start":569,"line_end":569,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277609,"byte_end":277615,"line_start":569,"line_end":569,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277621,"byte_end":277626,"line_start":569,"line_end":569,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2449474445}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277628,"byte_end":277646,"line_start":569,"line_end":569,"column_start":43,"column_end":61},"ref_id":{"krate":0,"index":2550137741}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277682,"byte_end":277686,"line_start":571,"line_end":571,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277682,"byte_end":277686,"line_start":571,"line_end":571,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277766,"byte_end":277775,"line_start":572,"line_end":572,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":897}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277776,"byte_end":277780,"line_start":572,"line_end":572,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073742733}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":277821,"byte_end":277824,"line_start":573,"line_end":573,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277813,"byte_end":277819,"line_start":573,"line_end":573,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277825,"byte_end":277830,"line_start":573,"line_end":573,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1711276941}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277885,"byte_end":277894,"line_start":579,"line_end":579,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3134}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":277874,"byte_end":277878,"line_start":579,"line_end":579,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":277880,"byte_end":277883,"line_start":579,"line_end":579,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":277954,"byte_end":277960,"line_start":580,"line_end":580,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277976,"byte_end":277980,"line_start":581,"line_end":581,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277981,"byte_end":277984,"line_start":581,"line_end":581,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277988,"byte_end":277993,"line_start":581,"line_end":581,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871823}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":277994,"byte_end":277997,"line_start":581,"line_end":581,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278034,"byte_end":278043,"line_start":582,"line_end":582,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278029,"byte_end":278033,"line_start":582,"line_end":582,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278045,"byte_end":278050,"line_start":582,"line_end":582,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871823}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278076,"byte_end":278080,"line_start":583,"line_end":583,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278081,"byte_end":278084,"line_start":583,"line_end":583,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278087,"byte_end":278097,"line_start":583,"line_end":583,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831375}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278098,"byte_end":278101,"line_start":583,"line_end":583,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278065,"byte_end":278069,"line_start":583,"line_end":583,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278070,"byte_end":278073,"line_start":583,"line_end":583,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278143,"byte_end":278147,"line_start":585,"line_end":585,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278148,"byte_end":278151,"line_start":585,"line_end":585,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278154,"byte_end":278159,"line_start":585,"line_end":585,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871823}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278160,"byte_end":278163,"line_start":585,"line_end":585,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278132,"byte_end":278136,"line_start":585,"line_end":585,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742735}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278137,"byte_end":278140,"line_start":585,"line_end":585,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278200,"byte_end":278203,"line_start":590,"line_end":590,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3106}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278189,"byte_end":278193,"line_start":590,"line_end":590,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278195,"byte_end":278198,"line_start":590,"line_end":590,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278244,"byte_end":278250,"line_start":591,"line_end":591,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278280,"byte_end":278286,"line_start":592,"line_end":592,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278325,"byte_end":278331,"line_start":592,"line_end":592,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3098}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278300,"byte_end":278304,"line_start":592,"line_end":592,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278306,"byte_end":278309,"line_start":592,"line_end":592,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278311,"byte_end":278314,"line_start":592,"line_end":592,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278315,"byte_end":278321,"line_start":592,"line_end":592,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278346,"byte_end":278350,"line_start":593,"line_end":593,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278351,"byte_end":278354,"line_start":593,"line_end":593,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278358,"byte_end":278363,"line_start":593,"line_end":593,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871826}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278364,"byte_end":278367,"line_start":593,"line_end":593,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278404,"byte_end":278413,"line_start":594,"line_end":594,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278399,"byte_end":278403,"line_start":594,"line_end":594,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278415,"byte_end":278420,"line_start":594,"line_end":594,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871826}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278446,"byte_end":278450,"line_start":595,"line_end":595,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278451,"byte_end":278454,"line_start":595,"line_end":595,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278457,"byte_end":278467,"line_start":595,"line_end":595,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831378}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278468,"byte_end":278471,"line_start":595,"line_end":595,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278435,"byte_end":278439,"line_start":595,"line_end":595,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278440,"byte_end":278443,"line_start":595,"line_end":595,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278513,"byte_end":278517,"line_start":597,"line_end":597,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278518,"byte_end":278521,"line_start":597,"line_end":597,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278524,"byte_end":278529,"line_start":597,"line_end":597,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871826}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278530,"byte_end":278533,"line_start":597,"line_end":597,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278502,"byte_end":278506,"line_start":597,"line_end":597,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278507,"byte_end":278510,"line_start":597,"line_end":597,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278560,"byte_end":278564,"line_start":599,"line_end":599,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742738}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278591,"byte_end":278600,"line_start":603,"line_end":603,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3126}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278580,"byte_end":278584,"line_start":603,"line_end":603,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278586,"byte_end":278589,"line_start":603,"line_end":603,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278660,"byte_end":278666,"line_start":604,"line_end":604,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278682,"byte_end":278686,"line_start":605,"line_end":605,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278687,"byte_end":278690,"line_start":605,"line_end":605,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278694,"byte_end":278699,"line_start":605,"line_end":605,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871828}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278700,"byte_end":278703,"line_start":605,"line_end":605,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":278740,"byte_end":278749,"line_start":606,"line_end":606,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278735,"byte_end":278739,"line_start":606,"line_end":606,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278751,"byte_end":278756,"line_start":606,"line_end":606,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871828}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278782,"byte_end":278786,"line_start":607,"line_end":607,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278787,"byte_end":278790,"line_start":607,"line_end":607,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278793,"byte_end":278803,"line_start":607,"line_end":607,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831380}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278804,"byte_end":278807,"line_start":607,"line_end":607,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278771,"byte_end":278775,"line_start":607,"line_end":607,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278776,"byte_end":278779,"line_start":607,"line_end":607,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278849,"byte_end":278853,"line_start":609,"line_end":609,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278854,"byte_end":278857,"line_start":609,"line_end":609,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278860,"byte_end":278865,"line_start":609,"line_end":609,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871828}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278866,"byte_end":278869,"line_start":609,"line_end":609,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278838,"byte_end":278842,"line_start":609,"line_end":609,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742740}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":278843,"byte_end":278846,"line_start":609,"line_end":609,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278906,"byte_end":278909,"line_start":614,"line_end":614,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3096}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278895,"byte_end":278899,"line_start":614,"line_end":614,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":278901,"byte_end":278904,"line_start":614,"line_end":614,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278950,"byte_end":278956,"line_start":615,"line_end":615,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":278986,"byte_end":278992,"line_start":616,"line_end":616,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279031,"byte_end":279037,"line_start":616,"line_end":616,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3098}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279006,"byte_end":279010,"line_start":616,"line_end":616,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279012,"byte_end":279015,"line_start":616,"line_end":616,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279017,"byte_end":279020,"line_start":616,"line_end":616,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279021,"byte_end":279027,"line_start":616,"line_end":616,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279052,"byte_end":279056,"line_start":617,"line_end":617,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279057,"byte_end":279060,"line_start":617,"line_end":617,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279064,"byte_end":279069,"line_start":617,"line_end":617,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871831}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279070,"byte_end":279073,"line_start":617,"line_end":617,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279110,"byte_end":279119,"line_start":618,"line_end":618,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279105,"byte_end":279109,"line_start":618,"line_end":618,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279121,"byte_end":279126,"line_start":618,"line_end":618,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871831}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279152,"byte_end":279156,"line_start":619,"line_end":619,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279157,"byte_end":279160,"line_start":619,"line_end":619,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279163,"byte_end":279173,"line_start":619,"line_end":619,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831383}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279174,"byte_end":279177,"line_start":619,"line_end":619,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279141,"byte_end":279145,"line_start":619,"line_end":619,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279146,"byte_end":279149,"line_start":619,"line_end":619,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279219,"byte_end":279223,"line_start":621,"line_end":621,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279224,"byte_end":279227,"line_start":621,"line_end":621,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279230,"byte_end":279235,"line_start":621,"line_end":621,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871831}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279236,"byte_end":279239,"line_start":621,"line_end":621,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279208,"byte_end":279212,"line_start":621,"line_end":621,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279213,"byte_end":279216,"line_start":621,"line_end":621,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279266,"byte_end":279270,"line_start":623,"line_end":623,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742743}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279297,"byte_end":279306,"line_start":627,"line_end":627,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3122}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279286,"byte_end":279290,"line_start":627,"line_end":627,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279292,"byte_end":279295,"line_start":627,"line_end":627,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279366,"byte_end":279372,"line_start":628,"line_end":628,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279388,"byte_end":279392,"line_start":629,"line_end":629,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279393,"byte_end":279396,"line_start":629,"line_end":629,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279400,"byte_end":279405,"line_start":629,"line_end":629,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871833}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279406,"byte_end":279409,"line_start":629,"line_end":629,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279446,"byte_end":279455,"line_start":630,"line_end":630,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279441,"byte_end":279445,"line_start":630,"line_end":630,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279457,"byte_end":279462,"line_start":630,"line_end":630,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871833}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279488,"byte_end":279492,"line_start":631,"line_end":631,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279493,"byte_end":279496,"line_start":631,"line_end":631,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279499,"byte_end":279509,"line_start":631,"line_end":631,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831385}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279510,"byte_end":279513,"line_start":631,"line_end":631,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279477,"byte_end":279481,"line_start":631,"line_end":631,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279482,"byte_end":279485,"line_start":631,"line_end":631,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279555,"byte_end":279559,"line_start":633,"line_end":633,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279560,"byte_end":279563,"line_start":633,"line_end":633,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279566,"byte_end":279571,"line_start":633,"line_end":633,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871833}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279572,"byte_end":279575,"line_start":633,"line_end":633,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279544,"byte_end":279548,"line_start":633,"line_end":633,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742745}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279549,"byte_end":279552,"line_start":633,"line_end":633,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279612,"byte_end":279615,"line_start":638,"line_end":638,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3091}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279601,"byte_end":279605,"line_start":638,"line_end":638,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279607,"byte_end":279610,"line_start":638,"line_end":638,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279656,"byte_end":279662,"line_start":639,"line_end":639,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279692,"byte_end":279698,"line_start":640,"line_end":640,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279737,"byte_end":279743,"line_start":640,"line_end":640,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3093}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279712,"byte_end":279716,"line_start":640,"line_end":640,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279718,"byte_end":279721,"line_start":640,"line_end":640,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279723,"byte_end":279726,"line_start":640,"line_end":640,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3091}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":279727,"byte_end":279733,"line_start":640,"line_end":640,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279758,"byte_end":279762,"line_start":641,"line_end":641,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279763,"byte_end":279766,"line_start":641,"line_end":641,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279770,"byte_end":279775,"line_start":641,"line_end":641,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871836}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279776,"byte_end":279779,"line_start":641,"line_end":641,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":279816,"byte_end":279825,"line_start":642,"line_end":642,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279811,"byte_end":279815,"line_start":642,"line_end":642,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279827,"byte_end":279832,"line_start":642,"line_end":642,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871836}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279858,"byte_end":279862,"line_start":643,"line_end":643,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279863,"byte_end":279866,"line_start":643,"line_end":643,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279869,"byte_end":279879,"line_start":643,"line_end":643,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831388}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279880,"byte_end":279883,"line_start":643,"line_end":643,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279847,"byte_end":279851,"line_start":643,"line_end":643,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279852,"byte_end":279855,"line_start":643,"line_end":643,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279925,"byte_end":279929,"line_start":645,"line_end":645,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279930,"byte_end":279933,"line_start":645,"line_end":645,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279936,"byte_end":279941,"line_start":645,"line_end":645,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871836}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279942,"byte_end":279945,"line_start":645,"line_end":645,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279914,"byte_end":279918,"line_start":645,"line_end":645,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279919,"byte_end":279922,"line_start":645,"line_end":645,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":279972,"byte_end":279976,"line_start":647,"line_end":647,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742748}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280003,"byte_end":280012,"line_start":651,"line_end":651,"column_start":17,"column_end":26},"ref_id":{"krate":1,"index":3130}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279992,"byte_end":279996,"line_start":651,"line_end":651,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":279998,"byte_end":280001,"line_start":651,"line_end":651,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280072,"byte_end":280078,"line_start":652,"line_end":652,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280094,"byte_end":280098,"line_start":653,"line_end":653,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280099,"byte_end":280102,"line_start":653,"line_end":653,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280106,"byte_end":280111,"line_start":653,"line_end":653,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871838}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280112,"byte_end":280115,"line_start":653,"line_end":653,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280152,"byte_end":280161,"line_start":654,"line_end":654,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280147,"byte_end":280151,"line_start":654,"line_end":654,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280163,"byte_end":280168,"line_start":654,"line_end":654,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871838}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280194,"byte_end":280198,"line_start":655,"line_end":655,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280199,"byte_end":280202,"line_start":655,"line_end":655,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280205,"byte_end":280215,"line_start":655,"line_end":655,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831390}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280216,"byte_end":280219,"line_start":655,"line_end":655,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280183,"byte_end":280187,"line_start":655,"line_end":655,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280188,"byte_end":280191,"line_start":655,"line_end":655,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280261,"byte_end":280265,"line_start":657,"line_end":657,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280266,"byte_end":280269,"line_start":657,"line_end":657,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280272,"byte_end":280277,"line_start":657,"line_end":657,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871838}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280278,"byte_end":280281,"line_start":657,"line_end":657,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280250,"byte_end":280254,"line_start":657,"line_end":657,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742750}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280255,"byte_end":280258,"line_start":657,"line_end":657,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280318,"byte_end":280321,"line_start":662,"line_end":662,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":3101}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280307,"byte_end":280311,"line_start":662,"line_end":662,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280313,"byte_end":280316,"line_start":662,"line_end":662,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280362,"byte_end":280368,"line_start":663,"line_end":663,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280398,"byte_end":280404,"line_start":664,"line_end":664,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280443,"byte_end":280449,"line_start":664,"line_end":664,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":3103}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280418,"byte_end":280422,"line_start":664,"line_end":664,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":280424,"byte_end":280427,"line_start":664,"line_end":664,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280429,"byte_end":280432,"line_start":664,"line_end":664,"column_start":60,"column_end":63},"ref_id":{"krate":1,"index":3101}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280433,"byte_end":280439,"line_start":664,"line_end":664,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280465,"byte_end":280469,"line_start":666,"line_end":666,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280470,"byte_end":280473,"line_start":666,"line_end":666,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3365}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280477,"byte_end":280482,"line_start":666,"line_end":666,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":536871841}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280483,"byte_end":280486,"line_start":666,"line_end":666,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3365}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280523,"byte_end":280532,"line_start":667,"line_end":667,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":877}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280518,"byte_end":280522,"line_start":667,"line_end":667,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280534,"byte_end":280539,"line_start":667,"line_end":667,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":536871841}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280565,"byte_end":280569,"line_start":668,"line_end":668,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280570,"byte_end":280573,"line_start":668,"line_end":668,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280576,"byte_end":280586,"line_start":668,"line_end":668,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1744831393}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280587,"byte_end":280590,"line_start":668,"line_end":668,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280554,"byte_end":280558,"line_start":668,"line_end":668,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280559,"byte_end":280562,"line_start":668,"line_end":668,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280632,"byte_end":280636,"line_start":670,"line_end":670,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280637,"byte_end":280640,"line_start":670,"line_end":670,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280643,"byte_end":280648,"line_start":670,"line_end":670,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":536871841}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280649,"byte_end":280652,"line_start":670,"line_end":670,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280621,"byte_end":280625,"line_start":670,"line_end":670,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280626,"byte_end":280629,"line_start":670,"line_end":670,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":280679,"byte_end":280683,"line_start":672,"line_end":672,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073742753}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280699,"byte_end":280706,"line_start":676,"line_end":676,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":280764,"byte_end":280767,"line_start":678,"line_end":678,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280756,"byte_end":280762,"line_start":678,"line_end":678,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280797,"byte_end":280805,"line_start":683,"line_end":683,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280865,"byte_end":280876,"line_start":687,"line_end":687,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280905,"byte_end":280912,"line_start":687,"line_end":687,"column_start":76,"column_end":83},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280892,"byte_end":280903,"line_start":687,"line_end":687,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280961,"byte_end":280972,"line_start":688,"line_end":688,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281001,"byte_end":281008,"line_start":688,"line_end":688,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":280988,"byte_end":280999,"line_start":688,"line_end":688,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281044,"byte_end":281047,"line_start":690,"line_end":690,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281048,"byte_end":281064,"line_start":690,"line_end":690,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281085,"byte_end":281091,"line_start":690,"line_end":690,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281092,"byte_end":281099,"line_start":690,"line_end":690,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281101,"byte_end":281109,"line_start":690,"line_end":690,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281150,"byte_end":281153,"line_start":691,"line_end":691,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281143,"byte_end":281148,"line_start":691,"line_end":691,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281177,"byte_end":281183,"line_start":692,"line_end":692,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281165,"byte_end":281176,"line_start":692,"line_end":692,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307304}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281191,"byte_end":281199,"line_start":692,"line_end":692,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281212,"byte_end":281218,"line_start":692,"line_end":692,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281203,"byte_end":281210,"line_start":692,"line_end":692,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281238,"byte_end":281247,"line_start":692,"line_end":692,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281225,"byte_end":281233,"line_start":692,"line_end":692,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281286,"byte_end":281292,"line_start":694,"line_end":694,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742760}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281293,"byte_end":281300,"line_start":694,"line_end":694,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871848}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281302,"byte_end":281306,"line_start":694,"line_end":694,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281317,"byte_end":281328,"line_start":694,"line_end":694,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4010}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281354,"byte_end":281360,"line_start":696,"line_end":696,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281342,"byte_end":281353,"line_start":696,"line_end":696,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307304}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281367,"byte_end":281375,"line_start":696,"line_end":696,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281388,"byte_end":281395,"line_start":696,"line_end":696,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281379,"byte_end":281386,"line_start":696,"line_end":696,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281405,"byte_end":281410,"line_start":696,"line_end":696,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281396,"byte_end":281400,"line_start":696,"line_end":696,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1275069352}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281401,"byte_end":281404,"line_start":696,"line_end":696,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281449,"byte_end":281453,"line_start":698,"line_end":698,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069352}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281454,"byte_end":281461,"line_start":698,"line_end":698,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":4011}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281439,"byte_end":281443,"line_start":698,"line_end":698,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281496,"byte_end":281499,"line_start":699,"line_end":699,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281488,"byte_end":281494,"line_start":699,"line_end":699,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281506,"byte_end":281511,"line_start":699,"line_end":699,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281500,"byte_end":281501,"line_start":699,"line_end":699,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":2449474472}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281502,"byte_end":281505,"line_start":699,"line_end":699,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281524,"byte_end":281529,"line_start":699,"line_end":699,"column_start":61,"column_end":66},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281515,"byte_end":281519,"line_start":699,"line_end":699,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":1275069352}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281520,"byte_end":281523,"line_start":699,"line_end":699,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":4012}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281558,"byte_end":281564,"line_start":700,"line_end":700,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281546,"byte_end":281557,"line_start":700,"line_end":700,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307304}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281575,"byte_end":281583,"line_start":700,"line_end":700,"column_start":42,"column_end":50},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281596,"byte_end":281601,"line_start":700,"line_end":700,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281587,"byte_end":281594,"line_start":700,"line_end":700,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281608,"byte_end":281612,"line_start":700,"line_end":700,"column_start":75,"column_end":79},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281602,"byte_end":281607,"line_start":700,"line_end":700,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":100664232}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281637,"byte_end":281639,"line_start":703,"line_end":703,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281649,"byte_end":281659,"line_start":703,"line_end":703,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281640,"byte_end":281647,"line_start":703,"line_end":703,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281660,"byte_end":281671,"line_start":703,"line_end":703,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307304}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281749,"byte_end":281752,"line_start":707,"line_end":707,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281753,"byte_end":281769,"line_start":707,"line_end":707,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281775,"byte_end":281781,"line_start":707,"line_end":707,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281822,"byte_end":281828,"line_start":708,"line_end":708,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613673}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281829,"byte_end":281833,"line_start":708,"line_end":708,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536871849}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281835,"byte_end":281839,"line_start":708,"line_end":708,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281850,"byte_end":281861,"line_start":708,"line_end":708,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281896,"byte_end":281900,"line_start":710,"line_end":710,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":402654121}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281901,"byte_end":281908,"line_start":710,"line_end":710,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":4011}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281886,"byte_end":281890,"line_start":710,"line_end":710,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281923,"byte_end":281927,"line_start":711,"line_end":711,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":281930,"byte_end":281935,"line_start":711,"line_end":711,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":281928,"byte_end":281929,"line_start":711,"line_end":711,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623879593}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":281968,"byte_end":281972,"line_start":713,"line_end":713,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282171,"byte_end":282176,"line_start":718,"line_end":718,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282070,"byte_end":282079,"line_start":718,"line_end":718,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282095,"byte_end":282104,"line_start":718,"line_end":718,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282118,"byte_end":282125,"line_start":718,"line_end":718,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282131,"byte_end":282137,"line_start":718,"line_end":718,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282142,"byte_end":282150,"line_start":718,"line_end":718,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282196,"byte_end":282201,"line_start":719,"line_end":719,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178218}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282225,"byte_end":282235,"line_start":720,"line_end":720,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282216,"byte_end":282223,"line_start":720,"line_end":720,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282225,"byte_end":282235,"line_start":720,"line_end":720,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282216,"byte_end":282223,"line_start":720,"line_end":720,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282308,"byte_end":282311,"line_start":721,"line_end":721,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282304,"byte_end":282307,"line_start":721,"line_end":721,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1207960490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282269,"byte_end":282273,"line_start":721,"line_end":721,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282283,"byte_end":282293,"line_start":721,"line_end":721,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282274,"byte_end":282281,"line_start":721,"line_end":721,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282386,"byte_end":282389,"line_start":722,"line_end":722,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282380,"byte_end":282385,"line_start":722,"line_end":722,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":2550137770}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282350,"byte_end":282354,"line_start":722,"line_end":722,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282364,"byte_end":282371,"line_start":722,"line_end":722,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282355,"byte_end":282362,"line_start":722,"line_end":722,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282466,"byte_end":282469,"line_start":723,"line_end":723,"column_start":68,"column_end":71},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282460,"byte_end":282465,"line_start":723,"line_end":723,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2550137770}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282430,"byte_end":282434,"line_start":723,"line_end":723,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282444,"byte_end":282451,"line_start":723,"line_end":723,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282435,"byte_end":282442,"line_start":723,"line_end":723,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282513,"byte_end":282522,"line_start":724,"line_end":724,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282523,"byte_end":282529,"line_start":724,"line_end":724,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613674}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282531,"byte_end":282537,"line_start":724,"line_end":724,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":268436394}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282547,"byte_end":282550,"line_start":724,"line_end":724,"column_start":69,"column_end":72},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282539,"byte_end":282545,"line_start":724,"line_end":724,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282552,"byte_end":282555,"line_start":724,"line_end":724,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":1677722538}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":282558,"byte_end":282561,"line_start":724,"line_end":724,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":3422553002}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282640,"byte_end":282643,"line_start":726,"line_end":726,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282654,"byte_end":282657,"line_start":726,"line_end":726,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282644,"byte_end":282652,"line_start":726,"line_end":726,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282794,"byte_end":282797,"line_start":729,"line_end":729,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282808,"byte_end":282811,"line_start":729,"line_end":729,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282798,"byte_end":282806,"line_start":729,"line_end":729,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282936,"byte_end":282939,"line_start":732,"line_end":732,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":282950,"byte_end":282953,"line_start":732,"line_end":732,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":282940,"byte_end":282948,"line_start":732,"line_end":732,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283072,"byte_end":283074,"line_start":738,"line_end":738,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283216,"byte_end":283221,"line_start":741,"line_end":741,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283117,"byte_end":283126,"line_start":741,"line_end":741,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283142,"byte_end":283151,"line_start":741,"line_end":741,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283169,"byte_end":283175,"line_start":741,"line_end":741,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283176,"byte_end":283185,"line_start":741,"line_end":741,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283187,"byte_end":283195,"line_start":741,"line_end":741,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283259,"byte_end":283268,"line_start":743,"line_end":743,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283252,"byte_end":283258,"line_start":743,"line_end":743,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742764}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283269,"byte_end":283275,"line_start":743,"line_end":743,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871852}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283323,"byte_end":283337,"line_start":745,"line_end":745,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283313,"byte_end":283320,"line_start":745,"line_end":745,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960492}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283390,"byte_end":283400,"line_start":747,"line_end":747,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283383,"byte_end":283389,"line_start":747,"line_end":747,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871852}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283401,"byte_end":283407,"line_start":747,"line_end":747,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742764}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283408,"byte_end":283419,"line_start":747,"line_end":747,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283421,"byte_end":283425,"line_start":747,"line_end":747,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283436,"byte_end":283447,"line_start":747,"line_end":747,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283471,"byte_end":283475,"line_start":749,"line_end":749,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":2348811180}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283476,"byte_end":283479,"line_start":749,"line_end":749,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4012}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283521,"byte_end":283526,"line_start":751,"line_end":751,"column_start":40,"column_end":45},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283514,"byte_end":283519,"line_start":751,"line_end":751,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":1610613676}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283551,"byte_end":283560,"line_start":752,"line_end":752,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":875}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283538,"byte_end":283550,"line_start":752,"line_end":752,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":2080375724}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283561,"byte_end":283564,"line_start":752,"line_end":752,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3959423916}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283592,"byte_end":283604,"line_start":754,"line_end":754,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2080375724}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283605,"byte_end":283608,"line_start":754,"line_end":754,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3364}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283622,"byte_end":283635,"line_start":756,"line_end":756,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008684}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283708,"byte_end":283719,"line_start":757,"line_end":757,"column_start":39,"column_end":50},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283698,"byte_end":283707,"line_start":757,"line_end":757,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3523216300}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283782,"byte_end":283793,"line_start":760,"line_end":760,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283794,"byte_end":283799,"line_start":760,"line_end":760,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3925869484}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283771,"byte_end":283776,"line_start":760,"line_end":760,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3925869484}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283843,"byte_end":283854,"line_start":762,"line_end":762,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283836,"byte_end":283842,"line_start":762,"line_end":762,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536871852}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":283931,"byte_end":283945,"line_start":765,"line_end":765,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283931,"byte_end":283932,"line_start":765,"line_end":765,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283934,"byte_end":283945,"line_start":765,"line_end":765,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":283940,"byte_end":283943,"line_start":765,"line_end":765,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283934,"byte_end":283939,"line_start":765,"line_end":765,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3925869484}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283997,"byte_end":284002,"line_start":766,"line_end":766,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":3925869484}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284003,"byte_end":284004,"line_start":766,"line_end":766,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":771752876}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283964,"byte_end":283975,"line_start":766,"line_end":766,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3590325164}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283976,"byte_end":283989,"line_start":766,"line_end":766,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008684}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":283992,"byte_end":283993,"line_start":766,"line_end":766,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":771752876}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284094,"byte_end":284105,"line_start":771,"line_end":771,"column_start":42,"column_end":53},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284084,"byte_end":284093,"line_start":771,"line_end":771,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3523216300}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284171,"byte_end":284182,"line_start":774,"line_end":774,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2731}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284183,"byte_end":284191,"line_start":774,"line_end":774,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1157628844}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284157,"byte_end":284165,"line_start":774,"line_end":774,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1157628844}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284233,"byte_end":284246,"line_start":776,"line_end":776,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284226,"byte_end":284232,"line_start":776,"line_end":776,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536871852}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284248,"byte_end":284256,"line_start":776,"line_end":776,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1157628844}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284210,"byte_end":284223,"line_start":776,"line_end":776,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008684}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284301,"byte_end":284315,"line_start":777,"line_end":777,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284279,"byte_end":284292,"line_start":777,"line_end":777,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284272,"byte_end":284278,"line_start":777,"line_end":777,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742764}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284293,"byte_end":284299,"line_start":777,"line_end":777,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536871852}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284316,"byte_end":284329,"line_start":777,"line_end":777,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008684}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284359,"byte_end":284361,"line_start":781,"line_end":781,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284362,"byte_end":284368,"line_start":781,"line_end":781,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742764}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284488,"byte_end":284493,"line_start":784,"line_end":784,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284404,"byte_end":284413,"line_start":784,"line_end":784,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284431,"byte_end":284440,"line_start":784,"line_end":784,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284445,"byte_end":284451,"line_start":784,"line_end":784,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284452,"byte_end":284458,"line_start":784,"line_end":784,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284466,"byte_end":284474,"line_start":784,"line_end":784,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284531,"byte_end":284540,"line_start":786,"line_end":786,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284524,"byte_end":284530,"line_start":786,"line_end":786,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742767}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284541,"byte_end":284547,"line_start":786,"line_end":786,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536871855}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284588,"byte_end":284602,"line_start":788,"line_end":788,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284578,"byte_end":284585,"line_start":788,"line_end":788,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218671}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284650,"byte_end":284660,"line_start":791,"line_end":791,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623879599}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284687,"byte_end":284689,"line_start":792,"line_end":792,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284690,"byte_end":284694,"line_start":792,"line_end":792,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284747,"byte_end":284757,"line_start":795,"line_end":795,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284740,"byte_end":284746,"line_start":795,"line_end":795,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536871855}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284758,"byte_end":284764,"line_start":795,"line_end":795,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073742767}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284765,"byte_end":284776,"line_start":795,"line_end":795,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284778,"byte_end":284782,"line_start":795,"line_end":795,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284793,"byte_end":284804,"line_start":795,"line_end":795,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284828,"byte_end":284832,"line_start":797,"line_end":797,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":4227859375}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284833,"byte_end":284836,"line_start":797,"line_end":797,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4012}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284847,"byte_end":284849,"line_start":799,"line_end":799,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284863,"byte_end":284874,"line_start":799,"line_end":799,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284856,"byte_end":284862,"line_start":799,"line_end":799,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536871855}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284875,"byte_end":284885,"line_start":799,"line_end":799,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":3623879599}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284901,"byte_end":284905,"line_start":800,"line_end":800,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":284901,"byte_end":284905,"line_start":800,"line_end":800,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284951,"byte_end":284956,"line_start":801,"line_end":801,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284949,"byte_end":284950,"line_start":801,"line_end":801,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":4060087215}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":284990,"byte_end":284999,"line_start":802,"line_end":802,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2732}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285000,"byte_end":285008,"line_start":802,"line_end":802,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":436208559}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":284976,"byte_end":284984,"line_start":802,"line_end":802,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":436208559}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285030,"byte_end":285034,"line_start":803,"line_end":803,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285043,"byte_end":285046,"line_start":803,"line_end":803,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285035,"byte_end":285041,"line_start":803,"line_end":803,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285052,"byte_end":285065,"line_start":803,"line_end":803,"column_start":39,"column_end":52},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285066,"byte_end":285074,"line_start":803,"line_end":803,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":436208559}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285077,"byte_end":285080,"line_start":803,"line_end":803,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2717909935}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285110,"byte_end":285114,"line_start":805,"line_end":805,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285110,"byte_end":285114,"line_start":805,"line_end":805,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285118,"byte_end":285122,"line_start":805,"line_end":805,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285179,"byte_end":285188,"line_start":809,"line_end":809,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285206,"byte_end":285215,"line_start":809,"line_end":809,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285220,"byte_end":285227,"line_start":809,"line_end":809,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285270,"byte_end":285280,"line_start":811,"line_end":811,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285263,"byte_end":285269,"line_start":811,"line_end":811,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613681}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285281,"byte_end":285287,"line_start":811,"line_end":811,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536871857}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285288,"byte_end":285299,"line_start":811,"line_end":811,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285301,"byte_end":285305,"line_start":811,"line_end":811,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285316,"byte_end":285327,"line_start":811,"line_end":811,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285351,"byte_end":285355,"line_start":813,"line_end":813,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1476395953}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285356,"byte_end":285359,"line_start":813,"line_end":813,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4012}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285382,"byte_end":285392,"line_start":815,"line_end":815,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285393,"byte_end":285399,"line_start":815,"line_end":815,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871857}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285401,"byte_end":285407,"line_start":815,"line_end":815,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613681}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285423,"byte_end":285425,"line_start":816,"line_end":816,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285423,"byte_end":285425,"line_start":816,"line_end":816,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285456,"byte_end":285457,"line_start":817,"line_end":817,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3556770737}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285480,"byte_end":285484,"line_start":818,"line_end":818,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285480,"byte_end":285484,"line_start":818,"line_end":818,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285541,"byte_end":285544,"line_start":819,"line_end":819,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285534,"byte_end":285539,"line_start":819,"line_end":819,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285596,"byte_end":285599,"line_start":821,"line_end":821,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285589,"byte_end":285594,"line_start":821,"line_end":821,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285634,"byte_end":285640,"line_start":823,"line_end":823,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285628,"byte_end":285633,"line_start":823,"line_end":823,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3254780849}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285647,"byte_end":285655,"line_start":823,"line_end":823,"column_start":44,"column_end":52},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285668,"byte_end":285675,"line_start":823,"line_end":823,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285659,"byte_end":285666,"line_start":823,"line_end":823,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285676,"byte_end":285677,"line_start":823,"line_end":823,"column_start":73,"column_end":74},"ref_id":{"krate":0,"index":2348811185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285678,"byte_end":285681,"line_start":823,"line_end":823,"column_start":75,"column_end":78},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285715,"byte_end":285721,"line_start":824,"line_end":824,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285709,"byte_end":285714,"line_start":824,"line_end":824,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":3254780849}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285728,"byte_end":285736,"line_start":824,"line_end":824,"column_start":44,"column_end":52},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285749,"byte_end":285756,"line_start":824,"line_end":824,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285740,"byte_end":285747,"line_start":824,"line_end":824,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285757,"byte_end":285760,"line_start":824,"line_end":824,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":67109809}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285802,"byte_end":285808,"line_start":825,"line_end":825,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285795,"byte_end":285801,"line_start":825,"line_end":825,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3690988465}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285817,"byte_end":285825,"line_start":825,"line_end":825,"column_start":47,"column_end":55},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285838,"byte_end":285843,"line_start":825,"line_end":825,"column_start":68,"column_end":73},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285829,"byte_end":285836,"line_start":825,"line_end":825,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285846,"byte_end":285854,"line_start":825,"line_end":825,"column_start":76,"column_end":84},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285844,"byte_end":285845,"line_start":825,"line_end":825,"column_start":74,"column_end":75},"ref_id":{"krate":0,"index":2348811185}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285891,"byte_end":285897,"line_start":826,"line_end":826,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285884,"byte_end":285890,"line_start":826,"line_end":826,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3690988465}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":285906,"byte_end":285914,"line_start":826,"line_end":826,"column_start":47,"column_end":55},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285927,"byte_end":285937,"line_start":826,"line_end":826,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285918,"byte_end":285925,"line_start":826,"line_end":826,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":285938,"byte_end":285943,"line_start":826,"line_end":826,"column_start":79,"column_end":84},"ref_id":{"krate":0,"index":3254780849}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286005,"byte_end":286015,"line_start":828,"line_end":828,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":285996,"byte_end":286003,"line_start":828,"line_end":828,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286016,"byte_end":286022,"line_start":828,"line_end":828,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3690988465}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286067,"byte_end":286071,"line_start":830,"line_end":830,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286067,"byte_end":286071,"line_start":830,"line_end":830,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286132,"byte_end":286142,"line_start":831,"line_end":831,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286125,"byte_end":286131,"line_start":831,"line_end":831,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610613681}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286143,"byte_end":286149,"line_start":831,"line_end":831,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536871857}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286150,"byte_end":286161,"line_start":831,"line_end":831,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286163,"byte_end":286167,"line_start":831,"line_end":831,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286178,"byte_end":286189,"line_start":831,"line_end":831,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286236,"byte_end":286240,"line_start":833,"line_end":833,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4177527729}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286241,"byte_end":286248,"line_start":833,"line_end":833,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4011}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286226,"byte_end":286230,"line_start":833,"line_end":833,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286303,"byte_end":286306,"line_start":834,"line_end":834,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286296,"byte_end":286301,"line_start":834,"line_end":834,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286361,"byte_end":286364,"line_start":835,"line_end":835,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286354,"byte_end":286359,"line_start":835,"line_end":835,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286403,"byte_end":286409,"line_start":837,"line_end":837,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286397,"byte_end":286402,"line_start":837,"line_end":837,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3976201137}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286416,"byte_end":286424,"line_start":837,"line_end":837,"column_start":48,"column_end":56},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286437,"byte_end":286444,"line_start":837,"line_end":837,"column_start":69,"column_end":76},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286428,"byte_end":286435,"line_start":837,"line_end":837,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286451,"byte_end":286456,"line_start":837,"line_end":837,"column_start":83,"column_end":88},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286445,"byte_end":286446,"line_start":837,"line_end":837,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":1157628849}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286447,"byte_end":286450,"line_start":837,"line_end":837,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":3364}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286496,"byte_end":286502,"line_start":838,"line_end":838,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286490,"byte_end":286495,"line_start":838,"line_end":838,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3976201137}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286509,"byte_end":286517,"line_start":838,"line_end":838,"column_start":48,"column_end":56},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286530,"byte_end":286537,"line_start":838,"line_end":838,"column_start":69,"column_end":76},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286521,"byte_end":286528,"line_start":838,"line_end":838,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286538,"byte_end":286542,"line_start":838,"line_end":838,"column_start":77,"column_end":81},"ref_id":{"krate":0,"index":4177527729}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286543,"byte_end":286546,"line_start":838,"line_end":838,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":4012}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286592,"byte_end":286598,"line_start":839,"line_end":839,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286585,"byte_end":286591,"line_start":839,"line_end":839,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4110418865}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286607,"byte_end":286615,"line_start":839,"line_end":839,"column_start":51,"column_end":59},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286628,"byte_end":286633,"line_start":839,"line_end":839,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286619,"byte_end":286626,"line_start":839,"line_end":839,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286636,"byte_end":286644,"line_start":839,"line_end":839,"column_start":80,"column_end":88},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286634,"byte_end":286635,"line_start":839,"line_end":839,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":1157628849}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286685,"byte_end":286691,"line_start":840,"line_end":840,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286678,"byte_end":286684,"line_start":840,"line_end":840,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4110418865}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":286700,"byte_end":286708,"line_start":840,"line_end":840,"column_start":51,"column_end":59},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286721,"byte_end":286731,"line_start":840,"line_end":840,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286712,"byte_end":286719,"line_start":840,"line_end":840,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286732,"byte_end":286737,"line_start":840,"line_end":840,"column_start":83,"column_end":88},"ref_id":{"krate":0,"index":3976201137}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286807,"byte_end":286817,"line_start":842,"line_end":842,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286798,"byte_end":286805,"line_start":842,"line_end":842,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":286818,"byte_end":286824,"line_start":842,"line_end":842,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":4110418865}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286896,"byte_end":286900,"line_start":844,"line_end":844,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":286887,"byte_end":286894,"line_start":844,"line_end":844,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287020,"byte_end":287023,"line_start":850,"line_end":850,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287020,"byte_end":287023,"line_start":850,"line_end":850,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287058,"byte_end":287062,"line_start":851,"line_end":851,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287049,"byte_end":287056,"line_start":851,"line_end":851,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287133,"byte_end":287142,"line_start":856,"line_end":856,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287153,"byte_end":287162,"line_start":856,"line_end":856,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287167,"byte_end":287173,"line_start":856,"line_end":856,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287181,"byte_end":287189,"line_start":856,"line_end":856,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287236,"byte_end":287245,"line_start":858,"line_end":858,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287229,"byte_end":287235,"line_start":858,"line_end":858,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871858}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287246,"byte_end":287252,"line_start":858,"line_end":858,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613682}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287279,"byte_end":287293,"line_start":860,"line_end":860,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287269,"byte_end":287276,"line_start":860,"line_end":860,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960498}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287315,"byte_end":287317,"line_start":861,"line_end":861,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287351,"byte_end":287353,"line_start":863,"line_end":863,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287365,"byte_end":287372,"line_start":863,"line_end":863,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":287354,"byte_end":287358,"line_start":863,"line_end":863,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/dec.rs","byte_start":287360,"byte_end":287363,"line_start":863,"line_end":863,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287431,"byte_end":287434,"line_start":868,"line_end":868,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287435,"byte_end":287451,"line_start":868,"line_end":868,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287472,"byte_end":287478,"line_start":868,"line_end":868,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287479,"byte_end":287485,"line_start":868,"line_end":868,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287487,"byte_end":287495,"line_start":868,"line_end":868,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287531,"byte_end":287537,"line_start":869,"line_end":869,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073742772}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287538,"byte_end":287545,"line_start":869,"line_end":869,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536871860}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287547,"byte_end":287551,"line_start":869,"line_end":869,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287562,"byte_end":287573,"line_start":869,"line_end":869,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4010}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287612,"byte_end":287616,"line_start":871,"line_end":871,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287604,"byte_end":287610,"line_start":871,"line_end":871,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287647,"byte_end":287655,"line_start":872,"line_end":872,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287640,"byte_end":287646,"line_start":872,"line_end":872,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750516}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287677,"byte_end":287683,"line_start":872,"line_end":872,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287665,"byte_end":287674,"line_start":872,"line_end":872,"column_start":34,"column_end":43},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287656,"byte_end":287660,"line_start":872,"line_end":872,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1744831412}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287661,"byte_end":287664,"line_start":872,"line_end":872,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287713,"byte_end":287717,"line_start":873,"line_end":873,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831412}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287718,"byte_end":287725,"line_start":873,"line_end":873,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":4011}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287703,"byte_end":287707,"line_start":873,"line_end":873,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287747,"byte_end":287755,"line_start":874,"line_end":874,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287740,"byte_end":287746,"line_start":874,"line_end":874,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750516}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287791,"byte_end":287799,"line_start":875,"line_end":875,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287784,"byte_end":287790,"line_start":875,"line_end":875,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160750516}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287825,"byte_end":287831,"line_start":875,"line_end":875,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287813,"byte_end":287822,"line_start":875,"line_end":875,"column_start":42,"column_end":51},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287802,"byte_end":287810,"line_start":875,"line_end":875,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":874}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287800,"byte_end":287801,"line_start":875,"line_end":875,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1946158004}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":287861,"byte_end":287869,"line_start":877,"line_end":877,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287854,"byte_end":287860,"line_start":877,"line_end":877,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160750516}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287885,"byte_end":287887,"line_start":878,"line_end":878,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":287888,"byte_end":287894,"line_start":878,"line_end":878,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160750516}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287949,"byte_end":287952,"line_start":882,"line_end":882,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287953,"byte_end":287969,"line_start":882,"line_end":882,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":287991,"byte_end":288000,"line_start":882,"line_end":882,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288009,"byte_end":288012,"line_start":882,"line_end":882,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288013,"byte_end":288019,"line_start":882,"line_end":882,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288025,"byte_end":288031,"line_start":882,"line_end":882,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288039,"byte_end":288042,"line_start":882,"line_end":882,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288048,"byte_end":288051,"line_start":882,"line_end":882,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288052,"byte_end":288068,"line_start":882,"line_end":882,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288072,"byte_end":288080,"line_start":882,"line_end":882,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288106,"byte_end":288112,"line_start":884,"line_end":884,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288119,"byte_end":288123,"line_start":884,"line_end":884,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288150,"byte_end":288156,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288164,"byte_end":288168,"line_start":885,"line_end":885,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288186,"byte_end":288189,"line_start":886,"line_end":886,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288181,"byte_end":288185,"line_start":886,"line_end":886,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436405}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288217,"byte_end":288221,"line_start":887,"line_end":887,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436405}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288260,"byte_end":288270,"line_start":888,"line_end":888,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288251,"byte_end":288257,"line_start":888,"line_end":888,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288243,"byte_end":288249,"line_start":888,"line_end":888,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288318,"byte_end":288328,"line_start":889,"line_end":889,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1409287093}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288378,"byte_end":288382,"line_start":890,"line_end":890,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288365,"byte_end":288372,"line_start":890,"line_end":890,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288361,"byte_end":288364,"line_start":890,"line_end":890,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610613685}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288373,"byte_end":288376,"line_start":890,"line_end":890,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":4093641653}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288464,"byte_end":288469,"line_start":892,"line_end":892,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":201327541}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288525,"byte_end":288529,"line_start":893,"line_end":893,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288516,"byte_end":288522,"line_start":893,"line_end":893,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288508,"byte_end":288514,"line_start":893,"line_end":893,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288608,"byte_end":288613,"line_start":894,"line_end":894,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288601,"byte_end":288605,"line_start":894,"line_end":894,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288587,"byte_end":288594,"line_start":894,"line_end":894,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288583,"byte_end":288586,"line_start":894,"line_end":894,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613685}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288595,"byte_end":288599,"line_start":894,"line_end":894,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":301990837}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288668,"byte_end":288670,"line_start":895,"line_end":895,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288668,"byte_end":288670,"line_start":895,"line_end":895,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288733,"byte_end":288737,"line_start":896,"line_end":896,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288738,"byte_end":288739,"line_start":896,"line_end":896,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":436208565}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":288727,"byte_end":288730,"line_start":896,"line_end":896,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":2281702325}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288833,"byte_end":288836,"line_start":898,"line_end":898,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288833,"byte_end":288836,"line_start":898,"line_end":898,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288851,"byte_end":288854,"line_start":898,"line_end":898,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":288865,"byte_end":288868,"line_start":898,"line_end":898,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":288855,"byte_end":288863,"line_start":898,"line_end":898,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289186,"byte_end":289191,"line_start":905,"line_end":905,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":201327541}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289247,"byte_end":289251,"line_start":906,"line_end":906,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289238,"byte_end":289244,"line_start":906,"line_end":906,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289230,"byte_end":289236,"line_start":906,"line_end":906,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289330,"byte_end":289335,"line_start":907,"line_end":907,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289323,"byte_end":289327,"line_start":907,"line_end":907,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289309,"byte_end":289316,"line_start":907,"line_end":907,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289305,"byte_end":289308,"line_start":907,"line_end":907,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610613685}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289317,"byte_end":289321,"line_start":907,"line_end":907,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":1627390901}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289391,"byte_end":289393,"line_start":908,"line_end":908,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289391,"byte_end":289393,"line_start":908,"line_end":908,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289460,"byte_end":289464,"line_start":909,"line_end":909,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289465,"byte_end":289466,"line_start":909,"line_end":909,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":1761608629}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":289450,"byte_end":289457,"line_start":909,"line_end":909,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":1476395957}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289560,"byte_end":289563,"line_start":911,"line_end":911,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289560,"byte_end":289563,"line_start":911,"line_end":911,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289578,"byte_end":289581,"line_start":911,"line_end":911,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":289592,"byte_end":289595,"line_start":911,"line_end":911,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":289582,"byte_end":289590,"line_start":911,"line_end":911,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290017,"byte_end":290020,"line_start":925,"line_end":925,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290032,"byte_end":290035,"line_start":925,"line_end":925,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290027,"byte_end":290030,"line_start":925,"line_end":925,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290059,"byte_end":290063,"line_start":926,"line_end":926,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290047,"byte_end":290058,"line_start":926,"line_end":926,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290077,"byte_end":290084,"line_start":926,"line_end":926,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290064,"byte_end":290075,"line_start":926,"line_end":926,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290139,"byte_end":290142,"line_start":930,"line_end":930,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2281702325}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290129,"byte_end":290133,"line_start":930,"line_end":930,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290169,"byte_end":290173,"line_start":931,"line_end":931,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290157,"byte_end":290168,"line_start":931,"line_end":931,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290174,"byte_end":290175,"line_start":931,"line_end":931,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":1862271925}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290196,"byte_end":290197,"line_start":932,"line_end":932,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":1862271925}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290234,"byte_end":290237,"line_start":934,"line_end":934,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290248,"byte_end":290251,"line_start":934,"line_end":934,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290238,"byte_end":290246,"line_start":934,"line_end":934,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290331,"byte_end":290334,"line_start":937,"line_end":937,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":23677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290335,"byte_end":290338,"line_start":937,"line_end":937,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3900703669}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290377,"byte_end":290384,"line_start":939,"line_end":939,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":1476395957}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290399,"byte_end":290403,"line_start":940,"line_end":940,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290399,"byte_end":290403,"line_start":940,"line_end":940,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290440,"byte_end":290444,"line_start":941,"line_end":941,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290428,"byte_end":290439,"line_start":941,"line_end":941,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290477,"byte_end":290478,"line_start":942,"line_end":942,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":3833594805}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290482,"byte_end":290486,"line_start":942,"line_end":942,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1149240245}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290524,"byte_end":290530,"line_start":943,"line_end":943,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290512,"byte_end":290523,"line_start":943,"line_end":943,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290560,"byte_end":290566,"line_start":943,"line_end":943,"column_start":65,"column_end":71},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290546,"byte_end":290557,"line_start":943,"line_end":943,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290532,"byte_end":290537,"line_start":943,"line_end":943,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":1551893429}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290587,"byte_end":290591,"line_start":944,"line_end":944,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290600,"byte_end":290603,"line_start":944,"line_end":944,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290592,"byte_end":290598,"line_start":944,"line_end":944,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290604,"byte_end":290609,"line_start":944,"line_end":944,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1551893429}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290618,"byte_end":290621,"line_start":944,"line_end":944,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":3900703669}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290686,"byte_end":290690,"line_start":947,"line_end":947,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290674,"byte_end":290685,"line_start":947,"line_end":947,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290711,"byte_end":290715,"line_start":948,"line_end":948,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290757,"byte_end":290761,"line_start":952,"line_end":952,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290750,"byte_end":290756,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742773}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290762,"byte_end":290778,"line_start":952,"line_end":952,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290793,"byte_end":290796,"line_start":953,"line_end":953,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290813,"byte_end":290818,"line_start":953,"line_end":953,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290798,"byte_end":290811,"line_start":953,"line_end":953,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290835,"byte_end":290836,"line_start":954,"line_end":954,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290851,"byte_end":290858,"line_start":954,"line_end":954,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290838,"byte_end":290849,"line_start":954,"line_end":954,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290872,"byte_end":290880,"line_start":955,"line_end":955,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290900,"byte_end":290904,"line_start":956,"line_end":956,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":290911,"byte_end":290914,"line_start":956,"line_end":956,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290906,"byte_end":290909,"line_start":956,"line_end":956,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":290938,"byte_end":290949,"line_start":956,"line_end":956,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290952,"byte_end":290955,"line_start":956,"line_end":956,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290952,"byte_end":290955,"line_start":956,"line_end":956,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":3900703669}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290957,"byte_end":290964,"line_start":956,"line_end":956,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":290957,"byte_end":290964,"line_start":956,"line_end":956,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":377488309}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291011,"byte_end":291013,"line_start":959,"line_end":959,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291021,"byte_end":291032,"line_start":959,"line_end":959,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3875537845}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291034,"byte_end":291040,"line_start":959,"line_end":959,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742773}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291090,"byte_end":291093,"line_start":963,"line_end":963,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291094,"byte_end":291110,"line_start":963,"line_end":963,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291131,"byte_end":291138,"line_start":963,"line_end":963,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291144,"byte_end":291150,"line_start":963,"line_end":963,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291158,"byte_end":291161,"line_start":963,"line_end":963,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291167,"byte_end":291170,"line_start":963,"line_end":963,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291171,"byte_end":291187,"line_start":963,"line_end":963,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291191,"byte_end":291199,"line_start":963,"line_end":963,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291233,"byte_end":291236,"line_start":965,"line_end":965,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291248,"byte_end":291251,"line_start":965,"line_end":965,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291243,"byte_end":291246,"line_start":965,"line_end":965,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291275,"byte_end":291279,"line_start":966,"line_end":966,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291263,"byte_end":291274,"line_start":966,"line_end":966,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134218678}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291293,"byte_end":291300,"line_start":966,"line_end":966,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291280,"byte_end":291291,"line_start":966,"line_end":966,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291346,"byte_end":291357,"line_start":970,"line_end":970,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536871862}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291388,"byte_end":291395,"line_start":971,"line_end":971,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291379,"byte_end":291386,"line_start":971,"line_end":971,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291388,"byte_end":291395,"line_start":971,"line_end":971,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291379,"byte_end":291386,"line_start":971,"line_end":971,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291423,"byte_end":291424,"line_start":972,"line_end":972,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3825206198}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291434,"byte_end":291435,"line_start":972,"line_end":972,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3825206198}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291469,"byte_end":291472,"line_start":973,"line_end":973,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291483,"byte_end":291486,"line_start":973,"line_end":973,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291473,"byte_end":291481,"line_start":973,"line_end":973,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291581,"byte_end":291582,"line_start":975,"line_end":975,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":3825206198}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291575,"byte_end":291578,"line_start":975,"line_end":975,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":67109814}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291618,"byte_end":291622,"line_start":976,"line_end":976,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291606,"byte_end":291617,"line_start":976,"line_end":976,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291623,"byte_end":291624,"line_start":976,"line_end":976,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":3825206198}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291690,"byte_end":291693,"line_start":979,"line_end":979,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291704,"byte_end":291707,"line_start":979,"line_end":979,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291694,"byte_end":291702,"line_start":979,"line_end":979,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291800,"byte_end":291803,"line_start":983,"line_end":983,"column_start":26,"column_end":29},"ref_id":{"krate":1,"index":23677}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291804,"byte_end":291807,"line_start":983,"line_end":983,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":67109814}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291846,"byte_end":291857,"line_start":985,"line_end":985,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536871862}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291892,"byte_end":291897,"line_start":986,"line_end":986,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291883,"byte_end":291890,"line_start":986,"line_end":986,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291892,"byte_end":291897,"line_start":986,"line_end":986,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":291883,"byte_end":291890,"line_start":986,"line_end":986,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":291934,"byte_end":291938,"line_start":987,"line_end":987,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291922,"byte_end":291933,"line_start":987,"line_end":987,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291971,"byte_end":291972,"line_start":988,"line_end":988,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2650801078}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":291976,"byte_end":291980,"line_start":988,"line_end":988,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2382365622}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292018,"byte_end":292024,"line_start":989,"line_end":989,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292006,"byte_end":292017,"line_start":989,"line_end":989,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292054,"byte_end":292060,"line_start":989,"line_end":989,"column_start":65,"column_end":71},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292040,"byte_end":292051,"line_start":989,"line_end":989,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292026,"byte_end":292031,"line_start":989,"line_end":989,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":822084534}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292081,"byte_end":292085,"line_start":990,"line_end":990,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292094,"byte_end":292097,"line_start":990,"line_end":990,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292086,"byte_end":292092,"line_start":990,"line_end":990,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292098,"byte_end":292103,"line_start":990,"line_end":990,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":822084534}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292112,"byte_end":292115,"line_start":990,"line_end":990,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":67109814}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292154,"byte_end":292161,"line_start":992,"line_end":992,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292145,"byte_end":292152,"line_start":992,"line_end":992,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292154,"byte_end":292161,"line_start":992,"line_end":992,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292145,"byte_end":292152,"line_start":992,"line_end":992,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292198,"byte_end":292202,"line_start":993,"line_end":993,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292186,"byte_end":292197,"line_start":993,"line_end":993,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292235,"byte_end":292236,"line_start":994,"line_end":994,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1962935222}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292240,"byte_end":292244,"line_start":994,"line_end":994,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2382365622}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292282,"byte_end":292288,"line_start":995,"line_end":995,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292270,"byte_end":292281,"line_start":995,"line_end":995,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292318,"byte_end":292324,"line_start":995,"line_end":995,"column_start":65,"column_end":71},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292304,"byte_end":292315,"line_start":995,"line_end":995,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":23695}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292290,"byte_end":292295,"line_start":995,"line_end":995,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2197816246}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292345,"byte_end":292349,"line_start":996,"line_end":996,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292358,"byte_end":292361,"line_start":996,"line_end":996,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292350,"byte_end":292356,"line_start":996,"line_end":996,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292362,"byte_end":292367,"line_start":996,"line_end":996,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":2197816246}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292376,"byte_end":292379,"line_start":996,"line_end":996,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":67109814}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292444,"byte_end":292448,"line_start":999,"line_end":999,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292432,"byte_end":292443,"line_start":999,"line_end":999,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134218678}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292536,"byte_end":292540,"line_start":1001,"line_end":1001,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292582,"byte_end":292586,"line_start":1005,"line_end":1005,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292575,"byte_end":292581,"line_start":1005,"line_end":1005,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742774}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292587,"byte_end":292603,"line_start":1005,"line_end":1005,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292618,"byte_end":292621,"line_start":1006,"line_end":1006,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292638,"byte_end":292643,"line_start":1006,"line_end":1006,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292623,"byte_end":292636,"line_start":1006,"line_end":1006,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292660,"byte_end":292661,"line_start":1007,"line_end":1007,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292676,"byte_end":292683,"line_start":1007,"line_end":1007,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292663,"byte_end":292674,"line_start":1007,"line_end":1007,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292697,"byte_end":292705,"line_start":1008,"line_end":1008,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292725,"byte_end":292729,"line_start":1009,"line_end":1009,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":292736,"byte_end":292739,"line_start":1009,"line_end":1009,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292731,"byte_end":292734,"line_start":1009,"line_end":1009,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292763,"byte_end":292774,"line_start":1009,"line_end":1009,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292777,"byte_end":292780,"line_start":1009,"line_end":1009,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292777,"byte_end":292780,"line_start":1009,"line_end":1009,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":67109814}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292782,"byte_end":292789,"line_start":1009,"line_end":1009,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292782,"byte_end":292789,"line_start":1009,"line_end":1009,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4143973302}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292836,"byte_end":292838,"line_start":1012,"line_end":1012,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292846,"byte_end":292857,"line_start":1012,"line_end":1012,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134218678}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":292859,"byte_end":292865,"line_start":1012,"line_end":1012,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742774}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292919,"byte_end":292922,"line_start":1016,"line_end":1016,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292923,"byte_end":292939,"line_start":1016,"line_end":1016,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292982,"byte_end":292985,"line_start":1016,"line_end":1016,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":292986,"byte_end":293002,"line_start":1016,"line_end":1016,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293025,"byte_end":293030,"line_start":1017,"line_end":1017,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1610613687}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293031,"byte_end":293038,"line_start":1017,"line_end":1017,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":536871863}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293071,"byte_end":293076,"line_start":1019,"line_end":1019,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610613687}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293077,"byte_end":293084,"line_start":1019,"line_end":1019,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536871863}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293109,"byte_end":293113,"line_start":1020,"line_end":1020,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293164,"byte_end":293175,"line_start":1022,"line_end":1022,"column_start":34,"column_end":45},"ref_id":{"krate":1,"index":23695}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293197,"byte_end":293212,"line_start":1023,"line_end":1023,"column_start":19,"column_end":34},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293191,"byte_end":293196,"line_start":1023,"line_end":1023,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2751464375}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293214,"byte_end":293219,"line_start":1023,"line_end":1023,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1610613687}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293220,"byte_end":293247,"line_start":1023,"line_end":1023,"column_start":42,"column_end":69},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293220,"byte_end":293233,"line_start":1023,"line_end":1023,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293221,"byte_end":293228,"line_start":1023,"line_end":1023,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536871863}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293235,"byte_end":293247,"line_start":1023,"line_end":1023,"column_start":57,"column_end":69},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293235,"byte_end":293242,"line_start":1023,"line_end":1023,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":536871863}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293280,"byte_end":293293,"line_start":1024,"line_end":1024,"column_start":30,"column_end":43},"ref_id":{"krate":1,"index":23701}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293294,"byte_end":293299,"line_start":1024,"line_end":1024,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":2751464375}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293314,"byte_end":293318,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293327,"byte_end":293330,"line_start":1025,"line_end":1025,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293319,"byte_end":293325,"line_start":1025,"line_end":1025,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293331,"byte_end":293336,"line_start":1025,"line_end":1025,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3254780855}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293338,"byte_end":293341,"line_start":1025,"line_end":1025,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":134218679}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293371,"byte_end":293375,"line_start":1028,"line_end":1028,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293364,"byte_end":293370,"line_start":1028,"line_end":1028,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742775}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293376,"byte_end":293392,"line_start":1028,"line_end":1028,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293407,"byte_end":293410,"line_start":1029,"line_end":1029,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293427,"byte_end":293432,"line_start":1029,"line_end":1029,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293412,"byte_end":293425,"line_start":1029,"line_end":1029,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293449,"byte_end":293450,"line_start":1030,"line_end":1030,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293465,"byte_end":293472,"line_start":1030,"line_end":1030,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293452,"byte_end":293463,"line_start":1030,"line_end":1030,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293486,"byte_end":293494,"line_start":1031,"line_end":1031,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293514,"byte_end":293518,"line_start":1032,"line_end":1032,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293525,"byte_end":293528,"line_start":1032,"line_end":1032,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293520,"byte_end":293523,"line_start":1032,"line_end":1032,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293552,"byte_end":293563,"line_start":1032,"line_end":1032,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":4010}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293566,"byte_end":293569,"line_start":1032,"line_end":1032,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293566,"byte_end":293569,"line_start":1032,"line_end":1032,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":134218679}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293571,"byte_end":293578,"line_start":1032,"line_end":1032,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293571,"byte_end":293578,"line_start":1032,"line_end":1032,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":704644023}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293625,"byte_end":293631,"line_start":1035,"line_end":1035,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742775}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293683,"byte_end":293689,"line_start":1040,"line_end":1040,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293694,"byte_end":293702,"line_start":1040,"line_end":1040,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293795,"byte_end":293798,"line_start":1042,"line_end":1042,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293783,"byte_end":293793,"line_start":1042,"line_end":1042,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293776,"byte_end":293781,"line_start":1042,"line_end":1042,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293799,"byte_end":293805,"line_start":1042,"line_end":1042,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874286}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293824,"byte_end":293830,"line_start":1043,"line_end":1043,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874286}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293847,"byte_end":293853,"line_start":1043,"line_end":1043,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293832,"byte_end":293839,"line_start":1043,"line_end":1043,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752942}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293840,"byte_end":293846,"line_start":1043,"line_end":1043,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293897,"byte_end":293906,"line_start":1044,"line_end":1044,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293885,"byte_end":293895,"line_start":1044,"line_end":1044,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":293878,"byte_end":293883,"line_start":1044,"line_end":1044,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293915,"byte_end":293934,"line_start":1044,"line_end":1044,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293907,"byte_end":293914,"line_start":1044,"line_end":1044,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752942}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293955,"byte_end":293961,"line_start":1045,"line_end":1045,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874286}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":293979,"byte_end":293985,"line_start":1045,"line_end":1045,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293963,"byte_end":293971,"line_start":1045,"line_end":1045,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699694}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":293972,"byte_end":293978,"line_start":1045,"line_end":1045,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294063,"byte_end":294066,"line_start":1048,"line_end":1048,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294051,"byte_end":294061,"line_start":1048,"line_end":1048,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294044,"byte_end":294049,"line_start":1048,"line_end":1048,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294067,"byte_end":294073,"line_start":1048,"line_end":1048,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526730030}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294092,"byte_end":294098,"line_start":1049,"line_end":1049,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730030}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294115,"byte_end":294121,"line_start":1049,"line_end":1049,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294100,"byte_end":294107,"line_start":1049,"line_end":1049,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936016174}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294108,"byte_end":294114,"line_start":1049,"line_end":1049,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294165,"byte_end":294174,"line_start":1050,"line_end":1050,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294153,"byte_end":294163,"line_start":1050,"line_end":1050,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294146,"byte_end":294151,"line_start":1050,"line_end":1050,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294183,"byte_end":294202,"line_start":1050,"line_end":1050,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294175,"byte_end":294182,"line_start":1050,"line_end":1050,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936016174}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294223,"byte_end":294229,"line_start":1051,"line_end":1051,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730030}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294247,"byte_end":294253,"line_start":1051,"line_end":1051,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294231,"byte_end":294239,"line_start":1051,"line_end":1051,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202695982}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294240,"byte_end":294246,"line_start":1051,"line_end":1051,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294268,"byte_end":294270,"line_start":1053,"line_end":1053,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294315,"byte_end":294321,"line_start":1057,"line_end":1057,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294326,"byte_end":294334,"line_start":1057,"line_end":1057,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294436,"byte_end":294446,"line_start":1059,"line_end":1059,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294429,"byte_end":294434,"line_start":1059,"line_end":1059,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294457,"byte_end":294463,"line_start":1059,"line_end":1059,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874290}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294482,"byte_end":294488,"line_start":1060,"line_end":1060,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874290}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294490,"byte_end":294497,"line_start":1060,"line_end":1060,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752946}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294568,"byte_end":294577,"line_start":1061,"line_end":1061,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294556,"byte_end":294566,"line_start":1061,"line_end":1061,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294549,"byte_end":294554,"line_start":1061,"line_end":1061,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294578,"byte_end":294585,"line_start":1061,"line_end":1061,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752946}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294626,"byte_end":294632,"line_start":1062,"line_end":1062,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874290}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294661,"byte_end":294670,"line_start":1062,"line_end":1062,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294650,"byte_end":294657,"line_start":1062,"line_end":1062,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294634,"byte_end":294642,"line_start":1062,"line_end":1062,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441522}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294643,"byte_end":294649,"line_start":1062,"line_end":1062,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294754,"byte_end":294764,"line_start":1065,"line_end":1065,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294747,"byte_end":294752,"line_start":1065,"line_end":1065,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294775,"byte_end":294781,"line_start":1065,"line_end":1065,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063600946}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294800,"byte_end":294806,"line_start":1066,"line_end":1066,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600946}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294808,"byte_end":294815,"line_start":1066,"line_end":1066,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580722}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294886,"byte_end":294895,"line_start":1067,"line_end":1067,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294874,"byte_end":294884,"line_start":1067,"line_end":1067,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":294867,"byte_end":294872,"line_start":1067,"line_end":1067,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294896,"byte_end":294903,"line_start":1067,"line_end":1067,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580722}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294944,"byte_end":294950,"line_start":1068,"line_end":1068,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063600946}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294979,"byte_end":294988,"line_start":1068,"line_end":1068,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":294968,"byte_end":294975,"line_start":1068,"line_end":1068,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294952,"byte_end":294960,"line_start":1068,"line_end":1068,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409842}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":294961,"byte_end":294967,"line_start":1068,"line_end":1068,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295002,"byte_end":295004,"line_start":1070,"line_end":1070,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295048,"byte_end":295054,"line_start":1074,"line_end":1074,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295059,"byte_end":295067,"line_start":1074,"line_end":1074,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295169,"byte_end":295179,"line_start":1076,"line_end":1076,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295162,"byte_end":295167,"line_start":1076,"line_end":1076,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295190,"byte_end":295196,"line_start":1076,"line_end":1076,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874294}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295217,"byte_end":295224,"line_start":1077,"line_end":1077,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160752950}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295236,"byte_end":295240,"line_start":1077,"line_end":1077,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295271,"byte_end":295277,"line_start":1078,"line_end":1078,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295258,"byte_end":295264,"line_start":1078,"line_end":1078,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547702}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295303,"byte_end":295306,"line_start":1078,"line_end":1078,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295295,"byte_end":295301,"line_start":1078,"line_end":1078,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3363}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295358,"byte_end":295367,"line_start":1079,"line_end":1079,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295346,"byte_end":295356,"line_start":1079,"line_end":1079,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295339,"byte_end":295344,"line_start":1079,"line_end":1079,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295368,"byte_end":295375,"line_start":1079,"line_end":1079,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752950}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295416,"byte_end":295422,"line_start":1080,"line_end":1080,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874294}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295451,"byte_end":295460,"line_start":1080,"line_end":1080,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295440,"byte_end":295447,"line_start":1080,"line_end":1080,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295424,"byte_end":295432,"line_start":1080,"line_end":1080,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":956304694}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295433,"byte_end":295439,"line_start":1080,"line_end":1080,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295470,"byte_end":295472,"line_start":1082,"line_end":1082,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295534,"byte_end":295540,"line_start":1087,"line_end":1087,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295545,"byte_end":295553,"line_start":1087,"line_end":1087,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295636,"byte_end":295646,"line_start":1089,"line_end":1089,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295629,"byte_end":295634,"line_start":1089,"line_end":1089,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295657,"byte_end":295663,"line_start":1089,"line_end":1089,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874298}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295688,"byte_end":295695,"line_start":1090,"line_end":1090,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752954}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295707,"byte_end":295711,"line_start":1090,"line_end":1090,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295718,"byte_end":295724,"line_start":1091,"line_end":1091,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547706}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295742,"byte_end":295745,"line_start":1091,"line_end":1091,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295734,"byte_end":295740,"line_start":1091,"line_end":1091,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295788,"byte_end":295794,"line_start":1092,"line_end":1092,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295775,"byte_end":295781,"line_start":1092,"line_end":1092,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547706}},{"kind":"Function","span":{"file_name":"src/pointer/dec.rs","byte_start":295820,"byte_end":295823,"line_start":1092,"line_end":1092,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":876}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295812,"byte_end":295818,"line_start":1092,"line_end":1092,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295841,"byte_end":295847,"line_start":1093,"line_end":1093,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547706}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295887,"byte_end":295893,"line_start":1094,"line_end":1094,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295874,"byte_end":295880,"line_start":1094,"line_end":1094,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547706}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295902,"byte_end":295906,"line_start":1094,"line_end":1094,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295914,"byte_end":295920,"line_start":1096,"line_end":1096,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547706}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":295929,"byte_end":295933,"line_start":1096,"line_end":1096,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/dec.rs","byte_start":295952,"byte_end":295958,"line_start":1097,"line_end":1097,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547706}},{"kind":"Type","span":{"file_name":"src/pointer/dec.rs","byte_start":296003,"byte_end":296005,"line_start":1099,"line_end":1099,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57423,"byte_end":57427,"line_start":21,"line_end":21,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":952}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296659,"byte_end":296662,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296659,"byte_end":296662,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296685,"byte_end":296691,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":296704,"byte_end":296710,"line_start":22,"line_end":22,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":2459}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":296651,"byte_end":296656,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2746}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296753,"byte_end":296758,"line_start":22,"line_end":22,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296778,"byte_end":296783,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296786,"byte_end":296790,"line_start":23,"line_end":23,"column_start":13,"column_end":17},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296778,"byte_end":296783,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296797,"byte_end":296800,"line_start":23,"line_end":23,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6303}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":296812,"byte_end":296817,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2749}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296819,"byte_end":296824,"line_start":24,"line_end":24,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296841,"byte_end":296846,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296848,"byte_end":296857,"line_start":25,"line_end":25,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296841,"byte_end":296846,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296848,"byte_end":296857,"line_start":25,"line_end":25,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296881,"byte_end":296886,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296888,"byte_end":296894,"line_start":26,"line_end":26,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296923,"byte_end":296930,"line_start":27,"line_end":27,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":296942,"byte_end":296947,"line_start":27,"line_end":27,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296915,"byte_end":296920,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296959,"byte_end":296964,"line_start":27,"line_end":27,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296979,"byte_end":296983,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296986,"byte_end":296989,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296979,"byte_end":296983,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":296986,"byte_end":296989,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297017,"byte_end":297022,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297024,"byte_end":297030,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297044,"byte_end":297049,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297051,"byte_end":297056,"line_start":31,"line_end":31,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297067,"byte_end":297072,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297074,"byte_end":297080,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297096,"byte_end":297101,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":297103,"byte_end":297109,"line_start":33,"line_end":33,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297125,"byte_end":297130,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297125,"byte_end":297130,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1719}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297350,"line_start":45,"line_end":45,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297345,"byte_end":297360,"line_start":45,"line_end":45,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297423,"byte_end":297430,"line_start":49,"line_end":49,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297822,"byte_end":297829,"line_start":60,"line_end":60,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3387}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297860,"byte_end":297863,"line_start":61,"line_end":61,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2739}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297854,"byte_end":297858,"line_start":61,"line_end":61,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297864,"byte_end":297875,"line_start":61,"line_end":61,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":536871951}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297952,"byte_end":297963,"line_start":65,"line_end":65,"column_start":33,"column_end":44},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297945,"byte_end":297951,"line_start":65,"line_end":65,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742863}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":297985,"byte_end":297996,"line_start":67,"line_end":67,"column_start":18,"column_end":29},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297985,"byte_end":297986,"line_start":67,"line_end":67,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297988,"byte_end":297996,"line_start":67,"line_end":67,"column_start":21,"column_end":29},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":297991,"byte_end":297994,"line_start":67,"line_end":67,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":297988,"byte_end":297990,"line_start":67,"line_end":67,"column_start":21,"column_end":23},"ref_id":{"krate":0,"index":1476396047}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298014,"byte_end":298015,"line_start":68,"line_end":68,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1409287183}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298046,"byte_end":298056,"line_start":69,"line_end":69,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2214593551}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298057,"byte_end":298058,"line_start":69,"line_end":69,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1409287183}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298038,"byte_end":298040,"line_start":69,"line_end":69,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":1476396047}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298041,"byte_end":298042,"line_start":69,"line_end":69,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1409287183}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298114,"byte_end":298123,"line_start":71,"line_end":71,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2741}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298110,"byte_end":298113,"line_start":71,"line_end":71,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":1879049231}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298102,"byte_end":298104,"line_start":71,"line_end":71,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":1476396047}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298105,"byte_end":298106,"line_start":71,"line_end":71,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1409287183}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298172,"byte_end":298179,"line_start":75,"line_end":75,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298194,"byte_end":298199,"line_start":76,"line_end":76,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298201,"byte_end":298203,"line_start":76,"line_end":76,"column_start":20,"column_end":22},"ref_id":{"krate":0,"index":1476396047}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298554,"byte_end":298556,"line_start":83,"line_end":83,"column_start":81,"column_end":83},"ref_id":{"krate":1,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298551,"byte_end":298552,"line_start":83,"line_end":83,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":1043}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298531,"byte_end":298532,"line_start":83,"line_end":83,"column_start":58,"column_end":59},"ref_id":{"krate":0,"index":1043}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298537,"byte_end":298544,"line_start":83,"line_end":83,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":3387}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298641,"byte_end":298652,"line_start":87,"line_end":87,"column_start":33,"column_end":44},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298634,"byte_end":298640,"line_start":87,"line_end":87,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073742866}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298674,"byte_end":298685,"line_start":89,"line_end":89,"column_start":18,"column_end":29},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298674,"byte_end":298675,"line_start":89,"line_end":89,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298677,"byte_end":298685,"line_start":89,"line_end":89,"column_start":21,"column_end":29},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":298680,"byte_end":298683,"line_start":89,"line_end":89,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298677,"byte_end":298679,"line_start":89,"line_end":89,"column_start":21,"column_end":23},"ref_id":{"krate":0,"index":134218770}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298703,"byte_end":298704,"line_start":90,"line_end":90,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":67109906}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298735,"byte_end":298745,"line_start":91,"line_end":91,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3892315154}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298746,"byte_end":298747,"line_start":91,"line_end":91,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":67109906}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298727,"byte_end":298729,"line_start":91,"line_end":91,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":134218770}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298730,"byte_end":298731,"line_start":91,"line_end":91,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":67109906}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298799,"byte_end":298808,"line_start":93,"line_end":93,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":536871954}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298791,"byte_end":298793,"line_start":93,"line_end":93,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":134218770}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298794,"byte_end":298795,"line_start":93,"line_end":93,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":67109906}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":298845,"byte_end":298852,"line_start":97,"line_end":97,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298867,"byte_end":298872,"line_start":98,"line_end":98,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":298874,"byte_end":298876,"line_start":98,"line_end":98,"column_start":20,"column_end":22},"ref_id":{"krate":0,"index":134218770}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299073,"byte_end":299082,"line_start":105,"line_end":105,"column_start":49,"column_end":58},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299065,"byte_end":299069,"line_start":105,"line_end":105,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":7958}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299058,"byte_end":299062,"line_start":105,"line_end":105,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299047,"byte_end":299051,"line_start":105,"line_end":105,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073742870}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299052,"byte_end":299057,"line_start":105,"line_end":105,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299120,"byte_end":299121,"line_start":106,"line_end":106,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1476396054}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299099,"byte_end":299109,"line_start":106,"line_end":106,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1879049238}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299110,"byte_end":299111,"line_start":106,"line_end":106,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2550137878}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299146,"byte_end":299159,"line_start":108,"line_end":108,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299160,"byte_end":299170,"line_start":108,"line_end":108,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1879049238}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299290,"byte_end":299294,"line_start":113,"line_end":113,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073742873}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299295,"byte_end":299300,"line_start":113,"line_end":113,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299301,"byte_end":299304,"line_start":113,"line_end":113,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":37891}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299301,"byte_end":299302,"line_start":113,"line_end":113,"column_start":33,"column_end":34},"ref_id":{"krate":1,"index":37893}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299456,"byte_end":299462,"line_start":118,"line_end":118,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":299489,"byte_end":299495,"line_start":119,"line_end":119,"column_start":25,"column_end":31},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299501,"byte_end":299509,"line_start":119,"line_end":119,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299651,"byte_end":299660,"line_start":124,"line_end":124,"column_start":41,"column_end":50},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299644,"byte_end":299648,"line_start":124,"line_end":124,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299633,"byte_end":299637,"line_start":124,"line_end":124,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073742876}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299638,"byte_end":299643,"line_start":124,"line_end":124,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299680,"byte_end":299681,"line_start":125,"line_end":125,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1409287196}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299726,"byte_end":299727,"line_start":126,"line_end":126,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":3556770844}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299704,"byte_end":299714,"line_start":126,"line_end":126,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1744831516}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299715,"byte_end":299716,"line_start":126,"line_end":126,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1409287196}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299783,"byte_end":299784,"line_start":128,"line_end":128,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":3556770844}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299766,"byte_end":299776,"line_start":128,"line_end":128,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1140851740}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299777,"byte_end":299778,"line_start":128,"line_end":128,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1409287196}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299826,"byte_end":299834,"line_start":132,"line_end":132,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299819,"byte_end":299825,"line_start":132,"line_end":132,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178332}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299882,"byte_end":299888,"line_start":132,"line_end":132,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299835,"byte_end":299844,"line_start":132,"line_end":132,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2749}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299851,"byte_end":299864,"line_start":132,"line_end":132,"column_start":41,"column_end":54},"ref_id":{"krate":1,"index":24423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299865,"byte_end":299875,"line_start":132,"line_end":132,"column_start":55,"column_end":65},"ref_id":{"krate":0,"index":1744831516}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299908,"byte_end":299916,"line_start":133,"line_end":133,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299901,"byte_end":299907,"line_start":133,"line_end":133,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178332}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299964,"byte_end":299970,"line_start":133,"line_end":133,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299917,"byte_end":299926,"line_start":133,"line_end":133,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2749}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":299933,"byte_end":299946,"line_start":133,"line_end":133,"column_start":41,"column_end":54},"ref_id":{"krate":1,"index":24423}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299947,"byte_end":299957,"line_start":133,"line_end":133,"column_start":55,"column_end":65},"ref_id":{"krate":0,"index":1140851740}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":299984,"byte_end":299990,"line_start":135,"line_end":135,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342178332}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300057,"byte_end":300062,"line_start":139,"line_end":139,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300076,"byte_end":300077,"line_start":139,"line_end":139,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":1058}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300149,"byte_end":300160,"line_start":140,"line_end":140,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24417}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300114,"byte_end":300125,"line_start":140,"line_end":140,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2746}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300133,"byte_end":300139,"line_start":140,"line_end":140,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300127,"byte_end":300132,"line_start":140,"line_end":140,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073742881}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300142,"byte_end":300146,"line_start":140,"line_end":140,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":37912}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300144,"byte_end":300146,"line_start":140,"line_end":140,"column_start":56,"column_end":58},"ref_id":{"krate":1,"index":37914}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300224,"byte_end":300235,"line_start":141,"line_end":141,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24417}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300189,"byte_end":300200,"line_start":141,"line_end":141,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2746}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300208,"byte_end":300214,"line_start":141,"line_end":141,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300202,"byte_end":300207,"line_start":141,"line_end":141,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073742881}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300217,"byte_end":300221,"line_start":141,"line_end":141,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":37891}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300217,"byte_end":300219,"line_start":141,"line_end":141,"column_start":54,"column_end":56},"ref_id":{"krate":1,"index":37893}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300265,"byte_end":300272,"line_start":143,"line_end":143,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300275,"byte_end":300280,"line_start":143,"line_end":143,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300311,"byte_end":300316,"line_start":145,"line_end":145,"column_start":18,"column_end":23},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300311,"byte_end":300312,"line_start":145,"line_end":145,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300314,"byte_end":300316,"line_start":145,"line_end":145,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300334,"byte_end":300335,"line_start":146,"line_end":146,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":738198561}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300376,"byte_end":300386,"line_start":147,"line_end":147,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3355444257}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300387,"byte_end":300388,"line_start":147,"line_end":147,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":738198561}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300358,"byte_end":300364,"line_start":147,"line_end":147,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1946158113}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300365,"byte_end":300370,"line_start":147,"line_end":147,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300371,"byte_end":300372,"line_start":147,"line_end":147,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":738198561}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300451,"byte_end":300461,"line_start":149,"line_end":149,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":603980833}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300462,"byte_end":300463,"line_start":149,"line_end":149,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":738198561}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300433,"byte_end":300439,"line_start":149,"line_end":149,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1946158113}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300440,"byte_end":300445,"line_start":149,"line_end":149,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300446,"byte_end":300447,"line_start":149,"line_end":149,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":738198561}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300499,"byte_end":300505,"line_start":153,"line_end":153,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1946158113}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300522,"byte_end":300529,"line_start":159,"line_end":159,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300580,"byte_end":300587,"line_start":161,"line_end":161,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300590,"byte_end":300595,"line_start":161,"line_end":161,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300623,"byte_end":300628,"line_start":165,"line_end":165,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300669,"byte_end":300678,"line_start":166,"line_end":166,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300698,"byte_end":300704,"line_start":166,"line_end":166,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":300687,"byte_end":300691,"line_start":166,"line_end":166,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/ulid.rs","byte_start":300693,"byte_end":300696,"line_start":166,"line_end":166,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300722,"byte_end":300723,"line_start":167,"line_end":167,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536871976}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300736,"byte_end":300745,"line_start":167,"line_end":167,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1052}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":300731,"byte_end":300735,"line_start":167,"line_end":167,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073742888}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300771,"byte_end":300780,"line_start":171,"line_end":171,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300881,"byte_end":300886,"line_start":172,"line_end":172,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300835,"byte_end":300851,"line_start":172,"line_end":172,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300856,"byte_end":300862,"line_start":172,"line_end":172,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300897,"byte_end":300901,"line_start":173,"line_end":173,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":300908,"byte_end":300915,"line_start":173,"line_end":173,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300956,"byte_end":300965,"line_start":176,"line_end":176,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300977,"byte_end":300986,"line_start":176,"line_end":176,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":300991,"byte_end":300997,"line_start":176,"line_end":176,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301014,"byte_end":301018,"line_start":177,"line_end":177,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301019,"byte_end":301026,"line_start":177,"line_end":177,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301029,"byte_end":301034,"line_start":177,"line_end":177,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301087,"byte_end":301096,"line_start":180,"line_end":180,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301108,"byte_end":301117,"line_start":180,"line_end":180,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301122,"byte_end":301128,"line_start":180,"line_end":180,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301145,"byte_end":301149,"line_start":181,"line_end":181,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301150,"byte_end":301157,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301160,"byte_end":301165,"line_start":181,"line_end":181,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3388}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301201,"byte_end":301209,"line_start":185,"line_end":185,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301269,"byte_end":301280,"line_start":188,"line_end":188,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301306,"byte_end":301310,"line_start":188,"line_end":188,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301293,"byte_end":301304,"line_start":188,"line_end":188,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301359,"byte_end":301370,"line_start":189,"line_end":189,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301396,"byte_end":301400,"line_start":189,"line_end":189,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301383,"byte_end":301394,"line_start":189,"line_end":189,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301437,"byte_end":301440,"line_start":191,"line_end":191,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301441,"byte_end":301457,"line_start":191,"line_end":191,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301479,"byte_end":301485,"line_start":191,"line_end":191,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301486,"byte_end":301493,"line_start":191,"line_end":191,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301495,"byte_end":301503,"line_start":191,"line_end":191,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301544,"byte_end":301547,"line_start":192,"line_end":192,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301537,"byte_end":301542,"line_start":192,"line_end":192,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301571,"byte_end":301577,"line_start":193,"line_end":193,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301559,"byte_end":301570,"line_start":193,"line_end":193,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307444}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301585,"byte_end":301593,"line_start":193,"line_end":193,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301606,"byte_end":301612,"line_start":193,"line_end":193,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301597,"byte_end":301604,"line_start":193,"line_end":193,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301632,"byte_end":301641,"line_start":193,"line_end":193,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301619,"byte_end":301627,"line_start":193,"line_end":193,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301656,"byte_end":301658,"line_start":195,"line_end":195,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301668,"byte_end":301678,"line_start":195,"line_end":195,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301659,"byte_end":301666,"line_start":195,"line_end":195,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301679,"byte_end":301690,"line_start":195,"line_end":195,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307444}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301870,"byte_end":301875,"line_start":198,"line_end":198,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301769,"byte_end":301778,"line_start":198,"line_end":198,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301794,"byte_end":301803,"line_start":198,"line_end":198,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301813,"byte_end":301816,"line_start":198,"line_end":198,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301817,"byte_end":301824,"line_start":198,"line_end":198,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301830,"byte_end":301836,"line_start":198,"line_end":198,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301841,"byte_end":301849,"line_start":198,"line_end":198,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301895,"byte_end":301900,"line_start":199,"line_end":199,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301924,"byte_end":301930,"line_start":200,"line_end":200,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301915,"byte_end":301922,"line_start":200,"line_end":200,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301924,"byte_end":301930,"line_start":200,"line_end":200,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301915,"byte_end":301922,"line_start":200,"line_end":200,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":301965,"byte_end":301974,"line_start":201,"line_end":201,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301975,"byte_end":301981,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613813}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":301983,"byte_end":301989,"line_start":201,"line_end":201,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436533}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302000,"byte_end":302011,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1057}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":301991,"byte_end":301998,"line_start":201,"line_end":201,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302013,"byte_end":302018,"line_start":201,"line_end":201,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1207960629}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302077,"byte_end":302079,"line_start":206,"line_end":206,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302122,"byte_end":302125,"line_start":209,"line_end":209,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302126,"byte_end":302142,"line_start":209,"line_end":209,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302164,"byte_end":302170,"line_start":209,"line_end":209,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302171,"byte_end":302177,"line_start":209,"line_end":209,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302179,"byte_end":302187,"line_start":209,"line_end":209,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302199,"byte_end":302201,"line_start":210,"line_end":210,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302210,"byte_end":302214,"line_start":210,"line_end":210,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302202,"byte_end":302208,"line_start":210,"line_end":210,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302267,"byte_end":302270,"line_start":213,"line_end":213,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302271,"byte_end":302287,"line_start":213,"line_end":213,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302310,"byte_end":302319,"line_start":213,"line_end":213,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302329,"byte_end":302332,"line_start":213,"line_end":213,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302333,"byte_end":302339,"line_start":213,"line_end":213,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302345,"byte_end":302351,"line_start":213,"line_end":213,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302359,"byte_end":302362,"line_start":213,"line_end":213,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302368,"byte_end":302371,"line_start":213,"line_end":213,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302372,"byte_end":302388,"line_start":213,"line_end":213,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302392,"byte_end":302400,"line_start":213,"line_end":213,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302418,"byte_end":302437,"line_start":214,"line_end":214,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302438,"byte_end":302444,"line_start":214,"line_end":214,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742904}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302452,"byte_end":302455,"line_start":214,"line_end":214,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302447,"byte_end":302450,"line_start":214,"line_end":214,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302465,"byte_end":302469,"line_start":214,"line_end":214,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302456,"byte_end":302463,"line_start":214,"line_end":214,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302610,"byte_end":302615,"line_start":217,"line_end":217,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302511,"byte_end":302520,"line_start":217,"line_end":217,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302536,"byte_end":302545,"line_start":217,"line_end":217,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302563,"byte_end":302569,"line_start":217,"line_end":217,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302570,"byte_end":302579,"line_start":217,"line_end":217,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302581,"byte_end":302589,"line_start":217,"line_end":217,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302636,"byte_end":302645,"line_start":218,"line_end":218,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302626,"byte_end":302634,"line_start":218,"line_end":218,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":1036}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302646,"byte_end":302652,"line_start":218,"line_end":218,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1073742905}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302654,"byte_end":302660,"line_start":218,"line_end":218,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536871993}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302663,"byte_end":302668,"line_start":218,"line_end":218,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610613817}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302788,"byte_end":302793,"line_start":221,"line_end":221,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302704,"byte_end":302713,"line_start":221,"line_end":221,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302731,"byte_end":302740,"line_start":221,"line_end":221,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302745,"byte_end":302751,"line_start":221,"line_end":221,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302752,"byte_end":302758,"line_start":221,"line_end":221,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302766,"byte_end":302774,"line_start":221,"line_end":221,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302820,"byte_end":302830,"line_start":222,"line_end":222,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302810,"byte_end":302818,"line_start":222,"line_end":222,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1036}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302831,"byte_end":302837,"line_start":222,"line_end":222,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073742907}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302839,"byte_end":302845,"line_start":222,"line_end":222,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536871995}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302862,"byte_end":302866,"line_start":223,"line_end":223,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302862,"byte_end":302866,"line_start":223,"line_end":223,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302875,"byte_end":302877,"line_start":223,"line_end":223,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302878,"byte_end":302882,"line_start":223,"line_end":223,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":302885,"byte_end":302890,"line_start":223,"line_end":223,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":302883,"byte_end":302884,"line_start":223,"line_end":223,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":67109947}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302910,"byte_end":302914,"line_start":224,"line_end":224,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302910,"byte_end":302914,"line_start":224,"line_end":224,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302918,"byte_end":302920,"line_start":224,"line_end":224,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":302921,"byte_end":302925,"line_start":224,"line_end":224,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303009,"byte_end":303012,"line_start":228,"line_end":228,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303013,"byte_end":303029,"line_start":228,"line_end":228,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303035,"byte_end":303041,"line_start":228,"line_end":228,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303058,"byte_end":303062,"line_start":229,"line_end":229,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303108,"byte_end":303117,"line_start":232,"line_end":232,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303135,"byte_end":303144,"line_start":232,"line_end":232,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303149,"byte_end":303156,"line_start":232,"line_end":232,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303180,"byte_end":303190,"line_start":234,"line_end":234,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303191,"byte_end":303197,"line_start":234,"line_end":234,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536871997}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303199,"byte_end":303205,"line_start":234,"line_end":234,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613821}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303221,"byte_end":303223,"line_start":235,"line_end":235,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303221,"byte_end":303223,"line_start":235,"line_end":235,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303254,"byte_end":303255,"line_start":236,"line_end":236,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702461}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303278,"byte_end":303282,"line_start":237,"line_end":237,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303278,"byte_end":303282,"line_start":237,"line_end":237,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303324,"byte_end":303330,"line_start":238,"line_end":238,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303315,"byte_end":303322,"line_start":238,"line_end":238,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303333,"byte_end":303342,"line_start":238,"line_end":238,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1052}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303331,"byte_end":303332,"line_start":238,"line_end":238,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3892315197}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303389,"byte_end":303393,"line_start":240,"line_end":240,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303389,"byte_end":303393,"line_start":240,"line_end":240,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303432,"byte_end":303436,"line_start":241,"line_end":241,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303423,"byte_end":303430,"line_start":241,"line_end":241,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303504,"byte_end":303507,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303504,"byte_end":303507,"line_start":245,"line_end":245,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303542,"byte_end":303546,"line_start":246,"line_end":246,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303533,"byte_end":303540,"line_start":246,"line_end":246,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303617,"byte_end":303626,"line_start":251,"line_end":251,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303637,"byte_end":303646,"line_start":251,"line_end":251,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303651,"byte_end":303657,"line_start":251,"line_end":251,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303665,"byte_end":303673,"line_start":251,"line_end":251,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303712,"byte_end":303721,"line_start":253,"line_end":253,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303705,"byte_end":303711,"line_start":253,"line_end":253,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536871998}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303722,"byte_end":303728,"line_start":253,"line_end":253,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613822}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":303755,"byte_end":303769,"line_start":255,"line_end":255,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":303745,"byte_end":303752,"line_start":255,"line_end":255,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960638}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303791,"byte_end":303793,"line_start":256,"line_end":256,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303827,"byte_end":303829,"line_start":258,"line_end":258,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303890,"byte_end":303893,"line_start":262,"line_end":262,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303894,"byte_end":303910,"line_start":262,"line_end":262,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303928,"byte_end":303931,"line_start":262,"line_end":262,"column_start":78,"column_end":81},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303932,"byte_end":303939,"line_start":262,"line_end":262,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303945,"byte_end":303951,"line_start":262,"line_end":262,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303959,"byte_end":303962,"line_start":262,"line_end":262,"column_start":109,"column_end":112},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303968,"byte_end":303971,"line_start":262,"line_end":262,"column_start":118,"column_end":121},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303972,"byte_end":303988,"line_start":262,"line_end":262,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":303992,"byte_end":304000,"line_start":262,"line_end":262,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304035,"byte_end":304038,"line_start":264,"line_end":264,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304050,"byte_end":304053,"line_start":264,"line_end":264,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304045,"byte_end":304048,"line_start":264,"line_end":264,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304078,"byte_end":304082,"line_start":265,"line_end":265,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304065,"byte_end":304077,"line_start":265,"line_end":265,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134218816}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304096,"byte_end":304100,"line_start":265,"line_end":265,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304083,"byte_end":304094,"line_start":265,"line_end":265,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304124,"byte_end":304128,"line_start":266,"line_end":266,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304117,"byte_end":304123,"line_start":266,"line_end":266,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304129,"byte_end":304145,"line_start":266,"line_end":266,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304160,"byte_end":304163,"line_start":267,"line_end":267,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304180,"byte_end":304185,"line_start":267,"line_end":267,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304165,"byte_end":304178,"line_start":267,"line_end":267,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304203,"byte_end":304204,"line_start":268,"line_end":268,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304219,"byte_end":304223,"line_start":268,"line_end":268,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304206,"byte_end":304217,"line_start":268,"line_end":268,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304237,"byte_end":304245,"line_start":269,"line_end":269,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304265,"byte_end":304269,"line_start":270,"line_end":270,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304276,"byte_end":304279,"line_start":270,"line_end":270,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304271,"byte_end":304274,"line_start":270,"line_end":270,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304280,"byte_end":304284,"line_start":270,"line_end":270,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304315,"byte_end":304317,"line_start":272,"line_end":272,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304325,"byte_end":304337,"line_start":272,"line_end":272,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":134218816}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304339,"byte_end":304345,"line_start":272,"line_end":272,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073742912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304398,"byte_end":304401,"line_start":278,"line_end":278,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304402,"byte_end":304418,"line_start":278,"line_end":278,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304463,"byte_end":304466,"line_start":278,"line_end":278,"column_start":106,"column_end":109},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304467,"byte_end":304483,"line_start":278,"line_end":278,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304503,"byte_end":304507,"line_start":279,"line_end":279,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304496,"byte_end":304502,"line_start":279,"line_end":279,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073742913}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304508,"byte_end":304524,"line_start":279,"line_end":279,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304539,"byte_end":304542,"line_start":280,"line_end":280,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304559,"byte_end":304564,"line_start":280,"line_end":280,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304544,"byte_end":304557,"line_start":280,"line_end":280,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304582,"byte_end":304583,"line_start":281,"line_end":281,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304598,"byte_end":304602,"line_start":281,"line_end":281,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304585,"byte_end":304596,"line_start":281,"line_end":281,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304616,"byte_end":304624,"line_start":282,"line_end":282,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304644,"byte_end":304648,"line_start":283,"line_end":283,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":304655,"byte_end":304658,"line_start":283,"line_end":283,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304650,"byte_end":304653,"line_start":283,"line_end":283,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304659,"byte_end":304663,"line_start":283,"line_end":283,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":304694,"byte_end":304700,"line_start":285,"line_end":285,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073742913}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304749,"byte_end":304756,"line_start":291,"line_end":291,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304726,"byte_end":304735,"line_start":291,"line_end":291,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304837,"byte_end":304842,"line_start":292,"line_end":292,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304791,"byte_end":304807,"line_start":292,"line_end":292,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304812,"byte_end":304818,"line_start":292,"line_end":292,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304853,"byte_end":304857,"line_start":293,"line_end":293,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304894,"byte_end":304903,"line_start":295,"line_end":295,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304915,"byte_end":304924,"line_start":295,"line_end":295,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304929,"byte_end":304935,"line_start":295,"line_end":295,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304952,"byte_end":304956,"line_start":296,"line_end":296,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":304994,"byte_end":305003,"line_start":299,"line_end":299,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305015,"byte_end":305024,"line_start":299,"line_end":299,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305029,"byte_end":305035,"line_start":299,"line_end":299,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305052,"byte_end":305056,"line_start":300,"line_end":300,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305102,"byte_end":305109,"line_start":305,"line_end":305,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305080,"byte_end":305088,"line_start":305,"line_end":305,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305148,"byte_end":305159,"line_start":307,"line_end":307,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305172,"byte_end":305180,"line_start":307,"line_end":307,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305163,"byte_end":305170,"line_start":307,"line_end":307,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305230,"byte_end":305241,"line_start":308,"line_end":308,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305264,"byte_end":305277,"line_start":308,"line_end":308,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":1727}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305254,"byte_end":305261,"line_start":308,"line_end":308,"column_start":70,"column_end":77},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305245,"byte_end":305252,"line_start":308,"line_end":308,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305315,"byte_end":305318,"line_start":310,"line_end":310,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305319,"byte_end":305335,"line_start":310,"line_end":310,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305357,"byte_end":305363,"line_start":310,"line_end":310,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305364,"byte_end":305371,"line_start":310,"line_end":310,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305373,"byte_end":305381,"line_start":310,"line_end":310,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305402,"byte_end":305416,"line_start":311,"line_end":311,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305393,"byte_end":305400,"line_start":311,"line_end":311,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305417,"byte_end":305424,"line_start":311,"line_end":311,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1073742923}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305426,"byte_end":305434,"line_start":311,"line_end":311,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":536872011}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305616,"byte_end":305621,"line_start":314,"line_end":314,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305513,"byte_end":305522,"line_start":314,"line_end":314,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305539,"byte_end":305548,"line_start":314,"line_end":314,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305559,"byte_end":305562,"line_start":314,"line_end":314,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305563,"byte_end":305570,"line_start":314,"line_end":314,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305576,"byte_end":305582,"line_start":314,"line_end":314,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305587,"byte_end":305595,"line_start":314,"line_end":314,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305633,"byte_end":305635,"line_start":316,"line_end":316,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305678,"byte_end":305681,"line_start":319,"line_end":319,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305682,"byte_end":305698,"line_start":319,"line_end":319,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305720,"byte_end":305726,"line_start":319,"line_end":319,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305727,"byte_end":305733,"line_start":319,"line_end":319,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305735,"byte_end":305743,"line_start":319,"line_end":319,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305755,"byte_end":305757,"line_start":320,"line_end":320,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305766,"byte_end":305770,"line_start":320,"line_end":320,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305758,"byte_end":305764,"line_start":320,"line_end":320,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305823,"byte_end":305826,"line_start":323,"line_end":323,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305827,"byte_end":305843,"line_start":323,"line_end":323,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305866,"byte_end":305875,"line_start":323,"line_end":323,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305885,"byte_end":305888,"line_start":323,"line_end":323,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305889,"byte_end":305895,"line_start":323,"line_end":323,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305901,"byte_end":305907,"line_start":323,"line_end":323,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305915,"byte_end":305918,"line_start":323,"line_end":323,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305924,"byte_end":305927,"line_start":323,"line_end":323,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305928,"byte_end":305944,"line_start":323,"line_end":323,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":305948,"byte_end":305956,"line_start":323,"line_end":323,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":305974,"byte_end":305993,"line_start":324,"line_end":324,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":305994,"byte_end":306000,"line_start":324,"line_end":324,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073742927}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306008,"byte_end":306011,"line_start":324,"line_end":324,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306003,"byte_end":306006,"line_start":324,"line_end":324,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306021,"byte_end":306025,"line_start":324,"line_end":324,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306012,"byte_end":306019,"line_start":324,"line_end":324,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306165,"byte_end":306170,"line_start":327,"line_end":327,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306066,"byte_end":306075,"line_start":327,"line_end":327,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306091,"byte_end":306100,"line_start":327,"line_end":327,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306118,"byte_end":306124,"line_start":327,"line_end":327,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306125,"byte_end":306134,"line_start":327,"line_end":327,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306136,"byte_end":306144,"line_start":327,"line_end":327,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306207,"byte_end":306216,"line_start":328,"line_end":328,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306200,"byte_end":306206,"line_start":328,"line_end":328,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742928}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306217,"byte_end":306223,"line_start":328,"line_end":328,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872016}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306271,"byte_end":306285,"line_start":330,"line_end":330,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306261,"byte_end":306268,"line_start":330,"line_end":330,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960656}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306310,"byte_end":306323,"line_start":332,"line_end":332,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008848}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306382,"byte_end":306387,"line_start":333,"line_end":333,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610613840}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306388,"byte_end":306393,"line_start":333,"line_end":333,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3388}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306432,"byte_end":306443,"line_start":334,"line_end":334,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306425,"byte_end":306431,"line_start":334,"line_end":334,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872016}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306520,"byte_end":306534,"line_start":337,"line_end":337,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306520,"byte_end":306521,"line_start":337,"line_end":337,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306523,"byte_end":306534,"line_start":337,"line_end":337,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306529,"byte_end":306532,"line_start":337,"line_end":337,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306523,"byte_end":306528,"line_start":337,"line_end":337,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":335545424}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306586,"byte_end":306591,"line_start":338,"line_end":338,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":335545424}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306592,"byte_end":306593,"line_start":338,"line_end":338,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":469763152}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306553,"byte_end":306564,"line_start":338,"line_end":338,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4093641808}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306565,"byte_end":306578,"line_start":338,"line_end":338,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008848}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306581,"byte_end":306582,"line_start":338,"line_end":338,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":469763152}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306677,"byte_end":306690,"line_start":343,"line_end":343,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306670,"byte_end":306676,"line_start":343,"line_end":343,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872016}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306692,"byte_end":306697,"line_start":343,"line_end":343,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1610613840}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306698,"byte_end":306703,"line_start":343,"line_end":343,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306654,"byte_end":306667,"line_start":343,"line_end":343,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008848}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306748,"byte_end":306762,"line_start":344,"line_end":344,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":306726,"byte_end":306739,"line_start":344,"line_end":344,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306719,"byte_end":306725,"line_start":344,"line_end":344,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073742928}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306740,"byte_end":306746,"line_start":344,"line_end":344,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872016}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306763,"byte_end":306776,"line_start":344,"line_end":344,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008848}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306833,"byte_end":306835,"line_start":347,"line_end":347,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":306836,"byte_end":306842,"line_start":347,"line_end":347,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073742928}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306916,"byte_end":306919,"line_start":350,"line_end":350,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306920,"byte_end":306936,"line_start":350,"line_end":350,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306942,"byte_end":306948,"line_start":350,"line_end":350,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":306965,"byte_end":306969,"line_start":351,"line_end":351,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307088,"byte_end":307093,"line_start":354,"line_end":354,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307004,"byte_end":307013,"line_start":354,"line_end":354,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307031,"byte_end":307040,"line_start":354,"line_end":354,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307045,"byte_end":307051,"line_start":354,"line_end":354,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307052,"byte_end":307058,"line_start":354,"line_end":354,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307066,"byte_end":307074,"line_start":354,"line_end":354,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307131,"byte_end":307140,"line_start":356,"line_end":356,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307124,"byte_end":307130,"line_start":356,"line_end":356,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073742932}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307141,"byte_end":307147,"line_start":356,"line_end":356,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872020}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307188,"byte_end":307202,"line_start":358,"line_end":358,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307178,"byte_end":307185,"line_start":358,"line_end":358,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218836}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307241,"byte_end":307251,"line_start":361,"line_end":361,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402654292}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307278,"byte_end":307280,"line_start":362,"line_end":362,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307281,"byte_end":307285,"line_start":362,"line_end":362,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307307,"byte_end":307309,"line_start":365,"line_end":365,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307323,"byte_end":307335,"line_start":365,"line_end":365,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2638}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307316,"byte_end":307322,"line_start":365,"line_end":365,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872020}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307336,"byte_end":307346,"line_start":365,"line_end":365,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":402654292}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307371,"byte_end":307375,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307371,"byte_end":307375,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307400,"byte_end":307404,"line_start":367,"line_end":367,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307419,"byte_end":307425,"line_start":367,"line_end":367,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307417,"byte_end":307418,"line_start":367,"line_end":367,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2885682260}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307438,"byte_end":307445,"line_start":367,"line_end":367,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307477,"byte_end":307481,"line_start":369,"line_end":369,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307477,"byte_end":307481,"line_start":369,"line_end":369,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307485,"byte_end":307489,"line_start":369,"line_end":369,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307545,"byte_end":307554,"line_start":373,"line_end":373,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307572,"byte_end":307581,"line_start":373,"line_end":373,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307586,"byte_end":307593,"line_start":373,"line_end":373,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307613,"byte_end":307620,"line_start":374,"line_end":374,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307604,"byte_end":307611,"line_start":374,"line_end":374,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307621,"byte_end":307626,"line_start":374,"line_end":374,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073742934}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307628,"byte_end":307634,"line_start":374,"line_end":374,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872022}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307636,"byte_end":307642,"line_start":374,"line_end":374,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610613846}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307689,"byte_end":307698,"line_start":377,"line_end":377,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307709,"byte_end":307718,"line_start":377,"line_end":377,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307723,"byte_end":307729,"line_start":377,"line_end":377,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307737,"byte_end":307745,"line_start":377,"line_end":377,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307766,"byte_end":307774,"line_start":378,"line_end":378,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307757,"byte_end":307764,"line_start":378,"line_end":378,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307775,"byte_end":307780,"line_start":378,"line_end":378,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073742935}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307782,"byte_end":307788,"line_start":378,"line_end":378,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872023}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307790,"byte_end":307796,"line_start":378,"line_end":378,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613847}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307840,"byte_end":307843,"line_start":381,"line_end":381,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307844,"byte_end":307860,"line_start":381,"line_end":381,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307878,"byte_end":307881,"line_start":381,"line_end":381,"column_start":74,"column_end":77},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307882,"byte_end":307889,"line_start":381,"line_end":381,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307895,"byte_end":307901,"line_start":381,"line_end":381,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307909,"byte_end":307912,"line_start":381,"line_end":381,"column_start":105,"column_end":108},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307918,"byte_end":307921,"line_start":381,"line_end":381,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307922,"byte_end":307938,"line_start":381,"line_end":381,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307942,"byte_end":307950,"line_start":381,"line_end":381,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":307971,"byte_end":307990,"line_start":382,"line_end":382,"column_start":18,"column_end":37},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":307962,"byte_end":307969,"line_start":382,"line_end":382,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307991,"byte_end":307997,"line_start":382,"line_end":382,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073742936}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":307999,"byte_end":308011,"line_start":382,"line_end":382,"column_start":46,"column_end":58},"ref_id":{"krate":0,"index":536872024}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308057,"byte_end":308060,"line_start":386,"line_end":386,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308061,"byte_end":308077,"line_start":386,"line_end":386,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308122,"byte_end":308125,"line_start":386,"line_end":386,"column_start":102,"column_end":105},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308126,"byte_end":308142,"line_start":386,"line_end":386,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308164,"byte_end":308184,"line_start":387,"line_end":387,"column_start":18,"column_end":38},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308155,"byte_end":308162,"line_start":387,"line_end":387,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308185,"byte_end":308191,"line_start":387,"line_end":387,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073742937}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308193,"byte_end":308201,"line_start":387,"line_end":387,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":536872025}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308203,"byte_end":308209,"line_start":387,"line_end":387,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610613849}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308262,"byte_end":308268,"line_start":393,"line_end":393,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308273,"byte_end":308281,"line_start":393,"line_end":393,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308349,"byte_end":308352,"line_start":395,"line_end":395,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308337,"byte_end":308347,"line_start":395,"line_end":395,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308330,"byte_end":308335,"line_start":395,"line_end":395,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308353,"byte_end":308359,"line_start":395,"line_end":395,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874315}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308378,"byte_end":308384,"line_start":396,"line_end":396,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874315}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308401,"byte_end":308407,"line_start":396,"line_end":396,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308386,"byte_end":308393,"line_start":396,"line_end":396,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752971}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308394,"byte_end":308400,"line_start":396,"line_end":396,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308451,"byte_end":308460,"line_start":397,"line_end":397,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308439,"byte_end":308449,"line_start":397,"line_end":397,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308432,"byte_end":308437,"line_start":397,"line_end":397,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308469,"byte_end":308488,"line_start":397,"line_end":397,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308461,"byte_end":308468,"line_start":397,"line_end":397,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752971}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308509,"byte_end":308515,"line_start":398,"line_end":398,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874315}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308533,"byte_end":308539,"line_start":398,"line_end":398,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308517,"byte_end":308525,"line_start":398,"line_end":398,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699723}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308526,"byte_end":308532,"line_start":398,"line_end":398,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308550,"byte_end":308552,"line_start":400,"line_end":400,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308597,"byte_end":308603,"line_start":404,"line_end":404,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308608,"byte_end":308616,"line_start":404,"line_end":404,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308685,"byte_end":308695,"line_start":406,"line_end":406,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308678,"byte_end":308683,"line_start":406,"line_end":406,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308706,"byte_end":308712,"line_start":406,"line_end":406,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874319}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308731,"byte_end":308737,"line_start":407,"line_end":407,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874319}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308739,"byte_end":308746,"line_start":407,"line_end":407,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752975}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308817,"byte_end":308826,"line_start":408,"line_end":408,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308805,"byte_end":308815,"line_start":408,"line_end":408,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308798,"byte_end":308803,"line_start":408,"line_end":408,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308827,"byte_end":308834,"line_start":408,"line_end":408,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752975}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308875,"byte_end":308881,"line_start":409,"line_end":409,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874319}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308910,"byte_end":308919,"line_start":409,"line_end":409,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":308899,"byte_end":308906,"line_start":409,"line_end":409,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308883,"byte_end":308891,"line_start":409,"line_end":409,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441551}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":308892,"byte_end":308898,"line_start":409,"line_end":409,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308933,"byte_end":308935,"line_start":411,"line_end":411,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":308997,"byte_end":309003,"line_start":416,"line_end":416,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309008,"byte_end":309016,"line_start":416,"line_end":416,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309085,"byte_end":309095,"line_start":418,"line_end":418,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309078,"byte_end":309083,"line_start":418,"line_end":418,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309106,"byte_end":309112,"line_start":418,"line_end":418,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874323}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309137,"byte_end":309144,"line_start":419,"line_end":419,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160752979}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309156,"byte_end":309160,"line_start":419,"line_end":419,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":309192,"byte_end":309200,"line_start":420,"line_end":420,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":1039}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309183,"byte_end":309190,"line_start":420,"line_end":420,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309226,"byte_end":309232,"line_start":421,"line_end":421,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547731}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309254,"byte_end":309263,"line_start":421,"line_end":421,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1275071827}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309296,"byte_end":309303,"line_start":422,"line_end":422,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309282,"byte_end":309288,"line_start":422,"line_end":422,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309312,"byte_end":309316,"line_start":422,"line_end":422,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309318,"byte_end":309327,"line_start":422,"line_end":422,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":1275071827}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309360,"byte_end":309367,"line_start":423,"line_end":423,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309346,"byte_end":309352,"line_start":423,"line_end":423,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547731}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309443,"byte_end":309452,"line_start":424,"line_end":424,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1275071827}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309453,"byte_end":309458,"line_start":424,"line_end":424,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3388}},{"kind":"Function","span":{"file_name":"src/pointer/ulid.rs","byte_start":309469,"byte_end":309480,"line_start":424,"line_end":424,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1057}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309460,"byte_end":309467,"line_start":424,"line_end":424,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309511,"byte_end":309516,"line_start":424,"line_end":424,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3388}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309523,"byte_end":309529,"line_start":425,"line_end":425,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309570,"byte_end":309577,"line_start":426,"line_end":426,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309556,"byte_end":309562,"line_start":426,"line_end":426,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309586,"byte_end":309590,"line_start":426,"line_end":426,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309599,"byte_end":309605,"line_start":429,"line_end":429,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309614,"byte_end":309618,"line_start":429,"line_end":429,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/ulid.rs","byte_start":309637,"byte_end":309643,"line_start":430,"line_end":430,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547731}},{"kind":"Type","span":{"file_name":"src/pointer/ulid.rs","byte_start":309688,"byte_end":309690,"line_start":432,"line_end":432,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57437,"byte_end":57441,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1114}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310382,"byte_end":310387,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310389,"byte_end":310393,"line_start":25,"line_end":25,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310423,"byte_end":310426,"line_start":26,"line_end":26,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310436,"byte_end":310442,"line_start":26,"line_end":26,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":310404,"byte_end":310409,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":310436,"byte_end":310442,"line_start":26,"line_end":26,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2459}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310472,"byte_end":310477,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310501,"byte_end":310506,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1719}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310508,"byte_end":310515,"line_start":28,"line_end":28,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310532,"byte_end":310537,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310540,"byte_end":310546,"line_start":29,"line_end":29,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310532,"byte_end":310537,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310559,"byte_end":310565,"line_start":29,"line_end":29,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310592,"byte_end":310597,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310599,"byte_end":310602,"line_start":30,"line_end":30,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310613,"byte_end":310618,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310620,"byte_end":310629,"line_start":31,"line_end":31,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310613,"byte_end":310618,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310620,"byte_end":310629,"line_start":31,"line_end":31,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310653,"byte_end":310658,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310660,"byte_end":310666,"line_start":32,"line_end":32,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310695,"byte_end":310702,"line_start":33,"line_end":33,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310714,"byte_end":310719,"line_start":33,"line_end":33,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310687,"byte_end":310692,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310731,"byte_end":310736,"line_start":33,"line_end":33,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310751,"byte_end":310755,"line_start":34,"line_end":34,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9554}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310758,"byte_end":310761,"line_start":34,"line_end":34,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9554}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310796,"byte_end":310801,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310803,"byte_end":310809,"line_start":36,"line_end":36,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310823,"byte_end":310828,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310830,"byte_end":310836,"line_start":37,"line_end":37,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310851,"byte_end":310856,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":310858,"byte_end":310864,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":310881,"byte_end":310886,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311124,"byte_end":311129,"line_start":51,"line_end":51,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311120,"byte_end":311139,"line_start":51,"line_end":51,"column_start":5,"column_end":24},"ref_id":{"krate":0,"index":3413}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311204,"byte_end":311211,"line_start":56,"line_end":56,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311441,"byte_end":311448,"line_start":65,"line_end":65,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311463,"byte_end":311468,"line_start":66,"line_end":66,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3413}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311518,"byte_end":311521,"line_start":69,"line_end":69,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":2739}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311512,"byte_end":311516,"line_start":69,"line_end":69,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311522,"byte_end":311533,"line_start":69,"line_end":69,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1073743021}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":311554,"byte_end":311573,"line_start":71,"line_end":71,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311554,"byte_end":311555,"line_start":71,"line_end":71,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311557,"byte_end":311573,"line_start":71,"line_end":71,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311568,"byte_end":311571,"line_start":71,"line_end":71,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311557,"byte_end":311561,"line_start":71,"line_end":71,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":805307565}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311562,"byte_end":311567,"line_start":71,"line_end":71,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311591,"byte_end":311592,"line_start":72,"line_end":72,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":67110061}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311641,"byte_end":311650,"line_start":73,"line_end":73,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":2741}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311637,"byte_end":311640,"line_start":73,"line_end":73,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":1744831661}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311616,"byte_end":311620,"line_start":73,"line_end":73,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307565}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311621,"byte_end":311626,"line_start":73,"line_end":73,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311627,"byte_end":311628,"line_start":73,"line_end":73,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":67110061}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":311722,"byte_end":311731,"line_start":75,"line_end":75,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2741}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311718,"byte_end":311721,"line_start":75,"line_end":75,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":1744831661}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311702,"byte_end":311706,"line_start":75,"line_end":75,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307565}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311707,"byte_end":311712,"line_start":75,"line_end":75,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311713,"byte_end":311714,"line_start":75,"line_end":75,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":67110061}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":311780,"byte_end":311784,"line_start":79,"line_end":79,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":805307565}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312090,"byte_end":312092,"line_start":85,"line_end":85,"column_start":65,"column_end":67},"ref_id":{"krate":1,"index":3269}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312087,"byte_end":312088,"line_start":85,"line_end":85,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":1200}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312070,"byte_end":312071,"line_start":85,"line_end":85,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1200}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312126,"byte_end":312133,"line_start":86,"line_end":86,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312148,"byte_end":312153,"line_start":87,"line_end":87,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3413}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312192,"byte_end":312211,"line_start":90,"line_end":90,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312192,"byte_end":312193,"line_start":90,"line_end":90,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312195,"byte_end":312211,"line_start":90,"line_end":90,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312206,"byte_end":312209,"line_start":90,"line_end":90,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312195,"byte_end":312199,"line_start":90,"line_end":90,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":805307567}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312200,"byte_end":312205,"line_start":90,"line_end":90,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312229,"byte_end":312230,"line_start":91,"line_end":91,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":1744831663}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312276,"byte_end":312285,"line_start":92,"line_end":92,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1073743023}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312254,"byte_end":312258,"line_start":92,"line_end":92,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307567}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312259,"byte_end":312264,"line_start":92,"line_end":92,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312265,"byte_end":312266,"line_start":92,"line_end":92,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1744831663}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312352,"byte_end":312361,"line_start":94,"line_end":94,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1073743023}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312336,"byte_end":312340,"line_start":94,"line_end":94,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":805307567}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312341,"byte_end":312346,"line_start":94,"line_end":94,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312347,"byte_end":312348,"line_start":94,"line_end":94,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1744831663}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312398,"byte_end":312402,"line_start":98,"line_end":98,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":805307567}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312496,"byte_end":312501,"line_start":103,"line_end":103,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312514,"byte_end":312515,"line_start":103,"line_end":103,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1203}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312520,"byte_end":312527,"line_start":103,"line_end":103,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312551,"byte_end":312557,"line_start":104,"line_end":104,"column_start":22,"column_end":28},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312605,"byte_end":312617,"line_start":104,"line_end":104,"column_start":76,"column_end":88},"ref_id":{"krate":5,"index":5440}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312588,"byte_end":312595,"line_start":104,"line_end":104,"column_start":59,"column_end":66},"ref_id":{"krate":5,"index":5422}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312568,"byte_end":312572,"line_start":104,"line_end":104,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312560,"byte_end":312566,"line_start":104,"line_end":104,"column_start":31,"column_end":37},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312578,"byte_end":312584,"line_start":104,"line_end":104,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312573,"byte_end":312577,"line_start":104,"line_end":104,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073743026}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312683,"byte_end":312693,"line_start":108,"line_end":108,"column_start":18,"column_end":28},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312683,"byte_end":312684,"line_start":108,"line_end":108,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312686,"byte_end":312693,"line_start":108,"line_end":108,"column_start":21,"column_end":28},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312719,"byte_end":312720,"line_start":109,"line_end":109,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":335545522}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":312748,"byte_end":312762,"line_start":110,"line_end":110,"column_start":23,"column_end":37},"ref_id":{"krate":1,"index":23926}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312764,"byte_end":312771,"line_start":110,"line_end":110,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1744831666}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312788,"line_start":110,"line_end":110,"column_start":47,"column_end":63},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312776,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312772,"byte_end":312776,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2885682354}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312778,"byte_end":312788,"line_start":110,"line_end":110,"column_start":53,"column_end":63},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312779,"byte_end":312783,"line_start":110,"line_end":110,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2885682354}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312813,"byte_end":312815,"line_start":111,"line_end":111,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312813,"byte_end":312815,"line_start":111,"line_end":111,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312838,"byte_end":312842,"line_start":111,"line_end":111,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1375732914}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312827,"byte_end":312832,"line_start":111,"line_end":111,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1140851890}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312833,"byte_end":312834,"line_start":111,"line_end":111,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":335545522}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":312903,"byte_end":312910,"line_start":116,"line_end":116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312913,"byte_end":312918,"line_start":116,"line_end":116,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":312913,"byte_end":312918,"line_start":116,"line_end":116,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1140851890}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313021,"byte_end":313027,"line_start":121,"line_end":121,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313064,"byte_end":313077,"line_start":123,"line_end":123,"column_start":34,"column_end":47},"ref_id":{"krate":5,"index":5549}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313056,"byte_end":313062,"line_start":123,"line_end":123,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313101,"byte_end":313120,"line_start":125,"line_end":125,"column_start":18,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313101,"byte_end":313102,"line_start":125,"line_end":125,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313104,"byte_end":313120,"line_start":125,"line_end":125,"column_start":21,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313115,"byte_end":313118,"line_start":125,"line_end":125,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313104,"byte_end":313108,"line_start":125,"line_end":125,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743030}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313109,"byte_end":313114,"line_start":125,"line_end":125,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313138,"byte_end":313139,"line_start":126,"line_end":126,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":2818573494}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313148,"byte_end":313149,"line_start":126,"line_end":126,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":2818573494}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313158,"byte_end":313159,"line_start":126,"line_end":126,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2818573494}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313168,"byte_end":313169,"line_start":126,"line_end":126,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2818573494}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313201,"byte_end":313209,"line_start":127,"line_end":127,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313194,"byte_end":313200,"line_start":127,"line_end":127,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3489662134}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313253,"byte_end":313257,"line_start":129,"line_end":129,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743030}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313258,"byte_end":313263,"line_start":129,"line_end":129,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313264,"byte_end":313265,"line_start":129,"line_end":129,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2818573494}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313317,"byte_end":313326,"line_start":130,"line_end":130,"column_start":44,"column_end":53},"ref_id":{"krate":1,"index":8988}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313293,"byte_end":313299,"line_start":130,"line_end":130,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3489662134}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313311,"byte_end":313315,"line_start":130,"line_end":130,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":2717910198}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9552}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/macros/mod.rs","byte_start":745419,"byte_end":745449,"line_start":485,"line_end":485,"column_start":49,"column_end":79},"ref_id":{"krate":1,"index":9552}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313351,"byte_end":313357,"line_start":133,"line_end":133,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3489662134}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313372,"byte_end":313377,"line_start":137,"line_end":137,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313418,"byte_end":313427,"line_start":138,"line_end":138,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313447,"byte_end":313453,"line_start":138,"line_end":138,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":313436,"byte_end":313440,"line_start":138,"line_end":138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/uuid.rs","byte_start":313442,"byte_end":313445,"line_start":138,"line_end":138,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313471,"byte_end":313472,"line_start":139,"line_end":139,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536872120}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313485,"byte_end":313494,"line_start":139,"line_end":139,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1206}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313480,"byte_end":313484,"line_start":139,"line_end":139,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743032}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313512,"byte_end":313519,"line_start":143,"line_end":143,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313570,"byte_end":313577,"line_start":145,"line_end":145,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313580,"byte_end":313585,"line_start":145,"line_end":145,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3413}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313620,"byte_end":313629,"line_start":149,"line_end":149,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313730,"byte_end":313735,"line_start":150,"line_end":150,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313684,"byte_end":313700,"line_start":150,"line_end":150,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313705,"byte_end":313711,"line_start":150,"line_end":150,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313746,"byte_end":313750,"line_start":151,"line_end":151,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":313757,"byte_end":313764,"line_start":151,"line_end":151,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313804,"byte_end":313813,"line_start":153,"line_end":153,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313825,"byte_end":313834,"line_start":153,"line_end":153,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313839,"byte_end":313845,"line_start":153,"line_end":153,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313862,"byte_end":313866,"line_start":154,"line_end":154,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313867,"byte_end":313874,"line_start":154,"line_end":154,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":313877,"byte_end":313882,"line_start":154,"line_end":154,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3413}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313935,"byte_end":313944,"line_start":157,"line_end":157,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313956,"byte_end":313965,"line_start":157,"line_end":157,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313970,"byte_end":313976,"line_start":157,"line_end":157,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313993,"byte_end":313997,"line_start":158,"line_end":158,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":313998,"byte_end":314005,"line_start":158,"line_end":158,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314008,"byte_end":314013,"line_start":158,"line_end":158,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3413}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314049,"byte_end":314057,"line_start":162,"line_end":162,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314118,"byte_end":314129,"line_start":166,"line_end":166,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314155,"byte_end":314159,"line_start":166,"line_end":166,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314142,"byte_end":314153,"line_start":166,"line_end":166,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314208,"byte_end":314219,"line_start":167,"line_end":167,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314245,"byte_end":314249,"line_start":167,"line_end":167,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314232,"byte_end":314243,"line_start":167,"line_end":167,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314286,"byte_end":314289,"line_start":169,"line_end":169,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314290,"byte_end":314306,"line_start":169,"line_end":169,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314328,"byte_end":314334,"line_start":169,"line_end":169,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314335,"byte_end":314342,"line_start":169,"line_end":169,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314344,"byte_end":314352,"line_start":169,"line_end":169,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314393,"byte_end":314396,"line_start":170,"line_end":170,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314386,"byte_end":314391,"line_start":170,"line_end":170,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314420,"byte_end":314426,"line_start":171,"line_end":171,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314408,"byte_end":314419,"line_start":171,"line_end":171,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307591}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314434,"byte_end":314442,"line_start":171,"line_end":171,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314455,"byte_end":314461,"line_start":171,"line_end":171,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314446,"byte_end":314453,"line_start":171,"line_end":171,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314481,"byte_end":314490,"line_start":171,"line_end":171,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314468,"byte_end":314476,"line_start":171,"line_end":171,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314505,"byte_end":314507,"line_start":173,"line_end":173,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314517,"byte_end":314527,"line_start":173,"line_end":173,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314508,"byte_end":314515,"line_start":173,"line_end":173,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314528,"byte_end":314539,"line_start":173,"line_end":173,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307591}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314679,"byte_end":314684,"line_start":176,"line_end":176,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314580,"byte_end":314589,"line_start":176,"line_end":176,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314605,"byte_end":314614,"line_start":176,"line_end":176,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314632,"byte_end":314638,"line_start":176,"line_end":176,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314639,"byte_end":314648,"line_start":176,"line_end":176,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314650,"byte_end":314658,"line_start":176,"line_end":176,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":314705,"byte_end":314714,"line_start":177,"line_end":177,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314695,"byte_end":314703,"line_start":177,"line_end":177,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":1194}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314715,"byte_end":314721,"line_start":177,"line_end":177,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1073743048}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314723,"byte_end":314729,"line_start":177,"line_end":177,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536872136}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314732,"byte_end":314737,"line_start":177,"line_end":177,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1610613960}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314916,"byte_end":314921,"line_start":180,"line_end":180,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314815,"byte_end":314824,"line_start":180,"line_end":180,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314840,"byte_end":314849,"line_start":180,"line_end":180,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314863,"byte_end":314870,"line_start":180,"line_end":180,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314876,"byte_end":314882,"line_start":180,"line_end":180,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314887,"byte_end":314895,"line_start":180,"line_end":180,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":314942,"byte_end":314947,"line_start":182,"line_end":182,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178506}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314971,"byte_end":314977,"line_start":183,"line_end":183,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314962,"byte_end":314969,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314971,"byte_end":314977,"line_start":183,"line_end":183,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":314962,"byte_end":314969,"line_start":183,"line_end":183,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315012,"byte_end":315021,"line_start":184,"line_end":184,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315022,"byte_end":315028,"line_start":184,"line_end":184,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610613962}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315030,"byte_end":315036,"line_start":184,"line_end":184,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436682}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315047,"byte_end":315058,"line_start":184,"line_end":184,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1202}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315038,"byte_end":315045,"line_start":184,"line_end":184,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315060,"byte_end":315065,"line_start":184,"line_end":184,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1207960778}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315124,"byte_end":315126,"line_start":189,"line_end":189,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315170,"byte_end":315173,"line_start":193,"line_end":193,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315174,"byte_end":315190,"line_start":193,"line_end":193,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315212,"byte_end":315218,"line_start":193,"line_end":193,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315219,"byte_end":315225,"line_start":193,"line_end":193,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315227,"byte_end":315235,"line_start":193,"line_end":193,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315247,"byte_end":315249,"line_start":194,"line_end":194,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315258,"byte_end":315262,"line_start":194,"line_end":194,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315250,"byte_end":315256,"line_start":194,"line_end":194,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315315,"byte_end":315318,"line_start":197,"line_end":197,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315319,"byte_end":315335,"line_start":197,"line_end":197,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315377,"byte_end":315380,"line_start":197,"line_end":197,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315381,"byte_end":315387,"line_start":197,"line_end":197,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315393,"byte_end":315399,"line_start":197,"line_end":197,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315407,"byte_end":315410,"line_start":197,"line_end":197,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315416,"byte_end":315419,"line_start":197,"line_end":197,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315420,"byte_end":315436,"line_start":197,"line_end":197,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315440,"byte_end":315448,"line_start":197,"line_end":197,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315466,"byte_end":315485,"line_start":198,"line_end":198,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315486,"byte_end":315492,"line_start":198,"line_end":198,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073743053}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315513,"byte_end":315517,"line_start":198,"line_end":198,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315504,"byte_end":315511,"line_start":198,"line_end":198,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315592,"byte_end":315595,"line_start":201,"line_end":201,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315596,"byte_end":315612,"line_start":201,"line_end":201,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315618,"byte_end":315624,"line_start":201,"line_end":201,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315641,"byte_end":315645,"line_start":202,"line_end":202,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315764,"byte_end":315769,"line_start":205,"line_end":205,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315680,"byte_end":315689,"line_start":205,"line_end":205,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315707,"byte_end":315716,"line_start":205,"line_end":205,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315721,"byte_end":315727,"line_start":205,"line_end":205,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315728,"byte_end":315734,"line_start":205,"line_end":205,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315742,"byte_end":315750,"line_start":205,"line_end":205,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315796,"byte_end":315806,"line_start":206,"line_end":206,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315786,"byte_end":315794,"line_start":206,"line_end":206,"column_start":15,"column_end":23},"ref_id":{"krate":0,"index":1194}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315807,"byte_end":315813,"line_start":206,"line_end":206,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073743055}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315815,"byte_end":315821,"line_start":206,"line_end":206,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872143}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315838,"byte_end":315842,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315838,"byte_end":315842,"line_start":207,"line_end":207,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315851,"byte_end":315853,"line_start":207,"line_end":207,"column_start":26,"column_end":28},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315854,"byte_end":315858,"line_start":207,"line_end":207,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":315861,"byte_end":315866,"line_start":207,"line_end":207,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":315859,"byte_end":315860,"line_start":207,"line_end":207,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":67110095}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315886,"byte_end":315890,"line_start":208,"line_end":208,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315886,"byte_end":315890,"line_start":208,"line_end":208,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315894,"byte_end":315896,"line_start":208,"line_end":208,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315897,"byte_end":315901,"line_start":208,"line_end":208,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315958,"byte_end":315967,"line_start":212,"line_end":212,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315985,"byte_end":315994,"line_start":212,"line_end":212,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":315999,"byte_end":316006,"line_start":212,"line_end":212,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316030,"byte_end":316040,"line_start":214,"line_end":214,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316041,"byte_end":316047,"line_start":214,"line_end":214,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872144}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316049,"byte_end":316055,"line_start":214,"line_end":214,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610613968}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316071,"byte_end":316073,"line_start":215,"line_end":215,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316071,"byte_end":316073,"line_start":215,"line_end":215,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316104,"byte_end":316105,"line_start":216,"line_end":216,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702608}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316128,"byte_end":316132,"line_start":217,"line_end":217,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316128,"byte_end":316132,"line_start":217,"line_end":217,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316174,"byte_end":316180,"line_start":218,"line_end":218,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316165,"byte_end":316172,"line_start":218,"line_end":218,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316183,"byte_end":316192,"line_start":218,"line_end":218,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1206}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316181,"byte_end":316182,"line_start":218,"line_end":218,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3892315344}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316239,"byte_end":316243,"line_start":220,"line_end":220,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316239,"byte_end":316243,"line_start":220,"line_end":220,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316282,"byte_end":316286,"line_start":221,"line_end":221,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316273,"byte_end":316280,"line_start":221,"line_end":221,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316354,"byte_end":316357,"line_start":225,"line_end":225,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316354,"byte_end":316357,"line_start":225,"line_end":225,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316392,"byte_end":316396,"line_start":226,"line_end":226,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316383,"byte_end":316390,"line_start":226,"line_end":226,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316467,"byte_end":316476,"line_start":231,"line_end":231,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316487,"byte_end":316496,"line_start":231,"line_end":231,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316501,"byte_end":316507,"line_start":231,"line_end":231,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316515,"byte_end":316523,"line_start":231,"line_end":231,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316562,"byte_end":316571,"line_start":233,"line_end":233,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316555,"byte_end":316561,"line_start":233,"line_end":233,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872145}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316572,"byte_end":316578,"line_start":233,"line_end":233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610613969}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316605,"byte_end":316619,"line_start":235,"line_end":235,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316595,"byte_end":316602,"line_start":235,"line_end":235,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207960785}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316641,"byte_end":316643,"line_start":236,"line_end":236,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316677,"byte_end":316679,"line_start":238,"line_end":238,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316740,"byte_end":316743,"line_start":242,"line_end":242,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316744,"byte_end":316760,"line_start":242,"line_end":242,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316782,"byte_end":316789,"line_start":242,"line_end":242,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316795,"byte_end":316801,"line_start":242,"line_end":242,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316809,"byte_end":316812,"line_start":242,"line_end":242,"column_start":109,"column_end":112},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316818,"byte_end":316821,"line_start":242,"line_end":242,"column_start":118,"column_end":121},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316822,"byte_end":316838,"line_start":242,"line_end":242,"column_start":122,"column_end":138},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316842,"byte_end":316850,"line_start":242,"line_end":242,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316893,"byte_end":316896,"line_start":245,"line_end":245,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316908,"byte_end":316911,"line_start":245,"line_end":245,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316903,"byte_end":316906,"line_start":245,"line_end":245,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316936,"byte_end":316940,"line_start":246,"line_end":246,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316923,"byte_end":316935,"line_start":246,"line_end":246,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134218963}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316954,"byte_end":316958,"line_start":246,"line_end":246,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316941,"byte_end":316952,"line_start":246,"line_end":246,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":316982,"byte_end":316986,"line_start":247,"line_end":247,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":316975,"byte_end":316981,"line_start":247,"line_end":247,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":316987,"byte_end":317003,"line_start":247,"line_end":247,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317018,"byte_end":317021,"line_start":248,"line_end":248,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317038,"byte_end":317043,"line_start":248,"line_end":248,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317023,"byte_end":317036,"line_start":248,"line_end":248,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317061,"byte_end":317062,"line_start":249,"line_end":249,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317077,"byte_end":317081,"line_start":249,"line_end":249,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317064,"byte_end":317075,"line_start":249,"line_end":249,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317095,"byte_end":317103,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317123,"byte_end":317127,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317134,"byte_end":317137,"line_start":251,"line_end":251,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317129,"byte_end":317132,"line_start":251,"line_end":251,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317138,"byte_end":317142,"line_start":251,"line_end":251,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317173,"byte_end":317175,"line_start":253,"line_end":253,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317183,"byte_end":317195,"line_start":253,"line_end":253,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":134218963}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317197,"byte_end":317203,"line_start":253,"line_end":253,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073743059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317259,"byte_end":317262,"line_start":258,"line_end":258,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317263,"byte_end":317279,"line_start":258,"line_end":258,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317324,"byte_end":317327,"line_start":258,"line_end":258,"column_start":106,"column_end":109},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317328,"byte_end":317344,"line_start":258,"line_end":258,"column_start":110,"column_end":126},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317364,"byte_end":317368,"line_start":259,"line_end":259,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317357,"byte_end":317363,"line_start":259,"line_end":259,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743060}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317369,"byte_end":317385,"line_start":259,"line_end":259,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317400,"byte_end":317403,"line_start":260,"line_end":260,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317420,"byte_end":317425,"line_start":260,"line_end":260,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317405,"byte_end":317418,"line_start":260,"line_end":260,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317443,"byte_end":317444,"line_start":261,"line_end":261,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317459,"byte_end":317463,"line_start":261,"line_end":261,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317446,"byte_end":317457,"line_start":261,"line_end":261,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317477,"byte_end":317485,"line_start":262,"line_end":262,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317505,"byte_end":317509,"line_start":263,"line_end":263,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":317516,"byte_end":317519,"line_start":263,"line_end":263,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317511,"byte_end":317514,"line_start":263,"line_end":263,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317520,"byte_end":317524,"line_start":263,"line_end":263,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":317555,"byte_end":317561,"line_start":265,"line_end":265,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743060}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317609,"byte_end":317616,"line_start":270,"line_end":270,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317586,"byte_end":317595,"line_start":270,"line_end":270,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317697,"byte_end":317702,"line_start":271,"line_end":271,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317651,"byte_end":317667,"line_start":271,"line_end":271,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317672,"byte_end":317678,"line_start":271,"line_end":271,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317713,"byte_end":317717,"line_start":272,"line_end":272,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317755,"byte_end":317764,"line_start":275,"line_end":275,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317776,"byte_end":317785,"line_start":275,"line_end":275,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317790,"byte_end":317796,"line_start":275,"line_end":275,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317813,"byte_end":317817,"line_start":276,"line_end":276,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317855,"byte_end":317864,"line_start":279,"line_end":279,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317876,"byte_end":317885,"line_start":279,"line_end":279,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317890,"byte_end":317896,"line_start":279,"line_end":279,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317913,"byte_end":317917,"line_start":280,"line_end":280,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317962,"byte_end":317969,"line_start":284,"line_end":284,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":317940,"byte_end":317948,"line_start":284,"line_end":284,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318008,"byte_end":318019,"line_start":286,"line_end":286,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318032,"byte_end":318040,"line_start":286,"line_end":286,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318023,"byte_end":318030,"line_start":286,"line_end":286,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318090,"byte_end":318101,"line_start":287,"line_end":287,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318124,"byte_end":318137,"line_start":287,"line_end":287,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":1727}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318114,"byte_end":318121,"line_start":287,"line_end":287,"column_start":70,"column_end":77},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318105,"byte_end":318112,"line_start":287,"line_end":287,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318175,"byte_end":318178,"line_start":289,"line_end":289,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318179,"byte_end":318195,"line_start":289,"line_end":289,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318217,"byte_end":318223,"line_start":289,"line_end":289,"column_start":75,"column_end":81},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318224,"byte_end":318231,"line_start":289,"line_end":289,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318233,"byte_end":318241,"line_start":289,"line_end":289,"column_start":91,"column_end":99},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318262,"byte_end":318276,"line_start":290,"line_end":290,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318253,"byte_end":318260,"line_start":290,"line_end":290,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318277,"byte_end":318284,"line_start":290,"line_end":290,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1073743070}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318286,"byte_end":318294,"line_start":290,"line_end":290,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":536872158}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318433,"byte_end":318438,"line_start":293,"line_end":293,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318334,"byte_end":318343,"line_start":293,"line_end":293,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318359,"byte_end":318368,"line_start":293,"line_end":293,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318386,"byte_end":318392,"line_start":293,"line_end":293,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318393,"byte_end":318402,"line_start":293,"line_end":293,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318404,"byte_end":318412,"line_start":293,"line_end":293,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318474,"byte_end":318483,"line_start":294,"line_end":294,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318467,"byte_end":318473,"line_start":294,"line_end":294,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073743071}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318484,"byte_end":318490,"line_start":294,"line_end":294,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872159}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318537,"byte_end":318551,"line_start":296,"line_end":296,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318527,"byte_end":318534,"line_start":296,"line_end":296,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207960799}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318576,"byte_end":318589,"line_start":298,"line_end":298,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087008991}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318648,"byte_end":318653,"line_start":299,"line_end":299,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610613983}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318654,"byte_end":318659,"line_start":299,"line_end":299,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3413}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318698,"byte_end":318709,"line_start":300,"line_end":300,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318691,"byte_end":318697,"line_start":300,"line_end":300,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872159}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":318786,"byte_end":318800,"line_start":303,"line_end":303,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318786,"byte_end":318787,"line_start":303,"line_end":303,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318789,"byte_end":318800,"line_start":303,"line_end":303,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318795,"byte_end":318798,"line_start":303,"line_end":303,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318789,"byte_end":318794,"line_start":303,"line_end":303,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":335545567}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318852,"byte_end":318857,"line_start":304,"line_end":304,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":335545567}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318858,"byte_end":318859,"line_start":304,"line_end":304,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":469763295}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318819,"byte_end":318830,"line_start":304,"line_end":304,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4093641951}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318831,"byte_end":318844,"line_start":304,"line_end":304,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087008991}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318847,"byte_end":318848,"line_start":304,"line_end":304,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":469763295}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318943,"byte_end":318956,"line_start":309,"line_end":309,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318936,"byte_end":318942,"line_start":309,"line_end":309,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872159}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318958,"byte_end":318963,"line_start":309,"line_end":309,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1610613983}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318964,"byte_end":318969,"line_start":309,"line_end":309,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318920,"byte_end":318933,"line_start":309,"line_end":309,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087008991}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319014,"byte_end":319028,"line_start":310,"line_end":310,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":318992,"byte_end":319005,"line_start":310,"line_end":310,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":318985,"byte_end":318991,"line_start":310,"line_end":310,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743071}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319006,"byte_end":319012,"line_start":310,"line_end":310,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872159}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319029,"byte_end":319042,"line_start":310,"line_end":310,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087008991}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319079,"byte_end":319081,"line_start":313,"line_end":313,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319082,"byte_end":319088,"line_start":313,"line_end":313,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743071}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319128,"byte_end":319131,"line_start":316,"line_end":316,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319132,"byte_end":319148,"line_start":316,"line_end":316,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319170,"byte_end":319176,"line_start":316,"line_end":316,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319177,"byte_end":319183,"line_start":316,"line_end":316,"column_start":81,"column_end":87},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319185,"byte_end":319193,"line_start":316,"line_end":316,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319205,"byte_end":319207,"line_start":317,"line_end":317,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319216,"byte_end":319220,"line_start":317,"line_end":317,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319208,"byte_end":319214,"line_start":317,"line_end":317,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319273,"byte_end":319276,"line_start":320,"line_end":320,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319277,"byte_end":319293,"line_start":320,"line_end":320,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319335,"byte_end":319338,"line_start":320,"line_end":320,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319339,"byte_end":319345,"line_start":320,"line_end":320,"column_start":101,"column_end":107},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319351,"byte_end":319357,"line_start":320,"line_end":320,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319365,"byte_end":319368,"line_start":320,"line_end":320,"column_start":127,"column_end":130},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319374,"byte_end":319377,"line_start":320,"line_end":320,"column_start":136,"column_end":139},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319378,"byte_end":319394,"line_start":320,"line_end":320,"column_start":140,"column_end":156},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319398,"byte_end":319406,"line_start":320,"line_end":320,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319424,"byte_end":319443,"line_start":321,"line_end":321,"column_start":15,"column_end":34},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319444,"byte_end":319450,"line_start":321,"line_end":321,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1073743075}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319471,"byte_end":319475,"line_start":321,"line_end":321,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319462,"byte_end":319469,"line_start":321,"line_end":321,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319550,"byte_end":319553,"line_start":324,"line_end":324,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319554,"byte_end":319570,"line_start":324,"line_end":324,"column_start":70,"column_end":86},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319576,"byte_end":319582,"line_start":324,"line_end":324,"column_start":92,"column_end":98},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319599,"byte_end":319603,"line_start":325,"line_end":325,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319784,"byte_end":319789,"line_start":328,"line_end":328,"column_start":174,"column_end":179},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319681,"byte_end":319690,"line_start":328,"line_end":328,"column_start":71,"column_end":80},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319707,"byte_end":319716,"line_start":328,"line_end":328,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319731,"byte_end":319738,"line_start":328,"line_end":328,"column_start":121,"column_end":128},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319744,"byte_end":319750,"line_start":328,"line_end":328,"column_start":134,"column_end":140},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319755,"byte_end":319763,"line_start":328,"line_end":328,"column_start":145,"column_end":153},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319800,"byte_end":319802,"line_start":329,"line_end":329,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319925,"byte_end":319930,"line_start":332,"line_end":332,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319841,"byte_end":319850,"line_start":332,"line_end":332,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319868,"byte_end":319877,"line_start":332,"line_end":332,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319882,"byte_end":319888,"line_start":332,"line_end":332,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319889,"byte_end":319895,"line_start":332,"line_end":332,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":319903,"byte_end":319911,"line_start":332,"line_end":332,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":319968,"byte_end":319977,"line_start":334,"line_end":334,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319961,"byte_end":319967,"line_start":334,"line_end":334,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743079}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":319978,"byte_end":319984,"line_start":334,"line_end":334,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872167}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320025,"byte_end":320039,"line_start":336,"line_end":336,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320015,"byte_end":320022,"line_start":336,"line_end":336,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134218983}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320078,"byte_end":320088,"line_start":339,"line_end":339,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402654439}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320115,"byte_end":320117,"line_start":340,"line_end":340,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320118,"byte_end":320122,"line_start":340,"line_end":340,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320144,"byte_end":320146,"line_start":343,"line_end":343,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320160,"byte_end":320172,"line_start":343,"line_end":343,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2638}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320153,"byte_end":320159,"line_start":343,"line_end":343,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872167}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320173,"byte_end":320183,"line_start":343,"line_end":343,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":402654439}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320208,"byte_end":320212,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320208,"byte_end":320212,"line_start":344,"line_end":344,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320237,"byte_end":320241,"line_start":345,"line_end":345,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320256,"byte_end":320262,"line_start":345,"line_end":345,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320254,"byte_end":320255,"line_start":345,"line_end":345,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2885682407}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320275,"byte_end":320282,"line_start":345,"line_end":345,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320314,"byte_end":320318,"line_start":347,"line_end":347,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320314,"byte_end":320318,"line_start":347,"line_end":347,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320322,"byte_end":320326,"line_start":347,"line_end":347,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320382,"byte_end":320391,"line_start":351,"line_end":351,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320409,"byte_end":320418,"line_start":351,"line_end":351,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320423,"byte_end":320430,"line_start":351,"line_end":351,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320450,"byte_end":320457,"line_start":352,"line_end":352,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320441,"byte_end":320448,"line_start":352,"line_end":352,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320458,"byte_end":320463,"line_start":352,"line_end":352,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1073743081}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320465,"byte_end":320471,"line_start":352,"line_end":352,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872169}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320473,"byte_end":320479,"line_start":352,"line_end":352,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1610613993}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320526,"byte_end":320535,"line_start":355,"line_end":355,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320546,"byte_end":320555,"line_start":355,"line_end":355,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320560,"byte_end":320566,"line_start":355,"line_end":355,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320574,"byte_end":320582,"line_start":355,"line_end":355,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320603,"byte_end":320611,"line_start":356,"line_end":356,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320594,"byte_end":320601,"line_start":356,"line_end":356,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320612,"byte_end":320617,"line_start":356,"line_end":356,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1073743082}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320619,"byte_end":320625,"line_start":356,"line_end":356,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872170}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320627,"byte_end":320633,"line_start":356,"line_end":356,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610613994}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320677,"byte_end":320680,"line_start":359,"line_end":359,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320681,"byte_end":320697,"line_start":359,"line_end":359,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320719,"byte_end":320726,"line_start":359,"line_end":359,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320732,"byte_end":320738,"line_start":359,"line_end":359,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320746,"byte_end":320749,"line_start":359,"line_end":359,"column_start":105,"column_end":108},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320755,"byte_end":320758,"line_start":359,"line_end":359,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320759,"byte_end":320775,"line_start":359,"line_end":359,"column_start":118,"column_end":134},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320779,"byte_end":320787,"line_start":359,"line_end":359,"column_start":138,"column_end":146},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":320808,"byte_end":320827,"line_start":360,"line_end":360,"column_start":18,"column_end":37},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320799,"byte_end":320806,"line_start":360,"line_end":360,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320828,"byte_end":320834,"line_start":360,"line_end":360,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073743083}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":320836,"byte_end":320848,"line_start":360,"line_end":360,"column_start":46,"column_end":58},"ref_id":{"krate":0,"index":536872171}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320893,"byte_end":320896,"line_start":363,"line_end":363,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320897,"byte_end":320913,"line_start":363,"line_end":363,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320958,"byte_end":320961,"line_start":363,"line_end":363,"column_start":102,"column_end":105},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320962,"byte_end":320978,"line_start":363,"line_end":363,"column_start":106,"column_end":122},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321000,"byte_end":321020,"line_start":364,"line_end":364,"column_start":18,"column_end":38},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":320991,"byte_end":320998,"line_start":364,"line_end":364,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321021,"byte_end":321027,"line_start":364,"line_end":364,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743084}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321029,"byte_end":321037,"line_start":364,"line_end":364,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":536872172}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321039,"byte_end":321045,"line_start":364,"line_end":364,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610613996}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321097,"byte_end":321103,"line_start":369,"line_end":369,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321108,"byte_end":321116,"line_start":369,"line_end":369,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321184,"byte_end":321187,"line_start":371,"line_end":371,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321172,"byte_end":321182,"line_start":371,"line_end":371,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321165,"byte_end":321170,"line_start":371,"line_end":371,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321188,"byte_end":321194,"line_start":371,"line_end":371,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874340}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321213,"byte_end":321219,"line_start":372,"line_end":372,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874340}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321236,"byte_end":321242,"line_start":372,"line_end":372,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321221,"byte_end":321228,"line_start":372,"line_end":372,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160752996}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321229,"byte_end":321235,"line_start":372,"line_end":372,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321286,"byte_end":321295,"line_start":373,"line_end":373,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321274,"byte_end":321284,"line_start":373,"line_end":373,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321267,"byte_end":321272,"line_start":373,"line_end":373,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321304,"byte_end":321323,"line_start":373,"line_end":373,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321296,"byte_end":321303,"line_start":373,"line_end":373,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160752996}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321344,"byte_end":321350,"line_start":374,"line_end":374,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874340}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321368,"byte_end":321374,"line_start":374,"line_end":374,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321352,"byte_end":321360,"line_start":374,"line_end":374,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699748}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321361,"byte_end":321367,"line_start":374,"line_end":374,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321385,"byte_end":321387,"line_start":376,"line_end":376,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321432,"byte_end":321438,"line_start":380,"line_end":380,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321443,"byte_end":321451,"line_start":380,"line_end":380,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321520,"byte_end":321530,"line_start":382,"line_end":382,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321513,"byte_end":321518,"line_start":382,"line_end":382,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321541,"byte_end":321547,"line_start":382,"line_end":382,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874344}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321566,"byte_end":321572,"line_start":383,"line_end":383,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874344}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321574,"byte_end":321581,"line_start":383,"line_end":383,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753000}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321652,"byte_end":321661,"line_start":384,"line_end":384,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321640,"byte_end":321650,"line_start":384,"line_end":384,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321633,"byte_end":321638,"line_start":384,"line_end":384,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321662,"byte_end":321669,"line_start":384,"line_end":384,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753000}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321710,"byte_end":321716,"line_start":385,"line_end":385,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874344}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321745,"byte_end":321754,"line_start":385,"line_end":385,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":321734,"byte_end":321741,"line_start":385,"line_end":385,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321718,"byte_end":321726,"line_start":385,"line_end":385,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441576}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321727,"byte_end":321733,"line_start":385,"line_end":385,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321764,"byte_end":321766,"line_start":387,"line_end":387,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321829,"byte_end":321835,"line_start":393,"line_end":393,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321840,"byte_end":321848,"line_start":393,"line_end":393,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321917,"byte_end":321927,"line_start":395,"line_end":395,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321910,"byte_end":321915,"line_start":395,"line_end":395,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321938,"byte_end":321944,"line_start":395,"line_end":395,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874348}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":321969,"byte_end":321976,"line_start":396,"line_end":396,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753004}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":321988,"byte_end":321992,"line_start":396,"line_end":396,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":322024,"byte_end":322032,"line_start":397,"line_end":397,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":1197}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322015,"byte_end":322022,"line_start":397,"line_end":397,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322043,"byte_end":322049,"line_start":398,"line_end":398,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547756}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322071,"byte_end":322080,"line_start":398,"line_end":398,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2348813676}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322113,"byte_end":322120,"line_start":399,"line_end":399,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322099,"byte_end":322105,"line_start":399,"line_end":399,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547756}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322129,"byte_end":322133,"line_start":399,"line_end":399,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":322144,"byte_end":322152,"line_start":399,"line_end":399,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":1197}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322135,"byte_end":322142,"line_start":399,"line_end":399,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322190,"byte_end":322197,"line_start":400,"line_end":400,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322176,"byte_end":322182,"line_start":400,"line_end":400,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547756}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322283,"byte_end":322292,"line_start":401,"line_end":401,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":2348813676}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322293,"byte_end":322298,"line_start":401,"line_end":401,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3413}},{"kind":"Function","span":{"file_name":"src/pointer/uuid.rs","byte_start":322309,"byte_end":322320,"line_start":401,"line_end":401,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1202}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322300,"byte_end":322307,"line_start":401,"line_end":401,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322361,"byte_end":322366,"line_start":401,"line_end":401,"column_start":94,"column_end":99},"ref_id":{"krate":0,"index":3413}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322373,"byte_end":322379,"line_start":402,"line_end":402,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547756}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322420,"byte_end":322427,"line_start":403,"line_end":403,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322406,"byte_end":322412,"line_start":403,"line_end":403,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547756}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322436,"byte_end":322440,"line_start":403,"line_end":403,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322448,"byte_end":322454,"line_start":405,"line_end":405,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547756}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322463,"byte_end":322467,"line_start":405,"line_end":405,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/uuid.rs","byte_start":322486,"byte_end":322492,"line_start":406,"line_end":406,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547756}},{"kind":"Type","span":{"file_name":"src/pointer/uuid.rs","byte_start":322537,"byte_end":322539,"line_start":408,"line_end":408,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57451,"byte_end":57457,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1261}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323087,"byte_end":323090,"line_start":19,"line_end":19,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323100,"byte_end":323106,"line_start":19,"line_end":19,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323068,"byte_end":323073,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323100,"byte_end":323106,"line_start":19,"line_end":19,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323144,"byte_end":323149,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323152,"byte_end":323158,"line_start":20,"line_end":20,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323144,"byte_end":323149,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323171,"byte_end":323177,"line_start":20,"line_end":20,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323204,"byte_end":323209,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323212,"byte_end":323216,"line_start":21,"line_end":21,"column_start":13,"column_end":17},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323204,"byte_end":323209,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323223,"byte_end":323226,"line_start":21,"line_end":21,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323238,"byte_end":323243,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323245,"byte_end":323254,"line_start":22,"line_end":22,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323238,"byte_end":323243,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323245,"byte_end":323254,"line_start":22,"line_end":22,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323278,"byte_end":323283,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323285,"byte_end":323291,"line_start":23,"line_end":23,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323312,"byte_end":323317,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323320,"byte_end":323327,"line_start":24,"line_end":24,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323312,"byte_end":323317,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323339,"byte_end":323344,"line_start":24,"line_end":24,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323361,"byte_end":323365,"line_start":25,"line_end":25,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323368,"byte_end":323371,"line_start":25,"line_end":25,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323388,"byte_end":323393,"line_start":27,"line_end":27,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323395,"byte_end":323401,"line_start":27,"line_end":27,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323415,"byte_end":323420,"line_start":28,"line_end":28,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323422,"byte_end":323427,"line_start":28,"line_end":28,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323438,"byte_end":323443,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323445,"byte_end":323451,"line_start":29,"line_end":29,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323466,"byte_end":323471,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5742}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":323474,"byte_end":323480,"line_start":30,"line_end":30,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323497,"byte_end":323502,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323729,"byte_end":323735,"line_start":42,"line_end":42,"column_start":10,"column_end":16},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323760,"byte_end":323769,"line_start":45,"line_end":45,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323753,"byte_end":323758,"line_start":45,"line_end":45,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323870,"byte_end":323875,"line_start":46,"line_end":46,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323824,"byte_end":323840,"line_start":46,"line_end":46,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323845,"byte_end":323851,"line_start":46,"line_end":46,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323886,"byte_end":323890,"line_start":47,"line_end":47,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":323897,"byte_end":323904,"line_start":47,"line_end":47,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323944,"byte_end":323953,"line_start":50,"line_end":50,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323964,"byte_end":323973,"line_start":50,"line_end":50,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":323978,"byte_end":323984,"line_start":50,"line_end":50,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324032,"byte_end":324042,"line_start":51,"line_end":51,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324025,"byte_end":324031,"line_start":51,"line_end":51,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872246}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324043,"byte_end":324049,"line_start":51,"line_end":51,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743158}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324050,"byte_end":324061,"line_start":51,"line_end":51,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324063,"byte_end":324067,"line_start":51,"line_end":51,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324078,"byte_end":324090,"line_start":51,"line_end":51,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324103,"byte_end":324107,"line_start":52,"line_end":52,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324145,"byte_end":324150,"line_start":52,"line_end":52,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324108,"byte_end":324112,"line_start":52,"line_end":52,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":402654518}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324113,"byte_end":324120,"line_start":52,"line_end":52,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4019}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324134,"byte_end":324137,"line_start":52,"line_end":52,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324121,"byte_end":324125,"line_start":52,"line_end":52,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402654518}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324126,"byte_end":324133,"line_start":52,"line_end":52,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4019}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324190,"byte_end":324199,"line_start":55,"line_end":55,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324210,"byte_end":324219,"line_start":55,"line_end":55,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324224,"byte_end":324230,"line_start":55,"line_end":55,"column_start":64,"column_end":70},"ref_id":{"krate":1,"index":39355}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324278,"byte_end":324288,"line_start":56,"line_end":56,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324271,"byte_end":324277,"line_start":56,"line_end":56,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872247}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324289,"byte_end":324295,"line_start":56,"line_end":56,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743159}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324296,"byte_end":324307,"line_start":56,"line_end":56,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324309,"byte_end":324313,"line_start":56,"line_end":56,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324324,"byte_end":324336,"line_start":56,"line_end":56,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324349,"byte_end":324353,"line_start":57,"line_end":57,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324370,"byte_end":324375,"line_start":57,"line_end":57,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324354,"byte_end":324358,"line_start":57,"line_end":57,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":402654519}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324359,"byte_end":324366,"line_start":57,"line_end":57,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4019}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324477,"byte_end":324481,"line_start":64,"line_end":64,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324482,"byte_end":324488,"line_start":64,"line_end":64,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324498,"byte_end":324499,"line_start":64,"line_end":64,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1338}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324528,"byte_end":324532,"line_start":65,"line_end":65,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324519,"byte_end":324526,"line_start":65,"line_end":65,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324539,"byte_end":324543,"line_start":65,"line_end":65,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324533,"byte_end":324538,"line_start":65,"line_end":65,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":1073743161}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324631,"byte_end":324635,"line_start":72,"line_end":72,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743163}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324659,"byte_end":324663,"line_start":73,"line_end":73,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324650,"byte_end":324657,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324659,"byte_end":324663,"line_start":73,"line_end":73,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324650,"byte_end":324657,"line_start":73,"line_end":73,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324691,"byte_end":324695,"line_start":74,"line_end":74,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324682,"byte_end":324689,"line_start":74,"line_end":74,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324691,"byte_end":324695,"line_start":74,"line_end":74,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324682,"byte_end":324689,"line_start":74,"line_end":74,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324704,"byte_end":324707,"line_start":74,"line_end":74,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":5601}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324702,"byte_end":324703,"line_start":74,"line_end":74,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":805307707}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324806,"byte_end":324810,"line_start":80,"line_end":80,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743164}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324834,"byte_end":324838,"line_start":81,"line_end":81,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324825,"byte_end":324832,"line_start":81,"line_end":81,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324834,"byte_end":324838,"line_start":81,"line_end":81,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324825,"byte_end":324832,"line_start":81,"line_end":81,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324868,"byte_end":324872,"line_start":82,"line_end":82,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324859,"byte_end":324866,"line_start":82,"line_end":82,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324868,"byte_end":324872,"line_start":82,"line_end":82,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":324859,"byte_end":324866,"line_start":82,"line_end":82,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":324881,"byte_end":324889,"line_start":82,"line_end":82,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324879,"byte_end":324880,"line_start":82,"line_end":82,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2952791356}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":324986,"byte_end":324990,"line_start":88,"line_end":88,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743165}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325014,"byte_end":325018,"line_start":89,"line_end":89,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325005,"byte_end":325012,"line_start":89,"line_end":89,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325014,"byte_end":325018,"line_start":89,"line_end":89,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325005,"byte_end":325012,"line_start":89,"line_end":89,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325047,"byte_end":325051,"line_start":90,"line_end":90,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325038,"byte_end":325045,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325047,"byte_end":325051,"line_start":90,"line_end":90,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325038,"byte_end":325045,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325058,"byte_end":325059,"line_start":90,"line_end":90,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":805307709}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325136,"byte_end":325142,"line_start":95,"line_end":95,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325159,"byte_end":325163,"line_start":96,"line_end":96,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743166}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325187,"byte_end":325191,"line_start":97,"line_end":97,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325178,"byte_end":325185,"line_start":97,"line_end":97,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325187,"byte_end":325191,"line_start":97,"line_end":97,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325178,"byte_end":325185,"line_start":97,"line_end":97,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325203,"byte_end":325207,"line_start":97,"line_end":97,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325195,"byte_end":325201,"line_start":97,"line_end":97,"column_start":30,"column_end":36},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325234,"byte_end":325238,"line_start":98,"line_end":98,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325225,"byte_end":325232,"line_start":98,"line_end":98,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325234,"byte_end":325238,"line_start":98,"line_end":98,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325225,"byte_end":325232,"line_start":98,"line_end":98,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325247,"byte_end":325252,"line_start":98,"line_end":98,"column_start":35,"column_end":40},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325245,"byte_end":325246,"line_start":98,"line_end":98,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2281702718}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325279,"byte_end":325286,"line_start":103,"line_end":103,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325346,"byte_end":325350,"line_start":105,"line_end":105,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325337,"byte_end":325344,"line_start":105,"line_end":105,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325374,"byte_end":325382,"line_start":109,"line_end":109,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325441,"byte_end":325452,"line_start":111,"line_end":111,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325480,"byte_end":325484,"line_start":111,"line_end":111,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325467,"byte_end":325478,"line_start":111,"line_end":111,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325533,"byte_end":325544,"line_start":112,"line_end":112,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325572,"byte_end":325576,"line_start":112,"line_end":112,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325559,"byte_end":325570,"line_start":112,"line_end":112,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325612,"byte_end":325615,"line_start":114,"line_end":114,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325616,"byte_end":325632,"line_start":114,"line_end":114,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325653,"byte_end":325659,"line_start":114,"line_end":114,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325660,"byte_end":325667,"line_start":114,"line_end":114,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325669,"byte_end":325677,"line_start":114,"line_end":114,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325718,"byte_end":325721,"line_start":115,"line_end":115,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325711,"byte_end":325716,"line_start":115,"line_end":115,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325745,"byte_end":325751,"line_start":116,"line_end":116,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325733,"byte_end":325744,"line_start":116,"line_end":116,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307717}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325759,"byte_end":325767,"line_start":116,"line_end":116,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325780,"byte_end":325786,"line_start":116,"line_end":116,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325771,"byte_end":325778,"line_start":116,"line_end":116,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325806,"byte_end":325815,"line_start":116,"line_end":116,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325793,"byte_end":325801,"line_start":116,"line_end":116,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325854,"byte_end":325860,"line_start":118,"line_end":118,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743173}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325861,"byte_end":325868,"line_start":118,"line_end":118,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872261}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325870,"byte_end":325874,"line_start":118,"line_end":118,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325885,"byte_end":325897,"line_start":118,"line_end":118,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325924,"byte_end":325927,"line_start":120,"line_end":120,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325928,"byte_end":325935,"line_start":120,"line_end":120,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326031,"byte_end":326038,"line_start":122,"line_end":122,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325959,"byte_end":325962,"line_start":120,"line_end":120,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":325952,"byte_end":325956,"line_start":120,"line_end":120,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325939,"byte_end":325943,"line_start":120,"line_end":120,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1275069765}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":325944,"byte_end":325951,"line_start":120,"line_end":120,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":4019}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325994,"byte_end":326000,"line_start":121,"line_end":121,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":325985,"byte_end":325992,"line_start":121,"line_end":121,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326007,"byte_end":326016,"line_start":121,"line_end":121,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1342}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326001,"byte_end":326006,"line_start":121,"line_end":121,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":33555781}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326073,"byte_end":326077,"line_start":124,"line_end":124,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1275069765}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326078,"byte_end":326085,"line_start":124,"line_end":124,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4018}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326062,"byte_end":326066,"line_start":124,"line_end":124,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326127,"byte_end":326128,"line_start":125,"line_end":125,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3388998981}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326116,"byte_end":326120,"line_start":125,"line_end":125,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326107,"byte_end":326114,"line_start":125,"line_end":125,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326159,"byte_end":326165,"line_start":126,"line_end":126,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326147,"byte_end":326158,"line_start":126,"line_end":126,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":805307717}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326176,"byte_end":326184,"line_start":126,"line_end":126,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326197,"byte_end":326203,"line_start":126,"line_end":126,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326188,"byte_end":326195,"line_start":126,"line_end":126,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326206,"byte_end":326215,"line_start":126,"line_end":126,"column_start":76,"column_end":85},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326204,"byte_end":326205,"line_start":126,"line_end":126,"column_start":74,"column_end":75},"ref_id":{"krate":0,"index":3120563525}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326266,"byte_end":326272,"line_start":130,"line_end":130,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326254,"byte_end":326265,"line_start":130,"line_end":130,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307717}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326283,"byte_end":326291,"line_start":130,"line_end":130,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326304,"byte_end":326309,"line_start":130,"line_end":130,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326295,"byte_end":326302,"line_start":130,"line_end":130,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326310,"byte_end":326317,"line_start":130,"line_end":130,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":167773509}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326339,"byte_end":326341,"line_start":133,"line_end":133,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326351,"byte_end":326361,"line_start":133,"line_end":133,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326342,"byte_end":326349,"line_start":133,"line_end":133,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326362,"byte_end":326373,"line_start":133,"line_end":133,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307717}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326553,"byte_end":326558,"line_start":136,"line_end":136,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326452,"byte_end":326461,"line_start":136,"line_end":136,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326477,"byte_end":326486,"line_start":136,"line_end":136,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326496,"byte_end":326499,"line_start":136,"line_end":136,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326500,"byte_end":326507,"line_start":136,"line_end":136,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326513,"byte_end":326519,"line_start":136,"line_end":136,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326524,"byte_end":326532,"line_start":136,"line_end":136,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326578,"byte_end":326583,"line_start":137,"line_end":137,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342178631}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326607,"byte_end":326613,"line_start":138,"line_end":138,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326598,"byte_end":326605,"line_start":138,"line_end":138,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326607,"byte_end":326613,"line_start":138,"line_end":138,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326598,"byte_end":326605,"line_start":138,"line_end":138,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326644,"byte_end":326653,"line_start":139,"line_end":139,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326654,"byte_end":326660,"line_start":139,"line_end":139,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614087}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326662,"byte_end":326668,"line_start":139,"line_end":139,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":268436807}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326676,"byte_end":326679,"line_start":139,"line_end":139,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":1337}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326682,"byte_end":326687,"line_start":139,"line_end":139,"column_start":61,"column_end":66},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326680,"byte_end":326681,"line_start":139,"line_end":139,"column_start":59,"column_end":60},"ref_id":{"krate":0,"index":1207960903}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326749,"byte_end":326751,"line_start":144,"line_end":144,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326893,"byte_end":326898,"line_start":147,"line_end":147,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326794,"byte_end":326803,"line_start":147,"line_end":147,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326819,"byte_end":326828,"line_start":147,"line_end":147,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326846,"byte_end":326852,"line_start":147,"line_end":147,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326853,"byte_end":326862,"line_start":147,"line_end":147,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":326864,"byte_end":326872,"line_start":147,"line_end":147,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326936,"byte_end":326945,"line_start":149,"line_end":149,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326929,"byte_end":326935,"line_start":149,"line_end":149,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326946,"byte_end":326952,"line_start":149,"line_end":149,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872265}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":326997,"byte_end":327007,"line_start":151,"line_end":151,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":326990,"byte_end":326996,"line_start":151,"line_end":151,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872265}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327008,"byte_end":327014,"line_start":151,"line_end":151,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327015,"byte_end":327026,"line_start":151,"line_end":151,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327028,"byte_end":327032,"line_start":151,"line_end":151,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327043,"byte_end":327055,"line_start":151,"line_end":151,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327167,"byte_end":327171,"line_start":158,"line_end":158,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1677722953}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327172,"byte_end":327179,"line_start":158,"line_end":158,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327201,"byte_end":327204,"line_start":159,"line_end":159,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":469763401}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327209,"byte_end":327214,"line_start":159,"line_end":159,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610614089}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327249,"byte_end":327251,"line_start":160,"line_end":160,"column_start":33,"column_end":35},"ref_id":{"krate":0,"index":3422553417}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327237,"byte_end":327246,"line_start":160,"line_end":160,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3019900233}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327294,"byte_end":327296,"line_start":162,"line_end":162,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":3422553417}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327334,"byte_end":327343,"line_start":165,"line_end":165,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3019900233}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327375,"byte_end":327378,"line_start":166,"line_end":166,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327389,"byte_end":327392,"line_start":166,"line_end":166,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327379,"byte_end":327387,"line_start":166,"line_end":166,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327487,"byte_end":327496,"line_start":170,"line_end":170,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3019900233}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327544,"byte_end":327558,"line_start":172,"line_end":172,"column_start":40,"column_end":54},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327534,"byte_end":327541,"line_start":172,"line_end":172,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":1207960905}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327583,"byte_end":327593,"line_start":174,"line_end":174,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1224738121}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327666,"byte_end":327677,"line_start":176,"line_end":176,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327659,"byte_end":327665,"line_start":176,"line_end":176,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872265}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327720,"byte_end":327725,"line_start":178,"line_end":178,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3774874953}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327694,"byte_end":327705,"line_start":178,"line_end":178,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":2030044489}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327706,"byte_end":327716,"line_start":178,"line_end":178,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":1224738121}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327746,"byte_end":327748,"line_start":179,"line_end":179,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327749,"byte_end":327755,"line_start":179,"line_end":179,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743177}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327822,"byte_end":327835,"line_start":183,"line_end":183,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327815,"byte_end":327821,"line_start":183,"line_end":183,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":536872265}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327838,"byte_end":327843,"line_start":183,"line_end":183,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3774874953}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327802,"byte_end":327812,"line_start":183,"line_end":183,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1224738121}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327889,"byte_end":327903,"line_start":184,"line_end":184,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":327867,"byte_end":327880,"line_start":184,"line_end":184,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327860,"byte_end":327866,"line_start":184,"line_end":184,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327881,"byte_end":327887,"line_start":184,"line_end":184,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872265}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327904,"byte_end":327914,"line_start":184,"line_end":184,"column_start":57,"column_end":67},"ref_id":{"krate":0,"index":1224738121}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":327944,"byte_end":327946,"line_start":186,"line_end":186,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":327947,"byte_end":327953,"line_start":186,"line_end":186,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743177}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328030,"byte_end":328033,"line_start":191,"line_end":191,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328034,"byte_end":328050,"line_start":191,"line_end":191,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328071,"byte_end":328077,"line_start":191,"line_end":191,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328078,"byte_end":328084,"line_start":191,"line_end":191,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328086,"byte_end":328094,"line_start":191,"line_end":191,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328131,"byte_end":328135,"line_start":192,"line_end":192,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328123,"byte_end":328129,"line_start":192,"line_end":192,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328180,"byte_end":328186,"line_start":194,"line_end":194,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743180}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328187,"byte_end":328194,"line_start":194,"line_end":194,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872268}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328196,"byte_end":328200,"line_start":194,"line_end":194,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328211,"byte_end":328223,"line_start":194,"line_end":194,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328255,"byte_end":328259,"line_start":196,"line_end":196,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":4160750924}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328260,"byte_end":328267,"line_start":196,"line_end":196,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4018}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328244,"byte_end":328248,"line_start":196,"line_end":196,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328311,"byte_end":328312,"line_start":197,"line_end":197,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1140852044}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328298,"byte_end":328302,"line_start":197,"line_end":197,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328289,"byte_end":328296,"line_start":197,"line_end":197,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328338,"byte_end":328346,"line_start":198,"line_end":198,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328331,"byte_end":328337,"line_start":198,"line_end":198,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328386,"byte_end":328394,"line_start":199,"line_end":199,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328379,"byte_end":328385,"line_start":199,"line_end":199,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328396,"byte_end":328400,"line_start":199,"line_end":199,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":872416588}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328426,"byte_end":328434,"line_start":200,"line_end":200,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328419,"byte_end":328425,"line_start":200,"line_end":200,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328484,"byte_end":328492,"line_start":204,"line_end":204,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328477,"byte_end":328483,"line_start":204,"line_end":204,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328548,"byte_end":328551,"line_start":206,"line_end":206,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328535,"byte_end":328539,"line_start":206,"line_end":206,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":4160750924}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328540,"byte_end":328547,"line_start":206,"line_end":206,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4019}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328608,"byte_end":328617,"line_start":207,"line_end":207,"column_start":50,"column_end":59},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328601,"byte_end":328605,"line_start":207,"line_end":207,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328588,"byte_end":328592,"line_start":207,"line_end":207,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":4160750924}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328593,"byte_end":328600,"line_start":207,"line_end":207,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":4019}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328641,"byte_end":328649,"line_start":208,"line_end":208,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328634,"byte_end":328640,"line_start":208,"line_end":208,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328698,"byte_end":328704,"line_start":209,"line_end":209,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":637535564}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328685,"byte_end":328689,"line_start":209,"line_end":209,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328676,"byte_end":328683,"line_start":209,"line_end":209,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328730,"byte_end":328738,"line_start":210,"line_end":210,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328723,"byte_end":328729,"line_start":210,"line_end":210,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328744,"byte_end":328750,"line_start":210,"line_end":210,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328739,"byte_end":328743,"line_start":210,"line_end":210,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":2919236940}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328788,"byte_end":328796,"line_start":212,"line_end":212,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328781,"byte_end":328787,"line_start":212,"line_end":212,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328819,"byte_end":328822,"line_start":213,"line_end":213,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3321890124}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328825,"byte_end":328836,"line_start":213,"line_end":213,"column_start":22,"column_end":33},"ref_id":{"krate":0,"index":3657434444}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328862,"byte_end":328870,"line_start":214,"line_end":214,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328855,"byte_end":328861,"line_start":214,"line_end":214,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328917,"byte_end":328925,"line_start":217,"line_end":217,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328910,"byte_end":328916,"line_start":217,"line_end":217,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":328956,"byte_end":328964,"line_start":220,"line_end":220,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328949,"byte_end":328955,"line_start":220,"line_end":220,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":328981,"byte_end":328983,"line_start":222,"line_end":222,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":328984,"byte_end":328990,"line_start":222,"line_end":222,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2952791372}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329037,"byte_end":329040,"line_start":225,"line_end":225,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329041,"byte_end":329057,"line_start":225,"line_end":225,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329097,"byte_end":329100,"line_start":225,"line_end":225,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329101,"byte_end":329107,"line_start":225,"line_end":225,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329113,"byte_end":329119,"line_start":225,"line_end":225,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329127,"byte_end":329130,"line_start":225,"line_end":225,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329136,"byte_end":329139,"line_start":225,"line_end":225,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329140,"byte_end":329156,"line_start":225,"line_end":225,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329160,"byte_end":329168,"line_start":225,"line_end":225,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329201,"byte_end":329204,"line_start":226,"line_end":226,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329216,"byte_end":329219,"line_start":226,"line_end":226,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329211,"byte_end":329214,"line_start":226,"line_end":226,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329243,"byte_end":329247,"line_start":227,"line_end":227,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329231,"byte_end":329242,"line_start":227,"line_end":227,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671089997}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329261,"byte_end":329265,"line_start":227,"line_end":227,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329248,"byte_end":329259,"line_start":227,"line_end":227,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329300,"byte_end":329303,"line_start":229,"line_end":229,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329304,"byte_end":329311,"line_start":229,"line_end":229,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329320,"byte_end":329323,"line_start":229,"line_end":229,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329315,"byte_end":329318,"line_start":229,"line_end":229,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329358,"byte_end":329364,"line_start":231,"line_end":231,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329365,"byte_end":329371,"line_start":231,"line_end":231,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329375,"byte_end":329379,"line_start":231,"line_end":231,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329413,"byte_end":329419,"line_start":233,"line_end":233,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329420,"byte_end":329427,"line_start":233,"line_end":233,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329431,"byte_end":329435,"line_start":233,"line_end":233,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329468,"byte_end":329474,"line_start":234,"line_end":234,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329481,"byte_end":329485,"line_start":234,"line_end":234,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329504,"byte_end":329507,"line_start":236,"line_end":236,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329499,"byte_end":329503,"line_start":236,"line_end":236,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436813}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329535,"byte_end":329539,"line_start":237,"line_end":237,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436813}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329578,"byte_end":329588,"line_start":238,"line_end":238,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329569,"byte_end":329575,"line_start":238,"line_end":238,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329561,"byte_end":329567,"line_start":238,"line_end":238,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329636,"byte_end":329646,"line_start":239,"line_end":239,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1778386253}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329679,"byte_end":329682,"line_start":240,"line_end":240,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614093}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329691,"byte_end":329694,"line_start":240,"line_end":240,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3657434445}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329786,"byte_end":329791,"line_start":242,"line_end":242,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":973079885}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329847,"byte_end":329851,"line_start":243,"line_end":243,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329838,"byte_end":329844,"line_start":243,"line_end":243,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329830,"byte_end":329836,"line_start":243,"line_end":243,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329914,"byte_end":329918,"line_start":244,"line_end":244,"column_start":56,"column_end":60},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":329927,"byte_end":329931,"line_start":244,"line_end":244,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":329919,"byte_end":329925,"line_start":244,"line_end":244,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329932,"byte_end":329935,"line_start":244,"line_end":244,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":1610614093}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329944,"byte_end":329948,"line_start":244,"line_end":244,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":771753293}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":329899,"byte_end":329911,"line_start":244,"line_end":244,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":738198861}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330183,"byte_end":330188,"line_start":250,"line_end":250,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":973079885}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330243,"byte_end":330249,"line_start":251,"line_end":251,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330235,"byte_end":330240,"line_start":251,"line_end":251,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330227,"byte_end":330233,"line_start":251,"line_end":251,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330311,"byte_end":330317,"line_start":252,"line_end":252,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":1493173581}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330370,"byte_end":330376,"line_start":253,"line_end":253,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":4177528141}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330444,"byte_end":330448,"line_start":254,"line_end":254,"column_start":66,"column_end":70},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330435,"byte_end":330441,"line_start":254,"line_end":254,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330427,"byte_end":330433,"line_start":254,"line_end":254,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330519,"byte_end":330522,"line_start":255,"line_end":255,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610614093}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330531,"byte_end":330535,"line_start":255,"line_end":255,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3573548365}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330593,"byte_end":330597,"line_start":256,"line_end":256,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":1828717901}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330675,"byte_end":330678,"line_start":257,"line_end":257,"column_start":64,"column_end":67},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330689,"byte_end":330692,"line_start":257,"line_end":257,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330679,"byte_end":330687,"line_start":257,"line_end":257,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330869,"byte_end":330873,"line_start":259,"line_end":259,"column_start":61,"column_end":65},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330861,"byte_end":330868,"line_start":259,"line_end":259,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330883,"byte_end":330886,"line_start":259,"line_end":259,"column_start":75,"column_end":78},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330874,"byte_end":330881,"line_start":259,"line_end":259,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":330895,"byte_end":330899,"line_start":259,"line_end":259,"column_start":87,"column_end":91},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":330887,"byte_end":330893,"line_start":259,"line_end":259,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":330900,"byte_end":330904,"line_start":259,"line_end":259,"column_start":92,"column_end":96},"ref_id":{"krate":0,"index":1828717901}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331427,"byte_end":331430,"line_start":276,"line_end":276,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331419,"byte_end":331426,"line_start":276,"line_end":276,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331460,"byte_end":331463,"line_start":277,"line_end":277,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331474,"byte_end":331477,"line_start":277,"line_end":277,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331464,"byte_end":331472,"line_start":277,"line_end":277,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331554,"byte_end":331557,"line_start":278,"line_end":278,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331546,"byte_end":331553,"line_start":278,"line_end":278,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331586,"byte_end":331589,"line_start":279,"line_end":279,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331600,"byte_end":331603,"line_start":279,"line_end":279,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331590,"byte_end":331598,"line_start":279,"line_end":279,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331687,"byte_end":331699,"line_start":282,"line_end":282,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":738198861}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331676,"byte_end":331680,"line_start":282,"line_end":282,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331750,"byte_end":331759,"line_start":283,"line_end":283,"column_start":49,"column_end":58},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331743,"byte_end":331747,"line_start":283,"line_end":283,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331735,"byte_end":331742,"line_start":283,"line_end":283,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331783,"byte_end":331784,"line_start":284,"line_end":284,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":310379853}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331795,"byte_end":331801,"line_start":284,"line_end":284,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1341}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331788,"byte_end":331794,"line_start":284,"line_end":284,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2860516685}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331842,"byte_end":331846,"line_start":285,"line_end":285,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":331854,"byte_end":331859,"line_start":285,"line_end":285,"column_start":49,"column_end":54},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331847,"byte_end":331853,"line_start":285,"line_end":285,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":2860516685}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331826,"byte_end":331839,"line_start":285,"line_end":285,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3154117965}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":331900,"byte_end":331904,"line_start":286,"line_end":286,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331905,"byte_end":331908,"line_start":286,"line_end":286,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":713033037}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":331884,"byte_end":331897,"line_start":286,"line_end":286,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":1644168525}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332000,"byte_end":332013,"line_start":292,"line_end":292,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":1644168525}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332028,"byte_end":332032,"line_start":293,"line_end":293,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332028,"byte_end":332032,"line_start":293,"line_end":293,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332051,"byte_end":332055,"line_start":293,"line_end":293,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332039,"byte_end":332050,"line_start":293,"line_end":293,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":671089997}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332057,"byte_end":332058,"line_start":293,"line_end":293,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3917481293}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332077,"byte_end":332081,"line_start":294,"line_end":294,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332077,"byte_end":332081,"line_start":294,"line_end":294,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332097,"byte_end":332101,"line_start":294,"line_end":294,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332085,"byte_end":332096,"line_start":294,"line_end":294,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":671089997}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332155,"byte_end":332159,"line_start":298,"line_end":298,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332143,"byte_end":332154,"line_start":298,"line_end":298,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671089997}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332168,"byte_end":332171,"line_start":298,"line_end":298,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332160,"byte_end":332167,"line_start":298,"line_end":298,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332205,"byte_end":332212,"line_start":299,"line_end":299,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332239,"byte_end":332243,"line_start":300,"line_end":300,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332227,"byte_end":332238,"line_start":300,"line_end":300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671089997}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332251,"byte_end":332254,"line_start":300,"line_end":300,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1339}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332244,"byte_end":332250,"line_start":300,"line_end":300,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3716154701}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332289,"byte_end":332295,"line_start":301,"line_end":301,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332277,"byte_end":332288,"line_start":301,"line_end":301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671089997}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332314,"byte_end":332320,"line_start":301,"line_end":301,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332303,"byte_end":332311,"line_start":301,"line_end":301,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1340}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332296,"byte_end":332302,"line_start":301,"line_end":301,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3716154701}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332350,"byte_end":332354,"line_start":304,"line_end":304,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332343,"byte_end":332349,"line_start":304,"line_end":304,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743181}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332355,"byte_end":332371,"line_start":304,"line_end":304,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332387,"byte_end":332390,"line_start":305,"line_end":305,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332407,"byte_end":332412,"line_start":305,"line_end":305,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332392,"byte_end":332405,"line_start":305,"line_end":305,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332429,"byte_end":332430,"line_start":306,"line_end":306,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332445,"byte_end":332449,"line_start":306,"line_end":306,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332432,"byte_end":332443,"line_start":306,"line_end":306,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332463,"byte_end":332471,"line_start":307,"line_end":307,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332491,"byte_end":332495,"line_start":308,"line_end":308,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332502,"byte_end":332505,"line_start":308,"line_end":308,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332497,"byte_end":332500,"line_start":308,"line_end":308,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332511,"byte_end":332519,"line_start":308,"line_end":308,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332506,"byte_end":332509,"line_start":308,"line_end":308,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332525,"byte_end":332528,"line_start":308,"line_end":308,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332520,"byte_end":332523,"line_start":308,"line_end":308,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332529,"byte_end":332541,"line_start":308,"line_end":308,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332544,"byte_end":332551,"line_start":308,"line_end":308,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332544,"byte_end":332551,"line_start":308,"line_end":308,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":3556771149}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332553,"byte_end":332560,"line_start":308,"line_end":308,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332562,"byte_end":332575,"line_start":308,"line_end":308,"column_start":84,"column_end":97},"ref_id":{"krate":0,"index":3154117965}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332621,"byte_end":332623,"line_start":311,"line_end":311,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332631,"byte_end":332642,"line_start":311,"line_end":311,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":671089997}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332644,"byte_end":332650,"line_start":311,"line_end":311,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743181}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332772,"byte_end":332777,"line_start":314,"line_end":314,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332688,"byte_end":332697,"line_start":314,"line_end":314,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332715,"byte_end":332724,"line_start":314,"line_end":314,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332729,"byte_end":332735,"line_start":314,"line_end":314,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332736,"byte_end":332742,"line_start":314,"line_end":314,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332750,"byte_end":332758,"line_start":314,"line_end":314,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332815,"byte_end":332824,"line_start":316,"line_end":316,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332808,"byte_end":332814,"line_start":316,"line_end":316,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743182}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332825,"byte_end":332831,"line_start":316,"line_end":316,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872270}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":332872,"byte_end":332886,"line_start":318,"line_end":318,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332862,"byte_end":332869,"line_start":318,"line_end":318,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134219086}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":332934,"byte_end":332944,"line_start":321,"line_end":321,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623880014}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332971,"byte_end":332973,"line_start":322,"line_end":322,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":332974,"byte_end":332978,"line_start":322,"line_end":322,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333031,"byte_end":333041,"line_start":325,"line_end":325,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333024,"byte_end":333030,"line_start":325,"line_end":325,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872270}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333042,"byte_end":333048,"line_start":325,"line_end":325,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743182}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333049,"byte_end":333060,"line_start":325,"line_end":325,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333062,"byte_end":333066,"line_start":325,"line_end":325,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333077,"byte_end":333089,"line_start":325,"line_end":325,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333105,"byte_end":333107,"line_start":327,"line_end":327,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333121,"byte_end":333131,"line_start":327,"line_end":327,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2628}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333114,"byte_end":333120,"line_start":327,"line_end":327,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872270}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333132,"byte_end":333142,"line_start":327,"line_end":327,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3623880014}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333158,"byte_end":333162,"line_start":328,"line_end":328,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333158,"byte_end":333162,"line_start":328,"line_end":328,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333203,"byte_end":333204,"line_start":329,"line_end":329,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2449474894}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333235,"byte_end":333244,"line_start":331,"line_end":331,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3388998990}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333260,"byte_end":333263,"line_start":331,"line_end":331,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333247,"byte_end":333251,"line_start":331,"line_end":331,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4227859790}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333252,"byte_end":333259,"line_start":331,"line_end":331,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4019}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333288,"byte_end":333292,"line_start":332,"line_end":332,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333338,"byte_end":333342,"line_start":334,"line_end":334,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333367,"byte_end":333372,"line_start":334,"line_end":334,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333343,"byte_end":333347,"line_start":334,"line_end":334,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4227859790}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333348,"byte_end":333355,"line_start":334,"line_end":334,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333356,"byte_end":333365,"line_start":334,"line_end":334,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3388998990}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333421,"byte_end":333425,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333421,"byte_end":333425,"line_start":337,"line_end":337,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333429,"byte_end":333433,"line_start":337,"line_end":337,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333525,"byte_end":333528,"line_start":342,"line_end":342,"column_start":65,"column_end":68},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333529,"byte_end":333545,"line_start":342,"line_end":342,"column_start":69,"column_end":85},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333551,"byte_end":333557,"line_start":342,"line_end":342,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333599,"byte_end":333605,"line_start":344,"line_end":344,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614096}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333606,"byte_end":333617,"line_start":344,"line_end":344,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":536872272}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333619,"byte_end":333623,"line_start":344,"line_end":344,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333634,"byte_end":333646,"line_start":344,"line_end":344,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333679,"byte_end":333683,"line_start":347,"line_end":347,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":402654544}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333684,"byte_end":333691,"line_start":347,"line_end":347,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4018}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333668,"byte_end":333672,"line_start":347,"line_end":347,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333706,"byte_end":333710,"line_start":348,"line_end":348,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333713,"byte_end":333718,"line_start":348,"line_end":348,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333711,"byte_end":333712,"line_start":348,"line_end":348,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":3623880016}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333751,"byte_end":333755,"line_start":350,"line_end":350,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333823,"byte_end":333832,"line_start":355,"line_end":355,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333850,"byte_end":333859,"line_start":355,"line_end":355,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333864,"byte_end":333871,"line_start":355,"line_end":355,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":333895,"byte_end":333905,"line_start":357,"line_end":357,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333906,"byte_end":333912,"line_start":357,"line_end":357,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872273}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333914,"byte_end":333920,"line_start":357,"line_end":357,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610614097}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333936,"byte_end":333938,"line_start":358,"line_end":358,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333936,"byte_end":333938,"line_start":358,"line_end":358,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":333969,"byte_end":333970,"line_start":359,"line_end":359,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702737}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333993,"byte_end":333997,"line_start":360,"line_end":360,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":333993,"byte_end":333997,"line_start":360,"line_end":360,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334036,"byte_end":334037,"line_start":361,"line_end":361,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3892315473}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334077,"byte_end":334081,"line_start":362,"line_end":362,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334068,"byte_end":334075,"line_start":362,"line_end":362,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334077,"byte_end":334081,"line_start":362,"line_end":362,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334068,"byte_end":334075,"line_start":362,"line_end":362,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334139,"byte_end":334145,"line_start":363,"line_end":363,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334130,"byte_end":334137,"line_start":363,"line_end":363,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334156,"byte_end":334165,"line_start":363,"line_end":363,"column_start":59,"column_end":68},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334146,"byte_end":334155,"line_start":363,"line_end":363,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":2013267281}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334237,"byte_end":334241,"line_start":365,"line_end":365,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334228,"byte_end":334235,"line_start":365,"line_end":365,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334237,"byte_end":334241,"line_start":365,"line_end":365,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334228,"byte_end":334235,"line_start":365,"line_end":365,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334310,"byte_end":334320,"line_start":366,"line_end":366,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334303,"byte_end":334309,"line_start":366,"line_end":366,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610614097}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334321,"byte_end":334327,"line_start":366,"line_end":366,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":536872273}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334328,"byte_end":334339,"line_start":366,"line_end":366,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334341,"byte_end":334345,"line_start":366,"line_end":366,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334356,"byte_end":334368,"line_start":366,"line_end":366,"column_start":110,"column_end":122},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334424,"byte_end":334428,"line_start":368,"line_end":368,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1107297617}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334429,"byte_end":334436,"line_start":368,"line_end":368,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4018}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334413,"byte_end":334417,"line_start":368,"line_end":368,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334481,"byte_end":334482,"line_start":369,"line_end":369,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2717910353}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334534,"byte_end":334538,"line_start":370,"line_end":370,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334525,"byte_end":334532,"line_start":370,"line_end":370,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334534,"byte_end":334538,"line_start":370,"line_end":370,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334525,"byte_end":334532,"line_start":370,"line_end":370,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334602,"byte_end":334608,"line_start":371,"line_end":371,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334593,"byte_end":334600,"line_start":371,"line_end":371,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":334613,"byte_end":334618,"line_start":371,"line_end":371,"column_start":65,"column_end":70},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":334609,"byte_end":334612,"line_start":371,"line_end":371,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":167773521}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334714,"byte_end":334718,"line_start":373,"line_end":373,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334705,"byte_end":334712,"line_start":373,"line_end":373,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334714,"byte_end":334718,"line_start":373,"line_end":373,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334705,"byte_end":334712,"line_start":373,"line_end":373,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334777,"byte_end":334781,"line_start":374,"line_end":374,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334768,"byte_end":334775,"line_start":374,"line_end":374,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334948,"byte_end":334952,"line_start":378,"line_end":378,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":334939,"byte_end":334946,"line_start":378,"line_end":378,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335121,"byte_end":335125,"line_start":384,"line_end":384,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335121,"byte_end":335125,"line_start":384,"line_end":384,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335186,"byte_end":335196,"line_start":385,"line_end":385,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335179,"byte_end":335185,"line_start":385,"line_end":385,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614097}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335197,"byte_end":335203,"line_start":385,"line_end":385,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536872273}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335204,"byte_end":335215,"line_start":385,"line_end":385,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335217,"byte_end":335221,"line_start":385,"line_end":385,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335232,"byte_end":335244,"line_start":385,"line_end":385,"column_start":102,"column_end":114},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335292,"byte_end":335296,"line_start":387,"line_end":387,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2432697681}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335297,"byte_end":335304,"line_start":387,"line_end":387,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":4018}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335281,"byte_end":335285,"line_start":387,"line_end":387,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335341,"byte_end":335342,"line_start":388,"line_end":388,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":822084945}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335386,"byte_end":335390,"line_start":389,"line_end":389,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335377,"byte_end":335384,"line_start":389,"line_end":389,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335386,"byte_end":335390,"line_start":389,"line_end":389,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3440}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335377,"byte_end":335384,"line_start":389,"line_end":389,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335406,"byte_end":335412,"line_start":389,"line_end":389,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335397,"byte_end":335404,"line_start":389,"line_end":389,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335415,"byte_end":335420,"line_start":389,"line_end":389,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335413,"byte_end":335414,"line_start":389,"line_end":389,"column_start":69,"column_end":70},"ref_id":{"krate":0,"index":3909092689}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335466,"byte_end":335470,"line_start":390,"line_end":390,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335457,"byte_end":335464,"line_start":390,"line_end":390,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335466,"byte_end":335470,"line_start":390,"line_end":390,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3438}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335457,"byte_end":335464,"line_start":390,"line_end":390,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335483,"byte_end":335487,"line_start":390,"line_end":390,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335474,"byte_end":335481,"line_start":390,"line_end":390,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335588,"byte_end":335592,"line_start":393,"line_end":393,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335579,"byte_end":335586,"line_start":393,"line_end":393,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335713,"byte_end":335716,"line_start":399,"line_end":399,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335713,"byte_end":335716,"line_start":399,"line_end":399,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335751,"byte_end":335755,"line_start":400,"line_end":400,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335742,"byte_end":335749,"line_start":400,"line_end":400,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335826,"byte_end":335835,"line_start":405,"line_end":405,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335846,"byte_end":335855,"line_start":405,"line_end":405,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335860,"byte_end":335866,"line_start":405,"line_end":405,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":335874,"byte_end":335882,"line_start":405,"line_end":405,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335920,"byte_end":335929,"line_start":406,"line_end":406,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335913,"byte_end":335919,"line_start":406,"line_end":406,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872274}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335930,"byte_end":335936,"line_start":406,"line_end":406,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614098}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":335980,"byte_end":335994,"line_start":408,"line_end":408,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":335970,"byte_end":335977,"line_start":408,"line_end":408,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":1207960914}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336019,"byte_end":336032,"line_start":410,"line_end":410,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087009106}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336059,"byte_end":336061,"line_start":411,"line_end":411,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336095,"byte_end":336097,"line_start":413,"line_end":413,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336109,"byte_end":336116,"line_start":413,"line_end":413,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":336098,"byte_end":336102,"line_start":413,"line_end":413,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":336104,"byte_end":336107,"line_start":413,"line_end":413,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336182,"byte_end":336185,"line_start":417,"line_end":417,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336186,"byte_end":336202,"line_start":417,"line_end":417,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336219,"byte_end":336222,"line_start":417,"line_end":417,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336223,"byte_end":336230,"line_start":417,"line_end":417,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336236,"byte_end":336242,"line_start":417,"line_end":417,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336250,"byte_end":336253,"line_start":417,"line_end":417,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336259,"byte_end":336262,"line_start":417,"line_end":417,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336263,"byte_end":336279,"line_start":417,"line_end":417,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336283,"byte_end":336291,"line_start":417,"line_end":417,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336326,"byte_end":336329,"line_start":420,"line_end":420,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336341,"byte_end":336344,"line_start":420,"line_end":420,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336336,"byte_end":336339,"line_start":420,"line_end":420,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336368,"byte_end":336372,"line_start":421,"line_end":421,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336356,"byte_end":336367,"line_start":421,"line_end":421,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219092}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336386,"byte_end":336390,"line_start":421,"line_end":421,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336373,"byte_end":336384,"line_start":421,"line_end":421,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336425,"byte_end":336428,"line_start":423,"line_end":423,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336429,"byte_end":336436,"line_start":423,"line_end":423,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336445,"byte_end":336448,"line_start":423,"line_end":423,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336440,"byte_end":336443,"line_start":423,"line_end":423,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336483,"byte_end":336489,"line_start":425,"line_end":425,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336490,"byte_end":336496,"line_start":425,"line_end":425,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336500,"byte_end":336504,"line_start":425,"line_end":425,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336522,"byte_end":336533,"line_start":427,"line_end":427,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872276}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336568,"byte_end":336574,"line_start":428,"line_end":428,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336559,"byte_end":336566,"line_start":428,"line_end":428,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336568,"byte_end":336574,"line_start":428,"line_end":428,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336559,"byte_end":336566,"line_start":428,"line_end":428,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336616,"byte_end":336620,"line_start":429,"line_end":429,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":336625,"byte_end":336630,"line_start":429,"line_end":429,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336621,"byte_end":336624,"line_start":429,"line_end":429,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":469763412}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336601,"byte_end":336613,"line_start":429,"line_end":429,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":201327956}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336712,"byte_end":336718,"line_start":434,"line_end":434,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336719,"byte_end":336726,"line_start":434,"line_end":434,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336730,"byte_end":336734,"line_start":434,"line_end":434,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336767,"byte_end":336773,"line_start":435,"line_end":435,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336780,"byte_end":336784,"line_start":435,"line_end":435,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336802,"byte_end":336813,"line_start":437,"line_end":437,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872276}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336848,"byte_end":336853,"line_start":438,"line_end":438,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336839,"byte_end":336846,"line_start":438,"line_end":438,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336848,"byte_end":336853,"line_start":438,"line_end":438,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336839,"byte_end":336846,"line_start":438,"line_end":438,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336889,"byte_end":336890,"line_start":439,"line_end":439,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":3858761044}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":336919,"byte_end":336922,"line_start":440,"line_end":440,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":905971028}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336958,"byte_end":336964,"line_start":441,"line_end":441,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336949,"byte_end":336956,"line_start":441,"line_end":441,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336958,"byte_end":336964,"line_start":441,"line_end":441,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":336949,"byte_end":336956,"line_start":441,"line_end":441,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337012,"byte_end":337015,"line_start":442,"line_end":442,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":5601}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337007,"byte_end":337011,"line_start":442,"line_end":442,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3992978772}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337065,"byte_end":337068,"line_start":443,"line_end":443,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337079,"byte_end":337082,"line_start":443,"line_end":443,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337069,"byte_end":337077,"line_start":443,"line_end":443,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337226,"byte_end":337238,"line_start":446,"line_end":446,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":201327956}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337213,"byte_end":337217,"line_start":446,"line_end":446,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337276,"byte_end":337279,"line_start":447,"line_end":447,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2298479956}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337283,"byte_end":337287,"line_start":447,"line_end":447,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":3992978772}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337342,"byte_end":337346,"line_start":448,"line_end":448,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337356,"byte_end":337359,"line_start":448,"line_end":448,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337347,"byte_end":337354,"line_start":448,"line_end":448,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337364,"byte_end":337369,"line_start":448,"line_end":448,"column_start":75,"column_end":80},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337360,"byte_end":337363,"line_start":448,"line_end":448,"column_start":71,"column_end":74},"ref_id":{"krate":0,"index":2298479956}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337326,"byte_end":337339,"line_start":448,"line_end":448,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":1778386260}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337427,"byte_end":337431,"line_start":449,"line_end":449,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337440,"byte_end":337443,"line_start":449,"line_end":449,"column_start":66,"column_end":69},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337432,"byte_end":337439,"line_start":449,"line_end":449,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337411,"byte_end":337424,"line_start":449,"line_end":449,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":4194305364}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337554,"byte_end":337558,"line_start":452,"line_end":452,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337546,"byte_end":337553,"line_start":452,"line_end":452,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337568,"byte_end":337571,"line_start":452,"line_end":452,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337559,"byte_end":337566,"line_start":452,"line_end":452,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337577,"byte_end":337582,"line_start":452,"line_end":452,"column_start":60,"column_end":65},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337572,"byte_end":337576,"line_start":452,"line_end":452,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3992978772}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337744,"byte_end":337747,"line_start":459,"line_end":459,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337758,"byte_end":337761,"line_start":459,"line_end":459,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337748,"byte_end":337756,"line_start":459,"line_end":459,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337875,"byte_end":337878,"line_start":463,"line_end":463,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":337867,"byte_end":337874,"line_start":463,"line_end":463,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337908,"byte_end":337911,"line_start":464,"line_end":464,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":337922,"byte_end":337925,"line_start":464,"line_end":464,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":337912,"byte_end":337920,"line_start":464,"line_end":464,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338030,"byte_end":338043,"line_start":468,"line_end":468,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":4194305364}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338058,"byte_end":338062,"line_start":469,"line_end":469,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338058,"byte_end":338062,"line_start":469,"line_end":469,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338081,"byte_end":338085,"line_start":469,"line_end":469,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338069,"byte_end":338080,"line_start":469,"line_end":469,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":134219092}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338087,"byte_end":338088,"line_start":469,"line_end":469,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1216349524}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338107,"byte_end":338111,"line_start":470,"line_end":470,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338107,"byte_end":338111,"line_start":470,"line_end":470,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338127,"byte_end":338131,"line_start":470,"line_end":470,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338115,"byte_end":338126,"line_start":470,"line_end":470,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":134219092}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338185,"byte_end":338189,"line_start":474,"line_end":474,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338173,"byte_end":338184,"line_start":474,"line_end":474,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219092}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338198,"byte_end":338201,"line_start":474,"line_end":474,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338190,"byte_end":338197,"line_start":474,"line_end":474,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338235,"byte_end":338242,"line_start":475,"line_end":475,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338269,"byte_end":338273,"line_start":476,"line_end":476,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338257,"byte_end":338268,"line_start":476,"line_end":476,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219092}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338281,"byte_end":338284,"line_start":476,"line_end":476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1339}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338274,"byte_end":338280,"line_start":476,"line_end":476,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1820329300}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338319,"byte_end":338325,"line_start":477,"line_end":477,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338307,"byte_end":338318,"line_start":477,"line_end":477,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219092}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338344,"byte_end":338350,"line_start":477,"line_end":477,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338333,"byte_end":338341,"line_start":477,"line_end":477,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1340}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338326,"byte_end":338332,"line_start":477,"line_end":477,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1820329300}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338380,"byte_end":338384,"line_start":480,"line_end":480,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338373,"byte_end":338379,"line_start":480,"line_end":480,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338385,"byte_end":338401,"line_start":480,"line_end":480,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338417,"byte_end":338420,"line_start":481,"line_end":481,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338437,"byte_end":338442,"line_start":481,"line_end":481,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338422,"byte_end":338435,"line_start":481,"line_end":481,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338459,"byte_end":338460,"line_start":482,"line_end":482,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338475,"byte_end":338479,"line_start":482,"line_end":482,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338462,"byte_end":338473,"line_start":482,"line_end":482,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338493,"byte_end":338501,"line_start":483,"line_end":483,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338521,"byte_end":338525,"line_start":484,"line_end":484,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338532,"byte_end":338535,"line_start":484,"line_end":484,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338527,"byte_end":338530,"line_start":484,"line_end":484,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338541,"byte_end":338549,"line_start":484,"line_end":484,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338536,"byte_end":338539,"line_start":484,"line_end":484,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":338555,"byte_end":338558,"line_start":484,"line_end":484,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338550,"byte_end":338553,"line_start":484,"line_end":484,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338559,"byte_end":338571,"line_start":484,"line_end":484,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338574,"byte_end":338581,"line_start":484,"line_end":484,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338583,"byte_end":338590,"line_start":484,"line_end":484,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":3825206612}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338592,"byte_end":338599,"line_start":484,"line_end":484,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338601,"byte_end":338614,"line_start":484,"line_end":484,"column_start":93,"column_end":106},"ref_id":{"krate":0,"index":1778386260}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338661,"byte_end":338663,"line_start":487,"line_end":487,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338671,"byte_end":338682,"line_start":487,"line_end":487,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219092}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338684,"byte_end":338690,"line_start":487,"line_end":487,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743188}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338746,"byte_end":338749,"line_start":491,"line_end":491,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338750,"byte_end":338766,"line_start":491,"line_end":491,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338809,"byte_end":338812,"line_start":491,"line_end":491,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338813,"byte_end":338829,"line_start":491,"line_end":491,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338865,"byte_end":338871,"line_start":492,"line_end":492,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338878,"byte_end":338882,"line_start":492,"line_end":492,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338915,"byte_end":338921,"line_start":493,"line_end":493,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338922,"byte_end":338929,"line_start":493,"line_end":493,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":338933,"byte_end":338937,"line_start":493,"line_end":493,"column_start":50,"column_end":54},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338951,"byte_end":338956,"line_start":495,"line_end":495,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610614101}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338957,"byte_end":338964,"line_start":495,"line_end":495,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":536872277}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339004,"byte_end":339008,"line_start":496,"line_end":496,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339009,"byte_end":339014,"line_start":496,"line_end":496,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1610614101}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339015,"byte_end":339022,"line_start":496,"line_end":496,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872277}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":338988,"byte_end":339001,"line_start":496,"line_end":496,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":4026533205}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339071,"byte_end":339076,"line_start":499,"line_end":499,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1610614101}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339077,"byte_end":339084,"line_start":499,"line_end":499,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872277}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339117,"byte_end":339120,"line_start":501,"line_end":501,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339121,"byte_end":339128,"line_start":501,"line_end":501,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339137,"byte_end":339140,"line_start":501,"line_end":501,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339132,"byte_end":339135,"line_start":501,"line_end":501,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339176,"byte_end":339183,"line_start":502,"line_end":502,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872277}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339206,"byte_end":339220,"line_start":503,"line_end":503,"column_start":18,"column_end":32},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339206,"byte_end":339207,"line_start":503,"line_end":503,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339209,"byte_end":339220,"line_start":503,"line_end":503,"column_start":21,"column_end":32},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339209,"byte_end":339220,"line_start":503,"line_end":503,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":33555797}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339253,"byte_end":339258,"line_start":504,"line_end":504,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1610614101}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339259,"byte_end":339265,"line_start":504,"line_end":504,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2852128085}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339309,"byte_end":339314,"line_start":505,"line_end":505,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":1610614101}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339315,"byte_end":339355,"line_start":505,"line_end":505,"column_start":39,"column_end":79},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339315,"byte_end":339327,"line_start":505,"line_end":505,"column_start":39,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339316,"byte_end":339322,"line_start":505,"line_end":505,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2852128085}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339329,"byte_end":339355,"line_start":505,"line_end":505,"column_start":53,"column_end":79},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339330,"byte_end":339336,"line_start":505,"line_end":505,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":2852128085}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339343,"byte_end":339354,"line_start":505,"line_end":505,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3053454677}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339410,"byte_end":339429,"line_start":506,"line_end":506,"column_start":53,"column_end":72},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":339399,"byte_end":339403,"line_start":506,"line_end":506,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/option.rs","byte_start":339405,"byte_end":339408,"line_start":506,"line_end":506,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339430,"byte_end":339442,"line_start":506,"line_end":506,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":1090520405}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339467,"byte_end":339471,"line_start":507,"line_end":507,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339459,"byte_end":339466,"line_start":507,"line_end":507,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":838862165}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339481,"byte_end":339484,"line_start":507,"line_end":507,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339472,"byte_end":339479,"line_start":507,"line_end":507,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339499,"byte_end":339508,"line_start":507,"line_end":507,"column_start":53,"column_end":62},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339485,"byte_end":339498,"line_start":507,"line_end":507,"column_start":39,"column_end":52},"ref_id":{"krate":0,"index":1895826773}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339540,"byte_end":339551,"line_start":508,"line_end":508,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3053454677}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339526,"byte_end":339532,"line_start":508,"line_end":508,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2852128085}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339585,"byte_end":339598,"line_start":510,"line_end":510,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":4026533205}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339573,"byte_end":339577,"line_start":510,"line_end":510,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339620,"byte_end":339623,"line_start":511,"line_end":511,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3841983829}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339627,"byte_end":339628,"line_start":511,"line_end":511,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":973079893}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339667,"byte_end":339671,"line_start":512,"line_end":512,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339681,"byte_end":339684,"line_start":512,"line_end":512,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339672,"byte_end":339679,"line_start":512,"line_end":512,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3437}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339699,"byte_end":339708,"line_start":512,"line_end":512,"column_start":69,"column_end":78},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339685,"byte_end":339698,"line_start":512,"line_end":512,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":1895826773}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339651,"byte_end":339664,"line_start":512,"line_end":512,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":402654549}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339772,"byte_end":339776,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339765,"byte_end":339771,"line_start":517,"line_end":517,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339777,"byte_end":339793,"line_start":517,"line_end":517,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339808,"byte_end":339811,"line_start":518,"line_end":518,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339828,"byte_end":339833,"line_start":518,"line_end":518,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339813,"byte_end":339826,"line_start":518,"line_end":518,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339850,"byte_end":339851,"line_start":519,"line_end":519,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339866,"byte_end":339870,"line_start":519,"line_end":519,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339853,"byte_end":339864,"line_start":519,"line_end":519,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339884,"byte_end":339892,"line_start":520,"line_end":520,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339912,"byte_end":339916,"line_start":521,"line_end":521,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339923,"byte_end":339926,"line_start":521,"line_end":521,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339918,"byte_end":339921,"line_start":521,"line_end":521,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339932,"byte_end":339940,"line_start":521,"line_end":521,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339927,"byte_end":339930,"line_start":521,"line_end":521,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":339946,"byte_end":339949,"line_start":521,"line_end":521,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339941,"byte_end":339944,"line_start":521,"line_end":521,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":339950,"byte_end":339962,"line_start":521,"line_end":521,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":4017}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339965,"byte_end":339972,"line_start":521,"line_end":521,"column_start":66,"column_end":73},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339974,"byte_end":339981,"line_start":521,"line_end":521,"column_start":75,"column_end":82},"ref_id":{"krate":0,"index":838862165}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339983,"byte_end":339990,"line_start":521,"line_end":521,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":339992,"byte_end":340005,"line_start":521,"line_end":521,"column_start":93,"column_end":106},"ref_id":{"krate":0,"index":402654549}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340052,"byte_end":340058,"line_start":524,"line_end":524,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743189}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340110,"byte_end":340116,"line_start":529,"line_end":529,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340121,"byte_end":340129,"line_start":529,"line_end":529,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340247,"byte_end":340250,"line_start":531,"line_end":531,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340235,"byte_end":340245,"line_start":531,"line_end":531,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340228,"byte_end":340233,"line_start":531,"line_end":531,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340251,"byte_end":340257,"line_start":531,"line_end":531,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874369}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340276,"byte_end":340282,"line_start":532,"line_end":532,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874369}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340299,"byte_end":340305,"line_start":532,"line_end":532,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340284,"byte_end":340291,"line_start":532,"line_end":532,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753025}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340292,"byte_end":340298,"line_start":532,"line_end":532,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340349,"byte_end":340358,"line_start":533,"line_end":533,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340337,"byte_end":340347,"line_start":533,"line_end":533,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340330,"byte_end":340335,"line_start":533,"line_end":533,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340367,"byte_end":340386,"line_start":533,"line_end":533,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340359,"byte_end":340366,"line_start":533,"line_end":533,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753025}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340407,"byte_end":340413,"line_start":534,"line_end":534,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874369}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340431,"byte_end":340437,"line_start":534,"line_end":534,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340415,"byte_end":340423,"line_start":534,"line_end":534,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699777}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340424,"byte_end":340430,"line_start":534,"line_end":534,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340540,"byte_end":340543,"line_start":537,"line_end":537,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340528,"byte_end":340538,"line_start":537,"line_end":537,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340521,"byte_end":340526,"line_start":537,"line_end":537,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340544,"byte_end":340550,"line_start":537,"line_end":537,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526730113}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340569,"byte_end":340575,"line_start":538,"line_end":538,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730113}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340592,"byte_end":340598,"line_start":538,"line_end":538,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340577,"byte_end":340584,"line_start":538,"line_end":538,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936016257}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340585,"byte_end":340591,"line_start":538,"line_end":538,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340642,"byte_end":340651,"line_start":539,"line_end":539,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340630,"byte_end":340640,"line_start":539,"line_end":539,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340623,"byte_end":340628,"line_start":539,"line_end":539,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340660,"byte_end":340679,"line_start":539,"line_end":539,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340652,"byte_end":340659,"line_start":539,"line_end":539,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936016257}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340700,"byte_end":340706,"line_start":540,"line_end":540,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730113}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":340724,"byte_end":340730,"line_start":540,"line_end":540,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340708,"byte_end":340716,"line_start":540,"line_end":540,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202696065}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340717,"byte_end":340723,"line_start":540,"line_end":540,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340745,"byte_end":340747,"line_start":542,"line_end":542,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340792,"byte_end":340798,"line_start":546,"line_end":546,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340803,"byte_end":340811,"line_start":546,"line_end":546,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340938,"byte_end":340948,"line_start":548,"line_end":548,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":340931,"byte_end":340936,"line_start":548,"line_end":548,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340959,"byte_end":340965,"line_start":548,"line_end":548,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874373}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340984,"byte_end":340990,"line_start":549,"line_end":549,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874373}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":340992,"byte_end":340999,"line_start":549,"line_end":549,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753029}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341070,"byte_end":341079,"line_start":550,"line_end":550,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341058,"byte_end":341068,"line_start":550,"line_end":550,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341051,"byte_end":341056,"line_start":550,"line_end":550,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341080,"byte_end":341087,"line_start":550,"line_end":550,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753029}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341128,"byte_end":341134,"line_start":551,"line_end":551,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874373}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341163,"byte_end":341172,"line_start":551,"line_end":551,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341152,"byte_end":341159,"line_start":551,"line_end":551,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341136,"byte_end":341144,"line_start":551,"line_end":551,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441605}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341145,"byte_end":341151,"line_start":551,"line_end":551,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341279,"byte_end":341289,"line_start":554,"line_end":554,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341272,"byte_end":341277,"line_start":554,"line_end":554,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341300,"byte_end":341306,"line_start":554,"line_end":554,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063601029}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341325,"byte_end":341331,"line_start":555,"line_end":555,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063601029}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341333,"byte_end":341340,"line_start":555,"line_end":555,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667580805}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341411,"byte_end":341420,"line_start":556,"line_end":556,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341399,"byte_end":341409,"line_start":556,"line_end":556,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341392,"byte_end":341397,"line_start":556,"line_end":556,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341421,"byte_end":341428,"line_start":556,"line_end":556,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667580805}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341469,"byte_end":341475,"line_start":557,"line_end":557,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063601029}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341504,"byte_end":341513,"line_start":557,"line_end":557,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341493,"byte_end":341500,"line_start":557,"line_end":557,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341477,"byte_end":341485,"line_start":557,"line_end":557,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793409925}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341486,"byte_end":341492,"line_start":557,"line_end":557,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341527,"byte_end":341529,"line_start":559,"line_end":559,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341574,"byte_end":341580,"line_start":564,"line_end":564,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341585,"byte_end":341593,"line_start":564,"line_end":564,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341720,"byte_end":341730,"line_start":566,"line_end":566,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341713,"byte_end":341718,"line_start":566,"line_end":566,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341741,"byte_end":341747,"line_start":566,"line_end":566,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874377}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341768,"byte_end":341775,"line_start":567,"line_end":567,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160753033}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341787,"byte_end":341791,"line_start":567,"line_end":567,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341822,"byte_end":341829,"line_start":568,"line_end":568,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":341809,"byte_end":341815,"line_start":568,"line_end":568,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547785}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":341856,"byte_end":341859,"line_start":568,"line_end":568,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341847,"byte_end":341854,"line_start":568,"line_end":568,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341876,"byte_end":341878,"line_start":570,"line_end":570,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341939,"byte_end":341945,"line_start":574,"line_end":574,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":341950,"byte_end":341958,"line_start":574,"line_end":574,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342063,"byte_end":342073,"line_start":576,"line_end":576,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342056,"byte_end":342061,"line_start":576,"line_end":576,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342084,"byte_end":342090,"line_start":576,"line_end":576,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874381}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342115,"byte_end":342122,"line_start":577,"line_end":577,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753037}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342134,"byte_end":342138,"line_start":577,"line_end":577,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342145,"byte_end":342151,"line_start":578,"line_end":578,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547789}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":342170,"byte_end":342173,"line_start":578,"line_end":578,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342161,"byte_end":342168,"line_start":578,"line_end":578,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342214,"byte_end":342221,"line_start":579,"line_end":579,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342201,"byte_end":342207,"line_start":579,"line_end":579,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547789}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342230,"byte_end":342234,"line_start":579,"line_end":579,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/option.rs","byte_start":342244,"byte_end":342247,"line_start":579,"line_end":579,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1337}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342235,"byte_end":342242,"line_start":579,"line_end":579,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342264,"byte_end":342270,"line_start":580,"line_end":580,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547789}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342310,"byte_end":342317,"line_start":581,"line_end":581,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342297,"byte_end":342303,"line_start":581,"line_end":581,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547789}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342326,"byte_end":342330,"line_start":581,"line_end":581,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342338,"byte_end":342344,"line_start":583,"line_end":583,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547789}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342353,"byte_end":342357,"line_start":583,"line_end":583,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/option.rs","byte_start":342376,"byte_end":342382,"line_start":584,"line_end":584,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547789}},{"kind":"Type","span":{"file_name":"src/pointer/option.rs","byte_start":342427,"byte_end":342429,"line_start":586,"line_end":586,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57467,"byte_end":57471,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1366}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":342964,"byte_end":342969,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":342972,"byte_end":342978,"line_start":21,"line_end":21,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":342964,"byte_end":342969,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":342988,"byte_end":342992,"line_start":21,"line_end":21,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343012,"byte_end":343015,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343012,"byte_end":343015,"line_start":22,"line_end":22,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343004,"byte_end":343009,"line_start":22,"line_end":22,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3939}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343038,"byte_end":343044,"line_start":22,"line_end":22,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3939}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343099,"byte_end":343104,"line_start":23,"line_end":23,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343106,"byte_end":343109,"line_start":23,"line_end":23,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343120,"byte_end":343125,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343127,"byte_end":343136,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343120,"byte_end":343125,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343127,"byte_end":343136,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343160,"byte_end":343165,"line_start":25,"line_end":25,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343167,"byte_end":343173,"line_start":25,"line_end":25,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343194,"byte_end":343199,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343202,"byte_end":343209,"line_start":26,"line_end":26,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343194,"byte_end":343199,"line_start":26,"line_end":26,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343221,"byte_end":343226,"line_start":26,"line_end":26,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343243,"byte_end":343247,"line_start":27,"line_end":27,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343250,"byte_end":343253,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343243,"byte_end":343247,"line_start":27,"line_end":27,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343250,"byte_end":343253,"line_start":27,"line_end":27,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9564}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343281,"byte_end":343286,"line_start":29,"line_end":29,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343288,"byte_end":343293,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343304,"byte_end":343309,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343311,"byte_end":343317,"line_start":30,"line_end":30,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343332,"byte_end":343337,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343356,"byte_end":343361,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343378,"byte_end":343383,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":343385,"byte_end":343391,"line_start":33,"line_end":33,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343600,"byte_end":343605,"line_start":44,"line_end":44,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3471}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343634,"byte_end":343643,"line_start":47,"line_end":47,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343627,"byte_end":343632,"line_start":47,"line_end":47,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343744,"byte_end":343749,"line_start":48,"line_end":48,"column_start":79,"column_end":84},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343698,"byte_end":343714,"line_start":48,"line_end":48,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343719,"byte_end":343725,"line_start":48,"line_end":48,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343760,"byte_end":343764,"line_start":49,"line_end":49,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":343771,"byte_end":343778,"line_start":49,"line_end":49,"column_start":20,"column_end":27},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343819,"byte_end":343828,"line_start":52,"line_end":52,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343840,"byte_end":343849,"line_start":52,"line_end":52,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343854,"byte_end":343860,"line_start":52,"line_end":52,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343877,"byte_end":343881,"line_start":53,"line_end":53,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343882,"byte_end":343889,"line_start":53,"line_end":53,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343892,"byte_end":343897,"line_start":53,"line_end":53,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":343904,"byte_end":343907,"line_start":53,"line_end":53,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":24230}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343948,"byte_end":343957,"line_start":56,"line_end":56,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343969,"byte_end":343978,"line_start":56,"line_end":56,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":343983,"byte_end":343989,"line_start":56,"line_end":56,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344006,"byte_end":344010,"line_start":57,"line_end":57,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344011,"byte_end":344018,"line_start":57,"line_end":57,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344021,"byte_end":344026,"line_start":57,"line_end":57,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344033,"byte_end":344036,"line_start":57,"line_end":57,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":24229}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344167,"byte_end":344174,"line_start":65,"line_end":65,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344177,"byte_end":344182,"line_start":65,"line_end":65,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3471}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344184,"byte_end":344191,"line_start":65,"line_end":65,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":1073743267}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344208,"byte_end":344215,"line_start":69,"line_end":69,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344266,"byte_end":344273,"line_start":71,"line_end":71,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344276,"byte_end":344281,"line_start":71,"line_end":71,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":3471}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344302,"byte_end":344307,"line_start":75,"line_end":75,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344348,"byte_end":344357,"line_start":76,"line_end":76,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":9564}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344377,"byte_end":344383,"line_start":76,"line_end":76,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":9553}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":344366,"byte_end":344370,"line_start":76,"line_end":76,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":344372,"byte_end":344375,"line_start":76,"line_end":76,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344401,"byte_end":344402,"line_start":77,"line_end":77,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536872359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344410,"byte_end":344414,"line_start":77,"line_end":77,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743271}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344415,"byte_end":344420,"line_start":77,"line_end":77,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3471}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344444,"byte_end":344452,"line_start":81,"line_end":81,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344513,"byte_end":344524,"line_start":85,"line_end":85,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344550,"byte_end":344554,"line_start":85,"line_end":85,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344537,"byte_end":344548,"line_start":85,"line_end":85,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344603,"byte_end":344614,"line_start":86,"line_end":86,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344640,"byte_end":344644,"line_start":86,"line_end":86,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344627,"byte_end":344638,"line_start":86,"line_end":86,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344680,"byte_end":344683,"line_start":88,"line_end":88,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344684,"byte_end":344700,"line_start":88,"line_end":88,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344721,"byte_end":344727,"line_start":88,"line_end":88,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344728,"byte_end":344735,"line_start":88,"line_end":88,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344737,"byte_end":344745,"line_start":88,"line_end":88,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344786,"byte_end":344789,"line_start":89,"line_end":89,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344779,"byte_end":344784,"line_start":89,"line_end":89,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344813,"byte_end":344819,"line_start":90,"line_end":90,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344801,"byte_end":344812,"line_start":90,"line_end":90,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805307820}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344827,"byte_end":344835,"line_start":90,"line_end":90,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344848,"byte_end":344854,"line_start":90,"line_end":90,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344839,"byte_end":344846,"line_start":90,"line_end":90,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344874,"byte_end":344883,"line_start":90,"line_end":90,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":344861,"byte_end":344869,"line_start":90,"line_end":90,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344922,"byte_end":344928,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743276}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344929,"byte_end":344936,"line_start":92,"line_end":92,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872364}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344938,"byte_end":344942,"line_start":92,"line_end":92,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344953,"byte_end":344964,"line_start":92,"line_end":92,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":344995,"byte_end":344999,"line_start":94,"line_end":94,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1275069868}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345000,"byte_end":345007,"line_start":94,"line_end":94,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":344985,"byte_end":344989,"line_start":94,"line_end":94,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345034,"byte_end":345040,"line_start":95,"line_end":95,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345022,"byte_end":345033,"line_start":95,"line_end":95,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805307820}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345051,"byte_end":345059,"line_start":95,"line_end":95,"column_start":42,"column_end":50},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345072,"byte_end":345079,"line_start":95,"line_end":95,"column_start":63,"column_end":70},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345063,"byte_end":345070,"line_start":95,"line_end":95,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345080,"byte_end":345081,"line_start":95,"line_end":95,"column_start":71,"column_end":72},"ref_id":{"krate":0,"index":2885682604}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345120,"byte_end":345122,"line_start":98,"line_end":98,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345132,"byte_end":345142,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345123,"byte_end":345130,"line_start":98,"line_end":98,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345143,"byte_end":345154,"line_start":98,"line_end":98,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805307820}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345222,"byte_end":345225,"line_start":101,"line_end":101,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345226,"byte_end":345242,"line_start":101,"line_end":101,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345248,"byte_end":345254,"line_start":101,"line_end":101,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345295,"byte_end":345301,"line_start":102,"line_end":102,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614189}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345302,"byte_end":345306,"line_start":102,"line_end":102,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":536872365}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345308,"byte_end":345312,"line_start":102,"line_end":102,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345323,"byte_end":345334,"line_start":102,"line_end":102,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345365,"byte_end":345369,"line_start":104,"line_end":104,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":402654637}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345370,"byte_end":345377,"line_start":104,"line_end":104,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345355,"byte_end":345359,"line_start":104,"line_end":104,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345392,"byte_end":345396,"line_start":105,"line_end":105,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345397,"byte_end":345404,"line_start":105,"line_end":105,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345407,"byte_end":345412,"line_start":105,"line_end":105,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":3471}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345416,"byte_end":345421,"line_start":105,"line_end":105,"column_start":37,"column_end":42},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345414,"byte_end":345415,"line_start":105,"line_end":105,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":3623880109}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345456,"byte_end":345460,"line_start":107,"line_end":107,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345658,"byte_end":345663,"line_start":112,"line_end":112,"column_start":171,"column_end":176},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345557,"byte_end":345566,"line_start":112,"line_end":112,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345582,"byte_end":345591,"line_start":112,"line_end":112,"column_start":95,"column_end":104},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345601,"byte_end":345604,"line_start":112,"line_end":112,"column_start":114,"column_end":117},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345605,"byte_end":345612,"line_start":112,"line_end":112,"column_start":118,"column_end":125},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345618,"byte_end":345624,"line_start":112,"line_end":112,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345629,"byte_end":345637,"line_start":112,"line_end":112,"column_start":142,"column_end":150},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345695,"byte_end":345700,"line_start":113,"line_end":113,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1342178734}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345724,"byte_end":345731,"line_start":114,"line_end":114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345715,"byte_end":345722,"line_start":114,"line_end":114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345724,"byte_end":345731,"line_start":114,"line_end":114,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345715,"byte_end":345722,"line_start":114,"line_end":114,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345739,"byte_end":345740,"line_start":114,"line_end":114,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3355444654}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345770,"byte_end":345775,"line_start":115,"line_end":115,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345761,"byte_end":345768,"line_start":115,"line_end":115,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345770,"byte_end":345775,"line_start":115,"line_end":115,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345761,"byte_end":345768,"line_start":115,"line_end":115,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345783,"byte_end":345784,"line_start":115,"line_end":115,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2013267374}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345838,"byte_end":345847,"line_start":119,"line_end":119,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345848,"byte_end":345854,"line_start":119,"line_end":119,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1610614190}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345856,"byte_end":345862,"line_start":119,"line_end":119,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268436910}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":345873,"byte_end":345876,"line_start":119,"line_end":119,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1443}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345864,"byte_end":345871,"line_start":119,"line_end":119,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":345877,"byte_end":345882,"line_start":119,"line_end":119,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":872416686}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345896,"byte_end":345898,"line_start":121,"line_end":121,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346040,"byte_end":346045,"line_start":124,"line_end":124,"column_start":131,"column_end":136},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345941,"byte_end":345950,"line_start":124,"line_end":124,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345966,"byte_end":345975,"line_start":124,"line_end":124,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":345993,"byte_end":345999,"line_start":124,"line_end":124,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346000,"byte_end":346009,"line_start":124,"line_end":124,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346011,"byte_end":346019,"line_start":124,"line_end":124,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346083,"byte_end":346092,"line_start":126,"line_end":126,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346076,"byte_end":346082,"line_start":126,"line_end":126,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743280}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346093,"byte_end":346099,"line_start":126,"line_end":126,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872368}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346147,"byte_end":346161,"line_start":128,"line_end":128,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346137,"byte_end":346144,"line_start":128,"line_end":128,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":1207961008}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346186,"byte_end":346199,"line_start":130,"line_end":130,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":3087009200}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346270,"byte_end":346281,"line_start":131,"line_end":131,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346258,"byte_end":346263,"line_start":131,"line_end":131,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614192}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346264,"byte_end":346269,"line_start":131,"line_end":131,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3471}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346323,"byte_end":346334,"line_start":133,"line_end":133,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346316,"byte_end":346322,"line_start":133,"line_end":133,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872368}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346411,"byte_end":346425,"line_start":136,"line_end":136,"column_start":22,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346411,"byte_end":346412,"line_start":136,"line_end":136,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346414,"byte_end":346425,"line_start":136,"line_end":136,"column_start":25,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346420,"byte_end":346423,"line_start":136,"line_end":136,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346414,"byte_end":346419,"line_start":136,"line_end":136,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1409287600}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346477,"byte_end":346482,"line_start":137,"line_end":137,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1409287600}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346483,"byte_end":346484,"line_start":137,"line_end":137,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":1543505328}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346444,"byte_end":346455,"line_start":137,"line_end":137,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":2348811696}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346456,"byte_end":346469,"line_start":137,"line_end":137,"column_start":29,"column_end":42},"ref_id":{"krate":0,"index":3087009200}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346472,"byte_end":346473,"line_start":137,"line_end":137,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":1543505328}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346569,"byte_end":346580,"line_start":142,"line_end":142,"column_start":37,"column_end":48},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346557,"byte_end":346562,"line_start":142,"line_end":142,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614192}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346563,"byte_end":346568,"line_start":142,"line_end":142,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3471}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346619,"byte_end":346632,"line_start":143,"line_end":143,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346612,"byte_end":346618,"line_start":143,"line_end":143,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872368}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346634,"byte_end":346639,"line_start":143,"line_end":143,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2516583856}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346596,"byte_end":346609,"line_start":143,"line_end":143,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3087009200}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346684,"byte_end":346698,"line_start":144,"line_end":144,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346662,"byte_end":346675,"line_start":144,"line_end":144,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346655,"byte_end":346661,"line_start":144,"line_end":144,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743280}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346676,"byte_end":346682,"line_start":144,"line_end":144,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872368}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346699,"byte_end":346712,"line_start":144,"line_end":144,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":3087009200}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346761,"byte_end":346763,"line_start":147,"line_end":147,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346764,"byte_end":346770,"line_start":147,"line_end":147,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743280}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346890,"byte_end":346895,"line_start":150,"line_end":150,"column_start":112,"column_end":117},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346806,"byte_end":346815,"line_start":150,"line_end":150,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346833,"byte_end":346842,"line_start":150,"line_end":150,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346847,"byte_end":346853,"line_start":150,"line_end":150,"column_start":69,"column_end":75},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346854,"byte_end":346860,"line_start":150,"line_end":150,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":346868,"byte_end":346876,"line_start":150,"line_end":150,"column_start":90,"column_end":98},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346933,"byte_end":346942,"line_start":152,"line_end":152,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346926,"byte_end":346932,"line_start":152,"line_end":152,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1073743283}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346943,"byte_end":346949,"line_start":152,"line_end":152,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872371}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":346990,"byte_end":347004,"line_start":154,"line_end":154,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":346980,"byte_end":346987,"line_start":154,"line_end":154,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":134219187}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347052,"byte_end":347062,"line_start":157,"line_end":157,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3623880115}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347089,"byte_end":347091,"line_start":158,"line_end":158,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347092,"byte_end":347096,"line_start":158,"line_end":158,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347118,"byte_end":347120,"line_start":161,"line_end":161,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347134,"byte_end":347145,"line_start":161,"line_end":161,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":2635}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347127,"byte_end":347133,"line_start":161,"line_end":161,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536872371}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347146,"byte_end":347156,"line_start":161,"line_end":161,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":3623880115}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347172,"byte_end":347176,"line_start":162,"line_end":162,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347172,"byte_end":347176,"line_start":162,"line_end":162,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347201,"byte_end":347205,"line_start":163,"line_end":163,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347206,"byte_end":347213,"line_start":163,"line_end":163,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347216,"byte_end":347221,"line_start":163,"line_end":163,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3471}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347228,"byte_end":347241,"line_start":163,"line_end":163,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347243,"byte_end":347244,"line_start":163,"line_end":163,"column_start":59,"column_end":60},"ref_id":{"krate":0,"index":2885682611}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347276,"byte_end":347280,"line_start":165,"line_end":165,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347276,"byte_end":347280,"line_start":165,"line_end":165,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347284,"byte_end":347288,"line_start":165,"line_end":165,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347345,"byte_end":347354,"line_start":169,"line_end":169,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347372,"byte_end":347381,"line_start":169,"line_end":169,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347386,"byte_end":347393,"line_start":169,"line_end":169,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347417,"byte_end":347427,"line_start":171,"line_end":171,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347428,"byte_end":347434,"line_start":171,"line_end":171,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":536872373}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347436,"byte_end":347442,"line_start":171,"line_end":171,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1610614197}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347458,"byte_end":347460,"line_start":172,"line_end":172,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347458,"byte_end":347460,"line_start":172,"line_end":172,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347491,"byte_end":347492,"line_start":173,"line_end":173,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2281702837}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347515,"byte_end":347519,"line_start":174,"line_end":174,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347515,"byte_end":347519,"line_start":174,"line_end":174,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347561,"byte_end":347568,"line_start":175,"line_end":175,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347552,"byte_end":347559,"line_start":175,"line_end":175,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347569,"byte_end":347570,"line_start":175,"line_end":175,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3892315573}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347571,"byte_end":347576,"line_start":175,"line_end":175,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3471}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347628,"byte_end":347632,"line_start":177,"line_end":177,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347628,"byte_end":347632,"line_start":177,"line_end":177,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347693,"byte_end":347703,"line_start":178,"line_end":178,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347686,"byte_end":347692,"line_start":178,"line_end":178,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614197}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347704,"byte_end":347710,"line_start":178,"line_end":178,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":536872373}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347711,"byte_end":347722,"line_start":178,"line_end":178,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347724,"byte_end":347728,"line_start":178,"line_end":178,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347739,"byte_end":347750,"line_start":178,"line_end":178,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347797,"byte_end":347801,"line_start":180,"line_end":180,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3690988981}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347802,"byte_end":347809,"line_start":180,"line_end":180,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347787,"byte_end":347791,"line_start":180,"line_end":180,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347849,"byte_end":347856,"line_start":181,"line_end":181,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347840,"byte_end":347847,"line_start":181,"line_end":181,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":347859,"byte_end":347864,"line_start":181,"line_end":181,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":347857,"byte_end":347858,"line_start":181,"line_end":181,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2080376245}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347945,"byte_end":347949,"line_start":183,"line_end":183,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":347936,"byte_end":347943,"line_start":183,"line_end":183,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348043,"byte_end":348046,"line_start":188,"line_end":188,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348043,"byte_end":348046,"line_start":188,"line_end":188,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348081,"byte_end":348085,"line_start":189,"line_end":189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348072,"byte_end":348079,"line_start":189,"line_end":189,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348156,"byte_end":348165,"line_start":194,"line_end":194,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348176,"byte_end":348185,"line_start":194,"line_end":194,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348190,"byte_end":348196,"line_start":194,"line_end":194,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348204,"byte_end":348212,"line_start":194,"line_end":194,"column_start":88,"column_end":96},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348251,"byte_end":348260,"line_start":196,"line_end":196,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348244,"byte_end":348250,"line_start":196,"line_end":196,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872374}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348261,"byte_end":348267,"line_start":196,"line_end":196,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614198}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348294,"byte_end":348308,"line_start":198,"line_end":198,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348284,"byte_end":348291,"line_start":198,"line_end":198,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961014}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348330,"byte_end":348332,"line_start":199,"line_end":199,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348366,"byte_end":348368,"line_start":201,"line_end":201,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348380,"byte_end":348387,"line_start":201,"line_end":201,"column_start":27,"column_end":34},"ref_id":{"krate":1,"index":1973}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":348369,"byte_end":348373,"line_start":201,"line_end":201,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/date.rs","byte_start":348375,"byte_end":348378,"line_start":201,"line_end":201,"column_start":22,"column_end":25},"ref_id":{"krate":1,"index":1832}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348446,"byte_end":348449,"line_start":206,"line_end":206,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348450,"byte_end":348466,"line_start":206,"line_end":206,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348487,"byte_end":348493,"line_start":206,"line_end":206,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348494,"byte_end":348500,"line_start":206,"line_end":206,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348502,"byte_end":348510,"line_start":206,"line_end":206,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348546,"byte_end":348552,"line_start":207,"line_end":207,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743288}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348553,"byte_end":348560,"line_start":207,"line_end":207,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872376}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348562,"byte_end":348566,"line_start":207,"line_end":207,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348577,"byte_end":348588,"line_start":207,"line_end":207,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3939}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348627,"byte_end":348631,"line_start":209,"line_end":209,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348619,"byte_end":348625,"line_start":209,"line_end":209,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348667,"byte_end":348671,"line_start":210,"line_end":210,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744831928}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348672,"byte_end":348679,"line_start":210,"line_end":210,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348657,"byte_end":348661,"line_start":210,"line_end":210,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348701,"byte_end":348709,"line_start":211,"line_end":211,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348694,"byte_end":348700,"line_start":211,"line_end":211,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751032}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348744,"byte_end":348752,"line_start":212,"line_end":212,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348737,"byte_end":348743,"line_start":212,"line_end":212,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751032}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348767,"byte_end":348773,"line_start":212,"line_end":212,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348755,"byte_end":348764,"line_start":212,"line_end":212,"column_start":31,"column_end":40},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348753,"byte_end":348754,"line_start":212,"line_end":212,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":1140852152}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348797,"byte_end":348805,"line_start":213,"line_end":213,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348790,"byte_end":348796,"line_start":213,"line_end":213,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751032}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":348837,"byte_end":348845,"line_start":215,"line_end":215,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348830,"byte_end":348836,"line_start":215,"line_end":215,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751032}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348860,"byte_end":348862,"line_start":216,"line_end":216,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":348863,"byte_end":348869,"line_start":216,"line_end":216,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751032}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348926,"byte_end":348929,"line_start":220,"line_end":220,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348930,"byte_end":348946,"line_start":220,"line_end":220,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348968,"byte_end":348977,"line_start":220,"line_end":220,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348986,"byte_end":348989,"line_start":220,"line_end":220,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":348990,"byte_end":348996,"line_start":220,"line_end":220,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349002,"byte_end":349008,"line_start":220,"line_end":220,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349016,"byte_end":349019,"line_start":220,"line_end":220,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349025,"byte_end":349028,"line_start":220,"line_end":220,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349029,"byte_end":349045,"line_start":220,"line_end":220,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349049,"byte_end":349057,"line_start":220,"line_end":220,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349087,"byte_end":349093,"line_start":222,"line_end":222,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349101,"byte_end":349105,"line_start":222,"line_end":222,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349123,"byte_end":349126,"line_start":223,"line_end":223,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349118,"byte_end":349122,"line_start":223,"line_end":223,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436921}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349154,"byte_end":349158,"line_start":224,"line_end":224,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436921}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349197,"byte_end":349207,"line_start":225,"line_end":225,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349188,"byte_end":349194,"line_start":225,"line_end":225,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349180,"byte_end":349186,"line_start":225,"line_end":225,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349255,"byte_end":349265,"line_start":226,"line_end":226,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214593977}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349315,"byte_end":349319,"line_start":227,"line_end":227,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349302,"byte_end":349309,"line_start":227,"line_end":227,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349298,"byte_end":349301,"line_start":227,"line_end":227,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614201}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349310,"byte_end":349313,"line_start":227,"line_end":227,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677723065}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349405,"byte_end":349410,"line_start":229,"line_end":229,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825206713}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349466,"byte_end":349470,"line_start":230,"line_end":230,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2834}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349457,"byte_end":349463,"line_start":230,"line_end":230,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2833}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349449,"byte_end":349455,"line_start":230,"line_end":230,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349549,"byte_end":349554,"line_start":231,"line_end":231,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":12737}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349542,"byte_end":349546,"line_start":231,"line_end":231,"column_start":65,"column_end":69},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349528,"byte_end":349535,"line_start":231,"line_end":231,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349524,"byte_end":349527,"line_start":231,"line_end":231,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1610614201}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349536,"byte_end":349540,"line_start":231,"line_end":231,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":4227859897}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349610,"byte_end":349612,"line_start":232,"line_end":232,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349610,"byte_end":349612,"line_start":232,"line_end":232,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349679,"byte_end":349683,"line_start":233,"line_end":233,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349684,"byte_end":349685,"line_start":233,"line_end":233,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":4060087737}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":349669,"byte_end":349676,"line_start":233,"line_end":233,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2281702841}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349779,"byte_end":349782,"line_start":235,"line_end":235,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349779,"byte_end":349782,"line_start":235,"line_end":235,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349797,"byte_end":349800,"line_start":235,"line_end":235,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":349811,"byte_end":349814,"line_start":235,"line_end":235,"column_start":77,"column_end":80},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":349801,"byte_end":349809,"line_start":235,"line_end":235,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350224,"byte_end":350227,"line_start":249,"line_end":249,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350239,"byte_end":350242,"line_start":249,"line_end":249,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350234,"byte_end":350237,"line_start":249,"line_end":249,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350266,"byte_end":350270,"line_start":250,"line_end":250,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350254,"byte_end":350265,"line_start":250,"line_end":250,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":83887545}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350284,"byte_end":350288,"line_start":250,"line_end":250,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350271,"byte_end":350282,"line_start":250,"line_end":250,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350326,"byte_end":350333,"line_start":252,"line_end":252,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2281702841}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350348,"byte_end":350352,"line_start":253,"line_end":253,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350348,"byte_end":350352,"line_start":253,"line_end":253,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350389,"byte_end":350393,"line_start":254,"line_end":254,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350377,"byte_end":350388,"line_start":254,"line_end":254,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887545}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350426,"byte_end":350443,"line_start":255,"line_end":255,"column_start":29,"column_end":46},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350414,"byte_end":350425,"line_start":255,"line_end":255,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887545}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350456,"byte_end":350467,"line_start":255,"line_end":255,"column_start":59,"column_end":70},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350446,"byte_end":350447,"line_start":255,"line_end":255,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":218105273}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350488,"byte_end":350492,"line_start":256,"line_end":256,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350493,"byte_end":350494,"line_start":256,"line_end":256,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":218105273}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350565,"byte_end":350569,"line_start":259,"line_end":259,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350553,"byte_end":350564,"line_start":259,"line_end":259,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":83887545}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350590,"byte_end":350594,"line_start":260,"line_end":260,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350644,"byte_end":350648,"line_start":264,"line_end":264,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350637,"byte_end":350643,"line_start":264,"line_end":264,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743289}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350649,"byte_end":350665,"line_start":264,"line_end":264,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350680,"byte_end":350683,"line_start":265,"line_end":265,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350700,"byte_end":350705,"line_start":265,"line_end":265,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350685,"byte_end":350698,"line_start":265,"line_end":265,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350722,"byte_end":350723,"line_start":266,"line_end":266,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350738,"byte_end":350742,"line_start":266,"line_end":266,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350725,"byte_end":350736,"line_start":266,"line_end":266,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350756,"byte_end":350764,"line_start":267,"line_end":267,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350784,"byte_end":350788,"line_start":268,"line_end":268,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350795,"byte_end":350798,"line_start":268,"line_end":268,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350790,"byte_end":350793,"line_start":268,"line_end":268,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350804,"byte_end":350812,"line_start":268,"line_end":268,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350799,"byte_end":350802,"line_start":268,"line_end":268,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":350818,"byte_end":350821,"line_start":268,"line_end":268,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350813,"byte_end":350816,"line_start":268,"line_end":268,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350822,"byte_end":350833,"line_start":268,"line_end":268,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350836,"byte_end":350843,"line_start":268,"line_end":268,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3940}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350836,"byte_end":350843,"line_start":268,"line_end":268,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":2063599033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350890,"byte_end":350892,"line_start":271,"line_end":271,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350900,"byte_end":350911,"line_start":271,"line_end":271,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":83887545}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":350913,"byte_end":350919,"line_start":271,"line_end":271,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743289}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350970,"byte_end":350973,"line_start":275,"line_end":275,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":350974,"byte_end":350990,"line_start":275,"line_end":275,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351007,"byte_end":351010,"line_start":275,"line_end":275,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351011,"byte_end":351018,"line_start":275,"line_end":275,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351024,"byte_end":351030,"line_start":275,"line_end":275,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351038,"byte_end":351041,"line_start":275,"line_end":275,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351047,"byte_end":351050,"line_start":275,"line_end":275,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351051,"byte_end":351067,"line_start":275,"line_end":275,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351071,"byte_end":351079,"line_start":275,"line_end":275,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351113,"byte_end":351116,"line_start":277,"line_end":277,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351128,"byte_end":351131,"line_start":277,"line_end":277,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351123,"byte_end":351126,"line_start":277,"line_end":277,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351155,"byte_end":351159,"line_start":278,"line_end":278,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351143,"byte_end":351154,"line_start":278,"line_end":278,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219194}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351173,"byte_end":351177,"line_start":278,"line_end":278,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351160,"byte_end":351171,"line_start":278,"line_end":278,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351215,"byte_end":351226,"line_start":280,"line_end":280,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":536872378}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351261,"byte_end":351268,"line_start":281,"line_end":281,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351252,"byte_end":351259,"line_start":281,"line_end":281,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351261,"byte_end":351268,"line_start":281,"line_end":281,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351252,"byte_end":351259,"line_start":281,"line_end":281,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351305,"byte_end":351309,"line_start":282,"line_end":282,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351293,"byte_end":351304,"line_start":282,"line_end":282,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219194}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351342,"byte_end":351348,"line_start":283,"line_end":283,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351330,"byte_end":351341,"line_start":283,"line_end":283,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219194}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351374,"byte_end":351380,"line_start":283,"line_end":283,"column_start":61,"column_end":67},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351360,"byte_end":351371,"line_start":283,"line_end":283,"column_start":47,"column_end":58},"ref_id":{"krate":1,"index":24315}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351350,"byte_end":351351,"line_start":283,"line_end":283,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":3288335802}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351401,"byte_end":351405,"line_start":284,"line_end":284,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351406,"byte_end":351407,"line_start":284,"line_end":284,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3288335802}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351478,"byte_end":351482,"line_start":287,"line_end":287,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351466,"byte_end":351477,"line_start":287,"line_end":287,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219194}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351503,"byte_end":351507,"line_start":288,"line_end":288,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351557,"byte_end":351561,"line_start":292,"line_end":292,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351550,"byte_end":351556,"line_start":292,"line_end":292,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743290}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351562,"byte_end":351578,"line_start":292,"line_end":292,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351593,"byte_end":351596,"line_start":293,"line_end":293,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351613,"byte_end":351618,"line_start":293,"line_end":293,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351598,"byte_end":351611,"line_start":293,"line_end":293,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351635,"byte_end":351636,"line_start":294,"line_end":294,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351651,"byte_end":351655,"line_start":294,"line_end":294,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351638,"byte_end":351649,"line_start":294,"line_end":294,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351669,"byte_end":351673,"line_start":295,"line_end":295,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351680,"byte_end":351683,"line_start":295,"line_end":295,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351675,"byte_end":351678,"line_start":295,"line_end":295,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351689,"byte_end":351697,"line_start":295,"line_end":295,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351684,"byte_end":351687,"line_start":295,"line_end":295,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":351703,"byte_end":351706,"line_start":295,"line_end":295,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351698,"byte_end":351701,"line_start":295,"line_end":295,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351707,"byte_end":351718,"line_start":295,"line_end":295,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351721,"byte_end":351728,"line_start":295,"line_end":295,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3940}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351721,"byte_end":351728,"line_start":295,"line_end":295,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":1241515450}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351760,"byte_end":351768,"line_start":296,"line_end":296,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351803,"byte_end":351805,"line_start":299,"line_end":299,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351813,"byte_end":351824,"line_start":299,"line_end":299,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219194}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351826,"byte_end":351832,"line_start":299,"line_end":299,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1073743290}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351884,"byte_end":351887,"line_start":303,"line_end":303,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351888,"byte_end":351904,"line_start":303,"line_end":303,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351947,"byte_end":351950,"line_start":303,"line_end":303,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":351951,"byte_end":351967,"line_start":303,"line_end":303,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":351998,"byte_end":352003,"line_start":304,"line_end":304,"column_start":27,"column_end":32},"ref_id":{"krate":0,"index":1610614203}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352004,"byte_end":352011,"line_start":304,"line_end":304,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536872379}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352044,"byte_end":352055,"line_start":306,"line_end":306,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":134219195}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352075,"byte_end":352079,"line_start":307,"line_end":307,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352128,"byte_end":352133,"line_start":309,"line_end":309,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610614203}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352134,"byte_end":352163,"line_start":309,"line_end":309,"column_start":38,"column_end":67},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352134,"byte_end":352147,"line_start":309,"line_end":309,"column_start":38,"column_end":51},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352135,"byte_end":352142,"line_start":309,"line_end":309,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536872379}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352149,"byte_end":352163,"line_start":309,"line_end":309,"column_start":53,"column_end":67},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352150,"byte_end":352157,"line_start":309,"line_end":309,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536872379}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352204,"byte_end":352215,"line_start":311,"line_end":311,"column_start":38,"column_end":49},"ref_id":{"krate":1,"index":24315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352241,"byte_end":352256,"line_start":312,"line_end":312,"column_start":23,"column_end":38},"ref_id":{"krate":1,"index":11643}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352231,"byte_end":352240,"line_start":312,"line_end":312,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1275069883}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352257,"byte_end":352268,"line_start":312,"line_end":312,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":872416699}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352283,"byte_end":352287,"line_start":313,"line_end":313,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352293,"byte_end":352306,"line_start":313,"line_end":313,"column_start":23,"column_end":36},"ref_id":{"krate":1,"index":24321}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352307,"byte_end":352316,"line_start":313,"line_end":313,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1275069883}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352346,"byte_end":352350,"line_start":316,"line_end":316,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352339,"byte_end":352345,"line_start":316,"line_end":316,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743291}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352351,"byte_end":352367,"line_start":316,"line_end":316,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352382,"byte_end":352385,"line_start":317,"line_end":317,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352402,"byte_end":352407,"line_start":317,"line_end":317,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352387,"byte_end":352400,"line_start":317,"line_end":317,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352424,"byte_end":352425,"line_start":318,"line_end":318,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352440,"byte_end":352444,"line_start":318,"line_end":318,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352427,"byte_end":352438,"line_start":318,"line_end":318,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352458,"byte_end":352466,"line_start":319,"line_end":319,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352486,"byte_end":352490,"line_start":320,"line_end":320,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352497,"byte_end":352500,"line_start":320,"line_end":320,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352492,"byte_end":352495,"line_start":320,"line_end":320,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352506,"byte_end":352514,"line_start":320,"line_end":320,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352501,"byte_end":352504,"line_start":320,"line_end":320,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352520,"byte_end":352523,"line_start":320,"line_end":320,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352515,"byte_end":352518,"line_start":320,"line_end":320,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352524,"byte_end":352535,"line_start":320,"line_end":320,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":3939}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352538,"byte_end":352545,"line_start":320,"line_end":320,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":3940}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352538,"byte_end":352545,"line_start":320,"line_end":320,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":301991355}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352591,"byte_end":352597,"line_start":322,"line_end":322,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1073743291}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352645,"byte_end":352651,"line_start":327,"line_end":327,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352656,"byte_end":352664,"line_start":327,"line_end":327,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352733,"byte_end":352743,"line_start":329,"line_end":329,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352726,"byte_end":352731,"line_start":329,"line_end":329,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352754,"byte_end":352760,"line_start":329,"line_end":329,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874397}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352779,"byte_end":352785,"line_start":330,"line_end":330,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874397}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352787,"byte_end":352794,"line_start":330,"line_end":330,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753053}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352865,"byte_end":352874,"line_start":331,"line_end":331,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352853,"byte_end":352863,"line_start":331,"line_end":331,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352846,"byte_end":352851,"line_start":331,"line_end":331,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352875,"byte_end":352882,"line_start":331,"line_end":331,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753053}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352923,"byte_end":352929,"line_start":332,"line_end":332,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874397}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352958,"byte_end":352967,"line_start":332,"line_end":332,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":352947,"byte_end":352954,"line_start":332,"line_end":332,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352931,"byte_end":352939,"line_start":332,"line_end":332,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441629}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":352940,"byte_end":352946,"line_start":332,"line_end":332,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":352981,"byte_end":352983,"line_start":334,"line_end":334,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353027,"byte_end":353033,"line_start":338,"line_end":338,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353038,"byte_end":353046,"line_start":338,"line_end":338,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353141,"byte_end":353151,"line_start":340,"line_end":340,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353134,"byte_end":353139,"line_start":340,"line_end":340,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353162,"byte_end":353168,"line_start":340,"line_end":340,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874401}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353189,"byte_end":353196,"line_start":341,"line_end":341,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":4160753057}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353208,"byte_end":353212,"line_start":341,"line_end":341,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353243,"byte_end":353250,"line_start":342,"line_end":342,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353230,"byte_end":353236,"line_start":342,"line_end":342,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547809}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353277,"byte_end":353280,"line_start":342,"line_end":342,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":1443}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353268,"byte_end":353275,"line_start":342,"line_end":342,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3470}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353336,"byte_end":353345,"line_start":343,"line_end":343,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353324,"byte_end":353334,"line_start":343,"line_end":343,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353317,"byte_end":353322,"line_start":343,"line_end":343,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353346,"byte_end":353353,"line_start":343,"line_end":343,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753057}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353394,"byte_end":353400,"line_start":344,"line_end":344,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874401}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353429,"byte_end":353438,"line_start":344,"line_end":344,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353418,"byte_end":353425,"line_start":344,"line_end":344,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353402,"byte_end":353410,"line_start":344,"line_end":344,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3640659361}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353411,"byte_end":353417,"line_start":344,"line_end":344,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353448,"byte_end":353450,"line_start":346,"line_end":346,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353511,"byte_end":353517,"line_start":350,"line_end":350,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353522,"byte_end":353530,"line_start":350,"line_end":350,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353599,"byte_end":353609,"line_start":352,"line_end":352,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353592,"byte_end":353597,"line_start":352,"line_end":352,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353620,"byte_end":353626,"line_start":352,"line_end":352,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874405}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353651,"byte_end":353658,"line_start":353,"line_end":353,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753061}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353670,"byte_end":353674,"line_start":353,"line_end":353,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353681,"byte_end":353687,"line_start":354,"line_end":354,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547813}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353706,"byte_end":353709,"line_start":354,"line_end":354,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":1443}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353697,"byte_end":353704,"line_start":354,"line_end":354,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353756,"byte_end":353763,"line_start":355,"line_end":355,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353743,"byte_end":353749,"line_start":355,"line_end":355,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547813}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353772,"byte_end":353776,"line_start":355,"line_end":355,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/date.rs","byte_start":353786,"byte_end":353789,"line_start":355,"line_end":355,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1443}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353777,"byte_end":353784,"line_start":355,"line_end":355,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353812,"byte_end":353818,"line_start":356,"line_end":356,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547813}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353858,"byte_end":353865,"line_start":357,"line_end":357,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353845,"byte_end":353851,"line_start":357,"line_end":357,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547813}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353874,"byte_end":353878,"line_start":357,"line_end":357,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353886,"byte_end":353892,"line_start":359,"line_end":359,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547813}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353901,"byte_end":353905,"line_start":359,"line_end":359,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/date.rs","byte_start":353924,"byte_end":353930,"line_start":360,"line_end":360,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547813}},{"kind":"Type","span":{"file_name":"src/pointer/date.rs","byte_start":353975,"byte_end":353977,"line_start":362,"line_end":362,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57481,"byte_end":57487,"line_start":25,"line_end":25,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1468}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355992,"byte_end":355995,"line_start":54,"line_end":54,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355992,"byte_end":355995,"line_start":54,"line_end":54,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356018,"byte_end":356024,"line_start":54,"line_end":54,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4044}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":4044}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":355984,"byte_end":355989,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356037,"byte_end":356043,"line_start":54,"line_end":54,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356101,"byte_end":356106,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356109,"byte_end":356113,"line_start":55,"line_end":55,"column_start":13,"column_end":17},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356101,"byte_end":356106,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356120,"byte_end":356123,"line_start":55,"line_end":55,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356136,"byte_end":356141,"line_start":57,"line_end":57,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356143,"byte_end":356152,"line_start":57,"line_end":57,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356136,"byte_end":356141,"line_start":57,"line_end":57,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356143,"byte_end":356152,"line_start":57,"line_end":57,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356176,"byte_end":356181,"line_start":58,"line_end":58,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356183,"byte_end":356189,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356210,"byte_end":356215,"line_start":59,"line_end":59,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356218,"byte_end":356225,"line_start":59,"line_end":59,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356210,"byte_end":356215,"line_start":59,"line_end":59,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356237,"byte_end":356242,"line_start":59,"line_end":59,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356261,"byte_end":356266,"line_start":62,"line_end":62,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356268,"byte_end":356274,"line_start":62,"line_end":62,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356288,"byte_end":356293,"line_start":63,"line_end":63,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356295,"byte_end":356300,"line_start":63,"line_end":63,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356311,"byte_end":356316,"line_start":64,"line_end":64,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356318,"byte_end":356324,"line_start":64,"line_end":64,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356340,"byte_end":356345,"line_start":65,"line_end":65,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":356347,"byte_end":356353,"line_start":65,"line_end":65,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356369,"byte_end":356374,"line_start":67,"line_end":67,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356478,"byte_end":356486,"line_start":73,"line_end":73,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356546,"byte_end":356557,"line_start":74,"line_end":74,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356593,"byte_end":356599,"line_start":75,"line_end":75,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356580,"byte_end":356591,"line_start":75,"line_end":75,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356653,"byte_end":356664,"line_start":78,"line_end":78,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356700,"byte_end":356706,"line_start":79,"line_end":79,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356687,"byte_end":356698,"line_start":79,"line_end":79,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356746,"byte_end":356749,"line_start":82,"line_end":82,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356750,"byte_end":356766,"line_start":82,"line_end":82,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356787,"byte_end":356793,"line_start":82,"line_end":82,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356794,"byte_end":356801,"line_start":82,"line_end":82,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356803,"byte_end":356811,"line_start":82,"line_end":82,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356837,"byte_end":356843,"line_start":83,"line_end":83,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743361}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356844,"byte_end":356851,"line_start":83,"line_end":83,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":536872449}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356887,"byte_end":356893,"line_start":85,"line_end":85,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2952791553}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356894,"byte_end":356898,"line_start":85,"line_end":85,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356909,"byte_end":356923,"line_start":85,"line_end":85,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":4044}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":356966,"byte_end":356969,"line_start":87,"line_end":87,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":356959,"byte_end":356964,"line_start":87,"line_end":87,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":356993,"byte_end":356999,"line_start":88,"line_end":88,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":356981,"byte_end":356992,"line_start":88,"line_end":88,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603981313}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357020,"byte_end":357028,"line_start":89,"line_end":89,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357053,"byte_end":357059,"line_start":90,"line_end":90,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357044,"byte_end":357051,"line_start":90,"line_end":90,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357079,"byte_end":357088,"line_start":90,"line_end":90,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357066,"byte_end":357074,"line_start":90,"line_end":90,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1726}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357125,"byte_end":357131,"line_start":93,"line_end":93,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357113,"byte_end":357124,"line_start":93,"line_end":93,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":603981313}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357150,"byte_end":357158,"line_start":94,"line_end":94,"column_start":18,"column_end":26},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357183,"byte_end":357189,"line_start":95,"line_end":95,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357174,"byte_end":357181,"line_start":95,"line_end":95,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357200,"byte_end":357205,"line_start":95,"line_end":95,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357190,"byte_end":357194,"line_start":95,"line_end":95,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":939525633}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357195,"byte_end":357199,"line_start":95,"line_end":95,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":4045}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357229,"byte_end":357231,"line_start":98,"line_end":98,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357241,"byte_end":357251,"line_start":98,"line_end":98,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357232,"byte_end":357239,"line_start":98,"line_end":98,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357252,"byte_end":357263,"line_start":98,"line_end":98,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":603981313}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357317,"byte_end":357320,"line_start":102,"line_end":102,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357321,"byte_end":357337,"line_start":102,"line_end":102,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357358,"byte_end":357364,"line_start":102,"line_end":102,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357365,"byte_end":357371,"line_start":102,"line_end":102,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357373,"byte_end":357381,"line_start":102,"line_end":102,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357418,"byte_end":357424,"line_start":104,"line_end":104,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743362}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357425,"byte_end":357432,"line_start":104,"line_end":104,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872450}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357434,"byte_end":357438,"line_start":104,"line_end":104,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357449,"byte_end":357463,"line_start":104,"line_end":104,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":4044}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357502,"byte_end":357506,"line_start":106,"line_end":106,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357494,"byte_end":357500,"line_start":106,"line_end":106,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357541,"byte_end":357549,"line_start":107,"line_end":107,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357534,"byte_end":357540,"line_start":107,"line_end":107,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751106}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357560,"byte_end":357566,"line_start":107,"line_end":107,"column_start":35,"column_end":41},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357550,"byte_end":357554,"line_start":107,"line_end":107,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1744832002}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357555,"byte_end":357559,"line_start":107,"line_end":107,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":4045}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357586,"byte_end":357594,"line_start":108,"line_end":108,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357579,"byte_end":357585,"line_start":108,"line_end":108,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751106}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357613,"byte_end":357615,"line_start":109,"line_end":109,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357616,"byte_end":357622,"line_start":109,"line_end":109,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751106}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357677,"byte_end":357680,"line_start":113,"line_end":113,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357681,"byte_end":357697,"line_start":113,"line_end":113,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357719,"byte_end":357728,"line_start":113,"line_end":113,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357737,"byte_end":357740,"line_start":113,"line_end":113,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357741,"byte_end":357747,"line_start":113,"line_end":113,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357753,"byte_end":357759,"line_start":113,"line_end":113,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357767,"byte_end":357770,"line_start":113,"line_end":113,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357776,"byte_end":357779,"line_start":113,"line_end":113,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357780,"byte_end":357796,"line_start":113,"line_end":113,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357800,"byte_end":357808,"line_start":113,"line_end":113,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357833,"byte_end":357839,"line_start":115,"line_end":115,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357840,"byte_end":357846,"line_start":115,"line_end":115,"column_start":28,"column_end":34},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357850,"byte_end":357854,"line_start":115,"line_end":115,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":357872,"byte_end":357875,"line_start":116,"line_end":116,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357867,"byte_end":357871,"line_start":116,"line_end":116,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268436995}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357903,"byte_end":357907,"line_start":117,"line_end":117,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268436995}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":357946,"byte_end":357956,"line_start":118,"line_end":118,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357937,"byte_end":357943,"line_start":118,"line_end":118,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":357929,"byte_end":357935,"line_start":118,"line_end":118,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358004,"byte_end":358014,"line_start":119,"line_end":119,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2214594051}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358064,"byte_end":358068,"line_start":120,"line_end":120,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358051,"byte_end":358058,"line_start":120,"line_end":120,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358047,"byte_end":358050,"line_start":120,"line_end":120,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614275}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358059,"byte_end":358062,"line_start":120,"line_end":120,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1677723139}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358149,"byte_end":358154,"line_start":122,"line_end":122,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3825206787}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358210,"byte_end":358214,"line_start":123,"line_end":123,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":2830}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358201,"byte_end":358207,"line_start":123,"line_end":123,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2829}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358193,"byte_end":358199,"line_start":123,"line_end":123,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358267,"byte_end":358271,"line_start":124,"line_end":124,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358280,"byte_end":358284,"line_start":124,"line_end":124,"column_start":59,"column_end":63},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358272,"byte_end":358278,"line_start":124,"line_end":124,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358303,"byte_end":358307,"line_start":124,"line_end":124,"column_start":82,"column_end":86},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358289,"byte_end":358296,"line_start":124,"line_end":124,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358285,"byte_end":358288,"line_start":124,"line_end":124,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1610614275}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358297,"byte_end":358301,"line_start":124,"line_end":124,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":4227859971}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358262,"byte_end":358264,"line_start":124,"line_end":124,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2281702915}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358644,"byte_end":358646,"line_start":137,"line_end":137,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":2281702915}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358631,"byte_end":358635,"line_start":137,"line_end":137,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358681,"byte_end":358684,"line_start":138,"line_end":138,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358696,"byte_end":358699,"line_start":138,"line_end":138,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358691,"byte_end":358694,"line_start":138,"line_end":138,"column_start":43,"column_end":46},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358726,"byte_end":358730,"line_start":139,"line_end":139,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358715,"byte_end":358725,"line_start":139,"line_end":139,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480131}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358744,"byte_end":358750,"line_start":139,"line_end":139,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358731,"byte_end":358742,"line_start":139,"line_end":139,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358778,"byte_end":358782,"line_start":140,"line_end":140,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358771,"byte_end":358777,"line_start":140,"line_end":140,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743363}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358783,"byte_end":358799,"line_start":140,"line_end":140,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358818,"byte_end":358821,"line_start":141,"line_end":141,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358838,"byte_end":358845,"line_start":141,"line_end":141,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358823,"byte_end":358836,"line_start":141,"line_end":141,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358863,"byte_end":358864,"line_start":142,"line_end":142,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358879,"byte_end":358885,"line_start":142,"line_end":142,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358866,"byte_end":358877,"line_start":142,"line_end":142,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358903,"byte_end":358911,"line_start":143,"line_end":143,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358936,"byte_end":358940,"line_start":144,"line_end":144,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358947,"byte_end":358950,"line_start":144,"line_end":144,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358942,"byte_end":358945,"line_start":144,"line_end":144,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358956,"byte_end":358964,"line_start":144,"line_end":144,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358951,"byte_end":358954,"line_start":144,"line_end":144,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":358970,"byte_end":358973,"line_start":144,"line_end":144,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358965,"byte_end":358968,"line_start":144,"line_end":144,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":358974,"byte_end":358988,"line_start":144,"line_end":144,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":4044}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358991,"byte_end":358995,"line_start":144,"line_end":144,"column_start":72,"column_end":76},"ref_id":{"krate":0,"index":4045}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359002,"byte_end":359007,"line_start":144,"line_end":144,"column_start":83,"column_end":88},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":358997,"byte_end":359001,"line_start":144,"line_end":144,"column_start":78,"column_end":82},"ref_id":{"krate":0,"index":2164262403}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359011,"byte_end":359017,"line_start":144,"line_end":144,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359022,"byte_end":359035,"line_start":144,"line_end":144,"column_start":103,"column_end":116},"ref_id":{"krate":0,"index":4047}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359107,"byte_end":359115,"line_start":146,"line_end":146,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359102,"byte_end":359106,"line_start":146,"line_end":146,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2164262403}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359142,"byte_end":359148,"line_start":147,"line_end":147,"column_start":24,"column_end":30},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359131,"byte_end":359141,"line_start":147,"line_end":147,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480131}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359176,"byte_end":359187,"line_start":147,"line_end":147,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359162,"byte_end":359165,"line_start":147,"line_end":147,"column_start":44,"column_end":47},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359151,"byte_end":359161,"line_start":147,"line_end":147,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3405776387}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359190,"byte_end":359192,"line_start":147,"line_end":147,"column_start":72,"column_end":74},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359219,"byte_end":359225,"line_start":148,"line_end":148,"column_start":24,"column_end":30},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359208,"byte_end":359218,"line_start":148,"line_end":148,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":2298480131}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359226,"byte_end":359236,"line_start":148,"line_end":148,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":3405776387}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359252,"byte_end":359254,"line_start":150,"line_end":150,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359263,"byte_end":359273,"line_start":150,"line_end":150,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2298480131}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359275,"byte_end":359281,"line_start":150,"line_end":150,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073743363}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359326,"byte_end":359329,"line_start":152,"line_end":152,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359340,"byte_end":359343,"line_start":152,"line_end":152,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359330,"byte_end":359338,"line_start":152,"line_end":152,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359443,"byte_end":359446,"line_start":156,"line_end":156,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359447,"byte_end":359463,"line_start":156,"line_end":156,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359480,"byte_end":359483,"line_start":156,"line_end":156,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359484,"byte_end":359491,"line_start":156,"line_end":156,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359497,"byte_end":359503,"line_start":156,"line_end":156,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359511,"byte_end":359514,"line_start":156,"line_end":156,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359520,"byte_end":359523,"line_start":156,"line_end":156,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359524,"byte_end":359540,"line_start":156,"line_end":156,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359544,"byte_end":359552,"line_start":156,"line_end":156,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359584,"byte_end":359587,"line_start":157,"line_end":157,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359599,"byte_end":359602,"line_start":157,"line_end":157,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359594,"byte_end":359597,"line_start":157,"line_end":157,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359625,"byte_end":359629,"line_start":158,"line_end":158,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359614,"byte_end":359624,"line_start":158,"line_end":158,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":134219268}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359643,"byte_end":359649,"line_start":158,"line_end":158,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359630,"byte_end":359641,"line_start":158,"line_end":158,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359673,"byte_end":359684,"line_start":159,"line_end":159,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536872452}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359714,"byte_end":359720,"line_start":160,"line_end":160,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359705,"byte_end":359712,"line_start":160,"line_end":160,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359714,"byte_end":359720,"line_start":160,"line_end":160,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359705,"byte_end":359712,"line_start":160,"line_end":160,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359755,"byte_end":359759,"line_start":161,"line_end":161,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359748,"byte_end":359754,"line_start":161,"line_end":161,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073743364}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359760,"byte_end":359776,"line_start":161,"line_end":161,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359799,"byte_end":359802,"line_start":162,"line_end":162,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359819,"byte_end":359826,"line_start":162,"line_end":162,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359804,"byte_end":359817,"line_start":162,"line_end":162,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359848,"byte_end":359849,"line_start":163,"line_end":163,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359864,"byte_end":359870,"line_start":163,"line_end":163,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359851,"byte_end":359862,"line_start":163,"line_end":163,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359892,"byte_end":359900,"line_start":164,"line_end":164,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359929,"byte_end":359933,"line_start":165,"line_end":165,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359940,"byte_end":359943,"line_start":165,"line_end":165,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359935,"byte_end":359938,"line_start":165,"line_end":165,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359949,"byte_end":359957,"line_start":165,"line_end":165,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359944,"byte_end":359947,"line_start":165,"line_end":165,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359963,"byte_end":359966,"line_start":165,"line_end":165,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359958,"byte_end":359961,"line_start":165,"line_end":165,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":359967,"byte_end":359981,"line_start":165,"line_end":165,"column_start":59,"column_end":73},"ref_id":{"krate":0,"index":4044}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359984,"byte_end":359988,"line_start":165,"line_end":165,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":4045}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":359995,"byte_end":360000,"line_start":165,"line_end":165,"column_start":87,"column_end":92},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":359990,"byte_end":359994,"line_start":165,"line_end":165,"column_start":82,"column_end":86},"ref_id":{"krate":0,"index":3288335876}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360004,"byte_end":360010,"line_start":165,"line_end":165,"column_start":96,"column_end":102},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360015,"byte_end":360028,"line_start":165,"line_end":165,"column_start":107,"column_end":120},"ref_id":{"krate":0,"index":4047}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360108,"byte_end":360116,"line_start":167,"line_end":167,"column_start":39,"column_end":47},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360103,"byte_end":360107,"line_start":167,"line_end":167,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3288335876}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360147,"byte_end":360153,"line_start":168,"line_end":168,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360136,"byte_end":360146,"line_start":168,"line_end":168,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":134219268}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360181,"byte_end":360192,"line_start":168,"line_end":168,"column_start":62,"column_end":73},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360167,"byte_end":360170,"line_start":168,"line_end":168,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360156,"byte_end":360166,"line_start":168,"line_end":168,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":973080068}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360195,"byte_end":360197,"line_start":168,"line_end":168,"column_start":76,"column_end":78},"ref_id":{"krate":1,"index":37850}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360228,"byte_end":360234,"line_start":169,"line_end":169,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360217,"byte_end":360227,"line_start":169,"line_end":169,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":134219268}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360235,"byte_end":360245,"line_start":169,"line_end":169,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":973080068}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360287,"byte_end":360290,"line_start":171,"line_end":171,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360301,"byte_end":360304,"line_start":171,"line_end":171,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360291,"byte_end":360299,"line_start":171,"line_end":171,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360367,"byte_end":360369,"line_start":174,"line_end":174,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360378,"byte_end":360388,"line_start":174,"line_end":174,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":134219268}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360390,"byte_end":360396,"line_start":174,"line_end":174,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743364}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360447,"byte_end":360450,"line_start":177,"line_end":177,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360451,"byte_end":360467,"line_start":177,"line_end":177,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360510,"byte_end":360513,"line_start":177,"line_end":177,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360514,"byte_end":360530,"line_start":177,"line_end":177,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360581,"byte_end":360586,"line_start":178,"line_end":178,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610614277}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360587,"byte_end":360611,"line_start":178,"line_end":178,"column_start":53,"column_end":77},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360587,"byte_end":360598,"line_start":178,"line_end":178,"column_start":53,"column_end":64},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360588,"byte_end":360595,"line_start":178,"line_end":178,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":536872453}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360600,"byte_end":360611,"line_start":178,"line_end":178,"column_start":66,"column_end":77},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360601,"byte_end":360608,"line_start":178,"line_end":178,"column_start":67,"column_end":74},"ref_id":{"krate":0,"index":536872453}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360681,"byte_end":360694,"line_start":180,"line_end":180,"column_start":30,"column_end":43},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360695,"byte_end":360704,"line_start":180,"line_end":180,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":872416773}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360737,"byte_end":360742,"line_start":182,"line_end":182,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1610614277}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360743,"byte_end":360777,"line_start":182,"line_end":182,"column_start":27,"column_end":61},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360743,"byte_end":360754,"line_start":182,"line_end":182,"column_start":27,"column_end":38},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360744,"byte_end":360751,"line_start":182,"line_end":182,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":536872453}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360756,"byte_end":360777,"line_start":182,"line_end":182,"column_start":40,"column_end":61},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360757,"byte_end":360764,"line_start":182,"line_end":182,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":536872453}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360767,"byte_end":360776,"line_start":182,"line_end":182,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2617247237}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360824,"byte_end":360843,"line_start":184,"line_end":184,"column_start":44,"column_end":63},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":360813,"byte_end":360817,"line_start":184,"line_end":184,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/portal.rs","byte_start":360819,"byte_end":360822,"line_start":184,"line_end":184,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360844,"byte_end":360848,"line_start":184,"line_end":184,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1912604165}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":360869,"byte_end":360873,"line_start":186,"line_end":186,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360862,"byte_end":360868,"line_start":186,"line_end":186,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743365}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360874,"byte_end":360890,"line_start":186,"line_end":186,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360905,"byte_end":360908,"line_start":187,"line_end":187,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360925,"byte_end":360932,"line_start":187,"line_end":187,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360910,"byte_end":360923,"line_start":187,"line_end":187,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360946,"byte_end":360947,"line_start":188,"line_end":188,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360962,"byte_end":360968,"line_start":188,"line_end":188,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":360949,"byte_end":360960,"line_start":188,"line_end":188,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":360982,"byte_end":360990,"line_start":189,"line_end":189,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361011,"byte_end":361015,"line_start":190,"line_end":190,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361022,"byte_end":361025,"line_start":190,"line_end":190,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361017,"byte_end":361020,"line_start":190,"line_end":190,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361031,"byte_end":361039,"line_start":190,"line_end":190,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361026,"byte_end":361029,"line_start":190,"line_end":190,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361045,"byte_end":361048,"line_start":190,"line_end":190,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361040,"byte_end":361043,"line_start":190,"line_end":190,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361049,"byte_end":361063,"line_start":190,"line_end":190,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4044}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361066,"byte_end":361070,"line_start":190,"line_end":190,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":4045}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361080,"byte_end":361084,"line_start":190,"line_end":190,"column_start":82,"column_end":86},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361072,"byte_end":361078,"line_start":190,"line_end":190,"column_start":74,"column_end":80},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361085,"byte_end":361093,"line_start":190,"line_end":190,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":1509950981}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361096,"byte_end":361102,"line_start":190,"line_end":190,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361107,"byte_end":361120,"line_start":190,"line_end":190,"column_start":109,"column_end":122},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361171,"byte_end":361177,"line_start":193,"line_end":193,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1073743365}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361254,"byte_end":361257,"line_start":196,"line_end":196,"column_start":69,"column_end":72},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361258,"byte_end":361274,"line_start":196,"line_end":196,"column_start":73,"column_end":89},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361280,"byte_end":361286,"line_start":196,"line_end":196,"column_start":95,"column_end":101},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361303,"byte_end":361307,"line_start":197,"line_end":197,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361352,"byte_end":361361,"line_start":200,"line_end":200,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361379,"byte_end":361388,"line_start":200,"line_end":200,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361393,"byte_end":361400,"line_start":200,"line_end":200,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361442,"byte_end":361452,"line_start":201,"line_end":201,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361435,"byte_end":361441,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614281}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361453,"byte_end":361459,"line_start":201,"line_end":201,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872457}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361460,"byte_end":361471,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361473,"byte_end":361477,"line_start":201,"line_end":201,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361488,"byte_end":361502,"line_start":201,"line_end":201,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":4044}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361538,"byte_end":361543,"line_start":203,"line_end":203,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361531,"byte_end":361537,"line_start":203,"line_end":203,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536872457}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361574,"byte_end":361578,"line_start":204,"line_end":204,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1476396553}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361579,"byte_end":361585,"line_start":204,"line_end":204,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361555,"byte_end":361559,"line_start":204,"line_end":204,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594057}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361560,"byte_end":361571,"line_start":204,"line_end":204,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361621,"byte_end":361625,"line_start":205,"line_end":205,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1476396553}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361626,"byte_end":361639,"line_start":205,"line_end":205,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361595,"byte_end":361599,"line_start":205,"line_end":205,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594057}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361600,"byte_end":361618,"line_start":205,"line_end":205,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3561}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361660,"byte_end":361671,"line_start":206,"line_end":206,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361649,"byte_end":361658,"line_start":206,"line_end":206,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361672,"byte_end":361677,"line_start":206,"line_end":206,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1073743369}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361684,"byte_end":361688,"line_start":206,"line_end":206,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2214594057}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361690,"byte_end":361696,"line_start":206,"line_end":206,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1610614281}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361873,"byte_end":361878,"line_start":209,"line_end":209,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361772,"byte_end":361781,"line_start":209,"line_end":209,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361797,"byte_end":361806,"line_start":209,"line_end":209,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361816,"byte_end":361819,"line_start":209,"line_end":209,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361820,"byte_end":361827,"line_start":209,"line_end":209,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361833,"byte_end":361839,"line_start":209,"line_end":209,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361844,"byte_end":361852,"line_start":209,"line_end":209,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":361929,"byte_end":361939,"line_start":211,"line_end":211,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361922,"byte_end":361928,"line_start":211,"line_end":211,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268437002}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361940,"byte_end":361946,"line_start":211,"line_end":211,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610614282}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361947,"byte_end":361958,"line_start":211,"line_end":211,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":361960,"byte_end":361964,"line_start":211,"line_end":211,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":361975,"byte_end":361989,"line_start":211,"line_end":211,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":4044}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362025,"byte_end":362030,"line_start":213,"line_end":213,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362018,"byte_end":362024,"line_start":213,"line_end":213,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614282}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362061,"byte_end":362065,"line_start":214,"line_end":214,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2013267466}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362066,"byte_end":362072,"line_start":214,"line_end":214,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362042,"byte_end":362046,"line_start":214,"line_end":214,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2751464970}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362047,"byte_end":362058,"line_start":214,"line_end":214,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362108,"byte_end":362112,"line_start":215,"line_end":215,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2013267466}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362113,"byte_end":362126,"line_start":215,"line_end":215,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362082,"byte_end":362086,"line_start":215,"line_end":215,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2751464970}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362087,"byte_end":362105,"line_start":215,"line_end":215,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3561}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362147,"byte_end":362160,"line_start":216,"line_end":216,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362136,"byte_end":362145,"line_start":216,"line_end":216,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362161,"byte_end":362166,"line_start":216,"line_end":216,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1073743370}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362172,"byte_end":362182,"line_start":216,"line_end":216,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":536872458}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362184,"byte_end":362188,"line_start":216,"line_end":216,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":2751464970}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362190,"byte_end":362196,"line_start":216,"line_end":216,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":268437002}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362198,"byte_end":362203,"line_start":216,"line_end":216,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1342178826}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362265,"byte_end":362274,"line_start":220,"line_end":220,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362292,"byte_end":362301,"line_start":220,"line_end":220,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362306,"byte_end":362312,"line_start":220,"line_end":220,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362320,"byte_end":362328,"line_start":220,"line_end":220,"column_start":101,"column_end":109},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362371,"byte_end":362381,"line_start":221,"line_end":221,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362364,"byte_end":362370,"line_start":221,"line_end":221,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614284}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362382,"byte_end":362388,"line_start":221,"line_end":221,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362389,"byte_end":362400,"line_start":221,"line_end":221,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362402,"byte_end":362406,"line_start":221,"line_end":221,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362417,"byte_end":362431,"line_start":221,"line_end":221,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":4044}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362466,"byte_end":362471,"line_start":222,"line_end":222,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362459,"byte_end":362465,"line_start":222,"line_end":222,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":536872460}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362502,"byte_end":362506,"line_start":223,"line_end":223,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1476396556}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362507,"byte_end":362513,"line_start":223,"line_end":223,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362483,"byte_end":362487,"line_start":223,"line_end":223,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594060}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362488,"byte_end":362499,"line_start":223,"line_end":223,"column_start":14,"column_end":25},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362549,"byte_end":362553,"line_start":224,"line_end":224,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1476396556}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362554,"byte_end":362567,"line_start":224,"line_end":224,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362523,"byte_end":362527,"line_start":224,"line_end":224,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2214594060}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362528,"byte_end":362546,"line_start":224,"line_end":224,"column_start":14,"column_end":32},"ref_id":{"krate":0,"index":3561}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362588,"byte_end":362597,"line_start":225,"line_end":225,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362577,"byte_end":362586,"line_start":225,"line_end":225,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362598,"byte_end":362603,"line_start":225,"line_end":225,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073743372}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362610,"byte_end":362614,"line_start":225,"line_end":225,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2214594060}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362616,"byte_end":362622,"line_start":225,"line_end":225,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1610614284}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362840,"byte_end":362845,"line_start":229,"line_end":229,"column_start":200,"column_end":205},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362689,"byte_end":362698,"line_start":229,"line_end":229,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362721,"byte_end":362730,"line_start":229,"line_end":229,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362747,"byte_end":362756,"line_start":229,"line_end":229,"column_start":107,"column_end":116},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362777,"byte_end":362786,"line_start":229,"line_end":229,"column_start":137,"column_end":146},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362791,"byte_end":362797,"line_start":229,"line_end":229,"column_start":151,"column_end":157},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362798,"byte_end":362807,"line_start":229,"line_end":229,"column_start":158,"column_end":167},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362809,"byte_end":362817,"line_start":229,"line_end":229,"column_start":169,"column_end":177},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":362901,"byte_end":362911,"line_start":231,"line_end":231,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362889,"byte_end":362900,"line_start":231,"line_end":231,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614285}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362912,"byte_end":362923,"line_start":231,"line_end":231,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536872461}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362924,"byte_end":362935,"line_start":231,"line_end":231,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362937,"byte_end":362941,"line_start":231,"line_end":231,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":362952,"byte_end":362966,"line_start":231,"line_end":231,"column_start":96,"column_end":110},"ref_id":{"krate":0,"index":4044}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363006,"byte_end":363010,"line_start":233,"line_end":233,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2013267469}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363011,"byte_end":363017,"line_start":233,"line_end":233,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362980,"byte_end":362991,"line_start":233,"line_end":233,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":536872461}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":362992,"byte_end":363003,"line_start":233,"line_end":233,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363060,"byte_end":363064,"line_start":234,"line_end":234,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":2013267469}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363065,"byte_end":363078,"line_start":234,"line_end":234,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363027,"byte_end":363038,"line_start":234,"line_end":234,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":536872461}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363039,"byte_end":363057,"line_start":234,"line_end":234,"column_start":21,"column_end":39},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363112,"byte_end":363116,"line_start":235,"line_end":235,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":2013267469}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363117,"byte_end":363123,"line_start":235,"line_end":235,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363088,"byte_end":363097,"line_start":235,"line_end":235,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437005}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363098,"byte_end":363109,"line_start":235,"line_end":235,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363164,"byte_end":363168,"line_start":236,"line_end":236,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":2013267469}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363169,"byte_end":363182,"line_start":236,"line_end":236,"column_start":45,"column_end":58},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363133,"byte_end":363142,"line_start":236,"line_end":236,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437005}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363143,"byte_end":363161,"line_start":236,"line_end":236,"column_start":19,"column_end":37},"ref_id":{"krate":0,"index":3561}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":363203,"byte_end":363210,"line_start":237,"line_end":237,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363192,"byte_end":363201,"line_start":237,"line_end":237,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363211,"byte_end":363216,"line_start":237,"line_end":237,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1073743373}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363222,"byte_end":363233,"line_start":237,"line_end":237,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":536872461}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363235,"byte_end":363246,"line_start":237,"line_end":237,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":1610614285}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363248,"byte_end":363257,"line_start":237,"line_end":237,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":268437005}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363259,"byte_end":363268,"line_start":237,"line_end":237,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1342178829}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363327,"byte_end":363333,"line_start":245,"line_end":245,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363338,"byte_end":363346,"line_start":245,"line_end":245,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363430,"byte_end":363440,"line_start":248,"line_end":248,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363423,"byte_end":363428,"line_start":248,"line_end":248,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363451,"byte_end":363457,"line_start":248,"line_end":248,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874409}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363476,"byte_end":363482,"line_start":249,"line_end":249,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874409}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363484,"byte_end":363491,"line_start":249,"line_end":249,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753065}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":363562,"byte_end":363571,"line_start":250,"line_end":250,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363550,"byte_end":363560,"line_start":250,"line_end":250,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363543,"byte_end":363548,"line_start":250,"line_end":250,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363572,"byte_end":363579,"line_start":250,"line_end":250,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753065}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363620,"byte_end":363626,"line_start":251,"line_end":251,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874409}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":363655,"byte_end":363664,"line_start":251,"line_end":251,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/pointer/portal.rs","byte_start":363644,"byte_end":363651,"line_start":251,"line_end":251,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363628,"byte_end":363636,"line_start":251,"line_end":251,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441641}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":363637,"byte_end":363643,"line_start":251,"line_end":251,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363674,"byte_end":363676,"line_start":253,"line_end":253,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363720,"byte_end":363726,"line_start":258,"line_end":258,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363731,"byte_end":363739,"line_start":258,"line_end":258,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364002,"byte_end":364012,"line_start":267,"line_end":267,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":363995,"byte_end":364000,"line_start":267,"line_end":267,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364023,"byte_end":364029,"line_start":267,"line_end":267,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874413}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364054,"byte_end":364061,"line_start":268,"line_end":268,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753069}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364073,"byte_end":364077,"line_start":268,"line_end":268,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364091,"byte_end":364097,"line_start":270,"line_end":270,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":335547821}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364162,"byte_end":364164,"line_start":271,"line_end":271,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364162,"byte_end":364164,"line_start":271,"line_end":271,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364217,"byte_end":364220,"line_start":274,"line_end":274,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364217,"byte_end":364220,"line_start":274,"line_end":274,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364332,"byte_end":364338,"line_start":279,"line_end":279,"column_start":11,"column_end":17},"ref_id":{"krate":0,"index":335547821}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364393,"byte_end":364395,"line_start":280,"line_end":280,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364393,"byte_end":364395,"line_start":280,"line_end":280,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364448,"byte_end":364451,"line_start":283,"line_end":283,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364448,"byte_end":364451,"line_start":283,"line_end":283,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364557,"byte_end":364559,"line_start":288,"line_end":288,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364620,"byte_end":364626,"line_start":292,"line_end":292,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364631,"byte_end":364639,"line_start":292,"line_end":292,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364896,"byte_end":364906,"line_start":301,"line_end":301,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364889,"byte_end":364894,"line_start":301,"line_end":301,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364917,"byte_end":364923,"line_start":301,"line_end":301,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874417}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364948,"byte_end":364955,"line_start":302,"line_end":302,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753073}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":364967,"byte_end":364971,"line_start":302,"line_end":302,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":364979,"byte_end":364985,"line_start":304,"line_end":304,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365035,"byte_end":365041,"line_start":305,"line_end":305,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365151,"byte_end":365157,"line_start":307,"line_end":307,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365238,"byte_end":365244,"line_start":308,"line_end":308,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365337,"byte_end":365343,"line_start":309,"line_end":309,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365374,"byte_end":365380,"line_start":309,"line_end":309,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365418,"byte_end":365424,"line_start":310,"line_end":310,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365458,"byte_end":365464,"line_start":311,"line_end":311,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":365473,"byte_end":365477,"line_start":311,"line_end":311,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365514,"byte_end":365520,"line_start":312,"line_end":312,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":335547825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":365613,"byte_end":365617,"line_start":313,"line_end":313,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365619,"byte_end":365625,"line_start":313,"line_end":313,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":335547825}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365698,"byte_end":365704,"line_start":316,"line_end":316,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":365806,"byte_end":365810,"line_start":318,"line_end":318,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365819,"byte_end":365825,"line_start":318,"line_end":318,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":335547825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":365869,"byte_end":365873,"line_start":319,"line_end":319,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":365883,"byte_end":365889,"line_start":319,"line_end":319,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":335547825}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":366360,"byte_end":366370,"line_start":334,"line_end":334,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":366353,"byte_end":366358,"line_start":334,"line_end":334,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":366381,"byte_end":366387,"line_start":334,"line_end":334,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":4039118257}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":366412,"byte_end":366419,"line_start":335,"line_end":335,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":1421872561}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":366431,"byte_end":366435,"line_start":335,"line_end":335,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":366443,"byte_end":366449,"line_start":337,"line_end":337,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3435138481}},{"kind":"Variable","span":{"file_name":"src/pointer/portal.rs","byte_start":366575,"byte_end":366581,"line_start":339,"line_end":339,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3435138481}},{"kind":"Type","span":{"file_name":"src/pointer/portal.rs","byte_start":366696,"byte_end":366698,"line_start":341,"line_end":341,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57512,"byte_end":57516,"line_start":28,"line_end":28,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57519,"byte_end":57522,"line_start":28,"line_end":28,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57539,"byte_end":57544,"line_start":30,"line_end":30,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57576,"byte_end":57579,"line_start":31,"line_end":31,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57576,"byte_end":57579,"line_start":31,"line_end":31,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3363}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57602,"byte_end":57609,"line_start":31,"line_end":31,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57611,"byte_end":57614,"line_start":31,"line_end":31,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":793}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4044}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57624,"byte_end":57630,"line_start":31,"line_end":31,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":4044}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57624,"byte_end":57630,"line_start":31,"line_end":31,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2456}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":57568,"byte_end":57573,"line_start":31,"line_end":31,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2742}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57666,"byte_end":57671,"line_start":31,"line_end":31,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57687,"byte_end":57692,"line_start":32,"line_end":32,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57716,"byte_end":57721,"line_start":33,"line_end":33,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57724,"byte_end":57733,"line_start":33,"line_end":33,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57749,"byte_end":57754,"line_start":34,"line_end":34,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57756,"byte_end":57762,"line_start":34,"line_end":34,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57781,"byte_end":57786,"line_start":35,"line_end":35,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57810,"byte_end":57816,"line_start":36,"line_end":36,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3615}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57846,"byte_end":57849,"line_start":36,"line_end":36,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":1866}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3571}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57859,"byte_end":57864,"line_start":36,"line_end":36,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3656}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57877,"byte_end":57881,"line_start":36,"line_end":36,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1966}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57802,"byte_end":57807,"line_start":36,"line_end":36,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3684}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57833,"byte_end":57843,"line_start":36,"line_end":36,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3684}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57892,"byte_end":57897,"line_start":36,"line_end":36,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2084}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57924,"byte_end":57930,"line_start":38,"line_end":38,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7089}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57940,"byte_end":57943,"line_start":38,"line_end":38,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57916,"byte_end":57921,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":663}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57950,"byte_end":57956,"line_start":38,"line_end":38,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":57972,"byte_end":57977,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":227}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3470}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58001,"byte_end":58005,"line_start":41,"line_end":41,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1366}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3335}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58016,"byte_end":58019,"line_start":41,"line_end":41,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":612}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3437}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58029,"byte_end":58035,"line_start":41,"line_end":41,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1261}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":1531}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":58046,"byte_end":58052,"line_start":41,"line_end":41,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1468}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58046,"byte_end":58052,"line_start":41,"line_end":41,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58065,"byte_end":58069,"line_start":41,"line_end":41,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":57994,"byte_end":57998,"line_start":41,"line_end":41,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58082,"byte_end":58086,"line_start":41,"line_end":41,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58196,"byte_end":58206,"line_start":47,"line_end":47,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3507}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58224,"byte_end":58231,"line_start":50,"line_end":50,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":58291,"byte_end":58295,"line_start":52,"line_end":52,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58298,"byte_end":58308,"line_start":52,"line_end":52,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3507}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58413,"byte_end":58423,"line_start":60,"line_end":60,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58442,"byte_end":58452,"line_start":61,"line_end":61,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58471,"byte_end":58476,"line_start":62,"line_end":62,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3520}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58573,"byte_end":58583,"line_start":69,"line_end":69,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3525}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58602,"byte_end":58612,"line_start":70,"line_end":70,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":58631,"byte_end":58639,"line_start":71,"line_end":71,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3529}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59583,"byte_end":59592,"line_start":88,"line_end":88,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59662,"byte_end":59671,"line_start":89,"line_end":89,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":59697,"byte_end":59713,"line_start":92,"line_end":92,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1648}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":59847,"byte_end":59860,"line_start":95,"line_end":95,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59861,"byte_end":59865,"line_start":95,"line_end":95,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743490}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59866,"byte_end":59876,"line_start":95,"line_end":95,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3507}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":59971,"byte_end":59982,"line_start":97,"line_end":97,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59966,"byte_end":59970,"line_start":97,"line_end":97,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872579}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59948,"byte_end":59952,"line_start":97,"line_end":97,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743491}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":59953,"byte_end":59963,"line_start":97,"line_end":97,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3507}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60035,"byte_end":60039,"line_start":99,"line_end":99,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743492}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60040,"byte_end":60050,"line_start":99,"line_end":99,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3507}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":60130,"byte_end":60146,"line_start":103,"line_end":103,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1648}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60286,"byte_end":60299,"line_start":106,"line_end":106,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60300,"byte_end":60304,"line_start":106,"line_end":106,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743497}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60305,"byte_end":60315,"line_start":106,"line_end":106,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3516}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60410,"byte_end":60421,"line_start":108,"line_end":108,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60405,"byte_end":60409,"line_start":108,"line_end":108,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872586}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60387,"byte_end":60391,"line_start":108,"line_end":108,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743498}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60392,"byte_end":60402,"line_start":108,"line_end":108,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3516}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60490,"byte_end":60503,"line_start":110,"line_end":110,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60504,"byte_end":60508,"line_start":110,"line_end":110,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743499}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60509,"byte_end":60519,"line_start":110,"line_end":110,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3518}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60613,"byte_end":60624,"line_start":112,"line_end":112,"column_start":69,"column_end":80},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60608,"byte_end":60612,"line_start":112,"line_end":112,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":536872588}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60590,"byte_end":60594,"line_start":112,"line_end":112,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743500}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60595,"byte_end":60605,"line_start":112,"line_end":112,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":3518}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60713,"byte_end":60724,"line_start":114,"line_end":114,"column_start":63,"column_end":74},"ref_id":{"krate":1,"index":24111}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60707,"byte_end":60712,"line_start":114,"line_end":114,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":536872589}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60694,"byte_end":60698,"line_start":114,"line_end":114,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073743501}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60699,"byte_end":60704,"line_start":114,"line_end":114,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3520}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":60790,"byte_end":60803,"line_start":116,"line_end":116,"column_start":40,"column_end":53},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60804,"byte_end":60808,"line_start":116,"line_end":116,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073743502}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60809,"byte_end":60814,"line_start":116,"line_end":116,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":3520}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60866,"byte_end":60870,"line_start":118,"line_end":118,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743503}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60871,"byte_end":60881,"line_start":118,"line_end":118,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3516}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60892,"byte_end":60896,"line_start":118,"line_end":118,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073743503}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60897,"byte_end":60907,"line_start":118,"line_end":118,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":3518}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60918,"byte_end":60922,"line_start":118,"line_end":118,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743503}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":60923,"byte_end":60928,"line_start":118,"line_end":118,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3520}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"ref_id":{"krate":0,"index":3524}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61009,"byte_end":61025,"line_start":122,"line_end":122,"column_start":6,"column_end":22},"ref_id":{"krate":0,"index":1648}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61163,"byte_end":61176,"line_start":125,"line_end":125,"column_start":44,"column_end":57},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61177,"byte_end":61181,"line_start":125,"line_end":125,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61182,"byte_end":61192,"line_start":125,"line_end":125,"column_start":63,"column_end":73},"ref_id":{"krate":0,"index":3525}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61287,"byte_end":61298,"line_start":127,"line_end":127,"column_start":70,"column_end":81},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61282,"byte_end":61286,"line_start":127,"line_end":127,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":536872599}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61264,"byte_end":61268,"line_start":127,"line_end":127,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073743511}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61269,"byte_end":61279,"line_start":127,"line_end":127,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":3525}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61367,"byte_end":61380,"line_start":129,"line_end":129,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61381,"byte_end":61385,"line_start":129,"line_end":129,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743512}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61386,"byte_end":61396,"line_start":129,"line_end":129,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":3527}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61490,"byte_end":61501,"line_start":131,"line_end":131,"column_start":69,"column_end":80},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61485,"byte_end":61489,"line_start":131,"line_end":131,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":536872601}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61467,"byte_end":61471,"line_start":131,"line_end":131,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743513}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61472,"byte_end":61482,"line_start":131,"line_end":131,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":3527}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61594,"byte_end":61605,"line_start":133,"line_end":133,"column_start":67,"column_end":78},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61589,"byte_end":61593,"line_start":133,"line_end":133,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":536872602}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61573,"byte_end":61577,"line_start":133,"line_end":133,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073743514}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61578,"byte_end":61586,"line_start":133,"line_end":133,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":3529}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":61675,"byte_end":61688,"line_start":135,"line_end":135,"column_start":43,"column_end":56},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61689,"byte_end":61693,"line_start":135,"line_end":135,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073743515}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61694,"byte_end":61702,"line_start":135,"line_end":135,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":3529}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61754,"byte_end":61758,"line_start":137,"line_end":137,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743516}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61759,"byte_end":61769,"line_start":137,"line_end":137,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3525}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61780,"byte_end":61784,"line_start":137,"line_end":137,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073743516}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61785,"byte_end":61795,"line_start":137,"line_end":137,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":3527}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61806,"byte_end":61810,"line_start":137,"line_end":137,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743516}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":61811,"byte_end":61819,"line_start":137,"line_end":137,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3529}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":61957,"byte_end":61966,"line_start":141,"line_end":141,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62011,"byte_end":62023,"line_start":142,"line_end":142,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":1657}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62006,"byte_end":62010,"line_start":142,"line_end":142,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743521}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62047,"byte_end":62055,"line_start":143,"line_end":143,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1879049889}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62139,"byte_end":62149,"line_start":146,"line_end":146,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62132,"byte_end":62138,"line_start":146,"line_end":146,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872609}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62152,"byte_end":62160,"line_start":146,"line_end":146,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":1879049889}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62208,"byte_end":62218,"line_start":147,"line_end":147,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62201,"byte_end":62207,"line_start":147,"line_end":147,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872609}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62221,"byte_end":62264,"line_start":147,"line_end":147,"column_start":50,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62221,"byte_end":62235,"line_start":147,"line_end":147,"column_start":50,"column_end":64},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62222,"byte_end":62230,"line_start":147,"line_end":147,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1879049889}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62237,"byte_end":62264,"line_start":147,"line_end":147,"column_start":66,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62238,"byte_end":62246,"line_start":147,"line_end":147,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":1879049889}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62253,"byte_end":62263,"line_start":147,"line_end":147,"column_start":82,"column_end":92},"ref_id":{"krate":0,"index":2751465121}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62299,"byte_end":62318,"line_start":148,"line_end":148,"column_start":33,"column_end":52},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":62288,"byte_end":62292,"line_start":148,"line_end":148,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/pointer/mod.rs","byte_start":62294,"byte_end":62297,"line_start":148,"line_end":148,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62319,"byte_end":62328,"line_start":148,"line_end":148,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1006634657}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62417,"byte_end":62426,"line_start":152,"line_end":152,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62467,"byte_end":62479,"line_start":153,"line_end":153,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":1657}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62462,"byte_end":62466,"line_start":153,"line_end":153,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743523}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62503,"byte_end":62511,"line_start":154,"line_end":154,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1879049891}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62584,"byte_end":62594,"line_start":157,"line_end":157,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62577,"byte_end":62583,"line_start":157,"line_end":157,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":536872611}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62597,"byte_end":62605,"line_start":157,"line_end":157,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":1879049891}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62811,"byte_end":62828,"line_start":171,"line_end":171,"column_start":18,"column_end":35},"ref_id":{"krate":0,"index":3506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62802,"byte_end":62808,"line_start":171,"line_end":171,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62838,"byte_end":62842,"line_start":172,"line_end":172,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3536}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3533}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":62968,"byte_end":62981,"line_start":181,"line_end":181,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62994,"byte_end":62998,"line_start":181,"line_end":181,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743526}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":62999,"byte_end":63003,"line_start":181,"line_end":181,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3536}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":63142,"byte_end":63153,"line_start":186,"line_end":186,"column_start":27,"column_end":38},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63136,"byte_end":63141,"line_start":186,"line_end":186,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":536872616}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63180,"byte_end":63185,"line_start":187,"line_end":187,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662632}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63165,"byte_end":63169,"line_start":187,"line_end":187,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743528}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63170,"byte_end":63174,"line_start":187,"line_end":187,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63213,"byte_end":63218,"line_start":188,"line_end":188,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662632}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63198,"byte_end":63202,"line_start":188,"line_end":188,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743528}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63203,"byte_end":63207,"line_start":188,"line_end":188,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63246,"byte_end":63251,"line_start":189,"line_end":189,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662632}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63231,"byte_end":63235,"line_start":189,"line_end":189,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743528}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63236,"byte_end":63240,"line_start":189,"line_end":189,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63279,"byte_end":63284,"line_start":190,"line_end":190,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":3489662632}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63264,"byte_end":63268,"line_start":190,"line_end":190,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743528}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63269,"byte_end":63273,"line_start":190,"line_end":190,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3536}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63664,"byte_end":63678,"line_start":209,"line_end":209,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":2456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63785,"byte_end":63799,"line_start":211,"line_end":211,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2456}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63879,"byte_end":63885,"line_start":213,"line_end":213,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63944,"byte_end":63960,"line_start":215,"line_end":215,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3545}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63575,"byte_end":63584,"line_start":207,"line_end":207,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63651,"byte_end":63662,"line_start":209,"line_end":209,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63765,"byte_end":63783,"line_start":211,"line_end":211,"column_start":9,"column_end":27},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63866,"byte_end":63877,"line_start":213,"line_end":213,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3562}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":63931,"byte_end":63942,"line_start":215,"line_end":215,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64117,"byte_end":64121,"line_start":222,"line_end":222,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64136,"byte_end":64145,"line_start":223,"line_end":223,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64136,"byte_end":64145,"line_start":223,"line_end":223,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1073743531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64159,"byte_end":64170,"line_start":224,"line_end":224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64159,"byte_end":64170,"line_start":224,"line_end":224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":536872619}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64184,"byte_end":64202,"line_start":225,"line_end":225,"column_start":13,"column_end":31},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64184,"byte_end":64202,"line_start":225,"line_end":225,"column_start":13,"column_end":31},"ref_id":{"krate":0,"index":1610614443}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64216,"byte_end":64227,"line_start":226,"line_end":226,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64229,"byte_end":64233,"line_start":226,"line_end":226,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64247,"byte_end":64258,"line_start":227,"line_end":227,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64278,"byte_end":64282,"line_start":227,"line_end":227,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3546}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64260,"byte_end":64276,"line_start":227,"line_end":227,"column_start":26,"column_end":42},"ref_id":{"krate":0,"index":3545}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64406,"byte_end":64415,"line_start":233,"line_end":233,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64490,"byte_end":64496,"line_start":234,"line_end":234,"column_start":39,"column_end":45},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64477,"byte_end":64487,"line_start":234,"line_end":234,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64470,"byte_end":64476,"line_start":234,"line_end":234,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64589,"byte_end":64593,"line_start":236,"line_end":236,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64594,"byte_end":64603,"line_start":236,"line_end":236,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64607,"byte_end":64613,"line_start":236,"line_end":236,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64614,"byte_end":64618,"line_start":236,"line_end":236,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64622,"byte_end":64626,"line_start":236,"line_end":236,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64627,"byte_end":64636,"line_start":236,"line_end":236,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64659,"byte_end":64662,"line_start":236,"line_end":236,"column_start":82,"column_end":85},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64646,"byte_end":64656,"line_start":236,"line_end":236,"column_start":69,"column_end":79},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64639,"byte_end":64645,"line_start":236,"line_end":236,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872620}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64696,"byte_end":64699,"line_start":237,"line_end":237,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64692,"byte_end":64695,"line_start":237,"line_end":237,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64700,"byte_end":64706,"line_start":237,"line_end":237,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64707,"byte_end":64711,"line_start":237,"line_end":237,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":4128}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64723,"byte_end":64740,"line_start":237,"line_end":237,"column_start":57,"column_end":74},"ref_id":{"krate":0,"index":3506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64786,"byte_end":64796,"line_start":239,"line_end":239,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64779,"byte_end":64785,"line_start":239,"line_end":239,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":536872620}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64797,"byte_end":64801,"line_start":239,"line_end":239,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64802,"byte_end":64820,"line_start":239,"line_end":239,"column_start":42,"column_end":60},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64822,"byte_end":64823,"line_start":239,"line_end":239,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64855,"byte_end":64859,"line_start":240,"line_end":240,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64842,"byte_end":64853,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64855,"byte_end":64859,"line_start":240,"line_end":240,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64842,"byte_end":64853,"line_start":240,"line_end":240,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":64904,"byte_end":64907,"line_start":241,"line_end":241,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64900,"byte_end":64903,"line_start":241,"line_end":241,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64908,"byte_end":64912,"line_start":241,"line_end":241,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":64913,"byte_end":64922,"line_start":241,"line_end":241,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64934,"byte_end":64954,"line_start":241,"line_end":241,"column_start":68,"column_end":88},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65006,"byte_end":65009,"line_start":243,"line_end":243,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64993,"byte_end":65004,"line_start":243,"line_end":243,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65006,"byte_end":65009,"line_start":243,"line_end":243,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":64993,"byte_end":65004,"line_start":243,"line_end":243,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65055,"byte_end":65058,"line_start":244,"line_end":244,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65051,"byte_end":65054,"line_start":244,"line_end":244,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65059,"byte_end":65063,"line_start":244,"line_end":244,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65064,"byte_end":65073,"line_start":244,"line_end":244,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65085,"byte_end":65104,"line_start":244,"line_end":244,"column_start":68,"column_end":87},"ref_id":{"krate":0,"index":3524}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65156,"byte_end":65161,"line_start":246,"line_end":246,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65143,"byte_end":65154,"line_start":246,"line_end":246,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65156,"byte_end":65161,"line_start":246,"line_end":246,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65143,"byte_end":65154,"line_start":246,"line_end":246,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65195,"byte_end":65199,"line_start":247,"line_end":247,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65200,"byte_end":65211,"line_start":247,"line_end":247,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65238,"byte_end":65242,"line_start":248,"line_end":248,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65238,"byte_end":65242,"line_start":248,"line_end":248,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65264,"byte_end":65270,"line_start":248,"line_end":248,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65262,"byte_end":65263,"line_start":248,"line_end":248,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3053455020}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65296,"byte_end":65313,"line_start":248,"line_end":248,"column_start":83,"column_end":100},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65342,"byte_end":65346,"line_start":249,"line_end":249,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65342,"byte_end":65346,"line_start":249,"line_end":249,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65367,"byte_end":65370,"line_start":249,"line_end":249,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65363,"byte_end":65366,"line_start":249,"line_end":249,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65371,"byte_end":65375,"line_start":249,"line_end":249,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65376,"byte_end":65385,"line_start":249,"line_end":249,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65397,"byte_end":65414,"line_start":249,"line_end":249,"column_start":80,"column_end":97},"ref_id":{"krate":0,"index":3506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65549,"byte_end":65552,"line_start":253,"line_end":253,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":2401}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65545,"byte_end":65548,"line_start":253,"line_end":253,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952791724}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65553,"byte_end":65557,"line_start":253,"line_end":253,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073743532}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65558,"byte_end":65567,"line_start":253,"line_end":253,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65579,"byte_end":65596,"line_start":253,"line_end":253,"column_start":68,"column_end":85},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":65786,"byte_end":65795,"line_start":261,"line_end":261,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65879,"byte_end":65889,"line_start":262,"line_end":262,"column_start":44,"column_end":54},"ref_id":{"krate":1,"index":11507}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":65865,"byte_end":65876,"line_start":262,"line_end":262,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65858,"byte_end":65864,"line_start":262,"line_end":262,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":536872621}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65990,"byte_end":65994,"line_start":264,"line_end":264,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":65995,"byte_end":66004,"line_start":264,"line_end":264,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66008,"byte_end":66014,"line_start":264,"line_end":264,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872621}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66015,"byte_end":66019,"line_start":264,"line_end":264,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66023,"byte_end":66027,"line_start":264,"line_end":264,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66028,"byte_end":66037,"line_start":264,"line_end":264,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66060,"byte_end":66063,"line_start":264,"line_end":264,"column_start":86,"column_end":89},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66047,"byte_end":66057,"line_start":264,"line_end":264,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66040,"byte_end":66046,"line_start":264,"line_end":264,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872621}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66104,"byte_end":66107,"line_start":265,"line_end":265,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66100,"byte_end":66103,"line_start":265,"line_end":265,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2952791725}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66108,"byte_end":66114,"line_start":265,"line_end":265,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536872621}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66115,"byte_end":66119,"line_start":265,"line_end":265,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":4128}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66129,"byte_end":66146,"line_start":265,"line_end":265,"column_start":62,"column_end":79},"ref_id":{"krate":0,"index":3506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66200,"byte_end":66210,"line_start":267,"line_end":267,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66193,"byte_end":66199,"line_start":267,"line_end":267,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":536872621}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66211,"byte_end":66215,"line_start":267,"line_end":267,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66216,"byte_end":66234,"line_start":267,"line_end":267,"column_start":46,"column_end":64},"ref_id":{"krate":0,"index":3561}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66236,"byte_end":66237,"line_start":267,"line_end":267,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66273,"byte_end":66277,"line_start":268,"line_end":268,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66260,"byte_end":66271,"line_start":268,"line_end":268,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66273,"byte_end":66277,"line_start":268,"line_end":268,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66260,"byte_end":66271,"line_start":268,"line_end":268,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66329,"byte_end":66332,"line_start":269,"line_end":269,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66325,"byte_end":66328,"line_start":269,"line_end":269,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791725}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66333,"byte_end":66337,"line_start":269,"line_end":269,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66338,"byte_end":66347,"line_start":269,"line_end":269,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66357,"byte_end":66377,"line_start":269,"line_end":269,"column_start":73,"column_end":93},"ref_id":{"krate":0,"index":3515}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66437,"byte_end":66440,"line_start":271,"line_end":271,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66424,"byte_end":66435,"line_start":271,"line_end":271,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66437,"byte_end":66440,"line_start":271,"line_end":271,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66424,"byte_end":66435,"line_start":271,"line_end":271,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66493,"byte_end":66496,"line_start":272,"line_end":272,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66489,"byte_end":66492,"line_start":272,"line_end":272,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791725}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66497,"byte_end":66501,"line_start":272,"line_end":272,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66502,"byte_end":66511,"line_start":272,"line_end":272,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66521,"byte_end":66540,"line_start":272,"line_end":272,"column_start":73,"column_end":92},"ref_id":{"krate":0,"index":3524}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66600,"byte_end":66605,"line_start":274,"line_end":274,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66587,"byte_end":66598,"line_start":274,"line_end":274,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66600,"byte_end":66605,"line_start":274,"line_end":274,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66587,"byte_end":66598,"line_start":274,"line_end":274,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66643,"byte_end":66647,"line_start":275,"line_end":275,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66648,"byte_end":66659,"line_start":275,"line_end":275,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":3562}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66690,"byte_end":66694,"line_start":276,"line_end":276,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66690,"byte_end":66694,"line_start":276,"line_end":276,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66719,"byte_end":66725,"line_start":276,"line_end":276,"column_start":58,"column_end":64},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66717,"byte_end":66718,"line_start":276,"line_end":276,"column_start":56,"column_end":57},"ref_id":{"krate":0,"index":3053455021}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66747,"byte_end":66764,"line_start":276,"line_end":276,"column_start":86,"column_end":103},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66797,"byte_end":66801,"line_start":277,"line_end":277,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66797,"byte_end":66801,"line_start":277,"line_end":277,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":66825,"byte_end":66828,"line_start":277,"line_end":277,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66821,"byte_end":66824,"line_start":277,"line_end":277,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":2952791725}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66829,"byte_end":66833,"line_start":277,"line_end":277,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":66834,"byte_end":66843,"line_start":277,"line_end":277,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":66853,"byte_end":66870,"line_start":277,"line_end":277,"column_start":85,"column_end":102},"ref_id":{"krate":0,"index":3506}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67024,"byte_end":67027,"line_start":281,"line_end":281,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":2486}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67020,"byte_end":67023,"line_start":281,"line_end":281,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":2952791725}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67028,"byte_end":67032,"line_start":281,"line_end":281,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073743533}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67033,"byte_end":67042,"line_start":281,"line_end":281,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67052,"byte_end":67069,"line_start":281,"line_end":281,"column_start":73,"column_end":90},"ref_id":{"krate":0,"index":3506}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67289,"byte_end":67298,"line_start":290,"line_end":290,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67308,"byte_end":67317,"line_start":290,"line_end":290,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67374,"byte_end":67380,"line_start":290,"line_end":290,"column_start":113,"column_end":119},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67381,"byte_end":67387,"line_start":290,"line_end":290,"column_start":120,"column_end":126},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67388,"byte_end":67397,"line_start":290,"line_end":290,"column_start":127,"column_end":136},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67400,"byte_end":67408,"line_start":290,"line_end":290,"column_start":139,"column_end":147},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67443,"byte_end":67449,"line_start":292,"line_end":292,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872622}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67574,"byte_end":67584,"line_start":300,"line_end":300,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3892315822}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67624,"byte_end":67627,"line_start":302,"line_end":302,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67619,"byte_end":67623,"line_start":302,"line_end":302,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1342178990}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67633,"byte_end":67643,"line_start":302,"line_end":302,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67669,"byte_end":67671,"line_start":303,"line_end":303,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67672,"byte_end":67676,"line_start":303,"line_end":303,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67677,"byte_end":67688,"line_start":303,"line_end":303,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67726,"byte_end":67736,"line_start":306,"line_end":306,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3892315822}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67768,"byte_end":67771,"line_start":307,"line_end":307,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67782,"byte_end":67796,"line_start":307,"line_end":307,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":4066}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67772,"byte_end":67780,"line_start":307,"line_end":307,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":67845,"byte_end":67855,"line_start":310,"line_end":310,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67838,"byte_end":67844,"line_start":310,"line_end":310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67856,"byte_end":67867,"line_start":310,"line_end":310,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67868,"byte_end":67879,"line_start":310,"line_end":310,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67948,"byte_end":67954,"line_start":313,"line_end":313,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":838862510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":67955,"byte_end":67956,"line_start":313,"line_end":313,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67988,"byte_end":67994,"line_start":314,"line_end":314,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67975,"byte_end":67986,"line_start":314,"line_end":314,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67988,"byte_end":67994,"line_start":314,"line_end":314,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":67975,"byte_end":67986,"line_start":314,"line_end":314,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68051,"byte_end":68057,"line_start":315,"line_end":315,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":1836}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68040,"byte_end":68049,"line_start":315,"line_end":315,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68058,"byte_end":68069,"line_start":315,"line_end":315,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68071,"byte_end":68077,"line_start":315,"line_end":315,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":838862510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68079,"byte_end":68083,"line_start":315,"line_end":315,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1342178990}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68084,"byte_end":68094,"line_start":315,"line_end":315,"column_start":85,"column_end":95},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68097,"byte_end":68106,"line_start":315,"line_end":315,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":1610614446}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68108,"byte_end":68120,"line_start":315,"line_end":315,"column_start":109,"column_end":121},"ref_id":{"krate":0,"index":268437166}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68122,"byte_end":68128,"line_start":315,"line_end":315,"column_start":123,"column_end":129},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68027,"byte_end":68031,"line_start":315,"line_end":315,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68171,"byte_end":68175,"line_start":316,"line_end":316,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1778386606}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68157,"byte_end":68168,"line_start":316,"line_end":316,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68201,"byte_end":68211,"line_start":317,"line_end":317,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68278,"byte_end":68280,"line_start":319,"line_end":319,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68281,"byte_end":68285,"line_start":319,"line_end":319,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68358,"byte_end":68363,"line_start":322,"line_end":322,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68345,"byte_end":68356,"line_start":322,"line_end":322,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68358,"byte_end":68363,"line_start":322,"line_end":322,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68345,"byte_end":68356,"line_start":322,"line_end":322,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68412,"byte_end":68417,"line_start":323,"line_end":323,"column_start":44,"column_end":49},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68395,"byte_end":68399,"line_start":323,"line_end":323,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1342178990}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68400,"byte_end":68410,"line_start":323,"line_end":323,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68455,"byte_end":68457,"line_start":324,"line_end":324,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68455,"byte_end":68457,"line_start":324,"line_end":324,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68524,"byte_end":68530,"line_start":325,"line_end":325,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2160}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68514,"byte_end":68522,"line_start":325,"line_end":325,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68531,"byte_end":68542,"line_start":325,"line_end":325,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68544,"byte_end":68550,"line_start":325,"line_end":325,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":838862510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68552,"byte_end":68553,"line_start":325,"line_end":325,"column_start":87,"column_end":88},"ref_id":{"krate":0,"index":2768242350}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68555,"byte_end":68564,"line_start":325,"line_end":325,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":1610614446}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68566,"byte_end":68578,"line_start":325,"line_end":325,"column_start":101,"column_end":113},"ref_id":{"krate":0,"index":268437166}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68580,"byte_end":68586,"line_start":325,"line_end":325,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68501,"byte_end":68505,"line_start":325,"line_end":325,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68637,"byte_end":68641,"line_start":326,"line_end":326,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1426065070}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68623,"byte_end":68634,"line_start":326,"line_end":326,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":68675,"byte_end":68685,"line_start":327,"line_end":327,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68768,"byte_end":68770,"line_start":329,"line_end":329,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68771,"byte_end":68775,"line_start":329,"line_end":329,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68859,"byte_end":68862,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68859,"byte_end":68862,"line_start":332,"line_end":332,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68907,"byte_end":68910,"line_start":333,"line_end":333,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":68921,"byte_end":68924,"line_start":333,"line_end":333,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":68911,"byte_end":68919,"line_start":333,"line_end":333,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69074,"byte_end":69078,"line_start":337,"line_end":337,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69061,"byte_end":69072,"line_start":337,"line_end":337,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69074,"byte_end":69078,"line_start":337,"line_end":337,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69061,"byte_end":69072,"line_start":337,"line_end":337,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69127,"byte_end":69132,"line_start":338,"line_end":338,"column_start":44,"column_end":49},"ref_id":{"krate":1,"index":12737}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69110,"byte_end":69114,"line_start":338,"line_end":338,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1342178990}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69115,"byte_end":69125,"line_start":338,"line_end":338,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69170,"byte_end":69172,"line_start":339,"line_end":339,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69170,"byte_end":69172,"line_start":339,"line_end":339,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69238,"byte_end":69244,"line_start":340,"line_end":340,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":2042}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69229,"byte_end":69236,"line_start":340,"line_end":340,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69245,"byte_end":69256,"line_start":340,"line_end":340,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69258,"byte_end":69259,"line_start":340,"line_end":340,"column_start":78,"column_end":79},"ref_id":{"krate":0,"index":276825774}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69261,"byte_end":69270,"line_start":340,"line_end":340,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1610614446}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69272,"byte_end":69284,"line_start":340,"line_end":340,"column_start":92,"column_end":104},"ref_id":{"krate":0,"index":268437166}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69286,"byte_end":69292,"line_start":340,"line_end":340,"column_start":106,"column_end":112},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69216,"byte_end":69220,"line_start":340,"line_end":340,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69343,"byte_end":69350,"line_start":341,"line_end":341,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":2742}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69351,"byte_end":69355,"line_start":341,"line_end":341,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2961180334}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69329,"byte_end":69340,"line_start":341,"line_end":341,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69393,"byte_end":69403,"line_start":342,"line_end":342,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69486,"byte_end":69488,"line_start":344,"line_end":344,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69489,"byte_end":69493,"line_start":344,"line_end":344,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69577,"byte_end":69580,"line_start":347,"line_end":347,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69577,"byte_end":69580,"line_start":347,"line_end":347,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69625,"byte_end":69628,"line_start":348,"line_end":348,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69639,"byte_end":69642,"line_start":348,"line_end":348,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69629,"byte_end":69637,"line_start":348,"line_end":348,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69791,"byte_end":69794,"line_start":352,"line_end":352,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69778,"byte_end":69789,"line_start":352,"line_end":352,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69791,"byte_end":69794,"line_start":352,"line_end":352,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69778,"byte_end":69789,"line_start":352,"line_end":352,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":69848,"byte_end":69854,"line_start":353,"line_end":353,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1941}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69840,"byte_end":69846,"line_start":353,"line_end":353,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69855,"byte_end":69866,"line_start":353,"line_end":353,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69868,"byte_end":69872,"line_start":353,"line_end":353,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1342178990}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69873,"byte_end":69883,"line_start":353,"line_end":353,"column_start":74,"column_end":84},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69886,"byte_end":69895,"line_start":353,"line_end":353,"column_start":87,"column_end":96},"ref_id":{"krate":0,"index":1610614446}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69897,"byte_end":69909,"line_start":353,"line_end":353,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":268437166}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69911,"byte_end":69917,"line_start":353,"line_end":353,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743534}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":69827,"byte_end":69831,"line_start":353,"line_end":353,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69960,"byte_end":69964,"line_start":354,"line_end":354,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2927625902}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69946,"byte_end":69957,"line_start":354,"line_end":354,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":69990,"byte_end":70000,"line_start":355,"line_end":355,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3355444910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70067,"byte_end":70069,"line_start":357,"line_end":357,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70070,"byte_end":70074,"line_start":357,"line_end":357,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70557,"byte_end":70563,"line_start":369,"line_end":369,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70544,"byte_end":70555,"line_start":369,"line_end":369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70557,"byte_end":70563,"line_start":369,"line_end":369,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70544,"byte_end":70555,"line_start":369,"line_end":369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70620,"byte_end":70626,"line_start":370,"line_end":370,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":838862510}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70627,"byte_end":70631,"line_start":370,"line_end":370,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70642,"byte_end":70656,"line_start":370,"line_end":370,"column_start":74,"column_end":88},"ref_id":{"krate":0,"index":4044}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70708,"byte_end":70719,"line_start":372,"line_end":372,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":1669334702}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70720,"byte_end":70726,"line_start":372,"line_end":372,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70682,"byte_end":70693,"line_start":372,"line_end":372,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70694,"byte_end":70705,"line_start":372,"line_end":372,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70781,"byte_end":70792,"line_start":373,"line_end":373,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1669334702}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70793,"byte_end":70806,"line_start":373,"line_end":373,"column_start":66,"column_end":79},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70748,"byte_end":70759,"line_start":373,"line_end":373,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":4026533550}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":70760,"byte_end":70778,"line_start":373,"line_end":373,"column_start":33,"column_end":51},"ref_id":{"krate":0,"index":3561}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70961,"byte_end":70963,"line_start":377,"line_end":377,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":70964,"byte_end":70968,"line_start":377,"line_end":377,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71088,"byte_end":71097,"line_start":384,"line_end":384,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71108,"byte_end":71117,"line_start":384,"line_end":384,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71122,"byte_end":71128,"line_start":384,"line_end":384,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71135,"byte_end":71143,"line_start":384,"line_end":384,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71159,"byte_end":71165,"line_start":386,"line_end":386,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71166,"byte_end":71177,"line_start":386,"line_end":386,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71199,"byte_end":71204,"line_start":386,"line_end":386,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71181,"byte_end":71197,"line_start":386,"line_end":386,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3545}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71226,"byte_end":71237,"line_start":387,"line_end":387,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71219,"byte_end":71225,"line_start":387,"line_end":387,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71240,"byte_end":71246,"line_start":387,"line_end":387,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71247,"byte_end":71256,"line_start":387,"line_end":387,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71299,"byte_end":71309,"line_start":390,"line_end":390,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71292,"byte_end":71298,"line_start":390,"line_end":390,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536872623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71310,"byte_end":71316,"line_start":390,"line_end":390,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71317,"byte_end":71328,"line_start":390,"line_end":390,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71330,"byte_end":71331,"line_start":390,"line_end":390,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71359,"byte_end":71366,"line_start":391,"line_end":391,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71346,"byte_end":71357,"line_start":391,"line_end":391,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71359,"byte_end":71366,"line_start":391,"line_end":391,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71346,"byte_end":71357,"line_start":391,"line_end":391,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71387,"byte_end":71396,"line_start":391,"line_end":391,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71397,"byte_end":71403,"line_start":391,"line_end":391,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71405,"byte_end":71411,"line_start":391,"line_end":391,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71413,"byte_end":71420,"line_start":391,"line_end":391,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71431,"byte_end":71443,"line_start":391,"line_end":391,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71445,"byte_end":71451,"line_start":391,"line_end":391,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71453,"byte_end":71459,"line_start":391,"line_end":391,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71495,"byte_end":71505,"line_start":392,"line_end":392,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71482,"byte_end":71493,"line_start":392,"line_end":392,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71495,"byte_end":71505,"line_start":392,"line_end":392,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71482,"byte_end":71493,"line_start":392,"line_end":392,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71523,"byte_end":71532,"line_start":392,"line_end":392,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71515,"byte_end":71521,"line_start":392,"line_end":392,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71533,"byte_end":71539,"line_start":392,"line_end":392,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71541,"byte_end":71547,"line_start":392,"line_end":392,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71549,"byte_end":71556,"line_start":392,"line_end":392,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71568,"byte_end":71580,"line_start":392,"line_end":392,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71560,"byte_end":71566,"line_start":392,"line_end":392,"column_start":91,"column_end":97},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71582,"byte_end":71588,"line_start":392,"line_end":392,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71590,"byte_end":71596,"line_start":392,"line_end":392,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71632,"byte_end":71637,"line_start":393,"line_end":393,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71619,"byte_end":71630,"line_start":393,"line_end":393,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71632,"byte_end":71637,"line_start":393,"line_end":393,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71619,"byte_end":71630,"line_start":393,"line_end":393,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71660,"byte_end":71669,"line_start":393,"line_end":393,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71650,"byte_end":71658,"line_start":393,"line_end":393,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71670,"byte_end":71676,"line_start":393,"line_end":393,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71678,"byte_end":71684,"line_start":393,"line_end":393,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71686,"byte_end":71693,"line_start":393,"line_end":393,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71705,"byte_end":71717,"line_start":393,"line_end":393,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71695,"byte_end":71703,"line_start":393,"line_end":393,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71719,"byte_end":71725,"line_start":393,"line_end":393,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71727,"byte_end":71733,"line_start":393,"line_end":393,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71769,"byte_end":71773,"line_start":394,"line_end":394,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71756,"byte_end":71767,"line_start":394,"line_end":394,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71769,"byte_end":71773,"line_start":394,"line_end":394,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71756,"byte_end":71767,"line_start":394,"line_end":394,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71797,"byte_end":71806,"line_start":394,"line_end":394,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71807,"byte_end":71813,"line_start":394,"line_end":394,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71815,"byte_end":71821,"line_start":394,"line_end":394,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71823,"byte_end":71830,"line_start":394,"line_end":394,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71842,"byte_end":71854,"line_start":394,"line_end":394,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71856,"byte_end":71862,"line_start":394,"line_end":394,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71864,"byte_end":71870,"line_start":394,"line_end":394,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71906,"byte_end":71911,"line_start":395,"line_end":395,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71893,"byte_end":71904,"line_start":395,"line_end":395,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71906,"byte_end":71911,"line_start":395,"line_end":395,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":71893,"byte_end":71904,"line_start":395,"line_end":395,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71934,"byte_end":71943,"line_start":395,"line_end":395,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71944,"byte_end":71950,"line_start":395,"line_end":395,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71952,"byte_end":71958,"line_start":395,"line_end":395,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71960,"byte_end":71967,"line_start":395,"line_end":395,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":71979,"byte_end":71991,"line_start":395,"line_end":395,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":71993,"byte_end":71999,"line_start":395,"line_end":395,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72001,"byte_end":72007,"line_start":395,"line_end":395,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72043,"byte_end":72048,"line_start":396,"line_end":396,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72030,"byte_end":72041,"line_start":396,"line_end":396,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72043,"byte_end":72048,"line_start":396,"line_end":396,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72030,"byte_end":72041,"line_start":396,"line_end":396,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72071,"byte_end":72080,"line_start":396,"line_end":396,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72081,"byte_end":72087,"line_start":396,"line_end":396,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72089,"byte_end":72095,"line_start":396,"line_end":396,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72097,"byte_end":72104,"line_start":396,"line_end":396,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72116,"byte_end":72128,"line_start":396,"line_end":396,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72130,"byte_end":72136,"line_start":396,"line_end":396,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72138,"byte_end":72144,"line_start":396,"line_end":396,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72180,"byte_end":72185,"line_start":397,"line_end":397,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72167,"byte_end":72178,"line_start":397,"line_end":397,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72180,"byte_end":72185,"line_start":397,"line_end":397,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72167,"byte_end":72178,"line_start":397,"line_end":397,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72208,"byte_end":72217,"line_start":397,"line_end":397,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72218,"byte_end":72224,"line_start":397,"line_end":397,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72226,"byte_end":72232,"line_start":397,"line_end":397,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72234,"byte_end":72241,"line_start":397,"line_end":397,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72253,"byte_end":72265,"line_start":397,"line_end":397,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72267,"byte_end":72273,"line_start":397,"line_end":397,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72275,"byte_end":72281,"line_start":397,"line_end":397,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72317,"byte_end":72322,"line_start":398,"line_end":398,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72304,"byte_end":72315,"line_start":398,"line_end":398,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72317,"byte_end":72322,"line_start":398,"line_end":398,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72304,"byte_end":72315,"line_start":398,"line_end":398,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72345,"byte_end":72354,"line_start":398,"line_end":398,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72355,"byte_end":72361,"line_start":398,"line_end":398,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72363,"byte_end":72369,"line_start":398,"line_end":398,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72371,"byte_end":72378,"line_start":398,"line_end":398,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72390,"byte_end":72402,"line_start":398,"line_end":398,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72404,"byte_end":72410,"line_start":398,"line_end":398,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72412,"byte_end":72418,"line_start":398,"line_end":398,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72454,"byte_end":72460,"line_start":399,"line_end":399,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72441,"byte_end":72452,"line_start":399,"line_end":399,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72454,"byte_end":72460,"line_start":399,"line_end":399,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72441,"byte_end":72452,"line_start":399,"line_end":399,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72482,"byte_end":72491,"line_start":399,"line_end":399,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72492,"byte_end":72498,"line_start":399,"line_end":399,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72500,"byte_end":72506,"line_start":399,"line_end":399,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72508,"byte_end":72515,"line_start":399,"line_end":399,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72527,"byte_end":72539,"line_start":399,"line_end":399,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72541,"byte_end":72547,"line_start":399,"line_end":399,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72549,"byte_end":72555,"line_start":399,"line_end":399,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72591,"byte_end":72597,"line_start":400,"line_end":400,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72578,"byte_end":72589,"line_start":400,"line_end":400,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72591,"byte_end":72597,"line_start":400,"line_end":400,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72578,"byte_end":72589,"line_start":400,"line_end":400,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72619,"byte_end":72628,"line_start":400,"line_end":400,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72629,"byte_end":72635,"line_start":400,"line_end":400,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72637,"byte_end":72643,"line_start":400,"line_end":400,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72645,"byte_end":72652,"line_start":400,"line_end":400,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72664,"byte_end":72676,"line_start":400,"line_end":400,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72678,"byte_end":72684,"line_start":400,"line_end":400,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72686,"byte_end":72692,"line_start":400,"line_end":400,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72728,"byte_end":72734,"line_start":401,"line_end":401,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72715,"byte_end":72726,"line_start":401,"line_end":401,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72728,"byte_end":72734,"line_start":401,"line_end":401,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72715,"byte_end":72726,"line_start":401,"line_end":401,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72756,"byte_end":72765,"line_start":401,"line_end":401,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72766,"byte_end":72772,"line_start":401,"line_end":401,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72774,"byte_end":72780,"line_start":401,"line_end":401,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72782,"byte_end":72789,"line_start":401,"line_end":401,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72801,"byte_end":72813,"line_start":401,"line_end":401,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72815,"byte_end":72821,"line_start":401,"line_end":401,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72823,"byte_end":72829,"line_start":401,"line_end":401,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72865,"byte_end":72870,"line_start":402,"line_end":402,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72852,"byte_end":72863,"line_start":402,"line_end":402,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72865,"byte_end":72870,"line_start":402,"line_end":402,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72852,"byte_end":72863,"line_start":402,"line_end":402,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72893,"byte_end":72902,"line_start":402,"line_end":402,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72903,"byte_end":72909,"line_start":402,"line_end":402,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72911,"byte_end":72917,"line_start":402,"line_end":402,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72919,"byte_end":72926,"line_start":402,"line_end":402,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":72938,"byte_end":72950,"line_start":402,"line_end":402,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72952,"byte_end":72958,"line_start":402,"line_end":402,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":72960,"byte_end":72966,"line_start":402,"line_end":402,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73002,"byte_end":73008,"line_start":403,"line_end":403,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72989,"byte_end":73000,"line_start":403,"line_end":403,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73002,"byte_end":73008,"line_start":403,"line_end":403,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":72989,"byte_end":73000,"line_start":403,"line_end":403,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73030,"byte_end":73039,"line_start":403,"line_end":403,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73040,"byte_end":73046,"line_start":403,"line_end":403,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73048,"byte_end":73054,"line_start":403,"line_end":403,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73056,"byte_end":73063,"line_start":403,"line_end":403,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73075,"byte_end":73087,"line_start":403,"line_end":403,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73089,"byte_end":73095,"line_start":403,"line_end":403,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73097,"byte_end":73103,"line_start":403,"line_end":403,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73139,"byte_end":73146,"line_start":404,"line_end":404,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73126,"byte_end":73137,"line_start":404,"line_end":404,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73139,"byte_end":73146,"line_start":404,"line_end":404,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73126,"byte_end":73137,"line_start":404,"line_end":404,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73167,"byte_end":73176,"line_start":404,"line_end":404,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73159,"byte_end":73165,"line_start":404,"line_end":404,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73177,"byte_end":73183,"line_start":404,"line_end":404,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73185,"byte_end":73191,"line_start":404,"line_end":404,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73193,"byte_end":73200,"line_start":404,"line_end":404,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73212,"byte_end":73224,"line_start":404,"line_end":404,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73204,"byte_end":73210,"line_start":404,"line_end":404,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73226,"byte_end":73232,"line_start":404,"line_end":404,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73234,"byte_end":73240,"line_start":404,"line_end":404,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73276,"byte_end":73279,"line_start":405,"line_end":405,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73263,"byte_end":73274,"line_start":405,"line_end":405,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73276,"byte_end":73279,"line_start":405,"line_end":405,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73263,"byte_end":73274,"line_start":405,"line_end":405,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73304,"byte_end":73313,"line_start":405,"line_end":405,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73296,"byte_end":73302,"line_start":405,"line_end":405,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73314,"byte_end":73320,"line_start":405,"line_end":405,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73322,"byte_end":73328,"line_start":405,"line_end":405,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73330,"byte_end":73337,"line_start":405,"line_end":405,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73349,"byte_end":73361,"line_start":405,"line_end":405,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73341,"byte_end":73347,"line_start":405,"line_end":405,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73363,"byte_end":73369,"line_start":405,"line_end":405,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73371,"byte_end":73377,"line_start":405,"line_end":405,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73413,"byte_end":73417,"line_start":406,"line_end":406,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73400,"byte_end":73411,"line_start":406,"line_end":406,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73413,"byte_end":73417,"line_start":406,"line_end":406,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73400,"byte_end":73411,"line_start":406,"line_end":406,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73441,"byte_end":73450,"line_start":406,"line_end":406,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73432,"byte_end":73439,"line_start":406,"line_end":406,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73451,"byte_end":73457,"line_start":406,"line_end":406,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73459,"byte_end":73465,"line_start":406,"line_end":406,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73467,"byte_end":73474,"line_start":406,"line_end":406,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73486,"byte_end":73498,"line_start":406,"line_end":406,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73477,"byte_end":73484,"line_start":406,"line_end":406,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73500,"byte_end":73506,"line_start":406,"line_end":406,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73508,"byte_end":73514,"line_start":406,"line_end":406,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73550,"byte_end":73554,"line_start":407,"line_end":407,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73537,"byte_end":73548,"line_start":407,"line_end":407,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73550,"byte_end":73554,"line_start":407,"line_end":407,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73537,"byte_end":73548,"line_start":407,"line_end":407,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73578,"byte_end":73587,"line_start":407,"line_end":407,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73569,"byte_end":73576,"line_start":407,"line_end":407,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73588,"byte_end":73594,"line_start":407,"line_end":407,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73596,"byte_end":73602,"line_start":407,"line_end":407,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73604,"byte_end":73611,"line_start":407,"line_end":407,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73623,"byte_end":73635,"line_start":407,"line_end":407,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73614,"byte_end":73621,"line_start":407,"line_end":407,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73637,"byte_end":73643,"line_start":407,"line_end":407,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73645,"byte_end":73651,"line_start":407,"line_end":407,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73687,"byte_end":73691,"line_start":408,"line_end":408,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73674,"byte_end":73685,"line_start":408,"line_end":408,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73687,"byte_end":73691,"line_start":408,"line_end":408,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73674,"byte_end":73685,"line_start":408,"line_end":408,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73715,"byte_end":73724,"line_start":408,"line_end":408,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73706,"byte_end":73713,"line_start":408,"line_end":408,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73725,"byte_end":73731,"line_start":408,"line_end":408,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73733,"byte_end":73739,"line_start":408,"line_end":408,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73741,"byte_end":73748,"line_start":408,"line_end":408,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73760,"byte_end":73772,"line_start":408,"line_end":408,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73751,"byte_end":73758,"line_start":408,"line_end":408,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73774,"byte_end":73780,"line_start":408,"line_end":408,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73782,"byte_end":73788,"line_start":408,"line_end":408,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73824,"byte_end":73828,"line_start":409,"line_end":409,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73811,"byte_end":73822,"line_start":409,"line_end":409,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73824,"byte_end":73828,"line_start":409,"line_end":409,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73811,"byte_end":73822,"line_start":409,"line_end":409,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73852,"byte_end":73861,"line_start":409,"line_end":409,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73843,"byte_end":73850,"line_start":409,"line_end":409,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73862,"byte_end":73868,"line_start":409,"line_end":409,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73870,"byte_end":73876,"line_start":409,"line_end":409,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73878,"byte_end":73885,"line_start":409,"line_end":409,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":73897,"byte_end":73909,"line_start":409,"line_end":409,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1722}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73888,"byte_end":73895,"line_start":409,"line_end":409,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73911,"byte_end":73917,"line_start":409,"line_end":409,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":73919,"byte_end":73925,"line_start":409,"line_end":409,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73961,"byte_end":73967,"line_start":410,"line_end":410,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73948,"byte_end":73959,"line_start":410,"line_end":410,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73961,"byte_end":73967,"line_start":410,"line_end":410,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":73948,"byte_end":73959,"line_start":410,"line_end":410,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74020,"byte_end":74028,"line_start":411,"line_end":411,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1844}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74009,"byte_end":74018,"line_start":411,"line_end":411,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74030,"byte_end":74036,"line_start":411,"line_end":411,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74038,"byte_end":74044,"line_start":411,"line_end":411,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74108,"byte_end":74117,"line_start":412,"line_end":412,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74102,"byte_end":74107,"line_start":412,"line_end":412,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2099250863}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74118,"byte_end":74124,"line_start":412,"line_end":412,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74073,"byte_end":74077,"line_start":412,"line_end":412,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74175,"byte_end":74179,"line_start":413,"line_end":413,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3273655983}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74155,"byte_end":74159,"line_start":413,"line_end":413,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74217,"byte_end":74224,"line_start":414,"line_end":414,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74206,"byte_end":74215,"line_start":414,"line_end":414,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74237,"byte_end":74242,"line_start":414,"line_end":414,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74225,"byte_end":74236,"line_start":414,"line_end":414,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4078962351}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74246,"byte_end":74252,"line_start":414,"line_end":414,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74336,"byte_end":74341,"line_start":418,"line_end":418,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74323,"byte_end":74334,"line_start":418,"line_end":418,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74336,"byte_end":74341,"line_start":418,"line_end":418,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74323,"byte_end":74334,"line_start":418,"line_end":418,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74394,"byte_end":74402,"line_start":419,"line_end":419,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2163}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74384,"byte_end":74392,"line_start":419,"line_end":419,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74404,"byte_end":74410,"line_start":419,"line_end":419,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74412,"byte_end":74418,"line_start":419,"line_end":419,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74476,"byte_end":74485,"line_start":420,"line_end":420,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74470,"byte_end":74475,"line_start":420,"line_end":420,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1889535663}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74486,"byte_end":74492,"line_start":420,"line_end":420,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74447,"byte_end":74451,"line_start":420,"line_end":420,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74550,"byte_end":74554,"line_start":421,"line_end":421,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1218447023}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74530,"byte_end":74534,"line_start":421,"line_end":421,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74592,"byte_end":74599,"line_start":422,"line_end":422,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74581,"byte_end":74590,"line_start":422,"line_end":422,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74612,"byte_end":74617,"line_start":422,"line_end":422,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74600,"byte_end":74611,"line_start":422,"line_end":422,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4171237039}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74621,"byte_end":74627,"line_start":422,"line_end":422,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74711,"byte_end":74715,"line_start":426,"line_end":426,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74698,"byte_end":74709,"line_start":426,"line_end":426,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74711,"byte_end":74715,"line_start":426,"line_end":426,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74698,"byte_end":74709,"line_start":426,"line_end":426,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74767,"byte_end":74775,"line_start":427,"line_end":427,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2058}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74758,"byte_end":74765,"line_start":427,"line_end":427,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74777,"byte_end":74783,"line_start":427,"line_end":427,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74785,"byte_end":74791,"line_start":427,"line_end":427,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74857,"byte_end":74866,"line_start":428,"line_end":428,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74852,"byte_end":74856,"line_start":428,"line_end":428,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":111150767}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74867,"byte_end":74873,"line_start":428,"line_end":428,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74829,"byte_end":74833,"line_start":428,"line_end":428,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74924,"byte_end":74928,"line_start":429,"line_end":429,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":648021679}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74904,"byte_end":74908,"line_start":429,"line_end":429,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74966,"byte_end":74973,"line_start":430,"line_end":430,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":74955,"byte_end":74964,"line_start":430,"line_end":430,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":74986,"byte_end":74991,"line_start":430,"line_end":430,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74974,"byte_end":74985,"line_start":430,"line_end":430,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":245368495}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":74995,"byte_end":75001,"line_start":430,"line_end":430,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75085,"byte_end":75088,"line_start":434,"line_end":434,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75072,"byte_end":75083,"line_start":434,"line_end":434,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75085,"byte_end":75088,"line_start":434,"line_end":434,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75072,"byte_end":75083,"line_start":434,"line_end":434,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75139,"byte_end":75147,"line_start":435,"line_end":435,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75131,"byte_end":75137,"line_start":435,"line_end":435,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75149,"byte_end":75155,"line_start":435,"line_end":435,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743535}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75157,"byte_end":75163,"line_start":435,"line_end":435,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536872623}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75226,"byte_end":75235,"line_start":436,"line_end":436,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75222,"byte_end":75225,"line_start":436,"line_end":436,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":228591279}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75236,"byte_end":75242,"line_start":436,"line_end":436,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75192,"byte_end":75196,"line_start":436,"line_end":436,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75277,"byte_end":75284,"line_start":437,"line_end":437,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75266,"byte_end":75275,"line_start":437,"line_end":437,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75297,"byte_end":75302,"line_start":437,"line_end":437,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75285,"byte_end":75296,"line_start":437,"line_end":437,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":765462191}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75306,"byte_end":75312,"line_start":437,"line_end":437,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872623}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75373,"byte_end":75375,"line_start":440,"line_end":440,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75403,"byte_end":75405,"line_start":443,"line_end":443,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75487,"byte_end":75496,"line_start":447,"line_end":447,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75507,"byte_end":75516,"line_start":447,"line_end":447,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75521,"byte_end":75527,"line_start":447,"line_end":447,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75534,"byte_end":75542,"line_start":447,"line_end":447,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75558,"byte_end":75564,"line_start":449,"line_end":449,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75565,"byte_end":75576,"line_start":449,"line_end":449,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75598,"byte_end":75603,"line_start":449,"line_end":449,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75580,"byte_end":75596,"line_start":449,"line_end":449,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3545}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75625,"byte_end":75636,"line_start":450,"line_end":450,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75618,"byte_end":75624,"line_start":450,"line_end":450,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75639,"byte_end":75645,"line_start":450,"line_end":450,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75646,"byte_end":75655,"line_start":450,"line_end":450,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75698,"byte_end":75708,"line_start":453,"line_end":453,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75691,"byte_end":75697,"line_start":453,"line_end":453,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536872624}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75709,"byte_end":75715,"line_start":453,"line_end":453,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75716,"byte_end":75727,"line_start":453,"line_end":453,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75729,"byte_end":75730,"line_start":453,"line_end":453,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75758,"byte_end":75765,"line_start":454,"line_end":454,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75745,"byte_end":75756,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75758,"byte_end":75765,"line_start":454,"line_end":454,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75745,"byte_end":75756,"line_start":454,"line_end":454,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75786,"byte_end":75795,"line_start":454,"line_end":454,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75796,"byte_end":75802,"line_start":454,"line_end":454,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75804,"byte_end":75810,"line_start":454,"line_end":454,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75812,"byte_end":75819,"line_start":454,"line_end":454,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75830,"byte_end":75842,"line_start":454,"line_end":454,"column_start":98,"column_end":110},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75844,"byte_end":75850,"line_start":454,"line_end":454,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75852,"byte_end":75858,"line_start":454,"line_end":454,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75894,"byte_end":75904,"line_start":455,"line_end":455,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75881,"byte_end":75892,"line_start":455,"line_end":455,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75894,"byte_end":75904,"line_start":455,"line_end":455,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75881,"byte_end":75892,"line_start":455,"line_end":455,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75922,"byte_end":75931,"line_start":455,"line_end":455,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75914,"byte_end":75920,"line_start":455,"line_end":455,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75932,"byte_end":75938,"line_start":455,"line_end":455,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75940,"byte_end":75946,"line_start":455,"line_end":455,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75948,"byte_end":75955,"line_start":455,"line_end":455,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":75967,"byte_end":75979,"line_start":455,"line_end":455,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":75959,"byte_end":75965,"line_start":455,"line_end":455,"column_start":91,"column_end":97},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75981,"byte_end":75987,"line_start":455,"line_end":455,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":75989,"byte_end":75995,"line_start":455,"line_end":455,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76031,"byte_end":76036,"line_start":456,"line_end":456,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76018,"byte_end":76029,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76031,"byte_end":76036,"line_start":456,"line_end":456,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76018,"byte_end":76029,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76059,"byte_end":76068,"line_start":456,"line_end":456,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76049,"byte_end":76057,"line_start":456,"line_end":456,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76069,"byte_end":76075,"line_start":456,"line_end":456,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76077,"byte_end":76083,"line_start":456,"line_end":456,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76085,"byte_end":76092,"line_start":456,"line_end":456,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76104,"byte_end":76116,"line_start":456,"line_end":456,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76094,"byte_end":76102,"line_start":456,"line_end":456,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76118,"byte_end":76124,"line_start":456,"line_end":456,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76126,"byte_end":76132,"line_start":456,"line_end":456,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76168,"byte_end":76172,"line_start":457,"line_end":457,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76155,"byte_end":76166,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76168,"byte_end":76172,"line_start":457,"line_end":457,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76155,"byte_end":76166,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76196,"byte_end":76205,"line_start":457,"line_end":457,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76206,"byte_end":76212,"line_start":457,"line_end":457,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76214,"byte_end":76220,"line_start":457,"line_end":457,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76222,"byte_end":76229,"line_start":457,"line_end":457,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76241,"byte_end":76253,"line_start":457,"line_end":457,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76255,"byte_end":76261,"line_start":457,"line_end":457,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76263,"byte_end":76269,"line_start":457,"line_end":457,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76305,"byte_end":76310,"line_start":458,"line_end":458,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76292,"byte_end":76303,"line_start":458,"line_end":458,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76305,"byte_end":76310,"line_start":458,"line_end":458,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76292,"byte_end":76303,"line_start":458,"line_end":458,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76333,"byte_end":76342,"line_start":458,"line_end":458,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76343,"byte_end":76349,"line_start":458,"line_end":458,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76351,"byte_end":76357,"line_start":458,"line_end":458,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76359,"byte_end":76366,"line_start":458,"line_end":458,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76378,"byte_end":76390,"line_start":458,"line_end":458,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76392,"byte_end":76398,"line_start":458,"line_end":458,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76400,"byte_end":76406,"line_start":458,"line_end":458,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76442,"byte_end":76447,"line_start":459,"line_end":459,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76429,"byte_end":76440,"line_start":459,"line_end":459,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76442,"byte_end":76447,"line_start":459,"line_end":459,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76429,"byte_end":76440,"line_start":459,"line_end":459,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76470,"byte_end":76479,"line_start":459,"line_end":459,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76480,"byte_end":76486,"line_start":459,"line_end":459,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76488,"byte_end":76494,"line_start":459,"line_end":459,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76496,"byte_end":76503,"line_start":459,"line_end":459,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76515,"byte_end":76527,"line_start":459,"line_end":459,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76529,"byte_end":76535,"line_start":459,"line_end":459,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76537,"byte_end":76543,"line_start":459,"line_end":459,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76579,"byte_end":76584,"line_start":460,"line_end":460,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76566,"byte_end":76577,"line_start":460,"line_end":460,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76579,"byte_end":76584,"line_start":460,"line_end":460,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76566,"byte_end":76577,"line_start":460,"line_end":460,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76607,"byte_end":76616,"line_start":460,"line_end":460,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76617,"byte_end":76623,"line_start":460,"line_end":460,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76625,"byte_end":76631,"line_start":460,"line_end":460,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76633,"byte_end":76640,"line_start":460,"line_end":460,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76652,"byte_end":76664,"line_start":460,"line_end":460,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76666,"byte_end":76672,"line_start":460,"line_end":460,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76674,"byte_end":76680,"line_start":460,"line_end":460,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76716,"byte_end":76721,"line_start":461,"line_end":461,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76703,"byte_end":76714,"line_start":461,"line_end":461,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76716,"byte_end":76721,"line_start":461,"line_end":461,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76703,"byte_end":76714,"line_start":461,"line_end":461,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76744,"byte_end":76753,"line_start":461,"line_end":461,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76754,"byte_end":76760,"line_start":461,"line_end":461,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76762,"byte_end":76768,"line_start":461,"line_end":461,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76770,"byte_end":76777,"line_start":461,"line_end":461,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76789,"byte_end":76801,"line_start":461,"line_end":461,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76803,"byte_end":76809,"line_start":461,"line_end":461,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76811,"byte_end":76817,"line_start":461,"line_end":461,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76853,"byte_end":76859,"line_start":462,"line_end":462,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76840,"byte_end":76851,"line_start":462,"line_end":462,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76853,"byte_end":76859,"line_start":462,"line_end":462,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76840,"byte_end":76851,"line_start":462,"line_end":462,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76881,"byte_end":76890,"line_start":462,"line_end":462,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76891,"byte_end":76897,"line_start":462,"line_end":462,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76899,"byte_end":76905,"line_start":462,"line_end":462,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76907,"byte_end":76914,"line_start":462,"line_end":462,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":76926,"byte_end":76938,"line_start":462,"line_end":462,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76940,"byte_end":76946,"line_start":462,"line_end":462,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":76948,"byte_end":76954,"line_start":462,"line_end":462,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76990,"byte_end":76996,"line_start":463,"line_end":463,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76977,"byte_end":76988,"line_start":463,"line_end":463,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76990,"byte_end":76996,"line_start":463,"line_end":463,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":76977,"byte_end":76988,"line_start":463,"line_end":463,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77018,"byte_end":77027,"line_start":463,"line_end":463,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77028,"byte_end":77034,"line_start":463,"line_end":463,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77036,"byte_end":77042,"line_start":463,"line_end":463,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77044,"byte_end":77051,"line_start":463,"line_end":463,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77063,"byte_end":77075,"line_start":463,"line_end":463,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77077,"byte_end":77083,"line_start":463,"line_end":463,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77085,"byte_end":77091,"line_start":463,"line_end":463,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77127,"byte_end":77133,"line_start":464,"line_end":464,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77114,"byte_end":77125,"line_start":464,"line_end":464,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77127,"byte_end":77133,"line_start":464,"line_end":464,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77114,"byte_end":77125,"line_start":464,"line_end":464,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77155,"byte_end":77164,"line_start":464,"line_end":464,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77165,"byte_end":77171,"line_start":464,"line_end":464,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77173,"byte_end":77179,"line_start":464,"line_end":464,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77181,"byte_end":77188,"line_start":464,"line_end":464,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77200,"byte_end":77212,"line_start":464,"line_end":464,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77214,"byte_end":77220,"line_start":464,"line_end":464,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77222,"byte_end":77228,"line_start":464,"line_end":464,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77264,"byte_end":77269,"line_start":465,"line_end":465,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77251,"byte_end":77262,"line_start":465,"line_end":465,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77264,"byte_end":77269,"line_start":465,"line_end":465,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77251,"byte_end":77262,"line_start":465,"line_end":465,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77292,"byte_end":77301,"line_start":465,"line_end":465,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77302,"byte_end":77308,"line_start":465,"line_end":465,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77310,"byte_end":77316,"line_start":465,"line_end":465,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77318,"byte_end":77325,"line_start":465,"line_end":465,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77337,"byte_end":77349,"line_start":465,"line_end":465,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77351,"byte_end":77357,"line_start":465,"line_end":465,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77359,"byte_end":77365,"line_start":465,"line_end":465,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77401,"byte_end":77407,"line_start":466,"line_end":466,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77388,"byte_end":77399,"line_start":466,"line_end":466,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77401,"byte_end":77407,"line_start":466,"line_end":466,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77388,"byte_end":77399,"line_start":466,"line_end":466,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77429,"byte_end":77438,"line_start":466,"line_end":466,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77439,"byte_end":77445,"line_start":466,"line_end":466,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77447,"byte_end":77453,"line_start":466,"line_end":466,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77455,"byte_end":77462,"line_start":466,"line_end":466,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77474,"byte_end":77486,"line_start":466,"line_end":466,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77488,"byte_end":77494,"line_start":466,"line_end":466,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77496,"byte_end":77502,"line_start":466,"line_end":466,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77538,"byte_end":77545,"line_start":467,"line_end":467,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77525,"byte_end":77536,"line_start":467,"line_end":467,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77538,"byte_end":77545,"line_start":467,"line_end":467,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77525,"byte_end":77536,"line_start":467,"line_end":467,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77566,"byte_end":77575,"line_start":467,"line_end":467,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77558,"byte_end":77564,"line_start":467,"line_end":467,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77576,"byte_end":77582,"line_start":467,"line_end":467,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77584,"byte_end":77590,"line_start":467,"line_end":467,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77592,"byte_end":77599,"line_start":467,"line_end":467,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77611,"byte_end":77623,"line_start":467,"line_end":467,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77603,"byte_end":77609,"line_start":467,"line_end":467,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77625,"byte_end":77631,"line_start":467,"line_end":467,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77633,"byte_end":77639,"line_start":467,"line_end":467,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77675,"byte_end":77678,"line_start":468,"line_end":468,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77662,"byte_end":77673,"line_start":468,"line_end":468,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77675,"byte_end":77678,"line_start":468,"line_end":468,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77662,"byte_end":77673,"line_start":468,"line_end":468,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77703,"byte_end":77712,"line_start":468,"line_end":468,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77695,"byte_end":77701,"line_start":468,"line_end":468,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77713,"byte_end":77719,"line_start":468,"line_end":468,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77721,"byte_end":77727,"line_start":468,"line_end":468,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77729,"byte_end":77736,"line_start":468,"line_end":468,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77748,"byte_end":77760,"line_start":468,"line_end":468,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77740,"byte_end":77746,"line_start":468,"line_end":468,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77762,"byte_end":77768,"line_start":468,"line_end":468,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77770,"byte_end":77776,"line_start":468,"line_end":468,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77812,"byte_end":77816,"line_start":469,"line_end":469,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77799,"byte_end":77810,"line_start":469,"line_end":469,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77812,"byte_end":77816,"line_start":469,"line_end":469,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77799,"byte_end":77810,"line_start":469,"line_end":469,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77840,"byte_end":77849,"line_start":469,"line_end":469,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77831,"byte_end":77838,"line_start":469,"line_end":469,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77850,"byte_end":77856,"line_start":469,"line_end":469,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77858,"byte_end":77864,"line_start":469,"line_end":469,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77866,"byte_end":77873,"line_start":469,"line_end":469,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77885,"byte_end":77897,"line_start":469,"line_end":469,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77876,"byte_end":77883,"line_start":469,"line_end":469,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77899,"byte_end":77905,"line_start":469,"line_end":469,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77907,"byte_end":77913,"line_start":469,"line_end":469,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77949,"byte_end":77953,"line_start":470,"line_end":470,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77936,"byte_end":77947,"line_start":470,"line_end":470,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77949,"byte_end":77953,"line_start":470,"line_end":470,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77936,"byte_end":77947,"line_start":470,"line_end":470,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":77977,"byte_end":77986,"line_start":470,"line_end":470,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":77968,"byte_end":77975,"line_start":470,"line_end":470,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77987,"byte_end":77993,"line_start":470,"line_end":470,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":77995,"byte_end":78001,"line_start":470,"line_end":470,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78003,"byte_end":78010,"line_start":470,"line_end":470,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78022,"byte_end":78034,"line_start":470,"line_end":470,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78013,"byte_end":78020,"line_start":470,"line_end":470,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78036,"byte_end":78042,"line_start":470,"line_end":470,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78044,"byte_end":78050,"line_start":470,"line_end":470,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78086,"byte_end":78090,"line_start":471,"line_end":471,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78073,"byte_end":78084,"line_start":471,"line_end":471,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78086,"byte_end":78090,"line_start":471,"line_end":471,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78073,"byte_end":78084,"line_start":471,"line_end":471,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78114,"byte_end":78123,"line_start":471,"line_end":471,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78105,"byte_end":78112,"line_start":471,"line_end":471,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78124,"byte_end":78130,"line_start":471,"line_end":471,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78132,"byte_end":78138,"line_start":471,"line_end":471,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78140,"byte_end":78147,"line_start":471,"line_end":471,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78159,"byte_end":78171,"line_start":471,"line_end":471,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78150,"byte_end":78157,"line_start":471,"line_end":471,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78173,"byte_end":78179,"line_start":471,"line_end":471,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78181,"byte_end":78187,"line_start":471,"line_end":471,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78223,"byte_end":78227,"line_start":472,"line_end":472,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78210,"byte_end":78221,"line_start":472,"line_end":472,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78223,"byte_end":78227,"line_start":472,"line_end":472,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78210,"byte_end":78221,"line_start":472,"line_end":472,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78251,"byte_end":78260,"line_start":472,"line_end":472,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78242,"byte_end":78249,"line_start":472,"line_end":472,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78261,"byte_end":78267,"line_start":472,"line_end":472,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78269,"byte_end":78275,"line_start":472,"line_end":472,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78277,"byte_end":78284,"line_start":472,"line_end":472,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78296,"byte_end":78308,"line_start":472,"line_end":472,"column_start":99,"column_end":111},"ref_id":{"krate":0,"index":1723}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78287,"byte_end":78294,"line_start":472,"line_end":472,"column_start":90,"column_end":97},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78310,"byte_end":78316,"line_start":472,"line_end":472,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78318,"byte_end":78324,"line_start":472,"line_end":472,"column_start":121,"column_end":127},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78360,"byte_end":78366,"line_start":473,"line_end":473,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78347,"byte_end":78358,"line_start":473,"line_end":473,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78360,"byte_end":78366,"line_start":473,"line_end":473,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78347,"byte_end":78358,"line_start":473,"line_end":473,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78419,"byte_end":78427,"line_start":474,"line_end":474,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1844}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78408,"byte_end":78417,"line_start":474,"line_end":474,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78429,"byte_end":78435,"line_start":474,"line_end":474,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78437,"byte_end":78443,"line_start":474,"line_end":474,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78507,"byte_end":78516,"line_start":475,"line_end":475,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78501,"byte_end":78506,"line_start":475,"line_end":475,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2099250864}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78517,"byte_end":78523,"line_start":475,"line_end":475,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78472,"byte_end":78476,"line_start":475,"line_end":475,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78574,"byte_end":78578,"line_start":476,"line_end":476,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3273655984}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78554,"byte_end":78558,"line_start":476,"line_end":476,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78616,"byte_end":78623,"line_start":477,"line_end":477,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78605,"byte_end":78614,"line_start":477,"line_end":477,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78636,"byte_end":78641,"line_start":477,"line_end":477,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78624,"byte_end":78635,"line_start":477,"line_end":477,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4078962352}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78645,"byte_end":78651,"line_start":477,"line_end":477,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78735,"byte_end":78740,"line_start":481,"line_end":481,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78722,"byte_end":78733,"line_start":481,"line_end":481,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78735,"byte_end":78740,"line_start":481,"line_end":481,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78722,"byte_end":78733,"line_start":481,"line_end":481,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78793,"byte_end":78801,"line_start":482,"line_end":482,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2163}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78783,"byte_end":78791,"line_start":482,"line_end":482,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78803,"byte_end":78809,"line_start":482,"line_end":482,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78811,"byte_end":78817,"line_start":482,"line_end":482,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78875,"byte_end":78884,"line_start":483,"line_end":483,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78869,"byte_end":78874,"line_start":483,"line_end":483,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1889535664}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78885,"byte_end":78891,"line_start":483,"line_end":483,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78846,"byte_end":78850,"line_start":483,"line_end":483,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78949,"byte_end":78953,"line_start":484,"line_end":484,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1218447024}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78929,"byte_end":78933,"line_start":484,"line_end":484,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":78991,"byte_end":78998,"line_start":485,"line_end":485,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":78980,"byte_end":78989,"line_start":485,"line_end":485,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79011,"byte_end":79016,"line_start":485,"line_end":485,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":78999,"byte_end":79010,"line_start":485,"line_end":485,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":4171237040}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79020,"byte_end":79026,"line_start":485,"line_end":485,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79110,"byte_end":79114,"line_start":489,"line_end":489,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79097,"byte_end":79108,"line_start":489,"line_end":489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79110,"byte_end":79114,"line_start":489,"line_end":489,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79097,"byte_end":79108,"line_start":489,"line_end":489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79167,"byte_end":79175,"line_start":490,"line_end":490,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2058}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79158,"byte_end":79165,"line_start":490,"line_end":490,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79177,"byte_end":79183,"line_start":490,"line_end":490,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79185,"byte_end":79191,"line_start":490,"line_end":490,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79257,"byte_end":79266,"line_start":491,"line_end":491,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79252,"byte_end":79256,"line_start":491,"line_end":491,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":111150768}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79267,"byte_end":79273,"line_start":491,"line_end":491,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79229,"byte_end":79233,"line_start":491,"line_end":491,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79324,"byte_end":79328,"line_start":492,"line_end":492,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":648021680}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79304,"byte_end":79308,"line_start":492,"line_end":492,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79366,"byte_end":79373,"line_start":493,"line_end":493,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79355,"byte_end":79364,"line_start":493,"line_end":493,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79386,"byte_end":79391,"line_start":493,"line_end":493,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79374,"byte_end":79385,"line_start":493,"line_end":493,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":245368496}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79395,"byte_end":79401,"line_start":493,"line_end":493,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79485,"byte_end":79488,"line_start":497,"line_end":497,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79472,"byte_end":79483,"line_start":497,"line_end":497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79485,"byte_end":79488,"line_start":497,"line_end":497,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79472,"byte_end":79483,"line_start":497,"line_end":497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79539,"byte_end":79547,"line_start":498,"line_end":498,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79531,"byte_end":79537,"line_start":498,"line_end":498,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79549,"byte_end":79555,"line_start":498,"line_end":498,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743536}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79557,"byte_end":79563,"line_start":498,"line_end":498,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536872624}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79626,"byte_end":79635,"line_start":499,"line_end":499,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79622,"byte_end":79625,"line_start":499,"line_end":499,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":228591280}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79636,"byte_end":79642,"line_start":499,"line_end":499,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79592,"byte_end":79596,"line_start":499,"line_end":499,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79677,"byte_end":79684,"line_start":500,"line_end":500,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79666,"byte_end":79675,"line_start":500,"line_end":500,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":79697,"byte_end":79702,"line_start":500,"line_end":500,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79685,"byte_end":79696,"line_start":500,"line_end":500,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":765462192}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":79706,"byte_end":79712,"line_start":500,"line_end":500,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872624}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79773,"byte_end":79775,"line_start":503,"line_end":503,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":79803,"byte_end":79805,"line_start":506,"line_end":506,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80053,"byte_end":80062,"line_start":512,"line_end":512,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80073,"byte_end":80082,"line_start":512,"line_end":512,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80087,"byte_end":80094,"line_start":512,"line_end":512,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80109,"byte_end":80114,"line_start":514,"line_end":514,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80139,"byte_end":80143,"line_start":514,"line_end":514,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80130,"byte_end":80137,"line_start":514,"line_end":514,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80168,"byte_end":80178,"line_start":516,"line_end":516,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80161,"byte_end":80167,"line_start":516,"line_end":516,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80179,"byte_end":80185,"line_start":516,"line_end":516,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80186,"byte_end":80197,"line_start":516,"line_end":516,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80199,"byte_end":80200,"line_start":516,"line_end":516,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80228,"byte_end":80232,"line_start":517,"line_end":517,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80215,"byte_end":80226,"line_start":517,"line_end":517,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80228,"byte_end":80232,"line_start":517,"line_end":517,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80215,"byte_end":80226,"line_start":517,"line_end":517,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80257,"byte_end":80261,"line_start":517,"line_end":517,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80248,"byte_end":80255,"line_start":517,"line_end":517,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80290,"byte_end":80293,"line_start":518,"line_end":518,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80277,"byte_end":80288,"line_start":518,"line_end":518,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80290,"byte_end":80293,"line_start":518,"line_end":518,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80277,"byte_end":80288,"line_start":518,"line_end":518,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80319,"byte_end":80323,"line_start":518,"line_end":518,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80310,"byte_end":80317,"line_start":518,"line_end":518,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80352,"byte_end":80362,"line_start":519,"line_end":519,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80339,"byte_end":80350,"line_start":519,"line_end":519,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80352,"byte_end":80362,"line_start":519,"line_end":519,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80339,"byte_end":80350,"line_start":519,"line_end":519,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80383,"byte_end":80390,"line_start":519,"line_end":519,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80375,"byte_end":80381,"line_start":519,"line_end":519,"column_start":49,"column_end":55},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80391,"byte_end":80396,"line_start":519,"line_end":519,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80398,"byte_end":80404,"line_start":519,"line_end":519,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80406,"byte_end":80412,"line_start":519,"line_end":519,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80442,"byte_end":80447,"line_start":520,"line_end":520,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80429,"byte_end":80440,"line_start":520,"line_end":520,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80442,"byte_end":80447,"line_start":520,"line_end":520,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80429,"byte_end":80440,"line_start":520,"line_end":520,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80473,"byte_end":80480,"line_start":520,"line_end":520,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80463,"byte_end":80471,"line_start":520,"line_end":520,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80481,"byte_end":80486,"line_start":520,"line_end":520,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80488,"byte_end":80494,"line_start":520,"line_end":520,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80496,"byte_end":80502,"line_start":520,"line_end":520,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80532,"byte_end":80536,"line_start":521,"line_end":521,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80519,"byte_end":80530,"line_start":521,"line_end":521,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80532,"byte_end":80536,"line_start":521,"line_end":521,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80519,"byte_end":80530,"line_start":521,"line_end":521,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80563,"byte_end":80570,"line_start":521,"line_end":521,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80571,"byte_end":80576,"line_start":521,"line_end":521,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80578,"byte_end":80584,"line_start":521,"line_end":521,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80586,"byte_end":80592,"line_start":521,"line_end":521,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80622,"byte_end":80627,"line_start":522,"line_end":522,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80609,"byte_end":80620,"line_start":522,"line_end":522,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80622,"byte_end":80627,"line_start":522,"line_end":522,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80609,"byte_end":80620,"line_start":522,"line_end":522,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80653,"byte_end":80660,"line_start":522,"line_end":522,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80661,"byte_end":80666,"line_start":522,"line_end":522,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80668,"byte_end":80674,"line_start":522,"line_end":522,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80676,"byte_end":80682,"line_start":522,"line_end":522,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80712,"byte_end":80717,"line_start":523,"line_end":523,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80699,"byte_end":80710,"line_start":523,"line_end":523,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80712,"byte_end":80717,"line_start":523,"line_end":523,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80699,"byte_end":80710,"line_start":523,"line_end":523,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80743,"byte_end":80750,"line_start":523,"line_end":523,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80751,"byte_end":80756,"line_start":523,"line_end":523,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80758,"byte_end":80764,"line_start":523,"line_end":523,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80766,"byte_end":80772,"line_start":523,"line_end":523,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80802,"byte_end":80807,"line_start":524,"line_end":524,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80789,"byte_end":80800,"line_start":524,"line_end":524,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80802,"byte_end":80807,"line_start":524,"line_end":524,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80789,"byte_end":80800,"line_start":524,"line_end":524,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80833,"byte_end":80840,"line_start":524,"line_end":524,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80841,"byte_end":80846,"line_start":524,"line_end":524,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80848,"byte_end":80854,"line_start":524,"line_end":524,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80856,"byte_end":80862,"line_start":524,"line_end":524,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80892,"byte_end":80897,"line_start":525,"line_end":525,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80879,"byte_end":80890,"line_start":525,"line_end":525,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80892,"byte_end":80897,"line_start":525,"line_end":525,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80879,"byte_end":80890,"line_start":525,"line_end":525,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":80923,"byte_end":80930,"line_start":525,"line_end":525,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80931,"byte_end":80936,"line_start":525,"line_end":525,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80938,"byte_end":80944,"line_start":525,"line_end":525,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":80946,"byte_end":80952,"line_start":525,"line_end":525,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80982,"byte_end":80988,"line_start":526,"line_end":526,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80969,"byte_end":80980,"line_start":526,"line_end":526,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80982,"byte_end":80988,"line_start":526,"line_end":526,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":80969,"byte_end":80980,"line_start":526,"line_end":526,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81013,"byte_end":81020,"line_start":526,"line_end":526,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81021,"byte_end":81026,"line_start":526,"line_end":526,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81028,"byte_end":81034,"line_start":526,"line_end":526,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81036,"byte_end":81042,"line_start":526,"line_end":526,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81072,"byte_end":81078,"line_start":527,"line_end":527,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81059,"byte_end":81070,"line_start":527,"line_end":527,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81072,"byte_end":81078,"line_start":527,"line_end":527,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81059,"byte_end":81070,"line_start":527,"line_end":527,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81103,"byte_end":81110,"line_start":527,"line_end":527,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81111,"byte_end":81116,"line_start":527,"line_end":527,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81118,"byte_end":81124,"line_start":527,"line_end":527,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81126,"byte_end":81132,"line_start":527,"line_end":527,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81162,"byte_end":81168,"line_start":528,"line_end":528,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81149,"byte_end":81160,"line_start":528,"line_end":528,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81162,"byte_end":81168,"line_start":528,"line_end":528,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81149,"byte_end":81160,"line_start":528,"line_end":528,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81193,"byte_end":81200,"line_start":528,"line_end":528,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81201,"byte_end":81206,"line_start":528,"line_end":528,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81208,"byte_end":81214,"line_start":528,"line_end":528,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81216,"byte_end":81222,"line_start":528,"line_end":528,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81252,"byte_end":81257,"line_start":529,"line_end":529,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81239,"byte_end":81250,"line_start":529,"line_end":529,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81252,"byte_end":81257,"line_start":529,"line_end":529,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81239,"byte_end":81250,"line_start":529,"line_end":529,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81283,"byte_end":81290,"line_start":529,"line_end":529,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81291,"byte_end":81296,"line_start":529,"line_end":529,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81298,"byte_end":81304,"line_start":529,"line_end":529,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81306,"byte_end":81312,"line_start":529,"line_end":529,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81342,"byte_end":81348,"line_start":530,"line_end":530,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81329,"byte_end":81340,"line_start":530,"line_end":530,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81342,"byte_end":81348,"line_start":530,"line_end":530,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81329,"byte_end":81340,"line_start":530,"line_end":530,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81373,"byte_end":81380,"line_start":530,"line_end":530,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81381,"byte_end":81386,"line_start":530,"line_end":530,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81388,"byte_end":81394,"line_start":530,"line_end":530,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81396,"byte_end":81402,"line_start":530,"line_end":530,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81432,"byte_end":81439,"line_start":531,"line_end":531,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81419,"byte_end":81430,"line_start":531,"line_end":531,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81432,"byte_end":81439,"line_start":531,"line_end":531,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81419,"byte_end":81430,"line_start":531,"line_end":531,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81463,"byte_end":81470,"line_start":531,"line_end":531,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81455,"byte_end":81461,"line_start":531,"line_end":531,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81471,"byte_end":81476,"line_start":531,"line_end":531,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81478,"byte_end":81484,"line_start":531,"line_end":531,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81486,"byte_end":81492,"line_start":531,"line_end":531,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81522,"byte_end":81529,"line_start":532,"line_end":532,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81509,"byte_end":81520,"line_start":532,"line_end":532,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81522,"byte_end":81529,"line_start":532,"line_end":532,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81509,"byte_end":81520,"line_start":532,"line_end":532,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81553,"byte_end":81560,"line_start":532,"line_end":532,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81561,"byte_end":81566,"line_start":532,"line_end":532,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81568,"byte_end":81574,"line_start":532,"line_end":532,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81576,"byte_end":81582,"line_start":532,"line_end":532,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81612,"byte_end":81615,"line_start":533,"line_end":533,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81599,"byte_end":81610,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81612,"byte_end":81615,"line_start":533,"line_end":533,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81599,"byte_end":81610,"line_start":533,"line_end":533,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81643,"byte_end":81650,"line_start":533,"line_end":533,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81635,"byte_end":81641,"line_start":533,"line_end":533,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81651,"byte_end":81656,"line_start":533,"line_end":533,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81658,"byte_end":81664,"line_start":533,"line_end":533,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81666,"byte_end":81672,"line_start":533,"line_end":533,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81702,"byte_end":81706,"line_start":534,"line_end":534,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81689,"byte_end":81700,"line_start":534,"line_end":534,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81702,"byte_end":81706,"line_start":534,"line_end":534,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81689,"byte_end":81700,"line_start":534,"line_end":534,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81733,"byte_end":81740,"line_start":534,"line_end":534,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81724,"byte_end":81731,"line_start":534,"line_end":534,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81741,"byte_end":81746,"line_start":534,"line_end":534,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81748,"byte_end":81754,"line_start":534,"line_end":534,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81756,"byte_end":81762,"line_start":534,"line_end":534,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81792,"byte_end":81796,"line_start":535,"line_end":535,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81779,"byte_end":81790,"line_start":535,"line_end":535,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81792,"byte_end":81796,"line_start":535,"line_end":535,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81779,"byte_end":81790,"line_start":535,"line_end":535,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81823,"byte_end":81830,"line_start":535,"line_end":535,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81814,"byte_end":81821,"line_start":535,"line_end":535,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81831,"byte_end":81836,"line_start":535,"line_end":535,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81838,"byte_end":81844,"line_start":535,"line_end":535,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81846,"byte_end":81852,"line_start":535,"line_end":535,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81882,"byte_end":81886,"line_start":536,"line_end":536,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81869,"byte_end":81880,"line_start":536,"line_end":536,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81882,"byte_end":81886,"line_start":536,"line_end":536,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81869,"byte_end":81880,"line_start":536,"line_end":536,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":81913,"byte_end":81920,"line_start":536,"line_end":536,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81904,"byte_end":81911,"line_start":536,"line_end":536,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81921,"byte_end":81926,"line_start":536,"line_end":536,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81928,"byte_end":81934,"line_start":536,"line_end":536,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":81936,"byte_end":81942,"line_start":536,"line_end":536,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81972,"byte_end":81976,"line_start":537,"line_end":537,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81959,"byte_end":81970,"line_start":537,"line_end":537,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81972,"byte_end":81976,"line_start":537,"line_end":537,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81959,"byte_end":81970,"line_start":537,"line_end":537,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82003,"byte_end":82010,"line_start":537,"line_end":537,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":81994,"byte_end":82001,"line_start":537,"line_end":537,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82011,"byte_end":82016,"line_start":537,"line_end":537,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82018,"byte_end":82024,"line_start":537,"line_end":537,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82026,"byte_end":82032,"line_start":537,"line_end":537,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82062,"byte_end":82068,"line_start":538,"line_end":538,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82049,"byte_end":82060,"line_start":538,"line_end":538,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82062,"byte_end":82068,"line_start":538,"line_end":538,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82049,"byte_end":82060,"line_start":538,"line_end":538,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82093,"byte_end":82100,"line_start":538,"line_end":538,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82082,"byte_end":82091,"line_start":538,"line_end":538,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82101,"byte_end":82106,"line_start":538,"line_end":538,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82108,"byte_end":82114,"line_start":538,"line_end":538,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82116,"byte_end":82122,"line_start":538,"line_end":538,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82152,"byte_end":82155,"line_start":539,"line_end":539,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82139,"byte_end":82150,"line_start":539,"line_end":539,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82152,"byte_end":82155,"line_start":539,"line_end":539,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82139,"byte_end":82150,"line_start":539,"line_end":539,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82183,"byte_end":82190,"line_start":539,"line_end":539,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82175,"byte_end":82181,"line_start":539,"line_end":539,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82191,"byte_end":82196,"line_start":539,"line_end":539,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82198,"byte_end":82204,"line_start":539,"line_end":539,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82206,"byte_end":82212,"line_start":539,"line_end":539,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82242,"byte_end":82246,"line_start":540,"line_end":540,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82229,"byte_end":82240,"line_start":540,"line_end":540,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82242,"byte_end":82246,"line_start":540,"line_end":540,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82229,"byte_end":82240,"line_start":540,"line_end":540,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82273,"byte_end":82280,"line_start":540,"line_end":540,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82264,"byte_end":82271,"line_start":540,"line_end":540,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82281,"byte_end":82286,"line_start":540,"line_end":540,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82288,"byte_end":82294,"line_start":540,"line_end":540,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82296,"byte_end":82302,"line_start":540,"line_end":540,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82332,"byte_end":82337,"line_start":541,"line_end":541,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82319,"byte_end":82330,"line_start":541,"line_end":541,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82332,"byte_end":82337,"line_start":541,"line_end":541,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82319,"byte_end":82330,"line_start":541,"line_end":541,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82363,"byte_end":82370,"line_start":541,"line_end":541,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82353,"byte_end":82361,"line_start":541,"line_end":541,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82371,"byte_end":82376,"line_start":541,"line_end":541,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82378,"byte_end":82384,"line_start":541,"line_end":541,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82386,"byte_end":82392,"line_start":541,"line_end":541,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82422,"byte_end":82428,"line_start":542,"line_end":542,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82409,"byte_end":82420,"line_start":542,"line_end":542,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82422,"byte_end":82428,"line_start":542,"line_end":542,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82409,"byte_end":82420,"line_start":542,"line_end":542,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82453,"byte_end":82460,"line_start":542,"line_end":542,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":1739}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82442,"byte_end":82451,"line_start":542,"line_end":542,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82461,"byte_end":82466,"line_start":542,"line_end":542,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073743537}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82468,"byte_end":82474,"line_start":542,"line_end":542,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":536872625}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82476,"byte_end":82482,"line_start":542,"line_end":542,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610614449}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82723,"byte_end":82732,"line_start":550,"line_end":550,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82748,"byte_end":82757,"line_start":550,"line_end":550,"column_start":72,"column_end":81},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82770,"byte_end":82779,"line_start":550,"line_end":550,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82793,"byte_end":82802,"line_start":550,"line_end":550,"column_start":117,"column_end":126},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82807,"byte_end":82813,"line_start":550,"line_end":550,"column_start":131,"column_end":137},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82814,"byte_end":82823,"line_start":550,"line_end":550,"column_start":138,"column_end":147},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82825,"byte_end":82833,"line_start":550,"line_end":550,"column_start":149,"column_end":157},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82849,"byte_end":82854,"line_start":552,"line_end":552,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82870,"byte_end":82873,"line_start":552,"line_end":552,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82884,"byte_end":82898,"line_start":552,"line_end":552,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":4066}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82874,"byte_end":82882,"line_start":552,"line_end":552,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":82928,"byte_end":82938,"line_start":554,"line_end":554,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82916,"byte_end":82927,"line_start":554,"line_end":554,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82939,"byte_end":82950,"line_start":554,"line_end":554,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82951,"byte_end":82962,"line_start":554,"line_end":554,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":82964,"byte_end":82965,"line_start":554,"line_end":554,"column_start":63,"column_end":64},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82993,"byte_end":82996,"line_start":555,"line_end":555,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82980,"byte_end":82991,"line_start":555,"line_end":555,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82993,"byte_end":82996,"line_start":555,"line_end":555,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":82980,"byte_end":82991,"line_start":555,"line_end":555,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83012,"byte_end":83014,"line_start":555,"line_end":555,"column_start":45,"column_end":47},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83015,"byte_end":83024,"line_start":555,"line_end":555,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":268437170}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83053,"byte_end":83063,"line_start":556,"line_end":556,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83040,"byte_end":83051,"line_start":556,"line_end":556,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83053,"byte_end":83063,"line_start":556,"line_end":556,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83040,"byte_end":83051,"line_start":556,"line_end":556,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83083,"byte_end":83093,"line_start":556,"line_end":556,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83075,"byte_end":83081,"line_start":556,"line_end":556,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83094,"byte_end":83099,"line_start":556,"line_end":556,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83101,"byte_end":83112,"line_start":556,"line_end":556,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83114,"byte_end":83125,"line_start":556,"line_end":556,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83127,"byte_end":83136,"line_start":556,"line_end":556,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83138,"byte_end":83147,"line_start":556,"line_end":556,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83176,"byte_end":83181,"line_start":557,"line_end":557,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83163,"byte_end":83174,"line_start":557,"line_end":557,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83176,"byte_end":83181,"line_start":557,"line_end":557,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83163,"byte_end":83174,"line_start":557,"line_end":557,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83206,"byte_end":83216,"line_start":557,"line_end":557,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83196,"byte_end":83204,"line_start":557,"line_end":557,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83217,"byte_end":83222,"line_start":557,"line_end":557,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83224,"byte_end":83235,"line_start":557,"line_end":557,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83237,"byte_end":83248,"line_start":557,"line_end":557,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83250,"byte_end":83259,"line_start":557,"line_end":557,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83261,"byte_end":83270,"line_start":557,"line_end":557,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83299,"byte_end":83303,"line_start":558,"line_end":558,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83286,"byte_end":83297,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83299,"byte_end":83303,"line_start":558,"line_end":558,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83286,"byte_end":83297,"line_start":558,"line_end":558,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83329,"byte_end":83339,"line_start":558,"line_end":558,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83340,"byte_end":83345,"line_start":558,"line_end":558,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83347,"byte_end":83358,"line_start":558,"line_end":558,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83360,"byte_end":83371,"line_start":558,"line_end":558,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83373,"byte_end":83382,"line_start":558,"line_end":558,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83384,"byte_end":83393,"line_start":558,"line_end":558,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83422,"byte_end":83427,"line_start":559,"line_end":559,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83409,"byte_end":83420,"line_start":559,"line_end":559,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83422,"byte_end":83427,"line_start":559,"line_end":559,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83409,"byte_end":83420,"line_start":559,"line_end":559,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83452,"byte_end":83462,"line_start":559,"line_end":559,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83463,"byte_end":83468,"line_start":559,"line_end":559,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83470,"byte_end":83481,"line_start":559,"line_end":559,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83483,"byte_end":83494,"line_start":559,"line_end":559,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83496,"byte_end":83505,"line_start":559,"line_end":559,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83507,"byte_end":83516,"line_start":559,"line_end":559,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83545,"byte_end":83550,"line_start":560,"line_end":560,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83532,"byte_end":83543,"line_start":560,"line_end":560,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83545,"byte_end":83550,"line_start":560,"line_end":560,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83532,"byte_end":83543,"line_start":560,"line_end":560,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83575,"byte_end":83585,"line_start":560,"line_end":560,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83586,"byte_end":83591,"line_start":560,"line_end":560,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83593,"byte_end":83604,"line_start":560,"line_end":560,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83606,"byte_end":83617,"line_start":560,"line_end":560,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83619,"byte_end":83628,"line_start":560,"line_end":560,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83630,"byte_end":83639,"line_start":560,"line_end":560,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83668,"byte_end":83673,"line_start":561,"line_end":561,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83655,"byte_end":83666,"line_start":561,"line_end":561,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83668,"byte_end":83673,"line_start":561,"line_end":561,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83655,"byte_end":83666,"line_start":561,"line_end":561,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83698,"byte_end":83708,"line_start":561,"line_end":561,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83709,"byte_end":83714,"line_start":561,"line_end":561,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83716,"byte_end":83727,"line_start":561,"line_end":561,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83729,"byte_end":83740,"line_start":561,"line_end":561,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83742,"byte_end":83751,"line_start":561,"line_end":561,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83753,"byte_end":83762,"line_start":561,"line_end":561,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83791,"byte_end":83796,"line_start":562,"line_end":562,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83778,"byte_end":83789,"line_start":562,"line_end":562,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83791,"byte_end":83796,"line_start":562,"line_end":562,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83778,"byte_end":83789,"line_start":562,"line_end":562,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83821,"byte_end":83831,"line_start":562,"line_end":562,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83832,"byte_end":83837,"line_start":562,"line_end":562,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83839,"byte_end":83850,"line_start":562,"line_end":562,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83852,"byte_end":83863,"line_start":562,"line_end":562,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83865,"byte_end":83874,"line_start":562,"line_end":562,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83876,"byte_end":83885,"line_start":562,"line_end":562,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83914,"byte_end":83920,"line_start":563,"line_end":563,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83901,"byte_end":83912,"line_start":563,"line_end":563,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83914,"byte_end":83920,"line_start":563,"line_end":563,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":83901,"byte_end":83912,"line_start":563,"line_end":563,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":83944,"byte_end":83954,"line_start":563,"line_end":563,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83955,"byte_end":83960,"line_start":563,"line_end":563,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83962,"byte_end":83973,"line_start":563,"line_end":563,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83975,"byte_end":83986,"line_start":563,"line_end":563,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83988,"byte_end":83997,"line_start":563,"line_end":563,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":83999,"byte_end":84008,"line_start":563,"line_end":563,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84037,"byte_end":84043,"line_start":564,"line_end":564,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84024,"byte_end":84035,"line_start":564,"line_end":564,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84037,"byte_end":84043,"line_start":564,"line_end":564,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84024,"byte_end":84035,"line_start":564,"line_end":564,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84067,"byte_end":84077,"line_start":564,"line_end":564,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84078,"byte_end":84083,"line_start":564,"line_end":564,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84085,"byte_end":84096,"line_start":564,"line_end":564,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84098,"byte_end":84109,"line_start":564,"line_end":564,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84111,"byte_end":84120,"line_start":564,"line_end":564,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84122,"byte_end":84131,"line_start":564,"line_end":564,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84160,"byte_end":84166,"line_start":565,"line_end":565,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84147,"byte_end":84158,"line_start":565,"line_end":565,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84160,"byte_end":84166,"line_start":565,"line_end":565,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84147,"byte_end":84158,"line_start":565,"line_end":565,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84190,"byte_end":84200,"line_start":565,"line_end":565,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84201,"byte_end":84206,"line_start":565,"line_end":565,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84208,"byte_end":84219,"line_start":565,"line_end":565,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84221,"byte_end":84232,"line_start":565,"line_end":565,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84234,"byte_end":84243,"line_start":565,"line_end":565,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84245,"byte_end":84254,"line_start":565,"line_end":565,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84283,"byte_end":84288,"line_start":566,"line_end":566,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84270,"byte_end":84281,"line_start":566,"line_end":566,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84283,"byte_end":84288,"line_start":566,"line_end":566,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84270,"byte_end":84281,"line_start":566,"line_end":566,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84313,"byte_end":84323,"line_start":566,"line_end":566,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84324,"byte_end":84329,"line_start":566,"line_end":566,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84331,"byte_end":84342,"line_start":566,"line_end":566,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84344,"byte_end":84355,"line_start":566,"line_end":566,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84357,"byte_end":84366,"line_start":566,"line_end":566,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84368,"byte_end":84377,"line_start":566,"line_end":566,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84406,"byte_end":84412,"line_start":567,"line_end":567,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84393,"byte_end":84404,"line_start":567,"line_end":567,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84406,"byte_end":84412,"line_start":567,"line_end":567,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84393,"byte_end":84404,"line_start":567,"line_end":567,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84436,"byte_end":84446,"line_start":567,"line_end":567,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84447,"byte_end":84452,"line_start":567,"line_end":567,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84454,"byte_end":84465,"line_start":567,"line_end":567,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84467,"byte_end":84478,"line_start":567,"line_end":567,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84480,"byte_end":84489,"line_start":567,"line_end":567,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84491,"byte_end":84500,"line_start":567,"line_end":567,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84529,"byte_end":84536,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84516,"byte_end":84527,"line_start":568,"line_end":568,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84529,"byte_end":84536,"line_start":568,"line_end":568,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84516,"byte_end":84527,"line_start":568,"line_end":568,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84559,"byte_end":84569,"line_start":568,"line_end":568,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84551,"byte_end":84557,"line_start":568,"line_end":568,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84570,"byte_end":84575,"line_start":568,"line_end":568,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84577,"byte_end":84588,"line_start":568,"line_end":568,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84590,"byte_end":84601,"line_start":568,"line_end":568,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84603,"byte_end":84612,"line_start":568,"line_end":568,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84614,"byte_end":84623,"line_start":568,"line_end":568,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84652,"byte_end":84659,"line_start":569,"line_end":569,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84639,"byte_end":84650,"line_start":569,"line_end":569,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84652,"byte_end":84659,"line_start":569,"line_end":569,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84639,"byte_end":84650,"line_start":569,"line_end":569,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84682,"byte_end":84692,"line_start":569,"line_end":569,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84693,"byte_end":84698,"line_start":569,"line_end":569,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84700,"byte_end":84711,"line_start":569,"line_end":569,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84713,"byte_end":84724,"line_start":569,"line_end":569,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84726,"byte_end":84735,"line_start":569,"line_end":569,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84737,"byte_end":84746,"line_start":569,"line_end":569,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84775,"byte_end":84778,"line_start":570,"line_end":570,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84762,"byte_end":84773,"line_start":570,"line_end":570,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84775,"byte_end":84778,"line_start":570,"line_end":570,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84762,"byte_end":84773,"line_start":570,"line_end":570,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84805,"byte_end":84815,"line_start":570,"line_end":570,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84797,"byte_end":84803,"line_start":570,"line_end":570,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84816,"byte_end":84821,"line_start":570,"line_end":570,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84823,"byte_end":84834,"line_start":570,"line_end":570,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84836,"byte_end":84847,"line_start":570,"line_end":570,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84849,"byte_end":84858,"line_start":570,"line_end":570,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84860,"byte_end":84869,"line_start":570,"line_end":570,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84898,"byte_end":84902,"line_start":571,"line_end":571,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84885,"byte_end":84896,"line_start":571,"line_end":571,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84898,"byte_end":84902,"line_start":571,"line_end":571,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84885,"byte_end":84896,"line_start":571,"line_end":571,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":84928,"byte_end":84938,"line_start":571,"line_end":571,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":84919,"byte_end":84926,"line_start":571,"line_end":571,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84939,"byte_end":84944,"line_start":571,"line_end":571,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84946,"byte_end":84957,"line_start":571,"line_end":571,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84959,"byte_end":84970,"line_start":571,"line_end":571,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84972,"byte_end":84981,"line_start":571,"line_end":571,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":84983,"byte_end":84992,"line_start":571,"line_end":571,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85021,"byte_end":85025,"line_start":572,"line_end":572,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85008,"byte_end":85019,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85021,"byte_end":85025,"line_start":572,"line_end":572,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85008,"byte_end":85019,"line_start":572,"line_end":572,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85051,"byte_end":85061,"line_start":572,"line_end":572,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85042,"byte_end":85049,"line_start":572,"line_end":572,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85062,"byte_end":85067,"line_start":572,"line_end":572,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85069,"byte_end":85080,"line_start":572,"line_end":572,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85082,"byte_end":85093,"line_start":572,"line_end":572,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85095,"byte_end":85104,"line_start":572,"line_end":572,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85106,"byte_end":85115,"line_start":572,"line_end":572,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85144,"byte_end":85148,"line_start":573,"line_end":573,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85131,"byte_end":85142,"line_start":573,"line_end":573,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85144,"byte_end":85148,"line_start":573,"line_end":573,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85131,"byte_end":85142,"line_start":573,"line_end":573,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85174,"byte_end":85184,"line_start":573,"line_end":573,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85165,"byte_end":85172,"line_start":573,"line_end":573,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85185,"byte_end":85190,"line_start":573,"line_end":573,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85192,"byte_end":85203,"line_start":573,"line_end":573,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85205,"byte_end":85216,"line_start":573,"line_end":573,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85218,"byte_end":85227,"line_start":573,"line_end":573,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85229,"byte_end":85238,"line_start":573,"line_end":573,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85267,"byte_end":85271,"line_start":574,"line_end":574,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85254,"byte_end":85265,"line_start":574,"line_end":574,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85267,"byte_end":85271,"line_start":574,"line_end":574,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85254,"byte_end":85265,"line_start":574,"line_end":574,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85297,"byte_end":85307,"line_start":574,"line_end":574,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85288,"byte_end":85295,"line_start":574,"line_end":574,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85308,"byte_end":85313,"line_start":574,"line_end":574,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85315,"byte_end":85326,"line_start":574,"line_end":574,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85328,"byte_end":85339,"line_start":574,"line_end":574,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85341,"byte_end":85350,"line_start":574,"line_end":574,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85352,"byte_end":85361,"line_start":574,"line_end":574,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85390,"byte_end":85396,"line_start":575,"line_end":575,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85377,"byte_end":85388,"line_start":575,"line_end":575,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85390,"byte_end":85396,"line_start":575,"line_end":575,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85377,"byte_end":85388,"line_start":575,"line_end":575,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85420,"byte_end":85430,"line_start":575,"line_end":575,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85409,"byte_end":85418,"line_start":575,"line_end":575,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85431,"byte_end":85436,"line_start":575,"line_end":575,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85438,"byte_end":85449,"line_start":575,"line_end":575,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85451,"byte_end":85462,"line_start":575,"line_end":575,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85464,"byte_end":85473,"line_start":575,"line_end":575,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85475,"byte_end":85484,"line_start":575,"line_end":575,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85513,"byte_end":85516,"line_start":576,"line_end":576,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85500,"byte_end":85511,"line_start":576,"line_end":576,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85513,"byte_end":85516,"line_start":576,"line_end":576,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85500,"byte_end":85511,"line_start":576,"line_end":576,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85543,"byte_end":85553,"line_start":576,"line_end":576,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85535,"byte_end":85541,"line_start":576,"line_end":576,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85554,"byte_end":85559,"line_start":576,"line_end":576,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85561,"byte_end":85572,"line_start":576,"line_end":576,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85574,"byte_end":85585,"line_start":576,"line_end":576,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85587,"byte_end":85596,"line_start":576,"line_end":576,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85598,"byte_end":85607,"line_start":576,"line_end":576,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85636,"byte_end":85640,"line_start":577,"line_end":577,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85623,"byte_end":85634,"line_start":577,"line_end":577,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85636,"byte_end":85640,"line_start":577,"line_end":577,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85623,"byte_end":85634,"line_start":577,"line_end":577,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85666,"byte_end":85676,"line_start":577,"line_end":577,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85657,"byte_end":85664,"line_start":577,"line_end":577,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85677,"byte_end":85682,"line_start":577,"line_end":577,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85684,"byte_end":85695,"line_start":577,"line_end":577,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85697,"byte_end":85708,"line_start":577,"line_end":577,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85710,"byte_end":85719,"line_start":577,"line_end":577,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85721,"byte_end":85730,"line_start":577,"line_end":577,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85759,"byte_end":85764,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85746,"byte_end":85757,"line_start":578,"line_end":578,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85759,"byte_end":85764,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85746,"byte_end":85757,"line_start":578,"line_end":578,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85789,"byte_end":85799,"line_start":578,"line_end":578,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85779,"byte_end":85787,"line_start":578,"line_end":578,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85800,"byte_end":85805,"line_start":578,"line_end":578,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85807,"byte_end":85818,"line_start":578,"line_end":578,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85820,"byte_end":85831,"line_start":578,"line_end":578,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85833,"byte_end":85842,"line_start":578,"line_end":578,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85844,"byte_end":85853,"line_start":578,"line_end":578,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85882,"byte_end":85888,"line_start":579,"line_end":579,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85869,"byte_end":85880,"line_start":579,"line_end":579,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85882,"byte_end":85888,"line_start":579,"line_end":579,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85869,"byte_end":85880,"line_start":579,"line_end":579,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":85912,"byte_end":85922,"line_start":579,"line_end":579,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1741}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":85901,"byte_end":85910,"line_start":579,"line_end":579,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85923,"byte_end":85928,"line_start":579,"line_end":579,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":1073743538}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85930,"byte_end":85941,"line_start":579,"line_end":579,"column_start":74,"column_end":85},"ref_id":{"krate":0,"index":536872626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85943,"byte_end":85954,"line_start":579,"line_end":579,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":1610614450}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85956,"byte_end":85965,"line_start":579,"line_end":579,"column_start":100,"column_end":109},"ref_id":{"krate":0,"index":268437170}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":85967,"byte_end":85976,"line_start":579,"line_end":579,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":1342178994}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86125,"byte_end":86128,"line_start":581,"line_end":581,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86139,"byte_end":86150,"line_start":581,"line_end":581,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86129,"byte_end":86137,"line_start":581,"line_end":581,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86336,"byte_end":86345,"line_start":588,"line_end":588,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86356,"byte_end":86365,"line_start":588,"line_end":588,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86370,"byte_end":86376,"line_start":588,"line_end":588,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86381,"byte_end":86389,"line_start":588,"line_end":588,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":86422,"byte_end":86432,"line_start":590,"line_end":590,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86415,"byte_end":86421,"line_start":590,"line_end":590,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":536872627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86433,"byte_end":86439,"line_start":590,"line_end":590,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86440,"byte_end":86451,"line_start":590,"line_end":590,"column_start":47,"column_end":58},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86469,"byte_end":86475,"line_start":592,"line_end":592,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":86476,"byte_end":86477,"line_start":592,"line_end":592,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86505,"byte_end":86509,"line_start":593,"line_end":593,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86492,"byte_end":86503,"line_start":593,"line_end":593,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86505,"byte_end":86509,"line_start":593,"line_end":593,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86492,"byte_end":86503,"line_start":593,"line_end":593,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86529,"byte_end":86532,"line_start":593,"line_end":593,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86543,"byte_end":86554,"line_start":593,"line_end":593,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86533,"byte_end":86541,"line_start":593,"line_end":593,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86585,"byte_end":86588,"line_start":594,"line_end":594,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86572,"byte_end":86583,"line_start":594,"line_end":594,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86585,"byte_end":86588,"line_start":594,"line_end":594,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86572,"byte_end":86583,"line_start":594,"line_end":594,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86609,"byte_end":86612,"line_start":594,"line_end":594,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86623,"byte_end":86634,"line_start":594,"line_end":594,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86613,"byte_end":86621,"line_start":594,"line_end":594,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86665,"byte_end":86671,"line_start":595,"line_end":595,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86652,"byte_end":86663,"line_start":595,"line_end":595,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86665,"byte_end":86671,"line_start":595,"line_end":595,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86652,"byte_end":86663,"line_start":595,"line_end":595,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86690,"byte_end":86693,"line_start":595,"line_end":595,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86704,"byte_end":86715,"line_start":595,"line_end":595,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86694,"byte_end":86702,"line_start":595,"line_end":595,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86746,"byte_end":86749,"line_start":596,"line_end":596,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86733,"byte_end":86744,"line_start":596,"line_end":596,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86746,"byte_end":86749,"line_start":596,"line_end":596,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86733,"byte_end":86744,"line_start":596,"line_end":596,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86770,"byte_end":86773,"line_start":596,"line_end":596,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86784,"byte_end":86795,"line_start":596,"line_end":596,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86774,"byte_end":86782,"line_start":596,"line_end":596,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86826,"byte_end":86830,"line_start":597,"line_end":597,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86813,"byte_end":86824,"line_start":597,"line_end":597,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86826,"byte_end":86830,"line_start":597,"line_end":597,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86813,"byte_end":86824,"line_start":597,"line_end":597,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86850,"byte_end":86853,"line_start":597,"line_end":597,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86864,"byte_end":86875,"line_start":597,"line_end":597,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86854,"byte_end":86862,"line_start":597,"line_end":597,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86906,"byte_end":86911,"line_start":598,"line_end":598,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86893,"byte_end":86904,"line_start":598,"line_end":598,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86906,"byte_end":86911,"line_start":598,"line_end":598,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86893,"byte_end":86904,"line_start":598,"line_end":598,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86930,"byte_end":86933,"line_start":598,"line_end":598,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86944,"byte_end":86955,"line_start":598,"line_end":598,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86934,"byte_end":86942,"line_start":598,"line_end":598,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86986,"byte_end":86992,"line_start":599,"line_end":599,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86973,"byte_end":86984,"line_start":599,"line_end":599,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86986,"byte_end":86992,"line_start":599,"line_end":599,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":86973,"byte_end":86984,"line_start":599,"line_end":599,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87010,"byte_end":87013,"line_start":599,"line_end":599,"column_start":50,"column_end":53},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87024,"byte_end":87027,"line_start":599,"line_end":599,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87014,"byte_end":87022,"line_start":599,"line_end":599,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87220,"byte_end":87230,"line_start":601,"line_end":601,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87207,"byte_end":87218,"line_start":601,"line_end":601,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87220,"byte_end":87230,"line_start":601,"line_end":601,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87207,"byte_end":87218,"line_start":601,"line_end":601,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87249,"byte_end":87258,"line_start":601,"line_end":601,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87241,"byte_end":87247,"line_start":601,"line_end":601,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87259,"byte_end":87265,"line_start":601,"line_end":601,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87267,"byte_end":87273,"line_start":601,"line_end":601,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87275,"byte_end":87282,"line_start":601,"line_end":601,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87291,"byte_end":87305,"line_start":601,"line_end":601,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87283,"byte_end":87289,"line_start":601,"line_end":601,"column_start":89,"column_end":95},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87306,"byte_end":87312,"line_start":601,"line_end":601,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87347,"byte_end":87352,"line_start":602,"line_end":602,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87334,"byte_end":87345,"line_start":602,"line_end":602,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87347,"byte_end":87352,"line_start":602,"line_end":602,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87334,"byte_end":87345,"line_start":602,"line_end":602,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87376,"byte_end":87385,"line_start":602,"line_end":602,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87366,"byte_end":87374,"line_start":602,"line_end":602,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87386,"byte_end":87392,"line_start":602,"line_end":602,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87394,"byte_end":87400,"line_start":602,"line_end":602,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87402,"byte_end":87409,"line_start":602,"line_end":602,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87420,"byte_end":87434,"line_start":602,"line_end":602,"column_start":99,"column_end":113},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87410,"byte_end":87418,"line_start":602,"line_end":602,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87435,"byte_end":87441,"line_start":602,"line_end":602,"column_start":114,"column_end":120},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87476,"byte_end":87480,"line_start":603,"line_end":603,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87463,"byte_end":87474,"line_start":603,"line_end":603,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87476,"byte_end":87480,"line_start":603,"line_end":603,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87463,"byte_end":87474,"line_start":603,"line_end":603,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87505,"byte_end":87514,"line_start":603,"line_end":603,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87515,"byte_end":87521,"line_start":603,"line_end":603,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87523,"byte_end":87529,"line_start":603,"line_end":603,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87531,"byte_end":87538,"line_start":603,"line_end":603,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87543,"byte_end":87557,"line_start":603,"line_end":603,"column_start":93,"column_end":107},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87558,"byte_end":87564,"line_start":603,"line_end":603,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87599,"byte_end":87604,"line_start":604,"line_end":604,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87586,"byte_end":87597,"line_start":604,"line_end":604,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87599,"byte_end":87604,"line_start":604,"line_end":604,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87586,"byte_end":87597,"line_start":604,"line_end":604,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87628,"byte_end":87637,"line_start":604,"line_end":604,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87638,"byte_end":87644,"line_start":604,"line_end":604,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87646,"byte_end":87652,"line_start":604,"line_end":604,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87654,"byte_end":87661,"line_start":604,"line_end":604,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87667,"byte_end":87681,"line_start":604,"line_end":604,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87682,"byte_end":87688,"line_start":604,"line_end":604,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87723,"byte_end":87728,"line_start":605,"line_end":605,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87710,"byte_end":87721,"line_start":605,"line_end":605,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87723,"byte_end":87728,"line_start":605,"line_end":605,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87710,"byte_end":87721,"line_start":605,"line_end":605,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87752,"byte_end":87761,"line_start":605,"line_end":605,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87762,"byte_end":87768,"line_start":605,"line_end":605,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87770,"byte_end":87776,"line_start":605,"line_end":605,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87778,"byte_end":87785,"line_start":605,"line_end":605,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87791,"byte_end":87805,"line_start":605,"line_end":605,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87806,"byte_end":87812,"line_start":605,"line_end":605,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87847,"byte_end":87852,"line_start":606,"line_end":606,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87834,"byte_end":87845,"line_start":606,"line_end":606,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87847,"byte_end":87852,"line_start":606,"line_end":606,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87834,"byte_end":87845,"line_start":606,"line_end":606,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87876,"byte_end":87885,"line_start":606,"line_end":606,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87886,"byte_end":87892,"line_start":606,"line_end":606,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87894,"byte_end":87900,"line_start":606,"line_end":606,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87902,"byte_end":87909,"line_start":606,"line_end":606,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":87915,"byte_end":87929,"line_start":606,"line_end":606,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":87930,"byte_end":87936,"line_start":606,"line_end":606,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87971,"byte_end":87976,"line_start":607,"line_end":607,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87958,"byte_end":87969,"line_start":607,"line_end":607,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87971,"byte_end":87976,"line_start":607,"line_end":607,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":87958,"byte_end":87969,"line_start":607,"line_end":607,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88000,"byte_end":88009,"line_start":607,"line_end":607,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88010,"byte_end":88016,"line_start":607,"line_end":607,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88018,"byte_end":88024,"line_start":607,"line_end":607,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88026,"byte_end":88033,"line_start":607,"line_end":607,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88038,"byte_end":88052,"line_start":607,"line_end":607,"column_start":93,"column_end":107},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88053,"byte_end":88059,"line_start":607,"line_end":607,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88094,"byte_end":88100,"line_start":608,"line_end":608,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88081,"byte_end":88092,"line_start":608,"line_end":608,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88094,"byte_end":88100,"line_start":608,"line_end":608,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88081,"byte_end":88092,"line_start":608,"line_end":608,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88123,"byte_end":88132,"line_start":608,"line_end":608,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88133,"byte_end":88139,"line_start":608,"line_end":608,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88141,"byte_end":88147,"line_start":608,"line_end":608,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88149,"byte_end":88156,"line_start":608,"line_end":608,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88162,"byte_end":88176,"line_start":608,"line_end":608,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88177,"byte_end":88183,"line_start":608,"line_end":608,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88218,"byte_end":88224,"line_start":609,"line_end":609,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88205,"byte_end":88216,"line_start":609,"line_end":609,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88218,"byte_end":88224,"line_start":609,"line_end":609,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88205,"byte_end":88216,"line_start":609,"line_end":609,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88247,"byte_end":88256,"line_start":609,"line_end":609,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88257,"byte_end":88263,"line_start":609,"line_end":609,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88265,"byte_end":88271,"line_start":609,"line_end":609,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88273,"byte_end":88280,"line_start":609,"line_end":609,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88286,"byte_end":88300,"line_start":609,"line_end":609,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88301,"byte_end":88307,"line_start":609,"line_end":609,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88342,"byte_end":88348,"line_start":610,"line_end":610,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88329,"byte_end":88340,"line_start":610,"line_end":610,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88342,"byte_end":88348,"line_start":610,"line_end":610,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88329,"byte_end":88340,"line_start":610,"line_end":610,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88371,"byte_end":88380,"line_start":610,"line_end":610,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88381,"byte_end":88387,"line_start":610,"line_end":610,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88389,"byte_end":88395,"line_start":610,"line_end":610,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88397,"byte_end":88404,"line_start":610,"line_end":610,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88410,"byte_end":88424,"line_start":610,"line_end":610,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88425,"byte_end":88431,"line_start":610,"line_end":610,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88466,"byte_end":88471,"line_start":611,"line_end":611,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88453,"byte_end":88464,"line_start":611,"line_end":611,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88466,"byte_end":88471,"line_start":611,"line_end":611,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88453,"byte_end":88464,"line_start":611,"line_end":611,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88495,"byte_end":88504,"line_start":611,"line_end":611,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88505,"byte_end":88511,"line_start":611,"line_end":611,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88513,"byte_end":88519,"line_start":611,"line_end":611,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88521,"byte_end":88528,"line_start":611,"line_end":611,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88534,"byte_end":88548,"line_start":611,"line_end":611,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88549,"byte_end":88555,"line_start":611,"line_end":611,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88590,"byte_end":88596,"line_start":612,"line_end":612,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88577,"byte_end":88588,"line_start":612,"line_end":612,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88590,"byte_end":88596,"line_start":612,"line_end":612,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88577,"byte_end":88588,"line_start":612,"line_end":612,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88619,"byte_end":88628,"line_start":612,"line_end":612,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88629,"byte_end":88635,"line_start":612,"line_end":612,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88637,"byte_end":88643,"line_start":612,"line_end":612,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88645,"byte_end":88652,"line_start":612,"line_end":612,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88658,"byte_end":88672,"line_start":612,"line_end":612,"column_start":94,"column_end":108},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88673,"byte_end":88679,"line_start":612,"line_end":612,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88714,"byte_end":88721,"line_start":613,"line_end":613,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88701,"byte_end":88712,"line_start":613,"line_end":613,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88714,"byte_end":88721,"line_start":613,"line_end":613,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88701,"byte_end":88712,"line_start":613,"line_end":613,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88743,"byte_end":88752,"line_start":613,"line_end":613,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88735,"byte_end":88741,"line_start":613,"line_end":613,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88753,"byte_end":88759,"line_start":613,"line_end":613,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88761,"byte_end":88767,"line_start":613,"line_end":613,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88769,"byte_end":88776,"line_start":613,"line_end":613,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88785,"byte_end":88799,"line_start":613,"line_end":613,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88777,"byte_end":88783,"line_start":613,"line_end":613,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88800,"byte_end":88806,"line_start":613,"line_end":613,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88841,"byte_end":88848,"line_start":614,"line_end":614,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88828,"byte_end":88839,"line_start":614,"line_end":614,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88841,"byte_end":88848,"line_start":614,"line_end":614,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88828,"byte_end":88839,"line_start":614,"line_end":614,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88870,"byte_end":88879,"line_start":614,"line_end":614,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88880,"byte_end":88886,"line_start":614,"line_end":614,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88888,"byte_end":88894,"line_start":614,"line_end":614,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88896,"byte_end":88903,"line_start":614,"line_end":614,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88910,"byte_end":88924,"line_start":614,"line_end":614,"column_start":95,"column_end":109},"ref_id":{"krate":0,"index":1721}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":88925,"byte_end":88931,"line_start":614,"line_end":614,"column_start":110,"column_end":116},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88966,"byte_end":88969,"line_start":615,"line_end":615,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88953,"byte_end":88964,"line_start":615,"line_end":615,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88966,"byte_end":88969,"line_start":615,"line_end":615,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88953,"byte_end":88964,"line_start":615,"line_end":615,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":88995,"byte_end":89004,"line_start":615,"line_end":615,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":88987,"byte_end":88993,"line_start":615,"line_end":615,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89005,"byte_end":89011,"line_start":615,"line_end":615,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89013,"byte_end":89019,"line_start":615,"line_end":615,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89021,"byte_end":89028,"line_start":615,"line_end":615,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89037,"byte_end":89051,"line_start":615,"line_end":615,"column_start":97,"column_end":111},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89029,"byte_end":89035,"line_start":615,"line_end":615,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89052,"byte_end":89058,"line_start":615,"line_end":615,"column_start":112,"column_end":118},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89093,"byte_end":89097,"line_start":616,"line_end":616,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89080,"byte_end":89091,"line_start":616,"line_end":616,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89093,"byte_end":89097,"line_start":616,"line_end":616,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89080,"byte_end":89091,"line_start":616,"line_end":616,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89122,"byte_end":89131,"line_start":616,"line_end":616,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89113,"byte_end":89120,"line_start":616,"line_end":616,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89132,"byte_end":89138,"line_start":616,"line_end":616,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89140,"byte_end":89146,"line_start":616,"line_end":616,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89148,"byte_end":89155,"line_start":616,"line_end":616,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89165,"byte_end":89179,"line_start":616,"line_end":616,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89156,"byte_end":89163,"line_start":616,"line_end":616,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89180,"byte_end":89186,"line_start":616,"line_end":616,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89221,"byte_end":89225,"line_start":617,"line_end":617,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89208,"byte_end":89219,"line_start":617,"line_end":617,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89221,"byte_end":89225,"line_start":617,"line_end":617,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89208,"byte_end":89219,"line_start":617,"line_end":617,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89250,"byte_end":89259,"line_start":617,"line_end":617,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89241,"byte_end":89248,"line_start":617,"line_end":617,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89260,"byte_end":89266,"line_start":617,"line_end":617,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89268,"byte_end":89274,"line_start":617,"line_end":617,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89276,"byte_end":89283,"line_start":617,"line_end":617,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89293,"byte_end":89307,"line_start":617,"line_end":617,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89284,"byte_end":89291,"line_start":617,"line_end":617,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89308,"byte_end":89314,"line_start":617,"line_end":617,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89349,"byte_end":89353,"line_start":618,"line_end":618,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89336,"byte_end":89347,"line_start":618,"line_end":618,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89349,"byte_end":89353,"line_start":618,"line_end":618,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89336,"byte_end":89347,"line_start":618,"line_end":618,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89378,"byte_end":89387,"line_start":618,"line_end":618,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89369,"byte_end":89376,"line_start":618,"line_end":618,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89388,"byte_end":89394,"line_start":618,"line_end":618,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89396,"byte_end":89402,"line_start":618,"line_end":618,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89404,"byte_end":89411,"line_start":618,"line_end":618,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89421,"byte_end":89435,"line_start":618,"line_end":618,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89412,"byte_end":89419,"line_start":618,"line_end":618,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89436,"byte_end":89442,"line_start":618,"line_end":618,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89477,"byte_end":89481,"line_start":619,"line_end":619,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89464,"byte_end":89475,"line_start":619,"line_end":619,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89477,"byte_end":89481,"line_start":619,"line_end":619,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89464,"byte_end":89475,"line_start":619,"line_end":619,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89506,"byte_end":89515,"line_start":619,"line_end":619,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89497,"byte_end":89504,"line_start":619,"line_end":619,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89516,"byte_end":89522,"line_start":619,"line_end":619,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":1073743539}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89524,"byte_end":89530,"line_start":619,"line_end":619,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872627}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89532,"byte_end":89539,"line_start":619,"line_end":619,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":89549,"byte_end":89563,"line_start":619,"line_end":619,"column_start":98,"column_end":112},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89540,"byte_end":89547,"line_start":619,"line_end":619,"column_start":89,"column_end":96},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89564,"byte_end":89570,"line_start":619,"line_end":619,"column_start":113,"column_end":119},"ref_id":{"krate":0,"index":1879049907}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89598,"byte_end":89600,"line_start":622,"line_end":622,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89718,"byte_end":89727,"line_start":626,"line_end":626,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89738,"byte_end":89747,"line_start":626,"line_end":626,"column_start":86,"column_end":95},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89760,"byte_end":89767,"line_start":626,"line_end":626,"column_start":108,"column_end":115},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89773,"byte_end":89779,"line_start":626,"line_end":626,"column_start":121,"column_end":127},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89784,"byte_end":89792,"line_start":626,"line_end":626,"column_start":132,"column_end":140},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":89809,"byte_end":89814,"line_start":629,"line_end":629,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89830,"byte_end":89833,"line_start":629,"line_end":629,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89844,"byte_end":89858,"line_start":629,"line_end":629,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":4066}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":89834,"byte_end":89842,"line_start":629,"line_end":629,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90116,"byte_end":90122,"line_start":637,"line_end":637,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90123,"byte_end":90134,"line_start":637,"line_end":637,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90156,"byte_end":90161,"line_start":637,"line_end":637,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90138,"byte_end":90154,"line_start":637,"line_end":637,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3545}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90183,"byte_end":90194,"line_start":638,"line_end":638,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90176,"byte_end":90182,"line_start":638,"line_end":638,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90197,"byte_end":90203,"line_start":638,"line_end":638,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90204,"byte_end":90213,"line_start":638,"line_end":638,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90256,"byte_end":90266,"line_start":641,"line_end":641,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90249,"byte_end":90255,"line_start":641,"line_end":641,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90267,"byte_end":90273,"line_start":641,"line_end":641,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90274,"byte_end":90285,"line_start":641,"line_end":641,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90287,"byte_end":90288,"line_start":641,"line_end":641,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90316,"byte_end":90320,"line_start":642,"line_end":642,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90303,"byte_end":90314,"line_start":642,"line_end":642,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90316,"byte_end":90320,"line_start":642,"line_end":642,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90303,"byte_end":90314,"line_start":642,"line_end":642,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90336,"byte_end":90338,"line_start":642,"line_end":642,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90371,"byte_end":90374,"line_start":643,"line_end":643,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90358,"byte_end":90369,"line_start":643,"line_end":643,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90371,"byte_end":90374,"line_start":643,"line_end":643,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90358,"byte_end":90369,"line_start":643,"line_end":643,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90391,"byte_end":90393,"line_start":643,"line_end":643,"column_start":46,"column_end":48},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90426,"byte_end":90436,"line_start":644,"line_end":644,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90413,"byte_end":90424,"line_start":644,"line_end":644,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90426,"byte_end":90436,"line_start":644,"line_end":644,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90413,"byte_end":90424,"line_start":644,"line_end":644,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90457,"byte_end":90470,"line_start":644,"line_end":644,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90449,"byte_end":90455,"line_start":644,"line_end":644,"column_start":49,"column_end":55},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90471,"byte_end":90476,"line_start":644,"line_end":644,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90478,"byte_end":90488,"line_start":644,"line_end":644,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90490,"byte_end":90496,"line_start":644,"line_end":644,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90498,"byte_end":90504,"line_start":644,"line_end":644,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90506,"byte_end":90510,"line_start":644,"line_end":644,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90540,"byte_end":90545,"line_start":645,"line_end":645,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90527,"byte_end":90538,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90540,"byte_end":90545,"line_start":645,"line_end":645,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90527,"byte_end":90538,"line_start":645,"line_end":645,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90571,"byte_end":90584,"line_start":645,"line_end":645,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90561,"byte_end":90569,"line_start":645,"line_end":645,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90585,"byte_end":90590,"line_start":645,"line_end":645,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90592,"byte_end":90602,"line_start":645,"line_end":645,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90604,"byte_end":90610,"line_start":645,"line_end":645,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90612,"byte_end":90618,"line_start":645,"line_end":645,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90620,"byte_end":90624,"line_start":645,"line_end":645,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90654,"byte_end":90658,"line_start":646,"line_end":646,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90641,"byte_end":90652,"line_start":646,"line_end":646,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90654,"byte_end":90658,"line_start":646,"line_end":646,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90641,"byte_end":90652,"line_start":646,"line_end":646,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90685,"byte_end":90698,"line_start":646,"line_end":646,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90699,"byte_end":90704,"line_start":646,"line_end":646,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90706,"byte_end":90716,"line_start":646,"line_end":646,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90718,"byte_end":90724,"line_start":646,"line_end":646,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90726,"byte_end":90732,"line_start":646,"line_end":646,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90734,"byte_end":90738,"line_start":646,"line_end":646,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90768,"byte_end":90773,"line_start":647,"line_end":647,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90755,"byte_end":90766,"line_start":647,"line_end":647,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90768,"byte_end":90773,"line_start":647,"line_end":647,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90755,"byte_end":90766,"line_start":647,"line_end":647,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90799,"byte_end":90812,"line_start":647,"line_end":647,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90813,"byte_end":90818,"line_start":647,"line_end":647,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90820,"byte_end":90830,"line_start":647,"line_end":647,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90832,"byte_end":90838,"line_start":647,"line_end":647,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90840,"byte_end":90846,"line_start":647,"line_end":647,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90848,"byte_end":90852,"line_start":647,"line_end":647,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90882,"byte_end":90887,"line_start":648,"line_end":648,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90869,"byte_end":90880,"line_start":648,"line_end":648,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90882,"byte_end":90887,"line_start":648,"line_end":648,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90869,"byte_end":90880,"line_start":648,"line_end":648,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":90913,"byte_end":90926,"line_start":648,"line_end":648,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90927,"byte_end":90932,"line_start":648,"line_end":648,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90934,"byte_end":90944,"line_start":648,"line_end":648,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90946,"byte_end":90952,"line_start":648,"line_end":648,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90954,"byte_end":90960,"line_start":648,"line_end":648,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":90962,"byte_end":90966,"line_start":648,"line_end":648,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90996,"byte_end":91001,"line_start":649,"line_end":649,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90983,"byte_end":90994,"line_start":649,"line_end":649,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90996,"byte_end":91001,"line_start":649,"line_end":649,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":90983,"byte_end":90994,"line_start":649,"line_end":649,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91027,"byte_end":91040,"line_start":649,"line_end":649,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91041,"byte_end":91046,"line_start":649,"line_end":649,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91048,"byte_end":91058,"line_start":649,"line_end":649,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91060,"byte_end":91066,"line_start":649,"line_end":649,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91068,"byte_end":91074,"line_start":649,"line_end":649,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91076,"byte_end":91080,"line_start":649,"line_end":649,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91110,"byte_end":91115,"line_start":650,"line_end":650,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91097,"byte_end":91108,"line_start":650,"line_end":650,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91110,"byte_end":91115,"line_start":650,"line_end":650,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91097,"byte_end":91108,"line_start":650,"line_end":650,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91141,"byte_end":91154,"line_start":650,"line_end":650,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91155,"byte_end":91160,"line_start":650,"line_end":650,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91162,"byte_end":91172,"line_start":650,"line_end":650,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91174,"byte_end":91180,"line_start":650,"line_end":650,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91182,"byte_end":91188,"line_start":650,"line_end":650,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91190,"byte_end":91194,"line_start":650,"line_end":650,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91224,"byte_end":91230,"line_start":651,"line_end":651,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91211,"byte_end":91222,"line_start":651,"line_end":651,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91224,"byte_end":91230,"line_start":651,"line_end":651,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91211,"byte_end":91222,"line_start":651,"line_end":651,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91255,"byte_end":91268,"line_start":651,"line_end":651,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91269,"byte_end":91274,"line_start":651,"line_end":651,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91276,"byte_end":91286,"line_start":651,"line_end":651,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91288,"byte_end":91294,"line_start":651,"line_end":651,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91296,"byte_end":91302,"line_start":651,"line_end":651,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91304,"byte_end":91308,"line_start":651,"line_end":651,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91338,"byte_end":91344,"line_start":652,"line_end":652,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91325,"byte_end":91336,"line_start":652,"line_end":652,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91338,"byte_end":91344,"line_start":652,"line_end":652,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91325,"byte_end":91336,"line_start":652,"line_end":652,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91369,"byte_end":91382,"line_start":652,"line_end":652,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91383,"byte_end":91388,"line_start":652,"line_end":652,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91390,"byte_end":91400,"line_start":652,"line_end":652,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91402,"byte_end":91408,"line_start":652,"line_end":652,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91410,"byte_end":91416,"line_start":652,"line_end":652,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91418,"byte_end":91422,"line_start":652,"line_end":652,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91452,"byte_end":91458,"line_start":653,"line_end":653,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91439,"byte_end":91450,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91452,"byte_end":91458,"line_start":653,"line_end":653,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91439,"byte_end":91450,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91483,"byte_end":91496,"line_start":653,"line_end":653,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91497,"byte_end":91502,"line_start":653,"line_end":653,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91504,"byte_end":91514,"line_start":653,"line_end":653,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91516,"byte_end":91522,"line_start":653,"line_end":653,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91524,"byte_end":91530,"line_start":653,"line_end":653,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91532,"byte_end":91536,"line_start":653,"line_end":653,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91566,"byte_end":91571,"line_start":654,"line_end":654,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91553,"byte_end":91564,"line_start":654,"line_end":654,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91566,"byte_end":91571,"line_start":654,"line_end":654,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91553,"byte_end":91564,"line_start":654,"line_end":654,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91597,"byte_end":91610,"line_start":654,"line_end":654,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91611,"byte_end":91616,"line_start":654,"line_end":654,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91618,"byte_end":91628,"line_start":654,"line_end":654,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91630,"byte_end":91636,"line_start":654,"line_end":654,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91638,"byte_end":91644,"line_start":654,"line_end":654,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91646,"byte_end":91650,"line_start":654,"line_end":654,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91680,"byte_end":91686,"line_start":655,"line_end":655,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91667,"byte_end":91678,"line_start":655,"line_end":655,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91680,"byte_end":91686,"line_start":655,"line_end":655,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91667,"byte_end":91678,"line_start":655,"line_end":655,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91711,"byte_end":91724,"line_start":655,"line_end":655,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91725,"byte_end":91730,"line_start":655,"line_end":655,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91732,"byte_end":91742,"line_start":655,"line_end":655,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91744,"byte_end":91750,"line_start":655,"line_end":655,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91752,"byte_end":91758,"line_start":655,"line_end":655,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91760,"byte_end":91764,"line_start":655,"line_end":655,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91794,"byte_end":91801,"line_start":656,"line_end":656,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91781,"byte_end":91792,"line_start":656,"line_end":656,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91794,"byte_end":91801,"line_start":656,"line_end":656,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91781,"byte_end":91792,"line_start":656,"line_end":656,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91825,"byte_end":91838,"line_start":656,"line_end":656,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91817,"byte_end":91823,"line_start":656,"line_end":656,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91839,"byte_end":91844,"line_start":656,"line_end":656,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91846,"byte_end":91856,"line_start":656,"line_end":656,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91858,"byte_end":91864,"line_start":656,"line_end":656,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91866,"byte_end":91872,"line_start":656,"line_end":656,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91874,"byte_end":91878,"line_start":656,"line_end":656,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91908,"byte_end":91915,"line_start":657,"line_end":657,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91895,"byte_end":91906,"line_start":657,"line_end":657,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91908,"byte_end":91915,"line_start":657,"line_end":657,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":91895,"byte_end":91906,"line_start":657,"line_end":657,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":91939,"byte_end":91952,"line_start":657,"line_end":657,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91953,"byte_end":91958,"line_start":657,"line_end":657,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91960,"byte_end":91970,"line_start":657,"line_end":657,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91972,"byte_end":91978,"line_start":657,"line_end":657,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91980,"byte_end":91986,"line_start":657,"line_end":657,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":91988,"byte_end":91992,"line_start":657,"line_end":657,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92022,"byte_end":92025,"line_start":658,"line_end":658,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92009,"byte_end":92020,"line_start":658,"line_end":658,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92022,"byte_end":92025,"line_start":658,"line_end":658,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92009,"byte_end":92020,"line_start":658,"line_end":658,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92053,"byte_end":92066,"line_start":658,"line_end":658,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92045,"byte_end":92051,"line_start":658,"line_end":658,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92067,"byte_end":92072,"line_start":658,"line_end":658,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92074,"byte_end":92084,"line_start":658,"line_end":658,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92086,"byte_end":92092,"line_start":658,"line_end":658,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92094,"byte_end":92100,"line_start":658,"line_end":658,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92102,"byte_end":92106,"line_start":658,"line_end":658,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92136,"byte_end":92140,"line_start":659,"line_end":659,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92123,"byte_end":92134,"line_start":659,"line_end":659,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92136,"byte_end":92140,"line_start":659,"line_end":659,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92123,"byte_end":92134,"line_start":659,"line_end":659,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92167,"byte_end":92180,"line_start":659,"line_end":659,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92158,"byte_end":92165,"line_start":659,"line_end":659,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92181,"byte_end":92186,"line_start":659,"line_end":659,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92188,"byte_end":92198,"line_start":659,"line_end":659,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92200,"byte_end":92206,"line_start":659,"line_end":659,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92208,"byte_end":92214,"line_start":659,"line_end":659,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92216,"byte_end":92220,"line_start":659,"line_end":659,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92250,"byte_end":92254,"line_start":660,"line_end":660,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92237,"byte_end":92248,"line_start":660,"line_end":660,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92250,"byte_end":92254,"line_start":660,"line_end":660,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92237,"byte_end":92248,"line_start":660,"line_end":660,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92281,"byte_end":92294,"line_start":660,"line_end":660,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92272,"byte_end":92279,"line_start":660,"line_end":660,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92295,"byte_end":92300,"line_start":660,"line_end":660,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92302,"byte_end":92312,"line_start":660,"line_end":660,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92314,"byte_end":92320,"line_start":660,"line_end":660,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92322,"byte_end":92328,"line_start":660,"line_end":660,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92330,"byte_end":92334,"line_start":660,"line_end":660,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92364,"byte_end":92368,"line_start":661,"line_end":661,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92351,"byte_end":92362,"line_start":661,"line_end":661,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92364,"byte_end":92368,"line_start":661,"line_end":661,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92351,"byte_end":92362,"line_start":661,"line_end":661,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92395,"byte_end":92408,"line_start":661,"line_end":661,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92386,"byte_end":92393,"line_start":661,"line_end":661,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92409,"byte_end":92414,"line_start":661,"line_end":661,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92416,"byte_end":92426,"line_start":661,"line_end":661,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92428,"byte_end":92434,"line_start":661,"line_end":661,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92436,"byte_end":92442,"line_start":661,"line_end":661,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92444,"byte_end":92448,"line_start":661,"line_end":661,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92478,"byte_end":92482,"line_start":662,"line_end":662,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92465,"byte_end":92476,"line_start":662,"line_end":662,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92478,"byte_end":92482,"line_start":662,"line_end":662,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92465,"byte_end":92476,"line_start":662,"line_end":662,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92509,"byte_end":92522,"line_start":662,"line_end":662,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92500,"byte_end":92507,"line_start":662,"line_end":662,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92523,"byte_end":92528,"line_start":662,"line_end":662,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92530,"byte_end":92540,"line_start":662,"line_end":662,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92542,"byte_end":92548,"line_start":662,"line_end":662,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92550,"byte_end":92556,"line_start":662,"line_end":662,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92558,"byte_end":92562,"line_start":662,"line_end":662,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92592,"byte_end":92598,"line_start":663,"line_end":663,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92579,"byte_end":92590,"line_start":663,"line_end":663,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92592,"byte_end":92598,"line_start":663,"line_end":663,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92579,"byte_end":92590,"line_start":663,"line_end":663,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92623,"byte_end":92636,"line_start":663,"line_end":663,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92612,"byte_end":92621,"line_start":663,"line_end":663,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92637,"byte_end":92642,"line_start":663,"line_end":663,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92644,"byte_end":92654,"line_start":663,"line_end":663,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92656,"byte_end":92662,"line_start":663,"line_end":663,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92664,"byte_end":92670,"line_start":663,"line_end":663,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92672,"byte_end":92676,"line_start":663,"line_end":663,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92706,"byte_end":92709,"line_start":664,"line_end":664,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92693,"byte_end":92704,"line_start":664,"line_end":664,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92706,"byte_end":92709,"line_start":664,"line_end":664,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92693,"byte_end":92704,"line_start":664,"line_end":664,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92737,"byte_end":92750,"line_start":664,"line_end":664,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92729,"byte_end":92735,"line_start":664,"line_end":664,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92751,"byte_end":92756,"line_start":664,"line_end":664,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92758,"byte_end":92768,"line_start":664,"line_end":664,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92770,"byte_end":92776,"line_start":664,"line_end":664,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92778,"byte_end":92784,"line_start":664,"line_end":664,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92786,"byte_end":92790,"line_start":664,"line_end":664,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92820,"byte_end":92824,"line_start":665,"line_end":665,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92807,"byte_end":92818,"line_start":665,"line_end":665,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92820,"byte_end":92824,"line_start":665,"line_end":665,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92807,"byte_end":92818,"line_start":665,"line_end":665,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92851,"byte_end":92864,"line_start":665,"line_end":665,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92842,"byte_end":92849,"line_start":665,"line_end":665,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92865,"byte_end":92870,"line_start":665,"line_end":665,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92872,"byte_end":92882,"line_start":665,"line_end":665,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92884,"byte_end":92890,"line_start":665,"line_end":665,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92892,"byte_end":92898,"line_start":665,"line_end":665,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92900,"byte_end":92904,"line_start":665,"line_end":665,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92934,"byte_end":92939,"line_start":666,"line_end":666,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92921,"byte_end":92932,"line_start":666,"line_end":666,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92934,"byte_end":92939,"line_start":666,"line_end":666,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92921,"byte_end":92932,"line_start":666,"line_end":666,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":92965,"byte_end":92978,"line_start":666,"line_end":666,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":92955,"byte_end":92963,"line_start":666,"line_end":666,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92979,"byte_end":92984,"line_start":666,"line_end":666,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92986,"byte_end":92996,"line_start":666,"line_end":666,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":92998,"byte_end":93004,"line_start":666,"line_end":666,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93006,"byte_end":93012,"line_start":666,"line_end":666,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93014,"byte_end":93018,"line_start":666,"line_end":666,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93048,"byte_end":93054,"line_start":667,"line_end":667,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93035,"byte_end":93046,"line_start":667,"line_end":667,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93048,"byte_end":93054,"line_start":667,"line_end":667,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93035,"byte_end":93046,"line_start":667,"line_end":667,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93079,"byte_end":93092,"line_start":667,"line_end":667,"column_start":57,"column_end":70},"ref_id":{"krate":0,"index":1735}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93068,"byte_end":93077,"line_start":667,"line_end":667,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93093,"byte_end":93098,"line_start":667,"line_end":667,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743540}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93100,"byte_end":93110,"line_start":667,"line_end":667,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":536872628}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93112,"byte_end":93118,"line_start":667,"line_end":667,"column_start":90,"column_end":96},"ref_id":{"krate":0,"index":1610614452}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93120,"byte_end":93126,"line_start":667,"line_end":667,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":268437172}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93128,"byte_end":93132,"line_start":667,"line_end":667,"column_start":106,"column_end":110},"ref_id":{"krate":0,"index":1342178996}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93423,"byte_end":93432,"line_start":676,"line_end":676,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93443,"byte_end":93452,"line_start":676,"line_end":676,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93457,"byte_end":93463,"line_start":676,"line_end":676,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93470,"byte_end":93478,"line_start":676,"line_end":676,"column_start":74,"column_end":82},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93502,"byte_end":93508,"line_start":678,"line_end":678,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93509,"byte_end":93518,"line_start":678,"line_end":678,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":3559}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93545,"byte_end":93547,"line_start":679,"line_end":679,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93577,"byte_end":93583,"line_start":682,"line_end":682,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93584,"byte_end":93595,"line_start":682,"line_end":682,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93617,"byte_end":93622,"line_start":682,"line_end":682,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93599,"byte_end":93615,"line_start":682,"line_end":682,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3545}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93644,"byte_end":93655,"line_start":683,"line_end":683,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93637,"byte_end":93643,"line_start":683,"line_end":683,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536872629}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93658,"byte_end":93664,"line_start":683,"line_end":683,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93665,"byte_end":93674,"line_start":683,"line_end":683,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93708,"byte_end":93726,"line_start":684,"line_end":684,"column_start":24,"column_end":42},"ref_id":{"krate":0,"index":1715}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93697,"byte_end":93706,"line_start":684,"line_end":684,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93727,"byte_end":93733,"line_start":684,"line_end":684,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93735,"byte_end":93741,"line_start":684,"line_end":684,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872629}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93802,"byte_end":93816,"line_start":686,"line_end":686,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":93780,"byte_end":93793,"line_start":686,"line_end":686,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93773,"byte_end":93779,"line_start":686,"line_end":686,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073743541}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":93794,"byte_end":93800,"line_start":686,"line_end":686,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872629}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93840,"byte_end":93842,"line_start":689,"line_end":689,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":93990,"byte_end":93999,"line_start":694,"line_end":694,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94010,"byte_end":94019,"line_start":694,"line_end":694,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94024,"byte_end":94030,"line_start":694,"line_end":694,"column_start":79,"column_end":85},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94038,"byte_end":94046,"line_start":694,"line_end":694,"column_start":93,"column_end":101},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94062,"byte_end":94067,"line_start":696,"line_end":696,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94083,"byte_end":94086,"line_start":696,"line_end":696,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94097,"byte_end":94100,"line_start":696,"line_end":696,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94087,"byte_end":94095,"line_start":696,"line_end":696,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94156,"byte_end":94165,"line_start":698,"line_end":698,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94149,"byte_end":94155,"line_start":698,"line_end":698,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94166,"byte_end":94172,"line_start":698,"line_end":698,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94206,"byte_end":94216,"line_start":700,"line_end":700,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94199,"byte_end":94205,"line_start":700,"line_end":700,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94217,"byte_end":94223,"line_start":700,"line_end":700,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94224,"byte_end":94235,"line_start":700,"line_end":700,"column_start":49,"column_end":60},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94237,"byte_end":94238,"line_start":700,"line_end":700,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3912}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94295,"byte_end":94303,"line_start":703,"line_end":703,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3019900598}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94320,"byte_end":94326,"line_start":703,"line_end":703,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94307,"byte_end":94318,"line_start":703,"line_end":703,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94346,"byte_end":94354,"line_start":703,"line_end":703,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":1659}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94340,"byte_end":94345,"line_start":703,"line_end":703,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":1140852406}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94431,"byte_end":94445,"line_start":706,"line_end":706,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94425,"byte_end":94430,"line_start":706,"line_end":706,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1140852406}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94502,"byte_end":94504,"line_start":707,"line_end":707,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94505,"byte_end":94514,"line_start":707,"line_end":707,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":2181039798}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94611,"byte_end":94619,"line_start":711,"line_end":711,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":3019900598}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94647,"byte_end":94651,"line_start":712,"line_end":712,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94634,"byte_end":94645,"line_start":712,"line_end":712,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94647,"byte_end":94651,"line_start":712,"line_end":712,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94634,"byte_end":94645,"line_start":712,"line_end":712,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94665,"byte_end":94667,"line_start":712,"line_end":712,"column_start":44,"column_end":46},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94699,"byte_end":94702,"line_start":713,"line_end":713,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94686,"byte_end":94697,"line_start":713,"line_end":713,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94699,"byte_end":94702,"line_start":713,"line_end":713,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94686,"byte_end":94697,"line_start":713,"line_end":713,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94717,"byte_end":94719,"line_start":713,"line_end":713,"column_start":44,"column_end":46},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94751,"byte_end":94761,"line_start":714,"line_end":714,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94738,"byte_end":94749,"line_start":714,"line_end":714,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94751,"byte_end":94761,"line_start":714,"line_end":714,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94738,"byte_end":94749,"line_start":714,"line_end":714,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94780,"byte_end":94788,"line_start":714,"line_end":714,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94772,"byte_end":94778,"line_start":714,"line_end":714,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94789,"byte_end":94794,"line_start":714,"line_end":714,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94796,"byte_end":94802,"line_start":714,"line_end":714,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94804,"byte_end":94810,"line_start":714,"line_end":714,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94840,"byte_end":94845,"line_start":715,"line_end":715,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94827,"byte_end":94838,"line_start":715,"line_end":715,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94840,"byte_end":94845,"line_start":715,"line_end":715,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94827,"byte_end":94838,"line_start":715,"line_end":715,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94869,"byte_end":94877,"line_start":715,"line_end":715,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94859,"byte_end":94867,"line_start":715,"line_end":715,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94878,"byte_end":94883,"line_start":715,"line_end":715,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94885,"byte_end":94891,"line_start":715,"line_end":715,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94893,"byte_end":94899,"line_start":715,"line_end":715,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94929,"byte_end":94933,"line_start":716,"line_end":716,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94916,"byte_end":94927,"line_start":716,"line_end":716,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94929,"byte_end":94933,"line_start":716,"line_end":716,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":94916,"byte_end":94927,"line_start":716,"line_end":716,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":94958,"byte_end":94966,"line_start":716,"line_end":716,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94967,"byte_end":94972,"line_start":716,"line_end":716,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94974,"byte_end":94980,"line_start":716,"line_end":716,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":94982,"byte_end":94988,"line_start":716,"line_end":716,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95018,"byte_end":95023,"line_start":717,"line_end":717,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95005,"byte_end":95016,"line_start":717,"line_end":717,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95018,"byte_end":95023,"line_start":717,"line_end":717,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95005,"byte_end":95016,"line_start":717,"line_end":717,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95047,"byte_end":95055,"line_start":717,"line_end":717,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95056,"byte_end":95061,"line_start":717,"line_end":717,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95063,"byte_end":95069,"line_start":717,"line_end":717,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95071,"byte_end":95077,"line_start":717,"line_end":717,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95107,"byte_end":95112,"line_start":718,"line_end":718,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95094,"byte_end":95105,"line_start":718,"line_end":718,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95107,"byte_end":95112,"line_start":718,"line_end":718,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95094,"byte_end":95105,"line_start":718,"line_end":718,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95136,"byte_end":95144,"line_start":718,"line_end":718,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95145,"byte_end":95150,"line_start":718,"line_end":718,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95152,"byte_end":95158,"line_start":718,"line_end":718,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95160,"byte_end":95166,"line_start":718,"line_end":718,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95196,"byte_end":95201,"line_start":719,"line_end":719,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95183,"byte_end":95194,"line_start":719,"line_end":719,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95196,"byte_end":95201,"line_start":719,"line_end":719,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95183,"byte_end":95194,"line_start":719,"line_end":719,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95225,"byte_end":95233,"line_start":719,"line_end":719,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95234,"byte_end":95239,"line_start":719,"line_end":719,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95241,"byte_end":95247,"line_start":719,"line_end":719,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95249,"byte_end":95255,"line_start":719,"line_end":719,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95285,"byte_end":95290,"line_start":720,"line_end":720,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95272,"byte_end":95283,"line_start":720,"line_end":720,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95285,"byte_end":95290,"line_start":720,"line_end":720,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95272,"byte_end":95283,"line_start":720,"line_end":720,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95314,"byte_end":95322,"line_start":720,"line_end":720,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95323,"byte_end":95328,"line_start":720,"line_end":720,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95330,"byte_end":95336,"line_start":720,"line_end":720,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95338,"byte_end":95344,"line_start":720,"line_end":720,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95374,"byte_end":95380,"line_start":721,"line_end":721,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95361,"byte_end":95372,"line_start":721,"line_end":721,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95374,"byte_end":95380,"line_start":721,"line_end":721,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95361,"byte_end":95372,"line_start":721,"line_end":721,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95403,"byte_end":95411,"line_start":721,"line_end":721,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95412,"byte_end":95417,"line_start":721,"line_end":721,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95419,"byte_end":95425,"line_start":721,"line_end":721,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95427,"byte_end":95433,"line_start":721,"line_end":721,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95463,"byte_end":95469,"line_start":722,"line_end":722,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95450,"byte_end":95461,"line_start":722,"line_end":722,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95463,"byte_end":95469,"line_start":722,"line_end":722,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95450,"byte_end":95461,"line_start":722,"line_end":722,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95492,"byte_end":95500,"line_start":722,"line_end":722,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95501,"byte_end":95506,"line_start":722,"line_end":722,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95508,"byte_end":95514,"line_start":722,"line_end":722,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95516,"byte_end":95522,"line_start":722,"line_end":722,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95552,"byte_end":95558,"line_start":723,"line_end":723,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95539,"byte_end":95550,"line_start":723,"line_end":723,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95552,"byte_end":95558,"line_start":723,"line_end":723,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95539,"byte_end":95550,"line_start":723,"line_end":723,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95581,"byte_end":95589,"line_start":723,"line_end":723,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95590,"byte_end":95595,"line_start":723,"line_end":723,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95597,"byte_end":95603,"line_start":723,"line_end":723,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95605,"byte_end":95611,"line_start":723,"line_end":723,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95641,"byte_end":95646,"line_start":724,"line_end":724,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95628,"byte_end":95639,"line_start":724,"line_end":724,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95641,"byte_end":95646,"line_start":724,"line_end":724,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95628,"byte_end":95639,"line_start":724,"line_end":724,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95670,"byte_end":95678,"line_start":724,"line_end":724,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95679,"byte_end":95684,"line_start":724,"line_end":724,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95686,"byte_end":95692,"line_start":724,"line_end":724,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95694,"byte_end":95700,"line_start":724,"line_end":724,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95730,"byte_end":95736,"line_start":725,"line_end":725,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95717,"byte_end":95728,"line_start":725,"line_end":725,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95730,"byte_end":95736,"line_start":725,"line_end":725,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95717,"byte_end":95728,"line_start":725,"line_end":725,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95759,"byte_end":95767,"line_start":725,"line_end":725,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95768,"byte_end":95773,"line_start":725,"line_end":725,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95775,"byte_end":95781,"line_start":725,"line_end":725,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95783,"byte_end":95789,"line_start":725,"line_end":725,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95819,"byte_end":95826,"line_start":726,"line_end":726,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95806,"byte_end":95817,"line_start":726,"line_end":726,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95819,"byte_end":95826,"line_start":726,"line_end":726,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95806,"byte_end":95817,"line_start":726,"line_end":726,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95848,"byte_end":95856,"line_start":726,"line_end":726,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95840,"byte_end":95846,"line_start":726,"line_end":726,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95857,"byte_end":95862,"line_start":726,"line_end":726,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95864,"byte_end":95870,"line_start":726,"line_end":726,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95872,"byte_end":95878,"line_start":726,"line_end":726,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95908,"byte_end":95915,"line_start":727,"line_end":727,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95895,"byte_end":95906,"line_start":727,"line_end":727,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95908,"byte_end":95915,"line_start":727,"line_end":727,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95895,"byte_end":95906,"line_start":727,"line_end":727,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":95937,"byte_end":95945,"line_start":727,"line_end":727,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95946,"byte_end":95951,"line_start":727,"line_end":727,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95953,"byte_end":95959,"line_start":727,"line_end":727,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":95961,"byte_end":95967,"line_start":727,"line_end":727,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95997,"byte_end":96000,"line_start":728,"line_end":728,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95984,"byte_end":95995,"line_start":728,"line_end":728,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95997,"byte_end":96000,"line_start":728,"line_end":728,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":95984,"byte_end":95995,"line_start":728,"line_end":728,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96026,"byte_end":96034,"line_start":728,"line_end":728,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96018,"byte_end":96024,"line_start":728,"line_end":728,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96035,"byte_end":96040,"line_start":728,"line_end":728,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96042,"byte_end":96048,"line_start":728,"line_end":728,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96050,"byte_end":96056,"line_start":728,"line_end":728,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96086,"byte_end":96090,"line_start":729,"line_end":729,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96073,"byte_end":96084,"line_start":729,"line_end":729,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96086,"byte_end":96090,"line_start":729,"line_end":729,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96073,"byte_end":96084,"line_start":729,"line_end":729,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96115,"byte_end":96123,"line_start":729,"line_end":729,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96106,"byte_end":96113,"line_start":729,"line_end":729,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96124,"byte_end":96129,"line_start":729,"line_end":729,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96131,"byte_end":96137,"line_start":729,"line_end":729,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96139,"byte_end":96145,"line_start":729,"line_end":729,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96175,"byte_end":96179,"line_start":730,"line_end":730,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96162,"byte_end":96173,"line_start":730,"line_end":730,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96175,"byte_end":96179,"line_start":730,"line_end":730,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96162,"byte_end":96173,"line_start":730,"line_end":730,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96204,"byte_end":96212,"line_start":730,"line_end":730,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96195,"byte_end":96202,"line_start":730,"line_end":730,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96213,"byte_end":96218,"line_start":730,"line_end":730,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96220,"byte_end":96226,"line_start":730,"line_end":730,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96228,"byte_end":96234,"line_start":730,"line_end":730,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96264,"byte_end":96268,"line_start":731,"line_end":731,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96251,"byte_end":96262,"line_start":731,"line_end":731,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96264,"byte_end":96268,"line_start":731,"line_end":731,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96251,"byte_end":96262,"line_start":731,"line_end":731,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96293,"byte_end":96301,"line_start":731,"line_end":731,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96284,"byte_end":96291,"line_start":731,"line_end":731,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96302,"byte_end":96307,"line_start":731,"line_end":731,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96309,"byte_end":96315,"line_start":731,"line_end":731,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96317,"byte_end":96323,"line_start":731,"line_end":731,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96353,"byte_end":96357,"line_start":732,"line_end":732,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96340,"byte_end":96351,"line_start":732,"line_end":732,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96353,"byte_end":96357,"line_start":732,"line_end":732,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96340,"byte_end":96351,"line_start":732,"line_end":732,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96382,"byte_end":96390,"line_start":732,"line_end":732,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96373,"byte_end":96380,"line_start":732,"line_end":732,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96391,"byte_end":96396,"line_start":732,"line_end":732,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96398,"byte_end":96404,"line_start":732,"line_end":732,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96406,"byte_end":96412,"line_start":732,"line_end":732,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96442,"byte_end":96448,"line_start":733,"line_end":733,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96429,"byte_end":96440,"line_start":733,"line_end":733,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96442,"byte_end":96448,"line_start":733,"line_end":733,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96429,"byte_end":96440,"line_start":733,"line_end":733,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96471,"byte_end":96479,"line_start":733,"line_end":733,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96460,"byte_end":96469,"line_start":733,"line_end":733,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96480,"byte_end":96485,"line_start":733,"line_end":733,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96487,"byte_end":96493,"line_start":733,"line_end":733,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96495,"byte_end":96501,"line_start":733,"line_end":733,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96531,"byte_end":96534,"line_start":734,"line_end":734,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96518,"byte_end":96529,"line_start":734,"line_end":734,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96531,"byte_end":96534,"line_start":734,"line_end":734,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96518,"byte_end":96529,"line_start":734,"line_end":734,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96560,"byte_end":96568,"line_start":734,"line_end":734,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96552,"byte_end":96558,"line_start":734,"line_end":734,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96569,"byte_end":96574,"line_start":734,"line_end":734,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96576,"byte_end":96582,"line_start":734,"line_end":734,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96584,"byte_end":96590,"line_start":734,"line_end":734,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96620,"byte_end":96624,"line_start":735,"line_end":735,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96607,"byte_end":96618,"line_start":735,"line_end":735,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96620,"byte_end":96624,"line_start":735,"line_end":735,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96607,"byte_end":96618,"line_start":735,"line_end":735,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96649,"byte_end":96657,"line_start":735,"line_end":735,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96640,"byte_end":96647,"line_start":735,"line_end":735,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96658,"byte_end":96663,"line_start":735,"line_end":735,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96665,"byte_end":96671,"line_start":735,"line_end":735,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96673,"byte_end":96679,"line_start":735,"line_end":735,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96709,"byte_end":96714,"line_start":736,"line_end":736,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96696,"byte_end":96707,"line_start":736,"line_end":736,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96709,"byte_end":96714,"line_start":736,"line_end":736,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96696,"byte_end":96707,"line_start":736,"line_end":736,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96738,"byte_end":96746,"line_start":736,"line_end":736,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96728,"byte_end":96736,"line_start":736,"line_end":736,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96747,"byte_end":96752,"line_start":736,"line_end":736,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96754,"byte_end":96760,"line_start":736,"line_end":736,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96762,"byte_end":96768,"line_start":736,"line_end":736,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96798,"byte_end":96804,"line_start":737,"line_end":737,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96785,"byte_end":96796,"line_start":737,"line_end":737,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96798,"byte_end":96804,"line_start":737,"line_end":737,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96785,"byte_end":96796,"line_start":737,"line_end":737,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":96827,"byte_end":96835,"line_start":737,"line_end":737,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1740}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96816,"byte_end":96825,"line_start":737,"line_end":737,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96836,"byte_end":96841,"line_start":737,"line_end":737,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":1073743542}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96843,"byte_end":96849,"line_start":737,"line_end":737,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":536872630}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96851,"byte_end":96857,"line_start":737,"line_end":737,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614454}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":96975,"byte_end":96977,"line_start":741,"line_end":741,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96978,"byte_end":96987,"line_start":741,"line_end":741,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3896510134}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":96990,"byte_end":96999,"line_start":741,"line_end":741,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":2181039798}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97366,"byte_end":97371,"line_start":750,"line_end":750,"column_start":87,"column_end":92},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97320,"byte_end":97336,"line_start":750,"line_end":750,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97341,"byte_end":97347,"line_start":750,"line_end":750,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97509,"byte_end":97514,"line_start":753,"line_end":753,"column_start":91,"column_end":96},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97449,"byte_end":97458,"line_start":753,"line_end":753,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97470,"byte_end":97479,"line_start":753,"line_end":753,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97484,"byte_end":97490,"line_start":753,"line_end":753,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97652,"byte_end":97657,"line_start":756,"line_end":756,"column_start":91,"column_end":96},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97592,"byte_end":97601,"line_start":756,"line_end":756,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97613,"byte_end":97622,"line_start":756,"line_end":756,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97627,"byte_end":97633,"line_start":756,"line_end":756,"column_start":66,"column_end":72},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":97943,"byte_end":97954,"line_start":767,"line_end":767,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98070,"byte_end":98081,"line_start":771,"line_end":771,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98187,"byte_end":98190,"line_start":775,"line_end":775,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98191,"byte_end":98207,"line_start":775,"line_end":775,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98228,"byte_end":98234,"line_start":775,"line_end":775,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98235,"byte_end":98242,"line_start":775,"line_end":775,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98244,"byte_end":98252,"line_start":775,"line_end":775,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98324,"byte_end":98327,"line_start":779,"line_end":779,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98328,"byte_end":98344,"line_start":779,"line_end":779,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98365,"byte_end":98371,"line_start":779,"line_end":779,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98372,"byte_end":98378,"line_start":779,"line_end":779,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98380,"byte_end":98388,"line_start":779,"line_end":779,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98472,"byte_end":98475,"line_start":783,"line_end":783,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98476,"byte_end":98492,"line_start":783,"line_end":783,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98513,"byte_end":98522,"line_start":783,"line_end":783,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98531,"byte_end":98534,"line_start":783,"line_end":783,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98535,"byte_end":98541,"line_start":783,"line_end":783,"column_start":98,"column_end":104},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98547,"byte_end":98553,"line_start":783,"line_end":783,"column_start":110,"column_end":116},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98561,"byte_end":98564,"line_start":783,"line_end":783,"column_start":124,"column_end":127},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98570,"byte_end":98573,"line_start":783,"line_end":783,"column_start":133,"column_end":136},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98574,"byte_end":98590,"line_start":783,"line_end":783,"column_start":137,"column_end":153},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98594,"byte_end":98602,"line_start":783,"line_end":783,"column_start":157,"column_end":165},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98687,"byte_end":98690,"line_start":787,"line_end":787,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98691,"byte_end":98707,"line_start":787,"line_end":787,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98728,"byte_end":98735,"line_start":787,"line_end":787,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98741,"byte_end":98747,"line_start":787,"line_end":787,"column_start":90,"column_end":96},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98755,"byte_end":98758,"line_start":787,"line_end":787,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98764,"byte_end":98767,"line_start":787,"line_end":787,"column_start":113,"column_end":116},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98768,"byte_end":98784,"line_start":787,"line_end":787,"column_start":117,"column_end":133},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98788,"byte_end":98796,"line_start":787,"line_end":787,"column_start":137,"column_end":145},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98877,"byte_end":98880,"line_start":791,"line_end":791,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98881,"byte_end":98897,"line_start":791,"line_end":791,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98940,"byte_end":98943,"line_start":791,"line_end":791,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":98944,"byte_end":98960,"line_start":791,"line_end":791,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99160,"byte_end":99165,"line_start":795,"line_end":795,"column_start":134,"column_end":139},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99059,"byte_end":99068,"line_start":795,"line_end":795,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99085,"byte_end":99094,"line_start":795,"line_end":795,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99113,"byte_end":99119,"line_start":795,"line_end":795,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99120,"byte_end":99129,"line_start":795,"line_end":795,"column_start":94,"column_end":103},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99131,"byte_end":99139,"line_start":795,"line_end":795,"column_start":105,"column_end":113},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99229,"byte_end":99237,"line_start":796,"line_end":796,"column_start":62,"column_end":70},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99249,"byte_end":99252,"line_start":797,"line_end":797,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99263,"byte_end":99266,"line_start":797,"line_end":797,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99253,"byte_end":99261,"line_start":797,"line_end":797,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99275,"byte_end":99281,"line_start":797,"line_end":797,"column_start":35,"column_end":41},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":99267,"byte_end":99274,"line_start":797,"line_end":797,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":805308101}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99498,"byte_end":99503,"line_start":802,"line_end":802,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99397,"byte_end":99406,"line_start":802,"line_end":802,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99422,"byte_end":99431,"line_start":802,"line_end":802,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99445,"byte_end":99452,"line_start":802,"line_end":802,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99458,"byte_end":99464,"line_start":802,"line_end":802,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99469,"byte_end":99477,"line_start":802,"line_end":802,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99688,"byte_end":99693,"line_start":806,"line_end":806,"column_start":114,"column_end":119},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99603,"byte_end":99612,"line_start":806,"line_end":806,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99631,"byte_end":99640,"line_start":806,"line_end":806,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99645,"byte_end":99651,"line_start":806,"line_end":806,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99652,"byte_end":99658,"line_start":806,"line_end":806,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99666,"byte_end":99674,"line_start":806,"line_end":806,"column_start":92,"column_end":100},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99752,"byte_end":99760,"line_start":807,"line_end":807,"column_start":57,"column_end":65},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99772,"byte_end":99775,"line_start":808,"line_end":808,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99786,"byte_end":99789,"line_start":808,"line_end":808,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99776,"byte_end":99784,"line_start":808,"line_end":808,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":99798,"byte_end":99804,"line_start":808,"line_end":808,"column_start":35,"column_end":41},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":99790,"byte_end":99797,"line_start":808,"line_end":808,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":1342179017}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99992,"byte_end":99997,"line_start":813,"line_end":813,"column_start":122,"column_end":127},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99941,"byte_end":99944,"line_start":813,"line_end":813,"column_start":71,"column_end":74},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99945,"byte_end":99961,"line_start":813,"line_end":813,"column_start":75,"column_end":91},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":99967,"byte_end":99973,"line_start":813,"line_end":813,"column_start":97,"column_end":103},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100119,"byte_end":100128,"line_start":817,"line_end":817,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100146,"byte_end":100155,"line_start":817,"line_end":817,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100160,"byte_end":100167,"line_start":817,"line_end":817,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100314,"byte_end":100323,"line_start":821,"line_end":821,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100341,"byte_end":100350,"line_start":821,"line_end":821,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100355,"byte_end":100361,"line_start":821,"line_end":821,"column_start":88,"column_end":94},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100369,"byte_end":100377,"line_start":821,"line_end":821,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100684,"byte_end":100689,"line_start":825,"line_end":825,"column_start":194,"column_end":199},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100537,"byte_end":100546,"line_start":825,"line_end":825,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100569,"byte_end":100578,"line_start":825,"line_end":825,"column_start":79,"column_end":88},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100591,"byte_end":100600,"line_start":825,"line_end":825,"column_start":101,"column_end":110},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100621,"byte_end":100630,"line_start":825,"line_end":825,"column_start":131,"column_end":140},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100635,"byte_end":100641,"line_start":825,"line_end":825,"column_start":145,"column_end":151},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100642,"byte_end":100651,"line_start":825,"line_end":825,"column_start":152,"column_end":161},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100653,"byte_end":100661,"line_start":825,"line_end":825,"column_start":163,"column_end":171},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":100713,"byte_end":100723,"line_start":827,"line_end":827,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1737}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100725,"byte_end":100736,"line_start":827,"line_end":827,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":536872653}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100738,"byte_end":100749,"line_start":827,"line_end":827,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":1610614477}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100766,"byte_end":100770,"line_start":828,"line_end":828,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100766,"byte_end":100770,"line_start":828,"line_end":828,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/pointer/mod.rs","byte_start":100808,"byte_end":100817,"line_start":829,"line_end":829,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1733}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100818,"byte_end":100827,"line_start":829,"line_end":829,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":268437197}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100829,"byte_end":100838,"line_start":829,"line_end":829,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1342179021}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100840,"byte_end":100841,"line_start":829,"line_end":829,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":1677723341}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100871,"byte_end":100875,"line_start":831,"line_end":831,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100871,"byte_end":100875,"line_start":831,"line_end":831,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/pointer/mod.rs","byte_start":100902,"byte_end":100904,"line_start":834,"line_end":834,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/pointer/mod.rs","byte_start":100905,"byte_end":100914,"line_start":834,"line_end":834,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437197}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21918,"byte_end":21928,"line_start":330,"line_end":330,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366790,"byte_end":366795,"line_start":4,"line_end":4,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":1743}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366900,"byte_end":366905,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366907,"byte_end":366911,"line_start":1,"line_end":1,"column_start":12,"column_end":16},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2807}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":366930,"byte_end":366933,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3865}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3865}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366922,"byte_end":366927,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":366944,"byte_end":366950,"line_start":2,"line_end":2,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2277}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367015,"byte_end":367021,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2277}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367015,"byte_end":367021,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2276}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367052,"byte_end":367055,"line_start":3,"line_end":3,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367007,"byte_end":367012,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367052,"byte_end":367055,"line_start":3,"line_end":3,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2839}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367083,"byte_end":367088,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367090,"byte_end":367096,"line_start":4,"line_end":4,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367110,"byte_end":367115,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3533}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367117,"byte_end":367124,"line_start":5,"line_end":5,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3533}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367143,"byte_end":367148,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367151,"byte_end":367158,"line_start":6,"line_end":6,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367143,"byte_end":367148,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367173,"byte_end":367179,"line_start":6,"line_end":6,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367214,"byte_end":367220,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367235,"byte_end":367242,"line_start":7,"line_end":7,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367256,"byte_end":367261,"line_start":7,"line_end":7,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367273,"byte_end":367279,"line_start":7,"line_end":7,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367273,"byte_end":367279,"line_start":7,"line_end":7,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367307,"byte_end":367316,"line_start":7,"line_end":7,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367206,"byte_end":367211,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367307,"byte_end":367316,"line_start":7,"line_end":7,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367342,"byte_end":367347,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367349,"byte_end":367355,"line_start":9,"line_end":9,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367371,"byte_end":367376,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367378,"byte_end":367381,"line_start":10,"line_end":10,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367392,"byte_end":367397,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367399,"byte_end":367404,"line_start":11,"line_end":11,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367415,"byte_end":367420,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367422,"byte_end":367428,"line_start":12,"line_end":12,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367443,"byte_end":367447,"line_start":13,"line_end":13,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":39482}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":367450,"byte_end":367456,"line_start":13,"line_end":13,"column_start":12,"column_end":18},"ref_id":{"krate":1,"index":8898}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367616,"byte_end":367622,"line_start":21,"line_end":21,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367635,"byte_end":367644,"line_start":21,"line_end":21,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3533}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367709,"byte_end":367718,"line_start":24,"line_end":24,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367589,"byte_end":367594,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3573}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367607,"byte_end":367614,"line_start":21,"line_end":21,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367651,"byte_end":367663,"line_start":22,"line_end":22,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":3575}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367676,"byte_end":367689,"line_start":23,"line_end":23,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3576}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":367702,"byte_end":367707,"line_start":24,"line_end":24,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3577}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367841,"byte_end":367850,"line_start":31,"line_end":31,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367861,"byte_end":367877,"line_start":31,"line_end":31,"column_start":57,"column_end":73},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367937,"byte_end":367946,"line_start":31,"line_end":31,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367951,"byte_end":367957,"line_start":31,"line_end":31,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367958,"byte_end":367964,"line_start":31,"line_end":31,"column_start":154,"column_end":160},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367965,"byte_end":367974,"line_start":31,"line_end":31,"column_start":161,"column_end":170},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":367977,"byte_end":367985,"line_start":31,"line_end":31,"column_start":173,"column_end":181},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368033,"byte_end":368039,"line_start":33,"line_end":33,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872748}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368040,"byte_end":368044,"line_start":33,"line_end":33,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368055,"byte_end":368069,"line_start":33,"line_end":33,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":4024}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368108,"byte_end":368116,"line_start":35,"line_end":35,"column_start":34,"column_end":42},"ref_id":{"krate":1,"index":8064}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368101,"byte_end":368105,"line_start":35,"line_end":35,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368089,"byte_end":368093,"line_start":35,"line_end":35,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":3623880492}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368094,"byte_end":368100,"line_start":35,"line_end":35,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368125,"byte_end":368128,"line_start":35,"line_end":35,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3288336172}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368129,"byte_end":368132,"line_start":35,"line_end":35,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368136,"byte_end":368139,"line_start":35,"line_end":35,"column_start":62,"column_end":65},"ref_id":{"krate":0,"index":1610614572}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368157,"byte_end":368161,"line_start":36,"line_end":36,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368157,"byte_end":368161,"line_start":36,"line_end":36,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368190,"byte_end":368202,"line_start":38,"line_end":38,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":1342179116}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368232,"byte_end":368234,"line_start":39,"line_end":39,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368235,"byte_end":368239,"line_start":39,"line_end":39,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368251,"byte_end":368254,"line_start":39,"line_end":39,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368240,"byte_end":368249,"line_start":39,"line_end":39,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368258,"byte_end":368262,"line_start":39,"line_end":39,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3623880492}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368263,"byte_end":368269,"line_start":39,"line_end":39,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368270,"byte_end":368271,"line_start":39,"line_end":39,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":201328428}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368273,"byte_end":368279,"line_start":39,"line_end":39,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368281,"byte_end":368293,"line_start":39,"line_end":39,"column_start":77,"column_end":89},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368294,"byte_end":368305,"line_start":39,"line_end":39,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368360,"byte_end":368361,"line_start":42,"line_end":42,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":201328428}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368364,"byte_end":368375,"line_start":42,"line_end":42,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368427,"byte_end":368428,"line_start":43,"line_end":43,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":201328428}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368431,"byte_end":368442,"line_start":43,"line_end":43,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":2276}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368534,"byte_end":368543,"line_start":45,"line_end":45,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368521,"byte_end":368533,"line_start":45,"line_end":45,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368544,"byte_end":368550,"line_start":45,"line_end":45,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":805308204}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368585,"byte_end":368599,"line_start":47,"line_end":47,"column_start":32,"column_end":46},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368573,"byte_end":368584,"line_start":47,"line_end":47,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1442842412}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368632,"byte_end":368641,"line_start":48,"line_end":48,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":268437292}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368689,"byte_end":368706,"line_start":49,"line_end":49,"column_start":46,"column_end":63},"ref_id":{"krate":0,"index":1838}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368707,"byte_end":368719,"line_start":49,"line_end":49,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368721,"byte_end":368727,"line_start":49,"line_end":49,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":805308204}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368668,"byte_end":368680,"line_start":49,"line_end":49,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":368783,"byte_end":368792,"line_start":51,"line_end":51,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368770,"byte_end":368782,"line_start":51,"line_end":51,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368793,"byte_end":368799,"line_start":51,"line_end":51,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":805308204}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":368756,"byte_end":368767,"line_start":51,"line_end":51,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1442842412}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368862,"byte_end":368864,"line_start":53,"line_end":53,"column_start":32,"column_end":34},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":368865,"byte_end":368869,"line_start":53,"line_end":53,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369012,"byte_end":369026,"line_start":58,"line_end":58,"column_start":54,"column_end":68},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369000,"byte_end":369011,"line_start":58,"line_end":58,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1442842412}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369059,"byte_end":369066,"line_start":60,"line_end":60,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":2583693100}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369147,"byte_end":369158,"line_start":62,"line_end":62,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":4110419756}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369161,"byte_end":369168,"line_start":62,"line_end":62,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":2583693100}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369172,"byte_end":369180,"line_start":62,"line_end":62,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":1124075308}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369235,"byte_end":369245,"line_start":63,"line_end":63,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":1845}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369246,"byte_end":369260,"line_start":63,"line_end":63,"column_start":60,"column_end":74},"ref_id":{"krate":0,"index":2634024748}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369262,"byte_end":369268,"line_start":63,"line_end":63,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":805308204}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369325,"byte_end":369333,"line_start":64,"line_end":64,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369313,"byte_end":369324,"line_start":64,"line_end":64,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":2600470316}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369365,"byte_end":369376,"line_start":66,"line_end":66,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":117442348}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369415,"byte_end":369424,"line_start":67,"line_end":67,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":268437292}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369475,"byte_end":369477,"line_start":68,"line_end":68,"column_start":40,"column_end":42},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369478,"byte_end":369482,"line_start":68,"line_end":68,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369566,"byte_end":369582,"line_start":70,"line_end":70,"column_start":52,"column_end":68},"ref_id":{"krate":0,"index":1841}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369583,"byte_end":369594,"line_start":70,"line_end":70,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":2600470316}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369596,"byte_end":369602,"line_start":70,"line_end":70,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":805308204}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369543,"byte_end":369557,"line_start":70,"line_end":70,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2634024748}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369684,"byte_end":369695,"line_start":72,"line_end":72,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":117442348}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369667,"byte_end":369681,"line_start":72,"line_end":72,"column_start":29,"column_end":43},"ref_id":{"krate":0,"index":2634024748}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369757,"byte_end":369768,"line_start":75,"line_end":75,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":4110419756}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369799,"byte_end":369807,"line_start":76,"line_end":76,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":1124075308}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369890,"byte_end":369904,"line_start":80,"line_end":80,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":2634024748}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369908,"byte_end":369919,"line_start":80,"line_end":80,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":2248148780}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369943,"byte_end":369945,"line_start":82,"line_end":82,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369946,"byte_end":369950,"line_start":82,"line_end":82,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":369962,"byte_end":369965,"line_start":82,"line_end":82,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":369951,"byte_end":369960,"line_start":82,"line_end":82,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369966,"byte_end":369978,"line_start":82,"line_end":82,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":1115686700}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369980,"byte_end":369984,"line_start":82,"line_end":82,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3623880492}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369985,"byte_end":369991,"line_start":82,"line_end":82,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369992,"byte_end":369993,"line_start":82,"line_end":82,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":201328428}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":369995,"byte_end":370001,"line_start":82,"line_end":82,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370003,"byte_end":370015,"line_start":82,"line_end":82,"column_start":77,"column_end":89},"ref_id":{"krate":0,"index":1073743660}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370016,"byte_end":370027,"line_start":82,"line_end":82,"column_start":90,"column_end":101},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370058,"byte_end":370062,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370058,"byte_end":370062,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370066,"byte_end":370068,"line_start":84,"line_end":84,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370069,"byte_end":370073,"line_start":84,"line_end":84,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370171,"byte_end":370180,"line_start":90,"line_end":90,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370197,"byte_end":370206,"line_start":90,"line_end":90,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370211,"byte_end":370217,"line_start":90,"line_end":90,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370218,"byte_end":370227,"line_start":90,"line_end":90,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370229,"byte_end":370237,"line_start":90,"line_end":90,"column_start":109,"column_end":117},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370281,"byte_end":370294,"line_start":92,"line_end":92,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370274,"byte_end":370280,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872750}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370302,"byte_end":370314,"line_start":92,"line_end":92,"column_start":61,"column_end":73},"ref_id":{"krate":0,"index":2277}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370371,"byte_end":370385,"line_start":94,"line_end":94,"column_start":44,"column_end":58},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370349,"byte_end":370362,"line_start":94,"line_end":94,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370336,"byte_end":370348,"line_start":94,"line_end":94,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":1073743662}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370363,"byte_end":370369,"line_start":94,"line_end":94,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":536872750}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370386,"byte_end":370403,"line_start":94,"line_end":94,"column_start":59,"column_end":76},"ref_id":{"krate":0,"index":2214594350}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370422,"byte_end":370424,"line_start":96,"line_end":96,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370425,"byte_end":370437,"line_start":96,"line_end":96,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743662}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370527,"byte_end":370536,"line_start":100,"line_end":100,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3533}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370553,"byte_end":370562,"line_start":100,"line_end":100,"column_start":86,"column_end":95},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370567,"byte_end":370573,"line_start":100,"line_end":100,"column_start":100,"column_end":106},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370581,"byte_end":370589,"line_start":100,"line_end":100,"column_start":114,"column_end":122},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370627,"byte_end":370640,"line_start":102,"line_end":102,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370620,"byte_end":370626,"line_start":102,"line_end":102,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536872753}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370648,"byte_end":370660,"line_start":102,"line_end":102,"column_start":55,"column_end":67},"ref_id":{"krate":0,"index":2277}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370694,"byte_end":370702,"line_start":104,"line_end":104,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":1704}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370682,"byte_end":370693,"line_start":104,"line_end":104,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":1073743665}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370703,"byte_end":370714,"line_start":104,"line_end":104,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2214594353}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370733,"byte_end":370735,"line_start":106,"line_end":106,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370736,"byte_end":370747,"line_start":106,"line_end":106,"column_start":12,"column_end":23},"ref_id":{"krate":0,"index":2214594353}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370807,"byte_end":370816,"line_start":110,"line_end":110,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370834,"byte_end":370843,"line_start":110,"line_end":110,"column_start":57,"column_end":66},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370889,"byte_end":370898,"line_start":112,"line_end":112,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370882,"byte_end":370888,"line_start":112,"line_end":112,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1073743668}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370899,"byte_end":370905,"line_start":112,"line_end":112,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872756}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":370946,"byte_end":370960,"line_start":114,"line_end":114,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":370934,"byte_end":370945,"line_start":114,"line_end":114,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":2952791860}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":370982,"byte_end":370986,"line_start":116,"line_end":116,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371001,"byte_end":371006,"line_start":117,"line_end":117,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3577}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371015,"byte_end":371020,"line_start":117,"line_end":117,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371008,"byte_end":371014,"line_start":117,"line_end":117,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1073743668}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371036,"byte_end":371043,"line_start":118,"line_end":118,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371048,"byte_end":371058,"line_start":118,"line_end":118,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3892315956}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371082,"byte_end":371086,"line_start":119,"line_end":119,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371124,"byte_end":371128,"line_start":121,"line_end":121,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371135,"byte_end":371145,"line_start":121,"line_end":121,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1845}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371146,"byte_end":371156,"line_start":121,"line_end":121,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3892315956}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371158,"byte_end":371164,"line_start":121,"line_end":121,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872756}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371194,"byte_end":371206,"line_start":123,"line_end":123,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":3575}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371208,"byte_end":371218,"line_start":123,"line_end":123,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":3892315956}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371232,"byte_end":371245,"line_start":124,"line_end":124,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3576}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371262,"byte_end":371267,"line_start":125,"line_end":125,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3573}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371380,"byte_end":371389,"line_start":130,"line_end":130,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371407,"byte_end":371416,"line_start":130,"line_end":130,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":3533}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371430,"byte_end":371442,"line_start":131,"line_end":131,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743669}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371465,"byte_end":371468,"line_start":131,"line_end":131,"column_start":47,"column_end":50},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371452,"byte_end":371462,"line_start":131,"line_end":131,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371445,"byte_end":371451,"line_start":131,"line_end":131,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":536872757}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371532,"byte_end":371538,"line_start":132,"line_end":132,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371518,"byte_end":371529,"line_start":132,"line_end":132,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371511,"byte_end":371517,"line_start":132,"line_end":132,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872757}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371549,"byte_end":371558,"line_start":132,"line_end":132,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3533}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371657,"byte_end":371660,"line_start":134,"line_end":134,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371648,"byte_end":371654,"line_start":134,"line_end":134,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371634,"byte_end":371645,"line_start":134,"line_end":134,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371627,"byte_end":371633,"line_start":134,"line_end":134,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872757}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371661,"byte_end":371673,"line_start":134,"line_end":134,"column_start":63,"column_end":75},"ref_id":{"krate":0,"index":1073743669}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371683,"byte_end":371692,"line_start":134,"line_end":134,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":3533}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371783,"byte_end":371792,"line_start":139,"line_end":139,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371797,"byte_end":371803,"line_start":139,"line_end":139,"column_start":63,"column_end":69},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371825,"byte_end":371831,"line_start":139,"line_end":139,"column_start":91,"column_end":97},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371832,"byte_end":371841,"line_start":139,"line_end":139,"column_start":98,"column_end":107},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371887,"byte_end":371897,"line_start":141,"line_end":141,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371880,"byte_end":371886,"line_start":141,"line_end":141,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872759}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371898,"byte_end":371902,"line_start":141,"line_end":141,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371903,"byte_end":371908,"line_start":141,"line_end":141,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":3577}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371909,"byte_end":371920,"line_start":141,"line_end":141,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371922,"byte_end":371926,"line_start":141,"line_end":141,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":371937,"byte_end":371951,"line_start":141,"line_end":141,"column_start":90,"column_end":104},"ref_id":{"krate":0,"index":4024}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":371980,"byte_end":371983,"line_start":143,"line_end":143,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371968,"byte_end":371972,"line_start":143,"line_end":143,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2550138679}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371973,"byte_end":371979,"line_start":143,"line_end":143,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371989,"byte_end":371993,"line_start":143,"line_end":143,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":371994,"byte_end":371999,"line_start":143,"line_end":143,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3573}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372021,"byte_end":372025,"line_start":144,"line_end":144,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372061,"byte_end":372065,"line_start":147,"line_end":147,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372066,"byte_end":372071,"line_start":147,"line_end":147,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3573}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372074,"byte_end":372085,"line_start":147,"line_end":147,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372129,"byte_end":372133,"line_start":148,"line_end":148,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372134,"byte_end":372139,"line_start":148,"line_end":148,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3573}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372142,"byte_end":372153,"line_start":148,"line_end":148,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372205,"byte_end":372209,"line_start":150,"line_end":150,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372210,"byte_end":372223,"line_start":150,"line_end":150,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3576}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372226,"byte_end":372233,"line_start":150,"line_end":150,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":738199351}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372269,"byte_end":372276,"line_start":151,"line_end":151,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":738199351}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372248,"byte_end":372252,"line_start":151,"line_end":151,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372253,"byte_end":372266,"line_start":151,"line_end":151,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3576}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372297,"byte_end":372301,"line_start":152,"line_end":152,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372302,"byte_end":372309,"line_start":152,"line_end":152,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3574}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372328,"byte_end":372332,"line_start":153,"line_end":153,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372328,"byte_end":372332,"line_start":153,"line_end":153,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":372391,"byte_end":372399,"line_start":154,"line_end":154,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":1702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372384,"byte_end":372390,"line_start":154,"line_end":154,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2315257655}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372435,"byte_end":372446,"line_start":155,"line_end":155,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":3120564023}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372492,"byte_end":372496,"line_start":156,"line_end":156,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":372503,"byte_end":372513,"line_start":156,"line_end":156,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1845}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372514,"byte_end":372525,"line_start":156,"line_end":156,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3120564023}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372527,"byte_end":372533,"line_start":156,"line_end":156,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":536872759}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372477,"byte_end":372481,"line_start":156,"line_end":156,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372482,"byte_end":372489,"line_start":156,"line_end":156,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372581,"byte_end":372592,"line_start":157,"line_end":157,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":3120564023}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372561,"byte_end":372565,"line_start":157,"line_end":157,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372566,"byte_end":372578,"line_start":157,"line_end":157,"column_start":30,"column_end":42},"ref_id":{"krate":0,"index":3575}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372662,"byte_end":372666,"line_start":159,"line_end":159,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372647,"byte_end":372651,"line_start":159,"line_end":159,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372652,"byte_end":372659,"line_start":159,"line_end":159,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372692,"byte_end":372696,"line_start":160,"line_end":160,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372697,"byte_end":372709,"line_start":160,"line_end":160,"column_start":30,"column_end":42},"ref_id":{"krate":0,"index":3575}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372830,"byte_end":372834,"line_start":167,"line_end":167,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372835,"byte_end":372840,"line_start":167,"line_end":167,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3573}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372850,"byte_end":372854,"line_start":168,"line_end":168,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372855,"byte_end":372860,"line_start":168,"line_end":168,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3573}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372879,"byte_end":372883,"line_start":170,"line_end":170,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372884,"byte_end":372896,"line_start":170,"line_end":170,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":3575}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372935,"byte_end":372939,"line_start":171,"line_end":171,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372940,"byte_end":372952,"line_start":171,"line_end":171,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":3575}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372956,"byte_end":372967,"line_start":171,"line_end":171,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":3154118455}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":372986,"byte_end":372990,"line_start":172,"line_end":172,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":372992,"byte_end":373002,"line_start":172,"line_end":172,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":3103786807}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373032,"byte_end":373038,"line_start":172,"line_end":172,"column_start":59,"column_end":65},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373004,"byte_end":373008,"line_start":172,"line_end":172,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":2550138679}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373009,"byte_end":373015,"line_start":172,"line_end":172,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373016,"byte_end":373026,"line_start":172,"line_end":172,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3103786807}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373028,"byte_end":373031,"line_start":172,"line_end":172,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3867}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373042,"byte_end":373046,"line_start":172,"line_end":172,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373058,"byte_end":373061,"line_start":172,"line_end":172,"column_start":85,"column_end":88},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373047,"byte_end":373056,"line_start":172,"line_end":172,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373062,"byte_end":373074,"line_start":172,"line_end":172,"column_start":89,"column_end":101},"ref_id":{"krate":0,"index":754976567}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373076,"byte_end":373080,"line_start":172,"line_end":172,"column_start":103,"column_end":107},"ref_id":{"krate":0,"index":2550138679}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373081,"byte_end":373087,"line_start":172,"line_end":172,"column_start":108,"column_end":114},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373088,"byte_end":373098,"line_start":172,"line_end":172,"column_start":115,"column_end":125},"ref_id":{"krate":0,"index":3103786807}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373100,"byte_end":373106,"line_start":172,"line_end":172,"column_start":127,"column_end":133},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373108,"byte_end":373112,"line_start":172,"line_end":172,"column_start":135,"column_end":139},"ref_id":{"krate":0,"index":1073743671}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373113,"byte_end":373118,"line_start":172,"line_end":172,"column_start":140,"column_end":145},"ref_id":{"krate":0,"index":3577}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373119,"byte_end":373130,"line_start":172,"line_end":172,"column_start":146,"column_end":157},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373164,"byte_end":373168,"line_start":174,"line_end":174,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373170,"byte_end":373180,"line_start":174,"line_end":174,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":3103786807}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373210,"byte_end":373216,"line_start":174,"line_end":174,"column_start":59,"column_end":65},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373182,"byte_end":373186,"line_start":174,"line_end":174,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":2550138679}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373187,"byte_end":373193,"line_start":174,"line_end":174,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373194,"byte_end":373204,"line_start":174,"line_end":174,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3103786807}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373206,"byte_end":373209,"line_start":174,"line_end":174,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":3867}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373220,"byte_end":373224,"line_start":174,"line_end":174,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373263,"byte_end":373271,"line_start":180,"line_end":180,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373342,"byte_end":373351,"line_start":182,"line_end":182,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373369,"byte_end":373378,"line_start":182,"line_end":182,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373383,"byte_end":373390,"line_start":182,"line_end":182,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373427,"byte_end":373436,"line_start":183,"line_end":183,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373420,"byte_end":373426,"line_start":183,"line_end":183,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872762}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373437,"byte_end":373443,"line_start":183,"line_end":183,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614586}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373470,"byte_end":373484,"line_start":185,"line_end":185,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373460,"byte_end":373467,"line_start":185,"line_end":185,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961402}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373510,"byte_end":373514,"line_start":185,"line_end":185,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373501,"byte_end":373508,"line_start":185,"line_end":185,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373553,"byte_end":373556,"line_start":187,"line_end":187,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373546,"byte_end":373551,"line_start":187,"line_end":187,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373596,"byte_end":373604,"line_start":189,"line_end":189,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":1844}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373585,"byte_end":373594,"line_start":189,"line_end":189,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373606,"byte_end":373612,"line_start":189,"line_end":189,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":536872762}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373614,"byte_end":373620,"line_start":189,"line_end":189,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1610614586}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373676,"byte_end":373685,"line_start":191,"line_end":191,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373670,"byte_end":373675,"line_start":191,"line_end":191,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":469763898}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373686,"byte_end":373692,"line_start":191,"line_end":191,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":1610614586}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373642,"byte_end":373646,"line_start":191,"line_end":191,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373728,"byte_end":373732,"line_start":192,"line_end":192,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3154118458}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373715,"byte_end":373719,"line_start":192,"line_end":192,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373760,"byte_end":373766,"line_start":193,"line_end":193,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373751,"byte_end":373759,"line_start":193,"line_end":193,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1409287994}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373775,"byte_end":373779,"line_start":193,"line_end":193,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373767,"byte_end":373773,"line_start":193,"line_end":193,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373780,"byte_end":373783,"line_start":193,"line_end":193,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1006634810}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373797,"byte_end":373808,"line_start":193,"line_end":193,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373786,"byte_end":373795,"line_start":193,"line_end":193,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373809,"byte_end":373814,"line_start":193,"line_end":193,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":1073743674}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373821,"byte_end":373825,"line_start":193,"line_end":193,"column_start":87,"column_end":91},"ref_id":{"krate":0,"index":2449475386}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373827,"byte_end":373833,"line_start":193,"line_end":193,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1610614586}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373885,"byte_end":373891,"line_start":195,"line_end":195,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373876,"byte_end":373884,"line_start":195,"line_end":195,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":1409287994}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":373900,"byte_end":373904,"line_start":195,"line_end":195,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373892,"byte_end":373898,"line_start":195,"line_end":195,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373905,"byte_end":373908,"line_start":195,"line_end":195,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1006634810}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373920,"byte_end":373924,"line_start":195,"line_end":195,"column_start":61,"column_end":65},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373911,"byte_end":373918,"line_start":195,"line_end":195,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373983,"byte_end":373993,"line_start":199,"line_end":199,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":373974,"byte_end":373981,"line_start":199,"line_end":199,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":373994,"byte_end":374002,"line_start":199,"line_end":199,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":1409287994}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374046,"byte_end":374057,"line_start":202,"line_end":202,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374085,"byte_end":374091,"line_start":202,"line_end":202,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374072,"byte_end":374083,"line_start":202,"line_end":202,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374140,"byte_end":374151,"line_start":203,"line_end":203,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374179,"byte_end":374185,"line_start":203,"line_end":203,"column_start":85,"column_end":91},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374166,"byte_end":374177,"line_start":203,"line_end":203,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374358,"byte_end":374363,"line_start":205,"line_end":205,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374257,"byte_end":374266,"line_start":205,"line_end":205,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374282,"byte_end":374291,"line_start":205,"line_end":205,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374301,"byte_end":374304,"line_start":205,"line_end":205,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374305,"byte_end":374312,"line_start":205,"line_end":205,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374318,"byte_end":374324,"line_start":205,"line_end":205,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374329,"byte_end":374337,"line_start":205,"line_end":205,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374414,"byte_end":374424,"line_start":207,"line_end":207,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374407,"byte_end":374413,"line_start":207,"line_end":207,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":268437310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374425,"byte_end":374431,"line_start":207,"line_end":207,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1610614590}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374432,"byte_end":374443,"line_start":207,"line_end":207,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374445,"byte_end":374449,"line_start":207,"line_end":207,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374460,"byte_end":374474,"line_start":207,"line_end":207,"column_start":86,"column_end":100},"ref_id":{"krate":0,"index":4024}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374511,"byte_end":374515,"line_start":209,"line_end":209,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374499,"byte_end":374503,"line_start":209,"line_end":209,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2013267774}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374504,"byte_end":374510,"line_start":209,"line_end":209,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374548,"byte_end":374553,"line_start":210,"line_end":210,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":1342179134}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374562,"byte_end":374568,"line_start":210,"line_end":210,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374554,"byte_end":374557,"line_start":210,"line_end":210,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":603981630}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374558,"byte_end":374561,"line_start":210,"line_end":210,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374591,"byte_end":374599,"line_start":211,"line_end":211,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":1811941182}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374627,"byte_end":374631,"line_start":212,"line_end":212,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374618,"byte_end":374625,"line_start":212,"line_end":212,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374627,"byte_end":374631,"line_start":212,"line_end":212,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374618,"byte_end":374625,"line_start":212,"line_end":212,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374660,"byte_end":374670,"line_start":213,"line_end":213,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":536872766}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374714,"byte_end":374720,"line_start":214,"line_end":214,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1836}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374703,"byte_end":374712,"line_start":214,"line_end":214,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374721,"byte_end":374727,"line_start":214,"line_end":214,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614590}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374736,"byte_end":374746,"line_start":214,"line_end":214,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374729,"byte_end":374735,"line_start":214,"line_end":214,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":268437310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374747,"byte_end":374753,"line_start":214,"line_end":214,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610614590}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374754,"byte_end":374765,"line_start":214,"line_end":214,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374769,"byte_end":374772,"line_start":214,"line_end":214,"column_start":97,"column_end":100},"ref_id":{"krate":0,"index":603981630}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374773,"byte_end":374776,"line_start":214,"line_end":214,"column_start":101,"column_end":104},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374792,"byte_end":374798,"line_start":214,"line_end":214,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":268437310}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374831,"byte_end":374835,"line_start":215,"line_end":215,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374831,"byte_end":374835,"line_start":215,"line_end":215,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":374887,"byte_end":374893,"line_start":216,"line_end":216,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374876,"byte_end":374885,"line_start":216,"line_end":216,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374894,"byte_end":374895,"line_start":216,"line_end":216,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":369100606}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":374897,"byte_end":374903,"line_start":216,"line_end":216,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":268437310}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374966,"byte_end":374970,"line_start":218,"line_end":218,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":374966,"byte_end":374970,"line_start":218,"line_end":218,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375105,"byte_end":375111,"line_start":223,"line_end":223,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1836}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375094,"byte_end":375103,"line_start":223,"line_end":223,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375112,"byte_end":375118,"line_start":223,"line_end":223,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614590}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375127,"byte_end":375137,"line_start":223,"line_end":223,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375120,"byte_end":375126,"line_start":223,"line_end":223,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":268437310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375138,"byte_end":375144,"line_start":223,"line_end":223,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1610614590}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375145,"byte_end":375156,"line_start":223,"line_end":223,"column_start":78,"column_end":89},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375160,"byte_end":375163,"line_start":223,"line_end":223,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":603981630}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375164,"byte_end":375167,"line_start":223,"line_end":223,"column_start":97,"column_end":100},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375182,"byte_end":375188,"line_start":223,"line_end":223,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":268437310}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375217,"byte_end":375221,"line_start":224,"line_end":224,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375217,"byte_end":375221,"line_start":224,"line_end":224,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375269,"byte_end":375282,"line_start":225,"line_end":225,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375258,"byte_end":375267,"line_start":225,"line_end":225,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375283,"byte_end":375288,"line_start":225,"line_end":225,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743678}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375294,"byte_end":375304,"line_start":225,"line_end":225,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536872766}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375306,"byte_end":375307,"line_start":225,"line_end":225,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3707766590}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375309,"byte_end":375315,"line_start":225,"line_end":225,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":268437310}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375323,"byte_end":375326,"line_start":225,"line_end":225,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375318,"byte_end":375321,"line_start":225,"line_end":225,"column_start":89,"column_end":92},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375336,"byte_end":375341,"line_start":225,"line_end":225,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375327,"byte_end":375335,"line_start":225,"line_end":225,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":1811941182}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375399,"byte_end":375403,"line_start":227,"line_end":227,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375399,"byte_end":375403,"line_start":227,"line_end":227,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375445,"byte_end":375448,"line_start":228,"line_end":228,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375459,"byte_end":375462,"line_start":228,"line_end":228,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375449,"byte_end":375457,"line_start":228,"line_end":228,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375611,"byte_end":375613,"line_start":237,"line_end":237,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375665,"byte_end":375668,"line_start":240,"line_end":240,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375669,"byte_end":375685,"line_start":240,"line_end":240,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375728,"byte_end":375731,"line_start":240,"line_end":240,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375732,"byte_end":375748,"line_start":240,"line_end":240,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375780,"byte_end":375785,"line_start":241,"line_end":241,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375786,"byte_end":375793,"line_start":241,"line_end":241,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":536872768}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375832,"byte_end":375835,"line_start":243,"line_end":243,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375836,"byte_end":375851,"line_start":243,"line_end":243,"column_start":36,"column_end":51},"ref_id":{"krate":0,"index":3865}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375860,"byte_end":375863,"line_start":243,"line_end":243,"column_start":60,"column_end":63},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375855,"byte_end":375858,"line_start":243,"line_end":243,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375907,"byte_end":375910,"line_start":245,"line_end":245,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375900,"byte_end":375906,"line_start":245,"line_end":245,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743680}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":375930,"byte_end":375934,"line_start":247,"line_end":247,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375923,"byte_end":375929,"line_start":247,"line_end":247,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743680}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375935,"byte_end":375951,"line_start":247,"line_end":247,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":375966,"byte_end":375969,"line_start":248,"line_end":248,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375986,"byte_end":375993,"line_start":248,"line_end":248,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":375971,"byte_end":375984,"line_start":248,"line_end":248,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376007,"byte_end":376008,"line_start":249,"line_end":249,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376023,"byte_end":376029,"line_start":249,"line_end":249,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376010,"byte_end":376021,"line_start":249,"line_end":249,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376043,"byte_end":376051,"line_start":250,"line_end":250,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376072,"byte_end":376076,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376083,"byte_end":376086,"line_start":251,"line_end":251,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376078,"byte_end":376081,"line_start":251,"line_end":251,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376092,"byte_end":376100,"line_start":251,"line_end":251,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376087,"byte_end":376090,"line_start":251,"line_end":251,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376106,"byte_end":376109,"line_start":251,"line_end":251,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376101,"byte_end":376104,"line_start":251,"line_end":251,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376110,"byte_end":376124,"line_start":251,"line_end":251,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376127,"byte_end":376133,"line_start":251,"line_end":251,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376140,"byte_end":376143,"line_start":251,"line_end":251,"column_start":81,"column_end":84},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376135,"byte_end":376138,"line_start":251,"line_end":251,"column_start":76,"column_end":79},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376147,"byte_end":376152,"line_start":251,"line_end":251,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376159,"byte_end":376162,"line_start":251,"line_end":251,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376154,"byte_end":376157,"line_start":251,"line_end":251,"column_start":95,"column_end":98},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376228,"byte_end":376234,"line_start":254,"line_end":254,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743680}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376262,"byte_end":376269,"line_start":256,"line_end":256,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536872768}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376308,"byte_end":376311,"line_start":258,"line_end":258,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376303,"byte_end":376306,"line_start":258,"line_end":258,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376333,"byte_end":376357,"line_start":260,"line_end":260,"column_start":18,"column_end":42},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376333,"byte_end":376334,"line_start":260,"line_end":260,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376336,"byte_end":376357,"line_start":260,"line_end":260,"column_start":21,"column_end":42},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376336,"byte_end":376348,"line_start":260,"line_end":260,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":134219584}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376391,"byte_end":376396,"line_start":261,"line_end":261,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376397,"byte_end":376403,"line_start":261,"line_end":261,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376449,"byte_end":376454,"line_start":262,"line_end":262,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376455,"byte_end":376496,"line_start":262,"line_end":262,"column_start":41,"column_end":82},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376455,"byte_end":376467,"line_start":262,"line_end":262,"column_start":41,"column_end":53},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376456,"byte_end":376462,"line_start":262,"line_end":262,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376469,"byte_end":376496,"line_start":262,"line_end":262,"column_start":55,"column_end":82},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376470,"byte_end":376476,"line_start":262,"line_end":262,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376483,"byte_end":376495,"line_start":262,"line_end":262,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":2701133632}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376546,"byte_end":376565,"line_start":263,"line_end":263,"column_start":48,"column_end":67},"ref_id":{"krate":1,"index":11731}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":376535,"byte_end":376539,"line_start":263,"line_end":263,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/struc.rs","byte_start":376541,"byte_end":376544,"line_start":263,"line_end":263,"column_start":43,"column_end":46},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376566,"byte_end":376580,"line_start":263,"line_end":263,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":1493174080}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376612,"byte_end":376624,"line_start":265,"line_end":265,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":2701133632}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376598,"byte_end":376604,"line_start":265,"line_end":265,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376662,"byte_end":376675,"line_start":267,"line_end":267,"column_start":36,"column_end":49},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376694,"byte_end":376699,"line_start":268,"line_end":268,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376700,"byte_end":376706,"line_start":268,"line_end":268,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376725,"byte_end":376730,"line_start":269,"line_end":269,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376731,"byte_end":376737,"line_start":269,"line_end":269,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376812,"byte_end":376815,"line_start":272,"line_end":272,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376798,"byte_end":376811,"line_start":272,"line_end":272,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":3657434944}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":376860,"byte_end":376870,"line_start":273,"line_end":273,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":376849,"byte_end":376858,"line_start":273,"line_end":273,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376871,"byte_end":376884,"line_start":273,"line_end":273,"column_start":53,"column_end":66},"ref_id":{"krate":0,"index":3657434944}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376886,"byte_end":376892,"line_start":273,"line_end":273,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376898,"byte_end":376903,"line_start":273,"line_end":273,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":1610614592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376934,"byte_end":376940,"line_start":274,"line_end":274,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2063599424}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":376918,"byte_end":376931,"line_start":274,"line_end":274,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3657434944}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377048,"byte_end":377052,"line_start":276,"line_end":276,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377034,"byte_end":377047,"line_start":276,"line_end":276,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":939525952}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377053,"byte_end":377068,"line_start":276,"line_end":276,"column_start":32,"column_end":47},"ref_id":{"krate":0,"index":3865}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377071,"byte_end":377074,"line_start":276,"line_end":276,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377076,"byte_end":377077,"line_start":276,"line_end":276,"column_start":55,"column_end":56},"ref_id":{"krate":0,"index":771753792}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377085,"byte_end":377088,"line_start":276,"line_end":276,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":3867}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377099,"byte_end":377108,"line_start":276,"line_end":276,"column_start":78,"column_end":87},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377090,"byte_end":377098,"line_start":276,"line_end":276,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1694500672}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377112,"byte_end":377118,"line_start":276,"line_end":276,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377120,"byte_end":377130,"line_start":276,"line_end":276,"column_start":99,"column_end":109},"ref_id":{"krate":0,"index":3003123520}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377132,"byte_end":377138,"line_start":276,"line_end":276,"column_start":111,"column_end":117},"ref_id":{"krate":0,"index":3869}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377231,"byte_end":377235,"line_start":278,"line_end":278,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377222,"byte_end":377230,"line_start":278,"line_end":278,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1442842432}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377245,"byte_end":377254,"line_start":278,"line_end":278,"column_start":36,"column_end":45},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377236,"byte_end":377244,"line_start":278,"line_end":278,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":1694500672}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377281,"byte_end":377292,"line_start":279,"line_end":279,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":1660946240}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377271,"byte_end":377277,"line_start":279,"line_end":279,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1174406976}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377421,"byte_end":377437,"line_start":284,"line_end":284,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377452,"byte_end":377455,"line_start":285,"line_end":285,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377472,"byte_end":377479,"line_start":285,"line_end":285,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377457,"byte_end":377470,"line_start":285,"line_end":285,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377493,"byte_end":377494,"line_start":286,"line_end":286,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377509,"byte_end":377515,"line_start":286,"line_end":286,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377496,"byte_end":377507,"line_start":286,"line_end":286,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377529,"byte_end":377537,"line_start":287,"line_end":287,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377558,"byte_end":377562,"line_start":288,"line_end":288,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377569,"byte_end":377572,"line_start":288,"line_end":288,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377564,"byte_end":377567,"line_start":288,"line_end":288,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377578,"byte_end":377586,"line_start":288,"line_end":288,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377573,"byte_end":377576,"line_start":288,"line_end":288,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377592,"byte_end":377595,"line_start":288,"line_end":288,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377587,"byte_end":377590,"line_start":288,"line_end":288,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377596,"byte_end":377610,"line_start":288,"line_end":288,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377613,"byte_end":377619,"line_start":288,"line_end":288,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377621,"byte_end":377634,"line_start":288,"line_end":288,"column_start":76,"column_end":89},"ref_id":{"krate":0,"index":939525952}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377636,"byte_end":377641,"line_start":288,"line_end":288,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377648,"byte_end":377651,"line_start":288,"line_end":288,"column_start":103,"column_end":106},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377643,"byte_end":377646,"line_start":288,"line_end":288,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377386,"byte_end":377399,"line_start":284,"line_end":284,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3657434944}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377400,"byte_end":377417,"line_start":284,"line_end":284,"column_start":23,"column_end":40},"ref_id":{"krate":0,"index":3288336192}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377700,"byte_end":377713,"line_start":291,"line_end":291,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3657434944}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377753,"byte_end":377756,"line_start":294,"line_end":294,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377757,"byte_end":377773,"line_start":294,"line_end":294,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377794,"byte_end":377800,"line_start":294,"line_end":294,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377801,"byte_end":377808,"line_start":294,"line_end":294,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377810,"byte_end":377818,"line_start":294,"line_end":294,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377859,"byte_end":377862,"line_start":295,"line_end":295,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377852,"byte_end":377857,"line_start":295,"line_end":295,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377886,"byte_end":377892,"line_start":296,"line_end":296,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377874,"byte_end":377885,"line_start":296,"line_end":296,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308225}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377900,"byte_end":377908,"line_start":296,"line_end":296,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377921,"byte_end":377927,"line_start":296,"line_end":296,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":377912,"byte_end":377919,"line_start":296,"line_end":296,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377947,"byte_end":377956,"line_start":296,"line_end":296,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":377934,"byte_end":377942,"line_start":296,"line_end":296,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":377995,"byte_end":378001,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743681}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378002,"byte_end":378009,"line_start":298,"line_end":298,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872769}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378011,"byte_end":378015,"line_start":298,"line_end":298,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378026,"byte_end":378040,"line_start":298,"line_end":298,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378066,"byte_end":378069,"line_start":300,"line_end":300,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378070,"byte_end":378077,"line_start":300,"line_end":300,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378371,"byte_end":378378,"line_start":305,"line_end":305,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378100,"byte_end":378103,"line_start":300,"line_end":300,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378093,"byte_end":378097,"line_start":300,"line_end":300,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378081,"byte_end":378085,"line_start":300,"line_end":300,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1275070273}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378086,"byte_end":378092,"line_start":300,"line_end":300,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":4025}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378140,"byte_end":378143,"line_start":301,"line_end":301,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378144,"byte_end":378151,"line_start":301,"line_end":301,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378160,"byte_end":378163,"line_start":301,"line_end":301,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378155,"byte_end":378158,"line_start":301,"line_end":301,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378184,"byte_end":378188,"line_start":302,"line_end":302,"column_start":18,"column_end":22},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378179,"byte_end":378183,"line_start":302,"line_end":302,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":838862657}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378198,"byte_end":378204,"line_start":302,"line_end":302,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378189,"byte_end":378196,"line_start":302,"line_end":302,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378215,"byte_end":378224,"line_start":302,"line_end":302,"column_start":49,"column_end":58},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378205,"byte_end":378210,"line_start":302,"line_end":302,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":33556289}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378211,"byte_end":378214,"line_start":302,"line_end":302,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":3867}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378247,"byte_end":378251,"line_start":303,"line_end":303,"column_start":18,"column_end":22},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378242,"byte_end":378246,"line_start":303,"line_end":303,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":838862657}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378300,"byte_end":378309,"line_start":303,"line_end":303,"column_start":71,"column_end":80},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378263,"byte_end":378276,"line_start":303,"line_end":303,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378252,"byte_end":378261,"line_start":303,"line_end":303,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378278,"byte_end":378284,"line_start":303,"line_end":303,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073743681}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378286,"byte_end":378291,"line_start":303,"line_end":303,"column_start":57,"column_end":62},"ref_id":{"krate":0,"index":33556289}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378292,"byte_end":378298,"line_start":303,"line_end":303,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":3868}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378319,"byte_end":378323,"line_start":303,"line_end":303,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378310,"byte_end":378317,"line_start":303,"line_end":303,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378348,"byte_end":378353,"line_start":304,"line_end":304,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378339,"byte_end":378346,"line_start":304,"line_end":304,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378354,"byte_end":378358,"line_start":304,"line_end":304,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":838862657}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378416,"byte_end":378422,"line_start":308,"line_end":308,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378404,"byte_end":378415,"line_start":308,"line_end":308,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308225}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378432,"byte_end":378440,"line_start":308,"line_end":308,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378453,"byte_end":378458,"line_start":308,"line_end":308,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378444,"byte_end":378451,"line_start":308,"line_end":308,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378459,"byte_end":378465,"line_start":308,"line_end":308,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3187672897}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378478,"byte_end":378480,"line_start":310,"line_end":310,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378490,"byte_end":378500,"line_start":310,"line_end":310,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378481,"byte_end":378488,"line_start":310,"line_end":310,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378501,"byte_end":378512,"line_start":310,"line_end":310,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308225}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378561,"byte_end":378570,"line_start":313,"line_end":313,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378588,"byte_end":378597,"line_start":313,"line_end":313,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378602,"byte_end":378608,"line_start":313,"line_end":313,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378616,"byte_end":378624,"line_start":313,"line_end":313,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378663,"byte_end":378672,"line_start":315,"line_end":315,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378656,"byte_end":378662,"line_start":315,"line_end":315,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872771}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378673,"byte_end":378679,"line_start":315,"line_end":315,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614595}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378706,"byte_end":378720,"line_start":317,"line_end":317,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378696,"byte_end":378703,"line_start":317,"line_end":317,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961411}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":378749,"byte_end":378751,"line_start":318,"line_end":318,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":378842,"byte_end":378856,"line_start":323,"line_end":323,"column_start":40,"column_end":54},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378832,"byte_end":378839,"line_start":323,"line_end":323,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":1207961411}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378919,"byte_end":378929,"line_start":325,"line_end":325,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1275070275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378937,"byte_end":378945,"line_start":325,"line_end":325,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1811941187}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":378964,"byte_end":378972,"line_start":326,"line_end":326,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207107}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379011,"byte_end":379021,"line_start":327,"line_end":327,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":1845}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379022,"byte_end":379032,"line_start":327,"line_end":327,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":1275070275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379034,"byte_end":379040,"line_start":327,"line_end":327,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":1610614595}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379075,"byte_end":379083,"line_start":328,"line_end":328,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1702}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379068,"byte_end":379074,"line_start":328,"line_end":328,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2315257667}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379055,"byte_end":379065,"line_start":328,"line_end":328,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1275070275}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379108,"byte_end":379116,"line_start":329,"line_end":329,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1811941187}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379164,"byte_end":379172,"line_start":332,"line_end":332,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379174,"byte_end":379180,"line_start":332,"line_end":332,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536872771}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379182,"byte_end":379188,"line_start":332,"line_end":332,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614595}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379245,"byte_end":379254,"line_start":334,"line_end":334,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379239,"byte_end":379244,"line_start":334,"line_end":334,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":503318339}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379255,"byte_end":379261,"line_start":334,"line_end":334,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614595}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379210,"byte_end":379214,"line_start":334,"line_end":334,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379297,"byte_end":379301,"line_start":335,"line_end":335,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3187672899}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379284,"byte_end":379288,"line_start":335,"line_end":335,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379346,"byte_end":379355,"line_start":336,"line_end":336,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379335,"byte_end":379344,"line_start":336,"line_end":336,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379356,"byte_end":379361,"line_start":336,"line_end":336,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":1073743683}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379368,"byte_end":379372,"line_start":336,"line_end":336,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":2432698179}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379374,"byte_end":379380,"line_start":336,"line_end":336,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1610614595}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379403,"byte_end":379411,"line_start":337,"line_end":337,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":1962936131}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379505,"byte_end":379513,"line_start":339,"line_end":339,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":1962936131}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379493,"byte_end":379501,"line_start":339,"line_end":339,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207107}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379595,"byte_end":379597,"line_start":344,"line_end":344,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379598,"byte_end":379606,"line_start":344,"line_end":344,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207107}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379812,"byte_end":379817,"line_start":349,"line_end":349,"column_start":196,"column_end":201},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379661,"byte_end":379670,"line_start":349,"line_end":349,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379693,"byte_end":379702,"line_start":349,"line_end":349,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379719,"byte_end":379728,"line_start":349,"line_end":349,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379749,"byte_end":379758,"line_start":349,"line_end":349,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379763,"byte_end":379769,"line_start":349,"line_end":349,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379770,"byte_end":379779,"line_start":349,"line_end":349,"column_start":154,"column_end":163},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379781,"byte_end":379789,"line_start":349,"line_end":349,"column_start":165,"column_end":173},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379858,"byte_end":379867,"line_start":351,"line_end":351,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379846,"byte_end":379857,"line_start":351,"line_end":351,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872773}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379868,"byte_end":379879,"line_start":351,"line_end":351,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614597}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":379905,"byte_end":379919,"line_start":353,"line_end":353,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379894,"byte_end":379904,"line_start":353,"line_end":353,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445061}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":379948,"byte_end":379950,"line_start":354,"line_end":354,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379951,"byte_end":379960,"line_start":354,"line_end":354,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437317}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380000,"byte_end":380017,"line_start":357,"line_end":357,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":1838}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380018,"byte_end":380027,"line_start":357,"line_end":357,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":268437317}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380029,"byte_end":380038,"line_start":357,"line_end":357,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":1342179141}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":379982,"byte_end":379991,"line_start":357,"line_end":357,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437317}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380082,"byte_end":380091,"line_start":358,"line_end":358,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380072,"byte_end":380081,"line_start":358,"line_end":358,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":268437317}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380092,"byte_end":380101,"line_start":358,"line_end":358,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1342179141}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380155,"byte_end":380169,"line_start":359,"line_end":359,"column_start":52,"column_end":66},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380139,"byte_end":380154,"line_start":359,"line_end":359,"column_start":36,"column_end":51},"ref_id":{"krate":0,"index":1375733573}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380269,"byte_end":380279,"line_start":362,"line_end":362,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380257,"byte_end":380268,"line_start":362,"line_end":362,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614597}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380280,"byte_end":380291,"line_start":362,"line_end":362,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536872773}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380292,"byte_end":380303,"line_start":362,"line_end":362,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380305,"byte_end":380309,"line_start":362,"line_end":362,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380320,"byte_end":380334,"line_start":362,"line_end":362,"column_start":96,"column_end":110},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380367,"byte_end":380371,"line_start":364,"line_end":364,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":905971525}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380372,"byte_end":380378,"line_start":364,"line_end":364,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380411,"byte_end":380419,"line_start":366,"line_end":366,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":1844}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380421,"byte_end":380432,"line_start":366,"line_end":366,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":536872773}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380434,"byte_end":380445,"line_start":366,"line_end":366,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1610614597}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380499,"byte_end":380508,"line_start":368,"line_end":368,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380493,"byte_end":380498,"line_start":368,"line_end":368,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":16779077}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380509,"byte_end":380520,"line_start":368,"line_end":368,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1610614597}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380467,"byte_end":380471,"line_start":368,"line_end":368,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380555,"byte_end":380559,"line_start":369,"line_end":369,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":2701133637}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":380542,"byte_end":380546,"line_start":369,"line_end":369,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380594,"byte_end":380597,"line_start":371,"line_end":371,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":3238004549}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380600,"byte_end":380611,"line_start":371,"line_end":371,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380663,"byte_end":380666,"line_start":372,"line_end":372,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3238004549}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380669,"byte_end":380680,"line_start":372,"line_end":372,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":2276}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380756,"byte_end":380771,"line_start":374,"line_end":374,"column_start":20,"column_end":35},"ref_id":{"krate":0,"index":436209477}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380774,"byte_end":380781,"line_start":374,"line_end":374,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3103786821}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380828,"byte_end":380838,"line_start":375,"line_end":375,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":1845}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380839,"byte_end":380855,"line_start":375,"line_end":375,"column_start":56,"column_end":72},"ref_id":{"krate":0,"index":704644933}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380857,"byte_end":380866,"line_start":375,"line_end":375,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":1342179141}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":380914,"byte_end":380930,"line_start":376,"line_end":376,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":1841}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380931,"byte_end":380942,"line_start":376,"line_end":376,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3976202053}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380944,"byte_end":380953,"line_start":376,"line_end":376,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1342179141}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380889,"byte_end":380905,"line_start":376,"line_end":376,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":704644933}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":380977,"byte_end":380992,"line_start":377,"line_end":377,"column_start":21,"column_end":36},"ref_id":{"krate":0,"index":436209477}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381050,"byte_end":381066,"line_start":380,"line_end":380,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":704644933}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381070,"byte_end":381081,"line_start":380,"line_end":380,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":2768242501}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381115,"byte_end":381122,"line_start":381,"line_end":381,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381104,"byte_end":381113,"line_start":381,"line_end":381,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381123,"byte_end":381128,"line_start":381,"line_end":381,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073743685}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381139,"byte_end":381144,"line_start":381,"line_end":381,"column_start":52,"column_end":57},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381134,"byte_end":381138,"line_start":381,"line_end":381,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2298480453}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381148,"byte_end":381159,"line_start":381,"line_end":381,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1610614597}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381172,"byte_end":381175,"line_start":381,"line_end":381,"column_start":85,"column_end":88},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381161,"byte_end":381170,"line_start":381,"line_end":381,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381176,"byte_end":381185,"line_start":381,"line_end":381,"column_start":89,"column_end":98},"ref_id":{"krate":0,"index":3875538757}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381187,"byte_end":381198,"line_start":381,"line_end":381,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3456108357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381199,"byte_end":381202,"line_start":381,"line_end":381,"column_start":112,"column_end":115},"ref_id":{"krate":0,"index":3238004549}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381204,"byte_end":381210,"line_start":381,"line_end":381,"column_start":117,"column_end":123},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381212,"byte_end":381221,"line_start":381,"line_end":381,"column_start":125,"column_end":134},"ref_id":{"krate":0,"index":268437317}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381222,"byte_end":381233,"line_start":381,"line_end":381,"column_start":135,"column_end":146},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381236,"byte_end":381245,"line_start":381,"line_end":381,"column_start":149,"column_end":158},"ref_id":{"krate":0,"index":1342179141}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381291,"byte_end":381293,"line_start":385,"line_end":385,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381294,"byte_end":381303,"line_start":385,"line_end":385,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437317}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381342,"byte_end":381345,"line_start":388,"line_end":388,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381346,"byte_end":381362,"line_start":388,"line_end":388,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381383,"byte_end":381389,"line_start":388,"line_end":388,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381390,"byte_end":381396,"line_start":388,"line_end":388,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381398,"byte_end":381406,"line_start":388,"line_end":388,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381442,"byte_end":381448,"line_start":389,"line_end":389,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743686}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381449,"byte_end":381456,"line_start":389,"line_end":389,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872774}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381458,"byte_end":381462,"line_start":389,"line_end":389,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381473,"byte_end":381487,"line_start":389,"line_end":389,"column_start":64,"column_end":78},"ref_id":{"krate":0,"index":4024}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381526,"byte_end":381530,"line_start":391,"line_end":391,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381518,"byte_end":381524,"line_start":391,"line_end":391,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381591,"byte_end":381594,"line_start":393,"line_end":393,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381579,"byte_end":381583,"line_start":393,"line_end":393,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744832326}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381584,"byte_end":381590,"line_start":393,"line_end":393,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381649,"byte_end":381658,"line_start":394,"line_end":394,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381642,"byte_end":381646,"line_start":394,"line_end":394,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381630,"byte_end":381634,"line_start":394,"line_end":394,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832326}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381635,"byte_end":381641,"line_start":394,"line_end":394,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381682,"byte_end":381690,"line_start":395,"line_end":395,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381675,"byte_end":381681,"line_start":395,"line_end":395,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381701,"byte_end":381707,"line_start":395,"line_end":395,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381691,"byte_end":381696,"line_start":395,"line_end":395,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":1275070278}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381697,"byte_end":381700,"line_start":395,"line_end":395,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3867}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381731,"byte_end":381739,"line_start":396,"line_end":396,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381724,"byte_end":381730,"line_start":396,"line_end":396,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381766,"byte_end":381774,"line_start":397,"line_end":397,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381759,"byte_end":381765,"line_start":397,"line_end":397,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381822,"byte_end":381828,"line_start":397,"line_end":397,"column_start":76,"column_end":82},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381786,"byte_end":381798,"line_start":397,"line_end":397,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":2469}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381775,"byte_end":381784,"line_start":397,"line_end":397,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381799,"byte_end":381805,"line_start":397,"line_end":397,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073743686}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381807,"byte_end":381812,"line_start":397,"line_end":397,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":1275070278}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381813,"byte_end":381819,"line_start":397,"line_end":397,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381848,"byte_end":381851,"line_start":398,"line_end":398,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":2348812102}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381854,"byte_end":381864,"line_start":398,"line_end":398,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2483029830}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381890,"byte_end":381898,"line_start":399,"line_end":399,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381883,"byte_end":381889,"line_start":399,"line_end":399,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":381946,"byte_end":381954,"line_start":403,"line_end":403,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381939,"byte_end":381945,"line_start":403,"line_end":403,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":381971,"byte_end":381973,"line_start":404,"line_end":404,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":381974,"byte_end":381980,"line_start":404,"line_end":404,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751430}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382036,"byte_end":382039,"line_start":408,"line_end":408,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382040,"byte_end":382056,"line_start":408,"line_end":408,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382078,"byte_end":382087,"line_start":408,"line_end":408,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382096,"byte_end":382099,"line_start":408,"line_end":408,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382100,"byte_end":382106,"line_start":408,"line_end":408,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382112,"byte_end":382118,"line_start":408,"line_end":408,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382126,"byte_end":382129,"line_start":408,"line_end":408,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382135,"byte_end":382138,"line_start":408,"line_end":408,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382139,"byte_end":382155,"line_start":408,"line_end":408,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382159,"byte_end":382167,"line_start":408,"line_end":408,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382201,"byte_end":382204,"line_start":409,"line_end":409,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382216,"byte_end":382219,"line_start":409,"line_end":409,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382211,"byte_end":382214,"line_start":409,"line_end":409,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382244,"byte_end":382248,"line_start":410,"line_end":410,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382231,"byte_end":382243,"line_start":410,"line_end":410,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":671090503}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382262,"byte_end":382268,"line_start":410,"line_end":410,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382249,"byte_end":382260,"line_start":410,"line_end":410,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382317,"byte_end":382320,"line_start":412,"line_end":412,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382310,"byte_end":382316,"line_start":412,"line_end":412,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382339,"byte_end":382343,"line_start":413,"line_end":413,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382332,"byte_end":382338,"line_start":413,"line_end":413,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382344,"byte_end":382360,"line_start":413,"line_end":413,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382375,"byte_end":382378,"line_start":414,"line_end":414,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382395,"byte_end":382402,"line_start":414,"line_end":414,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382380,"byte_end":382393,"line_start":414,"line_end":414,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382416,"byte_end":382417,"line_start":415,"line_end":415,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382432,"byte_end":382438,"line_start":415,"line_end":415,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382419,"byte_end":382430,"line_start":415,"line_end":415,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382452,"byte_end":382460,"line_start":416,"line_end":416,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382481,"byte_end":382485,"line_start":417,"line_end":417,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382492,"byte_end":382495,"line_start":417,"line_end":417,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382487,"byte_end":382490,"line_start":417,"line_end":417,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382501,"byte_end":382509,"line_start":417,"line_end":417,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382496,"byte_end":382499,"line_start":417,"line_end":417,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382515,"byte_end":382518,"line_start":417,"line_end":417,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382510,"byte_end":382513,"line_start":417,"line_end":417,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382519,"byte_end":382533,"line_start":417,"line_end":417,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382536,"byte_end":382542,"line_start":417,"line_end":417,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382549,"byte_end":382552,"line_start":417,"line_end":417,"column_start":81,"column_end":84},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382544,"byte_end":382547,"line_start":417,"line_end":417,"column_start":76,"column_end":79},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382556,"byte_end":382561,"line_start":417,"line_end":417,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382568,"byte_end":382571,"line_start":417,"line_end":417,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382563,"byte_end":382566,"line_start":417,"line_end":417,"column_start":95,"column_end":98},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382629,"byte_end":382632,"line_start":420,"line_end":420,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382633,"byte_end":382648,"line_start":420,"line_end":420,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3865}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382657,"byte_end":382660,"line_start":420,"line_end":420,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382652,"byte_end":382655,"line_start":420,"line_end":420,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382693,"byte_end":382696,"line_start":422,"line_end":422,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382698,"byte_end":382704,"line_start":422,"line_end":422,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382706,"byte_end":382709,"line_start":422,"line_end":422,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382723,"byte_end":382726,"line_start":422,"line_end":422,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382718,"byte_end":382721,"line_start":422,"line_end":422,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382762,"byte_end":382765,"line_start":424,"line_end":424,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382766,"byte_end":382782,"line_start":424,"line_end":424,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382786,"byte_end":382792,"line_start":424,"line_end":424,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1073743687}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382823,"byte_end":382829,"line_start":426,"line_end":426,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382831,"byte_end":382834,"line_start":426,"line_end":426,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382836,"byte_end":382843,"line_start":426,"line_end":426,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":2807}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382845,"byte_end":382851,"line_start":426,"line_end":426,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382857,"byte_end":382861,"line_start":426,"line_end":426,"column_start":63,"column_end":67},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":382880,"byte_end":382883,"line_start":428,"line_end":428,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382875,"byte_end":382879,"line_start":428,"line_end":428,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437319}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382911,"byte_end":382915,"line_start":429,"line_end":429,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437319}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":382954,"byte_end":382964,"line_start":430,"line_end":430,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382945,"byte_end":382951,"line_start":430,"line_end":430,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":382937,"byte_end":382943,"line_start":430,"line_end":430,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383012,"byte_end":383022,"line_start":431,"line_end":431,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4177528647}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":383072,"byte_end":383076,"line_start":432,"line_end":432,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":383059,"byte_end":383066,"line_start":432,"line_end":432,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383055,"byte_end":383058,"line_start":432,"line_end":432,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614599}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383067,"byte_end":383070,"line_start":432,"line_end":432,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":620758855}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383161,"byte_end":383166,"line_start":434,"line_end":434,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2768242503}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383222,"byte_end":383232,"line_start":435,"line_end":435,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383213,"byte_end":383219,"line_start":435,"line_end":435,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383205,"byte_end":383211,"line_start":435,"line_end":435,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383293,"byte_end":383297,"line_start":436,"line_end":436,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383298,"byte_end":383308,"line_start":436,"line_end":436,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":3170895687}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383280,"byte_end":383290,"line_start":436,"line_end":436,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4043310919}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383541,"byte_end":383546,"line_start":442,"line_end":442,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":2768242503}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383602,"byte_end":383612,"line_start":443,"line_end":443,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383593,"byte_end":383599,"line_start":443,"line_end":443,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383585,"byte_end":383591,"line_start":443,"line_end":443,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":383673,"byte_end":383677,"line_start":444,"line_end":444,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383678,"byte_end":383688,"line_start":444,"line_end":444,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":1526728519}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":383660,"byte_end":383670,"line_start":444,"line_end":444,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4043310919}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384028,"byte_end":384038,"line_start":457,"line_end":457,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":4043310919}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384009,"byte_end":384013,"line_start":457,"line_end":457,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384096,"byte_end":384106,"line_start":460,"line_end":460,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2290091847}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384162,"byte_end":384166,"line_start":461,"line_end":461,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384146,"byte_end":384153,"line_start":461,"line_end":461,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384142,"byte_end":384145,"line_start":461,"line_end":461,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1610614599}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384155,"byte_end":384158,"line_start":461,"line_end":461,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2021656391}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384200,"byte_end":384203,"line_start":462,"line_end":462,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384189,"byte_end":384199,"line_start":462,"line_end":462,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":2357200711}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384241,"byte_end":384244,"line_start":463,"line_end":463,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384255,"byte_end":384258,"line_start":463,"line_end":463,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384245,"byte_end":384253,"line_start":463,"line_end":463,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384397,"byte_end":384400,"line_start":466,"line_end":466,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384383,"byte_end":384396,"line_start":466,"line_end":466,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":4261414727}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384509,"byte_end":384513,"line_start":468,"line_end":468,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384502,"byte_end":384508,"line_start":468,"line_end":468,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2785019719}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384514,"byte_end":384529,"line_start":468,"line_end":468,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3865}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384532,"byte_end":384535,"line_start":468,"line_end":468,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384537,"byte_end":384538,"line_start":468,"line_end":468,"column_start":52,"column_end":53},"ref_id":{"krate":0,"index":3632269127}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384546,"byte_end":384549,"line_start":468,"line_end":468,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":3867}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384559,"byte_end":384563,"line_start":468,"line_end":468,"column_start":74,"column_end":78},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384551,"byte_end":384557,"line_start":468,"line_end":468,"column_start":66,"column_end":72},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384564,"byte_end":384574,"line_start":468,"line_end":468,"column_start":79,"column_end":89},"ref_id":{"krate":0,"index":2357200711}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384577,"byte_end":384583,"line_start":468,"line_end":468,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384585,"byte_end":384602,"line_start":468,"line_end":468,"column_start":100,"column_end":117},"ref_id":{"krate":0,"index":2994734919}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384604,"byte_end":384610,"line_start":468,"line_end":468,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3869}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384687,"byte_end":384695,"line_start":469,"line_end":469,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384676,"byte_end":384685,"line_start":469,"line_end":469,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384696,"byte_end":384709,"line_start":469,"line_end":469,"column_start":80,"column_end":93},"ref_id":{"krate":0,"index":4261414727}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384711,"byte_end":384714,"line_start":469,"line_end":469,"column_start":95,"column_end":98},"ref_id":{"krate":0,"index":1610614599}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384717,"byte_end":384720,"line_start":469,"line_end":469,"column_start":101,"column_end":104},"ref_id":{"krate":0,"index":2021656391}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384758,"byte_end":384766,"line_start":470,"line_end":470,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":2441086791}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384742,"byte_end":384755,"line_start":470,"line_end":470,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":4261414727}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384795,"byte_end":384799,"line_start":471,"line_end":471,"column_start":28,"column_end":32},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384784,"byte_end":384794,"line_start":471,"line_end":471,"column_start":17,"column_end":27},"ref_id":{"krate":0,"index":1845495623}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":384809,"byte_end":384813,"line_start":471,"line_end":471,"column_start":42,"column_end":46},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384801,"byte_end":384807,"line_start":471,"line_end":471,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384814,"byte_end":384824,"line_start":471,"line_end":471,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":2357200711}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384827,"byte_end":384837,"line_start":471,"line_end":471,"column_start":60,"column_end":70},"ref_id":{"krate":0,"index":293603143}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384857,"byte_end":384858,"line_start":472,"line_end":472,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3632269127}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384931,"byte_end":384947,"line_start":475,"line_end":475,"column_start":48,"column_end":64},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384966,"byte_end":384969,"line_start":476,"line_end":476,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384986,"byte_end":384993,"line_start":476,"line_end":476,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":384971,"byte_end":384984,"line_start":476,"line_end":476,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385011,"byte_end":385012,"line_start":477,"line_end":477,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385027,"byte_end":385033,"line_start":477,"line_end":477,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385014,"byte_end":385025,"line_start":477,"line_end":477,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385051,"byte_end":385059,"line_start":478,"line_end":478,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385084,"byte_end":385088,"line_start":479,"line_end":479,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385095,"byte_end":385098,"line_start":479,"line_end":479,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385090,"byte_end":385093,"line_start":479,"line_end":479,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385104,"byte_end":385112,"line_start":479,"line_end":479,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385099,"byte_end":385102,"line_start":479,"line_end":479,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385118,"byte_end":385121,"line_start":479,"line_end":479,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385113,"byte_end":385116,"line_start":479,"line_end":479,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385122,"byte_end":385136,"line_start":479,"line_end":479,"column_start":55,"column_end":69},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385139,"byte_end":385145,"line_start":479,"line_end":479,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385147,"byte_end":385153,"line_start":479,"line_end":479,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":2785019719}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385155,"byte_end":385160,"line_start":479,"line_end":479,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385167,"byte_end":385170,"line_start":479,"line_end":479,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385162,"byte_end":385165,"line_start":479,"line_end":479,"column_start":95,"column_end":98},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384896,"byte_end":384909,"line_start":475,"line_end":475,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":4261414727}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":384910,"byte_end":384927,"line_start":475,"line_end":475,"column_start":27,"column_end":44},"ref_id":{"krate":0,"index":1677723463}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385237,"byte_end":385240,"line_start":482,"line_end":482,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385226,"byte_end":385236,"line_start":482,"line_end":482,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1845495623}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385274,"byte_end":385277,"line_start":483,"line_end":483,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385288,"byte_end":385291,"line_start":483,"line_end":483,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385278,"byte_end":385286,"line_start":483,"line_end":483,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385383,"byte_end":385386,"line_start":486,"line_end":486,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385372,"byte_end":385382,"line_start":486,"line_end":486,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1845495623}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385419,"byte_end":385422,"line_start":487,"line_end":487,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385433,"byte_end":385436,"line_start":487,"line_end":487,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385423,"byte_end":385431,"line_start":487,"line_end":487,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385555,"byte_end":385559,"line_start":491,"line_end":491,"column_start":26,"column_end":30},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385542,"byte_end":385554,"line_start":491,"line_end":491,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":671090503}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385571,"byte_end":385574,"line_start":491,"line_end":491,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385560,"byte_end":385570,"line_start":491,"line_end":491,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":1845495623}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385613,"byte_end":385623,"line_start":493,"line_end":493,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":1845495623}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385701,"byte_end":385707,"line_start":495,"line_end":495,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385690,"byte_end":385698,"line_start":495,"line_end":495,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385684,"byte_end":385687,"line_start":495,"line_end":495,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":71305031}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385740,"byte_end":385744,"line_start":496,"line_end":496,"column_start":30,"column_end":34},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385727,"byte_end":385739,"line_start":496,"line_end":496,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090503}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385751,"byte_end":385754,"line_start":496,"line_end":496,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385745,"byte_end":385750,"line_start":496,"line_end":496,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":205522759}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385794,"byte_end":385800,"line_start":497,"line_end":497,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385781,"byte_end":385793,"line_start":497,"line_end":497,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090503}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385801,"byte_end":385806,"line_start":497,"line_end":497,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":205522759}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385839,"byte_end":385842,"line_start":499,"line_end":499,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385833,"byte_end":385836,"line_start":499,"line_end":499,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":71305031}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":385852,"byte_end":385855,"line_start":499,"line_end":499,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385894,"byte_end":385897,"line_start":500,"line_end":500,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":385908,"byte_end":385911,"line_start":500,"line_end":500,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":385898,"byte_end":385906,"line_start":500,"line_end":500,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386033,"byte_end":386039,"line_start":504,"line_end":504,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386020,"byte_end":386032,"line_start":504,"line_end":504,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090503}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386075,"byte_end":386081,"line_start":504,"line_end":504,"column_start":72,"column_end":78},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386061,"byte_end":386072,"line_start":504,"line_end":504,"column_start":58,"column_end":69},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386047,"byte_end":386050,"line_start":504,"line_end":504,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386041,"byte_end":386044,"line_start":504,"line_end":504,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":71305031}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386115,"byte_end":386121,"line_start":505,"line_end":505,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386102,"byte_end":386114,"line_start":505,"line_end":505,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":671090503}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386122,"byte_end":386125,"line_start":505,"line_end":505,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":71305031}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386161,"byte_end":386163,"line_start":508,"line_end":508,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386172,"byte_end":386184,"line_start":508,"line_end":508,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":671090503}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386186,"byte_end":386199,"line_start":508,"line_end":508,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":4261414727}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386231,"byte_end":386234,"line_start":510,"line_end":510,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386245,"byte_end":386248,"line_start":510,"line_end":510,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386235,"byte_end":386243,"line_start":510,"line_end":510,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386374,"byte_end":386377,"line_start":514,"line_end":514,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386378,"byte_end":386394,"line_start":514,"line_end":514,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386411,"byte_end":386414,"line_start":514,"line_end":514,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386415,"byte_end":386422,"line_start":514,"line_end":514,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386428,"byte_end":386434,"line_start":514,"line_end":514,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386442,"byte_end":386445,"line_start":514,"line_end":514,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386451,"byte_end":386454,"line_start":514,"line_end":514,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386455,"byte_end":386471,"line_start":514,"line_end":514,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386475,"byte_end":386483,"line_start":514,"line_end":514,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386518,"byte_end":386521,"line_start":516,"line_end":516,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386533,"byte_end":386536,"line_start":516,"line_end":516,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386528,"byte_end":386531,"line_start":516,"line_end":516,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386561,"byte_end":386565,"line_start":517,"line_end":517,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386548,"byte_end":386560,"line_start":517,"line_end":517,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219592}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386579,"byte_end":386585,"line_start":517,"line_end":517,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386566,"byte_end":386577,"line_start":517,"line_end":517,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386634,"byte_end":386637,"line_start":519,"line_end":519,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386627,"byte_end":386633,"line_start":519,"line_end":519,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743688}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386656,"byte_end":386660,"line_start":520,"line_end":520,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386649,"byte_end":386655,"line_start":520,"line_end":520,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743688}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386661,"byte_end":386677,"line_start":520,"line_end":520,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386692,"byte_end":386695,"line_start":521,"line_end":521,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386712,"byte_end":386719,"line_start":521,"line_end":521,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386697,"byte_end":386710,"line_start":521,"line_end":521,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386733,"byte_end":386734,"line_start":522,"line_end":522,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386749,"byte_end":386755,"line_start":522,"line_end":522,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386736,"byte_end":386747,"line_start":522,"line_end":522,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386769,"byte_end":386777,"line_start":523,"line_end":523,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386798,"byte_end":386802,"line_start":524,"line_end":524,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386809,"byte_end":386812,"line_start":524,"line_end":524,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386804,"byte_end":386807,"line_start":524,"line_end":524,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386818,"byte_end":386826,"line_start":524,"line_end":524,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386813,"byte_end":386816,"line_start":524,"line_end":524,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386832,"byte_end":386835,"line_start":524,"line_end":524,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386827,"byte_end":386830,"line_start":524,"line_end":524,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386836,"byte_end":386850,"line_start":524,"line_end":524,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386853,"byte_end":386859,"line_start":524,"line_end":524,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4025}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386866,"byte_end":386869,"line_start":524,"line_end":524,"column_start":81,"column_end":84},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386861,"byte_end":386864,"line_start":524,"line_end":524,"column_start":76,"column_end":79},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":386873,"byte_end":386878,"line_start":524,"line_end":524,"column_start":88,"column_end":93},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386885,"byte_end":386888,"line_start":524,"line_end":524,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386880,"byte_end":386883,"line_start":524,"line_end":524,"column_start":95,"column_end":98},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386946,"byte_end":386949,"line_start":527,"line_end":527,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386950,"byte_end":386965,"line_start":527,"line_end":527,"column_start":29,"column_end":44},"ref_id":{"krate":0,"index":3865}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":386974,"byte_end":386977,"line_start":527,"line_end":527,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":386969,"byte_end":386972,"line_start":527,"line_end":527,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387010,"byte_end":387013,"line_start":529,"line_end":529,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387015,"byte_end":387021,"line_start":529,"line_end":529,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387023,"byte_end":387026,"line_start":529,"line_end":529,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387040,"byte_end":387043,"line_start":529,"line_end":529,"column_start":59,"column_end":62},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387035,"byte_end":387038,"line_start":529,"line_end":529,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387079,"byte_end":387082,"line_start":531,"line_end":531,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387083,"byte_end":387099,"line_start":531,"line_end":531,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387103,"byte_end":387109,"line_start":531,"line_end":531,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1073743688}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387171,"byte_end":387182,"line_start":533,"line_end":533,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":536872776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387154,"byte_end":387159,"line_start":533,"line_end":533,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387145,"byte_end":387152,"line_start":533,"line_end":533,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387207,"byte_end":387213,"line_start":534,"line_end":534,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":16779080}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387262,"byte_end":387273,"line_start":535,"line_end":535,"column_start":49,"column_end":60},"ref_id":{"krate":0,"index":536872776}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387245,"byte_end":387250,"line_start":535,"line_end":535,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387236,"byte_end":387243,"line_start":535,"line_end":535,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387299,"byte_end":387305,"line_start":536,"line_end":536,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4043310920}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387342,"byte_end":387345,"line_start":538,"line_end":538,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387356,"byte_end":387359,"line_start":538,"line_end":538,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387346,"byte_end":387354,"line_start":538,"line_end":538,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387489,"byte_end":387500,"line_start":543,"line_end":543,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":1426065224}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387539,"byte_end":387542,"line_start":544,"line_end":544,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3439331144}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387573,"byte_end":387579,"line_start":545,"line_end":545,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387564,"byte_end":387571,"line_start":545,"line_end":545,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387573,"byte_end":387579,"line_start":545,"line_end":545,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387564,"byte_end":387571,"line_start":545,"line_end":545,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387588,"byte_end":387593,"line_start":545,"line_end":545,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387586,"byte_end":387587,"line_start":545,"line_end":545,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":1124075336}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387621,"byte_end":387629,"line_start":546,"line_end":546,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387673,"byte_end":387676,"line_start":548,"line_end":548,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":5601}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387662,"byte_end":387672,"line_start":548,"line_end":548,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":184551240}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387710,"byte_end":387713,"line_start":549,"line_end":549,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387724,"byte_end":387727,"line_start":549,"line_end":549,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387714,"byte_end":387722,"line_start":549,"line_end":549,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387854,"byte_end":387857,"line_start":552,"line_end":552,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387840,"byte_end":387853,"line_start":552,"line_end":552,"column_start":37,"column_end":50},"ref_id":{"krate":0,"index":3724543816}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":387952,"byte_end":387956,"line_start":554,"line_end":554,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387945,"byte_end":387951,"line_start":554,"line_end":554,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2248148808}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":387957,"byte_end":387972,"line_start":554,"line_end":554,"column_start":25,"column_end":40},"ref_id":{"krate":0,"index":3865}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387975,"byte_end":387978,"line_start":554,"line_end":554,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387980,"byte_end":387981,"line_start":554,"line_end":554,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":218105672}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387989,"byte_end":387992,"line_start":554,"line_end":554,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":3867}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388005,"byte_end":388010,"line_start":554,"line_end":554,"column_start":73,"column_end":78},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":387994,"byte_end":388004,"line_start":554,"line_end":554,"column_start":62,"column_end":72},"ref_id":{"krate":0,"index":184551240}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388014,"byte_end":388020,"line_start":554,"line_end":554,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388022,"byte_end":388039,"line_start":554,"line_end":554,"column_start":90,"column_end":107},"ref_id":{"krate":0,"index":922748744}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388041,"byte_end":388047,"line_start":554,"line_end":554,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":3869}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388120,"byte_end":388129,"line_start":555,"line_end":555,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388109,"byte_end":388118,"line_start":555,"line_end":555,"column_start":56,"column_end":65},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388130,"byte_end":388143,"line_start":555,"line_end":555,"column_start":77,"column_end":90},"ref_id":{"krate":0,"index":3724543816}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388151,"byte_end":388154,"line_start":555,"line_end":555,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388146,"byte_end":388149,"line_start":555,"line_end":555,"column_start":93,"column_end":96},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388162,"byte_end":388167,"line_start":555,"line_end":555,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388155,"byte_end":388158,"line_start":555,"line_end":555,"column_start":102,"column_end":105},"ref_id":{"krate":0,"index":3439331144}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388202,"byte_end":388210,"line_start":556,"line_end":556,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3565160264}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388186,"byte_end":388199,"line_start":556,"line_end":556,"column_start":13,"column_end":26},"ref_id":{"krate":0,"index":3724543816}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388235,"byte_end":388239,"line_start":557,"line_end":557,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388224,"byte_end":388234,"line_start":557,"line_end":557,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1308624712}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388241,"byte_end":388251,"line_start":557,"line_end":557,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":184551240}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388253,"byte_end":388263,"line_start":557,"line_end":557,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1417676616}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388279,"byte_end":388280,"line_start":558,"line_end":558,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":218105672}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388341,"byte_end":388357,"line_start":561,"line_end":561,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388372,"byte_end":388375,"line_start":562,"line_end":562,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388392,"byte_end":388399,"line_start":562,"line_end":562,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388377,"byte_end":388390,"line_start":562,"line_end":562,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388413,"byte_end":388414,"line_start":563,"line_end":563,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388429,"byte_end":388435,"line_start":563,"line_end":563,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388416,"byte_end":388427,"line_start":563,"line_end":563,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388449,"byte_end":388457,"line_start":564,"line_end":564,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388478,"byte_end":388482,"line_start":565,"line_end":565,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388489,"byte_end":388492,"line_start":565,"line_end":565,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388484,"byte_end":388487,"line_start":565,"line_end":565,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388498,"byte_end":388506,"line_start":565,"line_end":565,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388493,"byte_end":388496,"line_start":565,"line_end":565,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388512,"byte_end":388515,"line_start":565,"line_end":565,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388507,"byte_end":388510,"line_start":565,"line_end":565,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388516,"byte_end":388530,"line_start":565,"line_end":565,"column_start":51,"column_end":65},"ref_id":{"krate":0,"index":4024}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388533,"byte_end":388539,"line_start":565,"line_end":565,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388541,"byte_end":388547,"line_start":565,"line_end":565,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":2248148808}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388549,"byte_end":388554,"line_start":565,"line_end":565,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":4026}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388561,"byte_end":388564,"line_start":565,"line_end":565,"column_start":96,"column_end":99},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388556,"byte_end":388559,"line_start":565,"line_end":565,"column_start":91,"column_end":94},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388306,"byte_end":388319,"line_start":561,"line_end":561,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":3724543816}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388320,"byte_end":388337,"line_start":561,"line_end":561,"column_start":23,"column_end":40},"ref_id":{"krate":0,"index":1140852552}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388619,"byte_end":388622,"line_start":568,"line_end":568,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388608,"byte_end":388618,"line_start":568,"line_end":568,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1308624712}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388652,"byte_end":388655,"line_start":569,"line_end":569,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388666,"byte_end":388669,"line_start":569,"line_end":569,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388656,"byte_end":388664,"line_start":569,"line_end":569,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388749,"byte_end":388752,"line_start":572,"line_end":572,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388738,"byte_end":388748,"line_start":572,"line_end":572,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1308624712}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388781,"byte_end":388784,"line_start":573,"line_end":573,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388795,"byte_end":388798,"line_start":573,"line_end":573,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":388785,"byte_end":388793,"line_start":573,"line_end":573,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388901,"byte_end":388905,"line_start":577,"line_end":577,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388888,"byte_end":388900,"line_start":577,"line_end":577,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219592}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":388917,"byte_end":388920,"line_start":577,"line_end":577,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388906,"byte_end":388916,"line_start":577,"line_end":577,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":1308624712}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":388951,"byte_end":388961,"line_start":579,"line_end":579,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1308624712}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389031,"byte_end":389037,"line_start":581,"line_end":581,"column_start":42,"column_end":48},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389020,"byte_end":389028,"line_start":581,"line_end":581,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5574}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389014,"byte_end":389017,"line_start":581,"line_end":581,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":3179284296}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389066,"byte_end":389070,"line_start":582,"line_end":582,"column_start":26,"column_end":30},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389053,"byte_end":389065,"line_start":582,"line_end":582,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219592}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389077,"byte_end":389080,"line_start":582,"line_end":582,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389071,"byte_end":389076,"line_start":582,"line_end":582,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3011512136}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389116,"byte_end":389122,"line_start":583,"line_end":583,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389103,"byte_end":389115,"line_start":583,"line_end":583,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389123,"byte_end":389128,"line_start":583,"line_end":583,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3011512136}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389153,"byte_end":389156,"line_start":585,"line_end":585,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389147,"byte_end":389150,"line_start":585,"line_end":585,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3179284296}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389166,"byte_end":389169,"line_start":585,"line_end":585,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389204,"byte_end":389207,"line_start":586,"line_end":586,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389218,"byte_end":389221,"line_start":586,"line_end":586,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389208,"byte_end":389216,"line_start":586,"line_end":586,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389327,"byte_end":389333,"line_start":590,"line_end":590,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389314,"byte_end":389326,"line_start":590,"line_end":590,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219592}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389369,"byte_end":389375,"line_start":590,"line_end":590,"column_start":68,"column_end":74},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389355,"byte_end":389366,"line_start":590,"line_end":590,"column_start":54,"column_end":65},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389341,"byte_end":389344,"line_start":590,"line_end":590,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389335,"byte_end":389338,"line_start":590,"line_end":590,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":3179284296}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389405,"byte_end":389411,"line_start":591,"line_end":591,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389392,"byte_end":389404,"line_start":591,"line_end":591,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":134219592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389412,"byte_end":389415,"line_start":591,"line_end":591,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":3179284296}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389446,"byte_end":389448,"line_start":594,"line_end":594,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389457,"byte_end":389469,"line_start":594,"line_end":594,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":134219592}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389471,"byte_end":389484,"line_start":594,"line_end":594,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":3724543816}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389558,"byte_end":389561,"line_start":598,"line_end":598,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389562,"byte_end":389578,"line_start":598,"line_end":598,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389584,"byte_end":389590,"line_start":598,"line_end":598,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389607,"byte_end":389611,"line_start":599,"line_end":599,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389663,"byte_end":389669,"line_start":605,"line_end":605,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389674,"byte_end":389682,"line_start":605,"line_end":605,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389830,"byte_end":389833,"line_start":607,"line_end":607,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389818,"byte_end":389828,"line_start":607,"line_end":607,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389811,"byte_end":389816,"line_start":607,"line_end":607,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389834,"byte_end":389840,"line_start":607,"line_end":607,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874496}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389859,"byte_end":389865,"line_start":608,"line_end":608,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874496}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389882,"byte_end":389888,"line_start":608,"line_end":608,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389867,"byte_end":389874,"line_start":608,"line_end":608,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753152}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389875,"byte_end":389881,"line_start":608,"line_end":608,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389932,"byte_end":389941,"line_start":609,"line_end":609,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389920,"byte_end":389930,"line_start":609,"line_end":609,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":389913,"byte_end":389918,"line_start":609,"line_end":609,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":389950,"byte_end":389969,"line_start":609,"line_end":609,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389942,"byte_end":389949,"line_start":609,"line_end":609,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753152}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389990,"byte_end":389996,"line_start":610,"line_end":610,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874496}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":390014,"byte_end":390020,"line_start":610,"line_end":610,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":389998,"byte_end":390006,"line_start":610,"line_end":610,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699904}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390007,"byte_end":390013,"line_start":610,"line_end":610,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390030,"byte_end":390032,"line_start":611,"line_end":611,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390078,"byte_end":390084,"line_start":616,"line_end":616,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390089,"byte_end":390097,"line_start":616,"line_end":616,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390288,"byte_end":390298,"line_start":618,"line_end":618,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390281,"byte_end":390286,"line_start":618,"line_end":618,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390309,"byte_end":390315,"line_start":618,"line_end":618,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874500}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390334,"byte_end":390340,"line_start":619,"line_end":619,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874500}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390342,"byte_end":390349,"line_start":619,"line_end":619,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753156}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":390420,"byte_end":390429,"line_start":620,"line_end":620,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390408,"byte_end":390418,"line_start":620,"line_end":620,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390401,"byte_end":390406,"line_start":620,"line_end":620,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390430,"byte_end":390437,"line_start":620,"line_end":620,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753156}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390478,"byte_end":390484,"line_start":621,"line_end":621,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874500}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":390513,"byte_end":390522,"line_start":621,"line_end":621,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":390502,"byte_end":390509,"line_start":621,"line_end":621,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390486,"byte_end":390494,"line_start":621,"line_end":621,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441732}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390495,"byte_end":390501,"line_start":621,"line_end":621,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390531,"byte_end":390533,"line_start":622,"line_end":622,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390594,"byte_end":390600,"line_start":626,"line_end":626,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390605,"byte_end":390613,"line_start":626,"line_end":626,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390746,"byte_end":390756,"line_start":628,"line_end":628,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390739,"byte_end":390744,"line_start":628,"line_end":628,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390767,"byte_end":390773,"line_start":628,"line_end":628,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874504}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390840,"byte_end":390847,"line_start":631,"line_end":631,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753160}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390859,"byte_end":390863,"line_start":631,"line_end":631,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390870,"byte_end":390876,"line_start":632,"line_end":632,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390918,"byte_end":390924,"line_start":633,"line_end":633,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":390950,"byte_end":390954,"line_start":633,"line_end":633,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":390981,"byte_end":390987,"line_start":634,"line_end":634,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391020,"byte_end":391026,"line_start":634,"line_end":634,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391073,"byte_end":391079,"line_start":635,"line_end":635,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391126,"byte_end":391132,"line_start":636,"line_end":636,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391148,"byte_end":391154,"line_start":637,"line_end":637,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547912}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":391163,"byte_end":391167,"line_start":637,"line_end":637,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391186,"byte_end":391192,"line_start":638,"line_end":638,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547912}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391306,"byte_end":391313,"line_start":641,"line_end":641,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753160}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":391325,"byte_end":391329,"line_start":641,"line_end":641,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391336,"byte_end":391342,"line_start":642,"line_end":642,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391399,"byte_end":391405,"line_start":643,"line_end":643,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":391431,"byte_end":391435,"line_start":643,"line_end":643,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391462,"byte_end":391468,"line_start":644,"line_end":644,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391513,"byte_end":391519,"line_start":645,"line_end":645,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":391528,"byte_end":391532,"line_start":645,"line_end":645,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391551,"byte_end":391557,"line_start":646,"line_end":646,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":391583,"byte_end":391587,"line_start":646,"line_end":646,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":391614,"byte_end":391620,"line_start":647,"line_end":647,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078408}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392046,"byte_end":392048,"line_start":658,"line_end":658,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392086,"byte_end":392092,"line_start":663,"line_end":663,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392097,"byte_end":392105,"line_start":663,"line_end":663,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":392146,"byte_end":392149,"line_start":664,"line_end":664,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392134,"byte_end":392144,"line_start":664,"line_end":664,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392127,"byte_end":392132,"line_start":664,"line_end":664,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":392414,"byte_end":392424,"line_start":675,"line_end":675,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":2803}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":392406,"byte_end":392413,"line_start":675,"line_end":675,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":1476398605}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":392425,"byte_end":392429,"line_start":675,"line_end":675,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393068,"byte_end":393081,"line_start":689,"line_end":689,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":2295}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393061,"byte_end":393067,"line_start":689,"line_end":689,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393277,"byte_end":393283,"line_start":697,"line_end":697,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":8374}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393256,"byte_end":393259,"line_start":697,"line_end":697,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393249,"byte_end":393255,"line_start":697,"line_end":697,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393340,"byte_end":393346,"line_start":698,"line_end":698,"column_start":47,"column_end":53},"ref_id":{"krate":1,"index":8374}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393316,"byte_end":393319,"line_start":698,"line_end":698,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393309,"byte_end":393315,"line_start":698,"line_end":698,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393407,"byte_end":393413,"line_start":699,"line_end":699,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":8374}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393382,"byte_end":393385,"line_start":699,"line_end":699,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393375,"byte_end":393381,"line_start":699,"line_end":699,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393473,"byte_end":393479,"line_start":700,"line_end":700,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":8374}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393450,"byte_end":393453,"line_start":700,"line_end":700,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393443,"byte_end":393449,"line_start":700,"line_end":700,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393538,"byte_end":393544,"line_start":701,"line_end":701,"column_start":47,"column_end":53},"ref_id":{"krate":1,"index":8374}},{"kind":"Function","span":{"file_name":"src/collection/struc.rs","byte_start":393514,"byte_end":393517,"line_start":701,"line_end":701,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":2310}},{"kind":"Variable","span":{"file_name":"src/collection/struc.rs","byte_start":393507,"byte_end":393513,"line_start":701,"line_end":701,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":3288337933}},{"kind":"Type","span":{"file_name":"src/collection/struc.rs","byte_start":393560,"byte_end":393562,"line_start":703,"line_end":703,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366823,"byte_end":366826,"line_start":6,"line_end":6,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":1866}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393573,"byte_end":393578,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393581,"byte_end":393587,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393573,"byte_end":393578,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393597,"byte_end":393601,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393621,"byte_end":393624,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393621,"byte_end":393624,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393647,"byte_end":393654,"line_start":2,"line_end":2,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393667,"byte_end":393673,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393613,"byte_end":393618,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393667,"byte_end":393673,"line_start":2,"line_end":2,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393715,"byte_end":393720,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393723,"byte_end":393732,"line_start":3,"line_end":3,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393746,"byte_end":393751,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393753,"byte_end":393760,"line_start":4,"line_end":4,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393786,"byte_end":393792,"line_start":5,"line_end":5,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393807,"byte_end":393813,"line_start":5,"line_end":5,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393859,"byte_end":393864,"line_start":5,"line_end":5,"column_start":86,"column_end":91},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":393778,"byte_end":393783,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393876,"byte_end":393885,"line_start":5,"line_end":5,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393902,"byte_end":393907,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393909,"byte_end":393915,"line_start":7,"line_end":7,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393931,"byte_end":393936,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393938,"byte_end":393941,"line_start":8,"line_end":8,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393952,"byte_end":393957,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393959,"byte_end":393964,"line_start":9,"line_end":9,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393975,"byte_end":393980,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/map.rs","byte_start":393982,"byte_end":393988,"line_start":10,"line_end":10,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394096,"byte_end":394100,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3599}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"ref_id":{"krate":0,"index":3598}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":394247,"byte_end":394258,"line_start":24,"line_end":24,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394242,"byte_end":394246,"line_start":24,"line_end":24,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872846}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394230,"byte_end":394234,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743758}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394235,"byte_end":394239,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3599}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":394339,"byte_end":394352,"line_start":28,"line_end":28,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394353,"byte_end":394357,"line_start":28,"line_end":28,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743759}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394358,"byte_end":394362,"line_start":28,"line_end":28,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3599}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394447,"byte_end":394450,"line_start":35,"line_end":35,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3605}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394468,"byte_end":394477,"line_start":36,"line_end":36,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3606}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3603}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394586,"byte_end":394590,"line_start":41,"line_end":41,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3603}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394593,"byte_end":394596,"line_start":41,"line_end":41,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":3605}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394593,"byte_end":394596,"line_start":41,"line_end":41,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":1073743762}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394598,"byte_end":394607,"line_start":41,"line_end":41,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3606}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394598,"byte_end":394607,"line_start":41,"line_end":41,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":536872850}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394731,"byte_end":394737,"line_start":51,"line_end":51,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394738,"byte_end":394746,"line_start":51,"line_end":51,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3603}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394765,"byte_end":394771,"line_start":52,"line_end":52,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394772,"byte_end":394780,"line_start":52,"line_end":52,"column_start":18,"column_end":26},"ref_id":{"krate":0,"index":3603}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394798,"byte_end":394807,"line_start":53,"line_end":53,"column_start":10,"column_end":19},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394704,"byte_end":394709,"line_start":50,"line_end":50,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3617}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394722,"byte_end":394729,"line_start":51,"line_end":51,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3618}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394759,"byte_end":394763,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3619}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394793,"byte_end":394796,"line_start":53,"line_end":53,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":394813,"byte_end":394821,"line_start":54,"line_end":54,"column_start":5,"column_end":13},"ref_id":{"krate":0,"index":3621}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":394934,"byte_end":394943,"line_start":61,"line_end":61,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395007,"byte_end":395016,"line_start":61,"line_end":61,"column_start":104,"column_end":113},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395021,"byte_end":395027,"line_start":61,"line_end":61,"column_start":118,"column_end":124},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395028,"byte_end":395034,"line_start":61,"line_end":61,"column_start":125,"column_end":131},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395035,"byte_end":395044,"line_start":61,"line_end":61,"column_start":132,"column_end":141},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395047,"byte_end":395055,"line_start":61,"line_end":61,"column_start":144,"column_end":152},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395099,"byte_end":395109,"line_start":63,"line_end":63,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395092,"byte_end":395098,"line_start":63,"line_end":63,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1342179221}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395110,"byte_end":395120,"line_start":63,"line_end":63,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395121,"byte_end":395132,"line_start":63,"line_end":63,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395134,"byte_end":395138,"line_start":63,"line_end":63,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395149,"byte_end":395165,"line_start":63,"line_end":63,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395182,"byte_end":395194,"line_start":65,"line_end":65,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":268437397}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395224,"byte_end":395228,"line_start":66,"line_end":66,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2013267861}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395229,"byte_end":395234,"line_start":66,"line_end":66,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":4032}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395256,"byte_end":395258,"line_start":68,"line_end":68,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395259,"byte_end":395263,"line_start":68,"line_end":68,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395275,"byte_end":395278,"line_start":68,"line_end":68,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395264,"byte_end":395273,"line_start":68,"line_end":68,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395282,"byte_end":395290,"line_start":68,"line_end":68,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3825207189}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395292,"byte_end":395302,"line_start":68,"line_end":68,"column_start":56,"column_end":66},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395303,"byte_end":395314,"line_start":68,"line_end":68,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395363,"byte_end":395371,"line_start":71,"line_end":71,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395373,"byte_end":395383,"line_start":71,"line_end":71,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395385,"byte_end":395391,"line_start":71,"line_end":71,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1342179221}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395474,"byte_end":395483,"line_start":74,"line_end":74,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395465,"byte_end":395473,"line_start":74,"line_end":74,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3523217301}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395484,"byte_end":395490,"line_start":74,"line_end":74,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":1342179221}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395444,"byte_end":395448,"line_start":74,"line_end":74,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395509,"byte_end":395513,"line_start":75,"line_end":75,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1912604565}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395517,"byte_end":395520,"line_start":75,"line_end":75,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":536872853}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395546,"byte_end":395548,"line_start":76,"line_end":76,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395549,"byte_end":395553,"line_start":76,"line_end":76,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395559,"byte_end":395564,"line_start":76,"line_end":76,"column_start":37,"column_end":42},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395554,"byte_end":395558,"line_start":76,"line_end":76,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4060088213}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395634,"byte_end":395643,"line_start":81,"line_end":81,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":1610614677}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395658,"byte_end":395660,"line_start":82,"line_end":82,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395661,"byte_end":395665,"line_start":82,"line_end":82,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395672,"byte_end":395678,"line_start":82,"line_end":82,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":1946}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395680,"byte_end":395690,"line_start":82,"line_end":82,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":1073743765}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395692,"byte_end":395698,"line_start":82,"line_end":82,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1342179221}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395700,"byte_end":395703,"line_start":82,"line_end":82,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":536872853}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395737,"byte_end":395739,"line_start":84,"line_end":84,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395740,"byte_end":395744,"line_start":84,"line_end":84,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395846,"byte_end":395855,"line_start":89,"line_end":89,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":395870,"byte_end":395882,"line_start":89,"line_end":89,"column_start":86,"column_end":98},"ref_id":{"krate":0,"index":3598}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395896,"byte_end":395909,"line_start":90,"line_end":90,"column_start":12,"column_end":25},"ref_id":{"krate":0,"index":1073743766}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395932,"byte_end":395935,"line_start":90,"line_end":90,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395919,"byte_end":395929,"line_start":90,"line_end":90,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395912,"byte_end":395918,"line_start":90,"line_end":90,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872854}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395999,"byte_end":396005,"line_start":91,"line_end":91,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":395985,"byte_end":395996,"line_start":91,"line_end":91,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":395978,"byte_end":395984,"line_start":91,"line_end":91,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872854}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396016,"byte_end":396028,"line_start":91,"line_end":91,"column_start":67,"column_end":79},"ref_id":{"krate":0,"index":3598}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396127,"byte_end":396130,"line_start":93,"line_end":93,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396118,"byte_end":396124,"line_start":93,"line_end":93,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396104,"byte_end":396115,"line_start":93,"line_end":93,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396097,"byte_end":396103,"line_start":93,"line_end":93,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872854}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396131,"byte_end":396144,"line_start":93,"line_end":93,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":1073743766}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396163,"byte_end":396175,"line_start":93,"line_end":93,"column_start":95,"column_end":107},"ref_id":{"krate":0,"index":3598}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396251,"byte_end":396260,"line_start":98,"line_end":98,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396276,"byte_end":396285,"line_start":98,"line_end":98,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396337,"byte_end":396347,"line_start":100,"line_end":100,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396330,"byte_end":396336,"line_start":100,"line_end":100,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872856}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396348,"byte_end":396358,"line_start":100,"line_end":100,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396359,"byte_end":396370,"line_start":100,"line_end":100,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396372,"byte_end":396376,"line_start":100,"line_end":100,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396387,"byte_end":396403,"line_start":100,"line_end":100,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396432,"byte_end":396436,"line_start":102,"line_end":102,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":402655128}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396437,"byte_end":396442,"line_start":102,"line_end":102,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396485,"byte_end":396499,"line_start":104,"line_end":104,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396467,"byte_end":396476,"line_start":104,"line_end":104,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396456,"byte_end":396466,"line_start":104,"line_end":104,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396477,"byte_end":396483,"line_start":104,"line_end":104,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872856}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396528,"byte_end":396532,"line_start":105,"line_end":105,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396551,"byte_end":396558,"line_start":106,"line_end":106,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3618}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396560,"byte_end":396564,"line_start":106,"line_end":106,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396582,"byte_end":396587,"line_start":107,"line_end":107,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3617}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396608,"byte_end":396612,"line_start":108,"line_end":108,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396614,"byte_end":396618,"line_start":108,"line_end":108,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396636,"byte_end":396639,"line_start":109,"line_end":109,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3620}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396652,"byte_end":396657,"line_start":109,"line_end":109,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396641,"byte_end":396651,"line_start":109,"line_end":109,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396677,"byte_end":396685,"line_start":110,"line_end":110,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3621}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396677,"byte_end":396685,"line_start":110,"line_end":110,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":2013267864}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396779,"byte_end":396787,"line_start":114,"line_end":114,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1935}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396741,"byte_end":396748,"line_start":114,"line_end":114,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1942}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396749,"byte_end":396759,"line_start":114,"line_end":114,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396760,"byte_end":396769,"line_start":114,"line_end":114,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396771,"byte_end":396777,"line_start":114,"line_end":114,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872856}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396829,"byte_end":396832,"line_start":116,"line_end":116,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396818,"byte_end":396827,"line_start":116,"line_end":116,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396833,"byte_end":396842,"line_start":116,"line_end":116,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":4060088216}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396853,"byte_end":396861,"line_start":116,"line_end":116,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":2013267864}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396863,"byte_end":396873,"line_start":116,"line_end":116,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396874,"byte_end":396885,"line_start":116,"line_end":116,"column_start":83,"column_end":94},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":396932,"byte_end":396941,"line_start":117,"line_end":117,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396920,"byte_end":396931,"line_start":117,"line_end":117,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":2248148888}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396942,"byte_end":396948,"line_start":117,"line_end":117,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536872856}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396960,"byte_end":396964,"line_start":119,"line_end":119,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":396979,"byte_end":396986,"line_start":120,"line_end":120,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3618}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":396988,"byte_end":396992,"line_start":120,"line_end":120,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397006,"byte_end":397011,"line_start":121,"line_end":121,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3617}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397028,"byte_end":397032,"line_start":122,"line_end":122,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397034,"byte_end":397038,"line_start":122,"line_end":122,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397049,"byte_end":397052,"line_start":122,"line_end":122,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1938}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397039,"byte_end":397047,"line_start":122,"line_end":122,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3603}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397071,"byte_end":397078,"line_start":122,"line_end":122,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":1660}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397053,"byte_end":397070,"line_start":122,"line_end":122,"column_start":38,"column_end":55},"ref_id":{"krate":0,"index":1442842520}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397079,"byte_end":397085,"line_start":122,"line_end":122,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872856}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397088,"byte_end":397099,"line_start":122,"line_end":122,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":2248148888}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397100,"byte_end":397109,"line_start":122,"line_end":122,"column_start":85,"column_end":94},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397126,"byte_end":397129,"line_start":123,"line_end":123,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3620}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397142,"byte_end":397147,"line_start":123,"line_end":123,"column_start":29,"column_end":34},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397131,"byte_end":397141,"line_start":123,"line_end":123,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":1073743768}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397163,"byte_end":397171,"line_start":124,"line_end":124,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3621}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397163,"byte_end":397171,"line_start":124,"line_end":124,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":2013267864}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397257,"byte_end":397266,"line_start":129,"line_end":129,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397271,"byte_end":397277,"line_start":129,"line_end":129,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397290,"byte_end":397299,"line_start":129,"line_end":129,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397316,"byte_end":397320,"line_start":131,"line_end":131,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397321,"byte_end":397326,"line_start":131,"line_end":131,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3617}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397334,"byte_end":397337,"line_start":131,"line_end":131,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397368,"byte_end":397372,"line_start":132,"line_end":132,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397407,"byte_end":397411,"line_start":135,"line_end":135,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397412,"byte_end":397416,"line_start":135,"line_end":135,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3619}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397431,"byte_end":397435,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397431,"byte_end":397435,"line_start":136,"line_end":136,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397464,"byte_end":397468,"line_start":138,"line_end":138,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397469,"byte_end":397474,"line_start":138,"line_end":138,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":3617}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397504,"byte_end":397508,"line_start":140,"line_end":140,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397509,"byte_end":397516,"line_start":140,"line_end":140,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3618}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397539,"byte_end":397543,"line_start":141,"line_end":141,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397539,"byte_end":397543,"line_start":141,"line_end":141,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397637,"byte_end":397640,"line_start":142,"line_end":142,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397626,"byte_end":397635,"line_start":142,"line_end":142,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397641,"byte_end":397648,"line_start":142,"line_end":142,"column_start":59,"column_end":66},"ref_id":{"krate":0,"index":1409288089}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397649,"byte_end":397658,"line_start":142,"line_end":142,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3606}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397660,"byte_end":397664,"line_start":142,"line_end":142,"column_start":78,"column_end":82},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397665,"byte_end":397673,"line_start":142,"line_end":142,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":3621}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397675,"byte_end":397679,"line_start":142,"line_end":142,"column_start":93,"column_end":97},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397680,"byte_end":397683,"line_start":142,"line_end":142,"column_start":98,"column_end":101},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397684,"byte_end":397695,"line_start":142,"line_end":142,"column_start":102,"column_end":113},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397755,"byte_end":397764,"line_start":143,"line_end":143,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397742,"byte_end":397754,"line_start":143,"line_end":143,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2080376729}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397765,"byte_end":397771,"line_start":143,"line_end":143,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":397829,"byte_end":397842,"line_start":144,"line_end":144,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397815,"byte_end":397828,"line_start":144,"line_end":144,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":3791652761}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":397882,"byte_end":397892,"line_start":145,"line_end":145,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":2315257753}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":397958,"byte_end":397962,"line_start":146,"line_end":146,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398060,"byte_end":398063,"line_start":148,"line_end":148,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398049,"byte_end":398058,"line_start":148,"line_end":148,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398064,"byte_end":398074,"line_start":148,"line_end":148,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":2315257753}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398076,"byte_end":398080,"line_start":148,"line_end":148,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398081,"byte_end":398089,"line_start":148,"line_end":148,"column_start":85,"column_end":93},"ref_id":{"krate":0,"index":3621}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398091,"byte_end":398095,"line_start":148,"line_end":148,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398096,"byte_end":398099,"line_start":148,"line_end":148,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398100,"byte_end":398111,"line_start":148,"line_end":148,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398183,"byte_end":398192,"line_start":149,"line_end":149,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398165,"byte_end":398182,"line_start":149,"line_end":149,"column_start":52,"column_end":69},"ref_id":{"krate":0,"index":3053455257}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398193,"byte_end":398199,"line_start":149,"line_end":149,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":536872857}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398257,"byte_end":398264,"line_start":150,"line_end":150,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":1660}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398240,"byte_end":398256,"line_start":150,"line_end":150,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":1845495705}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398265,"byte_end":398271,"line_start":150,"line_end":150,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872857}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398317,"byte_end":398321,"line_start":151,"line_end":151,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398322,"byte_end":398330,"line_start":151,"line_end":151,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":3603}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398333,"byte_end":398342,"line_start":151,"line_end":151,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":3606}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398344,"byte_end":398354,"line_start":151,"line_end":151,"column_start":71,"column_end":81},"ref_id":{"krate":0,"index":2315257753}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398356,"byte_end":398359,"line_start":151,"line_end":151,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":3605}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398361,"byte_end":398364,"line_start":151,"line_end":151,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4261414809}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398302,"byte_end":398306,"line_start":151,"line_end":151,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398307,"byte_end":398314,"line_start":151,"line_end":151,"column_start":34,"column_end":41},"ref_id":{"krate":0,"index":3618}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398404,"byte_end":398408,"line_start":152,"line_end":152,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398410,"byte_end":398413,"line_start":152,"line_end":152,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":4261414809}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398415,"byte_end":398432,"line_start":152,"line_end":152,"column_start":47,"column_end":64},"ref_id":{"krate":0,"index":3053455257}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398504,"byte_end":398508,"line_start":155,"line_end":155,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398504,"byte_end":398508,"line_start":155,"line_end":155,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398582,"byte_end":398586,"line_start":156,"line_end":156,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398592,"byte_end":398597,"line_start":156,"line_end":156,"column_start":50,"column_end":55},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398587,"byte_end":398591,"line_start":156,"line_end":156,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3087009689}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398567,"byte_end":398571,"line_start":156,"line_end":156,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398572,"byte_end":398579,"line_start":156,"line_end":156,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3618}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398633,"byte_end":398637,"line_start":157,"line_end":157,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398639,"byte_end":398643,"line_start":157,"line_end":157,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3087009689}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398644,"byte_end":398647,"line_start":157,"line_end":157,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":3605}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398660,"byte_end":398663,"line_start":157,"line_end":157,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398649,"byte_end":398658,"line_start":157,"line_end":157,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398664,"byte_end":398668,"line_start":157,"line_end":157,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":3087009689}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398669,"byte_end":398678,"line_start":157,"line_end":157,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3606}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398680,"byte_end":398684,"line_start":157,"line_end":157,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398685,"byte_end":398693,"line_start":157,"line_end":157,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":3621}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398695,"byte_end":398699,"line_start":157,"line_end":157,"column_start":94,"column_end":98},"ref_id":{"krate":0,"index":1073743769}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398700,"byte_end":398703,"line_start":157,"line_end":157,"column_start":99,"column_end":102},"ref_id":{"krate":0,"index":3620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398704,"byte_end":398715,"line_start":157,"line_end":157,"column_start":103,"column_end":114},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398786,"byte_end":398790,"line_start":161,"line_end":161,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398786,"byte_end":398790,"line_start":161,"line_end":161,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398801,"byte_end":398805,"line_start":161,"line_end":161,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398878,"byte_end":398887,"line_start":168,"line_end":168,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398898,"byte_end":398907,"line_start":168,"line_end":168,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398923,"byte_end":398929,"line_start":168,"line_end":168,"column_start":77,"column_end":83},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398930,"byte_end":398939,"line_start":168,"line_end":168,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":398941,"byte_end":398949,"line_start":168,"line_end":168,"column_start":95,"column_end":103},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":398993,"byte_end":399003,"line_start":170,"line_end":170,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":398986,"byte_end":398992,"line_start":170,"line_end":170,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872858}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399004,"byte_end":399014,"line_start":170,"line_end":170,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1073743770}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399015,"byte_end":399026,"line_start":170,"line_end":170,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399028,"byte_end":399032,"line_start":170,"line_end":170,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399043,"byte_end":399059,"line_start":170,"line_end":170,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399088,"byte_end":399092,"line_start":172,"line_end":172,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1476396954}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399093,"byte_end":399098,"line_start":172,"line_end":172,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399116,"byte_end":399119,"line_start":174,"line_end":174,"column_start":16,"column_end":19},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399112,"byte_end":399115,"line_start":174,"line_end":174,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":1610614682}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399150,"byte_end":399153,"line_start":175,"line_end":175,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399164,"byte_end":399167,"line_start":175,"line_end":175,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399154,"byte_end":399162,"line_start":175,"line_end":175,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399273,"byte_end":399282,"line_start":178,"line_end":178,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399262,"byte_end":399272,"line_start":178,"line_end":178,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":1073743770}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399283,"byte_end":399289,"line_start":178,"line_end":178,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536872858}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399332,"byte_end":399345,"line_start":180,"line_end":180,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399325,"byte_end":399331,"line_start":180,"line_end":180,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872858}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399396,"byte_end":399399,"line_start":181,"line_end":181,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":399385,"byte_end":399394,"line_start":181,"line_end":181,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399400,"byte_end":399415,"line_start":181,"line_end":181,"column_start":41,"column_end":56},"ref_id":{"krate":0,"index":2046822298}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399417,"byte_end":399425,"line_start":181,"line_end":181,"column_start":58,"column_end":66},"ref_id":{"krate":0,"index":67110810}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399427,"byte_end":399437,"line_start":181,"line_end":181,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1073743770}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399438,"byte_end":399449,"line_start":181,"line_end":181,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399507,"byte_end":399520,"line_start":184,"line_end":184,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399500,"byte_end":399506,"line_start":184,"line_end":184,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872858}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399527,"byte_end":399530,"line_start":184,"line_end":184,"column_start":56,"column_end":59},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399523,"byte_end":399526,"line_start":184,"line_end":184,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":1610614682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399558,"byte_end":399571,"line_start":185,"line_end":185,"column_start":16,"column_end":29},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399551,"byte_end":399557,"line_start":185,"line_end":185,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":536872858}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399576,"byte_end":399584,"line_start":185,"line_end":185,"column_start":34,"column_end":42},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399572,"byte_end":399575,"line_start":185,"line_end":185,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":1610614682}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399631,"byte_end":399643,"line_start":186,"line_end":186,"column_start":42,"column_end":54},"ref_id":{"krate":0,"index":1656}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399609,"byte_end":399622,"line_start":186,"line_end":186,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399598,"byte_end":399608,"line_start":186,"line_end":186,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":3053455258}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399623,"byte_end":399629,"line_start":186,"line_end":186,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872858}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399644,"byte_end":399657,"line_start":186,"line_end":186,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":2969569178}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399699,"byte_end":399713,"line_start":188,"line_end":188,"column_start":32,"column_end":46},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399687,"byte_end":399696,"line_start":188,"line_end":188,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1107298202}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399809,"byte_end":399823,"line_start":191,"line_end":191,"column_start":42,"column_end":56},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399787,"byte_end":399800,"line_start":191,"line_end":191,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399776,"byte_end":399786,"line_start":191,"line_end":191,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":1073743770}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399801,"byte_end":399807,"line_start":191,"line_end":191,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":536872858}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399824,"byte_end":399839,"line_start":191,"line_end":191,"column_start":57,"column_end":72},"ref_id":{"krate":0,"index":2046822298}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399861,"byte_end":399865,"line_start":193,"line_end":193,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4244637594}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399954,"byte_end":399967,"line_start":194,"line_end":194,"column_start":46,"column_end":59},"ref_id":{"krate":0,"index":1653}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":399932,"byte_end":399945,"line_start":194,"line_end":194,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399921,"byte_end":399931,"line_start":194,"line_end":194,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3053455258}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399946,"byte_end":399952,"line_start":194,"line_end":194,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":536872858}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":399968,"byte_end":399972,"line_start":194,"line_end":194,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":4244637594}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400001,"byte_end":400003,"line_start":197,"line_end":197,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400004,"byte_end":400014,"line_start":197,"line_end":197,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3053455258}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400039,"byte_end":400047,"line_start":202,"line_end":202,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400115,"byte_end":400124,"line_start":204,"line_end":204,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400142,"byte_end":400151,"line_start":204,"line_end":204,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400156,"byte_end":400163,"line_start":204,"line_end":204,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400200,"byte_end":400209,"line_start":205,"line_end":205,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400193,"byte_end":400199,"line_start":205,"line_end":205,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872863}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400210,"byte_end":400216,"line_start":205,"line_end":205,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614687}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400243,"byte_end":400257,"line_start":207,"line_end":207,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400233,"byte_end":400240,"line_start":207,"line_end":207,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961503}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400295,"byte_end":400299,"line_start":208,"line_end":208,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400286,"byte_end":400293,"line_start":208,"line_end":208,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400345,"byte_end":400348,"line_start":211,"line_end":211,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400338,"byte_end":400343,"line_start":211,"line_end":211,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400388,"byte_end":400396,"line_start":213,"line_end":213,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400380,"byte_end":400386,"line_start":213,"line_end":213,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400398,"byte_end":400404,"line_start":213,"line_end":213,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":536872863}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400406,"byte_end":400412,"line_start":213,"line_end":213,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":1610614687}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400462,"byte_end":400471,"line_start":215,"line_end":215,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":1945}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400454,"byte_end":400460,"line_start":215,"line_end":215,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400477,"byte_end":400485,"line_start":215,"line_end":215,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":469763999}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400487,"byte_end":400493,"line_start":215,"line_end":215,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1610614687}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400434,"byte_end":400438,"line_start":215,"line_end":215,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400518,"byte_end":400524,"line_start":216,"line_end":216,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400509,"byte_end":400517,"line_start":216,"line_end":216,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":1409288095}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400533,"byte_end":400537,"line_start":216,"line_end":216,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400525,"byte_end":400531,"line_start":216,"line_end":216,"column_start":29,"column_end":35},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400538,"byte_end":400541,"line_start":216,"line_end":216,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3690989471}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400555,"byte_end":400566,"line_start":216,"line_end":216,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400544,"byte_end":400553,"line_start":216,"line_end":216,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400567,"byte_end":400572,"line_start":216,"line_end":216,"column_start":71,"column_end":76},"ref_id":{"krate":0,"index":1073743775}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400579,"byte_end":400583,"line_start":216,"line_end":216,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":1006634911}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400585,"byte_end":400591,"line_start":216,"line_end":216,"column_start":89,"column_end":95},"ref_id":{"krate":0,"index":1610614687}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400628,"byte_end":400638,"line_start":219,"line_end":219,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400619,"byte_end":400626,"line_start":219,"line_end":219,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400639,"byte_end":400647,"line_start":219,"line_end":219,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":1409288095}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400824,"byte_end":400829,"line_start":222,"line_end":222,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400723,"byte_end":400732,"line_start":222,"line_end":222,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400748,"byte_end":400757,"line_start":222,"line_end":222,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400767,"byte_end":400770,"line_start":222,"line_end":222,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400771,"byte_end":400778,"line_start":222,"line_end":222,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400784,"byte_end":400790,"line_start":222,"line_end":222,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400795,"byte_end":400803,"line_start":222,"line_end":222,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400858,"byte_end":400863,"line_start":224,"line_end":224,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179233}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400887,"byte_end":400897,"line_start":225,"line_end":225,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400878,"byte_end":400885,"line_start":225,"line_end":225,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400887,"byte_end":400897,"line_start":225,"line_end":225,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400878,"byte_end":400885,"line_start":225,"line_end":225,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":400960,"byte_end":400964,"line_start":226,"line_end":226,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400944,"byte_end":400952,"line_start":226,"line_end":226,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":1207961505}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":400953,"byte_end":400959,"line_start":226,"line_end":226,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":4073}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401003,"byte_end":401009,"line_start":227,"line_end":227,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1941}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":400995,"byte_end":401001,"line_start":227,"line_end":227,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401010,"byte_end":401016,"line_start":227,"line_end":227,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1610614689}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401019,"byte_end":401026,"line_start":227,"line_end":227,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":1476396961}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401043,"byte_end":401049,"line_start":227,"line_end":227,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":268437409}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401078,"byte_end":401082,"line_start":228,"line_end":228,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401078,"byte_end":401082,"line_start":228,"line_end":228,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401134,"byte_end":401147,"line_start":229,"line_end":229,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401123,"byte_end":401132,"line_start":229,"line_end":229,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401148,"byte_end":401153,"line_start":229,"line_end":229,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743777}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401159,"byte_end":401169,"line_start":229,"line_end":229,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536872865}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401171,"byte_end":401176,"line_start":229,"line_end":229,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1107298209}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401178,"byte_end":401184,"line_start":229,"line_end":229,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":268437409}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401192,"byte_end":401195,"line_start":229,"line_end":229,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401187,"byte_end":401190,"line_start":229,"line_end":229,"column_start":93,"column_end":96},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401206,"byte_end":401211,"line_start":229,"line_end":229,"column_start":112,"column_end":117},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401196,"byte_end":401203,"line_start":229,"line_end":229,"column_start":102,"column_end":109},"ref_id":{"krate":0,"index":1476396961}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401269,"byte_end":401273,"line_start":231,"line_end":231,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401269,"byte_end":401273,"line_start":231,"line_end":231,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401380,"byte_end":401382,"line_start":238,"line_end":238,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401429,"byte_end":401440,"line_start":241,"line_end":241,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401465,"byte_end":401468,"line_start":241,"line_end":241,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401452,"byte_end":401463,"line_start":241,"line_end":241,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401517,"byte_end":401528,"line_start":242,"line_end":242,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401553,"byte_end":401556,"line_start":242,"line_end":242,"column_start":82,"column_end":85},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401540,"byte_end":401551,"line_start":242,"line_end":242,"column_start":69,"column_end":80},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401596,"byte_end":401599,"line_start":244,"line_end":244,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401600,"byte_end":401616,"line_start":244,"line_end":244,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401637,"byte_end":401643,"line_start":244,"line_end":244,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401644,"byte_end":401651,"line_start":244,"line_end":244,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401653,"byte_end":401661,"line_start":244,"line_end":244,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401702,"byte_end":401705,"line_start":245,"line_end":245,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401695,"byte_end":401700,"line_start":245,"line_end":245,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401729,"byte_end":401735,"line_start":246,"line_end":246,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401717,"byte_end":401728,"line_start":246,"line_end":246,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308325}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401743,"byte_end":401751,"line_start":246,"line_end":246,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401764,"byte_end":401770,"line_start":246,"line_end":246,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401755,"byte_end":401762,"line_start":246,"line_end":246,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401790,"byte_end":401799,"line_start":246,"line_end":246,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401777,"byte_end":401785,"line_start":246,"line_end":246,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401838,"byte_end":401844,"line_start":248,"line_end":248,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743781}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401845,"byte_end":401852,"line_start":248,"line_end":248,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872869}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401854,"byte_end":401858,"line_start":248,"line_end":248,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401869,"byte_end":401885,"line_start":248,"line_end":248,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401914,"byte_end":401918,"line_start":250,"line_end":250,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1275070373}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401919,"byte_end":401924,"line_start":250,"line_end":250,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401947,"byte_end":401953,"line_start":252,"line_end":252,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401935,"byte_end":401946,"line_start":252,"line_end":252,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308325}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401962,"byte_end":401970,"line_start":252,"line_end":252,"column_start":36,"column_end":44},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":401985,"byte_end":401998,"line_start":252,"line_end":252,"column_start":59,"column_end":72},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":401974,"byte_end":401983,"line_start":252,"line_end":252,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":401999,"byte_end":402005,"line_start":252,"line_end":252,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":1073743781}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402007,"byte_end":402015,"line_start":252,"line_end":252,"column_start":81,"column_end":89},"ref_id":{"krate":0,"index":469764005}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402029,"byte_end":402031,"line_start":254,"line_end":254,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402041,"byte_end":402051,"line_start":254,"line_end":254,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402032,"byte_end":402039,"line_start":254,"line_end":254,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402052,"byte_end":402063,"line_start":254,"line_end":254,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308325}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402111,"byte_end":402120,"line_start":257,"line_end":257,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402138,"byte_end":402147,"line_start":257,"line_end":257,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402152,"byte_end":402158,"line_start":257,"line_end":257,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402166,"byte_end":402174,"line_start":257,"line_end":257,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402213,"byte_end":402222,"line_start":259,"line_end":259,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402206,"byte_end":402212,"line_start":259,"line_end":259,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872870}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402223,"byte_end":402229,"line_start":259,"line_end":259,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402256,"byte_end":402270,"line_start":261,"line_end":261,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402246,"byte_end":402253,"line_start":261,"line_end":261,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961510}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402299,"byte_end":402301,"line_start":262,"line_end":262,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402386,"byte_end":402394,"line_start":267,"line_end":267,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402396,"byte_end":402402,"line_start":267,"line_end":267,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":536872870}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402404,"byte_end":402410,"line_start":267,"line_end":267,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402461,"byte_end":402470,"line_start":269,"line_end":269,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402476,"byte_end":402484,"line_start":269,"line_end":269,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":738199462}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402486,"byte_end":402492,"line_start":269,"line_end":269,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402432,"byte_end":402436,"line_start":269,"line_end":269,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402546,"byte_end":402558,"line_start":270,"line_end":270,"column_start":51,"column_end":63},"ref_id":{"krate":0,"index":1662}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402528,"byte_end":402537,"line_start":270,"line_end":270,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402523,"byte_end":402527,"line_start":270,"line_end":270,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":469764006}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402538,"byte_end":402544,"line_start":270,"line_end":270,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402559,"byte_end":402565,"line_start":270,"line_end":270,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402580,"byte_end":402588,"line_start":271,"line_end":271,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207206}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402634,"byte_end":402642,"line_start":272,"line_end":272,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":1241515942}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402622,"byte_end":402630,"line_start":272,"line_end":272,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207206}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":402679,"byte_end":402688,"line_start":273,"line_end":273,"column_start":36,"column_end":45},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402668,"byte_end":402677,"line_start":273,"line_end":273,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402689,"byte_end":402694,"line_start":273,"line_end":273,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073743782}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402701,"byte_end":402705,"line_start":273,"line_end":273,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":469764006}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402707,"byte_end":402713,"line_start":273,"line_end":273,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":1610614694}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402656,"byte_end":402664,"line_start":273,"line_end":273,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3825207206}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402737,"byte_end":402739,"line_start":277,"line_end":277,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402740,"byte_end":402748,"line_start":277,"line_end":277,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207206}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402954,"byte_end":402959,"line_start":283,"line_end":283,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402807,"byte_end":402816,"line_start":283,"line_end":283,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402839,"byte_end":402848,"line_start":283,"line_end":283,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402861,"byte_end":402870,"line_start":283,"line_end":283,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402891,"byte_end":402900,"line_start":283,"line_end":283,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402905,"byte_end":402911,"line_start":283,"line_end":283,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402912,"byte_end":402921,"line_start":283,"line_end":283,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":402923,"byte_end":402931,"line_start":283,"line_end":283,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403000,"byte_end":403009,"line_start":285,"line_end":285,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":402988,"byte_end":402999,"line_start":285,"line_end":285,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872872}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403010,"byte_end":403021,"line_start":285,"line_end":285,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614696}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403047,"byte_end":403061,"line_start":287,"line_end":287,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403036,"byte_end":403046,"line_start":287,"line_end":287,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445160}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403090,"byte_end":403092,"line_start":288,"line_end":288,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403093,"byte_end":403102,"line_start":288,"line_end":288,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437416}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403149,"byte_end":403157,"line_start":291,"line_end":291,"column_start":34,"column_end":42},"ref_id":{"krate":0,"index":1944}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403159,"byte_end":403170,"line_start":291,"line_end":291,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":536872872}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403172,"byte_end":403183,"line_start":291,"line_end":291,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":1610614696}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403231,"byte_end":403240,"line_start":293,"line_end":293,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403246,"byte_end":403254,"line_start":293,"line_end":293,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":2348812200}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403256,"byte_end":403267,"line_start":293,"line_end":293,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":1610614696}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403205,"byte_end":403209,"line_start":293,"line_end":293,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403304,"byte_end":403310,"line_start":294,"line_end":294,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1946}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403312,"byte_end":403321,"line_start":294,"line_end":294,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":268437416}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403323,"byte_end":403332,"line_start":294,"line_end":294,"column_start":53,"column_end":62},"ref_id":{"krate":0,"index":1342179240}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403334,"byte_end":403337,"line_start":294,"line_end":294,"column_start":64,"column_end":67},"ref_id":{"krate":0,"index":738199464}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403364,"byte_end":403371,"line_start":295,"line_end":295,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403353,"byte_end":403362,"line_start":295,"line_end":295,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403372,"byte_end":403377,"line_start":295,"line_end":295,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1073743784}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403388,"byte_end":403393,"line_start":295,"line_end":295,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403383,"byte_end":403387,"line_start":295,"line_end":295,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2885683112}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403397,"byte_end":403408,"line_start":295,"line_end":295,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":1610614696}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403410,"byte_end":403418,"line_start":295,"line_end":295,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":2248148904}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403420,"byte_end":403429,"line_start":295,"line_end":295,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":1342179240}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403457,"byte_end":403459,"line_start":299,"line_end":299,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403460,"byte_end":403469,"line_start":299,"line_end":299,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437416}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403508,"byte_end":403511,"line_start":302,"line_end":302,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403512,"byte_end":403528,"line_start":302,"line_end":302,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403549,"byte_end":403555,"line_start":302,"line_end":302,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403556,"byte_end":403562,"line_start":302,"line_end":302,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403564,"byte_end":403572,"line_start":302,"line_end":302,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403608,"byte_end":403614,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743785}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403615,"byte_end":403622,"line_start":303,"line_end":303,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872873}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403624,"byte_end":403628,"line_start":303,"line_end":303,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403639,"byte_end":403655,"line_start":303,"line_end":303,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":4031}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403694,"byte_end":403698,"line_start":305,"line_end":305,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403686,"byte_end":403692,"line_start":305,"line_end":305,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403731,"byte_end":403739,"line_start":306,"line_end":306,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403724,"byte_end":403730,"line_start":306,"line_end":306,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751529}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403786,"byte_end":403792,"line_start":306,"line_end":306,"column_start":71,"column_end":77},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403751,"byte_end":403763,"line_start":306,"line_end":306,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2469}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403740,"byte_end":403749,"line_start":306,"line_end":306,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403765,"byte_end":403771,"line_start":306,"line_end":306,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073743785}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403773,"byte_end":403777,"line_start":306,"line_end":306,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1744832425}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403778,"byte_end":403783,"line_start":306,"line_end":306,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":403812,"byte_end":403820,"line_start":307,"line_end":307,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403805,"byte_end":403811,"line_start":307,"line_end":307,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751529}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403836,"byte_end":403838,"line_start":308,"line_end":308,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":403839,"byte_end":403845,"line_start":308,"line_end":308,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751529}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403902,"byte_end":403905,"line_start":312,"line_end":312,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403906,"byte_end":403922,"line_start":312,"line_end":312,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403944,"byte_end":403953,"line_start":312,"line_end":312,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403962,"byte_end":403965,"line_start":312,"line_end":312,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403966,"byte_end":403972,"line_start":312,"line_end":312,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403978,"byte_end":403984,"line_start":312,"line_end":312,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":403992,"byte_end":403995,"line_start":312,"line_end":312,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404001,"byte_end":404004,"line_start":312,"line_end":312,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404005,"byte_end":404021,"line_start":312,"line_end":312,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404025,"byte_end":404033,"line_start":312,"line_end":312,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404066,"byte_end":404069,"line_start":313,"line_end":313,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404081,"byte_end":404084,"line_start":313,"line_end":313,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404076,"byte_end":404079,"line_start":313,"line_end":313,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404108,"byte_end":404112,"line_start":314,"line_end":314,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404096,"byte_end":404107,"line_start":314,"line_end":314,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671090602}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404126,"byte_end":404129,"line_start":314,"line_end":314,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404113,"byte_end":404124,"line_start":314,"line_end":314,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404180,"byte_end":404183,"line_start":317,"line_end":317,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404173,"byte_end":404179,"line_start":317,"line_end":317,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404202,"byte_end":404206,"line_start":318,"line_end":318,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404195,"byte_end":404201,"line_start":318,"line_end":318,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404207,"byte_end":404223,"line_start":318,"line_end":318,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404238,"byte_end":404241,"line_start":319,"line_end":319,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404258,"byte_end":404265,"line_start":319,"line_end":319,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404243,"byte_end":404256,"line_start":319,"line_end":319,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404279,"byte_end":404280,"line_start":320,"line_end":320,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404295,"byte_end":404298,"line_start":320,"line_end":320,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404282,"byte_end":404293,"line_start":320,"line_end":320,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404312,"byte_end":404320,"line_start":321,"line_end":321,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404341,"byte_end":404345,"line_start":322,"line_end":322,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404352,"byte_end":404355,"line_start":322,"line_end":322,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404347,"byte_end":404350,"line_start":322,"line_end":322,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404361,"byte_end":404369,"line_start":322,"line_end":322,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404356,"byte_end":404359,"line_start":322,"line_end":322,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404375,"byte_end":404378,"line_start":322,"line_end":322,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404370,"byte_end":404373,"line_start":322,"line_end":322,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404379,"byte_end":404395,"line_start":322,"line_end":322,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404398,"byte_end":404403,"line_start":322,"line_end":322,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404405,"byte_end":404415,"line_start":322,"line_end":322,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":1677723562}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404478,"byte_end":404484,"line_start":325,"line_end":325,"column_start":28,"column_end":34},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404486,"byte_end":404492,"line_start":325,"line_end":325,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404496,"byte_end":404500,"line_start":325,"line_end":325,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404519,"byte_end":404522,"line_start":327,"line_end":327,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404514,"byte_end":404518,"line_start":327,"line_end":327,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437418}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404550,"byte_end":404554,"line_start":328,"line_end":328,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437418}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404593,"byte_end":404603,"line_start":329,"line_end":329,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404584,"byte_end":404590,"line_start":329,"line_end":329,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404576,"byte_end":404582,"line_start":329,"line_end":329,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404651,"byte_end":404661,"line_start":330,"line_end":330,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3053455274}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404708,"byte_end":404712,"line_start":331,"line_end":331,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":404695,"byte_end":404702,"line_start":331,"line_end":331,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404691,"byte_end":404694,"line_start":331,"line_end":331,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610614698}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404703,"byte_end":404706,"line_start":331,"line_end":331,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":1308624810}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404768,"byte_end":404772,"line_start":332,"line_end":332,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404773,"byte_end":404778,"line_start":332,"line_end":332,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":3456108458}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404756,"byte_end":404765,"line_start":332,"line_end":332,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3120564138}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":404924,"byte_end":404933,"line_start":340,"line_end":340,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3120564138}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":404914,"byte_end":404918,"line_start":340,"line_end":340,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405041,"byte_end":405049,"line_start":342,"line_end":342,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405030,"byte_end":405039,"line_start":342,"line_end":342,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405050,"byte_end":405056,"line_start":342,"line_end":342,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1073743786}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405058,"byte_end":405061,"line_start":342,"line_end":342,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":1610614698}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405063,"byte_end":405064,"line_start":342,"line_end":342,"column_start":85,"column_end":86},"ref_id":{"krate":0,"index":4110419882}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405105,"byte_end":405111,"line_start":344,"line_end":344,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405093,"byte_end":405104,"line_start":344,"line_end":344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090602}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405112,"byte_end":405123,"line_start":344,"line_end":344,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":1258293162}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405139,"byte_end":405141,"line_start":346,"line_end":346,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405150,"byte_end":405161,"line_start":346,"line_end":346,"column_start":24,"column_end":35},"ref_id":{"krate":0,"index":671090602}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405163,"byte_end":405169,"line_start":346,"line_end":346,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3405776810}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405201,"byte_end":405204,"line_start":348,"line_end":348,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405215,"byte_end":405218,"line_start":348,"line_end":348,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405205,"byte_end":405213,"line_start":348,"line_end":348,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405311,"byte_end":405314,"line_start":352,"line_end":352,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405315,"byte_end":405331,"line_start":352,"line_end":352,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405348,"byte_end":405351,"line_start":352,"line_end":352,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405352,"byte_end":405359,"line_start":352,"line_end":352,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405365,"byte_end":405371,"line_start":352,"line_end":352,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405379,"byte_end":405382,"line_start":352,"line_end":352,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405388,"byte_end":405391,"line_start":352,"line_end":352,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405392,"byte_end":405408,"line_start":352,"line_end":352,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405412,"byte_end":405420,"line_start":352,"line_end":352,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405460,"byte_end":405463,"line_start":354,"line_end":354,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405475,"byte_end":405478,"line_start":354,"line_end":354,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405470,"byte_end":405473,"line_start":354,"line_end":354,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405502,"byte_end":405506,"line_start":355,"line_end":355,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405490,"byte_end":405501,"line_start":355,"line_end":355,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219691}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405520,"byte_end":405523,"line_start":355,"line_end":355,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405507,"byte_end":405518,"line_start":355,"line_end":355,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405565,"byte_end":405568,"line_start":357,"line_end":357,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405558,"byte_end":405564,"line_start":357,"line_end":357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073743787}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405587,"byte_end":405591,"line_start":358,"line_end":358,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405580,"byte_end":405586,"line_start":358,"line_end":358,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743787}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405592,"byte_end":405608,"line_start":358,"line_end":358,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405623,"byte_end":405626,"line_start":359,"line_end":359,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405643,"byte_end":405650,"line_start":359,"line_end":359,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405628,"byte_end":405641,"line_start":359,"line_end":359,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405664,"byte_end":405665,"line_start":360,"line_end":360,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405680,"byte_end":405683,"line_start":360,"line_end":360,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405667,"byte_end":405678,"line_start":360,"line_end":360,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405697,"byte_end":405701,"line_start":361,"line_end":361,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405708,"byte_end":405711,"line_start":361,"line_end":361,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405703,"byte_end":405706,"line_start":361,"line_end":361,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405717,"byte_end":405725,"line_start":361,"line_end":361,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405712,"byte_end":405715,"line_start":361,"line_end":361,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405731,"byte_end":405734,"line_start":361,"line_end":361,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405726,"byte_end":405729,"line_start":361,"line_end":361,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405735,"byte_end":405751,"line_start":361,"line_end":361,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405754,"byte_end":405759,"line_start":361,"line_end":361,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405761,"byte_end":405771,"line_start":361,"line_end":361,"column_start":77,"column_end":87},"ref_id":{"krate":0,"index":1140852651}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405807,"byte_end":405815,"line_start":362,"line_end":362,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":405850,"byte_end":405861,"line_start":365,"line_end":365,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536872875}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405894,"byte_end":405898,"line_start":366,"line_end":366,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405885,"byte_end":405892,"line_start":366,"line_end":366,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405894,"byte_end":405898,"line_start":366,"line_end":366,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405885,"byte_end":405892,"line_start":366,"line_end":366,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405927,"byte_end":405930,"line_start":367,"line_end":367,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":405941,"byte_end":405944,"line_start":367,"line_end":367,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":405931,"byte_end":405939,"line_start":367,"line_end":367,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406118,"byte_end":406127,"line_start":373,"line_end":373,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406107,"byte_end":406116,"line_start":373,"line_end":373,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406128,"byte_end":406134,"line_start":373,"line_end":373,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":1073743787}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406142,"byte_end":406145,"line_start":373,"line_end":373,"column_start":83,"column_end":86},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406137,"byte_end":406140,"line_start":373,"line_end":373,"column_start":78,"column_end":81},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406167,"byte_end":406172,"line_start":373,"line_end":373,"column_start":108,"column_end":113},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406146,"byte_end":406157,"line_start":373,"line_end":373,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":536872875}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406208,"byte_end":406214,"line_start":375,"line_end":375,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406196,"byte_end":406207,"line_start":375,"line_end":375,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219691}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406215,"byte_end":406226,"line_start":375,"line_end":375,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":4043311019}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406245,"byte_end":406247,"line_start":377,"line_end":377,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406256,"byte_end":406267,"line_start":377,"line_end":377,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":134219691}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406269,"byte_end":406275,"line_start":377,"line_end":377,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":150996907}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406346,"byte_end":406349,"line_start":381,"line_end":381,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406350,"byte_end":406366,"line_start":381,"line_end":381,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406372,"byte_end":406378,"line_start":381,"line_end":381,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406395,"byte_end":406399,"line_start":382,"line_end":382,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406447,"byte_end":406450,"line_start":385,"line_end":385,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406451,"byte_end":406467,"line_start":385,"line_end":385,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406510,"byte_end":406513,"line_start":385,"line_end":385,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406514,"byte_end":406530,"line_start":385,"line_end":385,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406564,"byte_end":406567,"line_start":386,"line_end":386,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406557,"byte_end":406563,"line_start":386,"line_end":386,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1073743789}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406586,"byte_end":406590,"line_start":387,"line_end":387,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406579,"byte_end":406585,"line_start":387,"line_end":387,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743789}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406591,"byte_end":406607,"line_start":387,"line_end":387,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406622,"byte_end":406625,"line_start":388,"line_end":388,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406642,"byte_end":406649,"line_start":388,"line_end":388,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406627,"byte_end":406640,"line_start":388,"line_end":388,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406663,"byte_end":406664,"line_start":389,"line_end":389,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406679,"byte_end":406682,"line_start":389,"line_end":389,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406666,"byte_end":406677,"line_start":389,"line_end":389,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406696,"byte_end":406704,"line_start":390,"line_end":390,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406725,"byte_end":406729,"line_start":391,"line_end":391,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406736,"byte_end":406739,"line_start":391,"line_end":391,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406731,"byte_end":406734,"line_start":391,"line_end":391,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406745,"byte_end":406753,"line_start":391,"line_end":391,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406740,"byte_end":406743,"line_start":391,"line_end":391,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406759,"byte_end":406762,"line_start":391,"line_end":391,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406754,"byte_end":406757,"line_start":391,"line_end":391,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406763,"byte_end":406779,"line_start":391,"line_end":391,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406782,"byte_end":406787,"line_start":391,"line_end":391,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406789,"byte_end":406796,"line_start":391,"line_end":391,"column_start":77,"column_end":84},"ref_id":{"krate":0,"index":2952791981}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":406876,"byte_end":406886,"line_start":393,"line_end":393,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406865,"byte_end":406874,"line_start":393,"line_end":393,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406887,"byte_end":406893,"line_start":393,"line_end":393,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1073743789}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406895,"byte_end":406902,"line_start":393,"line_end":393,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":536872877}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406908,"byte_end":406913,"line_start":393,"line_end":393,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1610614701}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":406932,"byte_end":406938,"line_start":394,"line_end":394,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1375733677}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":406991,"byte_end":406997,"line_start":400,"line_end":400,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407002,"byte_end":407010,"line_start":400,"line_end":400,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407097,"byte_end":407100,"line_start":402,"line_end":402,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407085,"byte_end":407095,"line_start":402,"line_end":402,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407078,"byte_end":407083,"line_start":402,"line_end":402,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407101,"byte_end":407107,"line_start":402,"line_end":402,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874540}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407126,"byte_end":407132,"line_start":403,"line_end":403,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874540}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407149,"byte_end":407155,"line_start":403,"line_end":403,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407134,"byte_end":407141,"line_start":403,"line_end":403,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753196}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407142,"byte_end":407148,"line_start":403,"line_end":403,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407199,"byte_end":407208,"line_start":404,"line_end":404,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407187,"byte_end":407197,"line_start":404,"line_end":404,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407180,"byte_end":407185,"line_start":404,"line_end":404,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407217,"byte_end":407236,"line_start":404,"line_end":404,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407209,"byte_end":407216,"line_start":404,"line_end":404,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753196}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407257,"byte_end":407263,"line_start":405,"line_end":405,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874540}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407281,"byte_end":407287,"line_start":405,"line_end":405,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407265,"byte_end":407273,"line_start":405,"line_end":405,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699948}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407274,"byte_end":407280,"line_start":405,"line_end":405,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407297,"byte_end":407299,"line_start":406,"line_end":406,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407344,"byte_end":407350,"line_start":410,"line_end":410,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407355,"byte_end":407363,"line_start":410,"line_end":410,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407456,"byte_end":407466,"line_start":412,"line_end":412,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407449,"byte_end":407454,"line_start":412,"line_end":412,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407477,"byte_end":407483,"line_start":412,"line_end":412,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874544}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407502,"byte_end":407508,"line_start":413,"line_end":413,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874544}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407510,"byte_end":407517,"line_start":413,"line_end":413,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753200}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407588,"byte_end":407597,"line_start":414,"line_end":414,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407576,"byte_end":407586,"line_start":414,"line_end":414,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407569,"byte_end":407574,"line_start":414,"line_end":414,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407598,"byte_end":407605,"line_start":414,"line_end":414,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753200}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407646,"byte_end":407652,"line_start":415,"line_end":415,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874544}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407681,"byte_end":407690,"line_start":415,"line_end":415,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/collection/map.rs","byte_start":407670,"byte_end":407677,"line_start":415,"line_end":415,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407654,"byte_end":407662,"line_start":415,"line_end":415,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441776}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407663,"byte_end":407669,"line_start":415,"line_end":415,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407699,"byte_end":407701,"line_start":416,"line_end":416,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407762,"byte_end":407768,"line_start":420,"line_end":420,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407773,"byte_end":407781,"line_start":420,"line_end":420,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407874,"byte_end":407884,"line_start":422,"line_end":422,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407867,"byte_end":407872,"line_start":422,"line_end":422,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407895,"byte_end":407901,"line_start":422,"line_end":422,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874548}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407951,"byte_end":407958,"line_start":425,"line_end":425,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753204}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":407970,"byte_end":407974,"line_start":425,"line_end":425,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":407981,"byte_end":407987,"line_start":426,"line_end":426,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408036,"byte_end":408042,"line_start":427,"line_end":427,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547956}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408068,"byte_end":408072,"line_start":427,"line_end":427,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408106,"byte_end":408112,"line_start":428,"line_end":428,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408145,"byte_end":408151,"line_start":428,"line_end":428,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408198,"byte_end":408204,"line_start":429,"line_end":429,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408249,"byte_end":408255,"line_start":430,"line_end":430,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408271,"byte_end":408277,"line_start":431,"line_end":431,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547956}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408286,"byte_end":408290,"line_start":431,"line_end":431,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408309,"byte_end":408315,"line_start":432,"line_end":432,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547956}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408424,"byte_end":408431,"line_start":435,"line_end":435,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753204}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408443,"byte_end":408447,"line_start":435,"line_end":435,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408454,"byte_end":408460,"line_start":436,"line_end":436,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408498,"byte_end":408504,"line_start":437,"line_end":437,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408555,"byte_end":408561,"line_start":438,"line_end":438,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408587,"byte_end":408591,"line_start":438,"line_end":438,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408625,"byte_end":408631,"line_start":439,"line_end":439,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408658,"byte_end":408662,"line_start":439,"line_end":439,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408697,"byte_end":408703,"line_start":440,"line_end":440,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408748,"byte_end":408754,"line_start":441,"line_end":441,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408763,"byte_end":408767,"line_start":441,"line_end":441,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408786,"byte_end":408792,"line_start":442,"line_end":442,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408818,"byte_end":408822,"line_start":442,"line_end":442,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408856,"byte_end":408862,"line_start":443,"line_end":443,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":408889,"byte_end":408893,"line_start":443,"line_end":443,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408928,"byte_end":408934,"line_start":444,"line_end":444,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":408980,"byte_end":408986,"line_start":446,"line_end":446,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":409071,"byte_end":409077,"line_start":447,"line_end":447,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":409102,"byte_end":409106,"line_start":447,"line_end":447,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/map.rs","byte_start":409131,"byte_end":409137,"line_start":448,"line_end":448,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078452}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":409163,"byte_end":409167,"line_start":448,"line_end":448,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/map.rs","byte_start":409183,"byte_end":409185,"line_start":450,"line_end":450,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366855,"byte_end":366859,"line_start":8,"line_end":8,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1966}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409196,"byte_end":409201,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409204,"byte_end":409210,"line_start":1,"line_end":1,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409196,"byte_end":409201,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409220,"byte_end":409224,"line_start":1,"line_end":1,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409244,"byte_end":409247,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409244,"byte_end":409247,"line_start":2,"line_end":2,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409270,"byte_end":409276,"line_start":2,"line_end":2,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409270,"byte_end":409276,"line_start":2,"line_end":2,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409236,"byte_end":409241,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2742}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409313,"byte_end":409318,"line_start":2,"line_end":2,"column_start":82,"column_end":87},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409342,"byte_end":409347,"line_start":3,"line_end":3,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409359,"byte_end":409368,"line_start":3,"line_end":3,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409359,"byte_end":409368,"line_start":3,"line_end":3,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409388,"byte_end":409394,"line_start":3,"line_end":3,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409409,"byte_end":409416,"line_start":3,"line_end":3,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409430,"byte_end":409437,"line_start":3,"line_end":3,"column_start":101,"column_end":108},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409452,"byte_end":409458,"line_start":3,"line_end":3,"column_start":123,"column_end":129},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409478,"byte_end":409484,"line_start":3,"line_end":3,"column_start":149,"column_end":155},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409334,"byte_end":409339,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409478,"byte_end":409484,"line_start":3,"line_end":3,"column_start":149,"column_end":155},"ref_id":{"krate":0,"index":3736}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409518,"byte_end":409523,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409525,"byte_end":409531,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409546,"byte_end":409551,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409553,"byte_end":409558,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409569,"byte_end":409574,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409577,"byte_end":409580,"line_start":7,"line_end":7,"column_start":13,"column_end":16},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409590,"byte_end":409595,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/list.rs","byte_start":409597,"byte_end":409603,"line_start":8,"line_end":8,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409714,"byte_end":409718,"line_start":16,"line_end":16,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3638}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409733,"byte_end":409737,"line_start":17,"line_end":17,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3640}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"ref_id":{"krate":0,"index":3637}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409885,"byte_end":409896,"line_start":24,"line_end":24,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409880,"byte_end":409884,"line_start":24,"line_end":24,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872949}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409868,"byte_end":409872,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743861}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409873,"byte_end":409877,"line_start":24,"line_end":24,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3638}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":409977,"byte_end":409990,"line_start":28,"line_end":28,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409991,"byte_end":409995,"line_start":28,"line_end":28,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743862}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":409996,"byte_end":410000,"line_start":28,"line_end":28,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3638}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410099,"byte_end":410110,"line_start":32,"line_end":32,"column_start":26,"column_end":37},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410094,"byte_end":410098,"line_start":32,"line_end":32,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":536872951}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410082,"byte_end":410086,"line_start":32,"line_end":32,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743863}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410087,"byte_end":410091,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":3640}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410191,"byte_end":410204,"line_start":36,"line_end":36,"column_start":14,"column_end":27},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410205,"byte_end":410209,"line_start":36,"line_end":36,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1073743864}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410210,"byte_end":410214,"line_start":36,"line_end":36,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3640}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410304,"byte_end":410309,"line_start":43,"line_end":43,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410322,"byte_end":410331,"line_start":44,"line_end":44,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3646}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410430,"byte_end":410436,"line_start":52,"line_end":52,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410437,"byte_end":410446,"line_start":52,"line_end":52,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3644}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410462,"byte_end":410468,"line_start":53,"line_end":53,"column_start":14,"column_end":20},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410469,"byte_end":410478,"line_start":53,"line_end":53,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3644}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410527,"byte_end":410533,"line_start":56,"line_end":56,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410534,"byte_end":410543,"line_start":56,"line_end":56,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3644}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410556,"byte_end":410562,"line_start":57,"line_end":57,"column_start":11,"column_end":17},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410563,"byte_end":410572,"line_start":57,"line_end":57,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":3644}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410628,"byte_end":410637,"line_start":60,"line_end":60,"column_start":11,"column_end":20},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410424,"byte_end":410428,"line_start":52,"line_end":52,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3657}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410453,"byte_end":410460,"line_start":53,"line_end":53,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":3658}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410485,"byte_end":410490,"line_start":54,"line_end":54,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410503,"byte_end":410508,"line_start":55,"line_end":55,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410521,"byte_end":410525,"line_start":56,"line_end":56,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3661}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410550,"byte_end":410554,"line_start":57,"line_end":57,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3662}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410579,"byte_end":410588,"line_start":58,"line_end":58,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3663}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410600,"byte_end":410609,"line_start":59,"line_end":59,"column_start":5,"column_end":14},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410622,"byte_end":410626,"line_start":60,"line_end":60,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":3665}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410734,"byte_end":410743,"line_start":68,"line_end":68,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410805,"byte_end":410814,"line_start":68,"line_end":68,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410819,"byte_end":410825,"line_start":68,"line_end":68,"column_start":117,"column_end":123},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410826,"byte_end":410832,"line_start":68,"line_end":68,"column_start":124,"column_end":130},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410841,"byte_end":410847,"line_start":68,"line_end":68,"column_start":139,"column_end":145},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410848,"byte_end":410857,"line_start":68,"line_end":68,"column_start":146,"column_end":155},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410862,"byte_end":410870,"line_start":68,"line_end":68,"column_start":160,"column_end":168},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":410916,"byte_end":410925,"line_start":69,"line_end":69,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410904,"byte_end":410915,"line_start":69,"line_end":69,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410926,"byte_end":410932,"line_start":69,"line_end":69,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":410949,"byte_end":410954,"line_start":71,"line_end":71,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410970,"byte_end":410972,"line_start":71,"line_end":71,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":410973,"byte_end":410977,"line_start":71,"line_end":71,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411021,"byte_end":411031,"line_start":73,"line_end":73,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411014,"byte_end":411020,"line_start":73,"line_end":73,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411032,"byte_end":411043,"line_start":73,"line_end":73,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411044,"byte_end":411055,"line_start":73,"line_end":73,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411057,"byte_end":411061,"line_start":73,"line_end":73,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411072,"byte_end":411088,"line_start":73,"line_end":73,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411118,"byte_end":411122,"line_start":75,"line_end":75,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2617247738}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411123,"byte_end":411128,"line_start":75,"line_end":75,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411142,"byte_end":411154,"line_start":77,"line_end":77,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":268437498}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411176,"byte_end":411178,"line_start":78,"line_end":78,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411179,"byte_end":411183,"line_start":78,"line_end":78,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411185,"byte_end":411190,"line_start":78,"line_end":78,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411192,"byte_end":411196,"line_start":78,"line_end":78,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411208,"byte_end":411211,"line_start":78,"line_end":78,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411197,"byte_end":411206,"line_start":78,"line_end":78,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411215,"byte_end":411224,"line_start":78,"line_end":78,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411226,"byte_end":411237,"line_start":78,"line_end":78,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411238,"byte_end":411249,"line_start":78,"line_end":78,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411335,"byte_end":411349,"line_start":82,"line_end":82,"column_start":25,"column_end":39},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411322,"byte_end":411332,"line_start":82,"line_end":82,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1744832506}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411374,"byte_end":411383,"line_start":83,"line_end":83,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1610614778}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411408,"byte_end":411417,"line_start":84,"line_end":84,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":2053}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411419,"byte_end":411430,"line_start":84,"line_end":84,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411432,"byte_end":411438,"line_start":84,"line_end":84,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411486,"byte_end":411488,"line_start":86,"line_end":86,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411489,"byte_end":411493,"line_start":86,"line_end":86,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411495,"byte_end":411500,"line_start":86,"line_end":86,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411502,"byte_end":411506,"line_start":86,"line_end":86,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411582,"byte_end":411590,"line_start":91,"line_end":91,"column_start":19,"column_end":27},"ref_id":{"krate":0,"index":2056}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411604,"byte_end":411618,"line_start":91,"line_end":91,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411591,"byte_end":411601,"line_start":91,"line_end":91,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":1744832506}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411631,"byte_end":411637,"line_start":91,"line_end":91,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411697,"byte_end":411705,"line_start":95,"line_end":95,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411685,"byte_end":411694,"line_start":95,"line_end":95,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411756,"byte_end":411769,"line_start":96,"line_end":96,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411749,"byte_end":411755,"line_start":96,"line_end":96,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411844,"byte_end":411847,"line_start":97,"line_end":97,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":411833,"byte_end":411842,"line_start":97,"line_end":97,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411848,"byte_end":411863,"line_start":97,"line_end":97,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":3405776890}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411865,"byte_end":411874,"line_start":97,"line_end":97,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411876,"byte_end":411887,"line_start":97,"line_end":97,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411888,"byte_end":411899,"line_start":97,"line_end":97,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":411948,"byte_end":411961,"line_start":98,"line_end":98,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411937,"byte_end":411947,"line_start":98,"line_end":98,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1191184378}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411962,"byte_end":411968,"line_start":98,"line_end":98,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412000,"byte_end":412009,"line_start":99,"line_end":99,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":411983,"byte_end":411999,"line_start":99,"line_end":99,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3607103482}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412010,"byte_end":412015,"line_start":99,"line_end":99,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412049,"byte_end":412057,"line_start":100,"line_end":100,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412037,"byte_end":412046,"line_start":100,"line_end":100,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412058,"byte_end":412073,"line_start":100,"line_end":100,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3405776890}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412107,"byte_end":412115,"line_start":101,"line_end":101,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412095,"byte_end":412104,"line_start":101,"line_end":101,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412116,"byte_end":412131,"line_start":101,"line_end":101,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3405776890}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412160,"byte_end":412162,"line_start":102,"line_end":102,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412163,"byte_end":412167,"line_start":102,"line_end":102,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412169,"byte_end":412174,"line_start":102,"line_end":102,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412176,"byte_end":412180,"line_start":102,"line_end":102,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412181,"byte_end":412191,"line_start":102,"line_end":102,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1191184378}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412246,"byte_end":412249,"line_start":106,"line_end":106,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412235,"byte_end":412244,"line_start":106,"line_end":106,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412262,"byte_end":412270,"line_start":106,"line_end":106,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412250,"byte_end":412259,"line_start":106,"line_end":106,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412283,"byte_end":412292,"line_start":106,"line_end":106,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412294,"byte_end":412305,"line_start":106,"line_end":106,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412306,"byte_end":412317,"line_start":106,"line_end":106,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412369,"byte_end":412378,"line_start":108,"line_end":108,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412351,"byte_end":412360,"line_start":108,"line_end":108,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412346,"byte_end":412350,"line_start":108,"line_end":108,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3430942714}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412361,"byte_end":412367,"line_start":108,"line_end":108,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412403,"byte_end":412413,"line_start":110,"line_end":110,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":2189428730}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412416,"byte_end":412421,"line_start":110,"line_end":110,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536872954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412508,"byte_end":412521,"line_start":111,"line_end":111,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412501,"byte_end":412507,"line_start":111,"line_end":111,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412596,"byte_end":412599,"line_start":112,"line_end":112,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412585,"byte_end":412594,"line_start":112,"line_end":112,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412600,"byte_end":412615,"line_start":112,"line_end":112,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":3330279418}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412617,"byte_end":412626,"line_start":112,"line_end":112,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412628,"byte_end":412639,"line_start":112,"line_end":112,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412640,"byte_end":412651,"line_start":112,"line_end":112,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412700,"byte_end":412713,"line_start":113,"line_end":113,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412689,"byte_end":412699,"line_start":113,"line_end":113,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1317013498}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412714,"byte_end":412720,"line_start":113,"line_end":113,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412752,"byte_end":412761,"line_start":114,"line_end":114,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412735,"byte_end":412751,"line_start":114,"line_end":114,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3732932602}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412762,"byte_end":412767,"line_start":114,"line_end":114,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412806,"byte_end":412819,"line_start":115,"line_end":115,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412789,"byte_end":412805,"line_start":115,"line_end":115,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":3732932602}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412820,"byte_end":412824,"line_start":115,"line_end":115,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3430942714}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412825,"byte_end":412834,"line_start":115,"line_end":115,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":412868,"byte_end":412876,"line_start":116,"line_end":116,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412856,"byte_end":412865,"line_start":116,"line_end":116,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412877,"byte_end":412892,"line_start":116,"line_end":116,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":3330279418}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412921,"byte_end":412923,"line_start":117,"line_end":117,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412924,"byte_end":412928,"line_start":117,"line_end":117,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412930,"byte_end":412935,"line_start":117,"line_end":117,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":412937,"byte_end":412941,"line_start":117,"line_end":117,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412942,"byte_end":412952,"line_start":117,"line_end":117,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":1317013498}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412975,"byte_end":412985,"line_start":118,"line_end":118,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2189428730}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":412989,"byte_end":412994,"line_start":118,"line_end":118,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413042,"byte_end":413044,"line_start":119,"line_end":119,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413045,"byte_end":413049,"line_start":119,"line_end":119,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413051,"byte_end":413056,"line_start":119,"line_end":119,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413058,"byte_end":413062,"line_start":119,"line_end":119,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413063,"byte_end":413067,"line_start":119,"line_end":119,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3430942714}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413164,"byte_end":413167,"line_start":123,"line_end":123,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413153,"byte_end":413162,"line_start":123,"line_end":123,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413180,"byte_end":413188,"line_start":123,"line_end":123,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":2040}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413168,"byte_end":413177,"line_start":123,"line_end":123,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413201,"byte_end":413210,"line_start":123,"line_end":123,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413212,"byte_end":413223,"line_start":123,"line_end":123,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413224,"byte_end":413235,"line_start":123,"line_end":123,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413274,"byte_end":413287,"line_start":125,"line_end":125,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413269,"byte_end":413273,"line_start":125,"line_end":125,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3682600954}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413288,"byte_end":413294,"line_start":125,"line_end":125,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413337,"byte_end":413346,"line_start":126,"line_end":126,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1655}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413324,"byte_end":413334,"line_start":126,"line_end":126,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3883927546}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413371,"byte_end":413381,"line_start":128,"line_end":128,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1333790714}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413384,"byte_end":413389,"line_start":128,"line_end":128,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536872954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413457,"byte_end":413470,"line_start":129,"line_end":129,"column_start":42,"column_end":55},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413450,"byte_end":413456,"line_start":129,"line_end":129,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413545,"byte_end":413548,"line_start":130,"line_end":130,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413534,"byte_end":413543,"line_start":130,"line_end":130,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413549,"byte_end":413564,"line_start":130,"line_end":130,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":675284986}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413566,"byte_end":413575,"line_start":130,"line_end":130,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":4227860474}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413577,"byte_end":413588,"line_start":130,"line_end":130,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413589,"byte_end":413600,"line_start":130,"line_end":130,"column_start":85,"column_end":96},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413649,"byte_end":413662,"line_start":131,"line_end":131,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413638,"byte_end":413648,"line_start":131,"line_end":131,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":3292530682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413663,"byte_end":413669,"line_start":131,"line_end":131,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413701,"byte_end":413710,"line_start":132,"line_end":132,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413684,"byte_end":413700,"line_start":132,"line_end":132,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":876611578}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413711,"byte_end":413716,"line_start":132,"line_end":132,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":536872954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413751,"byte_end":413764,"line_start":133,"line_end":133,"column_start":26,"column_end":39},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413738,"byte_end":413748,"line_start":133,"line_end":133,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3883927546}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413765,"byte_end":413780,"line_start":133,"line_end":133,"column_start":40,"column_end":55},"ref_id":{"krate":0,"index":675284986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":413814,"byte_end":413822,"line_start":134,"line_end":134,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413802,"byte_end":413811,"line_start":134,"line_end":134,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4110419962}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413823,"byte_end":413838,"line_start":134,"line_end":134,"column_start":34,"column_end":49},"ref_id":{"krate":0,"index":675284986}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413867,"byte_end":413869,"line_start":135,"line_end":135,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413870,"byte_end":413874,"line_start":135,"line_end":135,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413876,"byte_end":413881,"line_start":135,"line_end":135,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413883,"byte_end":413887,"line_start":135,"line_end":135,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413888,"byte_end":413898,"line_start":135,"line_end":135,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3292530682}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413921,"byte_end":413931,"line_start":136,"line_end":136,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":1333790714}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413935,"byte_end":413940,"line_start":136,"line_end":136,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413988,"byte_end":413990,"line_start":137,"line_end":137,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":413991,"byte_end":413995,"line_start":137,"line_end":137,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":413997,"byte_end":414002,"line_start":137,"line_end":137,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414004,"byte_end":414008,"line_start":137,"line_end":137,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414009,"byte_end":414013,"line_start":137,"line_end":137,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3682600954}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414109,"byte_end":414117,"line_start":141,"line_end":141,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414119,"byte_end":414130,"line_start":141,"line_end":141,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":1073743866}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414132,"byte_end":414138,"line_start":141,"line_end":141,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414147,"byte_end":414157,"line_start":141,"line_end":141,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":2189428730}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414214,"byte_end":414223,"line_start":143,"line_end":143,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414229,"byte_end":414238,"line_start":143,"line_end":143,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":1363150842}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414240,"byte_end":414246,"line_start":143,"line_end":143,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414188,"byte_end":414192,"line_start":143,"line_end":143,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414265,"byte_end":414270,"line_start":144,"line_end":144,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":536872954}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414274,"byte_end":414277,"line_start":144,"line_end":144,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2973763578}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414324,"byte_end":414328,"line_start":145,"line_end":145,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1900021754}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414303,"byte_end":414307,"line_start":145,"line_end":145,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414379,"byte_end":414381,"line_start":146,"line_end":146,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414382,"byte_end":414386,"line_start":146,"line_end":146,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414388,"byte_end":414393,"line_start":146,"line_end":146,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414395,"byte_end":414399,"line_start":146,"line_end":146,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414400,"byte_end":414412,"line_start":146,"line_end":146,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":624953338}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414498,"byte_end":414500,"line_start":148,"line_end":148,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414501,"byte_end":414505,"line_start":148,"line_end":148,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414507,"byte_end":414512,"line_start":148,"line_end":148,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":536872954}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414514,"byte_end":414518,"line_start":148,"line_end":148,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414529,"byte_end":414546,"line_start":148,"line_end":148,"column_start":59,"column_end":76},"ref_id":{"krate":0,"index":2049}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414519,"byte_end":414528,"line_start":148,"line_end":148,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":1363150842}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414547,"byte_end":414553,"line_start":148,"line_end":148,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":1342179322}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414646,"byte_end":414649,"line_start":154,"line_end":154,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414660,"byte_end":414671,"line_start":154,"line_end":154,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414650,"byte_end":414658,"line_start":154,"line_end":154,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414747,"byte_end":414756,"line_start":159,"line_end":159,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414761,"byte_end":414767,"line_start":159,"line_end":159,"column_start":59,"column_end":65},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414768,"byte_end":414777,"line_start":159,"line_end":159,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":414779,"byte_end":414787,"line_start":159,"line_end":159,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414827,"byte_end":414835,"line_start":161,"line_end":161,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":2056}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414864,"byte_end":414878,"line_start":161,"line_end":161,"column_start":73,"column_end":87},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414846,"byte_end":414855,"line_start":161,"line_end":161,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414836,"byte_end":414840,"line_start":161,"line_end":161,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414841,"byte_end":414845,"line_start":161,"line_end":161,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414856,"byte_end":414862,"line_start":161,"line_end":161,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":536872961}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414891,"byte_end":414897,"line_start":161,"line_end":161,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":536872961}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":414940,"byte_end":414953,"line_start":163,"line_end":163,"column_start":38,"column_end":51},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":414933,"byte_end":414939,"line_start":163,"line_end":163,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":536872961}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415024,"byte_end":415027,"line_start":164,"line_end":164,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415013,"byte_end":415022,"line_start":164,"line_end":164,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415028,"byte_end":415043,"line_start":164,"line_end":164,"column_start":41,"column_end":56},"ref_id":{"krate":0,"index":2617247745}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415045,"byte_end":415049,"line_start":164,"line_end":164,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415050,"byte_end":415059,"line_start":164,"line_end":164,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415061,"byte_end":415065,"line_start":164,"line_end":164,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415066,"byte_end":415070,"line_start":164,"line_end":164,"column_start":79,"column_end":83},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415071,"byte_end":415082,"line_start":164,"line_end":164,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415132,"byte_end":415145,"line_start":165,"line_end":165,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415121,"byte_end":415131,"line_start":165,"line_end":165,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":1375733761}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415146,"byte_end":415152,"line_start":165,"line_end":165,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":536872961}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415184,"byte_end":415193,"line_start":166,"line_end":166,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415165,"byte_end":415181,"line_start":166,"line_end":166,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":1778386945}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415194,"byte_end":415198,"line_start":166,"line_end":166,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415199,"byte_end":415204,"line_start":166,"line_end":166,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415251,"byte_end":415255,"line_start":169,"line_end":169,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415256,"byte_end":415263,"line_start":169,"line_end":169,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3658}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415235,"byte_end":415239,"line_start":169,"line_end":169,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415368,"byte_end":415371,"line_start":172,"line_end":172,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415357,"byte_end":415366,"line_start":172,"line_end":172,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415372,"byte_end":415379,"line_start":172,"line_end":172,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3858761729}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415380,"byte_end":415389,"line_start":172,"line_end":172,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415391,"byte_end":415395,"line_start":172,"line_end":172,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415396,"byte_end":415405,"line_start":172,"line_end":172,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415407,"byte_end":415411,"line_start":172,"line_end":172,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415412,"byte_end":415416,"line_start":172,"line_end":172,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415417,"byte_end":415428,"line_start":172,"line_end":172,"column_start":91,"column_end":102},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415479,"byte_end":415492,"line_start":173,"line_end":173,"column_start":49,"column_end":62},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415467,"byte_end":415478,"line_start":173,"line_end":173,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":2113931265}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415493,"byte_end":415499,"line_start":173,"line_end":173,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":536872961}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415532,"byte_end":415545,"line_start":174,"line_end":174,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415514,"byte_end":415531,"line_start":174,"line_end":174,"column_start":13,"column_end":30},"ref_id":{"krate":0,"index":3774875649}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415546,"byte_end":415561,"line_start":174,"line_end":174,"column_start":45,"column_end":60},"ref_id":{"krate":0,"index":2617247745}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415604,"byte_end":415608,"line_start":176,"line_end":176,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743873}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415609,"byte_end":415613,"line_start":176,"line_end":176,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415591,"byte_end":415595,"line_start":176,"line_end":176,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415651,"byte_end":415664,"line_start":177,"line_end":177,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415632,"byte_end":415648,"line_start":177,"line_end":177,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":1778386945}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415665,"byte_end":415669,"line_start":177,"line_end":177,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":687867905}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415670,"byte_end":415679,"line_start":177,"line_end":177,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3646}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":415754,"byte_end":415762,"line_start":179,"line_end":179,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415742,"byte_end":415751,"line_start":179,"line_end":179,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3087009793}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415763,"byte_end":415778,"line_start":179,"line_end":179,"column_start":38,"column_end":53},"ref_id":{"krate":0,"index":2617247745}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415815,"byte_end":415817,"line_start":182,"line_end":182,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":415818,"byte_end":415828,"line_start":182,"line_end":182,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":1375733761}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415859,"byte_end":415862,"line_start":184,"line_end":184,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415873,"byte_end":415884,"line_start":184,"line_end":184,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415863,"byte_end":415871,"line_start":184,"line_end":184,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415967,"byte_end":415976,"line_start":189,"line_end":189,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":415993,"byte_end":416002,"line_start":189,"line_end":189,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416007,"byte_end":416013,"line_start":189,"line_end":189,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416018,"byte_end":416026,"line_start":189,"line_end":189,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416061,"byte_end":416074,"line_start":190,"line_end":190,"column_start":32,"column_end":45},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416054,"byte_end":416060,"line_start":190,"line_end":190,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536872965}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416135,"byte_end":416148,"line_start":191,"line_end":191,"column_start":33,"column_end":46},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416123,"byte_end":416134,"line_start":191,"line_end":191,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":1073743877}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416149,"byte_end":416155,"line_start":191,"line_end":191,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536872965}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416172,"byte_end":416186,"line_start":192,"line_end":192,"column_start":15,"column_end":29},"ref_id":{"krate":0,"index":1651}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416166,"byte_end":416171,"line_start":192,"line_end":192,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2483030021}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416187,"byte_end":416196,"line_start":192,"line_end":192,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":67110917}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416214,"byte_end":416216,"line_start":193,"line_end":193,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416323,"byte_end":416332,"line_start":197,"line_end":197,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416348,"byte_end":416361,"line_start":197,"line_end":197,"column_start":99,"column_end":112},"ref_id":{"krate":0,"index":3637}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416375,"byte_end":416397,"line_start":198,"line_end":198,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":1073743880}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416420,"byte_end":416423,"line_start":198,"line_end":198,"column_start":57,"column_end":60},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416407,"byte_end":416417,"line_start":198,"line_end":198,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416400,"byte_end":416406,"line_start":198,"line_end":198,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":536872968}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416487,"byte_end":416493,"line_start":199,"line_end":199,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416473,"byte_end":416484,"line_start":199,"line_end":199,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416466,"byte_end":416472,"line_start":199,"line_end":199,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872968}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416504,"byte_end":416517,"line_start":199,"line_end":199,"column_start":67,"column_end":80},"ref_id":{"krate":0,"index":3637}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416616,"byte_end":416619,"line_start":201,"line_end":201,"column_start":59,"column_end":62},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416607,"byte_end":416613,"line_start":201,"line_end":201,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":11506}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416593,"byte_end":416604,"line_start":201,"line_end":201,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416586,"byte_end":416592,"line_start":201,"line_end":201,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872968}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416620,"byte_end":416642,"line_start":201,"line_end":201,"column_start":63,"column_end":85},"ref_id":{"krate":0,"index":1073743880}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416661,"byte_end":416674,"line_start":201,"line_end":201,"column_start":104,"column_end":117},"ref_id":{"krate":0,"index":3637}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416751,"byte_end":416760,"line_start":206,"line_end":206,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":416771,"byte_end":416780,"line_start":206,"line_end":206,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4126}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416865,"byte_end":416874,"line_start":208,"line_end":208,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416853,"byte_end":416864,"line_start":208,"line_end":208,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416875,"byte_end":416881,"line_start":208,"line_end":208,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536872970}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416915,"byte_end":416929,"line_start":210,"line_end":210,"column_start":31,"column_end":45},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416909,"byte_end":416914,"line_start":210,"line_end":210,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2281703434}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":416982,"byte_end":416992,"line_start":212,"line_end":212,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416975,"byte_end":416981,"line_start":212,"line_end":212,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872970}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":416993,"byte_end":417004,"line_start":212,"line_end":212,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417005,"byte_end":417016,"line_start":212,"line_end":212,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417018,"byte_end":417022,"line_start":212,"line_end":212,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417033,"byte_end":417049,"line_start":212,"line_end":212,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417079,"byte_end":417083,"line_start":214,"line_end":214,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4093642762}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417084,"byte_end":417089,"line_start":214,"line_end":214,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417126,"byte_end":417137,"line_start":216,"line_end":216,"column_start":35,"column_end":46},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417119,"byte_end":417125,"line_start":216,"line_end":216,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872970}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417153,"byte_end":417162,"line_start":218,"line_end":218,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3623880714}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417170,"byte_end":417179,"line_start":218,"line_end":218,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3623880714}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417196,"byte_end":417199,"line_start":218,"line_end":218,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417183,"byte_end":417195,"line_start":218,"line_end":218,"column_start":42,"column_end":54},"ref_id":{"krate":0,"index":1006635018}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417272,"byte_end":417275,"line_start":220,"line_end":220,"column_start":63,"column_end":66},"ref_id":{"krate":1,"index":2401}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417263,"byte_end":417269,"line_start":220,"line_end":220,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":11506}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417250,"byte_end":417262,"line_start":220,"line_end":220,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":1006635018}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417276,"byte_end":417285,"line_start":220,"line_end":220,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":3623880714}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417295,"byte_end":417308,"line_start":220,"line_end":220,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":3637}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417348,"byte_end":417356,"line_start":222,"line_end":222,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2040}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417342,"byte_end":417347,"line_start":222,"line_end":222,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":2046822410}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417385,"byte_end":417394,"line_start":224,"line_end":224,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":369100810}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417461,"byte_end":417464,"line_start":226,"line_end":226,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417450,"byte_end":417459,"line_start":226,"line_end":226,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417465,"byte_end":417474,"line_start":226,"line_end":226,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":369100810}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417476,"byte_end":417485,"line_start":226,"line_end":226,"column_start":61,"column_end":70},"ref_id":{"krate":0,"index":2885683210}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417487,"byte_end":417498,"line_start":226,"line_end":226,"column_start":72,"column_end":83},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417499,"byte_end":417510,"line_start":226,"line_end":226,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417558,"byte_end":417561,"line_start":227,"line_end":227,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417547,"byte_end":417556,"line_start":227,"line_end":227,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417568,"byte_end":417576,"line_start":227,"line_end":227,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417562,"byte_end":417567,"line_start":227,"line_end":227,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":2046822410}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417589,"byte_end":417598,"line_start":227,"line_end":227,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":2885683210}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417600,"byte_end":417611,"line_start":227,"line_end":227,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417612,"byte_end":417623,"line_start":227,"line_end":227,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417666,"byte_end":417670,"line_start":229,"line_end":229,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417693,"byte_end":417700,"line_start":230,"line_end":230,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3658}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417702,"byte_end":417706,"line_start":230,"line_end":230,"column_start":30,"column_end":34},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417728,"byte_end":417733,"line_start":231,"line_end":231,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417758,"byte_end":417762,"line_start":232,"line_end":232,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417764,"byte_end":417768,"line_start":232,"line_end":232,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417769,"byte_end":417778,"line_start":232,"line_end":232,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3644}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417781,"byte_end":417786,"line_start":232,"line_end":232,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3645}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417818,"byte_end":417827,"line_start":232,"line_end":232,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417800,"byte_end":417809,"line_start":232,"line_end":232,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417788,"byte_end":417799,"line_start":232,"line_end":232,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":150997002}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417810,"byte_end":417816,"line_start":232,"line_end":232,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872970}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417840,"byte_end":417849,"line_start":232,"line_end":232,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417851,"byte_end":417862,"line_start":232,"line_end":232,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":150997002}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417863,"byte_end":417872,"line_start":232,"line_end":232,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417896,"byte_end":417900,"line_start":233,"line_end":233,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417902,"byte_end":417906,"line_start":233,"line_end":233,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":417907,"byte_end":417916,"line_start":233,"line_end":233,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3644}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417919,"byte_end":417924,"line_start":233,"line_end":233,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3645}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417956,"byte_end":417965,"line_start":233,"line_end":233,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":417938,"byte_end":417947,"line_start":233,"line_end":233,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417926,"byte_end":417937,"line_start":233,"line_end":233,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":150997002}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417948,"byte_end":417954,"line_start":233,"line_end":233,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872970}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417978,"byte_end":417987,"line_start":233,"line_end":233,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":417989,"byte_end":418000,"line_start":233,"line_end":233,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":150997002}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418001,"byte_end":418010,"line_start":233,"line_end":233,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418034,"byte_end":418038,"line_start":234,"line_end":234,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418040,"byte_end":418044,"line_start":234,"line_end":234,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418045,"byte_end":418054,"line_start":234,"line_end":234,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3644}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418057,"byte_end":418062,"line_start":234,"line_end":234,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3645}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418094,"byte_end":418103,"line_start":234,"line_end":234,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418076,"byte_end":418085,"line_start":234,"line_end":234,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418064,"byte_end":418075,"line_start":234,"line_end":234,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1040189450}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418086,"byte_end":418092,"line_start":234,"line_end":234,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":536872970}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418116,"byte_end":418125,"line_start":234,"line_end":234,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418127,"byte_end":418138,"line_start":234,"line_end":234,"column_start":114,"column_end":125},"ref_id":{"krate":0,"index":1040189450}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418139,"byte_end":418148,"line_start":234,"line_end":234,"column_start":126,"column_end":135},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418172,"byte_end":418181,"line_start":235,"line_end":235,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3663}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418172,"byte_end":418181,"line_start":235,"line_end":235,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1610614794}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418203,"byte_end":418208,"line_start":236,"line_end":236,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418210,"byte_end":418224,"line_start":236,"line_end":236,"column_start":28,"column_end":42},"ref_id":{"krate":0,"index":268437514}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418246,"byte_end":418255,"line_start":237,"line_end":237,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418246,"byte_end":418255,"line_start":237,"line_end":237,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":2885683210}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418277,"byte_end":418281,"line_start":238,"line_end":238,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3665}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418295,"byte_end":418300,"line_start":238,"line_end":238,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418283,"byte_end":418294,"line_start":238,"line_end":238,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418366,"byte_end":418370,"line_start":243,"line_end":243,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418385,"byte_end":418392,"line_start":244,"line_end":244,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3658}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418394,"byte_end":418398,"line_start":244,"line_end":244,"column_start":22,"column_end":26},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418412,"byte_end":418416,"line_start":245,"line_end":245,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3662}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418418,"byte_end":418422,"line_start":245,"line_end":245,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418436,"byte_end":418440,"line_start":246,"line_end":246,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3661}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418442,"byte_end":418446,"line_start":246,"line_end":246,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418460,"byte_end":418465,"line_start":247,"line_end":247,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418482,"byte_end":418491,"line_start":248,"line_end":248,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3663}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418482,"byte_end":418491,"line_start":248,"line_end":248,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":1610614794}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418505,"byte_end":418510,"line_start":249,"line_end":249,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418512,"byte_end":418526,"line_start":249,"line_end":249,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":268437514}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418540,"byte_end":418549,"line_start":250,"line_end":250,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418540,"byte_end":418549,"line_start":250,"line_end":250,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2885683210}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418563,"byte_end":418567,"line_start":251,"line_end":251,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3665}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":418581,"byte_end":418586,"line_start":251,"line_end":251,"column_start":31,"column_end":36},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418569,"byte_end":418580,"line_start":251,"line_end":251,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":1073743882}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418602,"byte_end":418606,"line_start":252,"line_end":252,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418608,"byte_end":418612,"line_start":252,"line_end":252,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418694,"byte_end":418703,"line_start":257,"line_end":257,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418708,"byte_end":418714,"line_start":257,"line_end":257,"column_start":56,"column_end":62},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418723,"byte_end":418729,"line_start":257,"line_end":257,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418730,"byte_end":418739,"line_start":257,"line_end":257,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418757,"byte_end":418761,"line_start":259,"line_end":259,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418762,"byte_end":418767,"line_start":259,"line_end":259,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418775,"byte_end":418778,"line_start":259,"line_end":259,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418809,"byte_end":418813,"line_start":260,"line_end":260,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418834,"byte_end":418838,"line_start":263,"line_end":263,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418839,"byte_end":418844,"line_start":263,"line_end":263,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3660}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418866,"byte_end":418870,"line_start":265,"line_end":265,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418871,"byte_end":418875,"line_start":265,"line_end":265,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418890,"byte_end":418894,"line_start":266,"line_end":266,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":418890,"byte_end":418894,"line_start":266,"line_end":266,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418926,"byte_end":418930,"line_start":268,"line_end":268,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418931,"byte_end":418940,"line_start":268,"line_end":268,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3663}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418978,"byte_end":418982,"line_start":269,"line_end":269,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418983,"byte_end":418987,"line_start":269,"line_end":269,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":3657}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418963,"byte_end":418967,"line_start":269,"line_end":269,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":418968,"byte_end":418975,"line_start":269,"line_end":269,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3658}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419038,"byte_end":419041,"line_start":270,"line_end":270,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419027,"byte_end":419036,"line_start":270,"line_end":270,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419042,"byte_end":419046,"line_start":270,"line_end":270,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":3288336395}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419047,"byte_end":419056,"line_start":270,"line_end":270,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419058,"byte_end":419062,"line_start":270,"line_end":270,"column_start":70,"column_end":74},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419063,"byte_end":419072,"line_start":270,"line_end":270,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419074,"byte_end":419078,"line_start":270,"line_end":270,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419079,"byte_end":419083,"line_start":270,"line_end":270,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419084,"byte_end":419095,"line_start":270,"line_end":270,"column_start":96,"column_end":107},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419147,"byte_end":419156,"line_start":271,"line_end":271,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419135,"byte_end":419146,"line_start":271,"line_end":271,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":3254781963}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419157,"byte_end":419163,"line_start":271,"line_end":271,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419213,"byte_end":419226,"line_start":272,"line_end":272,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419202,"byte_end":419212,"line_start":272,"line_end":272,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":838862859}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419283,"byte_end":419292,"line_start":273,"line_end":273,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1655}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419272,"byte_end":419282,"line_start":273,"line_end":273,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":838862859}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419259,"byte_end":419263,"line_start":273,"line_end":273,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419264,"byte_end":419269,"line_start":273,"line_end":273,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419329,"byte_end":419338,"line_start":275,"line_end":275,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1778386955}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419399,"byte_end":419402,"line_start":276,"line_end":276,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419388,"byte_end":419397,"line_start":276,"line_end":276,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419403,"byte_end":419412,"line_start":276,"line_end":276,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1778386955}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419414,"byte_end":419418,"line_start":276,"line_end":276,"column_start":69,"column_end":73},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419419,"byte_end":419428,"line_start":276,"line_end":276,"column_start":74,"column_end":83},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419430,"byte_end":419434,"line_start":276,"line_end":276,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419435,"byte_end":419439,"line_start":276,"line_end":276,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419440,"byte_end":419451,"line_start":276,"line_end":276,"column_start":95,"column_end":106},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419525,"byte_end":419534,"line_start":277,"line_end":277,"column_start":72,"column_end":81},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":419507,"byte_end":419516,"line_start":277,"line_end":277,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419495,"byte_end":419506,"line_start":277,"line_end":277,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":503318539}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419517,"byte_end":419523,"line_start":277,"line_end":277,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872971}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419583,"byte_end":419587,"line_start":278,"line_end":278,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419588,"byte_end":419597,"line_start":278,"line_end":278,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3644}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419600,"byte_end":419605,"line_start":278,"line_end":278,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419607,"byte_end":419617,"line_start":278,"line_end":278,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":1627392011}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419619,"byte_end":419628,"line_start":278,"line_end":278,"column_start":73,"column_end":82},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419630,"byte_end":419639,"line_start":278,"line_end":278,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":1778386955}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419571,"byte_end":419575,"line_start":278,"line_end":278,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419576,"byte_end":419580,"line_start":278,"line_end":278,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419709,"byte_end":419713,"line_start":280,"line_end":280,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419697,"byte_end":419701,"line_start":280,"line_end":280,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419702,"byte_end":419706,"line_start":280,"line_end":280,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419757,"byte_end":419761,"line_start":282,"line_end":282,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419763,"byte_end":419767,"line_start":282,"line_end":282,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419768,"byte_end":419773,"line_start":282,"line_end":282,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3659}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419775,"byte_end":419779,"line_start":282,"line_end":282,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419780,"byte_end":419791,"line_start":282,"line_end":282,"column_start":44,"column_end":55},"ref_id":{"krate":0,"index":3254781963}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419844,"byte_end":419848,"line_start":285,"line_end":285,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":3288336395}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419849,"byte_end":419854,"line_start":285,"line_end":285,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419857,"byte_end":419861,"line_start":285,"line_end":285,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419862,"byte_end":419867,"line_start":285,"line_end":285,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419894,"byte_end":419898,"line_start":286,"line_end":286,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419899,"byte_end":419904,"line_start":286,"line_end":286,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3659}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419935,"byte_end":419939,"line_start":287,"line_end":287,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419941,"byte_end":419945,"line_start":287,"line_end":287,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419946,"byte_end":419951,"line_start":287,"line_end":287,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3659}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":419957,"byte_end":419961,"line_start":287,"line_end":287,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419994,"byte_end":419998,"line_start":288,"line_end":288,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":3288336395}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":419999,"byte_end":420004,"line_start":288,"line_end":288,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420008,"byte_end":420012,"line_start":288,"line_end":288,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420013,"byte_end":420018,"line_start":288,"line_end":288,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420060,"byte_end":420064,"line_start":289,"line_end":289,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420065,"byte_end":420069,"line_start":289,"line_end":289,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3657}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420045,"byte_end":420049,"line_start":289,"line_end":289,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420050,"byte_end":420057,"line_start":289,"line_end":289,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":3658}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420124,"byte_end":420127,"line_start":290,"line_end":290,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420113,"byte_end":420122,"line_start":290,"line_end":290,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420128,"byte_end":420132,"line_start":290,"line_end":290,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":3288336395}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420133,"byte_end":420142,"line_start":290,"line_end":290,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420144,"byte_end":420148,"line_start":290,"line_end":290,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420149,"byte_end":420158,"line_start":290,"line_end":290,"column_start":79,"column_end":88},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420160,"byte_end":420164,"line_start":290,"line_end":290,"column_start":90,"column_end":94},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420165,"byte_end":420169,"line_start":290,"line_end":290,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420170,"byte_end":420181,"line_start":290,"line_end":290,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420237,"byte_end":420246,"line_start":291,"line_end":291,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420225,"byte_end":420236,"line_start":291,"line_end":291,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":1996490763}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420247,"byte_end":420253,"line_start":291,"line_end":291,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536872971}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420308,"byte_end":420321,"line_start":293,"line_end":293,"column_start":52,"column_end":65},"ref_id":{"krate":0,"index":1652}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420297,"byte_end":420307,"line_start":293,"line_end":293,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":4009756683}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420358,"byte_end":420362,"line_start":294,"line_end":294,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420363,"byte_end":420368,"line_start":294,"line_end":294,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3659}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420407,"byte_end":420416,"line_start":296,"line_end":296,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":2155874315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420481,"byte_end":420484,"line_start":297,"line_end":297,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420470,"byte_end":420479,"line_start":297,"line_end":297,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420485,"byte_end":420494,"line_start":297,"line_end":297,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2155874315}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420496,"byte_end":420500,"line_start":297,"line_end":297,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420501,"byte_end":420510,"line_start":297,"line_end":297,"column_start":78,"column_end":87},"ref_id":{"krate":0,"index":3664}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420512,"byte_end":420516,"line_start":297,"line_end":297,"column_start":89,"column_end":93},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420517,"byte_end":420521,"line_start":297,"line_end":297,"column_start":94,"column_end":98},"ref_id":{"krate":0,"index":3665}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420522,"byte_end":420533,"line_start":297,"line_end":297,"column_start":99,"column_end":110},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420611,"byte_end":420620,"line_start":298,"line_end":298,"column_start":76,"column_end":85},"ref_id":{"krate":0,"index":1655}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":420593,"byte_end":420602,"line_start":298,"line_end":298,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420581,"byte_end":420592,"line_start":298,"line_end":298,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3095398411}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420603,"byte_end":420609,"line_start":298,"line_end":298,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":536872971}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420673,"byte_end":420677,"line_start":299,"line_end":299,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420678,"byte_end":420687,"line_start":299,"line_end":299,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":3644}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420690,"byte_end":420695,"line_start":299,"line_end":299,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":3645}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420697,"byte_end":420707,"line_start":299,"line_end":299,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":3565160459}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420709,"byte_end":420718,"line_start":299,"line_end":299,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420720,"byte_end":420729,"line_start":299,"line_end":299,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":2155874315}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420661,"byte_end":420665,"line_start":299,"line_end":299,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420666,"byte_end":420670,"line_start":299,"line_end":299,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420807,"byte_end":420811,"line_start":301,"line_end":301,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420795,"byte_end":420799,"line_start":301,"line_end":301,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420800,"byte_end":420804,"line_start":301,"line_end":301,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3657}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420864,"byte_end":420868,"line_start":304,"line_end":304,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420870,"byte_end":420874,"line_start":304,"line_end":304,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073743883}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420875,"byte_end":420880,"line_start":304,"line_end":304,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3659}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420886,"byte_end":420890,"line_start":304,"line_end":304,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":420891,"byte_end":420902,"line_start":304,"line_end":304,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":1996490763}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":420959,"byte_end":420963,"line_start":306,"line_end":306,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421031,"byte_end":421035,"line_start":310,"line_end":310,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421031,"byte_end":421035,"line_start":310,"line_end":310,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421039,"byte_end":421043,"line_start":310,"line_end":310,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421120,"byte_end":421129,"line_start":315,"line_end":315,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421140,"byte_end":421149,"line_start":315,"line_end":315,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421158,"byte_end":421164,"line_start":315,"line_end":315,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421176,"byte_end":421182,"line_start":315,"line_end":315,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421183,"byte_end":421189,"line_start":315,"line_end":315,"column_start":101,"column_end":107},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421196,"byte_end":421205,"line_start":315,"line_end":315,"column_start":114,"column_end":123},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421209,"byte_end":421217,"line_start":315,"line_end":315,"column_start":127,"column_end":135},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421263,"byte_end":421272,"line_start":317,"line_end":317,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421251,"byte_end":421262,"line_start":317,"line_end":317,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1073743884}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421273,"byte_end":421279,"line_start":317,"line_end":317,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421308,"byte_end":421322,"line_start":319,"line_end":319,"column_start":25,"column_end":39},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421295,"byte_end":421305,"line_start":319,"line_end":319,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1207961612}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421350,"byte_end":421359,"line_start":320,"line_end":320,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":2053}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421361,"byte_end":421372,"line_start":320,"line_end":320,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1073743884}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421374,"byte_end":421380,"line_start":320,"line_end":320,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421434,"byte_end":421444,"line_start":323,"line_end":323,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421427,"byte_end":421433,"line_start":323,"line_end":323,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536872972}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421445,"byte_end":421456,"line_start":323,"line_end":323,"column_start":51,"column_end":62},"ref_id":{"krate":0,"index":1073743884}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421457,"byte_end":421468,"line_start":323,"line_end":323,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421470,"byte_end":421474,"line_start":323,"line_end":323,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421485,"byte_end":421501,"line_start":323,"line_end":323,"column_start":91,"column_end":107},"ref_id":{"krate":0,"index":4031}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421548,"byte_end":421557,"line_start":325,"line_end":325,"column_start":42,"column_end":51},"ref_id":{"krate":1,"index":8375}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421542,"byte_end":421547,"line_start":325,"line_end":325,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1610614796}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421598,"byte_end":421611,"line_start":327,"line_end":327,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421591,"byte_end":421597,"line_start":327,"line_end":327,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421674,"byte_end":421682,"line_start":329,"line_end":329,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2056}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421696,"byte_end":421710,"line_start":329,"line_end":329,"column_start":57,"column_end":71},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421683,"byte_end":421693,"line_start":329,"line_end":329,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":1207961612}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421723,"byte_end":421729,"line_start":329,"line_end":329,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421770,"byte_end":421773,"line_start":331,"line_end":331,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":421759,"byte_end":421768,"line_start":331,"line_end":331,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421774,"byte_end":421787,"line_start":331,"line_end":331,"column_start":41,"column_end":54},"ref_id":{"krate":0,"index":3456108556}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421789,"byte_end":421793,"line_start":331,"line_end":331,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":2986346508}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421794,"byte_end":421799,"line_start":331,"line_end":331,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421801,"byte_end":421812,"line_start":331,"line_end":331,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":1073743884}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421813,"byte_end":421824,"line_start":331,"line_end":331,"column_start":80,"column_end":91},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421873,"byte_end":421886,"line_start":332,"line_end":332,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421862,"byte_end":421872,"line_start":332,"line_end":332,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":419432460}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421887,"byte_end":421893,"line_start":332,"line_end":332,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421930,"byte_end":421938,"line_start":335,"line_end":335,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421918,"byte_end":421927,"line_start":335,"line_end":335,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":285214732}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":421986,"byte_end":421994,"line_start":336,"line_end":336,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2037}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421974,"byte_end":421983,"line_start":336,"line_end":336,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":421995,"byte_end":422008,"line_start":336,"line_end":336,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108556}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422042,"byte_end":422050,"line_start":337,"line_end":337,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422030,"byte_end":422039,"line_start":337,"line_end":337,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422051,"byte_end":422064,"line_start":337,"line_end":337,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108556}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422089,"byte_end":422098,"line_start":338,"line_end":338,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422106,"byte_end":422109,"line_start":338,"line_end":338,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422144,"byte_end":422147,"line_start":339,"line_end":339,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422158,"byte_end":422161,"line_start":339,"line_end":339,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422148,"byte_end":422156,"line_start":339,"line_end":339,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422246,"byte_end":422255,"line_start":341,"line_end":341,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422227,"byte_end":422243,"line_start":341,"line_end":341,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":620759052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422256,"byte_end":422265,"line_start":341,"line_end":341,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422347,"byte_end":422350,"line_start":343,"line_end":343,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422336,"byte_end":422345,"line_start":343,"line_end":343,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422363,"byte_end":422371,"line_start":343,"line_end":343,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2040}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422351,"byte_end":422360,"line_start":343,"line_end":343,"column_start":43,"column_end":52},"ref_id":{"krate":0,"index":285214732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422384,"byte_end":422388,"line_start":343,"line_end":343,"column_start":76,"column_end":80},"ref_id":{"krate":0,"index":2986346508}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422389,"byte_end":422394,"line_start":343,"line_end":343,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422396,"byte_end":422407,"line_start":343,"line_end":343,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1073743884}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422408,"byte_end":422419,"line_start":343,"line_end":343,"column_start":100,"column_end":111},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422468,"byte_end":422481,"line_start":344,"line_end":344,"column_start":47,"column_end":60},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422459,"byte_end":422467,"line_start":344,"line_end":344,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3204450316}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422482,"byte_end":422488,"line_start":344,"line_end":344,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":536872972}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422521,"byte_end":422534,"line_start":345,"line_end":345,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1653}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422504,"byte_end":422518,"line_start":345,"line_end":345,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":2424309772}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422535,"byte_end":422548,"line_start":345,"line_end":345,"column_start":44,"column_end":57},"ref_id":{"krate":0,"index":3456108556}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422601,"byte_end":422606,"line_start":346,"line_end":346,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":1610614796}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422589,"byte_end":422593,"line_start":346,"line_end":346,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422625,"byte_end":422628,"line_start":347,"line_end":347,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":2558527500}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422693,"byte_end":422702,"line_start":349,"line_end":349,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1655}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422676,"byte_end":422690,"line_start":349,"line_end":349,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":2424309772}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422570,"byte_end":422579,"line_start":346,"line_end":346,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422749,"byte_end":422758,"line_start":351,"line_end":351,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422766,"byte_end":422769,"line_start":351,"line_end":351,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422804,"byte_end":422807,"line_start":352,"line_end":352,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422818,"byte_end":422821,"line_start":352,"line_end":352,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":422808,"byte_end":422816,"line_start":352,"line_end":352,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422906,"byte_end":422915,"line_start":354,"line_end":354,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1654}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422887,"byte_end":422903,"line_start":354,"line_end":354,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":620759052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422916,"byte_end":422925,"line_start":354,"line_end":354,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":422959,"byte_end":422967,"line_start":355,"line_end":355,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2039}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422947,"byte_end":422956,"line_start":355,"line_end":355,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":285214732}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":422968,"byte_end":422981,"line_start":355,"line_end":355,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":3456108556}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423018,"byte_end":423020,"line_start":359,"line_end":359,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423021,"byte_end":423025,"line_start":359,"line_end":359,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423027,"byte_end":423036,"line_start":359,"line_end":359,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3925870604}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423045,"byte_end":423055,"line_start":359,"line_end":359,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":419432460}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423105,"byte_end":423113,"line_start":365,"line_end":365,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423174,"byte_end":423183,"line_start":367,"line_end":367,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423201,"byte_end":423210,"line_start":367,"line_end":367,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423215,"byte_end":423222,"line_start":367,"line_end":367,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423259,"byte_end":423268,"line_start":368,"line_end":368,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423252,"byte_end":423258,"line_start":368,"line_end":368,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872981}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423269,"byte_end":423275,"line_start":368,"line_end":368,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614805}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423302,"byte_end":423316,"line_start":370,"line_end":370,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423292,"byte_end":423299,"line_start":370,"line_end":370,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961621}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423354,"byte_end":423358,"line_start":371,"line_end":371,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423345,"byte_end":423352,"line_start":371,"line_end":371,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423403,"byte_end":423406,"line_start":374,"line_end":374,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423398,"byte_end":423401,"line_start":374,"line_end":374,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423448,"byte_end":423456,"line_start":376,"line_end":376,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":2058}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423439,"byte_end":423446,"line_start":376,"line_end":376,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423458,"byte_end":423464,"line_start":376,"line_end":376,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":536872981}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423466,"byte_end":423472,"line_start":376,"line_end":376,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610614805}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423536,"byte_end":423545,"line_start":378,"line_end":378,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423527,"byte_end":423534,"line_start":378,"line_end":378,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423551,"byte_end":423560,"line_start":378,"line_end":378,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":2617247765}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423562,"byte_end":423568,"line_start":378,"line_end":378,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":1610614805}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423504,"byte_end":423508,"line_start":378,"line_end":378,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423613,"byte_end":423617,"line_start":379,"line_end":379,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":3154118677}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423592,"byte_end":423596,"line_start":379,"line_end":379,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423646,"byte_end":423650,"line_start":380,"line_end":380,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423636,"byte_end":423645,"line_start":380,"line_end":380,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288213}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423662,"byte_end":423673,"line_start":380,"line_end":380,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423651,"byte_end":423660,"line_start":380,"line_end":380,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423674,"byte_end":423679,"line_start":380,"line_end":380,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1073743893}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423685,"byte_end":423696,"line_start":380,"line_end":380,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":2986346517}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423698,"byte_end":423704,"line_start":380,"line_end":380,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":1610614805}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":423758,"byte_end":423762,"line_start":382,"line_end":382,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423748,"byte_end":423757,"line_start":382,"line_end":382,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288213}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423772,"byte_end":423776,"line_start":382,"line_end":382,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423763,"byte_end":423770,"line_start":382,"line_end":382,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423828,"byte_end":423833,"line_start":386,"line_end":386,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423819,"byte_end":423826,"line_start":386,"line_end":386,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":423834,"byte_end":423843,"line_start":386,"line_end":386,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1409288213}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423887,"byte_end":423898,"line_start":389,"line_end":389,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423924,"byte_end":423928,"line_start":389,"line_end":389,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423911,"byte_end":423922,"line_start":389,"line_end":389,"column_start":60,"column_end":71},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":423977,"byte_end":423988,"line_start":390,"line_end":390,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424014,"byte_end":424018,"line_start":390,"line_end":390,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424001,"byte_end":424012,"line_start":390,"line_end":390,"column_start":70,"column_end":81},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424054,"byte_end":424057,"line_start":392,"line_end":392,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424058,"byte_end":424074,"line_start":392,"line_end":392,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424095,"byte_end":424101,"line_start":392,"line_end":392,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424102,"byte_end":424109,"line_start":392,"line_end":392,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424111,"byte_end":424119,"line_start":392,"line_end":392,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424160,"byte_end":424163,"line_start":393,"line_end":393,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424153,"byte_end":424158,"line_start":393,"line_end":393,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424187,"byte_end":424193,"line_start":394,"line_end":394,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424175,"byte_end":424186,"line_start":394,"line_end":394,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308441}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424201,"byte_end":424209,"line_start":394,"line_end":394,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424222,"byte_end":424228,"line_start":394,"line_end":394,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424213,"byte_end":424220,"line_start":394,"line_end":394,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424248,"byte_end":424257,"line_start":394,"line_end":394,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424235,"byte_end":424243,"line_start":394,"line_end":394,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424296,"byte_end":424302,"line_start":396,"line_end":396,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743897}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424303,"byte_end":424310,"line_start":396,"line_end":396,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872985}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424312,"byte_end":424316,"line_start":396,"line_end":396,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424327,"byte_end":424343,"line_start":396,"line_end":396,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424371,"byte_end":424375,"line_start":398,"line_end":398,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1275070489}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424376,"byte_end":424381,"line_start":398,"line_end":398,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424404,"byte_end":424410,"line_start":400,"line_end":400,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424392,"byte_end":424403,"line_start":400,"line_end":400,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308441}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424416,"byte_end":424424,"line_start":400,"line_end":400,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424439,"byte_end":424452,"line_start":400,"line_end":400,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424428,"byte_end":424437,"line_start":400,"line_end":400,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424453,"byte_end":424459,"line_start":400,"line_end":400,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1073743897}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424461,"byte_end":424468,"line_start":400,"line_end":400,"column_start":78,"column_end":85},"ref_id":{"krate":0,"index":469764121}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424482,"byte_end":424484,"line_start":402,"line_end":402,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424494,"byte_end":424504,"line_start":402,"line_end":402,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424485,"byte_end":424492,"line_start":402,"line_end":402,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424505,"byte_end":424516,"line_start":402,"line_end":402,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308441}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424694,"byte_end":424699,"line_start":405,"line_end":405,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424593,"byte_end":424602,"line_start":405,"line_end":405,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424618,"byte_end":424627,"line_start":405,"line_end":405,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424637,"byte_end":424640,"line_start":405,"line_end":405,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424641,"byte_end":424648,"line_start":405,"line_end":405,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424654,"byte_end":424660,"line_start":405,"line_end":405,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424665,"byte_end":424673,"line_start":405,"line_end":405,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424720,"byte_end":424725,"line_start":407,"line_end":407,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179354}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424749,"byte_end":424754,"line_start":408,"line_end":408,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424740,"byte_end":424747,"line_start":408,"line_end":408,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424749,"byte_end":424754,"line_start":408,"line_end":408,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424740,"byte_end":424747,"line_start":408,"line_end":408,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424818,"byte_end":424827,"line_start":409,"line_end":409,"column_start":53,"column_end":62},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424811,"byte_end":424815,"line_start":409,"line_end":409,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424806,"byte_end":424810,"line_start":409,"line_end":409,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1207961626}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":424867,"byte_end":424873,"line_start":410,"line_end":410,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2042}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424858,"byte_end":424865,"line_start":410,"line_end":410,"column_start":27,"column_end":34},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424874,"byte_end":424880,"line_start":410,"line_end":410,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":1610614810}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424882,"byte_end":424885,"line_start":410,"line_end":410,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3623880730}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424900,"byte_end":424906,"line_start":410,"line_end":410,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":268437530}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424935,"byte_end":424939,"line_start":411,"line_end":411,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":424935,"byte_end":424939,"line_start":411,"line_end":411,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":424982,"byte_end":424983,"line_start":412,"line_end":412,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":1107298330}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425020,"byte_end":425024,"line_start":413,"line_end":413,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425020,"byte_end":425024,"line_start":413,"line_end":413,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425089,"byte_end":425102,"line_start":414,"line_end":414,"column_start":48,"column_end":61},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425078,"byte_end":425087,"line_start":414,"line_end":414,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425103,"byte_end":425108,"line_start":414,"line_end":414,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1073743898}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425114,"byte_end":425124,"line_start":414,"line_end":414,"column_start":73,"column_end":83},"ref_id":{"krate":0,"index":536872986}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425126,"byte_end":425136,"line_start":414,"line_end":414,"column_start":85,"column_end":95},"ref_id":{"krate":0,"index":2449475610}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425138,"byte_end":425144,"line_start":414,"line_end":414,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":268437530}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425152,"byte_end":425155,"line_start":414,"line_end":414,"column_start":111,"column_end":114},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425147,"byte_end":425150,"line_start":414,"line_end":414,"column_start":106,"column_end":109},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425166,"byte_end":425171,"line_start":414,"line_end":414,"column_start":125,"column_end":130},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425156,"byte_end":425165,"line_start":414,"line_end":414,"column_start":115,"column_end":124},"ref_id":{"krate":0,"index":939526170}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425245,"byte_end":425249,"line_start":416,"line_end":416,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425245,"byte_end":425249,"line_start":416,"line_end":416,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425338,"byte_end":425342,"line_start":419,"line_end":419,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425338,"byte_end":425342,"line_start":419,"line_end":419,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425384,"byte_end":425387,"line_start":420,"line_end":420,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425398,"byte_end":425401,"line_start":420,"line_end":420,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425388,"byte_end":425396,"line_start":420,"line_end":420,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425564,"byte_end":425566,"line_start":429,"line_end":429,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425616,"byte_end":425625,"line_start":432,"line_end":432,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425636,"byte_end":425645,"line_start":432,"line_end":432,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425650,"byte_end":425656,"line_start":432,"line_end":432,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425664,"byte_end":425672,"line_start":432,"line_end":432,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425711,"byte_end":425720,"line_start":434,"line_end":434,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425704,"byte_end":425710,"line_start":434,"line_end":434,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536872988}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425721,"byte_end":425727,"line_start":434,"line_end":434,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614812}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425754,"byte_end":425768,"line_start":436,"line_end":436,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425744,"byte_end":425751,"line_start":436,"line_end":436,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961628}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425797,"byte_end":425799,"line_start":437,"line_end":437,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":425941,"byte_end":425949,"line_start":445,"line_end":445,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425951,"byte_end":425957,"line_start":445,"line_end":445,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536872988}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":425959,"byte_end":425965,"line_start":445,"line_end":445,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610614812}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426025,"byte_end":426034,"line_start":447,"line_end":447,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426040,"byte_end":426049,"line_start":447,"line_end":447,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1543505948}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426051,"byte_end":426057,"line_start":447,"line_end":447,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614812}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":425996,"byte_end":426000,"line_start":447,"line_end":447,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426101,"byte_end":426105,"line_start":448,"line_end":448,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":2080376860}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426080,"byte_end":426084,"line_start":448,"line_end":448,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426147,"byte_end":426156,"line_start":449,"line_end":449,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426136,"byte_end":426145,"line_start":449,"line_end":449,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426157,"byte_end":426162,"line_start":449,"line_end":449,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":1073743900}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426168,"byte_end":426179,"line_start":449,"line_end":449,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":1912604700}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426181,"byte_end":426187,"line_start":449,"line_end":449,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614812}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426124,"byte_end":426132,"line_start":449,"line_end":449,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3556771868}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426224,"byte_end":426226,"line_start":453,"line_end":453,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426227,"byte_end":426235,"line_start":453,"line_end":453,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3556771868}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426238,"byte_end":426247,"line_start":453,"line_end":453,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3825207324}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426453,"byte_end":426458,"line_start":458,"line_end":458,"column_start":192,"column_end":197},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426306,"byte_end":426315,"line_start":458,"line_end":458,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426338,"byte_end":426347,"line_start":458,"line_end":458,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426360,"byte_end":426369,"line_start":458,"line_end":458,"column_start":99,"column_end":108},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426390,"byte_end":426399,"line_start":458,"line_end":458,"column_start":129,"column_end":138},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426404,"byte_end":426410,"line_start":458,"line_end":458,"column_start":143,"column_end":149},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426411,"byte_end":426420,"line_start":458,"line_end":458,"column_start":150,"column_end":159},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426422,"byte_end":426430,"line_start":458,"line_end":458,"column_start":161,"column_end":169},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426499,"byte_end":426508,"line_start":460,"line_end":460,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426487,"byte_end":426498,"line_start":460,"line_end":460,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536872990}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426509,"byte_end":426520,"line_start":460,"line_end":460,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614814}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426546,"byte_end":426560,"line_start":462,"line_end":462,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426535,"byte_end":426545,"line_start":462,"line_end":462,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445278}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426589,"byte_end":426591,"line_start":463,"line_end":463,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426592,"byte_end":426601,"line_start":463,"line_end":463,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437534}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426629,"byte_end":426638,"line_start":466,"line_end":466,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":2053}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426640,"byte_end":426649,"line_start":466,"line_end":466,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":268437534}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426651,"byte_end":426660,"line_start":466,"line_end":466,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1342179358}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426699,"byte_end":426707,"line_start":468,"line_end":468,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2058}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426709,"byte_end":426720,"line_start":468,"line_end":468,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":536872990}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426722,"byte_end":426733,"line_start":468,"line_end":468,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":1610614814}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426792,"byte_end":426801,"line_start":470,"line_end":470,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426807,"byte_end":426816,"line_start":470,"line_end":470,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1912604702}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426818,"byte_end":426829,"line_start":470,"line_end":470,"column_start":73,"column_end":84},"ref_id":{"krate":0,"index":1610614814}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426764,"byte_end":426768,"line_start":470,"line_end":470,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426870,"byte_end":426874,"line_start":471,"line_end":471,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1241516062}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426852,"byte_end":426856,"line_start":471,"line_end":471,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426922,"byte_end":426929,"line_start":472,"line_end":472,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":426939,"byte_end":426943,"line_start":472,"line_end":472,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":2060}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426930,"byte_end":426937,"line_start":472,"line_end":472,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426945,"byte_end":426954,"line_start":472,"line_end":472,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":268437534}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426956,"byte_end":426965,"line_start":472,"line_end":472,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":1342179358}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":426967,"byte_end":426971,"line_start":472,"line_end":472,"column_start":91,"column_end":95},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":426972,"byte_end":426977,"line_start":472,"line_end":472,"column_start":96,"column_end":101},"ref_id":{"krate":0,"index":2315257886}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427011,"byte_end":427018,"line_start":473,"line_end":473,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427000,"byte_end":427009,"line_start":473,"line_end":473,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427019,"byte_end":427024,"line_start":473,"line_end":473,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073743902}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427039,"byte_end":427044,"line_start":473,"line_end":473,"column_start":56,"column_end":61},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427030,"byte_end":427038,"line_start":473,"line_end":473,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":1174407198}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427048,"byte_end":427059,"line_start":473,"line_end":473,"column_start":65,"column_end":76},"ref_id":{"krate":0,"index":1610614814}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427061,"byte_end":427069,"line_start":473,"line_end":473,"column_start":78,"column_end":86},"ref_id":{"krate":0,"index":3103787038}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427071,"byte_end":427080,"line_start":473,"line_end":473,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":1342179358}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427124,"byte_end":427126,"line_start":477,"line_end":477,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427127,"byte_end":427136,"line_start":477,"line_end":477,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437534}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427175,"byte_end":427178,"line_start":480,"line_end":480,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427179,"byte_end":427195,"line_start":480,"line_end":480,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427216,"byte_end":427222,"line_start":480,"line_end":480,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427223,"byte_end":427229,"line_start":480,"line_end":480,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427231,"byte_end":427239,"line_start":480,"line_end":480,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427275,"byte_end":427281,"line_start":481,"line_end":481,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743903}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427282,"byte_end":427289,"line_start":481,"line_end":481,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536872991}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427291,"byte_end":427295,"line_start":481,"line_end":481,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427306,"byte_end":427322,"line_start":481,"line_end":481,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":4031}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427361,"byte_end":427365,"line_start":483,"line_end":483,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427353,"byte_end":427359,"line_start":483,"line_end":483,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427396,"byte_end":427404,"line_start":484,"line_end":484,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427389,"byte_end":427395,"line_start":484,"line_end":484,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751647}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427451,"byte_end":427457,"line_start":484,"line_end":484,"column_start":71,"column_end":77},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427416,"byte_end":427428,"line_start":484,"line_end":484,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2469}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427405,"byte_end":427414,"line_start":484,"line_end":484,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427430,"byte_end":427436,"line_start":484,"line_end":484,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073743903}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427438,"byte_end":427442,"line_start":484,"line_end":484,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1744832543}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427443,"byte_end":427448,"line_start":484,"line_end":484,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427477,"byte_end":427485,"line_start":485,"line_end":485,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427470,"byte_end":427476,"line_start":485,"line_end":485,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751647}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427501,"byte_end":427503,"line_start":486,"line_end":486,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427504,"byte_end":427510,"line_start":486,"line_end":486,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751647}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427565,"byte_end":427568,"line_start":490,"line_end":490,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427569,"byte_end":427585,"line_start":490,"line_end":490,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427607,"byte_end":427616,"line_start":490,"line_end":490,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427625,"byte_end":427628,"line_start":490,"line_end":490,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427629,"byte_end":427635,"line_start":490,"line_end":490,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427641,"byte_end":427647,"line_start":490,"line_end":490,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427655,"byte_end":427658,"line_start":490,"line_end":490,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427664,"byte_end":427667,"line_start":490,"line_end":490,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427668,"byte_end":427684,"line_start":490,"line_end":490,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427688,"byte_end":427696,"line_start":490,"line_end":490,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427730,"byte_end":427733,"line_start":491,"line_end":491,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427745,"byte_end":427748,"line_start":491,"line_end":491,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427740,"byte_end":427743,"line_start":491,"line_end":491,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427773,"byte_end":427777,"line_start":492,"line_end":492,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427760,"byte_end":427772,"line_start":492,"line_end":492,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":671090720}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427791,"byte_end":427795,"line_start":492,"line_end":492,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427778,"byte_end":427789,"line_start":492,"line_end":492,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427843,"byte_end":427846,"line_start":494,"line_end":494,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427836,"byte_end":427842,"line_start":494,"line_end":494,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":427865,"byte_end":427869,"line_start":495,"line_end":495,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427858,"byte_end":427864,"line_start":495,"line_end":495,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427870,"byte_end":427886,"line_start":495,"line_end":495,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427901,"byte_end":427904,"line_start":496,"line_end":496,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427921,"byte_end":427928,"line_start":496,"line_end":496,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427906,"byte_end":427919,"line_start":496,"line_end":496,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427942,"byte_end":427943,"line_start":497,"line_end":497,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427958,"byte_end":427962,"line_start":497,"line_end":497,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":427945,"byte_end":427956,"line_start":497,"line_end":497,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":427976,"byte_end":427984,"line_start":498,"line_end":498,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428005,"byte_end":428009,"line_start":499,"line_end":499,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428016,"byte_end":428019,"line_start":499,"line_end":499,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428011,"byte_end":428014,"line_start":499,"line_end":499,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428025,"byte_end":428033,"line_start":499,"line_end":499,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428020,"byte_end":428023,"line_start":499,"line_end":499,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428039,"byte_end":428042,"line_start":499,"line_end":499,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428034,"byte_end":428037,"line_start":499,"line_end":499,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428043,"byte_end":428059,"line_start":499,"line_end":499,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428062,"byte_end":428067,"line_start":499,"line_end":499,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428069,"byte_end":428085,"line_start":499,"line_end":499,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":1677723680}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428145,"byte_end":428151,"line_start":502,"line_end":502,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428153,"byte_end":428159,"line_start":502,"line_end":502,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428163,"byte_end":428167,"line_start":502,"line_end":502,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428186,"byte_end":428189,"line_start":504,"line_end":504,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428181,"byte_end":428185,"line_start":504,"line_end":504,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437536}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428217,"byte_end":428221,"line_start":505,"line_end":505,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437536}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428260,"byte_end":428270,"line_start":506,"line_end":506,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428251,"byte_end":428257,"line_start":506,"line_end":506,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428243,"byte_end":428249,"line_start":506,"line_end":506,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428318,"byte_end":428328,"line_start":507,"line_end":507,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":3053455392}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428375,"byte_end":428379,"line_start":508,"line_end":508,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428362,"byte_end":428369,"line_start":508,"line_end":508,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428358,"byte_end":428361,"line_start":508,"line_end":508,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":1610614816}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428370,"byte_end":428373,"line_start":508,"line_end":508,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":1308624928}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428429,"byte_end":428433,"line_start":509,"line_end":509,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428434,"byte_end":428439,"line_start":509,"line_end":509,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":3456108576}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428420,"byte_end":428426,"line_start":509,"line_end":509,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3120564256}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428585,"byte_end":428591,"line_start":517,"line_end":517,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3120564256}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428575,"byte_end":428579,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428699,"byte_end":428707,"line_start":519,"line_end":519,"column_start":63,"column_end":71},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428688,"byte_end":428697,"line_start":519,"line_end":519,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428708,"byte_end":428714,"line_start":519,"line_end":519,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":1073743904}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428716,"byte_end":428719,"line_start":519,"line_end":519,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":1610614816}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428721,"byte_end":428722,"line_start":519,"line_end":519,"column_start":85,"column_end":86},"ref_id":{"krate":0,"index":4110420000}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428764,"byte_end":428770,"line_start":521,"line_end":521,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428751,"byte_end":428763,"line_start":521,"line_end":521,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":671090720}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428771,"byte_end":428782,"line_start":521,"line_end":521,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1258293280}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428798,"byte_end":428800,"line_start":523,"line_end":523,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428809,"byte_end":428821,"line_start":523,"line_end":523,"column_start":24,"column_end":36},"ref_id":{"krate":0,"index":671090720}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":428823,"byte_end":428829,"line_start":523,"line_end":523,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3405776928}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428861,"byte_end":428864,"line_start":525,"line_end":525,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":428875,"byte_end":428878,"line_start":525,"line_end":525,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428865,"byte_end":428873,"line_start":525,"line_end":525,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428971,"byte_end":428974,"line_start":529,"line_end":529,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":428975,"byte_end":428991,"line_start":529,"line_end":529,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429008,"byte_end":429011,"line_start":529,"line_end":529,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429012,"byte_end":429019,"line_start":529,"line_end":529,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429025,"byte_end":429031,"line_start":529,"line_end":529,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429039,"byte_end":429042,"line_start":529,"line_end":529,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429048,"byte_end":429051,"line_start":529,"line_end":529,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429052,"byte_end":429068,"line_start":529,"line_end":529,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429072,"byte_end":429080,"line_start":529,"line_end":529,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429115,"byte_end":429118,"line_start":531,"line_end":531,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429130,"byte_end":429133,"line_start":531,"line_end":531,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429125,"byte_end":429128,"line_start":531,"line_end":531,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429158,"byte_end":429162,"line_start":532,"line_end":532,"column_start":22,"column_end":26},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429145,"byte_end":429157,"line_start":532,"line_end":532,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219809}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429176,"byte_end":429180,"line_start":532,"line_end":532,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429163,"byte_end":429174,"line_start":532,"line_end":532,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429228,"byte_end":429231,"line_start":534,"line_end":534,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429221,"byte_end":429227,"line_start":534,"line_end":534,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743905}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429250,"byte_end":429254,"line_start":535,"line_end":535,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429243,"byte_end":429249,"line_start":535,"line_end":535,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743905}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429255,"byte_end":429271,"line_start":535,"line_end":535,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429286,"byte_end":429289,"line_start":536,"line_end":536,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429306,"byte_end":429313,"line_start":536,"line_end":536,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429291,"byte_end":429304,"line_start":536,"line_end":536,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429327,"byte_end":429328,"line_start":537,"line_end":537,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429343,"byte_end":429347,"line_start":537,"line_end":537,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429330,"byte_end":429341,"line_start":537,"line_end":537,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429361,"byte_end":429365,"line_start":538,"line_end":538,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429372,"byte_end":429375,"line_start":538,"line_end":538,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429367,"byte_end":429370,"line_start":538,"line_end":538,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429381,"byte_end":429389,"line_start":538,"line_end":538,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429376,"byte_end":429379,"line_start":538,"line_end":538,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429395,"byte_end":429398,"line_start":538,"line_end":538,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429390,"byte_end":429393,"line_start":538,"line_end":538,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429399,"byte_end":429415,"line_start":538,"line_end":538,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429418,"byte_end":429423,"line_start":538,"line_end":538,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429425,"byte_end":429441,"line_start":538,"line_end":538,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":1140852769}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429476,"byte_end":429484,"line_start":539,"line_end":539,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429519,"byte_end":429530,"line_start":542,"line_end":542,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536872993}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429560,"byte_end":429564,"line_start":543,"line_end":543,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429551,"byte_end":429558,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429560,"byte_end":429564,"line_start":543,"line_end":543,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429551,"byte_end":429558,"line_start":543,"line_end":543,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429593,"byte_end":429596,"line_start":544,"line_end":544,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429607,"byte_end":429610,"line_start":544,"line_end":544,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429597,"byte_end":429605,"line_start":544,"line_end":544,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429813,"byte_end":429822,"line_start":550,"line_end":550,"column_start":59,"column_end":68},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429802,"byte_end":429811,"line_start":550,"line_end":550,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429823,"byte_end":429829,"line_start":550,"line_end":550,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":1073743905}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429837,"byte_end":429840,"line_start":550,"line_end":550,"column_start":83,"column_end":86},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429832,"byte_end":429835,"line_start":550,"line_end":550,"column_start":78,"column_end":81},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429859,"byte_end":429864,"line_start":550,"line_end":550,"column_start":105,"column_end":110},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429841,"byte_end":429852,"line_start":550,"line_end":550,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":536872993}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":429901,"byte_end":429907,"line_start":552,"line_end":552,"column_start":22,"column_end":28},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429888,"byte_end":429900,"line_start":552,"line_end":552,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":134219809}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429908,"byte_end":429919,"line_start":552,"line_end":552,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":4043311137}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":429938,"byte_end":429940,"line_start":554,"line_end":554,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429949,"byte_end":429961,"line_start":554,"line_end":554,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":134219809}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":429963,"byte_end":429969,"line_start":554,"line_end":554,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":150997025}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430039,"byte_end":430042,"line_start":557,"line_end":557,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430043,"byte_end":430059,"line_start":557,"line_end":557,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430065,"byte_end":430071,"line_start":557,"line_end":557,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430088,"byte_end":430092,"line_start":558,"line_end":558,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430140,"byte_end":430143,"line_start":561,"line_end":561,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430144,"byte_end":430160,"line_start":561,"line_end":561,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430203,"byte_end":430206,"line_start":561,"line_end":561,"column_start":104,"column_end":107},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430207,"byte_end":430223,"line_start":561,"line_end":561,"column_start":108,"column_end":124},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430267,"byte_end":430270,"line_start":563,"line_end":563,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430260,"byte_end":430266,"line_start":563,"line_end":563,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1073743907}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430289,"byte_end":430293,"line_start":564,"line_end":564,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430282,"byte_end":430288,"line_start":564,"line_end":564,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073743907}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430294,"byte_end":430310,"line_start":564,"line_end":564,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430325,"byte_end":430328,"line_start":565,"line_end":565,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430345,"byte_end":430352,"line_start":565,"line_end":565,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430330,"byte_end":430343,"line_start":565,"line_end":565,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430366,"byte_end":430367,"line_start":566,"line_end":566,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430382,"byte_end":430386,"line_start":566,"line_end":566,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430369,"byte_end":430380,"line_start":566,"line_end":566,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430400,"byte_end":430408,"line_start":567,"line_end":567,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430429,"byte_end":430433,"line_start":568,"line_end":568,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430440,"byte_end":430443,"line_start":568,"line_end":568,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430435,"byte_end":430438,"line_start":568,"line_end":568,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430449,"byte_end":430457,"line_start":568,"line_end":568,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430444,"byte_end":430447,"line_start":568,"line_end":568,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430463,"byte_end":430466,"line_start":568,"line_end":568,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430458,"byte_end":430461,"line_start":568,"line_end":568,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430467,"byte_end":430483,"line_start":568,"line_end":568,"column_start":51,"column_end":67},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430486,"byte_end":430491,"line_start":568,"line_end":568,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430493,"byte_end":430509,"line_start":568,"line_end":568,"column_start":77,"column_end":93},"ref_id":{"krate":0,"index":2952792099}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430597,"byte_end":430607,"line_start":571,"line_end":571,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430586,"byte_end":430595,"line_start":571,"line_end":571,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430608,"byte_end":430614,"line_start":571,"line_end":571,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1073743907}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430616,"byte_end":430623,"line_start":571,"line_end":571,"column_start":65,"column_end":72},"ref_id":{"krate":0,"index":536872995}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430629,"byte_end":430634,"line_start":571,"line_end":571,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1610614819}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430654,"byte_end":430660,"line_start":573,"line_end":573,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1375733795}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430713,"byte_end":430719,"line_start":579,"line_end":579,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430724,"byte_end":430732,"line_start":579,"line_end":579,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430817,"byte_end":430820,"line_start":581,"line_end":581,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430805,"byte_end":430815,"line_start":581,"line_end":581,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430798,"byte_end":430803,"line_start":581,"line_end":581,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430821,"byte_end":430827,"line_start":581,"line_end":581,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874583}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430846,"byte_end":430852,"line_start":582,"line_end":582,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874583}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430869,"byte_end":430875,"line_start":582,"line_end":582,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430854,"byte_end":430861,"line_start":582,"line_end":582,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753239}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430862,"byte_end":430868,"line_start":582,"line_end":582,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430919,"byte_end":430928,"line_start":583,"line_end":583,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430907,"byte_end":430917,"line_start":583,"line_end":583,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":430900,"byte_end":430905,"line_start":583,"line_end":583,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":430937,"byte_end":430956,"line_start":583,"line_end":583,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430929,"byte_end":430936,"line_start":583,"line_end":583,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753239}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430977,"byte_end":430983,"line_start":584,"line_end":584,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874583}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":431001,"byte_end":431007,"line_start":584,"line_end":584,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430985,"byte_end":430993,"line_start":584,"line_end":584,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432699991}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":430994,"byte_end":431000,"line_start":584,"line_end":584,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431017,"byte_end":431019,"line_start":585,"line_end":585,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431064,"byte_end":431070,"line_start":589,"line_end":589,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431075,"byte_end":431083,"line_start":589,"line_end":589,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431174,"byte_end":431184,"line_start":591,"line_end":591,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431167,"byte_end":431172,"line_start":591,"line_end":591,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431195,"byte_end":431201,"line_start":591,"line_end":591,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874587}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431220,"byte_end":431226,"line_start":592,"line_end":592,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874587}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431228,"byte_end":431235,"line_start":592,"line_end":592,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753243}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":431306,"byte_end":431315,"line_start":593,"line_end":593,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431294,"byte_end":431304,"line_start":593,"line_end":593,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431287,"byte_end":431292,"line_start":593,"line_end":593,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431316,"byte_end":431323,"line_start":593,"line_end":593,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753243}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431364,"byte_end":431370,"line_start":594,"line_end":594,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874587}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":431399,"byte_end":431408,"line_start":594,"line_end":594,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/collection/list.rs","byte_start":431388,"byte_end":431395,"line_start":594,"line_end":594,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431372,"byte_end":431380,"line_start":594,"line_end":594,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441819}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431381,"byte_end":431387,"line_start":594,"line_end":594,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431417,"byte_end":431419,"line_start":595,"line_end":595,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431480,"byte_end":431486,"line_start":599,"line_end":599,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431491,"byte_end":431499,"line_start":599,"line_end":599,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431590,"byte_end":431600,"line_start":601,"line_end":601,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431583,"byte_end":431588,"line_start":601,"line_end":601,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431611,"byte_end":431617,"line_start":601,"line_end":601,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874591}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431696,"byte_end":431703,"line_start":604,"line_end":604,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753247}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431715,"byte_end":431719,"line_start":604,"line_end":604,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431726,"byte_end":431732,"line_start":605,"line_end":605,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431779,"byte_end":431785,"line_start":606,"line_end":606,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547999}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":431809,"byte_end":431813,"line_start":606,"line_end":606,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431847,"byte_end":431853,"line_start":607,"line_end":607,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431886,"byte_end":431892,"line_start":607,"line_end":607,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431939,"byte_end":431945,"line_start":608,"line_end":608,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":431990,"byte_end":431996,"line_start":609,"line_end":609,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432012,"byte_end":432018,"line_start":610,"line_end":610,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335547999}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432027,"byte_end":432031,"line_start":610,"line_end":610,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432050,"byte_end":432056,"line_start":611,"line_end":611,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335547999}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432161,"byte_end":432168,"line_start":614,"line_end":614,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753247}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432180,"byte_end":432184,"line_start":614,"line_end":614,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432191,"byte_end":432197,"line_start":615,"line_end":615,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432233,"byte_end":432239,"line_start":616,"line_end":616,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432287,"byte_end":432293,"line_start":617,"line_end":617,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432317,"byte_end":432321,"line_start":617,"line_end":617,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432355,"byte_end":432361,"line_start":618,"line_end":618,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432385,"byte_end":432389,"line_start":618,"line_end":618,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432424,"byte_end":432430,"line_start":619,"line_end":619,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432463,"byte_end":432469,"line_start":619,"line_end":619,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432516,"byte_end":432522,"line_start":620,"line_end":620,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432567,"byte_end":432573,"line_start":621,"line_end":621,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432582,"byte_end":432586,"line_start":621,"line_end":621,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432605,"byte_end":432611,"line_start":622,"line_end":622,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432635,"byte_end":432639,"line_start":622,"line_end":622,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432673,"byte_end":432679,"line_start":623,"line_end":623,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":432703,"byte_end":432707,"line_start":623,"line_end":623,"column_start":46,"column_end":50},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432742,"byte_end":432748,"line_start":624,"line_end":624,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432781,"byte_end":432787,"line_start":624,"line_end":624,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432834,"byte_end":432840,"line_start":625,"line_end":625,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432886,"byte_end":432892,"line_start":627,"line_end":627,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":432974,"byte_end":432980,"line_start":628,"line_end":628,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433003,"byte_end":433007,"line_start":628,"line_end":628,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433034,"byte_end":433040,"line_start":629,"line_end":629,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433063,"byte_end":433067,"line_start":629,"line_end":629,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433093,"byte_end":433099,"line_start":630,"line_end":630,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2743078495}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433122,"byte_end":433126,"line_start":630,"line_end":630,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433144,"byte_end":433146,"line_start":632,"line_end":632,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433185,"byte_end":433191,"line_start":636,"line_end":636,"column_start":24,"column_end":30},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433196,"byte_end":433204,"line_start":636,"line_end":636,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433295,"byte_end":433305,"line_start":638,"line_end":638,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433288,"byte_end":433293,"line_start":638,"line_end":638,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433316,"byte_end":433322,"line_start":638,"line_end":638,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874595}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433401,"byte_end":433408,"line_start":641,"line_end":641,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753251}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433420,"byte_end":433424,"line_start":641,"line_end":641,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433431,"byte_end":433437,"line_start":642,"line_end":642,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548003}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433465,"byte_end":433471,"line_start":643,"line_end":643,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548003}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433517,"byte_end":433524,"line_start":644,"line_end":644,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753251}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433537,"byte_end":433543,"line_start":644,"line_end":644,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":335548003}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433578,"byte_end":433588,"line_start":645,"line_end":645,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3858763363}},{"kind":"Variable","span":{"file_name":"src/collection/list.rs","byte_start":433645,"byte_end":433655,"line_start":646,"line_end":646,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":3858763363}},{"kind":"Type","span":{"file_name":"src/collection/list.rs","byte_start":433703,"byte_end":433705,"line_start":648,"line_end":648,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/collection/mod.rs","byte_start":366889,"byte_end":366894,"line_start":10,"line_end":10,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2084}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433724,"byte_end":433727,"line_start":1,"line_end":1,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3545}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433737,"byte_end":433744,"line_start":1,"line_end":1,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3878}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3878}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433716,"byte_end":433721,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433764,"byte_end":433770,"line_start":1,"line_end":1,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433825,"byte_end":433830,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433833,"byte_end":433839,"line_start":2,"line_end":2,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433825,"byte_end":433830,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433849,"byte_end":433853,"line_start":2,"line_end":2,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433865,"byte_end":433870,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433873,"byte_end":433876,"line_start":3,"line_end":3,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433895,"byte_end":433900,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":433903,"byte_end":433912,"line_start":5,"line_end":5,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433895,"byte_end":433900,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433921,"byte_end":433928,"line_start":5,"line_end":5,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433948,"byte_end":433953,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433955,"byte_end":433962,"line_start":6,"line_end":6,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433988,"byte_end":433994,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434009,"byte_end":434015,"line_start":7,"line_end":7,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434061,"byte_end":434066,"line_start":7,"line_end":7,"column_start":86,"column_end":91},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":433980,"byte_end":433985,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434078,"byte_end":434087,"line_start":7,"line_end":7,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434104,"byte_end":434109,"line_start":9,"line_end":9,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434111,"byte_end":434114,"line_start":9,"line_end":9,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434125,"byte_end":434130,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434132,"byte_end":434138,"line_start":10,"line_end":10,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434153,"byte_end":434158,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":315}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434161,"byte_end":434166,"line_start":11,"line_end":11,"column_start":13,"column_end":18},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434178,"byte_end":434183,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":434185,"byte_end":434191,"line_start":12,"line_end":12,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434313,"byte_end":434322,"line_start":20,"line_end":20,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434288,"byte_end":434293,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3685}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434306,"byte_end":434311,"line_start":20,"line_end":20,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3686}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"ref_id":{"krate":0,"index":3684}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434424,"byte_end":434433,"line_start":27,"line_end":27,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434444,"byte_end":434460,"line_start":27,"line_end":27,"column_start":57,"column_end":73},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434522,"byte_end":434531,"line_start":27,"line_end":27,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434536,"byte_end":434542,"line_start":27,"line_end":27,"column_start":149,"column_end":155},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434543,"byte_end":434549,"line_start":27,"line_end":27,"column_start":156,"column_end":162},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434550,"byte_end":434559,"line_start":27,"line_end":27,"column_start":163,"column_end":172},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434562,"byte_end":434570,"line_start":27,"line_end":27,"column_start":175,"column_end":183},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434816,"byte_end":434822,"line_start":30,"line_end":30,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873072}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434823,"byte_end":434827,"line_start":30,"line_end":30,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434838,"byte_end":434851,"line_start":30,"line_end":30,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434868,"byte_end":434873,"line_start":32,"line_end":32,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":434889,"byte_end":434892,"line_start":32,"line_end":32,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434877,"byte_end":434881,"line_start":32,"line_end":32,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434882,"byte_end":434888,"line_start":32,"line_end":32,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4038}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434916,"byte_end":434918,"line_start":33,"line_end":33,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434919,"byte_end":434923,"line_start":33,"line_end":33,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":434947,"byte_end":434959,"line_start":36,"line_end":36,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1342179440}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434981,"byte_end":434983,"line_start":37,"line_end":37,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434984,"byte_end":434988,"line_start":37,"line_end":37,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435000,"byte_end":435003,"line_start":37,"line_end":37,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":434989,"byte_end":434998,"line_start":37,"line_end":37,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435007,"byte_end":435011,"line_start":37,"line_end":37,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435012,"byte_end":435018,"line_start":37,"line_end":37,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435019,"byte_end":435024,"line_start":37,"line_end":37,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435026,"byte_end":435032,"line_start":37,"line_end":37,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435034,"byte_end":435046,"line_start":37,"line_end":37,"column_start":73,"column_end":85},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435047,"byte_end":435058,"line_start":37,"line_end":37,"column_start":86,"column_end":97},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435106,"byte_end":435110,"line_start":40,"line_end":40,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435111,"byte_end":435117,"line_start":40,"line_end":40,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435118,"byte_end":435123,"line_start":40,"line_end":40,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435125,"byte_end":435131,"line_start":40,"line_end":40,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3879}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435171,"byte_end":435180,"line_start":42,"line_end":42,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435158,"byte_end":435170,"line_start":42,"line_end":42,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435181,"byte_end":435187,"line_start":42,"line_end":42,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":805308528}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435207,"byte_end":435221,"line_start":43,"line_end":43,"column_start":18,"column_end":32},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435201,"byte_end":435206,"line_start":43,"line_end":43,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":100665456}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435246,"byte_end":435255,"line_start":44,"line_end":44,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":268437616}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435295,"byte_end":435306,"line_start":45,"line_end":45,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2161}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435307,"byte_end":435319,"line_start":45,"line_end":45,"column_start":50,"column_end":62},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435322,"byte_end":435326,"line_start":45,"line_end":45,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435327,"byte_end":435332,"line_start":45,"line_end":45,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435334,"byte_end":435340,"line_start":45,"line_end":45,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":805308528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435274,"byte_end":435286,"line_start":45,"line_end":45,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435382,"byte_end":435391,"line_start":47,"line_end":47,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435369,"byte_end":435381,"line_start":47,"line_end":47,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435392,"byte_end":435398,"line_start":47,"line_end":47,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":805308528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435361,"byte_end":435366,"line_start":47,"line_end":47,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":100665456}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435445,"byte_end":435447,"line_start":49,"line_end":49,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435448,"byte_end":435452,"line_start":49,"line_end":49,"column_start":27,"column_end":31},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435521,"byte_end":435535,"line_start":53,"line_end":53,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435515,"byte_end":435520,"line_start":53,"line_end":53,"column_start":28,"column_end":33},"ref_id":{"krate":0,"index":100665456}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435549,"byte_end":435553,"line_start":53,"line_end":53,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435554,"byte_end":435560,"line_start":53,"line_end":53,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435561,"byte_end":435566,"line_start":53,"line_end":53,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435568,"byte_end":435574,"line_start":53,"line_end":53,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3882}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435613,"byte_end":435616,"line_start":55,"line_end":55,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435602,"byte_end":435611,"line_start":55,"line_end":55,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435617,"byte_end":435629,"line_start":55,"line_end":55,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3976202352}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435631,"byte_end":435648,"line_start":55,"line_end":55,"column_start":55,"column_end":72},"ref_id":{"krate":0,"index":3925870704}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435650,"byte_end":435662,"line_start":55,"line_end":55,"column_start":74,"column_end":86},"ref_id":{"krate":0,"index":1073743984}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435663,"byte_end":435674,"line_start":55,"line_end":55,"column_start":87,"column_end":98},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435725,"byte_end":435730,"line_start":57,"line_end":57,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435707,"byte_end":435723,"line_start":57,"line_end":57,"column_start":30,"column_end":46},"ref_id":{"krate":0,"index":3545}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435686,"byte_end":435692,"line_start":57,"line_end":57,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1660946544}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435693,"byte_end":435704,"line_start":57,"line_end":57,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3564}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435744,"byte_end":435748,"line_start":59,"line_end":59,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3623880816}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435749,"byte_end":435755,"line_start":59,"line_end":59,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435756,"byte_end":435761,"line_start":59,"line_end":59,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":1610614896}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435763,"byte_end":435768,"line_start":59,"line_end":59,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3880}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435804,"byte_end":435808,"line_start":60,"line_end":60,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435831,"byte_end":435842,"line_start":60,"line_end":60,"column_start":61,"column_end":72},"ref_id":{"krate":1,"index":24213}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435810,"byte_end":435822,"line_start":60,"line_end":60,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":3976202352}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435783,"byte_end":435789,"line_start":60,"line_end":60,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1660946544}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435790,"byte_end":435801,"line_start":60,"line_end":60,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3562}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":435877,"byte_end":435887,"line_start":63,"line_end":63,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435870,"byte_end":435876,"line_start":63,"line_end":63,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":805308528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435890,"byte_end":435902,"line_start":63,"line_end":63,"column_start":32,"column_end":44},"ref_id":{"krate":0,"index":3976202352}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435916,"byte_end":435925,"line_start":63,"line_end":63,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":268437616}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435949,"byte_end":435951,"line_start":64,"line_end":64,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435952,"byte_end":435956,"line_start":64,"line_end":64,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435987,"byte_end":435989,"line_start":66,"line_end":66,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":435990,"byte_end":435994,"line_start":66,"line_end":66,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":435995,"byte_end":436001,"line_start":66,"line_end":66,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1660946544}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436093,"byte_end":436102,"line_start":73,"line_end":73,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436112,"byte_end":436115,"line_start":73,"line_end":73,"column_start":64,"column_end":67},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436136,"byte_end":436145,"line_start":73,"line_end":73,"column_start":88,"column_end":97},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436150,"byte_end":436156,"line_start":73,"line_end":73,"column_start":102,"column_end":108},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436157,"byte_end":436166,"line_start":73,"line_end":73,"column_start":109,"column_end":118},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436168,"byte_end":436176,"line_start":73,"line_end":73,"column_start":120,"column_end":128},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436211,"byte_end":436224,"line_start":75,"line_end":75,"column_start":31,"column_end":44},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436204,"byte_end":436210,"line_start":75,"line_end":75,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":1610614897}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436225,"byte_end":436230,"line_start":75,"line_end":75,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":536873073}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436286,"byte_end":436300,"line_start":77,"line_end":77,"column_start":44,"column_end":58},"ref_id":{"krate":0,"index":1651}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436264,"byte_end":436277,"line_start":77,"line_end":77,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":1709}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436251,"byte_end":436263,"line_start":77,"line_end":77,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":1073743985}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436278,"byte_end":436284,"line_start":77,"line_end":77,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1610614897}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436301,"byte_end":436309,"line_start":77,"line_end":77,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":4160751729}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436328,"byte_end":436330,"line_start":79,"line_end":79,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436331,"byte_end":436343,"line_start":79,"line_end":79,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":1073743985}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436381,"byte_end":436390,"line_start":82,"line_end":82,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436402,"byte_end":436411,"line_start":82,"line_end":82,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436432,"byte_end":436436,"line_start":84,"line_end":84,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436451,"byte_end":436456,"line_start":85,"line_end":85,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3686}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436465,"byte_end":436470,"line_start":85,"line_end":85,"column_start":27,"column_end":32},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436458,"byte_end":436464,"line_start":85,"line_end":85,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":1073743987}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436486,"byte_end":436491,"line_start":86,"line_end":86,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":3685}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436554,"byte_end":436563,"line_start":90,"line_end":90,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436586,"byte_end":436592,"line_start":90,"line_end":90,"column_start":74,"column_end":80},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436601,"byte_end":436607,"line_start":90,"line_end":90,"column_start":89,"column_end":95},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436608,"byte_end":436617,"line_start":90,"line_end":90,"column_start":96,"column_end":105},"ref_id":{"krate":0,"index":3558}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436663,"byte_end":436673,"line_start":92,"line_end":92,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436656,"byte_end":436662,"line_start":92,"line_end":92,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873076}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436674,"byte_end":436678,"line_start":92,"line_end":92,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436679,"byte_end":436684,"line_start":92,"line_end":92,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":3686}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436685,"byte_end":436696,"line_start":92,"line_end":92,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436698,"byte_end":436702,"line_start":92,"line_end":92,"column_start":75,"column_end":79},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436713,"byte_end":436726,"line_start":92,"line_end":92,"column_start":90,"column_end":103},"ref_id":{"krate":0,"index":4037}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436755,"byte_end":436758,"line_start":94,"line_end":94,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436743,"byte_end":436747,"line_start":94,"line_end":94,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":3623880820}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436748,"byte_end":436754,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436764,"byte_end":436768,"line_start":94,"line_end":94,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436769,"byte_end":436774,"line_start":94,"line_end":94,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":3685}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":436796,"byte_end":436800,"line_start":95,"line_end":95,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436838,"byte_end":436842,"line_start":98,"line_end":98,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436843,"byte_end":436848,"line_start":98,"line_end":98,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":3685}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436858,"byte_end":436862,"line_start":99,"line_end":99,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436863,"byte_end":436868,"line_start":99,"line_end":99,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":3685}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436908,"byte_end":436914,"line_start":101,"line_end":101,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":2160}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436915,"byte_end":436919,"line_start":101,"line_end":101,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436920,"byte_end":436925,"line_start":101,"line_end":101,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":3686}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":436934,"byte_end":436944,"line_start":101,"line_end":101,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436927,"byte_end":436933,"line_start":101,"line_end":101,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536873076}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436945,"byte_end":436949,"line_start":101,"line_end":101,"column_start":70,"column_end":74},"ref_id":{"krate":0,"index":1073743988}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436950,"byte_end":436955,"line_start":101,"line_end":101,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":3686}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436956,"byte_end":436967,"line_start":101,"line_end":101,"column_start":81,"column_end":92},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436970,"byte_end":436980,"line_start":101,"line_end":101,"column_start":95,"column_end":105},"ref_id":{"krate":0,"index":3422554228}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":436995,"byte_end":437001,"line_start":101,"line_end":101,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":536873076}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437019,"byte_end":437030,"line_start":103,"line_end":103,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":1241516148}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437045,"byte_end":437047,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437045,"byte_end":437047,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437081,"byte_end":437085,"line_start":105,"line_end":105,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1778387060}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437108,"byte_end":437112,"line_start":106,"line_end":106,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437108,"byte_end":437112,"line_start":106,"line_end":106,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437160,"byte_end":437170,"line_start":107,"line_end":107,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437153,"byte_end":437159,"line_start":107,"line_end":107,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873076}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437173,"byte_end":437179,"line_start":107,"line_end":107,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":973080692}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437180,"byte_end":437189,"line_start":107,"line_end":107,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437203,"byte_end":437213,"line_start":107,"line_end":107,"column_start":78,"column_end":88},"ref_id":{"krate":0,"index":1610614900}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437244,"byte_end":437248,"line_start":108,"line_end":108,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437250,"byte_end":437260,"line_start":108,"line_end":108,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3422554228}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437262,"byte_end":437266,"line_start":108,"line_end":108,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437330,"byte_end":437334,"line_start":110,"line_end":110,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437336,"byte_end":437346,"line_start":110,"line_end":110,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3422554228}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437348,"byte_end":437352,"line_start":110,"line_end":110,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437353,"byte_end":437359,"line_start":110,"line_end":110,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":973080692}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437432,"byte_end":437436,"line_start":113,"line_end":113,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437432,"byte_end":437436,"line_start":113,"line_end":113,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437440,"byte_end":437444,"line_start":113,"line_end":113,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437490,"byte_end":437493,"line_start":116,"line_end":116,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437490,"byte_end":437493,"line_start":116,"line_end":116,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437503,"byte_end":437507,"line_start":116,"line_end":116,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":3684}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437547,"byte_end":437555,"line_start":123,"line_end":123,"column_start":14,"column_end":22},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437617,"byte_end":437626,"line_start":125,"line_end":125,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437644,"byte_end":437653,"line_start":125,"line_end":125,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437658,"byte_end":437665,"line_start":125,"line_end":125,"column_start":79,"column_end":86},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437702,"byte_end":437711,"line_start":126,"line_end":126,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437695,"byte_end":437701,"line_start":126,"line_end":126,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873079}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437712,"byte_end":437718,"line_start":126,"line_end":126,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614903}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437745,"byte_end":437759,"line_start":128,"line_end":128,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437735,"byte_end":437742,"line_start":128,"line_end":128,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961719}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437785,"byte_end":437789,"line_start":128,"line_end":128,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437776,"byte_end":437783,"line_start":128,"line_end":128,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437827,"byte_end":437830,"line_start":130,"line_end":130,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437822,"byte_end":437825,"line_start":130,"line_end":130,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437869,"byte_end":437877,"line_start":132,"line_end":132,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2163}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437859,"byte_end":437867,"line_start":132,"line_end":132,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437879,"byte_end":437885,"line_start":132,"line_end":132,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":536873079}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437887,"byte_end":437893,"line_start":132,"line_end":132,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1610614903}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":437942,"byte_end":437951,"line_start":134,"line_end":134,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437936,"byte_end":437941,"line_start":134,"line_end":134,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3959425143}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437952,"byte_end":437958,"line_start":134,"line_end":134,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":1610614903}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437915,"byte_end":437919,"line_start":134,"line_end":134,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":437998,"byte_end":438002,"line_start":135,"line_end":135,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3690989687}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":437988,"byte_end":437992,"line_start":135,"line_end":135,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438031,"byte_end":438035,"line_start":136,"line_end":136,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438021,"byte_end":438030,"line_start":136,"line_end":136,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288311}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438047,"byte_end":438058,"line_start":136,"line_end":136,"column_start":43,"column_end":54},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438036,"byte_end":438045,"line_start":136,"line_end":136,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438059,"byte_end":438064,"line_start":136,"line_end":136,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":1073743991}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438071,"byte_end":438072,"line_start":136,"line_end":136,"column_start":67,"column_end":68},"ref_id":{"krate":0,"index":301992055}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438074,"byte_end":438080,"line_start":136,"line_end":136,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1610614903}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438132,"byte_end":438136,"line_start":138,"line_end":138,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438122,"byte_end":438131,"line_start":138,"line_end":138,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1409288311}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438146,"byte_end":438150,"line_start":138,"line_end":138,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438137,"byte_end":438144,"line_start":138,"line_end":138,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438196,"byte_end":438201,"line_start":143,"line_end":143,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438187,"byte_end":438194,"line_start":143,"line_end":143,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438202,"byte_end":438211,"line_start":143,"line_end":143,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1409288311}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438255,"byte_end":438266,"line_start":146,"line_end":146,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438293,"byte_end":438298,"line_start":146,"line_end":146,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438280,"byte_end":438291,"line_start":146,"line_end":146,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438347,"byte_end":438358,"line_start":147,"line_end":147,"column_start":46,"column_end":57},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438385,"byte_end":438390,"line_start":147,"line_end":147,"column_start":84,"column_end":89},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438372,"byte_end":438383,"line_start":147,"line_end":147,"column_start":71,"column_end":82},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438426,"byte_end":438429,"line_start":149,"line_end":149,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438430,"byte_end":438446,"line_start":149,"line_end":149,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438467,"byte_end":438473,"line_start":149,"line_end":149,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438474,"byte_end":438481,"line_start":149,"line_end":149,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438483,"byte_end":438491,"line_start":149,"line_end":149,"column_start":89,"column_end":97},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438532,"byte_end":438535,"line_start":150,"line_end":150,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438525,"byte_end":438530,"line_start":150,"line_end":150,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438559,"byte_end":438565,"line_start":151,"line_end":151,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438547,"byte_end":438558,"line_start":151,"line_end":151,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308539}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438573,"byte_end":438581,"line_start":151,"line_end":151,"column_start":35,"column_end":43},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438594,"byte_end":438600,"line_start":151,"line_end":151,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438585,"byte_end":438592,"line_start":151,"line_end":151,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438620,"byte_end":438629,"line_start":151,"line_end":151,"column_start":82,"column_end":91},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438607,"byte_end":438615,"line_start":151,"line_end":151,"column_start":69,"column_end":77},"ref_id":{"krate":0,"index":1726}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438668,"byte_end":438674,"line_start":153,"line_end":153,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073743995}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438675,"byte_end":438682,"line_start":153,"line_end":153,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536873083}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438684,"byte_end":438688,"line_start":153,"line_end":153,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438699,"byte_end":438712,"line_start":153,"line_end":153,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438751,"byte_end":438754,"line_start":155,"line_end":155,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438755,"byte_end":438762,"line_start":155,"line_end":155,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438768,"byte_end":438774,"line_start":155,"line_end":155,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1073743995}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438775,"byte_end":438782,"line_start":155,"line_end":155,"column_start":58,"column_end":65},"ref_id":{"krate":0,"index":536873083}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438784,"byte_end":438792,"line_start":155,"line_end":155,"column_start":67,"column_end":75},"ref_id":{"krate":0,"index":3913}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438924,"byte_end":438931,"line_start":157,"line_end":157,"column_start":12,"column_end":19},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438813,"byte_end":438816,"line_start":155,"line_end":155,"column_start":96,"column_end":99},"ref_id":{"krate":1,"index":7933}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438806,"byte_end":438810,"line_start":155,"line_end":155,"column_start":89,"column_end":93},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438794,"byte_end":438798,"line_start":155,"line_end":155,"column_start":77,"column_end":81},"ref_id":{"krate":0,"index":1275070587}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438799,"byte_end":438805,"line_start":155,"line_end":155,"column_start":82,"column_end":88},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438888,"byte_end":438897,"line_start":156,"line_end":156,"column_start":61,"column_end":70},"ref_id":{"krate":1,"index":8988}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438851,"byte_end":438864,"line_start":156,"line_end":156,"column_start":24,"column_end":37},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438840,"byte_end":438849,"line_start":156,"line_end":156,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438865,"byte_end":438871,"line_start":156,"line_end":156,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073743995}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438873,"byte_end":438879,"line_start":156,"line_end":156,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":2449475707}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438880,"byte_end":438886,"line_start":156,"line_end":156,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3879}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438907,"byte_end":438911,"line_start":156,"line_end":156,"column_start":80,"column_end":84},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438898,"byte_end":438905,"line_start":156,"line_end":156,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438957,"byte_end":438963,"line_start":159,"line_end":159,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":438945,"byte_end":438956,"line_start":159,"line_end":159,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":805308539}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":438973,"byte_end":438981,"line_start":159,"line_end":159,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438994,"byte_end":438999,"line_start":159,"line_end":159,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":438985,"byte_end":438992,"line_start":159,"line_end":159,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439000,"byte_end":439012,"line_start":159,"line_end":159,"column_start":64,"column_end":76},"ref_id":{"krate":0,"index":2248149115}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439030,"byte_end":439042,"line_start":161,"line_end":161,"column_start":12,"column_end":24},"ref_id":{"krate":0,"index":2248149115}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439071,"byte_end":439077,"line_start":162,"line_end":162,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439059,"byte_end":439070,"line_start":162,"line_end":162,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":805308539}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439087,"byte_end":439095,"line_start":162,"line_end":162,"column_start":41,"column_end":49},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439108,"byte_end":439112,"line_start":162,"line_end":162,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439099,"byte_end":439106,"line_start":162,"line_end":162,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439134,"byte_end":439136,"line_start":165,"line_end":165,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439146,"byte_end":439156,"line_start":165,"line_end":165,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439137,"byte_end":439144,"line_start":165,"line_end":165,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439157,"byte_end":439168,"line_start":165,"line_end":165,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":805308539}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439346,"byte_end":439351,"line_start":168,"line_end":168,"column_start":169,"column_end":174},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439245,"byte_end":439254,"line_start":168,"line_end":168,"column_start":68,"column_end":77},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439270,"byte_end":439279,"line_start":168,"line_end":168,"column_start":93,"column_end":102},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439289,"byte_end":439292,"line_start":168,"line_end":168,"column_start":112,"column_end":115},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439293,"byte_end":439300,"line_start":168,"line_end":168,"column_start":116,"column_end":123},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439306,"byte_end":439312,"line_start":168,"line_end":168,"column_start":129,"column_end":135},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439317,"byte_end":439325,"line_start":168,"line_end":168,"column_start":140,"column_end":148},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439380,"byte_end":439385,"line_start":170,"line_end":170,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":1342179453}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439409,"byte_end":439414,"line_start":171,"line_end":171,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439400,"byte_end":439407,"line_start":171,"line_end":171,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439409,"byte_end":439414,"line_start":171,"line_end":171,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439400,"byte_end":439407,"line_start":171,"line_end":171,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439479,"byte_end":439488,"line_start":172,"line_end":172,"column_start":54,"column_end":63},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439472,"byte_end":439476,"line_start":172,"line_end":172,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439467,"byte_end":439471,"line_start":172,"line_end":172,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1207961725}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439529,"byte_end":439535,"line_start":173,"line_end":173,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2160}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439519,"byte_end":439527,"line_start":173,"line_end":173,"column_start":27,"column_end":35},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439536,"byte_end":439542,"line_start":173,"line_end":173,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":1610614909}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439551,"byte_end":439561,"line_start":173,"line_end":173,"column_start":59,"column_end":69},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439544,"byte_end":439550,"line_start":173,"line_end":173,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":268437629}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439562,"byte_end":439568,"line_start":173,"line_end":173,"column_start":70,"column_end":76},"ref_id":{"krate":0,"index":1610614909}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439569,"byte_end":439580,"line_start":173,"line_end":173,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439583,"byte_end":439586,"line_start":173,"line_end":173,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":3623880829}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439601,"byte_end":439607,"line_start":173,"line_end":173,"column_start":109,"column_end":115},"ref_id":{"krate":0,"index":268437629}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439636,"byte_end":439640,"line_start":174,"line_end":174,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439636,"byte_end":439640,"line_start":174,"line_end":174,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439688,"byte_end":439701,"line_start":175,"line_end":175,"column_start":40,"column_end":53},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439677,"byte_end":439686,"line_start":175,"line_end":175,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439702,"byte_end":439707,"line_start":175,"line_end":175,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743997}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439713,"byte_end":439723,"line_start":175,"line_end":175,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":536873085}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439725,"byte_end":439726,"line_start":175,"line_end":175,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":2449475709}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439728,"byte_end":439734,"line_start":175,"line_end":175,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":268437629}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439742,"byte_end":439745,"line_start":175,"line_end":175,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439737,"byte_end":439740,"line_start":175,"line_end":175,"column_start":89,"column_end":92},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439757,"byte_end":439762,"line_start":175,"line_end":175,"column_start":109,"column_end":114},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":439746,"byte_end":439756,"line_start":175,"line_end":175,"column_start":98,"column_end":108},"ref_id":{"krate":0,"index":939526269}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439820,"byte_end":439824,"line_start":177,"line_end":177,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439820,"byte_end":439824,"line_start":177,"line_end":177,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439866,"byte_end":439869,"line_start":178,"line_end":178,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":439880,"byte_end":439883,"line_start":178,"line_end":178,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":439870,"byte_end":439878,"line_start":178,"line_end":178,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440046,"byte_end":440048,"line_start":186,"line_end":186,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440098,"byte_end":440107,"line_start":189,"line_end":189,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440125,"byte_end":440134,"line_start":189,"line_end":189,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440139,"byte_end":440145,"line_start":189,"line_end":189,"column_start":80,"column_end":86},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440153,"byte_end":440161,"line_start":189,"line_end":189,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440200,"byte_end":440209,"line_start":191,"line_end":191,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440193,"byte_end":440199,"line_start":191,"line_end":191,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":536873087}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440210,"byte_end":440216,"line_start":191,"line_end":191,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1610614911}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440243,"byte_end":440257,"line_start":193,"line_end":193,"column_start":22,"column_end":36},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440233,"byte_end":440240,"line_start":193,"line_end":193,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1207961727}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440286,"byte_end":440288,"line_start":194,"line_end":194,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440370,"byte_end":440378,"line_start":199,"line_end":199,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440380,"byte_end":440386,"line_start":199,"line_end":199,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":536873087}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440388,"byte_end":440394,"line_start":199,"line_end":199,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1610614911}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440437,"byte_end":440447,"line_start":201,"line_end":201,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440430,"byte_end":440436,"line_start":201,"line_end":201,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610614911}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440448,"byte_end":440454,"line_start":201,"line_end":201,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":536873087}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440455,"byte_end":440466,"line_start":201,"line_end":201,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440468,"byte_end":440472,"line_start":201,"line_end":201,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440483,"byte_end":440496,"line_start":201,"line_end":201,"column_start":86,"column_end":99},"ref_id":{"krate":0,"index":4037}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440548,"byte_end":440557,"line_start":203,"line_end":203,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440542,"byte_end":440547,"line_start":203,"line_end":203,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":738199679}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440558,"byte_end":440564,"line_start":203,"line_end":203,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":1610614911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440520,"byte_end":440524,"line_start":203,"line_end":203,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440609,"byte_end":440613,"line_start":204,"line_end":204,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":838862975}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440594,"byte_end":440598,"line_start":204,"line_end":204,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440632,"byte_end":440640,"line_start":205,"line_end":205,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3825207423}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440683,"byte_end":440687,"line_start":206,"line_end":206,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":301992063}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440688,"byte_end":440694,"line_start":206,"line_end":206,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440695,"byte_end":440700,"line_start":206,"line_end":206,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":3523217535}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440722,"byte_end":440734,"line_start":207,"line_end":207,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":905971839}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440735,"byte_end":440740,"line_start":207,"line_end":207,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440775,"byte_end":440787,"line_start":208,"line_end":208,"column_start":33,"column_end":45},"ref_id":{"krate":0,"index":905971839}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440788,"byte_end":440792,"line_start":208,"line_end":208,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440763,"byte_end":440771,"line_start":208,"line_end":208,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207423}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":440862,"byte_end":440871,"line_start":210,"line_end":210,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440851,"byte_end":440860,"line_start":210,"line_end":210,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440872,"byte_end":440877,"line_start":210,"line_end":210,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":1073743999}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440884,"byte_end":440890,"line_start":210,"line_end":210,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":2583693439}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440892,"byte_end":440898,"line_start":210,"line_end":210,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":1610614911}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440839,"byte_end":440847,"line_start":210,"line_end":210,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":3825207423}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":440963,"byte_end":440965,"line_start":215,"line_end":215,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":440966,"byte_end":440974,"line_start":215,"line_end":215,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3825207423}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441186,"byte_end":441191,"line_start":219,"line_end":219,"column_start":196,"column_end":201},"ref_id":{"krate":1,"index":3029}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441035,"byte_end":441044,"line_start":219,"line_end":219,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441067,"byte_end":441076,"line_start":219,"line_end":219,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441093,"byte_end":441102,"line_start":219,"line_end":219,"column_start":103,"column_end":112},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441123,"byte_end":441132,"line_start":219,"line_end":219,"column_start":133,"column_end":142},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441137,"byte_end":441143,"line_start":219,"line_end":219,"column_start":147,"column_end":153},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441144,"byte_end":441153,"line_start":219,"line_end":219,"column_start":154,"column_end":163},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441155,"byte_end":441163,"line_start":219,"line_end":219,"column_start":165,"column_end":173},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441232,"byte_end":441241,"line_start":221,"line_end":221,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441220,"byte_end":441231,"line_start":221,"line_end":221,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":536873089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441242,"byte_end":441253,"line_start":221,"line_end":221,"column_start":48,"column_end":59},"ref_id":{"krate":0,"index":1610614913}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441279,"byte_end":441293,"line_start":223,"line_end":223,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441268,"byte_end":441278,"line_start":223,"line_end":223,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3355445377}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441322,"byte_end":441324,"line_start":224,"line_end":224,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441325,"byte_end":441334,"line_start":224,"line_end":224,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":268437633}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441392,"byte_end":441402,"line_start":227,"line_end":227,"column_start":45,"column_end":55},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441380,"byte_end":441391,"line_start":227,"line_end":227,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":1610614913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441403,"byte_end":441414,"line_start":227,"line_end":227,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":536873089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441415,"byte_end":441426,"line_start":227,"line_end":227,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441428,"byte_end":441432,"line_start":227,"line_end":227,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441443,"byte_end":441456,"line_start":227,"line_end":227,"column_start":96,"column_end":109},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441500,"byte_end":441504,"line_start":229,"line_end":229,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":469764225}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441505,"byte_end":441511,"line_start":229,"line_end":229,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441514,"byte_end":441518,"line_start":229,"line_end":229,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":469764225}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441519,"byte_end":441524,"line_start":229,"line_end":229,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4039}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441554,"byte_end":441565,"line_start":231,"line_end":231,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2161}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441566,"byte_end":441575,"line_start":231,"line_end":231,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":268437633}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441578,"byte_end":441582,"line_start":231,"line_end":231,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":469764225}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441583,"byte_end":441588,"line_start":231,"line_end":231,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441590,"byte_end":441599,"line_start":231,"line_end":231,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1342179457}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441536,"byte_end":441545,"line_start":231,"line_end":231,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":268437633}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441634,"byte_end":441642,"line_start":233,"line_end":233,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2163}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441644,"byte_end":441655,"line_start":233,"line_end":233,"column_start":41,"column_end":52},"ref_id":{"krate":0,"index":536873089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441657,"byte_end":441668,"line_start":233,"line_end":233,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":1610614913}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441716,"byte_end":441725,"line_start":235,"line_end":235,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441710,"byte_end":441715,"line_start":235,"line_end":235,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":771754113}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441726,"byte_end":441737,"line_start":235,"line_end":235,"column_start":55,"column_end":66},"ref_id":{"krate":0,"index":1610614913}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441690,"byte_end":441694,"line_start":235,"line_end":235,"column_start":19,"column_end":23},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441786,"byte_end":441790,"line_start":236,"line_end":236,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":503318657}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441767,"byte_end":441771,"line_start":236,"line_end":236,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441819,"byte_end":441830,"line_start":237,"line_end":237,"column_start":27,"column_end":38},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441809,"byte_end":441818,"line_start":237,"line_end":237,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":1342179457}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441833,"byte_end":441843,"line_start":237,"line_end":237,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":2701133953}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441844,"byte_end":441853,"line_start":237,"line_end":237,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441891,"byte_end":441898,"line_start":238,"line_end":238,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441880,"byte_end":441889,"line_start":238,"line_end":238,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441899,"byte_end":441904,"line_start":238,"line_end":238,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":1073744001}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441921,"byte_end":441926,"line_start":238,"line_end":238,"column_start":58,"column_end":63},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441910,"byte_end":441920,"line_start":238,"line_end":238,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":2701133953}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441930,"byte_end":441941,"line_start":238,"line_end":238,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":1610614913}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":441954,"byte_end":441957,"line_start":238,"line_end":238,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":441943,"byte_end":441952,"line_start":238,"line_end":238,"column_start":80,"column_end":89},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441958,"byte_end":441968,"line_start":238,"line_end":238,"column_start":95,"column_end":105},"ref_id":{"krate":0,"index":2701133953}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441969,"byte_end":441978,"line_start":238,"line_end":238,"column_start":106,"column_end":115},"ref_id":{"krate":0,"index":3559}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441980,"byte_end":441991,"line_start":238,"line_end":238,"column_start":117,"column_end":128},"ref_id":{"krate":0,"index":570427521}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441992,"byte_end":441995,"line_start":238,"line_end":238,"column_start":129,"column_end":132},"ref_id":{"krate":0,"index":3992979585}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":441997,"byte_end":442003,"line_start":238,"line_end":238,"column_start":134,"column_end":140},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442005,"byte_end":442014,"line_start":238,"line_end":238,"column_start":142,"column_end":151},"ref_id":{"krate":0,"index":268437633}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442015,"byte_end":442026,"line_start":238,"line_end":238,"column_start":152,"column_end":163},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442029,"byte_end":442038,"line_start":238,"line_end":238,"column_start":166,"column_end":175},"ref_id":{"krate":0,"index":1342179457}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442075,"byte_end":442077,"line_start":242,"line_end":242,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442078,"byte_end":442087,"line_start":242,"line_end":242,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":268437633}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442126,"byte_end":442129,"line_start":245,"line_end":245,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442130,"byte_end":442146,"line_start":245,"line_end":245,"column_start":35,"column_end":51},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442167,"byte_end":442173,"line_start":245,"line_end":245,"column_start":72,"column_end":78},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442174,"byte_end":442180,"line_start":245,"line_end":245,"column_start":79,"column_end":85},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442182,"byte_end":442190,"line_start":245,"line_end":245,"column_start":87,"column_end":95},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442226,"byte_end":442232,"line_start":246,"line_end":246,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442233,"byte_end":442240,"line_start":246,"line_end":246,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":536873090}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442242,"byte_end":442246,"line_start":246,"line_end":246,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442257,"byte_end":442270,"line_start":246,"line_end":246,"column_start":64,"column_end":77},"ref_id":{"krate":0,"index":4037}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442309,"byte_end":442313,"line_start":248,"line_end":248,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442301,"byte_end":442307,"line_start":248,"line_end":248,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442373,"byte_end":442376,"line_start":250,"line_end":250,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442361,"byte_end":442365,"line_start":250,"line_end":250,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1744832642}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442366,"byte_end":442372,"line_start":250,"line_end":250,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442431,"byte_end":442440,"line_start":251,"line_end":251,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442424,"byte_end":442428,"line_start":251,"line_end":251,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442412,"byte_end":442416,"line_start":251,"line_end":251,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832642}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442417,"byte_end":442423,"line_start":251,"line_end":251,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442464,"byte_end":442472,"line_start":252,"line_end":252,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442457,"byte_end":442463,"line_start":252,"line_end":252,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442520,"byte_end":442526,"line_start":252,"line_end":252,"column_start":76,"column_end":82},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442484,"byte_end":442496,"line_start":252,"line_end":252,"column_start":40,"column_end":52},"ref_id":{"krate":0,"index":2469}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442473,"byte_end":442482,"line_start":252,"line_end":252,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442497,"byte_end":442503,"line_start":252,"line_end":252,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442505,"byte_end":442510,"line_start":252,"line_end":252,"column_start":61,"column_end":66},"ref_id":{"krate":0,"index":1275070594}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442511,"byte_end":442517,"line_start":252,"line_end":252,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442546,"byte_end":442549,"line_start":253,"line_end":253,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":2348812418}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442552,"byte_end":442562,"line_start":253,"line_end":253,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2483030146}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442588,"byte_end":442596,"line_start":254,"line_end":254,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442581,"byte_end":442587,"line_start":254,"line_end":254,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442644,"byte_end":442652,"line_start":258,"line_end":258,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442637,"byte_end":442643,"line_start":258,"line_end":258,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442670,"byte_end":442676,"line_start":259,"line_end":259,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1073744002}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442677,"byte_end":442684,"line_start":259,"line_end":259,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":536873090}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442686,"byte_end":442694,"line_start":259,"line_end":259,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":3913}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442724,"byte_end":442732,"line_start":260,"line_end":260,"column_start":20,"column_end":28},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442717,"byte_end":442723,"line_start":260,"line_end":260,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":442777,"byte_end":442785,"line_start":262,"line_end":262,"column_start":16,"column_end":24},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442770,"byte_end":442776,"line_start":262,"line_end":262,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442801,"byte_end":442803,"line_start":263,"line_end":263,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":442804,"byte_end":442810,"line_start":263,"line_end":263,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":4160751746}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442867,"byte_end":442870,"line_start":267,"line_end":267,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442871,"byte_end":442887,"line_start":267,"line_end":267,"column_start":43,"column_end":59},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442909,"byte_end":442918,"line_start":267,"line_end":267,"column_start":81,"column_end":90},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442927,"byte_end":442930,"line_start":267,"line_end":267,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442931,"byte_end":442937,"line_start":267,"line_end":267,"column_start":103,"column_end":109},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442943,"byte_end":442949,"line_start":267,"line_end":267,"column_start":115,"column_end":121},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442957,"byte_end":442960,"line_start":267,"line_end":267,"column_start":129,"column_end":132},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442966,"byte_end":442969,"line_start":267,"line_end":267,"column_start":138,"column_end":141},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442970,"byte_end":442986,"line_start":267,"line_end":267,"column_start":142,"column_end":158},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":442990,"byte_end":442998,"line_start":267,"line_end":267,"column_start":162,"column_end":170},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443031,"byte_end":443034,"line_start":268,"line_end":268,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443046,"byte_end":443049,"line_start":268,"line_end":268,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443041,"byte_end":443044,"line_start":268,"line_end":268,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443073,"byte_end":443077,"line_start":269,"line_end":269,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443061,"byte_end":443072,"line_start":269,"line_end":269,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":671090819}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443091,"byte_end":443096,"line_start":269,"line_end":269,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443078,"byte_end":443089,"line_start":269,"line_end":269,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443168,"byte_end":443174,"line_start":272,"line_end":272,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443176,"byte_end":443179,"line_start":272,"line_end":272,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443180,"byte_end":443186,"line_start":272,"line_end":272,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443191,"byte_end":443195,"line_start":272,"line_end":272,"column_start":54,"column_end":58},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443214,"byte_end":443217,"line_start":274,"line_end":274,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443209,"byte_end":443213,"line_start":274,"line_end":274,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":268437635}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443245,"byte_end":443249,"line_start":275,"line_end":275,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":268437635}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443288,"byte_end":443298,"line_start":276,"line_end":276,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2826}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443279,"byte_end":443285,"line_start":276,"line_end":276,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2825}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443271,"byte_end":443277,"line_start":276,"line_end":276,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2819}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443346,"byte_end":443356,"line_start":277,"line_end":277,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":33556611}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443406,"byte_end":443410,"line_start":278,"line_end":278,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":443393,"byte_end":443400,"line_start":278,"line_end":278,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443389,"byte_end":443392,"line_start":278,"line_end":278,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1610614915}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443401,"byte_end":443404,"line_start":278,"line_end":278,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":2717911171}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443489,"byte_end":443495,"line_start":280,"line_end":280,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443615,"byte_end":443620,"line_start":283,"line_end":283,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1644169347}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443675,"byte_end":443681,"line_start":284,"line_end":284,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2832}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443667,"byte_end":443672,"line_start":284,"line_end":284,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":2831}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443659,"byte_end":443665,"line_start":284,"line_end":284,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":443744,"byte_end":443748,"line_start":285,"line_end":285,"column_start":56,"column_end":60},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443749,"byte_end":443755,"line_start":285,"line_end":285,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":369100931}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":443729,"byte_end":443741,"line_start":285,"line_end":285,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":201328771}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444072,"byte_end":444078,"line_start":298,"line_end":298,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444105,"byte_end":444109,"line_start":299,"line_end":299,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444093,"byte_end":444104,"line_start":299,"line_end":299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090819}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444155,"byte_end":444159,"line_start":301,"line_end":301,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444143,"byte_end":444154,"line_start":301,"line_end":301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090819}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444209,"byte_end":444221,"line_start":304,"line_end":304,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":201328771}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444190,"byte_end":444194,"line_start":304,"line_end":304,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444261,"byte_end":444264,"line_start":306,"line_end":306,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444265,"byte_end":444268,"line_start":306,"line_end":306,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444281,"byte_end":444284,"line_start":306,"line_end":306,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444276,"byte_end":444279,"line_start":306,"line_end":306,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444324,"byte_end":444327,"line_start":307,"line_end":307,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444317,"byte_end":444323,"line_start":307,"line_end":307,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444350,"byte_end":444354,"line_start":308,"line_end":308,"column_start":20,"column_end":24},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444343,"byte_end":444349,"line_start":308,"line_end":308,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444355,"byte_end":444371,"line_start":308,"line_end":308,"column_start":25,"column_end":41},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444390,"byte_end":444393,"line_start":309,"line_end":309,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444410,"byte_end":444417,"line_start":309,"line_end":309,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444395,"byte_end":444408,"line_start":309,"line_end":309,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444435,"byte_end":444436,"line_start":310,"line_end":310,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444451,"byte_end":444456,"line_start":310,"line_end":310,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444438,"byte_end":444449,"line_start":310,"line_end":310,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444474,"byte_end":444482,"line_start":311,"line_end":311,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444484,"byte_end":444490,"line_start":311,"line_end":311,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444508,"byte_end":444512,"line_start":312,"line_end":312,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444519,"byte_end":444522,"line_start":312,"line_end":312,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444514,"byte_end":444517,"line_start":312,"line_end":312,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444528,"byte_end":444536,"line_start":312,"line_end":312,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444523,"byte_end":444526,"line_start":312,"line_end":312,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444542,"byte_end":444545,"line_start":312,"line_end":312,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444537,"byte_end":444540,"line_start":312,"line_end":312,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444546,"byte_end":444559,"line_start":312,"line_end":312,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444562,"byte_end":444568,"line_start":312,"line_end":312,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444575,"byte_end":444578,"line_start":312,"line_end":312,"column_start":84,"column_end":87},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444570,"byte_end":444573,"line_start":312,"line_end":312,"column_start":79,"column_end":82},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444582,"byte_end":444587,"line_start":312,"line_end":312,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":4039}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444594,"byte_end":444597,"line_start":312,"line_end":312,"column_start":103,"column_end":106},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444589,"byte_end":444592,"line_start":312,"line_end":312,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444673,"byte_end":444676,"line_start":315,"line_end":315,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444677,"byte_end":444691,"line_start":315,"line_end":315,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3878}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444700,"byte_end":444703,"line_start":315,"line_end":315,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444695,"byte_end":444698,"line_start":315,"line_end":315,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444749,"byte_end":444755,"line_start":317,"line_end":317,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1073744003}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444828,"byte_end":444838,"line_start":321,"line_end":321,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":754976899}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444889,"byte_end":444892,"line_start":322,"line_end":322,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444874,"byte_end":444888,"line_start":322,"line_end":322,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":1216350339}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":444966,"byte_end":444974,"line_start":323,"line_end":323,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":444955,"byte_end":444964,"line_start":323,"line_end":323,"column_start":60,"column_end":69},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444975,"byte_end":444989,"line_start":323,"line_end":323,"column_start":80,"column_end":94},"ref_id":{"krate":0,"index":1216350339}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444991,"byte_end":444994,"line_start":323,"line_end":323,"column_start":96,"column_end":99},"ref_id":{"krate":0,"index":1610614915}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":444997,"byte_end":445000,"line_start":323,"line_end":323,"column_start":102,"column_end":105},"ref_id":{"krate":0,"index":2558527619}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445026,"byte_end":445032,"line_start":324,"line_end":324,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3800041603}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445033,"byte_end":445043,"line_start":324,"line_end":324,"column_start":30,"column_end":40},"ref_id":{"krate":0,"index":1686112387}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445045,"byte_end":445048,"line_start":324,"line_end":324,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445086,"byte_end":445093,"line_start":325,"line_end":325,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445071,"byte_end":445084,"line_start":325,"line_end":325,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445086,"byte_end":445093,"line_start":325,"line_end":325,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445071,"byte_end":445084,"line_start":325,"line_end":325,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445136,"byte_end":445140,"line_start":326,"line_end":326,"column_start":38,"column_end":42},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445123,"byte_end":445135,"line_start":326,"line_end":326,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2961180803}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445141,"byte_end":445155,"line_start":326,"line_end":326,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445158,"byte_end":445164,"line_start":326,"line_end":326,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445166,"byte_end":445176,"line_start":326,"line_end":326,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1686112387}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445178,"byte_end":445184,"line_start":326,"line_end":326,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445186,"byte_end":445197,"line_start":326,"line_end":326,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445199,"byte_end":445203,"line_start":326,"line_end":326,"column_start":101,"column_end":105},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445208,"byte_end":445213,"line_start":326,"line_end":326,"column_start":110,"column_end":115},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445249,"byte_end":445260,"line_start":327,"line_end":327,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445325,"byte_end":445330,"line_start":329,"line_end":329,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445310,"byte_end":445323,"line_start":329,"line_end":329,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445325,"byte_end":445330,"line_start":329,"line_end":329,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445310,"byte_end":445323,"line_start":329,"line_end":329,"column_start":21,"column_end":34},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445376,"byte_end":445380,"line_start":330,"line_end":330,"column_start":38,"column_end":42},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445363,"byte_end":445375,"line_start":330,"line_end":330,"column_start":25,"column_end":37},"ref_id":{"krate":0,"index":2961180803}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445381,"byte_end":445395,"line_start":330,"line_end":330,"column_start":43,"column_end":57},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445398,"byte_end":445404,"line_start":330,"line_end":330,"column_start":60,"column_end":66},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445406,"byte_end":445416,"line_start":330,"line_end":330,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":1686112387}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445418,"byte_end":445424,"line_start":330,"line_end":330,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445426,"byte_end":445437,"line_start":330,"line_end":330,"column_start":88,"column_end":99},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445439,"byte_end":445443,"line_start":330,"line_end":330,"column_start":101,"column_end":105},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445445,"byte_end":445446,"line_start":330,"line_end":330,"column_start":107,"column_end":108},"ref_id":{"krate":0,"index":3061844099}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445457,"byte_end":445462,"line_start":330,"line_end":330,"column_start":119,"column_end":124},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445512,"byte_end":445513,"line_start":331,"line_end":331,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":3061844099}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445497,"byte_end":445508,"line_start":331,"line_end":331,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445580,"byte_end":445591,"line_start":334,"line_end":334,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445631,"byte_end":445637,"line_start":335,"line_end":335,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3800041603}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445614,"byte_end":445628,"line_start":335,"line_end":335,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1216350339}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445658,"byte_end":445664,"line_start":336,"line_end":336,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445668,"byte_end":445679,"line_start":336,"line_end":336,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2726299779}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445718,"byte_end":445721,"line_start":337,"line_end":337,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445732,"byte_end":445735,"line_start":337,"line_end":337,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445722,"byte_end":445730,"line_start":337,"line_end":337,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":445844,"byte_end":445848,"line_start":339,"line_end":339,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445829,"byte_end":445843,"line_start":339,"line_end":339,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":1660946563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445849,"byte_end":445861,"line_start":339,"line_end":339,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":1652557955}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445932,"byte_end":445948,"line_start":342,"line_end":342,"column_start":42,"column_end":58},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445967,"byte_end":445970,"line_start":343,"line_end":343,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445987,"byte_end":445994,"line_start":343,"line_end":343,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":445972,"byte_end":445985,"line_start":343,"line_end":343,"column_start":22,"column_end":35},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446012,"byte_end":446013,"line_start":344,"line_end":344,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446028,"byte_end":446033,"line_start":344,"line_end":344,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446015,"byte_end":446026,"line_start":344,"line_end":344,"column_start":20,"column_end":31},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446051,"byte_end":446059,"line_start":345,"line_end":345,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446061,"byte_end":446067,"line_start":345,"line_end":345,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446085,"byte_end":446089,"line_start":346,"line_end":346,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446096,"byte_end":446099,"line_start":346,"line_end":346,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446091,"byte_end":446094,"line_start":346,"line_end":346,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446105,"byte_end":446113,"line_start":346,"line_end":346,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446100,"byte_end":446103,"line_start":346,"line_end":346,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446119,"byte_end":446122,"line_start":346,"line_end":346,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446114,"byte_end":446117,"line_start":346,"line_end":346,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446123,"byte_end":446136,"line_start":346,"line_end":346,"column_start":55,"column_end":68},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446139,"byte_end":446145,"line_start":346,"line_end":346,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446147,"byte_end":446159,"line_start":346,"line_end":346,"column_start":79,"column_end":91},"ref_id":{"krate":0,"index":2961180803}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446161,"byte_end":446166,"line_start":346,"line_end":346,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446176,"byte_end":446187,"line_start":346,"line_end":346,"column_start":108,"column_end":119},"ref_id":{"krate":0,"index":1753221251}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445903,"byte_end":445917,"line_start":342,"line_end":342,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":1216350339}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":445918,"byte_end":445928,"line_start":342,"line_end":342,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3003123843}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446257,"byte_end":446260,"line_start":349,"line_end":349,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446242,"byte_end":446256,"line_start":349,"line_end":349,"column_start":16,"column_end":30},"ref_id":{"krate":0,"index":1660946563}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446294,"byte_end":446297,"line_start":350,"line_end":350,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446308,"byte_end":446311,"line_start":350,"line_end":350,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446298,"byte_end":446306,"line_start":350,"line_end":350,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446439,"byte_end":446443,"line_start":354,"line_end":354,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446427,"byte_end":446438,"line_start":354,"line_end":354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":671090819}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446459,"byte_end":446462,"line_start":354,"line_end":354,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446444,"byte_end":446458,"line_start":354,"line_end":354,"column_start":30,"column_end":44},"ref_id":{"krate":0,"index":1660946563}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446501,"byte_end":446515,"line_start":356,"line_end":356,"column_start":24,"column_end":38},"ref_id":{"krate":0,"index":1660946563}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446546,"byte_end":446549,"line_start":358,"line_end":358,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446542,"byte_end":446545,"line_start":358,"line_end":358,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":1681918083}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446559,"byte_end":446562,"line_start":358,"line_end":358,"column_start":37,"column_end":40},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446601,"byte_end":446604,"line_start":359,"line_end":359,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446615,"byte_end":446618,"line_start":359,"line_end":359,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446605,"byte_end":446613,"line_start":359,"line_end":359,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446740,"byte_end":446746,"line_start":363,"line_end":363,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446728,"byte_end":446739,"line_start":363,"line_end":363,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671090819}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446780,"byte_end":446786,"line_start":363,"line_end":363,"column_start":69,"column_end":75},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446766,"byte_end":446777,"line_start":363,"line_end":363,"column_start":55,"column_end":66},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446752,"byte_end":446755,"line_start":363,"line_end":363,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446748,"byte_end":446751,"line_start":363,"line_end":363,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":1681918083}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446819,"byte_end":446825,"line_start":364,"line_end":364,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446807,"byte_end":446818,"line_start":364,"line_end":364,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":671090819}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446826,"byte_end":446829,"line_start":364,"line_end":364,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1681918083}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446863,"byte_end":446865,"line_start":367,"line_end":367,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446867,"byte_end":446873,"line_start":367,"line_end":367,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3288336515}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446875,"byte_end":446886,"line_start":367,"line_end":367,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":671090819}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":446888,"byte_end":446902,"line_start":367,"line_end":367,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1216350339}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446934,"byte_end":446937,"line_start":369,"line_end":369,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":446948,"byte_end":446951,"line_start":369,"line_end":369,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":446938,"byte_end":446946,"line_start":369,"line_end":369,"column_start":17,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447076,"byte_end":447079,"line_start":373,"line_end":373,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447080,"byte_end":447096,"line_start":373,"line_end":373,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447113,"byte_end":447116,"line_start":373,"line_end":373,"column_start":77,"column_end":80},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447117,"byte_end":447124,"line_start":373,"line_end":373,"column_start":81,"column_end":88},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447130,"byte_end":447136,"line_start":373,"line_end":373,"column_start":94,"column_end":100},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447144,"byte_end":447147,"line_start":373,"line_end":373,"column_start":108,"column_end":111},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447153,"byte_end":447156,"line_start":373,"line_end":373,"column_start":117,"column_end":120},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447157,"byte_end":447173,"line_start":373,"line_end":373,"column_start":121,"column_end":137},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447177,"byte_end":447185,"line_start":373,"line_end":373,"column_start":141,"column_end":149},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447224,"byte_end":447227,"line_start":376,"line_end":376,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447239,"byte_end":447242,"line_start":376,"line_end":376,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447234,"byte_end":447237,"line_start":376,"line_end":376,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447266,"byte_end":447270,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447254,"byte_end":447265,"line_start":377,"line_end":377,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219908}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447284,"byte_end":447289,"line_start":377,"line_end":377,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447271,"byte_end":447282,"line_start":377,"line_end":377,"column_start":26,"column_end":37},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447346,"byte_end":447357,"line_start":381,"line_end":381,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":536873092}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447391,"byte_end":447395,"line_start":382,"line_end":382,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447382,"byte_end":447389,"line_start":382,"line_end":382,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447391,"byte_end":447395,"line_start":382,"line_end":382,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447382,"byte_end":447389,"line_start":382,"line_end":382,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447417,"byte_end":447423,"line_start":383,"line_end":383,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4160751748}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447460,"byte_end":447464,"line_start":384,"line_end":384,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447448,"byte_end":447459,"line_start":384,"line_end":384,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219908}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447531,"byte_end":447535,"line_start":387,"line_end":387,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447519,"byte_end":447530,"line_start":387,"line_end":387,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":134219908}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447597,"byte_end":447600,"line_start":391,"line_end":391,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447601,"byte_end":447604,"line_start":391,"line_end":391,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447617,"byte_end":447620,"line_start":391,"line_end":391,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447612,"byte_end":447615,"line_start":391,"line_end":391,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447656,"byte_end":447659,"line_start":392,"line_end":392,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447649,"byte_end":447655,"line_start":392,"line_end":392,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1073744004}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447678,"byte_end":447682,"line_start":393,"line_end":393,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447671,"byte_end":447677,"line_start":393,"line_end":393,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1073744004}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447683,"byte_end":447699,"line_start":393,"line_end":393,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447714,"byte_end":447717,"line_start":394,"line_end":394,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447734,"byte_end":447741,"line_start":394,"line_end":394,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447719,"byte_end":447732,"line_start":394,"line_end":394,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447755,"byte_end":447756,"line_start":395,"line_end":395,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447771,"byte_end":447776,"line_start":395,"line_end":395,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447758,"byte_end":447769,"line_start":395,"line_end":395,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447790,"byte_end":447798,"line_start":396,"line_end":396,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447800,"byte_end":447806,"line_start":396,"line_end":396,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4160751748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447820,"byte_end":447824,"line_start":397,"line_end":397,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447831,"byte_end":447834,"line_start":397,"line_end":397,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447826,"byte_end":447829,"line_start":397,"line_end":397,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447840,"byte_end":447848,"line_start":397,"line_end":397,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447835,"byte_end":447838,"line_start":397,"line_end":397,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447854,"byte_end":447857,"line_start":397,"line_end":397,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447849,"byte_end":447852,"line_start":397,"line_end":397,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447858,"byte_end":447871,"line_start":397,"line_end":397,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447874,"byte_end":447880,"line_start":397,"line_end":397,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447887,"byte_end":447890,"line_start":397,"line_end":397,"column_start":80,"column_end":83},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447882,"byte_end":447885,"line_start":397,"line_end":397,"column_start":75,"column_end":78},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":447894,"byte_end":447899,"line_start":397,"line_end":397,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":4039}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":447906,"byte_end":447909,"line_start":397,"line_end":397,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447901,"byte_end":447904,"line_start":397,"line_end":397,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447973,"byte_end":447976,"line_start":400,"line_end":400,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447977,"byte_end":447991,"line_start":400,"line_end":400,"column_start":35,"column_end":49},"ref_id":{"krate":0,"index":3878}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448000,"byte_end":448003,"line_start":400,"line_end":400,"column_start":58,"column_end":61},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":447995,"byte_end":447998,"line_start":400,"line_end":400,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448041,"byte_end":448047,"line_start":402,"line_end":402,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073744004}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448104,"byte_end":448115,"line_start":406,"line_end":406,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536873092}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448149,"byte_end":448154,"line_start":407,"line_end":407,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448140,"byte_end":448147,"line_start":407,"line_end":407,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448149,"byte_end":448154,"line_start":407,"line_end":407,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448140,"byte_end":448147,"line_start":407,"line_end":407,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448193,"byte_end":448197,"line_start":408,"line_end":408,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1694500996}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448252,"byte_end":448255,"line_start":409,"line_end":409,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448237,"byte_end":448251,"line_start":409,"line_end":409,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":1493174404}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448333,"byte_end":448342,"line_start":410,"line_end":410,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":2475}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448322,"byte_end":448331,"line_start":410,"line_end":410,"column_start":64,"column_end":73},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448343,"byte_end":448357,"line_start":410,"line_end":410,"column_start":85,"column_end":99},"ref_id":{"krate":0,"index":1493174404}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448365,"byte_end":448368,"line_start":410,"line_end":410,"column_start":107,"column_end":110},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448360,"byte_end":448363,"line_start":410,"line_end":410,"column_start":102,"column_end":105},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448373,"byte_end":448378,"line_start":410,"line_end":410,"column_start":115,"column_end":120},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448369,"byte_end":448372,"line_start":410,"line_end":410,"column_start":111,"column_end":114},"ref_id":{"krate":0,"index":3573549188}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448432,"byte_end":448438,"line_start":412,"line_end":412,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":2063599748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448439,"byte_end":448449,"line_start":412,"line_end":412,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":486541444}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448451,"byte_end":448454,"line_start":412,"line_end":412,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448496,"byte_end":448503,"line_start":413,"line_end":413,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448481,"byte_end":448494,"line_start":413,"line_end":413,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448496,"byte_end":448503,"line_start":413,"line_end":413,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448481,"byte_end":448494,"line_start":413,"line_end":413,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448550,"byte_end":448554,"line_start":414,"line_end":414,"column_start":42,"column_end":46},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448537,"byte_end":448549,"line_start":414,"line_end":414,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":2835351684}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448555,"byte_end":448569,"line_start":414,"line_end":414,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448572,"byte_end":448578,"line_start":414,"line_end":414,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448580,"byte_end":448590,"line_start":414,"line_end":414,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":486541444}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448592,"byte_end":448598,"line_start":414,"line_end":414,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448600,"byte_end":448611,"line_start":414,"line_end":414,"column_start":92,"column_end":103},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448613,"byte_end":448617,"line_start":414,"line_end":414,"column_start":105,"column_end":109},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448622,"byte_end":448627,"line_start":414,"line_end":414,"column_start":114,"column_end":119},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448667,"byte_end":448678,"line_start":415,"line_end":415,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448751,"byte_end":448756,"line_start":417,"line_end":417,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448736,"byte_end":448749,"line_start":417,"line_end":417,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448751,"byte_end":448756,"line_start":417,"line_end":417,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448736,"byte_end":448749,"line_start":417,"line_end":417,"column_start":25,"column_end":38},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":448806,"byte_end":448810,"line_start":418,"line_end":418,"column_start":42,"column_end":46},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448793,"byte_end":448805,"line_start":418,"line_end":418,"column_start":29,"column_end":41},"ref_id":{"krate":0,"index":2835351684}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":448811,"byte_end":448825,"line_start":418,"line_end":418,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448828,"byte_end":448834,"line_start":418,"line_end":418,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448836,"byte_end":448846,"line_start":418,"line_end":418,"column_start":72,"column_end":82},"ref_id":{"krate":0,"index":486541444}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448848,"byte_end":448854,"line_start":418,"line_end":418,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448856,"byte_end":448867,"line_start":418,"line_end":418,"column_start":92,"column_end":103},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448869,"byte_end":448873,"line_start":418,"line_end":418,"column_start":105,"column_end":109},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448875,"byte_end":448876,"line_start":418,"line_end":418,"column_start":111,"column_end":112},"ref_id":{"krate":0,"index":545261700}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448887,"byte_end":448892,"line_start":418,"line_end":418,"column_start":123,"column_end":128},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448946,"byte_end":448947,"line_start":419,"line_end":419,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":545261700}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":448931,"byte_end":448942,"line_start":419,"line_end":419,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449026,"byte_end":449037,"line_start":422,"line_end":422,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449081,"byte_end":449087,"line_start":423,"line_end":423,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":2063599748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449064,"byte_end":449078,"line_start":423,"line_end":423,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":1493174404}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449112,"byte_end":449118,"line_start":424,"line_end":424,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":4160751748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449122,"byte_end":449133,"line_start":424,"line_end":424,"column_start":34,"column_end":45},"ref_id":{"krate":0,"index":989857924}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449176,"byte_end":449179,"line_start":425,"line_end":425,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449190,"byte_end":449193,"line_start":425,"line_end":425,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449180,"byte_end":449188,"line_start":425,"line_end":425,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449310,"byte_end":449314,"line_start":427,"line_end":427,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449295,"byte_end":449309,"line_start":427,"line_end":427,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":1912604804}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449315,"byte_end":449327,"line_start":427,"line_end":427,"column_start":41,"column_end":53},"ref_id":{"krate":0,"index":3137341572}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449406,"byte_end":449409,"line_start":431,"line_end":431,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449420,"byte_end":449423,"line_start":431,"line_end":431,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449410,"byte_end":449418,"line_start":431,"line_end":431,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449562,"byte_end":449578,"line_start":435,"line_end":435,"column_start":38,"column_end":54},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449593,"byte_end":449596,"line_start":436,"line_end":436,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449613,"byte_end":449620,"line_start":436,"line_end":436,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449598,"byte_end":449611,"line_start":436,"line_end":436,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449634,"byte_end":449635,"line_start":437,"line_end":437,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449650,"byte_end":449655,"line_start":437,"line_end":437,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449637,"byte_end":449648,"line_start":437,"line_end":437,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449669,"byte_end":449677,"line_start":438,"line_end":438,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449679,"byte_end":449685,"line_start":438,"line_end":438,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4160751748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449699,"byte_end":449703,"line_start":439,"line_end":439,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449710,"byte_end":449713,"line_start":439,"line_end":439,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449705,"byte_end":449708,"line_start":439,"line_end":439,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449719,"byte_end":449727,"line_start":439,"line_end":439,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449714,"byte_end":449717,"line_start":439,"line_end":439,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449733,"byte_end":449736,"line_start":439,"line_end":439,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449728,"byte_end":449731,"line_start":439,"line_end":439,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449737,"byte_end":449750,"line_start":439,"line_end":439,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449753,"byte_end":449759,"line_start":439,"line_end":439,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449761,"byte_end":449773,"line_start":439,"line_end":439,"column_start":75,"column_end":87},"ref_id":{"krate":0,"index":2835351684}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449775,"byte_end":449780,"line_start":439,"line_end":439,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449790,"byte_end":449801,"line_start":439,"line_end":439,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":2030045316}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449533,"byte_end":449547,"line_start":435,"line_end":435,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":1493174404}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449548,"byte_end":449558,"line_start":435,"line_end":435,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2852128900}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449863,"byte_end":449866,"line_start":442,"line_end":442,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":449848,"byte_end":449862,"line_start":442,"line_end":442,"column_start":12,"column_end":26},"ref_id":{"krate":0,"index":1912604804}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449896,"byte_end":449899,"line_start":443,"line_end":443,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":449910,"byte_end":449913,"line_start":443,"line_end":443,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":449900,"byte_end":449908,"line_start":443,"line_end":443,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450025,"byte_end":450029,"line_start":447,"line_end":447,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450013,"byte_end":450024,"line_start":447,"line_end":447,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":134219908}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450045,"byte_end":450048,"line_start":447,"line_end":447,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450030,"byte_end":450044,"line_start":447,"line_end":447,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":1912604804}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450079,"byte_end":450093,"line_start":449,"line_end":449,"column_start":20,"column_end":34},"ref_id":{"krate":0,"index":1912604804}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450116,"byte_end":450119,"line_start":451,"line_end":451,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450112,"byte_end":450115,"line_start":451,"line_end":451,"column_start":16,"column_end":19},"ref_id":{"krate":0,"index":1937770628}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450129,"byte_end":450132,"line_start":451,"line_end":451,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":24026}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450167,"byte_end":450170,"line_start":452,"line_end":452,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450181,"byte_end":450184,"line_start":452,"line_end":452,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450171,"byte_end":450179,"line_start":452,"line_end":452,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450290,"byte_end":450296,"line_start":456,"line_end":456,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450278,"byte_end":450289,"line_start":456,"line_end":456,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219908}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450330,"byte_end":450336,"line_start":456,"line_end":456,"column_start":65,"column_end":71},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450316,"byte_end":450327,"line_start":456,"line_end":456,"column_start":51,"column_end":62},"ref_id":{"krate":1,"index":24111}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450302,"byte_end":450305,"line_start":456,"line_end":456,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450298,"byte_end":450301,"line_start":456,"line_end":456,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":1937770628}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450365,"byte_end":450371,"line_start":457,"line_end":457,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450353,"byte_end":450364,"line_start":457,"line_end":457,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":134219908}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450372,"byte_end":450375,"line_start":457,"line_end":457,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":1937770628}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450404,"byte_end":450406,"line_start":460,"line_end":460,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450408,"byte_end":450414,"line_start":460,"line_end":460,"column_start":20,"column_end":26},"ref_id":{"krate":0,"index":4160751748}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450416,"byte_end":450427,"line_start":460,"line_end":460,"column_start":28,"column_end":39},"ref_id":{"krate":0,"index":134219908}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450429,"byte_end":450443,"line_start":460,"line_end":460,"column_start":41,"column_end":55},"ref_id":{"krate":0,"index":1493174404}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450519,"byte_end":450522,"line_start":464,"line_end":464,"column_start":61,"column_end":64},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450523,"byte_end":450539,"line_start":464,"line_end":464,"column_start":65,"column_end":81},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450545,"byte_end":450551,"line_start":464,"line_end":464,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450568,"byte_end":450572,"line_start":465,"line_end":465,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450616,"byte_end":450619,"line_start":468,"line_end":468,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450620,"byte_end":450636,"line_start":468,"line_end":468,"column_start":41,"column_end":57},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450679,"byte_end":450682,"line_start":468,"line_end":468,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450683,"byte_end":450699,"line_start":468,"line_end":468,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450728,"byte_end":450733,"line_start":469,"line_end":469,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":1610614918}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450734,"byte_end":450741,"line_start":469,"line_end":469,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873094}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450774,"byte_end":450779,"line_start":471,"line_end":471,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610614918}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450780,"byte_end":450787,"line_start":471,"line_end":471,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536873094}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450828,"byte_end":450834,"line_start":473,"line_end":473,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1073744006}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450884,"byte_end":450887,"line_start":475,"line_end":475,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450869,"byte_end":450883,"line_start":475,"line_end":475,"column_start":33,"column_end":47},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":450914,"byte_end":450918,"line_start":476,"line_end":476,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450899,"byte_end":450913,"line_start":476,"line_end":476,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450919,"byte_end":450935,"line_start":476,"line_end":476,"column_start":29,"column_end":45},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450950,"byte_end":450953,"line_start":477,"line_end":477,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450970,"byte_end":450977,"line_start":477,"line_end":477,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450955,"byte_end":450968,"line_start":477,"line_end":477,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":450991,"byte_end":450992,"line_start":478,"line_end":478,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451007,"byte_end":451012,"line_start":478,"line_end":478,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":450994,"byte_end":451005,"line_start":478,"line_end":478,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451026,"byte_end":451034,"line_start":479,"line_end":479,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451036,"byte_end":451045,"line_start":479,"line_end":479,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":134219910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451064,"byte_end":451068,"line_start":480,"line_end":480,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451075,"byte_end":451078,"line_start":480,"line_end":480,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451070,"byte_end":451073,"line_start":480,"line_end":480,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451084,"byte_end":451092,"line_start":480,"line_end":480,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451079,"byte_end":451082,"line_start":480,"line_end":480,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451098,"byte_end":451101,"line_start":480,"line_end":480,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451093,"byte_end":451096,"line_start":480,"line_end":480,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451102,"byte_end":451115,"line_start":480,"line_end":480,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451118,"byte_end":451124,"line_start":480,"line_end":480,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4038}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451131,"byte_end":451134,"line_start":480,"line_end":480,"column_start":80,"column_end":83},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451126,"byte_end":451129,"line_start":480,"line_end":480,"column_start":75,"column_end":78},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451138,"byte_end":451143,"line_start":480,"line_end":480,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":4039}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451150,"byte_end":451153,"line_start":480,"line_end":480,"column_start":99,"column_end":102},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451145,"byte_end":451148,"line_start":480,"line_end":480,"column_start":94,"column_end":97},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451217,"byte_end":451220,"line_start":483,"line_end":483,"column_start":31,"column_end":34},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451221,"byte_end":451235,"line_start":483,"line_end":483,"column_start":35,"column_end":49},"ref_id":{"krate":0,"index":3878}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451244,"byte_end":451247,"line_start":483,"line_end":483,"column_start":58,"column_end":61},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451239,"byte_end":451242,"line_start":483,"line_end":483,"column_start":53,"column_end":56},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451277,"byte_end":451284,"line_start":485,"line_end":485,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":536873094}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451348,"byte_end":451370,"line_start":489,"line_end":489,"column_start":19,"column_end":41},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451348,"byte_end":451349,"line_start":489,"line_end":489,"column_start":19,"column_end":20},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451351,"byte_end":451370,"line_start":489,"line_end":489,"column_start":22,"column_end":41},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451351,"byte_end":451361,"line_start":489,"line_end":489,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1476397190}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451409,"byte_end":451422,"line_start":491,"line_end":491,"column_start":36,"column_end":49},"ref_id":{"krate":1,"index":24117}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451441,"byte_end":451446,"line_start":492,"line_end":492,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614918}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451447,"byte_end":451453,"line_start":492,"line_end":492,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4127197318}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451472,"byte_end":451477,"line_start":493,"line_end":493,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1610614918}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451478,"byte_end":451484,"line_start":493,"line_end":493,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4127197318}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451559,"byte_end":451562,"line_start":495,"line_end":495,"column_start":45,"column_end":48},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451544,"byte_end":451558,"line_start":495,"line_end":495,"column_start":30,"column_end":44},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451615,"byte_end":451625,"line_start":496,"line_end":496,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451604,"byte_end":451613,"line_start":496,"line_end":496,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451626,"byte_end":451640,"line_start":496,"line_end":496,"column_start":61,"column_end":75},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451642,"byte_end":451648,"line_start":496,"line_end":496,"column_start":77,"column_end":83},"ref_id":{"krate":0,"index":4127197318}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451654,"byte_end":451659,"line_start":496,"line_end":496,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":1610614918}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451680,"byte_end":451686,"line_start":497,"line_end":497,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3439331462}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451687,"byte_end":451697,"line_start":497,"line_end":497,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1157630086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451699,"byte_end":451702,"line_start":497,"line_end":497,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451736,"byte_end":451743,"line_start":498,"line_end":498,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451721,"byte_end":451734,"line_start":498,"line_end":498,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451736,"byte_end":451743,"line_start":498,"line_end":498,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451721,"byte_end":451734,"line_start":498,"line_end":498,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":451782,"byte_end":451786,"line_start":499,"line_end":499,"column_start":34,"column_end":38},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451769,"byte_end":451781,"line_start":499,"line_end":499,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":369100934}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451787,"byte_end":451801,"line_start":499,"line_end":499,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451804,"byte_end":451810,"line_start":499,"line_end":499,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451812,"byte_end":451822,"line_start":499,"line_end":499,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1157630086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451824,"byte_end":451830,"line_start":499,"line_end":499,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451832,"byte_end":451843,"line_start":499,"line_end":499,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451845,"byte_end":451849,"line_start":499,"line_end":499,"column_start":97,"column_end":101},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451854,"byte_end":451859,"line_start":499,"line_end":499,"column_start":106,"column_end":111},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451891,"byte_end":451902,"line_start":500,"line_end":500,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451959,"byte_end":451964,"line_start":502,"line_end":502,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451944,"byte_end":451957,"line_start":502,"line_end":502,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451959,"byte_end":451964,"line_start":502,"line_end":502,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":3850}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":451944,"byte_end":451957,"line_start":502,"line_end":502,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3847}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452006,"byte_end":452010,"line_start":503,"line_end":503,"column_start":34,"column_end":38},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":451993,"byte_end":452005,"line_start":503,"line_end":503,"column_start":21,"column_end":33},"ref_id":{"krate":0,"index":369100934}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452011,"byte_end":452025,"line_start":503,"line_end":503,"column_start":39,"column_end":53},"ref_id":{"krate":0,"index":3878}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452028,"byte_end":452034,"line_start":503,"line_end":503,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452036,"byte_end":452046,"line_start":503,"line_end":503,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1157630086}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452048,"byte_end":452054,"line_start":503,"line_end":503,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452056,"byte_end":452067,"line_start":503,"line_end":503,"column_start":84,"column_end":95},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452069,"byte_end":452073,"line_start":503,"line_end":503,"column_start":97,"column_end":101},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452075,"byte_end":452076,"line_start":503,"line_end":503,"column_start":103,"column_end":104},"ref_id":{"krate":0,"index":2600470662}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452087,"byte_end":452092,"line_start":503,"line_end":503,"column_start":115,"column_end":120},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452138,"byte_end":452139,"line_start":504,"line_end":504,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2600470662}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452123,"byte_end":452134,"line_start":504,"line_end":504,"column_start":21,"column_end":32},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452194,"byte_end":452205,"line_start":507,"line_end":507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452241,"byte_end":452247,"line_start":508,"line_end":508,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3439331462}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452224,"byte_end":452238,"line_start":508,"line_end":508,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452272,"byte_end":452283,"line_start":510,"line_end":510,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":3640658054}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452262,"byte_end":452268,"line_start":510,"line_end":510,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4127197318}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452344,"byte_end":452360,"line_start":513,"line_end":513,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452375,"byte_end":452378,"line_start":514,"line_end":514,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452395,"byte_end":452402,"line_start":514,"line_end":514,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452380,"byte_end":452393,"line_start":514,"line_end":514,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452416,"byte_end":452417,"line_start":515,"line_end":515,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452432,"byte_end":452437,"line_start":515,"line_end":515,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452419,"byte_end":452430,"line_start":515,"line_end":515,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452451,"byte_end":452459,"line_start":516,"line_end":516,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452461,"byte_end":452470,"line_start":516,"line_end":516,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":134219910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452489,"byte_end":452493,"line_start":517,"line_end":517,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452500,"byte_end":452503,"line_start":517,"line_end":517,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452495,"byte_end":452498,"line_start":517,"line_end":517,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452509,"byte_end":452517,"line_start":517,"line_end":517,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":370}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452504,"byte_end":452507,"line_start":517,"line_end":517,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":315}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452523,"byte_end":452526,"line_start":517,"line_end":517,"column_start":47,"column_end":50},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452518,"byte_end":452521,"line_start":517,"line_end":517,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452527,"byte_end":452540,"line_start":517,"line_end":517,"column_start":51,"column_end":64},"ref_id":{"krate":0,"index":4037}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452543,"byte_end":452549,"line_start":517,"line_end":517,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452551,"byte_end":452563,"line_start":517,"line_end":517,"column_start":75,"column_end":87},"ref_id":{"krate":0,"index":369100934}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452565,"byte_end":452570,"line_start":517,"line_end":517,"column_start":89,"column_end":94},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452580,"byte_end":452591,"line_start":517,"line_end":517,"column_start":104,"column_end":115},"ref_id":{"krate":0,"index":3456108678}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452308,"byte_end":452322,"line_start":513,"line_end":513,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452323,"byte_end":452340,"line_start":513,"line_end":513,"column_start":24,"column_end":41},"ref_id":{"krate":0,"index":1677723782}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452636,"byte_end":452645,"line_start":520,"line_end":520,"column_start":10,"column_end":19},"ref_id":{"krate":0,"index":134219910}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452652,"byte_end":452666,"line_start":520,"line_end":520,"column_start":26,"column_end":40},"ref_id":{"krate":0,"index":4160751750}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452720,"byte_end":452726,"line_start":527,"line_end":527,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452731,"byte_end":452739,"line_start":527,"line_end":527,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452842,"byte_end":452845,"line_start":529,"line_end":529,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452830,"byte_end":452840,"line_start":529,"line_end":529,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452823,"byte_end":452828,"line_start":529,"line_end":529,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452846,"byte_end":452852,"line_start":529,"line_end":529,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":536874604}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452871,"byte_end":452877,"line_start":530,"line_end":530,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874604}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452894,"byte_end":452900,"line_start":530,"line_end":530,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452879,"byte_end":452886,"line_start":530,"line_end":530,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753260}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452887,"byte_end":452893,"line_start":530,"line_end":530,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452944,"byte_end":452953,"line_start":531,"line_end":531,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452932,"byte_end":452942,"line_start":531,"line_end":531,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":452925,"byte_end":452930,"line_start":531,"line_end":531,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":452962,"byte_end":452981,"line_start":531,"line_end":531,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":452954,"byte_end":452961,"line_start":531,"line_end":531,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753260}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453002,"byte_end":453008,"line_start":532,"line_end":532,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874604}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453026,"byte_end":453032,"line_start":532,"line_end":532,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453010,"byte_end":453018,"line_start":532,"line_end":532,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2432700012}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453019,"byte_end":453025,"line_start":532,"line_end":532,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453162,"byte_end":453165,"line_start":535,"line_end":535,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453150,"byte_end":453160,"line_start":535,"line_end":535,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453143,"byte_end":453148,"line_start":535,"line_end":535,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453166,"byte_end":453172,"line_start":535,"line_end":535,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1526730348}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453191,"byte_end":453197,"line_start":536,"line_end":536,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730348}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453214,"byte_end":453220,"line_start":536,"line_end":536,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453199,"byte_end":453206,"line_start":536,"line_end":536,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2936016492}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453207,"byte_end":453213,"line_start":536,"line_end":536,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":4186}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453264,"byte_end":453273,"line_start":537,"line_end":537,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453252,"byte_end":453262,"line_start":537,"line_end":537,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453245,"byte_end":453250,"line_start":537,"line_end":537,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453282,"byte_end":453301,"line_start":537,"line_end":537,"column_start":57,"column_end":76},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453274,"byte_end":453281,"line_start":537,"line_end":537,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2936016492}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453322,"byte_end":453328,"line_start":538,"line_end":538,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":1526730348}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453346,"byte_end":453352,"line_start":538,"line_end":538,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453330,"byte_end":453338,"line_start":538,"line_end":538,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4202696300}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453339,"byte_end":453345,"line_start":538,"line_end":538,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453362,"byte_end":453364,"line_start":539,"line_end":539,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453409,"byte_end":453415,"line_start":543,"line_end":543,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453420,"byte_end":453428,"line_start":543,"line_end":543,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453574,"byte_end":453584,"line_start":545,"line_end":545,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453567,"byte_end":453572,"line_start":545,"line_end":545,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453595,"byte_end":453601,"line_start":545,"line_end":545,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874608}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453620,"byte_end":453626,"line_start":546,"line_end":546,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874608}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453628,"byte_end":453635,"line_start":546,"line_end":546,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4160753264}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453706,"byte_end":453715,"line_start":547,"line_end":547,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453694,"byte_end":453704,"line_start":547,"line_end":547,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453687,"byte_end":453692,"line_start":547,"line_end":547,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453716,"byte_end":453723,"line_start":547,"line_end":547,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4160753264}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453764,"byte_end":453770,"line_start":548,"line_end":548,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":536874608}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453799,"byte_end":453808,"line_start":548,"line_end":548,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":453788,"byte_end":453795,"line_start":548,"line_end":548,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453772,"byte_end":453780,"line_start":548,"line_end":548,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":3506441840}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":453781,"byte_end":453787,"line_start":548,"line_end":548,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453984,"byte_end":453994,"line_start":551,"line_end":551,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":453977,"byte_end":453982,"line_start":551,"line_end":551,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454005,"byte_end":454011,"line_start":551,"line_end":551,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2063601264}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454030,"byte_end":454036,"line_start":552,"line_end":552,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063601264}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454038,"byte_end":454045,"line_start":552,"line_end":552,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":2667581040}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":454116,"byte_end":454125,"line_start":553,"line_end":553,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":2795}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454104,"byte_end":454114,"line_start":553,"line_end":553,"column_start":27,"column_end":37},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454097,"byte_end":454102,"line_start":553,"line_end":553,"column_start":20,"column_end":25},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454126,"byte_end":454133,"line_start":553,"line_end":553,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2667581040}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454174,"byte_end":454180,"line_start":554,"line_end":554,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":2063601264}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":454209,"byte_end":454218,"line_start":554,"line_end":554,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":2552}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":454198,"byte_end":454205,"line_start":554,"line_end":554,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2470}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454182,"byte_end":454190,"line_start":554,"line_end":554,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2793410160}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454191,"byte_end":454197,"line_start":554,"line_end":554,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454227,"byte_end":454229,"line_start":555,"line_end":555,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454291,"byte_end":454297,"line_start":560,"line_end":560,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454302,"byte_end":454310,"line_start":560,"line_end":560,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454441,"byte_end":454451,"line_start":562,"line_end":562,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454434,"byte_end":454439,"line_start":562,"line_end":562,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454462,"byte_end":454468,"line_start":562,"line_end":562,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874612}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454493,"byte_end":454500,"line_start":563,"line_end":563,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753268}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454512,"byte_end":454516,"line_start":563,"line_end":563,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454523,"byte_end":454529,"line_start":564,"line_end":564,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454568,"byte_end":454574,"line_start":565,"line_end":565,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454597,"byte_end":454601,"line_start":565,"line_end":565,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454628,"byte_end":454634,"line_start":566,"line_end":566,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454667,"byte_end":454673,"line_start":566,"line_end":566,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454720,"byte_end":454726,"line_start":567,"line_end":567,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454771,"byte_end":454777,"line_start":568,"line_end":568,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454793,"byte_end":454799,"line_start":569,"line_end":569,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548020}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":454808,"byte_end":454812,"line_start":569,"line_end":569,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454831,"byte_end":454837,"line_start":570,"line_end":570,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454882,"byte_end":454888,"line_start":572,"line_end":572,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548020}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":454994,"byte_end":455000,"line_start":573,"line_end":573,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455023,"byte_end":455027,"line_start":573,"line_end":573,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455087,"byte_end":455094,"line_start":574,"line_end":574,"column_start":51,"column_end":58},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455065,"byte_end":455070,"line_start":574,"line_end":574,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":3412}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455072,"byte_end":455079,"line_start":574,"line_end":574,"column_start":36,"column_end":43},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455081,"byte_end":455085,"line_start":574,"line_end":574,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1114}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455052,"byte_end":455058,"line_start":574,"line_end":574,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455106,"byte_end":455110,"line_start":574,"line_end":574,"column_start":70,"column_end":74},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":455142,"byte_end":455153,"line_start":574,"line_end":574,"column_start":106,"column_end":117},"ref_id":{"krate":0,"index":1202}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455133,"byte_end":455140,"line_start":574,"line_end":574,"column_start":97,"column_end":104},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455111,"byte_end":455116,"line_start":574,"line_end":574,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":3412}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455118,"byte_end":455125,"line_start":574,"line_end":574,"column_start":82,"column_end":89},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455127,"byte_end":455131,"line_start":574,"line_end":574,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1114}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455212,"byte_end":455218,"line_start":575,"line_end":575,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548020}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455239,"byte_end":455243,"line_start":575,"line_end":575,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455257,"byte_end":455259,"line_start":577,"line_end":577,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455304,"byte_end":455310,"line_start":581,"line_end":581,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455315,"byte_end":455323,"line_start":581,"line_end":581,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455478,"byte_end":455488,"line_start":583,"line_end":583,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455471,"byte_end":455476,"line_start":583,"line_end":583,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455499,"byte_end":455505,"line_start":583,"line_end":583,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":536874616}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455530,"byte_end":455537,"line_start":584,"line_end":584,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4160753272}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455549,"byte_end":455553,"line_start":584,"line_end":584,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455560,"byte_end":455566,"line_start":585,"line_end":585,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548024}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455597,"byte_end":455603,"line_start":586,"line_end":586,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548024}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455744,"byte_end":455750,"line_start":587,"line_end":587,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548024}},{"kind":"Function","span":{"file_name":"src/collection/tuple.rs","byte_start":455820,"byte_end":455828,"line_start":588,"line_end":588,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":1197}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455811,"byte_end":455818,"line_start":588,"line_end":588,"column_start":38,"column_end":45},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":455789,"byte_end":455794,"line_start":588,"line_end":588,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":3412}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455796,"byte_end":455803,"line_start":588,"line_end":588,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/collection/tuple.rs","byte_start":455805,"byte_end":455809,"line_start":588,"line_end":588,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":1114}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455838,"byte_end":455844,"line_start":589,"line_end":589,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548024}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455858,"byte_end":455862,"line_start":589,"line_end":589,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":587206264}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455870,"byte_end":455876,"line_start":590,"line_end":590,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":335548024}},{"kind":"Variable","span":{"file_name":"src/collection/tuple.rs","byte_start":455912,"byte_end":455918,"line_start":591,"line_end":591,"column_start":16,"column_end":22},"ref_id":{"krate":0,"index":335548024}},{"kind":"Type","span":{"file_name":"src/collection/tuple.rs","byte_start":456095,"byte_end":456097,"line_start":593,"line_end":593,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21938,"byte_end":21944,"line_start":331,"line_end":331,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2183}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456154,"byte_end":456159,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2567}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4072}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456204,"byte_end":456213,"line_start":4,"line_end":4,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3545}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456222,"byte_end":456229,"line_start":4,"line_end":4,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456183,"byte_end":456188,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456249,"byte_end":456255,"line_start":4,"line_end":4,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4037}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456344,"byte_end":456349,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456351,"byte_end":456357,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456371,"byte_end":456376,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4190}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456371,"byte_end":456376,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3736}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456393,"byte_end":456399,"line_start":6,"line_end":6,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456419,"byte_end":456424,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456427,"byte_end":456433,"line_start":7,"line_end":7,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2591}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":456419,"byte_end":456424,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2742}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456446,"byte_end":456451,"line_start":7,"line_end":7,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2711}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456467,"byte_end":456472,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3684}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456474,"byte_end":456484,"line_start":8,"line_end":8,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456486,"byte_end":456491,"line_start":8,"line_end":8,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2084}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456508,"byte_end":456513,"line_start":10,"line_end":10,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456516,"byte_end":456523,"line_start":10,"line_end":10,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456543,"byte_end":456548,"line_start":11,"line_end":11,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3615}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456551,"byte_end":456561,"line_start":11,"line_end":11,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456563,"byte_end":456566,"line_start":11,"line_end":11,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":1866}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456581,"byte_end":456586,"line_start":12,"line_end":12,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456589,"byte_end":456596,"line_start":12,"line_end":12,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456613,"byte_end":456618,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456620,"byte_end":456627,"line_start":13,"line_end":13,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456644,"byte_end":456649,"line_start":14,"line_end":14,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456652,"byte_end":456658,"line_start":14,"line_end":14,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456644,"byte_end":456649,"line_start":14,"line_end":14,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3571}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456678,"byte_end":456688,"line_start":14,"line_end":14,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456690,"byte_end":456695,"line_start":14,"line_end":14,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":1743}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456713,"byte_end":456718,"line_start":15,"line_end":15,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456720,"byte_end":456723,"line_start":15,"line_end":15,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456734,"byte_end":456739,"line_start":16,"line_end":16,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456742,"byte_end":456752,"line_start":16,"line_end":16,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":3656}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456755,"byte_end":456759,"line_start":16,"line_end":16,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1966}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456776,"byte_end":456781,"line_start":17,"line_end":17,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456783,"byte_end":456788,"line_start":17,"line_end":17,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456804,"byte_end":456809,"line_start":18,"line_end":18,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456812,"byte_end":456821,"line_start":18,"line_end":18,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":456837,"byte_end":456842,"line_start":19,"line_end":19,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":663}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456844,"byte_end":456849,"line_start":19,"line_end":19,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":456851,"byte_end":456857,"line_start":19,"line_end":19,"column_start":19,"column_end":25},"ref_id":{"krate":5,"index":624}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457070,"byte_end":457073,"line_start":26,"line_end":26,"column_start":45,"column_end":48},"ref_id":{"krate":1,"index":16311}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":457059,"byte_end":457063,"line_start":26,"line_end":26,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/buffer.rs","byte_start":457065,"byte_end":457068,"line_start":26,"line_end":26,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":72}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457407,"byte_end":457416,"line_start":39,"line_end":39,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457485,"byte_end":457494,"line_start":42,"line_end":42,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457405,"line_start":39,"line_end":39,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457458,"byte_end":457465,"line_start":41,"line_end":41,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457483,"line_start":42,"line_end":42,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457399,"byte_end":457416,"line_start":39,"line_end":39,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457454,"byte_end":457471,"line_start":41,"line_end":41,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457477,"byte_end":457494,"line_start":42,"line_end":42,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3708}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":3705}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457510,"byte_end":457514,"line_start":45,"line_end":45,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457653,"byte_end":457662,"line_start":51,"line_end":51,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457645,"byte_end":457651,"line_start":51,"line_end":51,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"ref_id":{"krate":0,"index":3713}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457805,"byte_end":457808,"line_start":58,"line_end":58,"column_start":34,"column_end":37},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457792,"byte_end":457802,"line_start":58,"line_end":58,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457780,"byte_end":457784,"line_start":58,"line_end":58,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744104}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457785,"byte_end":457791,"line_start":58,"line_end":58,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3714}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":457939,"byte_end":457945,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457927,"byte_end":457931,"line_start":64,"line_end":64,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744105}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":457932,"byte_end":457938,"line_start":64,"line_end":64,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458215,"byte_end":458218,"line_start":71,"line_end":71,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":458245,"byte_end":458249,"line_start":72,"line_end":72,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":2644}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458233,"byte_end":458237,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744106}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458238,"byte_end":458244,"line_start":72,"line_end":72,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":3705}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458322,"byte_end":458331,"line_start":79,"line_end":79,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458371,"byte_end":458380,"line_start":81,"line_end":81,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458395,"byte_end":458401,"line_start":82,"line_end":82,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3708}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":458414,"byte_end":458417,"line_start":82,"line_end":82,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":458403,"byte_end":458412,"line_start":82,"line_end":82,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458418,"byte_end":458424,"line_start":82,"line_end":82,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458425,"byte_end":458429,"line_start":82,"line_end":82,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458450,"byte_end":458457,"line_start":83,"line_end":83,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458459,"byte_end":458465,"line_start":83,"line_end":83,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458466,"byte_end":458476,"line_start":83,"line_end":83,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":4131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458490,"byte_end":458496,"line_start":84,"line_end":84,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":458498,"byte_end":458504,"line_start":84,"line_end":84,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1073744108}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459390,"byte_end":459396,"line_start":112,"line_end":112,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459397,"byte_end":459404,"line_start":112,"line_end":112,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459406,"byte_end":459414,"line_start":112,"line_end":112,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459457,"byte_end":459463,"line_start":114,"line_end":114,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459446,"byte_end":459455,"line_start":114,"line_end":114,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459465,"byte_end":459469,"line_start":114,"line_end":114,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744109}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459470,"byte_end":459476,"line_start":114,"line_end":114,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459490,"byte_end":459495,"line_start":114,"line_end":114,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459478,"byte_end":459482,"line_start":114,"line_end":114,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744109}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459483,"byte_end":459489,"line_start":114,"line_end":114,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459513,"byte_end":459517,"line_start":114,"line_end":114,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873197}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459547,"byte_end":459559,"line_start":116,"line_end":116,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":2483030253}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459537,"byte_end":459541,"line_start":116,"line_end":116,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459601,"byte_end":459604,"line_start":118,"line_end":118,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459594,"byte_end":459599,"line_start":118,"line_end":118,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":4072}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459630,"byte_end":459636,"line_start":120,"line_end":120,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459621,"byte_end":459629,"line_start":120,"line_end":120,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":469764333}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459645,"byte_end":459649,"line_start":120,"line_end":120,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459637,"byte_end":459643,"line_start":120,"line_end":120,"column_start":29,"column_end":35},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":459671,"byte_end":459682,"line_start":120,"line_end":120,"column_start":63,"column_end":74},"ref_id":{"krate":0,"index":1713}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459660,"byte_end":459669,"line_start":120,"line_end":120,"column_start":52,"column_end":61},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459687,"byte_end":459688,"line_start":120,"line_end":120,"column_start":79,"column_end":80},"ref_id":{"krate":0,"index":872417517}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459691,"byte_end":459695,"line_start":120,"line_end":120,"column_start":83,"column_end":87},"ref_id":{"krate":0,"index":1073744109}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459696,"byte_end":459702,"line_start":120,"line_end":120,"column_start":88,"column_end":94},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459723,"byte_end":459725,"line_start":122,"line_end":122,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459735,"byte_end":459745,"line_start":122,"line_end":122,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459726,"byte_end":459733,"line_start":122,"line_end":122,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":459746,"byte_end":459754,"line_start":122,"line_end":122,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":469764333}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459786,"byte_end":459788,"line_start":124,"line_end":124,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459798,"byte_end":459802,"line_start":124,"line_end":124,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":459789,"byte_end":459796,"line_start":124,"line_end":124,"column_start":16,"column_end":23},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":460794,"byte_end":460812,"line_start":152,"line_end":152,"column_start":28,"column_end":46},"ref_id":{"krate":0,"index":3713}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":460823,"byte_end":460841,"line_start":153,"line_end":153,"column_start":9,"column_end":27},"ref_id":{"krate":0,"index":3713}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460844,"byte_end":460850,"line_start":153,"line_end":153,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3714}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460852,"byte_end":460856,"line_start":153,"line_end":153,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744110}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460857,"byte_end":460863,"line_start":153,"line_end":153,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461004,"byte_end":461014,"line_start":159,"line_end":159,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460992,"byte_end":460996,"line_start":159,"line_end":159,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744111}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":460997,"byte_end":461003,"line_start":159,"line_end":159,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461538,"byte_end":461544,"line_start":166,"line_end":166,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461551,"byte_end":461559,"line_start":166,"line_end":166,"column_start":66,"column_end":74},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461602,"byte_end":461608,"line_start":168,"line_end":168,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461591,"byte_end":461600,"line_start":168,"line_end":168,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461610,"byte_end":461614,"line_start":168,"line_end":168,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461615,"byte_end":461621,"line_start":168,"line_end":168,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461635,"byte_end":461640,"line_start":168,"line_end":168,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461623,"byte_end":461627,"line_start":168,"line_end":168,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461628,"byte_end":461634,"line_start":168,"line_end":168,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461644,"byte_end":461648,"line_start":168,"line_end":168,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461649,"byte_end":461656,"line_start":168,"line_end":168,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461665,"byte_end":461669,"line_start":168,"line_end":168,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873200}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461712,"byte_end":461724,"line_start":170,"line_end":170,"column_start":39,"column_end":51},"ref_id":{"krate":0,"index":3556772080}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461702,"byte_end":461706,"line_start":170,"line_end":170,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461739,"byte_end":461740,"line_start":171,"line_end":171,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":4093642992}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461777,"byte_end":461779,"line_start":173,"line_end":173,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461822,"byte_end":461828,"line_start":176,"line_end":176,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":1107298544}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461808,"byte_end":461812,"line_start":176,"line_end":176,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744112}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461813,"byte_end":461819,"line_start":176,"line_end":176,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3708}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461839,"byte_end":461841,"line_start":178,"line_end":178,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":461998,"byte_end":462001,"line_start":184,"line_end":184,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":461987,"byte_end":461996,"line_start":184,"line_end":184,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462002,"byte_end":462006,"line_start":184,"line_end":184,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462007,"byte_end":462013,"line_start":184,"line_end":184,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":462014,"byte_end":462018,"line_start":184,"line_end":184,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461973,"byte_end":461977,"line_start":184,"line_end":184,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744113}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":461978,"byte_end":461984,"line_start":184,"line_end":184,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3708}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463838,"byte_end":463844,"line_start":233,"line_end":233,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463851,"byte_end":463859,"line_start":233,"line_end":233,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":463874,"byte_end":463878,"line_start":234,"line_end":234,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":463879,"byte_end":463886,"line_start":234,"line_end":234,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463917,"byte_end":463920,"line_start":235,"line_end":235,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463931,"byte_end":463945,"line_start":235,"line_end":235,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463921,"byte_end":463929,"line_start":235,"line_end":235,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":463996,"byte_end":464002,"line_start":238,"line_end":238,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":463985,"byte_end":463994,"line_start":238,"line_end":238,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464004,"byte_end":464008,"line_start":238,"line_end":238,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464009,"byte_end":464015,"line_start":238,"line_end":238,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":464029,"byte_end":464034,"line_start":238,"line_end":238,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464017,"byte_end":464021,"line_start":238,"line_end":238,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464022,"byte_end":464028,"line_start":238,"line_end":238,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464038,"byte_end":464042,"line_start":238,"line_end":238,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464043,"byte_end":464050,"line_start":238,"line_end":238,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464059,"byte_end":464063,"line_start":238,"line_end":238,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873202}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464081,"byte_end":464093,"line_start":239,"line_end":239,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1006635250}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464108,"byte_end":464112,"line_start":240,"line_end":240,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464108,"byte_end":464112,"line_start":240,"line_end":240,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464137,"byte_end":464139,"line_start":241,"line_end":241,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":464151,"byte_end":464158,"line_start":241,"line_end":241,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1711}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464140,"byte_end":464149,"line_start":241,"line_end":241,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464159,"byte_end":464160,"line_start":241,"line_end":241,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":33556722}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464163,"byte_end":464167,"line_start":241,"line_end":241,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744114}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":464168,"byte_end":464174,"line_start":241,"line_end":241,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464204,"byte_end":464208,"line_start":243,"line_end":243,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464204,"byte_end":464208,"line_start":243,"line_end":243,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":464212,"byte_end":464214,"line_start":243,"line_end":243,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466043,"byte_end":466049,"line_start":293,"line_end":293,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466056,"byte_end":466064,"line_start":293,"line_end":293,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466080,"byte_end":466084,"line_start":295,"line_end":295,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466085,"byte_end":466092,"line_start":295,"line_end":295,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466123,"byte_end":466126,"line_start":296,"line_end":296,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466137,"byte_end":466151,"line_start":296,"line_end":296,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466127,"byte_end":466135,"line_start":296,"line_end":296,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466202,"byte_end":466208,"line_start":299,"line_end":299,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466191,"byte_end":466200,"line_start":299,"line_end":299,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466210,"byte_end":466214,"line_start":299,"line_end":299,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466215,"byte_end":466221,"line_start":299,"line_end":299,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466235,"byte_end":466240,"line_start":299,"line_end":299,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466223,"byte_end":466227,"line_start":299,"line_end":299,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466228,"byte_end":466234,"line_start":299,"line_end":299,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466244,"byte_end":466248,"line_start":299,"line_end":299,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466249,"byte_end":466256,"line_start":299,"line_end":299,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466265,"byte_end":466269,"line_start":299,"line_end":299,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873203}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466287,"byte_end":466299,"line_start":300,"line_end":300,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1006635251}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466314,"byte_end":466318,"line_start":301,"line_end":301,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466314,"byte_end":466318,"line_start":301,"line_end":301,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466343,"byte_end":466345,"line_start":302,"line_end":302,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":466357,"byte_end":466364,"line_start":302,"line_end":302,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":1712}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466346,"byte_end":466355,"line_start":302,"line_end":302,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466365,"byte_end":466366,"line_start":302,"line_end":302,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":33556723}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466369,"byte_end":466373,"line_start":302,"line_end":302,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744115}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":466374,"byte_end":466380,"line_start":302,"line_end":302,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466410,"byte_end":466414,"line_start":304,"line_end":304,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466410,"byte_end":466414,"line_start":304,"line_end":304,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":466418,"byte_end":466420,"line_start":304,"line_end":304,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467616,"byte_end":467624,"line_start":333,"line_end":333,"column_start":102,"column_end":110},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467633,"byte_end":467642,"line_start":333,"line_end":333,"column_start":119,"column_end":128},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467613,"byte_end":467614,"line_start":333,"line_end":333,"column_start":99,"column_end":100},"ref_id":{"krate":0,"index":2294}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467578,"byte_end":467579,"line_start":333,"line_end":333,"column_start":64,"column_end":65},"ref_id":{"krate":0,"index":2294}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467584,"byte_end":467590,"line_start":333,"line_end":333,"column_start":70,"column_end":76},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467597,"byte_end":467605,"line_start":333,"line_end":333,"column_start":83,"column_end":91},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467663,"byte_end":467667,"line_start":335,"line_end":335,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467668,"byte_end":467675,"line_start":335,"line_end":335,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467706,"byte_end":467709,"line_start":336,"line_end":336,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467720,"byte_end":467734,"line_start":336,"line_end":336,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467710,"byte_end":467718,"line_start":336,"line_end":336,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467786,"byte_end":467792,"line_start":339,"line_end":339,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467775,"byte_end":467784,"line_start":339,"line_end":339,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467794,"byte_end":467798,"line_start":339,"line_end":339,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467799,"byte_end":467805,"line_start":339,"line_end":339,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467819,"byte_end":467824,"line_start":339,"line_end":339,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467807,"byte_end":467811,"line_start":339,"line_end":339,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467812,"byte_end":467818,"line_start":339,"line_end":339,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467828,"byte_end":467832,"line_start":339,"line_end":339,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467833,"byte_end":467840,"line_start":339,"line_end":339,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467849,"byte_end":467853,"line_start":339,"line_end":339,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873204}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467871,"byte_end":467883,"line_start":340,"line_end":340,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":4227860724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467898,"byte_end":467902,"line_start":341,"line_end":341,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467898,"byte_end":467902,"line_start":341,"line_end":341,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":467980,"byte_end":467988,"line_start":344,"line_end":344,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":467977,"byte_end":467978,"line_start":344,"line_end":344,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2294}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468008,"byte_end":468018,"line_start":344,"line_end":344,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":467996,"byte_end":468000,"line_start":344,"line_end":344,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468001,"byte_end":468007,"line_start":344,"line_end":344,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468019,"byte_end":468020,"line_start":344,"line_end":344,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3254782196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468021,"byte_end":468032,"line_start":344,"line_end":344,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468034,"byte_end":468035,"line_start":344,"line_end":344,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468119,"byte_end":468127,"line_start":345,"line_end":345,"column_start":82,"column_end":90},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468155,"byte_end":468163,"line_start":346,"line_end":346,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468151,"byte_end":468154,"line_start":346,"line_end":346,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080820}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468167,"byte_end":468175,"line_start":346,"line_end":346,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468164,"byte_end":468165,"line_start":346,"line_end":346,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2294}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468206,"byte_end":468214,"line_start":347,"line_end":347,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468202,"byte_end":468205,"line_start":347,"line_end":347,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080820}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468267,"byte_end":468275,"line_start":348,"line_end":348,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468263,"byte_end":468266,"line_start":348,"line_end":348,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080820}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468316,"byte_end":468329,"line_start":348,"line_end":348,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2454}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468288,"byte_end":468298,"line_start":348,"line_end":348,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468276,"byte_end":468280,"line_start":348,"line_end":348,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468281,"byte_end":468287,"line_start":348,"line_end":348,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468299,"byte_end":468300,"line_start":348,"line_end":348,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":3254782196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468301,"byte_end":468312,"line_start":348,"line_end":348,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468314,"byte_end":468315,"line_start":348,"line_end":348,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468360,"byte_end":468368,"line_start":349,"line_end":349,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468356,"byte_end":468359,"line_start":349,"line_end":349,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":973080820}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468404,"byte_end":468407,"line_start":350,"line_end":350,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468418,"byte_end":468421,"line_start":350,"line_end":350,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468408,"byte_end":468416,"line_start":350,"line_end":350,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468422,"byte_end":468425,"line_start":350,"line_end":350,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":973080820}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468467,"byte_end":468468,"line_start":353,"line_end":353,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3254782196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468469,"byte_end":468480,"line_start":353,"line_end":353,"column_start":22,"column_end":33},"ref_id":{"krate":0,"index":3564}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468502,"byte_end":468507,"line_start":353,"line_end":353,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":3548}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468484,"byte_end":468500,"line_start":353,"line_end":353,"column_start":37,"column_end":53},"ref_id":{"krate":0,"index":3545}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468542,"byte_end":468553,"line_start":354,"line_end":354,"column_start":33,"column_end":44},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468530,"byte_end":468534,"line_start":354,"line_end":354,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468535,"byte_end":468541,"line_start":354,"line_end":354,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468556,"byte_end":468557,"line_start":354,"line_end":354,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":3254782196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468558,"byte_end":468567,"line_start":354,"line_end":354,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":3559}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":468616,"byte_end":468625,"line_start":357,"line_end":357,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468613,"byte_end":468614,"line_start":357,"line_end":357,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2294}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468626,"byte_end":468627,"line_start":357,"line_end":357,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":3254782196}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468630,"byte_end":468634,"line_start":357,"line_end":357,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744116}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468635,"byte_end":468641,"line_start":357,"line_end":357,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":468643,"byte_end":468648,"line_start":357,"line_end":357,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1610615028}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468668,"byte_end":468670,"line_start":358,"line_end":358,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468703,"byte_end":468707,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468703,"byte_end":468707,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":468711,"byte_end":468713,"line_start":360,"line_end":360,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470206,"byte_end":470210,"line_start":397,"line_end":397,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470211,"byte_end":470217,"line_start":397,"line_end":397,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470258,"byte_end":470259,"line_start":397,"line_end":397,"column_start":81,"column_end":82},"ref_id":{"krate":0,"index":2296}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470264,"byte_end":470270,"line_start":397,"line_end":397,"column_start":87,"column_end":93},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470277,"byte_end":470285,"line_start":397,"line_end":397,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470301,"byte_end":470305,"line_start":399,"line_end":399,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744119}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470306,"byte_end":470313,"line_start":399,"line_end":399,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470344,"byte_end":470347,"line_start":400,"line_end":400,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470358,"byte_end":470372,"line_start":400,"line_end":400,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470348,"byte_end":470356,"line_start":400,"line_end":400,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470423,"byte_end":470429,"line_start":403,"line_end":403,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470412,"byte_end":470421,"line_start":403,"line_end":403,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470431,"byte_end":470435,"line_start":403,"line_end":403,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744119}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470436,"byte_end":470442,"line_start":403,"line_end":403,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470456,"byte_end":470461,"line_start":403,"line_end":403,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470444,"byte_end":470448,"line_start":403,"line_end":403,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744119}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470449,"byte_end":470455,"line_start":403,"line_end":403,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470465,"byte_end":470469,"line_start":403,"line_end":403,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":1073744119}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470470,"byte_end":470477,"line_start":403,"line_end":403,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":3707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470486,"byte_end":470490,"line_start":403,"line_end":403,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":536873207}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470508,"byte_end":470520,"line_start":404,"line_end":404,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":2080377079}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470535,"byte_end":470539,"line_start":405,"line_end":405,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470535,"byte_end":470539,"line_start":405,"line_end":405,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470577,"byte_end":470588,"line_start":406,"line_end":406,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":2567}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470600,"byte_end":470604,"line_start":406,"line_end":406,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":2929}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470589,"byte_end":470599,"line_start":406,"line_end":406,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":1610615031}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470633,"byte_end":470639,"line_start":408,"line_end":408,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":2046822647}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470680,"byte_end":470684,"line_start":409,"line_end":409,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470671,"byte_end":470678,"line_start":409,"line_end":409,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470680,"byte_end":470684,"line_start":409,"line_end":409,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470671,"byte_end":470678,"line_start":409,"line_end":409,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470721,"byte_end":470724,"line_start":410,"line_end":410,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470735,"byte_end":470738,"line_start":410,"line_end":410,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470725,"byte_end":470733,"line_start":410,"line_end":410,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470870,"byte_end":470883,"line_start":413,"line_end":413,"column_start":36,"column_end":49},"ref_id":{"krate":0,"index":1716}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":470859,"byte_end":470868,"line_start":413,"line_end":413,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470894,"byte_end":470895,"line_start":413,"line_end":413,"column_start":60,"column_end":61},"ref_id":{"krate":0,"index":1107298551}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470898,"byte_end":470902,"line_start":413,"line_end":413,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744119}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470903,"byte_end":470909,"line_start":413,"line_end":413,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":470937,"byte_end":470942,"line_start":413,"line_end":413,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":470921,"byte_end":470927,"line_start":413,"line_end":413,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":2046822647}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471022,"byte_end":471024,"line_start":417,"line_end":417,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471057,"byte_end":471061,"line_start":419,"line_end":419,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471057,"byte_end":471061,"line_start":419,"line_end":419,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":471065,"byte_end":471067,"line_start":419,"line_end":419,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476234,"byte_end":476240,"line_start":568,"line_end":568,"column_start":71,"column_end":77},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476241,"byte_end":476247,"line_start":568,"line_end":568,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476248,"byte_end":476267,"line_start":568,"line_end":568,"column_start":85,"column_end":104},"ref_id":{"krate":0,"index":2342}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476277,"byte_end":476285,"line_start":568,"line_end":568,"column_start":114,"column_end":122},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476321,"byte_end":476327,"line_start":570,"line_end":570,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476310,"byte_end":476319,"line_start":570,"line_end":570,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476329,"byte_end":476333,"line_start":570,"line_end":570,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744121}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476334,"byte_end":476340,"line_start":570,"line_end":570,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476354,"byte_end":476359,"line_start":570,"line_end":570,"column_start":65,"column_end":70},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476342,"byte_end":476346,"line_start":570,"line_end":570,"column_start":53,"column_end":57},"ref_id":{"krate":0,"index":1073744121}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476347,"byte_end":476353,"line_start":570,"line_end":570,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476377,"byte_end":476381,"line_start":570,"line_end":570,"column_start":88,"column_end":92},"ref_id":{"krate":0,"index":536873209}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476423,"byte_end":476428,"line_start":572,"line_end":572,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":2483030265}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476413,"byte_end":476417,"line_start":572,"line_end":572,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476443,"byte_end":476444,"line_start":573,"line_end":573,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019901177}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476481,"byte_end":476483,"line_start":575,"line_end":575,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476484,"byte_end":476488,"line_start":575,"line_end":575,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476534,"byte_end":476543,"line_start":578,"line_end":578,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476528,"byte_end":476533,"line_start":578,"line_end":578,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2181040377}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476545,"byte_end":476549,"line_start":578,"line_end":578,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744121}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476550,"byte_end":476556,"line_start":578,"line_end":578,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476613,"byte_end":476627,"line_start":581,"line_end":581,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476602,"byte_end":476612,"line_start":581,"line_end":581,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":838863097}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476656,"byte_end":476658,"line_start":582,"line_end":582,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476659,"byte_end":476663,"line_start":582,"line_end":582,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476685,"byte_end":476687,"line_start":585,"line_end":585,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476688,"byte_end":476692,"line_start":585,"line_end":585,"column_start":12,"column_end":16},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":476714,"byte_end":476717,"line_start":585,"line_end":585,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2350}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":476693,"byte_end":476712,"line_start":585,"line_end":585,"column_start":17,"column_end":36},"ref_id":{"krate":0,"index":2342}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476718,"byte_end":476723,"line_start":585,"line_end":585,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":2181040377}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476726,"byte_end":476730,"line_start":585,"line_end":585,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744121}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":476731,"byte_end":476737,"line_start":585,"line_end":585,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478938,"byte_end":478946,"line_start":639,"line_end":639,"column_start":117,"column_end":125},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478956,"byte_end":478965,"line_start":639,"line_end":639,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478935,"byte_end":478936,"line_start":639,"line_end":639,"column_start":114,"column_end":115},"ref_id":{"krate":0,"index":2301}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478893,"byte_end":478894,"line_start":639,"line_end":639,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":2301}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478899,"byte_end":478905,"line_start":639,"line_end":639,"column_start":78,"column_end":84},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478906,"byte_end":478912,"line_start":639,"line_end":639,"column_start":85,"column_end":91},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":478919,"byte_end":478927,"line_start":639,"line_end":639,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":478987,"byte_end":478991,"line_start":641,"line_end":641,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":478992,"byte_end":478999,"line_start":641,"line_end":641,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479030,"byte_end":479033,"line_start":642,"line_end":642,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479044,"byte_end":479058,"line_start":642,"line_end":642,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479034,"byte_end":479042,"line_start":642,"line_end":642,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479105,"byte_end":479108,"line_start":645,"line_end":645,"column_start":35,"column_end":38},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479100,"byte_end":479104,"line_start":645,"line_end":645,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":536873211}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479130,"byte_end":479135,"line_start":645,"line_end":645,"column_start":60,"column_end":65},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479118,"byte_end":479122,"line_start":645,"line_end":645,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479123,"byte_end":479129,"line_start":645,"line_end":645,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":3708}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479164,"byte_end":479170,"line_start":645,"line_end":645,"column_start":94,"column_end":100},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479153,"byte_end":479162,"line_start":645,"line_end":645,"column_start":83,"column_end":92},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479172,"byte_end":479176,"line_start":645,"line_end":645,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479177,"byte_end":479183,"line_start":645,"line_end":645,"column_start":107,"column_end":113},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479197,"byte_end":479202,"line_start":645,"line_end":645,"column_start":127,"column_end":132},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479185,"byte_end":479189,"line_start":645,"line_end":645,"column_start":115,"column_end":119},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479190,"byte_end":479196,"line_start":645,"line_end":645,"column_start":120,"column_end":126},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479219,"byte_end":479223,"line_start":645,"line_end":645,"column_start":149,"column_end":153},"ref_id":{"krate":0,"index":536873211}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479240,"byte_end":479244,"line_start":646,"line_end":646,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479240,"byte_end":479244,"line_start":646,"line_end":646,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479251,"byte_end":479252,"line_start":646,"line_end":646,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":1375734011}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479266,"byte_end":479270,"line_start":647,"line_end":647,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479266,"byte_end":479270,"line_start":647,"line_end":647,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479281,"byte_end":479283,"line_start":647,"line_end":647,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479284,"byte_end":479288,"line_start":647,"line_end":647,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479336,"byte_end":479346,"line_start":650,"line_end":650,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479324,"byte_end":479328,"line_start":650,"line_end":650,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479329,"byte_end":479335,"line_start":650,"line_end":650,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479347,"byte_end":479358,"line_start":650,"line_end":650,"column_start":45,"column_end":56},"ref_id":{"krate":0,"index":973080827}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479359,"byte_end":479370,"line_start":650,"line_end":650,"column_start":57,"column_end":68},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479388,"byte_end":479394,"line_start":652,"line_end":652,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3858761979}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479395,"byte_end":479396,"line_start":652,"line_end":652,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479424,"byte_end":479428,"line_start":653,"line_end":653,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479411,"byte_end":479422,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479424,"byte_end":479428,"line_start":653,"line_end":653,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479411,"byte_end":479422,"line_start":653,"line_end":653,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479475,"byte_end":479481,"line_start":655,"line_end":655,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":3858761979}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479482,"byte_end":479486,"line_start":655,"line_end":655,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479497,"byte_end":479513,"line_start":655,"line_end":655,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479544,"byte_end":479548,"line_start":657,"line_end":657,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3187673339}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479549,"byte_end":479554,"line_start":657,"line_end":657,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479622,"byte_end":479632,"line_start":659,"line_end":659,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479610,"byte_end":479614,"line_start":659,"line_end":659,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479615,"byte_end":479621,"line_start":659,"line_end":659,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479633,"byte_end":479635,"line_start":659,"line_end":659,"column_start":57,"column_end":59},"ref_id":{"krate":0,"index":3238004987}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479707,"byte_end":479715,"line_start":662,"line_end":662,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479704,"byte_end":479705,"line_start":662,"line_end":662,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2301}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479723,"byte_end":479732,"line_start":662,"line_end":662,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1895827707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479733,"byte_end":479734,"line_start":662,"line_end":662,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479818,"byte_end":479826,"line_start":663,"line_end":663,"column_start":82,"column_end":90},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479854,"byte_end":479862,"line_start":664,"line_end":664,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479850,"byte_end":479853,"line_start":664,"line_end":664,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529083}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479866,"byte_end":479874,"line_start":664,"line_end":664,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":479863,"byte_end":479864,"line_start":664,"line_end":664,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2301}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479905,"byte_end":479913,"line_start":665,"line_end":665,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479901,"byte_end":479904,"line_start":665,"line_end":665,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529083}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479966,"byte_end":479974,"line_start":666,"line_end":666,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479962,"byte_end":479965,"line_start":666,"line_end":666,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529083}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":479987,"byte_end":480000,"line_start":666,"line_end":666,"column_start":46,"column_end":59},"ref_id":{"krate":0,"index":2454}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479975,"byte_end":479984,"line_start":666,"line_end":666,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":1895827707}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":479985,"byte_end":479986,"line_start":666,"line_end":666,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480031,"byte_end":480039,"line_start":667,"line_end":667,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480027,"byte_end":480030,"line_start":667,"line_end":667,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":4177529083}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480075,"byte_end":480078,"line_start":668,"line_end":668,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480089,"byte_end":480092,"line_start":668,"line_end":668,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480079,"byte_end":480087,"line_start":668,"line_end":668,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480093,"byte_end":480096,"line_start":668,"line_end":668,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":4177529083}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480157,"byte_end":480160,"line_start":671,"line_end":671,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480171,"byte_end":480174,"line_start":671,"line_end":671,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480161,"byte_end":480169,"line_start":671,"line_end":671,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480248,"byte_end":480252,"line_start":674,"line_end":674,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":2060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480239,"byte_end":480246,"line_start":674,"line_end":674,"column_start":15,"column_end":22},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480254,"byte_end":480265,"line_start":674,"line_end":674,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":973080827}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480268,"byte_end":480272,"line_start":674,"line_end":674,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480273,"byte_end":480279,"line_start":674,"line_end":674,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480281,"byte_end":480285,"line_start":674,"line_end":674,"column_start":57,"column_end":61},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480302,"byte_end":480306,"line_start":675,"line_end":675,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480302,"byte_end":480306,"line_start":675,"line_end":675,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":480355,"byte_end":480364,"line_start":676,"line_end":676,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480352,"byte_end":480353,"line_start":676,"line_end":676,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2301}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480365,"byte_end":480378,"line_start":676,"line_end":676,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":2155874555}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480381,"byte_end":480385,"line_start":676,"line_end":676,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744123}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480386,"byte_end":480392,"line_start":676,"line_end":676,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480394,"byte_end":480399,"line_start":676,"line_end":676,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":1610615035}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480419,"byte_end":480421,"line_start":677,"line_end":677,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480422,"byte_end":480426,"line_start":677,"line_end":677,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":480427,"byte_end":480432,"line_start":677,"line_end":677,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":8390907}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480462,"byte_end":480466,"line_start":679,"line_end":679,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480462,"byte_end":480466,"line_start":679,"line_end":679,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480470,"byte_end":480472,"line_start":679,"line_end":679,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":480473,"byte_end":480477,"line_start":679,"line_end":679,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483628,"byte_end":483634,"line_start":779,"line_end":779,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483635,"byte_end":483641,"line_start":779,"line_end":779,"column_start":55,"column_end":61},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483650,"byte_end":483658,"line_start":779,"line_end":779,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483700,"byte_end":483706,"line_start":780,"line_end":780,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483689,"byte_end":483698,"line_start":780,"line_end":780,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483708,"byte_end":483712,"line_start":780,"line_end":780,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483713,"byte_end":483719,"line_start":780,"line_end":780,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483733,"byte_end":483738,"line_start":780,"line_end":780,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483721,"byte_end":483725,"line_start":780,"line_end":780,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483726,"byte_end":483732,"line_start":780,"line_end":780,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483756,"byte_end":483760,"line_start":780,"line_end":780,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873214}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483809,"byte_end":483821,"line_start":782,"line_end":782,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2483030270}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483799,"byte_end":483803,"line_start":782,"line_end":782,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483836,"byte_end":483837,"line_start":783,"line_end":783,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3019901182}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483874,"byte_end":483876,"line_start":785,"line_end":785,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":483877,"byte_end":483881,"line_start":785,"line_end":785,"column_start":23,"column_end":27},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483958,"byte_end":483972,"line_start":788,"line_end":788,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":1650}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":483934,"byte_end":483943,"line_start":788,"line_end":788,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483921,"byte_end":483933,"line_start":788,"line_end":788,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":2181040382}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483945,"byte_end":483949,"line_start":788,"line_end":788,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483950,"byte_end":483956,"line_start":788,"line_end":788,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484010,"byte_end":484020,"line_start":790,"line_end":790,"column_start":34,"column_end":44},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":483998,"byte_end":484002,"line_start":790,"line_end":790,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484003,"byte_end":484009,"line_start":790,"line_end":790,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484021,"byte_end":484033,"line_start":790,"line_end":790,"column_start":45,"column_end":57},"ref_id":{"krate":0,"index":2181040382}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484034,"byte_end":484045,"line_start":790,"line_end":790,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484063,"byte_end":484069,"line_start":792,"line_end":792,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484070,"byte_end":484071,"line_start":792,"line_end":792,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484099,"byte_end":484103,"line_start":793,"line_end":793,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484086,"byte_end":484097,"line_start":793,"line_end":793,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484099,"byte_end":484103,"line_start":793,"line_end":793,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484086,"byte_end":484097,"line_start":793,"line_end":793,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484128,"byte_end":484138,"line_start":794,"line_end":794,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1912604926}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484173,"byte_end":484175,"line_start":795,"line_end":795,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484176,"byte_end":484180,"line_start":795,"line_end":795,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484242,"byte_end":484248,"line_start":798,"line_end":798,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484249,"byte_end":484253,"line_start":798,"line_end":798,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484264,"byte_end":484280,"line_start":798,"line_end":798,"column_start":63,"column_end":79},"ref_id":{"krate":0,"index":4031}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484311,"byte_end":484315,"line_start":800,"line_end":800,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4261415166}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484316,"byte_end":484321,"line_start":800,"line_end":800,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":4032}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484365,"byte_end":484373,"line_start":802,"line_end":802,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":2056}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484356,"byte_end":484363,"line_start":802,"line_end":802,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484374,"byte_end":484384,"line_start":802,"line_end":802,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":1912604926}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484396,"byte_end":484400,"line_start":802,"line_end":802,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484401,"byte_end":484407,"line_start":802,"line_end":802,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484452,"byte_end":484460,"line_start":803,"line_end":803,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":2040}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484442,"byte_end":484451,"line_start":803,"line_end":803,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":1761609982}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484492,"byte_end":484501,"line_start":804,"line_end":804,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":83888382}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484529,"byte_end":484531,"line_start":805,"line_end":805,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484532,"byte_end":484536,"line_start":805,"line_end":805,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484615,"byte_end":484618,"line_start":807,"line_end":807,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484604,"byte_end":484613,"line_start":807,"line_end":807,"column_start":39,"column_end":48},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484619,"byte_end":484628,"line_start":807,"line_end":807,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":83888382}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484630,"byte_end":484632,"line_start":807,"line_end":807,"column_start":65,"column_end":67},"ref_id":{"krate":0,"index":2701134078}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484634,"byte_end":484646,"line_start":807,"line_end":807,"column_start":69,"column_end":81},"ref_id":{"krate":0,"index":2181040382}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484647,"byte_end":484658,"line_start":807,"line_end":807,"column_start":82,"column_end":93},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484711,"byte_end":484720,"line_start":808,"line_end":808,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484699,"byte_end":484710,"line_start":808,"line_end":808,"column_start":39,"column_end":50},"ref_id":{"krate":0,"index":3170896126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484722,"byte_end":484726,"line_start":808,"line_end":808,"column_start":62,"column_end":66},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484727,"byte_end":484733,"line_start":808,"line_end":808,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484756,"byte_end":484758,"line_start":809,"line_end":809,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484759,"byte_end":484763,"line_start":809,"line_end":809,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":484776,"byte_end":484785,"line_start":809,"line_end":809,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":1655}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484764,"byte_end":484775,"line_start":809,"line_end":809,"column_start":29,"column_end":40},"ref_id":{"krate":0,"index":318769406}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484861,"byte_end":484864,"line_start":812,"line_end":812,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484848,"byte_end":484859,"line_start":812,"line_end":812,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484861,"byte_end":484864,"line_start":812,"line_end":812,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484848,"byte_end":484859,"line_start":812,"line_end":812,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":484889,"byte_end":484899,"line_start":813,"line_end":813,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":1912604926}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484934,"byte_end":484936,"line_start":814,"line_end":814,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":484937,"byte_end":484941,"line_start":814,"line_end":814,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485067,"byte_end":485075,"line_start":818,"line_end":818,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485059,"byte_end":485065,"line_start":818,"line_end":818,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485077,"byte_end":485089,"line_start":818,"line_end":818,"column_start":58,"column_end":70},"ref_id":{"krate":0,"index":2181040382}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485092,"byte_end":485096,"line_start":818,"line_end":818,"column_start":73,"column_end":77},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485097,"byte_end":485103,"line_start":818,"line_end":818,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485169,"byte_end":485178,"line_start":820,"line_end":820,"column_start":63,"column_end":72},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485160,"byte_end":485168,"line_start":820,"line_end":820,"column_start":54,"column_end":62},"ref_id":{"krate":0,"index":545261822}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485180,"byte_end":485184,"line_start":820,"line_end":820,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485185,"byte_end":485191,"line_start":820,"line_end":820,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485137,"byte_end":485141,"line_start":820,"line_end":820,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485219,"byte_end":485224,"line_start":821,"line_end":821,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":788531454}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485288,"byte_end":485290,"line_start":825,"line_end":825,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485291,"byte_end":485295,"line_start":825,"line_end":825,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485296,"byte_end":485301,"line_start":825,"line_end":825,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":788531454}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485344,"byte_end":485350,"line_start":827,"line_end":827,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485331,"byte_end":485342,"line_start":827,"line_end":827,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485344,"byte_end":485350,"line_start":827,"line_end":827,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485331,"byte_end":485342,"line_start":827,"line_end":827,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485396,"byte_end":485402,"line_start":828,"line_end":828,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485403,"byte_end":485407,"line_start":828,"line_end":828,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485418,"byte_end":485432,"line_start":828,"line_end":828,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485453,"byte_end":485455,"line_start":829,"line_end":829,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485456,"byte_end":485460,"line_start":829,"line_end":829,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485473,"byte_end":485476,"line_start":829,"line_end":829,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485461,"byte_end":485465,"line_start":829,"line_end":829,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2189428990}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485466,"byte_end":485472,"line_start":829,"line_end":829,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":4025}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485521,"byte_end":485526,"line_start":831,"line_end":831,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485508,"byte_end":485519,"line_start":831,"line_end":831,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485521,"byte_end":485526,"line_start":831,"line_end":831,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485508,"byte_end":485519,"line_start":831,"line_end":831,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485572,"byte_end":485578,"line_start":832,"line_end":832,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485579,"byte_end":485583,"line_start":832,"line_end":832,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485594,"byte_end":485607,"line_start":832,"line_end":832,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485628,"byte_end":485630,"line_start":833,"line_end":833,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485631,"byte_end":485635,"line_start":833,"line_end":833,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485648,"byte_end":485651,"line_start":833,"line_end":833,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485636,"byte_end":485640,"line_start":833,"line_end":833,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":2256537854}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485641,"byte_end":485647,"line_start":833,"line_end":833,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":4038}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485696,"byte_end":485701,"line_start":835,"line_end":835,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485683,"byte_end":485694,"line_start":835,"line_end":835,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485696,"byte_end":485701,"line_start":835,"line_end":835,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485683,"byte_end":485694,"line_start":835,"line_end":835,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485748,"byte_end":485754,"line_start":837,"line_end":837,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485755,"byte_end":485759,"line_start":837,"line_end":837,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485770,"byte_end":485783,"line_start":837,"line_end":837,"column_start":63,"column_end":76},"ref_id":{"krate":0,"index":3996}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485816,"byte_end":485820,"line_start":839,"line_end":839,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2172651774}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485821,"byte_end":485825,"line_start":839,"line_end":839,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485856,"byte_end":485860,"line_start":841,"line_end":841,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":3783264510}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485887,"byte_end":485889,"line_start":842,"line_end":842,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":485890,"byte_end":485894,"line_start":842,"line_end":842,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485895,"byte_end":485899,"line_start":842,"line_end":842,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3783264510}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486020,"byte_end":486029,"line_start":844,"line_end":844,"column_start":85,"column_end":94},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":485987,"byte_end":485998,"line_start":844,"line_end":844,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485975,"byte_end":485979,"line_start":844,"line_end":844,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485980,"byte_end":485986,"line_start":844,"line_end":844,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":485999,"byte_end":486009,"line_start":844,"line_end":844,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1912604926}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486062,"byte_end":486064,"line_start":845,"line_end":845,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486065,"byte_end":486069,"line_start":845,"line_end":845,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486075,"byte_end":486088,"line_start":845,"line_end":845,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486090,"byte_end":486102,"line_start":845,"line_end":845,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":3045067006}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486189,"byte_end":486199,"line_start":849,"line_end":849,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486176,"byte_end":486187,"line_start":849,"line_end":849,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486189,"byte_end":486199,"line_start":849,"line_end":849,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486176,"byte_end":486187,"line_start":849,"line_end":849,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486246,"byte_end":486252,"line_start":851,"line_end":851,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":2583693566}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486253,"byte_end":486257,"line_start":851,"line_end":851,"column_start":48,"column_end":52},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486268,"byte_end":486282,"line_start":851,"line_end":851,"column_start":63,"column_end":77},"ref_id":{"krate":0,"index":3987}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486315,"byte_end":486319,"line_start":853,"line_end":853,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":1803553022}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486320,"byte_end":486324,"line_start":853,"line_end":853,"column_start":33,"column_end":37},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486358,"byte_end":486362,"line_start":855,"line_end":855,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":998246654}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486389,"byte_end":486391,"line_start":856,"line_end":856,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486392,"byte_end":486396,"line_start":856,"line_end":856,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486397,"byte_end":486401,"line_start":856,"line_end":856,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":998246654}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486522,"byte_end":486531,"line_start":858,"line_end":858,"column_start":85,"column_end":94},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486489,"byte_end":486500,"line_start":858,"line_end":858,"column_start":52,"column_end":63},"ref_id":{"krate":0,"index":2632}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486477,"byte_end":486481,"line_start":858,"line_end":858,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486482,"byte_end":486488,"line_start":858,"line_end":858,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486501,"byte_end":486511,"line_start":858,"line_end":858,"column_start":64,"column_end":74},"ref_id":{"krate":0,"index":1912604926}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486564,"byte_end":486566,"line_start":859,"line_end":859,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486567,"byte_end":486571,"line_start":859,"line_end":859,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":486577,"byte_end":486590,"line_start":859,"line_end":859,"column_start":34,"column_end":47},"ref_id":{"krate":1,"index":24219}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":486592,"byte_end":486604,"line_start":859,"line_end":859,"column_start":49,"column_end":61},"ref_id":{"krate":0,"index":1077938430}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486690,"byte_end":486692,"line_start":864,"line_end":864,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":486693,"byte_end":486697,"line_start":864,"line_end":864,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487568,"byte_end":487574,"line_start":893,"line_end":893,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487581,"byte_end":487589,"line_start":893,"line_end":893,"column_start":58,"column_end":66},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487605,"byte_end":487609,"line_start":895,"line_end":895,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487610,"byte_end":487617,"line_start":895,"line_end":895,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487648,"byte_end":487651,"line_start":896,"line_end":896,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487662,"byte_end":487676,"line_start":896,"line_end":896,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487652,"byte_end":487660,"line_start":896,"line_end":896,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487727,"byte_end":487733,"line_start":899,"line_end":899,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487716,"byte_end":487725,"line_start":899,"line_end":899,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487735,"byte_end":487739,"line_start":899,"line_end":899,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487740,"byte_end":487746,"line_start":899,"line_end":899,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487760,"byte_end":487765,"line_start":899,"line_end":899,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487748,"byte_end":487752,"line_start":899,"line_end":899,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487753,"byte_end":487759,"line_start":899,"line_end":899,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487783,"byte_end":487787,"line_start":899,"line_end":899,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873217}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487814,"byte_end":487826,"line_start":901,"line_end":901,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":1543506177}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487841,"byte_end":487845,"line_start":902,"line_end":902,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487841,"byte_end":487845,"line_start":902,"line_end":902,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":487881,"byte_end":487887,"line_start":903,"line_end":903,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487870,"byte_end":487879,"line_start":903,"line_end":903,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487888,"byte_end":487889,"line_start":903,"line_end":903,"column_start":35,"column_end":36},"ref_id":{"krate":0,"index":2080377089}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487892,"byte_end":487896,"line_start":903,"line_end":903,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744129}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":487897,"byte_end":487903,"line_start":903,"line_end":903,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487931,"byte_end":487935,"line_start":905,"line_end":905,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487931,"byte_end":487935,"line_start":905,"line_end":905,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":487939,"byte_end":487941,"line_start":905,"line_end":905,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488814,"byte_end":488820,"line_start":929,"line_end":929,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488821,"byte_end":488827,"line_start":929,"line_end":929,"column_start":60,"column_end":66},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488828,"byte_end":488839,"line_start":929,"line_end":929,"column_start":67,"column_end":78},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488842,"byte_end":488850,"line_start":929,"line_end":929,"column_start":81,"column_end":89},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":488880,"byte_end":488886,"line_start":931,"line_end":931,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488869,"byte_end":488878,"line_start":931,"line_end":931,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488888,"byte_end":488892,"line_start":931,"line_end":931,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488893,"byte_end":488899,"line_start":931,"line_end":931,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":488913,"byte_end":488918,"line_start":931,"line_end":931,"column_start":59,"column_end":64},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488901,"byte_end":488905,"line_start":931,"line_end":931,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488906,"byte_end":488912,"line_start":931,"line_end":931,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488935,"byte_end":488939,"line_start":931,"line_end":931,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":536873218}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488956,"byte_end":488960,"line_start":932,"line_end":932,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488956,"byte_end":488960,"line_start":932,"line_end":932,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488985,"byte_end":488987,"line_start":933,"line_end":933,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":488988,"byte_end":488992,"line_start":933,"line_end":933,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":489005,"byte_end":489015,"line_start":933,"line_end":933,"column_start":37,"column_end":47},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488993,"byte_end":488997,"line_start":933,"line_end":933,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1073744130}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":488998,"byte_end":489004,"line_start":933,"line_end":933,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489016,"byte_end":489017,"line_start":933,"line_end":933,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":335546626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489018,"byte_end":489029,"line_start":933,"line_end":933,"column_start":50,"column_end":61},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":489031,"byte_end":489032,"line_start":933,"line_end":933,"column_start":63,"column_end":64},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489061,"byte_end":489065,"line_start":935,"line_end":935,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489061,"byte_end":489065,"line_start":935,"line_end":935,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489069,"byte_end":489071,"line_start":935,"line_end":935,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":489072,"byte_end":489076,"line_start":935,"line_end":935,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490873,"byte_end":490881,"line_start":975,"line_end":975,"column_start":113,"column_end":121},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490890,"byte_end":490899,"line_start":975,"line_end":975,"column_start":130,"column_end":139},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490870,"byte_end":490871,"line_start":975,"line_end":975,"column_start":110,"column_end":111},"ref_id":{"krate":0,"index":2309}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490836,"byte_end":490842,"line_start":975,"line_end":975,"column_start":76,"column_end":82},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490843,"byte_end":490849,"line_start":975,"line_end":975,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490850,"byte_end":490851,"line_start":975,"line_end":975,"column_start":90,"column_end":91},"ref_id":{"krate":0,"index":2309}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490854,"byte_end":490862,"line_start":975,"line_end":975,"column_start":94,"column_end":102},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":490934,"byte_end":490940,"line_start":977,"line_end":977,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":490923,"byte_end":490932,"line_start":977,"line_end":977,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490942,"byte_end":490946,"line_start":977,"line_end":977,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490947,"byte_end":490953,"line_start":977,"line_end":977,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":490967,"byte_end":490972,"line_start":977,"line_end":977,"column_start":59,"column_end":64},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490955,"byte_end":490959,"line_start":977,"line_end":977,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490960,"byte_end":490966,"line_start":977,"line_end":977,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":490989,"byte_end":490993,"line_start":977,"line_end":977,"column_start":81,"column_end":85},"ref_id":{"krate":0,"index":536873219}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491010,"byte_end":491014,"line_start":978,"line_end":978,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491010,"byte_end":491014,"line_start":978,"line_end":978,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491124,"byte_end":491132,"line_start":981,"line_end":981,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491121,"byte_end":491122,"line_start":981,"line_end":981,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2309}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491152,"byte_end":491162,"line_start":981,"line_end":981,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491140,"byte_end":491144,"line_start":981,"line_end":981,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491145,"byte_end":491151,"line_start":981,"line_end":981,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491163,"byte_end":491164,"line_start":981,"line_end":981,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":335546627}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491165,"byte_end":491176,"line_start":981,"line_end":981,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491178,"byte_end":491179,"line_start":981,"line_end":981,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491264,"byte_end":491272,"line_start":982,"line_end":982,"column_start":83,"column_end":91},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491300,"byte_end":491308,"line_start":983,"line_end":983,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491296,"byte_end":491299,"line_start":983,"line_end":983,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040387}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491312,"byte_end":491320,"line_start":983,"line_end":983,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491309,"byte_end":491310,"line_start":983,"line_end":983,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2309}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491351,"byte_end":491359,"line_start":984,"line_end":984,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491347,"byte_end":491350,"line_start":984,"line_end":984,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040387}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491411,"byte_end":491419,"line_start":985,"line_end":985,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491407,"byte_end":491410,"line_start":985,"line_end":985,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040387}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491460,"byte_end":491473,"line_start":985,"line_end":985,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2454}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491432,"byte_end":491442,"line_start":985,"line_end":985,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491420,"byte_end":491424,"line_start":985,"line_end":985,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491425,"byte_end":491431,"line_start":985,"line_end":985,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491443,"byte_end":491444,"line_start":985,"line_end":985,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":335546627}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491445,"byte_end":491456,"line_start":985,"line_end":985,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491458,"byte_end":491459,"line_start":985,"line_end":985,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491504,"byte_end":491512,"line_start":986,"line_end":986,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491500,"byte_end":491503,"line_start":986,"line_end":986,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":2181040387}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491548,"byte_end":491551,"line_start":987,"line_end":987,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491562,"byte_end":491565,"line_start":987,"line_end":987,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491552,"byte_end":491560,"line_start":987,"line_end":987,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491566,"byte_end":491569,"line_start":987,"line_end":987,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2181040387}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491608,"byte_end":491610,"line_start":990,"line_end":990,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491614,"byte_end":491628,"line_start":990,"line_end":990,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":1721}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491611,"byte_end":491612,"line_start":990,"line_end":990,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2309}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":491642,"byte_end":491652,"line_start":990,"line_end":990,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491630,"byte_end":491634,"line_start":990,"line_end":990,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491635,"byte_end":491641,"line_start":990,"line_end":990,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491653,"byte_end":491654,"line_start":990,"line_end":990,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":335546627}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":491655,"byte_end":491666,"line_start":990,"line_end":990,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3560}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491696,"byte_end":491700,"line_start":992,"line_end":992,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491696,"byte_end":491700,"line_start":992,"line_end":992,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491704,"byte_end":491706,"line_start":992,"line_end":992,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":491707,"byte_end":491711,"line_start":992,"line_end":992,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492911,"byte_end":492919,"line_start":1021,"line_end":1021,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492928,"byte_end":492937,"line_start":1021,"line_end":1021,"column_start":115,"column_end":124},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492908,"byte_end":492909,"line_start":1021,"line_end":1021,"column_start":95,"column_end":96},"ref_id":{"krate":0,"index":2312}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492874,"byte_end":492880,"line_start":1021,"line_end":1021,"column_start":61,"column_end":67},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492881,"byte_end":492887,"line_start":1021,"line_end":1021,"column_start":68,"column_end":74},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492888,"byte_end":492889,"line_start":1021,"line_end":1021,"column_start":75,"column_end":76},"ref_id":{"krate":0,"index":2312}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492892,"byte_end":492900,"line_start":1021,"line_end":1021,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":492984,"byte_end":492990,"line_start":1022,"line_end":1022,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1710}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":492973,"byte_end":492982,"line_start":1022,"line_end":1022,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":492992,"byte_end":492996,"line_start":1022,"line_end":1022,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":492997,"byte_end":493003,"line_start":1022,"line_end":1022,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493017,"byte_end":493022,"line_start":1022,"line_end":1022,"column_start":72,"column_end":77},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493005,"byte_end":493009,"line_start":1022,"line_end":1022,"column_start":60,"column_end":64},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493010,"byte_end":493016,"line_start":1022,"line_end":1022,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493040,"byte_end":493044,"line_start":1022,"line_end":1022,"column_start":95,"column_end":99},"ref_id":{"krate":0,"index":536873222}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493063,"byte_end":493075,"line_start":1024,"line_end":1024,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":2483030278}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493090,"byte_end":493094,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493090,"byte_end":493094,"line_start":1025,"line_end":1025,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493204,"byte_end":493212,"line_start":1028,"line_end":1028,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493201,"byte_end":493202,"line_start":1028,"line_end":1028,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2312}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493232,"byte_end":493242,"line_start":1028,"line_end":1028,"column_start":51,"column_end":61},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493220,"byte_end":493224,"line_start":1028,"line_end":1028,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493225,"byte_end":493231,"line_start":1028,"line_end":1028,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493243,"byte_end":493244,"line_start":1028,"line_end":1028,"column_start":62,"column_end":63},"ref_id":{"krate":0,"index":3019901190}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493245,"byte_end":493256,"line_start":1028,"line_end":1028,"column_start":64,"column_end":75},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493258,"byte_end":493259,"line_start":1028,"line_end":1028,"column_start":77,"column_end":78},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493343,"byte_end":493351,"line_start":1029,"line_end":1029,"column_start":82,"column_end":90},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493379,"byte_end":493387,"line_start":1030,"line_end":1030,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493375,"byte_end":493378,"line_start":1030,"line_end":1030,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169478}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493391,"byte_end":493399,"line_start":1030,"line_end":1030,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493388,"byte_end":493389,"line_start":1030,"line_end":1030,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":2312}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493430,"byte_end":493438,"line_start":1031,"line_end":1031,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493426,"byte_end":493429,"line_start":1031,"line_end":1031,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169478}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493490,"byte_end":493498,"line_start":1032,"line_end":1032,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493486,"byte_end":493489,"line_start":1032,"line_end":1032,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169478}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493539,"byte_end":493552,"line_start":1032,"line_end":1032,"column_start":74,"column_end":87},"ref_id":{"krate":0,"index":2454}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493511,"byte_end":493521,"line_start":1032,"line_end":1032,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493499,"byte_end":493503,"line_start":1032,"line_end":1032,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493504,"byte_end":493510,"line_start":1032,"line_end":1032,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493522,"byte_end":493523,"line_start":1032,"line_end":1032,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":3019901190}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493524,"byte_end":493535,"line_start":1032,"line_end":1032,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493537,"byte_end":493538,"line_start":1032,"line_end":1032,"column_start":72,"column_end":73},"ref_id":{"krate":0,"index":3912}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493583,"byte_end":493591,"line_start":1033,"line_end":1033,"column_start":25,"column_end":33},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493579,"byte_end":493582,"line_start":1033,"line_end":1033,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1644169478}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493627,"byte_end":493630,"line_start":1034,"line_end":1034,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493641,"byte_end":493644,"line_start":1034,"line_end":1034,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493631,"byte_end":493639,"line_start":1034,"line_end":1034,"column_start":32,"column_end":40},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493645,"byte_end":493648,"line_start":1034,"line_end":1034,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":1644169478}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493696,"byte_end":493706,"line_start":1037,"line_end":1037,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493693,"byte_end":493694,"line_start":1037,"line_end":1037,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2312}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493708,"byte_end":493709,"line_start":1037,"line_end":1037,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3019901190}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493712,"byte_end":493716,"line_start":1037,"line_end":1037,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493717,"byte_end":493723,"line_start":1037,"line_end":1037,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493748,"byte_end":493752,"line_start":1038,"line_end":1038,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493748,"byte_end":493752,"line_start":1038,"line_end":1038,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493785,"byte_end":493787,"line_start":1039,"line_end":1039,"column_start":25,"column_end":27},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493788,"byte_end":493792,"line_start":1039,"line_end":1039,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493793,"byte_end":493794,"line_start":1039,"line_end":1039,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":956303622}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493840,"byte_end":493844,"line_start":1041,"line_end":1041,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493840,"byte_end":493844,"line_start":1041,"line_end":1041,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493934,"byte_end":493947,"line_start":1042,"line_end":1042,"column_start":34,"column_end":47},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":493931,"byte_end":493932,"line_start":1042,"line_end":1042,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2312}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493951,"byte_end":493952,"line_start":1042,"line_end":1042,"column_start":51,"column_end":52},"ref_id":{"krate":0,"index":3019901190}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493953,"byte_end":493964,"line_start":1042,"line_end":1042,"column_start":53,"column_end":64},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":493979,"byte_end":493990,"line_start":1042,"line_end":1042,"column_start":79,"column_end":90},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493967,"byte_end":493971,"line_start":1042,"line_end":1042,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":1073744134}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":493972,"byte_end":493978,"line_start":1042,"line_end":1042,"column_start":72,"column_end":78},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494024,"byte_end":494028,"line_start":1043,"line_end":1043,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494024,"byte_end":494028,"line_start":1043,"line_end":1043,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494069,"byte_end":494071,"line_start":1044,"line_end":1044,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494072,"byte_end":494076,"line_start":1044,"line_end":1044,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":494077,"byte_end":494078,"line_start":1044,"line_end":1044,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":3707767046}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494140,"byte_end":494144,"line_start":1046,"line_end":1046,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494140,"byte_end":494144,"line_start":1046,"line_end":1046,"column_start":29,"column_end":33},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494227,"byte_end":494229,"line_start":1047,"line_end":1047,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494230,"byte_end":494234,"line_start":1047,"line_end":1047,"column_start":36,"column_end":40},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494382,"byte_end":494386,"line_start":1053,"line_end":1053,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494382,"byte_end":494386,"line_start":1053,"line_end":1053,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494390,"byte_end":494392,"line_start":1053,"line_end":1053,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":494393,"byte_end":494397,"line_start":1053,"line_end":1053,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496674,"byte_end":496679,"line_start":1109,"line_end":1109,"column_start":119,"column_end":124},"ref_id":{"krate":1,"index":3272}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496680,"byte_end":496692,"line_start":1109,"line_end":1109,"column_start":125,"column_end":137},"ref_id":{"krate":0,"index":4190}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496671,"byte_end":496672,"line_start":1109,"line_end":1109,"column_start":116,"column_end":117},"ref_id":{"krate":0,"index":2314}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496609,"byte_end":496615,"line_start":1109,"line_end":1109,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496638,"byte_end":496639,"line_start":1109,"line_end":1109,"column_start":83,"column_end":84},"ref_id":{"krate":0,"index":2314}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496644,"byte_end":496650,"line_start":1109,"line_end":1109,"column_start":89,"column_end":95},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496655,"byte_end":496663,"line_start":1109,"line_end":1109,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496716,"byte_end":496720,"line_start":1111,"line_end":1111,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744137}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496721,"byte_end":496728,"line_start":1111,"line_end":1111,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496759,"byte_end":496762,"line_start":1112,"line_end":1112,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496773,"byte_end":496787,"line_start":1112,"line_end":1112,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496763,"byte_end":496771,"line_start":1112,"line_end":1112,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":496830,"byte_end":496840,"line_start":1115,"line_end":1115,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2319}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496825,"byte_end":496829,"line_start":1115,"line_end":1115,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744137}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496857,"byte_end":496865,"line_start":1117,"line_end":1117,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":1610615049}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496866,"byte_end":496876,"line_start":1117,"line_end":1117,"column_start":21,"column_end":31},"ref_id":{"krate":0,"index":1946159369}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":496897,"byte_end":496904,"line_start":1118,"line_end":1118,"column_start":18,"column_end":25},"ref_id":{"krate":0,"index":2315}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496892,"byte_end":496896,"line_start":1118,"line_end":1118,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744137}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":496905,"byte_end":496917,"line_start":1118,"line_end":1118,"column_start":26,"column_end":38},"ref_id":{"krate":0,"index":536873225}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":496947,"byte_end":496949,"line_start":1121,"line_end":1121,"column_start":16,"column_end":18},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499122,"byte_end":499128,"line_start":1171,"line_end":1171,"column_start":55,"column_end":61},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499140,"byte_end":499146,"line_start":1171,"line_end":1171,"column_start":73,"column_end":79},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499151,"byte_end":499159,"line_start":1171,"line_end":1171,"column_start":84,"column_end":92},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499175,"byte_end":499179,"line_start":1173,"line_end":1173,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499180,"byte_end":499187,"line_start":1173,"line_end":1173,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":3707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499218,"byte_end":499221,"line_start":1174,"line_end":1174,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499232,"byte_end":499246,"line_start":1174,"line_end":1174,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499222,"byte_end":499230,"line_start":1174,"line_end":1174,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499282,"byte_end":499286,"line_start":1177,"line_end":1177,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499293,"byte_end":499305,"line_start":1177,"line_end":1177,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":536873227}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499320,"byte_end":499324,"line_start":1178,"line_end":1178,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499320,"byte_end":499324,"line_start":1178,"line_end":1178,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499333,"byte_end":499334,"line_start":1178,"line_end":1178,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":939526411}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499359,"byte_end":499363,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499359,"byte_end":499363,"line_start":1179,"line_end":1179,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499392,"byte_end":499395,"line_start":1179,"line_end":1179,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499379,"byte_end":499389,"line_start":1179,"line_end":1179,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499367,"byte_end":499371,"line_start":1179,"line_end":1179,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499372,"byte_end":499378,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499445,"byte_end":499448,"line_start":1182,"line_end":1182,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499434,"byte_end":499443,"line_start":1182,"line_end":1182,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499449,"byte_end":499453,"line_start":1182,"line_end":1182,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499454,"byte_end":499460,"line_start":1182,"line_end":1182,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499461,"byte_end":499465,"line_start":1182,"line_end":1182,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499509,"byte_end":499512,"line_start":1183,"line_end":1183,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499498,"byte_end":499507,"line_start":1183,"line_end":1183,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499513,"byte_end":499517,"line_start":1183,"line_end":1183,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499518,"byte_end":499524,"line_start":1183,"line_end":1183,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499525,"byte_end":499529,"line_start":1183,"line_end":1183,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499671,"byte_end":499681,"line_start":1186,"line_end":1186,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":2618}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499659,"byte_end":499663,"line_start":1186,"line_end":1186,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499664,"byte_end":499670,"line_start":1186,"line_end":1186,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499725,"byte_end":499728,"line_start":1187,"line_end":1187,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2613}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499714,"byte_end":499723,"line_start":1187,"line_end":1187,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499729,"byte_end":499737,"line_start":1187,"line_end":1187,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":1275070731}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499751,"byte_end":499762,"line_start":1187,"line_end":1187,"column_start":66,"column_end":77},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499739,"byte_end":499743,"line_start":1187,"line_end":1187,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499744,"byte_end":499750,"line_start":1187,"line_end":1187,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499775,"byte_end":499778,"line_start":1187,"line_end":1187,"column_start":90,"column_end":93},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499779,"byte_end":499795,"line_start":1187,"line_end":1187,"column_start":94,"column_end":110},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499798,"byte_end":499802,"line_start":1187,"line_end":1187,"column_start":113,"column_end":117},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499803,"byte_end":499809,"line_start":1187,"line_end":1187,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499810,"byte_end":499814,"line_start":1187,"line_end":1187,"column_start":125,"column_end":129},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499840,"byte_end":499847,"line_start":1188,"line_end":1188,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":499829,"byte_end":499838,"line_start":1188,"line_end":1188,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499851,"byte_end":499859,"line_start":1188,"line_end":1188,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":33556747}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499862,"byte_end":499866,"line_start":1188,"line_end":1188,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499867,"byte_end":499873,"line_start":1188,"line_end":1188,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499875,"byte_end":499883,"line_start":1188,"line_end":1188,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1912604939}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499886,"byte_end":499895,"line_start":1188,"line_end":1188,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":3053455627}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499939,"byte_end":499945,"line_start":1190,"line_end":1190,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499929,"byte_end":499938,"line_start":1190,"line_end":1190,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3053455627}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":499988,"byte_end":499998,"line_start":1191,"line_end":1191,"column_start":40,"column_end":50},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":499978,"byte_end":499987,"line_start":1191,"line_end":1191,"column_start":30,"column_end":39},"ref_id":{"krate":0,"index":3053455627}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500039,"byte_end":500050,"line_start":1192,"line_end":1192,"column_start":38,"column_end":49},"ref_id":{"krate":0,"index":2627}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500027,"byte_end":500031,"line_start":1192,"line_end":1192,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500032,"byte_end":500038,"line_start":1192,"line_end":1192,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500076,"byte_end":500091,"line_start":1194,"line_end":1194,"column_start":22,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500076,"byte_end":500077,"line_start":1194,"line_end":1194,"column_start":22,"column_end":23},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500079,"byte_end":500091,"line_start":1194,"line_end":1194,"column_start":25,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500086,"byte_end":500089,"line_start":1194,"line_end":1194,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500079,"byte_end":500085,"line_start":1194,"line_end":1194,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2768242955}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500113,"byte_end":500114,"line_start":1195,"line_end":1195,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1962936587}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500117,"byte_end":500127,"line_start":1195,"line_end":1195,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":1761609995}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500162,"byte_end":500172,"line_start":1196,"line_end":1196,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3103787275}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500173,"byte_end":500174,"line_start":1196,"line_end":1196,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1962936587}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500150,"byte_end":500156,"line_start":1196,"line_end":1196,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2768242955}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500157,"byte_end":500158,"line_start":1196,"line_end":1196,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1962936587}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500222,"byte_end":500228,"line_start":1198,"line_end":1198,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2768242955}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500229,"byte_end":500230,"line_start":1198,"line_end":1198,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1962936587}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500294,"byte_end":500304,"line_start":1202,"line_end":1202,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2619}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500282,"byte_end":500286,"line_start":1202,"line_end":1202,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500287,"byte_end":500293,"line_start":1202,"line_end":1202,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500305,"byte_end":500315,"line_start":1202,"line_end":1202,"column_start":36,"column_end":46},"ref_id":{"krate":0,"index":1761609995}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500433,"byte_end":500442,"line_start":1206,"line_end":1206,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":2616}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500421,"byte_end":500425,"line_start":1206,"line_end":1206,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500426,"byte_end":500432,"line_start":1206,"line_end":1206,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500443,"byte_end":500451,"line_start":1206,"line_end":1206,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":1275070731}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500478,"byte_end":500485,"line_start":1207,"line_end":1207,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500467,"byte_end":500476,"line_start":1207,"line_end":1207,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500489,"byte_end":500497,"line_start":1207,"line_end":1207,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":33556747}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500500,"byte_end":500504,"line_start":1207,"line_end":1207,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500505,"byte_end":500511,"line_start":1207,"line_end":1207,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500513,"byte_end":500521,"line_start":1207,"line_end":1207,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":1912604939}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500524,"byte_end":500533,"line_start":1207,"line_end":1207,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":411044107}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500563,"byte_end":500572,"line_start":1208,"line_end":1208,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":411044107}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500549,"byte_end":500553,"line_start":1208,"line_end":1208,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500554,"byte_end":500560,"line_start":1208,"line_end":1208,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":500618,"byte_end":500621,"line_start":1211,"line_end":1211,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500607,"byte_end":500616,"line_start":1211,"line_end":1211,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500622,"byte_end":500626,"line_start":1211,"line_end":1211,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500627,"byte_end":500633,"line_start":1211,"line_end":1211,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500634,"byte_end":500638,"line_start":1211,"line_end":1211,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500593,"byte_end":500597,"line_start":1211,"line_end":1211,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744139}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":500598,"byte_end":500604,"line_start":1211,"line_end":1211,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3708}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":500656,"byte_end":500658,"line_start":1213,"line_end":1213,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501099,"byte_end":501105,"line_start":1223,"line_end":1223,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501117,"byte_end":501123,"line_start":1223,"line_end":1223,"column_start":68,"column_end":74},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501124,"byte_end":501133,"line_start":1223,"line_end":1223,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3705}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501135,"byte_end":501143,"line_start":1223,"line_end":1223,"column_start":86,"column_end":94},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501171,"byte_end":501175,"line_start":1225,"line_end":1225,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501182,"byte_end":501194,"line_start":1225,"line_end":1225,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":536873229}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501209,"byte_end":501213,"line_start":1226,"line_end":1226,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501209,"byte_end":501213,"line_start":1226,"line_end":1226,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501222,"byte_end":501223,"line_start":1226,"line_end":1226,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3489663245}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501248,"byte_end":501252,"line_start":1227,"line_end":1227,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501248,"byte_end":501252,"line_start":1227,"line_end":1227,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501281,"byte_end":501284,"line_start":1227,"line_end":1227,"column_start":46,"column_end":49},"ref_id":{"krate":1,"index":11488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501268,"byte_end":501278,"line_start":1227,"line_end":1227,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501256,"byte_end":501260,"line_start":1227,"line_end":1227,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501261,"byte_end":501267,"line_start":1227,"line_end":1227,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501334,"byte_end":501337,"line_start":1230,"line_end":1230,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501323,"byte_end":501332,"line_start":1230,"line_end":1230,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501338,"byte_end":501342,"line_start":1230,"line_end":1230,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501343,"byte_end":501349,"line_start":1230,"line_end":1230,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501350,"byte_end":501354,"line_start":1230,"line_end":1230,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501399,"byte_end":501402,"line_start":1232,"line_end":1232,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2613}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501388,"byte_end":501397,"line_start":1232,"line_end":1232,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501403,"byte_end":501411,"line_start":1232,"line_end":1232,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2214594829}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501425,"byte_end":501436,"line_start":1232,"line_end":1232,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501413,"byte_end":501417,"line_start":1232,"line_end":1232,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501418,"byte_end":501424,"line_start":1232,"line_end":1232,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501449,"byte_end":501452,"line_start":1232,"line_end":1232,"column_start":86,"column_end":89},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501453,"byte_end":501469,"line_start":1232,"line_end":1232,"column_start":90,"column_end":106},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501472,"byte_end":501476,"line_start":1232,"line_end":1232,"column_start":109,"column_end":113},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501477,"byte_end":501483,"line_start":1232,"line_end":1232,"column_start":114,"column_end":120},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501484,"byte_end":501488,"line_start":1232,"line_end":1232,"column_start":121,"column_end":125},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501526,"byte_end":501529,"line_start":1233,"line_end":1233,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501515,"byte_end":501524,"line_start":1233,"line_end":1233,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501530,"byte_end":501534,"line_start":1233,"line_end":1233,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501535,"byte_end":501541,"line_start":1233,"line_end":1233,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501542,"byte_end":501546,"line_start":1233,"line_end":1233,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501575,"byte_end":501582,"line_start":1235,"line_end":1235,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":1714}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501564,"byte_end":501573,"line_start":1235,"line_end":1235,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501586,"byte_end":501594,"line_start":1235,"line_end":1235,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":4093643021}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501597,"byte_end":501601,"line_start":1235,"line_end":1235,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501602,"byte_end":501608,"line_start":1235,"line_end":1235,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501610,"byte_end":501618,"line_start":1235,"line_end":1235,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":1778387213}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501621,"byte_end":501630,"line_start":1235,"line_end":1235,"column_start":66,"column_end":75},"ref_id":{"krate":0,"index":301992205}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501668,"byte_end":501671,"line_start":1237,"line_end":1237,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501657,"byte_end":501666,"line_start":1237,"line_end":1237,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501672,"byte_end":501676,"line_start":1237,"line_end":1237,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501677,"byte_end":501683,"line_start":1237,"line_end":1237,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501684,"byte_end":501688,"line_start":1237,"line_end":1237,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501643,"byte_end":501647,"line_start":1237,"line_end":1237,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744141}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501648,"byte_end":501654,"line_start":1237,"line_end":1237,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3708}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501706,"byte_end":501708,"line_start":1239,"line_end":1239,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501720,"byte_end":501724,"line_start":1239,"line_end":1239,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501709,"byte_end":501718,"line_start":1239,"line_end":1239,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3705}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501725,"byte_end":501734,"line_start":1239,"line_end":1239,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":301992205}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501843,"byte_end":501852,"line_start":1244,"line_end":1244,"column_start":34,"column_end":43},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501905,"byte_end":501911,"line_start":1245,"line_end":1245,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501892,"byte_end":501902,"line_start":1245,"line_end":1245,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501880,"byte_end":501884,"line_start":1245,"line_end":1245,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501885,"byte_end":501891,"line_start":1245,"line_end":1245,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3706}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501951,"byte_end":501965,"line_start":1246,"line_end":1246,"column_start":37,"column_end":51},"ref_id":{"krate":0,"index":2610}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":501940,"byte_end":501949,"line_start":1246,"line_end":1246,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501966,"byte_end":501976,"line_start":1246,"line_end":1246,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":805308686}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":501990,"byte_end":502001,"line_start":1246,"line_end":1246,"column_start":76,"column_end":87},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501978,"byte_end":501982,"line_start":1246,"line_end":1246,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":501983,"byte_end":501989,"line_start":1246,"line_end":1246,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502014,"byte_end":502017,"line_start":1246,"line_end":1246,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502018,"byte_end":502034,"line_start":1246,"line_end":1246,"column_start":104,"column_end":120},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502037,"byte_end":502041,"line_start":1246,"line_end":1246,"column_start":123,"column_end":127},"ref_id":{"krate":0,"index":1073744142}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502042,"byte_end":502048,"line_start":1246,"line_end":1246,"column_start":128,"column_end":134},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502049,"byte_end":502053,"line_start":1246,"line_end":1246,"column_start":135,"column_end":139},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502075,"byte_end":502079,"line_start":1247,"line_end":1247,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502064,"byte_end":502073,"line_start":1247,"line_end":1247,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502080,"byte_end":502090,"line_start":1247,"line_end":1247,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2751465742}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502834,"byte_end":502840,"line_start":1271,"line_end":1271,"column_start":41,"column_end":47},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502841,"byte_end":502853,"line_start":1271,"line_end":1271,"column_start":48,"column_end":60},"ref_id":{"krate":0,"index":4190}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502855,"byte_end":502863,"line_start":1271,"line_end":1271,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502898,"byte_end":502901,"line_start":1273,"line_end":1273,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":1707}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502887,"byte_end":502896,"line_start":1273,"line_end":1273,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502902,"byte_end":502906,"line_start":1273,"line_end":1273,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744143}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502907,"byte_end":502913,"line_start":1273,"line_end":1273,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502914,"byte_end":502918,"line_start":1273,"line_end":1273,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":502963,"byte_end":502972,"line_start":1274,"line_end":1274,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1718}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":502952,"byte_end":502961,"line_start":1274,"line_end":1274,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502977,"byte_end":502981,"line_start":1274,"line_end":1274,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":134220047}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502984,"byte_end":502988,"line_start":1274,"line_end":1274,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073744143}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":502989,"byte_end":502995,"line_start":1274,"line_end":1274,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503000,"byte_end":503004,"line_start":1274,"line_end":1274,"column_start":74,"column_end":78},"ref_id":{"krate":0,"index":1073744143}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503005,"byte_end":503011,"line_start":1274,"line_end":1274,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503012,"byte_end":503016,"line_start":1274,"line_end":1274,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":4128}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503055,"byte_end":503061,"line_start":1275,"line_end":1275,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503043,"byte_end":503047,"line_start":1275,"line_end":1275,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744143}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503048,"byte_end":503054,"line_start":1275,"line_end":1275,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503077,"byte_end":503087,"line_start":1277,"line_end":1277,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3154118927}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503091,"byte_end":503101,"line_start":1277,"line_end":1277,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":2885683471}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503123,"byte_end":503125,"line_start":1278,"line_end":1278,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503126,"byte_end":503138,"line_start":1278,"line_end":1278,"column_start":23,"column_end":35},"ref_id":{"krate":0,"index":4190}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503157,"byte_end":503171,"line_start":1279,"line_end":1279,"column_start":17,"column_end":31},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503173,"byte_end":503183,"line_start":1279,"line_end":1279,"column_start":33,"column_end":43},"ref_id":{"krate":0,"index":3154118927}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503201,"byte_end":503217,"line_start":1280,"line_end":1280,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503219,"byte_end":503229,"line_start":1280,"line_end":1280,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":2885683471}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503247,"byte_end":503259,"line_start":1281,"line_end":1281,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":4193}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503261,"byte_end":503271,"line_start":1281,"line_end":1281,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":3154118927}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503274,"byte_end":503284,"line_start":1281,"line_end":1281,"column_start":44,"column_end":54},"ref_id":{"krate":0,"index":2885683471}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503337,"byte_end":503340,"line_start":1284,"line_end":1284,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503351,"byte_end":503354,"line_start":1284,"line_end":1284,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":503341,"byte_end":503349,"line_start":1284,"line_end":1284,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":503774,"byte_end":503788,"line_start":1296,"line_end":1296,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":2620}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503762,"byte_end":503766,"line_start":1296,"line_end":1296,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744145}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503767,"byte_end":503773,"line_start":1296,"line_end":1296,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3706}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":503789,"byte_end":503792,"line_start":1296,"line_end":1296,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":536873233}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504045,"byte_end":504051,"line_start":1304,"line_end":1304,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504033,"byte_end":504037,"line_start":1304,"line_end":1304,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744146}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504038,"byte_end":504044,"line_start":1304,"line_end":1304,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3706}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504292,"byte_end":504298,"line_start":1317,"line_end":1317,"column_start":13,"column_end":19},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504299,"byte_end":504308,"line_start":1317,"line_end":1317,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504323,"byte_end":504332,"line_start":1318,"line_end":1318,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504353,"byte_end":504362,"line_start":1319,"line_end":1319,"column_start":20,"column_end":29},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2323}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504492,"byte_end":504496,"line_start":1326,"line_end":1326,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744157}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504497,"byte_end":504503,"line_start":1326,"line_end":1326,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2328}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504482,"byte_end":504486,"line_start":1326,"line_end":1326,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504532,"byte_end":504541,"line_start":1327,"line_end":1327,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":1708}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504530,"byte_end":504531,"line_start":1327,"line_end":1327,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2684356893}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504542,"byte_end":504546,"line_start":1327,"line_end":1327,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744157}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504547,"byte_end":504553,"line_start":1327,"line_end":1327,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":2330}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504574,"byte_end":504588,"line_start":1328,"line_end":1328,"column_start":19,"column_end":33},"ref_id":{"krate":0,"index":1650}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504568,"byte_end":504573,"line_start":1328,"line_end":1328,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":671090973}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504752,"byte_end":504760,"line_start":1334,"line_end":1334,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504770,"byte_end":504779,"line_start":1334,"line_end":1334,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504749,"byte_end":504750,"line_start":1334,"line_end":1334,"column_start":69,"column_end":70},"ref_id":{"krate":0,"index":2335}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504715,"byte_end":504721,"line_start":1334,"line_end":1334,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504722,"byte_end":504728,"line_start":1334,"line_end":1334,"column_start":42,"column_end":48},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504729,"byte_end":504730,"line_start":1334,"line_end":1334,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":2335}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504733,"byte_end":504741,"line_start":1334,"line_end":1334,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504819,"byte_end":504823,"line_start":1335,"line_end":1335,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744158}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504824,"byte_end":504830,"line_start":1335,"line_end":1335,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2328}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504804,"byte_end":504808,"line_start":1335,"line_end":1335,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":504854,"byte_end":504864,"line_start":1336,"line_end":1336,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":1737}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504851,"byte_end":504852,"line_start":1336,"line_end":1336,"column_start":19,"column_end":20},"ref_id":{"krate":0,"index":2335}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504866,"byte_end":504872,"line_start":1336,"line_end":1336,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":2684356894}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504874,"byte_end":504878,"line_start":1336,"line_end":1336,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744158}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504879,"byte_end":504885,"line_start":1336,"line_end":1336,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2330}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504906,"byte_end":504910,"line_start":1337,"line_end":1337,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504906,"byte_end":504910,"line_start":1337,"line_end":1337,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504939,"byte_end":504941,"line_start":1338,"line_end":1338,"column_start":21,"column_end":23},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504942,"byte_end":504946,"line_start":1338,"line_end":1338,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":504947,"byte_end":504948,"line_start":1338,"line_end":1338,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":3825207582}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504986,"byte_end":504990,"line_start":1340,"line_end":1340,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":504986,"byte_end":504990,"line_start":1340,"line_end":1340,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505025,"byte_end":505038,"line_start":1341,"line_end":1341,"column_start":30,"column_end":43},"ref_id":{"krate":0,"index":1738}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505022,"byte_end":505023,"line_start":1341,"line_end":1341,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":2335}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505042,"byte_end":505048,"line_start":1341,"line_end":1341,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2684356894}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505049,"byte_end":505060,"line_start":1341,"line_end":1341,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3560}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505075,"byte_end":505086,"line_start":1341,"line_end":1341,"column_start":80,"column_end":91},"ref_id":{"krate":0,"index":2622}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505063,"byte_end":505067,"line_start":1341,"line_end":1341,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":1073744158}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505068,"byte_end":505074,"line_start":1341,"line_end":1341,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":2330}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505116,"byte_end":505120,"line_start":1342,"line_end":1342,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505116,"byte_end":505120,"line_start":1342,"line_end":1342,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505157,"byte_end":505159,"line_start":1343,"line_end":1343,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505160,"byte_end":505164,"line_start":1343,"line_end":1343,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505165,"byte_end":505166,"line_start":1343,"line_end":1343,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":1644169502}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505220,"byte_end":505224,"line_start":1345,"line_end":1345,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505220,"byte_end":505224,"line_start":1345,"line_end":1345,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505258,"byte_end":505260,"line_start":1346,"line_end":1346,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505261,"byte_end":505265,"line_start":1346,"line_end":1346,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505376,"byte_end":505378,"line_start":1352,"line_end":1352,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505379,"byte_end":505383,"line_start":1352,"line_end":1352,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505514,"byte_end":505522,"line_start":1357,"line_end":1357,"column_start":79,"column_end":87},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505532,"byte_end":505541,"line_start":1357,"line_end":1357,"column_start":97,"column_end":106},"ref_id":{"krate":0,"index":1719}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505511,"byte_end":505512,"line_start":1357,"line_end":1357,"column_start":76,"column_end":77},"ref_id":{"krate":0,"index":2337}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505478,"byte_end":505479,"line_start":1357,"line_end":1357,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":2337}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505484,"byte_end":505490,"line_start":1357,"line_end":1357,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505495,"byte_end":505503,"line_start":1357,"line_end":1357,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505563,"byte_end":505567,"line_start":1359,"line_end":1359,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505568,"byte_end":505574,"line_start":1359,"line_end":1359,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505575,"byte_end":505585,"line_start":1359,"line_end":1359,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505616,"byte_end":505619,"line_start":1360,"line_end":1360,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505630,"byte_end":505644,"line_start":1360,"line_end":1360,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505620,"byte_end":505628,"line_start":1360,"line_end":1360,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505687,"byte_end":505691,"line_start":1363,"line_end":1363,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505692,"byte_end":505698,"line_start":1363,"line_end":1363,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2328}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505672,"byte_end":505676,"line_start":1363,"line_end":1363,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505716,"byte_end":505725,"line_start":1364,"line_end":1364,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505713,"byte_end":505714,"line_start":1364,"line_end":1364,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2337}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505733,"byte_end":505738,"line_start":1364,"line_end":1364,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505726,"byte_end":505732,"line_start":1364,"line_end":1364,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":2550139168}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505742,"byte_end":505746,"line_start":1364,"line_end":1364,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505747,"byte_end":505753,"line_start":1364,"line_end":1364,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505755,"byte_end":505760,"line_start":1364,"line_end":1364,"column_start":55,"column_end":60},"ref_id":{"krate":0,"index":536873248}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":505818,"byte_end":505828,"line_start":1366,"line_end":1366,"column_start":38,"column_end":48},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505806,"byte_end":505810,"line_start":1366,"line_end":1366,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505811,"byte_end":505817,"line_start":1366,"line_end":1366,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505829,"byte_end":505833,"line_start":1366,"line_end":1366,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505834,"byte_end":505840,"line_start":1366,"line_end":1366,"column_start":54,"column_end":60},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505841,"byte_end":505852,"line_start":1366,"line_end":1366,"column_start":61,"column_end":72},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505873,"byte_end":505879,"line_start":1367,"line_end":1367,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3523217696}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":505880,"byte_end":505881,"line_start":1367,"line_end":1367,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506000,"byte_end":506004,"line_start":1369,"line_end":1369,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505987,"byte_end":505998,"line_start":1369,"line_end":1369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506000,"byte_end":506004,"line_start":1369,"line_end":1369,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":505987,"byte_end":505998,"line_start":1369,"line_end":1369,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506041,"byte_end":506048,"line_start":1370,"line_end":1370,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506049,"byte_end":506056,"line_start":1370,"line_end":1370,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506066,"byte_end":506072,"line_start":1370,"line_end":1370,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2042}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506057,"byte_end":506064,"line_start":1370,"line_end":1370,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":3656}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506085,"byte_end":506090,"line_start":1370,"line_end":1370,"column_start":76,"column_end":81},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506073,"byte_end":506077,"line_start":1370,"line_end":1370,"column_start":64,"column_end":68},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506078,"byte_end":506084,"line_start":1370,"line_end":1370,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506094,"byte_end":506098,"line_start":1370,"line_end":1370,"column_start":85,"column_end":89},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506099,"byte_end":506104,"line_start":1370,"line_end":1370,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506119,"byte_end":506123,"line_start":1370,"line_end":1370,"column_start":110,"column_end":114},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506124,"byte_end":506130,"line_start":1370,"line_end":1370,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":2330}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506163,"byte_end":506172,"line_start":1371,"line_end":1371,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506160,"byte_end":506161,"line_start":1371,"line_end":1371,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2337}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506173,"byte_end":506177,"line_start":1371,"line_end":1371,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":2030045472}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506179,"byte_end":506183,"line_start":1371,"line_end":1371,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506184,"byte_end":506190,"line_start":1371,"line_end":1371,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506192,"byte_end":506197,"line_start":1371,"line_end":1371,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873248}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506248,"byte_end":506254,"line_start":1373,"line_end":1373,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506235,"byte_end":506246,"line_start":1373,"line_end":1373,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506248,"byte_end":506254,"line_start":1373,"line_end":1373,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506235,"byte_end":506246,"line_start":1373,"line_end":1373,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506291,"byte_end":506298,"line_start":1374,"line_end":1374,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506310,"byte_end":506316,"line_start":1374,"line_end":1374,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":1836}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506299,"byte_end":506308,"line_start":1374,"line_end":1374,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":3571}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506329,"byte_end":506334,"line_start":1374,"line_end":1374,"column_start":70,"column_end":75},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506317,"byte_end":506321,"line_start":1374,"line_end":1374,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506322,"byte_end":506328,"line_start":1374,"line_end":1374,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506338,"byte_end":506344,"line_start":1374,"line_end":1374,"column_start":79,"column_end":85},"ref_id":{"krate":0,"index":3523217696}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506347,"byte_end":506351,"line_start":1374,"line_end":1374,"column_start":88,"column_end":92},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506352,"byte_end":506355,"line_start":1374,"line_end":1374,"column_start":93,"column_end":96},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506370,"byte_end":506374,"line_start":1374,"line_end":1374,"column_start":111,"column_end":115},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506375,"byte_end":506381,"line_start":1374,"line_end":1374,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":2330}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506410,"byte_end":506419,"line_start":1375,"line_end":1375,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506407,"byte_end":506408,"line_start":1375,"line_end":1375,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2337}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506420,"byte_end":506424,"line_start":1375,"line_end":1375,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":3204450592}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506426,"byte_end":506430,"line_start":1375,"line_end":1375,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506431,"byte_end":506437,"line_start":1375,"line_end":1375,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506439,"byte_end":506444,"line_start":1375,"line_end":1375,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873248}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506496,"byte_end":506501,"line_start":1377,"line_end":1377,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506483,"byte_end":506494,"line_start":1377,"line_end":1377,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506496,"byte_end":506501,"line_start":1377,"line_end":1377,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506483,"byte_end":506494,"line_start":1377,"line_end":1377,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506538,"byte_end":506545,"line_start":1378,"line_end":1378,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2742}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506556,"byte_end":506562,"line_start":1378,"line_end":1378,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":2160}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506546,"byte_end":506554,"line_start":1378,"line_end":1378,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":3684}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506575,"byte_end":506580,"line_start":1378,"line_end":1378,"column_start":69,"column_end":74},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506563,"byte_end":506567,"line_start":1378,"line_end":1378,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506568,"byte_end":506574,"line_start":1378,"line_end":1378,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2329}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506584,"byte_end":506590,"line_start":1378,"line_end":1378,"column_start":78,"column_end":84},"ref_id":{"krate":0,"index":3523217696}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506592,"byte_end":506596,"line_start":1378,"line_end":1378,"column_start":86,"column_end":90},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506597,"byte_end":506602,"line_start":1378,"line_end":1378,"column_start":91,"column_end":96},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506617,"byte_end":506621,"line_start":1378,"line_end":1378,"column_start":111,"column_end":115},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506622,"byte_end":506628,"line_start":1378,"line_end":1378,"column_start":116,"column_end":122},"ref_id":{"krate":0,"index":2330}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":506657,"byte_end":506666,"line_start":1379,"line_end":1379,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":1733}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506654,"byte_end":506655,"line_start":1379,"line_end":1379,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2337}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506667,"byte_end":506671,"line_start":1379,"line_end":1379,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1518340384}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506673,"byte_end":506677,"line_start":1379,"line_end":1379,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":1073744160}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506678,"byte_end":506684,"line_start":1379,"line_end":1379,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506686,"byte_end":506691,"line_start":1379,"line_end":1379,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873248}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506771,"byte_end":506773,"line_start":1385,"line_end":1385,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506879,"byte_end":506883,"line_start":1391,"line_end":1391,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744162}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506884,"byte_end":506890,"line_start":1391,"line_end":1391,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506891,"byte_end":506901,"line_start":1391,"line_end":1391,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":4131}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506988,"byte_end":506992,"line_start":1395,"line_end":1395,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744162}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":506993,"byte_end":506999,"line_start":1395,"line_end":1395,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2328}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":506973,"byte_end":506977,"line_start":1395,"line_end":1395,"column_start":16,"column_end":20},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507044,"byte_end":507050,"line_start":1397,"line_end":1397,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":1717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507033,"byte_end":507042,"line_start":1397,"line_end":1397,"column_start":19,"column_end":28},"ref_id":{"krate":0,"index":3558}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507051,"byte_end":507057,"line_start":1397,"line_end":1397,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1207961890}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507059,"byte_end":507063,"line_start":1397,"line_end":1397,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":1073744162}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507064,"byte_end":507070,"line_start":1397,"line_end":1397,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":2330}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507090,"byte_end":507092,"line_start":1398,"line_end":1398,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507090,"byte_end":507092,"line_start":1398,"line_end":1398,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507104,"byte_end":507110,"line_start":1398,"line_end":1398,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3288336674}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507128,"byte_end":507131,"line_start":1399,"line_end":1399,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507128,"byte_end":507131,"line_start":1399,"line_end":1399,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507348,"byte_end":507354,"line_start":1416,"line_end":1416,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507385,"byte_end":507392,"line_start":1418,"line_end":1418,"column_start":10,"column_end":17},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507421,"byte_end":507430,"line_start":1420,"line_end":1420,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507463,"byte_end":507471,"line_start":1422,"line_end":1422,"column_start":11,"column_end":19},"ref_id":{"krate":0,"index":3684}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507564,"byte_end":507573,"line_start":1427,"line_end":1427,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507589,"byte_end":507598,"line_start":1427,"line_end":1427,"column_start":49,"column_end":58},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507603,"byte_end":507609,"line_start":1427,"line_end":1427,"column_start":63,"column_end":69},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507616,"byte_end":507624,"line_start":1427,"line_end":1427,"column_start":76,"column_end":84},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507649,"byte_end":507659,"line_start":1428,"line_end":1428,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":2623}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507642,"byte_end":507648,"line_start":1428,"line_end":1428,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":536873253}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507660,"byte_end":507666,"line_start":1428,"line_end":1428,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1073744165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507667,"byte_end":507678,"line_start":1428,"line_end":1428,"column_start":40,"column_end":51},"ref_id":{"krate":0,"index":3560}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507680,"byte_end":507681,"line_start":1428,"line_end":1428,"column_start":53,"column_end":54},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507709,"byte_end":507715,"line_start":1429,"line_end":1429,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507696,"byte_end":507707,"line_start":1429,"line_end":1429,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507709,"byte_end":507715,"line_start":1429,"line_end":1429,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507696,"byte_end":507707,"line_start":1429,"line_end":1429,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507761,"byte_end":507769,"line_start":1430,"line_end":1430,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":1844}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507750,"byte_end":507759,"line_start":1430,"line_end":1430,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507771,"byte_end":507777,"line_start":1430,"line_end":1430,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":1073744165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507779,"byte_end":507785,"line_start":1430,"line_end":1430,"column_start":58,"column_end":64},"ref_id":{"krate":0,"index":536873253}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507804,"byte_end":507806,"line_start":1431,"line_end":1431,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507831,"byte_end":507837,"line_start":1431,"line_end":1431,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3727}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507807,"byte_end":507829,"line_start":1431,"line_end":1431,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3717}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507838,"byte_end":507843,"line_start":1431,"line_end":1431,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2013268261}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507886,"byte_end":507890,"line_start":1433,"line_end":1433,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507873,"byte_end":507884,"line_start":1433,"line_end":1433,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507886,"byte_end":507890,"line_start":1433,"line_end":1433,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507873,"byte_end":507884,"line_start":1433,"line_end":1433,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":507935,"byte_end":507943,"line_start":1434,"line_end":1434,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":2058}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507926,"byte_end":507933,"line_start":1434,"line_end":1434,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507945,"byte_end":507951,"line_start":1434,"line_end":1434,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1073744165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":507953,"byte_end":507959,"line_start":1434,"line_end":1434,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":536873253}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507988,"byte_end":507990,"line_start":1435,"line_end":1435,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508015,"byte_end":508019,"line_start":1435,"line_end":1435,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":507991,"byte_end":508013,"line_start":1435,"line_end":1435,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3717}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508020,"byte_end":508024,"line_start":1435,"line_end":1435,"column_start":49,"column_end":53},"ref_id":{"krate":0,"index":1006635301}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508067,"byte_end":508072,"line_start":1437,"line_end":1437,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508054,"byte_end":508065,"line_start":1437,"line_end":1437,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508067,"byte_end":508072,"line_start":1437,"line_end":1437,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508054,"byte_end":508065,"line_start":1437,"line_end":1437,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508118,"byte_end":508126,"line_start":1438,"line_end":1438,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":2163}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508108,"byte_end":508116,"line_start":1438,"line_end":1438,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508128,"byte_end":508134,"line_start":1438,"line_end":1438,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":1073744165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508136,"byte_end":508142,"line_start":1438,"line_end":1438,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":536873253}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508161,"byte_end":508163,"line_start":1439,"line_end":1439,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508188,"byte_end":508193,"line_start":1439,"line_end":1439,"column_start":44,"column_end":49},"ref_id":{"krate":0,"index":3730}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508164,"byte_end":508186,"line_start":1439,"line_end":1439,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3717}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508194,"byte_end":508199,"line_start":1439,"line_end":1439,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":436209957}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508242,"byte_end":508245,"line_start":1441,"line_end":1441,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508229,"byte_end":508240,"line_start":1441,"line_end":1441,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508242,"byte_end":508245,"line_start":1441,"line_end":1441,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508229,"byte_end":508240,"line_start":1441,"line_end":1441,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508289,"byte_end":508297,"line_start":1442,"line_end":1442,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":1944}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508281,"byte_end":508287,"line_start":1442,"line_end":1442,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508299,"byte_end":508305,"line_start":1442,"line_end":1442,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":1073744165}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508307,"byte_end":508313,"line_start":1442,"line_end":1442,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":536873253}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508332,"byte_end":508334,"line_start":1443,"line_end":1443,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508359,"byte_end":508362,"line_start":1443,"line_end":1443,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":3721}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508335,"byte_end":508357,"line_start":1443,"line_end":1443,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3717}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508363,"byte_end":508366,"line_start":1443,"line_end":1443,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2919237925}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508401,"byte_end":508404,"line_start":1445,"line_end":1445,"column_start":18,"column_end":21},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508415,"byte_end":508418,"line_start":1445,"line_end":1445,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508405,"byte_end":508413,"line_start":1445,"line_end":1445,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508562,"byte_end":508571,"line_start":1452,"line_end":1452,"column_start":11,"column_end":20},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508584,"byte_end":508606,"line_start":1453,"line_end":1453,"column_start":12,"column_end":34},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508630,"byte_end":508639,"line_start":1454,"line_end":1454,"column_start":18,"column_end":27},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"ref_id":{"krate":0,"index":2342}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508744,"byte_end":508753,"line_start":1460,"line_end":1460,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508768,"byte_end":508777,"line_start":1460,"line_end":1460,"column_start":48,"column_end":57},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508782,"byte_end":508788,"line_start":1460,"line_end":1460,"column_start":62,"column_end":68},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508795,"byte_end":508803,"line_start":1460,"line_end":1460,"column_start":75,"column_end":83},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508815,"byte_end":508817,"line_start":1461,"line_end":1461,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508818,"byte_end":508822,"line_start":1461,"line_end":1461,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":2342}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508838,"byte_end":508842,"line_start":1462,"line_end":1462,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":2344}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508851,"byte_end":508856,"line_start":1462,"line_end":1462,"column_start":26,"column_end":31},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508844,"byte_end":508850,"line_start":1462,"line_end":1462,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":1073744174}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508872,"byte_end":508877,"line_start":1463,"line_end":1463,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2345}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508903,"byte_end":508906,"line_start":1463,"line_end":1463,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2341}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":508879,"byte_end":508901,"line_start":1463,"line_end":1463,"column_start":20,"column_end":42},"ref_id":{"krate":0,"index":3717}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":508914,"byte_end":508919,"line_start":1463,"line_end":1463,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508907,"byte_end":508913,"line_start":1463,"line_end":1463,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1073744174}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508923,"byte_end":508929,"line_start":1463,"line_end":1463,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":536873262}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508945,"byte_end":508951,"line_start":1464,"line_end":1464,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508953,"byte_end":508959,"line_start":1464,"line_end":1464,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873262}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":508973,"byte_end":508978,"line_start":1465,"line_end":1465,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2347}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"ref_id":{"krate":0,"index":2342}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509013,"byte_end":509021,"line_start":1471,"line_end":1471,"column_start":11,"column_end":19},"ref_id":{"krate":1,"index":7914}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509069,"byte_end":509076,"line_start":1472,"line_end":1472,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":2323}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509110,"byte_end":509116,"line_start":1474,"line_end":1474,"column_start":27,"column_end":33},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509150,"byte_end":509154,"line_start":1475,"line_end":1475,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509155,"byte_end":509160,"line_start":1475,"line_end":1475,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":2345}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509199,"byte_end":509202,"line_start":1476,"line_end":1476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3721}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509175,"byte_end":509197,"line_start":1476,"line_end":1476,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509199,"byte_end":509202,"line_start":1476,"line_end":1476,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":3721}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509175,"byte_end":509197,"line_start":1476,"line_end":1476,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509254,"byte_end":509263,"line_start":1477,"line_end":1477,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1945}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509252,"byte_end":509253,"line_start":1477,"line_end":1477,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2415921458}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509264,"byte_end":509268,"line_start":1477,"line_end":1477,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509269,"byte_end":509275,"line_start":1477,"line_end":1477,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509234,"byte_end":509238,"line_start":1477,"line_end":1477,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509299,"byte_end":509303,"line_start":1478,"line_end":1478,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509304,"byte_end":509309,"line_start":1478,"line_end":1478,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2347}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509336,"byte_end":509340,"line_start":1479,"line_end":1479,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509341,"byte_end":509348,"line_start":1479,"line_end":1479,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2323}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509351,"byte_end":509357,"line_start":1479,"line_end":1479,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509359,"byte_end":509363,"line_start":1479,"line_end":1479,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509364,"byte_end":509370,"line_start":1479,"line_end":1479,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509372,"byte_end":509375,"line_start":1479,"line_end":1479,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509377,"byte_end":509386,"line_start":1479,"line_end":1479,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":1879050546}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509390,"byte_end":509395,"line_start":1479,"line_end":1479,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509397,"byte_end":509406,"line_start":1479,"line_end":1479,"column_start":82,"column_end":91},"ref_id":{"krate":0,"index":1879050546}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509410,"byte_end":509415,"line_start":1479,"line_end":1479,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509417,"byte_end":509421,"line_start":1479,"line_end":1479,"column_start":102,"column_end":106},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509422,"byte_end":509427,"line_start":1479,"line_end":1479,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2347}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509433,"byte_end":509439,"line_start":1479,"line_end":1479,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2328}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509441,"byte_end":509445,"line_start":1479,"line_end":1479,"column_start":126,"column_end":130},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509446,"byte_end":509455,"line_start":1479,"line_end":1479,"column_start":131,"column_end":140},"ref_id":{"krate":0,"index":1879050546}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509460,"byte_end":509466,"line_start":1479,"line_end":1479,"column_start":145,"column_end":151},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509478,"byte_end":509483,"line_start":1479,"line_end":1479,"column_start":163,"column_end":168},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509468,"byte_end":509472,"line_start":1479,"line_end":1479,"column_start":153,"column_end":157},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509473,"byte_end":509477,"line_start":1479,"line_end":1479,"column_start":158,"column_end":162},"ref_id":{"krate":0,"index":2344}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509534,"byte_end":509538,"line_start":1481,"line_end":1481,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509608,"byte_end":509612,"line_start":1484,"line_end":1484,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509584,"byte_end":509606,"line_start":1484,"line_end":1484,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509608,"byte_end":509612,"line_start":1484,"line_end":1484,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":3724}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509584,"byte_end":509606,"line_start":1484,"line_end":1484,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509664,"byte_end":509673,"line_start":1485,"line_end":1485,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2059}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509662,"byte_end":509663,"line_start":1485,"line_end":1485,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1912604978}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509674,"byte_end":509678,"line_start":1485,"line_end":1485,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509679,"byte_end":509685,"line_start":1485,"line_end":1485,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509644,"byte_end":509648,"line_start":1485,"line_end":1485,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509709,"byte_end":509713,"line_start":1486,"line_end":1486,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509714,"byte_end":509721,"line_start":1486,"line_end":1486,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2323}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509724,"byte_end":509730,"line_start":1486,"line_end":1486,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509732,"byte_end":509736,"line_start":1486,"line_end":1486,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509737,"byte_end":509743,"line_start":1486,"line_end":1486,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509745,"byte_end":509748,"line_start":1486,"line_end":1486,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509754,"byte_end":509759,"line_start":1486,"line_end":1486,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509765,"byte_end":509770,"line_start":1486,"line_end":1486,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509772,"byte_end":509781,"line_start":1486,"line_end":1486,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3388999986}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509785,"byte_end":509791,"line_start":1486,"line_end":1486,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509793,"byte_end":509802,"line_start":1486,"line_end":1486,"column_start":105,"column_end":114},"ref_id":{"krate":0,"index":3388999986}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509806,"byte_end":509812,"line_start":1486,"line_end":1486,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":509824,"byte_end":509829,"line_start":1486,"line_end":1486,"column_start":136,"column_end":141},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509814,"byte_end":509818,"line_start":1486,"line_end":1486,"column_start":126,"column_end":130},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":509819,"byte_end":509823,"line_start":1486,"line_end":1486,"column_start":131,"column_end":135},"ref_id":{"krate":0,"index":2344}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509880,"byte_end":509884,"line_start":1488,"line_end":1488,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509954,"byte_end":509960,"line_start":1491,"line_end":1491,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3727}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509930,"byte_end":509952,"line_start":1491,"line_end":1491,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509954,"byte_end":509960,"line_start":1491,"line_end":1491,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3727}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509930,"byte_end":509952,"line_start":1491,"line_end":1491,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510012,"byte_end":510021,"line_start":1492,"line_end":1492,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":1847}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510010,"byte_end":510011,"line_start":1492,"line_end":1492,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":553650482}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510022,"byte_end":510026,"line_start":1492,"line_end":1492,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510027,"byte_end":510033,"line_start":1492,"line_end":1492,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":509992,"byte_end":509996,"line_start":1492,"line_end":1492,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510057,"byte_end":510061,"line_start":1493,"line_end":1493,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510062,"byte_end":510069,"line_start":1493,"line_end":1493,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2323}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510072,"byte_end":510078,"line_start":1493,"line_end":1493,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510080,"byte_end":510084,"line_start":1493,"line_end":1493,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510085,"byte_end":510091,"line_start":1493,"line_end":1493,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510093,"byte_end":510096,"line_start":1493,"line_end":1493,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510098,"byte_end":510107,"line_start":1493,"line_end":1493,"column_start":62,"column_end":71},"ref_id":{"krate":0,"index":2432698674}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510111,"byte_end":510116,"line_start":1493,"line_end":1493,"column_start":75,"column_end":80},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510118,"byte_end":510127,"line_start":1493,"line_end":1493,"column_start":82,"column_end":91},"ref_id":{"krate":0,"index":2432698674}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510131,"byte_end":510136,"line_start":1493,"line_end":1493,"column_start":95,"column_end":100},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510138,"byte_end":510147,"line_start":1493,"line_end":1493,"column_start":102,"column_end":111},"ref_id":{"krate":0,"index":2432698674}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510151,"byte_end":510157,"line_start":1493,"line_end":1493,"column_start":115,"column_end":121},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510159,"byte_end":510168,"line_start":1493,"line_end":1493,"column_start":123,"column_end":132},"ref_id":{"krate":0,"index":2432698674}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510172,"byte_end":510178,"line_start":1493,"line_end":1493,"column_start":136,"column_end":142},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510190,"byte_end":510195,"line_start":1493,"line_end":1493,"column_start":154,"column_end":159},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510180,"byte_end":510184,"line_start":1493,"line_end":1493,"column_start":144,"column_end":148},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510185,"byte_end":510189,"line_start":1493,"line_end":1493,"column_start":149,"column_end":153},"ref_id":{"krate":0,"index":2344}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510246,"byte_end":510250,"line_start":1495,"line_end":1495,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510320,"byte_end":510325,"line_start":1498,"line_end":1498,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3730}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510296,"byte_end":510318,"line_start":1498,"line_end":1498,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510320,"byte_end":510325,"line_start":1498,"line_end":1498,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":3730}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510296,"byte_end":510318,"line_start":1498,"line_end":1498,"column_start":13,"column_end":35},"ref_id":{"krate":0,"index":3717}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510377,"byte_end":510386,"line_start":1499,"line_end":1499,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2164}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510375,"byte_end":510376,"line_start":1499,"line_end":1499,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2097154354}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510387,"byte_end":510391,"line_start":1499,"line_end":1499,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510392,"byte_end":510398,"line_start":1499,"line_end":1499,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2346}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510357,"byte_end":510361,"line_start":1499,"line_end":1499,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510428,"byte_end":510432,"line_start":1500,"line_end":1500,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510433,"byte_end":510440,"line_start":1500,"line_end":1500,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2323}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510443,"byte_end":510449,"line_start":1500,"line_end":1500,"column_start":36,"column_end":42},"ref_id":{"krate":0,"index":2330}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510451,"byte_end":510455,"line_start":1500,"line_end":1500,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510456,"byte_end":510462,"line_start":1500,"line_end":1500,"column_start":49,"column_end":55},"ref_id":{"krate":0,"index":2346}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510464,"byte_end":510467,"line_start":1500,"line_end":1500,"column_start":57,"column_end":60},"ref_id":{"krate":0,"index":2326}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510473,"byte_end":510478,"line_start":1500,"line_end":1500,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":2327}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510484,"byte_end":510489,"line_start":1500,"line_end":1500,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":2325}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510491,"byte_end":510500,"line_start":1500,"line_end":1500,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3271559474}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510504,"byte_end":510510,"line_start":1500,"line_end":1500,"column_start":97,"column_end":103},"ref_id":{"krate":0,"index":2328}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510512,"byte_end":510521,"line_start":1500,"line_end":1500,"column_start":105,"column_end":114},"ref_id":{"krate":0,"index":3271559474}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510525,"byte_end":510531,"line_start":1500,"line_end":1500,"column_start":118,"column_end":124},"ref_id":{"krate":0,"index":2329}},{"kind":"Function","span":{"file_name":"src/buffer.rs","byte_start":510543,"byte_end":510548,"line_start":1500,"line_end":1500,"column_start":136,"column_end":141},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510533,"byte_end":510537,"line_start":1500,"line_end":1500,"column_start":126,"column_end":130},"ref_id":{"krate":0,"index":1073744178}},{"kind":"Variable","span":{"file_name":"src/buffer.rs","byte_start":510538,"byte_end":510542,"line_start":1500,"line_end":1500,"column_start":131,"column_end":135},"ref_id":{"krate":0,"index":2344}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510599,"byte_end":510603,"line_start":1502,"line_end":1502,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/buffer.rs","byte_start":510656,"byte_end":510660,"line_start":1505,"line_end":1505,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21954,"byte_end":21960,"line_start":332,"line_end":332,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4176}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545069,"byte_end":545076,"line_start":814,"line_end":814,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2686}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545090,"byte_end":545093,"line_start":814,"line_end":814,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545061,"byte_end":545066,"line_start":814,"line_end":814,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545090,"byte_end":545093,"line_start":814,"line_end":814,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545121,"byte_end":545126,"line_start":815,"line_end":815,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545138,"byte_end":545145,"line_start":815,"line_end":815,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3558}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545165,"byte_end":545170,"line_start":816,"line_end":816,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":7626}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545173,"byte_end":545179,"line_start":816,"line_end":816,"column_start":13,"column_end":19},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545165,"byte_end":545170,"line_start":816,"line_end":816,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":5986}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545189,"byte_end":545193,"line_start":816,"line_end":816,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5837}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545205,"byte_end":545209,"line_start":817,"line_end":817,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":9604}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545212,"byte_end":545215,"line_start":817,"line_end":817,"column_start":12,"column_end":15},"ref_id":{"krate":1,"index":9237}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2274}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545237,"byte_end":545243,"line_start":818,"line_end":818,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2183}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545268,"byte_end":545277,"line_start":818,"line_end":818,"column_start":44,"column_end":53},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545288,"byte_end":545294,"line_start":818,"line_end":818,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545317,"byte_end":545323,"line_start":818,"line_end":818,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545317,"byte_end":545323,"line_start":818,"line_end":818,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":1531}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3387}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545338,"byte_end":545342,"line_start":818,"line_end":818,"column_start":114,"column_end":118},"ref_id":{"krate":0,"index":952}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545229,"byte_end":545234,"line_start":818,"line_end":818,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545307,"byte_end":545314,"line_start":818,"line_end":818,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":3412}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545353,"byte_end":545357,"line_start":818,"line_end":818,"column_start":129,"column_end":133},"ref_id":{"krate":0,"index":1114}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545374,"byte_end":545379,"line_start":819,"line_end":819,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2862}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545381,"byte_end":545388,"line_start":819,"line_end":819,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545390,"byte_end":545393,"line_start":819,"line_end":819,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":22}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545407,"byte_end":545412,"line_start":820,"line_end":820,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3470}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545414,"byte_end":545421,"line_start":820,"line_end":820,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545423,"byte_end":545427,"line_start":820,"line_end":820,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1366}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545442,"byte_end":545447,"line_start":821,"line_end":821,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3335}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545449,"byte_end":545456,"line_start":821,"line_end":821,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545458,"byte_end":545461,"line_start":821,"line_end":821,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":612}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545475,"byte_end":545480,"line_start":822,"line_end":822,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3363}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545482,"byte_end":545489,"line_start":822,"line_end":822,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545491,"byte_end":545494,"line_start":822,"line_end":822,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":793}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545508,"byte_end":545513,"line_start":823,"line_end":823,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3684}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545515,"byte_end":545525,"line_start":823,"line_end":823,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":1742}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545527,"byte_end":545532,"line_start":823,"line_end":823,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":2084}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545548,"byte_end":545553,"line_start":824,"line_end":824,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":290}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545555,"byte_end":545562,"line_start":824,"line_end":824,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":21}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545564,"byte_end":545569,"line_start":824,"line_end":824,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":227}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3656}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545605,"byte_end":545609,"line_start":825,"line_end":825,"column_start":25,"column_end":29},"ref_id":{"krate":0,"index":1966}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3571}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545620,"byte_end":545625,"line_start":825,"line_end":825,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545585,"byte_end":545590,"line_start":825,"line_end":825,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545592,"byte_end":545602,"line_start":825,"line_end":825,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":3615}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545638,"byte_end":545641,"line_start":825,"line_end":825,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":1866}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545656,"byte_end":545661,"line_start":826,"line_end":826,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545663,"byte_end":545670,"line_start":826,"line_end":826,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":3437}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545673,"byte_end":545679,"line_start":826,"line_end":826,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1261}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545656,"byte_end":545661,"line_start":826,"line_end":826,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545663,"byte_end":545670,"line_start":826,"line_end":826,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":1724}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":545705,"byte_end":545710,"line_start":827,"line_end":827,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545712,"byte_end":545717,"line_start":827,"line_end":827,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545733,"byte_end":545738,"line_start":828,"line_end":828,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545740,"byte_end":545743,"line_start":828,"line_end":828,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545754,"byte_end":545759,"line_start":829,"line_end":829,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":545761,"byte_end":545766,"line_start":829,"line_end":829,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546497,"byte_end":546501,"line_start":865,"line_end":865,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546568,"byte_end":546573,"line_start":867,"line_end":867,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744276}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546601,"byte_end":546605,"line_start":867,"line_end":867,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546588,"byte_end":546599,"line_start":867,"line_end":867,"column_start":32,"column_end":43},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":546637,"byte_end":546646,"line_start":868,"line_end":868,"column_start":29,"column_end":38},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":546626,"byte_end":546630,"line_start":868,"line_end":868,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":546632,"byte_end":546635,"line_start":868,"line_end":868,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546647,"byte_end":546652,"line_start":868,"line_end":868,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073744276}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546796,"byte_end":546807,"line_start":874,"line_end":874,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":546825,"byte_end":546829,"line_start":875,"line_end":875,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744278}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546857,"byte_end":546861,"line_start":876,"line_end":876,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546844,"byte_end":546855,"line_start":876,"line_end":876,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546857,"byte_end":546861,"line_start":876,"line_end":876,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546844,"byte_end":546855,"line_start":876,"line_end":876,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546898,"byte_end":546902,"line_start":876,"line_end":876,"column_start":67,"column_end":71},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546885,"byte_end":546896,"line_start":876,"line_end":876,"column_start":54,"column_end":65},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546931,"byte_end":546934,"line_start":877,"line_end":877,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546918,"byte_end":546929,"line_start":877,"line_end":877,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546931,"byte_end":546934,"line_start":877,"line_end":877,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546918,"byte_end":546929,"line_start":877,"line_end":877,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":546958,"byte_end":546966,"line_start":877,"line_end":877,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546950,"byte_end":546956,"line_start":877,"line_end":877,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":2862}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546996,"byte_end":547006,"line_start":878,"line_end":878,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546983,"byte_end":546994,"line_start":878,"line_end":878,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546996,"byte_end":547006,"line_start":878,"line_end":878,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":546983,"byte_end":546994,"line_start":878,"line_end":878,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547023,"byte_end":547031,"line_start":878,"line_end":878,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547015,"byte_end":547021,"line_start":878,"line_end":878,"column_start":45,"column_end":51},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547061,"byte_end":547066,"line_start":879,"line_end":879,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547048,"byte_end":547059,"line_start":879,"line_end":879,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547061,"byte_end":547066,"line_start":879,"line_end":879,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547048,"byte_end":547059,"line_start":879,"line_end":879,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547088,"byte_end":547096,"line_start":879,"line_end":879,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547078,"byte_end":547086,"line_start":879,"line_end":879,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":290}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547126,"byte_end":547130,"line_start":880,"line_end":880,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547113,"byte_end":547124,"line_start":880,"line_end":880,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547126,"byte_end":547130,"line_start":880,"line_end":880,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547113,"byte_end":547124,"line_start":880,"line_end":880,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547153,"byte_end":547161,"line_start":880,"line_end":880,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547191,"byte_end":547196,"line_start":881,"line_end":881,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547178,"byte_end":547189,"line_start":881,"line_end":881,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547191,"byte_end":547196,"line_start":881,"line_end":881,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547178,"byte_end":547189,"line_start":881,"line_end":881,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547218,"byte_end":547226,"line_start":881,"line_end":881,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547256,"byte_end":547261,"line_start":882,"line_end":882,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547243,"byte_end":547254,"line_start":882,"line_end":882,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547256,"byte_end":547261,"line_start":882,"line_end":882,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547243,"byte_end":547254,"line_start":882,"line_end":882,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547283,"byte_end":547291,"line_start":882,"line_end":882,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547321,"byte_end":547326,"line_start":883,"line_end":883,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547308,"byte_end":547319,"line_start":883,"line_end":883,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547321,"byte_end":547326,"line_start":883,"line_end":883,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547308,"byte_end":547319,"line_start":883,"line_end":883,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547348,"byte_end":547356,"line_start":883,"line_end":883,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547386,"byte_end":547391,"line_start":884,"line_end":884,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547373,"byte_end":547384,"line_start":884,"line_end":884,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547386,"byte_end":547391,"line_start":884,"line_end":884,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547373,"byte_end":547384,"line_start":884,"line_end":884,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547413,"byte_end":547421,"line_start":884,"line_end":884,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547451,"byte_end":547457,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547438,"byte_end":547449,"line_start":885,"line_end":885,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547451,"byte_end":547457,"line_start":885,"line_end":885,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547438,"byte_end":547449,"line_start":885,"line_end":885,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547478,"byte_end":547486,"line_start":885,"line_end":885,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547516,"byte_end":547522,"line_start":886,"line_end":886,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547503,"byte_end":547514,"line_start":886,"line_end":886,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547516,"byte_end":547522,"line_start":886,"line_end":886,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547503,"byte_end":547514,"line_start":886,"line_end":886,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547543,"byte_end":547551,"line_start":886,"line_end":886,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547581,"byte_end":547587,"line_start":887,"line_end":887,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547568,"byte_end":547579,"line_start":887,"line_end":887,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547581,"byte_end":547587,"line_start":887,"line_end":887,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547568,"byte_end":547579,"line_start":887,"line_end":887,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547608,"byte_end":547616,"line_start":887,"line_end":887,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547646,"byte_end":547651,"line_start":888,"line_end":888,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547633,"byte_end":547644,"line_start":888,"line_end":888,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547646,"byte_end":547651,"line_start":888,"line_end":888,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547633,"byte_end":547644,"line_start":888,"line_end":888,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547673,"byte_end":547681,"line_start":888,"line_end":888,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547711,"byte_end":547717,"line_start":889,"line_end":889,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547698,"byte_end":547709,"line_start":889,"line_end":889,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547711,"byte_end":547717,"line_start":889,"line_end":889,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547698,"byte_end":547709,"line_start":889,"line_end":889,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547738,"byte_end":547746,"line_start":889,"line_end":889,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547776,"byte_end":547783,"line_start":890,"line_end":890,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547763,"byte_end":547774,"line_start":890,"line_end":890,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547776,"byte_end":547783,"line_start":890,"line_end":890,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547763,"byte_end":547774,"line_start":890,"line_end":890,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547803,"byte_end":547811,"line_start":890,"line_end":890,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547795,"byte_end":547801,"line_start":890,"line_end":890,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3363}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547841,"byte_end":547848,"line_start":891,"line_end":891,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547828,"byte_end":547839,"line_start":891,"line_end":891,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547841,"byte_end":547848,"line_start":891,"line_end":891,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547828,"byte_end":547839,"line_start":891,"line_end":891,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547868,"byte_end":547876,"line_start":891,"line_end":891,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547906,"byte_end":547909,"line_start":892,"line_end":892,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547893,"byte_end":547904,"line_start":892,"line_end":892,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547906,"byte_end":547909,"line_start":892,"line_end":892,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547893,"byte_end":547904,"line_start":892,"line_end":892,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547933,"byte_end":547941,"line_start":892,"line_end":892,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547925,"byte_end":547931,"line_start":892,"line_end":892,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3335}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547971,"byte_end":547975,"line_start":893,"line_end":893,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547958,"byte_end":547969,"line_start":893,"line_end":893,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547971,"byte_end":547975,"line_start":893,"line_end":893,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547958,"byte_end":547969,"line_start":893,"line_end":893,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":547998,"byte_end":548006,"line_start":893,"line_end":893,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":547989,"byte_end":547996,"line_start":893,"line_end":893,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3412}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548036,"byte_end":548040,"line_start":894,"line_end":894,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548023,"byte_end":548034,"line_start":894,"line_end":894,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548036,"byte_end":548040,"line_start":894,"line_end":894,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548023,"byte_end":548034,"line_start":894,"line_end":894,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548063,"byte_end":548071,"line_start":894,"line_end":894,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548054,"byte_end":548061,"line_start":894,"line_end":894,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548101,"byte_end":548105,"line_start":895,"line_end":895,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548088,"byte_end":548099,"line_start":895,"line_end":895,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548101,"byte_end":548105,"line_start":895,"line_end":895,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548088,"byte_end":548099,"line_start":895,"line_end":895,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548128,"byte_end":548136,"line_start":895,"line_end":895,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548119,"byte_end":548126,"line_start":895,"line_end":895,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3470}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548166,"byte_end":548170,"line_start":896,"line_end":896,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548153,"byte_end":548164,"line_start":896,"line_end":896,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548166,"byte_end":548170,"line_start":896,"line_end":896,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548153,"byte_end":548164,"line_start":896,"line_end":896,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548193,"byte_end":548201,"line_start":896,"line_end":896,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548184,"byte_end":548191,"line_start":896,"line_end":896,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548231,"byte_end":548237,"line_start":897,"line_end":897,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548218,"byte_end":548229,"line_start":897,"line_end":897,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548231,"byte_end":548237,"line_start":897,"line_end":897,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548218,"byte_end":548229,"line_start":897,"line_end":897,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548258,"byte_end":548266,"line_start":897,"line_end":897,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548247,"byte_end":548256,"line_start":897,"line_end":897,"column_start":42,"column_end":51},"ref_id":{"krate":0,"index":3571}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548296,"byte_end":548299,"line_start":898,"line_end":898,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548283,"byte_end":548294,"line_start":898,"line_end":898,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548296,"byte_end":548299,"line_start":898,"line_end":898,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548283,"byte_end":548294,"line_start":898,"line_end":898,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548323,"byte_end":548331,"line_start":898,"line_end":898,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548315,"byte_end":548321,"line_start":898,"line_end":898,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3615}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548361,"byte_end":548365,"line_start":899,"line_end":899,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548348,"byte_end":548359,"line_start":899,"line_end":899,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548361,"byte_end":548365,"line_start":899,"line_end":899,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548348,"byte_end":548359,"line_start":899,"line_end":899,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548388,"byte_end":548396,"line_start":899,"line_end":899,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548379,"byte_end":548386,"line_start":899,"line_end":899,"column_start":44,"column_end":51},"ref_id":{"krate":0,"index":3656}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548426,"byte_end":548431,"line_start":900,"line_end":900,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548413,"byte_end":548424,"line_start":900,"line_end":900,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548426,"byte_end":548431,"line_start":900,"line_end":900,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548413,"byte_end":548424,"line_start":900,"line_end":900,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548453,"byte_end":548461,"line_start":900,"line_end":900,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":1726}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548443,"byte_end":548451,"line_start":900,"line_end":900,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":3684}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548501,"byte_end":548505,"line_start":901,"line_end":901,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548488,"byte_end":548499,"line_start":901,"line_end":901,"column_start":23,"column_end":34},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548786,"byte_end":548790,"line_start":920,"line_end":920,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":548857,"byte_end":548862,"line_start":922,"line_end":922,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744282}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548889,"byte_end":548893,"line_start":922,"line_end":922,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":3827}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":548876,"byte_end":548887,"line_start":922,"line_end":922,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":3826}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":548925,"byte_end":548934,"line_start":923,"line_end":923,"column_start":29,"column_end":38},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":548914,"byte_end":548918,"line_start":923,"line_end":923,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/schema.rs","byte_start":548920,"byte_end":548923,"line_start":923,"line_end":923,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":548935,"byte_end":548940,"line_start":923,"line_end":923,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1073744282}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549224,"byte_end":549230,"line_start":940,"line_end":940,"column_start":14,"column_end":20},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549198,"byte_end":549209,"line_start":939,"line_end":939,"column_start":5,"column_end":16},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549215,"byte_end":549230,"line_start":940,"line_end":940,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549236,"byte_end":549253,"line_start":941,"line_end":941,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549259,"byte_end":549276,"line_start":942,"line_end":942,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549202,"byte_end":549205,"line_start":939,"line_end":939,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3866}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549219,"byte_end":549222,"line_start":940,"line_end":940,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3867}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549240,"byte_end":549246,"line_start":941,"line_end":941,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3868}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549263,"byte_end":549269,"line_start":942,"line_end":942,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3869}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549385,"byte_end":549402,"line_start":949,"line_end":949,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549408,"byte_end":549423,"line_start":950,"line_end":950,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549429,"byte_end":549444,"line_start":951,"line_end":951,"column_start":5,"column_end":20},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549450,"byte_end":549467,"line_start":952,"line_end":952,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549389,"byte_end":549395,"line_start":949,"line_end":949,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3879}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549412,"byte_end":549417,"line_start":950,"line_end":950,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3880}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549433,"byte_end":549437,"line_start":951,"line_end":951,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3881}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549454,"byte_end":549460,"line_start":952,"line_end":952,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":3882}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549707,"byte_end":549713,"line_start":966,"line_end":966,"column_start":22,"column_end":28},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549738,"byte_end":549744,"line_start":967,"line_end":967,"column_start":22,"column_end":28},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549768,"byte_end":549774,"line_start":968,"line_end":968,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549796,"byte_end":549799,"line_start":969,"line_end":969,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549800,"byte_end":549818,"line_start":969,"line_end":969,"column_start":23,"column_end":41},"ref_id":{"krate":0,"index":3891}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549840,"byte_end":549850,"line_start":970,"line_end":970,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4176}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549851,"byte_end":549869,"line_start":970,"line_end":970,"column_start":29,"column_end":47},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3897}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3899}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3901}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3903}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":3905}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549705,"line_start":966,"line_end":966,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3897}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549699,"byte_end":549713,"line_start":966,"line_end":966,"column_start":14,"column_end":28},"ref_id":{"krate":0,"index":3897}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549736,"line_start":967,"line_end":967,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":3899}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549730,"byte_end":549744,"line_start":967,"line_end":967,"column_start":14,"column_end":28},"ref_id":{"krate":0,"index":3899}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549766,"line_start":968,"line_end":968,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3901}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549760,"byte_end":549774,"line_start":968,"line_end":968,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":3901}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549794,"line_start":969,"line_end":969,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":3903}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549789,"byte_end":549819,"line_start":969,"line_end":969,"column_start":12,"column_end":42},"ref_id":{"krate":0,"index":3903}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549838,"line_start":970,"line_end":970,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":3905}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549627,"byte_end":549632,"line_start":962,"line_end":962,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":3891}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549833,"byte_end":549870,"line_start":970,"line_end":970,"column_start":11,"column_end":48},"ref_id":{"krate":0,"index":3905}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":549981,"byte_end":549994,"line_start":977,"line_end":977,"column_start":14,"column_end":27},"ref_id":{"krate":0,"index":3847}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550008,"byte_end":550019,"line_start":978,"line_end":978,"column_start":12,"column_end":23},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550064,"byte_end":550067,"line_start":980,"line_end":980,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550092,"byte_end":550102,"line_start":981,"line_end":981,"column_start":20,"column_end":30},"ref_id":{"krate":0,"index":4176}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550103,"byte_end":550121,"line_start":981,"line_end":981,"column_start":31,"column_end":49},"ref_id":{"krate":0,"index":3891}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550138,"byte_end":550141,"line_start":982,"line_end":982,"column_start":15,"column_end":18},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3912}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3914}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3915}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3916}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549976,"byte_end":549979,"line_start":977,"line_end":977,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550005,"byte_end":550006,"line_start":978,"line_end":978,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":3912}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550030,"byte_end":550038,"line_start":979,"line_end":979,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550054,"byte_end":550062,"line_start":980,"line_end":980,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":3914}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550081,"byte_end":550090,"line_start":981,"line_end":981,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3915}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550132,"byte_end":550136,"line_start":982,"line_end":982,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3916}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":549972,"byte_end":549994,"line_start":977,"line_end":977,"column_start":5,"column_end":27},"ref_id":{"krate":0,"index":3911}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550001,"byte_end":550019,"line_start":978,"line_end":978,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3912}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550026,"byte_end":550044,"line_start":979,"line_end":979,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550050,"byte_end":550071,"line_start":980,"line_end":980,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":3914}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550077,"byte_end":550122,"line_start":981,"line_end":981,"column_start":5,"column_end":50},"ref_id":{"krate":0,"index":3915}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550128,"byte_end":550152,"line_start":982,"line_end":982,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550190,"byte_end":550194,"line_start":985,"line_end":985,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3036}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550231,"byte_end":550235,"line_start":986,"line_end":986,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550266,"byte_end":550273,"line_start":988,"line_end":988,"column_start":6,"column_end":13},"ref_id":{"krate":1,"index":3002}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550332,"byte_end":550336,"line_start":990,"line_end":990,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550351,"byte_end":550354,"line_start":991,"line_end":991,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":3911}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550371,"byte_end":550378,"line_start":991,"line_end":991,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":3848}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550356,"byte_end":550369,"line_start":991,"line_end":991,"column_start":18,"column_end":31},"ref_id":{"krate":0,"index":3847}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550392,"byte_end":550393,"line_start":992,"line_end":992,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550408,"byte_end":550412,"line_start":992,"line_end":992,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550395,"byte_end":550406,"line_start":992,"line_end":992,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550426,"byte_end":550434,"line_start":993,"line_end":993,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3913}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550455,"byte_end":550463,"line_start":994,"line_end":994,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":3914}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550470,"byte_end":550473,"line_start":994,"line_end":994,"column_start":28,"column_end":31},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550465,"byte_end":550468,"line_start":994,"line_end":994,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550489,"byte_end":550493,"line_start":995,"line_end":995,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550500,"byte_end":550503,"line_start":995,"line_end":995,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":6033}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550495,"byte_end":550498,"line_start":995,"line_end":995,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550504,"byte_end":550508,"line_start":995,"line_end":995,"column_start":28,"column_end":32},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550525,"byte_end":550534,"line_start":996,"line_end":996,"column_start":13,"column_end":22},"ref_id":{"krate":0,"index":3915}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":550548,"byte_end":550551,"line_start":996,"line_end":996,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2701}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550536,"byte_end":550546,"line_start":996,"line_end":996,"column_start":24,"column_end":34},"ref_id":{"krate":0,"index":4176}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550676,"byte_end":550682,"line_start":1005,"line_end":1005,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3922}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550667,"byte_end":550674,"line_start":1005,"line_end":1005,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3922}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550663,"byte_end":550686,"line_start":1005,"line_end":1005,"column_start":5,"column_end":28},"ref_id":{"krate":0,"index":3922}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550794,"byte_end":550800,"line_start":1012,"line_end":1012,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3928}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550785,"byte_end":550792,"line_start":1012,"line_end":1012,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3928}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550781,"byte_end":550805,"line_start":1012,"line_end":1012,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3928}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":550913,"byte_end":550919,"line_start":1019,"line_end":1019,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3934}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550904,"byte_end":550911,"line_start":1019,"line_end":1019,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3934}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":550900,"byte_end":550924,"line_start":1019,"line_end":1019,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3934}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551032,"byte_end":551038,"line_start":1026,"line_end":1026,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3940}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551023,"byte_end":551030,"line_start":1026,"line_end":1026,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3940}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551019,"byte_end":551043,"line_start":1026,"line_end":1026,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3940}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551150,"byte_end":551156,"line_start":1033,"line_end":1033,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3946}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551141,"byte_end":551148,"line_start":1033,"line_end":1033,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3946}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551137,"byte_end":551160,"line_start":1033,"line_end":1033,"column_start":5,"column_end":28},"ref_id":{"krate":0,"index":3946}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551268,"byte_end":551274,"line_start":1040,"line_end":1040,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3952}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551259,"byte_end":551266,"line_start":1040,"line_end":1040,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3952}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551255,"byte_end":551279,"line_start":1040,"line_end":1040,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3952}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551387,"byte_end":551393,"line_start":1047,"line_end":1047,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3958}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551378,"byte_end":551385,"line_start":1047,"line_end":1047,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3958}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551374,"byte_end":551398,"line_start":1047,"line_end":1047,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3958}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551506,"byte_end":551512,"line_start":1054,"line_end":1054,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3964}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551497,"byte_end":551504,"line_start":1054,"line_end":1054,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3964}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551493,"byte_end":551517,"line_start":1054,"line_end":1054,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3964}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551625,"byte_end":551631,"line_start":1061,"line_end":1061,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3970}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551616,"byte_end":551623,"line_start":1061,"line_end":1061,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3970}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551612,"byte_end":551636,"line_start":1061,"line_end":1061,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3970}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551744,"byte_end":551750,"line_start":1068,"line_end":1068,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3976}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551735,"byte_end":551742,"line_start":1068,"line_end":1068,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3976}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551731,"byte_end":551755,"line_start":1068,"line_end":1068,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":3976}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551864,"byte_end":551870,"line_start":1075,"line_end":1075,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3982}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551855,"byte_end":551862,"line_start":1075,"line_end":1075,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3982}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551851,"byte_end":551876,"line_start":1075,"line_end":1075,"column_start":5,"column_end":30},"ref_id":{"krate":0,"index":3982}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551987,"byte_end":551993,"line_start":1082,"line_end":1082,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":551994,"byte_end":552000,"line_start":1082,"line_end":1082,"column_start":25,"column_end":31},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552036,"byte_end":552047,"line_start":1084,"line_end":1084,"column_start":15,"column_end":26},"ref_id":{"krate":0,"index":3826}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552064,"byte_end":552067,"line_start":1085,"line_end":1085,"column_start":16,"column_end":19},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3988}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551978,"byte_end":551985,"line_start":1082,"line_end":1082,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3988}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552011,"byte_end":552015,"line_start":1083,"line_end":1083,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552030,"byte_end":552034,"line_start":1084,"line_end":1084,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552057,"byte_end":552062,"line_start":1085,"line_end":1085,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":3991}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":551974,"byte_end":552001,"line_start":1082,"line_end":1082,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":3988}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552007,"byte_end":552020,"line_start":1083,"line_end":1083,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3989}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552026,"byte_end":552047,"line_start":1084,"line_end":1084,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":3990}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552053,"byte_end":552071,"line_start":1085,"line_end":1085,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":3991}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552181,"byte_end":552187,"line_start":1092,"line_end":1092,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552188,"byte_end":552191,"line_start":1092,"line_end":1092,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3997}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552172,"byte_end":552179,"line_start":1092,"line_end":1092,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3997}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552206,"byte_end":552210,"line_start":1093,"line_end":1093,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":3998}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552168,"byte_end":552196,"line_start":1092,"line_end":1092,"column_start":5,"column_end":33},"ref_id":{"krate":0,"index":3997}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552202,"byte_end":552215,"line_start":1093,"line_end":1093,"column_start":5,"column_end":18},"ref_id":{"krate":0,"index":3998}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552323,"byte_end":552329,"line_start":1100,"line_end":1100,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552330,"byte_end":552336,"line_start":1100,"line_end":1100,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552314,"byte_end":552321,"line_start":1100,"line_end":1100,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552347,"byte_end":552351,"line_start":1101,"line_end":1101,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4005}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552310,"byte_end":552337,"line_start":1100,"line_end":1100,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":4004}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552343,"byte_end":552355,"line_start":1101,"line_end":1101,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":4005}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552464,"byte_end":552470,"line_start":1108,"line_end":1108,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552471,"byte_end":552477,"line_start":1108,"line_end":1108,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552455,"byte_end":552462,"line_start":1108,"line_end":1108,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552488,"byte_end":552491,"line_start":1109,"line_end":1109,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":4012}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552451,"byte_end":552478,"line_start":1108,"line_end":1108,"column_start":5,"column_end":32},"ref_id":{"krate":0,"index":4011}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552484,"byte_end":552495,"line_start":1109,"line_end":1109,"column_start":5,"column_end":16},"ref_id":{"krate":0,"index":4012}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552604,"byte_end":552610,"line_start":1116,"line_end":1116,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552611,"byte_end":552618,"line_start":1116,"line_end":1116,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3437}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552638,"byte_end":552641,"line_start":1117,"line_end":1117,"column_start":18,"column_end":21},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552642,"byte_end":552649,"line_start":1117,"line_end":1117,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552595,"byte_end":552602,"line_start":1116,"line_end":1116,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552629,"byte_end":552636,"line_start":1117,"line_end":1117,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4019}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552591,"byte_end":552619,"line_start":1116,"line_end":1116,"column_start":5,"column_end":33},"ref_id":{"krate":0,"index":4018}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552625,"byte_end":552650,"line_start":1117,"line_end":1117,"column_start":5,"column_end":30},"ref_id":{"krate":0,"index":4019}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552760,"byte_end":552763,"line_start":1124,"line_end":1124,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552764,"byte_end":552779,"line_start":1124,"line_end":1124,"column_start":21,"column_end":36},"ref_id":{"krate":0,"index":3865}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":552798,"byte_end":552801,"line_start":1125,"line_end":1125,"column_start":16,"column_end":19},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4026}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552752,"byte_end":552758,"line_start":1124,"line_end":1124,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552791,"byte_end":552796,"line_start":1125,"line_end":1125,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4026}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552748,"byte_end":552780,"line_start":1124,"line_end":1124,"column_start":5,"column_end":37},"ref_id":{"krate":0,"index":4025}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552787,"byte_end":552805,"line_start":1125,"line_end":1125,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":4026}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552909,"byte_end":552914,"line_start":1132,"line_end":1132,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4032}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":552905,"byte_end":552921,"line_start":1132,"line_end":1132,"column_start":5,"column_end":21},"ref_id":{"krate":0,"index":4032}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553030,"byte_end":553033,"line_start":1139,"line_end":1139,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553034,"byte_end":553048,"line_start":1139,"line_end":1139,"column_start":21,"column_end":35},"ref_id":{"krate":0,"index":3878}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553067,"byte_end":553070,"line_start":1140,"line_end":1140,"column_start":16,"column_end":19},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553022,"byte_end":553028,"line_start":1139,"line_end":1139,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553060,"byte_end":553065,"line_start":1140,"line_end":1140,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4039}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553018,"byte_end":553049,"line_start":1139,"line_end":1139,"column_start":5,"column_end":36},"ref_id":{"krate":0,"index":4038}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553056,"byte_end":553074,"line_start":1140,"line_end":1140,"column_start":5,"column_end":23},"ref_id":{"krate":0,"index":4039}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553182,"byte_end":553188,"line_start":1147,"line_end":1147,"column_start":15,"column_end":21},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4045}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553176,"byte_end":553180,"line_start":1147,"line_end":1147,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4045}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553199,"byte_end":553205,"line_start":1148,"line_end":1148,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553223,"byte_end":553236,"line_start":1149,"line_end":1149,"column_start":9,"column_end":22},"ref_id":{"krate":0,"index":4047}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553172,"byte_end":553188,"line_start":1147,"line_end":1147,"column_start":5,"column_end":21},"ref_id":{"krate":0,"index":4045}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553195,"byte_end":553212,"line_start":1148,"line_end":1148,"column_start":5,"column_end":22},"ref_id":{"krate":0,"index":4046}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553219,"byte_end":553243,"line_start":1149,"line_end":1149,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":4047}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553252,"byte_end":553256,"line_start":1152,"line_end":1152,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":3266}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553319,"byte_end":553323,"line_start":1154,"line_end":1154,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553324,"byte_end":553325,"line_start":1154,"line_end":1154,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553353,"byte_end":553357,"line_start":1155,"line_end":1155,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553340,"byte_end":553351,"line_start":1155,"line_end":1155,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553353,"byte_end":553357,"line_start":1155,"line_end":1155,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553340,"byte_end":553351,"line_start":1155,"line_end":1155,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553389,"byte_end":553392,"line_start":1156,"line_end":1156,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553376,"byte_end":553387,"line_start":1156,"line_end":1156,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553389,"byte_end":553392,"line_start":1156,"line_end":1156,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553376,"byte_end":553387,"line_start":1156,"line_end":1156,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553424,"byte_end":553428,"line_start":1157,"line_end":1157,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553411,"byte_end":553422,"line_start":1157,"line_end":1157,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553424,"byte_end":553428,"line_start":1157,"line_end":1157,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553411,"byte_end":553422,"line_start":1157,"line_end":1157,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553460,"byte_end":553464,"line_start":1158,"line_end":1158,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553447,"byte_end":553458,"line_start":1158,"line_end":1158,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553460,"byte_end":553464,"line_start":1158,"line_end":1158,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553447,"byte_end":553458,"line_start":1158,"line_end":1158,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553496,"byte_end":553506,"line_start":1159,"line_end":1159,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553483,"byte_end":553494,"line_start":1159,"line_end":1159,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553496,"byte_end":553506,"line_start":1159,"line_end":1159,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553483,"byte_end":553494,"line_start":1159,"line_end":1159,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553531,"byte_end":553535,"line_start":1160,"line_end":1160,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553542,"byte_end":553546,"line_start":1160,"line_end":1160,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553547,"byte_end":553551,"line_start":1160,"line_end":1160,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553560,"byte_end":553572,"line_start":1160,"line_end":1160,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553555,"byte_end":553558,"line_start":1160,"line_end":1160,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553574,"byte_end":553578,"line_start":1160,"line_end":1160,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553579,"byte_end":553583,"line_start":1160,"line_end":1160,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553612,"byte_end":553616,"line_start":1161,"line_end":1161,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553631,"byte_end":553639,"line_start":1161,"line_end":1161,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553626,"byte_end":553629,"line_start":1161,"line_end":1161,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553641,"byte_end":553645,"line_start":1161,"line_end":1161,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553646,"byte_end":553650,"line_start":1161,"line_end":1161,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553659,"byte_end":553673,"line_start":1161,"line_end":1161,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":3987}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553736,"byte_end":553741,"line_start":1164,"line_end":1164,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553723,"byte_end":553734,"line_start":1164,"line_end":1164,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553736,"byte_end":553741,"line_start":1164,"line_end":1164,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553723,"byte_end":553734,"line_start":1164,"line_end":1164,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553766,"byte_end":553770,"line_start":1165,"line_end":1165,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553777,"byte_end":553781,"line_start":1165,"line_end":1165,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553782,"byte_end":553786,"line_start":1165,"line_end":1165,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553795,"byte_end":553807,"line_start":1165,"line_end":1165,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553790,"byte_end":553793,"line_start":1165,"line_end":1165,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553809,"byte_end":553813,"line_start":1165,"line_end":1165,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553814,"byte_end":553818,"line_start":1165,"line_end":1165,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553847,"byte_end":553851,"line_start":1166,"line_end":1166,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":553866,"byte_end":553874,"line_start":1166,"line_end":1166,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553861,"byte_end":553864,"line_start":1166,"line_end":1166,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553876,"byte_end":553880,"line_start":1166,"line_end":1166,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":553881,"byte_end":553885,"line_start":1166,"line_end":1166,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553894,"byte_end":553907,"line_start":1166,"line_end":1166,"column_start":68,"column_end":81},"ref_id":{"krate":0,"index":3996}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553970,"byte_end":553975,"line_start":1169,"line_end":1169,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553957,"byte_end":553968,"line_start":1169,"line_end":1169,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553970,"byte_end":553975,"line_start":1169,"line_end":1169,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":553957,"byte_end":553968,"line_start":1169,"line_end":1169,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554000,"byte_end":554004,"line_start":1170,"line_end":1170,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554011,"byte_end":554015,"line_start":1170,"line_end":1170,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554016,"byte_end":554020,"line_start":1170,"line_end":1170,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554029,"byte_end":554041,"line_start":1170,"line_end":1170,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554024,"byte_end":554027,"line_start":1170,"line_end":1170,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554043,"byte_end":554047,"line_start":1170,"line_end":1170,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554048,"byte_end":554052,"line_start":1170,"line_end":1170,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554081,"byte_end":554085,"line_start":1171,"line_end":1171,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554100,"byte_end":554108,"line_start":1171,"line_end":1171,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554095,"byte_end":554098,"line_start":1171,"line_end":1171,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554110,"byte_end":554114,"line_start":1171,"line_end":1171,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554115,"byte_end":554119,"line_start":1171,"line_end":1171,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554128,"byte_end":554138,"line_start":1171,"line_end":1171,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":3921}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554201,"byte_end":554207,"line_start":1174,"line_end":1174,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554188,"byte_end":554199,"line_start":1174,"line_end":1174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554201,"byte_end":554207,"line_start":1174,"line_end":1174,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554188,"byte_end":554199,"line_start":1174,"line_end":1174,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554232,"byte_end":554236,"line_start":1175,"line_end":1175,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554243,"byte_end":554247,"line_start":1175,"line_end":1175,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554248,"byte_end":554252,"line_start":1175,"line_end":1175,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554261,"byte_end":554273,"line_start":1175,"line_end":1175,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554256,"byte_end":554259,"line_start":1175,"line_end":1175,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554275,"byte_end":554279,"line_start":1175,"line_end":1175,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554280,"byte_end":554284,"line_start":1175,"line_end":1175,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554313,"byte_end":554317,"line_start":1176,"line_end":1176,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554332,"byte_end":554340,"line_start":1176,"line_end":1176,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554327,"byte_end":554330,"line_start":1176,"line_end":1176,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554342,"byte_end":554346,"line_start":1176,"line_end":1176,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554347,"byte_end":554351,"line_start":1176,"line_end":1176,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554360,"byte_end":554371,"line_start":1176,"line_end":1176,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3927}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554434,"byte_end":554440,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554421,"byte_end":554432,"line_start":1179,"line_end":1179,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554434,"byte_end":554440,"line_start":1179,"line_end":1179,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554421,"byte_end":554432,"line_start":1179,"line_end":1179,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554465,"byte_end":554469,"line_start":1180,"line_end":1180,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554476,"byte_end":554480,"line_start":1180,"line_end":1180,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554481,"byte_end":554485,"line_start":1180,"line_end":1180,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554494,"byte_end":554506,"line_start":1180,"line_end":1180,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554489,"byte_end":554492,"line_start":1180,"line_end":1180,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554508,"byte_end":554512,"line_start":1180,"line_end":1180,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554513,"byte_end":554517,"line_start":1180,"line_end":1180,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554546,"byte_end":554550,"line_start":1181,"line_end":1181,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554565,"byte_end":554573,"line_start":1181,"line_end":1181,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554560,"byte_end":554563,"line_start":1181,"line_end":1181,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554575,"byte_end":554579,"line_start":1181,"line_end":1181,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554580,"byte_end":554584,"line_start":1181,"line_end":1181,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554593,"byte_end":554604,"line_start":1181,"line_end":1181,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3933}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554667,"byte_end":554673,"line_start":1184,"line_end":1184,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554654,"byte_end":554665,"line_start":1184,"line_end":1184,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554667,"byte_end":554673,"line_start":1184,"line_end":1184,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554654,"byte_end":554665,"line_start":1184,"line_end":1184,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554698,"byte_end":554702,"line_start":1185,"line_end":1185,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554709,"byte_end":554713,"line_start":1185,"line_end":1185,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554714,"byte_end":554718,"line_start":1185,"line_end":1185,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554727,"byte_end":554739,"line_start":1185,"line_end":1185,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554722,"byte_end":554725,"line_start":1185,"line_end":1185,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554741,"byte_end":554745,"line_start":1185,"line_end":1185,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554746,"byte_end":554750,"line_start":1185,"line_end":1185,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554779,"byte_end":554783,"line_start":1186,"line_end":1186,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554798,"byte_end":554806,"line_start":1186,"line_end":1186,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554793,"byte_end":554796,"line_start":1186,"line_end":1186,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554808,"byte_end":554812,"line_start":1186,"line_end":1186,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554813,"byte_end":554817,"line_start":1186,"line_end":1186,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554826,"byte_end":554837,"line_start":1186,"line_end":1186,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3939}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554900,"byte_end":554904,"line_start":1189,"line_end":1189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554887,"byte_end":554898,"line_start":1189,"line_end":1189,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554900,"byte_end":554904,"line_start":1189,"line_end":1189,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554887,"byte_end":554898,"line_start":1189,"line_end":1189,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554929,"byte_end":554933,"line_start":1190,"line_end":1190,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554940,"byte_end":554944,"line_start":1190,"line_end":1190,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554945,"byte_end":554949,"line_start":1190,"line_end":1190,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":554958,"byte_end":554970,"line_start":1190,"line_end":1190,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":554953,"byte_end":554956,"line_start":1190,"line_end":1190,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554972,"byte_end":554976,"line_start":1190,"line_end":1190,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":554977,"byte_end":554981,"line_start":1190,"line_end":1190,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555010,"byte_end":555014,"line_start":1191,"line_end":1191,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555029,"byte_end":555037,"line_start":1191,"line_end":1191,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555024,"byte_end":555027,"line_start":1191,"line_end":1191,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555039,"byte_end":555043,"line_start":1191,"line_end":1191,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555044,"byte_end":555048,"line_start":1191,"line_end":1191,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555057,"byte_end":555067,"line_start":1191,"line_end":1191,"column_start":68,"column_end":78},"ref_id":{"krate":0,"index":3945}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555130,"byte_end":555135,"line_start":1194,"line_end":1194,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555117,"byte_end":555128,"line_start":1194,"line_end":1194,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555130,"byte_end":555135,"line_start":1194,"line_end":1194,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555117,"byte_end":555128,"line_start":1194,"line_end":1194,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555160,"byte_end":555164,"line_start":1195,"line_end":1195,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555171,"byte_end":555175,"line_start":1195,"line_end":1195,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555176,"byte_end":555180,"line_start":1195,"line_end":1195,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555189,"byte_end":555201,"line_start":1195,"line_end":1195,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555184,"byte_end":555187,"line_start":1195,"line_end":1195,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555203,"byte_end":555207,"line_start":1195,"line_end":1195,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555208,"byte_end":555212,"line_start":1195,"line_end":1195,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555241,"byte_end":555245,"line_start":1196,"line_end":1196,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555260,"byte_end":555268,"line_start":1196,"line_end":1196,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555255,"byte_end":555258,"line_start":1196,"line_end":1196,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555270,"byte_end":555274,"line_start":1196,"line_end":1196,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555275,"byte_end":555279,"line_start":1196,"line_end":1196,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555288,"byte_end":555299,"line_start":1196,"line_end":1196,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3951}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555362,"byte_end":555367,"line_start":1199,"line_end":1199,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555349,"byte_end":555360,"line_start":1199,"line_end":1199,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555362,"byte_end":555367,"line_start":1199,"line_end":1199,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555349,"byte_end":555360,"line_start":1199,"line_end":1199,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555392,"byte_end":555396,"line_start":1200,"line_end":1200,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555403,"byte_end":555407,"line_start":1200,"line_end":1200,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555408,"byte_end":555412,"line_start":1200,"line_end":1200,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555421,"byte_end":555433,"line_start":1200,"line_end":1200,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555416,"byte_end":555419,"line_start":1200,"line_end":1200,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555435,"byte_end":555439,"line_start":1200,"line_end":1200,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555440,"byte_end":555444,"line_start":1200,"line_end":1200,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555473,"byte_end":555477,"line_start":1201,"line_end":1201,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555492,"byte_end":555500,"line_start":1201,"line_end":1201,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555487,"byte_end":555490,"line_start":1201,"line_end":1201,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555502,"byte_end":555506,"line_start":1201,"line_end":1201,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555507,"byte_end":555511,"line_start":1201,"line_end":1201,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555520,"byte_end":555531,"line_start":1201,"line_end":1201,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3957}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555594,"byte_end":555599,"line_start":1204,"line_end":1204,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555581,"byte_end":555592,"line_start":1204,"line_end":1204,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555594,"byte_end":555599,"line_start":1204,"line_end":1204,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555581,"byte_end":555592,"line_start":1204,"line_end":1204,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555624,"byte_end":555628,"line_start":1205,"line_end":1205,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555635,"byte_end":555639,"line_start":1205,"line_end":1205,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555640,"byte_end":555644,"line_start":1205,"line_end":1205,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555653,"byte_end":555665,"line_start":1205,"line_end":1205,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555648,"byte_end":555651,"line_start":1205,"line_end":1205,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555667,"byte_end":555671,"line_start":1205,"line_end":1205,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555672,"byte_end":555676,"line_start":1205,"line_end":1205,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555705,"byte_end":555709,"line_start":1206,"line_end":1206,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555724,"byte_end":555732,"line_start":1206,"line_end":1206,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555719,"byte_end":555722,"line_start":1206,"line_end":1206,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555734,"byte_end":555738,"line_start":1206,"line_end":1206,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555739,"byte_end":555743,"line_start":1206,"line_end":1206,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555752,"byte_end":555763,"line_start":1206,"line_end":1206,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3963}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555826,"byte_end":555831,"line_start":1209,"line_end":1209,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555813,"byte_end":555824,"line_start":1209,"line_end":1209,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555826,"byte_end":555831,"line_start":1209,"line_end":1209,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555813,"byte_end":555824,"line_start":1209,"line_end":1209,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555856,"byte_end":555860,"line_start":1210,"line_end":1210,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555867,"byte_end":555871,"line_start":1210,"line_end":1210,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555872,"byte_end":555876,"line_start":1210,"line_end":1210,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555885,"byte_end":555897,"line_start":1210,"line_end":1210,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555880,"byte_end":555883,"line_start":1210,"line_end":1210,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555899,"byte_end":555903,"line_start":1210,"line_end":1210,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555904,"byte_end":555908,"line_start":1210,"line_end":1210,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555937,"byte_end":555941,"line_start":1211,"line_end":1211,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":555956,"byte_end":555964,"line_start":1211,"line_end":1211,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555951,"byte_end":555954,"line_start":1211,"line_end":1211,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555966,"byte_end":555970,"line_start":1211,"line_end":1211,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":555971,"byte_end":555975,"line_start":1211,"line_end":1211,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":555984,"byte_end":555995,"line_start":1211,"line_end":1211,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3969}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556058,"byte_end":556064,"line_start":1214,"line_end":1214,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556045,"byte_end":556056,"line_start":1214,"line_end":1214,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556058,"byte_end":556064,"line_start":1214,"line_end":1214,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556045,"byte_end":556056,"line_start":1214,"line_end":1214,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556089,"byte_end":556093,"line_start":1215,"line_end":1215,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556100,"byte_end":556104,"line_start":1215,"line_end":1215,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556105,"byte_end":556109,"line_start":1215,"line_end":1215,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556118,"byte_end":556130,"line_start":1215,"line_end":1215,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556113,"byte_end":556116,"line_start":1215,"line_end":1215,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556132,"byte_end":556136,"line_start":1215,"line_end":1215,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556137,"byte_end":556141,"line_start":1215,"line_end":1215,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556170,"byte_end":556174,"line_start":1216,"line_end":1216,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556189,"byte_end":556197,"line_start":1216,"line_end":1216,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556184,"byte_end":556187,"line_start":1216,"line_end":1216,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556199,"byte_end":556203,"line_start":1216,"line_end":1216,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556204,"byte_end":556208,"line_start":1216,"line_end":1216,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556217,"byte_end":556228,"line_start":1216,"line_end":1216,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3975}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556291,"byte_end":556298,"line_start":1219,"line_end":1219,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556278,"byte_end":556289,"line_start":1219,"line_end":1219,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556291,"byte_end":556298,"line_start":1219,"line_end":1219,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556278,"byte_end":556289,"line_start":1219,"line_end":1219,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556323,"byte_end":556327,"line_start":1220,"line_end":1220,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556334,"byte_end":556338,"line_start":1220,"line_end":1220,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556339,"byte_end":556343,"line_start":1220,"line_end":1220,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556352,"byte_end":556364,"line_start":1220,"line_end":1220,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556347,"byte_end":556350,"line_start":1220,"line_end":1220,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556366,"byte_end":556370,"line_start":1220,"line_end":1220,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556371,"byte_end":556375,"line_start":1220,"line_end":1220,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556404,"byte_end":556408,"line_start":1221,"line_end":1221,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556423,"byte_end":556431,"line_start":1221,"line_end":1221,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556418,"byte_end":556421,"line_start":1221,"line_end":1221,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556433,"byte_end":556437,"line_start":1221,"line_end":1221,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556438,"byte_end":556442,"line_start":1221,"line_end":1221,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556451,"byte_end":556462,"line_start":1221,"line_end":1221,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":4010}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556525,"byte_end":556532,"line_start":1224,"line_end":1224,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556512,"byte_end":556523,"line_start":1224,"line_end":1224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556525,"byte_end":556532,"line_start":1224,"line_end":1224,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556512,"byte_end":556523,"line_start":1224,"line_end":1224,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556557,"byte_end":556561,"line_start":1225,"line_end":1225,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556568,"byte_end":556572,"line_start":1225,"line_end":1225,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556573,"byte_end":556577,"line_start":1225,"line_end":1225,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556586,"byte_end":556598,"line_start":1225,"line_end":1225,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556581,"byte_end":556584,"line_start":1225,"line_end":1225,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556600,"byte_end":556604,"line_start":1225,"line_end":1225,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556605,"byte_end":556609,"line_start":1225,"line_end":1225,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556638,"byte_end":556642,"line_start":1226,"line_end":1226,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556657,"byte_end":556665,"line_start":1226,"line_end":1226,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556652,"byte_end":556655,"line_start":1226,"line_end":1226,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556667,"byte_end":556671,"line_start":1226,"line_end":1226,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556672,"byte_end":556676,"line_start":1226,"line_end":1226,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556685,"byte_end":556697,"line_start":1226,"line_end":1226,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":3981}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556760,"byte_end":556763,"line_start":1229,"line_end":1229,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556747,"byte_end":556758,"line_start":1229,"line_end":1229,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556760,"byte_end":556763,"line_start":1229,"line_end":1229,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556747,"byte_end":556758,"line_start":1229,"line_end":1229,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556788,"byte_end":556792,"line_start":1230,"line_end":1230,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556799,"byte_end":556803,"line_start":1230,"line_end":1230,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556804,"byte_end":556808,"line_start":1230,"line_end":1230,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556817,"byte_end":556829,"line_start":1230,"line_end":1230,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556812,"byte_end":556815,"line_start":1230,"line_end":1230,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556831,"byte_end":556835,"line_start":1230,"line_end":1230,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556836,"byte_end":556840,"line_start":1230,"line_end":1230,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556869,"byte_end":556873,"line_start":1231,"line_end":1231,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":556888,"byte_end":556896,"line_start":1231,"line_end":1231,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556883,"byte_end":556886,"line_start":1231,"line_end":1231,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556898,"byte_end":556902,"line_start":1231,"line_end":1231,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":556903,"byte_end":556907,"line_start":1231,"line_end":1231,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556916,"byte_end":556927,"line_start":1231,"line_end":1231,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":4003}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556990,"byte_end":556994,"line_start":1234,"line_end":1234,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556977,"byte_end":556988,"line_start":1234,"line_end":1234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556990,"byte_end":556994,"line_start":1234,"line_end":1234,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":556977,"byte_end":556988,"line_start":1234,"line_end":1234,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557019,"byte_end":557023,"line_start":1235,"line_end":1235,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557030,"byte_end":557034,"line_start":1235,"line_end":1235,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557035,"byte_end":557039,"line_start":1235,"line_end":1235,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557048,"byte_end":557060,"line_start":1235,"line_end":1235,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557043,"byte_end":557046,"line_start":1235,"line_end":1235,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557062,"byte_end":557066,"line_start":1235,"line_end":1235,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557067,"byte_end":557071,"line_start":1235,"line_end":1235,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557100,"byte_end":557104,"line_start":1236,"line_end":1236,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557119,"byte_end":557127,"line_start":1236,"line_end":1236,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557114,"byte_end":557117,"line_start":1236,"line_end":1236,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557129,"byte_end":557133,"line_start":1236,"line_end":1236,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557134,"byte_end":557138,"line_start":1236,"line_end":1236,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557147,"byte_end":557158,"line_start":1236,"line_end":1236,"column_start":68,"column_end":79},"ref_id":{"krate":0,"index":3939}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557221,"byte_end":557225,"line_start":1239,"line_end":1239,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557208,"byte_end":557219,"line_start":1239,"line_end":1239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557221,"byte_end":557225,"line_start":1239,"line_end":1239,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557208,"byte_end":557219,"line_start":1239,"line_end":1239,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557250,"byte_end":557254,"line_start":1240,"line_end":1240,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557261,"byte_end":557265,"line_start":1240,"line_end":1240,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557266,"byte_end":557270,"line_start":1240,"line_end":1240,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557279,"byte_end":557291,"line_start":1240,"line_end":1240,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557274,"byte_end":557277,"line_start":1240,"line_end":1240,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557293,"byte_end":557297,"line_start":1240,"line_end":1240,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557298,"byte_end":557302,"line_start":1240,"line_end":1240,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557331,"byte_end":557335,"line_start":1241,"line_end":1241,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557350,"byte_end":557358,"line_start":1241,"line_end":1241,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557345,"byte_end":557348,"line_start":1241,"line_end":1241,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557360,"byte_end":557364,"line_start":1241,"line_end":1241,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557365,"byte_end":557369,"line_start":1241,"line_end":1241,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557378,"byte_end":557390,"line_start":1241,"line_end":1241,"column_start":68,"column_end":80},"ref_id":{"krate":0,"index":4017}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557453,"byte_end":557459,"line_start":1244,"line_end":1244,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557440,"byte_end":557451,"line_start":1244,"line_end":1244,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557453,"byte_end":557459,"line_start":1244,"line_end":1244,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557440,"byte_end":557451,"line_start":1244,"line_end":1244,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557484,"byte_end":557488,"line_start":1245,"line_end":1245,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557495,"byte_end":557499,"line_start":1245,"line_end":1245,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557500,"byte_end":557504,"line_start":1245,"line_end":1245,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557513,"byte_end":557525,"line_start":1245,"line_end":1245,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557508,"byte_end":557511,"line_start":1245,"line_end":1245,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557527,"byte_end":557531,"line_start":1245,"line_end":1245,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557532,"byte_end":557536,"line_start":1245,"line_end":1245,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557565,"byte_end":557569,"line_start":1246,"line_end":1246,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557584,"byte_end":557592,"line_start":1246,"line_end":1246,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557579,"byte_end":557582,"line_start":1246,"line_end":1246,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557594,"byte_end":557598,"line_start":1246,"line_end":1246,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557599,"byte_end":557603,"line_start":1246,"line_end":1246,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557612,"byte_end":557626,"line_start":1246,"line_end":1246,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":4024}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557689,"byte_end":557692,"line_start":1249,"line_end":1249,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557676,"byte_end":557687,"line_start":1249,"line_end":1249,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557689,"byte_end":557692,"line_start":1249,"line_end":1249,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557676,"byte_end":557687,"line_start":1249,"line_end":1249,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557717,"byte_end":557721,"line_start":1250,"line_end":1250,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557728,"byte_end":557732,"line_start":1250,"line_end":1250,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557733,"byte_end":557737,"line_start":1250,"line_end":1250,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557746,"byte_end":557758,"line_start":1250,"line_end":1250,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557741,"byte_end":557744,"line_start":1250,"line_end":1250,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557760,"byte_end":557764,"line_start":1250,"line_end":1250,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557765,"byte_end":557769,"line_start":1250,"line_end":1250,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557798,"byte_end":557802,"line_start":1251,"line_end":1251,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557817,"byte_end":557825,"line_start":1251,"line_end":1251,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557812,"byte_end":557815,"line_start":1251,"line_end":1251,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557827,"byte_end":557831,"line_start":1251,"line_end":1251,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557832,"byte_end":557836,"line_start":1251,"line_end":1251,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557845,"byte_end":557861,"line_start":1251,"line_end":1251,"column_start":68,"column_end":84},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557924,"byte_end":557928,"line_start":1254,"line_end":1254,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557911,"byte_end":557922,"line_start":1254,"line_end":1254,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557924,"byte_end":557928,"line_start":1254,"line_end":1254,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557911,"byte_end":557922,"line_start":1254,"line_end":1254,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557953,"byte_end":557957,"line_start":1255,"line_end":1255,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557964,"byte_end":557968,"line_start":1255,"line_end":1255,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557969,"byte_end":557973,"line_start":1255,"line_end":1255,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":557982,"byte_end":557994,"line_start":1255,"line_end":1255,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":557977,"byte_end":557980,"line_start":1255,"line_end":1255,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":557996,"byte_end":558000,"line_start":1255,"line_end":1255,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558001,"byte_end":558005,"line_start":1255,"line_end":1255,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558034,"byte_end":558038,"line_start":1256,"line_end":1256,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558053,"byte_end":558061,"line_start":1256,"line_end":1256,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558048,"byte_end":558051,"line_start":1256,"line_end":1256,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558063,"byte_end":558067,"line_start":1256,"line_end":1256,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558068,"byte_end":558072,"line_start":1256,"line_end":1256,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558081,"byte_end":558097,"line_start":1256,"line_end":1256,"column_start":68,"column_end":84},"ref_id":{"krate":0,"index":4031}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558160,"byte_end":558165,"line_start":1259,"line_end":1259,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558147,"byte_end":558158,"line_start":1259,"line_end":1259,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558160,"byte_end":558165,"line_start":1259,"line_end":1259,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558147,"byte_end":558158,"line_start":1259,"line_end":1259,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558190,"byte_end":558194,"line_start":1260,"line_end":1260,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558201,"byte_end":558205,"line_start":1260,"line_end":1260,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558206,"byte_end":558210,"line_start":1260,"line_end":1260,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558219,"byte_end":558231,"line_start":1260,"line_end":1260,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558214,"byte_end":558217,"line_start":1260,"line_end":1260,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558233,"byte_end":558237,"line_start":1260,"line_end":1260,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558238,"byte_end":558242,"line_start":1260,"line_end":1260,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558271,"byte_end":558275,"line_start":1261,"line_end":1261,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558290,"byte_end":558298,"line_start":1261,"line_end":1261,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558285,"byte_end":558288,"line_start":1261,"line_end":1261,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558300,"byte_end":558304,"line_start":1261,"line_end":1261,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558305,"byte_end":558309,"line_start":1261,"line_end":1261,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558318,"byte_end":558331,"line_start":1261,"line_end":1261,"column_start":68,"column_end":81},"ref_id":{"krate":0,"index":4037}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558394,"byte_end":558400,"line_start":1264,"line_end":1264,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558381,"byte_end":558392,"line_start":1264,"line_end":1264,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558394,"byte_end":558400,"line_start":1264,"line_end":1264,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558381,"byte_end":558392,"line_start":1264,"line_end":1264,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558425,"byte_end":558429,"line_start":1265,"line_end":1265,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2459}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558436,"byte_end":558440,"line_start":1265,"line_end":1265,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558441,"byte_end":558445,"line_start":1265,"line_end":1265,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558454,"byte_end":558466,"line_start":1265,"line_end":1265,"column_start":49,"column_end":61},"ref_id":{"krate":5,"index":6071}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558449,"byte_end":558452,"line_start":1265,"line_end":1265,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":5986}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558468,"byte_end":558472,"line_start":1265,"line_end":1265,"column_start":63,"column_end":67},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558473,"byte_end":558477,"line_start":1265,"line_end":1265,"column_start":68,"column_end":72},"ref_id":{"krate":0,"index":3916}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558506,"byte_end":558510,"line_start":1266,"line_end":1266,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":2001}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":558525,"byte_end":558533,"line_start":1266,"line_end":1266,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":365}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558520,"byte_end":558523,"line_start":1266,"line_end":1266,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":315}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558535,"byte_end":558539,"line_start":1266,"line_end":1266,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":1073744290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558540,"byte_end":558544,"line_start":1266,"line_end":1266,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":3916}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558553,"byte_end":558567,"line_start":1266,"line_end":1266,"column_start":68,"column_end":82},"ref_id":{"krate":0,"index":4044}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558885,"byte_end":558888,"line_start":1283,"line_end":1283,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558889,"byte_end":558905,"line_start":1283,"line_end":1283,"column_start":21,"column_end":37},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":4053}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558818,"byte_end":558829,"line_start":1281,"line_end":1281,"column_start":9,"column_end":20},"ref_id":{"krate":0,"index":4053}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558877,"byte_end":558883,"line_start":1283,"line_end":1283,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558814,"byte_end":558835,"line_start":1281,"line_end":1281,"column_start":5,"column_end":26},"ref_id":{"krate":0,"index":4053}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":558873,"byte_end":558906,"line_start":1283,"line_end":1283,"column_start":5,"column_end":38},"ref_id":{"krate":0,"index":4054}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559006,"byte_end":559012,"line_start":1290,"line_end":1290,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559013,"byte_end":559019,"line_start":1290,"line_end":1290,"column_start":36,"column_end":42},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559021,"byte_end":559029,"line_start":1290,"line_end":1290,"column_start":44,"column_end":52},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559052,"byte_end":559064,"line_start":1291,"line_end":1291,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2469}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559041,"byte_end":559050,"line_start":1291,"line_end":1291,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559066,"byte_end":559070,"line_start":1291,"line_end":1291,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744292}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559071,"byte_end":559077,"line_start":1291,"line_end":1291,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4054}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559197,"byte_end":559200,"line_start":1296,"line_end":1296,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559201,"byte_end":559217,"line_start":1296,"line_end":1296,"column_start":45,"column_end":61},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559239,"byte_end":559245,"line_start":1296,"line_end":1296,"column_start":83,"column_end":89},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559246,"byte_end":559252,"line_start":1296,"line_end":1296,"column_start":90,"column_end":96},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559254,"byte_end":559262,"line_start":1296,"line_end":1296,"column_start":98,"column_end":106},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559280,"byte_end":559293,"line_start":1297,"line_end":1297,"column_start":15,"column_end":28},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559294,"byte_end":559301,"line_start":1297,"line_end":1297,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":536873381}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559303,"byte_end":559304,"line_start":1297,"line_end":1297,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559332,"byte_end":559335,"line_start":1298,"line_end":1298,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559319,"byte_end":559330,"line_start":1298,"line_end":1298,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559332,"byte_end":559335,"line_start":1298,"line_end":1298,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559319,"byte_end":559330,"line_start":1298,"line_end":1298,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559362,"byte_end":559375,"line_start":1298,"line_end":1298,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559354,"byte_end":559360,"line_start":1298,"line_end":1298,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2862}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559376,"byte_end":559389,"line_start":1298,"line_end":1298,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559391,"byte_end":559398,"line_start":1298,"line_end":1298,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559427,"byte_end":559437,"line_start":1299,"line_end":1299,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559414,"byte_end":559425,"line_start":1299,"line_end":1299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559427,"byte_end":559437,"line_start":1299,"line_end":1299,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559414,"byte_end":559425,"line_start":1299,"line_end":1299,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559457,"byte_end":559470,"line_start":1299,"line_end":1299,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559449,"byte_end":559455,"line_start":1299,"line_end":1299,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559471,"byte_end":559484,"line_start":1299,"line_end":1299,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559486,"byte_end":559493,"line_start":1299,"line_end":1299,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559522,"byte_end":559527,"line_start":1300,"line_end":1300,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559509,"byte_end":559520,"line_start":1300,"line_end":1300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559522,"byte_end":559527,"line_start":1300,"line_end":1300,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559509,"byte_end":559520,"line_start":1300,"line_end":1300,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559552,"byte_end":559565,"line_start":1300,"line_end":1300,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559542,"byte_end":559550,"line_start":1300,"line_end":1300,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559566,"byte_end":559579,"line_start":1300,"line_end":1300,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559581,"byte_end":559588,"line_start":1300,"line_end":1300,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559617,"byte_end":559621,"line_start":1301,"line_end":1301,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559604,"byte_end":559615,"line_start":1301,"line_end":1301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559617,"byte_end":559621,"line_start":1301,"line_end":1301,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559604,"byte_end":559615,"line_start":1301,"line_end":1301,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559647,"byte_end":559660,"line_start":1301,"line_end":1301,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559661,"byte_end":559674,"line_start":1301,"line_end":1301,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559676,"byte_end":559683,"line_start":1301,"line_end":1301,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559712,"byte_end":559717,"line_start":1302,"line_end":1302,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559699,"byte_end":559710,"line_start":1302,"line_end":1302,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559712,"byte_end":559717,"line_start":1302,"line_end":1302,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559699,"byte_end":559710,"line_start":1302,"line_end":1302,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559742,"byte_end":559755,"line_start":1302,"line_end":1302,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559756,"byte_end":559769,"line_start":1302,"line_end":1302,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559771,"byte_end":559778,"line_start":1302,"line_end":1302,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559807,"byte_end":559812,"line_start":1303,"line_end":1303,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559794,"byte_end":559805,"line_start":1303,"line_end":1303,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559807,"byte_end":559812,"line_start":1303,"line_end":1303,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559794,"byte_end":559805,"line_start":1303,"line_end":1303,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559837,"byte_end":559850,"line_start":1303,"line_end":1303,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559851,"byte_end":559864,"line_start":1303,"line_end":1303,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559866,"byte_end":559873,"line_start":1303,"line_end":1303,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559902,"byte_end":559907,"line_start":1304,"line_end":1304,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559889,"byte_end":559900,"line_start":1304,"line_end":1304,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559902,"byte_end":559907,"line_start":1304,"line_end":1304,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559889,"byte_end":559900,"line_start":1304,"line_end":1304,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":559932,"byte_end":559945,"line_start":1304,"line_end":1304,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559946,"byte_end":559959,"line_start":1304,"line_end":1304,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":559961,"byte_end":559968,"line_start":1304,"line_end":1304,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559997,"byte_end":560002,"line_start":1305,"line_end":1305,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559984,"byte_end":559995,"line_start":1305,"line_end":1305,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559997,"byte_end":560002,"line_start":1305,"line_end":1305,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":559984,"byte_end":559995,"line_start":1305,"line_end":1305,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560027,"byte_end":560040,"line_start":1305,"line_end":1305,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560041,"byte_end":560054,"line_start":1305,"line_end":1305,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560056,"byte_end":560063,"line_start":1305,"line_end":1305,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560092,"byte_end":560098,"line_start":1306,"line_end":1306,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560079,"byte_end":560090,"line_start":1306,"line_end":1306,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560092,"byte_end":560098,"line_start":1306,"line_end":1306,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560079,"byte_end":560090,"line_start":1306,"line_end":1306,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560122,"byte_end":560135,"line_start":1306,"line_end":1306,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560136,"byte_end":560149,"line_start":1306,"line_end":1306,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560151,"byte_end":560158,"line_start":1306,"line_end":1306,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560187,"byte_end":560193,"line_start":1307,"line_end":1307,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560174,"byte_end":560185,"line_start":1307,"line_end":1307,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560187,"byte_end":560193,"line_start":1307,"line_end":1307,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560174,"byte_end":560185,"line_start":1307,"line_end":1307,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560217,"byte_end":560230,"line_start":1307,"line_end":1307,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560231,"byte_end":560244,"line_start":1307,"line_end":1307,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560246,"byte_end":560253,"line_start":1307,"line_end":1307,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560282,"byte_end":560288,"line_start":1308,"line_end":1308,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560269,"byte_end":560280,"line_start":1308,"line_end":1308,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560282,"byte_end":560288,"line_start":1308,"line_end":1308,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560269,"byte_end":560280,"line_start":1308,"line_end":1308,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560312,"byte_end":560325,"line_start":1308,"line_end":1308,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560326,"byte_end":560339,"line_start":1308,"line_end":1308,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560341,"byte_end":560348,"line_start":1308,"line_end":1308,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560377,"byte_end":560382,"line_start":1309,"line_end":1309,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560364,"byte_end":560375,"line_start":1309,"line_end":1309,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560377,"byte_end":560382,"line_start":1309,"line_end":1309,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560364,"byte_end":560375,"line_start":1309,"line_end":1309,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560407,"byte_end":560420,"line_start":1309,"line_end":1309,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560421,"byte_end":560434,"line_start":1309,"line_end":1309,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560436,"byte_end":560443,"line_start":1309,"line_end":1309,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560472,"byte_end":560478,"line_start":1310,"line_end":1310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560459,"byte_end":560470,"line_start":1310,"line_end":1310,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560472,"byte_end":560478,"line_start":1310,"line_end":1310,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560459,"byte_end":560470,"line_start":1310,"line_end":1310,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560502,"byte_end":560515,"line_start":1310,"line_end":1310,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560516,"byte_end":560529,"line_start":1310,"line_end":1310,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560531,"byte_end":560538,"line_start":1310,"line_end":1310,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560567,"byte_end":560574,"line_start":1311,"line_end":1311,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560554,"byte_end":560565,"line_start":1311,"line_end":1311,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560567,"byte_end":560574,"line_start":1311,"line_end":1311,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560554,"byte_end":560565,"line_start":1311,"line_end":1311,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560597,"byte_end":560610,"line_start":1311,"line_end":1311,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560589,"byte_end":560595,"line_start":1311,"line_end":1311,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560611,"byte_end":560624,"line_start":1311,"line_end":1311,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560626,"byte_end":560633,"line_start":1311,"line_end":1311,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560662,"byte_end":560669,"line_start":1312,"line_end":1312,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560649,"byte_end":560660,"line_start":1312,"line_end":1312,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560662,"byte_end":560669,"line_start":1312,"line_end":1312,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560649,"byte_end":560660,"line_start":1312,"line_end":1312,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560692,"byte_end":560705,"line_start":1312,"line_end":1312,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560706,"byte_end":560719,"line_start":1312,"line_end":1312,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560721,"byte_end":560728,"line_start":1312,"line_end":1312,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560758,"byte_end":560761,"line_start":1313,"line_end":1313,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560745,"byte_end":560756,"line_start":1313,"line_end":1313,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560758,"byte_end":560761,"line_start":1313,"line_end":1313,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560745,"byte_end":560756,"line_start":1313,"line_end":1313,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560788,"byte_end":560801,"line_start":1313,"line_end":1313,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560780,"byte_end":560786,"line_start":1313,"line_end":1313,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560802,"byte_end":560815,"line_start":1313,"line_end":1313,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560817,"byte_end":560824,"line_start":1313,"line_end":1313,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560853,"byte_end":560857,"line_start":1314,"line_end":1314,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560840,"byte_end":560851,"line_start":1314,"line_end":1314,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560853,"byte_end":560857,"line_start":1314,"line_end":1314,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560840,"byte_end":560851,"line_start":1314,"line_end":1314,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560883,"byte_end":560896,"line_start":1314,"line_end":1314,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560874,"byte_end":560881,"line_start":1314,"line_end":1314,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560897,"byte_end":560910,"line_start":1314,"line_end":1314,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560912,"byte_end":560919,"line_start":1314,"line_end":1314,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560948,"byte_end":560952,"line_start":1315,"line_end":1315,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560935,"byte_end":560946,"line_start":1315,"line_end":1315,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560948,"byte_end":560952,"line_start":1315,"line_end":1315,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560935,"byte_end":560946,"line_start":1315,"line_end":1315,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":560978,"byte_end":560991,"line_start":1315,"line_end":1315,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":560969,"byte_end":560976,"line_start":1315,"line_end":1315,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":560992,"byte_end":561005,"line_start":1315,"line_end":1315,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561007,"byte_end":561014,"line_start":1315,"line_end":1315,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561043,"byte_end":561047,"line_start":1316,"line_end":1316,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561030,"byte_end":561041,"line_start":1316,"line_end":1316,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561043,"byte_end":561047,"line_start":1316,"line_end":1316,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561030,"byte_end":561041,"line_start":1316,"line_end":1316,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561073,"byte_end":561086,"line_start":1316,"line_end":1316,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561064,"byte_end":561071,"line_start":1316,"line_end":1316,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561087,"byte_end":561100,"line_start":1316,"line_end":1316,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561102,"byte_end":561109,"line_start":1316,"line_end":1316,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561138,"byte_end":561142,"line_start":1317,"line_end":1317,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561125,"byte_end":561136,"line_start":1317,"line_end":1317,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561138,"byte_end":561142,"line_start":1317,"line_end":1317,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561125,"byte_end":561136,"line_start":1317,"line_end":1317,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561168,"byte_end":561181,"line_start":1317,"line_end":1317,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561159,"byte_end":561166,"line_start":1317,"line_end":1317,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561182,"byte_end":561195,"line_start":1317,"line_end":1317,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561197,"byte_end":561204,"line_start":1317,"line_end":1317,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561233,"byte_end":561239,"line_start":1318,"line_end":1318,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561220,"byte_end":561231,"line_start":1318,"line_end":1318,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561233,"byte_end":561239,"line_start":1318,"line_end":1318,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561220,"byte_end":561231,"line_start":1318,"line_end":1318,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561263,"byte_end":561276,"line_start":1318,"line_end":1318,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561252,"byte_end":561261,"line_start":1318,"line_end":1318,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561277,"byte_end":561290,"line_start":1318,"line_end":1318,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561292,"byte_end":561299,"line_start":1318,"line_end":1318,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561328,"byte_end":561331,"line_start":1319,"line_end":1319,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561315,"byte_end":561326,"line_start":1319,"line_end":1319,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561328,"byte_end":561331,"line_start":1319,"line_end":1319,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561315,"byte_end":561326,"line_start":1319,"line_end":1319,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561358,"byte_end":561371,"line_start":1319,"line_end":1319,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561350,"byte_end":561356,"line_start":1319,"line_end":1319,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561372,"byte_end":561385,"line_start":1319,"line_end":1319,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561387,"byte_end":561394,"line_start":1319,"line_end":1319,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561423,"byte_end":561427,"line_start":1320,"line_end":1320,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561410,"byte_end":561421,"line_start":1320,"line_end":1320,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561423,"byte_end":561427,"line_start":1320,"line_end":1320,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561410,"byte_end":561421,"line_start":1320,"line_end":1320,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561453,"byte_end":561466,"line_start":1320,"line_end":1320,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561444,"byte_end":561451,"line_start":1320,"line_end":1320,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561467,"byte_end":561480,"line_start":1320,"line_end":1320,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561482,"byte_end":561489,"line_start":1320,"line_end":1320,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561518,"byte_end":561523,"line_start":1321,"line_end":1321,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561505,"byte_end":561516,"line_start":1321,"line_end":1321,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561518,"byte_end":561523,"line_start":1321,"line_end":1321,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561505,"byte_end":561516,"line_start":1321,"line_end":1321,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561548,"byte_end":561561,"line_start":1321,"line_end":1321,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561538,"byte_end":561546,"line_start":1321,"line_end":1321,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561562,"byte_end":561575,"line_start":1321,"line_end":1321,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561577,"byte_end":561584,"line_start":1321,"line_end":1321,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561613,"byte_end":561619,"line_start":1322,"line_end":1322,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561600,"byte_end":561611,"line_start":1322,"line_end":1322,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561613,"byte_end":561619,"line_start":1322,"line_end":1322,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561600,"byte_end":561611,"line_start":1322,"line_end":1322,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561643,"byte_end":561656,"line_start":1322,"line_end":1322,"column_start":56,"column_end":69},"ref_id":{"krate":0,"index":1729}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561632,"byte_end":561641,"line_start":1322,"line_end":1322,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561657,"byte_end":561670,"line_start":1322,"line_end":1322,"column_start":70,"column_end":83},"ref_id":{"krate":0,"index":1073744293}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561672,"byte_end":561679,"line_start":1322,"line_end":1322,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":536873381}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561800,"byte_end":561802,"line_start":1324,"line_end":1324,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561811,"byte_end":561815,"line_start":1324,"line_end":1324,"column_start":31,"column_end":35},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561803,"byte_end":561809,"line_start":1324,"line_end":1324,"column_start":23,"column_end":29},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561919,"byte_end":561925,"line_start":1329,"line_end":1329,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561926,"byte_end":561933,"line_start":1329,"line_end":1329,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561935,"byte_end":561943,"line_start":1329,"line_end":1329,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":561966,"byte_end":561979,"line_start":1330,"line_end":1330,"column_start":20,"column_end":33},"ref_id":{"krate":0,"index":2471}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":561955,"byte_end":561964,"line_start":1330,"line_end":1330,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561981,"byte_end":561985,"line_start":1330,"line_end":1330,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744294}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":561986,"byte_end":561992,"line_start":1330,"line_end":1330,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":4054}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562114,"byte_end":562117,"line_start":1335,"line_end":1335,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562118,"byte_end":562134,"line_start":1335,"line_end":1335,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562156,"byte_end":562162,"line_start":1335,"line_end":1335,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562163,"byte_end":562170,"line_start":1335,"line_end":1335,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562172,"byte_end":562180,"line_start":1335,"line_end":1335,"column_start":100,"column_end":108},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562198,"byte_end":562211,"line_start":1336,"line_end":1336,"column_start":15,"column_end":28},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562212,"byte_end":562219,"line_start":1336,"line_end":1336,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":536873383}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562221,"byte_end":562222,"line_start":1336,"line_end":1336,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3912}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562250,"byte_end":562253,"line_start":1337,"line_end":1337,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562237,"byte_end":562248,"line_start":1337,"line_end":1337,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562250,"byte_end":562253,"line_start":1337,"line_end":1337,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562237,"byte_end":562248,"line_start":1337,"line_end":1337,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562280,"byte_end":562294,"line_start":1337,"line_end":1337,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562272,"byte_end":562278,"line_start":1337,"line_end":1337,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2862}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562295,"byte_end":562308,"line_start":1337,"line_end":1337,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562310,"byte_end":562317,"line_start":1337,"line_end":1337,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562346,"byte_end":562356,"line_start":1338,"line_end":1338,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562333,"byte_end":562344,"line_start":1338,"line_end":1338,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562346,"byte_end":562356,"line_start":1338,"line_end":1338,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562333,"byte_end":562344,"line_start":1338,"line_end":1338,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562376,"byte_end":562390,"line_start":1338,"line_end":1338,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562368,"byte_end":562374,"line_start":1338,"line_end":1338,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562391,"byte_end":562404,"line_start":1338,"line_end":1338,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562406,"byte_end":562413,"line_start":1338,"line_end":1338,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562442,"byte_end":562447,"line_start":1339,"line_end":1339,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562429,"byte_end":562440,"line_start":1339,"line_end":1339,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562442,"byte_end":562447,"line_start":1339,"line_end":1339,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562429,"byte_end":562440,"line_start":1339,"line_end":1339,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562472,"byte_end":562486,"line_start":1339,"line_end":1339,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562462,"byte_end":562470,"line_start":1339,"line_end":1339,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562487,"byte_end":562500,"line_start":1339,"line_end":1339,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562502,"byte_end":562509,"line_start":1339,"line_end":1339,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562538,"byte_end":562542,"line_start":1340,"line_end":1340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562525,"byte_end":562536,"line_start":1340,"line_end":1340,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562538,"byte_end":562542,"line_start":1340,"line_end":1340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562525,"byte_end":562536,"line_start":1340,"line_end":1340,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562568,"byte_end":562582,"line_start":1340,"line_end":1340,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562583,"byte_end":562596,"line_start":1340,"line_end":1340,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562598,"byte_end":562605,"line_start":1340,"line_end":1340,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562634,"byte_end":562639,"line_start":1341,"line_end":1341,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562621,"byte_end":562632,"line_start":1341,"line_end":1341,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562634,"byte_end":562639,"line_start":1341,"line_end":1341,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562621,"byte_end":562632,"line_start":1341,"line_end":1341,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562664,"byte_end":562678,"line_start":1341,"line_end":1341,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562679,"byte_end":562692,"line_start":1341,"line_end":1341,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562694,"byte_end":562701,"line_start":1341,"line_end":1341,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562730,"byte_end":562735,"line_start":1342,"line_end":1342,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562717,"byte_end":562728,"line_start":1342,"line_end":1342,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562730,"byte_end":562735,"line_start":1342,"line_end":1342,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562717,"byte_end":562728,"line_start":1342,"line_end":1342,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562760,"byte_end":562774,"line_start":1342,"line_end":1342,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562775,"byte_end":562788,"line_start":1342,"line_end":1342,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562790,"byte_end":562797,"line_start":1342,"line_end":1342,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562826,"byte_end":562831,"line_start":1343,"line_end":1343,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562813,"byte_end":562824,"line_start":1343,"line_end":1343,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562826,"byte_end":562831,"line_start":1343,"line_end":1343,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562813,"byte_end":562824,"line_start":1343,"line_end":1343,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562856,"byte_end":562870,"line_start":1343,"line_end":1343,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562871,"byte_end":562884,"line_start":1343,"line_end":1343,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562886,"byte_end":562893,"line_start":1343,"line_end":1343,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562922,"byte_end":562927,"line_start":1344,"line_end":1344,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562909,"byte_end":562920,"line_start":1344,"line_end":1344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562922,"byte_end":562927,"line_start":1344,"line_end":1344,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":562909,"byte_end":562920,"line_start":1344,"line_end":1344,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":562952,"byte_end":562966,"line_start":1344,"line_end":1344,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562967,"byte_end":562980,"line_start":1344,"line_end":1344,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":562982,"byte_end":562989,"line_start":1344,"line_end":1344,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563018,"byte_end":563024,"line_start":1345,"line_end":1345,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563005,"byte_end":563016,"line_start":1345,"line_end":1345,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563018,"byte_end":563024,"line_start":1345,"line_end":1345,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563005,"byte_end":563016,"line_start":1345,"line_end":1345,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563048,"byte_end":563062,"line_start":1345,"line_end":1345,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563063,"byte_end":563076,"line_start":1345,"line_end":1345,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563078,"byte_end":563085,"line_start":1345,"line_end":1345,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563114,"byte_end":563120,"line_start":1346,"line_end":1346,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563101,"byte_end":563112,"line_start":1346,"line_end":1346,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563114,"byte_end":563120,"line_start":1346,"line_end":1346,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563101,"byte_end":563112,"line_start":1346,"line_end":1346,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563144,"byte_end":563158,"line_start":1346,"line_end":1346,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563159,"byte_end":563172,"line_start":1346,"line_end":1346,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563174,"byte_end":563181,"line_start":1346,"line_end":1346,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563210,"byte_end":563216,"line_start":1347,"line_end":1347,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563197,"byte_end":563208,"line_start":1347,"line_end":1347,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563210,"byte_end":563216,"line_start":1347,"line_end":1347,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563197,"byte_end":563208,"line_start":1347,"line_end":1347,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563240,"byte_end":563254,"line_start":1347,"line_end":1347,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563255,"byte_end":563268,"line_start":1347,"line_end":1347,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563270,"byte_end":563277,"line_start":1347,"line_end":1347,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563306,"byte_end":563311,"line_start":1348,"line_end":1348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563293,"byte_end":563304,"line_start":1348,"line_end":1348,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563306,"byte_end":563311,"line_start":1348,"line_end":1348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563293,"byte_end":563304,"line_start":1348,"line_end":1348,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563336,"byte_end":563350,"line_start":1348,"line_end":1348,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563351,"byte_end":563364,"line_start":1348,"line_end":1348,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563366,"byte_end":563373,"line_start":1348,"line_end":1348,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563402,"byte_end":563408,"line_start":1349,"line_end":1349,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563389,"byte_end":563400,"line_start":1349,"line_end":1349,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563402,"byte_end":563408,"line_start":1349,"line_end":1349,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563389,"byte_end":563400,"line_start":1349,"line_end":1349,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563432,"byte_end":563446,"line_start":1349,"line_end":1349,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563447,"byte_end":563460,"line_start":1349,"line_end":1349,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563462,"byte_end":563469,"line_start":1349,"line_end":1349,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563498,"byte_end":563505,"line_start":1350,"line_end":1350,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563485,"byte_end":563496,"line_start":1350,"line_end":1350,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563498,"byte_end":563505,"line_start":1350,"line_end":1350,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563485,"byte_end":563496,"line_start":1350,"line_end":1350,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563528,"byte_end":563542,"line_start":1350,"line_end":1350,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563520,"byte_end":563526,"line_start":1350,"line_end":1350,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563543,"byte_end":563556,"line_start":1350,"line_end":1350,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563558,"byte_end":563565,"line_start":1350,"line_end":1350,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563594,"byte_end":563601,"line_start":1351,"line_end":1351,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563581,"byte_end":563592,"line_start":1351,"line_end":1351,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563594,"byte_end":563601,"line_start":1351,"line_end":1351,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563581,"byte_end":563592,"line_start":1351,"line_end":1351,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563624,"byte_end":563638,"line_start":1351,"line_end":1351,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563639,"byte_end":563652,"line_start":1351,"line_end":1351,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563654,"byte_end":563661,"line_start":1351,"line_end":1351,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563691,"byte_end":563694,"line_start":1352,"line_end":1352,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563678,"byte_end":563689,"line_start":1352,"line_end":1352,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563691,"byte_end":563694,"line_start":1352,"line_end":1352,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563678,"byte_end":563689,"line_start":1352,"line_end":1352,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563721,"byte_end":563735,"line_start":1352,"line_end":1352,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563713,"byte_end":563719,"line_start":1352,"line_end":1352,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563736,"byte_end":563749,"line_start":1352,"line_end":1352,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563751,"byte_end":563758,"line_start":1352,"line_end":1352,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563787,"byte_end":563791,"line_start":1353,"line_end":1353,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563774,"byte_end":563785,"line_start":1353,"line_end":1353,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563787,"byte_end":563791,"line_start":1353,"line_end":1353,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563774,"byte_end":563785,"line_start":1353,"line_end":1353,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563817,"byte_end":563831,"line_start":1353,"line_end":1353,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563808,"byte_end":563815,"line_start":1353,"line_end":1353,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563832,"byte_end":563845,"line_start":1353,"line_end":1353,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563847,"byte_end":563854,"line_start":1353,"line_end":1353,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563883,"byte_end":563887,"line_start":1354,"line_end":1354,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563870,"byte_end":563881,"line_start":1354,"line_end":1354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563883,"byte_end":563887,"line_start":1354,"line_end":1354,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563870,"byte_end":563881,"line_start":1354,"line_end":1354,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":563913,"byte_end":563927,"line_start":1354,"line_end":1354,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563904,"byte_end":563911,"line_start":1354,"line_end":1354,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563928,"byte_end":563941,"line_start":1354,"line_end":1354,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":563943,"byte_end":563950,"line_start":1354,"line_end":1354,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563979,"byte_end":563983,"line_start":1355,"line_end":1355,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563966,"byte_end":563977,"line_start":1355,"line_end":1355,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563979,"byte_end":563983,"line_start":1355,"line_end":1355,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":563966,"byte_end":563977,"line_start":1355,"line_end":1355,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564009,"byte_end":564023,"line_start":1355,"line_end":1355,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564000,"byte_end":564007,"line_start":1355,"line_end":1355,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564024,"byte_end":564037,"line_start":1355,"line_end":1355,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564039,"byte_end":564046,"line_start":1355,"line_end":1355,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564075,"byte_end":564079,"line_start":1356,"line_end":1356,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564062,"byte_end":564073,"line_start":1356,"line_end":1356,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564075,"byte_end":564079,"line_start":1356,"line_end":1356,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564062,"byte_end":564073,"line_start":1356,"line_end":1356,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564105,"byte_end":564119,"line_start":1356,"line_end":1356,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564096,"byte_end":564103,"line_start":1356,"line_end":1356,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564120,"byte_end":564133,"line_start":1356,"line_end":1356,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564135,"byte_end":564142,"line_start":1356,"line_end":1356,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564171,"byte_end":564177,"line_start":1357,"line_end":1357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564158,"byte_end":564169,"line_start":1357,"line_end":1357,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564171,"byte_end":564177,"line_start":1357,"line_end":1357,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564158,"byte_end":564169,"line_start":1357,"line_end":1357,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564201,"byte_end":564215,"line_start":1357,"line_end":1357,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564190,"byte_end":564199,"line_start":1357,"line_end":1357,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564216,"byte_end":564229,"line_start":1357,"line_end":1357,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564231,"byte_end":564238,"line_start":1357,"line_end":1357,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564267,"byte_end":564270,"line_start":1358,"line_end":1358,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564254,"byte_end":564265,"line_start":1358,"line_end":1358,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564267,"byte_end":564270,"line_start":1358,"line_end":1358,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564254,"byte_end":564265,"line_start":1358,"line_end":1358,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564297,"byte_end":564311,"line_start":1358,"line_end":1358,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564289,"byte_end":564295,"line_start":1358,"line_end":1358,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564312,"byte_end":564325,"line_start":1358,"line_end":1358,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564327,"byte_end":564334,"line_start":1358,"line_end":1358,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564363,"byte_end":564367,"line_start":1359,"line_end":1359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564350,"byte_end":564361,"line_start":1359,"line_end":1359,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564363,"byte_end":564367,"line_start":1359,"line_end":1359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564350,"byte_end":564361,"line_start":1359,"line_end":1359,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564393,"byte_end":564407,"line_start":1359,"line_end":1359,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564384,"byte_end":564391,"line_start":1359,"line_end":1359,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564408,"byte_end":564421,"line_start":1359,"line_end":1359,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564423,"byte_end":564430,"line_start":1359,"line_end":1359,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564459,"byte_end":564464,"line_start":1360,"line_end":1360,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564446,"byte_end":564457,"line_start":1360,"line_end":1360,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564459,"byte_end":564464,"line_start":1360,"line_end":1360,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564446,"byte_end":564457,"line_start":1360,"line_end":1360,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564489,"byte_end":564503,"line_start":1360,"line_end":1360,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564479,"byte_end":564487,"line_start":1360,"line_end":1360,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564504,"byte_end":564517,"line_start":1360,"line_end":1360,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564519,"byte_end":564526,"line_start":1360,"line_end":1360,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564555,"byte_end":564561,"line_start":1361,"line_end":1361,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564542,"byte_end":564553,"line_start":1361,"line_end":1361,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564555,"byte_end":564561,"line_start":1361,"line_end":1361,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564542,"byte_end":564553,"line_start":1361,"line_end":1361,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":564585,"byte_end":564599,"line_start":1361,"line_end":1361,"column_start":56,"column_end":70},"ref_id":{"krate":0,"index":1728}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564574,"byte_end":564583,"line_start":1361,"line_end":1361,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564600,"byte_end":564613,"line_start":1361,"line_end":1361,"column_start":71,"column_end":84},"ref_id":{"krate":0,"index":1073744295}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564615,"byte_end":564622,"line_start":1361,"line_end":1361,"column_start":86,"column_end":93},"ref_id":{"krate":0,"index":536873383}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564744,"byte_end":564746,"line_start":1363,"line_end":1363,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564756,"byte_end":564760,"line_start":1363,"line_end":1363,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564747,"byte_end":564754,"line_start":1363,"line_end":1363,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564875,"byte_end":564878,"line_start":1369,"line_end":1369,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564879,"byte_end":564886,"line_start":1369,"line_end":1369,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564892,"byte_end":564898,"line_start":1369,"line_end":1369,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564899,"byte_end":564905,"line_start":1369,"line_end":1369,"column_start":60,"column_end":66},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564907,"byte_end":564915,"line_start":1369,"line_end":1369,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":564934,"byte_end":564945,"line_start":1370,"line_end":1370,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":1073744296}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564977,"byte_end":564983,"line_start":1371,"line_end":1371,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564968,"byte_end":564975,"line_start":1371,"line_end":1371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564977,"byte_end":564983,"line_start":1371,"line_end":1371,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":564968,"byte_end":564975,"line_start":1371,"line_end":1371,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565008,"byte_end":565010,"line_start":1372,"line_end":1372,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":565013,"byte_end":565018,"line_start":1372,"line_end":1372,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":565011,"byte_end":565012,"line_start":1372,"line_end":1372,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":1342179752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565072,"byte_end":565075,"line_start":1375,"line_end":1375,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":565086,"byte_end":565089,"line_start":1375,"line_end":1375,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":565076,"byte_end":565084,"line_start":1375,"line_end":1375,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567032,"byte_end":567035,"line_start":1422,"line_end":1422,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567036,"byte_end":567052,"line_start":1422,"line_end":1422,"column_start":33,"column_end":49},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567061,"byte_end":567070,"line_start":1422,"line_end":1422,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2839}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567078,"byte_end":567084,"line_start":1422,"line_end":1422,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":2819}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567089,"byte_end":567095,"line_start":1422,"line_end":1422,"column_start":86,"column_end":92},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567103,"byte_end":567106,"line_start":1422,"line_end":1422,"column_start":100,"column_end":103},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567112,"byte_end":567115,"line_start":1422,"line_end":1422,"column_start":109,"column_end":112},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567116,"byte_end":567132,"line_start":1422,"line_end":1422,"column_start":113,"column_end":129},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567136,"byte_end":567144,"line_start":1422,"line_end":1422,"column_start":133,"column_end":141},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567171,"byte_end":567174,"line_start":1424,"line_end":1424,"column_start":15,"column_end":18},"ref_id":{"krate":0,"index":1610615209}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567206,"byte_end":567210,"line_start":1425,"line_end":1425,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2823}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567212,"byte_end":567216,"line_start":1425,"line_end":1425,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":2824}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567197,"byte_end":567203,"line_start":1425,"line_end":1425,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2822}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567189,"byte_end":567195,"line_start":1425,"line_end":1425,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2819}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567274,"byte_end":567278,"line_start":1426,"line_end":1426,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12708}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567260,"byte_end":567267,"line_start":1426,"line_end":1426,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567256,"byte_end":567259,"line_start":1426,"line_end":1426,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567268,"byte_end":567272,"line_start":1426,"line_end":1426,"column_start":45,"column_end":49},"ref_id":{"krate":0,"index":805308841}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567305,"byte_end":567314,"line_start":1428,"line_end":1428,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567364,"byte_end":567382,"line_start":1429,"line_end":1429,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567356,"byte_end":567362,"line_start":1429,"line_end":1429,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2862}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567383,"byte_end":567389,"line_start":1429,"line_end":1429,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567391,"byte_end":567400,"line_start":1429,"line_end":1429,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567402,"byte_end":567405,"line_start":1429,"line_end":1429,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567407,"byte_end":567411,"line_start":1429,"line_end":1429,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567463,"byte_end":567481,"line_start":1430,"line_end":1430,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567455,"byte_end":567461,"line_start":1430,"line_end":1430,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567482,"byte_end":567488,"line_start":1430,"line_end":1430,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567490,"byte_end":567499,"line_start":1430,"line_end":1430,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567501,"byte_end":567504,"line_start":1430,"line_end":1430,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567506,"byte_end":567510,"line_start":1430,"line_end":1430,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567562,"byte_end":567580,"line_start":1431,"line_end":1431,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567554,"byte_end":567560,"line_start":1431,"line_end":1431,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567581,"byte_end":567587,"line_start":1431,"line_end":1431,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567589,"byte_end":567598,"line_start":1431,"line_end":1431,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567600,"byte_end":567603,"line_start":1431,"line_end":1431,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567605,"byte_end":567609,"line_start":1431,"line_end":1431,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567661,"byte_end":567679,"line_start":1432,"line_end":1432,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567653,"byte_end":567659,"line_start":1432,"line_end":1432,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567680,"byte_end":567686,"line_start":1432,"line_end":1432,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567688,"byte_end":567697,"line_start":1432,"line_end":1432,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567699,"byte_end":567702,"line_start":1432,"line_end":1432,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567704,"byte_end":567708,"line_start":1432,"line_end":1432,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567760,"byte_end":567778,"line_start":1433,"line_end":1433,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":567750,"byte_end":567758,"line_start":1433,"line_end":1433,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567779,"byte_end":567785,"line_start":1433,"line_end":1433,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567787,"byte_end":567796,"line_start":1433,"line_end":1433,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567798,"byte_end":567801,"line_start":1433,"line_end":1433,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567803,"byte_end":567807,"line_start":1433,"line_end":1433,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567859,"byte_end":567877,"line_start":1434,"line_end":1434,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567878,"byte_end":567884,"line_start":1434,"line_end":1434,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567886,"byte_end":567895,"line_start":1434,"line_end":1434,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567897,"byte_end":567900,"line_start":1434,"line_end":1434,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567902,"byte_end":567906,"line_start":1434,"line_end":1434,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":567958,"byte_end":567976,"line_start":1435,"line_end":1435,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567977,"byte_end":567983,"line_start":1435,"line_end":1435,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567985,"byte_end":567994,"line_start":1435,"line_end":1435,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":567996,"byte_end":567999,"line_start":1435,"line_end":1435,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568001,"byte_end":568005,"line_start":1435,"line_end":1435,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568057,"byte_end":568075,"line_start":1436,"line_end":1436,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568076,"byte_end":568082,"line_start":1436,"line_end":1436,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568084,"byte_end":568093,"line_start":1436,"line_end":1436,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568095,"byte_end":568098,"line_start":1436,"line_end":1436,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568100,"byte_end":568104,"line_start":1436,"line_end":1436,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568156,"byte_end":568174,"line_start":1437,"line_end":1437,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568175,"byte_end":568181,"line_start":1437,"line_end":1437,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568183,"byte_end":568192,"line_start":1437,"line_end":1437,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568194,"byte_end":568197,"line_start":1437,"line_end":1437,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568199,"byte_end":568203,"line_start":1437,"line_end":1437,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568255,"byte_end":568273,"line_start":1438,"line_end":1438,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568274,"byte_end":568280,"line_start":1438,"line_end":1438,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568282,"byte_end":568291,"line_start":1438,"line_end":1438,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568293,"byte_end":568296,"line_start":1438,"line_end":1438,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568298,"byte_end":568302,"line_start":1438,"line_end":1438,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568354,"byte_end":568372,"line_start":1439,"line_end":1439,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568373,"byte_end":568379,"line_start":1439,"line_end":1439,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568381,"byte_end":568390,"line_start":1439,"line_end":1439,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568392,"byte_end":568395,"line_start":1439,"line_end":1439,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568397,"byte_end":568401,"line_start":1439,"line_end":1439,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568453,"byte_end":568471,"line_start":1440,"line_end":1440,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568472,"byte_end":568478,"line_start":1440,"line_end":1440,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568480,"byte_end":568489,"line_start":1440,"line_end":1440,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568491,"byte_end":568494,"line_start":1440,"line_end":1440,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568496,"byte_end":568500,"line_start":1440,"line_end":1440,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568552,"byte_end":568570,"line_start":1441,"line_end":1441,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568571,"byte_end":568577,"line_start":1441,"line_end":1441,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568579,"byte_end":568588,"line_start":1441,"line_end":1441,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568590,"byte_end":568593,"line_start":1441,"line_end":1441,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568595,"byte_end":568599,"line_start":1441,"line_end":1441,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568651,"byte_end":568669,"line_start":1442,"line_end":1442,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568670,"byte_end":568676,"line_start":1442,"line_end":1442,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568678,"byte_end":568687,"line_start":1442,"line_end":1442,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568689,"byte_end":568692,"line_start":1442,"line_end":1442,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568694,"byte_end":568698,"line_start":1442,"line_end":1442,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568750,"byte_end":568768,"line_start":1443,"line_end":1443,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568769,"byte_end":568775,"line_start":1443,"line_end":1443,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568777,"byte_end":568786,"line_start":1443,"line_end":1443,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568788,"byte_end":568791,"line_start":1443,"line_end":1443,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568793,"byte_end":568797,"line_start":1443,"line_end":1443,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568849,"byte_end":568867,"line_start":1444,"line_end":1444,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568868,"byte_end":568874,"line_start":1444,"line_end":1444,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568876,"byte_end":568885,"line_start":1444,"line_end":1444,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568887,"byte_end":568890,"line_start":1444,"line_end":1444,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568892,"byte_end":568896,"line_start":1444,"line_end":1444,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":568948,"byte_end":568966,"line_start":1445,"line_end":1445,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568967,"byte_end":568973,"line_start":1445,"line_end":1445,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568975,"byte_end":568984,"line_start":1445,"line_end":1445,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568986,"byte_end":568989,"line_start":1445,"line_end":1445,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":568991,"byte_end":568995,"line_start":1445,"line_end":1445,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569047,"byte_end":569065,"line_start":1446,"line_end":1446,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569066,"byte_end":569072,"line_start":1446,"line_end":1446,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569074,"byte_end":569083,"line_start":1446,"line_end":1446,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569085,"byte_end":569088,"line_start":1446,"line_end":1446,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569090,"byte_end":569094,"line_start":1446,"line_end":1446,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569146,"byte_end":569164,"line_start":1447,"line_end":1447,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569165,"byte_end":569171,"line_start":1447,"line_end":1447,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569173,"byte_end":569182,"line_start":1447,"line_end":1447,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569184,"byte_end":569187,"line_start":1447,"line_end":1447,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569189,"byte_end":569193,"line_start":1447,"line_end":1447,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569245,"byte_end":569263,"line_start":1448,"line_end":1448,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569264,"byte_end":569270,"line_start":1448,"line_end":1448,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569272,"byte_end":569281,"line_start":1448,"line_end":1448,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569283,"byte_end":569286,"line_start":1448,"line_end":1448,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569288,"byte_end":569292,"line_start":1448,"line_end":1448,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569344,"byte_end":569362,"line_start":1449,"line_end":1449,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569363,"byte_end":569369,"line_start":1449,"line_end":1449,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569371,"byte_end":569380,"line_start":1449,"line_end":1449,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569382,"byte_end":569385,"line_start":1449,"line_end":1449,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569387,"byte_end":569391,"line_start":1449,"line_end":1449,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569443,"byte_end":569461,"line_start":1450,"line_end":1450,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569462,"byte_end":569468,"line_start":1450,"line_end":1450,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569470,"byte_end":569479,"line_start":1450,"line_end":1450,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569481,"byte_end":569484,"line_start":1450,"line_end":1450,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569486,"byte_end":569490,"line_start":1450,"line_end":1450,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569542,"byte_end":569560,"line_start":1451,"line_end":1451,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569561,"byte_end":569567,"line_start":1451,"line_end":1451,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569569,"byte_end":569578,"line_start":1451,"line_end":1451,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569580,"byte_end":569583,"line_start":1451,"line_end":1451,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569585,"byte_end":569589,"line_start":1451,"line_end":1451,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569641,"byte_end":569659,"line_start":1452,"line_end":1452,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569660,"byte_end":569666,"line_start":1452,"line_end":1452,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569668,"byte_end":569677,"line_start":1452,"line_end":1452,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569679,"byte_end":569682,"line_start":1452,"line_end":1452,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569684,"byte_end":569688,"line_start":1452,"line_end":1452,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569740,"byte_end":569758,"line_start":1453,"line_end":1453,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569759,"byte_end":569765,"line_start":1453,"line_end":1453,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569767,"byte_end":569776,"line_start":1453,"line_end":1453,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569778,"byte_end":569781,"line_start":1453,"line_end":1453,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569783,"byte_end":569787,"line_start":1453,"line_end":1453,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569839,"byte_end":569857,"line_start":1454,"line_end":1454,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":569831,"byte_end":569837,"line_start":1454,"line_end":1454,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569858,"byte_end":569864,"line_start":1454,"line_end":1454,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569866,"byte_end":569875,"line_start":1454,"line_end":1454,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569877,"byte_end":569880,"line_start":1454,"line_end":1454,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569882,"byte_end":569886,"line_start":1454,"line_end":1454,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":569938,"byte_end":569956,"line_start":1455,"line_end":1455,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":569930,"byte_end":569936,"line_start":1455,"line_end":1455,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569957,"byte_end":569963,"line_start":1455,"line_end":1455,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569965,"byte_end":569974,"line_start":1455,"line_end":1455,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569976,"byte_end":569979,"line_start":1455,"line_end":1455,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":569981,"byte_end":569985,"line_start":1455,"line_end":1455,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570037,"byte_end":570055,"line_start":1456,"line_end":1456,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570056,"byte_end":570062,"line_start":1456,"line_end":1456,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570064,"byte_end":570073,"line_start":1456,"line_end":1456,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570075,"byte_end":570078,"line_start":1456,"line_end":1456,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570080,"byte_end":570084,"line_start":1456,"line_end":1456,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570136,"byte_end":570154,"line_start":1457,"line_end":1457,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570155,"byte_end":570161,"line_start":1457,"line_end":1457,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570163,"byte_end":570172,"line_start":1457,"line_end":1457,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570174,"byte_end":570177,"line_start":1457,"line_end":1457,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570179,"byte_end":570183,"line_start":1457,"line_end":1457,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570235,"byte_end":570253,"line_start":1458,"line_end":1458,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570227,"byte_end":570233,"line_start":1458,"line_end":1458,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570254,"byte_end":570260,"line_start":1458,"line_end":1458,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570262,"byte_end":570271,"line_start":1458,"line_end":1458,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570273,"byte_end":570276,"line_start":1458,"line_end":1458,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570278,"byte_end":570282,"line_start":1458,"line_end":1458,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570334,"byte_end":570352,"line_start":1459,"line_end":1459,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570326,"byte_end":570332,"line_start":1459,"line_end":1459,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570353,"byte_end":570359,"line_start":1459,"line_end":1459,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570361,"byte_end":570370,"line_start":1459,"line_end":1459,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570372,"byte_end":570375,"line_start":1459,"line_end":1459,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570377,"byte_end":570381,"line_start":1459,"line_end":1459,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570433,"byte_end":570451,"line_start":1460,"line_end":1460,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570425,"byte_end":570431,"line_start":1460,"line_end":1460,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570452,"byte_end":570458,"line_start":1460,"line_end":1460,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570460,"byte_end":570469,"line_start":1460,"line_end":1460,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570471,"byte_end":570474,"line_start":1460,"line_end":1460,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570476,"byte_end":570480,"line_start":1460,"line_end":1460,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570532,"byte_end":570550,"line_start":1461,"line_end":1461,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570523,"byte_end":570530,"line_start":1461,"line_end":1461,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570551,"byte_end":570557,"line_start":1461,"line_end":1461,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570559,"byte_end":570568,"line_start":1461,"line_end":1461,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570570,"byte_end":570573,"line_start":1461,"line_end":1461,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570575,"byte_end":570579,"line_start":1461,"line_end":1461,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570631,"byte_end":570649,"line_start":1462,"line_end":1462,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570622,"byte_end":570629,"line_start":1462,"line_end":1462,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570650,"byte_end":570656,"line_start":1462,"line_end":1462,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570658,"byte_end":570667,"line_start":1462,"line_end":1462,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570669,"byte_end":570672,"line_start":1462,"line_end":1462,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570674,"byte_end":570678,"line_start":1462,"line_end":1462,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570730,"byte_end":570748,"line_start":1463,"line_end":1463,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570721,"byte_end":570728,"line_start":1463,"line_end":1463,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570749,"byte_end":570755,"line_start":1463,"line_end":1463,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570757,"byte_end":570766,"line_start":1463,"line_end":1463,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570768,"byte_end":570771,"line_start":1463,"line_end":1463,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570773,"byte_end":570777,"line_start":1463,"line_end":1463,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570829,"byte_end":570847,"line_start":1464,"line_end":1464,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570820,"byte_end":570827,"line_start":1464,"line_end":1464,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570848,"byte_end":570854,"line_start":1464,"line_end":1464,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570856,"byte_end":570865,"line_start":1464,"line_end":1464,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570867,"byte_end":570870,"line_start":1464,"line_end":1464,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570872,"byte_end":570876,"line_start":1464,"line_end":1464,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":570928,"byte_end":570946,"line_start":1465,"line_end":1465,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":570919,"byte_end":570926,"line_start":1465,"line_end":1465,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570947,"byte_end":570953,"line_start":1465,"line_end":1465,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570955,"byte_end":570964,"line_start":1465,"line_end":1465,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570966,"byte_end":570969,"line_start":1465,"line_end":1465,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":570971,"byte_end":570975,"line_start":1465,"line_end":1465,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571027,"byte_end":571045,"line_start":1466,"line_end":1466,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571016,"byte_end":571025,"line_start":1466,"line_end":1466,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571046,"byte_end":571052,"line_start":1466,"line_end":1466,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571054,"byte_end":571063,"line_start":1466,"line_end":1466,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571065,"byte_end":571068,"line_start":1466,"line_end":1466,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571070,"byte_end":571074,"line_start":1466,"line_end":1466,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571126,"byte_end":571144,"line_start":1467,"line_end":1467,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571117,"byte_end":571124,"line_start":1467,"line_end":1467,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571145,"byte_end":571151,"line_start":1467,"line_end":1467,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571153,"byte_end":571162,"line_start":1467,"line_end":1467,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571164,"byte_end":571167,"line_start":1467,"line_end":1467,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571169,"byte_end":571173,"line_start":1467,"line_end":1467,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571225,"byte_end":571243,"line_start":1468,"line_end":1468,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571216,"byte_end":571223,"line_start":1468,"line_end":1468,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571244,"byte_end":571250,"line_start":1468,"line_end":1468,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571252,"byte_end":571261,"line_start":1468,"line_end":1468,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571263,"byte_end":571266,"line_start":1468,"line_end":1468,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571268,"byte_end":571272,"line_start":1468,"line_end":1468,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571324,"byte_end":571342,"line_start":1469,"line_end":1469,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571316,"byte_end":571322,"line_start":1469,"line_end":1469,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571343,"byte_end":571349,"line_start":1469,"line_end":1469,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571351,"byte_end":571360,"line_start":1469,"line_end":1469,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571362,"byte_end":571365,"line_start":1469,"line_end":1469,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571367,"byte_end":571371,"line_start":1469,"line_end":1469,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571423,"byte_end":571441,"line_start":1470,"line_end":1470,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571413,"byte_end":571421,"line_start":1470,"line_end":1470,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571442,"byte_end":571448,"line_start":1470,"line_end":1470,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571450,"byte_end":571459,"line_start":1470,"line_end":1470,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571461,"byte_end":571464,"line_start":1470,"line_end":1470,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571466,"byte_end":571470,"line_start":1470,"line_end":1470,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571522,"byte_end":571540,"line_start":1471,"line_end":1471,"column_start":48,"column_end":66},"ref_id":{"krate":0,"index":1730}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571511,"byte_end":571520,"line_start":1471,"line_end":1471,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571541,"byte_end":571547,"line_start":1471,"line_end":1471,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":1073744297}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571549,"byte_end":571558,"line_start":1471,"line_end":1471,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3623881129}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571560,"byte_end":571563,"line_start":1471,"line_end":1471,"column_start":86,"column_end":89},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571565,"byte_end":571569,"line_start":1471,"line_end":1471,"column_start":91,"column_end":95},"ref_id":{"krate":0,"index":1879050665}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571753,"byte_end":571757,"line_start":1474,"line_end":1474,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571745,"byte_end":571751,"line_start":1474,"line_end":1474,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571839,"byte_end":571847,"line_start":1475,"line_end":1475,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571831,"byte_end":571838,"line_start":1475,"line_end":1475,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":213911977}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571852,"byte_end":571859,"line_start":1475,"line_end":1475,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":18}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571848,"byte_end":571851,"line_start":1475,"line_end":1475,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":536873385}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571860,"byte_end":571864,"line_start":1475,"line_end":1475,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":805308841}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571892,"byte_end":571895,"line_start":1476,"line_end":1476,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571906,"byte_end":571909,"line_start":1476,"line_end":1476,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":571896,"byte_end":571904,"line_start":1476,"line_end":1476,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":571918,"byte_end":571924,"line_start":1476,"line_end":1476,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":571910,"byte_end":571917,"line_start":1476,"line_end":1476,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":213911977}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572003,"byte_end":572006,"line_start":1480,"line_end":1480,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572017,"byte_end":572020,"line_start":1480,"line_end":1480,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572007,"byte_end":572015,"line_start":1480,"line_end":1480,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572146,"byte_end":572149,"line_start":1485,"line_end":1485,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572150,"byte_end":572166,"line_start":1485,"line_end":1485,"column_start":38,"column_end":54},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572209,"byte_end":572212,"line_start":1485,"line_end":1485,"column_start":97,"column_end":100},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572213,"byte_end":572229,"line_start":1485,"line_end":1485,"column_start":101,"column_end":117},"ref_id":{"krate":0,"index":3910}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572271,"byte_end":572275,"line_start":1486,"line_end":1486,"column_start":38,"column_end":42},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572258,"byte_end":572269,"line_start":1486,"line_end":1486,"column_start":25,"column_end":36},"ref_id":{"krate":0,"index":3736}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572276,"byte_end":572281,"line_start":1486,"line_end":1486,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572282,"byte_end":572289,"line_start":1486,"line_end":1486,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572307,"byte_end":572316,"line_start":1487,"line_end":1487,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":3355445674}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572344,"byte_end":572348,"line_start":1488,"line_end":1488,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572331,"byte_end":572342,"line_start":1488,"line_end":1488,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572344,"byte_end":572348,"line_start":1488,"line_end":1488,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3737}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572331,"byte_end":572342,"line_start":1488,"line_end":1488,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572367,"byte_end":572371,"line_start":1488,"line_end":1488,"column_start":49,"column_end":53},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572361,"byte_end":572366,"line_start":1488,"line_end":1488,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572390,"byte_end":572397,"line_start":1488,"line_end":1488,"column_start":72,"column_end":79},"ref_id":{"krate":1,"index":3003}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572372,"byte_end":572388,"line_start":1488,"line_end":1488,"column_start":54,"column_end":70},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572411,"byte_end":572416,"line_start":1488,"line_end":1488,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572445,"byte_end":572448,"line_start":1489,"line_end":1489,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572432,"byte_end":572443,"line_start":1489,"line_end":1489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572445,"byte_end":572448,"line_start":1489,"line_end":1489,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3740}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572432,"byte_end":572443,"line_start":1489,"line_end":1489,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572475,"byte_end":572495,"line_start":1489,"line_end":1489,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572467,"byte_end":572473,"line_start":1489,"line_end":1489,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2862}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572496,"byte_end":572501,"line_start":1489,"line_end":1489,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572503,"byte_end":572510,"line_start":1489,"line_end":1489,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572512,"byte_end":572517,"line_start":1489,"line_end":1489,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572546,"byte_end":572556,"line_start":1490,"line_end":1490,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572533,"byte_end":572544,"line_start":1490,"line_end":1490,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572546,"byte_end":572556,"line_start":1490,"line_end":1490,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":3743}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572533,"byte_end":572544,"line_start":1490,"line_end":1490,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572576,"byte_end":572596,"line_start":1490,"line_end":1490,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572568,"byte_end":572574,"line_start":1490,"line_end":1490,"column_start":48,"column_end":54},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572597,"byte_end":572602,"line_start":1490,"line_end":1490,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572604,"byte_end":572611,"line_start":1490,"line_end":1490,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572613,"byte_end":572618,"line_start":1490,"line_end":1490,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572647,"byte_end":572652,"line_start":1491,"line_end":1491,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572634,"byte_end":572645,"line_start":1491,"line_end":1491,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572647,"byte_end":572652,"line_start":1491,"line_end":1491,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3746}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572634,"byte_end":572645,"line_start":1491,"line_end":1491,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572677,"byte_end":572697,"line_start":1491,"line_end":1491,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572667,"byte_end":572675,"line_start":1491,"line_end":1491,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572698,"byte_end":572703,"line_start":1491,"line_end":1491,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572705,"byte_end":572712,"line_start":1491,"line_end":1491,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572714,"byte_end":572719,"line_start":1491,"line_end":1491,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572748,"byte_end":572752,"line_start":1492,"line_end":1492,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572735,"byte_end":572746,"line_start":1492,"line_end":1492,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572748,"byte_end":572752,"line_start":1492,"line_end":1492,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3749}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572735,"byte_end":572746,"line_start":1492,"line_end":1492,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572778,"byte_end":572798,"line_start":1492,"line_end":1492,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572799,"byte_end":572804,"line_start":1492,"line_end":1492,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572806,"byte_end":572813,"line_start":1492,"line_end":1492,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572815,"byte_end":572820,"line_start":1492,"line_end":1492,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572849,"byte_end":572854,"line_start":1493,"line_end":1493,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572836,"byte_end":572847,"line_start":1493,"line_end":1493,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572849,"byte_end":572854,"line_start":1493,"line_end":1493,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3752}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572836,"byte_end":572847,"line_start":1493,"line_end":1493,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572879,"byte_end":572899,"line_start":1493,"line_end":1493,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572900,"byte_end":572905,"line_start":1493,"line_end":1493,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572907,"byte_end":572914,"line_start":1493,"line_end":1493,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":572916,"byte_end":572921,"line_start":1493,"line_end":1493,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572950,"byte_end":572955,"line_start":1494,"line_end":1494,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572937,"byte_end":572948,"line_start":1494,"line_end":1494,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572950,"byte_end":572955,"line_start":1494,"line_end":1494,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3755}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":572937,"byte_end":572948,"line_start":1494,"line_end":1494,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":572980,"byte_end":573000,"line_start":1494,"line_end":1494,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573001,"byte_end":573006,"line_start":1494,"line_end":1494,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573008,"byte_end":573015,"line_start":1494,"line_end":1494,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573017,"byte_end":573022,"line_start":1494,"line_end":1494,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573051,"byte_end":573056,"line_start":1495,"line_end":1495,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573038,"byte_end":573049,"line_start":1495,"line_end":1495,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573051,"byte_end":573056,"line_start":1495,"line_end":1495,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3758}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573038,"byte_end":573049,"line_start":1495,"line_end":1495,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573081,"byte_end":573101,"line_start":1495,"line_end":1495,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573102,"byte_end":573107,"line_start":1495,"line_end":1495,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573109,"byte_end":573116,"line_start":1495,"line_end":1495,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573118,"byte_end":573123,"line_start":1495,"line_end":1495,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573152,"byte_end":573157,"line_start":1496,"line_end":1496,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573139,"byte_end":573150,"line_start":1496,"line_end":1496,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573152,"byte_end":573157,"line_start":1496,"line_end":1496,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3761}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573139,"byte_end":573150,"line_start":1496,"line_end":1496,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573182,"byte_end":573202,"line_start":1496,"line_end":1496,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573203,"byte_end":573208,"line_start":1496,"line_end":1496,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573210,"byte_end":573217,"line_start":1496,"line_end":1496,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573219,"byte_end":573224,"line_start":1496,"line_end":1496,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573253,"byte_end":573259,"line_start":1497,"line_end":1497,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573240,"byte_end":573251,"line_start":1497,"line_end":1497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573253,"byte_end":573259,"line_start":1497,"line_end":1497,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3764}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573240,"byte_end":573251,"line_start":1497,"line_end":1497,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573283,"byte_end":573303,"line_start":1497,"line_end":1497,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573304,"byte_end":573309,"line_start":1497,"line_end":1497,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573311,"byte_end":573318,"line_start":1497,"line_end":1497,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573320,"byte_end":573325,"line_start":1497,"line_end":1497,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573354,"byte_end":573360,"line_start":1498,"line_end":1498,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573341,"byte_end":573352,"line_start":1498,"line_end":1498,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573354,"byte_end":573360,"line_start":1498,"line_end":1498,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3767}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573341,"byte_end":573352,"line_start":1498,"line_end":1498,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573384,"byte_end":573404,"line_start":1498,"line_end":1498,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573405,"byte_end":573410,"line_start":1498,"line_end":1498,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573412,"byte_end":573419,"line_start":1498,"line_end":1498,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573421,"byte_end":573426,"line_start":1498,"line_end":1498,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573455,"byte_end":573461,"line_start":1499,"line_end":1499,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573442,"byte_end":573453,"line_start":1499,"line_end":1499,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573455,"byte_end":573461,"line_start":1499,"line_end":1499,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3770}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573442,"byte_end":573453,"line_start":1499,"line_end":1499,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573485,"byte_end":573505,"line_start":1499,"line_end":1499,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573506,"byte_end":573511,"line_start":1499,"line_end":1499,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573513,"byte_end":573520,"line_start":1499,"line_end":1499,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573522,"byte_end":573527,"line_start":1499,"line_end":1499,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573556,"byte_end":573561,"line_start":1500,"line_end":1500,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573543,"byte_end":573554,"line_start":1500,"line_end":1500,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573556,"byte_end":573561,"line_start":1500,"line_end":1500,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3773}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573543,"byte_end":573554,"line_start":1500,"line_end":1500,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573586,"byte_end":573606,"line_start":1500,"line_end":1500,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573607,"byte_end":573612,"line_start":1500,"line_end":1500,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573614,"byte_end":573621,"line_start":1500,"line_end":1500,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573623,"byte_end":573628,"line_start":1500,"line_end":1500,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573657,"byte_end":573663,"line_start":1501,"line_end":1501,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573644,"byte_end":573655,"line_start":1501,"line_end":1501,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573657,"byte_end":573663,"line_start":1501,"line_end":1501,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3776}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573644,"byte_end":573655,"line_start":1501,"line_end":1501,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573687,"byte_end":573707,"line_start":1501,"line_end":1501,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573708,"byte_end":573713,"line_start":1501,"line_end":1501,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573715,"byte_end":573722,"line_start":1501,"line_end":1501,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573724,"byte_end":573729,"line_start":1501,"line_end":1501,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573758,"byte_end":573765,"line_start":1502,"line_end":1502,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573745,"byte_end":573756,"line_start":1502,"line_end":1502,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573758,"byte_end":573765,"line_start":1502,"line_end":1502,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3779}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573745,"byte_end":573756,"line_start":1502,"line_end":1502,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573788,"byte_end":573808,"line_start":1502,"line_end":1502,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573780,"byte_end":573786,"line_start":1502,"line_end":1502,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573809,"byte_end":573814,"line_start":1502,"line_end":1502,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573816,"byte_end":573823,"line_start":1502,"line_end":1502,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573825,"byte_end":573830,"line_start":1502,"line_end":1502,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573859,"byte_end":573866,"line_start":1503,"line_end":1503,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573846,"byte_end":573857,"line_start":1503,"line_end":1503,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573859,"byte_end":573866,"line_start":1503,"line_end":1503,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":3782}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573846,"byte_end":573857,"line_start":1503,"line_end":1503,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573889,"byte_end":573909,"line_start":1503,"line_end":1503,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573910,"byte_end":573915,"line_start":1503,"line_end":1503,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573917,"byte_end":573924,"line_start":1503,"line_end":1503,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":573926,"byte_end":573931,"line_start":1503,"line_end":1503,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573960,"byte_end":573963,"line_start":1504,"line_end":1504,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573947,"byte_end":573958,"line_start":1504,"line_end":1504,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573960,"byte_end":573963,"line_start":1504,"line_end":1504,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3785}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573947,"byte_end":573958,"line_start":1504,"line_end":1504,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":573990,"byte_end":574010,"line_start":1504,"line_end":1504,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":573982,"byte_end":573988,"line_start":1504,"line_end":1504,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574011,"byte_end":574016,"line_start":1504,"line_end":1504,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574018,"byte_end":574025,"line_start":1504,"line_end":1504,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574027,"byte_end":574032,"line_start":1504,"line_end":1504,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574061,"byte_end":574065,"line_start":1505,"line_end":1505,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574048,"byte_end":574059,"line_start":1505,"line_end":1505,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574061,"byte_end":574065,"line_start":1505,"line_end":1505,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3788}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574048,"byte_end":574059,"line_start":1505,"line_end":1505,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574091,"byte_end":574111,"line_start":1505,"line_end":1505,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574082,"byte_end":574089,"line_start":1505,"line_end":1505,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574112,"byte_end":574117,"line_start":1505,"line_end":1505,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574119,"byte_end":574126,"line_start":1505,"line_end":1505,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574128,"byte_end":574133,"line_start":1505,"line_end":1505,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574162,"byte_end":574166,"line_start":1506,"line_end":1506,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574149,"byte_end":574160,"line_start":1506,"line_end":1506,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574162,"byte_end":574166,"line_start":1506,"line_end":1506,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3791}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574149,"byte_end":574160,"line_start":1506,"line_end":1506,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574192,"byte_end":574212,"line_start":1506,"line_end":1506,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574183,"byte_end":574190,"line_start":1506,"line_end":1506,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574213,"byte_end":574218,"line_start":1506,"line_end":1506,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574220,"byte_end":574227,"line_start":1506,"line_end":1506,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574229,"byte_end":574234,"line_start":1506,"line_end":1506,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574263,"byte_end":574267,"line_start":1507,"line_end":1507,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574250,"byte_end":574261,"line_start":1507,"line_end":1507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574263,"byte_end":574267,"line_start":1507,"line_end":1507,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3794}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574250,"byte_end":574261,"line_start":1507,"line_end":1507,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574293,"byte_end":574313,"line_start":1507,"line_end":1507,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574284,"byte_end":574291,"line_start":1507,"line_end":1507,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574314,"byte_end":574319,"line_start":1507,"line_end":1507,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574321,"byte_end":574328,"line_start":1507,"line_end":1507,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574330,"byte_end":574335,"line_start":1507,"line_end":1507,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574364,"byte_end":574368,"line_start":1508,"line_end":1508,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574351,"byte_end":574362,"line_start":1508,"line_end":1508,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574364,"byte_end":574368,"line_start":1508,"line_end":1508,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3797}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574351,"byte_end":574362,"line_start":1508,"line_end":1508,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574394,"byte_end":574414,"line_start":1508,"line_end":1508,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574385,"byte_end":574392,"line_start":1508,"line_end":1508,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574415,"byte_end":574420,"line_start":1508,"line_end":1508,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574422,"byte_end":574429,"line_start":1508,"line_end":1508,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574431,"byte_end":574436,"line_start":1508,"line_end":1508,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574465,"byte_end":574471,"line_start":1509,"line_end":1509,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574452,"byte_end":574463,"line_start":1509,"line_end":1509,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574465,"byte_end":574471,"line_start":1509,"line_end":1509,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3800}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574452,"byte_end":574463,"line_start":1509,"line_end":1509,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574495,"byte_end":574515,"line_start":1509,"line_end":1509,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574484,"byte_end":574493,"line_start":1509,"line_end":1509,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574516,"byte_end":574521,"line_start":1509,"line_end":1509,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574523,"byte_end":574530,"line_start":1509,"line_end":1509,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574532,"byte_end":574537,"line_start":1509,"line_end":1509,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574566,"byte_end":574569,"line_start":1510,"line_end":1510,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574553,"byte_end":574564,"line_start":1510,"line_end":1510,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574566,"byte_end":574569,"line_start":1510,"line_end":1510,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":3803}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574553,"byte_end":574564,"line_start":1510,"line_end":1510,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574596,"byte_end":574616,"line_start":1510,"line_end":1510,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574588,"byte_end":574594,"line_start":1510,"line_end":1510,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574617,"byte_end":574622,"line_start":1510,"line_end":1510,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574624,"byte_end":574631,"line_start":1510,"line_end":1510,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574633,"byte_end":574638,"line_start":1510,"line_end":1510,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574667,"byte_end":574671,"line_start":1511,"line_end":1511,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574654,"byte_end":574665,"line_start":1511,"line_end":1511,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574667,"byte_end":574671,"line_start":1511,"line_end":1511,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":3806}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574654,"byte_end":574665,"line_start":1511,"line_end":1511,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574697,"byte_end":574717,"line_start":1511,"line_end":1511,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574688,"byte_end":574695,"line_start":1511,"line_end":1511,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574718,"byte_end":574723,"line_start":1511,"line_end":1511,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574725,"byte_end":574732,"line_start":1511,"line_end":1511,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574734,"byte_end":574739,"line_start":1511,"line_end":1511,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574768,"byte_end":574773,"line_start":1512,"line_end":1512,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574755,"byte_end":574766,"line_start":1512,"line_end":1512,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574768,"byte_end":574773,"line_start":1512,"line_end":1512,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":3809}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574755,"byte_end":574766,"line_start":1512,"line_end":1512,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574798,"byte_end":574818,"line_start":1512,"line_end":1512,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574788,"byte_end":574796,"line_start":1512,"line_end":1512,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574819,"byte_end":574824,"line_start":1512,"line_end":1512,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574826,"byte_end":574833,"line_start":1512,"line_end":1512,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574835,"byte_end":574840,"line_start":1512,"line_end":1512,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574869,"byte_end":574875,"line_start":1513,"line_end":1513,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574856,"byte_end":574867,"line_start":1513,"line_end":1513,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574869,"byte_end":574875,"line_start":1513,"line_end":1513,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":3812}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574856,"byte_end":574867,"line_start":1513,"line_end":1513,"column_start":13,"column_end":24},"ref_id":{"krate":0,"index":3736}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":574899,"byte_end":574919,"line_start":1513,"line_end":1513,"column_start":56,"column_end":76},"ref_id":{"krate":0,"index":1732}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":574888,"byte_end":574897,"line_start":1513,"line_end":1513,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574920,"byte_end":574925,"line_start":1513,"line_end":1513,"column_start":77,"column_end":82},"ref_id":{"krate":0,"index":1073744298}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574927,"byte_end":574934,"line_start":1513,"line_end":1513,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":536873386}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":574936,"byte_end":574941,"line_start":1513,"line_end":1513,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":1610615210}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575373,"byte_end":575376,"line_start":1524,"line_end":1524,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575377,"byte_end":575393,"line_start":1524,"line_end":1524,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575410,"byte_end":575413,"line_start":1524,"line_end":1524,"column_start":67,"column_end":70},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575414,"byte_end":575421,"line_start":1524,"line_end":1524,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575427,"byte_end":575433,"line_start":1524,"line_end":1524,"column_start":84,"column_end":90},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575441,"byte_end":575444,"line_start":1524,"line_end":1524,"column_start":98,"column_end":101},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575450,"byte_end":575453,"line_start":1524,"line_end":1524,"column_start":107,"column_end":110},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575454,"byte_end":575470,"line_start":1524,"line_end":1524,"column_start":111,"column_end":127},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575474,"byte_end":575482,"line_start":1524,"line_end":1524,"column_start":131,"column_end":139},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575502,"byte_end":575513,"line_start":1526,"line_end":1526,"column_start":16,"column_end":27},"ref_id":{"krate":0,"index":536873387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575545,"byte_end":575551,"line_start":1527,"line_end":1527,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575536,"byte_end":575543,"line_start":1527,"line_end":1527,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575545,"byte_end":575551,"line_start":1527,"line_end":1527,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575536,"byte_end":575543,"line_start":1527,"line_end":1527,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575584,"byte_end":575590,"line_start":1528,"line_end":1528,"column_start":25,"column_end":31},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575582,"byte_end":575583,"line_start":1528,"line_end":1528,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":805308843}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575642,"byte_end":575661,"line_start":1529,"line_end":1529,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575634,"byte_end":575640,"line_start":1529,"line_end":1529,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2862}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575662,"byte_end":575668,"line_start":1529,"line_end":1529,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575671,"byte_end":575682,"line_start":1529,"line_end":1529,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575734,"byte_end":575753,"line_start":1530,"line_end":1530,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575726,"byte_end":575732,"line_start":1530,"line_end":1530,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575754,"byte_end":575760,"line_start":1530,"line_end":1530,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575763,"byte_end":575774,"line_start":1530,"line_end":1530,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575826,"byte_end":575845,"line_start":1531,"line_end":1531,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575818,"byte_end":575824,"line_start":1531,"line_end":1531,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575846,"byte_end":575852,"line_start":1531,"line_end":1531,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575855,"byte_end":575866,"line_start":1531,"line_end":1531,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":575918,"byte_end":575937,"line_start":1532,"line_end":1532,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":575910,"byte_end":575916,"line_start":1532,"line_end":1532,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575938,"byte_end":575944,"line_start":1532,"line_end":1532,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":575947,"byte_end":575958,"line_start":1532,"line_end":1532,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576010,"byte_end":576029,"line_start":1533,"line_end":1533,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576002,"byte_end":576008,"line_start":1533,"line_end":1533,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576030,"byte_end":576036,"line_start":1533,"line_end":1533,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576039,"byte_end":576050,"line_start":1533,"line_end":1533,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576102,"byte_end":576121,"line_start":1534,"line_end":1534,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576092,"byte_end":576100,"line_start":1534,"line_end":1534,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576122,"byte_end":576128,"line_start":1534,"line_end":1534,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576131,"byte_end":576142,"line_start":1534,"line_end":1534,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576194,"byte_end":576213,"line_start":1535,"line_end":1535,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":576184,"byte_end":576192,"line_start":1535,"line_end":1535,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":290}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576214,"byte_end":576220,"line_start":1535,"line_end":1535,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576223,"byte_end":576234,"line_start":1535,"line_end":1535,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576286,"byte_end":576305,"line_start":1536,"line_end":1536,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576306,"byte_end":576312,"line_start":1536,"line_end":1536,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576315,"byte_end":576326,"line_start":1536,"line_end":1536,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576378,"byte_end":576397,"line_start":1537,"line_end":1537,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576398,"byte_end":576404,"line_start":1537,"line_end":1537,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576407,"byte_end":576418,"line_start":1537,"line_end":1537,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576470,"byte_end":576489,"line_start":1538,"line_end":1538,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576490,"byte_end":576496,"line_start":1538,"line_end":1538,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576499,"byte_end":576510,"line_start":1538,"line_end":1538,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576562,"byte_end":576581,"line_start":1539,"line_end":1539,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576582,"byte_end":576588,"line_start":1539,"line_end":1539,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576591,"byte_end":576602,"line_start":1539,"line_end":1539,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576654,"byte_end":576673,"line_start":1540,"line_end":1540,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576674,"byte_end":576680,"line_start":1540,"line_end":1540,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576683,"byte_end":576694,"line_start":1540,"line_end":1540,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576746,"byte_end":576765,"line_start":1541,"line_end":1541,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576766,"byte_end":576772,"line_start":1541,"line_end":1541,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576775,"byte_end":576786,"line_start":1541,"line_end":1541,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576838,"byte_end":576857,"line_start":1542,"line_end":1542,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576858,"byte_end":576864,"line_start":1542,"line_end":1542,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576867,"byte_end":576878,"line_start":1542,"line_end":1542,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":576930,"byte_end":576949,"line_start":1543,"line_end":1543,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576950,"byte_end":576956,"line_start":1543,"line_end":1543,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":576959,"byte_end":576970,"line_start":1543,"line_end":1543,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577022,"byte_end":577041,"line_start":1544,"line_end":1544,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577042,"byte_end":577048,"line_start":1544,"line_end":1544,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577051,"byte_end":577062,"line_start":1544,"line_end":1544,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577114,"byte_end":577133,"line_start":1545,"line_end":1545,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577134,"byte_end":577140,"line_start":1545,"line_end":1545,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577143,"byte_end":577154,"line_start":1545,"line_end":1545,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577206,"byte_end":577225,"line_start":1546,"line_end":1546,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577226,"byte_end":577232,"line_start":1546,"line_end":1546,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577235,"byte_end":577246,"line_start":1546,"line_end":1546,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577298,"byte_end":577317,"line_start":1547,"line_end":1547,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577318,"byte_end":577324,"line_start":1547,"line_end":1547,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577327,"byte_end":577338,"line_start":1547,"line_end":1547,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577390,"byte_end":577409,"line_start":1548,"line_end":1548,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577410,"byte_end":577416,"line_start":1548,"line_end":1548,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577419,"byte_end":577430,"line_start":1548,"line_end":1548,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577482,"byte_end":577501,"line_start":1549,"line_end":1549,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577502,"byte_end":577508,"line_start":1549,"line_end":1549,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577511,"byte_end":577522,"line_start":1549,"line_end":1549,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577574,"byte_end":577593,"line_start":1550,"line_end":1550,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577594,"byte_end":577600,"line_start":1550,"line_end":1550,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577603,"byte_end":577614,"line_start":1550,"line_end":1550,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577666,"byte_end":577685,"line_start":1551,"line_end":1551,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577686,"byte_end":577692,"line_start":1551,"line_end":1551,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577695,"byte_end":577706,"line_start":1551,"line_end":1551,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577758,"byte_end":577777,"line_start":1552,"line_end":1552,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577778,"byte_end":577784,"line_start":1552,"line_end":1552,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577787,"byte_end":577798,"line_start":1552,"line_end":1552,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577850,"byte_end":577869,"line_start":1553,"line_end":1553,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577870,"byte_end":577876,"line_start":1553,"line_end":1553,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577879,"byte_end":577890,"line_start":1553,"line_end":1553,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":577942,"byte_end":577961,"line_start":1554,"line_end":1554,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577962,"byte_end":577968,"line_start":1554,"line_end":1554,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":577971,"byte_end":577982,"line_start":1554,"line_end":1554,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578034,"byte_end":578053,"line_start":1555,"line_end":1555,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578054,"byte_end":578060,"line_start":1555,"line_end":1555,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578063,"byte_end":578074,"line_start":1555,"line_end":1555,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578126,"byte_end":578145,"line_start":1556,"line_end":1556,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578118,"byte_end":578124,"line_start":1556,"line_end":1556,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578146,"byte_end":578152,"line_start":1556,"line_end":1556,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578155,"byte_end":578166,"line_start":1556,"line_end":1556,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578218,"byte_end":578237,"line_start":1557,"line_end":1557,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578210,"byte_end":578216,"line_start":1557,"line_end":1557,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3363}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578238,"byte_end":578244,"line_start":1557,"line_end":1557,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578247,"byte_end":578258,"line_start":1557,"line_end":1557,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578310,"byte_end":578329,"line_start":1558,"line_end":1558,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578330,"byte_end":578336,"line_start":1558,"line_end":1558,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578339,"byte_end":578350,"line_start":1558,"line_end":1558,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578402,"byte_end":578421,"line_start":1559,"line_end":1559,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578422,"byte_end":578428,"line_start":1559,"line_end":1559,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578431,"byte_end":578442,"line_start":1559,"line_end":1559,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578494,"byte_end":578513,"line_start":1560,"line_end":1560,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578486,"byte_end":578492,"line_start":1560,"line_end":1560,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578514,"byte_end":578520,"line_start":1560,"line_end":1560,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578523,"byte_end":578534,"line_start":1560,"line_end":1560,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578586,"byte_end":578605,"line_start":1561,"line_end":1561,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578578,"byte_end":578584,"line_start":1561,"line_end":1561,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578606,"byte_end":578612,"line_start":1561,"line_end":1561,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578615,"byte_end":578626,"line_start":1561,"line_end":1561,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578678,"byte_end":578697,"line_start":1562,"line_end":1562,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578670,"byte_end":578676,"line_start":1562,"line_end":1562,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3335}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578698,"byte_end":578704,"line_start":1562,"line_end":1562,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578707,"byte_end":578718,"line_start":1562,"line_end":1562,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578770,"byte_end":578789,"line_start":1563,"line_end":1563,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578761,"byte_end":578768,"line_start":1563,"line_end":1563,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3412}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578790,"byte_end":578796,"line_start":1563,"line_end":1563,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578799,"byte_end":578810,"line_start":1563,"line_end":1563,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578862,"byte_end":578881,"line_start":1564,"line_end":1564,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578853,"byte_end":578860,"line_start":1564,"line_end":1564,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3387}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578882,"byte_end":578888,"line_start":1564,"line_end":1564,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578891,"byte_end":578902,"line_start":1564,"line_end":1564,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":578954,"byte_end":578973,"line_start":1565,"line_end":1565,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":578945,"byte_end":578952,"line_start":1565,"line_end":1565,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3470}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578974,"byte_end":578980,"line_start":1565,"line_end":1565,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":578983,"byte_end":578994,"line_start":1565,"line_end":1565,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579046,"byte_end":579065,"line_start":1566,"line_end":1566,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579037,"byte_end":579044,"line_start":1566,"line_end":1566,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579066,"byte_end":579072,"line_start":1566,"line_end":1566,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579075,"byte_end":579086,"line_start":1566,"line_end":1566,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579138,"byte_end":579157,"line_start":1567,"line_end":1567,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579129,"byte_end":579136,"line_start":1567,"line_end":1567,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3437}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579158,"byte_end":579164,"line_start":1567,"line_end":1567,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579167,"byte_end":579178,"line_start":1567,"line_end":1567,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579230,"byte_end":579249,"line_start":1568,"line_end":1568,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579219,"byte_end":579228,"line_start":1568,"line_end":1568,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579250,"byte_end":579256,"line_start":1568,"line_end":1568,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579259,"byte_end":579270,"line_start":1568,"line_end":1568,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579322,"byte_end":579341,"line_start":1569,"line_end":1569,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579311,"byte_end":579320,"line_start":1569,"line_end":1569,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":3571}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579342,"byte_end":579348,"line_start":1569,"line_end":1569,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579351,"byte_end":579362,"line_start":1569,"line_end":1569,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579414,"byte_end":579433,"line_start":1570,"line_end":1570,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579405,"byte_end":579412,"line_start":1570,"line_end":1570,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579434,"byte_end":579440,"line_start":1570,"line_end":1570,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579443,"byte_end":579454,"line_start":1570,"line_end":1570,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579506,"byte_end":579525,"line_start":1571,"line_end":1571,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579497,"byte_end":579504,"line_start":1571,"line_end":1571,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3656}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579526,"byte_end":579532,"line_start":1571,"line_end":1571,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579535,"byte_end":579546,"line_start":1571,"line_end":1571,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579598,"byte_end":579617,"line_start":1572,"line_end":1572,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579590,"byte_end":579596,"line_start":1572,"line_end":1572,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3615}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579618,"byte_end":579624,"line_start":1572,"line_end":1572,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579627,"byte_end":579638,"line_start":1572,"line_end":1572,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579690,"byte_end":579709,"line_start":1573,"line_end":1573,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579680,"byte_end":579688,"line_start":1573,"line_end":1573,"column_start":38,"column_end":46},"ref_id":{"krate":0,"index":3684}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579710,"byte_end":579716,"line_start":1573,"line_end":1573,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579719,"byte_end":579730,"line_start":1573,"line_end":1573,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579782,"byte_end":579801,"line_start":1574,"line_end":1574,"column_start":48,"column_end":67},"ref_id":{"krate":0,"index":1731}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579771,"byte_end":579780,"line_start":1574,"line_end":1574,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1531}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579802,"byte_end":579808,"line_start":1574,"line_end":1574,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":1073744299}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":579811,"byte_end":579822,"line_start":1574,"line_end":1574,"column_start":77,"column_end":88},"ref_id":{"krate":0,"index":536873387}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":579999,"byte_end":580003,"line_start":1577,"line_end":1577,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":579991,"byte_end":579997,"line_start":1577,"line_end":1577,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580085,"byte_end":580093,"line_start":1578,"line_end":1578,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580077,"byte_end":580084,"line_start":1578,"line_end":1578,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1262487979}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580118,"byte_end":580124,"line_start":1578,"line_end":1578,"column_start":66,"column_end":72},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580106,"byte_end":580115,"line_start":1578,"line_end":1578,"column_start":54,"column_end":63},"ref_id":{"krate":0,"index":2552}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580094,"byte_end":580105,"line_start":1578,"line_end":1578,"column_start":42,"column_end":53},"ref_id":{"krate":0,"index":536873387}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580160,"byte_end":580163,"line_start":1579,"line_end":1579,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580174,"byte_end":580177,"line_start":1579,"line_end":1579,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580164,"byte_end":580172,"line_start":1579,"line_end":1579,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580186,"byte_end":580192,"line_start":1579,"line_end":1579,"column_start":58,"column_end":64},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/schema.rs","byte_start":580178,"byte_end":580185,"line_start":1579,"line_end":1579,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":1262487979}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580287,"byte_end":580290,"line_start":1584,"line_end":1584,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/schema.rs","byte_start":580301,"byte_end":580304,"line_start":1584,"line_end":1584,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/schema.rs","byte_start":580291,"byte_end":580299,"line_start":1584,"line_end":1584,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21970,"byte_end":21975,"line_start":333,"line_end":333,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580427,"byte_end":580432,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580434,"byte_end":580440,"line_start":3,"line_end":3,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580461,"byte_end":580466,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580468,"byte_end":580474,"line_start":4,"line_end":4,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580488,"byte_end":580493,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580495,"byte_end":580501,"line_start":5,"line_end":5,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580516,"byte_end":580521,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":580523,"byte_end":580529,"line_start":6,"line_end":6,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":580937,"byte_end":580943,"line_start":22,"line_end":22,"column_start":18,"column_end":24},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":580928,"byte_end":580935,"line_start":22,"line_end":22,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4069}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581041,"byte_end":581046,"line_start":28,"line_end":28,"column_start":19,"column_end":24},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581062,"byte_end":581063,"line_start":28,"line_end":28,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":2491}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581083,"byte_end":581091,"line_start":29,"line_end":29,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581093,"byte_end":581099,"line_start":29,"line_end":29,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581102,"byte_end":581109,"line_start":29,"line_end":29,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":4069}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581128,"byte_end":581136,"line_start":29,"line_end":29,"column_start":54,"column_end":62},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581119,"byte_end":581125,"line_start":29,"line_end":29,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581111,"byte_end":581118,"line_start":29,"line_end":29,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1073744314}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581218,"byte_end":581224,"line_start":32,"line_end":32,"column_start":29,"column_end":35},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581225,"byte_end":581226,"line_start":32,"line_end":32,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2493}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581232,"byte_end":581238,"line_start":32,"line_end":32,"column_start":43,"column_end":49},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581239,"byte_end":581240,"line_start":32,"line_end":32,"column_start":50,"column_end":51},"ref_id":{"krate":0,"index":2493}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581242,"byte_end":581250,"line_start":32,"line_end":32,"column_start":53,"column_end":61},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581268,"byte_end":581273,"line_start":33,"line_end":33,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1073744316}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581288,"byte_end":581292,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581288,"byte_end":581292,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581299,"byte_end":581301,"line_start":34,"line_end":34,"column_start":24,"column_end":26},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581302,"byte_end":581303,"line_start":34,"line_end":34,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":1610615228}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581318,"byte_end":581322,"line_start":35,"line_end":35,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581318,"byte_end":581322,"line_start":35,"line_end":35,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581326,"byte_end":581329,"line_start":35,"line_end":35,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581340,"byte_end":581343,"line_start":35,"line_end":35,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581330,"byte_end":581338,"line_start":35,"line_end":35,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581397,"byte_end":581401,"line_start":40,"line_end":40,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581402,"byte_end":581415,"line_start":40,"line_end":40,"column_start":11,"column_end":24},"ref_id":{"krate":5,"index":7637}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581449,"byte_end":581462,"line_start":41,"line_end":41,"column_start":18,"column_end":31},"ref_id":{"krate":5,"index":7637}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581467,"byte_end":581475,"line_start":41,"line_end":41,"column_start":36,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581496,"byte_end":581499,"line_start":42,"line_end":42,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581486,"byte_end":581494,"line_start":42,"line_end":42,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581516,"byte_end":581522,"line_start":42,"line_end":42,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581504,"byte_end":581513,"line_start":42,"line_end":42,"column_start":27,"column_end":36},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581500,"byte_end":581503,"line_start":42,"line_end":42,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744319}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581540,"byte_end":581544,"line_start":46,"line_end":46,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581556,"byte_end":581571,"line_start":46,"line_end":46,"column_start":22,"column_end":37},"ref_id":{"krate":1,"index":16551}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581545,"byte_end":581549,"line_start":46,"line_end":46,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581551,"byte_end":581554,"line_start":46,"line_end":46,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581616,"byte_end":581631,"line_start":47,"line_end":47,"column_start":29,"column_end":44},"ref_id":{"krate":1,"index":16551}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581605,"byte_end":581609,"line_start":47,"line_end":47,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581611,"byte_end":581614,"line_start":47,"line_end":47,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581636,"byte_end":581644,"line_start":47,"line_end":47,"column_start":49,"column_end":57},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581665,"byte_end":581668,"line_start":48,"line_end":48,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581655,"byte_end":581663,"line_start":48,"line_end":48,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581685,"byte_end":581691,"line_start":48,"line_end":48,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581673,"byte_end":581682,"line_start":48,"line_end":48,"column_start":27,"column_end":36},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581669,"byte_end":581672,"line_start":48,"line_end":48,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744321}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581709,"byte_end":581713,"line_start":52,"line_end":52,"column_start":6,"column_end":10},"ref_id":{"krate":1,"index":2930}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581725,"byte_end":581738,"line_start":52,"line_end":52,"column_start":22,"column_end":35},"ref_id":{"krate":1,"index":16695}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581714,"byte_end":581718,"line_start":52,"line_end":52,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581720,"byte_end":581723,"line_start":52,"line_end":52,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581783,"byte_end":581796,"line_start":53,"line_end":53,"column_start":29,"column_end":42},"ref_id":{"krate":1,"index":16695}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581772,"byte_end":581776,"line_start":53,"line_end":53,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/error.rs","byte_start":581778,"byte_end":581781,"line_start":53,"line_end":53,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":276}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581801,"byte_end":581809,"line_start":53,"line_end":53,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581830,"byte_end":581833,"line_start":54,"line_end":54,"column_start":19,"column_end":22},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/error.rs","byte_start":581820,"byte_end":581828,"line_start":54,"line_end":54,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581850,"byte_end":581856,"line_start":54,"line_end":54,"column_start":39,"column_end":45},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/error.rs","byte_start":581838,"byte_end":581847,"line_start":54,"line_end":54,"column_start":27,"column_end":36},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/error.rs","byte_start":581834,"byte_end":581837,"line_start":54,"line_end":54,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1073744323}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":21985,"byte_end":21994,"line_start":334,"line_end":334,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":2500}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583510,"byte_end":583515,"line_start":37,"line_end":37,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583517,"byte_end":583520,"line_start":37,"line_end":37,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583531,"byte_end":583536,"line_start":38,"line_end":38,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583538,"byte_end":583544,"line_start":38,"line_end":38,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583558,"byte_end":583563,"line_start":39,"line_end":39,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583565,"byte_end":583570,"line_start":39,"line_end":39,"column_start":12,"column_end":17},"ref_id":{"krate":5,"index":191}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583581,"byte_end":583586,"line_start":40,"line_end":40,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583588,"byte_end":583594,"line_start":40,"line_end":40,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583609,"byte_end":583614,"line_start":41,"line_end":41,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583616,"byte_end":583622,"line_start":41,"line_end":41,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583638,"byte_end":583642,"line_start":42,"line_end":42,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583644,"byte_end":583647,"line_start":42,"line_end":42,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":11718}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583662,"byte_end":583666,"line_start":43,"line_end":43,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583668,"byte_end":583671,"line_start":43,"line_end":43,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583684,"byte_end":583689,"line_start":44,"line_end":44,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/json_flex.rs","byte_start":583692,"byte_end":583697,"line_start":44,"line_end":44,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583858,"byte_end":583861,"line_start":50,"line_end":50,"column_start":17,"column_end":20},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583863,"byte_end":583869,"line_start":50,"line_end":50,"column_start":22,"column_end":28},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583871,"byte_end":583878,"line_start":50,"line_end":50,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583846,"byte_end":583880,"line_start":50,"line_end":50,"column_start":5,"column_end":39},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583850,"byte_end":583856,"line_start":50,"line_end":50,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4073}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583966,"byte_end":583971,"line_start":57,"line_end":57,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":583974,"byte_end":583980,"line_start":57,"line_end":57,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4073}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":583987,"byte_end":583990,"line_start":57,"line_end":57,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":583982,"byte_end":583985,"line_start":57,"line_end":57,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584072,"byte_end":584078,"line_start":61,"line_end":61,"column_start":35,"column_end":41},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584087,"byte_end":584094,"line_start":61,"line_end":61,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584125,"byte_end":584145,"line_start":63,"line_end":63,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584125,"byte_end":584126,"line_start":63,"line_end":63,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584128,"byte_end":584145,"line_start":63,"line_end":63,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584140,"byte_end":584143,"line_start":63,"line_end":63,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584128,"byte_end":584132,"line_start":63,"line_end":63,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584133,"byte_end":584139,"line_start":63,"line_end":63,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584163,"byte_end":584167,"line_start":64,"line_end":64,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584168,"byte_end":584174,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584175,"byte_end":584176,"line_start":64,"line_end":64,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":134220256}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584183,"byte_end":584186,"line_start":64,"line_end":64,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":536873440}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584223,"byte_end":584226,"line_start":65,"line_end":65,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":536873440}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584228,"byte_end":584233,"line_start":65,"line_end":65,"column_start":40,"column_end":45},"ref_id":{"krate":0,"index":1610615264}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584205,"byte_end":584209,"line_start":65,"line_end":65,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584210,"byte_end":584216,"line_start":65,"line_end":65,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584217,"byte_end":584218,"line_start":65,"line_end":65,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":134220256}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584259,"byte_end":584260,"line_start":66,"line_end":66,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":134220256}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584307,"byte_end":584311,"line_start":70,"line_end":70,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584295,"byte_end":584299,"line_start":70,"line_end":70,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584300,"byte_end":584306,"line_start":70,"line_end":70,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584313,"byte_end":584316,"line_start":70,"line_end":70,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":536873440}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584318,"byte_end":584323,"line_start":70,"line_end":70,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1610615264}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584348,"byte_end":584351,"line_start":72,"line_end":72,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584336,"byte_end":584340,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744352}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584341,"byte_end":584347,"line_start":72,"line_end":72,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":4073}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584459,"byte_end":584465,"line_start":76,"line_end":76,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584471,"byte_end":584478,"line_start":76,"line_end":76,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584499,"byte_end":584519,"line_start":77,"line_end":77,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584499,"byte_end":584500,"line_start":77,"line_end":77,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584502,"byte_end":584519,"line_start":77,"line_end":77,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584514,"byte_end":584517,"line_start":77,"line_end":77,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584502,"byte_end":584506,"line_start":77,"line_end":77,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584507,"byte_end":584513,"line_start":77,"line_end":77,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584537,"byte_end":584541,"line_start":78,"line_end":78,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584542,"byte_end":584548,"line_start":78,"line_end":78,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584549,"byte_end":584550,"line_start":78,"line_end":78,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050721}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584558,"byte_end":584561,"line_start":78,"line_end":78,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873441}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584587,"byte_end":584591,"line_start":79,"line_end":79,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584597,"byte_end":584601,"line_start":79,"line_end":79,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":1073744353}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584602,"byte_end":584608,"line_start":79,"line_end":79,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584609,"byte_end":584610,"line_start":79,"line_end":79,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":1879050721}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584648,"byte_end":584652,"line_start":82,"line_end":82,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584753,"byte_end":584759,"line_start":86,"line_end":86,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584761,"byte_end":584768,"line_start":86,"line_end":86,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584789,"byte_end":584809,"line_start":87,"line_end":87,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584789,"byte_end":584790,"line_start":87,"line_end":87,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584792,"byte_end":584809,"line_start":87,"line_end":87,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":584804,"byte_end":584807,"line_start":87,"line_end":87,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584792,"byte_end":584796,"line_start":87,"line_end":87,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744354}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584797,"byte_end":584803,"line_start":87,"line_end":87,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584827,"byte_end":584831,"line_start":88,"line_end":88,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744354}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584832,"byte_end":584838,"line_start":88,"line_end":88,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584839,"byte_end":584840,"line_start":88,"line_end":88,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050722}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584848,"byte_end":584851,"line_start":88,"line_end":88,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873442}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584877,"byte_end":584881,"line_start":89,"line_end":89,"column_start":24,"column_end":28},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584883,"byte_end":584887,"line_start":89,"line_end":89,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":1073744354}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584888,"byte_end":584894,"line_start":89,"line_end":89,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":584895,"byte_end":584896,"line_start":89,"line_end":89,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1879050722}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":584934,"byte_end":584938,"line_start":92,"line_end":92,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585049,"byte_end":585069,"line_start":97,"line_end":97,"column_start":18,"column_end":38},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585049,"byte_end":585050,"line_start":97,"line_end":97,"column_start":18,"column_end":19},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585052,"byte_end":585069,"line_start":97,"line_end":97,"column_start":21,"column_end":38},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585064,"byte_end":585067,"line_start":97,"line_end":97,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585052,"byte_end":585056,"line_start":97,"line_end":97,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585057,"byte_end":585063,"line_start":97,"line_end":97,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585087,"byte_end":585091,"line_start":98,"line_end":98,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585092,"byte_end":585098,"line_start":98,"line_end":98,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585099,"byte_end":585100,"line_start":98,"line_end":98,"column_start":28,"column_end":29},"ref_id":{"krate":0,"index":1879050723}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585108,"byte_end":585111,"line_start":98,"line_end":98,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873443}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585309,"byte_end":585315,"line_start":110,"line_end":110,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585442,"byte_end":585447,"line_start":116,"line_end":116,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585484,"byte_end":585487,"line_start":118,"line_end":118,"column_start":11,"column_end":14},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585488,"byte_end":585495,"line_start":118,"line_end":118,"column_start":15,"column_end":22},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585700,"byte_end":585707,"line_start":133,"line_end":133,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585725,"byte_end":585729,"line_start":135,"line_end":135,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585753,"byte_end":585763,"line_start":136,"line_end":136,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585744,"byte_end":585751,"line_start":136,"line_end":136,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585753,"byte_end":585763,"line_start":136,"line_end":136,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585744,"byte_end":585751,"line_start":136,"line_end":136,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585815,"byte_end":585818,"line_start":137,"line_end":137,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":585808,"byte_end":585813,"line_start":137,"line_end":137,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585852,"byte_end":585855,"line_start":139,"line_end":139,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":3758098917}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585856,"byte_end":585862,"line_start":139,"line_end":139,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4073}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":585961,"byte_end":585966,"line_start":142,"line_end":142,"column_start":36,"column_end":41},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585954,"byte_end":585958,"line_start":142,"line_end":142,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832997}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586005,"byte_end":586010,"line_start":143,"line_end":143,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":585998,"byte_end":586002,"line_start":143,"line_end":143,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":1744832997}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586097,"byte_end":586101,"line_start":146,"line_end":146,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586082,"byte_end":586089,"line_start":146,"line_end":146,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":2281703909}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586090,"byte_end":586096,"line_start":146,"line_end":146,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586102,"byte_end":586108,"line_start":146,"line_end":146,"column_start":41,"column_end":47},"ref_id":{"krate":0,"index":872417765}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586155,"byte_end":586165,"line_start":149,"line_end":149,"column_start":26,"column_end":36},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586146,"byte_end":586153,"line_start":149,"line_end":149,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586166,"byte_end":586173,"line_start":149,"line_end":149,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2281703909}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586211,"byte_end":586216,"line_start":151,"line_end":151,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586202,"byte_end":586209,"line_start":151,"line_end":151,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586211,"byte_end":586216,"line_start":151,"line_end":151,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586202,"byte_end":586209,"line_start":151,"line_end":151,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586265,"byte_end":586268,"line_start":152,"line_end":152,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586260,"byte_end":586263,"line_start":152,"line_end":152,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586300,"byte_end":586304,"line_start":153,"line_end":153,"column_start":29,"column_end":33},"ref_id":{"krate":0,"index":167774693}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586333,"byte_end":586337,"line_start":154,"line_end":154,"column_start":27,"column_end":31},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586327,"byte_end":586332,"line_start":154,"line_end":154,"column_start":21,"column_end":26},"ref_id":{"krate":0,"index":1509951973}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586343,"byte_end":586348,"line_start":154,"line_end":154,"column_start":37,"column_end":42},"ref_id":{"krate":0,"index":2533}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586338,"byte_end":586342,"line_start":154,"line_end":154,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":3120564709}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586396,"byte_end":586401,"line_start":156,"line_end":156,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586387,"byte_end":586394,"line_start":156,"line_end":156,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586402,"byte_end":586407,"line_start":156,"line_end":156,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":1509951973}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586445,"byte_end":586451,"line_start":158,"line_end":158,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586436,"byte_end":586443,"line_start":158,"line_end":158,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586445,"byte_end":586451,"line_start":158,"line_end":158,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586436,"byte_end":586443,"line_start":158,"line_end":158,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586489,"byte_end":586495,"line_start":159,"line_end":159,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586480,"byte_end":586487,"line_start":159,"line_end":159,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":586502,"byte_end":586507,"line_start":159,"line_end":159,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586496,"byte_end":586501,"line_start":159,"line_end":159,"column_start":33,"column_end":38},"ref_id":{"krate":0,"index":285215205}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586547,"byte_end":586554,"line_start":161,"line_end":161,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586538,"byte_end":586545,"line_start":161,"line_end":161,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586547,"byte_end":586554,"line_start":161,"line_end":161,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586538,"byte_end":586545,"line_start":161,"line_end":161,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586590,"byte_end":586597,"line_start":162,"line_end":162,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586581,"byte_end":586588,"line_start":162,"line_end":162,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586599,"byte_end":586602,"line_start":162,"line_end":162,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3909093861}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586640,"byte_end":586645,"line_start":164,"line_end":164,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586631,"byte_end":586638,"line_start":164,"line_end":164,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586640,"byte_end":586645,"line_start":164,"line_end":164,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586631,"byte_end":586638,"line_start":164,"line_end":164,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586681,"byte_end":586686,"line_start":165,"line_end":165,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586672,"byte_end":586679,"line_start":165,"line_end":165,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":586688,"byte_end":586691,"line_start":165,"line_end":165,"column_start":33,"column_end":36},"ref_id":{"krate":0,"index":2768243173}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586729,"byte_end":586733,"line_start":167,"line_end":167,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586720,"byte_end":586727,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586729,"byte_end":586733,"line_start":167,"line_end":167,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586720,"byte_end":586727,"line_start":167,"line_end":167,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586764,"byte_end":586768,"line_start":168,"line_end":168,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586755,"byte_end":586762,"line_start":168,"line_end":168,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586805,"byte_end":586810,"line_start":170,"line_end":170,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586796,"byte_end":586803,"line_start":170,"line_end":170,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586805,"byte_end":586810,"line_start":170,"line_end":170,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586796,"byte_end":586803,"line_start":170,"line_end":170,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586841,"byte_end":586846,"line_start":171,"line_end":171,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586832,"byte_end":586839,"line_start":171,"line_end":171,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586883,"byte_end":586887,"line_start":173,"line_end":173,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586874,"byte_end":586881,"line_start":173,"line_end":173,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586883,"byte_end":586887,"line_start":173,"line_end":173,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586874,"byte_end":586881,"line_start":173,"line_end":173,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586918,"byte_end":586922,"line_start":174,"line_end":174,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":586909,"byte_end":586916,"line_start":174,"line_end":174,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587022,"byte_end":587028,"line_start":179,"line_end":179,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587030,"byte_end":587036,"line_start":179,"line_end":179,"column_start":42,"column_end":48},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587054,"byte_end":587058,"line_start":180,"line_end":180,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744358}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587083,"byte_end":587089,"line_start":181,"line_end":181,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587074,"byte_end":587081,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587083,"byte_end":587089,"line_start":181,"line_end":181,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587074,"byte_end":587081,"line_start":181,"line_end":181,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587100,"byte_end":587104,"line_start":181,"line_end":181,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587105,"byte_end":587106,"line_start":181,"line_end":181,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":3758098918}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587126,"byte_end":587130,"line_start":182,"line_end":182,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587211,"byte_end":587217,"line_start":186,"line_end":186,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587240,"byte_end":587244,"line_start":187,"line_end":187,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587269,"byte_end":587276,"line_start":188,"line_end":188,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587260,"byte_end":587267,"line_start":188,"line_end":188,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587269,"byte_end":587276,"line_start":188,"line_end":188,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587260,"byte_end":587267,"line_start":188,"line_end":188,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587287,"byte_end":587291,"line_start":188,"line_end":188,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587292,"byte_end":587293,"line_start":188,"line_end":188,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":3758098919}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587313,"byte_end":587317,"line_start":189,"line_end":189,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587398,"byte_end":587404,"line_start":193,"line_end":193,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587427,"byte_end":587431,"line_start":194,"line_end":194,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744360}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587456,"byte_end":587461,"line_start":195,"line_end":195,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587447,"byte_end":587454,"line_start":195,"line_end":195,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587456,"byte_end":587461,"line_start":195,"line_end":195,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587447,"byte_end":587454,"line_start":195,"line_end":195,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587472,"byte_end":587476,"line_start":195,"line_end":195,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587477,"byte_end":587478,"line_start":195,"line_end":195,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098920}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587498,"byte_end":587502,"line_start":196,"line_end":196,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587590,"byte_end":587596,"line_start":200,"line_end":200,"column_start":35,"column_end":41},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587598,"byte_end":587603,"line_start":200,"line_end":200,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587621,"byte_end":587625,"line_start":201,"line_end":201,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744361}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587650,"byte_end":587660,"line_start":202,"line_end":202,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587641,"byte_end":587648,"line_start":202,"line_end":202,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587650,"byte_end":587660,"line_start":202,"line_end":202,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587641,"byte_end":587648,"line_start":202,"line_end":202,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587671,"byte_end":587675,"line_start":202,"line_end":202,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587676,"byte_end":587677,"line_start":202,"line_end":202,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3758098921}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587697,"byte_end":587701,"line_start":203,"line_end":203,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587782,"byte_end":587788,"line_start":207,"line_end":207,"column_start":31,"column_end":37},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587790,"byte_end":587793,"line_start":207,"line_end":207,"column_start":39,"column_end":42},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587794,"byte_end":587801,"line_start":207,"line_end":207,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587820,"byte_end":587824,"line_start":208,"line_end":208,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744362}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587849,"byte_end":587854,"line_start":209,"line_end":209,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587840,"byte_end":587847,"line_start":209,"line_end":209,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587849,"byte_end":587854,"line_start":209,"line_end":209,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587840,"byte_end":587847,"line_start":209,"line_end":209,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587865,"byte_end":587869,"line_start":209,"line_end":209,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587870,"byte_end":587871,"line_start":209,"line_end":209,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098922}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":587891,"byte_end":587895,"line_start":210,"line_end":210,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":587999,"byte_end":588003,"line_start":215,"line_end":215,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744363}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588028,"byte_end":588032,"line_start":216,"line_end":216,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588019,"byte_end":588026,"line_start":216,"line_end":216,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588028,"byte_end":588032,"line_start":216,"line_end":216,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588019,"byte_end":588026,"line_start":216,"line_end":216,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588176,"byte_end":588180,"line_start":222,"line_end":222,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744364}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588205,"byte_end":588209,"line_start":223,"line_end":223,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588196,"byte_end":588203,"line_start":223,"line_end":223,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588205,"byte_end":588209,"line_start":223,"line_end":223,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588196,"byte_end":588203,"line_start":223,"line_end":223,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588355,"byte_end":588359,"line_start":229,"line_end":229,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744365}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588384,"byte_end":588389,"line_start":230,"line_end":230,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588375,"byte_end":588382,"line_start":230,"line_end":230,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588384,"byte_end":588389,"line_start":230,"line_end":230,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588375,"byte_end":588382,"line_start":230,"line_end":230,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588527,"byte_end":588531,"line_start":236,"line_end":236,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744366}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588556,"byte_end":588561,"line_start":237,"line_end":237,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588547,"byte_end":588554,"line_start":237,"line_end":237,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588556,"byte_end":588561,"line_start":237,"line_end":237,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588547,"byte_end":588554,"line_start":237,"line_end":237,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588705,"byte_end":588709,"line_start":243,"line_end":243,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744367}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588734,"byte_end":588744,"line_start":244,"line_end":244,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588725,"byte_end":588732,"line_start":244,"line_end":244,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588734,"byte_end":588744,"line_start":244,"line_end":244,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588725,"byte_end":588732,"line_start":244,"line_end":244,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":588887,"byte_end":588891,"line_start":250,"line_end":250,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744368}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588916,"byte_end":588922,"line_start":251,"line_end":251,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588907,"byte_end":588914,"line_start":251,"line_end":251,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588916,"byte_end":588922,"line_start":251,"line_end":251,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":588907,"byte_end":588914,"line_start":251,"line_end":251,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589070,"byte_end":589074,"line_start":257,"line_end":257,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744369}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589099,"byte_end":589106,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589090,"byte_end":589097,"line_start":258,"line_end":258,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589099,"byte_end":589106,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589090,"byte_end":589097,"line_start":258,"line_end":258,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589247,"byte_end":589251,"line_start":264,"line_end":264,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744370}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589276,"byte_end":589281,"line_start":265,"line_end":265,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589267,"byte_end":589274,"line_start":265,"line_end":265,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589276,"byte_end":589281,"line_start":265,"line_end":265,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589267,"byte_end":589274,"line_start":265,"line_end":265,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589438,"byte_end":589444,"line_start":270,"line_end":270,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589446,"byte_end":589452,"line_start":270,"line_end":270,"column_start":44,"column_end":50},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589470,"byte_end":589474,"line_start":271,"line_end":271,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744371}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589499,"byte_end":589505,"line_start":272,"line_end":272,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589490,"byte_end":589497,"line_start":272,"line_end":272,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589499,"byte_end":589505,"line_start":272,"line_end":272,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589490,"byte_end":589497,"line_start":272,"line_end":272,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589516,"byte_end":589520,"line_start":272,"line_end":272,"column_start":40,"column_end":44},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589521,"byte_end":589522,"line_start":272,"line_end":272,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":3758098931}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589542,"byte_end":589546,"line_start":273,"line_end":273,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589659,"byte_end":589665,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589688,"byte_end":589692,"line_start":278,"line_end":278,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744372}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589717,"byte_end":589724,"line_start":279,"line_end":279,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589708,"byte_end":589715,"line_start":279,"line_end":279,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589717,"byte_end":589724,"line_start":279,"line_end":279,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589708,"byte_end":589715,"line_start":279,"line_end":279,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589735,"byte_end":589739,"line_start":279,"line_end":279,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589740,"byte_end":589741,"line_start":279,"line_end":279,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":3758098932}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589761,"byte_end":589765,"line_start":280,"line_end":280,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589878,"byte_end":589884,"line_start":284,"line_end":284,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589907,"byte_end":589911,"line_start":285,"line_end":285,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744373}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589936,"byte_end":589941,"line_start":286,"line_end":286,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589927,"byte_end":589934,"line_start":286,"line_end":286,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589936,"byte_end":589941,"line_start":286,"line_end":286,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589927,"byte_end":589934,"line_start":286,"line_end":286,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589952,"byte_end":589956,"line_start":286,"line_end":286,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":589957,"byte_end":589958,"line_start":286,"line_end":286,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098933}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":589978,"byte_end":589982,"line_start":287,"line_end":287,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590107,"byte_end":590113,"line_start":291,"line_end":291,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590115,"byte_end":590120,"line_start":291,"line_end":291,"column_start":45,"column_end":50},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590138,"byte_end":590142,"line_start":292,"line_end":292,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744374}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590167,"byte_end":590177,"line_start":293,"line_end":293,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590158,"byte_end":590165,"line_start":293,"line_end":293,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590167,"byte_end":590177,"line_start":293,"line_end":293,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590158,"byte_end":590165,"line_start":293,"line_end":293,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590188,"byte_end":590192,"line_start":293,"line_end":293,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590193,"byte_end":590194,"line_start":293,"line_end":293,"column_start":49,"column_end":50},"ref_id":{"krate":0,"index":3758098934}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590214,"byte_end":590218,"line_start":294,"line_end":294,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590333,"byte_end":590339,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590341,"byte_end":590344,"line_start":298,"line_end":298,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590345,"byte_end":590352,"line_start":298,"line_end":298,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590371,"byte_end":590375,"line_start":299,"line_end":299,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744375}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590400,"byte_end":590405,"line_start":300,"line_end":300,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590391,"byte_end":590398,"line_start":300,"line_end":300,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590400,"byte_end":590405,"line_start":300,"line_end":300,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590391,"byte_end":590398,"line_start":300,"line_end":300,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590416,"byte_end":590420,"line_start":300,"line_end":300,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590421,"byte_end":590422,"line_start":300,"line_end":300,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":3758098935}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590442,"byte_end":590446,"line_start":301,"line_end":301,"column_start":18,"column_end":22},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590548,"byte_end":590554,"line_start":305,"line_end":305,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590571,"byte_end":590575,"line_start":306,"line_end":306,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744376}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590600,"byte_end":590606,"line_start":307,"line_end":307,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590591,"byte_end":590598,"line_start":307,"line_end":307,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590600,"byte_end":590606,"line_start":307,"line_end":307,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590591,"byte_end":590598,"line_start":307,"line_end":307,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590651,"byte_end":590657,"line_start":308,"line_end":308,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590665,"byte_end":590673,"line_start":308,"line_end":308,"column_start":47,"column_end":55},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590700,"byte_end":590708,"line_start":309,"line_end":309,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590693,"byte_end":590699,"line_start":309,"line_end":309,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962104}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590733,"byte_end":590739,"line_start":309,"line_end":309,"column_start":57,"column_end":63},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590711,"byte_end":590718,"line_start":309,"line_end":309,"column_start":35,"column_end":42},"ref_id":{"krate":5,"index":5422}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590709,"byte_end":590710,"line_start":309,"line_end":309,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":3758098936}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590767,"byte_end":590775,"line_start":310,"line_end":310,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590760,"byte_end":590766,"line_start":310,"line_end":310,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962104}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590799,"byte_end":590805,"line_start":311,"line_end":311,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1207962104}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590843,"byte_end":590850,"line_start":313,"line_end":313,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590834,"byte_end":590841,"line_start":313,"line_end":313,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590843,"byte_end":590850,"line_start":313,"line_end":313,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590834,"byte_end":590841,"line_start":313,"line_end":313,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590863,"byte_end":590872,"line_start":313,"line_end":313,"column_start":43,"column_end":52},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590861,"byte_end":590862,"line_start":313,"line_end":313,"column_start":41,"column_end":42},"ref_id":{"krate":0,"index":872417784}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590898,"byte_end":590903,"line_start":314,"line_end":314,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590889,"byte_end":590896,"line_start":314,"line_end":314,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590898,"byte_end":590903,"line_start":314,"line_end":314,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590889,"byte_end":590896,"line_start":314,"line_end":314,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":590916,"byte_end":590925,"line_start":314,"line_end":314,"column_start":41,"column_end":50},"ref_id":{"krate":5,"index":5743}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":590914,"byte_end":590915,"line_start":314,"line_end":314,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":1811941880}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590951,"byte_end":590961,"line_start":315,"line_end":315,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590942,"byte_end":590949,"line_start":315,"line_end":315,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590951,"byte_end":590961,"line_start":315,"line_end":315,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":590942,"byte_end":590949,"line_start":315,"line_end":315,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591006,"byte_end":591012,"line_start":316,"line_end":316,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591019,"byte_end":591027,"line_start":316,"line_end":316,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591103,"byte_end":591104,"line_start":318,"line_end":318,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":33556984}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591105,"byte_end":591111,"line_start":318,"line_end":318,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4073}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591137,"byte_end":591145,"line_start":319,"line_end":319,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4060088824}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591172,"byte_end":591180,"line_start":320,"line_end":320,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4060088824}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591250,"byte_end":591254,"line_start":322,"line_end":322,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591243,"byte_end":591249,"line_start":322,"line_end":322,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3523217912}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591328,"byte_end":591336,"line_start":324,"line_end":324,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591370,"byte_end":591378,"line_start":325,"line_end":325,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591360,"byte_end":591369,"line_start":325,"line_end":325,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1845496312}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591403,"byte_end":591409,"line_start":325,"line_end":325,"column_start":64,"column_end":70},"ref_id":{"krate":5,"index":5560}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591381,"byte_end":591388,"line_start":325,"line_end":325,"column_start":42,"column_end":49},"ref_id":{"krate":5,"index":5422}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591379,"byte_end":591380,"line_start":325,"line_end":325,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":704645624}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591444,"byte_end":591452,"line_start":326,"line_end":326,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591434,"byte_end":591443,"line_start":326,"line_end":326,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":1845496312}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591488,"byte_end":591496,"line_start":327,"line_end":327,"column_start":28,"column_end":36},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591481,"byte_end":591487,"line_start":327,"line_end":327,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3523217912}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591507,"byte_end":591513,"line_start":327,"line_end":327,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591497,"byte_end":591506,"line_start":327,"line_end":327,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":1845496312}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591545,"byte_end":591553,"line_start":328,"line_end":328,"column_start":28,"column_end":36},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591538,"byte_end":591544,"line_start":328,"line_end":328,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3523217912}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591557,"byte_end":591566,"line_start":328,"line_end":328,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":2552}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591555,"byte_end":591556,"line_start":328,"line_end":328,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2852129272}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591612,"byte_end":591620,"line_start":330,"line_end":330,"column_start":24,"column_end":32},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591605,"byte_end":591611,"line_start":330,"line_end":330,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3523217912}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591643,"byte_end":591649,"line_start":331,"line_end":331,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":3523217912}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591686,"byte_end":591691,"line_start":333,"line_end":333,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591677,"byte_end":591684,"line_start":333,"line_end":333,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591686,"byte_end":591691,"line_start":333,"line_end":333,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591677,"byte_end":591684,"line_start":333,"line_end":333,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":591736,"byte_end":591742,"line_start":334,"line_end":334,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591748,"byte_end":591756,"line_start":334,"line_end":334,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591826,"byte_end":591827,"line_start":336,"line_end":336,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":1560283640}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591853,"byte_end":591861,"line_start":337,"line_end":337,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":2466253304}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591888,"byte_end":591896,"line_start":338,"line_end":338,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":2466253304}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":591966,"byte_end":591970,"line_start":340,"line_end":340,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":591959,"byte_end":591965,"line_start":340,"line_end":340,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2734688760}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592026,"byte_end":592034,"line_start":342,"line_end":342,"column_start":28,"column_end":36},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592019,"byte_end":592025,"line_start":342,"line_end":342,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2734688760}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592038,"byte_end":592047,"line_start":342,"line_end":342,"column_start":40,"column_end":49},"ref_id":{"krate":0,"index":2552}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592036,"byte_end":592037,"line_start":342,"line_end":342,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":855640568}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592114,"byte_end":592122,"line_start":344,"line_end":344,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592156,"byte_end":592164,"line_start":345,"line_end":345,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592142,"byte_end":592155,"line_start":345,"line_end":345,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487544}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592172,"byte_end":592178,"line_start":345,"line_end":345,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592165,"byte_end":592171,"line_start":345,"line_end":345,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2734688760}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592213,"byte_end":592221,"line_start":346,"line_end":346,"column_start":31,"column_end":39},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592199,"byte_end":592212,"line_start":346,"line_end":346,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487544}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592244,"byte_end":592257,"line_start":347,"line_end":347,"column_start":17,"column_end":30},"ref_id":{"krate":0,"index":3766487544}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592294,"byte_end":592298,"line_start":349,"line_end":349,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592285,"byte_end":592292,"line_start":349,"line_end":349,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592294,"byte_end":592298,"line_start":349,"line_end":349,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592285,"byte_end":592292,"line_start":349,"line_end":349,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592309,"byte_end":592317,"line_start":349,"line_end":349,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592343,"byte_end":592348,"line_start":350,"line_end":350,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592334,"byte_end":592341,"line_start":350,"line_end":350,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592343,"byte_end":592348,"line_start":350,"line_end":350,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592334,"byte_end":592341,"line_start":350,"line_end":350,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592360,"byte_end":592368,"line_start":350,"line_end":350,"column_start":40,"column_end":48},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592394,"byte_end":592398,"line_start":351,"line_end":351,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592385,"byte_end":592392,"line_start":351,"line_end":351,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592394,"byte_end":592398,"line_start":351,"line_end":351,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592385,"byte_end":592392,"line_start":351,"line_end":351,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592409,"byte_end":592417,"line_start":351,"line_end":351,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592445,"byte_end":592450,"line_start":356,"line_end":356,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592490,"byte_end":592497,"line_start":357,"line_end":357,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592578,"byte_end":592586,"line_start":359,"line_end":359,"column_start":20,"column_end":28},"ref_id":{"krate":0,"index":2538}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592573,"byte_end":592577,"line_start":359,"line_end":359,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744379}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592603,"byte_end":592607,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592603,"byte_end":592607,"line_start":360,"line_end":360,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592640,"byte_end":592643,"line_start":361,"line_end":361,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592638,"byte_end":592639,"line_start":361,"line_end":361,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179835}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592644,"byte_end":592646,"line_start":361,"line_end":361,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":536873467}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592670,"byte_end":592674,"line_start":362,"line_end":362,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592670,"byte_end":592674,"line_start":362,"line_end":362,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592681,"byte_end":592682,"line_start":362,"line_end":362,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":671091195}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592704,"byte_end":592708,"line_start":363,"line_end":363,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592704,"byte_end":592708,"line_start":363,"line_end":363,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592722,"byte_end":592726,"line_start":363,"line_end":363,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592713,"byte_end":592720,"line_start":363,"line_end":363,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592772,"byte_end":592776,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592772,"byte_end":592776,"line_start":366,"line_end":366,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592790,"byte_end":592794,"line_start":366,"line_end":366,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592781,"byte_end":592788,"line_start":366,"line_end":366,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592819,"byte_end":592824,"line_start":371,"line_end":371,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592825,"byte_end":592831,"line_start":371,"line_end":371,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592865,"byte_end":592872,"line_start":372,"line_end":372,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592905,"byte_end":592911,"line_start":373,"line_end":373,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":592954,"byte_end":592966,"line_start":374,"line_end":374,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2537}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":592949,"byte_end":592953,"line_start":374,"line_end":374,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744383}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592983,"byte_end":592987,"line_start":375,"line_end":375,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":592983,"byte_end":592987,"line_start":375,"line_end":375,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593020,"byte_end":593023,"line_start":376,"line_end":376,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593018,"byte_end":593019,"line_start":376,"line_end":376,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179839}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593027,"byte_end":593033,"line_start":376,"line_end":376,"column_start":32,"column_end":38},"ref_id":{"krate":5,"index":5560}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593024,"byte_end":593026,"line_start":376,"line_end":376,"column_start":29,"column_end":31},"ref_id":{"krate":0,"index":536873471}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593059,"byte_end":593063,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593059,"byte_end":593063,"line_start":377,"line_end":377,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593070,"byte_end":593071,"line_start":377,"line_end":377,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":1744833023}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593093,"byte_end":593097,"line_start":378,"line_end":378,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593093,"byte_end":593097,"line_start":378,"line_end":378,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593111,"byte_end":593115,"line_start":378,"line_end":378,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593102,"byte_end":593109,"line_start":378,"line_end":378,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593161,"byte_end":593165,"line_start":381,"line_end":381,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593161,"byte_end":593165,"line_start":381,"line_end":381,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593179,"byte_end":593183,"line_start":381,"line_end":381,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593170,"byte_end":593177,"line_start":381,"line_end":381,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593212,"byte_end":593217,"line_start":386,"line_end":386,"column_start":10,"column_end":15},"ref_id":{"krate":1,"index":3327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593259,"byte_end":593266,"line_start":387,"line_end":387,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593346,"byte_end":593358,"line_start":389,"line_end":389,"column_start":20,"column_end":32},"ref_id":{"krate":0,"index":2537}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593341,"byte_end":593345,"line_start":389,"line_end":389,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744388}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593375,"byte_end":593379,"line_start":390,"line_end":390,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593375,"byte_end":593379,"line_start":390,"line_end":390,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593412,"byte_end":593415,"line_start":391,"line_end":391,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":2530}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593410,"byte_end":593411,"line_start":391,"line_end":391,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1342179844}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":593420,"byte_end":593428,"line_start":391,"line_end":391,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593417,"byte_end":593419,"line_start":391,"line_end":391,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":536873476}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593454,"byte_end":593458,"line_start":392,"line_end":392,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593454,"byte_end":593458,"line_start":392,"line_end":392,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":593465,"byte_end":593466,"line_start":392,"line_end":392,"column_start":32,"column_end":33},"ref_id":{"krate":0,"index":3892316676}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593488,"byte_end":593492,"line_start":393,"line_end":393,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593488,"byte_end":593492,"line_start":393,"line_end":393,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593506,"byte_end":593510,"line_start":393,"line_end":393,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593497,"byte_end":593504,"line_start":393,"line_end":393,"column_start":30,"column_end":37},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593556,"byte_end":593560,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593556,"byte_end":593560,"line_start":396,"line_end":396,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593574,"byte_end":593578,"line_start":396,"line_end":396,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593565,"byte_end":593572,"line_start":396,"line_end":396,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593620,"byte_end":593627,"line_start":402,"line_end":402,"column_start":22,"column_end":29},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593651,"byte_end":593654,"line_start":403,"line_end":403,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593683,"byte_end":593686,"line_start":404,"line_end":404,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593687,"byte_end":593693,"line_start":404,"line_end":404,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593841,"byte_end":593848,"line_start":409,"line_end":409,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593872,"byte_end":593878,"line_start":410,"line_end":410,"column_start":23,"column_end":29},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593879,"byte_end":593885,"line_start":410,"line_end":410,"column_start":30,"column_end":36},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593910,"byte_end":593913,"line_start":411,"line_end":411,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593942,"byte_end":593945,"line_start":412,"line_end":412,"column_start":23,"column_end":26},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":593946,"byte_end":593952,"line_start":412,"line_end":412,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594040,"byte_end":594046,"line_start":415,"line_end":415,"column_start":32,"column_end":38},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594051,"byte_end":594059,"line_start":415,"line_end":415,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594104,"byte_end":594110,"line_start":417,"line_end":417,"column_start":21,"column_end":27},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594111,"byte_end":594117,"line_start":417,"line_end":417,"column_start":28,"column_end":34},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594138,"byte_end":594144,"line_start":418,"line_end":418,"column_start":19,"column_end":25},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594162,"byte_end":594168,"line_start":419,"line_end":419,"column_start":17,"column_end":23},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594175,"byte_end":594183,"line_start":419,"line_end":419,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594213,"byte_end":594214,"line_start":421,"line_end":421,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":1073744390}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594235,"byte_end":594240,"line_start":423,"line_end":423,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594226,"byte_end":594233,"line_start":423,"line_end":423,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594235,"byte_end":594240,"line_start":423,"line_end":423,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594226,"byte_end":594233,"line_start":423,"line_end":423,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594290,"byte_end":594296,"line_start":424,"line_end":424,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594280,"byte_end":594288,"line_start":424,"line_end":424,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594305,"byte_end":594308,"line_start":424,"line_end":424,"column_start":47,"column_end":50},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594297,"byte_end":594304,"line_start":424,"line_end":424,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536873478}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594309,"byte_end":594315,"line_start":424,"line_end":424,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":268438022}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594393,"byte_end":594400,"line_start":426,"line_end":426,"column_start":31,"column_end":38},"ref_id":{"krate":1,"index":11500}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594389,"byte_end":594392,"line_start":426,"line_end":426,"column_start":27,"column_end":30},"ref_id":{"krate":0,"index":3623881222}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594401,"byte_end":594402,"line_start":426,"line_end":426,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":4227860998}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594456,"byte_end":594459,"line_start":427,"line_end":427,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":1912605190}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594482,"byte_end":594486,"line_start":428,"line_end":428,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":594482,"byte_end":594486,"line_start":428,"line_end":428,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594526,"byte_end":594532,"line_start":429,"line_end":429,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":268438022}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594563,"byte_end":594572,"line_start":430,"line_end":430,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594578,"byte_end":594582,"line_start":430,"line_end":430,"column_start":40,"column_end":44},"ref_id":{"krate":0,"index":2852129286}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594626,"byte_end":594631,"line_start":431,"line_end":431,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594618,"byte_end":594625,"line_start":431,"line_end":431,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":536873478}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594677,"byte_end":594682,"line_start":432,"line_end":432,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594669,"byte_end":594676,"line_start":432,"line_end":432,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1610615302}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594720,"byte_end":594726,"line_start":433,"line_end":433,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":268438022}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594762,"byte_end":594768,"line_start":434,"line_end":434,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594804,"byte_end":594814,"line_start":435,"line_end":435,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":805308934}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594850,"byte_end":594856,"line_start":436,"line_end":436,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1879050758}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594892,"byte_end":594896,"line_start":437,"line_end":437,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":134220294}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":594938,"byte_end":594943,"line_start":438,"line_end":438,"column_start":41,"column_end":46},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594932,"byte_end":594937,"line_start":438,"line_end":438,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1207962118}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":594981,"byte_end":594984,"line_start":439,"line_end":439,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":671091206}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595012,"byte_end":595018,"line_start":440,"line_end":440,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":268438022}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595096,"byte_end":595100,"line_start":443,"line_end":443,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595096,"byte_end":595100,"line_start":443,"line_end":443,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595146,"byte_end":595153,"line_start":445,"line_end":445,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":2566916614}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595185,"byte_end":595192,"line_start":447,"line_end":447,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":4177529350}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595221,"byte_end":595228,"line_start":449,"line_end":449,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":4177529350}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595257,"byte_end":595267,"line_start":452,"line_end":452,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595248,"byte_end":595255,"line_start":452,"line_end":452,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595257,"byte_end":595267,"line_start":452,"line_end":452,"column_start":18,"column_end":28},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595248,"byte_end":595255,"line_start":452,"line_end":452,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595317,"byte_end":595320,"line_start":453,"line_end":453,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595309,"byte_end":595316,"line_start":453,"line_end":453,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1610615302}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595321,"byte_end":595327,"line_start":453,"line_end":453,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595357,"byte_end":595362,"line_start":454,"line_end":454,"column_start":19,"column_end":24},"ref_id":{"krate":0,"index":1023412742}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595381,"byte_end":595385,"line_start":455,"line_end":455,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595381,"byte_end":595385,"line_start":455,"line_end":455,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595429,"byte_end":595435,"line_start":456,"line_end":456,"column_start":30,"column_end":36},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595441,"byte_end":595448,"line_start":456,"line_end":456,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595455,"byte_end":595462,"line_start":456,"line_end":456,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":2529}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595452,"byte_end":595454,"line_start":456,"line_end":456,"column_start":53,"column_end":55},"ref_id":{"krate":0,"index":1962936838}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595464,"byte_end":595467,"line_start":456,"line_end":456,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":50334214}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595531,"byte_end":595534,"line_start":458,"line_end":458,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1258293766}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595561,"byte_end":595565,"line_start":459,"line_end":459,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":595561,"byte_end":595565,"line_start":459,"line_end":459,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595609,"byte_end":595615,"line_start":460,"line_end":460,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595650,"byte_end":595659,"line_start":461,"line_end":461,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595665,"byte_end":595669,"line_start":461,"line_end":461,"column_start":44,"column_end":48},"ref_id":{"krate":0,"index":2600471046}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595717,"byte_end":595722,"line_start":462,"line_end":462,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595709,"byte_end":595716,"line_start":462,"line_end":462,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":536873478}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":595772,"byte_end":595777,"line_start":463,"line_end":463,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595764,"byte_end":595771,"line_start":463,"line_end":463,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":1610615302}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595819,"byte_end":595825,"line_start":464,"line_end":464,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":268438022}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595865,"byte_end":595871,"line_start":465,"line_end":465,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595911,"byte_end":595921,"line_start":466,"line_end":466,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":805308934}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":595961,"byte_end":595967,"line_start":467,"line_end":467,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1879050758}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596007,"byte_end":596011,"line_start":468,"line_end":468,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":134220294}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596057,"byte_end":596062,"line_start":469,"line_end":469,"column_start":45,"column_end":50},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596051,"byte_end":596056,"line_start":469,"line_end":469,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":1207962118}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596104,"byte_end":596107,"line_start":470,"line_end":470,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":671091206}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596139,"byte_end":596145,"line_start":471,"line_end":471,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596235,"byte_end":596239,"line_start":474,"line_end":474,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596235,"byte_end":596239,"line_start":474,"line_end":474,"column_start":25,"column_end":29},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596293,"byte_end":596300,"line_start":476,"line_end":476,"column_start":21,"column_end":28},"ref_id":{"krate":0,"index":3095398918}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596335,"byte_end":596339,"line_start":478,"line_end":478,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596335,"byte_end":596339,"line_start":478,"line_end":478,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596409,"byte_end":596416,"line_start":484,"line_end":484,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":3028290054}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596427,"byte_end":596431,"line_start":485,"line_end":485,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":134220294}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596432,"byte_end":596433,"line_start":485,"line_end":485,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":1073744390}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596448,"byte_end":596453,"line_start":486,"line_end":486,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":1207962118}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596476,"byte_end":596481,"line_start":487,"line_end":487,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596468,"byte_end":596475,"line_start":487,"line_end":487,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":536873478}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596506,"byte_end":596511,"line_start":488,"line_end":488,"column_start":22,"column_end":27},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596498,"byte_end":596505,"line_start":488,"line_end":488,"column_start":14,"column_end":21},"ref_id":{"krate":0,"index":1610615302}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596528,"byte_end":596534,"line_start":489,"line_end":489,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":268438022}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596549,"byte_end":596555,"line_start":490,"line_end":490,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":1342179846}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596570,"byte_end":596576,"line_start":491,"line_end":491,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":1879050758}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596590,"byte_end":596592,"line_start":493,"line_end":493,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":596593,"byte_end":596600,"line_start":493,"line_end":493,"column_start":8,"column_end":15},"ref_id":{"krate":0,"index":3028290054}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596690,"byte_end":596696,"line_start":497,"line_end":497,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596701,"byte_end":596707,"line_start":497,"line_end":497,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596708,"byte_end":596711,"line_start":497,"line_end":497,"column_start":51,"column_end":54},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596712,"byte_end":596719,"line_start":497,"line_end":497,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596722,"byte_end":596730,"line_start":497,"line_end":497,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596758,"byte_end":596761,"line_start":499,"line_end":499,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":323}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596753,"byte_end":596756,"line_start":499,"line_end":499,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":315}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596771,"byte_end":596775,"line_start":499,"line_end":499,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596762,"byte_end":596769,"line_start":499,"line_end":499,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596827,"byte_end":596830,"line_start":503,"line_end":503,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596844,"byte_end":596847,"line_start":503,"line_end":503,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596839,"byte_end":596842,"line_start":503,"line_end":503,"column_start":32,"column_end":35},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596872,"byte_end":596875,"line_start":504,"line_end":504,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596876,"byte_end":596882,"line_start":504,"line_end":504,"column_start":26,"column_end":32},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596891,"byte_end":596894,"line_start":504,"line_end":504,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596886,"byte_end":596889,"line_start":504,"line_end":504,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596919,"byte_end":596922,"line_start":505,"line_end":505,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":596935,"byte_end":596938,"line_start":505,"line_end":505,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":596930,"byte_end":596933,"line_start":505,"line_end":505,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597037,"byte_end":597043,"line_start":508,"line_end":508,"column_start":18,"column_end":24},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597065,"byte_end":597071,"line_start":509,"line_end":509,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597077,"byte_end":597085,"line_start":509,"line_end":509,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597106,"byte_end":597112,"line_start":510,"line_end":510,"column_start":18,"column_end":24},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597118,"byte_end":597126,"line_start":510,"line_end":510,"column_start":30,"column_end":38},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597182,"byte_end":597188,"line_start":512,"line_end":512,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597194,"byte_end":597202,"line_start":512,"line_end":512,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597227,"byte_end":597233,"line_start":513,"line_end":513,"column_start":22,"column_end":28},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597239,"byte_end":597247,"line_start":513,"line_end":513,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597271,"byte_end":597277,"line_start":514,"line_end":514,"column_start":21,"column_end":27},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597283,"byte_end":597291,"line_start":514,"line_end":514,"column_start":33,"column_end":41},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":597310,"byte_end":597313,"line_start":516,"line_end":516,"column_start":15,"column_end":18},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597335,"byte_end":597342,"line_start":516,"line_end":516,"column_start":40,"column_end":47},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597327,"byte_end":597332,"line_start":516,"line_end":516,"column_start":32,"column_end":37},"ref_id":{"krate":1,"index":12644}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597322,"byte_end":597326,"line_start":516,"line_end":516,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073744391}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597366,"byte_end":597369,"line_start":517,"line_end":517,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597361,"byte_end":597365,"line_start":517,"line_end":517,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":3238005255}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597410,"byte_end":597414,"line_start":519,"line_end":519,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1895827975}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597440,"byte_end":597444,"line_start":521,"line_end":521,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":3238005255}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597445,"byte_end":597448,"line_start":521,"line_end":521,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":3355445767}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597466,"byte_end":597476,"line_start":523,"line_end":523,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597523,"byte_end":597527,"line_start":525,"line_end":525,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597516,"byte_end":597522,"line_start":525,"line_end":525,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597528,"byte_end":597529,"line_start":525,"line_end":525,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597590,"byte_end":597594,"line_start":528,"line_end":528,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597583,"byte_end":597589,"line_start":528,"line_end":528,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597595,"byte_end":597596,"line_start":528,"line_end":528,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597654,"byte_end":597658,"line_start":531,"line_end":531,"column_start":21,"column_end":25},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597650,"byte_end":597653,"line_start":531,"line_end":531,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597659,"byte_end":597660,"line_start":531,"line_end":531,"column_start":26,"column_end":27},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597721,"byte_end":597725,"line_start":534,"line_end":534,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597714,"byte_end":597720,"line_start":534,"line_end":534,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597726,"byte_end":597727,"line_start":534,"line_end":534,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597789,"byte_end":597793,"line_start":537,"line_end":537,"column_start":25,"column_end":29},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597781,"byte_end":597788,"line_start":537,"line_end":537,"column_start":17,"column_end":24},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597794,"byte_end":597795,"line_start":537,"line_end":537,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":597856,"byte_end":597860,"line_start":540,"line_end":540,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597849,"byte_end":597855,"line_start":540,"line_end":540,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597861,"byte_end":597862,"line_start":540,"line_end":540,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597925,"byte_end":597926,"line_start":545,"line_end":545,"column_start":15,"column_end":16},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":597974,"byte_end":597984,"line_start":549,"line_end":549,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598144,"byte_end":598148,"line_start":557,"line_end":557,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598138,"byte_end":598143,"line_start":557,"line_end":557,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598149,"byte_end":598150,"line_start":557,"line_end":557,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3229616647}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598190,"byte_end":598191,"line_start":558,"line_end":558,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3229616647}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598177,"byte_end":598187,"line_start":558,"line_end":558,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598225,"byte_end":598229,"line_start":559,"line_end":559,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598217,"byte_end":598224,"line_start":559,"line_end":559,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598280,"byte_end":598283,"line_start":561,"line_end":561,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598324,"byte_end":598328,"line_start":563,"line_end":563,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598315,"byte_end":598322,"line_start":563,"line_end":563,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598324,"byte_end":598328,"line_start":563,"line_end":563,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598315,"byte_end":598322,"line_start":563,"line_end":563,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598382,"byte_end":598387,"line_start":564,"line_end":564,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598373,"byte_end":598380,"line_start":564,"line_end":564,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598393,"byte_end":598396,"line_start":564,"line_end":564,"column_start":60,"column_end":63},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598388,"byte_end":598391,"line_start":564,"line_end":564,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598367,"byte_end":598370,"line_start":564,"line_end":564,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":598565,"byte_end":598572,"line_start":571,"line_end":571,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2894072327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598706,"byte_end":598712,"line_start":574,"line_end":574,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":598718,"byte_end":598726,"line_start":574,"line_end":574,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598774,"byte_end":598781,"line_start":575,"line_end":575,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598822,"byte_end":598828,"line_start":576,"line_end":576,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598829,"byte_end":598835,"line_start":576,"line_end":576,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598877,"byte_end":598880,"line_start":577,"line_end":577,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598932,"byte_end":598935,"line_start":578,"line_end":578,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":598936,"byte_end":598942,"line_start":578,"line_end":578,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599081,"byte_end":599087,"line_start":581,"line_end":581,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599092,"byte_end":599100,"line_start":581,"line_end":581,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599143,"byte_end":599144,"line_start":582,"line_end":582,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744393}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599192,"byte_end":599197,"line_start":583,"line_end":583,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599183,"byte_end":599190,"line_start":583,"line_end":583,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599192,"byte_end":599197,"line_start":583,"line_end":583,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599183,"byte_end":599190,"line_start":583,"line_end":583,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599258,"byte_end":599262,"line_start":584,"line_end":584,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599255,"byte_end":599257,"line_start":584,"line_end":584,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091209}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599272,"byte_end":599277,"line_start":584,"line_end":584,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599263,"byte_end":599270,"line_start":584,"line_end":584,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599283,"byte_end":599286,"line_start":584,"line_end":584,"column_start":69,"column_end":72},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599278,"byte_end":599281,"line_start":584,"line_end":584,"column_start":64,"column_end":67},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599375,"byte_end":599385,"line_start":586,"line_end":586,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599366,"byte_end":599373,"line_start":586,"line_end":586,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599375,"byte_end":599385,"line_start":586,"line_end":586,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599366,"byte_end":599373,"line_start":586,"line_end":586,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599487,"byte_end":599492,"line_start":587,"line_end":587,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599463,"byte_end":599469,"line_start":587,"line_end":587,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599453,"byte_end":599461,"line_start":587,"line_end":587,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599478,"byte_end":599482,"line_start":587,"line_end":587,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599470,"byte_end":599477,"line_start":587,"line_end":587,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438025}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599539,"byte_end":599545,"line_start":588,"line_end":588,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599536,"byte_end":599538,"line_start":588,"line_end":588,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2483030537}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599546,"byte_end":599549,"line_start":588,"line_end":588,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2449476105}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599560,"byte_end":599565,"line_start":588,"line_end":588,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599551,"byte_end":599558,"line_start":588,"line_end":588,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599571,"byte_end":599574,"line_start":588,"line_end":588,"column_start":76,"column_end":79},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599566,"byte_end":599569,"line_start":588,"line_end":588,"column_start":71,"column_end":74},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":599729,"byte_end":599731,"line_start":592,"line_end":592,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599794,"byte_end":599803,"line_start":594,"line_end":594,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599809,"byte_end":599812,"line_start":594,"line_end":594,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599860,"byte_end":599865,"line_start":595,"line_end":595,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599852,"byte_end":599859,"line_start":595,"line_end":595,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":599915,"byte_end":599920,"line_start":596,"line_end":596,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599907,"byte_end":599914,"line_start":596,"line_end":596,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":599962,"byte_end":599968,"line_start":597,"line_end":597,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3162507783}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600008,"byte_end":600014,"line_start":598,"line_end":598,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2189429255}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600054,"byte_end":600064,"line_start":599,"line_end":599,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600104,"byte_end":600110,"line_start":600,"line_end":600,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600150,"byte_end":600154,"line_start":601,"line_end":601,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2569}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600194,"byte_end":600198,"line_start":602,"line_end":602,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600238,"byte_end":600241,"line_start":603,"line_end":603,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2457864711}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600349,"byte_end":600354,"line_start":607,"line_end":607,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600347,"byte_end":600348,"line_start":607,"line_end":607,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600328,"byte_end":600344,"line_start":607,"line_end":607,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600416,"byte_end":600426,"line_start":611,"line_end":611,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600554,"byte_end":600560,"line_start":617,"line_end":617,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600544,"byte_end":600552,"line_start":617,"line_end":617,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600568,"byte_end":600571,"line_start":617,"line_end":617,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600561,"byte_end":600567,"line_start":617,"line_end":617,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600624,"byte_end":600633,"line_start":618,"line_end":618,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600617,"byte_end":600621,"line_start":618,"line_end":618,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600610,"byte_end":600616,"line_start":618,"line_end":618,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600601,"byte_end":600607,"line_start":618,"line_end":618,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":600664,"byte_end":600670,"line_start":619,"line_end":619,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600718,"byte_end":600721,"line_start":620,"line_end":620,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600732,"byte_end":600735,"line_start":620,"line_end":620,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600722,"byte_end":600730,"line_start":620,"line_end":620,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600904,"byte_end":600910,"line_start":625,"line_end":625,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":600916,"byte_end":600924,"line_start":625,"line_end":625,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":600968,"byte_end":600975,"line_start":626,"line_end":626,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601012,"byte_end":601018,"line_start":627,"line_end":627,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601019,"byte_end":601025,"line_start":627,"line_end":627,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601063,"byte_end":601066,"line_start":628,"line_end":628,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601108,"byte_end":601111,"line_start":629,"line_end":629,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601112,"byte_end":601118,"line_start":629,"line_end":629,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601245,"byte_end":601251,"line_start":632,"line_end":632,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601256,"byte_end":601264,"line_start":632,"line_end":632,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601303,"byte_end":601304,"line_start":633,"line_end":633,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744394}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601348,"byte_end":601353,"line_start":634,"line_end":634,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601339,"byte_end":601346,"line_start":634,"line_end":634,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601348,"byte_end":601353,"line_start":634,"line_end":634,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601339,"byte_end":601346,"line_start":634,"line_end":634,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601410,"byte_end":601414,"line_start":635,"line_end":635,"column_start":40,"column_end":44},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601407,"byte_end":601409,"line_start":635,"line_end":635,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091210}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601424,"byte_end":601428,"line_start":635,"line_end":635,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601415,"byte_end":601422,"line_start":635,"line_end":635,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601564,"byte_end":601566,"line_start":639,"line_end":639,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601621,"byte_end":601630,"line_start":641,"line_end":641,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601636,"byte_end":601639,"line_start":641,"line_end":641,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601683,"byte_end":601688,"line_start":642,"line_end":642,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601675,"byte_end":601682,"line_start":642,"line_end":642,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601734,"byte_end":601739,"line_start":643,"line_end":643,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601726,"byte_end":601733,"line_start":643,"line_end":643,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601777,"byte_end":601783,"line_start":644,"line_end":644,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1803553287}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601819,"byte_end":601825,"line_start":645,"line_end":645,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1535117831}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601861,"byte_end":601871,"line_start":646,"line_end":646,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":601907,"byte_end":601913,"line_start":647,"line_end":647,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":601949,"byte_end":601953,"line_start":648,"line_end":648,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2570}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":601989,"byte_end":601993,"line_start":649,"line_end":649,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602029,"byte_end":602032,"line_start":650,"line_end":650,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":1199573511}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602071,"byte_end":602077,"line_start":652,"line_end":652,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602061,"byte_end":602069,"line_start":652,"line_end":652,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602084,"byte_end":602087,"line_start":652,"line_end":652,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602078,"byte_end":602083,"line_start":652,"line_end":652,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602127,"byte_end":602133,"line_start":653,"line_end":653,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602117,"byte_end":602125,"line_start":653,"line_end":653,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602140,"byte_end":602143,"line_start":653,"line_end":653,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602134,"byte_end":602139,"line_start":653,"line_end":653,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602215,"byte_end":602223,"line_start":654,"line_end":654,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602199,"byte_end":602208,"line_start":654,"line_end":654,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602192,"byte_end":602196,"line_start":654,"line_end":654,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602186,"byte_end":602191,"line_start":654,"line_end":654,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602173,"byte_end":602183,"line_start":654,"line_end":654,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602261,"byte_end":602267,"line_start":655,"line_end":655,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602251,"byte_end":602259,"line_start":655,"line_end":655,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602276,"byte_end":602279,"line_start":655,"line_end":655,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602268,"byte_end":602275,"line_start":655,"line_end":655,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602321,"byte_end":602329,"line_start":656,"line_end":656,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602309,"byte_end":602315,"line_start":656,"line_end":656,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602420,"byte_end":602426,"line_start":661,"line_end":661,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602410,"byte_end":602418,"line_start":661,"line_end":661,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602435,"byte_end":602438,"line_start":661,"line_end":661,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602427,"byte_end":602434,"line_start":661,"line_end":661,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602493,"byte_end":602502,"line_start":662,"line_end":662,"column_start":50,"column_end":59},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602486,"byte_end":602490,"line_start":662,"line_end":662,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602478,"byte_end":602485,"line_start":662,"line_end":662,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602468,"byte_end":602475,"line_start":662,"line_end":662,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":602533,"byte_end":602540,"line_start":663,"line_end":663,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602589,"byte_end":602592,"line_start":664,"line_end":664,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602603,"byte_end":602606,"line_start":664,"line_end":664,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602593,"byte_end":602601,"line_start":664,"line_end":664,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602775,"byte_end":602781,"line_start":669,"line_end":669,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":602787,"byte_end":602795,"line_start":669,"line_end":669,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602839,"byte_end":602846,"line_start":670,"line_end":670,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602883,"byte_end":602889,"line_start":671,"line_end":671,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602890,"byte_end":602896,"line_start":671,"line_end":671,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602934,"byte_end":602937,"line_start":672,"line_end":672,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602979,"byte_end":602982,"line_start":673,"line_end":673,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":602983,"byte_end":602989,"line_start":673,"line_end":673,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603116,"byte_end":603122,"line_start":676,"line_end":676,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603127,"byte_end":603135,"line_start":676,"line_end":676,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603174,"byte_end":603175,"line_start":677,"line_end":677,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744395}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603219,"byte_end":603224,"line_start":678,"line_end":678,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603210,"byte_end":603217,"line_start":678,"line_end":678,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603219,"byte_end":603224,"line_start":678,"line_end":678,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603210,"byte_end":603217,"line_start":678,"line_end":678,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603281,"byte_end":603285,"line_start":679,"line_end":679,"column_start":40,"column_end":44},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603278,"byte_end":603280,"line_start":679,"line_end":679,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091211}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603295,"byte_end":603300,"line_start":679,"line_end":679,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603286,"byte_end":603293,"line_start":679,"line_end":679,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603436,"byte_end":603438,"line_start":683,"line_end":683,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603493,"byte_end":603502,"line_start":685,"line_end":685,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603508,"byte_end":603511,"line_start":685,"line_end":685,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603555,"byte_end":603560,"line_start":686,"line_end":686,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603547,"byte_end":603554,"line_start":686,"line_end":686,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603606,"byte_end":603611,"line_start":687,"line_end":687,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603598,"byte_end":603605,"line_start":687,"line_end":687,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603649,"byte_end":603655,"line_start":688,"line_end":688,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":759171591}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603691,"byte_end":603697,"line_start":689,"line_end":689,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":490736135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603733,"byte_end":603743,"line_start":690,"line_end":690,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603779,"byte_end":603785,"line_start":691,"line_end":691,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603821,"byte_end":603825,"line_start":692,"line_end":692,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2571}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603861,"byte_end":603865,"line_start":693,"line_end":693,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603901,"byte_end":603904,"line_start":694,"line_end":694,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":54528519}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603943,"byte_end":603949,"line_start":696,"line_end":696,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603933,"byte_end":603941,"line_start":696,"line_end":696,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603956,"byte_end":603959,"line_start":696,"line_end":696,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":603950,"byte_end":603955,"line_start":696,"line_end":696,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":603999,"byte_end":604005,"line_start":697,"line_end":697,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":603989,"byte_end":603997,"line_start":697,"line_end":697,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604012,"byte_end":604015,"line_start":697,"line_end":697,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604006,"byte_end":604011,"line_start":697,"line_end":697,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604087,"byte_end":604095,"line_start":698,"line_end":698,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604071,"byte_end":604080,"line_start":698,"line_end":698,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604064,"byte_end":604068,"line_start":698,"line_end":698,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604058,"byte_end":604063,"line_start":698,"line_end":698,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604045,"byte_end":604055,"line_start":698,"line_end":698,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604133,"byte_end":604139,"line_start":699,"line_end":699,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604123,"byte_end":604131,"line_start":699,"line_end":699,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604148,"byte_end":604151,"line_start":699,"line_end":699,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604140,"byte_end":604147,"line_start":699,"line_end":699,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604195,"byte_end":604203,"line_start":701,"line_end":701,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604182,"byte_end":604189,"line_start":701,"line_end":701,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604294,"byte_end":604300,"line_start":706,"line_end":706,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604284,"byte_end":604292,"line_start":706,"line_end":706,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604308,"byte_end":604311,"line_start":706,"line_end":706,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604301,"byte_end":604307,"line_start":706,"line_end":706,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604364,"byte_end":604373,"line_start":707,"line_end":707,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604357,"byte_end":604361,"line_start":707,"line_end":707,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604350,"byte_end":604356,"line_start":707,"line_end":707,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604341,"byte_end":604347,"line_start":707,"line_end":707,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":604404,"byte_end":604410,"line_start":708,"line_end":708,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604458,"byte_end":604461,"line_start":709,"line_end":709,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604472,"byte_end":604475,"line_start":709,"line_end":709,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604462,"byte_end":604470,"line_start":709,"line_end":709,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604644,"byte_end":604650,"line_start":714,"line_end":714,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":604656,"byte_end":604664,"line_start":714,"line_end":714,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604708,"byte_end":604715,"line_start":715,"line_end":715,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604752,"byte_end":604758,"line_start":716,"line_end":716,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604759,"byte_end":604765,"line_start":716,"line_end":716,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604803,"byte_end":604806,"line_start":717,"line_end":717,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604848,"byte_end":604851,"line_start":718,"line_end":718,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604852,"byte_end":604858,"line_start":718,"line_end":718,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604985,"byte_end":604991,"line_start":721,"line_end":721,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":604996,"byte_end":605004,"line_start":721,"line_end":721,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605043,"byte_end":605044,"line_start":722,"line_end":722,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744396}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605088,"byte_end":605093,"line_start":723,"line_end":723,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605079,"byte_end":605086,"line_start":723,"line_end":723,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605088,"byte_end":605093,"line_start":723,"line_end":723,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605079,"byte_end":605086,"line_start":723,"line_end":723,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605150,"byte_end":605154,"line_start":724,"line_end":724,"column_start":40,"column_end":44},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605147,"byte_end":605149,"line_start":724,"line_end":724,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091212}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605164,"byte_end":605168,"line_start":724,"line_end":724,"column_start":54,"column_end":58},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605155,"byte_end":605162,"line_start":724,"line_end":724,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605304,"byte_end":605306,"line_start":728,"line_end":728,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605361,"byte_end":605370,"line_start":730,"line_end":730,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605376,"byte_end":605379,"line_start":730,"line_end":730,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605423,"byte_end":605428,"line_start":731,"line_end":731,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605415,"byte_end":605422,"line_start":731,"line_end":731,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605474,"byte_end":605479,"line_start":732,"line_end":732,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605466,"byte_end":605473,"line_start":732,"line_end":732,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605517,"byte_end":605523,"line_start":733,"line_end":733,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1237322247}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605559,"byte_end":605565,"line_start":734,"line_end":734,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1774193159}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605601,"byte_end":605611,"line_start":735,"line_end":735,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605647,"byte_end":605653,"line_start":736,"line_end":736,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605689,"byte_end":605693,"line_start":737,"line_end":737,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2572}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605729,"byte_end":605733,"line_start":738,"line_end":738,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605769,"byte_end":605772,"line_start":739,"line_end":739,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":2042628615}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605812,"byte_end":605818,"line_start":742,"line_end":742,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605802,"byte_end":605810,"line_start":742,"line_end":742,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605825,"byte_end":605828,"line_start":742,"line_end":742,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605819,"byte_end":605824,"line_start":742,"line_end":742,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605868,"byte_end":605874,"line_start":743,"line_end":743,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605858,"byte_end":605866,"line_start":743,"line_end":743,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605881,"byte_end":605884,"line_start":743,"line_end":743,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605875,"byte_end":605880,"line_start":743,"line_end":743,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605956,"byte_end":605964,"line_start":744,"line_end":744,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605940,"byte_end":605949,"line_start":744,"line_end":744,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":605933,"byte_end":605937,"line_start":744,"line_end":744,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605927,"byte_end":605932,"line_start":744,"line_end":744,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":605914,"byte_end":605924,"line_start":744,"line_end":744,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606002,"byte_end":606008,"line_start":745,"line_end":745,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":605992,"byte_end":606000,"line_start":745,"line_end":745,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606017,"byte_end":606020,"line_start":745,"line_end":745,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606009,"byte_end":606016,"line_start":745,"line_end":745,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606063,"byte_end":606071,"line_start":747,"line_end":747,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606051,"byte_end":606057,"line_start":747,"line_end":747,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606247,"byte_end":606253,"line_start":754,"line_end":754,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606259,"byte_end":606267,"line_start":754,"line_end":754,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606311,"byte_end":606318,"line_start":755,"line_end":755,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606359,"byte_end":606365,"line_start":756,"line_end":756,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606366,"byte_end":606372,"line_start":756,"line_end":756,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606410,"byte_end":606413,"line_start":757,"line_end":757,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606455,"byte_end":606458,"line_start":758,"line_end":758,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606459,"byte_end":606465,"line_start":758,"line_end":758,"column_start":40,"column_end":46},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606592,"byte_end":606598,"line_start":761,"line_end":761,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606603,"byte_end":606611,"line_start":761,"line_end":761,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606650,"byte_end":606651,"line_start":762,"line_end":762,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744397}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606695,"byte_end":606700,"line_start":763,"line_end":763,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606686,"byte_end":606693,"line_start":763,"line_end":763,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606695,"byte_end":606700,"line_start":763,"line_end":763,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606686,"byte_end":606693,"line_start":763,"line_end":763,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606783,"byte_end":606789,"line_start":765,"line_end":765,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606773,"byte_end":606781,"line_start":765,"line_end":765,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606790,"byte_end":606795,"line_start":765,"line_end":765,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606845,"byte_end":606851,"line_start":766,"line_end":766,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":606835,"byte_end":606843,"line_start":766,"line_end":766,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606860,"byte_end":606863,"line_start":766,"line_end":766,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606852,"byte_end":606859,"line_start":766,"line_end":766,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":201329165}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606930,"byte_end":606939,"line_start":767,"line_end":767,"column_start":62,"column_end":71},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606923,"byte_end":606927,"line_start":767,"line_end":767,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606915,"byte_end":606922,"line_start":767,"line_end":767,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":201329165}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606905,"byte_end":606912,"line_start":767,"line_end":767,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":201329165}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":606994,"byte_end":606998,"line_start":769,"line_end":769,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":606986,"byte_end":606993,"line_start":769,"line_end":769,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":201329165}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607046,"byte_end":607050,"line_start":770,"line_end":770,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607046,"byte_end":607050,"line_start":770,"line_end":770,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607060,"byte_end":607064,"line_start":770,"line_end":770,"column_start":55,"column_end":59},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607057,"byte_end":607059,"line_start":770,"line_end":770,"column_start":52,"column_end":54},"ref_id":{"krate":0,"index":671091213}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607075,"byte_end":607080,"line_start":770,"line_end":770,"column_start":70,"column_end":75},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607066,"byte_end":607073,"line_start":770,"line_end":770,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607086,"byte_end":607094,"line_start":770,"line_end":770,"column_start":81,"column_end":89},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607104,"byte_end":607109,"line_start":770,"line_end":770,"column_start":99,"column_end":104},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607096,"byte_end":607103,"line_start":770,"line_end":770,"column_start":91,"column_end":98},"ref_id":{"krate":0,"index":201329165}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607158,"byte_end":607162,"line_start":771,"line_end":771,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607158,"byte_end":607162,"line_start":771,"line_end":771,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607172,"byte_end":607176,"line_start":771,"line_end":771,"column_start":55,"column_end":59},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607169,"byte_end":607171,"line_start":771,"line_end":771,"column_start":52,"column_end":54},"ref_id":{"krate":0,"index":671091213}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607187,"byte_end":607194,"line_start":771,"line_end":771,"column_start":70,"column_end":77},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607178,"byte_end":607185,"line_start":771,"line_end":771,"column_start":61,"column_end":68},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607200,"byte_end":607208,"line_start":771,"line_end":771,"column_start":83,"column_end":91},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607218,"byte_end":607223,"line_start":771,"line_end":771,"column_start":101,"column_end":106},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607210,"byte_end":607217,"line_start":771,"line_end":771,"column_start":93,"column_end":100},"ref_id":{"krate":0,"index":201329165}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607404,"byte_end":607406,"line_start":776,"line_end":776,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607461,"byte_end":607470,"line_start":778,"line_end":778,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607476,"byte_end":607479,"line_start":778,"line_end":778,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607523,"byte_end":607528,"line_start":779,"line_end":779,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607515,"byte_end":607522,"line_start":779,"line_end":779,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607574,"byte_end":607579,"line_start":780,"line_end":780,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607566,"byte_end":607573,"line_start":780,"line_end":780,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607617,"byte_end":607623,"line_start":781,"line_end":781,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":471861767}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607659,"byte_end":607665,"line_start":782,"line_end":782,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":1008732679}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607701,"byte_end":607711,"line_start":783,"line_end":783,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607747,"byte_end":607753,"line_start":784,"line_end":784,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607789,"byte_end":607793,"line_start":785,"line_end":785,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2573}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607829,"byte_end":607833,"line_start":786,"line_end":786,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607834,"byte_end":607837,"line_start":786,"line_end":786,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607874,"byte_end":607877,"line_start":787,"line_end":787,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":572525063}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607915,"byte_end":607923,"line_start":789,"line_end":789,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607906,"byte_end":607909,"line_start":789,"line_end":789,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607962,"byte_end":607968,"line_start":791,"line_end":791,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":607952,"byte_end":607960,"line_start":791,"line_end":791,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":607975,"byte_end":607978,"line_start":791,"line_end":791,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":607969,"byte_end":607974,"line_start":791,"line_end":791,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608018,"byte_end":608024,"line_start":792,"line_end":792,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608008,"byte_end":608016,"line_start":792,"line_end":792,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608031,"byte_end":608034,"line_start":792,"line_end":792,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608025,"byte_end":608030,"line_start":792,"line_end":792,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608106,"byte_end":608114,"line_start":793,"line_end":793,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608090,"byte_end":608099,"line_start":793,"line_end":793,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608083,"byte_end":608087,"line_start":793,"line_end":793,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608077,"byte_end":608082,"line_start":793,"line_end":793,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608064,"byte_end":608074,"line_start":793,"line_end":793,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608152,"byte_end":608158,"line_start":794,"line_end":794,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608142,"byte_end":608150,"line_start":794,"line_end":794,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608167,"byte_end":608170,"line_start":794,"line_end":794,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608159,"byte_end":608166,"line_start":794,"line_end":794,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608258,"byte_end":608274,"line_start":801,"line_end":801,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608416,"byte_end":608422,"line_start":805,"line_end":805,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608428,"byte_end":608436,"line_start":805,"line_end":805,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608484,"byte_end":608491,"line_start":806,"line_end":806,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608532,"byte_end":608538,"line_start":807,"line_end":807,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608539,"byte_end":608545,"line_start":807,"line_end":807,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608587,"byte_end":608590,"line_start":808,"line_end":808,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608636,"byte_end":608639,"line_start":809,"line_end":809,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608640,"byte_end":608646,"line_start":809,"line_end":809,"column_start":44,"column_end":50},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608785,"byte_end":608791,"line_start":812,"line_end":812,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608796,"byte_end":608804,"line_start":812,"line_end":812,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608847,"byte_end":608848,"line_start":813,"line_end":813,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744398}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608896,"byte_end":608901,"line_start":814,"line_end":814,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608887,"byte_end":608894,"line_start":814,"line_end":814,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608896,"byte_end":608901,"line_start":814,"line_end":814,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608887,"byte_end":608894,"line_start":814,"line_end":814,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":608962,"byte_end":608966,"line_start":815,"line_end":815,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":608959,"byte_end":608961,"line_start":815,"line_end":815,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091214}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608976,"byte_end":608980,"line_start":815,"line_end":815,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":608967,"byte_end":608974,"line_start":815,"line_end":815,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609132,"byte_end":609134,"line_start":819,"line_end":819,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609197,"byte_end":609206,"line_start":821,"line_end":821,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609212,"byte_end":609215,"line_start":821,"line_end":821,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609263,"byte_end":609268,"line_start":822,"line_end":822,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609255,"byte_end":609262,"line_start":822,"line_end":822,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609318,"byte_end":609323,"line_start":823,"line_end":823,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609310,"byte_end":609317,"line_start":823,"line_end":823,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609365,"byte_end":609371,"line_start":824,"line_end":824,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1730152967}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609411,"byte_end":609417,"line_start":825,"line_end":825,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1461717511}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609457,"byte_end":609467,"line_start":826,"line_end":826,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609507,"byte_end":609513,"line_start":827,"line_end":827,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609553,"byte_end":609557,"line_start":828,"line_end":828,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2574}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609597,"byte_end":609601,"line_start":829,"line_end":829,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609641,"byte_end":609644,"line_start":830,"line_end":830,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1327499783}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609710,"byte_end":609716,"line_start":834,"line_end":834,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609700,"byte_end":609708,"line_start":834,"line_end":834,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609723,"byte_end":609726,"line_start":834,"line_end":834,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609717,"byte_end":609722,"line_start":834,"line_end":834,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609798,"byte_end":609806,"line_start":835,"line_end":835,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609782,"byte_end":609791,"line_start":835,"line_end":835,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609775,"byte_end":609779,"line_start":835,"line_end":835,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609769,"byte_end":609774,"line_start":835,"line_end":835,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609756,"byte_end":609766,"line_start":835,"line_end":835,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609844,"byte_end":609850,"line_start":836,"line_end":836,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609834,"byte_end":609842,"line_start":836,"line_end":836,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609859,"byte_end":609862,"line_start":836,"line_end":836,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":609851,"byte_end":609858,"line_start":836,"line_end":836,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609923,"byte_end":609926,"line_start":839,"line_end":839,"column_start":33,"column_end":36},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":609937,"byte_end":609940,"line_start":839,"line_end":839,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":609927,"byte_end":609935,"line_start":839,"line_end":839,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610045,"byte_end":610050,"line_start":842,"line_end":842,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610043,"byte_end":610044,"line_start":842,"line_end":842,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610024,"byte_end":610040,"line_start":842,"line_end":842,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610114,"byte_end":610124,"line_start":848,"line_end":848,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610286,"byte_end":610290,"line_start":856,"line_end":856,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610280,"byte_end":610285,"line_start":856,"line_end":856,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610291,"byte_end":610292,"line_start":856,"line_end":856,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1772096007}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610332,"byte_end":610333,"line_start":857,"line_end":857,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":1772096007}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610319,"byte_end":610329,"line_start":857,"line_end":857,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610455,"byte_end":610461,"line_start":861,"line_end":861,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610467,"byte_end":610475,"line_start":861,"line_end":861,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610520,"byte_end":610527,"line_start":863,"line_end":863,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610564,"byte_end":610570,"line_start":864,"line_end":864,"column_start":36,"column_end":42},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610571,"byte_end":610577,"line_start":864,"line_end":864,"column_start":43,"column_end":49},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610615,"byte_end":610618,"line_start":865,"line_end":865,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610666,"byte_end":610669,"line_start":866,"line_end":866,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610670,"byte_end":610676,"line_start":866,"line_end":866,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610803,"byte_end":610809,"line_start":869,"line_end":869,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610814,"byte_end":610822,"line_start":869,"line_end":869,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610861,"byte_end":610862,"line_start":870,"line_end":870,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744399}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610906,"byte_end":610911,"line_start":871,"line_end":871,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610897,"byte_end":610904,"line_start":871,"line_end":871,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610906,"byte_end":610911,"line_start":871,"line_end":871,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610897,"byte_end":610904,"line_start":871,"line_end":871,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":610968,"byte_end":610972,"line_start":872,"line_end":872,"column_start":40,"column_end":44},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":610965,"byte_end":610967,"line_start":872,"line_end":872,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":671091215}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610982,"byte_end":610992,"line_start":872,"line_end":872,"column_start":54,"column_end":64},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610973,"byte_end":610980,"line_start":872,"line_end":872,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611000,"byte_end":611003,"line_start":872,"line_end":872,"column_start":72,"column_end":75},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":610993,"byte_end":610998,"line_start":872,"line_end":872,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611084,"byte_end":611094,"line_start":874,"line_end":874,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611075,"byte_end":611082,"line_start":874,"line_end":874,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611084,"byte_end":611094,"line_start":874,"line_end":874,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611075,"byte_end":611082,"line_start":874,"line_end":874,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611192,"byte_end":611197,"line_start":875,"line_end":875,"column_start":81,"column_end":86},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611168,"byte_end":611174,"line_start":875,"line_end":875,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611158,"byte_end":611166,"line_start":875,"line_end":875,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611183,"byte_end":611187,"line_start":875,"line_end":875,"column_start":72,"column_end":76},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611175,"byte_end":611182,"line_start":875,"line_end":875,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":268438031}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611240,"byte_end":611246,"line_start":876,"line_end":876,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611237,"byte_end":611239,"line_start":876,"line_end":876,"column_start":37,"column_end":39},"ref_id":{"krate":0,"index":2483030543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611247,"byte_end":611250,"line_start":876,"line_end":876,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2449476111}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611261,"byte_end":611271,"line_start":876,"line_end":876,"column_start":61,"column_end":71},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611252,"byte_end":611259,"line_start":876,"line_end":876,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611279,"byte_end":611282,"line_start":876,"line_end":876,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611272,"byte_end":611277,"line_start":876,"line_end":876,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611421,"byte_end":611423,"line_start":880,"line_end":880,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611479,"byte_end":611488,"line_start":883,"line_end":883,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611494,"byte_end":611497,"line_start":883,"line_end":883,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611541,"byte_end":611546,"line_start":884,"line_end":884,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611533,"byte_end":611540,"line_start":884,"line_end":884,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611592,"byte_end":611597,"line_start":885,"line_end":885,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611584,"byte_end":611591,"line_start":885,"line_end":885,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611635,"byte_end":611641,"line_start":886,"line_end":886,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3852470791}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611677,"byte_end":611683,"line_start":887,"line_end":887,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":3584035335}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611719,"byte_end":611729,"line_start":888,"line_end":888,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611765,"byte_end":611771,"line_start":889,"line_end":889,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":611807,"byte_end":611811,"line_start":890,"line_end":890,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2575}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":611847,"byte_end":611851,"line_start":891,"line_end":891,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":611887,"byte_end":611890,"line_start":892,"line_end":892,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":3449817607}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612012,"byte_end":612016,"line_start":898,"line_end":898,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612006,"byte_end":612011,"line_start":898,"line_end":898,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612017,"byte_end":612018,"line_start":898,"line_end":898,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2543847943}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612058,"byte_end":612059,"line_start":899,"line_end":899,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2543847943}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612045,"byte_end":612055,"line_start":899,"line_end":899,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612108,"byte_end":612111,"line_start":902,"line_end":902,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612151,"byte_end":612155,"line_start":903,"line_end":903,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612142,"byte_end":612149,"line_start":903,"line_end":903,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612151,"byte_end":612155,"line_start":903,"line_end":903,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612142,"byte_end":612149,"line_start":903,"line_end":903,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612209,"byte_end":612219,"line_start":904,"line_end":904,"column_start":49,"column_end":59},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612200,"byte_end":612207,"line_start":904,"line_end":904,"column_start":40,"column_end":47},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612227,"byte_end":612230,"line_start":904,"line_end":904,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612220,"byte_end":612225,"line_start":904,"line_end":904,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":4072}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612194,"byte_end":612197,"line_start":904,"line_end":904,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612398,"byte_end":612405,"line_start":910,"line_end":910,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":2824866311}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612539,"byte_end":612545,"line_start":913,"line_end":913,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":612551,"byte_end":612559,"line_start":913,"line_end":913,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612607,"byte_end":612614,"line_start":914,"line_end":914,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612655,"byte_end":612661,"line_start":915,"line_end":915,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612662,"byte_end":612668,"line_start":915,"line_end":915,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612710,"byte_end":612713,"line_start":916,"line_end":916,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612765,"byte_end":612768,"line_start":917,"line_end":917,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612769,"byte_end":612775,"line_start":917,"line_end":917,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612914,"byte_end":612920,"line_start":920,"line_end":920,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":612925,"byte_end":612933,"line_start":920,"line_end":920,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":612976,"byte_end":612977,"line_start":921,"line_end":921,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744400}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613025,"byte_end":613030,"line_start":922,"line_end":922,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613016,"byte_end":613023,"line_start":922,"line_end":922,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613025,"byte_end":613030,"line_start":922,"line_end":922,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613016,"byte_end":613023,"line_start":922,"line_end":922,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613091,"byte_end":613095,"line_start":923,"line_end":923,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613088,"byte_end":613090,"line_start":923,"line_end":923,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091216}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613105,"byte_end":613115,"line_start":923,"line_end":923,"column_start":58,"column_end":68},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613096,"byte_end":613103,"line_start":923,"line_end":923,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613123,"byte_end":613126,"line_start":923,"line_end":923,"column_start":76,"column_end":79},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613116,"byte_end":613121,"line_start":923,"line_end":923,"column_start":69,"column_end":74},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613215,"byte_end":613225,"line_start":925,"line_end":925,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613206,"byte_end":613213,"line_start":925,"line_end":925,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613215,"byte_end":613225,"line_start":925,"line_end":925,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613206,"byte_end":613213,"line_start":925,"line_end":925,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613327,"byte_end":613332,"line_start":926,"line_end":926,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613303,"byte_end":613309,"line_start":926,"line_end":926,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613293,"byte_end":613301,"line_start":926,"line_end":926,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613318,"byte_end":613322,"line_start":926,"line_end":926,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613310,"byte_end":613317,"line_start":926,"line_end":926,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438032}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613379,"byte_end":613385,"line_start":927,"line_end":927,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613376,"byte_end":613378,"line_start":927,"line_end":927,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":2483030544}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613386,"byte_end":613389,"line_start":927,"line_end":927,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2449476112}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613400,"byte_end":613410,"line_start":927,"line_end":927,"column_start":65,"column_end":75},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613391,"byte_end":613398,"line_start":927,"line_end":927,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613418,"byte_end":613421,"line_start":927,"line_end":927,"column_start":83,"column_end":86},"ref_id":{"krate":0,"index":2527}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613411,"byte_end":613416,"line_start":927,"line_end":927,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":4072}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":613576,"byte_end":613578,"line_start":931,"line_end":931,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613641,"byte_end":613650,"line_start":933,"line_end":933,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613656,"byte_end":613659,"line_start":933,"line_end":933,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613707,"byte_end":613712,"line_start":934,"line_end":934,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613699,"byte_end":613706,"line_start":934,"line_end":934,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613762,"byte_end":613767,"line_start":935,"line_end":935,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613754,"byte_end":613761,"line_start":935,"line_end":935,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613809,"byte_end":613815,"line_start":936,"line_end":936,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3093301767}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613855,"byte_end":613861,"line_start":937,"line_end":937,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2220886535}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613901,"byte_end":613911,"line_start":938,"line_end":938,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":613951,"byte_end":613957,"line_start":939,"line_end":939,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":613997,"byte_end":614001,"line_start":940,"line_end":940,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2576}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614041,"byte_end":614045,"line_start":941,"line_end":941,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614085,"byte_end":614088,"line_start":942,"line_end":942,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2489321991}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614196,"byte_end":614201,"line_start":947,"line_end":947,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614194,"byte_end":614195,"line_start":947,"line_end":947,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614175,"byte_end":614191,"line_start":947,"line_end":947,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614264,"byte_end":614274,"line_start":952,"line_end":952,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614403,"byte_end":614409,"line_start":959,"line_end":959,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614393,"byte_end":614401,"line_start":959,"line_end":959,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614417,"byte_end":614420,"line_start":959,"line_end":959,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614410,"byte_end":614416,"line_start":959,"line_end":959,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614473,"byte_end":614482,"line_start":960,"line_end":960,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614466,"byte_end":614470,"line_start":960,"line_end":960,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614459,"byte_end":614465,"line_start":960,"line_end":960,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614450,"byte_end":614456,"line_start":960,"line_end":960,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614513,"byte_end":614519,"line_start":961,"line_end":961,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614567,"byte_end":614570,"line_start":962,"line_end":962,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614581,"byte_end":614584,"line_start":962,"line_end":962,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614571,"byte_end":614579,"line_start":962,"line_end":962,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614668,"byte_end":614674,"line_start":965,"line_end":965,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614658,"byte_end":614666,"line_start":965,"line_end":965,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614681,"byte_end":614684,"line_start":965,"line_end":965,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614675,"byte_end":614680,"line_start":965,"line_end":965,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614756,"byte_end":614764,"line_start":966,"line_end":966,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614740,"byte_end":614749,"line_start":966,"line_end":966,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614733,"byte_end":614737,"line_start":966,"line_end":966,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614727,"byte_end":614732,"line_start":966,"line_end":966,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614714,"byte_end":614724,"line_start":966,"line_end":966,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614796,"byte_end":614806,"line_start":968,"line_end":968,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614854,"byte_end":614860,"line_start":969,"line_end":969,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":614844,"byte_end":614852,"line_start":969,"line_end":969,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":614867,"byte_end":614870,"line_start":969,"line_end":969,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":614861,"byte_end":614866,"line_start":969,"line_end":969,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615007,"byte_end":615013,"line_start":972,"line_end":972,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615019,"byte_end":615027,"line_start":972,"line_end":972,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615075,"byte_end":615082,"line_start":973,"line_end":973,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615123,"byte_end":615129,"line_start":974,"line_end":974,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615130,"byte_end":615136,"line_start":974,"line_end":974,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615178,"byte_end":615181,"line_start":975,"line_end":975,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615233,"byte_end":615236,"line_start":976,"line_end":976,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615237,"byte_end":615243,"line_start":976,"line_end":976,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615382,"byte_end":615388,"line_start":979,"line_end":979,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615393,"byte_end":615401,"line_start":979,"line_end":979,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615445,"byte_end":615446,"line_start":981,"line_end":981,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744401}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615494,"byte_end":615504,"line_start":982,"line_end":982,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615485,"byte_end":615492,"line_start":982,"line_end":982,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615494,"byte_end":615504,"line_start":982,"line_end":982,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615485,"byte_end":615492,"line_start":982,"line_end":982,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615606,"byte_end":615611,"line_start":983,"line_end":983,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615582,"byte_end":615588,"line_start":983,"line_end":983,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615572,"byte_end":615580,"line_start":983,"line_end":983,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615597,"byte_end":615601,"line_start":983,"line_end":983,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615589,"byte_end":615596,"line_start":983,"line_end":983,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438033}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615658,"byte_end":615664,"line_start":984,"line_end":984,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615655,"byte_end":615657,"line_start":984,"line_end":984,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091217}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615665,"byte_end":615668,"line_start":984,"line_end":984,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200081}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615679,"byte_end":615683,"line_start":984,"line_end":984,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615670,"byte_end":615677,"line_start":984,"line_end":984,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":615835,"byte_end":615837,"line_start":988,"line_end":988,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615900,"byte_end":615909,"line_start":990,"line_end":990,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615915,"byte_end":615918,"line_start":990,"line_end":990,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":615966,"byte_end":615971,"line_start":991,"line_end":991,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":615958,"byte_end":615965,"line_start":991,"line_end":991,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616021,"byte_end":616026,"line_start":992,"line_end":992,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616013,"byte_end":616020,"line_start":992,"line_end":992,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616068,"byte_end":616074,"line_start":993,"line_end":993,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3210742279}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616114,"byte_end":616120,"line_start":994,"line_end":994,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2162166279}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616160,"byte_end":616170,"line_start":995,"line_end":995,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616210,"byte_end":616216,"line_start":996,"line_end":996,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616256,"byte_end":616260,"line_start":997,"line_end":997,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2577}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616300,"byte_end":616304,"line_start":998,"line_end":998,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616344,"byte_end":616347,"line_start":999,"line_end":999,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2430601735}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616414,"byte_end":616422,"line_start":1002,"line_end":1002,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616402,"byte_end":616408,"line_start":1002,"line_end":1002,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616460,"byte_end":616466,"line_start":1003,"line_end":1003,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616450,"byte_end":616458,"line_start":1003,"line_end":1003,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616475,"byte_end":616478,"line_start":1003,"line_end":1003,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616467,"byte_end":616474,"line_start":1003,"line_end":1003,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616518,"byte_end":616524,"line_start":1004,"line_end":1004,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616508,"byte_end":616516,"line_start":1004,"line_end":1004,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616531,"byte_end":616534,"line_start":1004,"line_end":1004,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616525,"byte_end":616530,"line_start":1004,"line_end":1004,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616606,"byte_end":616614,"line_start":1005,"line_end":1005,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616590,"byte_end":616599,"line_start":1005,"line_end":1005,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616583,"byte_end":616587,"line_start":1005,"line_end":1005,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616577,"byte_end":616582,"line_start":1005,"line_end":1005,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616564,"byte_end":616574,"line_start":1005,"line_end":1005,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616705,"byte_end":616711,"line_start":1010,"line_end":1010,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616695,"byte_end":616703,"line_start":1010,"line_end":1010,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616720,"byte_end":616723,"line_start":1010,"line_end":1010,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616712,"byte_end":616719,"line_start":1010,"line_end":1010,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616778,"byte_end":616787,"line_start":1011,"line_end":1011,"column_start":50,"column_end":59},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616771,"byte_end":616775,"line_start":1011,"line_end":1011,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616763,"byte_end":616770,"line_start":1011,"line_end":1011,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616753,"byte_end":616760,"line_start":1011,"line_end":1011,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616818,"byte_end":616825,"line_start":1012,"line_end":1012,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616874,"byte_end":616877,"line_start":1013,"line_end":1013,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616888,"byte_end":616891,"line_start":1013,"line_end":1013,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616878,"byte_end":616886,"line_start":1013,"line_end":1013,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616975,"byte_end":616981,"line_start":1016,"line_end":1016,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":616965,"byte_end":616973,"line_start":1016,"line_end":1016,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":616988,"byte_end":616991,"line_start":1016,"line_end":1016,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":616982,"byte_end":616987,"line_start":1016,"line_end":1016,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617063,"byte_end":617071,"line_start":1017,"line_end":1017,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617047,"byte_end":617056,"line_start":1017,"line_end":1017,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617040,"byte_end":617044,"line_start":1017,"line_end":1017,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617034,"byte_end":617039,"line_start":1017,"line_end":1017,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617021,"byte_end":617031,"line_start":1017,"line_end":1017,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617103,"byte_end":617113,"line_start":1019,"line_end":1019,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617161,"byte_end":617167,"line_start":1020,"line_end":1020,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617151,"byte_end":617159,"line_start":1020,"line_end":1020,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617174,"byte_end":617177,"line_start":1020,"line_end":1020,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617168,"byte_end":617173,"line_start":1020,"line_end":1020,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617314,"byte_end":617320,"line_start":1023,"line_end":1023,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617326,"byte_end":617334,"line_start":1023,"line_end":1023,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617382,"byte_end":617389,"line_start":1024,"line_end":1024,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617430,"byte_end":617436,"line_start":1025,"line_end":1025,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617437,"byte_end":617443,"line_start":1025,"line_end":1025,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617485,"byte_end":617488,"line_start":1026,"line_end":1026,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617540,"byte_end":617543,"line_start":1027,"line_end":1027,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617544,"byte_end":617550,"line_start":1027,"line_end":1027,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617689,"byte_end":617695,"line_start":1030,"line_end":1030,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617700,"byte_end":617708,"line_start":1030,"line_end":1030,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617752,"byte_end":617753,"line_start":1032,"line_end":1032,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744402}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617801,"byte_end":617811,"line_start":1033,"line_end":1033,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617792,"byte_end":617799,"line_start":1033,"line_end":1033,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617801,"byte_end":617811,"line_start":1033,"line_end":1033,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617792,"byte_end":617799,"line_start":1033,"line_end":1033,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617913,"byte_end":617918,"line_start":1034,"line_end":1034,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617889,"byte_end":617895,"line_start":1034,"line_end":1034,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617879,"byte_end":617887,"line_start":1034,"line_end":1034,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617904,"byte_end":617908,"line_start":1034,"line_end":1034,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617896,"byte_end":617903,"line_start":1034,"line_end":1034,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438034}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":617965,"byte_end":617971,"line_start":1035,"line_end":1035,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617962,"byte_end":617964,"line_start":1035,"line_end":1035,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091218}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":617972,"byte_end":617975,"line_start":1035,"line_end":1035,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617986,"byte_end":617991,"line_start":1035,"line_end":1035,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":617977,"byte_end":617984,"line_start":1035,"line_end":1035,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618143,"byte_end":618145,"line_start":1039,"line_end":1039,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618208,"byte_end":618217,"line_start":1041,"line_end":1041,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618223,"byte_end":618226,"line_start":1041,"line_end":1041,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618274,"byte_end":618279,"line_start":1042,"line_end":1042,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618266,"byte_end":618273,"line_start":1042,"line_end":1042,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618329,"byte_end":618334,"line_start":1043,"line_end":1043,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618321,"byte_end":618328,"line_start":1043,"line_end":1043,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618376,"byte_end":618382,"line_start":1044,"line_end":1044,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":806357511}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618422,"byte_end":618428,"line_start":1045,"line_end":1045,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":135268871}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618468,"byte_end":618478,"line_start":1046,"line_end":1046,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618518,"byte_end":618524,"line_start":1047,"line_end":1047,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618564,"byte_end":618568,"line_start":1048,"line_end":1048,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2578}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618608,"byte_end":618612,"line_start":1049,"line_end":1049,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618652,"byte_end":618655,"line_start":1050,"line_end":1050,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":403704327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618724,"byte_end":618732,"line_start":1054,"line_end":1054,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618711,"byte_end":618718,"line_start":1054,"line_end":1054,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618770,"byte_end":618776,"line_start":1055,"line_end":1055,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618760,"byte_end":618768,"line_start":1055,"line_end":1055,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618785,"byte_end":618788,"line_start":1055,"line_end":1055,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618777,"byte_end":618784,"line_start":1055,"line_end":1055,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618828,"byte_end":618834,"line_start":1056,"line_end":1056,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":618818,"byte_end":618826,"line_start":1056,"line_end":1056,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618841,"byte_end":618844,"line_start":1056,"line_end":1056,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618835,"byte_end":618840,"line_start":1056,"line_end":1056,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618916,"byte_end":618924,"line_start":1057,"line_end":1057,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618900,"byte_end":618909,"line_start":1057,"line_end":1057,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":618893,"byte_end":618897,"line_start":1057,"line_end":1057,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618887,"byte_end":618892,"line_start":1057,"line_end":1057,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":618874,"byte_end":618884,"line_start":1057,"line_end":1057,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619015,"byte_end":619021,"line_start":1062,"line_end":1062,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619005,"byte_end":619013,"line_start":1062,"line_end":1062,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619029,"byte_end":619032,"line_start":1062,"line_end":1062,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619022,"byte_end":619028,"line_start":1062,"line_end":1062,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619085,"byte_end":619094,"line_start":1063,"line_end":1063,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619078,"byte_end":619082,"line_start":1063,"line_end":1063,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619071,"byte_end":619077,"line_start":1063,"line_end":1063,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619062,"byte_end":619068,"line_start":1063,"line_end":1063,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619125,"byte_end":619131,"line_start":1064,"line_end":1064,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619179,"byte_end":619182,"line_start":1065,"line_end":1065,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619193,"byte_end":619196,"line_start":1065,"line_end":1065,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619183,"byte_end":619191,"line_start":1065,"line_end":1065,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619280,"byte_end":619286,"line_start":1068,"line_end":1068,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619270,"byte_end":619278,"line_start":1068,"line_end":1068,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619293,"byte_end":619296,"line_start":1068,"line_end":1068,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619287,"byte_end":619292,"line_start":1068,"line_end":1068,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619368,"byte_end":619376,"line_start":1069,"line_end":1069,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619352,"byte_end":619361,"line_start":1069,"line_end":1069,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619345,"byte_end":619349,"line_start":1069,"line_end":1069,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619339,"byte_end":619344,"line_start":1069,"line_end":1069,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619326,"byte_end":619336,"line_start":1069,"line_end":1069,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619409,"byte_end":619419,"line_start":1072,"line_end":1072,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619467,"byte_end":619473,"line_start":1073,"line_end":1073,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619457,"byte_end":619465,"line_start":1073,"line_end":1073,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619480,"byte_end":619483,"line_start":1073,"line_end":1073,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":619474,"byte_end":619479,"line_start":1073,"line_end":1073,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619620,"byte_end":619626,"line_start":1076,"line_end":1076,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":619632,"byte_end":619640,"line_start":1076,"line_end":1076,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619688,"byte_end":619695,"line_start":1077,"line_end":1077,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619736,"byte_end":619742,"line_start":1078,"line_end":1078,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619743,"byte_end":619749,"line_start":1078,"line_end":1078,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619791,"byte_end":619794,"line_start":1079,"line_end":1079,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619846,"byte_end":619849,"line_start":1080,"line_end":1080,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619850,"byte_end":619856,"line_start":1080,"line_end":1080,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":619995,"byte_end":620001,"line_start":1083,"line_end":1083,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620006,"byte_end":620014,"line_start":1083,"line_end":1083,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620058,"byte_end":620059,"line_start":1085,"line_end":1085,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744403}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620107,"byte_end":620117,"line_start":1086,"line_end":1086,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620098,"byte_end":620105,"line_start":1086,"line_end":1086,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620107,"byte_end":620117,"line_start":1086,"line_end":1086,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620098,"byte_end":620105,"line_start":1086,"line_end":1086,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620219,"byte_end":620224,"line_start":1087,"line_end":1087,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620195,"byte_end":620201,"line_start":1087,"line_end":1087,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620185,"byte_end":620193,"line_start":1087,"line_end":1087,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620210,"byte_end":620214,"line_start":1087,"line_end":1087,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620202,"byte_end":620209,"line_start":1087,"line_end":1087,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438035}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620271,"byte_end":620277,"line_start":1088,"line_end":1088,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620268,"byte_end":620270,"line_start":1088,"line_end":1088,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091219}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620278,"byte_end":620281,"line_start":1088,"line_end":1088,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":738200083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620292,"byte_end":620296,"line_start":1088,"line_end":1088,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620283,"byte_end":620290,"line_start":1088,"line_end":1088,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620448,"byte_end":620450,"line_start":1092,"line_end":1092,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620513,"byte_end":620522,"line_start":1094,"line_end":1094,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620528,"byte_end":620531,"line_start":1094,"line_end":1094,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620579,"byte_end":620584,"line_start":1095,"line_end":1095,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620571,"byte_end":620578,"line_start":1095,"line_end":1095,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620634,"byte_end":620639,"line_start":1096,"line_end":1096,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620626,"byte_end":620633,"line_start":1096,"line_end":1096,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620681,"byte_end":620687,"line_start":1097,"line_end":1097,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3633318407}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620727,"byte_end":620733,"line_start":1098,"line_end":1098,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":4170189319}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620773,"byte_end":620783,"line_start":1099,"line_end":1099,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620823,"byte_end":620829,"line_start":1100,"line_end":1100,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":620869,"byte_end":620873,"line_start":1101,"line_end":1101,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2579}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":620913,"byte_end":620917,"line_start":1102,"line_end":1102,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":620957,"byte_end":620960,"line_start":1103,"line_end":1103,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3834644999}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621027,"byte_end":621035,"line_start":1106,"line_end":1106,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621015,"byte_end":621021,"line_start":1106,"line_end":1106,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621073,"byte_end":621079,"line_start":1107,"line_end":1107,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621063,"byte_end":621071,"line_start":1107,"line_end":1107,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621088,"byte_end":621091,"line_start":1107,"line_end":1107,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621080,"byte_end":621087,"line_start":1107,"line_end":1107,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621131,"byte_end":621137,"line_start":1108,"line_end":1108,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621121,"byte_end":621129,"line_start":1108,"line_end":1108,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621144,"byte_end":621147,"line_start":1108,"line_end":1108,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621138,"byte_end":621143,"line_start":1108,"line_end":1108,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621219,"byte_end":621227,"line_start":1109,"line_end":1109,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621203,"byte_end":621212,"line_start":1109,"line_end":1109,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621196,"byte_end":621200,"line_start":1109,"line_end":1109,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621190,"byte_end":621195,"line_start":1109,"line_end":1109,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621177,"byte_end":621187,"line_start":1109,"line_end":1109,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621318,"byte_end":621324,"line_start":1114,"line_end":1114,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621308,"byte_end":621316,"line_start":1114,"line_end":1114,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621331,"byte_end":621334,"line_start":1114,"line_end":1114,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621325,"byte_end":621330,"line_start":1114,"line_end":1114,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621406,"byte_end":621414,"line_start":1115,"line_end":1115,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621390,"byte_end":621399,"line_start":1115,"line_end":1115,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621383,"byte_end":621387,"line_start":1115,"line_end":1115,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621377,"byte_end":621382,"line_start":1115,"line_end":1115,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621364,"byte_end":621374,"line_start":1115,"line_end":1115,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621446,"byte_end":621456,"line_start":1117,"line_end":1117,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621504,"byte_end":621510,"line_start":1118,"line_end":1118,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621494,"byte_end":621502,"line_start":1118,"line_end":1118,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621517,"byte_end":621520,"line_start":1118,"line_end":1118,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":621511,"byte_end":621516,"line_start":1118,"line_end":1118,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621657,"byte_end":621663,"line_start":1121,"line_end":1121,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":621669,"byte_end":621677,"line_start":1121,"line_end":1121,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621725,"byte_end":621732,"line_start":1122,"line_end":1122,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621777,"byte_end":621783,"line_start":1123,"line_end":1123,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621784,"byte_end":621790,"line_start":1123,"line_end":1123,"column_start":51,"column_end":57},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621832,"byte_end":621835,"line_start":1124,"line_end":1124,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621887,"byte_end":621890,"line_start":1125,"line_end":1125,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":621891,"byte_end":621897,"line_start":1125,"line_end":1125,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622036,"byte_end":622042,"line_start":1128,"line_end":1128,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622047,"byte_end":622055,"line_start":1128,"line_end":1128,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622099,"byte_end":622100,"line_start":1130,"line_end":1130,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744404}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622148,"byte_end":622158,"line_start":1131,"line_end":1131,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622139,"byte_end":622146,"line_start":1131,"line_end":1131,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622148,"byte_end":622158,"line_start":1131,"line_end":1131,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622139,"byte_end":622146,"line_start":1131,"line_end":1131,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622260,"byte_end":622265,"line_start":1132,"line_end":1132,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622236,"byte_end":622242,"line_start":1132,"line_end":1132,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622226,"byte_end":622234,"line_start":1132,"line_end":1132,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622251,"byte_end":622255,"line_start":1132,"line_end":1132,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622243,"byte_end":622250,"line_start":1132,"line_end":1132,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438036}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622335,"byte_end":622341,"line_start":1133,"line_end":1133,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622325,"byte_end":622333,"line_start":1133,"line_end":1133,"column_start":57,"column_end":65},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622342,"byte_end":622347,"line_start":1133,"line_end":1133,"column_start":74,"column_end":79},"ref_id":{"krate":0,"index":536873492}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622401,"byte_end":622407,"line_start":1134,"line_end":1134,"column_start":51,"column_end":57},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622391,"byte_end":622399,"line_start":1134,"line_end":1134,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622414,"byte_end":622417,"line_start":1134,"line_end":1134,"column_start":64,"column_end":67},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622408,"byte_end":622413,"line_start":1134,"line_end":1134,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622484,"byte_end":622493,"line_start":1135,"line_end":1135,"column_start":62,"column_end":71},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622477,"byte_end":622481,"line_start":1135,"line_end":1135,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622471,"byte_end":622476,"line_start":1135,"line_end":1135,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622463,"byte_end":622468,"line_start":1135,"line_end":1135,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622549,"byte_end":622553,"line_start":1136,"line_end":1136,"column_start":53,"column_end":57},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622543,"byte_end":622548,"line_start":1136,"line_end":1136,"column_start":47,"column_end":52},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622605,"byte_end":622609,"line_start":1137,"line_end":1137,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622605,"byte_end":622609,"line_start":1137,"line_end":1137,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622619,"byte_end":622625,"line_start":1137,"line_end":1137,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622616,"byte_end":622618,"line_start":1137,"line_end":1137,"column_start":56,"column_end":58},"ref_id":{"krate":0,"index":671091220}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622626,"byte_end":622629,"line_start":1137,"line_end":1137,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":738200084}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622640,"byte_end":622645,"line_start":1137,"line_end":1137,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622631,"byte_end":622638,"line_start":1137,"line_end":1137,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622651,"byte_end":622659,"line_start":1137,"line_end":1137,"column_start":91,"column_end":99},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622667,"byte_end":622672,"line_start":1137,"line_end":1137,"column_start":107,"column_end":112},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622661,"byte_end":622666,"line_start":1137,"line_end":1137,"column_start":101,"column_end":106},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622725,"byte_end":622729,"line_start":1138,"line_end":1138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622725,"byte_end":622729,"line_start":1138,"line_end":1138,"column_start":45,"column_end":49},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622739,"byte_end":622745,"line_start":1138,"line_end":1138,"column_start":59,"column_end":65},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622736,"byte_end":622738,"line_start":1138,"line_end":1138,"column_start":56,"column_end":58},"ref_id":{"krate":0,"index":671091220}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622746,"byte_end":622749,"line_start":1138,"line_end":1138,"column_start":66,"column_end":69},"ref_id":{"krate":0,"index":738200084}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622760,"byte_end":622767,"line_start":1138,"line_end":1138,"column_start":80,"column_end":87},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622751,"byte_end":622758,"line_start":1138,"line_end":1138,"column_start":71,"column_end":78},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622773,"byte_end":622781,"line_start":1138,"line_end":1138,"column_start":93,"column_end":101},"ref_id":{"krate":1,"index":12199}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":622789,"byte_end":622794,"line_start":1138,"line_end":1138,"column_start":109,"column_end":114},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":622783,"byte_end":622788,"line_start":1138,"line_end":1138,"column_start":103,"column_end":108},"ref_id":{"krate":0,"index":1912605204}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":622994,"byte_end":622996,"line_start":1143,"line_end":1143,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623059,"byte_end":623068,"line_start":1145,"line_end":1145,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623074,"byte_end":623077,"line_start":1145,"line_end":1145,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623125,"byte_end":623130,"line_start":1146,"line_end":1146,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623117,"byte_end":623124,"line_start":1146,"line_end":1146,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623180,"byte_end":623185,"line_start":1147,"line_end":1147,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623172,"byte_end":623179,"line_start":1147,"line_end":1147,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623227,"byte_end":623233,"line_start":1148,"line_end":1148,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1334839815}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623273,"byte_end":623279,"line_start":1149,"line_end":1149,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1871710727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623319,"byte_end":623329,"line_start":1150,"line_end":1150,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623369,"byte_end":623375,"line_start":1151,"line_end":1151,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623415,"byte_end":623419,"line_start":1152,"line_end":1152,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2580}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623459,"byte_end":623463,"line_start":1153,"line_end":1153,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623468,"byte_end":623473,"line_start":1153,"line_end":1153,"column_start":48,"column_end":53},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623464,"byte_end":623467,"line_start":1153,"line_end":1153,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623516,"byte_end":623519,"line_start":1154,"line_end":1154,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2140146183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623583,"byte_end":623591,"line_start":1157,"line_end":1157,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623574,"byte_end":623577,"line_start":1157,"line_end":1157,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623629,"byte_end":623635,"line_start":1158,"line_end":1158,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623619,"byte_end":623627,"line_start":1158,"line_end":1158,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623644,"byte_end":623647,"line_start":1158,"line_end":1158,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623636,"byte_end":623643,"line_start":1158,"line_end":1158,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623687,"byte_end":623693,"line_start":1159,"line_end":1159,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623677,"byte_end":623685,"line_start":1159,"line_end":1159,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623700,"byte_end":623703,"line_start":1159,"line_end":1159,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623694,"byte_end":623699,"line_start":1159,"line_end":1159,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623775,"byte_end":623783,"line_start":1160,"line_end":1160,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623759,"byte_end":623768,"line_start":1160,"line_end":1160,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623752,"byte_end":623756,"line_start":1160,"line_end":1160,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623746,"byte_end":623751,"line_start":1160,"line_end":1160,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623733,"byte_end":623743,"line_start":1160,"line_end":1160,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623873,"byte_end":623879,"line_start":1164,"line_end":1164,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623863,"byte_end":623871,"line_start":1164,"line_end":1164,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623888,"byte_end":623891,"line_start":1164,"line_end":1164,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623880,"byte_end":623887,"line_start":1164,"line_end":1164,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623931,"byte_end":623937,"line_start":1165,"line_end":1165,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623921,"byte_end":623929,"line_start":1165,"line_end":1165,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623944,"byte_end":623947,"line_start":1165,"line_end":1165,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623938,"byte_end":623943,"line_start":1165,"line_end":1165,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":623987,"byte_end":623993,"line_start":1166,"line_end":1166,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":623977,"byte_end":623985,"line_start":1166,"line_end":1166,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624000,"byte_end":624003,"line_start":1166,"line_end":1166,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":623994,"byte_end":623999,"line_start":1166,"line_end":1166,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624075,"byte_end":624083,"line_start":1167,"line_end":1167,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624059,"byte_end":624068,"line_start":1167,"line_end":1167,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624052,"byte_end":624056,"line_start":1167,"line_end":1167,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624046,"byte_end":624051,"line_start":1167,"line_end":1167,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624033,"byte_end":624043,"line_start":1167,"line_end":1167,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624171,"byte_end":624177,"line_start":1171,"line_end":1171,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624161,"byte_end":624169,"line_start":1171,"line_end":1171,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624186,"byte_end":624189,"line_start":1171,"line_end":1171,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624178,"byte_end":624185,"line_start":1171,"line_end":1171,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624229,"byte_end":624235,"line_start":1172,"line_end":1172,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624219,"byte_end":624227,"line_start":1172,"line_end":1172,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624242,"byte_end":624245,"line_start":1172,"line_end":1172,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624236,"byte_end":624241,"line_start":1172,"line_end":1172,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624317,"byte_end":624325,"line_start":1173,"line_end":1173,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624301,"byte_end":624310,"line_start":1173,"line_end":1173,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624294,"byte_end":624298,"line_start":1173,"line_end":1173,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624288,"byte_end":624293,"line_start":1173,"line_end":1173,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624275,"byte_end":624285,"line_start":1173,"line_end":1173,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624406,"byte_end":624411,"line_start":1176,"line_end":1176,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624404,"byte_end":624405,"line_start":1176,"line_end":1176,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624385,"byte_end":624401,"line_start":1176,"line_end":1176,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624473,"byte_end":624483,"line_start":1180,"line_end":1180,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624645,"byte_end":624649,"line_start":1188,"line_end":1188,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624639,"byte_end":624644,"line_start":1188,"line_end":1188,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624650,"byte_end":624651,"line_start":1188,"line_end":1188,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2463107591}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624691,"byte_end":624692,"line_start":1189,"line_end":1189,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2463107591}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624678,"byte_end":624688,"line_start":1189,"line_end":1189,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624732,"byte_end":624737,"line_start":1191,"line_end":1191,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624725,"byte_end":624731,"line_start":1191,"line_end":1191,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624719,"byte_end":624722,"line_start":1191,"line_end":1191,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":301992455}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624775,"byte_end":624781,"line_start":1192,"line_end":1192,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":624765,"byte_end":624773,"line_start":1192,"line_end":1192,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624786,"byte_end":624789,"line_start":1192,"line_end":1192,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624782,"byte_end":624785,"line_start":1192,"line_end":1192,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":301992455}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624828,"byte_end":624832,"line_start":1194,"line_end":1194,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624820,"byte_end":624827,"line_start":1194,"line_end":1194,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624837,"byte_end":624842,"line_start":1194,"line_end":1194,"column_start":42,"column_end":47},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624833,"byte_end":624836,"line_start":1194,"line_end":1194,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":301992455}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":624884,"byte_end":624892,"line_start":1196,"line_end":1196,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624872,"byte_end":624878,"line_start":1196,"line_end":1196,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625003,"byte_end":625008,"line_start":1202,"line_end":1202,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625001,"byte_end":625002,"line_start":1202,"line_end":1202,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":624982,"byte_end":624998,"line_start":1202,"line_end":1202,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625071,"byte_end":625081,"line_start":1207,"line_end":1207,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625210,"byte_end":625216,"line_start":1214,"line_end":1214,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625200,"byte_end":625208,"line_start":1214,"line_end":1214,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625224,"byte_end":625227,"line_start":1214,"line_end":1214,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625217,"byte_end":625223,"line_start":1214,"line_end":1214,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625280,"byte_end":625289,"line_start":1215,"line_end":1215,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625273,"byte_end":625277,"line_start":1215,"line_end":1215,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625266,"byte_end":625272,"line_start":1215,"line_end":1215,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625257,"byte_end":625263,"line_start":1215,"line_end":1215,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625320,"byte_end":625326,"line_start":1216,"line_end":1216,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625374,"byte_end":625377,"line_start":1217,"line_end":1217,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625388,"byte_end":625391,"line_start":1217,"line_end":1217,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625378,"byte_end":625386,"line_start":1217,"line_end":1217,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":625468,"byte_end":625478,"line_start":1220,"line_end":1220,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625620,"byte_end":625626,"line_start":1224,"line_end":1224,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":625632,"byte_end":625640,"line_start":1224,"line_end":1224,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625688,"byte_end":625695,"line_start":1225,"line_end":1225,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625736,"byte_end":625742,"line_start":1226,"line_end":1226,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625743,"byte_end":625749,"line_start":1226,"line_end":1226,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625791,"byte_end":625794,"line_start":1227,"line_end":1227,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625846,"byte_end":625849,"line_start":1228,"line_end":1228,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625850,"byte_end":625856,"line_start":1228,"line_end":1228,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":625995,"byte_end":626001,"line_start":1231,"line_end":1231,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626006,"byte_end":626014,"line_start":1231,"line_end":1231,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626057,"byte_end":626058,"line_start":1232,"line_end":1232,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744405}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626106,"byte_end":626111,"line_start":1233,"line_end":1233,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626097,"byte_end":626104,"line_start":1233,"line_end":1233,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626106,"byte_end":626111,"line_start":1233,"line_end":1233,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626097,"byte_end":626104,"line_start":1233,"line_end":1233,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626172,"byte_end":626176,"line_start":1234,"line_end":1234,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626169,"byte_end":626171,"line_start":1234,"line_end":1234,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091221}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626186,"byte_end":626190,"line_start":1234,"line_end":1234,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626177,"byte_end":626184,"line_start":1234,"line_end":1234,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626276,"byte_end":626286,"line_start":1236,"line_end":1236,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626267,"byte_end":626274,"line_start":1236,"line_end":1236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626276,"byte_end":626286,"line_start":1236,"line_end":1236,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626267,"byte_end":626274,"line_start":1236,"line_end":1236,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626389,"byte_end":626394,"line_start":1238,"line_end":1238,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626365,"byte_end":626371,"line_start":1238,"line_end":1238,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626355,"byte_end":626363,"line_start":1238,"line_end":1238,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626380,"byte_end":626384,"line_start":1238,"line_end":1238,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626372,"byte_end":626379,"line_start":1238,"line_end":1238,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438037}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626442,"byte_end":626448,"line_start":1240,"line_end":1240,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626439,"byte_end":626441,"line_start":1240,"line_end":1240,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336917}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626449,"byte_end":626452,"line_start":1240,"line_end":1240,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782485}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626463,"byte_end":626467,"line_start":1240,"line_end":1240,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":4102}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626454,"byte_end":626461,"line_start":1240,"line_end":1240,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":626620,"byte_end":626622,"line_start":1245,"line_end":1245,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626685,"byte_end":626694,"line_start":1247,"line_end":1247,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626700,"byte_end":626703,"line_start":1247,"line_end":1247,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626751,"byte_end":626756,"line_start":1248,"line_end":1248,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626743,"byte_end":626750,"line_start":1248,"line_end":1248,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":626806,"byte_end":626811,"line_start":1249,"line_end":1249,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626798,"byte_end":626805,"line_start":1249,"line_end":1249,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626853,"byte_end":626859,"line_start":1250,"line_end":1250,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3083864583}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626899,"byte_end":626905,"line_start":1251,"line_end":1251,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2412775943}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626945,"byte_end":626955,"line_start":1252,"line_end":1252,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":626995,"byte_end":627001,"line_start":1253,"line_end":1253,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627041,"byte_end":627045,"line_start":1254,"line_end":1254,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2581}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627085,"byte_end":627089,"line_start":1255,"line_end":1255,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627129,"byte_end":627132,"line_start":1256,"line_end":1256,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2681211399}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627198,"byte_end":627204,"line_start":1260,"line_end":1260,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627188,"byte_end":627196,"line_start":1260,"line_end":1260,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627211,"byte_end":627214,"line_start":1260,"line_end":1260,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627205,"byte_end":627210,"line_start":1260,"line_end":1260,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627286,"byte_end":627294,"line_start":1261,"line_end":1261,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627270,"byte_end":627279,"line_start":1261,"line_end":1261,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627263,"byte_end":627267,"line_start":1261,"line_end":1261,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627257,"byte_end":627262,"line_start":1261,"line_end":1261,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627244,"byte_end":627254,"line_start":1261,"line_end":1261,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627326,"byte_end":627336,"line_start":1263,"line_end":1263,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627384,"byte_end":627390,"line_start":1264,"line_end":1264,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627374,"byte_end":627382,"line_start":1264,"line_end":1264,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627397,"byte_end":627400,"line_start":1264,"line_end":1264,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627391,"byte_end":627396,"line_start":1264,"line_end":1264,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627476,"byte_end":627484,"line_start":1265,"line_end":1265,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627460,"byte_end":627469,"line_start":1265,"line_end":1265,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627453,"byte_end":627457,"line_start":1265,"line_end":1265,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627447,"byte_end":627452,"line_start":1265,"line_end":1265,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627434,"byte_end":627444,"line_start":1265,"line_end":1265,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627526,"byte_end":627532,"line_start":1266,"line_end":1266,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627516,"byte_end":627524,"line_start":1266,"line_end":1266,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627541,"byte_end":627544,"line_start":1266,"line_end":1266,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627533,"byte_end":627540,"line_start":1266,"line_end":1266,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627629,"byte_end":627635,"line_start":1268,"line_end":1268,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627619,"byte_end":627627,"line_start":1268,"line_end":1268,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627644,"byte_end":627647,"line_start":1268,"line_end":1268,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627636,"byte_end":627643,"line_start":1268,"line_end":1268,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627689,"byte_end":627693,"line_start":1269,"line_end":1269,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627681,"byte_end":627688,"line_start":1269,"line_end":1269,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627694,"byte_end":627695,"line_start":1269,"line_end":1269,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":489687559}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627768,"byte_end":627776,"line_start":1272,"line_end":1272,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627756,"byte_end":627762,"line_start":1272,"line_end":1272,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627867,"byte_end":627873,"line_start":1277,"line_end":1277,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":627857,"byte_end":627865,"line_start":1277,"line_end":1277,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627882,"byte_end":627885,"line_start":1277,"line_end":1277,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627874,"byte_end":627881,"line_start":1277,"line_end":1277,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627940,"byte_end":627949,"line_start":1278,"line_end":1278,"column_start":50,"column_end":59},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":627933,"byte_end":627937,"line_start":1278,"line_end":1278,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627925,"byte_end":627932,"line_start":1278,"line_end":1278,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627915,"byte_end":627922,"line_start":1278,"line_end":1278,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":627980,"byte_end":627987,"line_start":1279,"line_end":1279,"column_start":28,"column_end":35},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628036,"byte_end":628039,"line_start":1280,"line_end":1280,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628050,"byte_end":628053,"line_start":1280,"line_end":1280,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628040,"byte_end":628048,"line_start":1280,"line_end":1280,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628130,"byte_end":628140,"line_start":1283,"line_end":1283,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628281,"byte_end":628287,"line_start":1286,"line_end":1286,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628293,"byte_end":628301,"line_start":1286,"line_end":1286,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628349,"byte_end":628356,"line_start":1287,"line_end":1287,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628397,"byte_end":628403,"line_start":1288,"line_end":1288,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628404,"byte_end":628410,"line_start":1288,"line_end":1288,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628452,"byte_end":628455,"line_start":1289,"line_end":1289,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628507,"byte_end":628510,"line_start":1290,"line_end":1290,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628511,"byte_end":628517,"line_start":1290,"line_end":1290,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628656,"byte_end":628662,"line_start":1293,"line_end":1293,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628667,"byte_end":628675,"line_start":1293,"line_end":1293,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628718,"byte_end":628719,"line_start":1294,"line_end":1294,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744406}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628767,"byte_end":628772,"line_start":1295,"line_end":1295,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628758,"byte_end":628765,"line_start":1295,"line_end":1295,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628767,"byte_end":628772,"line_start":1295,"line_end":1295,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628758,"byte_end":628765,"line_start":1295,"line_end":1295,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":628833,"byte_end":628837,"line_start":1296,"line_end":1296,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":628830,"byte_end":628832,"line_start":1296,"line_end":1296,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091222}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628847,"byte_end":628852,"line_start":1296,"line_end":1296,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628838,"byte_end":628845,"line_start":1296,"line_end":1296,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628938,"byte_end":628948,"line_start":1298,"line_end":1298,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628929,"byte_end":628936,"line_start":1298,"line_end":1298,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628938,"byte_end":628948,"line_start":1298,"line_end":1298,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":628929,"byte_end":628936,"line_start":1298,"line_end":1298,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629051,"byte_end":629056,"line_start":1300,"line_end":1300,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629027,"byte_end":629033,"line_start":1300,"line_end":1300,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629017,"byte_end":629025,"line_start":1300,"line_end":1300,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629042,"byte_end":629046,"line_start":1300,"line_end":1300,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629034,"byte_end":629041,"line_start":1300,"line_end":1300,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438038}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629104,"byte_end":629110,"line_start":1302,"line_end":1302,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629101,"byte_end":629103,"line_start":1302,"line_end":1302,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336918}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629111,"byte_end":629114,"line_start":1302,"line_end":1302,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782486}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629125,"byte_end":629130,"line_start":1302,"line_end":1302,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":4100}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629116,"byte_end":629123,"line_start":1302,"line_end":1302,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629283,"byte_end":629285,"line_start":1307,"line_end":1307,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629348,"byte_end":629357,"line_start":1309,"line_end":1309,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629363,"byte_end":629366,"line_start":1309,"line_end":1309,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629414,"byte_end":629419,"line_start":1310,"line_end":1310,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629406,"byte_end":629413,"line_start":1310,"line_end":1310,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629469,"byte_end":629474,"line_start":1311,"line_end":1311,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629461,"byte_end":629468,"line_start":1311,"line_end":1311,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629516,"byte_end":629522,"line_start":1312,"line_end":1312,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1219496455}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629562,"byte_end":629568,"line_start":1313,"line_end":1313,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1756367367}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629608,"byte_end":629618,"line_start":1314,"line_end":1314,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629658,"byte_end":629664,"line_start":1315,"line_end":1315,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629704,"byte_end":629708,"line_start":1316,"line_end":1316,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2582}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629748,"byte_end":629752,"line_start":1317,"line_end":1317,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629792,"byte_end":629795,"line_start":1318,"line_end":1318,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2024802823}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629861,"byte_end":629867,"line_start":1322,"line_end":1322,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":629851,"byte_end":629859,"line_start":1322,"line_end":1322,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629874,"byte_end":629877,"line_start":1322,"line_end":1322,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629868,"byte_end":629873,"line_start":1322,"line_end":1322,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629949,"byte_end":629957,"line_start":1323,"line_end":1323,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629933,"byte_end":629942,"line_start":1323,"line_end":1323,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":629926,"byte_end":629930,"line_start":1323,"line_end":1323,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629920,"byte_end":629925,"line_start":1323,"line_end":1323,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629907,"byte_end":629917,"line_start":1323,"line_end":1323,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":629989,"byte_end":629999,"line_start":1325,"line_end":1325,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630047,"byte_end":630053,"line_start":1326,"line_end":1326,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630037,"byte_end":630045,"line_start":1326,"line_end":1326,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630060,"byte_end":630063,"line_start":1326,"line_end":1326,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630054,"byte_end":630059,"line_start":1326,"line_end":1326,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630139,"byte_end":630147,"line_start":1327,"line_end":1327,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630123,"byte_end":630132,"line_start":1327,"line_end":1327,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630116,"byte_end":630120,"line_start":1327,"line_end":1327,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630110,"byte_end":630115,"line_start":1327,"line_end":1327,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630097,"byte_end":630107,"line_start":1327,"line_end":1327,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630189,"byte_end":630195,"line_start":1328,"line_end":1328,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630179,"byte_end":630187,"line_start":1328,"line_end":1328,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630204,"byte_end":630207,"line_start":1328,"line_end":1328,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630196,"byte_end":630203,"line_start":1328,"line_end":1328,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630292,"byte_end":630298,"line_start":1330,"line_end":1330,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630282,"byte_end":630290,"line_start":1330,"line_end":1330,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630307,"byte_end":630310,"line_start":1330,"line_end":1330,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630299,"byte_end":630306,"line_start":1330,"line_end":1330,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630352,"byte_end":630356,"line_start":1331,"line_end":1331,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630344,"byte_end":630351,"line_start":1331,"line_end":1331,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630357,"byte_end":630358,"line_start":1331,"line_end":1331,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3148876295}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630432,"byte_end":630440,"line_start":1334,"line_end":1334,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630419,"byte_end":630426,"line_start":1334,"line_end":1334,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630531,"byte_end":630537,"line_start":1339,"line_end":1339,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630521,"byte_end":630529,"line_start":1339,"line_end":1339,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630545,"byte_end":630548,"line_start":1339,"line_end":1339,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630538,"byte_end":630544,"line_start":1339,"line_end":1339,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630601,"byte_end":630610,"line_start":1340,"line_end":1340,"column_start":48,"column_end":57},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630594,"byte_end":630598,"line_start":1340,"line_end":1340,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630587,"byte_end":630593,"line_start":1340,"line_end":1340,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630578,"byte_end":630584,"line_start":1340,"line_end":1340,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630641,"byte_end":630647,"line_start":1341,"line_end":1341,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630695,"byte_end":630698,"line_start":1342,"line_end":1342,"column_start":36,"column_end":39},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630709,"byte_end":630712,"line_start":1342,"line_end":1342,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630699,"byte_end":630707,"line_start":1342,"line_end":1342,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":630789,"byte_end":630799,"line_start":1345,"line_end":1345,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":630940,"byte_end":630946,"line_start":1348,"line_end":1348,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":630952,"byte_end":630960,"line_start":1348,"line_end":1348,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631008,"byte_end":631015,"line_start":1349,"line_end":1349,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631056,"byte_end":631062,"line_start":1350,"line_end":1350,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631063,"byte_end":631069,"line_start":1350,"line_end":1350,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631111,"byte_end":631114,"line_start":1351,"line_end":1351,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631166,"byte_end":631169,"line_start":1352,"line_end":1352,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631170,"byte_end":631176,"line_start":1352,"line_end":1352,"column_start":50,"column_end":56},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631315,"byte_end":631321,"line_start":1355,"line_end":1355,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631326,"byte_end":631334,"line_start":1355,"line_end":1355,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631377,"byte_end":631378,"line_start":1356,"line_end":1356,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744407}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631426,"byte_end":631431,"line_start":1357,"line_end":1357,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631417,"byte_end":631424,"line_start":1357,"line_end":1357,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631426,"byte_end":631431,"line_start":1357,"line_end":1357,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631417,"byte_end":631424,"line_start":1357,"line_end":1357,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631492,"byte_end":631496,"line_start":1358,"line_end":1358,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631489,"byte_end":631491,"line_start":1358,"line_end":1358,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091223}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631506,"byte_end":631510,"line_start":1358,"line_end":1358,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631497,"byte_end":631504,"line_start":1358,"line_end":1358,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631596,"byte_end":631606,"line_start":1360,"line_end":1360,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631587,"byte_end":631594,"line_start":1360,"line_end":1360,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631596,"byte_end":631606,"line_start":1360,"line_end":1360,"column_start":46,"column_end":56},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631587,"byte_end":631594,"line_start":1360,"line_end":1360,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631708,"byte_end":631713,"line_start":1361,"line_end":1361,"column_start":85,"column_end":90},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631684,"byte_end":631690,"line_start":1361,"line_end":1361,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631674,"byte_end":631682,"line_start":1361,"line_end":1361,"column_start":51,"column_end":59},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631699,"byte_end":631703,"line_start":1361,"line_end":1361,"column_start":76,"column_end":80},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631691,"byte_end":631698,"line_start":1361,"line_end":1361,"column_start":68,"column_end":75},"ref_id":{"krate":0,"index":268438039}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":631760,"byte_end":631766,"line_start":1362,"line_end":1362,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631757,"byte_end":631759,"line_start":1362,"line_end":1362,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":3288336919}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":631767,"byte_end":631770,"line_start":1362,"line_end":1362,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":3254782487}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631781,"byte_end":631785,"line_start":1362,"line_end":1362,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631772,"byte_end":631779,"line_start":1362,"line_end":1362,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":631937,"byte_end":631939,"line_start":1366,"line_end":1366,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632012,"byte_end":632018,"line_start":1368,"line_end":1368,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632002,"byte_end":632010,"line_start":1368,"line_end":1368,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632025,"byte_end":632028,"line_start":1368,"line_end":1368,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632019,"byte_end":632024,"line_start":1368,"line_end":1368,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632062,"byte_end":632071,"line_start":1369,"line_end":1369,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632077,"byte_end":632080,"line_start":1369,"line_end":1369,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632128,"byte_end":632133,"line_start":1370,"line_end":1370,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632120,"byte_end":632127,"line_start":1370,"line_end":1370,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632183,"byte_end":632188,"line_start":1371,"line_end":1371,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632175,"byte_end":632182,"line_start":1371,"line_end":1371,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632230,"byte_end":632236,"line_start":1372,"line_end":1372,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3966765575}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632276,"byte_end":632282,"line_start":1373,"line_end":1373,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":3698330119}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632322,"byte_end":632332,"line_start":1374,"line_end":1374,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632372,"byte_end":632378,"line_start":1375,"line_end":1375,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632418,"byte_end":632422,"line_start":1376,"line_end":1376,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632462,"byte_end":632466,"line_start":1377,"line_end":1377,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632506,"byte_end":632509,"line_start":1378,"line_end":1378,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":3262122503}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632607,"byte_end":632615,"line_start":1382,"line_end":1382,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632591,"byte_end":632600,"line_start":1382,"line_end":1382,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632584,"byte_end":632588,"line_start":1382,"line_end":1382,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632578,"byte_end":632583,"line_start":1382,"line_end":1382,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632565,"byte_end":632575,"line_start":1382,"line_end":1382,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632647,"byte_end":632657,"line_start":1384,"line_end":1384,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632705,"byte_end":632711,"line_start":1385,"line_end":1385,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632695,"byte_end":632703,"line_start":1385,"line_end":1385,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632718,"byte_end":632721,"line_start":1385,"line_end":1385,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632712,"byte_end":632717,"line_start":1385,"line_end":1385,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632797,"byte_end":632805,"line_start":1386,"line_end":1386,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632781,"byte_end":632790,"line_start":1386,"line_end":1386,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632774,"byte_end":632778,"line_start":1386,"line_end":1386,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632768,"byte_end":632773,"line_start":1386,"line_end":1386,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632755,"byte_end":632765,"line_start":1386,"line_end":1386,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632847,"byte_end":632853,"line_start":1387,"line_end":1387,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632837,"byte_end":632845,"line_start":1387,"line_end":1387,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632862,"byte_end":632865,"line_start":1387,"line_end":1387,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632854,"byte_end":632861,"line_start":1387,"line_end":1387,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632950,"byte_end":632956,"line_start":1389,"line_end":1389,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":632940,"byte_end":632948,"line_start":1389,"line_end":1389,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":632965,"byte_end":632968,"line_start":1389,"line_end":1389,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":632957,"byte_end":632964,"line_start":1389,"line_end":1389,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633010,"byte_end":633014,"line_start":1390,"line_end":1390,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633002,"byte_end":633009,"line_start":1390,"line_end":1390,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633015,"byte_end":633016,"line_start":1390,"line_end":1390,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":1089473031}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633088,"byte_end":633096,"line_start":1392,"line_end":1392,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633076,"byte_end":633082,"line_start":1392,"line_end":1392,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633194,"byte_end":633200,"line_start":1396,"line_end":1396,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633184,"byte_end":633192,"line_start":1396,"line_end":1396,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633209,"byte_end":633212,"line_start":1396,"line_end":1396,"column_start":58,"column_end":61},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633201,"byte_end":633208,"line_start":1396,"line_end":1396,"column_start":50,"column_end":57},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633250,"byte_end":633254,"line_start":1397,"line_end":1397,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633242,"byte_end":633249,"line_start":1397,"line_end":1397,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633255,"byte_end":633256,"line_start":1397,"line_end":1397,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3975154183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633293,"byte_end":633309,"line_start":1398,"line_end":1398,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633320,"byte_end":633336,"line_start":1398,"line_end":1398,"column_start":55,"column_end":71},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633477,"byte_end":633483,"line_start":1401,"line_end":1401,"column_start":38,"column_end":44},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":633489,"byte_end":633497,"line_start":1401,"line_end":1401,"column_start":50,"column_end":58},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633545,"byte_end":633552,"line_start":1402,"line_end":1402,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633593,"byte_end":633599,"line_start":1403,"line_end":1403,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633600,"byte_end":633606,"line_start":1403,"line_end":1403,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633648,"byte_end":633651,"line_start":1404,"line_end":1404,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633697,"byte_end":633700,"line_start":1405,"line_end":1405,"column_start":40,"column_end":43},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633701,"byte_end":633707,"line_start":1405,"line_end":1405,"column_start":44,"column_end":50},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633846,"byte_end":633852,"line_start":1408,"line_end":1408,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633857,"byte_end":633865,"line_start":1408,"line_end":1408,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":633908,"byte_end":633909,"line_start":1409,"line_end":1409,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":1073744408}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633957,"byte_end":633962,"line_start":1410,"line_end":1410,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633948,"byte_end":633955,"line_start":1410,"line_end":1410,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633957,"byte_end":633962,"line_start":1410,"line_end":1410,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":633948,"byte_end":633955,"line_start":1410,"line_end":1410,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634023,"byte_end":634027,"line_start":1411,"line_end":1411,"column_start":44,"column_end":48},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634020,"byte_end":634022,"line_start":1411,"line_end":1411,"column_start":41,"column_end":43},"ref_id":{"krate":0,"index":671091224}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634037,"byte_end":634041,"line_start":1411,"line_end":1411,"column_start":58,"column_end":62},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634028,"byte_end":634035,"line_start":1411,"line_end":1411,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634193,"byte_end":634195,"line_start":1415,"line_end":1415,"column_start":33,"column_end":35},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634258,"byte_end":634267,"line_start":1417,"line_end":1417,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634273,"byte_end":634276,"line_start":1417,"line_end":1417,"column_start":44,"column_end":47},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634324,"byte_end":634329,"line_start":1418,"line_end":1418,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634316,"byte_end":634323,"line_start":1418,"line_end":1418,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634379,"byte_end":634384,"line_start":1419,"line_end":1419,"column_start":47,"column_end":52},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634371,"byte_end":634378,"line_start":1419,"line_end":1419,"column_start":39,"column_end":46},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634426,"byte_end":634432,"line_start":1420,"line_end":1420,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1928333831}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634472,"byte_end":634478,"line_start":1421,"line_end":1421,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":1257245191}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634518,"byte_end":634528,"line_start":1422,"line_end":1422,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634568,"byte_end":634574,"line_start":1423,"line_end":1423,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634614,"byte_end":634618,"line_start":1424,"line_end":1424,"column_start":39,"column_end":43},"ref_id":{"krate":0,"index":2584}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634658,"byte_end":634662,"line_start":1425,"line_end":1425,"column_start":39,"column_end":43},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":634702,"byte_end":634705,"line_start":1426,"line_end":1426,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":1525680647}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634907,"byte_end":634913,"line_start":1434,"line_end":1434,"column_start":34,"column_end":40},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":634919,"byte_end":634927,"line_start":1434,"line_end":1434,"column_start":46,"column_end":54},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":634971,"byte_end":634978,"line_start":1435,"line_end":1435,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635019,"byte_end":635025,"line_start":1436,"line_end":1436,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635026,"byte_end":635032,"line_start":1436,"line_end":1436,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635070,"byte_end":635073,"line_start":1437,"line_end":1437,"column_start":36,"column_end":39},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635121,"byte_end":635124,"line_start":1438,"line_end":1438,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635125,"byte_end":635131,"line_start":1438,"line_end":1438,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635258,"byte_end":635264,"line_start":1441,"line_end":1441,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635269,"byte_end":635277,"line_start":1441,"line_end":1441,"column_start":56,"column_end":64},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635316,"byte_end":635317,"line_start":1442,"line_end":1442,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1073744409}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635361,"byte_end":635366,"line_start":1443,"line_end":1443,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635352,"byte_end":635359,"line_start":1443,"line_end":1443,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635361,"byte_end":635366,"line_start":1443,"line_end":1443,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635352,"byte_end":635359,"line_start":1443,"line_end":1443,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635463,"byte_end":635468,"line_start":1444,"line_end":1444,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635448,"byte_end":635454,"line_start":1444,"line_end":1444,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635438,"byte_end":635446,"line_start":1444,"line_end":1444,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635455,"byte_end":635460,"line_start":1444,"line_end":1444,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873497}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635518,"byte_end":635524,"line_start":1445,"line_end":1445,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635508,"byte_end":635516,"line_start":1445,"line_end":1445,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635533,"byte_end":635536,"line_start":1445,"line_end":1445,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635525,"byte_end":635532,"line_start":1445,"line_end":1445,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635603,"byte_end":635612,"line_start":1446,"line_end":1446,"column_start":62,"column_end":71},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635596,"byte_end":635600,"line_start":1446,"line_end":1446,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635588,"byte_end":635595,"line_start":1446,"line_end":1446,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635578,"byte_end":635585,"line_start":1446,"line_end":1446,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635667,"byte_end":635671,"line_start":1448,"line_end":1448,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635659,"byte_end":635666,"line_start":1448,"line_end":1448,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635719,"byte_end":635723,"line_start":1449,"line_end":1449,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635719,"byte_end":635723,"line_start":1449,"line_end":1449,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635779,"byte_end":635783,"line_start":1450,"line_end":1450,"column_start":48,"column_end":52},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635776,"byte_end":635778,"line_start":1450,"line_end":1450,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091225}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635793,"byte_end":635798,"line_start":1450,"line_end":1450,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635784,"byte_end":635791,"line_start":1450,"line_end":1450,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635804,"byte_end":635812,"line_start":1450,"line_end":1450,"column_start":73,"column_end":81},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635814,"byte_end":635821,"line_start":1450,"line_end":1450,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635908,"byte_end":635912,"line_start":1452,"line_end":1452,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635908,"byte_end":635912,"line_start":1452,"line_end":1452,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635965,"byte_end":635969,"line_start":1453,"line_end":1453,"column_start":48,"column_end":52},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":635962,"byte_end":635964,"line_start":1453,"line_end":1453,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091225}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635979,"byte_end":635986,"line_start":1453,"line_end":1453,"column_start":62,"column_end":69},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":635970,"byte_end":635977,"line_start":1453,"line_end":1453,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":635992,"byte_end":636000,"line_start":1453,"line_end":1453,"column_start":75,"column_end":83},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636002,"byte_end":636009,"line_start":1453,"line_end":1453,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":1275071001}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636171,"byte_end":636181,"line_start":1458,"line_end":1458,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636162,"byte_end":636169,"line_start":1458,"line_end":1458,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636171,"byte_end":636181,"line_start":1458,"line_end":1458,"column_start":42,"column_end":52},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636162,"byte_end":636169,"line_start":1458,"line_end":1458,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636280,"byte_end":636285,"line_start":1460,"line_end":1460,"column_start":81,"column_end":86},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636256,"byte_end":636262,"line_start":1460,"line_end":1460,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636246,"byte_end":636254,"line_start":1460,"line_end":1460,"column_start":47,"column_end":55},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636271,"byte_end":636275,"line_start":1460,"line_end":1460,"column_start":72,"column_end":76},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636263,"byte_end":636270,"line_start":1460,"line_end":1460,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":268438041}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636369,"byte_end":636374,"line_start":1462,"line_end":1462,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636354,"byte_end":636360,"line_start":1462,"line_end":1462,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636344,"byte_end":636352,"line_start":1462,"line_end":1462,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636361,"byte_end":636366,"line_start":1462,"line_end":1462,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":536873497}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636424,"byte_end":636430,"line_start":1463,"line_end":1463,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636414,"byte_end":636422,"line_start":1463,"line_end":1463,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636439,"byte_end":636442,"line_start":1463,"line_end":1463,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636431,"byte_end":636438,"line_start":1463,"line_end":1463,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":385878553}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636509,"byte_end":636518,"line_start":1464,"line_end":1464,"column_start":62,"column_end":71},"ref_id":{"krate":5,"index":5743}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636502,"byte_end":636506,"line_start":1464,"line_end":1464,"column_start":55,"column_end":59},"ref_id":{"krate":1,"index":12708}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636494,"byte_end":636501,"line_start":1464,"line_end":1464,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":385878553}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636484,"byte_end":636491,"line_start":1464,"line_end":1464,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":385878553}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636573,"byte_end":636577,"line_start":1466,"line_end":1466,"column_start":51,"column_end":55},"ref_id":{"krate":1,"index":12661}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636565,"byte_end":636572,"line_start":1466,"line_end":1466,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":385878553}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636625,"byte_end":636629,"line_start":1467,"line_end":1467,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636625,"byte_end":636629,"line_start":1467,"line_end":1467,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636685,"byte_end":636691,"line_start":1468,"line_end":1468,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636682,"byte_end":636684,"line_start":1468,"line_end":1468,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":889195033}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636692,"byte_end":636695,"line_start":1468,"line_end":1468,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":855640601}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636760,"byte_end":636765,"line_start":1469,"line_end":1469,"column_start":64,"column_end":69},"ref_id":{"krate":0,"index":4089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636751,"byte_end":636758,"line_start":1469,"line_end":1469,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636771,"byte_end":636779,"line_start":1469,"line_end":1469,"column_start":75,"column_end":83},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636781,"byte_end":636788,"line_start":1469,"line_end":1469,"column_start":85,"column_end":92},"ref_id":{"krate":0,"index":385878553}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636875,"byte_end":636879,"line_start":1471,"line_end":1471,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636875,"byte_end":636879,"line_start":1471,"line_end":1471,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":636932,"byte_end":636938,"line_start":1472,"line_end":1472,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636929,"byte_end":636931,"line_start":1472,"line_end":1472,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":889195033}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":636939,"byte_end":636942,"line_start":1472,"line_end":1472,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":855640601}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637007,"byte_end":637014,"line_start":1473,"line_end":1473,"column_start":64,"column_end":71},"ref_id":{"krate":0,"index":4086}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":636998,"byte_end":637005,"line_start":1473,"line_end":1473,"column_start":55,"column_end":62},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637020,"byte_end":637028,"line_start":1473,"line_end":1473,"column_start":77,"column_end":85},"ref_id":{"krate":1,"index":12199}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637030,"byte_end":637037,"line_start":1473,"line_end":1473,"column_start":87,"column_end":94},"ref_id":{"krate":0,"index":385878553}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637258,"byte_end":637260,"line_start":1481,"line_end":1481,"column_start":29,"column_end":31},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637315,"byte_end":637324,"line_start":1483,"line_end":1483,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637330,"byte_end":637333,"line_start":1483,"line_end":1483,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637377,"byte_end":637382,"line_start":1484,"line_end":1484,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637369,"byte_end":637376,"line_start":1484,"line_end":1484,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637428,"byte_end":637433,"line_start":1485,"line_end":1485,"column_start":43,"column_end":48},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637420,"byte_end":637427,"line_start":1485,"line_end":1485,"column_start":35,"column_end":42},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637471,"byte_end":637477,"line_start":1486,"line_end":1486,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":703597063}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637513,"byte_end":637519,"line_start":1487,"line_end":1487,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":435161607}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637555,"byte_end":637565,"line_start":1488,"line_end":1488,"column_start":35,"column_end":45},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637601,"byte_end":637607,"line_start":1489,"line_end":1489,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637643,"byte_end":637647,"line_start":1490,"line_end":1490,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":2585}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637683,"byte_end":637687,"line_start":1491,"line_end":1491,"column_start":35,"column_end":39},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637688,"byte_end":637691,"line_start":1491,"line_end":1491,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637728,"byte_end":637731,"line_start":1492,"line_end":1492,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":99617287}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637769,"byte_end":637777,"line_start":1494,"line_end":1494,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637760,"byte_end":637763,"line_start":1494,"line_end":1494,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637815,"byte_end":637821,"line_start":1495,"line_end":1495,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637805,"byte_end":637813,"line_start":1495,"line_end":1495,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637828,"byte_end":637831,"line_start":1495,"line_end":1495,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637822,"byte_end":637827,"line_start":1495,"line_end":1495,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637903,"byte_end":637911,"line_start":1496,"line_end":1496,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637887,"byte_end":637896,"line_start":1496,"line_end":1496,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":637880,"byte_end":637884,"line_start":1496,"line_end":1496,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637874,"byte_end":637879,"line_start":1496,"line_end":1496,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637861,"byte_end":637871,"line_start":1496,"line_end":1496,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":637943,"byte_end":637953,"line_start":1498,"line_end":1498,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638001,"byte_end":638007,"line_start":1499,"line_end":1499,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":637991,"byte_end":637999,"line_start":1499,"line_end":1499,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638014,"byte_end":638017,"line_start":1499,"line_end":1499,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638008,"byte_end":638013,"line_start":1499,"line_end":1499,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638093,"byte_end":638101,"line_start":1500,"line_end":1500,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638077,"byte_end":638086,"line_start":1500,"line_end":1500,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638070,"byte_end":638074,"line_start":1500,"line_end":1500,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638064,"byte_end":638069,"line_start":1500,"line_end":1500,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638051,"byte_end":638061,"line_start":1500,"line_end":1500,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638143,"byte_end":638149,"line_start":1501,"line_end":1501,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638133,"byte_end":638141,"line_start":1501,"line_end":1501,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638158,"byte_end":638161,"line_start":1501,"line_end":1501,"column_start":54,"column_end":57},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638150,"byte_end":638157,"line_start":1501,"line_end":1501,"column_start":46,"column_end":53},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638246,"byte_end":638252,"line_start":1503,"line_end":1503,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638236,"byte_end":638244,"line_start":1503,"line_end":1503,"column_start":37,"column_end":45},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638261,"byte_end":638264,"line_start":1503,"line_end":1503,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638253,"byte_end":638260,"line_start":1503,"line_end":1503,"column_start":54,"column_end":61},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638306,"byte_end":638310,"line_start":1504,"line_end":1504,"column_start":37,"column_end":41},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638298,"byte_end":638305,"line_start":1504,"line_end":1504,"column_start":29,"column_end":36},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638311,"byte_end":638312,"line_start":1504,"line_end":1504,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2785544711}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638435,"byte_end":638441,"line_start":1510,"line_end":1510,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638425,"byte_end":638433,"line_start":1510,"line_end":1510,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638448,"byte_end":638451,"line_start":1510,"line_end":1510,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638442,"byte_end":638447,"line_start":1510,"line_end":1510,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638523,"byte_end":638531,"line_start":1511,"line_end":1511,"column_start":67,"column_end":75},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638507,"byte_end":638516,"line_start":1511,"line_end":1511,"column_start":51,"column_end":60},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638500,"byte_end":638504,"line_start":1511,"line_end":1511,"column_start":44,"column_end":48},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638494,"byte_end":638499,"line_start":1511,"line_end":1511,"column_start":38,"column_end":43},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638481,"byte_end":638491,"line_start":1511,"line_end":1511,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638569,"byte_end":638575,"line_start":1512,"line_end":1512,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638559,"byte_end":638567,"line_start":1512,"line_end":1512,"column_start":25,"column_end":33},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638584,"byte_end":638587,"line_start":1512,"line_end":1512,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638576,"byte_end":638583,"line_start":1512,"line_end":1512,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638699,"byte_end":638704,"line_start":1517,"line_end":1517,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638697,"byte_end":638698,"line_start":1517,"line_end":1517,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638678,"byte_end":638694,"line_start":1517,"line_end":1517,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638769,"byte_end":638779,"line_start":1524,"line_end":1524,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638839,"byte_end":638845,"line_start":1527,"line_end":1527,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638895,"byte_end":638901,"line_start":1529,"line_end":1529,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":638885,"byte_end":638893,"line_start":1529,"line_end":1529,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638908,"byte_end":638911,"line_start":1529,"line_end":1529,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638902,"byte_end":638907,"line_start":1529,"line_end":1529,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638987,"byte_end":638995,"line_start":1530,"line_end":1530,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638971,"byte_end":638980,"line_start":1530,"line_end":1530,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":638964,"byte_end":638968,"line_start":1530,"line_end":1530,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638958,"byte_end":638963,"line_start":1530,"line_end":1530,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":638945,"byte_end":638955,"line_start":1530,"line_end":1530,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639031,"byte_end":639041,"line_start":1532,"line_end":1532,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639195,"byte_end":639201,"line_start":1536,"line_end":1536,"column_start":42,"column_end":48},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639207,"byte_end":639215,"line_start":1536,"line_end":1536,"column_start":54,"column_end":62},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639267,"byte_end":639274,"line_start":1537,"line_end":1537,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639323,"byte_end":639329,"line_start":1538,"line_end":1538,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639330,"byte_end":639336,"line_start":1538,"line_end":1538,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639382,"byte_end":639385,"line_start":1539,"line_end":1539,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639441,"byte_end":639444,"line_start":1540,"line_end":1540,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639445,"byte_end":639451,"line_start":1540,"line_end":1540,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639602,"byte_end":639608,"line_start":1543,"line_end":1543,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639613,"byte_end":639621,"line_start":1543,"line_end":1543,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639669,"byte_end":639670,"line_start":1545,"line_end":1545,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1073744410}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639722,"byte_end":639732,"line_start":1546,"line_end":1546,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639713,"byte_end":639720,"line_start":1546,"line_end":1546,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639722,"byte_end":639732,"line_start":1546,"line_end":1546,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639713,"byte_end":639720,"line_start":1546,"line_end":1546,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639838,"byte_end":639843,"line_start":1547,"line_end":1547,"column_start":89,"column_end":94},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639814,"byte_end":639820,"line_start":1547,"line_end":1547,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639804,"byte_end":639812,"line_start":1547,"line_end":1547,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639829,"byte_end":639833,"line_start":1547,"line_end":1547,"column_start":80,"column_end":84},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639821,"byte_end":639828,"line_start":1547,"line_end":1547,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":268438042}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639917,"byte_end":639923,"line_start":1548,"line_end":1548,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639907,"byte_end":639915,"line_start":1548,"line_end":1548,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639924,"byte_end":639929,"line_start":1548,"line_end":1548,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":536873498}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":639987,"byte_end":639993,"line_start":1549,"line_end":1549,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":639977,"byte_end":639985,"line_start":1549,"line_end":1549,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640000,"byte_end":640003,"line_start":1549,"line_end":1549,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":639994,"byte_end":639999,"line_start":1549,"line_end":1549,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1912605210}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640056,"byte_end":640062,"line_start":1550,"line_end":1550,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640053,"byte_end":640055,"line_start":1550,"line_end":1550,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091226}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640063,"byte_end":640066,"line_start":1550,"line_end":1550,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":738200090}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640077,"byte_end":640083,"line_start":1550,"line_end":1550,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640068,"byte_end":640075,"line_start":1550,"line_end":1550,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640090,"byte_end":640095,"line_start":1550,"line_end":1550,"column_start":82,"column_end":87},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640084,"byte_end":640089,"line_start":1550,"line_end":1550,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1912605210}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640266,"byte_end":640268,"line_start":1554,"line_end":1554,"column_start":37,"column_end":39},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640339,"byte_end":640348,"line_start":1556,"line_end":1556,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640354,"byte_end":640357,"line_start":1556,"line_end":1556,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640409,"byte_end":640414,"line_start":1557,"line_end":1557,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640401,"byte_end":640408,"line_start":1557,"line_end":1557,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640468,"byte_end":640473,"line_start":1558,"line_end":1558,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640460,"byte_end":640467,"line_start":1558,"line_end":1558,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640519,"byte_end":640525,"line_start":1559,"line_end":1559,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":277350919}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640569,"byte_end":640575,"line_start":1560,"line_end":1560,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":814221831}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640619,"byte_end":640629,"line_start":1561,"line_end":1561,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640673,"byte_end":640679,"line_start":1562,"line_end":1562,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640723,"byte_end":640727,"line_start":1563,"line_end":1563,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2586}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640771,"byte_end":640775,"line_start":1564,"line_end":1564,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640783,"byte_end":640788,"line_start":1564,"line_end":1564,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640776,"byte_end":640782,"line_start":1564,"line_end":1564,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640835,"byte_end":640838,"line_start":1565,"line_end":1565,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":680004103}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640886,"byte_end":640894,"line_start":1566,"line_end":1566,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640874,"byte_end":640880,"line_start":1566,"line_end":1566,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":640936,"byte_end":640946,"line_start":1567,"line_end":1567,"column_start":39,"column_end":49},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":640998,"byte_end":641004,"line_start":1568,"line_end":1568,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":640988,"byte_end":640996,"line_start":1568,"line_end":1568,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641012,"byte_end":641015,"line_start":1568,"line_end":1568,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641005,"byte_end":641011,"line_start":1568,"line_end":1568,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641074,"byte_end":641077,"line_start":1569,"line_end":1569,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641125,"byte_end":641129,"line_start":1570,"line_end":1570,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641116,"byte_end":641123,"line_start":1570,"line_end":1570,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641125,"byte_end":641129,"line_start":1570,"line_end":1570,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641116,"byte_end":641123,"line_start":1570,"line_end":1570,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641191,"byte_end":641197,"line_start":1571,"line_end":1571,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641182,"byte_end":641189,"line_start":1571,"line_end":1571,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641205,"byte_end":641210,"line_start":1571,"line_end":1571,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641198,"byte_end":641204,"line_start":1571,"line_end":1571,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641176,"byte_end":641179,"line_start":1571,"line_end":1571,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":641418,"byte_end":641425,"line_start":1577,"line_end":1577,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":2978482695}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641583,"byte_end":641589,"line_start":1580,"line_end":1580,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":641595,"byte_end":641603,"line_start":1580,"line_end":1580,"column_start":58,"column_end":66},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641659,"byte_end":641666,"line_start":1581,"line_end":1581,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641719,"byte_end":641725,"line_start":1582,"line_end":1582,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641726,"byte_end":641732,"line_start":1582,"line_end":1582,"column_start":59,"column_end":65},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641782,"byte_end":641785,"line_start":1583,"line_end":1583,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641839,"byte_end":641842,"line_start":1584,"line_end":1584,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":641843,"byte_end":641849,"line_start":1584,"line_end":1584,"column_start":52,"column_end":58},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642012,"byte_end":642018,"line_start":1587,"line_end":1587,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642023,"byte_end":642031,"line_start":1587,"line_end":1587,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642082,"byte_end":642083,"line_start":1588,"line_end":1588,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":1073744411}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642139,"byte_end":642144,"line_start":1589,"line_end":1589,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642130,"byte_end":642137,"line_start":1589,"line_end":1589,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642139,"byte_end":642144,"line_start":1589,"line_end":1589,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642130,"byte_end":642137,"line_start":1589,"line_end":1589,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642213,"byte_end":642217,"line_start":1590,"line_end":1590,"column_start":52,"column_end":56},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642210,"byte_end":642212,"line_start":1590,"line_end":1590,"column_start":49,"column_end":51},"ref_id":{"krate":0,"index":671091227}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642227,"byte_end":642233,"line_start":1590,"line_end":1590,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642218,"byte_end":642225,"line_start":1590,"line_end":1590,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642338,"byte_end":642343,"line_start":1591,"line_end":1591,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642244,"byte_end":642250,"line_start":1590,"line_end":1590,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642234,"byte_end":642242,"line_start":1590,"line_end":1590,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642251,"byte_end":642256,"line_start":1590,"line_end":1590,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":536873499}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":642530,"byte_end":642532,"line_start":1595,"line_end":1595,"column_start":41,"column_end":43},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642611,"byte_end":642620,"line_start":1597,"line_end":1597,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642626,"byte_end":642629,"line_start":1597,"line_end":1597,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642685,"byte_end":642690,"line_start":1598,"line_end":1598,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642677,"byte_end":642684,"line_start":1598,"line_end":1598,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":642748,"byte_end":642753,"line_start":1599,"line_end":1599,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642740,"byte_end":642747,"line_start":1599,"line_end":1599,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642803,"byte_end":642809,"line_start":1600,"line_end":1600,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2844264967}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642857,"byte_end":642863,"line_start":1601,"line_end":1601,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2575829511}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642911,"byte_end":642921,"line_start":1602,"line_end":1602,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":642969,"byte_end":642975,"line_start":1603,"line_end":1603,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643023,"byte_end":643027,"line_start":1604,"line_end":1604,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2587}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":643075,"byte_end":643079,"line_start":1605,"line_end":1605,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643080,"byte_end":643086,"line_start":1605,"line_end":1605,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643135,"byte_end":643138,"line_start":1606,"line_end":1606,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2240285191}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643220,"byte_end":643228,"line_start":1608,"line_end":1608,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643208,"byte_end":643214,"line_start":1608,"line_end":1608,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643405,"byte_end":643409,"line_start":1615,"line_end":1615,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643399,"byte_end":643404,"line_start":1615,"line_end":1615,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643410,"byte_end":643411,"line_start":1615,"line_end":1615,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":931662343}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643451,"byte_end":643452,"line_start":1616,"line_end":1616,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":931662343}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643438,"byte_end":643448,"line_start":1616,"line_end":1616,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643490,"byte_end":643498,"line_start":1617,"line_end":1617,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643478,"byte_end":643484,"line_start":1617,"line_end":1617,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643580,"byte_end":643585,"line_start":1621,"line_end":1621,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643578,"byte_end":643579,"line_start":1621,"line_end":1621,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643559,"byte_end":643575,"line_start":1621,"line_end":1621,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643648,"byte_end":643658,"line_start":1625,"line_end":1625,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643717,"byte_end":643723,"line_start":1627,"line_end":1627,"column_start":28,"column_end":34},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643773,"byte_end":643779,"line_start":1629,"line_end":1629,"column_start":39,"column_end":45},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":643763,"byte_end":643771,"line_start":1629,"line_end":1629,"column_start":29,"column_end":37},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643786,"byte_end":643789,"line_start":1629,"line_end":1629,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643780,"byte_end":643785,"line_start":1629,"line_end":1629,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643865,"byte_end":643873,"line_start":1630,"line_end":1630,"column_start":71,"column_end":79},"ref_id":{"krate":5,"index":665}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643849,"byte_end":643858,"line_start":1630,"line_end":1630,"column_start":55,"column_end":64},"ref_id":{"krate":1,"index":8375}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":643842,"byte_end":643846,"line_start":1630,"line_end":1630,"column_start":48,"column_end":52},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643836,"byte_end":643841,"line_start":1630,"line_end":1630,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643823,"byte_end":643833,"line_start":1630,"line_end":1630,"column_start":29,"column_end":39},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":643909,"byte_end":643919,"line_start":1632,"line_end":1632,"column_start":32,"column_end":42},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644072,"byte_end":644078,"line_start":1635,"line_end":1635,"column_start":42,"column_end":48},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644084,"byte_end":644092,"line_start":1635,"line_end":1635,"column_start":54,"column_end":62},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644144,"byte_end":644151,"line_start":1636,"line_end":1636,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644200,"byte_end":644206,"line_start":1637,"line_end":1637,"column_start":48,"column_end":54},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644207,"byte_end":644213,"line_start":1637,"line_end":1637,"column_start":55,"column_end":61},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644259,"byte_end":644262,"line_start":1638,"line_end":1638,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644318,"byte_end":644321,"line_start":1639,"line_end":1639,"column_start":50,"column_end":53},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644322,"byte_end":644328,"line_start":1639,"line_end":1639,"column_start":54,"column_end":60},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644479,"byte_end":644485,"line_start":1642,"line_end":1642,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644490,"byte_end":644498,"line_start":1642,"line_end":1642,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644546,"byte_end":644547,"line_start":1644,"line_end":1644,"column_start":44,"column_end":45},"ref_id":{"krate":0,"index":1073744412}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644599,"byte_end":644609,"line_start":1645,"line_end":1645,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644590,"byte_end":644597,"line_start":1645,"line_end":1645,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644599,"byte_end":644609,"line_start":1645,"line_end":1645,"column_start":50,"column_end":60},"ref_id":{"krate":0,"index":4092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644590,"byte_end":644597,"line_start":1645,"line_end":1645,"column_start":41,"column_end":48},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644715,"byte_end":644720,"line_start":1646,"line_end":1646,"column_start":89,"column_end":94},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644691,"byte_end":644697,"line_start":1646,"line_end":1646,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644681,"byte_end":644689,"line_start":1646,"line_end":1646,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644706,"byte_end":644710,"line_start":1646,"line_end":1646,"column_start":80,"column_end":84},"ref_id":{"krate":1,"index":11496}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644698,"byte_end":644705,"line_start":1646,"line_end":1646,"column_start":72,"column_end":79},"ref_id":{"krate":0,"index":268438044}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644794,"byte_end":644800,"line_start":1647,"line_end":1647,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644784,"byte_end":644792,"line_start":1647,"line_end":1647,"column_start":61,"column_end":69},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644801,"byte_end":644806,"line_start":1647,"line_end":1647,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":536873500}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644864,"byte_end":644870,"line_start":1648,"line_end":1648,"column_start":55,"column_end":61},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644854,"byte_end":644862,"line_start":1648,"line_end":1648,"column_start":45,"column_end":53},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644877,"byte_end":644880,"line_start":1648,"line_end":1648,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644871,"byte_end":644876,"line_start":1648,"line_end":1648,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":1912605212}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644933,"byte_end":644939,"line_start":1649,"line_end":1649,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":2528}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644930,"byte_end":644932,"line_start":1649,"line_end":1649,"column_start":45,"column_end":47},"ref_id":{"krate":0,"index":671091228}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644940,"byte_end":644943,"line_start":1649,"line_end":1649,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":738200092}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644954,"byte_end":644960,"line_start":1649,"line_end":1649,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":644945,"byte_end":644952,"line_start":1649,"line_end":1649,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":644967,"byte_end":644972,"line_start":1649,"line_end":1649,"column_start":82,"column_end":87},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":644961,"byte_end":644966,"line_start":1649,"line_end":1649,"column_start":76,"column_end":81},"ref_id":{"krate":0,"index":1912605212}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645143,"byte_end":645145,"line_start":1653,"line_end":1653,"column_start":37,"column_end":39},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645216,"byte_end":645225,"line_start":1655,"line_end":1655,"column_start":33,"column_end":42},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645231,"byte_end":645234,"line_start":1655,"line_end":1655,"column_start":48,"column_end":51},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645286,"byte_end":645291,"line_start":1656,"line_end":1656,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645278,"byte_end":645285,"line_start":1656,"line_end":1656,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645345,"byte_end":645350,"line_start":1657,"line_end":1657,"column_start":51,"column_end":56},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645337,"byte_end":645344,"line_start":1657,"line_end":1657,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645396,"byte_end":645402,"line_start":1658,"line_end":1658,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":843581959}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645446,"byte_end":645452,"line_start":1659,"line_end":1659,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":172493319}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645496,"byte_end":645506,"line_start":1660,"line_end":1660,"column_start":43,"column_end":53},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645550,"byte_end":645556,"line_start":1661,"line_end":1661,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645600,"byte_end":645604,"line_start":1662,"line_end":1662,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":2588}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645648,"byte_end":645652,"line_start":1663,"line_end":1663,"column_start":43,"column_end":47},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645660,"byte_end":645665,"line_start":1663,"line_end":1663,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645653,"byte_end":645659,"line_start":1663,"line_end":1663,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645712,"byte_end":645715,"line_start":1664,"line_end":1664,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":440928775}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645771,"byte_end":645777,"line_start":1665,"line_end":1665,"column_start":53,"column_end":59},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645761,"byte_end":645769,"line_start":1665,"line_end":1665,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645786,"byte_end":645789,"line_start":1665,"line_end":1665,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7171}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645778,"byte_end":645785,"line_start":1665,"line_end":1665,"column_start":60,"column_end":67},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645839,"byte_end":645847,"line_start":1666,"line_end":1666,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645827,"byte_end":645833,"line_start":1666,"line_end":1666,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645930,"byte_end":645936,"line_start":1668,"line_end":1668,"column_start":43,"column_end":49},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":645920,"byte_end":645928,"line_start":1668,"line_end":1668,"column_start":33,"column_end":41},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":645944,"byte_end":645947,"line_start":1668,"line_end":1668,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":5576}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":645937,"byte_end":645943,"line_start":1668,"line_end":1668,"column_start":50,"column_end":56},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646006,"byte_end":646009,"line_start":1669,"line_end":1669,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646057,"byte_end":646061,"line_start":1670,"line_end":1670,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646048,"byte_end":646055,"line_start":1670,"line_end":1670,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646057,"byte_end":646061,"line_start":1670,"line_end":1670,"column_start":46,"column_end":50},"ref_id":{"krate":0,"index":4098}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646048,"byte_end":646055,"line_start":1670,"line_end":1670,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646123,"byte_end":646129,"line_start":1671,"line_end":1671,"column_start":57,"column_end":63},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646114,"byte_end":646121,"line_start":1671,"line_end":1671,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":646137,"byte_end":646142,"line_start":1671,"line_end":1671,"column_start":71,"column_end":76},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646130,"byte_end":646136,"line_start":1671,"line_end":1671,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646108,"byte_end":646111,"line_start":1671,"line_end":1671,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":646350,"byte_end":646357,"line_start":1677,"line_end":1677,"column_start":37,"column_end":44},"ref_id":{"krate":0,"index":1732774407}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646515,"byte_end":646521,"line_start":1680,"line_end":1680,"column_start":46,"column_end":52},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":646527,"byte_end":646535,"line_start":1680,"line_end":1680,"column_start":58,"column_end":66},"ref_id":{"krate":5,"index":665}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646591,"byte_end":646598,"line_start":1681,"line_end":1681,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646651,"byte_end":646657,"line_start":1682,"line_end":1682,"column_start":52,"column_end":58},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646658,"byte_end":646664,"line_start":1682,"line_end":1682,"column_start":59,"column_end":65},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646714,"byte_end":646717,"line_start":1683,"line_end":1683,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646771,"byte_end":646774,"line_start":1684,"line_end":1684,"column_start":48,"column_end":51},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646775,"byte_end":646781,"line_start":1684,"line_end":1684,"column_start":52,"column_end":58},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646944,"byte_end":646950,"line_start":1687,"line_end":1687,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":646955,"byte_end":646963,"line_start":1687,"line_end":1687,"column_start":68,"column_end":76},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647014,"byte_end":647015,"line_start":1688,"line_end":1688,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":1073744413}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647071,"byte_end":647076,"line_start":1689,"line_end":1689,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647062,"byte_end":647069,"line_start":1689,"line_end":1689,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647071,"byte_end":647076,"line_start":1689,"line_end":1689,"column_start":54,"column_end":59},"ref_id":{"krate":0,"index":4095}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647062,"byte_end":647069,"line_start":1689,"line_end":1689,"column_start":45,"column_end":52},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647145,"byte_end":647149,"line_start":1690,"line_end":1690,"column_start":52,"column_end":56},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647142,"byte_end":647144,"line_start":1690,"line_end":1690,"column_start":49,"column_end":51},"ref_id":{"krate":0,"index":671091229}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647159,"byte_end":647165,"line_start":1690,"line_end":1690,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":4083}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647150,"byte_end":647157,"line_start":1690,"line_end":1690,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4082}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647270,"byte_end":647275,"line_start":1691,"line_end":1691,"column_start":80,"column_end":85},"ref_id":{"krate":1,"index":2646}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647176,"byte_end":647182,"line_start":1690,"line_end":1690,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":2492}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647166,"byte_end":647174,"line_start":1690,"line_end":1690,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647183,"byte_end":647188,"line_start":1690,"line_end":1690,"column_start":90,"column_end":95},"ref_id":{"krate":0,"index":536873501}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":647462,"byte_end":647464,"line_start":1695,"line_end":1695,"column_start":41,"column_end":43},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647543,"byte_end":647552,"line_start":1697,"line_end":1697,"column_start":37,"column_end":46},"ref_id":{"krate":0,"index":2566}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647558,"byte_end":647561,"line_start":1697,"line_end":1697,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647617,"byte_end":647622,"line_start":1698,"line_end":1698,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647609,"byte_end":647616,"line_start":1698,"line_end":1698,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3959425543}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647680,"byte_end":647685,"line_start":1699,"line_end":1699,"column_start":55,"column_end":60},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647672,"byte_end":647679,"line_start":1699,"line_end":1699,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":3556772359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647735,"byte_end":647741,"line_start":1700,"line_end":1700,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2001209863}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647789,"byte_end":647795,"line_start":1701,"line_end":1701,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":1330121223}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647843,"byte_end":647853,"line_start":1702,"line_end":1702,"column_start":47,"column_end":57},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":647901,"byte_end":647907,"line_start":1703,"line_end":1703,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":647955,"byte_end":647959,"line_start":1704,"line_end":1704,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":2589}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":648007,"byte_end":648011,"line_start":1705,"line_end":1705,"column_start":47,"column_end":51},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648012,"byte_end":648018,"line_start":1705,"line_end":1705,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":167774727}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648067,"byte_end":648070,"line_start":1706,"line_end":1706,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":1598556679}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648152,"byte_end":648160,"line_start":1708,"line_end":1708,"column_start":45,"column_end":53},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648140,"byte_end":648146,"line_start":1708,"line_end":1708,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648305,"byte_end":648313,"line_start":1713,"line_end":1713,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648293,"byte_end":648299,"line_start":1713,"line_end":1713,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":167774727}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648384,"byte_end":648388,"line_start":1715,"line_end":1715,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648378,"byte_end":648383,"line_start":1715,"line_end":1715,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648389,"byte_end":648390,"line_start":1715,"line_end":1715,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3536325127}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648430,"byte_end":648431,"line_start":1716,"line_end":1716,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3536325127}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648417,"byte_end":648427,"line_start":1716,"line_end":1716,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648510,"byte_end":648515,"line_start":1719,"line_end":1719,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648508,"byte_end":648509,"line_start":1719,"line_end":1719,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648489,"byte_end":648505,"line_start":1719,"line_end":1719,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648631,"byte_end":648641,"line_start":1723,"line_end":1723,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648794,"byte_end":648802,"line_start":1728,"line_end":1728,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648785,"byte_end":648788,"line_start":1728,"line_end":1728,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648873,"byte_end":648877,"line_start":1730,"line_end":1730,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648867,"byte_end":648872,"line_start":1730,"line_end":1730,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648878,"byte_end":648879,"line_start":1730,"line_end":1730,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":1506281991}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648919,"byte_end":648920,"line_start":1731,"line_end":1731,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":1506281991}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648906,"byte_end":648916,"line_start":1731,"line_end":1731,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":648950,"byte_end":648954,"line_start":1732,"line_end":1732,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648946,"byte_end":648949,"line_start":1732,"line_end":1732,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":648955,"byte_end":648956,"line_start":1732,"line_end":1732,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649036,"byte_end":649041,"line_start":1735,"line_end":1735,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649034,"byte_end":649035,"line_start":1735,"line_end":1735,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649015,"byte_end":649031,"line_start":1735,"line_end":1735,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649103,"byte_end":649113,"line_start":1739,"line_end":1739,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649266,"byte_end":649274,"line_start":1744,"line_end":1744,"column_start":34,"column_end":42},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649257,"byte_end":649260,"line_start":1744,"line_end":1744,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649345,"byte_end":649349,"line_start":1746,"line_end":1746,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649339,"byte_end":649344,"line_start":1746,"line_end":1746,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649350,"byte_end":649351,"line_start":1746,"line_end":1746,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":3150449159}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649391,"byte_end":649392,"line_start":1747,"line_end":1747,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":3150449159}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649378,"byte_end":649388,"line_start":1747,"line_end":1747,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649422,"byte_end":649426,"line_start":1748,"line_end":1748,"column_start":29,"column_end":33},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649418,"byte_end":649421,"line_start":1748,"line_end":1748,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":436210183}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649427,"byte_end":649428,"line_start":1748,"line_end":1748,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649508,"byte_end":649513,"line_start":1751,"line_end":1751,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649506,"byte_end":649507,"line_start":1751,"line_end":1751,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649487,"byte_end":649503,"line_start":1751,"line_end":1751,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649576,"byte_end":649586,"line_start":1756,"line_end":1756,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649774,"byte_end":649778,"line_start":1763,"line_end":1763,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649768,"byte_end":649773,"line_start":1763,"line_end":1763,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649779,"byte_end":649780,"line_start":1763,"line_end":1763,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":2552760839}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649820,"byte_end":649821,"line_start":1764,"line_end":1764,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":2552760839}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649807,"byte_end":649817,"line_start":1764,"line_end":1764,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649859,"byte_end":649867,"line_start":1765,"line_end":1765,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649847,"byte_end":649853,"line_start":1765,"line_end":1765,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649902,"byte_end":649906,"line_start":1766,"line_end":1766,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649895,"byte_end":649901,"line_start":1766,"line_end":1766,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1711278599}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649907,"byte_end":649908,"line_start":1766,"line_end":1766,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":649988,"byte_end":649993,"line_start":1769,"line_end":1769,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649986,"byte_end":649987,"line_start":1769,"line_end":1769,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":649967,"byte_end":649983,"line_start":1769,"line_end":1769,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650055,"byte_end":650065,"line_start":1773,"line_end":1773,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650252,"byte_end":650256,"line_start":1779,"line_end":1779,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650246,"byte_end":650251,"line_start":1779,"line_end":1779,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650257,"byte_end":650258,"line_start":1779,"line_end":1779,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":975702535}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650298,"byte_end":650299,"line_start":1780,"line_end":1780,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":975702535}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650285,"byte_end":650295,"line_start":1780,"line_end":1780,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650338,"byte_end":650346,"line_start":1781,"line_end":1781,"column_start":38,"column_end":46},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650325,"byte_end":650332,"line_start":1781,"line_end":1781,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650382,"byte_end":650386,"line_start":1782,"line_end":1782,"column_start":33,"column_end":37},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650374,"byte_end":650381,"line_start":1782,"line_end":1782,"column_start":25,"column_end":32},"ref_id":{"krate":0,"index":1979714055}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650387,"byte_end":650388,"line_start":1782,"line_end":1782,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650468,"byte_end":650473,"line_start":1785,"line_end":1785,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650466,"byte_end":650467,"line_start":1785,"line_end":1785,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650447,"byte_end":650463,"line_start":1785,"line_end":1785,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650535,"byte_end":650545,"line_start":1789,"line_end":1789,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650735,"byte_end":650739,"line_start":1795,"line_end":1795,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650729,"byte_end":650734,"line_start":1795,"line_end":1795,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":4160752135}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650740,"byte_end":650744,"line_start":1795,"line_end":1795,"column_start":36,"column_end":40},"ref_id":{"krate":0,"index":4180150791}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650784,"byte_end":650788,"line_start":1796,"line_end":1796,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":4180150791}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650771,"byte_end":650781,"line_start":1796,"line_end":1796,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":3154119175}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650826,"byte_end":650834,"line_start":1797,"line_end":1797,"column_start":37,"column_end":45},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650814,"byte_end":650820,"line_start":1797,"line_end":1797,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650869,"byte_end":650873,"line_start":1798,"line_end":1798,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":5572}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650862,"byte_end":650868,"line_start":1798,"line_end":1798,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":1845496327}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650874,"byte_end":650875,"line_start":1798,"line_end":1798,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":956303879}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":650955,"byte_end":650960,"line_start":1801,"line_end":1801,"column_start":38,"column_end":43},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650953,"byte_end":650954,"line_start":1801,"line_end":1801,"column_start":36,"column_end":37},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":650934,"byte_end":650950,"line_start":1801,"line_end":1801,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":3254782471}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651042,"byte_end":651045,"line_start":1808,"line_end":1808,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":3355445767}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651063,"byte_end":651066,"line_start":1809,"line_end":1809,"column_start":12,"column_end":15},"ref_id":{"krate":0,"index":3355445767}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651070,"byte_end":651074,"line_start":1809,"line_end":1809,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1358957063}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651089,"byte_end":651093,"line_start":1810,"line_end":1810,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1895827975}},{"kind":"Function","span":{"file_name":"src/json_flex.rs","byte_start":651132,"byte_end":651137,"line_start":1813,"line_end":1813,"column_start":20,"column_end":25},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651130,"byte_end":651131,"line_start":1813,"line_end":1813,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":956303879}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651121,"byte_end":651127,"line_start":1813,"line_end":1813,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2046822919}},{"kind":"Type","span":{"file_name":"src/json_flex.rs","byte_start":651154,"byte_end":651156,"line_start":1818,"line_end":1818,"column_start":5,"column_end":7},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/json_flex.rs","byte_start":651157,"byte_end":651160,"line_start":1818,"line_end":1818,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":2952792583}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22004,"byte_end":22010,"line_start":335,"line_end":335,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2590}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22020,"byte_end":22026,"line_start":336,"line_end":336,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682286,"byte_end":682291,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":3910}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682294,"byte_end":682300,"line_start":3,"line_end":3,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682325,"byte_end":682330,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682333,"byte_end":682338,"line_start":4,"line_end":4,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682355,"byte_end":682359,"line_start":5,"line_end":5,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682361,"byte_end":682365,"line_start":5,"line_end":5,"column_start":11,"column_end":15},"ref_id":{"krate":1,"index":4431}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682383,"byte_end":682388,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/memory.rs","byte_start":682390,"byte_end":682393,"line_start":6,"line_end":6,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682487,"byte_end":682490,"line_start":11,"line_end":11,"column_start":18,"column_end":21},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682482,"byte_end":682485,"line_start":11,"line_end":11,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682508,"byte_end":682511,"line_start":12,"line_end":12,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682541,"byte_end":682544,"line_start":13,"line_end":13,"column_start":14,"column_end":17},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682557,"byte_end":682560,"line_start":13,"line_end":13,"column_start":30,"column_end":33},"ref_id":{"krate":0,"index":4119}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682641,"byte_end":682651,"line_start":21,"line_end":21,"column_start":12,"column_end":22},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682652,"byte_end":682666,"line_start":21,"line_end":21,"column_start":23,"column_end":37},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682713,"byte_end":682716,"line_start":23,"line_end":23,"column_start":24,"column_end":27},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682717,"byte_end":682733,"line_start":23,"line_end":23,"column_start":28,"column_end":44},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682634,"byte_end":682639,"line_start":21,"line_end":21,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682677,"byte_end":682681,"line_start":22,"line_end":22,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682698,"byte_end":682704,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682744,"byte_end":682752,"line_start":24,"line_end":24,"column_start":9,"column_end":17},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682769,"byte_end":682779,"line_start":25,"line_end":25,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682802,"byte_end":682806,"line_start":28,"line_end":28,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682830,"byte_end":682835,"line_start":30,"line_end":30,"column_start":6,"column_end":11},"ref_id":{"krate":1,"index":2645}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682890,"byte_end":682894,"line_start":32,"line_end":32,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682909,"byte_end":682913,"line_start":33,"line_end":33,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682915,"byte_end":682919,"line_start":33,"line_end":33,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744432}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682920,"byte_end":682924,"line_start":33,"line_end":33,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682938,"byte_end":682946,"line_start":34,"line_end":34,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682948,"byte_end":682952,"line_start":34,"line_end":34,"column_start":23,"column_end":27},"ref_id":{"krate":0,"index":1073744432}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682953,"byte_end":682961,"line_start":34,"line_end":34,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":682975,"byte_end":682980,"line_start":35,"line_end":35,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":682994,"byte_end":682997,"line_start":35,"line_end":35,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682982,"byte_end":682992,"line_start":35,"line_end":35,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":682998,"byte_end":683012,"line_start":35,"line_end":35,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683014,"byte_end":683019,"line_start":35,"line_end":35,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683022,"byte_end":683025,"line_start":35,"line_end":35,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":4114}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683045,"byte_end":683051,"line_start":35,"line_end":35,"column_start":83,"column_end":89},"ref_id":{"krate":5,"index":5157}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683032,"byte_end":683042,"line_start":35,"line_end":35,"column_start":70,"column_end":80},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683027,"byte_end":683031,"line_start":35,"line_end":35,"column_start":65,"column_end":69},"ref_id":{"krate":0,"index":1073744432}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683070,"byte_end":683076,"line_start":36,"line_end":36,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683090,"byte_end":683095,"line_start":36,"line_end":36,"column_start":33,"column_end":38},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683078,"byte_end":683082,"line_start":36,"line_end":36,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744432}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683083,"byte_end":683089,"line_start":36,"line_end":36,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683111,"byte_end":683121,"line_start":37,"line_end":37,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"ref_id":{"krate":0,"index":4126}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683235,"byte_end":683238,"line_start":46,"line_end":46,"column_start":34,"column_end":37},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683259,"byte_end":683262,"line_start":46,"line_end":46,"column_start":58,"column_end":61},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683263,"byte_end":683279,"line_start":46,"line_end":46,"column_start":62,"column_end":78},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683314,"byte_end":683318,"line_start":48,"line_end":48,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683333,"byte_end":683337,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683333,"byte_end":683337,"line_start":49,"line_end":49,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615346}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683351,"byte_end":683359,"line_start":50,"line_end":50,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683366,"byte_end":683369,"line_start":50,"line_end":50,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683392,"byte_end":683397,"line_start":51,"line_end":51,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683411,"byte_end":683414,"line_start":51,"line_end":51,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683399,"byte_end":683409,"line_start":51,"line_end":51,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683415,"byte_end":683429,"line_start":51,"line_end":51,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683431,"byte_end":683436,"line_start":51,"line_end":51,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683439,"byte_end":683442,"line_start":51,"line_end":51,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683444,"byte_end":683449,"line_start":51,"line_end":51,"column_start":65,"column_end":70},"ref_id":{"krate":0,"index":1073744434}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683466,"byte_end":683472,"line_start":52,"line_end":52,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683474,"byte_end":683480,"line_start":52,"line_end":52,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873522}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683494,"byte_end":683504,"line_start":53,"line_end":53,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683609,"byte_end":683612,"line_start":58,"line_end":58,"column_start":60,"column_end":63},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683613,"byte_end":683629,"line_start":58,"line_end":58,"column_start":64,"column_end":80},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683664,"byte_end":683668,"line_start":60,"line_end":60,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683683,"byte_end":683687,"line_start":61,"line_end":61,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683683,"byte_end":683687,"line_start":61,"line_end":61,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615347}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683701,"byte_end":683709,"line_start":62,"line_end":62,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683726,"byte_end":683731,"line_start":63,"line_end":63,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":683745,"byte_end":683748,"line_start":63,"line_end":63,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683733,"byte_end":683743,"line_start":63,"line_end":63,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683749,"byte_end":683763,"line_start":63,"line_end":63,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683765,"byte_end":683768,"line_start":63,"line_end":63,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683771,"byte_end":683774,"line_start":63,"line_end":63,"column_start":58,"column_end":61},"ref_id":{"krate":0,"index":4116}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683776,"byte_end":683781,"line_start":63,"line_end":63,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":1073744435}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683798,"byte_end":683804,"line_start":64,"line_end":64,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683806,"byte_end":683812,"line_start":64,"line_end":64,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873523}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":683826,"byte_end":683836,"line_start":65,"line_end":65,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683956,"byte_end":683959,"line_start":70,"line_end":70,"column_start":74,"column_end":77},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":683960,"byte_end":683976,"line_start":70,"line_end":70,"column_start":78,"column_end":94},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684011,"byte_end":684015,"line_start":72,"line_end":72,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684030,"byte_end":684034,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684030,"byte_end":684034,"line_start":73,"line_end":73,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":268438068}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684048,"byte_end":684056,"line_start":74,"line_end":74,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684065,"byte_end":684068,"line_start":74,"line_end":74,"column_start":30,"column_end":33},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684074,"byte_end":684077,"line_start":74,"line_end":74,"column_start":39,"column_end":42},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684088,"byte_end":684091,"line_start":74,"line_end":74,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":536873524}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684106,"byte_end":684111,"line_start":75,"line_end":75,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684125,"byte_end":684128,"line_start":75,"line_end":75,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684113,"byte_end":684123,"line_start":75,"line_end":75,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684129,"byte_end":684143,"line_start":75,"line_end":75,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684145,"byte_end":684151,"line_start":75,"line_end":75,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684154,"byte_end":684157,"line_start":75,"line_end":75,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684159,"byte_end":684164,"line_start":75,"line_end":75,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1073744436}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684166,"byte_end":684169,"line_start":75,"line_end":75,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684171,"byte_end":684174,"line_start":75,"line_end":75,"column_start":78,"column_end":81},"ref_id":{"krate":0,"index":536873524}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684191,"byte_end":684197,"line_start":76,"line_end":76,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684199,"byte_end":684205,"line_start":76,"line_end":76,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1610615348}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684219,"byte_end":684229,"line_start":77,"line_end":77,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684300,"byte_end":684306,"line_start":82,"line_end":82,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684330,"byte_end":684333,"line_start":82,"line_end":82,"column_start":56,"column_end":59},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684334,"byte_end":684350,"line_start":82,"line_end":82,"column_start":60,"column_end":76},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684405,"byte_end":684413,"line_start":83,"line_end":83,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":1073744437}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684428,"byte_end":684432,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684428,"byte_end":684432,"line_start":84,"line_end":84,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684439,"byte_end":684440,"line_start":84,"line_end":84,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":3489663541}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684454,"byte_end":684458,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684454,"byte_end":684458,"line_start":85,"line_end":85,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684512,"byte_end":684525,"line_start":88,"line_end":88,"column_start":34,"column_end":47},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684507,"byte_end":684510,"line_start":88,"line_end":88,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684526,"byte_end":684534,"line_start":88,"line_end":88,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":2818574901}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684597,"byte_end":684603,"line_start":91,"line_end":91,"column_start":19,"column_end":25},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684587,"byte_end":684596,"line_start":91,"line_end":91,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":4160752181}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684625,"byte_end":684629,"line_start":93,"line_end":93,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684644,"byte_end":684648,"line_start":94,"line_end":94,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684644,"byte_end":684648,"line_start":94,"line_end":94,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615349}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684662,"byte_end":684670,"line_start":95,"line_end":95,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684677,"byte_end":684680,"line_start":95,"line_end":95,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684703,"byte_end":684708,"line_start":96,"line_end":96,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":684722,"byte_end":684725,"line_start":96,"line_end":96,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684710,"byte_end":684720,"line_start":96,"line_end":96,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684726,"byte_end":684740,"line_start":96,"line_end":96,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684742,"byte_end":684747,"line_start":96,"line_end":96,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684750,"byte_end":684753,"line_start":96,"line_end":96,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684755,"byte_end":684764,"line_start":96,"line_end":96,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":4160752181}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684781,"byte_end":684787,"line_start":97,"line_end":97,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684789,"byte_end":684795,"line_start":97,"line_end":97,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873525}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684809,"byte_end":684819,"line_start":98,"line_end":98,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684921,"byte_end":684924,"line_start":103,"line_end":103,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684925,"byte_end":684941,"line_start":103,"line_end":103,"column_start":61,"column_end":77},"ref_id":{"krate":0,"index":3910}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":684976,"byte_end":684980,"line_start":105,"line_end":105,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684995,"byte_end":684999,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":684995,"byte_end":684999,"line_start":106,"line_end":106,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1610615351}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685013,"byte_end":685021,"line_start":107,"line_end":107,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685028,"byte_end":685031,"line_start":107,"line_end":107,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685054,"byte_end":685059,"line_start":108,"line_end":108,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685073,"byte_end":685076,"line_start":108,"line_end":108,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685061,"byte_end":685071,"line_start":108,"line_end":108,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685077,"byte_end":685091,"line_start":108,"line_end":108,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685093,"byte_end":685099,"line_start":108,"line_end":108,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685102,"byte_end":685105,"line_start":108,"line_end":108,"column_start":61,"column_end":64},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685107,"byte_end":685112,"line_start":108,"line_end":108,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":1073744439}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685114,"byte_end":685117,"line_start":108,"line_end":108,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":4119}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685137,"byte_end":685143,"line_start":109,"line_end":109,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685145,"byte_end":685151,"line_start":109,"line_end":109,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":536873527}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685165,"byte_end":685175,"line_start":110,"line_end":110,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685237,"byte_end":685243,"line_start":114,"line_end":114,"column_start":39,"column_end":45},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685255,"byte_end":685261,"line_start":114,"line_end":114,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685268,"byte_end":685276,"line_start":114,"line_end":114,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685309,"byte_end":685317,"line_start":115,"line_end":115,"column_start":30,"column_end":38},"ref_id":{"krate":0,"index":536873528}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685332,"byte_end":685336,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685332,"byte_end":685336,"line_start":116,"line_end":116,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685343,"byte_end":685344,"line_start":116,"line_end":116,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2415921720}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685358,"byte_end":685362,"line_start":117,"line_end":117,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685358,"byte_end":685362,"line_start":117,"line_end":117,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685416,"byte_end":685429,"line_start":120,"line_end":120,"column_start":34,"column_end":47},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685411,"byte_end":685414,"line_start":120,"line_end":120,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685430,"byte_end":685438,"line_start":120,"line_end":120,"column_start":48,"column_end":56},"ref_id":{"krate":0,"index":3355445816}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685501,"byte_end":685507,"line_start":123,"line_end":123,"column_start":19,"column_end":25},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685491,"byte_end":685500,"line_start":123,"line_end":123,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3087010360}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685529,"byte_end":685531,"line_start":125,"line_end":125,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685532,"byte_end":685536,"line_start":125,"line_end":125,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685551,"byte_end":685555,"line_start":126,"line_end":126,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685557,"byte_end":685561,"line_start":126,"line_end":126,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744440}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685562,"byte_end":685566,"line_start":126,"line_end":126,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":4128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685580,"byte_end":685588,"line_start":127,"line_end":127,"column_start":13,"column_end":21},"ref_id":{"krate":0,"index":4130}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685595,"byte_end":685598,"line_start":127,"line_end":127,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685621,"byte_end":685626,"line_start":128,"line_end":128,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":4127}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685640,"byte_end":685643,"line_start":128,"line_end":128,"column_start":32,"column_end":35},"ref_id":{"krate":1,"index":4690}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685628,"byte_end":685638,"line_start":128,"line_end":128,"column_start":20,"column_end":30},"ref_id":{"krate":1,"index":4683}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685644,"byte_end":685658,"line_start":128,"line_end":128,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685660,"byte_end":685665,"line_start":128,"line_end":128,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685668,"byte_end":685671,"line_start":128,"line_end":128,"column_start":60,"column_end":63},"ref_id":{"krate":0,"index":4114}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685673,"byte_end":685682,"line_start":128,"line_end":128,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":3087010360}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685699,"byte_end":685705,"line_start":129,"line_end":129,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685707,"byte_end":685711,"line_start":129,"line_end":129,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744440}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685712,"byte_end":685718,"line_start":129,"line_end":129,"column_start":26,"column_end":32},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685732,"byte_end":685742,"line_start":130,"line_end":130,"column_start":13,"column_end":23},"ref_id":{"krate":0,"index":4131}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":685853,"byte_end":685856,"line_start":135,"line_end":135,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685842,"byte_end":685846,"line_start":135,"line_end":135,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744442}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685847,"byte_end":685852,"line_start":135,"line_end":135,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":685877,"byte_end":685887,"line_start":137,"line_end":137,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050810}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685918,"byte_end":685924,"line_start":138,"line_end":138,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":685902,"byte_end":685916,"line_start":138,"line_end":138,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686033,"byte_end":686039,"line_start":143,"line_end":143,"column_start":53,"column_end":59},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686044,"byte_end":686052,"line_start":143,"line_end":143,"column_start":64,"column_end":72},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686108,"byte_end":686111,"line_start":145,"line_end":145,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686097,"byte_end":686101,"line_start":145,"line_end":145,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744443}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686102,"byte_end":686107,"line_start":145,"line_end":145,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686132,"byte_end":686142,"line_start":147,"line_end":147,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":134220347}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686173,"byte_end":686178,"line_start":148,"line_end":148,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686157,"byte_end":686171,"line_start":148,"line_end":148,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686232,"byte_end":686235,"line_start":150,"line_end":150,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686246,"byte_end":686257,"line_start":150,"line_end":150,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686236,"byte_end":686244,"line_start":150,"line_end":150,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686302,"byte_end":686305,"line_start":152,"line_end":152,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686286,"byte_end":686300,"line_start":152,"line_end":152,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686359,"byte_end":686362,"line_start":154,"line_end":154,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686373,"byte_end":686384,"line_start":154,"line_end":154,"column_start":31,"column_end":42},"ref_id":{"krate":0,"index":4062}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686363,"byte_end":686371,"line_start":154,"line_end":154,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686438,"byte_end":686441,"line_start":156,"line_end":156,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4119}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686429,"byte_end":686435,"line_start":156,"line_end":156,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686413,"byte_end":686427,"line_start":156,"line_end":156,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686476,"byte_end":686483,"line_start":157,"line_end":157,"column_start":24,"column_end":31},"ref_id":{"krate":0,"index":536873531}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686470,"byte_end":686473,"line_start":157,"line_end":157,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1946159675}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686502,"byte_end":686504,"line_start":159,"line_end":159,"column_start":17,"column_end":19},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686648,"byte_end":686651,"line_start":167,"line_end":167,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686637,"byte_end":686641,"line_start":167,"line_end":167,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744444}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686642,"byte_end":686647,"line_start":167,"line_end":167,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686671,"byte_end":686681,"line_start":168,"line_end":168,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":134220348}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686712,"byte_end":686717,"line_start":169,"line_end":169,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686696,"byte_end":686710,"line_start":169,"line_end":169,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686769,"byte_end":686772,"line_start":170,"line_end":170,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686778,"byte_end":686781,"line_start":170,"line_end":170,"column_start":49,"column_end":52},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686792,"byte_end":686795,"line_start":170,"line_end":170,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":536873532}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686746,"byte_end":686750,"line_start":170,"line_end":170,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744444}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686751,"byte_end":686759,"line_start":170,"line_end":170,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":4130}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686841,"byte_end":686844,"line_start":172,"line_end":172,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686825,"byte_end":686839,"line_start":172,"line_end":172,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686925,"byte_end":686931,"line_start":175,"line_end":175,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":686909,"byte_end":686923,"line_start":175,"line_end":175,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":686983,"byte_end":686986,"line_start":176,"line_end":176,"column_start":40,"column_end":43},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686992,"byte_end":686995,"line_start":176,"line_end":176,"column_start":49,"column_end":52},"ref_id":{"krate":1,"index":24128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687006,"byte_end":687009,"line_start":176,"line_end":176,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":536873532}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686960,"byte_end":686964,"line_start":176,"line_end":176,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744444}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":686965,"byte_end":686973,"line_start":176,"line_end":176,"column_start":22,"column_end":30},"ref_id":{"krate":0,"index":4130}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687157,"byte_end":687160,"line_start":184,"line_end":184,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687146,"byte_end":687150,"line_start":184,"line_end":184,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744445}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687151,"byte_end":687156,"line_start":184,"line_end":184,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687180,"byte_end":687190,"line_start":185,"line_end":185,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050813}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687229,"byte_end":687232,"line_start":186,"line_end":186,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4114}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687221,"byte_end":687226,"line_start":186,"line_end":186,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687205,"byte_end":687219,"line_start":186,"line_end":186,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687241,"byte_end":687244,"line_start":186,"line_end":186,"column_start":49,"column_end":52},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687237,"byte_end":687240,"line_start":186,"line_end":186,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":671091261}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687276,"byte_end":687279,"line_start":187,"line_end":187,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687260,"byte_end":687274,"line_start":187,"line_end":187,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687330,"byte_end":687333,"line_start":188,"line_end":188,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4119}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687321,"byte_end":687327,"line_start":188,"line_end":188,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687305,"byte_end":687319,"line_start":188,"line_end":188,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687344,"byte_end":687347,"line_start":188,"line_end":188,"column_start":52,"column_end":55},"ref_id":{"krate":0,"index":3288336957}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687421,"byte_end":687424,"line_start":193,"line_end":193,"column_start":35,"column_end":38},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687425,"byte_end":687441,"line_start":193,"line_end":193,"column_start":39,"column_end":55},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687464,"byte_end":687468,"line_start":194,"line_end":194,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":1073744446}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687469,"byte_end":687475,"line_start":194,"line_end":194,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":4129}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687552,"byte_end":687568,"line_start":198,"line_end":198,"column_start":46,"column_end":62},"ref_id":{"krate":0,"index":3910}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687592,"byte_end":687596,"line_start":199,"line_end":199,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744447}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687597,"byte_end":687603,"line_start":199,"line_end":199,"column_start":27,"column_end":33},"ref_id":{"krate":0,"index":4129}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687607,"byte_end":687610,"line_start":199,"line_end":199,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":536873535}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687691,"byte_end":687697,"line_start":203,"line_end":203,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687705,"byte_end":687713,"line_start":203,"line_end":203,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687746,"byte_end":687752,"line_start":205,"line_end":205,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":2621}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687741,"byte_end":687745,"line_start":205,"line_end":205,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073744448}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687802,"byte_end":687810,"line_start":208,"line_end":208,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3489663552}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687819,"byte_end":687822,"line_start":208,"line_end":208,"column_start":29,"column_end":32},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687813,"byte_end":687818,"line_start":208,"line_end":208,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":536873536}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687828,"byte_end":687832,"line_start":208,"line_end":208,"column_start":38,"column_end":42},"ref_id":{"krate":0,"index":1073744448}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687833,"byte_end":687841,"line_start":208,"line_end":208,"column_start":43,"column_end":51},"ref_id":{"krate":0,"index":4130}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687863,"byte_end":687866,"line_start":209,"line_end":209,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687877,"byte_end":687893,"line_start":209,"line_end":209,"column_start":34,"column_end":50},"ref_id":{"krate":0,"index":4064}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":687867,"byte_end":687875,"line_start":209,"line_end":209,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":687957,"byte_end":687960,"line_start":212,"line_end":212,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687946,"byte_end":687950,"line_start":212,"line_end":212,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744448}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687951,"byte_end":687956,"line_start":212,"line_end":212,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":687981,"byte_end":687991,"line_start":214,"line_end":214,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1946159680}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688030,"byte_end":688033,"line_start":215,"line_end":215,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4114}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688022,"byte_end":688027,"line_start":215,"line_end":215,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688006,"byte_end":688020,"line_start":215,"line_end":215,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688061,"byte_end":688078,"line_start":216,"line_end":216,"column_start":21,"column_end":38},"ref_id":{"krate":5,"index":7192}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688057,"byte_end":688060,"line_start":216,"line_end":216,"column_start":17,"column_end":20},"ref_id":{"krate":0,"index":738200128}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688079,"byte_end":688084,"line_start":216,"line_end":216,"column_start":39,"column_end":44},"ref_id":{"krate":0,"index":536873536}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688130,"byte_end":688133,"line_start":218,"line_end":218,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688114,"byte_end":688128,"line_start":218,"line_end":218,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688169,"byte_end":688172,"line_start":219,"line_end":219,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688183,"byte_end":688197,"line_start":219,"line_end":219,"column_start":38,"column_end":52},"ref_id":{"krate":0,"index":4060}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688173,"byte_end":688181,"line_start":219,"line_end":219,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688251,"byte_end":688254,"line_start":221,"line_end":221,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4118}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688256,"byte_end":688259,"line_start":221,"line_end":221,"column_start":43,"column_end":46},"ref_id":{"krate":0,"index":4119}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688242,"byte_end":688248,"line_start":221,"line_end":221,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688226,"byte_end":688240,"line_start":221,"line_end":221,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688307,"byte_end":688310,"line_start":222,"line_end":222,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":167774784}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688344,"byte_end":688347,"line_start":223,"line_end":223,"column_start":31,"column_end":34},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688338,"byte_end":688343,"line_start":223,"line_end":223,"column_start":25,"column_end":30},"ref_id":{"krate":0,"index":536873536}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688331,"byte_end":688334,"line_start":223,"line_end":223,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":1241516608}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688394,"byte_end":688403,"line_start":224,"line_end":224,"column_start":44,"column_end":53},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688387,"byte_end":688391,"line_start":224,"line_end":224,"column_start":37,"column_end":41},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688381,"byte_end":688386,"line_start":224,"line_end":224,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":536873536}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688447,"byte_end":688448,"line_start":225,"line_end":225,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":4127197760}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688428,"byte_end":688429,"line_start":225,"line_end":225,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2046822976}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688430,"byte_end":688438,"line_start":225,"line_end":225,"column_start":23,"column_end":31},"ref_id":{"krate":0,"index":3489663552}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688441,"byte_end":688442,"line_start":225,"line_end":225,"column_start":34,"column_end":35},"ref_id":{"krate":0,"index":1979714112}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688511,"byte_end":688513,"line_start":232,"line_end":232,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688514,"byte_end":688522,"line_start":232,"line_end":232,"column_start":12,"column_end":20},"ref_id":{"krate":0,"index":3489663552}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688585,"byte_end":688588,"line_start":236,"line_end":236,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688597,"byte_end":688603,"line_start":236,"line_end":236,"column_start":45,"column_end":51},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688611,"byte_end":688619,"line_start":236,"line_end":236,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688636,"byte_end":688649,"line_start":237,"line_end":237,"column_start":14,"column_end":27},"ref_id":{"krate":0,"index":2624}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688631,"byte_end":688635,"line_start":237,"line_end":237,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744449}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688651,"byte_end":688656,"line_start":237,"line_end":237,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":536873537}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":688774,"byte_end":688777,"line_start":242,"line_end":242,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688763,"byte_end":688767,"line_start":242,"line_end":242,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1073744450}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688768,"byte_end":688773,"line_start":242,"line_end":242,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688797,"byte_end":688807,"line_start":243,"line_end":243,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050818}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688846,"byte_end":688849,"line_start":244,"line_end":244,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4114}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688838,"byte_end":688843,"line_start":244,"line_end":244,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688822,"byte_end":688836,"line_start":244,"line_end":244,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688856,"byte_end":688859,"line_start":244,"line_end":244,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":671091266}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688860,"byte_end":688862,"line_start":244,"line_end":244,"column_start":51,"column_end":53},"ref_id":{"krate":1,"index":37850}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688899,"byte_end":688902,"line_start":245,"line_end":245,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":4116}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688893,"byte_end":688896,"line_start":245,"line_end":245,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688877,"byte_end":688891,"line_start":245,"line_end":245,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688920,"byte_end":688923,"line_start":245,"line_end":245,"column_start":56,"column_end":59},"ref_id":{"krate":0,"index":4160752194}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688964,"byte_end":688967,"line_start":246,"line_end":246,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4118}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688955,"byte_end":688961,"line_start":246,"line_end":246,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":688939,"byte_end":688953,"line_start":246,"line_end":246,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":688989,"byte_end":688992,"line_start":246,"line_end":246,"column_start":63,"column_end":66},"ref_id":{"krate":0,"index":872417858}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689134,"byte_end":689137,"line_start":252,"line_end":252,"column_start":52,"column_end":55},"ref_id":{"krate":1,"index":4694}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689123,"byte_end":689127,"line_start":252,"line_end":252,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744451}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689128,"byte_end":689133,"line_start":252,"line_end":252,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689157,"byte_end":689167,"line_start":253,"line_end":253,"column_start":15,"column_end":25},"ref_id":{"krate":0,"index":1879050819}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689206,"byte_end":689209,"line_start":254,"line_end":254,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4114}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689198,"byte_end":689203,"line_start":254,"line_end":254,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689182,"byte_end":689196,"line_start":254,"line_end":254,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689220,"byte_end":689223,"line_start":254,"line_end":254,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":671091267}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689224,"byte_end":689226,"line_start":254,"line_end":254,"column_start":55,"column_end":57},"ref_id":{"krate":1,"index":37850}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689263,"byte_end":689266,"line_start":255,"line_end":255,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":4116}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689257,"byte_end":689260,"line_start":255,"line_end":255,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689241,"byte_end":689255,"line_start":255,"line_end":255,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689314,"byte_end":689317,"line_start":256,"line_end":256,"column_start":34,"column_end":37},"ref_id":{"krate":0,"index":4160752195}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689349,"byte_end":689358,"line_start":257,"line_end":257,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":3825207875}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689395,"byte_end":689402,"line_start":258,"line_end":258,"column_start":23,"column_end":30},"ref_id":{"krate":0,"index":2348812867}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689455,"byte_end":689458,"line_start":260,"line_end":260,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4118}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689446,"byte_end":689452,"line_start":260,"line_end":260,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689430,"byte_end":689444,"line_start":260,"line_end":260,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689484,"byte_end":689487,"line_start":260,"line_end":260,"column_start":67,"column_end":70},"ref_id":{"krate":0,"index":3690990147}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689578,"byte_end":689584,"line_start":265,"line_end":265,"column_start":49,"column_end":55},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689626,"byte_end":689633,"line_start":268,"line_end":268,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689660,"byte_end":689664,"line_start":269,"line_end":269,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689686,"byte_end":689690,"line_start":272,"line_end":272,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689696,"byte_end":689706,"line_start":272,"line_end":272,"column_start":19,"column_end":29},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689691,"byte_end":689695,"line_start":272,"line_end":272,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":1073744452}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689709,"byte_end":689716,"line_start":272,"line_end":272,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":536873540}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689797,"byte_end":689803,"line_start":276,"line_end":276,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689851,"byte_end":689858,"line_start":279,"line_end":279,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873541}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":689885,"byte_end":689889,"line_start":280,"line_end":280,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689932,"byte_end":689942,"line_start":283,"line_end":283,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689927,"byte_end":689931,"line_start":283,"line_end":283,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744453}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":689969,"byte_end":689972,"line_start":285,"line_end":285,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689958,"byte_end":689968,"line_start":285,"line_end":285,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655813}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":689977,"byte_end":689984,"line_start":285,"line_end":285,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873541}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690010,"byte_end":690014,"line_start":286,"line_end":286,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690048,"byte_end":690058,"line_start":289,"line_end":289,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655813}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690081,"line_start":289,"line_end":289,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690066,"line_start":289,"line_end":289,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690059,"byte_end":690066,"line_start":289,"line_end":289,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873541}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690068,"byte_end":690081,"line_start":289,"line_end":289,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690069,"byte_end":690076,"line_start":289,"line_end":289,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873541}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690093,"byte_end":690097,"line_start":291,"line_end":291,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690110,"byte_end":690115,"line_start":291,"line_end":291,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506501}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690231,"byte_end":690237,"line_start":295,"line_end":295,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690285,"byte_end":690292,"line_start":298,"line_end":298,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873544}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690319,"byte_end":690323,"line_start":299,"line_end":299,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690366,"byte_end":690376,"line_start":302,"line_end":302,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690361,"byte_end":690365,"line_start":302,"line_end":302,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744456}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690403,"byte_end":690406,"line_start":304,"line_end":304,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690392,"byte_end":690402,"line_start":304,"line_end":304,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655816}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690411,"byte_end":690418,"line_start":304,"line_end":304,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873544}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690444,"byte_end":690448,"line_start":305,"line_end":305,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690482,"byte_end":690492,"line_start":308,"line_end":308,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655816}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690515,"line_start":308,"line_end":308,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690500,"line_start":308,"line_end":308,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690493,"byte_end":690500,"line_start":308,"line_end":308,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873544}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690502,"byte_end":690515,"line_start":308,"line_end":308,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690503,"byte_end":690510,"line_start":308,"line_end":308,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873544}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690527,"byte_end":690531,"line_start":310,"line_end":310,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690544,"byte_end":690549,"line_start":310,"line_end":310,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506504}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690665,"byte_end":690671,"line_start":314,"line_end":314,"column_start":50,"column_end":56},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690719,"byte_end":690726,"line_start":317,"line_end":317,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873547}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690753,"byte_end":690757,"line_start":318,"line_end":318,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690800,"byte_end":690810,"line_start":321,"line_end":321,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690795,"byte_end":690799,"line_start":321,"line_end":321,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744459}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":690837,"byte_end":690840,"line_start":323,"line_end":323,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690826,"byte_end":690836,"line_start":323,"line_end":323,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655819}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690845,"byte_end":690852,"line_start":323,"line_end":323,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873547}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690878,"byte_end":690882,"line_start":324,"line_end":324,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690916,"byte_end":690926,"line_start":327,"line_end":327,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655819}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690949,"line_start":327,"line_end":327,"column_start":33,"column_end":55},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690934,"line_start":327,"line_end":327,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690927,"byte_end":690934,"line_start":327,"line_end":327,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873547}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690936,"byte_end":690949,"line_start":327,"line_end":327,"column_start":42,"column_end":55},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690937,"byte_end":690944,"line_start":327,"line_end":327,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873547}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":690961,"byte_end":690965,"line_start":329,"line_end":329,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":690978,"byte_end":690983,"line_start":329,"line_end":329,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506507}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691100,"byte_end":691106,"line_start":333,"line_end":333,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691155,"byte_end":691162,"line_start":336,"line_end":336,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873550}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691189,"byte_end":691193,"line_start":337,"line_end":337,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691236,"byte_end":691246,"line_start":340,"line_end":340,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691231,"byte_end":691235,"line_start":340,"line_end":340,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744462}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691273,"byte_end":691276,"line_start":342,"line_end":342,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691262,"byte_end":691272,"line_start":342,"line_end":342,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655822}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691281,"byte_end":691288,"line_start":342,"line_end":342,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873550}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691315,"byte_end":691319,"line_start":343,"line_end":343,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691353,"byte_end":691363,"line_start":346,"line_end":346,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655822}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691387,"line_start":346,"line_end":346,"column_start":33,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691371,"line_start":346,"line_end":346,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691364,"byte_end":691371,"line_start":346,"line_end":346,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873550}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691373,"byte_end":691387,"line_start":346,"line_end":346,"column_start":42,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691374,"byte_end":691381,"line_start":346,"line_end":346,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873550}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691399,"byte_end":691403,"line_start":348,"line_end":348,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691416,"byte_end":691421,"line_start":348,"line_end":348,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506510}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691539,"byte_end":691545,"line_start":352,"line_end":352,"column_start":51,"column_end":57},"ref_id":{"krate":1,"index":39355}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691594,"byte_end":691601,"line_start":355,"line_end":355,"column_start":12,"column_end":19},"ref_id":{"krate":0,"index":536873553}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691628,"byte_end":691632,"line_start":356,"line_end":356,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691675,"byte_end":691685,"line_start":359,"line_end":359,"column_start":31,"column_end":41},"ref_id":{"krate":0,"index":2626}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691670,"byte_end":691674,"line_start":359,"line_end":359,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744465}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691712,"byte_end":691715,"line_start":361,"line_end":361,"column_start":23,"column_end":26},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691701,"byte_end":691711,"line_start":361,"line_end":361,"column_start":12,"column_end":22},"ref_id":{"krate":0,"index":402655825}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691720,"byte_end":691727,"line_start":361,"line_end":361,"column_start":31,"column_end":38},"ref_id":{"krate":0,"index":536873553}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691754,"byte_end":691758,"line_start":362,"line_end":362,"column_start":20,"column_end":24},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691792,"byte_end":691802,"line_start":365,"line_end":365,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":402655825}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691826,"line_start":365,"line_end":365,"column_start":33,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691810,"line_start":365,"line_end":365,"column_start":33,"column_end":40},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691803,"byte_end":691810,"line_start":365,"line_end":365,"column_start":33,"column_end":40},"ref_id":{"krate":0,"index":536873553}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691812,"byte_end":691826,"line_start":365,"line_end":365,"column_start":42,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691813,"byte_end":691820,"line_start":365,"line_end":365,"column_start":43,"column_end":50},"ref_id":{"krate":0,"index":536873553}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691838,"byte_end":691842,"line_start":367,"line_end":367,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691855,"byte_end":691860,"line_start":367,"line_end":367,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1543506513}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":691931,"byte_end":691934,"line_start":370,"line_end":370,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":691972,"byte_end":691982,"line_start":371,"line_end":371,"column_start":32,"column_end":42},"ref_id":{"krate":1,"index":4691}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691961,"byte_end":691965,"line_start":371,"line_end":371,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744468}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":691966,"byte_end":691971,"line_start":371,"line_end":371,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":4127}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692000,"byte_end":692005,"line_start":372,"line_end":372,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1342179924}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692044,"byte_end":692047,"line_start":373,"line_end":373,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4114}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692036,"byte_end":692041,"line_start":373,"line_end":373,"column_start":29,"column_end":34},"ref_id":{"krate":0,"index":4113}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692020,"byte_end":692034,"line_start":373,"line_end":373,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692053,"byte_end":692056,"line_start":373,"line_end":373,"column_start":46,"column_end":49},"ref_id":{"krate":0,"index":134220372}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692092,"byte_end":692095,"line_start":374,"line_end":374,"column_start":35,"column_end":38},"ref_id":{"krate":0,"index":4116}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692086,"byte_end":692089,"line_start":374,"line_end":374,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4115}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692070,"byte_end":692084,"line_start":374,"line_end":374,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":692106,"byte_end":692110,"line_start":374,"line_end":374,"column_start":49,"column_end":53},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692101,"byte_end":692104,"line_start":374,"line_end":374,"column_start":44,"column_end":47},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692122,"byte_end":692125,"line_start":374,"line_end":374,"column_start":65,"column_end":68},"ref_id":{"krate":0,"index":402655828}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692167,"byte_end":692170,"line_start":375,"line_end":375,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":4118}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692158,"byte_end":692164,"line_start":375,"line_end":375,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":4117}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692142,"byte_end":692156,"line_start":375,"line_end":375,"column_start":13,"column_end":27},"ref_id":{"krate":0,"index":4112}},{"kind":"Function","span":{"file_name":"src/memory.rs","byte_start":692186,"byte_end":692190,"line_start":375,"line_end":375,"column_start":57,"column_end":61},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/memory.rs","byte_start":692181,"byte_end":692184,"line_start":375,"line_end":375,"column_start":52,"column_end":55},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/memory.rs","byte_start":692202,"byte_end":692205,"line_start":375,"line_end":375,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2483030612}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22036,"byte_end":22043,"line_start":337,"line_end":337,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":2645}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692350,"byte_end":692355,"line_start":5,"line_end":5,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692379,"byte_end":692384,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692386,"byte_end":692391,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692407,"byte_end":692412,"line_start":7,"line_end":7,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692414,"byte_end":692420,"line_start":7,"line_end":7,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692434,"byte_end":692439,"line_start":8,"line_end":8,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/new_idl.rs","byte_start":692441,"byte_end":692444,"line_start":8,"line_end":8,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692541,"byte_end":692546,"line_start":13,"line_end":13,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692560,"byte_end":692563,"line_start":14,"line_end":14,"column_start":5,"column_end":8},"ref_id":{"krate":0,"index":4136}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692708,"byte_end":692715,"line_start":26,"line_end":26,"column_start":19,"column_end":26},"ref_id":{"krate":0,"index":4134}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692739,"byte_end":692742,"line_start":27,"line_end":27,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692743,"byte_end":692746,"line_start":27,"line_end":27,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692774,"byte_end":692777,"line_start":28,"line_end":28,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692792,"byte_end":692795,"line_start":28,"line_end":28,"column_start":42,"column_end":45},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692817,"byte_end":692820,"line_start":29,"line_end":29,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692821,"byte_end":692824,"line_start":29,"line_end":29,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692847,"byte_end":692850,"line_start":30,"line_end":30,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692851,"byte_end":692854,"line_start":30,"line_end":30,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692880,"byte_end":692883,"line_start":31,"line_end":31,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692884,"byte_end":692887,"line_start":31,"line_end":31,"column_start":26,"column_end":29},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692911,"byte_end":692918,"line_start":32,"line_end":32,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":4134}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":692941,"byte_end":692948,"line_start":33,"line_end":33,"column_start":20,"column_end":27},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692702,"byte_end":692706,"line_start":26,"line_end":26,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":4154}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692732,"byte_end":692737,"line_start":27,"line_end":27,"column_start":14,"column_end":19},"ref_id":{"krate":0,"index":4156}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692764,"byte_end":692768,"line_start":28,"line_end":28,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":4158}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692780,"byte_end":692786,"line_start":28,"line_end":28,"column_start":30,"column_end":36},"ref_id":{"krate":0,"index":4159}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692810,"byte_end":692815,"line_start":29,"line_end":29,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":4161}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692840,"byte_end":692845,"line_start":30,"line_end":30,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":4163}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692873,"byte_end":692878,"line_start":31,"line_end":31,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":4165}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692905,"byte_end":692909,"line_start":32,"line_end":32,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":4167}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":692935,"byte_end":692939,"line_start":33,"line_end":33,"column_start":14,"column_end":18},"ref_id":{"krate":0,"index":4169}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693288,"byte_end":693304,"line_start":51,"line_end":51,"column_start":12,"column_end":28},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693430,"byte_end":693436,"line_start":60,"line_end":60,"column_start":34,"column_end":40},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693437,"byte_end":693440,"line_start":60,"line_end":60,"column_start":41,"column_end":44},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693448,"byte_end":693456,"line_start":60,"line_end":60,"column_start":52,"column_end":60},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693484,"byte_end":693487,"line_start":61,"line_end":61,"column_start":25,"column_end":28},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693501,"byte_end":693504,"line_start":61,"line_end":61,"column_start":42,"column_end":45},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693496,"byte_end":693499,"line_start":61,"line_end":61,"column_start":37,"column_end":40},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693521,"byte_end":693536,"line_start":62,"line_end":62,"column_start":14,"column_end":29},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693516,"byte_end":693519,"line_start":62,"line_end":62,"column_start":9,"column_end":12},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693545,"byte_end":693551,"line_start":62,"line_end":62,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":1879050876}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693553,"byte_end":693558,"line_start":62,"line_end":62,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693560,"byte_end":693567,"line_start":62,"line_end":62,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693570,"byte_end":693575,"line_start":62,"line_end":62,"column_start":63,"column_end":68},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693580,"byte_end":693583,"line_start":62,"line_end":62,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":4136}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":693591,"byte_end":693594,"line_start":62,"line_end":62,"column_start":84,"column_end":87},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693585,"byte_end":693590,"line_start":62,"line_end":62,"column_start":78,"column_end":83},"ref_id":{"krate":0,"index":1073744508}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693610,"byte_end":693612,"line_start":63,"line_end":63,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693613,"byte_end":693619,"line_start":63,"line_end":63,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":1879050876}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693711,"byte_end":693714,"line_start":67,"line_end":67,"column_start":55,"column_end":58},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693715,"byte_end":693718,"line_start":67,"line_end":67,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693740,"byte_end":693747,"line_start":67,"line_end":67,"column_start":84,"column_end":91},"ref_id":{"krate":0,"index":4134}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693752,"byte_end":693758,"line_start":67,"line_end":67,"column_start":96,"column_end":102},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693763,"byte_end":693771,"line_start":67,"line_end":67,"column_start":107,"column_end":115},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693787,"byte_end":693792,"line_start":69,"line_end":69,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":1073744509}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693820,"byte_end":693823,"line_start":70,"line_end":70,"column_start":20,"column_end":23},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693834,"byte_end":693848,"line_start":70,"line_end":70,"column_start":34,"column_end":48},"ref_id":{"krate":0,"index":4066}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693824,"byte_end":693832,"line_start":70,"line_end":70,"column_start":24,"column_end":32},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693886,"byte_end":693895,"line_start":73,"line_end":73,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":2677}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693911,"byte_end":693916,"line_start":74,"line_end":74,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693918,"byte_end":693921,"line_start":74,"line_end":74,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693922,"byte_end":693927,"line_start":74,"line_end":74,"column_start":24,"column_end":29},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693942,"byte_end":693945,"line_start":75,"line_end":75,"column_start":13,"column_end":16},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693947,"byte_end":693950,"line_start":75,"line_end":75,"column_start":18,"column_end":21},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693951,"byte_end":693956,"line_start":75,"line_end":75,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":693971,"byte_end":693976,"line_start":76,"line_end":76,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693996,"byte_end":694005,"line_start":76,"line_end":76,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":693978,"byte_end":693994,"line_start":76,"line_end":76,"column_start":20,"column_end":36},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694019,"byte_end":694026,"line_start":77,"line_end":77,"column_start":13,"column_end":20},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694047,"byte_end":694052,"line_start":78,"line_end":78,"column_start":13,"column_end":18},"ref_id":{"krate":0,"index":2682}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694087,"byte_end":694090,"line_start":81,"line_end":81,"column_start":20,"column_end":23},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":694114,"byte_end":694121,"line_start":81,"line_end":81,"column_start":47,"column_end":54},"ref_id":{"krate":1,"index":7971}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":694106,"byte_end":694111,"line_start":81,"line_end":81,"column_start":39,"column_end":44},"ref_id":{"krate":1,"index":12644}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694099,"byte_end":694105,"line_start":81,"line_end":81,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694140,"byte_end":694146,"line_start":83,"line_end":83,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694147,"byte_end":694150,"line_start":83,"line_end":83,"column_start":22,"column_end":25},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694153,"byte_end":694156,"line_start":83,"line_end":83,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694157,"byte_end":694160,"line_start":83,"line_end":83,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694203,"byte_end":694208,"line_start":84,"line_end":84,"column_start":41,"column_end":46},"ref_id":{"krate":0,"index":1543506557}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694209,"byte_end":694215,"line_start":84,"line_end":84,"column_start":47,"column_end":53},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694216,"byte_end":694219,"line_start":84,"line_end":84,"column_start":54,"column_end":57},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694239,"byte_end":694248,"line_start":86,"line_end":86,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694260,"byte_end":694266,"line_start":86,"line_end":86,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694267,"byte_end":694270,"line_start":86,"line_end":86,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694277,"byte_end":694280,"line_start":86,"line_end":86,"column_start":55,"column_end":58},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694281,"byte_end":694284,"line_start":86,"line_end":86,"column_start":59,"column_end":62},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694289,"byte_end":694298,"line_start":86,"line_end":86,"column_start":67,"column_end":76},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694309,"byte_end":694314,"line_start":86,"line_end":86,"column_start":87,"column_end":92},"ref_id":{"krate":0,"index":1543506557}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694315,"byte_end":694321,"line_start":86,"line_end":86,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694322,"byte_end":694325,"line_start":86,"line_end":86,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694375,"byte_end":694384,"line_start":87,"line_end":87,"column_start":24,"column_end":33},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694397,"byte_end":694406,"line_start":87,"line_end":87,"column_start":46,"column_end":55},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694418,"byte_end":694424,"line_start":87,"line_end":87,"column_start":67,"column_end":73},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694425,"byte_end":694428,"line_start":87,"line_end":87,"column_start":74,"column_end":77},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694431,"byte_end":694434,"line_start":87,"line_end":87,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694435,"byte_end":694438,"line_start":87,"line_end":87,"column_start":84,"column_end":87},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694486,"byte_end":694491,"line_start":88,"line_end":88,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":1543506557}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694492,"byte_end":694498,"line_start":88,"line_end":88,"column_start":40,"column_end":46},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694499,"byte_end":694502,"line_start":88,"line_end":88,"column_start":47,"column_end":50},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694473,"byte_end":694482,"line_start":88,"line_end":88,"column_start":21,"column_end":30},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694525,"byte_end":694531,"line_start":89,"line_end":89,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694532,"byte_end":694535,"line_start":89,"line_end":89,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694593,"byte_end":694599,"line_start":93,"line_end":93,"column_start":19,"column_end":25},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694600,"byte_end":694605,"line_start":93,"line_end":93,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694642,"byte_end":694651,"line_start":94,"line_end":94,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694624,"byte_end":694640,"line_start":94,"line_end":94,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694642,"byte_end":694651,"line_start":94,"line_end":94,"column_start":35,"column_end":44},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694624,"byte_end":694640,"line_start":94,"line_end":94,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694685,"byte_end":694694,"line_start":96,"line_end":96,"column_start":28,"column_end":37},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694788,"byte_end":694794,"line_start":98,"line_end":98,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694795,"byte_end":694798,"line_start":98,"line_end":98,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694773,"byte_end":694779,"line_start":98,"line_end":98,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694780,"byte_end":694785,"line_start":98,"line_end":98,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694861,"byte_end":694866,"line_start":99,"line_end":99,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":694843,"byte_end":694859,"line_start":99,"line_end":99,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694828,"byte_end":694834,"line_start":99,"line_end":99,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694835,"byte_end":694840,"line_start":99,"line_end":99,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694986,"byte_end":694992,"line_start":102,"line_end":102,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694993,"byte_end":694996,"line_start":102,"line_end":102,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694971,"byte_end":694977,"line_start":102,"line_end":102,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":694978,"byte_end":694983,"line_start":102,"line_end":102,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695059,"byte_end":695064,"line_start":103,"line_end":103,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695041,"byte_end":695057,"line_start":103,"line_end":103,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695026,"byte_end":695032,"line_start":103,"line_end":103,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695033,"byte_end":695038,"line_start":103,"line_end":103,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695185,"byte_end":695191,"line_start":106,"line_end":106,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695192,"byte_end":695195,"line_start":106,"line_end":106,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695170,"byte_end":695176,"line_start":106,"line_end":106,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695177,"byte_end":695182,"line_start":106,"line_end":106,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695258,"byte_end":695264,"line_start":107,"line_end":107,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2675}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695240,"byte_end":695256,"line_start":107,"line_end":107,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695225,"byte_end":695231,"line_start":107,"line_end":107,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695232,"byte_end":695237,"line_start":107,"line_end":107,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695373,"byte_end":695379,"line_start":110,"line_end":110,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695380,"byte_end":695383,"line_start":110,"line_end":110,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695358,"byte_end":695364,"line_start":110,"line_end":110,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695365,"byte_end":695370,"line_start":110,"line_end":110,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695432,"byte_end":695448,"line_start":111,"line_end":111,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695450,"byte_end":695455,"line_start":111,"line_end":111,"column_start":62,"column_end":67},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695458,"byte_end":695466,"line_start":111,"line_end":111,"column_start":70,"column_end":78},"ref_id":{"krate":0,"index":2674}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695468,"byte_end":695474,"line_start":111,"line_end":111,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695475,"byte_end":695478,"line_start":111,"line_end":111,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695417,"byte_end":695423,"line_start":111,"line_end":111,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695424,"byte_end":695429,"line_start":111,"line_end":111,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695510,"byte_end":695516,"line_start":112,"line_end":112,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695517,"byte_end":695522,"line_start":112,"line_end":112,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695636,"byte_end":695642,"line_start":115,"line_end":115,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695643,"byte_end":695646,"line_start":115,"line_end":115,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695621,"byte_end":695627,"line_start":115,"line_end":115,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695628,"byte_end":695633,"line_start":115,"line_end":115,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695695,"byte_end":695711,"line_start":116,"line_end":116,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695713,"byte_end":695719,"line_start":116,"line_end":116,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695722,"byte_end":695730,"line_start":116,"line_end":116,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2664}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695732,"byte_end":695738,"line_start":116,"line_end":116,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695739,"byte_end":695742,"line_start":116,"line_end":116,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695680,"byte_end":695686,"line_start":116,"line_end":116,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695687,"byte_end":695692,"line_start":116,"line_end":116,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695774,"byte_end":695780,"line_start":117,"line_end":117,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695781,"byte_end":695786,"line_start":117,"line_end":117,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695901,"byte_end":695907,"line_start":120,"line_end":120,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695908,"byte_end":695911,"line_start":120,"line_end":120,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695886,"byte_end":695892,"line_start":120,"line_end":120,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695893,"byte_end":695898,"line_start":120,"line_end":120,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695960,"byte_end":695976,"line_start":121,"line_end":121,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":695978,"byte_end":695990,"line_start":121,"line_end":121,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695993,"byte_end":696001,"line_start":121,"line_end":121,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":2668}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696003,"byte_end":696009,"line_start":121,"line_end":121,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696010,"byte_end":696013,"line_start":121,"line_end":121,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695945,"byte_end":695951,"line_start":121,"line_end":121,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":695952,"byte_end":695957,"line_start":121,"line_end":121,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696124,"byte_end":696130,"line_start":124,"line_end":124,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696131,"byte_end":696134,"line_start":124,"line_end":124,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696109,"byte_end":696115,"line_start":124,"line_end":124,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696116,"byte_end":696121,"line_start":124,"line_end":124,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696183,"byte_end":696199,"line_start":125,"line_end":125,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696201,"byte_end":696213,"line_start":125,"line_end":125,"column_start":62,"column_end":74},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696216,"byte_end":696224,"line_start":125,"line_end":125,"column_start":77,"column_end":85},"ref_id":{"krate":0,"index":2670}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696226,"byte_end":696232,"line_start":125,"line_end":125,"column_start":87,"column_end":93},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696233,"byte_end":696236,"line_start":125,"line_end":125,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696168,"byte_end":696174,"line_start":125,"line_end":125,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696175,"byte_end":696180,"line_start":125,"line_end":125,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696340,"byte_end":696344,"line_start":128,"line_end":128,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696333,"byte_end":696339,"line_start":128,"line_end":128,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696350,"byte_end":696355,"line_start":128,"line_end":128,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4147}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696345,"byte_end":696348,"line_start":128,"line_end":128,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696457,"byte_end":696461,"line_start":131,"line_end":131,"column_start":36,"column_end":40},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696450,"byte_end":696456,"line_start":131,"line_end":131,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696467,"byte_end":696472,"line_start":131,"line_end":131,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":4149}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696462,"byte_end":696465,"line_start":131,"line_end":131,"column_start":41,"column_end":44},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696570,"byte_end":696576,"line_start":134,"line_end":134,"column_start":32,"column_end":38},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696577,"byte_end":696580,"line_start":134,"line_end":134,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696587,"byte_end":696590,"line_start":134,"line_end":134,"column_start":49,"column_end":52},"ref_id":{"krate":0,"index":268438141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696591,"byte_end":696594,"line_start":134,"line_end":134,"column_start":53,"column_end":56},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696598,"byte_end":696603,"line_start":134,"line_end":134,"column_start":60,"column_end":65},"ref_id":{"krate":0,"index":1543506557}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696604,"byte_end":696610,"line_start":134,"line_end":134,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696611,"byte_end":696614,"line_start":134,"line_end":134,"column_start":73,"column_end":76},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":696673,"byte_end":696677,"line_start":135,"line_end":135,"column_start":40,"column_end":44},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696666,"byte_end":696672,"line_start":135,"line_end":135,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696683,"byte_end":696688,"line_start":135,"line_end":135,"column_start":50,"column_end":55},"ref_id":{"krate":0,"index":4151}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696678,"byte_end":696681,"line_start":135,"line_end":135,"column_start":45,"column_end":48},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696723,"byte_end":696729,"line_start":136,"line_end":136,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696730,"byte_end":696733,"line_start":136,"line_end":136,"column_start":40,"column_end":43},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696876,"byte_end":696882,"line_start":140,"line_end":140,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696883,"byte_end":696886,"line_start":140,"line_end":140,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696861,"byte_end":696867,"line_start":140,"line_end":140,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696868,"byte_end":696873,"line_start":140,"line_end":140,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696935,"byte_end":696951,"line_start":141,"line_end":141,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":696953,"byte_end":696959,"line_start":141,"line_end":141,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696962,"byte_end":696970,"line_start":141,"line_end":141,"column_start":71,"column_end":79},"ref_id":{"krate":0,"index":2666}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696972,"byte_end":696978,"line_start":141,"line_end":141,"column_start":81,"column_end":87},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696979,"byte_end":696982,"line_start":141,"line_end":141,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696920,"byte_end":696926,"line_start":141,"line_end":141,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":696927,"byte_end":696932,"line_start":141,"line_end":141,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697093,"byte_end":697099,"line_start":144,"line_end":144,"column_start":44,"column_end":50},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697100,"byte_end":697103,"line_start":144,"line_end":144,"column_start":51,"column_end":54},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697078,"byte_end":697084,"line_start":144,"line_end":144,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697085,"byte_end":697090,"line_start":144,"line_end":144,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2678}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697152,"byte_end":697168,"line_start":145,"line_end":145,"column_start":44,"column_end":60},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697170,"byte_end":697178,"line_start":145,"line_end":145,"column_start":62,"column_end":70},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697181,"byte_end":697189,"line_start":145,"line_end":145,"column_start":73,"column_end":81},"ref_id":{"krate":0,"index":2672}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697191,"byte_end":697197,"line_start":145,"line_end":145,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697198,"byte_end":697201,"line_start":145,"line_end":145,"column_start":90,"column_end":93},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697137,"byte_end":697143,"line_start":145,"line_end":145,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697144,"byte_end":697149,"line_start":145,"line_end":145,"column_start":36,"column_end":41},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697464,"byte_end":697470,"line_start":156,"line_end":156,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2675}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697446,"byte_end":697462,"line_start":156,"line_end":156,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697464,"byte_end":697470,"line_start":156,"line_end":156,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2675}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697446,"byte_end":697462,"line_start":156,"line_end":156,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697501,"byte_end":697510,"line_start":157,"line_end":157,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697522,"byte_end":697531,"line_start":157,"line_end":157,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697544,"byte_end":697553,"line_start":157,"line_end":157,"column_start":69,"column_end":78},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697565,"byte_end":697574,"line_start":157,"line_end":157,"column_start":90,"column_end":99},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697586,"byte_end":697595,"line_start":157,"line_end":157,"column_start":111,"column_end":120},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697607,"byte_end":697616,"line_start":157,"line_end":157,"column_start":132,"column_end":141},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697628,"byte_end":697637,"line_start":157,"line_end":157,"column_start":153,"column_end":162},"ref_id":{"krate":0,"index":167774845}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":697781,"byte_end":697785,"line_start":160,"line_end":160,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697774,"byte_end":697780,"line_start":160,"line_end":160,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697786,"byte_end":697789,"line_start":160,"line_end":160,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697791,"byte_end":697797,"line_start":160,"line_end":160,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697800,"byte_end":697804,"line_start":160,"line_end":160,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":4169}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697806,"byte_end":697813,"line_start":160,"line_end":160,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697816,"byte_end":697821,"line_start":160,"line_end":160,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697823,"byte_end":697829,"line_start":160,"line_end":160,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697830,"byte_end":697835,"line_start":160,"line_end":160,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697837,"byte_end":697840,"line_start":160,"line_end":160,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697842,"byte_end":697848,"line_start":160,"line_end":160,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697849,"byte_end":697852,"line_start":160,"line_end":160,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697915,"byte_end":697924,"line_start":161,"line_end":161,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":697897,"byte_end":697913,"line_start":161,"line_end":161,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697882,"byte_end":697888,"line_start":161,"line_end":161,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697889,"byte_end":697894,"line_start":161,"line_end":161,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697950,"byte_end":697956,"line_start":162,"line_end":162,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":697957,"byte_end":697960,"line_start":162,"line_end":162,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698041,"byte_end":698047,"line_start":165,"line_end":165,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2665}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698023,"byte_end":698039,"line_start":165,"line_end":165,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698084,"byte_end":698093,"line_start":166,"line_end":166,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698132,"byte_end":698138,"line_start":167,"line_end":167,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698139,"byte_end":698144,"line_start":167,"line_end":167,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698196,"byte_end":698205,"line_start":169,"line_end":169,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698244,"byte_end":698250,"line_start":170,"line_end":170,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698251,"byte_end":698256,"line_start":170,"line_end":170,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698308,"byte_end":698314,"line_start":173,"line_end":173,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698315,"byte_end":698320,"line_start":173,"line_end":173,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2682}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698373,"byte_end":698376,"line_start":174,"line_end":174,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698377,"byte_end":698380,"line_start":174,"line_end":174,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698389,"byte_end":698392,"line_start":174,"line_end":174,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698384,"byte_end":698387,"line_start":174,"line_end":174,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698425,"byte_end":698440,"line_start":175,"line_end":175,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698420,"byte_end":698423,"line_start":175,"line_end":175,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698441,"byte_end":698446,"line_start":175,"line_end":175,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744509}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698457,"byte_end":698468,"line_start":175,"line_end":175,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3191868029}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698470,"byte_end":698476,"line_start":175,"line_end":175,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698478,"byte_end":698485,"line_start":175,"line_end":175,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698488,"byte_end":698493,"line_start":175,"line_end":175,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698495,"byte_end":698501,"line_start":175,"line_end":175,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698502,"byte_end":698507,"line_start":175,"line_end":175,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698509,"byte_end":698512,"line_start":175,"line_end":175,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698514,"byte_end":698520,"line_start":175,"line_end":175,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698521,"byte_end":698524,"line_start":175,"line_end":175,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":698560,"byte_end":698564,"line_start":176,"line_end":176,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698553,"byte_end":698559,"line_start":176,"line_end":176,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698565,"byte_end":698568,"line_start":176,"line_end":176,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698570,"byte_end":698576,"line_start":176,"line_end":176,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698579,"byte_end":698584,"line_start":176,"line_end":176,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":4156}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698586,"byte_end":698597,"line_start":176,"line_end":176,"column_start":58,"column_end":69},"ref_id":{"krate":0,"index":3191868029}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698659,"byte_end":698668,"line_start":177,"line_end":177,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698641,"byte_end":698657,"line_start":177,"line_end":177,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698626,"byte_end":698632,"line_start":177,"line_end":177,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698633,"byte_end":698638,"line_start":177,"line_end":177,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698746,"byte_end":698751,"line_start":181,"line_end":181,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2673}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":698728,"byte_end":698744,"line_start":181,"line_end":181,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698788,"byte_end":698797,"line_start":182,"line_end":182,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698836,"byte_end":698842,"line_start":183,"line_end":183,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698843,"byte_end":698848,"line_start":183,"line_end":183,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698900,"byte_end":698909,"line_start":185,"line_end":185,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698948,"byte_end":698954,"line_start":186,"line_end":186,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":698955,"byte_end":698960,"line_start":186,"line_end":186,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699012,"byte_end":699018,"line_start":189,"line_end":189,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699019,"byte_end":699024,"line_start":189,"line_end":189,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2682}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699077,"byte_end":699080,"line_start":190,"line_end":190,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699081,"byte_end":699084,"line_start":190,"line_end":190,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699093,"byte_end":699096,"line_start":190,"line_end":190,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699088,"byte_end":699091,"line_start":190,"line_end":190,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699129,"byte_end":699144,"line_start":191,"line_end":191,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699124,"byte_end":699127,"line_start":191,"line_end":191,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699145,"byte_end":699150,"line_start":191,"line_end":191,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744509}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699161,"byte_end":699172,"line_start":191,"line_end":191,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":792726141}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699174,"byte_end":699180,"line_start":191,"line_end":191,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699182,"byte_end":699189,"line_start":191,"line_end":191,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699192,"byte_end":699197,"line_start":191,"line_end":191,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699199,"byte_end":699205,"line_start":191,"line_end":191,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699206,"byte_end":699211,"line_start":191,"line_end":191,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699213,"byte_end":699216,"line_start":191,"line_end":191,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699218,"byte_end":699224,"line_start":191,"line_end":191,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699225,"byte_end":699228,"line_start":191,"line_end":191,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699264,"byte_end":699268,"line_start":192,"line_end":192,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699257,"byte_end":699263,"line_start":192,"line_end":192,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699269,"byte_end":699272,"line_start":192,"line_end":192,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699274,"byte_end":699281,"line_start":192,"line_end":192,"column_start":42,"column_end":49},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699284,"byte_end":699289,"line_start":192,"line_end":192,"column_start":52,"column_end":57},"ref_id":{"krate":0,"index":4165}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699291,"byte_end":699302,"line_start":192,"line_end":192,"column_start":59,"column_end":70},"ref_id":{"krate":0,"index":792726141}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699364,"byte_end":699373,"line_start":193,"line_end":193,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699346,"byte_end":699362,"line_start":193,"line_end":193,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699331,"byte_end":699337,"line_start":193,"line_end":193,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699338,"byte_end":699343,"line_start":193,"line_end":193,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699451,"byte_end":699457,"line_start":197,"line_end":197,"column_start":35,"column_end":41},"ref_id":{"krate":0,"index":2663}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699433,"byte_end":699449,"line_start":197,"line_end":197,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699494,"byte_end":699503,"line_start":198,"line_end":198,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699542,"byte_end":699548,"line_start":199,"line_end":199,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699549,"byte_end":699554,"line_start":199,"line_end":199,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699606,"byte_end":699615,"line_start":201,"line_end":201,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699654,"byte_end":699660,"line_start":202,"line_end":202,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699661,"byte_end":699666,"line_start":202,"line_end":202,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699718,"byte_end":699724,"line_start":205,"line_end":205,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699725,"byte_end":699730,"line_start":205,"line_end":205,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2682}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699783,"byte_end":699786,"line_start":206,"line_end":206,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699787,"byte_end":699790,"line_start":206,"line_end":206,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699799,"byte_end":699802,"line_start":206,"line_end":206,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699794,"byte_end":699797,"line_start":206,"line_end":206,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699835,"byte_end":699850,"line_start":207,"line_end":207,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699830,"byte_end":699833,"line_start":207,"line_end":207,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699851,"byte_end":699856,"line_start":207,"line_end":207,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744509}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699867,"byte_end":699878,"line_start":207,"line_end":207,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3602909821}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699880,"byte_end":699886,"line_start":207,"line_end":207,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699888,"byte_end":699895,"line_start":207,"line_end":207,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699898,"byte_end":699903,"line_start":207,"line_end":207,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699905,"byte_end":699911,"line_start":207,"line_end":207,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699912,"byte_end":699917,"line_start":207,"line_end":207,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699919,"byte_end":699922,"line_start":207,"line_end":207,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699924,"byte_end":699930,"line_start":207,"line_end":207,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699931,"byte_end":699934,"line_start":207,"line_end":207,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":699970,"byte_end":699974,"line_start":208,"line_end":208,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699963,"byte_end":699969,"line_start":208,"line_end":208,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699975,"byte_end":699978,"line_start":208,"line_end":208,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":699980,"byte_end":699984,"line_start":208,"line_end":208,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699987,"byte_end":699992,"line_start":208,"line_end":208,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":4161}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":699994,"byte_end":700005,"line_start":208,"line_end":208,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3602909821}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700067,"byte_end":700076,"line_start":209,"line_end":209,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700049,"byte_end":700065,"line_start":209,"line_end":209,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700034,"byte_end":700040,"line_start":209,"line_end":209,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700041,"byte_end":700046,"line_start":209,"line_end":209,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700153,"byte_end":700165,"line_start":213,"line_end":213,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":2669}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700135,"byte_end":700151,"line_start":213,"line_end":213,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700203,"byte_end":700212,"line_start":215,"line_end":215,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700223,"byte_end":700229,"line_start":215,"line_end":215,"column_start":45,"column_end":51},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700230,"byte_end":700237,"line_start":215,"line_end":215,"column_start":52,"column_end":59},"ref_id":{"krate":0,"index":2681}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":700280,"byte_end":700284,"line_start":216,"line_end":216,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700273,"byte_end":700279,"line_start":216,"line_end":216,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700285,"byte_end":700288,"line_start":216,"line_end":216,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700290,"byte_end":700296,"line_start":216,"line_end":216,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700299,"byte_end":700303,"line_start":216,"line_end":216,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":4167}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700305,"byte_end":700312,"line_start":216,"line_end":216,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700315,"byte_end":700320,"line_start":216,"line_end":216,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700322,"byte_end":700328,"line_start":216,"line_end":216,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700329,"byte_end":700334,"line_start":216,"line_end":216,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700336,"byte_end":700339,"line_start":216,"line_end":216,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700341,"byte_end":700347,"line_start":216,"line_end":216,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700348,"byte_end":700351,"line_start":216,"line_end":216,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700415,"byte_end":700424,"line_start":217,"line_end":217,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700397,"byte_end":700413,"line_start":217,"line_end":217,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700382,"byte_end":700388,"line_start":217,"line_end":217,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700389,"byte_end":700394,"line_start":217,"line_end":217,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700493,"byte_end":700502,"line_start":220,"line_end":220,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700544,"byte_end":700550,"line_start":221,"line_end":221,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700551,"byte_end":700558,"line_start":221,"line_end":221,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700620,"byte_end":700626,"line_start":223,"line_end":223,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700627,"byte_end":700634,"line_start":223,"line_end":223,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700719,"byte_end":700731,"line_start":226,"line_end":226,"column_start":35,"column_end":47},"ref_id":{"krate":0,"index":2667}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700701,"byte_end":700717,"line_start":226,"line_end":226,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700769,"byte_end":700778,"line_start":228,"line_end":228,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700790,"byte_end":700796,"line_start":228,"line_end":228,"column_start":46,"column_end":52},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700797,"byte_end":700804,"line_start":228,"line_end":228,"column_start":53,"column_end":60},"ref_id":{"krate":0,"index":2681}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":700847,"byte_end":700851,"line_start":229,"line_end":229,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700840,"byte_end":700846,"line_start":229,"line_end":229,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700852,"byte_end":700855,"line_start":229,"line_end":229,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700857,"byte_end":700863,"line_start":229,"line_end":229,"column_start":42,"column_end":48},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700866,"byte_end":700870,"line_start":229,"line_end":229,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":4167}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700872,"byte_end":700879,"line_start":229,"line_end":229,"column_start":57,"column_end":64},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700882,"byte_end":700887,"line_start":229,"line_end":229,"column_start":67,"column_end":72},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700889,"byte_end":700895,"line_start":229,"line_end":229,"column_start":74,"column_end":80},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700896,"byte_end":700901,"line_start":229,"line_end":229,"column_start":81,"column_end":86},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700903,"byte_end":700906,"line_start":229,"line_end":229,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700908,"byte_end":700914,"line_start":229,"line_end":229,"column_start":93,"column_end":99},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700915,"byte_end":700918,"line_start":229,"line_end":229,"column_start":100,"column_end":103},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700982,"byte_end":700991,"line_start":230,"line_end":230,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":700964,"byte_end":700980,"line_start":230,"line_end":230,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700949,"byte_end":700955,"line_start":230,"line_end":230,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":700956,"byte_end":700961,"line_start":230,"line_end":230,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701048,"byte_end":701057,"line_start":233,"line_end":233,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701099,"byte_end":701105,"line_start":234,"line_end":234,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701106,"byte_end":701113,"line_start":234,"line_end":234,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2681}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701175,"byte_end":701181,"line_start":236,"line_end":236,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701182,"byte_end":701189,"line_start":236,"line_end":236,"column_start":32,"column_end":39},"ref_id":{"krate":0,"index":2681}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701274,"byte_end":701279,"line_start":239,"line_end":239,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701256,"byte_end":701272,"line_start":239,"line_end":239,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701274,"byte_end":701279,"line_start":239,"line_end":239,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701256,"byte_end":701272,"line_start":239,"line_end":239,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701310,"byte_end":701319,"line_start":240,"line_end":240,"column_start":26,"column_end":35},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701331,"byte_end":701340,"line_start":240,"line_end":240,"column_start":47,"column_end":56},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701354,"byte_end":701363,"line_start":240,"line_end":240,"column_start":70,"column_end":79},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701375,"byte_end":701384,"line_start":240,"line_end":240,"column_start":91,"column_end":100},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701398,"byte_end":701407,"line_start":240,"line_end":240,"column_start":114,"column_end":123},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701419,"byte_end":701428,"line_start":240,"line_end":240,"column_start":135,"column_end":144},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701441,"byte_end":701450,"line_start":240,"line_end":240,"column_start":157,"column_end":166},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701462,"byte_end":701471,"line_start":240,"line_end":240,"column_start":178,"column_end":187},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701589,"byte_end":701595,"line_start":242,"line_end":242,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701596,"byte_end":701599,"line_start":242,"line_end":242,"column_start":38,"column_end":41},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":701613,"byte_end":701616,"line_start":242,"line_end":242,"column_start":55,"column_end":58},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701606,"byte_end":701612,"line_start":242,"line_end":242,"column_start":48,"column_end":54},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701623,"byte_end":701632,"line_start":242,"line_end":242,"column_start":65,"column_end":74},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701643,"byte_end":701648,"line_start":242,"line_end":242,"column_start":85,"column_end":90},"ref_id":{"krate":0,"index":1543506557}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701649,"byte_end":701655,"line_start":242,"line_end":242,"column_start":91,"column_end":97},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701656,"byte_end":701659,"line_start":242,"line_end":242,"column_start":98,"column_end":101},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701704,"byte_end":701710,"line_start":243,"line_end":243,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701711,"byte_end":701714,"line_start":243,"line_end":243,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":701797,"byte_end":701801,"line_start":245,"line_end":245,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701790,"byte_end":701796,"line_start":245,"line_end":245,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701802,"byte_end":701805,"line_start":245,"line_end":245,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701807,"byte_end":701812,"line_start":245,"line_end":245,"column_start":42,"column_end":47},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701815,"byte_end":701819,"line_start":245,"line_end":245,"column_start":50,"column_end":54},"ref_id":{"krate":0,"index":4154}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701821,"byte_end":701828,"line_start":245,"line_end":245,"column_start":56,"column_end":63},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701831,"byte_end":701836,"line_start":245,"line_end":245,"column_start":66,"column_end":71},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701838,"byte_end":701844,"line_start":245,"line_end":245,"column_start":73,"column_end":79},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701845,"byte_end":701850,"line_start":245,"line_end":245,"column_start":80,"column_end":85},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701852,"byte_end":701855,"line_start":245,"line_end":245,"column_start":87,"column_end":90},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701857,"byte_end":701863,"line_start":245,"line_end":245,"column_start":92,"column_end":98},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701864,"byte_end":701867,"line_start":245,"line_end":245,"column_start":99,"column_end":102},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701930,"byte_end":701939,"line_start":246,"line_end":246,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":701912,"byte_end":701928,"line_start":246,"line_end":246,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701897,"byte_end":701903,"line_start":246,"line_end":246,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701904,"byte_end":701909,"line_start":246,"line_end":246,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701965,"byte_end":701971,"line_start":247,"line_end":247,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":701972,"byte_end":701975,"line_start":247,"line_end":247,"column_start":32,"column_end":35},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702055,"byte_end":702063,"line_start":250,"line_end":250,"column_start":35,"column_end":43},"ref_id":{"krate":0,"index":2671}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702037,"byte_end":702053,"line_start":250,"line_end":250,"column_start":17,"column_end":33},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702100,"byte_end":702109,"line_start":251,"line_end":251,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702148,"byte_end":702154,"line_start":252,"line_end":252,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702155,"byte_end":702160,"line_start":252,"line_end":252,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702212,"byte_end":702221,"line_start":254,"line_end":254,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":167774845}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702260,"byte_end":702266,"line_start":255,"line_end":255,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702267,"byte_end":702272,"line_start":255,"line_end":255,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2682}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702324,"byte_end":702330,"line_start":258,"line_end":258,"column_start":24,"column_end":30},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702331,"byte_end":702336,"line_start":258,"line_end":258,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2682}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702389,"byte_end":702392,"line_start":259,"line_end":259,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702393,"byte_end":702396,"line_start":259,"line_end":259,"column_start":50,"column_end":53},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702405,"byte_end":702408,"line_start":259,"line_end":259,"column_start":62,"column_end":65},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702400,"byte_end":702403,"line_start":259,"line_end":259,"column_start":57,"column_end":60},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702441,"byte_end":702456,"line_start":260,"line_end":260,"column_start":30,"column_end":45},"ref_id":{"krate":0,"index":2685}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702436,"byte_end":702439,"line_start":260,"line_end":260,"column_start":25,"column_end":28},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702457,"byte_end":702462,"line_start":260,"line_end":260,"column_start":46,"column_end":51},"ref_id":{"krate":0,"index":1073744509}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702473,"byte_end":702484,"line_start":260,"line_end":260,"column_start":62,"column_end":73},"ref_id":{"krate":0,"index":3474983549}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702486,"byte_end":702492,"line_start":260,"line_end":260,"column_start":75,"column_end":81},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702494,"byte_end":702501,"line_start":260,"line_end":260,"column_start":83,"column_end":90},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702504,"byte_end":702509,"line_start":260,"line_end":260,"column_start":93,"column_end":98},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702511,"byte_end":702517,"line_start":260,"line_end":260,"column_start":100,"column_end":106},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702518,"byte_end":702523,"line_start":260,"line_end":260,"column_start":107,"column_end":112},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702525,"byte_end":702528,"line_start":260,"line_end":260,"column_start":114,"column_end":117},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702530,"byte_end":702536,"line_start":260,"line_end":260,"column_start":119,"column_end":125},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702537,"byte_end":702540,"line_start":260,"line_end":260,"column_start":126,"column_end":129},"ref_id":{"krate":0,"index":2679}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702576,"byte_end":702580,"line_start":261,"line_end":261,"column_start":32,"column_end":36},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702569,"byte_end":702575,"line_start":261,"line_end":261,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702581,"byte_end":702584,"line_start":261,"line_end":261,"column_start":37,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702586,"byte_end":702590,"line_start":261,"line_end":261,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702593,"byte_end":702598,"line_start":261,"line_end":261,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":4163}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702600,"byte_end":702611,"line_start":261,"line_end":261,"column_start":56,"column_end":67},"ref_id":{"krate":0,"index":3474983549}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702673,"byte_end":702682,"line_start":262,"line_end":262,"column_start":58,"column_end":67},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702655,"byte_end":702671,"line_start":262,"line_end":262,"column_start":40,"column_end":56},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702640,"byte_end":702646,"line_start":262,"line_end":262,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702647,"byte_end":702652,"line_start":262,"line_end":262,"column_start":32,"column_end":37},"ref_id":{"krate":0,"index":2680}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702760,"byte_end":702766,"line_start":268,"line_end":268,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702767,"byte_end":702770,"line_start":268,"line_end":268,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":2679}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702802,"byte_end":702808,"line_start":271,"line_end":271,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702809,"byte_end":702814,"line_start":271,"line_end":271,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":2680}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702847,"byte_end":702856,"line_start":272,"line_end":272,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702829,"byte_end":702845,"line_start":272,"line_end":272,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702847,"byte_end":702856,"line_start":272,"line_end":272,"column_start":31,"column_end":40},"ref_id":{"krate":0,"index":2659}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702829,"byte_end":702845,"line_start":272,"line_end":272,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":702904,"byte_end":702912,"line_start":273,"line_end":273,"column_start":42,"column_end":50},"ref_id":{"krate":0,"index":2672}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702893,"byte_end":702901,"line_start":273,"line_end":273,"column_start":31,"column_end":39},"ref_id":{"krate":0,"index":2671}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702875,"byte_end":702891,"line_start":273,"line_end":273,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":702960,"byte_end":702964,"line_start":274,"line_end":274,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":702952,"byte_end":702958,"line_start":274,"line_end":274,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703045,"byte_end":703053,"line_start":275,"line_end":275,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703039,"byte_end":703044,"line_start":275,"line_end":275,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308797}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703055,"byte_end":703061,"line_start":275,"line_end":275,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703062,"byte_end":703102,"line_start":275,"line_end":275,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703062,"byte_end":703092,"line_start":275,"line_end":275,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703070,"byte_end":703073,"line_start":275,"line_end":275,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703077,"byte_end":703085,"line_start":275,"line_end":275,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3399486077}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703094,"byte_end":703102,"line_start":275,"line_end":275,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703094,"byte_end":703102,"line_start":275,"line_end":275,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":3399486077}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703128,"byte_end":703136,"line_start":276,"line_end":276,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703122,"byte_end":703127,"line_start":276,"line_end":276,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308797}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703167,"byte_end":703175,"line_start":277,"line_end":277,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703161,"byte_end":703166,"line_start":277,"line_end":277,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":2057308797}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703177,"byte_end":703183,"line_start":277,"line_end":277,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703184,"byte_end":703237,"line_start":277,"line_end":277,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703184,"byte_end":703196,"line_start":277,"line_end":277,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703185,"byte_end":703193,"line_start":277,"line_end":277,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3399486077}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703198,"byte_end":703237,"line_start":277,"line_end":277,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703205,"byte_end":703208,"line_start":277,"line_end":277,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703209,"byte_end":703217,"line_start":277,"line_end":277,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3399486077}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703231,"byte_end":703234,"line_start":277,"line_end":277,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703224,"byte_end":703230,"line_start":277,"line_end":277,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703264,"byte_end":703267,"line_start":278,"line_end":278,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703268,"byte_end":703276,"line_start":278,"line_end":278,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703278,"byte_end":703284,"line_start":278,"line_end":278,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703287,"byte_end":703294,"line_start":278,"line_end":278,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703296,"byte_end":703301,"line_start":278,"line_end":278,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":2057308797}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703361,"byte_end":703369,"line_start":280,"line_end":280,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2666}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703352,"byte_end":703358,"line_start":280,"line_end":280,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2665}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703334,"byte_end":703350,"line_start":280,"line_end":280,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703418,"byte_end":703422,"line_start":281,"line_end":281,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703410,"byte_end":703416,"line_start":281,"line_end":281,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703502,"byte_end":703510,"line_start":282,"line_end":282,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703496,"byte_end":703501,"line_start":282,"line_end":282,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463165}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703512,"byte_end":703518,"line_start":282,"line_end":282,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703519,"byte_end":703559,"line_start":282,"line_end":282,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703519,"byte_end":703549,"line_start":282,"line_end":282,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703527,"byte_end":703530,"line_start":282,"line_end":282,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703534,"byte_end":703542,"line_start":282,"line_end":282,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2510293629}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703551,"byte_end":703559,"line_start":282,"line_end":282,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703551,"byte_end":703559,"line_start":282,"line_end":282,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2510293629}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703585,"byte_end":703593,"line_start":283,"line_end":283,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703579,"byte_end":703584,"line_start":283,"line_end":283,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463165}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703624,"byte_end":703632,"line_start":284,"line_end":284,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703618,"byte_end":703623,"line_start":284,"line_end":284,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":765463165}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703634,"byte_end":703640,"line_start":284,"line_end":284,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703641,"byte_end":703694,"line_start":284,"line_end":284,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703641,"byte_end":703653,"line_start":284,"line_end":284,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703642,"byte_end":703650,"line_start":284,"line_end":284,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2510293629}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703655,"byte_end":703694,"line_start":284,"line_end":284,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703662,"byte_end":703665,"line_start":284,"line_end":284,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703666,"byte_end":703674,"line_start":284,"line_end":284,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2510293629}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703688,"byte_end":703691,"line_start":284,"line_end":284,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703681,"byte_end":703687,"line_start":284,"line_end":284,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703721,"byte_end":703724,"line_start":285,"line_end":285,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703725,"byte_end":703733,"line_start":285,"line_end":285,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703735,"byte_end":703741,"line_start":285,"line_end":285,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703744,"byte_end":703751,"line_start":285,"line_end":285,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703753,"byte_end":703758,"line_start":285,"line_end":285,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":765463165}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703814,"byte_end":703822,"line_start":287,"line_end":287,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":2664}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703805,"byte_end":703811,"line_start":287,"line_end":287,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2663}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703787,"byte_end":703803,"line_start":287,"line_end":287,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703870,"byte_end":703874,"line_start":288,"line_end":288,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703862,"byte_end":703868,"line_start":288,"line_end":288,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703953,"byte_end":703961,"line_start":289,"line_end":289,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703947,"byte_end":703952,"line_start":289,"line_end":289,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471421}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703963,"byte_end":703969,"line_start":289,"line_end":289,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":703970,"byte_end":704010,"line_start":289,"line_end":289,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703970,"byte_end":704000,"line_start":289,"line_end":289,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":703978,"byte_end":703981,"line_start":289,"line_end":289,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":703985,"byte_end":703993,"line_start":289,"line_end":289,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4288678525}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704002,"byte_end":704010,"line_start":289,"line_end":289,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704002,"byte_end":704010,"line_start":289,"line_end":289,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":4288678525}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704036,"byte_end":704044,"line_start":290,"line_end":290,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704030,"byte_end":704035,"line_start":290,"line_end":290,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471421}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704075,"byte_end":704083,"line_start":291,"line_end":291,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704069,"byte_end":704074,"line_start":291,"line_end":291,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1348471421}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704085,"byte_end":704091,"line_start":291,"line_end":291,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704092,"byte_end":704145,"line_start":291,"line_end":291,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704092,"byte_end":704104,"line_start":291,"line_end":291,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704093,"byte_end":704101,"line_start":291,"line_end":291,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":4288678525}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704106,"byte_end":704145,"line_start":291,"line_end":291,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704113,"byte_end":704116,"line_start":291,"line_end":291,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704117,"byte_end":704125,"line_start":291,"line_end":291,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4288678525}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704139,"byte_end":704142,"line_start":291,"line_end":291,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704132,"byte_end":704138,"line_start":291,"line_end":291,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704172,"byte_end":704175,"line_start":292,"line_end":292,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704176,"byte_end":704184,"line_start":292,"line_end":292,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704186,"byte_end":704192,"line_start":292,"line_end":292,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704195,"byte_end":704202,"line_start":292,"line_end":292,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704204,"byte_end":704209,"line_start":292,"line_end":292,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":1348471421}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704271,"byte_end":704279,"line_start":294,"line_end":294,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":2668}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704256,"byte_end":704268,"line_start":294,"line_end":294,"column_start":31,"column_end":43},"ref_id":{"krate":0,"index":2667}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704238,"byte_end":704254,"line_start":294,"line_end":294,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704328,"byte_end":704332,"line_start":295,"line_end":295,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704320,"byte_end":704326,"line_start":295,"line_end":295,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704412,"byte_end":704420,"line_start":296,"line_end":296,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704406,"byte_end":704411,"line_start":296,"line_end":296,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957437}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704422,"byte_end":704428,"line_start":296,"line_end":296,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704429,"byte_end":704469,"line_start":296,"line_end":296,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704429,"byte_end":704459,"line_start":296,"line_end":296,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704437,"byte_end":704440,"line_start":296,"line_end":296,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704444,"byte_end":704452,"line_start":296,"line_end":296,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2858420861}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704461,"byte_end":704469,"line_start":296,"line_end":296,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704461,"byte_end":704469,"line_start":296,"line_end":296,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2858420861}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704495,"byte_end":704503,"line_start":297,"line_end":297,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704489,"byte_end":704494,"line_start":297,"line_end":297,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957437}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704534,"byte_end":704542,"line_start":298,"line_end":298,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704528,"byte_end":704533,"line_start":298,"line_end":298,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":106957437}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704544,"byte_end":704550,"line_start":298,"line_end":298,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704551,"byte_end":704604,"line_start":298,"line_end":298,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704551,"byte_end":704563,"line_start":298,"line_end":298,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704552,"byte_end":704560,"line_start":298,"line_end":298,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2858420861}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704565,"byte_end":704604,"line_start":298,"line_end":298,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704572,"byte_end":704575,"line_start":298,"line_end":298,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704576,"byte_end":704584,"line_start":298,"line_end":298,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2858420861}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704598,"byte_end":704601,"line_start":298,"line_end":298,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704591,"byte_end":704597,"line_start":298,"line_end":298,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704631,"byte_end":704634,"line_start":299,"line_end":299,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704635,"byte_end":704643,"line_start":299,"line_end":299,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704645,"byte_end":704651,"line_start":299,"line_end":299,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704654,"byte_end":704661,"line_start":299,"line_end":299,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704663,"byte_end":704668,"line_start":299,"line_end":299,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":106957437}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704730,"byte_end":704738,"line_start":301,"line_end":301,"column_start":46,"column_end":54},"ref_id":{"krate":0,"index":2670}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704715,"byte_end":704727,"line_start":301,"line_end":301,"column_start":31,"column_end":43},"ref_id":{"krate":0,"index":2669}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704697,"byte_end":704713,"line_start":301,"line_end":301,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704787,"byte_end":704791,"line_start":302,"line_end":302,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704779,"byte_end":704785,"line_start":302,"line_end":302,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704871,"byte_end":704879,"line_start":303,"line_end":303,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704865,"byte_end":704870,"line_start":303,"line_end":303,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010685}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704881,"byte_end":704887,"line_start":303,"line_end":303,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":704888,"byte_end":704928,"line_start":303,"line_end":303,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704888,"byte_end":704918,"line_start":303,"line_end":303,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704896,"byte_end":704899,"line_start":303,"line_end":303,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704903,"byte_end":704911,"line_start":303,"line_end":303,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":3579841149}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704920,"byte_end":704928,"line_start":303,"line_end":303,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704920,"byte_end":704928,"line_start":303,"line_end":303,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":3579841149}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704954,"byte_end":704962,"line_start":304,"line_end":304,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704948,"byte_end":704953,"line_start":304,"line_end":304,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010685}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":704994,"byte_end":705002,"line_start":305,"line_end":305,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":704988,"byte_end":704993,"line_start":305,"line_end":305,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":1835010685}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705004,"byte_end":705010,"line_start":305,"line_end":305,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705011,"byte_end":705064,"line_start":305,"line_end":305,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705011,"byte_end":705023,"line_start":305,"line_end":305,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705012,"byte_end":705020,"line_start":305,"line_end":305,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":3579841149}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705025,"byte_end":705064,"line_start":305,"line_end":305,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705032,"byte_end":705035,"line_start":305,"line_end":305,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705036,"byte_end":705044,"line_start":305,"line_end":305,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":3579841149}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705058,"byte_end":705061,"line_start":305,"line_end":305,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705051,"byte_end":705057,"line_start":305,"line_end":305,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705091,"byte_end":705094,"line_start":306,"line_end":306,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705095,"byte_end":705103,"line_start":306,"line_end":306,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705105,"byte_end":705111,"line_start":306,"line_end":306,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705114,"byte_end":705121,"line_start":306,"line_end":306,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705123,"byte_end":705128,"line_start":306,"line_end":306,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":1835010685}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705183,"byte_end":705191,"line_start":308,"line_end":308,"column_start":39,"column_end":47},"ref_id":{"krate":0,"index":2674}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705175,"byte_end":705180,"line_start":308,"line_end":308,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2673}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705157,"byte_end":705173,"line_start":308,"line_end":308,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705240,"byte_end":705244,"line_start":309,"line_end":309,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705232,"byte_end":705238,"line_start":309,"line_end":309,"column_start":33,"column_end":39},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705325,"byte_end":705333,"line_start":310,"line_end":310,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705319,"byte_end":705324,"line_start":310,"line_end":310,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989117}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705335,"byte_end":705341,"line_start":310,"line_end":310,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705342,"byte_end":705382,"line_start":310,"line_end":310,"column_start":40,"column_end":80},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705342,"byte_end":705372,"line_start":310,"line_end":310,"column_start":40,"column_end":70},"ref_id":{"krate":1,"index":37868}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705350,"byte_end":705353,"line_start":310,"line_end":310,"column_start":48,"column_end":51},"ref_id":{"krate":1,"index":2713}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705357,"byte_end":705365,"line_start":310,"line_end":310,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":2162166397}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705374,"byte_end":705382,"line_start":310,"line_end":310,"column_start":72,"column_end":80},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705374,"byte_end":705382,"line_start":310,"line_end":310,"column_start":72,"column_end":80},"ref_id":{"krate":0,"index":2162166397}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705408,"byte_end":705416,"line_start":311,"line_end":311,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705402,"byte_end":705407,"line_start":311,"line_end":311,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989117}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705447,"byte_end":705455,"line_start":312,"line_end":312,"column_start":23,"column_end":31},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705441,"byte_end":705446,"line_start":312,"line_end":312,"column_start":17,"column_end":22},"ref_id":{"krate":0,"index":819989117}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705457,"byte_end":705463,"line_start":312,"line_end":312,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705464,"byte_end":705517,"line_start":312,"line_end":312,"column_start":40,"column_end":93},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705464,"byte_end":705476,"line_start":312,"line_end":312,"column_start":40,"column_end":52},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705465,"byte_end":705473,"line_start":312,"line_end":312,"column_start":41,"column_end":49},"ref_id":{"krate":0,"index":2162166397}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705478,"byte_end":705517,"line_start":312,"line_end":312,"column_start":54,"column_end":93},"ref_id":{"krate":1,"index":37869}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705485,"byte_end":705488,"line_start":312,"line_end":312,"column_start":61,"column_end":64},"ref_id":{"krate":1,"index":2714}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705489,"byte_end":705497,"line_start":312,"line_end":312,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":2162166397}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705511,"byte_end":705514,"line_start":312,"line_end":312,"column_start":87,"column_end":90},"ref_id":{"krate":1,"index":12620}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705504,"byte_end":705510,"line_start":312,"line_end":312,"column_start":80,"column_end":86},"ref_id":{"krate":0,"index":1610615421}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705544,"byte_end":705547,"line_start":313,"line_end":313,"column_start":24,"column_end":27},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705548,"byte_end":705556,"line_start":313,"line_end":313,"column_start":28,"column_end":36},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705558,"byte_end":705564,"line_start":313,"line_end":313,"column_start":38,"column_end":44},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705567,"byte_end":705574,"line_start":313,"line_end":313,"column_start":47,"column_end":54},"ref_id":{"krate":0,"index":4069}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705576,"byte_end":705581,"line_start":313,"line_end":313,"column_start":56,"column_end":61},"ref_id":{"krate":0,"index":819989117}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705628,"byte_end":705633,"line_start":315,"line_end":315,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705610,"byte_end":705626,"line_start":315,"line_end":315,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705628,"byte_end":705633,"line_start":315,"line_end":315,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":2661}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705610,"byte_end":705626,"line_start":315,"line_end":315,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705662,"byte_end":705666,"line_start":316,"line_end":316,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705655,"byte_end":705661,"line_start":316,"line_end":316,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705667,"byte_end":705670,"line_start":316,"line_end":316,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705672,"byte_end":705677,"line_start":316,"line_end":316,"column_start":34,"column_end":39},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705680,"byte_end":705684,"line_start":316,"line_end":316,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":4154}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705686,"byte_end":705693,"line_start":316,"line_end":316,"column_start":48,"column_end":55},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705696,"byte_end":705701,"line_start":316,"line_end":316,"column_start":58,"column_end":63},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705703,"byte_end":705709,"line_start":316,"line_end":316,"column_start":65,"column_end":71},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705710,"byte_end":705715,"line_start":316,"line_end":316,"column_start":72,"column_end":77},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705717,"byte_end":705720,"line_start":316,"line_end":316,"column_start":79,"column_end":82},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705722,"byte_end":705728,"line_start":316,"line_end":316,"column_start":84,"column_end":90},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705729,"byte_end":705732,"line_start":316,"line_end":316,"column_start":91,"column_end":94},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705782,"byte_end":705788,"line_start":318,"line_end":318,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2675}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705764,"byte_end":705780,"line_start":318,"line_end":318,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705782,"byte_end":705788,"line_start":318,"line_end":318,"column_start":31,"column_end":37},"ref_id":{"krate":0,"index":2675}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705764,"byte_end":705780,"line_start":318,"line_end":318,"column_start":13,"column_end":29},"ref_id":{"krate":0,"index":2658}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":705817,"byte_end":705821,"line_start":319,"line_end":319,"column_start":24,"column_end":28},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705810,"byte_end":705816,"line_start":319,"line_end":319,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873597}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705822,"byte_end":705825,"line_start":319,"line_end":319,"column_start":29,"column_end":32},"ref_id":{"krate":0,"index":4146}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705827,"byte_end":705833,"line_start":319,"line_end":319,"column_start":34,"column_end":40},"ref_id":{"krate":0,"index":4146}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705836,"byte_end":705840,"line_start":319,"line_end":319,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":4169}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705842,"byte_end":705849,"line_start":319,"line_end":319,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":4134}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705852,"byte_end":705857,"line_start":319,"line_end":319,"column_start":59,"column_end":64},"ref_id":{"krate":0,"index":4135}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705859,"byte_end":705865,"line_start":319,"line_end":319,"column_start":66,"column_end":72},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705866,"byte_end":705871,"line_start":319,"line_end":319,"column_start":73,"column_end":78},"ref_id":{"krate":0,"index":2678}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705873,"byte_end":705876,"line_start":319,"line_end":319,"column_start":80,"column_end":83},"ref_id":{"krate":0,"index":4136}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705878,"byte_end":705884,"line_start":319,"line_end":319,"column_start":85,"column_end":91},"ref_id":{"krate":0,"index":3019901565}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":705885,"byte_end":705888,"line_start":319,"line_end":319,"column_start":92,"column_end":95},"ref_id":{"krate":0,"index":2679}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":705927,"byte_end":705929,"line_start":323,"line_end":323,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":706022,"byte_end":706026,"line_start":331,"line_end":331,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706014,"byte_end":706020,"line_start":331,"line_end":331,"column_start":18,"column_end":24},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":706175,"byte_end":706180,"line_start":339,"line_end":339,"column_start":16,"column_end":21},"ref_id":{"krate":0,"index":2684}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706170,"byte_end":706173,"line_start":339,"line_end":339,"column_start":11,"column_end":14},"ref_id":{"krate":0,"index":4146}},{"kind":"Function","span":{"file_name":"src/new_idl.rs","byte_start":706189,"byte_end":706194,"line_start":339,"line_end":339,"column_start":30,"column_end":35},"ref_id":{"krate":1,"index":2646}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":706182,"byte_end":706188,"line_start":339,"line_end":339,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":2415923279}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706208,"byte_end":706210,"line_start":340,"line_end":340,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706208,"byte_end":706210,"line_start":340,"line_end":340,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":706251,"byte_end":706254,"line_start":341,"line_end":341,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2818576463}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9552}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9237}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9551}},{"kind":"Mod","span":{"file_name":"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/macros.rs","byte_start":8070459,"byte_end":8070492,"line_start":99,"line_end":99,"column_start":28,"column_end":61},"ref_id":{"krate":1,"index":9552}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706276,"byte_end":706279,"line_start":343,"line_end":343,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/new_idl.rs","byte_start":706276,"byte_end":706279,"line_start":343,"line_end":343,"column_start":9,"column_end":12},"ref_id":{"krate":1,"index":39488}},{"kind":"Variable","span":{"file_name":"src/new_idl.rs","byte_start":706317,"byte_end":706318,"line_start":344,"line_end":344,"column_start":30,"column_end":31},"ref_id":{"krate":0,"index":3456110671}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22091,"byte_end":22098,"line_start":340,"line_end":340,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":2686}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706343,"byte_end":706348,"line_start":1,"line_end":1,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706350,"byte_end":706356,"line_start":1,"line_end":1,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706370,"byte_end":706375,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706377,"byte_end":706380,"line_start":2,"line_end":2,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706392,"byte_end":706397,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":706399,"byte_end":706404,"line_start":4,"line_end":4,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706514,"byte_end":706517,"line_start":10,"line_end":10,"column_start":11,"column_end":14},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706518,"byte_end":706521,"line_start":10,"line_end":10,"column_start":15,"column_end":18},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706528,"byte_end":706529,"line_start":10,"line_end":10,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":4177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706512,"line_start":10,"line_end":10,"column_start":5,"column_end":9},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706508,"byte_end":706532,"line_start":10,"line_end":10,"column_start":5,"column_end":29},"ref_id":{"krate":0,"index":4178}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"ref_id":{"krate":0,"index":4176}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706587,"byte_end":706588,"line_start":15,"line_end":15,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2699}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706630,"byte_end":706634,"line_start":18,"line_end":18,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4176}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706637,"byte_end":706641,"line_start":18,"line_end":18,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":4178}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706648,"byte_end":706661,"line_start":18,"line_end":18,"column_start":27,"column_end":40},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706643,"byte_end":706646,"line_start":18,"line_end":18,"column_start":22,"column_end":25},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706731,"byte_end":706744,"line_start":22,"line_end":22,"column_start":31,"column_end":44},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706726,"byte_end":706729,"line_start":22,"line_end":22,"column_start":26,"column_end":29},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706745,"byte_end":706754,"line_start":22,"line_end":22,"column_start":45,"column_end":54},"ref_id":{"krate":0,"index":2697}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706772,"byte_end":706778,"line_start":23,"line_end":23,"column_start":16,"column_end":22},"ref_id":{"krate":1,"index":7733}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706765,"byte_end":706771,"line_start":23,"line_end":23,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":1342179981}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706794,"byte_end":706797,"line_start":23,"line_end":23,"column_start":38,"column_end":41},"ref_id":{"krate":1,"index":7933}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706780,"byte_end":706792,"line_start":23,"line_end":23,"column_start":24,"column_end":36},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706780,"byte_end":706781,"line_start":23,"line_end":23,"column_start":24,"column_end":25},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706783,"byte_end":706792,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706783,"byte_end":706792,"line_start":23,"line_end":23,"column_start":27,"column_end":36},"ref_id":{"krate":0,"index":2697}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706807,"byte_end":706820,"line_start":23,"line_end":23,"column_start":51,"column_end":64},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706802,"byte_end":706805,"line_start":23,"line_end":23,"column_start":46,"column_end":49},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706835,"byte_end":706839,"line_start":24,"line_end":24,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":4176}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706842,"byte_end":706846,"line_start":24,"line_end":24,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706848,"byte_end":706854,"line_start":24,"line_end":24,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":1342179981}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706911,"byte_end":706912,"line_start":27,"line_end":27,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":2699}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706917,"byte_end":706923,"line_start":27,"line_end":27,"column_start":54,"column_end":60},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":706928,"byte_end":706936,"line_start":27,"line_end":27,"column_start":65,"column_end":73},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706960,"byte_end":706978,"line_start":29,"line_end":29,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2710}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":706983,"byte_end":706991,"line_start":29,"line_end":29,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706979,"byte_end":706982,"line_start":29,"line_end":29,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873615}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":706995,"byte_end":706999,"line_start":29,"line_end":29,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2696}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707028,"byte_end":707032,"line_start":31,"line_end":31,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1207962255}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707044,"byte_end":707053,"line_start":31,"line_end":31,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2697}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707085,"byte_end":707088,"line_start":33,"line_end":33,"column_start":30,"column_end":33},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707067,"byte_end":707071,"line_start":33,"line_end":33,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":1073744527}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707072,"byte_end":707076,"line_start":33,"line_end":33,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707077,"byte_end":707083,"line_start":33,"line_end":33,"column_start":22,"column_end":28},"ref_id":{"krate":0,"index":3087010447}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707128,"byte_end":707132,"line_start":34,"line_end":34,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707110,"byte_end":707114,"line_start":34,"line_end":34,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744527}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707115,"byte_end":707119,"line_start":34,"line_end":34,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707120,"byte_end":707126,"line_start":34,"line_end":34,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3087010447}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707134,"byte_end":707138,"line_start":34,"line_end":34,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1207962255}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707140,"byte_end":707145,"line_start":34,"line_end":34,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615439}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707210,"byte_end":707218,"line_start":36,"line_end":36,"column_start":45,"column_end":53},"ref_id":{"krate":1,"index":11516}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707192,"byte_end":707196,"line_start":36,"line_end":36,"column_start":27,"column_end":31},"ref_id":{"krate":0,"index":1073744527}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707197,"byte_end":707201,"line_start":36,"line_end":36,"column_start":32,"column_end":36},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707202,"byte_end":707208,"line_start":36,"line_end":36,"column_start":37,"column_end":43},"ref_id":{"krate":0,"index":3087010447}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707243,"byte_end":707244,"line_start":37,"line_end":37,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2181040783}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707248,"byte_end":707252,"line_start":37,"line_end":37,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1207962255}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707280,"byte_end":707285,"line_start":38,"line_end":38,"column_start":26,"column_end":31},"ref_id":{"krate":0,"index":1610615439}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707276,"byte_end":707277,"line_start":38,"line_end":38,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":1107298959}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707314,"byte_end":707316,"line_start":39,"line_end":39,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707383,"byte_end":707387,"line_start":42,"line_end":42,"column_start":31,"column_end":35},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707365,"byte_end":707369,"line_start":42,"line_end":42,"column_start":13,"column_end":17},"ref_id":{"krate":0,"index":1073744527}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707370,"byte_end":707374,"line_start":42,"line_end":42,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707375,"byte_end":707381,"line_start":42,"line_end":42,"column_start":23,"column_end":29},"ref_id":{"krate":0,"index":3087010447}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707389,"byte_end":707393,"line_start":42,"line_end":42,"column_start":37,"column_end":41},"ref_id":{"krate":0,"index":1207962255}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707395,"byte_end":707400,"line_start":42,"line_end":42,"column_start":43,"column_end":48},"ref_id":{"krate":0,"index":1610615439}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707423,"byte_end":707425,"line_start":45,"line_end":45,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707473,"byte_end":707479,"line_start":48,"line_end":48,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707481,"byte_end":707482,"line_start":48,"line_end":48,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":2699}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707505,"byte_end":707523,"line_start":49,"line_end":49,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2710}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707528,"byte_end":707536,"line_start":49,"line_end":49,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707524,"byte_end":707527,"line_start":49,"line_end":49,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873616}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707540,"byte_end":707544,"line_start":49,"line_end":49,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2696}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707568,"byte_end":707572,"line_start":50,"line_end":50,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":134220432}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707584,"byte_end":707593,"line_start":50,"line_end":50,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2697}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707620,"byte_end":707623,"line_start":52,"line_end":52,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":11498}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707610,"byte_end":707614,"line_start":52,"line_end":52,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744528}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707615,"byte_end":707619,"line_start":52,"line_end":52,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707624,"byte_end":707630,"line_start":52,"line_end":52,"column_start":29,"column_end":35},"ref_id":{"krate":0,"index":3623881360}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707646,"byte_end":707650,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707646,"byte_end":707650,"line_start":53,"line_end":53,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":707687,"byte_end":707690,"line_start":54,"line_end":54,"column_start":29,"column_end":32},"ref_id":{"krate":5,"index":7177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707685,"byte_end":707686,"line_start":54,"line_end":54,"column_start":27,"column_end":28},"ref_id":{"krate":0,"index":603982480}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707713,"byte_end":707716,"line_start":55,"line_end":55,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3019901584}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707751,"byte_end":707755,"line_start":56,"line_end":56,"column_start":28,"column_end":32},"ref_id":{"krate":1,"index":39357}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707794,"byte_end":707797,"line_start":58,"line_end":58,"column_start":20,"column_end":23},"ref_id":{"krate":0,"index":3019901584}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707828,"byte_end":707829,"line_start":59,"line_end":59,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":603982480}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707838,"byte_end":707842,"line_start":59,"line_end":59,"column_start":34,"column_end":38},"ref_id":{"krate":0,"index":134220432}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707876,"byte_end":707880,"line_start":60,"line_end":60,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":707882,"byte_end":707883,"line_start":60,"line_end":60,"column_start":38,"column_end":39},"ref_id":{"krate":0,"index":603982480}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":707951,"byte_end":707955,"line_start":62,"line_end":62,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708029,"byte_end":708033,"line_start":65,"line_end":65,"column_start":33,"column_end":37},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708027,"byte_end":708028,"line_start":65,"line_end":65,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":603982480}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708062,"byte_end":708063,"line_start":66,"line_end":66,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2785020560}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708067,"byte_end":708071,"line_start":66,"line_end":66,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":134220432}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708105,"byte_end":708109,"line_start":67,"line_end":67,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":39359}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708110,"byte_end":708111,"line_start":67,"line_end":67,"column_start":37,"column_end":38},"ref_id":{"krate":0,"index":1711278736}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708169,"byte_end":708173,"line_start":70,"line_end":70,"column_start":17,"column_end":21},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708201,"byte_end":708205,"line_start":72,"line_end":72,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708201,"byte_end":708205,"line_start":72,"line_end":72,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708209,"byte_end":708213,"line_start":72,"line_end":72,"column_start":21,"column_end":25},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708292,"byte_end":708310,"line_start":77,"line_end":77,"column_start":20,"column_end":38},"ref_id":{"krate":0,"index":2710}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708315,"byte_end":708323,"line_start":77,"line_end":77,"column_start":43,"column_end":51},"ref_id":{"krate":1,"index":12628}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708311,"byte_end":708314,"line_start":77,"line_end":77,"column_start":39,"column_end":42},"ref_id":{"krate":0,"index":536873617}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708327,"byte_end":708331,"line_start":77,"line_end":77,"column_start":55,"column_end":59},"ref_id":{"krate":0,"index":2696}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708355,"byte_end":708359,"line_start":78,"line_end":78,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":134220433}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708371,"byte_end":708380,"line_start":78,"line_end":78,"column_start":38,"column_end":47},"ref_id":{"krate":0,"index":2697}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708406,"byte_end":708413,"line_start":79,"line_end":79,"column_start":25,"column_end":32},"ref_id":{"krate":1,"index":11500}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708396,"byte_end":708400,"line_start":79,"line_end":79,"column_start":15,"column_end":19},"ref_id":{"krate":0,"index":1073744529}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708401,"byte_end":708405,"line_start":79,"line_end":79,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":4178}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708414,"byte_end":708420,"line_start":79,"line_end":79,"column_start":33,"column_end":39},"ref_id":{"krate":0,"index":3623881361}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708436,"byte_end":708440,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":708436,"byte_end":708440,"line_start":80,"line_end":80,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":39359}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":708477,"byte_end":708483,"line_start":81,"line_end":81,"column_start":24,"column_end":30},"ref_id":{"krate":5,"index":7128}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708470,"byte_end":708476,"line_start":81,"line_end":81,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":603982481}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708495,"byte_end":708496,"line_start":81,"line_end":81,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":3556772497}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":708500,"byte_end":708504,"line_start":81,"line_end":81,"column_start":47,"column_end":51},"ref_id":{"krate":0,"index":134220433}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709813,"byte_end":709814,"line_start":114,"line_end":114,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709808,"byte_end":709809,"line_start":114,"line_end":114,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":709832,"byte_end":709844,"line_start":115,"line_end":115,"column_start":11,"column_end":23},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709830,"byte_end":709831,"line_start":115,"line_end":115,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709826,"byte_end":709827,"line_start":115,"line_end":115,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709867,"byte_end":709868,"line_start":116,"line_end":116,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709862,"byte_end":709863,"line_start":116,"line_end":116,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":709886,"byte_end":709898,"line_start":117,"line_end":117,"column_start":11,"column_end":23},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709884,"byte_end":709885,"line_start":117,"line_end":117,"column_start":9,"column_end":10},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709880,"byte_end":709881,"line_start":117,"line_end":117,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709921,"byte_end":709922,"line_start":118,"line_end":118,"column_start":10,"column_end":11},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709916,"byte_end":709917,"line_start":118,"line_end":118,"column_start":5,"column_end":6},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":709942,"byte_end":709943,"line_start":120,"line_end":120,"column_start":12,"column_end":13},"ref_id":{"krate":0,"index":1073744531}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710046,"byte_end":710058,"line_start":125,"line_end":125,"column_start":28,"column_end":40},"ref_id":{"krate":1,"index":24481}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710040,"byte_end":710045,"line_start":125,"line_end":125,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":536873620}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710084,"byte_end":710089,"line_start":126,"line_end":126,"column_start":22,"column_end":27},"ref_id":{"krate":0,"index":1073744532}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710118,"line_start":126,"line_end":126,"column_start":28,"column_end":56},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710100,"line_start":126,"line_end":126,"column_start":28,"column_end":38},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710090,"byte_end":710100,"line_start":126,"line_end":126,"column_start":28,"column_end":38},"ref_id":{"krate":0,"index":805309076}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710102,"byte_end":710118,"line_start":126,"line_end":126,"column_start":40,"column_end":56},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710103,"byte_end":710113,"line_start":126,"line_end":126,"column_start":41,"column_end":51},"ref_id":{"krate":0,"index":805309076}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710164,"byte_end":710173,"line_start":129,"line_end":129,"column_start":23,"column_end":32},"ref_id":{"krate":0,"index":939526804}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710228,"byte_end":710237,"line_start":130,"line_end":130,"column_start":20,"column_end":29},"ref_id":{"krate":1,"index":1658}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":710217,"byte_end":710221,"line_start":130,"line_end":130,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/hashmap.rs","byte_start":710223,"byte_end":710226,"line_start":130,"line_end":130,"column_start":15,"column_end":18},"ref_id":{"krate":1,"index":1832}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710238,"byte_end":710243,"line_start":130,"line_end":130,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1946159764}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710431,"byte_end":710434,"line_start":139,"line_end":139,"column_start":21,"column_end":24},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710425,"byte_end":710430,"line_start":139,"line_end":139,"column_start":15,"column_end":20},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710467,"byte_end":710470,"line_start":140,"line_end":140,"column_start":23,"column_end":26},"ref_id":{"krate":0,"index":1476397718}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710473,"byte_end":710482,"line_start":140,"line_end":140,"column_start":29,"column_end":38},"ref_id":{"krate":0,"index":134220438}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710502,"byte_end":710506,"line_start":142,"line_end":142,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":536873622}},{"kind":"Type","span":{"file_name":"src/hashmap.rs","byte_start":710522,"byte_end":710545,"line_start":144,"line_end":144,"column_start":14,"column_end":37},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710522,"byte_end":710523,"line_start":144,"line_end":144,"column_start":14,"column_end":15},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710525,"byte_end":710545,"line_start":144,"line_end":144,"column_start":17,"column_end":37},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710525,"byte_end":710536,"line_start":144,"line_end":144,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":1140853398}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710569,"byte_end":710581,"line_start":145,"line_end":145,"column_start":22,"column_end":34},"ref_id":{"krate":0,"index":2708}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710582,"byte_end":710587,"line_start":145,"line_end":145,"column_start":35,"column_end":40},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710589,"byte_end":710590,"line_start":145,"line_end":145,"column_start":42,"column_end":43},"ref_id":{"krate":0,"index":2348812950}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710610,"byte_end":710622,"line_start":147,"line_end":147,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710607,"byte_end":710609,"line_start":147,"line_end":147,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710623,"byte_end":710625,"line_start":147,"line_end":147,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":268438166}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710602,"byte_end":710604,"line_start":147,"line_end":147,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710644,"byte_end":710655,"line_start":148,"line_end":148,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710641,"byte_end":710643,"line_start":148,"line_end":148,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710636,"byte_end":710638,"line_start":148,"line_end":148,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710677,"byte_end":710689,"line_start":149,"line_end":149,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710674,"byte_end":710676,"line_start":149,"line_end":149,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710690,"byte_end":710692,"line_start":149,"line_end":149,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":805309078}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710669,"byte_end":710671,"line_start":149,"line_end":149,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710710,"byte_end":710712,"line_start":151,"line_end":151,"column_start":15,"column_end":17},"ref_id":{"krate":0,"index":2181040790}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710704,"byte_end":710706,"line_start":151,"line_end":151,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710730,"byte_end":710741,"line_start":152,"line_end":152,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710727,"byte_end":710729,"line_start":152,"line_end":152,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710722,"byte_end":710724,"line_start":152,"line_end":152,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710763,"byte_end":710775,"line_start":153,"line_end":153,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710760,"byte_end":710762,"line_start":153,"line_end":153,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710755,"byte_end":710757,"line_start":153,"line_end":153,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":710796,"byte_end":710808,"line_start":154,"line_end":154,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24174}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710793,"byte_end":710795,"line_start":154,"line_end":154,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710788,"byte_end":710790,"line_start":154,"line_end":154,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710858,"byte_end":710861,"line_start":158,"line_end":158,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397718}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710880,"byte_end":710885,"line_start":158,"line_end":158,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710887,"byte_end":710898,"line_start":158,"line_end":158,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853398}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710901,"byte_end":710910,"line_start":158,"line_end":158,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220438}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710873,"byte_end":710875,"line_start":158,"line_end":158,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710950,"byte_end":710953,"line_start":159,"line_end":159,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397718}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710972,"byte_end":710977,"line_start":159,"line_end":159,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710979,"byte_end":710990,"line_start":159,"line_end":159,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853398}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710993,"byte_end":711002,"line_start":159,"line_end":159,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220438}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":710965,"byte_end":710967,"line_start":159,"line_end":159,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711041,"byte_end":711044,"line_start":160,"line_end":160,"column_start":8,"column_end":11},"ref_id":{"krate":0,"index":1476397718}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711063,"byte_end":711068,"line_start":160,"line_end":160,"column_start":30,"column_end":35},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711070,"byte_end":711081,"line_start":160,"line_end":160,"column_start":37,"column_end":48},"ref_id":{"krate":0,"index":1140853398}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711084,"byte_end":711093,"line_start":160,"line_end":160,"column_start":51,"column_end":60},"ref_id":{"krate":0,"index":134220438}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711056,"byte_end":711058,"line_start":160,"line_end":160,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711133,"byte_end":711145,"line_start":161,"line_end":161,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711130,"byte_end":711132,"line_start":161,"line_end":161,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711146,"byte_end":711148,"line_start":161,"line_end":161,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":268438166}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711125,"byte_end":711127,"line_start":161,"line_end":161,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711167,"byte_end":711178,"line_start":162,"line_end":162,"column_start":17,"column_end":28},"ref_id":{"krate":1,"index":24137}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711164,"byte_end":711166,"line_start":162,"line_end":162,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711159,"byte_end":711161,"line_start":162,"line_end":162,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711200,"byte_end":711212,"line_start":163,"line_end":163,"column_start":17,"column_end":29},"ref_id":{"krate":1,"index":24177}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711197,"byte_end":711199,"line_start":163,"line_end":163,"column_start":14,"column_end":16},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711213,"byte_end":711215,"line_start":163,"line_end":163,"column_start":30,"column_end":32},"ref_id":{"krate":0,"index":805309078}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711192,"byte_end":711194,"line_start":163,"line_end":163,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711232,"byte_end":711234,"line_start":164,"line_end":164,"column_start":15,"column_end":17},"ref_id":{"krate":0,"index":3372223126}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711226,"byte_end":711228,"line_start":164,"line_end":164,"column_start":9,"column_end":11},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711259,"byte_end":711262,"line_start":167,"line_end":167,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711253,"byte_end":711258,"line_start":167,"line_end":167,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":1073744534}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711247,"byte_end":711249,"line_start":167,"line_end":167,"column_start":5,"column_end":7},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Function","span":{"file_name":"src/hashmap.rs","byte_start":711282,"byte_end":711288,"line_start":168,"line_end":168,"column_start":10,"column_end":16},"ref_id":{"krate":0,"index":2707}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711289,"byte_end":711291,"line_start":168,"line_end":168,"column_start":17,"column_end":19},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711277,"byte_end":711279,"line_start":168,"line_end":168,"column_start":5,"column_end":7},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Variable","span":{"file_name":"src/hashmap.rs","byte_start":711306,"byte_end":711308,"line_start":170,"line_end":170,"column_start":12,"column_end":14},"ref_id":{"krate":0,"index":3825207958}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22104,"byte_end":22109,"line_start":341,"line_end":341,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2711}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711316,"byte_end":711320,"line_start":1,"line_end":1,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711331,"byte_end":711336,"line_start":2,"line_end":2,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711338,"byte_end":711344,"line_start":2,"line_end":2,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711358,"byte_end":711363,"line_start":3,"line_end":3,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711365,"byte_end":711371,"line_start":3,"line_end":3,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":624}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711386,"byte_end":711391,"line_start":4,"line_end":4,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711393,"byte_end":711396,"line_start":4,"line_end":4,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711408,"byte_end":711413,"line_start":6,"line_end":6,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":711415,"byte_end":711420,"line_start":6,"line_end":6,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711603,"byte_end":711607,"line_start":15,"line_end":15,"column_start":8,"column_end":12},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711617,"byte_end":711621,"line_start":15,"line_end":15,"column_start":22,"column_end":26},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711637,"byte_end":711641,"line_start":15,"line_end":15,"column_start":42,"column_end":46},"ref_id":{"krate":0,"index":1073744555}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711713,"byte_end":711717,"line_start":20,"line_end":20,"column_start":8,"column_end":12},"ref_id":{"krate":0,"index":1073744556}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711726,"byte_end":711730,"line_start":20,"line_end":20,"column_start":21,"column_end":25},"ref_id":{"krate":0,"index":1073744556}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711746,"byte_end":711750,"line_start":20,"line_end":20,"column_start":41,"column_end":45},"ref_id":{"krate":0,"index":1073744556}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711861,"byte_end":711865,"line_start":30,"line_end":30,"column_start":30,"column_end":34},"ref_id":{"krate":0,"index":2733}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":711876,"byte_end":711880,"line_start":31,"line_end":31,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":2733}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711894,"byte_end":711895,"line_start":32,"line_end":32,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711897,"byte_end":711899,"line_start":32,"line_end":32,"column_start":16,"column_end":18},"ref_id":{"krate":0,"index":2727}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711900,"byte_end":711904,"line_start":32,"line_end":32,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711906,"byte_end":711907,"line_start":32,"line_end":32,"column_start":25,"column_end":26},"ref_id":{"krate":0,"index":2735}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711909,"byte_end":711911,"line_start":32,"line_end":32,"column_start":28,"column_end":30},"ref_id":{"krate":0,"index":2728}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711912,"byte_end":711916,"line_start":32,"line_end":32,"column_start":31,"column_end":35},"ref_id":{"krate":0,"index":1073744563}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711930,"byte_end":711931,"line_start":33,"line_end":33,"column_start":13,"column_end":14},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711933,"byte_end":711935,"line_start":33,"line_end":33,"column_start":16,"column_end":18},"ref_id":{"krate":0,"index":2729}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711937,"byte_end":711938,"line_start":33,"line_end":33,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":2737}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":711940,"byte_end":711942,"line_start":33,"line_end":33,"column_start":23,"column_end":25},"ref_id":{"krate":0,"index":2730}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712061,"byte_end":712065,"line_start":39,"line_end":39,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712066,"byte_end":712067,"line_start":39,"line_end":39,"column_start":22,"column_end":23},"ref_id":{"krate":0,"index":2734}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712075,"byte_end":712087,"line_start":39,"line_end":39,"column_start":31,"column_end":43},"ref_id":{"krate":1,"index":24183}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712068,"byte_end":712072,"line_start":39,"line_end":39,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712073,"byte_end":712074,"line_start":39,"line_end":39,"column_start":29,"column_end":30},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712110,"byte_end":712114,"line_start":40,"line_end":40,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712115,"byte_end":712116,"line_start":40,"line_end":40,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2735}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712101,"byte_end":712105,"line_start":40,"line_end":40,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712106,"byte_end":712107,"line_start":40,"line_end":40,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":2734}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712127,"byte_end":712131,"line_start":40,"line_end":40,"column_start":35,"column_end":39},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712132,"byte_end":712133,"line_start":40,"line_end":40,"column_start":40,"column_end":41},"ref_id":{"krate":0,"index":2736}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712118,"byte_end":712122,"line_start":40,"line_end":40,"column_start":26,"column_end":30},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712123,"byte_end":712124,"line_start":40,"line_end":40,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2735}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712144,"byte_end":712148,"line_start":40,"line_end":40,"column_start":52,"column_end":56},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712149,"byte_end":712150,"line_start":40,"line_end":40,"column_start":57,"column_end":58},"ref_id":{"krate":0,"index":2737}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712135,"byte_end":712139,"line_start":40,"line_end":40,"column_start":43,"column_end":47},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712140,"byte_end":712141,"line_start":40,"line_end":40,"column_start":48,"column_end":49},"ref_id":{"krate":0,"index":2736}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712177,"byte_end":712189,"line_start":41,"line_end":41,"column_start":26,"column_end":38},"ref_id":{"krate":1,"index":24184}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712170,"byte_end":712174,"line_start":41,"line_end":41,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712175,"byte_end":712176,"line_start":41,"line_end":41,"column_start":24,"column_end":25},"ref_id":{"krate":0,"index":2737}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712194,"byte_end":712195,"line_start":41,"line_end":41,"column_start":43,"column_end":44},"ref_id":{"krate":0,"index":4026534580}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712198,"byte_end":712210,"line_start":41,"line_end":41,"column_start":47,"column_end":59},"ref_id":{"krate":1,"index":24184}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712196,"byte_end":712197,"line_start":41,"line_end":41,"column_start":45,"column_end":46},"ref_id":{"krate":0,"index":4026534580}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712160,"byte_end":712164,"line_start":41,"line_end":41,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712165,"byte_end":712166,"line_start":41,"line_end":41,"column_start":14,"column_end":15},"ref_id":{"krate":0,"index":2737}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712230,"byte_end":712234,"line_start":42,"line_end":42,"column_start":16,"column_end":20},"ref_id":{"krate":0,"index":1073744564}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712235,"byte_end":712236,"line_start":42,"line_end":42,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":2737}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712319,"byte_end":712320,"line_start":46,"line_end":46,"column_start":18,"column_end":19},"ref_id":{"krate":0,"index":1610615477}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712321,"byte_end":712322,"line_start":46,"line_end":46,"column_start":20,"column_end":21},"ref_id":{"krate":0,"index":536873653}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712349,"byte_end":712350,"line_start":47,"line_end":47,"column_start":16,"column_end":17},"ref_id":{"krate":0,"index":536873653}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712357,"byte_end":712361,"line_start":47,"line_end":47,"column_start":24,"column_end":28},"ref_id":{"krate":0,"index":2740}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712352,"byte_end":712356,"line_start":47,"line_end":47,"column_start":19,"column_end":23},"ref_id":{"krate":0,"index":1073744565}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712364,"byte_end":712365,"line_start":47,"line_end":47,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":3355445941}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712427,"byte_end":712433,"line_start":52,"line_end":52,"column_start":26,"column_end":32},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712434,"byte_end":712435,"line_start":52,"line_end":52,"column_start":33,"column_end":34},"ref_id":{"krate":0,"index":2743}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712441,"byte_end":712447,"line_start":52,"line_end":52,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712448,"byte_end":712449,"line_start":52,"line_end":52,"column_start":47,"column_end":48},"ref_id":{"krate":0,"index":2743}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712451,"byte_end":712459,"line_start":52,"line_end":52,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":4059}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712473,"byte_end":712478,"line_start":53,"line_end":53,"column_start":11,"column_end":16},"ref_id":{"krate":0,"index":1073744566}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712489,"byte_end":712493,"line_start":54,"line_end":54,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712489,"byte_end":712493,"line_start":54,"line_end":54,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39359}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712500,"byte_end":712502,"line_start":54,"line_end":54,"column_start":20,"column_end":22},"ref_id":{"krate":1,"index":39485}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712503,"byte_end":712504,"line_start":54,"line_end":54,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1610615478}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712515,"byte_end":712519,"line_start":55,"line_end":55,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712515,"byte_end":712519,"line_start":55,"line_end":55,"column_start":9,"column_end":13},"ref_id":{"krate":1,"index":39357}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712523,"byte_end":712526,"line_start":55,"line_end":55,"column_start":17,"column_end":20},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712537,"byte_end":712540,"line_start":55,"line_end":55,"column_start":31,"column_end":34},"ref_id":{"krate":0,"index":2490}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712527,"byte_end":712535,"line_start":55,"line_end":55,"column_start":21,"column_end":29},"ref_id":{"krate":0,"index":4059}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712795,"byte_end":712800,"line_start":62,"line_end":62,"column_start":23,"column_end":28},"ref_id":{"krate":1,"index":2921}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":712818,"byte_end":712819,"line_start":62,"line_end":62,"column_start":46,"column_end":47},"ref_id":{"krate":0,"index":2747}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712919,"byte_end":712928,"line_start":65,"line_end":65,"column_start":48,"column_end":57},"ref_id":{"krate":1,"index":7948}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":712912,"byte_end":712916,"line_start":65,"line_end":65,"column_start":41,"column_end":45},"ref_id":{"krate":1,"index":11515}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712899,"byte_end":712911,"line_start":65,"line_end":65,"column_start":28,"column_end":40},"ref_id":{"krate":0,"index":2744}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712949,"byte_end":712953,"line_start":66,"line_end":66,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":2952792762}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712957,"byte_end":712963,"line_start":66,"line_end":66,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":2684357306}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":712989,"byte_end":712992,"line_start":67,"line_end":67,"column_start":24,"column_end":27},"ref_id":{"krate":0,"index":805309114}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713108,"byte_end":713111,"line_start":74,"line_end":74,"column_start":28,"column_end":31},"ref_id":{"krate":1,"index":24405}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713131,"byte_end":713134,"line_start":74,"line_end":74,"column_start":51,"column_end":54},"ref_id":{"krate":1,"index":12620}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713122,"byte_end":713128,"line_start":74,"line_end":74,"column_start":42,"column_end":48},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713112,"byte_end":713121,"line_start":74,"line_end":74,"column_start":32,"column_end":41},"ref_id":{"krate":0,"index":1073744570}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713184,"byte_end":713189,"line_start":76,"line_end":76,"column_start":34,"column_end":39},"ref_id":{"krate":1,"index":12644}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713175,"byte_end":713181,"line_start":76,"line_end":76,"column_start":25,"column_end":31},"ref_id":{"krate":1,"index":2923}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713165,"byte_end":713174,"line_start":76,"line_end":76,"column_start":15,"column_end":24},"ref_id":{"krate":0,"index":1073744570}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713214,"byte_end":713220,"line_start":77,"line_end":77,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":1107299002}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713221,"byte_end":713223,"line_start":77,"line_end":77,"column_start":28,"column_end":30},"ref_id":{"krate":0,"index":100666042}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713263,"byte_end":713275,"line_start":78,"line_end":78,"column_start":38,"column_end":50},"ref_id":{"krate":1,"index":24381}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713251,"byte_end":713255,"line_start":78,"line_end":78,"column_start":26,"column_end":30},"ref_id":{"krate":1,"index":2932}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713256,"byte_end":713261,"line_start":78,"line_end":78,"column_start":31,"column_end":36},"ref_id":{"krate":0,"index":1979714234}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713276,"byte_end":713281,"line_start":78,"line_end":78,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":2583694010}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713234,"byte_end":713241,"line_start":78,"line_end":78,"column_start":9,"column_end":16},"ref_id":{"krate":0,"index":301992634}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713292,"byte_end":713297,"line_start":79,"line_end":79,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2583694010}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713316,"byte_end":713323,"line_start":82,"line_end":82,"column_start":5,"column_end":12},"ref_id":{"krate":0,"index":301992634}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713371,"byte_end":713377,"line_start":85,"line_end":85,"column_start":45,"column_end":51},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713401,"byte_end":713404,"line_start":87,"line_end":87,"column_start":21,"column_end":24},"ref_id":{"krate":5,"index":7089}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713418,"byte_end":713431,"line_start":87,"line_end":87,"column_start":38,"column_end":51},"ref_id":{"krate":5,"index":7097}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713413,"byte_end":713416,"line_start":87,"line_end":87,"column_start":33,"column_end":36},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713432,"byte_end":713438,"line_start":87,"line_end":87,"column_start":52,"column_end":58},"ref_id":{"krate":0,"index":536873661}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713464,"byte_end":713473,"line_start":88,"line_end":88,"column_start":15,"column_end":24},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713464,"byte_end":713465,"line_start":88,"line_end":88,"column_start":15,"column_end":16},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713467,"byte_end":713473,"line_start":88,"line_end":88,"column_start":18,"column_end":24},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713467,"byte_end":713473,"line_start":88,"line_end":88,"column_start":18,"column_end":24},"ref_id":{"krate":0,"index":536873661}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713491,"byte_end":713495,"line_start":89,"line_end":89,"column_start":16,"column_end":20},"ref_id":{"krate":5,"index":7170}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713484,"byte_end":713490,"line_start":89,"line_end":89,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2818575037}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713529,"byte_end":713532,"line_start":92,"line_end":92,"column_start":21,"column_end":24},"ref_id":{"krate":0,"index":1073744573}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713546,"byte_end":713552,"line_start":93,"line_end":93,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":536873661}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713571,"byte_end":713580,"line_start":94,"line_end":94,"column_start":14,"column_end":23},"ref_id":{"krate":1,"index":37866}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713571,"byte_end":713572,"line_start":94,"line_end":94,"column_start":14,"column_end":15},"ref_id":{"krate":1,"index":37868}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713574,"byte_end":713580,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":1,"index":37869}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713574,"byte_end":713580,"line_start":94,"line_end":94,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":536873661}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713605,"byte_end":713610,"line_start":95,"line_end":95,"column_start":23,"column_end":28},"ref_id":{"krate":0,"index":2080377533}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713653,"byte_end":713665,"line_start":96,"line_end":96,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2744}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713666,"byte_end":713673,"line_start":96,"line_end":96,"column_start":49,"column_end":56},"ref_id":{"krate":0,"index":2583694013}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713626,"byte_end":713632,"line_start":96,"line_end":96,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":2818575037}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713634,"byte_end":713635,"line_start":96,"line_end":96,"column_start":17,"column_end":18},"ref_id":{"krate":0,"index":2717911741}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713638,"byte_end":713639,"line_start":96,"line_end":96,"column_start":21,"column_end":22},"ref_id":{"krate":0,"index":838863549}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713702,"byte_end":713707,"line_start":97,"line_end":97,"column_start":18,"column_end":23},"ref_id":{"krate":0,"index":2080377533}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713710,"byte_end":713717,"line_start":97,"line_end":97,"column_start":26,"column_end":33},"ref_id":{"krate":0,"index":2583694013}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713693,"byte_end":713698,"line_start":97,"line_end":97,"column_start":9,"column_end":14},"ref_id":{"krate":0,"index":2080377533}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713758,"byte_end":713764,"line_start":100,"line_end":100,"column_start":27,"column_end":33},"ref_id":{"krate":5,"index":7626}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713770,"byte_end":713778,"line_start":100,"line_end":100,"column_start":39,"column_end":47},"ref_id":{"krate":5,"index":665}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713797,"byte_end":713803,"line_start":102,"line_end":102,"column_start":15,"column_end":21},"ref_id":{"krate":0,"index":2818575037}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713825,"byte_end":713834,"line_start":103,"line_end":103,"column_start":20,"column_end":29},"ref_id":{"krate":1,"index":11729}},{"kind":"Mod","span":{"file_name":"src/utils.rs","byte_start":713820,"byte_end":713823,"line_start":103,"line_end":103,"column_start":15,"column_end":18},"ref_id":{"krate":1,"index":11718}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713837,"byte_end":713839,"line_start":103,"line_end":103,"column_start":32,"column_end":34},"ref_id":{"krate":0,"index":2835352253}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713862,"byte_end":713864,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713862,"byte_end":713864,"line_start":104,"line_end":104,"column_start":13,"column_end":15},"ref_id":{"krate":1,"index":39485}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713902,"byte_end":713910,"line_start":105,"line_end":105,"column_start":30,"column_end":38},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713889,"byte_end":713901,"line_start":105,"line_end":105,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1224739517}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713911,"byte_end":713912,"line_start":105,"line_end":105,"column_start":39,"column_end":40},"ref_id":{"krate":0,"index":352324285}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713942,"byte_end":713945,"line_start":107,"line_end":107,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Type","span":{"file_name":"src/utils.rs","byte_start":713942,"byte_end":713945,"line_start":107,"line_end":107,"column_start":13,"column_end":16},"ref_id":{"krate":1,"index":39488}},{"kind":"Function","span":{"file_name":"src/utils.rs","byte_start":713984,"byte_end":713992,"line_start":108,"line_end":108,"column_start":30,"column_end":38},"ref_id":{"krate":5,"index":5562}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":713971,"byte_end":713983,"line_start":108,"line_end":108,"column_start":17,"column_end":29},"ref_id":{"krate":0,"index":1224739517}},{"kind":"Variable","span":{"file_name":"src/utils.rs","byte_start":714034,"byte_end":714046,"line_start":113,"line_end":113,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":1224739517}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22150,"byte_end":22154,"line_start":346,"line_end":346,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":3242}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22156,"byte_end":22159,"line_start":346,"line_end":346,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3242}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22150,"byte_end":22154,"line_start":346,"line_end":346,"column_start":5,"column_end":9},"ref_id":{"krate":1,"index":3255}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22156,"byte_end":22159,"line_start":346,"line_end":346,"column_start":11,"column_end":14},"ref_id":{"krate":1,"index":3255}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22223,"byte_end":22228,"line_start":348,"line_end":348,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4126}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22230,"byte_end":22236,"line_start":348,"line_end":348,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2591}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22253,"byte_end":22258,"line_start":349,"line_end":349,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4082}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22260,"byte_end":22269,"line_start":349,"line_end":349,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22284,"byte_end":22289,"line_start":350,"line_end":350,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4052}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22291,"byte_end":22297,"line_start":350,"line_end":350,"column_start":12,"column_end":18},"ref_id":{"krate":0,"index":2355}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":22314,"byte_end":22319,"line_start":351,"line_end":351,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":2567}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22321,"byte_end":22330,"line_start":351,"line_end":351,"column_start":12,"column_end":21},"ref_id":{"krate":0,"index":2500}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22349,"byte_end":22354,"line_start":352,"line_end":352,"column_start":5,"column_end":10},"ref_id":{"krate":0,"index":4059}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22356,"byte_end":22361,"line_start":352,"line_end":352,"column_start":12,"column_end":17},"ref_id":{"krate":0,"index":2476}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":22377,"byte_end":22383,"line_start":353,"line_end":353,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":3705}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":22377,"byte_end":22383,"line_start":353,"line_end":353,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2274}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22425,"byte_end":22430,"line_start":354,"line_end":354,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22432,"byte_end":22435,"line_start":354,"line_end":354,"column_start":12,"column_end":15},"ref_id":{"krate":5,"index":6303}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22446,"byte_end":22451,"line_start":355,"line_end":355,"column_start":5,"column_end":10},"ref_id":{"krate":5,"index":0}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22453,"byte_end":22459,"line_start":355,"line_end":355,"column_start":12,"column_end":18},"ref_id":{"krate":5,"index":5446}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":22473,"byte_end":22479,"line_start":356,"line_end":356,"column_start":5,"column_end":11},"ref_id":{"krate":0,"index":2355}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25842,"byte_end":25851,"line_start":468,"line_end":468,"column_start":17,"column_end":26},"ref_id":{"krate":0,"index":4052}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25871,"byte_end":25874,"line_start":469,"line_end":469,"column_start":19,"column_end":22},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":25834,"byte_end":25840,"line_start":468,"line_end":468,"column_start":9,"column_end":15},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":25857,"byte_end":25869,"line_start":469,"line_end":469,"column_start":5,"column_end":17},"ref_id":{"krate":0,"index":4187}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25894,"byte_end":25898,"line_start":472,"line_end":472,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3024}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":25929,"byte_end":25933,"line_start":473,"line_end":473,"column_start":13,"column_end":17},"ref_id":{"krate":1,"index":3036}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":4193}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":4193}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":4193}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":4193}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26180,"byte_end":26194,"line_start":479,"line_end":479,"column_start":9,"column_end":23},"ref_id":{"krate":0,"index":4191}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26265,"byte_end":26281,"line_start":481,"line_end":481,"column_start":9,"column_end":25},"ref_id":{"krate":0,"index":4192}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26353,"byte_end":26365,"line_start":483,"line_end":483,"column_start":9,"column_end":21},"ref_id":{"krate":0,"index":4193}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"ref_id":{"krate":0,"index":4185}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26629,"byte_end":26633,"line_start":492,"line_end":492,"column_start":69,"column_end":73},"ref_id":{"krate":1,"index":2927}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26634,"byte_end":26640,"line_start":492,"line_end":492,"column_start":74,"column_end":80},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26626,"byte_end":26627,"line_start":492,"line_end":492,"column_start":66,"column_end":67},"ref_id":{"krate":0,"index":2794}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26591,"byte_end":26592,"line_start":492,"line_end":492,"column_start":31,"column_end":32},"ref_id":{"krate":0,"index":2794}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26597,"byte_end":26603,"line_start":492,"line_end":492,"column_start":37,"column_end":43},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26610,"byte_end":26618,"line_start":492,"line_end":492,"column_start":50,"column_end":58},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":26767,"byte_end":26775,"line_start":495,"line_end":495,"column_start":66,"column_end":74},"ref_id":{"krate":0,"index":2473}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26756,"byte_end":26765,"line_start":495,"line_end":495,"column_start":55,"column_end":64},"ref_id":{"krate":0,"index":4052}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":26781,"byte_end":26784,"line_start":495,"line_end":495,"column_start":80,"column_end":83},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26776,"byte_end":26779,"line_start":495,"line_end":495,"column_start":75,"column_end":78},"ref_id":{"krate":5,"index":7089}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":26789,"byte_end":26792,"line_start":495,"line_end":495,"column_start":88,"column_end":91},"ref_id":{"krate":0,"index":5}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":26795,"byte_end":26798,"line_start":495,"line_end":495,"column_start":94,"column_end":97},"ref_id":{"krate":0,"index":5}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26881,"byte_end":26883,"line_start":499,"line_end":499,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26884,"byte_end":26888,"line_start":499,"line_end":499,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26903,"byte_end":26915,"line_start":500,"line_end":500,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":4187}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26917,"byte_end":26929,"line_start":500,"line_end":500,"column_start":27,"column_end":39},"ref_id":{"krate":0,"index":3825208041}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26943,"byte_end":26949,"line_start":501,"line_end":501,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":26952,"byte_end":26961,"line_start":501,"line_end":501,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26980,"byte_end":26991,"line_start":502,"line_end":502,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4053}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":26993,"byte_end":27004,"line_start":502,"line_end":502,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1677724393}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27022,"byte_end":27028,"line_start":503,"line_end":503,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27030,"byte_end":27036,"line_start":503,"line_end":503,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":335547113}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27283,"byte_end":27289,"line_start":511,"line_end":511,"column_start":46,"column_end":52},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27296,"byte_end":27304,"line_start":511,"line_end":511,"column_start":59,"column_end":67},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27368,"byte_end":27378,"line_start":513,"line_end":513,"column_start":52,"column_end":62},"ref_id":{"krate":0,"index":2474}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27357,"byte_end":27366,"line_start":513,"line_end":513,"column_start":41,"column_end":50},"ref_id":{"krate":0,"index":4052}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27384,"byte_end":27387,"line_start":513,"line_end":513,"column_start":68,"column_end":71},"ref_id":{"krate":5,"index":7096}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27379,"byte_end":27382,"line_start":513,"line_end":513,"column_start":63,"column_end":66},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27394,"byte_end":27406,"line_start":513,"line_end":513,"column_start":78,"column_end":90},"ref_id":{"krate":0,"index":1073744619}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27476,"byte_end":27478,"line_start":517,"line_end":517,"column_start":9,"column_end":11},"ref_id":{"krate":1,"index":39485}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27479,"byte_end":27483,"line_start":517,"line_end":517,"column_start":12,"column_end":16},"ref_id":{"krate":0,"index":4185}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27498,"byte_end":27510,"line_start":518,"line_end":518,"column_start":13,"column_end":25},"ref_id":{"krate":0,"index":4187}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":27517,"byte_end":27521,"line_start":518,"line_end":518,"column_start":32,"column_end":36},"ref_id":{"krate":1,"index":2932}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27512,"byte_end":27515,"line_start":518,"line_end":518,"column_start":27,"column_end":30},"ref_id":{"krate":5,"index":7089}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27522,"byte_end":27534,"line_start":518,"line_end":518,"column_start":37,"column_end":49},"ref_id":{"krate":0,"index":1073744619}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27549,"byte_end":27555,"line_start":519,"line_end":519,"column_start":13,"column_end":19},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27558,"byte_end":27567,"line_start":519,"line_end":519,"column_start":22,"column_end":31},"ref_id":{"krate":0,"index":4052}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27587,"byte_end":27598,"line_start":520,"line_end":520,"column_start":17,"column_end":28},"ref_id":{"krate":0,"index":4053}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27600,"byte_end":27611,"line_start":520,"line_end":520,"column_start":30,"column_end":41},"ref_id":{"krate":0,"index":1207962347}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27629,"byte_end":27635,"line_start":521,"line_end":521,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27637,"byte_end":27643,"line_start":521,"line_end":521,"column_start":25,"column_end":31},"ref_id":{"krate":0,"index":3355445995}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27796,"byte_end":27800,"line_start":529,"line_end":529,"column_start":10,"column_end":14},"ref_id":{"krate":0,"index":1073744620}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":27801,"byte_end":27813,"line_start":529,"line_end":529,"column_start":15,"column_end":27},"ref_id":{"krate":0,"index":4187}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":27814,"byte_end":27816,"line_start":529,"line_end":529,"column_start":28,"column_end":30},"ref_id":{"krate":1,"index":37850}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28032,"byte_end":28038,"line_start":534,"line_end":534,"column_start":40,"column_end":46},"ref_id":{"krate":1,"index":39482}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28039,"byte_end":28045,"line_start":534,"line_end":534,"column_start":47,"column_end":53},"ref_id":{"krate":5,"index":7626}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28047,"byte_end":28055,"line_start":534,"line_end":534,"column_start":55,"column_end":63},"ref_id":{"krate":0,"index":4059}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28079,"byte_end":28085,"line_start":535,"line_end":535,"column_start":21,"column_end":27},"ref_id":{"krate":0,"index":2468}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28067,"byte_end":28071,"line_start":535,"line_end":535,"column_start":9,"column_end":13},"ref_id":{"krate":0,"index":1073744621}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28072,"byte_end":28078,"line_start":535,"line_end":535,"column_start":14,"column_end":20},"ref_id":{"krate":0,"index":4186}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28201,"byte_end":28204,"line_start":540,"line_end":540,"column_start":38,"column_end":41},"ref_id":{"krate":5,"index":7089}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28213,"byte_end":28222,"line_start":540,"line_end":540,"column_start":50,"column_end":59},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28244,"byte_end":28248,"line_start":541,"line_end":541,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28233,"byte_end":28242,"line_start":541,"line_end":541,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28260,"byte_end":28274,"line_start":541,"line_end":541,"column_start":36,"column_end":50},"ref_id":{"krate":0,"index":2610}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28249,"byte_end":28258,"line_start":541,"line_end":541,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28275,"byte_end":28280,"line_start":541,"line_end":541,"column_start":51,"column_end":56},"ref_id":{"krate":0,"index":536873710}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28283,"byte_end":28287,"line_start":541,"line_end":541,"column_start":59,"column_end":63},"ref_id":{"krate":0,"index":1073744622}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28288,"byte_end":28294,"line_start":541,"line_end":541,"column_start":64,"column_end":70},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28295,"byte_end":28301,"line_start":541,"line_end":541,"column_start":71,"column_end":77},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28303,"byte_end":28324,"line_start":541,"line_end":541,"column_start":79,"column_end":100},"ref_id":{"krate":0,"index":2274}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28760,"byte_end":28769,"line_start":550,"line_end":550,"column_start":77,"column_end":86},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28791,"byte_end":28795,"line_start":551,"line_end":551,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28780,"byte_end":28789,"line_start":551,"line_end":551,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":28807,"byte_end":28819,"line_start":551,"line_end":551,"column_start":36,"column_end":48},"ref_id":{"krate":0,"index":2611}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":28796,"byte_end":28805,"line_start":551,"line_end":551,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28820,"byte_end":28825,"line_start":551,"line_end":551,"column_start":49,"column_end":54},"ref_id":{"krate":0,"index":536873711}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28828,"byte_end":28832,"line_start":551,"line_end":551,"column_start":57,"column_end":61},"ref_id":{"krate":0,"index":1073744623}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28833,"byte_end":28839,"line_start":551,"line_end":551,"column_start":62,"column_end":68},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28840,"byte_end":28846,"line_start":551,"line_end":551,"column_start":69,"column_end":75},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":28848,"byte_end":28869,"line_start":551,"line_end":551,"column_start":77,"column_end":98},"ref_id":{"krate":0,"index":2274}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29768,"byte_end":29777,"line_start":563,"line_end":563,"column_start":102,"column_end":111},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":29799,"byte_end":29803,"line_start":564,"line_end":564,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29788,"byte_end":29797,"line_start":564,"line_end":564,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":29815,"byte_end":29831,"line_start":564,"line_end":564,"column_start":36,"column_end":52},"ref_id":{"krate":0,"index":2612}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":29804,"byte_end":29813,"line_start":564,"line_end":564,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29832,"byte_end":29837,"line_start":564,"line_end":564,"column_start":53,"column_end":58},"ref_id":{"krate":0,"index":536873713}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29839,"byte_end":29847,"line_start":564,"line_end":564,"column_start":60,"column_end":68},"ref_id":{"krate":0,"index":1610615537}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29850,"byte_end":29854,"line_start":564,"line_end":564,"column_start":71,"column_end":75},"ref_id":{"krate":0,"index":1073744625}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29855,"byte_end":29861,"line_start":564,"line_end":564,"column_start":76,"column_end":82},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29862,"byte_end":29868,"line_start":564,"line_end":564,"column_start":83,"column_end":89},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":29870,"byte_end":29891,"line_start":564,"line_end":564,"column_start":91,"column_end":112},"ref_id":{"krate":0,"index":2274}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30357,"byte_end":30363,"line_start":572,"line_end":572,"column_start":57,"column_end":63},"ref_id":{"krate":1,"index":39355}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30375,"byte_end":30384,"line_start":572,"line_end":572,"column_start":75,"column_end":84},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30406,"byte_end":30410,"line_start":573,"line_end":573,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30395,"byte_end":30404,"line_start":573,"line_end":573,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30422,"byte_end":30425,"line_start":573,"line_end":573,"column_start":36,"column_end":39},"ref_id":{"krate":0,"index":2613}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30411,"byte_end":30420,"line_start":573,"line_end":573,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30426,"byte_end":30434,"line_start":573,"line_end":573,"column_start":40,"column_end":48},"ref_id":{"krate":0,"index":536873715}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30437,"byte_end":30441,"line_start":573,"line_end":573,"column_start":51,"column_end":55},"ref_id":{"krate":0,"index":1073744627}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30442,"byte_end":30448,"line_start":573,"line_end":573,"column_start":56,"column_end":62},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30449,"byte_end":30455,"line_start":573,"line_end":573,"column_start":63,"column_end":69},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30457,"byte_end":30478,"line_start":573,"line_end":573,"column_start":71,"column_end":92},"ref_id":{"krate":0,"index":2274}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30745,"byte_end":30754,"line_start":580,"line_end":580,"column_start":84,"column_end":93},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30776,"byte_end":30780,"line_start":581,"line_end":581,"column_start":20,"column_end":24},"ref_id":{"krate":0,"index":2284}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30765,"byte_end":30774,"line_start":581,"line_end":581,"column_start":9,"column_end":18},"ref_id":{"krate":0,"index":3705}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":30792,"byte_end":30803,"line_start":581,"line_end":581,"column_start":36,"column_end":47},"ref_id":{"krate":0,"index":2615}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":30781,"byte_end":30790,"line_start":581,"line_end":581,"column_start":25,"column_end":34},"ref_id":{"krate":0,"index":4126}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30804,"byte_end":30809,"line_start":581,"line_end":581,"column_start":48,"column_end":53},"ref_id":{"krate":0,"index":536873717}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30812,"byte_end":30816,"line_start":581,"line_end":581,"column_start":56,"column_end":60},"ref_id":{"krate":0,"index":1073744629}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30817,"byte_end":30823,"line_start":581,"line_end":581,"column_start":61,"column_end":67},"ref_id":{"krate":0,"index":4186}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30824,"byte_end":30830,"line_start":581,"line_end":581,"column_start":68,"column_end":74},"ref_id":{"krate":0,"index":4054}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":30832,"byte_end":30853,"line_start":581,"line_end":581,"column_start":76,"column_end":97},"ref_id":{"krate":0,"index":2274}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34661,"byte_end":34667,"line_start":688,"line_end":688,"column_start":44,"column_end":50},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34645,"byte_end":34648,"line_start":688,"line_end":688,"column_start":28,"column_end":31},"ref_id":{"krate":0,"index":2793}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":34633,"byte_end":34643,"line_start":688,"line_end":688,"column_start":16,"column_end":26},"ref_id":{"krate":0,"index":4185}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34693,"byte_end":34703,"line_start":689,"line_end":689,"column_start":23,"column_end":33},"ref_id":{"krate":0,"index":2803}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34688,"byte_end":34692,"line_start":689,"line_end":689,"column_start":18,"column_end":22},"ref_id":{"krate":0,"index":3489665134}},{"kind":"Type","span":{"file_name":"src/lib.rs","byte_start":34704,"byte_end":34708,"line_start":689,"line_end":689,"column_start":34,"column_end":38},"ref_id":{"krate":1,"index":39357}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34921,"byte_end":34927,"line_start":695,"line_end":695,"column_start":15,"column_end":21},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34914,"byte_end":34918,"line_start":695,"line_end":695,"column_start":8,"column_end":12},"ref_id":{"krate":4,"index":946}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34728,"byte_end":34733,"line_start":690,"line_end":690,"column_start":18,"column_end":23},"ref_id":{"krate":4,"index":882}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":34715,"byte_end":34718,"line_start":690,"line_end":690,"column_start":5,"column_end":8},"ref_id":{"krate":4,"index":0}},{"kind":"Mod","span":{"file_name":"src/lib.rs","byte_start":34720,"byte_end":34726,"line_start":690,"line_end":690,"column_start":10,"column_end":16},"ref_id":{"krate":4,"index":553}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34765,"byte_end":34784,"line_start":691,"line_end":691,"column_start":22,"column_end":41},"ref_id":{"krate":0,"index":2796}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34760,"byte_end":34764,"line_start":691,"line_end":691,"column_start":17,"column_end":21},"ref_id":{"krate":0,"index":3489665134}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34804,"byte_end":34810,"line_start":692,"line_end":692,"column_start":17,"column_end":23},"ref_id":{"krate":0,"index":671092846}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34849,"byte_end":34855,"line_start":693,"line_end":693,"column_start":38,"column_end":44},"ref_id":{"krate":1,"index":8972}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34836,"byte_end":34846,"line_start":693,"line_end":693,"column_start":25,"column_end":35},"ref_id":{"krate":0,"index":2319}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34834,"byte_end":34835,"line_start":693,"line_end":693,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":1677725806}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34858,"byte_end":34872,"line_start":693,"line_end":693,"column_start":47,"column_end":61},"ref_id":{"krate":0,"index":4191}},{"kind":"Function","span":{"file_name":"src/lib.rs","byte_start":34899,"byte_end":34902,"line_start":694,"line_end":694,"column_start":25,"column_end":28},"ref_id":{"krate":1,"index":11488}},{"kind":"Variable","span":{"file_name":"src/lib.rs","byte_start":34897,"byte_end":34898,"line_start":694,"line_end":694,"column_start":23,"column_end":24},"ref_id":{"krate":0,"index":2214596718}}],"macro_refs":[],"relations":[{"span":{"file_name":"src/idl.rs","byte_start":35848,"byte_end":35857,"line_start":47,"line_end":47,"column_start":6,"column_end":15},"kind":{"Impl":{"id":0}},"from":{"krate":0,"index":2839},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/any.rs","byte_start":101521,"byte_end":101527,"line_start":18,"line_end":18,"column_start":35,"column_end":41},"kind":{"Impl":{"id":1}},"from":{"krate":0,"index":2862},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/any.rs","byte_start":104545,"byte_end":104551,"line_start":86,"line_end":86,"column_start":26,"column_end":32},"kind":{"Impl":{"id":2}},"from":{"krate":0,"index":2862},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/string.rs","byte_start":106230,"byte_end":106236,"line_start":43,"line_end":43,"column_start":36,"column_end":42},"kind":{"Impl":{"id":3}},"from":{"krate":5,"index":7626},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/string.rs","byte_start":107739,"byte_end":107745,"line_start":102,"line_end":102,"column_start":35,"column_end":41},"kind":{"Impl":{"id":4}},"from":{"krate":5,"index":7626},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/string.rs","byte_start":121938,"byte_end":121947,"line_start":514,"line_end":514,"column_start":36,"column_end":45},"kind":{"Impl":{"id":5}},"from":{"krate":0,"index":174},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/string.rs","byte_start":122299,"byte_end":122308,"line_start":527,"line_end":527,"column_start":35,"column_end":44},"kind":{"Impl":{"id":6}},"from":{"krate":0,"index":174},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":135036,"byte_end":135044,"line_start":40,"line_end":40,"column_start":43,"column_end":51},"kind":{"Impl":{"id":7}},"from":{"krate":0,"index":290},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":136435,"byte_end":136443,"line_start":94,"line_end":94,"column_start":35,"column_end":43},"kind":{"Impl":{"id":8}},"from":{"krate":0,"index":290},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/bytes.rs","byte_start":150406,"byte_end":150421,"line_start":484,"line_end":484,"column_start":35,"column_end":50},"kind":{"Impl":{"id":9}},"from":{"krate":0,"index":291},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":220700,"byte_end":220712,"line_start":50,"line_end":50,"column_start":43,"column_end":55},"kind":{"Impl":{"id":42}},"from":{"krate":0,"index":3322},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":221466,"byte_end":221478,"line_start":68,"line_end":68,"column_start":6,"column_end":18},"kind":{"Impl":{"id":43}},"from":{"krate":0,"index":3322},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":224118,"byte_end":224130,"line_start":131,"line_end":131,"column_start":18,"column_end":30},"kind":{"Impl":{"id":44}},"from":{"krate":0,"index":3322},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":224272,"byte_end":224284,"line_start":137,"line_end":137,"column_start":35,"column_end":47},"kind":{"Impl":{"id":45}},"from":{"krate":0,"index":3322},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":228398,"byte_end":228404,"line_start":242,"line_end":242,"column_start":43,"column_end":49},"kind":{"Impl":{"id":46}},"from":{"krate":0,"index":3335},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":229140,"byte_end":229146,"line_start":259,"line_end":259,"column_start":6,"column_end":12},"kind":{"Impl":{"id":47}},"from":{"krate":0,"index":3335},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":231785,"byte_end":231791,"line_start":338,"line_end":338,"column_start":18,"column_end":24},"kind":{"Impl":{"id":48}},"from":{"krate":0,"index":3335},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/geo.rs","byte_start":233464,"byte_end":233470,"line_start":391,"line_end":391,"column_start":35,"column_end":41},"kind":{"Impl":{"id":49}},"from":{"krate":0,"index":3335},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":264317,"byte_end":264323,"line_start":91,"line_end":91,"column_start":43,"column_end":49},"kind":{"Impl":{"id":50}},"from":{"krate":0,"index":3363},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":265005,"byte_end":265011,"line_start":108,"line_end":108,"column_start":6,"column_end":12},"kind":{"Impl":{"id":51}},"from":{"krate":0,"index":3363},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":269708,"byte_end":269714,"line_start":264,"line_end":264,"column_start":31,"column_end":37},"kind":{"Impl":{"id":52}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2675}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":271261,"byte_end":271267,"line_start":310,"line_end":310,"column_start":32,"column_end":38},"kind":{"Impl":{"id":53}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2722}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":273065,"byte_end":273071,"line_start":379,"line_end":379,"column_start":20,"column_end":26},"kind":{"Impl":{"id":54}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":273848,"byte_end":273854,"line_start":416,"line_end":416,"column_start":20,"column_end":26},"kind":{"Impl":{"id":56}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":275607,"byte_end":275613,"line_start":496,"line_end":496,"column_start":20,"column_end":26},"kind":{"Impl":{"id":58}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":276842,"byte_end":276848,"line_start":542,"line_end":542,"column_start":20,"column_end":26},"kind":{"Impl":{"id":60}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":2927}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":277899,"byte_end":277905,"line_start":579,"line_end":579,"column_start":31,"column_end":37},"kind":{"Impl":{"id":62}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3134}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278208,"byte_end":278214,"line_start":590,"line_end":590,"column_start":25,"column_end":31},"kind":{"Impl":{"id":63}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3106}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278605,"byte_end":278611,"line_start":603,"line_end":603,"column_start":31,"column_end":37},"kind":{"Impl":{"id":64}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3126}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":278914,"byte_end":278920,"line_start":614,"line_end":614,"column_start":25,"column_end":31},"kind":{"Impl":{"id":65}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3096}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":279311,"byte_end":279317,"line_start":627,"line_end":627,"column_start":31,"column_end":37},"kind":{"Impl":{"id":66}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3122}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":279620,"byte_end":279626,"line_start":638,"line_end":638,"column_start":25,"column_end":31},"kind":{"Impl":{"id":67}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3091}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280017,"byte_end":280023,"line_start":651,"line_end":651,"column_start":31,"column_end":37},"kind":{"Impl":{"id":68}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3130}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280326,"byte_end":280332,"line_start":662,"line_end":662,"column_start":25,"column_end":31},"kind":{"Impl":{"id":69}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3101}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280711,"byte_end":280717,"line_start":676,"line_end":676,"column_start":18,"column_end":24},"kind":{"Impl":{"id":70}},"from":{"krate":0,"index":3363},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/dec.rs","byte_start":280818,"byte_end":280824,"line_start":683,"line_end":683,"column_start":35,"column_end":41},"kind":{"Impl":{"id":71}},"from":{"krate":0,"index":3363},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":297440,"byte_end":297447,"line_start":53,"line_end":53,"column_start":6,"column_end":13},"kind":{"Impl":{"id":72}},"from":{"krate":0,"index":3387},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300534,"byte_end":300541,"line_start":159,"line_end":159,"column_start":18,"column_end":25},"kind":{"Impl":{"id":73}},"from":{"krate":0,"index":3387},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300633,"byte_end":300640,"line_start":165,"line_end":165,"column_start":16,"column_end":23},"kind":{"Impl":{"id":74}},"from":{"krate":0,"index":3387},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":300793,"byte_end":300800,"line_start":171,"line_end":171,"column_start":36,"column_end":43},"kind":{"Impl":{"id":75}},"from":{"krate":0,"index":3387},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/ulid.rs","byte_start":301222,"byte_end":301229,"line_start":185,"line_end":185,"column_start":35,"column_end":42},"kind":{"Impl":{"id":76}},"from":{"krate":0,"index":3387},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":311219,"byte_end":311226,"line_start":58,"line_end":58,"column_start":6,"column_end":13},"kind":{"Impl":{"id":77}},"from":{"krate":0,"index":3412},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313382,"byte_end":313389,"line_start":137,"line_end":137,"column_start":16,"column_end":23},"kind":{"Impl":{"id":78}},"from":{"krate":0,"index":3412},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313524,"byte_end":313531,"line_start":143,"line_end":143,"column_start":18,"column_end":25},"kind":{"Impl":{"id":79}},"from":{"krate":0,"index":3412},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":313642,"byte_end":313649,"line_start":149,"line_end":149,"column_start":36,"column_end":43},"kind":{"Impl":{"id":80}},"from":{"krate":0,"index":3412},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/uuid.rs","byte_start":314070,"byte_end":314077,"line_start":162,"line_end":162,"column_start":35,"column_end":42},"kind":{"Impl":{"id":81}},"from":{"krate":0,"index":3412},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/option.rs","byte_start":323782,"byte_end":323789,"line_start":45,"line_end":45,"column_start":43,"column_end":50},"kind":{"Impl":{"id":82}},"from":{"krate":0,"index":3437},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/option.rs","byte_start":324394,"byte_end":324401,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"kind":{"Impl":{"id":83}},"from":{"krate":0,"index":3437},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/option.rs","byte_start":325291,"byte_end":325298,"line_start":103,"line_end":103,"column_start":18,"column_end":25},"kind":{"Impl":{"id":84}},"from":{"krate":0,"index":3437},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/option.rs","byte_start":325395,"byte_end":325402,"line_start":109,"line_end":109,"column_start":35,"column_end":42},"kind":{"Impl":{"id":85}},"from":{"krate":0,"index":3437},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/date.rs","byte_start":343656,"byte_end":343663,"line_start":47,"line_end":47,"column_start":43,"column_end":50},"kind":{"Impl":{"id":86}},"from":{"krate":0,"index":3470},"to":{"krate":0,"index":1719}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344059,"byte_end":344066,"line_start":62,"line_end":62,"column_start":6,"column_end":13},"kind":{"Impl":{"id":87}},"from":{"krate":0,"index":3470},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344220,"byte_end":344227,"line_start":69,"line_end":69,"column_start":18,"column_end":25},"kind":{"Impl":{"id":88}},"from":{"krate":0,"index":3470},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344312,"byte_end":344319,"line_start":75,"line_end":75,"column_start":16,"column_end":23},"kind":{"Impl":{"id":89}},"from":{"krate":0,"index":3470},"to":{"krate":1,"index":9604}},{"span":{"file_name":"src/pointer/date.rs","byte_start":344465,"byte_end":344472,"line_start":81,"line_end":81,"column_start":35,"column_end":42},"kind":{"Impl":{"id":90}},"from":{"krate":0,"index":3470},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/portal.rs","byte_start":356499,"byte_end":356508,"line_start":73,"line_end":73,"column_start":35,"column_end":44},"kind":{"Impl":{"id":91}},"from":{"krate":0,"index":1531},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":58236,"byte_end":58253,"line_start":50,"line_end":50,"column_start":18,"column_end":35},"kind":{"Impl":{"id":92}},"from":{"krate":0,"index":3506},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":59718,"byte_end":59735,"line_start":92,"line_end":92,"column_start":27,"column_end":44},"kind":{"Impl":{"id":93}},"from":{"krate":0,"index":3506},"to":{"krate":0,"index":1648}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":60151,"byte_end":60171,"line_start":103,"line_end":103,"column_start":27,"column_end":47},"kind":{"Impl":{"id":94}},"from":{"krate":0,"index":3515},"to":{"krate":0,"index":1648}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":61030,"byte_end":61049,"line_start":122,"line_end":122,"column_start":27,"column_end":46},"kind":{"Impl":{"id":95}},"from":{"krate":0,"index":3524},"to":{"krate":0,"index":1648}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":62884,"byte_end":62893,"line_start":177,"line_end":177,"column_start":6,"column_end":15},"kind":{"Impl":{"id":96}},"from":{"krate":0,"index":3533},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/pointer/mod.rs","byte_start":63978,"byte_end":63987,"line_start":218,"line_end":218,"column_start":15,"column_end":24},"kind":{"Impl":{"id":97}},"from":{"krate":0,"index":3558},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/struc.rs","byte_start":367758,"byte_end":367767,"line_start":28,"line_end":28,"column_start":14,"column_end":23},"kind":{"Impl":{"id":98}},"from":{"krate":0,"index":3571},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/struc.rs","byte_start":373284,"byte_end":373293,"line_start":180,"line_end":180,"column_start":35,"column_end":44},"kind":{"Impl":{"id":99}},"from":{"krate":0,"index":3571},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/collection/map.rs","byte_start":394141,"byte_end":394153,"line_start":21,"line_end":21,"column_start":6,"column_end":18},"kind":{"Impl":{"id":100}},"from":{"krate":0,"index":3598},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":394500,"byte_end":394508,"line_start":39,"line_end":39,"column_start":13,"column_end":21},"kind":{"Impl":{"id":101}},"from":{"krate":0,"index":3603},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":394866,"byte_end":394872,"line_start":58,"line_end":58,"column_start":12,"column_end":18},"kind":{"Impl":{"id":102}},"from":{"krate":0,"index":3615},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/map.rs","byte_start":400060,"byte_end":400066,"line_start":202,"line_end":202,"column_start":35,"column_end":41},"kind":{"Impl":{"id":103}},"from":{"krate":0,"index":3615},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/collection/list.rs","byte_start":409778,"byte_end":409791,"line_start":21,"line_end":21,"column_start":6,"column_end":19},"kind":{"Impl":{"id":104}},"from":{"krate":0,"index":3637},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/list.rs","byte_start":410670,"byte_end":410677,"line_start":65,"line_end":65,"column_start":6,"column_end":13},"kind":{"Impl":{"id":105}},"from":{"krate":0,"index":3656},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/list.rs","byte_start":423126,"byte_end":423133,"line_start":365,"line_end":365,"column_start":35,"column_end":42},"kind":{"Impl":{"id":106}},"from":{"krate":0,"index":3656},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/collection/tuple.rs","byte_start":434354,"byte_end":434362,"line_start":24,"line_end":24,"column_start":6,"column_end":14},"kind":{"Impl":{"id":107}},"from":{"krate":0,"index":3684},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/collection/tuple.rs","byte_start":437568,"byte_end":437576,"line_start":123,"line_end":123,"column_start":35,"column_end":43},"kind":{"Impl":{"id":108}},"from":{"krate":0,"index":3684},"to":{"krate":0,"index":1724}},{"span":{"file_name":"src/buffer.rs","byte_start":457519,"byte_end":457528,"line_start":45,"line_end":45,"column_start":22,"column_end":31},"kind":{"Impl":{"id":109}},"from":{"krate":0,"index":3705},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/buffer.rs","byte_start":457671,"byte_end":457689,"line_start":54,"line_end":54,"column_start":6,"column_end":24},"kind":{"Impl":{"id":110}},"from":{"krate":0,"index":3713},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":458266,"byte_end":458275,"line_start":76,"line_end":76,"column_start":6,"column_end":15},"kind":{"Impl":{"id":111}},"from":{"krate":0,"index":3705},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":504378,"byte_end":504385,"line_start":1322,"line_end":1322,"column_start":13,"column_end":20},"kind":{"Impl":{"id":112}},"from":{"krate":0,"index":2323},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":507510,"byte_end":507532,"line_start":1426,"line_end":1426,"column_start":12,"column_end":34},"kind":{"Impl":{"id":113}},"from":{"krate":0,"index":3717},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":508694,"byte_end":508713,"line_start":1459,"line_end":1459,"column_start":11,"column_end":30},"kind":{"Impl":{"id":114}},"from":{"krate":0,"index":2342},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/buffer.rs","byte_start":509026,"byte_end":509045,"line_start":1471,"line_end":1471,"column_start":24,"column_end":43},"kind":{"Impl":{"id":115}},"from":{"krate":0,"index":2342},"to":{"krate":1,"index":7914}},{"span":{"file_name":"src/schema.rs","byte_start":546510,"byte_end":546521,"line_start":865,"line_end":865,"column_start":19,"column_end":30},"kind":{"Impl":{"id":116}},"from":{"krate":0,"index":3736},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/schema.rs","byte_start":546670,"byte_end":546681,"line_start":872,"line_end":872,"column_start":6,"column_end":17},"kind":{"Impl":{"id":117}},"from":{"krate":0,"index":3736},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/schema.rs","byte_start":548799,"byte_end":548810,"line_start":920,"line_end":920,"column_start":19,"column_end":30},"kind":{"Impl":{"id":118}},"from":{"krate":0,"index":3826},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/schema.rs","byte_start":550199,"byte_end":550215,"line_start":985,"line_end":985,"column_start":22,"column_end":38},"kind":{"Impl":{"id":119}},"from":{"krate":0,"index":3910},"to":{"krate":1,"index":3036}},{"span":{"file_name":"src/schema.rs","byte_start":550240,"byte_end":550256,"line_start":986,"line_end":986,"column_start":22,"column_end":38},"kind":{"Impl":{"id":120}},"from":{"krate":0,"index":3910},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/schema.rs","byte_start":550278,"byte_end":550294,"line_start":988,"line_end":988,"column_start":18,"column_end":34},"kind":{"Impl":{"id":121}},"from":{"krate":0,"index":3910},"to":{"krate":1,"index":3002}},{"span":{"file_name":"src/schema.rs","byte_start":553261,"byte_end":553277,"line_start":1152,"line_end":1152,"column_start":15,"column_end":31},"kind":{"Impl":{"id":122}},"from":{"krate":0,"index":3910},"to":{"krate":1,"index":3266}},{"span":{"file_name":"src/schema.rs","byte_start":558916,"byte_end":558925,"line_start":1287,"line_end":1287,"column_start":6,"column_end":15},"kind":{"Impl":{"id":123}},"from":{"krate":0,"index":4052},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/error.rs","byte_start":580959,"byte_end":580967,"line_start":26,"line_end":26,"column_start":6,"column_end":14},"kind":{"Impl":{"id":124}},"from":{"krate":0,"index":4059},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/error.rs","byte_start":581421,"byte_end":581429,"line_start":40,"line_end":40,"column_start":30,"column_end":38},"kind":{"Impl":{"id":125}},"from":{"krate":0,"index":4059},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/error.rs","byte_start":581577,"byte_end":581585,"line_start":46,"line_end":46,"column_start":43,"column_end":51},"kind":{"Impl":{"id":126}},"from":{"krate":0,"index":4059},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/error.rs","byte_start":581744,"byte_end":581752,"line_start":52,"line_end":52,"column_start":41,"column_end":49},"kind":{"Impl":{"id":127}},"from":{"krate":0,"index":4059},"to":{"krate":1,"index":2930}},{"span":{"file_name":"src/json_flex.rs","byte_start":583889,"byte_end":583894,"line_start":53,"line_end":53,"column_start":6,"column_end":11},"kind":{"Impl":{"id":128}},"from":{"krate":0,"index":4072},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/json_flex.rs","byte_start":585619,"byte_end":585626,"line_start":129,"line_end":129,"column_start":6,"column_end":13},"kind":{"Impl":{"id":129}},"from":{"krate":0,"index":4082},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/json_flex.rs","byte_start":592462,"byte_end":592469,"line_start":356,"line_end":356,"column_start":23,"column_end":30},"kind":{"Impl":{"id":130}},"from":{"krate":0,"index":4082},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/json_flex.rs","byte_start":592837,"byte_end":592844,"line_start":371,"line_end":371,"column_start":24,"column_end":31},"kind":{"Impl":{"id":131}},"from":{"krate":0,"index":4082},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/json_flex.rs","byte_start":593231,"byte_end":593238,"line_start":386,"line_end":386,"column_start":29,"column_end":36},"kind":{"Impl":{"id":132}},"from":{"krate":0,"index":4082},"to":{"krate":1,"index":3327}},{"span":{"file_name":"src/memory.rs","byte_start":682811,"byte_end":682820,"line_start":28,"line_end":28,"column_start":22,"column_end":31},"kind":{"Impl":{"id":133}},"from":{"krate":0,"index":4126},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/memory.rs","byte_start":682840,"byte_end":682849,"line_start":30,"line_end":30,"column_start":16,"column_end":25},"kind":{"Impl":{"id":134}},"from":{"krate":0,"index":4126},"to":{"krate":1,"index":2645}},{"span":{"file_name":"src/memory.rs","byte_start":683167,"byte_end":683176,"line_start":43,"line_end":43,"column_start":6,"column_end":15},"kind":{"Impl":{"id":135}},"from":{"krate":0,"index":4126},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/new_idl.rs","byte_start":693349,"byte_end":693352,"line_start":57,"line_end":57,"column_start":6,"column_end":9},"kind":{"Impl":{"id":136}},"from":{"krate":0,"index":4146},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/hashmap.rs","byte_start":706576,"byte_end":706586,"line_start":15,"line_end":15,"column_start":9,"column_end":19},"kind":{"Impl":{"id":137}},"from":{"krate":0,"index":4176},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/utils.rs","byte_start":711825,"byte_end":711829,"line_start":29,"line_end":29,"column_start":6,"column_end":10},"kind":{"Impl":{"id":138}},"from":{"krate":0,"index":2733},"to":{"krate":4294967295,"index":4294967295}},{"span":{"file_name":"src/lib.rs","byte_start":25903,"byte_end":25913,"line_start":472,"line_end":472,"column_start":22,"column_end":32},"kind":{"Impl":{"id":139}},"from":{"krate":0,"index":4185},"to":{"krate":1,"index":3024}},{"span":{"file_name":"src/lib.rs","byte_start":25938,"byte_end":25948,"line_start":473,"line_end":473,"column_start":22,"column_end":32},"kind":{"Impl":{"id":140}},"from":{"krate":0,"index":4185},"to":{"krate":1,"index":3036}},{"span":{"file_name":"src/lib.rs","byte_start":26381,"byte_end":26391,"line_start":486,"line_end":486,"column_start":6,"column_end":16},"kind":{"Impl":{"id":141}},"from":{"krate":0,"index":4185},"to":{"krate":4294967295,"index":4294967295}}]}